本文共 4264 字,大约阅读时间需要 14 分钟。
MII网络uboot编译说明
一:编译生成默认的uboot1. 进入到uboot目录a. cd /home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot2. 新建临时文件夹a. mkdir u-boot-2010.06-mii-debug3. 解压a. tar -xzvf u-boot-2010.06.tgz -C u-boot-2010.06-mii-debug4. 进入目录cd u-boot-2010.06-mii-debug/u-boot-2010.065. 生成配置文件a. make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- hi3518c_config6. 编译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.sha. mkboot.sh所在目录(~SDK/osdrv/tools/pc_tools/uboot_tools)b. 将制作脚本mkboot.sh拷贝到~SDK/osdrv/uboot/u-boot-2010.06-mii-debug目录2. 拷贝寄存器配置文件reg_info.bina. 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.06b. 拷贝u-boot.bin到/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot/u-boot-2010.06-mii-debug目录4. uboot制作目录下文件有a. mkboot.shb. reg_info.binc. u-boot.bin5. 制作最终的uboot镜像文件a. ./mkboot.sh reg_info.bin u-boot.binb. 执行后的u-boot.bin文件即为最终的uboot镜像文件##############################################################################################RMII网络模式下UBOOT制作方法RMII:另外一种网络连接方式,它使用的GPIO口少于MII所使用的GPIO,剩余的GPIO口可做其他用途,比如云台一:编译生成默认的uboot1. 进入到uboot目录a. cd /home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot2. 新建临时文件夹a. mkdir u-boot-2010.06-rmii-debug3. 解压a. tar -xzvf u-boot-2010.06.tgz -C u-boot-2010.06-rmii-debug4. 进入目录cd u-boot-2010.06-rmii-debug/u-boot-2010.065. 修改配置文件a. 配置文件目录u-boot-2010.06/include/configs/hi3518c.hb. 修改项将以下行181 #define HIETH_MII_RMII_MODE_U HISFV_MII_MODE182 #define HIETH_MII_RMII_MODE_D HISFV_MII_MODE修改为:181 #define HIETH_MII_RMII_MODE_U HISFV_RMII_MODE//HISFV_MII_MODE182 #define HIETH_MII_RMII_MODE_D HISFV_RMII_MODE//HISFV_MII_MODE6. 修改网络时钟a. 修改文件:u-boot-2010.06/drivers/net/hisfv300/mii-drv.cb. 修改项在函数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); 5455 miiphy_read(devname, phyaddr, 0x10, ®); 56 reg |= (1 << 12); // set phy RMII 50MHz clk; 57 miiphy_write(devname, phyaddr, 0x10, reg); 5859 miiphy_write(devname, phyaddr, 0x1F, 0x0); 60 } 61 }7. 生成配置文件a. make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- hi3518c_config8. 编译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 0x0000100Db. 修改点2修改mutilplex表格的该行(将输出时钟由MII时钟改为RMII时钟)muxctrl_reg23 0x5c 0x01 0 写 1 0 0x0000000D修改为muxctrl_reg23 0x5c 0x03 0 写 1 0 0x0000000D4. 生成寄存器配置文件a. 点击mail页面的Generate reg bin file按钮b. 成功后将在当前目录生成reg_info.bin文件三:生成最终的uboot镜像文件1. 拷贝制作脚本mkboot.sha. 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.bina. 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.06b. 拷贝u-boot.bin到/home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot/u-boot-2010.06-mii-debug目录4. uboot制作目录下文件有a. mkboot.shb. reg_info.binc. u-boot.bin5. 制作最终的uboot镜像文件a. ./mkboot.sh reg_info.bin u-boot.binb. 执行后的u-boot.bin文件即为最终的uboot镜像文件
from:http://blog.csdn.net/u014780165/article/details/43193099