Открой GCC-шный linker script из состава C30 и посмотри, как это сделано там Например:
/*
** User-Defined Section in Program Memory
**
** note: can specify an address using
** the following syntax:
**
** usercode 0x1234 :
** {
** *(usercode);
** } >program
*/
usercode :
{
*(usercode);
} >program
или
/*
** Configuration Words
*/
__FGS :
{ KEEP (*(__FGS.sec*)) } >FGS
__FOSCSEL :
{ KEEP (*(__FOSCSEL.sec*)) } >FOSCSEL
__FOSC :
{ KEEP (*(__FOSC.sec*)) } >FOSC
__FWDT :
{ KEEP (*(__FWDT.sec*)) } >FWDT
__FPOR :
{ KEEP (*(__FPOR.sec*)) } >FPOR
__FICD :
{ KEEP (*(__FICD.sec*)) } >FICD
__FAS :
{ KEEP (*(__FAS.sec*)) } >FAS
__FUID0 :
{ KEEP (*(__FUID0.sec*)) } >FUID0