Hi3559AV100 双系统下如何使用 sharefs?
前段时间,在开发 Hi3559AV100 时遇到双系统下要传输共享文件的操作问题,同时,也有客户反馈,按照官方文档操作双系统下 sharefs 使用不了,所以整理了这篇博文,希望能够帮到进行 Hi3559AV100 开发的伙伴。
一、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");
修改源码后重新编译烧录,具体编译烧录方法可以参考我上一篇博文《海思 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 的接口即可。
- 分享
- 举报
-
浏览量:10861次2022-08-12 15:15:09
-
浏览量:805次2023-11-06 18:27:35
-
浏览量:1126次2023-10-13 10:22:12
-
浏览量:859次2023-11-08 14:32:04
-
2020-08-10 09:21:07
-
浏览量:3321次2020-08-10 19:30:45
-
浏览量:3899次2020-08-24 21:15:04
-
浏览量:3694次2020-01-04 13:34:40
-
浏览量:1202次2024-01-06 10:33:06
-
浏览量:2864次2020-08-10 19:14:51
-
浏览量:4424次2020-08-05 20:40:46
-
浏览量:624次2024-01-24 14:47:22
-
浏览量:1166次2024-01-04 17:47:00
-
浏览量:2463次2022-01-13 09:00:52
-
浏览量:3687次2022-01-04 09:00:18
-
2024-02-18 18:17:05
-
浏览量:2500次2021-12-10 16:36:33
-
浏览量:2005次2022-02-15 09:01:03
-
浏览量:1770次2024-01-08 17:24:15
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
易木雨
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明