Linker outputs binary no problem, but refuses to output hex formats (Motorola S format and Intel extended hex), due to 3 separate code spaces required. Client requires hex output, so I have no choice.
Chip: ATmega 128
Linker: IAR XLINK, latest version
Code: Mixed C and assembler
The 3 spaces are: 1) the main executable, 2) bulk of boot section with its own vector table, and 3) "protected" page in boot area for another loader at a fixed address (last page - 256 bytes).
I've isolated the main app area from the boot area by dynamically switching vector tables, but the 2 boot-section areas must interoperate, so compiling them separately is not as simple.
If anyone has suggestions for a workaround, I'd appreciate it. I'm trying to stave-off writing the remaining C parts of the boot section (a lot of code) in assembler, as I'm far past the contracted time limit already.