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.
Hii,
I am working on MSP430F5259 based product, in regular i used to program device using msp-fet.
but now i want to program my device using BSL-UART so it is possible?
and if so what is the interface connection for that and what process or software is used for that?
anyone have solution for this plz let me know it's great for me.
Hi Akshit,
Your MSP-FET can be used with BSL-Scripter to program the MSP430F5259. By default your device comes with I2C BSL Loaded (see Table 6-1 from the datasheet):
Per the device datasheet, P4.1 and P4.2 are the default pins to use for the I2C-BSL connection:
You will at a minimum need to connect the following signals from MSP-FET to MSP430:
For the MSP-FET to be able to invoke BSL you will also want:
You can see the BSL-Scripter's User Guide for more information on BSL-Scripter. It will include some example scripts in the installation directory that should give you a baseline to start from.
Best Regards,
Brandon Fisher
Hii Brandon,
thanks for answer.
so i follow stuff as you told me like connect hardware pin connections
also install BSL-Scripter and as steps given in userguide generate .txt file for blink example
when i run bsl scripter application it ask me Enter the file name so i enter my blink.txt file name but it gives me error msg that Command is invalid!!
so i go through user guide of bsl scripter for programming steps but i can't properly understand or not find proper step by step flow of programming (my bad)
can yo have any idea or flow of programming steps? if you have can you please provide me or guide me!!
Hi Akshit,
Is the blink.txt file you are loading the firmware image or a script made for BSL-Scripter? The file it is asking for is actually a script file that provides instructions to BSL-Scripter, not your text file to be flashed.
See the BSL-Scripter install location for some examples (typically C:\ti\BSL-Scripter\ScriptExampleWindows on windows). I think the closest example to what you want will be script_6xx_uart.txt. You will need to add a COM# to point to your MSP-FET (should be visible in device manager), change the protocol to I2C. and update the family to 5xx from 6xx. See section 2.4.1 of the BSL-Scripter's user's guide for the syntax of the MODE command.
You will also want to update the script to point to your desired firmware image.
Best Regards,
Brandon Fisher
Hi Brandon,
Thanks your guidance work for me !!
okay so now as you say i change parameters in script file of uart 6xx example for my blink code as i given below,
//
//Script example 5xx I2C BSL
//Device tested: MSP430F5259
//Comm Bridge used: MSP-FET
//
//Download the blink application
//through I2C BSL
//
LOG
MODE 5xx I2C COM8
//gives the wrong password to
//mass erase the memory
RX_PASSWORD .\pass32_wrong.txt
RX_PASSWORD .\pass32_default.txt
RX_DATA_BLOCK .\blink.txt
CRC_CHECK 0x8000 0x0020 0x4872
CRC_CHECK 0xffc6 0x00D0 0xacf7
SET_PC 0x8000
okay so whenever i execute this file BSL-Scripter give me msg log,
C:\ti\BSL-Scripter>BSL-Scripter.exe
Enter the name of file script :
script_5xx_i2c.txt
---------------------------------------------------------
BSL Scripter 3.4.0.1
PC software for BSL programming
2023-Oct-04 11:31:34
---------------------------------------------------------
Input file script is : C:/ti/BSL-Scripter/script_5xx_i2c.txt
//
//Script example 5xx I2C BSL
//Device tested: MSP430F5259
//Comm Bridge used: MSP-FET
//
//Download the blink application
//through I2C BSL
//
LOG
MODE 5xx I2C COM8
[ERROR_MESSAGE]The communication protocol chosen is not available for the chosen Family!
But if i change MODE in script file from I2C to UART then its work partly and give msg log,
C:\ti\BSL-Scripter>BSL-Scripter.exe
Enter the name of file script :
script_5xx_i2c.txt
---------------------------------------------------------
BSL Scripter 3.4.0.1
PC software for BSL programming
2023-Oct-04 11:32:12
---------------------------------------------------------
Input file script is : C:/ti/BSL-Scripter/script_5xx_i2c.txt
//
//Script example 5xx I2C BSL
//Device tested: MSP430F5259
//Comm Bridge used: MSP-FET
//
//Download the blink application
//through I2C BSL
//
LOG
MODE 5xx UART COM8
Baud rate setup for UART is not given / wrong
It will be setup to the default 9600baud
//gives the wrong password to
//mass erase the memory
RX_PASSWORD .\pass32_wrong.txt
Read Txt File : C:\ti\BSL-Scripter\pass32_wrong.txt
[ACK_ERROR_MESSAGE]Unknown ACK value!
RX_PASSWORD .\pass32_default.txt
Read Txt File : C:\ti\BSL-Scripter\pass32_default.txt
[ACK_ERROR_MESSAGE]Unknown ACK value!
RX_DATA_BLOCK .\blink.txt
Read Txt File : C:\ti\BSL-Scripter\blink.txt
[ACK_ERROR_MESSAGE]Unknown ACK value!
[ACK_ERROR_MESSAGE]Unknown ACK value!
[ACK_ERROR_MESSAGE]Unknown ACK value!
Time elapsed of writing 134 bytes : 3.048 seconds
Speed of writing data :0.04294(kB/s)
\\CRC_CHECK 0x8000 0x0020 0x4872
Command is invalid!
so i did not understand that what this error " [ACK_ERROR_MESSAGE]Unknown ACK value!" comes after every file call like password default, password wrong and also blink file also...
I wonder that any other parameter also need to change or not!!
t think that CRC_CHECK in script file is problem here, right?
if yes then what is method of calculation CRC here, what parameter is consider for CRC calculation or what basis i change that CRC ?
Hi Akshit,
You do want to use I2C BSL. You are not getting a response over UART BSL based on those error messages. My mistake here was not knowing that the F5xx family does not technically support I2C BSL in BSL-Scripter.
Thankfully there is a pretty easy workaround, you can use the FRxx family designator for this because the I2C BSL protocol is identical. See this thread for more details:
Give that a try and let me know if you can program successfully.
Best Regards,
Brandon Fisher
Hi Brandon,
Yes your update is work for me partially,
but still i am not getting 100% programming successful.
while script is running some block of data is write successful and again it's shows unknown ACK received error,
so basically my msp doesn't program 100%
and also i verify image file lode in msp using MSP Uni-flash tool to check when script load some block of code or not and it's shows memory location verify whatever partly code is loaded in MSP and after that next location not match so, it's true that code is not 100% loaded.
one another thing i need to clarify that i connected pullup resistors with SDL,SDA,BSL-EN.
values for that is SDA and SCL is pullup with 510ohm resistor and BSL-EN is tie with 1K resistor is it okay or need to change the values of resistors?
i don't know if problem occurs because of this pullups or not.
Hi Akshit,
510 Ohm is very strong, you would potentially need to sink more than 6mA into the IO when pulling low with that value. What voltage are you operating at, is it 3.3V?
It could be true that the pullup resistors are too strong, a higher value pullup resister (4.7kOhm is a commonly used standard value), may help.
Best Regards,
Brandon Fisher
Hi Brandon,
Yes i working with 3v3.
okay so good news is that problem is resolved, i changed resistor with 1.5K and BSL working, again changed to 510 Ohm and also i am able to do programming, so i think problem is mostly with soldering factors, may be soldering is not done properly before.
also i test to 100 time to program using BSL and work every time successful.
So all the solutions and guidance you given to me is worked for me.
Thank you Brandon.
Best Regards,
Akshit Viradiya
**Attention** This is a public forum