Hi3559A NNIE软件在模拟器环境开发完,如何移植到Hi3559A SoC SDK板端?

Hi3559A NNIE软件在模拟器环境开发完,如何移植到Hi3559A SoC SDK板端?,第1张

编译环境

   推荐64bit linux   推荐ubuntu14.04 gcc4.82

   自行配置网络 安装nfs samba ssh等相关组件

1. 使用bashsudo dpkg-reconfigure dash 选择not

2. 软件包sudo apt-get install make libc6:i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools:i386 texinfo texlive gawk

3. 创建/etc/ld.so.preload 执行 echo "" >/etc/ld.so.preload

4. 安装交叉编译器glibc ,aarch64(ES sdk使用hisiv-610,CS sdk使用 himix100),arm-none-eabi

5. 替换64位工具64bit系统需拷贝tools/pc/mkimage_tool/mkimage到 /usr/bin下

6. 环境变量source /etc/profile

   编译参考:osdrv说明文档.txt

Hi3559a代码结构

   ├── Code   │ ├── drv   │ ├── mpp   │ ├── osal   │ ├── osdrv   │ │ ├── components   │ │ ├── Makefile   │ │ ├── opensource   │ │ │ ├── arm-trusted-firmware   │ │ │ ├── busybox   │ │ │ ├── kernel   │ │ │ └── uboot   │ │ ├── osdrv_mem_cfg.sh   │ │ ├── platform   │ │ ├── readme_cn.txt   │ │ ├── readme_en.txt   │ │ ├── rootfs_scripts   │ │ └── tools   │ ├── package   │ ├── scripts   │ ├── sdk.cleanup   │ └── sdk.unpack   ├── downloadcode

Hi3559a sdk文档中术语描述

   multi-core版本为单系统a73mp+a53mp版本   big-little版本为双系a73mp+a53mp版本 sample.bin为liteos测

   编译(A53MP+A73MP)多核linux+A53UP单核liteos、启动介质为emmc的命令:   make BOOT_MEDIA=emmc AMP_TYPE=linux_liteos all

阅读目录

正文

系统控制根据 Hi35xx 芯片特性,完成硬件各个部件的复位、基本初始化工作,同时负责完成 MPP(Media Process Platform 媒体处理平台)系统各个业务模块的初始化、去初始化以及管理 MPP 系统各个业务模块的工作状态、提供当前 MPP 系统的版本信息、提供大块物理内存管理等功能。

应用程序启动 MPP 业务前,必须完成 MPP 系统初始化工作。同理,应用程序退出 MPP 业务后,也要完成 MPP 系统去初始化工作,释放资源。

视频缓存池主要向媒体业务提供大块物理内存管理功能,负责内存的分配和回收,充分发挥内存缓存池的作用,让物理内存资源在各个媒体处理模块中合理使用。一组大小相同、物理地址连续的缓存块组成一个视频缓存池。必须在系统初始化之前配置公共视频缓存池。根据业务的不同,公共缓存池的数量、缓存块的大小和数量不同。

MPP提供系统绑定接口(HI_MPI_SYS_Bind),即通过数据接收者绑定数据源来建立两者之间的关联关系(只允许数据接收者绑定数据源)。绑定后,数据源生成的数据将 自动发送给接收者。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7391426.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存