Hi,

I'm trying to find a convenient way to relocate interrupt vectors to  
allow for a bootloader to be placed at 0x0000. The bootloader in  
question is the USB bootloader from Microchip. This bootloader lives  
in 0x0000-0x07ff and calls into 0x0800, 0x0808 and 0x0818 for startup  
and interrupts.

sdcc supports remapping of interrupt vectors with the --ivt-loc cmd- 
line switch, and that works as expected.

However, I want to use the crt startup routines. These are compiled  
from crt0.c using sdcc, but with default interrupt vector locations,  
causing the resulting hex file to have a jump to the startup code  
residing at 0x0000 instead of 0x0800.

I was hoping to get around this without having to recompile crt0.c  
with the correct options, as that would make it harder to share code  
or develop for multiple hardware/firmware solutions.
I had hoped that it would be possible to let the linker script take  
care of relocating the crt code to the correct place, but then I  
guess we'd have to let crt0.c give some hints to which codepage the  
startup code wants to live in, and have a linker script support this.

I'm a little out of my depth here ;) Does anyone have some input that  
could help me achieve some progress on this one?

Regards,

~/= Marius

--
We are Elektropeople for a better living.




-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to