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