hisi平台mii网络模式和rmii网络模式的uboot制作
MII网络uboot编译说明
一:编译生成默认的uboot
1. 进入到uboot目录
a. cd /home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot
2. 新建临时文件夹
a. mkdir u-boot-2010.06-mii-debug
3. 解压
a. tar -xzvf u-boot-2010.06.tgz -C u-boot-2010.06-mii-debug
4. 进入目录
cd u-boot-2010.06-mii-debug/u-boot-2010.06
5. 生成配置文件
a. make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- hi3518c_config
6. 编译
a. make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux-(完成后将在当前目录生成u-boot和u-boot.bin,我们需要的是u-boot.bin)
二:生成寄存器配置表文件
1. 拷贝寄存器配置表格文件到windows中
a. 寄存器配置表格文件目录(~SDK/osdrv/tools/pc_tools/uboot_tools/uboot-Hi3518C-bvt_No2_440_200_400.xlsm)
2. 打开寄存器配置表格文件
a. 必须用Miscosoft Excel,WPS的Excel不能用
b. 必须启用宏选项
3. 生成寄存器配置文件
a. 点击mail页面的Generate reg bin file按钮
b. 成功后将在当前目录生成reg_info.bin文件
三:生成最终的uboot镜像文件
1. 拷贝制作脚本mkboot.sh
a. mkboot.sh所在目录(~SDK/osdrv/tools/pc_tools/uboot_tools)
b. 将制作脚本mkboot.sh拷贝到~SDK/osdrv/uboot/u-boot-2010.06-mii-debug目录
2. 拷贝寄存器配置文件reg_info.bin
a. reg_info.bin文件的目录在windows下与uboot-Hi3518C-bvt_No2_440_200_400.xlsm同级目录下
b. 将reg_info.bin拷贝到/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot/u-boot-2010.06-mii-debug目录
3. 拷贝u-boot.bin文件
a. u-boot.bin文件所在目录/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot/u-boot-2010.06-mii-debug/u-boot-2010.06
b. 拷贝u-boot.bin到/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot/u-boot-2010.06-mii-debug目录
4. uboot制作目录下文件有
a. mkboot.sh
b. reg_info.bin
c. u-boot.bin
5. 制作最终的uboot镜像文件
a. ./mkboot.sh reg_info.bin u-boot.bin
b. 执行后的u-boot.bin文件即为最终的uboot镜像文件
##############################################################################################
RMII网络模式下UBOOT制作方法
RMII:另外一种网络连接方式,它使用的GPIO口少于MII所使用的GPIO,剩余的GPIO口可做其他用途,比如云台
一:编译生成默认的uboot
1. 进入到uboot目录
a. cd /home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot
2. 新建临时文件夹
a. mkdir u-boot-2010.06-rmii-debug
3. 解压
a. tar -xzvf u-boot-2010.06.tgz -C u-boot-2010.06-rmii-debug
4. 进入目录
cd u-boot-2010.06-rmii-debug/u-boot-2010.06
5. 修改配置文件
a. 配置文件目录u-boot-2010.06/include/configs/hi3518c.h
b. 修改项
将以下行
181 #define HIETH_MII_RMII_MODE_U HISFV_MII_MODE
182 #define HIETH_MII_RMII_MODE_D HISFV_MII_MODE
修改为:
181 #define HIETH_MII_RMII_MODE_U HISFV_RMII_MODE//HISFV_MII_MODE
182 #define HIETH_MII_RMII_MODE_D HISFV_RMII_MODE//HISFV_MII_MODE
6. 修改网络时钟
a. 修改文件:u-boot-2010.06/drivers/net/hisfv300/mii-drv.c
b. 修改项
在函数unsigned int get_phy_device(char *devname, unsigned char phyaddr)增加以下语句
47 /* PHY-8201 */
48 if ((phy_id & 0xFFFFFFF0) == 0x1cc810)
49 {
50 if (HIETH_MII_RMII_MODE_U == HISFV_RMII_MODE)
51 {
52 unsigned short reg;
53 miiphy_write(devname, phyaddr, 0x1F, 0x7);
54
55 miiphy_read(devname, phyaddr, 0x10, ®);
56 reg |= (1 << 12); // set phy RMII 50MHz clk;
57 miiphy_write(devname, phyaddr, 0x10, reg);
58
59 miiphy_write(devname, phyaddr, 0x1F, 0x0);
60 }
61 }
7. 生成配置文件
a. make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- hi3518c_config
8. 编译
a. make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux-(完成后将在当前目录生成u-boot和u-boot.bin,我们需要的是u-boot.bin)
二:生成寄存器配置表文件
1. 拷贝寄存器配置表格文件到windows中
a. 寄存器配置表格文件目录(~SDK/osdrv/tools/pc_tools/uboot_tools/uboot-Hi3518C-bvt_No2_440_200_400.xlsm)
2. 打开寄存器配置表格文件
a. 必须用Miscosoft Excel,WPS的Excel不能用
b. 必须启用宏选项
3. 修改相应的项
a. 修改点1
在pll表格的PERI_CRG58上一行加入以下行(将HD3518C的ETH网络模式配置成RMII
)
寄存器名称 偏移地址
写入寄存器的值/读出判断的值 delay值
选择读/写 读写多少bit
从第几bit开始读写 寄存器读写属性
PERI_CRG51 0xcc 0x2 0 写 1
2 0x0000100D
b. 修改点2
修改mutilplex表格的该行(将输出时钟由MII时钟改为RMII时钟)
muxctrl_reg23 0x5c 0x01 0 写 1
0 0x0000000D
修改为
muxctrl_reg23 0x5c 0x03 0 写 1
0 0x0000000D
4. 生成寄存器配置文件
a. 点击mail页面的Generate reg bin file按钮
b. 成功后将在当前目录生成reg_info.bin文件
三:生成最终的uboot镜像文件
1. 拷贝制作脚本mkboot.sh
a. mkboot.sh所在目录(/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/tools/pc_tools/uboot_tools)
b. 将制作脚本mkboot.sh拷贝到/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot/u-boot-2010.06-mii-debug目录
2. 拷贝寄存器配置文件reg_info.bin
a. reg_info.bin文件的目录在windows下与uboot-Hi3518C-bvt_No2_440_200_400.xlsm同级目录下
b. 将reg_info.bin拷贝到/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot/u-boot-2010.06-mii-debug目录
3. 拷贝u-boot.bin文件
a. u-boot.bin文件所在目录/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot/u-boot-2010.06-mii-debug/u-boot-2010.06
b. 拷贝u-boot.bin到/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot/u-boot-2010.06-mii-debug目录
4. uboot制作目录下文件有
a. mkboot.sh
b. reg_info.bin
c. u-boot.bin
5. 制作最终的uboot镜像文件
a. ./mkboot.sh reg_info.bin u-boot.bin
b. 执行后的u-boot.bin文件即为最终的uboot镜像文件
from:http://blog.csdn.net/u014780165/article/details/43193099
hisi平台mii网络模式和rmii网络模式的uboot制作的更多相关文章
- Android8.1 MTK平台 SystemUI源码分析之 网络信号栏显示刷新
SystemUI系列文章 Android8.1 MTK平台 SystemUI源码分析之 Notification流程 Android8.1 MTK平台 SystemUI源码分析之 电池时钟刷新 And ...
- [转]VMware Workstation网络连接的三种模式
经常要使用VMWare Workstation来在本地测试不同的操作系统,以前也搞不清楚网络连接三种模式,最近看了几篇文章才算明白.现总结如下: 1. VMware Workstation的虚拟网络组 ...
- VMware网络配置 - 三种网络模式简介
安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍 选择虚拟机网络模 式方法如下 ...
- Linux网络编程1——小端模式与大端模式
数据存储优先顺序的转换 计算机数据存储有两种字节优先顺序:高位字节优先(称为大端模式)和低位字节优先(称为小端模式).内存的低地址存储数据的低字节,高地址存储数据的高字节的方式叫小端模式.内存的高地址 ...
- VMWare虚拟机网络的三种工作模式
VMWare提供了三种工作模式: 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,需要手工为虚拟系 ...
- 支付平台程序,支付程序,网络pos程序,api接口程序,锋锐支付平台程序开发领导者!
支付平台程序,支付程序,网络pos程序,api接口程序,锋锐支付平台程序开发领导者! 锋锐支付平台程序(www.100freenet.com)隶属于盐城市沐良商贸有限公司(沈阳杰速网络科技有限公司旗下 ...
- 公布一个基于 Reactor 模式的 C++ 网络库
公布一个基于 Reactor 模式的 C++ 网络库 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Aug 30 本文主要介绍 muduo 网 ...
- IO模式设置网络编程常见问题总结—IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT(re
非阻塞IO 和阻塞IO: 在网络编程中对于一个网络句柄会遇到阻塞IO 和非阻塞IO 的概念, 这里对于这两种socket 先做一下说明: 基本概念: 阻塞IO:: socket 的阻塞模式 ...
- Linux网络配置(仅主机模式)
1.启动虚机,网络选择:仅主机模式 2.命令行输入 rm -rf /etc/udev/rules.d/70-persistent-net.rules 3.修改虚机中的网络配置 >>vim ...
随机推荐
- Unity3D脚本中文系列教程(十)
http://dong2008hong.blog.163.com/blog/static/4696882720140312627682/?suggestedreading&wumii Unit ...
- NSString+URLEncoding.h --使用Obj-C对数据等进行URLEncoding编码
在Objective-c进行网络编程时,经常需要把数据转换成URLEncoding编码,如对+号编码后,变成%2b.这里我们给出一种实现. //NSString+URLEncoding.h #impo ...
- C++:对象数组
对象数组 对象数组:每一个数组元素都是对象的数组,也就是说,若一个类有若干个对象,我们把这 一系列的对象用一个数组来存放.对应数组元素是对象,不仅具有的数据成员,而且还有函数 成员. @定义一个一维数 ...
- C++:概述
1.基本的输入输出,使用cin>>输入输入.使用cout<<输出 #include<iostream> using namespace std; int main( ...
- android Json 使用
http://www.cnblogs.com/mybkn/archive/2012/05/18/2508306.html http://www.cnblogs.com/haippy/archive/2 ...
- socklen_t在windows和linux平台下的头文件定义
windows平台下:头文件:#include<ws2tcpip.h> linux平台下:下面两个头文件都有定义:1)#include <sys/socket.h>2)#inc ...
- JVM学习笔记(三)------内存管理和垃圾回收
JVM内存组成结构 JVM栈由堆.栈.本地方法栈.方法区等部分组成,结构图如下所示: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制.堆被划分为新生代和旧生 ...
- web rest api tools
https://chrome.google.com/webstore/search/postman-REST%20Client
- Windows JAVA 环境配置
Java SE Development Kit Downloads http://www.oracle.com/technetwork/java/javase/overview/index.html ...
- apache启动报错(98)Address already in use: make_sock: could not bind to...
# /etc/init.d/httpd startStarting httpd: (98)Address already in use: make_sock: could not bind to ad ...