This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

TM4C129 - Protect the code from copy

I am trying to evaluate ways to protect my embedded code from being read and copy from outside world.

I wonder what are the popular ways used out there.

Pls note that you still need the option to upgrade the firmware later on.

Parents
  • Hi amiry,

    I don't know "what are the popular ways" practiced by TM4C129 users for this situation. You can assess the two methods below if they will work and if they are acceptable solution(s) to your problem

    • Disable the debug interface (block access to the processor through the JTAG or SWD interfaces). When the debug interface is recovered from the locked state, the Flash memory will be mass-erased.
    • Enable Execute-Only Protection for blocks of Flash memory that you want to safeguard. Because this prohibits you from reading data from these Execute-Only memory blocks you may need to make revision to your program. You will have trouble with immediate data. If your constants and tables are not delicate, you can gather them in separate block(s) which is/are read-enabled. Your compiler may be able to help you do this.

    Regards,

    Goodwin

Reply
  • Hi amiry,

    I don't know "what are the popular ways" practiced by TM4C129 users for this situation. You can assess the two methods below if they will work and if they are acceptable solution(s) to your problem

    • Disable the debug interface (block access to the processor through the JTAG or SWD interfaces). When the debug interface is recovered from the locked state, the Flash memory will be mass-erased.
    • Enable Execute-Only Protection for blocks of Flash memory that you want to safeguard. Because this prohibits you from reading data from these Execute-Only memory blocks you may need to make revision to your program. You will have trouble with immediate data. If your constants and tables are not delicate, you can gather them in separate block(s) which is/are read-enabled. Your compiler may be able to help you do this.

    Regards,

    Goodwin

Children
No data