Em_EEPROM

[复制链接]
1052|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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| gll123 发表于 2015-9-11 11:02 | 显示全部楼层
leijixiaomile 发表于 2015-9-10 14:26
@dsll2010  亲们 这个问题有点难,还是让高手来解答一下吧。
首先写Flash的时候会响应中断不?写Flash前会 ...

要是这个优化的文档有中文的就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

186

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部