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

海思Hi3516CV610/Hi3516CV608开发笔记之环境搭建和固件编译

海思Hi3516CV610/608开发笔记之环境搭建和固件编译

文章目录

  • 海思Hi3516CV610/608开发笔记之环境搭建和固件编译
  • 前言
  • 一、必备工具软件:
    • 1、更改shell,
    • 2、安装工具软件:
  • 二、一键编译SDK:
    • 1、解压SDK:
    • 2、编译整个SDK:
    • 3、错误处理:
  • 三、单独编译UBOOT:
    • 1、参考:
    • 2、编译uboot:
    • 3、表格生成配置:
    • 4、生成最终的u-boot烧写镜像:
  • 四、单独编译内核:
    • 1、下载内核:
    • 2、编译镜像:
  • 五、编译busybox:
  • 总结


前言

Hi3516CV610是一颗应用在基座安防市场的IPC SoC,主要面向室内外场景下的枪机、球机、半球机、海螺机、枪球一体机、多目长短焦机等产品形态,可以打造出极具竞争力的方案与产品。
本文介绍一下该芯片开发环境的搭建和编译固件的方法,希望对有意愿使用该芯片的读者做一些有益的启发,减少在开发过程中的摸索。

一、必备工具软件:

1、更改shell,

sudo dpkg-reconfigure dash
选择 NO

2、安装工具软件:

sudo apt-get install make libc6-i386 lib32z1 lib32stdc++6 libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools texinfo gawk libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip libffi-dev libtool libfreetype6 fakeroot autopoint po4a python3-pip wget
提示需要用python3的时候再安装,如果没有提示,就可以不安装。
安装uboot工具:
sudo apt-get install u-boot-tools
在这里插入图片描述
进入/Hi3516CV610_SDK_V1.0.1.0/scripts目录
./installed_package_check.sh 检查软件包是否安装完整。
在这里插入图片描述
就执行:
sudo apt-get install libncursesw5-dev

解压并安装工具链:添加到/etc/profile
export PATH=“/opt/linux/x86-arm/arm-v01c02-linux-musleabi-gcc/bin:$PATH”

二、一键编译SDK:

1、解压SDK:

1、 tar zxvf Hi3516CV610_SDK_VX.0.X.X.tgz
2、执行Hi3516CV610_SDK_VX.0.X.X文件夹内部解压,
./sdk.unpack

2、编译整个SDK:

先完整的编译一次,uboot,内核,busybox的补丁就都打上了
进入目录Hi3516CV610_SDK_V1.0.0.3_update\smp\a7_linux\source\bsp
在这里插入图片描述
在 smp/a7_linux/source/bsp 目录下执行 make 命令整编小系统镜像:
make all
默认编译参数为:
make LIB_TYPE=musl CHIP=hi3516cv610 DEBUG=0 all
编译参数说明:
1、 BOOT_MEDIA默认选择spi启动方式编译,可选择emmc启动方式编译,即
BOOT_MEDIA=emmc;
2、 LIB_TYPE默认为musl编译,可选择glibc编译,即LIB_TYPE=glibc;
3.、CHIP默认为hi3516cv610,可选择hi3516cv610编译,即CHIP=hi3516cv610;
4.、DEBUG默认为DEBUG=0,表示编译 release 版本系统镜像。可选择为
DEBUG=1,即编译debug版本系统镜像。

在这里插入图片描述
make LIB_TYPE=musl CHIP=hi3516cv610 DEBUG=1 all -j6

在这里插入图片描述
编译完毕后的目标文件:
在这里插入图片描述

3、错误处理:

1、第一次编译gzip会出错:
Hi3516CV610_SDK_V1.0.0.3_update/open_source/gzip/gzip-1.11
运行 ./configuure 自己配置下,重新编译即可。
2、无内核,需要自己下载:
在这里插入图片描述
https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/
在这里插入图片描述

三、单独编译UBOOT:

1、参考:

ReleaseDoc\zh\01.software\board
《Hi3516CV610 SDK 安装及升级使用说明.pdf》
Hi3516CV610R001C01SPC003\ReleaseDoc\zh\01.software\board\BSP
《Hi35xxVxxx U-boot 移植应用开发指南.pdff》
在这里插入图片描述

2、编译uboot:

(这个是SPI NOR/NAND的配置)
cp configs/hi3516cv610_defconfig .config
配置菜单:
make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- menuconfig
保存退出
编译:
make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- -j 20
cp …/…/gzip/bin/gzip arch/arm/cpu/armv7/hi3516cv610/hw_compressed/ -rf
chmod +x arch/arm/cpu/armv7/hi3516cv610/hw_compressed/gzip
编译生成u-boot-hi3516cv610.bin
make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- u-boot-z.bin
编译成功后,将在U-boot目录下生成u-boot-hi3516cv610.bin
在这里插入图片描述

3、表格生成配置:

在这里插入图片描述

4、生成最终的u-boot烧写镜像:

Hi3516CV610_SDK_V1.0.0.3_update/smp/a7_linux/source/bsp
cd components/
cd gsl
make clean
make CHIP=hi3516cv610
cd …/…/
cp components/gsl/pub/gsl.bin ./tools/pc/image_tool/input
cp …/…/…/…/open_source/u-boot/u-boot-2022.07/u-boot-hi3516cv610.bin ./tools/pc/image_tool/input/u-boot-original.bin
cp tools/pc/boot_tools/reg_info.bin ./tools/pc/image_tool/input
cd tools/pc/image_tool
python oem/oem_quick_build.py
在这里插入图片描述
tools/pc/image_tool/image/oem/下生成的boot_image.bin即为“非安全启动”能在单板上运行的uboot 镜像.

在这里插入图片描述

四、单独编译内核:

1、下载内核:

在这里插入图片描述

2、编译镜像:

菜单配置:
make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- menuconfig
make ARCH=arm clean
编译模块:
make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- modules

修改config配置,重编kernel镜像的方法:(只能进入bsp目录进行编译)
Hi3516CV610_SDK_V1.0.2.0\smp\a7_linux\source\bsp\readme_cn.txt
1)进入open_source/linux/linux-5.10.y目录,生成默认配置文件:
cp arch/arm/configs/hi3516cv610_debug_defconfig .config
修改config配置,执行:
make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- menuconfig
2)将修改后的.config拷贝为新的config文件,执行
cp .config arch/arm/configs/hi3516cv610_new_defconfig
cp .config arch/arm/configs/hi3516cv608_new_defconfig
3)进入bsp目录,重新执行:
如果编译HI3516CV610:
make KERNEL_CFG=hi3516cv610_new_defconfig kernel DEBUG=1 CHIP=hi3516cv610 -j4
如果编译HI3516CV608:
make KERNEL_CFG=hi3516cv608_new_defconfig kernel DEBUG=1 CHIP=hi3516cv608 -j4
在这里插入图片描述

五、编译busybox:

编译源码:
在这里插入图片描述
直接make即可
make menuconfig 进行配置,选择必要的工具,比如telnetd, pppd,然后修改编译工具,

总结

以上就是海思Hi3516CV610/Hi3516CV608的环境搭建和固件编译方法,希望对读者的开发有所帮助,后续会介绍该芯片的其他用法,敬请期待。

http://www.dtcms.com/a/453462.html

相关文章:

  • 学生化残差(Studentized Residual):概念、计算与应用
  • 网站建设杭州做rap的网站
  • 华为交换机实战配置案例:从基础接入到核心网络
  • OpenCV(四):视频采集与保存
  • 证券业智能化投研与分布式交易系统架构:全球发展现状、技术创新与未来趋势研究
  • AI Agent竞争进入下半场:模型只是入场券,系统架构决定胜负
  • 图书商城网站开发的目的网页设计实训报告总结1500字
  • 做俄语网站做网站傻瓜软件
  • 兼具本地式与分布式优势、针对大类通用型Web漏洞、插件外部动态化导入的轻量级主被动扫描器
  • 第4章 文件管理
  • JavaScript初识及基本语法讲解
  • RabbitMQ中Consumer的可靠性
  • 自学网站建设作业抖音代运营公司收费
  • drupal做虚拟发货网站做网站如何将一张图片直接变体
  • 监控系统1 - 项目框架 | 线程邮箱
  • CTFHub SQL注入通关笔记3:报错注入(手注法+脚本法)
  • 开源UML工具完全指南:从图形化建模到文本驱动绘图
  • 优秀网站设计欣赏北京公司网站建设公司
  • 基于 Python 构建的安全 gRPC 服务——TLS、mTLS 与 Casbin 授权实战
  • 【Java核心技术/IO】35道Java IO面试题与答案
  • ICT 数字测试原理 10 - -VCL 向量如何执行之数字单元
  • 网站目录爬行wordpress怎么做信息分类
  • 专题三:二分查找~
  • 360小工具合集,用39个小工具
  • GreenTuber 0.1.7.6| 纯净无广的油管第三方,支持4K下载
  • UVa 235 Typesetting
  • 东莞营销网站建设哪个平台好十大app排行榜
  • asp网站开发工具现在的企业一般用的什么邮箱
  • 企业区块链重新崛起
  • 【SSH】同一局域网下windows使用Xshell SSH连接另一台 ubuntu 22.04 电脑