一、前言
前几篇文章在调试相机驱动,但是有问题,评论区的大佬说了一些打印相机信息的一些指令,其中有一个是查询chip_id。作为一个小白,文档都读不明白,但是不断的百度查资料和查看海思文档,结合现有信息和大胆猜测,最终实现了API的使用和chip_id的读取。本文比较烦琐,主要是还原心路历程,后面会出个纯净版(海思的坑太多,但凡我少一条信息我就做不出来)。申明一下的是,我用的方法是笨方法,目的是实现功能,肯定有更简洁的,这个我后面再探索实现,比如此次编译没用makefile。
硬件SOC:HI3519DV500
整体思路:根据《MPP 媒体处理软件 V6.0 开发参考》,找到要实现的api,然后在上位机的虚拟机中进行交叉编译成可执行文件,这其中要链接一些库,最后将可执行文件、库、头文件传送到板端进行实现。
看上去简单,其实有各种小坑
二、上位机程序编写
2.1 找到API参考信息
首先根据海思文档《MPP 媒体处理软件 V6.0 开发参考》,找到我们要实现的功能的api介绍。
一些介绍:
跳转到介绍这个API的地方,介绍的信息就大概一页:
这里手册有举例,直接使用举例程序,然后程序前面要引用里面所说的两个头文件,库文件是编译的时候链接用的。既然要编译,那肯定是需要环境的。我采用的是在PC端VSCODE使用ssh连接到PC端上的虚拟机Ubuntu,这个里面已经有了交叉编译的环境和海思的SDK(前面的文章有介绍,不多赘述了)。