在线时间0 小时
UID115367
注册时间2009-3-11
NXP金币0
该用户从未签到
新手上路
- 积分
- 35
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2009-4-20 08:43:42
|
显示全部楼层
回复:求教一个lcf内变量的问题
还是得靠自己。。。
extern unsigned long far _SP_INIT, _SDA_BASE;
extern unsigned long far _START_BSS, _END_BSS;
extern unsigned long far _START_SBSS, _END_SBSS;
extern unsigned long far __DATA_RAM, __DATA_ROM, __DATA_END;
extern unsigned long far __SP_AFTER_RESET;
extern unsigned long far __HEAP_START,__HEAP_END,__SP_END;
typedef void (* xEntryType)(void);
#pragma define_section bootvectortable ".bootvectortable" far_absolute R
__declspec(bootvectortable) xEntryType _bootvect[256] = { /* Interrupt vector table */
(xEntryType)(&__SP_AFTER_RESET), /* 0 (0x000) Initial supervisor SP */
(xEntryType)(&_SP_INIT),
(xEntryType)(&_SDA_BASE),
(xEntryType)(&_END_BSS),
(xEntryType)(&_START_BSS),
(xEntryType)(&_END_SBSS),
(xEntryType)(&_START_SBSS),
(xEntryType)(&__DATA_RAM),
(xEntryType)(&__DATA_ROM),
(xEntryType)(&__DATA_END),
(xEntryType)(&__HEAP_START),
(xEntryType)(&__HEAP_END),
(xEntryType)(&__SP_END),
ISRNotDef,
ISRNotDef,
…………后略
这样可以将上述地址变量固化在flash的bootvectortable上,当然要在lcf文件里先定义好bootvectortable的地址。
|
|