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

Reply via email to