海思Hi3531DV100开发环境搭建
作者
QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118
参考
ReleaseDoc\zh\01.software\board\Hi3531DV100 SDK 安装以及升级使用说明.txt
ReleaseDoc\zh\01.software\board\Hi35xxVx00 U-boot 移植应用开发指南.pdf
ReleaseDoc\zh\01.software\board\Hi35xxVx00 Linux 开发环境用户指南.pdf
readme.cn
[海思]–Hi3516aMpp开发环境配置
海思3536:kernel编译和mpp_single编译过程报错及解决方法
安装SDK
将路径Hi3531DV100R001C01SPC040\software\board
下的SDKHi3531DV100_SDK_V1.0.4.0.tgz
拷贝到Linux下,运行命令,
$ tar -zxvf Hi3531DV100_SDK_V1.0.4.0.tgz
$ cd Hi3531DV100_SDK_V1.0.4.0
$ ./sdk.unpack
SDK目录结构介绍,
|--Hi3531D V100R001C0xSPC0xx_SDK.rar| |--01.software| |--board| |--Hi3531D_SDK_Vx.x.x.x | |-- sdk.cleanup # SDK清理脚本| |-- sdk.unpack # SDK展开脚本| |-- osdrv # 存放操作系统及相关驱动的目录| | |-- opensource # opensource源代码| | | |-- busybox # busybox源代码| | | |-- kernel # linux内核补丁文件| | | |-- uboot # uboot源代码| | |-- pub # 编译好的镜像、工具、drv驱动等| | |-- tools # linux工具源代码| | |-- readme_cn.txt # osdrv使用说明(中文版)| | |-- readme_en.txt # osdrv使用说明(英文版)| | |-- ...... #| | `-- Makefile # osdrv Makefile| |-- package # 存放SDK各种压缩包的目录| | |-- osdrv.tgz # linux内核/uboot/rootfs/tools源码压缩包| | |-- mpp.tgz # 媒体处理平台软件压缩包| | |-- drv.tgz # drv压缩包| | |-- osal.tgz # osal压缩包 | | |-- rootfs_*.tgz # rootfs压缩包| | |-- image * # 可供FLASH烧写的映像文件,如内核、根文件系统| |-- scripts # 存放shell脚本的目录| |-- drv # drv目录| |-- osal # osal目录| | |-- include # 存放操作系统适配层的头文件的目录| | |-- source # 存放操作系统适配层的源文件的目录| |-- mpp # 存放媒体处理平台的目录| |-- component # 组件源代码 | |-- extdrv # 板级外围驱动源代码| |-- include # 对外头文件| |-- ko # 内核模块| |-- lib # release版本库以及音频库| |-- linux.param # linux相关的全局编译选项 | |-- Makefile.param # mpp一些全局编译选项 | |-- tools # 媒体处理相关工具| `-- sample # 样例源代码| |--arm-hisiv500-linux.tgz # uclibc交叉编译器压缩包|--arm-hisiv600-linux.tgz # glibc交叉编译器压缩包
安装交叉编译工具链
工具链有两种,目前采用uclibc版本的,比较小,百度网盘下载比较快,
- arm-hisiv500-linux.tgz对应uclibc
- arm-hisiv600-linux.tgz对应glibc
运行命令,
$ tar -zxvf arm-hisiv500-linux.tgz
$ gedit arm-hisiv500-linux.install
TOP_DIR=/etc/hisi-linux/x86-arm -> TOP_DIR=/home/qe/program/Hisilicon/hisi-linux/x86-arm
$ ./arm-hisiv500-linux.install
sorry, you must have super privilege!
1) I have root passwd 3) Try again 5) Aboart
2) I have sudo privilege 4) Ignore
#? 2
[sudo] password for qe:
$ cat /etc/profile
...
# Wed Dec 25 18:02:12 PST 2019
# Hisilicon Linux, Cross-Toolchain PATH
export PATH="/home/qe/program/Hisilicon/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin:$PATH"
#
readme.cn
,编译sdk,
make OSDRV_CROSS=arm-hisiv600-linux PCI_MODE=master FLASH_TYPE=nand all
编译u-boot
注意xx
表示3531d
,搞了半天,
$ make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- hi3531d_nand_config
$ make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-
首先用excel制作reg info
文件,然后更新生成烧录的boot镜像u-boot.bin
,
$ cd Hi3531DV100_SDK_V1.0.4.0/osdrv/tools/pc/uboot_tools/
$ cp osdrv/opensource/uboot/u-boot-2010.06/u-boot.bin .
$ ./mkboot.sh reg_info_hi3531d.bin u-boot.bin
编译env tools时注释掉,
Hi3531DV100_SDK_V1.0.4.0/osdrv/opensource/uboot/u-boot-2010.06/include/linux/types.h:154:36: error: conflicting types for ‘uintmax_t’typedef u_int32_t uintmax_t;
编译内核
$ cd Hi3531DV100_SDK_V1.0.4.0/osdrv/opensource/kernel/linux-3.18.20
$ patch -p1 < ../hi3531dv100_for_linux_v3.18.y.patch
$ make ARCH=arm hi3531d_nand_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig
$ make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- -j4
$ ls -l arch/arm/boot/
total 13308
drwxrwxr-x 2 qe qe 4096 Aug 7 2015 bootp
drwxrwxr-x 2 qe qe 4096 Dec 25 22:52 compressed
drwxrwxr-x 3 qe qe 36864 Dec 25 22:56 dts
-rwxrwxr-x 1 qe qe 6715424 Dec 25 22:52 Image
-rw-rw-r-- 1 qe qe 1648 Aug 7 2015 install.sh
-rw-rw-r-- 1 qe qe 3587 Dec 25 19:15 Makefile
-rwxrwxr-x 1 qe qe 3422352 Dec 25 22:52 zImage
-rw-rw-r-- 1 qe qe 3435538 Dec 25 22:52 zImage-dtb
编译mpp
遇到一些错误,待定位
$ cd mpp/
# export LIBC?=glibc
$ cd sample/
$ make
$ cd tools/
$ make
$ cd component/hdmi/sample/
$ make
$ cd component/pci/
$ make
# WARNING: "osal_remove_proc_entry" [/home/qe/program/Hisilicon/Hi3531DV100_SDK_V1.0.4.0/mpp/component/pci/pciv/kernel/hi3531d_pciv.ko] undefined!
# WARNING: "PCIV_FirmWareGetPreProcCfg" [/home/qe/program/Hisilicon/Hi3531DV100_SDK_V1.0.4.0/mpp/component/pci/pciv/kernel/hi3531d_pciv.ko] undefined!
# WARNING: "hios_mcc_setopt" [/home/qe/program/Hisilicon/Hi3531DV100_SDK_V1.0.4.0/mpp/component/pci/pciv/kernel/hi3531d_pciv.ko] undefined!
# WARNING: "osal_printk" [/home/qe/program/Hisilicon/Hi3531DV100_SDK_V1.0.4.0/mpp/component/pci/pciv/kernel/hi3531d_pciv.ko] undefined!
...
$ cd extdrv/
$ make
$ cd osal/source/kernel/
$ make
巨魔总结
我们遇到什么困难都不要怕,微笑着面对,战胜困难的唯一方法就是面对,奥利给!,欢迎加入巨魔的QQ群852283276
海思Hi3531DV100开发环境搭建相关推荐
- (1)海思Hi3531DV100开发环境搭建
海思Hi3531DV100开发环境搭建(1) (本方案在linkpi开发板Hi3531Dv100上测试) 一 安装SDK 1.Hi3531DV100 SDK包位置 在"Hi3531DV100 ...
- 海思[hi3531]编译环境搭建(针对用于编译程序不制作内核和系统的开发者)
海思3531软件环境搭建 确保Ubuntu能连网,把环境配置好安装以下软件 解压SDK压缩包(SDK可以找我拿Q:812417530) 解压工具链(可找我拿Q:812417530) 关于配置环境变量的 ...
- 华为海思芯片SDK----- LINUX环境搭建
华为海思芯片SDK----- LINUX环境搭建 一.安装交叉编译器:hcc_riscv32.tar.gz 解压压缩包:tar zxvf hcc_riscv32.tar.gz 新建一个文件夹:mkdi ...
- 研发日记——海思HI3519A芯片环境搭建
[1]SDK安装 1.1 Hi3519AV100 SDK 包位置 在"Hi3519AV100***/01.software/board"目录下,可以看到一个Hi3519AV100_ ...
- 老是说我编译版本不够_海思3518E编译环境搭建
一.系统准备 1. Hi3518e的SDK 2. Ubuntu安装文件,这次安装的版本是20.04 3. Vmware虚拟机,也可以直接安装一台编译服务器,这次安装的是虚拟机 4. 安装虚拟机的时候, ...
- 海思(三)Taurus的开发环境搭建
之前写的那篇没有及时发布 结果丢了 (重新开一篇) 下面是Taurus的开发环境搭建步骤 1.导入OpenHarmony源码 1.打开DevEco Device Tool,进入Home页,点击Impo ...
- 【海思AI芯片Hi3559A】学习笔记(1):开发环境搭建、安装SDK
芯片资料见Hi3559A的资料包 主要参考文档:ReleaseDoc\zh\01.software\board\Hi3559A╱C V100 SDK 安装及升级使用说明.pdf 注意所有解压操作均要在 ...
- 极海APM微控制器基于IAR开发环境搭建与工程调试配置方法
极海APM微控制器基于IAR开发环境搭建与工程调试配置方法 ✨本篇主要针对基于IAR for ARM版本:V9.30.1环境搭建和工程调试配置过程进行介绍,当然也同样适用于基于ARM架构芯片的开发使用 ...
- Hi3519V101开发环境搭建(二)
目录 目录 前言 编译U-boot 编译Linux-318y的内核 链接地址 前言 前面已经搭建好了Ubuntu下的海思开发环境,现在对编译Uboot和Kernel的过程做一个简单的记录.参考文档&l ...
- Hi3519V101开发环境搭建(一)
Hi3519V101开发环境搭建(一) 摘要:引言目前接触的项目使用海思平台.这里记录下海思3519的开发环境的搭建过程,感觉每次搭建都要参考<Hi3519V101Linux开发环境用户指南.p ...
最新文章
- jq处理 php数组,jQuery数组处理方法汇总_jquery
- 好玩的python代码示例-这可能是最好玩的python GUI入门实例!
- 20155308 《信息安全系统设计基础》课程总结
- 手机zip模拟器_【教程】萌新手机krkr2模拟器运行教程
- HTML5中Web Worker技术的使用实例
- VMware的屏幕太小
- 云计算:21世纪的商业平台
- android连mysql注册界面代码_Android实现注册登录界面的实例代码
- Android快速开发框架ZBLibrary源码分享
- 可爱的HOOk技术(一)
- 谈嵌入式软件分层设计
- 怎样从下载的MP4视频中将音乐提取出来?
- Flutter的原理及美团的实践(下,100%好评
- OFFICE 您正试图运行的函数包含有宏或需要宏语言的解决方法
- Centos7安装Nginx监控组件Nginx-rrd【二】
- ORACLE ora-01502 索引失效
- 毕业了,让我们唱起这十首歌!
- linux当中shadow文件的作用,解释Linux中passwd与shadow文件
- python练习——恺撒密码 I
- 【实战】“TED”演讲——可视化分析
热门文章
- Java十二平均律判断
- apk一般放服务器哪个位置,apk放在服务器
- Cocos Create 3.3 打包安卓apk
- Android之JNI① AS3.0以下DNK下载配置和第一个JNI程序
- GIS数据网站分享(长期更新)
- oracle如何修改redo,修改oracle redo
- 计算机桌面图标有哪两类,电脑桌面图标箭头,电脑桌面图标有两个箭头
- 代码大全(第2版)_2021【公式大全3.0版】【(数一)第371页】【(数二)第283页】【(数三)第324页】【有关矩阵秩的重要结论】6)~...
- 基于[三星6818]芯片超声波测距驱动编写
- 李开复给中国学生的4封信