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.
Hi Ti Team,
I am trying to do customize MSP430F5328 BSL refer to MSP430F5229 source code, Currently I am not sure is the code I've made including the memory assignment for MSP430F5328 correct or not. I downloaded BSL scripter to test it, but I got error ack as below, seems the Uart are not working. I am not sure is it because of the BSL password file incorrect or not, Currently the password bits are all 0xFF. May I know where can I get the correct BSL password for MSP430F5328? how do I know the programming by the BSL scripter success or not? Thank you very much.
Hello Kathy,
There are a few things here that needs to be cleared up. The MSP430F5328 comes by default with a UART BSL, so if you just want to use that, no modification is needed. If you need to re-flash the default UART BSL, those images are available within the CustomBSL SW download folder.
Now as far as your BSLScripter above, you are loading the RAM_USB_BSL image, to a part that doesn't have USB, and expecting it to communicate on UART. That won't work. You just need to invoke the UART BSL. Example scripts for this can be found within the BSL-SCRIPTER folder on your PC. Look at [installpath]/BSL-SCRIPTER/ScriptExampleWindows/543x_uart . Now that example is for MSP430F543x, but the procedure is the same.
Hope this helps!
Hi Jace,
Thanks for your reply.
Actually, the default BSL of MSP430F5328 is not working properly for me. Because my hardware are using another uart port for communication, so I need to change the uart port to another one. that means I need customize the BSL for MSP430F5328. currently I am using MSP430F5529 BSL source code to do the modification. I just replaced the lnk_msp430f5529.cmd file to lnk_msp430f5328.cmd and changed the uart pin to another uart pin in file BSL_Device_File.h. May I know is there any other things I need to do when customizing BSL for MSP430F5328 by using MSP4305529 source code.
For the BSL Scripter, I actually not directly used the usb scripter, I've made my own uart scripter as below in the 5xx_usb folder.
//Download a blink LED application
//to the device through the UART BSL
//
LOG
////////////////////////////////////
//Write RAM UART BSL to the device
////////////////////////////////////
MODE 5xx UART COM55
//gives wrong password to do
//mass erase in the memory
RX_PASSWORD pass32_wrong.txt
RX_PASSWORD pass32_default.txt
//RX_DATA_BLOCK_FAST RAM_BSL_USB.txt
//SET_PC 0x2504
DELAY 3000
////////////////////////////////////
//Start the RAM UART BSL application
//to download the blink application
////////////////////////////////////
MODE 5xx UART COM55
RX_PASSWORD .\pass32_default.txt
RX_DATA_BLOCK .\blinkLED_f5328.txt
SET_PC 0x4400
But this scripter still not working. May I know is there any thing wrong with my scripter. Thank you very much.
Kathy,
For customizing the BSL, please read through the entire CUSTOM BSL application note as more modifications are needed. Most "UART" BSLs are actually timer based UARTs (not (e)USCI) for backwards compatibility reasons. I would suggest starting with the IAR_v6_CC430F614x_USCI_UART or IAR_v6_MSP430F552x_TA_UART sources as your starting point. The first for an USCI implementation, the second for something in same family as your target device. Main thing you would need to do for second, would be to change out the PI.
First though, I would load up the default MSP430F53xx USRT image and jumper your board to default pins just to test out your script and ability to perform BSL transactions. Once that ability is known and solid, then I would move on to doing your custom BSL. As for your script, it would be best to start with the example under the 6xx_UART folder. Just change out your target programming image to one done for F5328. Get rid of the CRC check, and make sure to update the SET_PC command to start fo Flash for the device, and of course the COM port you are actually connected to.
I find that BSL updates run smoother if you just reset the device after you are done with BSL. I typically do this manually, but you can do it by doing the SET_PC command to an invalid memory space, which would cause a reset.
Hi Jace,
Thanks for your reply, you are right, use the same family source example is easier to customize, the problem is there is no same family source example for MSP430F5328 :-) thanks for your advice I will use IAR_v6_MSP430F552x_TA_UART sources as an example to continue. By the way, I never touched IAR before, May I know should I install IAR IDE for MSP430? should I buy license for it? May I know if without the IDE how to read the source code of IAR_v6_MSP430F552x_TA_UART sources? Thank you very much.
Now I have a problem while doing the BSL scripter testing, I think I cannot make the device stop at BSL after reset. that means the uart communication cannot set up. Do you know how to make it stopped at BSL after restart? I tried SET_PC command to an invalid memory space, seems still not working. Thank you very much.
Kathy,
I can't comment on IAR licenses and price. I do believe they have a kickstart version that is code size limited. That should be enough for BSL. Historically, IAR has been used for BSL compilation as its compiler is more optimized for size than CCS.
when creating your custom BSL and debugging it, please take the advice that is in the CustomBSL app note and place the code in typically application flash area so you can actually debug the code. Once you have everything finalized and working, you can place the code in the BSL area.
For BSL scripter question, you have to invoke the BSL before you can start talking to it. If you just reset the device, it will start as normal.
**Attention** This is a public forum