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.
Tool/software:
Hi,
i want to jump to BSL mode with CCS, how do i do this?
thanks,
Hi,
You use ROM BSL or custom BSL?
For ROM BSL, you can not debug it via IDE. If you just want to make MCU enter into ROM BSL, please refer to user guide 3.3 MSP430 FRAM Devices Bootloader (BSL) User's Guide (Rev. AB) (ti.com)
Regards,
Zoey
hi Zoey,
We are working on the BSL now. It is very difficult to debug because there is no access to it.
Let me update you on our progress. We've taken our first steps toward mass-erasing the flash.
__disable_interrupt(); // Disable all interrupts
((void (*)())0x1000)(); // Jump to BSL start address
3. Master sends the BSL the following command as found in slau550ab.pdf page 19 as follows
You will note in the two following pictures a WRITE and a READ; however, we are getting, as you can see below, something else, and after resetting the TI, we are back in the code.
a. Initiate_a_mass_erase
b. BSL_response
Thanks,
Ephraim
Hi,
Have you tried to use hardware invoke to enter into BSL instead of PC jumping?
Regards,
Zoey
hi Zoey,
we have tried both. are there timing issues we need to consider, between i2c write and i2c read?
kindly help.
thanks,
Have you try to wait some time after mass erase? Due to it will need some time to finish it.
Do you have a logic analyzer on your side? Like Saleae? To capture the I2C signals for us that will be easy to identify the issue.
Based on the wave form you shared about the mass erase it seems the slave has ACK the host that means you have go into BSL mode successfully.
hi Gary,
kindly show byte by byte the packet, not including the I2C, needed for mass erase, and password. Shir will send you the analyser data.
kindly add shir@aquasmart.ai to this thread.
thanks,
Hi Ephraim,
It seems I can't notify shir@aquasmart.ai in this thread, could you help to notify him/her to put information here?
Hi Gary
Kindly share your email so that Shir may contact you directly so we may resolve this critical issue.
Also kindly share your understanding with example of mass flash erase and password packets.
Thanks
Hi Gary,
does i need to Stop watchdog timer before erase_flash ? on MSP430FR50431
Thanks
Shir
After entering the BSL through the hardware.
I give the mass erase command and then I read one byte of response and get the value 0x51.
According to the table of errors in the document: ( 0x51 Header incorrect. The packet did not begin with the required value of 0x80)
Attached are 2 pictures, one of the command to erase and the other of the reading of the answer.
You can see that the command contains the desired header ,
so I ask what could be the problem here?
Thanks
Yes, please stop it, for software invoke just to set the PC to the start address of the BSL, the peripheral's value will not be changed, so the watchdog can be working when go into BSL.
yes ,
but it dose not change the response value ,
as you see the response = 0x51 for few minetes
Hello Gery,
Thanks for your help ,
I now wait minimum 100 ms and face the same answer from bsl - 0x51.
can you please help me how can i solve this problem ?
hey ,
what is the BSL buffer size ?
here a quote from the pdf file : "slau550ab" :
D1...Dn
Data bytes 1 through n (Note: n must be 4 less than the BSL buffer size.)
Hello Gary,
Can you please answer all the questions before me?
What are your working hours? I see we are out of sync
And is it possible to schedule an online conversation with your support?
I am located at Shanghai China.
What's the host side do you use for the BSL? Do you have a MSP-FET?
What's your email address?
Have you try MSP-FET with BSL Scripter? Do you have a logic analyzer on yourside?
We work with arm-mcu as master
And he talks to msp - as slave
And we will have an analyzer
Recommend to use MSP-FET with BSL Scripter to get a working process that you can make it as reference to make change of the arm-mcu. To downlaod the BSL scripter MSPBSL_Scripter 3_04_00_02 - TI.com and the user's guide https://www.ti.com/lit/ug/slau655g/slau655g.pdf
this is the erase mass command after enter to bsl
and this is the response - Inconsistent - sometimes there was a different answer
0x51 means the header error, that mean it have not receive the last command correctly, have you try slower the speed of I2C?
Please try MSP-FET with BSL scripter first, let me know if it works on your side.
It is important for me to know if there is a problem in the way we execute the commands?
Before I waste time running the scripter.
hi Gary,
kindly confirm the message format i am using with the scripter
C:\ti\BSL-Scripter>BSL-Scripter.exe --initComm COM9,UART,9600 --device FRxx --erase ERASE_ALL --debug
---------------------------------------------------------
BSL Scripter 3.4.0.1
PC software for BSL programming
2024-Jul-16 11:12:24
---------------------------------------------------------
Log mode is turned on!
BSL-Scripter.exe --initComm COM9,UART,9600 --device FRxx --erase ERASE_ALL --debug
Verbose is turned on!
Device : FRxx
Init communication parameters : COM9,UART,9600
[ERROR_MESSAGE]Protocol is set to the default: UART
Baud rate setup for UART is not given / wrong
It will be setup to the default 9600baud
open: The system cannot find the file specified
i am only trying the mass erase.
thanks,
Ephraim
hi Gary,
i made some changes in the command line here is what i am getting, note the error being returned from the msp430fr6047
C:\ti\BSL-Scripter>BSL-Scripter.exe --initComm [COM9,UART,9600] --device FRxx --erase ERASE_ALL --debug
---------------------------------------------------------
BSL Scripter 3.4.0.1
PC software for BSL programming
2024-Jul-16 11:27:31
---------------------------------------------------------
Log mode is turned on!
BSL-Scripter.exe --initComm [COM9,UART,9600] --device FRxx --erase ERASE_ALL --debug
Verbose is turned on!
Device : FRxx
Init communication parameters : [COM9,UART,9600]
MASS_ERASE
[80] [01] [00] [15] [64] [a3]
[ACK_ERROR_MESSAGE]Unknown ACK value!
the last line was in red color.
thanks,
Ephraim
hi Gary,
here is my setup, i am looking for documentation for the jumpers on the EVM430-FR6047 board.
Br.
Ephraim
Hi Ephraim,
One thing please to confirm that for the FR6047 or FR5043 have two version of device: FR6047 or FR5043 just support UART BSL, FR60471or FR50431 Just support I2C BSL, if you want to use I2C interface, please make use your device is FR60471or FR50431.
Second please use the hardware invoke first and capture the wave form of TEST pin, reset pin and I2C pins at the same time here and let me check where it goes wrong.
Hi Gary,
now as you see from the picture i am using the EVM430-FR6047, i realize the connection to the BSL is via UART. i want to use the MSP-FET by itself with no external power. however, i am confused on how to set the jumpers. kindly help.
thanks,
Br.
Ephraim
hi Gary,
kindly understand our setup to determine proper functionality of the BSL. All hardware and software are TI's. The EVM430-6047 is connected to the MSP-FET from connector J34 and to the MSP-FET is connected to the USB.
to demine a logical connection the CCS is used to download a piece of software below
ignore the red remark, if was given before i released the USB port.
once the program is running i call the Scripter for mass erase as follows:
the software is still running, so i do not believe the Scripter put the MSP430 into the BSL mode.
thank you so much for your assistance.
Br.
Ephraim
What you are using MSP-FET is MSP-FET430UIF that have no I2C or UART back channel to support BSL.
You need to have a MSP-FET as below
Or do you have other MSP430 launchpads on yourside?
ah i understand Gary, i need the MSP-FET, yes you are correct i am using the MSP-FET430UIF. i will get the MSP-FET or wait for the Rocket which i ordered to arrive. Regardless the MSP-FET430UIF and MSP-FET both have the TEST/RST pins to go into BSL mode which it does not. Can you elaborate on this?
thank you so much for pointing this to us.
Br.
Ephraim
The BSL Script do not support MSP-FET430UIF, it can just support the bridge below
If you can use other device to generate the wave form as below also work
Do you got a logic analyzer on your side now?
hi Gary,
i will go and get the MSP-FET and continue. Once the Rocket has arrived, i will hook it to our board which has the MSP430FR50431 (I2C). Yes we do have an analyser.
i am still confused why when i do a software jump to the BSL with watch dog and interrupt disabled. i should be able to talk to the BSL with a FTDI cable connected to the UART TX/RX.
can you elaborate?
thanks,
i am still confused why when i do a software jump to the BSL with watch dog and interrupt disabled. i should be able to talk to the BSL with a FTDI cable connected to the UART TX/RX.
For BSL UART has enabled the even parity check, have you enabled it in the FTDI?
hi Gary,
ok, however, I use the FTDI RX/TX to echo characters to the screen, than with the ESC character, i jump to BSL this is done using small program i created and download. I release the COM port and run the scripter on the same COM port.
should i be setting the parity check in the Scripter?
Br.
Ephraim
should i be setting the parity check in the Scripter?
If you use BSL Scripter with MSP-FET or BSL Rocket, it will enable the parity check automatically.
**Attention** This is a public forum