C2000WARE: TMS320F280049C controller is not supporting MPU, but how we can protect memory regions

Part Number: C2000WARE
Other Parts Discussed in Thread: TMS320F280049C

TMS320F280049C controller is not supporting MPU like cortexM, but how we can protect memory regions by calling memory exception or trap when memory of one region try to overwrite or corrupt another or adjacent memory.

  • Vinod,

    This device does not have MPU but there are protection logic which user can enable/disable for specific memory blocks. Please refer Memory (RAM) controller section of the device TRM for more detail on this.

    Vivek Singh

  • Hi Vivek,

    Thanks for quick reply.

    As per document it is protecting Blocks like LS0 or LS1  . Is it possible to protect based on address range in same block  . If it does not support Hardware point of view , please suggest any software that we can implement to protect Adjacent memories in same block.

    This is help full in task isolation.

    thanks

  • Hi Vinod,

    No, address based protection is not supported. I am not sure if SW based will be helpful in this case. Is this needed for FFI ?

    Vivek Singh

  • Hi Vivek,

    Thanks for reply.

    Our main focus on tasks or Data in one memory region area try to access other memory region, in that case controller or software needs to raise exception or basic routine that handle memory fault instead of corrupting the data. Due to this we can avoid unexceptional system behavior .

    Ex: One task data is trying to corrupt other tasks stack or data memory, then it's very difficult to debug and find out.  Due to this system is in undefined behavior.

    But if we implement memory protection then task is unable to write in other memory region and it will raise exception and other task run as usual .In this case only one task will fail, not entire system.

    So to support above functionality, we have any software or hardware memory handling for better system output

    Regards

    vinod

  • Hi team,

    Can you please support on this.

    Regards

    Vinod

  • Vinod,

    You can enable/disable the memory protection at run time but the protection is at memory block level. 

    Vivek Singh