??? 02/26/04 21:13 Read: times |
#65578 - RE: Overlaying programs with Keil C Responding to: ???'s previous message |
Iztok:
When you overlay programs it is common to write them as separate compilable / linkable units of code. Certainly in this process you will produce a custom version of the C runtime startup that would be used. This special startup can be modfied to determine just what parts of the interrupt vectors get code generated or not. You may also find it necessary that each overlay task needs to be post processed with a "tool" of some sort that normalizes the programming image for each overlay task to the way your overlay manager is intended to operate. In consideration of this process you may want to look at the scheme that Keil has that permits the interrupt vector table to be relocated to an address other than at a base of zero. Say you put each overlay task starting at 0x4000 and relocate the vectors to start at 0x4000. In this case you can use the code space from 0x0000 to 0x3FFF as a common area to contain the task overlay manager, common I/O functions and the system bootup code. This common area would also contain the routines that re-vector the real hardware interrupt vectors that are based at 0x0000 to the relocated table at 0x4000. Hope this helps some. Michael Karas |
Topic | Author | Date |
Overlaying programs with Keil C | 01/01/70 00:00 | |
RE: Overlaying programs with Keil C | 01/01/70 00:00 | |
RE: Overlaying programs with Keil C | 01/01/70 00:00 | |
RE: Overlaying programs with Keil C![]() | 01/01/70 00:00 |