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::: fatal error: curses.h: 没有那个文件或目录
compilation terminated.
scripts/Makefile.host:: recipe for target 'scripts/kconfig/mconf.o' failed
make[]: *** [scripts/kconfig/mconf.o] Error
Makefile:: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error
原因:没有相关依赖库,需要安装libncurses5-dev
解决方法:
1、sudo apt-get update
2、sudo apt-get install libncurs*
步骤4:在menu中选择需要编译到内核中的模块,然后保存退出。按两下ESC退出。
步骤5:
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- clean
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- uImage
编译出错:
"mkimage" command not found - U-Boot images will not be built
arch/arm/boot/Makefile:: recipe for target 'arch/arm/boot/uImage' failed
make[]: *** [arch/arm/boot/uImage] Error
arch/arm/Makefile:: recipe for target 'uImage' failed
make: *** [uImage] Error
原因:一般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
Hi3519V101 Uboot和Kernel编译的更多相关文章
- AM3359之U-boot及kernel编译
我用的PC主机是ubuntu12.04 LST 32位系统给出官方软件下载地址:TI官网SDK包06.00版本下载:http://software-dl.ti.com/sitara_linux/esd ...
- 4412开发板搭建Uboot、Kernel和Android4.0的编译环境方法
本文转自迅为4412开发板实战教程书籍:http://www.topeetboard.com 迅为是基于Ubuntu12.04.2平台做开发,所有的配置和编译脚本也是基于此平台,没有在其它平台上测试过 ...
- am335x uboot, kernel 编译
一.设置环境变量 // 写在家目录下面的 .bashrc 里面 export KERNEL_PATH=~/aplex/kernel3.2.0 // kernel 路径 export UBOOT_PAT ...
- Tiny4412 虚拟机交叉编译环境的设置以及编译u-boot 和 kernel
从CD 里面拷贝如下文件到虚拟机里面 解压 查看是否有如下文件 tiny4412_qt@chenfl:~/tiny4412$ ls opt/FriendlyARM/toolschain/4.5.1/b ...
- Hi3559AV100-自己编译了u-boot、kernel及rootfs后,出现烧写错误或者烧写后板载无法启动的解决思路
这篇随笔主要给出了Hi3559AV100-自己编译了u-boot.kernel及rootfs后,出现烧写错误或者烧写后板载无法启动的解决思路. 问题 (1)对于 u-boot 为官方的,kernel ...
- Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表
若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121572767红胖子(红模仿)的博文大全:开发技术集合( ...
- RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像
前言 上一篇搭建好了ubuntu宿主机开发环境,本篇的目标系统主要是开发linux+qt,所以需要刷上billdroot+Qt创建的系统,为了更好的熟悉原理和整个开发过程,选择从零开始搭建rk35 ...
- RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
前言 buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪. 于是本篇就使用ubu ...
- 嵌入式 uboot以及kernel添加看门狗临时记录(个人记录未整理乱)
Uboot_Kernerl_Add_Watch_Dog: U-Boot 2010.06 (Nov 01 2013 - 15:28:44) DRAM: 128 MiBCheck spi flash c ...
随机推荐
- AKOJ-2010-魔法石
链接:https://oj.ahstu.cc/JudgeOnline/problem.php?id=2010 题意: Vyoung最近收集到一大批魔法石,这些魔法石有两种特性,攻击和防守,不同特性的两 ...
- 洛谷 P4503 [CTSC2014]企鹅QQ
暴力枚举不同的一位即可.. 主要是常数问题 1.统计答案时用sort速度快于用tr1/unordered_map,后者又快于map (tr1/unordered_map完全达不到理论复杂度上的O(1) ...
- python基本的数据类型
一.python的基本数据类型 int => 整数,主要用来进行数学运算 str ==> 字符串 可以用来保存少量数据并进行相应操作 bool ==> 判断真假,True,False ...
- Centos7中查看IP命令:IP addr
Centos的IP地址是网卡的inet 的值,很明显第一个是本地服务地址,不是我们想要的.第二个没有inet这个属性值. 接下来配置网卡,我的网卡是上图黄色方框中第一行开始的那一部分:eno16777 ...
- LessCss学习笔记
一.入门 1.LESSCSS是什么? LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量.继承.运算.函数等,更方便CSS的编 ...
- vagrant教程
http://blog.smdcn.net/article/1308.html http://ninghao.net/blog/1566 如何定制一个自己的 vagrant box: https:// ...
- 导入动态Web项目到Eclipse中遇到的问题
问题一:创建动态网页项目时,项目报错而无文件报错 当时解决方法:直接右击项目->properties->project facets将jdk改为1.8版本即可 如图: 问题二:Tomcat ...
- asp.net core mvc 异步表单(Ajax.BeginForm)
.net core中已经没有beginform扩展函数了. 通过Bower引入jquery-ajax-unobtrusive: <script src="~/lib/jquery-aj ...
- Spring IOC模块的简单介绍
首先,本人正在学习spring,这是一点心得体会,所以本文中会有不足.错误之处,欢迎各位大佬进行指点. 其次对于框架而言,知道反射是很重要,所以建议在学会反射了后在去看看框架. Spring:是企业级 ...
- 上下文 xx
上下文,就是指在程序中的某个位置,可以访问到的所有资源的总和. 具体说来,在程序中资源可能是一个变量.一个常量.一个类的引用等等.