Jump to content

BSL for G2553 and G2231 using embedded USB-Serial adapter

Recommended Posts

Last summer I worked on the idea of embedding a USB-to-Serial adapter in Value Line projects so firmware revisions could be done with only a USB cable and the right software, without needing a Launchpad.  The adapter chips and modules containing them are now so inexpensive that this makes sense.  On the chance that it might be useful to someone, I've written it all up and posted it to Github:


The project is summarized in the README, and explained in detail, with needed software and hardware, in the PDF.


Link to post
Share on other sites
  • 1 month later...

I originally posted about this in October, but wanted to report that I've updated the G2553 special BSL entry code to fix a bug.  Everything is included in my Github repository:


To review,  this project deals with the MSP430G Value Line processors, and was prompted by the idea of embedding a CP2102 USB-to-Serial adapter in a project's circuit rather than hooking one up through a pin header, or using the Launchpad for JTAG flashing.  So all you would need to flash new firmware is a USB cable and the right software.  A detailed description of what's involved is in the long-winded PDF file.  The PDF deals with the much-despised BSL password in the G2553 ROM-based BSL, and offers a couple ways around it, including special boot code that fits entirely in the INFOA segment along with the existing calibration data, and lets you run BSL with INFOA protected from erasure, which means you can flash new firmware without knowing the password, and without erasing the calibration data.

There's also a complete custom BSL system for the lowly G2231, which has no built-in BSL.  Included are installers for the chip and the PC software to drive the process.  And there's a discussion of circuit design for using embedded adapters or modules containing them.

The installers for the chips use the Naken assembler, and the PC software uses the LCC compiler.  But the repo includes both the source code and the executables for everything, so assembler-phobes can just flash the hex files.

There are two small bonuses - a VBScript for Windows that converts an IntelHex file to TI-TXT format, and as part of the BSL installation for the G2231, the calibration values for 8, 12 and 16 MHz are derived from the existing 1 MHz calibration value, with no crystal required, and saved in the usual places in INFOA (based on original work by Steve Gibson).

I did the original work on this for a project, and decided I might as well write it up in case it might be useful to others at some point.  The Value Line processors are kinda old school now, but are still available in DIP, and are still pretty popular.  And the circuit design portion may be more generally useful.

Of course I'd like to know about any bugs or errors anyone may find.  Hope this will be useful.

Modify message

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...