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.

Concerto RAM_Management example - not working



I am trying to understand how the shared RAM works on the concerto F28M35H52C1. I started with the RAM_Management example from Control Suite. The example builds and I am able to load and start the code on the two cores, but the result is not the one I expect. To detail a little bit:

On the C28 core the c28_r_w_array is mapped to the "SHARERAMS0"  that according to F28M35x_generic_wshared_C28_FLASH.cmd has its origin at 0x00C000.

On the M3 core the m3_r_array is mapped to the "SHARERAMS0" that acoording to F28M35x_generic_wshared_M3_FLASH.cmd has its origin at 0x20008000. 

According to the datasheet of the device, the two arrays point to the same shared memory block. Since the S0 memory block is assign to C28, I expect that the C28 can read and write at that location, and the M3 can read.

Giving this, on the C28 I have an infinite loop that writes the memory; waits; then rewrites all the values to the value 10; then waits again as follows :

while (1)
{
Shared_Ram_dataWrite_c28();
//wait
for (i=0; i< 500000; i++);
//clear shared memmory
Shared_Ram_setToTen_c28();
//wait
for (i=0; i< 500000; i++);
}

On the M3 core, I have a loop that reads the values from the memory,waits and then repeats as follows:

while(1)
{
Shared_Ram_dataRead_m3();
//wait
for (i=0; i< 500000; i++);
}

If i understood well the concept; i would expect that the values of m3_r_array to reflect the values written in c28_r_w_array. However if I set a breakpoint on the M3 core after the read operation; the values are all set to zero. It looks like the C28 core is not actually executing the code; or maybe it writes at other locations.

I noticed that in the C28 project there are two .cmd files. One linked through the project properties(F28M35x_generic_wshared_C28_FLASH.cmd) and one linked as a file (F28M35x_Headers_nonBIOS.cmd). Is it ok to have to linker files? If I delete the F28M35x_Headers_nonBIOS.cmd then I get some errors at the time of compilation. 

I saw that other people managed to have the example running. Any idea what I might be doing wrong?

Cheers,

Catalin.