23.2 Linker-Defined Symbols

The 32-bit linker defines several symbols that can be used in your C code development. Please see the MPLAB® XC32 Assembler, Linker and Utilities User’s Guide (DS50002186) for more information.

The linker defines the symbols _ramfunc_begin and _bmxdkpba_address, which represent the starting address in RAM where ram functions will be accessed, and the corresponding address in the program memory from which the functions will be copied. They are used by the default runtime start-up code to initialize the bus matrix if ram functions exist in the project, see 16.3 Allocation of Function Code.

The linker also defines the symbol _stack, which is used by the runtime start-up code to initialize the stack pointer. This symbol represents the starting address for the software stack.

All the above symbols are rarely required for most programs, but may assist you if you are writing your own runtime start-up code.