We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi All, In the ARM toolchain, there is such a thing as linker-defined symbols and could be identify with the delimiter $$ "The linker defines some symbols that contain the character sequence $$. T hese symbols, and all other external names containing the sequence $$, are names reserved by ARM." So when checking the ARM generated map file.. i could just look for $$ . Question :How about when using L251? for this toolchain do we have such thing as linker defined symbols? and if yes, how could i identify them in the mapfile?
$$
The L251 can generate symbols in various ways but they don't have a common syntax like in the Arm linker. I remember the following cases where the L251 generates symbols:
- When 'Linker Code Packing' is enabled, symbols with the name ?L?COM... are generated (see http://www.keil.com/support/man/docs/l251/l251_in_code_packing.htm)
- When code banking is used, the bankswitch routines for functions are generated where necessary. Code banking is supported in L251 but rarely used. See www.keil.com/.../l251_ls_classic_banking.htm
- Some symbols for some segments are generated and marked in the MAP file with '**L251 GENERATED **'. See www.keil.com/.../l251_ln_mapfile.htm. Example:
?C?CODESEG . . . . . . NUMBER ** L251 GENERATED **
- Symbols for Class and Segment information which can be used in C source files. See: http://www.keil.com/support/man/docs/l251/l251_ls_srom.htm
thank you again sir for the reply