TI E2E Community
MSP430 Ultra-Low Power 16-bit Microcontroller Forum
How to upgrade the firmware of the MSP430 devices remotely?
Dear Sir/Madam,Currently we are using various MSP430 devices in our products, which are namely - MSP430FG4616, MSP430F447, MSP430F2616, MSP430F4794, MSP430FE4272 etc... Some of our products are in field and because of up gradation we need to update the firmware of the same. For this we have to call back the instrument or have to go to end customer place for updating firmware. But this procedure is very time consuming. Is there any method by which we can upgrade the firmware of the MSP430 devices remotely (by sending HEX file) using UART communication?
Ajit SonawaneIs there any method by which we can upgrade the firmware of the MSP430 devices remotely (by sending HEX file) using UART communication?
Besides this, the MSP firmware can reprogram flash (including the program area) at runtime. So in theory, the current firmware can receive the new firmware by itself, and then replace itself in flash.This is, however, somewhat risky, as there may be situation in which a power-loss or communication breakdown will render the device useless.
There are several old forum threads abotu how to program a persistent own bootloader that receives and updates the current firmware through any communications channel while never leaving the device in a fragile state. There is, however, no directly usable implementation publicly available yet.
_____________________________________Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.
Dear Sir, I am used UART for PC communication application but i want to used same UART for upgrade the firmware of the MSP430 , Then how to configured Both PC communication application and upgrade the firmware. Boz UART have different pin Rx and Tx and BootStrap Loader have Pin 1.0 and Pin 1.1 to load the firmware.
You could connect both your Rx and the BSL Rx to the same interface to PC Tx. Likewise, connect both your Tx and the BSL Tx to the same PC Rx.
BSL will leave your Rx and Tx as input and ignore them. Make sure your code does not use the BSL Rx and Tx. This way, they can share the same interface to PC without contention.
old_cow_yellow you wrote the above post
I connect both Rx and the BSL Rx to the same interface to PC Tx. Likewise, connect both Tx and the BSL Tx to the same PC Rx.
BSL will leave your Rx and Tx as input
But I have some question.
1.How to connect two pins used to invoke the bootstrap loader software of the MSP430—RST/NMI and TEST or TCK ?2.Is any hardware required (other than RX TX) for interface between PC to MSP pin to configure the bootstrap of MSP?because we can't directly connect PC pins to MSP pin without any hardware.
Plz give me to suggestion for any hardware,software required and also step to follow
TI User's Guide slau319b.pdf tells you all the details and suggests a hardware interface. slau319b.zip has the PC Programs.
The hardware interface suggested in the above do not exist and you have to build it yourself. But I have a scheme to use a LaunchPad to do the job. See:0486.BSL Bridge.doc
Hello All,Thanks for your reply.We used the TI User's Guide slau319b.pdf and this is very useful to me.We can change the code using BSL, in product which are having serial port (RS232).But few of our products does not have serial port (RS232), instead we are using FT232R from FTDI. We had connected BSL RX and TX lines to respected FT232R TX and RX lines. Also the MSP RST and TCK lines are connected to DTR and RTS respected to lines of FT232R. We had used the same sample code to communicate with the device (Deprecated / BSL Demo).But somehow it is not working with FTDI. Is there any other software (EXE) we need to use for communicating with FTDI with BSL?Thaking You
The DTR and RTS of the FT232R probably have the opposite logic levels that RST and TCK need. That is, you have 3V when 0V is called for and you have 0V when 3V is called for. Check it with a scope, and you will see.
Two ways to fix this. You can use hardware inverter or modify the software in the PC.
Hello old_cow_yellow,Thanks for reply.We had also tried inverting the RST and TCK line but it didn't work.For your reference I am attaching the waveform sequence:1) Waveform with RS232 interface. We are getting the waveforms at RST and TCK lines as per datasheet (SLAU319B). (Figure 1-3. BSL Entry Sequence at Dedicated JTAG Pins)2) Waveform with FT232RL. In this case we are getting more pulses at RST and TCK lines as shown.The software (Deprecated / BSL Demo) used to send signals on RST and TCK lines is same for both RS232 and FT232R.Do we need to have to take care of any precautions while using USB (FT232R) ?
I do not quite understand you.(1) “with RS232 interface”What RS232 interface are you talking about? Do you mean you have a real RS232 COM Port on your PC? Were you using the unmodified BSLDEMO2.exe, or the modified one? On Part (1) of the figure, is the high level ~ +12V and the low level ~ -12V?(2) “with FT232RL”I think you are using FT232RL with your modified BSLDEMO2.exe and the levels are +3V and 0V. Is that correct? Please use the unmodified BSADEMO2.exe and show the waveform of DTR and RTS.
Hello old_cow_yellow,Thanks for reply.Yes the voltage levels of waveforms are +3v and 0v. We had observed the waveforms at MSP end.We are using unmodified BSLDEMO2.exe and we had used 74HC14 IC to invert the signals.If we don't use the inverter IC the signals are exactly reverse.We are testing two schemes for BSL programming:-1) With RS232 interfaceIn one of our board we had implemented the circuit (Figure 4-1. Bootstrap Loader Interface Schematic) given in pdf SLAU319B. This scheme is working perfectly. We can program the MSP device using serial port (RS232 cable). 2) With USB interfaceNow problem is that, in other board (project) we do not have serial port instead we are using USB interface (FT232R). So to program the MSP we had used the DTR and RST lines of FT232R for BSL entry sequence and Rx / Tx for communication. But it did not work.So when we checked the waveforms at RST lines, it is not same as that observed in scheme 1.What could be the reason that we are getting two pulses at DTR line of FT232R?
Ajit Sonawane... 2) With USB interfaceNow problem is that, in other board (project) we do not have serial port instead we are using USB interface (FT232R). So to program the MSP we had used the DTR and RST lines of FT232R for BSL entry sequence and Rx / Tx for communication. But it did not work.So when we checked the waveforms at RST lines, it is not same as that observed in scheme 1.
What could be the reason that we are getting two pulses at DTR line of FT232R?
What could be the reason that we are getting two pulses at DTR line of FT232R?
Sorry, I did not finish typing my last msg and sent it by mistake.
Were you using your modified BSLDEMO2.exe?
May be you did not modify it correctly.
Sorry, we did not modified the BSLDEMO2.exebut we modified the DEMO.batwe changed only the com port number from 1 to 23
Sorry, we did not modified the BSLDEMO2.exebut we modified the DEMO.bat
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.