|
|||||||||||
Technical Support Support Resources
Product Information |
BL51: Error 121 (Improper Fixup) with ROM(Small)Information in this article applies to:
SYMPTOMSI have a program that compiles and links just fine until I enable a function call to the library routine ceil(). My memory model is small, rom(small). If I comment out the call to ceil, it's ok. With ceil in, I get linking errors everywhere. They are all 121 - improper fixup errors. They happen at every function call in the program, as well as during references to various code const segments. CAUSEYou're probably running out of code space. The floating point version of the runtime library uses up most (1304 bytes in version 5.5) of the 2K(0800H) available. The following simple program causes the same problem:
To verify that this is the cause of the problem, set the linker options to create a map file and look at the sizes of segments in code memory. For the preceding example:
In this example, the runtime library code plus printf() need 518h + 468h = 980h bytes of code space, but only 800h are available. RESOLUTIONChange the program to reduce the amount of code space it requires, or use a memory model that allows more code space. MORE INFORMATION
Last Reviewed: Thursday, February 25, 2021 | ||||||||||
|
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.