工作问题03/10
共享内存
posts
问题描述
任务是修改南通海康版本,用最新的its_get_event来替换老的
问题是修改后,并没有事件产生
解决问题
通过log可以发现
1.upload函数没有接收到图像
2.dsp有图像 event_image_size 1 = 0
3.又通过再its_get_event函数中加入更多的打印发现,Linux这边的its_get_event并没有接收到图像。
所以考虑是dsp到arm之间共享内存出现了问题
Linux与dsp之间共享内存的原理如下:
用的是本次问题涉及的结构m_event_info[id]
为了解决传递中出现的错误,分别打印出linux和dsp这边的物理地址
发现地址之间相差0x500000,推断出原来是id号不同
但是id在传递时并未被改变,传递的过程也用的时共享内存
找到包含id号的结构体,发现原来dsp中该结构体定义顺序与linux中不同
dsp中
共享内存中定义的结构体成员顺序一定要相同
修改相同后,bug就没有了。