BL51 User's Guide

Generating an Object File

The BL51 Linker generates an executable target program in Keil OMF51 Object Module Format (which is an extension of the original Intel OMF51).

The linker generates an absolute object file for normal (non-banked) or for code-banked applications. In either case, the object file is absolute and contains no relocatable information or external references. It may be loaded into debugging tools (like the µVision Debugger or an emulator) or may be converted into an Intel HEX file by the OH51 Object-Hex Converter and used to program PROMs or download into Flash memory.

The generated object module may contain debugging information which facilitates symbolic, source-level debugging and testing. You may use the linker directives to exclude debugging information from the object file. The following table provides an overview of the directives that control information in the output file.

The following table describes all BL51 Linker directives that affect the object file.

DirectiveDescription
NAMESpecifies the module name of the output file.
NOAJMPAvoids AJMP instructions in bank switch code.
NOAMAKEExcludes AMAKE information from the object file.
NOINDIRECTCALLDisables bank switching code for indirectly called functions.
NOJMPTABDisables generation of the code banking jump table.