My first message in this thread did mention the bootloader aspect of my situation, but I guess it wasn't clear enough. I certainly wasn't trying to make your life difficult.
I have some overriding requirements that force my hand. For one, the application code needs to be useable without the bootloader. Power failure is a risk in this situation, but the device is powered by a non-removable battery, so the risk is acceptably small. I tried using --code-loc for the bootloader but couldn't figure out how to get an ABS area to build/link properly. I'm sure I was doing something obviously wrong, but I couldn't see it at the time. Thanks for the advice. Feel free to kill that wiki page if you think it's inappropriate. I thought I was helping. On Feb 21, 2010, at 17:40 , Maarten Brock wrote: > Hi Brandon, > > You sure know how to make life difficult. Had you asked > right away how to create a bootloader instead of how to > relocate this and that I would have given totally > different advice. > > First, a bootloader that doesn't redirect the interrupt > vectors runs the risk of selfdestruction. If power fails > after erasure of the first block and before the reset > vector is written back, your device is dead. This is not > something I would want to distribute to my clients. > > Second, after reading your wiki I think you would have > accomplished the same thing with --code-loc for the > bootloader and an added reset vector in asm in an > ABSolute area with .org 0x0000. > > My advice would be to use --code-loc to move the > application and keep the bootloader at 0x0000. Add an > assembly written interrupt redirection table to the > bootloader and keep it free of interrupts itself. The > cost is only a little latency on the interrupt service > routines. > > Greets, > Maarten > > >> Wiki page is at >> http://sourceforge.net/apps/trac/sdcc/wiki/Compile%20and%20link%20a%20bootloader%20using%20SDCC >> >> >> On Feb 17, 2010, at 16:34 , Brandon Fosdick wrote: >> >>> I've had a request to add a writeup of my bootloader adventure to the >>> project wiki. Hopefully I'll get to it this weekend. I don't see a How-To >>> section on the front wiki page, anyone mind if I add it? >>> >>> In case anyone is curious, or I'm too lazy to actually do the wiki bits, >>> here's the gist I made with the relevant crtstart.asm and Makefile: >>> http://gist.github.com/304594 > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Sdcc-user mailing list > Sdcc-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/sdcc-user ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user