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, &reg); 
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制作的更多相关文章

  1. Android8.1 MTK平台 SystemUI源码分析之 网络信号栏显示刷新

    SystemUI系列文章 Android8.1 MTK平台 SystemUI源码分析之 Notification流程 Android8.1 MTK平台 SystemUI源码分析之 电池时钟刷新 And ...

  2. [转]VMware Workstation网络连接的三种模式

    经常要使用VMWare Workstation来在本地测试不同的操作系统,以前也搞不清楚网络连接三种模式,最近看了几篇文章才算明白.现总结如下: 1. VMware Workstation的虚拟网络组 ...

  3. VMware网络配置 - 三种网络模式简介

    安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍 选择虚拟机网络模 式方法如下 ...

  4. Linux网络编程1——小端模式与大端模式

    数据存储优先顺序的转换 计算机数据存储有两种字节优先顺序:高位字节优先(称为大端模式)和低位字节优先(称为小端模式).内存的低地址存储数据的低字节,高地址存储数据的高字节的方式叫小端模式.内存的高地址 ...

  5. VMWare虚拟机网络的三种工作模式

    VMWare提供了三种工作模式: 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,需要手工为虚拟系 ...

  6. 支付平台程序,支付程序,网络pos程序,api接口程序,锋锐支付平台程序开发领导者!

    支付平台程序,支付程序,网络pos程序,api接口程序,锋锐支付平台程序开发领导者! 锋锐支付平台程序(www.100freenet.com)隶属于盐城市沐良商贸有限公司(沈阳杰速网络科技有限公司旗下 ...

  7. 公布一个基于 Reactor 模式的 C++ 网络库

    公布一个基于 Reactor 模式的 C++ 网络库 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Aug 30 本文主要介绍 muduo 网 ...

  8. IO模式设置网络编程常见问题总结—IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT(re

    非阻塞IO 和阻塞IO: 在网络编程中对于一个网络句柄会遇到阻塞IO 和非阻塞IO 的概念, 这里对于这两种socket 先做一下说明:       基本概念: 阻塞IO:: socket 的阻塞模式 ...

  9. Linux网络配置(仅主机模式)

    1.启动虚机,网络选择:仅主机模式 2.命令行输入 rm -rf /etc/udev/rules.d/70-persistent-net.rules 3.修改虚机中的网络配置 >>vim ...

随机推荐

  1. POJ 1979 Red and Black(水题,递归)

    一开始理解错题意了,以为是走过的砖不能再重复走,最多能走多少个黑砖,结果写的递归陷入死循环...后来才明白原来可以重复走,问可以到达的磁砖数. #include <iostream> #i ...

  2. POJ 1691 Painting A Board(DFS)

    链接 题意 : 看了好长时间终于看懂题目了,将一个大矩形划分成若干小矩形,告诉你每个小矩形的左上角那个点和右下角那个点的坐标,告诉你这个小矩形要涂的颜色,每个颜色对应一个刷子,问你最少要使用几次刷子. ...

  3. [转]Ubuntu 常用快捷键10个

    转自:http://www.linuxeden.com/html/news/20100613/103374.html 1.前一个后一个工作区的切换 如果你经常使用工作区,那你就可以用Ctrl + Al ...

  4. Qt源码分析之QObject

    原文:http://blog.csdn.net/oowgsoo/article/details/1529284 我感觉oowgsoo兄弟写的分析相当透彻,赞! 1.试验代码: #include < ...

  5. 10位顶级PHP大师的开发原则

    在Web开发世界里,PHP是最流行的语言之一,从PHP里,你能够很容易的找到你所需的脚本,遗憾的是,很少人会去用“最佳做法”去写一个PHP程序.这里,我们向大家介绍PHP的10种最佳实践,当然,每一种 ...

  6. 使用HttpClient发送HTTPS请求以及配置Tomcat支持SSL

    这里使用的是HttpComponents-Client-4.1.2 package com.jadyer.util; import java.io.File; import java.io.FileI ...

  7. Python中的 isdigit()方法

    Python isdigit()方法 sdigit()方法就是检测字符串是否只有数字组成, 如果字符串中是只有数字组成,则返回true, 如果字符串中有其他字符,则返回false. 语法格式是:  s ...

  8. Pig简单入门

    pig是hadoop客户端,使用类似于SQL的面向数据流的语言pig latin,这个语言可以完成排序,过滤,求和,关联等操作,可以支持自定义函数.Pig自动把pig latin 映射为Map-Red ...

  9. 运行Android应用时提示ADB是否存在于指定路径问题

    打开eclipse,选择指定的Android应用工程并Run,提示: [2014-06-28 11:32:26 - LinearLayout] The connectionto adb is down ...

  10. android的helloworld工程目录学习

    android的helloworld工程目录学习 Android工程的主要目录有src.gen.Android X.X.bin.res等文件夹. 1.     Src文件夹 Src文件夹包含java源 ...