This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] F28M35H52C:f28m35x 器件的 IpcMgr 配置

Guru**** 1999175 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1007375/f28m35h52c-ipcmgr-configuration-for-f28m35x-device

器件型号:F28M35H52C

您好!

我们将  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

我将感谢您的任何帮助。

提前感谢、

梅拉夫  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Merav、

    感谢您联系 TI E2E。  遗憾的是、TI RTOS 内的 IPC 产品在2015年底被弃用、对于 C2000 MCU、我将尽力提供帮助、但我不太熟悉此软件产品。

    在更多空间方面、S4 RAM (另一个8K)与 S3是连续的、只要它未分配给链接器中的任何其他内容、您就可以增加消息的大小、并且只需继续即可。

    我不确定使用的大小为何大于保留的大小、您能否在.cmd/链接器文件中查看是否有其他内容分配给 S3区域?

    最棒的

    Matthew