| ARM Technical Support Knowledge Articles | |
Applies to: BL51 Code-banking Linker/Locator
Information in this article applies to:
I have a situation where the linker generates the following error:
L121: IMPROPER FIXUP
This occurs when I use ROM(COMPACT) and when I have a label for a goto in my C program that follows a do-while loop. For example:
void x(int a) {
do {
if (a) break;
// Insert at least 0x80 bytes of code here.
} while(1);
MYLABEL:
return;
If MYLABEL: is included, the instruction shown for the break statement in the listing is AJMP MYLABEL and the L121 error is reported.
If MYLABEL: is omitted, the instruction shown is AJMP ?Cnnnn and the linker completes successfully.
What would cause this behavior?
This is a confirmed problem that has been resolved in C51 V6.10a. You may download the latest updates from the Keil Website.
Article last edited on: 2005-07-19 15:31:52
Did you find this article helpful? Yes No
How can we improve this article?