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.

TDA3MA: Setting memory regions as Read-Only in MMU

Part Number: TDA3MA

Hello E2E Support Team!

In our application, the TDA3 processor boots from a NOR FLASH chip. 

As the QSPI devices are not capable of booting in the XIP mode, the boot scheme includes copying the FLASH memory contents into the system RAM - both for the Secondary Bootloader and for the main application stages.

Therefore, during the runtime the executable code resides in the RAM, which presents a risk of program memory corruption.

We are required to ensure that the program memory is non-writable after the boot-up.

I have analysed the RM chapter devoted to the MMU configuration,  however I cannot find any specific translation entry property that regulates the R/W access.

Is there a way to set up the MMU to disallow a memory region from being written to?

Best regards,

Michał Kobuszewski

Software Engineer



  • Hi Michal,

    In this case, you would have to program MMU on each core to make sure that the memory regions that you want to protect are not accessible. This will make sure that the all cores, except the core where this code is running from, do not access to the memory regions.

    For AMMU and MMU programming, please refer to TRM/Datasheet.



  • Hello Brijesh!

    Thank you for your answer.

    The scheme that you have suggested is already in place (ie. only IPU0 can access its program memory through the MMU).

    The problem is that we have tested it to be possible to overwrite the code memory in RAM.

    It looks to me that the L3 interconnect is equipped with some security mechanisms (firewall) that would only allow the IPU to fetch the instructions from a specified memory region, while preventing the data read/write accesses. 

    Can you help me determine if such a functionality is possible?



  • Hi Michal,

    Yes, firewall is supported in TDA3x. Please refer to TDA3x TRM for more information on firewall and on how they can be setup.