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.

TMS320F2800137: Application issues of chips

Part Number: TMS320F2800137
Other Parts Discussed in Thread: UNIFLASH

1.If a function is placed in an encrypted area, can I call it in an unencrypted area?If it doesn't work, is there any way for me to put the function in the encrypted area? I need to call this function in the non encrypted area

2.When I add DCSM to C2000.syscfg and burn the program again without doing anything else, the following error will be reported. When I remove DCSM from C2000.syscfg, I can burn normally. How can I solve this problem?

3.Excuse me, how can I put the program in an encrypted area?

Addr=(long *) 0x00080000;

*Addr=0x9641FE02;

Is this okay?

Please provide detailed tutorials or related materials. It is very important, thank you!

  • Hello,

    Regardless of whether a function is stored in a secured area or if it is being called from code stored in a non-secure area, you should be able to call the function. Instruction fetches are never blocked by DCSM.

    Are you modifying the DCSM module in .syscfg after adding an instance of it? You must always enable both the zone header and PER linkpointer block in the DCSM module or you will get a flash programming error.

    I'm not sure if the above approach will work but you can specify the address of a variable using the LOCATION pragma:

    #pragma LOCATION( x , address )

    We have a DCSM video series on ti.com if you are wanting to learn about the basics of DCSM:

    https://www.ti.com/video/series/C2000-dual-code-security-module.html

    Thank you,

    Luke

  • I have another question to ask you. After setting up the CSMPSWD for z2 in the encryption area, what should I do if I want to change the password?

    My current practice is to complete unlocking in Uniflash, enter the new password 0xEEEEEEEE, and then click on program. I have completed a modification, but if I want to change the password to 0x11111111 again, I will report an error

  • Hello,

    If you want to update your CSM password, you must first update the link-pointer to designate a new zone-select block for your security settings. This will reset other settings as well such as GRABRAM, GRABSECT, etc.  

    Each zone select block's CSMPSWDs have some bits programmed to a 0 by default, so you will need to make sure your passwords also contain a 0 in the same location.

    Let me know if you have any further questions.

    Thank you,

    Luke