Karl Williams

AN2720 Bootloader

Discussion created by Karl Williams on Jul 21, 2006
Latest reply on May 5, 2008 by David Kelly

I'm trying to write an ethernet bootloader for the NE64.
I've looked at a load of application notes for bootloaders, in particular AN2720.

My understanding so far....
The NE64 has just a single 64K block of flash memory. You cannot execute code in the flash block while you are erasing or programming anywhere else in the flash block. AN2720 gets around this using the DoOnStack function which executes the critical parts of the flash erase/programming code from the stack rather than flash.

I have some basic questions....
1) If I am using this functionality to re-program the whole flash block, how do I avoid overwriting the AN2720 C functions still in flash and still needing to be used ?
2) Can I reserve some flash memory and force these functions to reside there ?
3) Can I force the linker to always place the bootloader code part of my application at a certain absolute address and the rest of my application code to follow on from there ?

Thanks for any help,