APP先获得服务,再调用Dispatch即可。需要注意的是里面用的是HdfSBuf传递数据。
以下是hello_test.c的源码。
2.0.1获取服务
2.0.2分配HdfBuf要分配两个HdfBuf:data、reply。data用于向驱动传参数,reply用来保存驱动返回的数据。
代码如下:
如果不向驱动提供数据,上面的第32行不是必须的,现在之所以保留是因为内核有些问题。
2.1 调用Dispatch函数
这就像在Linux中调用ioctl一样,代码如下:
2.2 取出数据
2.3 把APP源码放入系统先在整个系统源码的根目录下创建一个子目录,比如myapp,在里面放入hello_test.c。
再修改 drivers/hdf/lite/manager/BUILD.gn,如下:
2.4编译、烧写、测试1、编译在目录下运行:
python build.py ipcamera -phi3516dv300_liteos_a -b debug
2、烧写烧写out/ipcamera_hi3516dv300_liteos_a/目录下的文件:
liteos.bin,这是内核
rootfs.img,这是文件系统
2.5 测试输出结果
注:文档和视频中所有的图片及代码截图皆为示意图,具体以HarmonyOS官网发布内容为准。