请问下:
1.两个m3和dsp与a8间的共享内存块在哪?
2.他们之间的视频帧frame是通过link的buf传递的吗?
3.bios6里面demo的运行程序有哪些、我能通过bios做些什么?
4.好像我自己开个socket把jpg图片穿不出来,链接都建不上,咋办?
5.最后是哪个mcfw_domo中的main函数好像没有创建target ,我怎样才能充分利用mcfw demo进行相关开发?
Robin Edson:
http://blog.csdn.net/crushonme
共享内存那部分你可以看看你的开发包中IPNCx.x\xxx_rdk\xxx_mcfw\mcfw\src_bios6\cfg\ti814x\config_xxx.bld文件中定义的有。
PKF:
回复 Robin Edson:
非常感谢 额 我看了下dmeo下的dcc.c文件 里面就一个dccParamInit()函数 他打开了一个opt/ipnc/dcc/dcc_default.bin文件然后就读他 ,之后就没了? 好像没有你说的raw传a8的例子 ,能否 提供个简单的例子我在paramerlink_drv.c中的camerlink_drvprocessdata(camerlink_obj *pobj)中获取frame数据 然后如何开辟共享内存,在a8端又是如何调用共享内存呢?
PKF:
up!
Robin Edson:
回复 PKF:
你代码没看完整,dcc那部分是用来调3A的时候linux端的server。ipnc的我只看过部分代码和架构,没有调过。自己开辟共享内存比较麻烦,我给你的blog链接中http://blog.csdn.net/crushonme/article/details/10287693这篇日志后面部分不是介绍了SharedRegion的使用吗。在DVRRDK中a8侧想获取m3侧数据是通过IPC link来做的,不需要自己创建共享内存区,IPNC中应该也是这样。详情你可以找找IPNC rdk中的demo。
PKF:
回复 Robin Edson:
嗯 ipc/link通信我知道一些,不过她还是要访问核间共享缓存吧,Void MultiCh_createBuf(Ptr * phyAddr, Ptr * bufPtr, Ptr * srBufPtr, UInt32 bufSize, UInt32 srIndex)这个函数创建了数据共享区,那我怎么在dsp端通过link调用访问它呢?
PKF:
回复 PKF:
up!
PKF:
回复 PKF:
问题4和问题5解决了 现在就是link 和tskhndl 以及msghndl 之间的通信了
我看了下system_ipccommon *gSystem_ipcObj 共享结构体变量里面有tsk 通过linkid找到tsk[linkid] 而msghndl里面也有cmd和linkid,msg里面的cmd定义的通用的的common的好像只有5个命令:
SYSTEM_CMD_NEW_DATA
SYSTEM_CMD_STOP。。。
而且linux下一个gsystem_ipcobj
bios6下面一个gsystem_ipcobj
之间有关系吗?link到底有什么用在核间通信?