你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

F746中,systick中断能打断硬件FMC操作nandflash

[复制链接]
umbrella12 提问时间:2018-11-4 23:48 /
用了微雪电子的F746开发板,发现systick中断,能打断fmc操作nandflash的时序,导致读出来的数据不对,这正常嘛?
感觉F746好难用啊
收藏 评论4 发布时间:2018-11-4 23:48

举报

4个回答
七哥 回答时间:2018-11-5 00:52:44
关键你在systick中断服务程序中都干啥了?
systick建议做成1ms级或100us级,不要比100us在小了。如果只是个中断,中断进去能马上出来的话,应该不会影响fmc操作。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

STM1024 回答时间:2018-11-5 08:16:48
Systick作为ARM内核外设,其优先级相比一般的外设是要高一些的。不过在内核中的优先级相对要低一点,而且是可配置的Rest,NMI、HardFault、以及SVC、PendSV过了才是Systick。
不过,建议在中断中尽可能少的做事情,因为打断主程序之后,MCU是知道了, 但是与MCU相关的外设并不一定能够知道,就算知道,由于时序的问题,也不一定会等,容易造成数据丢失或者紊乱,你看到的很多示例中在中断中处理事务,包括我有时候也会这么写,其实这都不是很好的实践方法。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

umbrella12 回答时间:2018-11-5 14:07:10
toofree 发表于 2018-11-5 00:52
关键你在systick中断服务程序中都干啥了?
systick建议做成1ms级或100us级,不要比100us在小了。如果只是个 ...

就是例程的默认配置,1ms进一次中断。
啥也没干,就默认每进中断一次,那全局变量+1。
但是就是会干涉FMC操作NANDFLASH,连续读多个页,就会有部分页的数据读出来不对。
关掉systick中断,就没问题了,所有页的数据读出来都对。。
umbrella12 回答时间:2018-11-5 14:18:24
stm1024 发表于 2018-11-5 08:16
Systick作为ARM内核外设,其优先级相比一般的外设是要高一些的。不过在内核中的优先级相对要低一点,而且是 ...

恩,但是我在中断中也没干啥。
1ms一次的中断。
我记得之前操作lpc1788的FMC控制nandflash是没问题的,不怕RTC、TIM的中断打断的。
但是到了这个F746,居然发现1ms一次的systick中断能扰乱FMC操作nandflash

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版