This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LX51 for BB3 - Unresolved External _CONST_E_

I'm currently porting a product from a BB2 platform to a BB3. Not a big change, you'd think, but there are more "gotchas" than I'd like to see.

I have an end-of-flash function that invokes the SROM_MC(n) macro from SROM.h to allocate a pointer to _CONST_E_ (end of constant memory) and the SROM_MC_END(n) macro to return a void pointer to that location. In SROM.h, it says:

/*
 * Macros that create external definitions for start, length, target
 * address, length and bank number.  The external symbol references
 * are resolved by the LX51 linker/Locater.
 */

Our console reports the following compiler and linker versions:

C51 COMPILER V9.53.0.0 - SN: K1RLC-D05I9Z
...
LX51 LINKER/LOCATER V4.66.30.0 - SN: K1RLC-D05I9Z

This worked quite well for the BB2 platform. Interestingly, in the BB2 map file, it's reported as a "NUMBER", while the BB3 map file has it listed as XDATA.

I've no doubt there's a step I took in the BB2 development that I've forgotten in the BB3 porting. Could anybody give me a prompt?