[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] bootloader and irq vectors

From: Graham Davies
Subject: Re: [avr-gcc-list] bootloader and irq vectors
Date: Thu, 19 May 2005 18:11:13 -0400

Marlin Unruh wrote:

> I am writing a bootloader on for an ATmega16, and an ATmega163. I am
> planning to up-grade the application flash via a CAN bus chip on the
> SPI port.
> I do NOT want the vector table in the bootloader section because the
> vectors will change with firmware up-grades. I also do NOT want to
> jump to the bootloader from the application section in case the
> application section gets trashed doing an up-grade.
> Is this impossible? Any ideas.

Maybe I don't understand your problem, but this doesn't seem at all hard to
me.  Leave the vector table in the application section.  Set the fuse to
have the MCU start up in the bootloader section.  In the bootloader code,
look around to see if you're really supposed to be there (to load new
firmware) and, if not, jump to the application.  Set the lock bits so that
the bootloader cannot be changed.

How are you planning to initiate the firmware upgrade?  Maybe this is where
your problem is hiding and since you don't describe this I can't see it.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]