Other Parts Discussed in Thread: C2000WARE
Hi,
I am working on project which is using MCU F28388D, My project is used with all 3 cores of MCU.
Currently , I am using SDK: C2000Ware_MotorControl_SDK_3_00_01_00 (with C2000ware Version: 3.02.00.00 inside), CCS v 9.3.0.00012 with compiler for C2000 C28x: Ti v18.12.4.LTS and Arm core: Ti V18.12.4.LTS
With first test:
- I define struct data in IPC MSG SHARED RAM CM to CPU2 in both CM and CPU2 picture below:
In CM core I declare the variable sram_cm_to_cpu2, and in CPU2 core I declare the variable ipcCMToCPU2Data with struct data below (both sram_cm_to_cpu2 and ipcCMToCPU2Data is assigned in IPC MSG RAM CM to CPU2 with #pragma DATA_SECTION...)
I debug project and check memory browser (picture below) in CCS, everthing is ok, data can transfer nomarly from CM - CPU2:
But with my second test, I only change in struct data from Buff_data_cpu2[12] to Buff_data_cpu2[13] like picture below:
The problem occurs, data can not tranfers correctly from CM -> CPU2, I check memory map in memory browser picture below:
In Cm core maybe everything is still normal, but in CPU2 I don't know why the IPC_CPU_To_CM_GetBuffer size is increase till 192 words(384 byte), I have checked it in driverlib code ipc.c, It is declared with struct which has size 136 words(272 bytes) like memory map shows in picture of first test.
I don't know why the reason? Can you help me to solve this problem, because with my project I have to increase the array Buff_data_cpu2 > 12 elements.
CMD file for 2 core below:
Thanks,
Longpt