STR912 locked

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • STR912 locked

    Hello,

    I am using IAR and J-Link with STR912.
    So far so good, but every once in a while it seems I "kill" the chip.
    I can not connect to the chip again, all I get is a message like "Write memory error @ address 0x00000000, Adaptive clocking timeout."

    I already replaced 2 MCUs.
    Any clues on what's going on ?
    Is there anyway to "revive" the chips ?

    Thanks,
    Rob
  • Hi Rob,

    I think you have programmed your STR912 with an application that stops the clock, therefore no JTAG-communication with the core.
    Even when you reset the core, the code that disables the clock will stop the core again.

    With the J-Link software, we deliver an extra tool for the ST STR91x that helps in such cases.

    To recover the chip, please follow these steps:
    • Install the latest version from our website. (Segger J-Link download link)
    • Go to JLinkARM install folder (%ProgramFiles%\SEGGER\JLinkARM_Vxxx)
    • If not already done, connect your J-Link to your PC and plug the JTAG cable to your STR91x board.
    • In the installation folder you will a tool called: JLinkSTR91x, double-click this tool
    • A console window will pop up and that verifies that a connection to the STR912 can be established.
    • Hit the enter key and you will see the folowing commands:

      Brainfuck Source Code

      1. Available commands are:
      2. ----------------------
      3. showconf Show configuration register content
      4. mem Read memory
      5. Syntax: mem <Addr>, <NumBytes>
      6. erase Erase sectors (OTP can not be erased)
      7. Syntax: erase <lowerbits>, <upperbits>
      8. setb Set the configuration register to bank x (0 and 1 are available)
      9. Sytax: setb <int>
      10. blank Blank check all sectors
      11. q Quit
      Display All
    • To erase the complete flash: type the following:

      Source Code

      1. erase ffffffff,ffffffff
    • You will see that the flash will be erased.
    • When finished, you can verify if the flash is blank through typing:

      Source Code

      1. blank

      Output will be similar to this one:

      Source Code

      1. Sector 0 (Flash 0): is blank
      2. Sector 1 (Flash 0): is blank
      3. Sector 2 (Flash 0): is blank
      4. Sector 3 (Flash 0): is blank
      5. Sector 4 (Flash 0): is blank
      6. Sector 5 (Flash 0): is blank
      7. Sector 6 (Flash 0): is blank
      8. Sector 7 (Flash 0): is blank
      9. Sector 32 (Flash 1): is blank
      10. Sector 33 (Flash 1): is blank
      11. Sector 34 (Flash 1): is blank
      12. Sector 35 (Flash 1): is blank
      13. Sector 49 (Configuration sector): is blank
      14. Sector 50 (User-Code): is blank
      15. Sector 51 (OTP Sector): is not blank
      Display All
    • Type

      Source Code

      1. q
      to quit the application.
    • Now check if you can communicate with the STR91x with the J-Link Commander.
      Check if you can read memory.
    Let me know if this helps you out.

    Regards,

    Souhail
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • STR912 revived

    Wow, that was not too hard!
    Thanks, it worked and was actually quite simple.
    I am back in business and can reprogram my chip.

    I never heard about this tool before, so thank you very much for your help.


    Cheers,
    Rob