qn1539141314

qn1539141314

1个粉丝

9

问答

0

专栏

0

资料

qn1539141314  发布于  2018-11-02 17:03:12
采纳率 0%
9个问答
3884

Hi3559核间通信的问题

 
因为做Hi3559 OSD遇见需要核间通信的问题,需要将OSD Buffer传给LiteOS端。因为HisysLINK手册上只有几个API,实在没看明白,所以借鉴LiteOS端VENC模块传数据给Linux端。
  这是LINUX端建立消息的流程


大致流程:在client端添加自己的命令,并调用HI_DATAFIFO_Write写数据。然后在Msg_venc.c中的 VENC_MSG_PROC(HI_IPCMSG_MESSAGE_S* pstMsg)选择执行自己添加的函数(譬如get OSDbuffer()),

进入函数get OSDbuffer(),同时在Server端执行真正工作的函数(譬如调用HI_DATAFIFO_Ioctl检测是否收到数据,再调用HI_DATAFIFO_Read读取数据),成功则返回消息



因为借鉴了VENC传输数据到LINUX端,里面涉及到很多数据结构:譬如:MEDIA_VENC_DATAFIFO_CONTEXT_S,s_stVencDataFIFOContext.astVdatafifo[s32VeChn].hDataFifo

其实我发过去仅仅只是一张BMP图的数据而已,远远没有VENC传到Linux端数据流那么复杂。所以做自己的通信是否要建立类似上图的数据结构?还是可以直接沿用VENC的数据结构?


我来回答
回答4个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2018-11-02 17:15:31
认可0
数据传输方向不对

VENC的数据传输是 liteOS到linux, 而楼主的OSD需求数据是 linux到liteOS

其实可以考虑,在MMZ上开一块内存,linux把OSD填好,然后发个message(里面带上OSD的物理地址)给liteOS,然后liteOS收到message后就去读出即可

qn1539141314

1个粉丝

9

问答

0

专栏

0

资料

qn1539141314 2018-11-02 17:26:56
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=110427&ptid=53229]zhuangweiye 发表于 2018-11-2 17:15[/url]
数据传输方向不对

VENC的数据传输是 liteOS到linux, 而楼主的OSD需求数据是 linux到liteOS
[/quote]

谢谢前辈提供的方法,似乎方式简单了很多,我去研究一下。但是我还是想问:如果按照上面的方式,只是将linux端的Read改成Write,将LiteOS端的Write改成Read这样的方式行得通吗?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2018-11-02 17:35:15
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=110429&ptid=53229]qn1539141314 发表于 2018-11-2 17:26[/url]
谢谢前辈提供的方法,似乎方式简单了很多,我去研究一下。但是我还是想问:如果按照上面的方式,只是将li ...[/quote]

DATAFIFO的用途是用于“频繁传递大数据量”

楼主的用途不“频繁”,用message即可,只是message一次最多只能传送1024bytes,所以可以用linux和liteOS都能看到的MMZ来放数据,message来传关键数据,比如起始地址,长宽,格式等等

qn1539141314

1个粉丝

9

问答

0

专栏

0

资料

qn1539141314 2018-11-02 17:40:36
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=110430&ptid=53229]zhuangweiye 发表于 2018-11-2 17:35[/url]
DATAFIFO的用途是用于“频繁传递大数据量”

楼主的用途不“频繁”,用message即可,只是message一次最 ...[/quote]

谢谢前辈!
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区