Keil™, An ARM® Company

Technical Support

BL51 Code-banking Linker/Locator

BL51: ABSOLUTELY LOCATING STARTUP CODE
BL51: ACCESSING XDATA MEMORY AT NON-STANDARD ADDRESSES
BL51: AVOIDING FUNCTION POINTER PROBLEMS WITH NOOVERLAY
BL51: BATCH FILE FOR BANKED APPLICATIONS
BL51: BURNING EPROM FROM BL51 FILES
BL51: CALL TREE USING POINTERS TO FUNCTIONS
BL51: CONFIGURATION FOR A VON NEUMAN ARCHTECTURE
BL51: CONFIGURING XDATA LATCH FOR CODE BANKING
BL51: CREATING DATA-ONLY HEX FILES
BL51: DATA MEMORY OVERLAP WHEN USING PRECEDE DIRECTIVE
BL51: DISABLEWARNING DIRECTIVE
BL51: DISABLING AUTOMATIC BANK SWITCHING
BL51: DP, DS AND DL DIRECTIVES
BL51: EMBEDDING COMMENTS IN A COMMAND FILE
BL51: ERROR 107 (ADDRESS SPACE OVERFLOW)
BL51: ERROR 110 (CANNOT FIND SEGMENT)
BL51: ERROR 118 (ERRONEOUS REFERENCE TO EXTERNAL VARIABLES)
BL51: ERROR 121 (IMPROPER FIXUP)
BL51: ERROR 121 (IMPROPER FIXUP)
BL51: ERROR 121 (IMPROPER FIXUP)
BL51: ERROR 121 (IMPROPER FIXUP) WITH ROM(SMALL)
BL51: ERROR 125 (DUPLICATE TASK NUMBER)
BL51: ERROR 126 (TASK WITH PRIORITY 3 ...)
BL51: ERROR 127 (TASK REQUIRES REGISTERBANK 0)
BL51: ERROR 128 (ILLEGAL PRIORITY FOR TASK)
BL51: ERROR 129 (ILLEGAL TASKID: RTX-51 TINY ...)
BL51: ERROR 134 (SEGMENT DOES NOT FIT IN PDATA PAGE)
BL51: ERROR 216 (OUT OF MEMORY)
BL51: ERROR L103 (EXTERNAL ATTRIBUT DO NOT MATCH PUBLIC)
BL51: ERROR L107 (ADDRESS SPACE OVERFLOW)
BL51: ERROR L107 (ADDRESS SPACE OVERFLOW) FOR ?STACK
BL51: ERROR L107 (ADDRESS SPACE OVERFLOW) WITH INLINE ASM
BL51: ERROR L121 (IMPROPER FIXUP)
BL51: ERROR L234 (USE RTX-51 CONTROL)
BL51: FATAL ERROR 204 (INVALID KEYWORD)
BL51: FATAL ERROR 228 (RAMSIZE OUT OF RANGE)
BL51: FATAL ERROR 232 (...TOO MANY RECURSIONS)
BL51: FATAL ERROR 232 (APPLICATION CONTAINS ... RECURSIONS)
BL51: FATAL ERROR 250 (CODE SIZE LIMIT...)
BL51: FATAL ERROR L210 (I/O ERROR ON L51_BANK.OBJ)
BL51: FATAL ERROR L220 (INVALID INPUT MODULE) W/TRISCEND E5
BL51: FATAL ERROR L251 (RESTRICTED MODULE IN LIBRARY)
BL51: FUNCTION POINTERS, CODE BANKING, AND NOOVERLAY
BL51: GENERATING USER EXCEPTIONS FOR XDATA
BL51: HEX FILE NOT GENERATED
BL51: HOW DO I REMOVE AMAKE RECORDS FROM MY OMF FILE?
BL51: HOW DOES OVERLAY ANALYSIS WORK?
BL51: HOW MUCH CODE AND DATA ARE USED?
BL51: INCREASING THE SPEED OF DATA OVERLAYING
BL51: INITIALIZING & LOCATING A VARIABLE TO A FIXED ADDRESS
BL51: INTEL OMF-51 OBJECT MODULE SPECIFICATION
BL51: INTERRUPT GENERATES WARNING 16 (UNCALLED SEGMENT)
BL51: IS ENUMERATION INFORMATION INCLUDED IN THE OMF FILE?
BL51: LEAVING HOLES IN CODE SPACE
BL51: LINKER ORDERING SEGMENTS BY SIZE
BL51: LINKING PROGRAMS LARGER THAN 64K
BL51: LISTING FILE OVERVIEW
BL51: LOCATING CONSTANT (CODE) VARIABLES IN A CODE BANK
BL51: LOCATING FUNCTIONS AT ASCENDING ADDRESSES
BL51: LOCATING FUNCTIONS IN CODE BANKING PROGRAMS
BL51: LOCATING GROUPS OF CODE SEGMENTS TOGETHER
BL51: LOCATING INDIVIDUAL SEGMENTS WHILE USING START ADDRESS
BL51: LONG COMMAND LINES
BL51: NOAJMP DIRECTIVE
BL51: NOINDIRECTCALL DIRECTIVE
BL51: NOJMPTAB DIRECTIVE
BL51: NOSORTSIZE DIRECTIVE
BL51: NOT FINDING SOME FUNCTIONS IN LIBRARIES
BL51: OBTAINING THE MEMORY MAP OF A PROJECT
BL51: ORDER OF MODULES IN LINKING USING IN-LINE ASSEMBLY
BL51: OVERLAY DATA FROM INTERRUPT ROUTINE WITH MAIN
BL51: OVERLAYING BIT-ADDRESSABLE SEGMENTS
BL51: PUTTING INTERRUPTS IN FLASH ROM
BL51: RAMSIZE DIRECTIVE
BL51: RAMSIZE PARAMETER OUT OF RANGE (FOR PHILIPS 89C66X)
BL51: RECURSIONS DIRECTIVE
BL51: SETTING THE SIZE OF CODE SPACE
BL51: SFRS LISTED FOR EACH SOURCE FILE
BL51: SPECIFYING CODE AND XDATA RANGES
BL51: SPECIFYING THE ORDER IN WHICH OBJ FILES ARE LINKED
BL51: SPEEDOVL DIRECTIVE
BL51: STARTING ADDRESS FOR VARIABLES IN RAM
BL51: SYMBOL VS PUBLIC VARIABLES
BL51: THE CODE BANKING MECHANISM
BL51: UNRESOLVED EXTERNAL SYMBOL FOR MATH AND FP ROUTINES
BL51: UNRESOLVED SYMBOL ?C_STARTUP
BL51: UNRESTRICTED VERSION BEHAVES AS RESTRICTED VERSION
BL51: USING FUNCTION POINTERS WITH CODE BANKING
BL51: USING WILDCARDS IN SEGMENT NAMES
BL51: WARNING  1 (UNRESOLVED EXTERNAL SYMBOL)
BL51: WARNING  1 (UNRESOLVED EXTERNAL SYMBOL) USING SBITS
BL51: WARNING  2 (REFERENCE MADE TO UNRESOLVED EXTERNAL)
BL51: WARNING  2 (REFERENCE MADE TO UNRESOLVED EXTERNAL...)
BL51: WARNING  3 (ASSIGNED ADDRESS NOT COMPATIBLE)
BL51: WARNING  4 (DATA SPACE MEMORY OVERLAP)
BL51: WARNING  4 (DATA SPACE MEMORY OVERLAP)
BL51: WARNING  5 (CODE SPACE MEMORY OVERLAP)
BL51: WARNING  5 (CODE SPACE OVERLAP)
BL51: WARNING  6 (MEMORY SPACE OVERLAP)
BL51: WARNING  6 (XDATA MEMORY SPACE OVERLAP)
BL51: WARNING  6 (XDATA MEMORY SPACE OVERLAP) USING _AT_
BL51: WARNING  6 (XDATA SPACE MEMORY OVERLAP)
BL51: WARNING  7 (MODULE NAME NOT UNIQUE)
BL51: WARNING  7 (MODULE NAME NOT UNIQUE)
BL51: WARNING  7 (MODULE NAME NOT UNIQUE)
BL51: WARNING  8 (MODULE NAME EXPLICITLY REQUESTED FROM ...)
BL51: WARNING  9 (EMPTY ABSOLUTE SEGMENT)
BL51: WARNING 10 (CANNOT DETERMINE ROOT SEGMENT)
BL51: WARNING 11 (CANNOT FIND SEGMENT OR FUNCTION NAME)
BL51: WARNING 12 (NO REFERENCE BETWEEN SEGMENTS)
BL51: WARNING 13 (RECURSIVE CALL TO SEGMENT)
BL51: WARNING 13 (RECURSIVE CALL TO SEGMENT)
BL51: WARNING 14 (INCOMPATIBLE MEMORY MODEL)
BL51: WARNING 15 (MULTIPLE CALL TO SEGMENT)
BL51: WARNING 15 (MULTIPLE CALL TO SEGMENT)
BL51: WARNING 16 (UNCALLED SEGMENT, IGNORED FOR OVERLAY ...)
BL51: WARNING 16 (UNCALLED SEGMENT, IGNORED FOR OVERLAY ...)
BL51: WARNING 16 (UNCALLED SEGMENT...) FOR CALLED FUNCTION
BL51: WARNING 17 (INTERRUPT FUNCTION IN BANKS NOT ALLOWED)
BL51: WARNING 19 (COMMON CODE SEGMENTS ...)
BL51: WARNING 19 (COMMON CODE SEGMENTS ...)
BL51: WARNING 20 (NBANKS LESS THAN # OF CODE BANKS), PT 1
BL51: WARNING 20 (NBANKS LESS THAN # OF CODE BANKS), PT 2
BL51: WARNING L1 (UNRESOLVED EXTERNAL SYMBOL)
BL51: WARNING L1 (UNRESOLVED EXTERNAL) USING INLINE ASSEMBLY
BL51: WARNING L13 (RECURSIVE CALL TO SEGMENT) WITH CONSTANTS
BL51: WARNING L16 (UNCALLED FUNCTION) USING CODE BANKING
BL51: WARNING L16 (UNCALLED SEGMENT) ?C_INITSEG
BL51: WARNING L16 (UNCALLED SEGMENT, IGNORED FOR OVERLAY)
BL51: WHAT ARE _DATA_GROUP_ AND _BIT_GROUP_?
BL51: WHAT IS THE _XDATA_GROUP?
BL51: WRITING YOUR OWN CODE BANKING SYSTEM