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 is a Bootstrap Loader and who is using it?

Genius 4170 points
Other Parts Discussed in Thread: MSP430F169, MSP430G2211

Hello everyone,

I have a rather general question this time. I guess its simple to answer for those who already use the BSL and have their applications for it, for me it seems rather obscure when and where to use this and how. I read through this forum and the internet and still cannot find some clear answers to my questions regarding the BSL.

Until now I programmed and debugged my MSP430 devices with the MSP-430FETUIF JTAG/SBW programer, as this works pretty fine most of the time, I didnt spent too much effort in finding something new.

Now I discovered, that I had to program over lines longer than 30 cm, till 2 meters and sometimes I couldnt program my MSP430, supposingly because of the cable length, so I started to look around for some other methods to program the µC.

Is BSL better in this regards? Can I use longer cables to program my device via BSL?

With JTAG and CCS I can debug my device, I cannot imagine debugging via BSL, is that right?

I superficially read over the "MSP430 Programming via the Bootstrap Loader" and some forum articles about it. I also downloaded some BSL code for the MSP430, but I didnt test it in reality yet.

So I do not program via CCS but via  a command line is that right?

What kind of files do I load into my MSP430? *.hex or the *.out file generated by CCS? Or something completly different?

Do I program the whole MSP430 with the BSL or only a little part of the Flahs, because everyone is stating that the BSL is a small snippet of code located in the flash. And I also can read out the datasheet, where exactly it is located, although I dont know what to do with this information.

And final question, is there a majority of engineers in here working with JTAG/SBW or BSL? I cant get a feeling whether  BSL is some "old" thing noone uses anymore in times of JTAG, or something really smart.

Thanks for your time reading.

Best wishes, Seb

  • Ok, i will up this post.

    Either noone is using the BSL or everyone has the same problems understanding it as I do.

    Is the BSL such a sophisticated thing, noone knows anything about the particular usage?

  • seb said:
    Is the BSL such a sophisticated thing, noone knows anything about the particular usage?

    There are many, many threads in this forum dealing with the BSL, its use, how to replace it etc. If you enter 'BSL' in the search field, you'll get a big number of hits.

    However, I'm pretty sure I wrote an answer to exact this thread yesterday. A long one. But it seems to have vanished. Maybe it wasn't properly sent because of my shakey internet connection (for some days now, it disconnects every few minutes).
    I'm sorry, but I don't fell like writing all this again. It's 2 AM now.

  • Hello Jens,

    I already hoped you would answer, as I saw all your other answers yesterday. Sad for me and You , that disappearing thread. I wouldnt wanna write something long again, too, so thanks for that small post on what happened :)

    Of course I did look through a lot of posts on the BSL before, but as I said I just dont have a feeling how many people are using it and how.

    As I got other things on my agenda right now, it isnt that important. In the future I will try to write some BSL for my experimenter boards, just to try it, and whether it will be a benefit for my programming or not.

    If anyone has some tips and tricks or code, I could try the BSL for:

    Olimex MSP430F169 Board

    MSP430G2211 -( I think that was the 4$ value line exp board)

    and the newer MSP430 FRAM Board (  I dont know the exact MSP430xxx but I think there only was one expr. board of it, so you will know)

    Thanks again.

    Greetings

  • seb said:
    I just dont have a feeling how many people are using it and how.

    Since the BSL is in a separate rom or (on many of the 5x family devices) protected flash, it is always available, no matter what your applicaiton does. And it is invoked before your application starts by a hardware sequence. So if you burned the flash fuse, or wrote code that makes it impossible to attach with JTAG, the BSL is the last chance to reprogram teh MSP.
    Also, since it is using a serial protocol, it is easier to update firmware inteh fields using BSL that using JTAG (no FET needed, just a serial connection).
    Teh password protection of the BSL ensures that nobody can look at the firmware (you need to know the firmware for the password), while it is possible to erase the current firmware and reprogram it by BSL without password.

    Normally, people use JTAG for development, for debugging (whcih is impossibele through BSL) and for updating the firmware. But sometimes...
    Also, on many of thr 5x family devices, you can write your own BSL, by replacing the factory-provided one. This allows updating the firmware by any way you can think of, not just serial. Even from SD card is thinkable.

    seb said:
    In the future I will try to write some BSL for my experimenter boards, just to try it, and whether it will be a benefit for my programming or not.

    Normally, you just use it if you need it. It is factory-programmed. And on most MSPs it cannot be changed anyway. And writing your own BSL compared to writing a normal MSP firmware is like writing a PC BIOS compared to a DOS program: highly advanced stuff.

    seb said:
    Olimex MSP430F169 Board
    MSP430G2211 -( I think that was the 4$ value line exp board)

    IIRC, the first devies of the G series didn't have a BSL at all(saved the ROM to make it cheaper).
    The 1611 has one. All you need is a PC COM port (or USB/serial converter), a level shifter that turns RS232 signals into TTL signals (or an USB/serial converter that emits 3.3V TTl signals rather than RS232 signals), and attach them to RST, TEST, TA0 and TA1 pins And use the BSL scripter software available form TI.

    Further details about the BSL are found in SLAU319A.PDF

  • Thanks for your effort.

    It gets clearer everyday. What I meant was not to write my own BSL, but generally to test it on some devices, just to get to know it.

**Attention** This is a public forum