打印

Em_EEPROM

[复制链接]
970|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gll123|  楼主 | 2015-9-9 15:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天看psoc4里面的模拟EEPROM,有地方不明白。
在写flash的时候,是以行为单位的,写一行的时间是15ms到20ms。
如果程序中定义了定时中断,时间比较短的话,比如3ms,这时候这个时间就没有什么意义了。
写Flash时,FLASH已被写操作占用,此时发生中断,cortex-m响应中断要执行的代码如果在FLASH中,FLASH无法响应cortex-m的取指令要求,cortex-m当然取不到指令,只能干瞪眼。如果想写FLASH时响应中断,唯有cortex-m从RAM中取指令能行的通,即写FLASH前,将响应中断的代码从FLASH拷入RAM中运行并将中断向量表设置到RAM即可。

但是如何将中断的代码从flash中拷贝到RAM中运行,而且也要将中断向量表设置到RAM,求大神指导~

沙发
dsll2010| | 2015-9-9 16:59 | 只看该作者
@leijixiaomile 大神帮忙搞定啊

使用特权

评论回复
板凳
leijixiaomile| | 2015-9-10 14:26 | 只看该作者
@dsll2010  亲们 这个问题有点难,还是让高手来解答一下吧。
首先写Flash的时候会响应中断不?写Flash前会不会屏蔽掉中断了?
把Flash中的代码拷贝到Ram中来运行的话,把代码定义到数据段,数据段是放在flash中的。
楼主中断向量表是在代码中定义的么?可否科普下中断向量表。
Cypress有相关代码优化的的AN可以参考,如附件的Code optimization

AN89610_001-89610_PSoC 4 and PSoC 5 code optimazation.pdf

1.1 MB

使用特权

评论回复
地板
gll123|  楼主 | 2015-9-11 11:02 | 只看该作者
leijixiaomile 发表于 2015-9-10 14:26
@dsll2010  亲们 这个问题有点难,还是让高手来解答一下吧。
首先写Flash的时候会响应中断不?写Flash前会 ...

要是这个优化的文档有中文的就好了

使用特权

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

本版积分规则

20

主题

186

帖子

3

粉丝