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.

MSP430F5529 UART BSL

Other Parts Discussed in Thread: MSP430F5529, MSP430F149

Hi,

We are using the MSP430F5529 as a replacement for the MSP430F149.  My pressing question at the moment concerns the BSL.  The MSP430F5529 has the USB BSL by default loaded into the BSL protected segment of memory.  In the MSP430F149 we use the UART based BSL therefore we would like to use the UART BSL for the new processor (we don’t have USB hooked up in hardware).  I have found the TI supplied code for the UART BSL, however it was built for IAR and of course we are using CCS (version 5.2.1.00018).  So the option that I see is that I will have to take the IAR XLINK command file and turn it into a CCS Linker Command File, import the source into CCS and then rebuild.  In addition if there are any compiler specific commands or intrinsic then I will have to covert them over to CCS Compiler commands.  Do I really need to go through all this work to load the TI supplied UART BSL.  Also, will it work or will I run into “gotchas” in particular I am concerned with not having enough memory to fit the compiled code into the BSL memory segment.  Is there any reason that I will run into problems loading the code via the JTag port?  I have read a ton of App notes, datasheets, forums etc. and it is still unclear to me how easy it is to load the code into the BSL segment via jtag and later in production via the MSP-GANG programmer.

 

 

  • Hi,

    you can use the free (4KB) code size limited IAR Kickstart: http://www.ti.com/tool/iar-kickstart. The BSL code can't exceed the 2KB of BSL flash memory size, so it should be ok to use this free version. 

    Calum Mackinnon said:

    I have found the TI supplied code for the UART BSL, however it was built for IAR and of course we are using CCS (version 5.2.1.00018).  

    I hope this means you have found the SLAA450 application note:

     http://www.ti.com/lit/an/slaa450b/slaa450b.pdf

  • Hi,

    Calum Mackinnon said:

    I have read a ton of App notes, datasheets, forums etc. and it is still unclear to me how easy it is to load the code into the BSL segment via jtag and later in production via the MSP-GANG programmer.

    I just created some summary to enable the access to BSL memory on some common debugger/programmer tools:

    http://processors.wiki.ti.com/index.php/MSP430_FAQ#How_to_enable_the_access_to_BSL_Flash_memory_in_MSP430F5xx.2F6xx_devices_.3F

  • Just as an additional comment,

    If you still need CCS, we have an example for the F5438A in the same SLAA450 software. I think it will be easier to start with that one and migrate to F5529, rather than taking the F5529 IAR project and migrate it to CCS.

    But as Leo mentions, you could use IAR and in my opinion, that's the path of least resistance..

    Regards,

    Luis R

  • Nice summary!  Thanks! 

  • Luis,

    I am trying to do something similar; however, with my application I will be able to use USB the first time to install a custom BSL and application code.  My goal is to be able to use RS232 to update the micro in the field. For now,  I am using the MSP-EXP430F5529 Dev board to test the concecpt.  I have tweaked the 5438A CCS code and have downloaded it to the dev board via USB. I have been trying to send commands to the micro via RS232 Tx and Rx by using Realterm but have not had any luck.  The pins I have been using are the 4.5 and 4.4 pins. I am using a 9600 baud with no parity and 1 stop bit.  I was wondering if you had any advice, tips, and/or solutions that could help me out. I would appreciate any help.

    Regards,
    Cory W. Baker

  • Cory,

    Have you taken a look at your signal polarity?

    I have developed custom BSL's plus a test harness using one of FTDI's modules in which I had to do a slight modification for the handshaking (signalling) - and when things didn't work - looked at the signals on a scope - and they were inverted.  So, you may need to make sure your signals (TST, RST, TCK (which ever is appropriate)) and make sure they are of the correct polarity and timing.

    As long as the other criteria are met in your specific application for BSL - the signalling to get the chip to implement the hardware state machine is pretty simple.   

    I use RealTerm as well - really like it - have used it a lot - and it supports custom baud rates.

    Anyway, my 2 cents, maybe it'll help.

    Regards,
    John 

**Attention** This is a public forum