Re: MSP430 in-circuit firmware upgrade question

From: Paul Burke (paul_at_scazon.com)
Date: 11/06/04


Date: Sat, 06 Nov 2004 13:19:01 +0000

Weiyang Zhou wrote:
> I am trying to implement the in-circuit firmware upgrade feature on a
> MSP430148 based system. The firmware consists of a boot loader and
> application. boot loader will be able to receive new application firmware
> over UART and program it into the flash to replace the older application.
>
> I have a few questions related to this:
> 1. Can the boot loader program flash while executing in flash? Or does it
> have to be copied to RAM first?

While you are programming the flash, it can't execute from it, so it
automatically executes marching on the spot until the write is finished.
So you have two choices: copy your loader to RAM, or turn off all
interrupts while actually writing.

> 2. Both of my boot loader and application need to communicate over UART, how
> do I change the interrupt handler at run time?

Just a flag to steer to mthe appropriate routine from the interrupt. Or
make the interrupt vector table point to a table of pointers (in RAM) to
the approriate routine.

> 4. When build the application firmware for field upgrade, what link output
> format should I choose that's good for download and flash programming?

Something with checking would probably be better than the Texas .txt
format. OPerhaps add a CRC to each block.

> 5. When the system goes to production, how do I get a complete flash image
> so we can program it on MSP430 chips before populate it on the board?

Don't. All the flash MSP430s have a built in serial bootloader, for the
cost of 4 extra pins on the board (tx, rx, reset, gnd). Or use the JTAG
if serial is too slow.

Paul Burke



Relevant Pages

  • Re: MSP430 in-circuit firmware upgrade question
    ... I still don't quite understand what you mean by make the interrupt vector ... boot loader will be able to receive new application firmware ... >> over UART and program it into the flash to replace the older application. ... >> have to be copied to RAM first? ...
    (comp.arch.embedded)
  • Re: MSP430 in-circuit firmware upgrade question
    ... The firmware consists of a boot loader and ... boot loader will be able to receive new application firmware ... >over UART and program it into the flash to replace the older application. ...
    (comp.arch.embedded)
  • MSP430 in-circuit firmware upgrade question
    ... I am trying to implement the in-circuit firmware upgrade feature on a ... boot loader will be able to receive new application firmware ... over UART and program it into the flash to replace the older application. ...
    (comp.arch.embedded)
  • Re: Bootloader Placement
    ... The bootloader would treat both of the others as ... It's an interesting thought but the bulk of the boot loader is an MMC card ... together as the flash loading part is so much smaller. ... Prefetch Abort exceptions and don't intend to include a handler so I could ...
    (comp.arch.embedded)
  • Re: ADSP BF538_Board Bring Up Query
    ... I don't have any knowledge on boot loader. ... It really depends on the context in which the Blackfin is used. ... a flash chip, either 8-bit parallel or serial SPI, depending on code ... to store the Blackfin code in the host processor's flash and do a host ...
    (comp.arch.embedded)