打印

关于LPC17XX系列中断向量VTOR设置问题

[复制链接]
3462|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
e08610318|  楼主 | 2013-4-8 17:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
资料说中断向量表可以设置在1G以内的空间内,看了下致远写的芯片启动代码,用C定义了好几个指针数组,
然后有宏限定,有些是定义在FLASH区内的,有些定义在RAM区内的,例如

void *const vectorTable[] = {
   RAM_TOP
   ....
   ....
   ....
};
在初始化目标板时,根据宏定义选择不同的指针数组,然后直接VTOR = (unsigned long)vectorTable;

想来想去,因为无法决定vectorTable数组的地址,感觉这个无法实现动态分配中断向量地址啊?

相关帖子

沙发
阿南| | 2013-4-9 14:19 | 只看该作者
LPC没接触过,帮顶
建议找他们工程师交流下。

使用特权

评论回复
板凳
e08610318|  楼主 | 2013-4-16 18:05 | 只看该作者
自己给自己解答吧....
ARM编译器参考**里有这么条语句: __attribute__((at(address)))

例如:
const int x1 __attribute__((at(0x10000))) = 10; /* RO */
int x2 __attribute__((at(0x12000))) = 10;       /* RW */
int x3 __attribute__((at(0x14000))) = 0;        /* RW, not ZI */
int x4 __attribute__((at(0x16000)));            /* ZI */

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:你可能不知道今天所做的事情会对未来有多大的干预能力!

67

主题

310

帖子

12

粉丝