查看: 3817|回复: 1

[其他] 求教一个lcf内变量的问题

[复制链接]

该用户从未签到

2

主题

14

帖子

0

新手上路

Rank: 1

积分
35
最后登录
1970-1-1
发表于 2009-4-17 13:49:51 | 显示全部楼层 |阅读模式
codewarrior 7.0,在lcf文件内会定义_SP_INIT, _SDA_BASE,_START_BSS, _END_BSS, _START_SBSS, _END_SBSS等变量,
请问有什么方法可以把这些变量固化到flash上?
就像exceptions.c文件里面那样把asm_exception_handler定位在.vectortable段中
现在模拟exceptions.c里面定义一个空间来存放特定信息的做法可以实现
但就是不知道怎么把_SP_INIT等放进去。
我知道答案 目前已有0人回答
回复

使用道具 举报

该用户从未签到

2

主题

14

帖子

0

新手上路

Rank: 1

积分
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的地址。
 
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-27 22:18 , Processed in 0.100903 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表