• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Microcontrollers » MSP430™ Microcontrollers » MSP430 Ultra-Low Power 16-bit Microcontroller Forum » How to upgrade the firmware of the MSP430 devices remotely?
Share
MSP430™ Microcontrollers
  • Forum
  • Announcements
  • E2E Wiki
Options
  • Subscribe via RSS
MSP430 Resources
  • MSP430 Product Folder
  • MSP-EXP430G2 - MSP430 LaunchPad Value Line Development kit
  • MSP430 Getting Started Guide
  • MSP430 Microcontroller Projects
  • More Resources >
  • Forums

    How to upgrade the firmware of the MSP430 devices remotely?

    This question is answered
    Ajit Sonawane
    Posted by Ajit Sonawane
    on Jun 20 2012 05:50 AM
    Intellectual280 points

    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?

    MCU Microcontrollers
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Jens-Michael Gross
      Posted by Jens-Michael Gross
      on Jun 20 2012 13:14 PM
      Guru140225 points

      Ajit Sonawane
      Is there any method by which we can upgrade the firmware of the MSP430 devices remotely (by sending HEX file) using UART communication?

      Almso tevery MSP has a so-called BSL (BootStrap Loader) which requires a serial connection with RX and TX connected to two timer port pins and RTS and DSR connected to RST and TEST pin. It allows uploading a new firmware using the BSL scripter software without a JTAG programmer.

      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.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajit Sonawane
      Posted by Ajit Sonawane
      on Jun 24 2012 00:21 AM
      Intellectual280 points

        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.

      MCU Microcontrollers
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • old_cow_yellow
      Posted by old_cow_yellow
      on Jun 24 2012 10:32 AM
      Guru25735 points

      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.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajit Sonawane
      Posted by Ajit Sonawane
      on Jun 26 2012 00:09 AM
      Intellectual280 points

      Dear Sir/Madam,

      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

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • old_cow_yellow
      Posted by old_cow_yellow
      on Jun 26 2012 00:49 AM
      Verified Answer
      Verified by Ajit Sonawane
      Guru25735 points

      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

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajit Sonawane
      Posted by Ajit Sonawane
      on Jul 22 2012 01:25 AM
      Suggested Answer
      Intellectual280 points

      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

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • old_cow_yellow
      Posted by old_cow_yellow
      on Jul 22 2012 01:59 AM
      Guru25735 points

      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.  

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajit Sonawane
      Posted by Ajit Sonawane
      on Jul 22 2012 03:55 AM
      Intellectual280 points

      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) ?

      MCU Microcontrollers BSL
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • old_cow_yellow
      Posted by old_cow_yellow
      on Jul 22 2012 09:38 AM
      Guru25735 points

      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.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajit Sonawane
      Posted by Ajit Sonawane
      on Jul 23 2012 04:45 AM
      Intellectual280 points

      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 interface
      In 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 interface
      Now 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?

      MCU Microcontrollers BSL
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • old_cow_yellow
      Posted by old_cow_yellow
      on Jul 23 2012 09:16 AM
      Guru25735 points

      Ajit Sonawane
      ...
      2) With USB interface
      Now 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?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • old_cow_yellow
      Posted by old_cow_yellow
      on Jul 23 2012 09:20 AM
      Guru25735 points

      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.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajit Sonawane
      Posted by Ajit Sonawane
      on Jul 23 2012 22:42 PM
      Intellectual280 points

      Yes

      Sorry, we did not modified the BSLDEMO2.exe
      but we modified the DEMO.bat
      we changed only the com port number from 1 to 23

      MCU Microcontrollers BSL
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajit Sonawane
      Posted by Ajit Sonawane
      on Jul 23 2012 23:19 PM
      Intellectual280 points

      Sorry, we did not modified the BSLDEMO2.exe
      but we modified the DEMO.bat

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    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.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use