STR912 locked

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

  • STR912 locked


    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 ?

  • 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.