Hi all, My goal is to put a few constants in the code segment at compile time so they are stored in the program flash when the SiLabs 'F122 is initialized via JTAG.
const UCHAR code ucTBD = TBD_VAL;
const UCHAR code ucTBD _at_ 0x6000 = TBD_VAL;
typedef unsigned char UCHAR; #define TBD_VAL (0x00)
"3. I just want it to be where I'm comfortable erasing it, that is, at a known address above 0x0200. 4. It can use a symbolic name but I want to reference it by address for bootloader reasons." Aha! You didn't mention a bootloader - you said you were loading via JTAG. So, surely, what you want is not to fix the location of this particular variable, but to prevent the Linker from placing anything below 0x2000 (or whatever). Note that the Linker will slot stuff into any gaps in the vector table if it can. The vector table is not sacrosanct - it's just another bit of CODE space as far as both the Linker and the processor are concerned.