hi3531 SDK 編譯 kernel, 修改 參數
開發環境用戶指南上這麼寫的
3.1 內核源代碼
成功安裝Hi3531 SDK後,內核源代碼已存放於SDK目錄下的osdrv/目錄中,用戶可
直接進入目錄進行相關操作。
3.2 配置內核
如果對內核和Hi3531平台沒有足夠了解,請勿修改默認配置。但可增加需要的模塊。
配置內核的操作步驟如下:
1. 手動拷貝.config 文件:
hisilicon$cd os/linux-3.0.y
hisilicon$cp arch/arm/configs/godnet_defconfig .config//編譯Hi3531
hisilicon$cp arch/arm/configs/godcube_defconfig .config //編譯Hi3532
2. 用戶通過“make menuconfig”進行內核配置:
hisilicon$make ARCH=arm CROSS_COMPILE= arm-hisiXXX-linux- menuconfig
3. 選擇需要的模塊。
4. 選擇完畢後,保存並退出。
----結束
3.3 編譯內核並生成內核鏡像uImage
配置保存後,可直接輸入“make ARCH=arm CROSS_COMPILE=arm-hisiXXX-linux-
uImage命令編譯內核生成鏡像,此時需要等待幾分鍾。
如果編譯過程中出現錯誤,按順序執行以下命令:
make ARCH=arm CROSS_COMPILE=arm-hisiXXX-linux- clean
make ARCH=arm CROSS_COMPILE=arm-hisiXXX-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiXXX-linux- uImage
編譯內核時需要在make後添加兩個參數:ARCH=arm CROSS_COMPILE=arm-hisiXXX
linux-,其中CROSS_COMPILE表示工具鏈。文檔中統一以CROSS_COMPILE=arm-hisiXXX
linux-來表示兩種情況。
z Hi35xx_V100R001C01SPCxxx對應uclibc,使用uclibc工具鏈時,CROSS_COMPILE=arm
hisiv100nptl-linux-。
z Hi35xx_V100R001C02SPCxxx對應glibc,使用glibc工具鏈時,CROSS_COMPILE=arm
hisiv200-linux-。
具體命令
單獨編譯kernel:
待進入內核源代碼目錄後,執行以下操作
cp arch/arm/configs/godnet_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage
使用tftp 刷上去後啟動的時候出錯,大概意思是配置的NAND flash的 pagesize 和硬件的不同,然後就卡在那裏不動了。剛開始以為是uboot配置參數的問題,改了半天uboot參數還是不行。最後試試把內核配置中的NAND驅動取消掉,完美運行。
取消NAND Flash驅動的位置:
Device Drivers --->
<*> Memory Technology Device (MTD) support --->
< > NAND Device Support --->
由於PHY地址配置的不同,也有可能會網口不通,應該會需要修改如下配置
1. 內核下的方法:
在osdvr/kernel/linux -3.0.y目錄下運行
“make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- menuconfig”
在 menuconfig 菜單下, 選擇以下選項:
Device Drivers --->
[*] Network device support --->
[*] Ethernet (1000 Mbit) --->
<M> STMicroelectronics 10/100/1000 Ethernet driver --->
(1) STMMAC MAC #0 PHY ID << 表示 phy 地址是 1.
(2) STMMAC MAC #1 PHY ID << 表示 phy 地址是 2.
最後更新:2017-04-03 16:49:20