??? 07/01/10 05:38 Read: times |
#177016 - Bootloaders Share Interrupts Like This Responding to: ???'s previous message |
Marshall,
You should read this thread on the subject of boot loaders: http://www.8052.com/forumchat/read/160286 These may be informative as well: http://www.8052.com/forum/read/74441 http://www.8052.com/forum/read/90590 In there you will find that I discourage the use of two separate C programs - one for loader and one for application code. Instead I promote the idea that the loader should be the root module of your application linked in as an object from an assembly language source file. This gives you TOTAL control over the way the boot loader interacts with the application loading. I have posted here a complete assembler language boot loader for the C8051F126. It is a piece of cake to change that code to work with an F040. Mostly taking out the SFR paging. http://www.8052.com/users/mkaras/loader.pdf This loader code shows exactly how to share the interrupts between the loader and the application. When this is in use the C code of the application is linked with the interrupt vector table offsetted from the base of memory so that the boot loader, who owns the native hardware supported vector table, can mirror the interrupts to the application via the offsetted table. Post back if this raises any questions. Michael Karas |
Topic | Author | Date |
IAP / Dual applications and interrupts | 01/01/70 00:00 | |
Bootloaders Share Interrupts Like This | 01/01/70 00:00 | |
not necessarily a good idea | 01/01/70 00:00 | |
Hogworts..... | 01/01/70 00:00 | |
interesting concept | 01/01/70 00:00 | |
an added note | 01/01/70 00:00 | |
Does the bootloader _have_ to use interrupts? | 01/01/70 00:00 | |
Forwarding of interrupts. | 01/01/70 00:00 | |
And for reliability... | 01/01/70 00:00 | |
Special Hardware Features Also Show up | 01/01/70 00:00 | |
emphasizing another factor | 01/01/70 00:00 | |
Let me comment on that... | 01/01/70 00:00 | |
Yet another consideration with boot loader.![]() | 01/01/70 00:00 |