Hello again

Maarten, thanks for your fast reply.
  I would recommend to keep the bootloader in low memory and relocate the 
application instead.
... and by doing that, one never has to erase the page with the IVT when 
copying in a different application. Is that the point you're trying to make 
here? (my CODE is page-erasable flash, as you guessed)
  The bootloader then needs to forward all interrupt vectors to the application 
area. This can be done in assembly. This can include detection if your in the 
bootloader and jump to either the bootloaders ISR or the applications ISR. If 
your bootloader can do without interrupts things are easier though.
... because if the bootloader doesn't need to use the interrupt, you don't need 
to perform any detection. You just forward the vector blindly to the 
application's area.
  How do you intend to overcome the problem of both the bootloader and the 
application using the dma_ISR and "don't overwrite each other"?
Let's for a moment forget about the entire crtstart and relocation business. 
Assume we compile a project with a proper main() and make use of the default 
startup code. We then link that project with --code-loc 0x100. From what I can 
understand by reading the docs and from what I've seen in the map file, the IVT 
also gets bumped up by 0x100. This means that, in order to make use of those 
ISRs, we definitely need some forwarding code. Correct?

As ever, thanks muchly for the assistance
geo
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to