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
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成