On Mon, Aug 8, 2011 at 10:57 PM, Alex Stefan
<[email protected]>wrote:

>
> As I said, seems like a very good idea, but there's one thing I don't
> understand. Why do you need the 'indirect jumping zone'. Why wouldn't it be
> possible to program the vector in bootvect to jump directly to the
> interrupt
> vector table of the application? Except, of course, the reset vector which
> will
> still point to the bootloader.
>

The vector table is a table and not a table of instructions that get
executed.

So the bootload has its vector table as the main table and it knows where
the other vector table is.   So it acts as an intermediary and hence the
extra level of indirection which costs you a few more cycles in the
interrupt path.

The fastest way to program this at the expense of space is to have the
jumptable which has the br instructions.   The real vector table if the boot
loader doesn't want a vector points at the entry in the jumptable to kicks
to the main vector.


>
> > So after the bootlaoder is installed once, it will never need to erase
> the
> > real interrupt vector table on 0xffxx.
> > Or parts of itself.
> > In my case, the region from 0xfc00 to 0cffff is never ever touched again.
> The
> > application is compiled normally.
> > It includes the bootloader, but this is a constant block, so a JTAG
> update
> > will put it where it belongs. But
> > when the update is sent to the old applciation and stored for update, the
> > bootloader part will be ignored.
> > The application, however, will only occupy the flash from start to
> 0xfbff.
> > With its vector table ending on 0xfbff
> > (or below, if the bootloader part is larger)
> >
> > 0x5C00-0xFB7F  application flash
> > 0xFB80-0xFBFF applcation interrupt vector table
> > 0xFC00-0xFE7F bootloader
> > 0xFE80-0xFF7F jumptable (br &0xFB80; br &0xFB82;...)
> > 0xFF80-0xFFFF 'real' vector table, pointing to bootloader start or
> jumptable.
> (0xFE80, 0xFE84, 0xFE88,...)
>
>

eric

-- 
Eric B. Decker
Senior (over 50 :-) Researcher
------------------------------------------------------------------------------
uberSVN's rich system and user administration capabilities and model 
configuration take the hassle out of deploying and managing Subversion and 
the tools developers use with it. Learn more about uberSVN and get a free 
download at:  http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Mspgcc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to