zoukankan      html  css  js  c++  java
  • hi3531 SDK 编译 kernel, 修改 参数 分类: arm-linux-Ubuntu HI3531 2014-05-07 11:23 1120人阅读 评论(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.

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    1、向服务传送复杂的类型实例(服务端程序)(摘自ProAndroid2)
    我项目中用到的jquery+json+struts2
    JSON与JAVA的数据转换
    管理和组织首选项
    python中如何对dict对象进行排序
    python cx_Oracle模块的安装和使用(linux环境)
    python cx_Oracle模块的安装和使用(linux环境)
    django的一个小功能——SortedDict
    Linux中source命令的用法
    linux uname命令参数及用法详解linux查看系统信息命令
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706625.html
Copyright © 2011-2022 走看看