zoukankan      html  css  js  c++  java
  • Hi3519V101 Uboot和Kernel编译

    前面已经搭建好了Ubuntu下的海思开发环境,现在对编译Uboot和Kernel的过程做一个简单的记录。参考文档《Hi3519V101 U-boot 移植应用开发指南.pdf》和《Hi3519V101 Linux开发环境用户指南.pdf》。

    编译U-boot

    步骤1:cd /hisilicon/Hi3519V101_SDK_V1.0.2.0/osdrv/opensource/uboot
    步骤2:tar -xvf u-boot-2010.06.tgz
    步骤3:cd u-boot-2010.06/
    执行命令: 

    make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- hi3519_config

      生成hi3519_config文件 

    make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-

      生成u-boot.bin 

    步骤4:配置DDR存储器。

      在Windows下打开SDK中的”osdrv/tools/pc/uboot_tools”目录下的配置表格。当选用不同的DDR SDRAM时,需要针对不同器件的特性,对配置工作表中的标签页【mddrc_dmc0】和【mddrc_phy0】进行修改。

    步骤5:配置管脚复用

      如果管脚复用有变化,还需要对配置表格中的标签页【multiplex】进行修改

    步骤6:生成最终的U-boot镜像

      完成配置表格的修改后,保存表格。单击表格第一个标签页上的按钮【Generage reg  bin file】 (只能点此按钮),生成临时文件 reg_info.bin ,将临时文件 reg_info.bin 和编译 u-boot 得到的 u-boot.bin 都**拷贝到 SDK 中的 “osdrv/tools/pc/uboot_tools/”目录**下,

      执行命令: 

        ./mkboot.sh reg_info.bin u-boot-hi3519v101.bin 

      其中 u-boot-hi3519v101.bin 就是能够在单板上运行的 U-boot 镜像

    编译Linux-3.18.y的内核

     

    步骤1:执行 cd /hisilicon/Hi3519V101_SDK_V1.0.2.0/osdrv/opensource/kernel/linux-3.18.y
    步骤2:执行 cp arch/arm/configs/hi3519v101_big_little_defconfig .config
    步骤3:执行 make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig
    出现错误: 

    scripts/kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: 没有那个文件或目录 
    compilation terminated. 
    scripts/Makefile.host:108: recipe for target 'scripts/kconfig/mconf.o' failed 
    make[1]: *** [scripts/kconfig/mconf.o] Error 1 
    Makefile:541: recipe for target 'menuconfig' failed 
    make: *** [menuconfig] Error 2 

      原因:没有相关依赖库,需要安装libncurses5-dev 
    解决方法: 

      1、sudo apt-get update

      2、sudo apt-get install libncurs*

    步骤4:在menu中选择需要编译到内核中的模块,然后保存退出。按两下ESC退出。 

    步骤5:

    1 make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- clean 
    2 make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig 
    3 make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- uImage 

    编译出错: 

    "mkimage" command not found - U-Boot images will not be built 
    arch/arm/boot/Makefile:93: recipe for target 'arch/arm/boot/uImage' failed 
    make[1]: *** [arch/arm/boot/uImage] Error 1 
    arch/arm/Makefile:316: recipe for target 'uImage' failed 
    make: *** [uImage] Error 2 

      原因:一般linux编译生成的是zImage,如果要编译成uImage,需要有mkimage工具 

    解决方法:

      步骤1:cd /hisilicon/Hi3519V101_SDK_V1.0.2.0/osdrv/opensource/uboot/u-boot-2010.06/tools
      步骤2:cp mkimage /usr/bin
      步骤3:make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- uImage
      最后,在cd /hisilicon/Hi3519V101_SDK_V1.0.2.0/osdrv/opensource/kernel/linux-3.18.y/arch/arm/boot生成zImage和uImage

      

  • 相关阅读:
    css background详解
    Javascript DOM 编程艺术:ENHANCING CONTENT
    Javascript DOM 编程艺术:创建一个简单的gallery
    js prototype
    Javascript DOM 编程艺术:优雅降级
    php solutions:创建画廊
    Javascript DOM 编程艺术: popUp
    Javascript DOM 编程艺术:Creating Markup on the Fly
    转:Node和Element的区别
    javascript语言精粹:函数
  • 原文地址:https://www.cnblogs.com/Lxk0825/p/10066583.html
Copyright © 2011-2022 走看看