海思SS626开发笔记之环境搭建和SDK编译

海思SS626开发笔记之环境搭建和SDK编译

文章目录


前言

SS626/Hi3536AV100/GK7618是同一个芯片,针对多路高清/超高清(1080p/4M/5M/4K)智能NVR产品应用开发的新一代专业高端SoC芯片。Hi3536AV100集成了ARM Cortex-A55八核处理器和性能强大的神经网络处理器,支持多种智能算法应用。Hi3536AV100支持32路1080p多协议解码及4路1080p H.265/H.264编码,还支持双HDMI 4K显示能力及鱼眼矫正、动态对比度增强等多种图像处理功能。同时,Hi3536AV100还支持完整的安全解决方案,结合丰富的外围设备及高速接口,该SoC芯片为客户产品提供了高性能、安全、高集成度、易于开发的嵌入式高清智能NVR解决方案。

一、全部编译:

解压SDK,并且安装后,再开始编译。

GK7618V100_V1.0.0.3\GK7618V100_V1.0.0.3_Documents\03_software\board

参考《SS626V100 SDK 安装以及升级使用说明.pdf》

本目录下的编译脚本支持选用aarch64-mix410-linux 64bit工具链进行编译,具体命令如下:

(1)编译整个osdrv目录:(同时会做打补丁的操作,后面就不用单独打补丁了)

make all

默认编译:

make BOOT_MEDIA=spi CHIP=ss626v100 all

也可以选择emmc的启动介质:

make BOOT_MEDIA=emmc CHIP=ss626v100 all

参数说明:

BOOT_MEDIA:spi nor或spi nand启动选择spi;emmc启动选择emmc。

二、单独编译uboot:

参考:《SSxxxV100 U-boot 移植应用开发指南.pdf》

1.编译镜像文件:

SPI NOR/NAND 启动的:

cp configs/ss626v100_defconfig .config

或者:make ARCH=arm CROSS_COMPILE=aarch64-mix410-linux- ss626v100_defconfig

EMMC启动的:

cp configs/ss626v100_emmc_defconfig .config

或者:make ARCH=arm CROSS_COMPILE=aarch64-mix410-linux- ss626v100_emmc_defconfig

配置菜单:

make ARCH=arm CROSS_COMPILE=aarch64-mix410-linux- menuconfig

编译:

make ARCH=arm CROSS_COMPILE=aarch64-mix410-linux- -j4

reg_bin生成工具:

SS626V100_SDK_V2.0.0.3/osdrv/tools/pc/uboot_tools/regbin-v1.0.2/

对EMMC启动的:

./regbin .../SS626V100-DMEB_4L_FLYBY-DDR4_3200M_4GB_16bitx4-A55_1600M-EMMC.xlsm ss626v100_reg_info_emmc

对SPI FLASH启动的:

./regbin .../SS626V100-DMEB_4L_FLYBY-DDR4_3200M_4GB_16bitx4-A55_1600M.xlsm ss626v100_reg_info_spi

cp osdrv/tools/pc/uboot_tools/reg_info.bin .reg

生成最终的uboot:

make ARCH=arm CROSS_COMPILE=aarch64-mix410-linux- u-boot-z.bin

open_source/u-boot/u-boot-2020.01下生成的u-boot-ss626v100.bin即为"快速启动"使用的u-boot镜像。不能用来烧写到EMMC或者SPI FLASH,需要生成非安全启动镜像。

2.生成非安全启动的镜像

SS626V100_SDK_V2.0.0.3/osdrv/components/

tar xf boot.tar.gz

cd boot/gsl/

make

cd .../image_map/

cp .../gsl/pub/gsl.bin ./

cp .../.../.../.../open_source/u-boot/u-boot-2020.01/u-boot-ss626v100.bin ./u-boot-original.bin

cp .../.../.../.../open_source/u-boot/u-boot-2020.01/.reg ./

python3 oem/oem_quick_build.py

至此,生成了可以烧写的boot镜像。

SS626V100_SDK_V2.0.0.3\osdrv\components\boot\image_map\image\oem 这个SDK编译出来的可用。

三、 单独编译内核:

1、编译内核:

生成默认配置:

SPI NOR 或者SPI NAND FLASH

cp arch/arm64/configs/ss626v100_defconfig .config

EMMC:

cp arch/arm64/configs/ss626v100_emmc_defconfig .config

编译:

make ARCH=arm64 CROSS_COMPILE=aarch64-mix410-linux- menuconfig

make ARCH=arm64 CROSS_COMPILE=aarch64-mix410-linux- uImage -j4

make ARCH=arm64 CROSS_COMPILE=aarch64-mix410-linux- modules

清除:

make ARCH=arm64 clean

2、生成烧写镜像:

编译出来uImage后,再编译能搞烧写的内核镜像。

四、 编译busybox:

忽略。

总结

以上就是编译SS626固件的方法,后续会介绍烧写固件的方法,敬请期待。

相关推荐
崎岖Qiu2 小时前
【OS笔记04】:进程和线程2-进程控制
笔记·操作系统·os
Apifox.2 小时前
Apifox 9 月更新| AI 生成接口测试用例、在线文档调试能力全面升级、内置更多 HTTP 状态码、支持将目录转换为模块
前端·人工智能·后端·http·ai·测试用例·postman
悠哉悠哉愿意2 小时前
【ROS2学习笔记】URDF 机器人建模
笔记·学习·机器人·ros2
武子康2 小时前
AI-调查研究-95-具身智能 机器人场景测试全解析:从极端环境仿真到自动化故障注入
人工智能·深度学习·机器学习·ai·机器人·自动化·具身智能
Light602 小时前
领码方案|微服务与SOA的世纪对话(3):方法论新生——DDD、服务网格与AI Ops的融合之道
运维·人工智能·微服务·ddd·soa·服务网格·ai ops
智者知已应修善业3 小时前
【51单片机32个灯,第一次亮1,2。第二次亮2,3。第三次亮3,4。。。。】2023-2-10
c语言·经验分享·笔记·嵌入式硬件·51单片机
realhuizhu3 小时前
国庆收心指南:用AI提示词工程解决节后综合征
人工智能·ai·chatgpt·prompt·提示词·deepseek·假期综合征·节后综合征
老兵发新帖3 小时前
归一化分析2
人工智能
yzx9910133 小时前
低空经济新纪元:AI驱动的智能无人机技术与应用
人工智能·无人机