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.

Clock sources are disabled on TMS570LS3137

Other Parts Discussed in Thread: TMS570LS3137, UNIFLASH

hi,

While debugging all clock sources are disabled by writing 0xFF into CSDIS register, as per Reference manual for TMS570LS3137 section 2.5.1.10. what is expected behaviour of the chip? I expect it should work on the power on reset. am i right?

Also while doing this flash is locked, how can i unlock the flash on the chip?

Thanks

Chitra

  • If you have code in flash that executes every time then on a reset it runs again and executes your code. If there is a bad code then you might seem to have it locked.

    Refer to the below thread for more details or follow the steps given after that

    e2e.ti.com/.../409142

    1. Hold the power on reset active low (So CPU doesn't start executing the code that already exists in flash)
    2. Start erase operation using the Flash programming tool (Say UNIFLASH)
    3. While your uniflash keeps waiting since the device is still in reset, try releasing the reset randomly after a couple of sec's

    This should help to get your part erased. But still if you are not able to erase, then try the same sequence(1,2,3) a few more times so that the Flash programmer gets hold of the CPU by halting it before CPU executes the code which does something unintended.
  • hi Karthik,

    Thank you for the quick reply. We tried the options you mentioned but somehow did not get any success. Do you have any other option?

    I tried option of connecting to DAP manually as per link (e2e.ti.com/.../264498) but that also did not work.

    Please suggest. i am finding this chip behavior little strange.

    Thanks

    Chitra

     

     

  • Can you try "nRST" instead of "nporrst"?

    A suggesting for avoid those type problem in the future. Replace the instruction "b c_int_00" at address 0x0 by "b #-8". After a reset, CPU will loop around at address 0x0. Then you can use debugger to control the flow. There are two advantages.

    (1) The device will not be locked by any error in your development.
    (2) The debugger connects to CPU, everything on the device is at default condition. This makes debugging repeatable.

    You can change "b #-8" back to "b c_int_00" after the debugging is done.

    Thanks and regards,

    Zhaohong