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.

What do i need to start at the BSL on reset?

Other Parts Discussed in Thread: MSP430F6725

 I'd like to ask about the MSP430F6725 chip. Can you please clarify the ways that the device can jump into the BSL sector? Specifically, what do we need to do to start at the BSL on reset? Also, is there a way to programmatically enter the BSL?

thank you so much.

  • Hi TI Lady,

    Please take a look at the MSP430 BSL User's Guide, it contains all the information you need.  In short, there is a hardware entry sequence that forces BSL entry, using the TEST and RESET pins.  Also, you can enter the BSL from your application on F5xx/6xx devices by jumping to address 0x1000.

    Mike

  • I can only tell you my understanding about this.

    There are many causes of System Reset. If it is caused by powering up the device, power supply "BrownOut", or software generated "BrownOut Reset", it is called a BOR (BrownOut Reset).

    Aside from BOR, there are many other causes of System Reset. This include nRST input, Watchdog Timeout, Watchdog Password violation, Flash controller password key violation, other kinds of software generated Reset, etc.

    What happens after these two kinds of System Reset are very different. For none-BOR System Reset, the contends of the System Reset Vector (@ 0xFFFE) will be loaded into the PC. This is probably what you are used to.

    For BOR System Reset, however, the address of a mysterious BootROM will be loaded into the PC instead. The code there will do some mysterious set-up including calling a routine inside the protected area of Flash memory (if it exists). After that, depends on what was returned, it will either jump to the location pointed @0xFFFE, or the BSL starting point.

    The TI factory programmed protected area of Flash is such that if the BSL entry sequence was detected, the BootROM will be directed to jump to the BSL starting point. And if not, the BootROM will be directed to jump to the @0xFFFE.

    To do what you want, you need simply change that to always jump to BSL starting point.

    Please verify that what I said are correct before you try to do it.
  • After I reviewed the response from , I realized that I need to amend my previous response.

    The hardware entry sequence using the TEST and RESET pins will also trigger a BOR. In addition, it will set the SYSBSLIND bit inside the SYSCTL register where as other BOR that I mentioned earlier will clear that bit. However, this will not directly force a BSL.

    The TI factory programmed Flash memory has a routine somewhat like this:

    BSL_Protect:
            MOV.W   #0, R12 ;default to invoke user reset
            BIS     #SYSBSLPE+SYSBSLSIZE0+SYSBSLSIZE1, &SYSBSLC
            bit     #SYSBSLIND, &SYSCTL
            jz      BCC2BSL
            BIS.W   #2,R12  ;change to invoke BSL instead
    BCC2BSL
            RETA
    

    It is this routine that indirectly made BSL entry sequence causes BSL.

    Had you modified this routine, you could make BOR always causes BSL (as TI Lady wishes)

    BSL_Protect:
            BIS     #SYSBSLPE+SYSBSLSIZE0+SYSBSLSIZE1, &SYSBSLC
            MOV.W   #2,R12  invoke BSL no mater what
            RETA
    

  • Hi TI Lady,

    Did old_cow_yellow and I answer your questions? If so, I will close the thread, if not, please let us know so we can help.

    Mike

**Attention** This is a public forum