【Hi3559AV100 Camera】​Hi3559AV100 双系统下使用 sharefs

前言

在开发过程中会发现 Hi3559AV100 双系统下要传输共享一些文件该如何处理,也有客户反映按照官方文档操作双系统下 sharefs 使用不了,然后就整理了这篇博文,希望能对大家日后开发有帮助。

一、Sharefs 功能

Sharefs 可使 A53UP Huawei LiteOS 访问 A53MP+A73MP Linux 上目录。其源码目录位于:sdk/osdrv/components/ipcm/class/sharefs Sharefs 采用 IPCM6 号端口。
Sharefs 采用 Server/Client 模型。Server 提供被访问目录,接收 Client 发出的文件访问命令并执行,然后返回结果给 Client。在 Client 端,通过一些基本的文件或目录访问操作(open/read/write/close、cd/ls/stat 等),其实际等同于访问 Server 端对应的目录。

   ---- 结束

二、初始化

A53UP Huawei LiteOS 链接 libipcm.a,libsharefs.a 库。并在 app_init 中执行初始化:
_ipcm_vdd_init();
sharefs_client_init("/sharefs");
在这里插入图片描述修改源码后重新编译烧录,具体编译烧录方法可以参考我上一篇博文《【Hi3559AV100 Camera】 Hi3559AV100 环境搭建》

  ---- 结束

三、加载驱动

A53MP+A73MP 加载 hi_ipcm.ko,并执行:sharefs & ,作为后台程序。统起来后进入 /kmod 目录下加载驱动

insmod hi_ipcm.ko
insmod hi_virt-tty.ko
sharefs &

在这里插入图片描述这样驱动就加载成功了。

     ---- 结束

四、LiteOS 访问 Sharefs

驱动加载完成后就可以通过 virt-tty 虚拟串口切换到 A53UP LiteOS 端

virt-tty a53

这样在A53UP Huawei LiteOS 就可访问 A53MP+A73MP Linux 的目录“/sharefs”
A53MP+A73MP Linux:
在这里插入图片描述
A53UP Huawei LiteOS:
在这里插入图片描述
注意:
由 Client 指定的 Sharefs 访问目录(sharefs_client_init 的入参)在 Server 端必须存在,并且能被 Server 端应用 sharefs 访问。不然,Client 会访问失败。
说明:
有些人可能会使用 sharefs 来传输一些视频码流文件来做其他处理。例如:big-little 模式下通过 /sharefs 来解码会产生解码太慢的问题,这是因为 sharefs 只是用于传输音频的一些 文件,如果是视频码流的话,需要使用 datafifo 来传输。具体请参考 hisyslink\datafifo 里面的 sample 说明,通过 datafifo 获取到码流之后再调用 decode 的接口即可。后面我会单独写一篇博文来处理上述问题,请期待~
【Hi3559AV100 Camera】​Hi3559AV100 双系统下使用 RAMFS 文件系统来跑 sample_vdec视频解码
---- 结束

五、参考资料

《 【Hi3559AV100 Camera】 Hi3559AV100 环境搭建 》
《 WM_Hi3559A╱C V100 SDK 安装及升级使用说明.pdf 》
《 WM_Hi3559A╱C V100 开发环境用户指南.pdf 》

注:

未经本人允许,不得转载!谢谢!

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页