開發環境使用者指南上這麼寫的
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.