hi3531 SDK 编译 kernel, 修改 参数 . 分类: HI3531 arm-linux-Ubuntu 2014-06-18 08:54 773人阅读 评论(0) 收藏
开发环境用户指南上这么写的
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.
版权声明:本文为博主原创文章,未经博主允许不得转载。