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
