Problems while executing an iMX7 M4 application in OCRAM


I have an application written with DS-5 IDE and compiled/linked with ARM Compiler 5.
Until now I executed my application in TCM memory area with MCIMX7D_M4_tcm.scf scatterfile and everything works fine.
In my application I send some data over SPI ( ECSPI3 ).

But now I want to execute the application in OCRAM because the TCM memory is running out.
For that I used the MCIMX7D_M4_ocram.scf scatterfile.
First it seems that the application is running until I realised, that sending data over SPI fails. I debugged the project and saw that some data is sent but not the whole frame (notice: with TCM scatterfile sending was fine).

While debugging I also recognized, that the variables in variables-view are not shown correct.

In a earlier post @andy.tx gave me a new scatterfile for the TCM memory area. Maybe now the OCRAM scatterfile has also to be adapted?

Thanks for your help.

Kind regards


Dear @Kuzco

Please try to use the attached scatterfile for OCRAM. I’m travelling and didn’t have a chance to test it

Please be aware that shifting your application from TCM to OCRAM can have a huge performance impact. Memory bandwidth of the OCRAM is 10x slower compared to TCM, and there is no cache active to hide this difference.
If this is an issue for your application, you might want to setup a more complex memory layout, with parts of your code or data in TCM, and parts in OCRAM.

Regards, Andy