当前位置: 首页 > news >正文

海思AI芯片(Hi3519A/3559A)方案学习(三)Ubuntu18.0.4上编译Hi3519AV100 uboot和kernel

先重申下我的平台为ubuntu18.0.4,SDK的目标平台为Hi3519AV100系列

准备工作
安装himix200交叉编译器
tar –xzf arm-himix200-linux.tgz
sudo ./arm-himix200-linux.install
source /etc/profile
安装SDK包
tar -zxf Hi3519AV100_SDK_V2.0.1.0.tgz
sudo ./sdk.unpack 
这时可能会遇到下面错误:

提示 source命令在shell脚本里面找不到: source: not found

解决办法如下:

注意两点:

SDK所在目录的所有路径不能有中文或空格符。
上面两步的操作说明可在《Hi3519AV100 SDK 安装及升级使用说明》找到。
编译uboot
通过上面Unpack操作后的SDK根目录,如下所示:

上面红框勾选目录osdrv是我们关注的重点,它的内容如下所示:

首先要好好研读readme_cn.txt,里面提供两个编译思路:

直接在osdrv根目录下  make all  这样就可以一次性的把kernel和uboot都编译好。当然为了使其在目标平台能运行正确,可能需要加一些额外参数, 比如CHIP=hi3519av100 BOOT_MEDIA=xxx等。这是后话,本文主要讲编译。 但是,我们发现直接在这里做总的编译,很难成功。总是容易遇到uboot或kernel问题。后来,我去uboot单个目录下把编译搞定,回过头来这里make all,结果把以前编译好的uboot binary还有修改的uboot的makefile都删掉了。
所以,我个人认为在osdrv下总的编译是个坑,最好是去opensource下面来分别编译kernel和uboot。好在该readme里面提供了分别编译的步骤。
通过第一步的unpack,uboot code已经解压缩出来如下,根目录是u-boot-2016.11

具体编译步骤:

1. cp configs/hi3519av100_defconfig .config
2. make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
会遇到下面错误:

解决办法是:sudo apt-get install libncurs*

1. make ARCH=arm CROSS_COMPILE=arm-himix200-linux-
会遇到错误:

loadlocale.c:130: _nl_intern_locale_data: Assertioncnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.

Aborted (core dumped)

我的解决办法是在Makefile添加一行:export LC_ALL=C

1. cp ../../../tools/pc/uboot_tools/reg_info.bin .reg
2. make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin
最终会生成u-boot-hi3519av100.bin

 

Kernel编译
1. 先对下载kernel-4.9.37.tar.gz然后根据xx/opensource/kernel/readme_cn.txt对它打一个patch
2. 开始编译
  1. cp arch/arm/configs/hi3519av100_smp_defconfig .config
  2. make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
  3. make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage
会遇到下面问题:

解决办法:


————————————————
版权声明:本文为CSDN博主「ltshan139」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/avideointerfaces/article/details/88694447

相关文章:

  • 海思AI芯片(Hi3519A/3559A)方案学习(四)如何在3519A板子上运行sample code
  • 海思AI芯片(Hi3519A/3559A)方案学习(五)SDK平台文档梳理
  • Atlas 200 DK 系列 -- 快速搭建开发环境
  • Atlas 200 DK 系列--初级篇--MindStudio常见操作
  • Linux/Ubuntu下解压命令
  • ubuntu终端命令的几个常用重要命令
  • 海思AI芯片(35xx):window仿真代码需修改部分
  • 在Ubuntu 16.04 安装python3.5 环境并设置为默认
  • Yolov1--v3目标检测解读
  • ubuntu16.04系统安装teamview
  • caffe深度模式的组成模块:Blobs,Layers,and Nets
  • caffe安装 Ubuntu16.04 cuda 8.0 cudnn 7.6.4
  • ubuntu16.04安装为知笔记
  • windows下创建unistd.h
  • window下安装python_opencv
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • JavaScript 奇技淫巧
  • JavaScript标准库系列——Math对象和Date对象(二)
  • js中forEach回调同异步问题
  • Median of Two Sorted Arrays
  • Redis字符串类型内部编码剖析
  • Xmanager 远程桌面 CentOS 7
  • 排序算法学习笔记
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 王永庆:技术创新改变教育未来
  • 怎么将电脑中的声音录制成WAV格式
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • # 数据结构
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (a /b)*c的值
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (论文阅读40-45)图像描述1
  • (区间dp) (经典例题) 石子合并
  • (一)u-boot-nand.bin的下载
  • (转)ORM
  • (转)scrum常见工具列表
  • .apk 成为历史!
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Framework .NET Core与 .NET 的区别
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • /run/containerd/containerd.sock connect: connection refused
  • [ solr入门 ] - 利用solrJ进行检索
  • [1181]linux两台服务器之间传输文件和文件夹
  • [20180224]expdp query 写法问题.txt
  • [51nod1610]路径计数