OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9387|回复: 6

关于stm32启动时中断向量表的问题

[复制链接]

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2012-5-1
在线时间
0 小时
发表于 2013-2-16 10:47:17 | 显示全部楼层 |阅读模式
我在一个资料上看到这句话:arm如果是RAM启动,代码会直接编译进去RAM,掉电就会丢失数据。如果是ROM启动,就会复制中断向量表到RAM,设置中断向量表地址为RAM的地址,以加快中断响应速度。请问大家在stm32启动的时候,如果从flash启动,也需要吧中断向量表复制到ram中,来加快响应过程吗,为什么我在起始文件中没有看到这个过程那
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2013-2-16 22:51:40 | 显示全部楼层
stm32属于cortex-m3系列,和arm7、arm9等不太一样,不能混淆相关概念。
cortex-m3的向量表可以在flash,也可以在ram。默认是flash,不必设置。而且cortex-m3属于哈佛架构,有独立的指令总线缓存等,程序在flash里面执行,速度更快。
业余程序玩家。
回复 支持 反对

使用道具 举报

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2012-5-1
在线时间
0 小时
 楼主| 发表于 2013-2-17 10:22:48 | 显示全部楼层
回复【2楼】ofourme:
---------------------------------
我看的那款芯片是飞思卡尔的K60,cortex-M4系列的,他在启动文件中一个函数用来复制中断向量表、初始化数据、以__ramfunc声明的子函数复制到RAM区 ,我就很不理解,stm32就没有这个函数,再flash启动的时候也没有复制中断向量表到ram
回复 支持 反对

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2013-2-17 16:16:30 | 显示全部楼层
将向量表移动到ram,估计是为了能够动态修改吧。
业余程序玩家。
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2014-8-23
在线时间
0 小时
发表于 2014-8-23 17:28:59 | 显示全部楼层
非常感谢!我在这里找到了答案
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2015-3-6
在线时间
18 小时
发表于 2015-3-6 15:27:25 | 显示全部楼层
回复【2楼】ofourme:
---------------------------------
是冯诺依曼结构
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2015-3-6
在线时间
18 小时
发表于 2015-3-7 15:36:57 | 显示全部楼层
回复【2楼】ofourme:
---------------------------------
不好意思记错了,cortex-m0才是冯诺依曼结构
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 06:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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