最近在学习海思3559AV100开发板,目的是想跑通8k视频编码,但是好像不支持8k的sensor(“文档\ReleaseDoc\zh\01.software\board\PQ”路径下的“Sensor support list.xlsx”文件中不包含8k的sensor),不过这颗芯片本身支持8k编码,所以希望实现文件域的编码,网上的资料很少,我之前是纯做编解码算法的,没有接触过arm设备,然后乱七八糟捣鼓了两周,发现还是不行,得认真看一下海思的资料,理解这些API的逻辑、数据的流向,不过资料比较多,所以在这里稍微整理一下。
运行MPP
我这边是同事烧写好了系统给我的,所以直接从跑demo开始进行的,前面的流程后面有空重新做一遍补回来。
在资料包的“文档\ReleaseDoc\zh\01.software\board”路径下有一个“Hi3559A╱C V100 SDK 安装及升级使用说明”的PDF文件,详细介绍了SDK和demo的使用方法:
在步骤1中,我这边的sensor型号是imx334,所以在/mpp/sample/目录下改Makefile.param配置文件适配sensor imx334,如下图,将前两个改掉,同时加载驱动时也相应改变。
(偶然发现DDR内存分配、MMZ等在这里也有介绍,之前鼓捣的时候出现过“MMZ LEAK”的报错,后面看看是否和这里介绍的设置有关。)
查看MPP日志信息
log日志记录了SDK运行时错误的原因、位置、状态信息等,可通过查看log日志分析错误情况,海思开发板日志分为7个等级,默认是3级,此时只有发生错误时才将信息记录到日志中,等级越高记录的信息越多,7级会记录系统运行的所有信息,会大大降低系统的整体性能,通常情况下默认在3级即可。
获取日志记录:cat /dev/logmpp
查看各模块的日志等级: cat /proc/umap/logmpp
修改某个模块的日志等级: echo “venc=4” > /proc/umap/logmpp
修改所有模块的日志等级: echo “all=4” > /proc/umap/logmpp
(偶然发现“HiMPP V4.0 媒体处理软件 FAQ.pdf”中1.2.2节为“如何根据具体产品调整媒体业务所占内存”,后续可能用得上)
祝大家平安健康。