您好!
我们将 f28m35x 器件与 MessageQ IPC 模块搭配使用、TI RTOS 版本为6.33
我们的应用程序已配置、并可与主内核(M3)上的以下 IpcMgr 设置正常配合使用:
VAR IpcMgr = xdc.useModule('ti.sdo.ipc.family.f28m35x.IpcMgr');
IpcMgr.writeAddr = 0x2000e000; // S3共享 存储器扇区 (8K 大小)
IpcMgr.readAddr = 0x2000c000; // S2共享 存储器扇区 (8K 大小)
IpcMgr.sharedMemoryOwnerMask = 7;//(C28内核所欠 S0-S2扇区)
IpcMgr.messageQSize = 144;
IpcMgr.numMessageQMsgs = 32;
我们正在添加可能需要32条以上消息分配的其他通信通道。 为了增加这个参数并且 由于 numMessageQMsgs 必须被设定为2的幂、这个 参数的新值 为64。
对于新设置64*144 (messageQSize * numMessageQMsgs) ,IPC 写入扇区(8K)中没有足够的内存空间,问题是如何为多个扇区配置 IPC 写入内存,以便 IPC 写入的内存超过8K?
此外、我们计算 写入扇区中的字节数、发现 IpcMgr.numNotifyMsgs = 32; 采用0x100、MSGQ 消息节拍为144*32 = 0x1200 (总计0x1300)
在存储器映射文件中、我们看到该特定扇区中使用了0x1510存储器。 我们不明白为什么额外0x210字节的映射状态,我们在这里缺少什么?
从存储器映射 -
名称 起点 长度 已使用 未使用 的属性填充
S03SHRAM 2000e000 00002000 00001510 00000af0 RW X
我将感谢您的任何帮助。
提前感谢、
梅拉夫