“线程:C2000WARE, 测试”中讨论的其它部件
您好,
我正在研究使用 MCU F28388D 的项目,我的项目与 MCU 的所有3个内核一起使用。
目前,我正在使用 SDK:C2000Ware_MotorControl_SDK_3_00_01_00 (其中包含 C2000ware 版本:3.02.00.00), CCS v 9.3.0.00012,带有 C2000 C28x 的编译器:TI v18.12.4.LTS 和 ARM 内核:TI V18.12.4.LTS
第一次测试:
我在 IPC MSG 共享 RAM CM 中将结构数据定义为 CM 和 CPU2中的 CPU2下图:
在 CM 内核 中,我声明变量 SRAM_cm_to_CPU2, 在 CPU2内核中,我声明变量 ipcMToCPU2Data ,其结构数据如下( SRAM_cm_to_CPU2和 ipcMToCPU2Data 在 IPC MSG RAM CM 中被分配给带有#pragma data_section 的 CPU2...)
我调试项目并检查 CCS 中的内存浏览器(下图),一切正常,数据可以从 CM - CPU2正常传输:
但在我进行第二次测试时,我只能将结构数据从 buer_data_CPU2[12]更改为 buer_data_CPU2[13] ,如下所示:
出现问题,数据无法从 CM -> CPU2正确传输,我在内存浏览器中检查内存映射下图:
以厘米为单位的磁芯可能所有东西都仍然正常, 但在 CPU2中,我不知道为什么 IPC_CPU_to_CM_GetBuffer 的大小增加到192个单词(384字节),我在驱动程序库代码 IPC.c 中检查了它,它是用大小为136个单词(272字节)的结构声明 的,就像第一次测试图片中显示的内存映射。
我不知道原因何在? 您能帮我解决这个问题吗?因为我的项目需要将数组 buer_data_CPU2增加到12个元素。
以下2个内核的 cmd 文件:
谢谢,
长磅