• 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 » Issue with my BSL programming
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

    Issue with my BSL programming

    This question is not answered
    chethu gowda
    Posted by chethu gowda
    on Apr 03 2012 01:37 AM
    Genius3795 points

    Hi,

    I have written a BSL for MSP4305529 which is used to program the main application of the MCU over UART.  In BSL I am not making use of any interrupt vectors and everything is done using the polling mechanism.

    Here I am not making use of the BSL memory in the flash as I need to implement this system on MSP430G2403 (which does not have the BSL memory). So My BSL sits at the location 0xF800 .

    I am sending the TI-txt file's bytes through UART and receiving the same on the MCU's BSL and writing the same on the flash's memory that I have allocated for the main application i.e 0x4400-0xF7FF (This I am configuring through the linker file lnk430f5529.xcl). I am writing the interrupt vectors of the main application in the corresponding locations except the reset vector (It always remains the BSL's).

    On boot up I am handing over the control from the BSL to main applicatoin using  a simple branch operation,

    i.e asm("br #0x4400");

    But the main application is not working as expected. If I take the memory dump after programming I can see the data in the flash is exactly same as that of TI-txt file.

    what could be the problem with this. (For smaller programs like UART checking program and flashing LED program its working fine)

    Thanks & Regards,

    cbn

    BSL
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • TonyKao
      Posted by TonyKao
      on Apr 05 2012 07:33 AM
      Genius3770 points

      Hi chethu,

      As I mentioned before, if you don't mind triggering a mass-erase if someone enters the wrong password, you can still use the ROM BSL as-is. Or you can set it up so that the flash is not erase if someone enters the wrong password.

      Also I believe there is a "loadable" BSL available from TI somewhere where you can perform a more controlled load of the BSL.

      Cheers,

      Tony

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Katie Enderle
      Posted by Katie Enderle
      on Apr 05 2012 08:43 AM
      Genius12795 points

      Hi Chethu,

      You have basically two options for securing your code.

      Option 1: program in your code, disable the BSL, and blow the fuse. There is no way anyone (even you) can get into the part for read or write.

      Cons: hard to debug issues if they arise in production - can't get into the part to see what data is saved there, and, no possibility of field updates or patches.

      Option 2: Program in your code and blow the fuse, or just blow the fuse, and set your password on the BSL. Now you can load code through the BSL, read it out if there is some problem in production and you want to check things or change your code, and provide field updates/patches to your code in the future. No one can get in unless they know the password you set, and they won't get in by brute force because after the first bad password the part will be mass erased.

      Cons: have to provide access to BSL pins with proper hardware.

      I usually recommend Option 2 - being able to do field updates to your code or being able to fix code on boards already produced when you discover a coding issue is usually a pretty valuable feature.

      Regards,

      Katie

      Please click the Verify Answer button on this post if it answers your question.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • chethu gowda
      Posted by chethu gowda
      on Apr 06 2012 03:57 AM
      Genius3795 points

      Hi TonyKao,

      TonyKao
      Or you can set it up so that the flash is not erase if someone enters the wrong password.

      Yes, this option is useful but as Katie Enderle mentioned, this can be broken easily with a brute force. Since the data stored in the flash is quite sensitive in nature I should opt for the other option with BSL security password setting where the flash will be mass erased in case of wrong password.

      Katie Enderle

      I usually recommend Option 2 - being able to do field updates to your code or being able to fix code on boards already produced when you discover a coding issue is usually a pretty valuable feature.

      Thanks for your explaination Katie Enderlie. I should go with your Option 2.

       

      Thanks & Regards,

      cbn

      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 Apr 06 2012 11:18 AM
      Guru25815 points

      For security, I would worry about the TI-txt file too. It can be encrypted and the BSL inside the MSP chip should do the decryption. (Not the PC.)

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • chethu gowda
      Posted by chethu gowda
      on Apr 09 2012 00:30 AM
      Genius3795 points

      Hi old_cow_yellow,

      I am only concerned about the integrity of BSL and the security data required by the BSL. The application to be programmed using my BSL is a third party firmware, so I shall supply the controllers to third party with "BSL programmed + ROM BSL is password protected + JTAG is blown. The vendor/third party will take care of programming his firmware using my BSL.

      Please let me know if this scenario excepts your suggestion.

      Thanks & Regards,

      cbn

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    12
    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