打印

当flash读写碰到中断会发生什么?

[复制链接]
2017|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Elric_QZH|  楼主 | 2017-9-28 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
电子玩霸| | 2017-9-29 10:33 | 只看该作者
flash是不能被打断的,应该会挂掉吧,或者错误退出读写。

使用特权

评论回复
板凳
布拉格梦语| | 2017-9-29 10:37 | 只看该作者
**作外部flash,比如24cxx的时候,从来没关过中断,没出现过错误的。

使用特权

评论回复
地板
zhangyi3312| | 2017-9-29 15:30 | 只看该作者
操作stm32内部flash的时候,印象里擦出的时候必须保持N个周期,否则将导致复位。通常会关闭总中断,在完成后再开启。

使用特权

评论回复
5
wodelqbz| | 2017-9-29 15:33 | 只看该作者
写Flash时,FLASH已被写操作占用,此时发生中断,cortex-m响应中断要执行的代码如果在FLASH中,FLASH无法响应cortex-m的取指令要求,cortex-m当然取不到指令,只能干瞪眼。

使用特权

评论回复
6
jermy_z| | 2017-9-29 21:25 | 只看该作者
flash操作需要一定的时间完成,如果有中断不停的产生,也会出现卡机现象。

使用特权

评论回复
7
几时再见| | 2017-9-29 21:31 | 只看该作者
最好不要这么干,操作flash的时候一定要关闭中断。

使用特权

评论回复
8
罗勋义| | 2017-9-29 22:26 | 只看该作者
要区分是内部flash还是外部flash,内部的话,要注意中断,外部的话,应该影响小点。

使用特权

评论回复
9
爱潜泳的鱼| | 2017-9-29 22:30 | 只看该作者
读写FLASH 是有时序的 。你不应该中断时序。去执行别的

使用特权

评论回复
10
jp_chen| | 2017-9-30 10:03 | 只看该作者
我出现过这种情况,写flash的时候,中断不能实时的响应。

使用特权

评论回复
11
花落辞殇| | 2017-9-30 10:07 | 只看该作者
如果想写FLASH时响应中断,唯有cortex-m从RAM中取指令能行的通,即写FLASH前,将响应中断的代码从FLASH拷入RAM中运行并将中断向量表设置到RAM即可。

使用特权

评论回复
12
会飞的大白| | 2017-9-30 15:38 | 只看该作者
操作flash的时候,最好中断关掉,写完再开启也用不了多长时间的。

使用特权

评论回复
13
fenshu| | 2017-11-15 11:27 | 只看该作者
路过拿积分的

使用特权

评论回复
14
Elric_QZH|  楼主 | 2017-11-25 09:21 | 只看该作者
wodelqbz 发表于 2017-9-29 15:33
写Flash时,FLASH已被写操作占用,此时发生中断,cortex-m响应中断要执行的代码如果在FLASH中,FLASH无法响 ...

应该是很芯片内部的设计有很大的关系。

使用特权

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

本版积分规则

20

主题

133

帖子

0

粉丝