嵌入式系统中的SPI Flash

2016-04-21 01:22 阅读 560 次 评论 8 条

在嵌入式软件中操作SPI flash,由于SPI Flash的操作较慢(SPI中时钟设置较低),同步方式执行可能会打断中程序的任务,比如SPI Flash正片擦除,可能需要耗时3秒,在嵌入式软件中是完全忍受不了的。

一般会设置一个定时任务,定时去检查SPI Flash的操作是否完成,类似于我以前写的McBsp SPI Flash EDMA调试,还引入了EDMA,将一次SPI Flash操作分为了好几步,在此定时器任务中只操作一步,然后等待EDMA中断,判定执行的结果,从而判定后续的操作,每次定时器中的操作的时间很短,不会影响主程序的执行,但由于将一个操作分为了多步,所以程序编写起来比较繁琐,不利于维护。在以前的日志中的方法只考了写Flash操作,在后来发现Flash被soft protect的情况下,解除保护就不利于编写。

利用DSP/BIOS中的LCK resource对SPI Flash进行保护,在写完操作后,可以进入等待信号量状态,此时DSP/BIOS将自动交出DSP核完成其他任务,等待SPI Flash资源释放后,将继续执行,从而可以将一个功能放到一个函数中,利于维护与理解。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:嵌入式系统中的SPI Flash | 起点博客
分类:应用笔记 标签:, , ,

发表评论


表情

  1. linode优惠码
    linode优惠码 【农民】

    朋友,交换链接吗?

  2. 好书推荐
    好书推荐 【农民】

    进来看看

  3. 斯托克笔记
    斯托克笔记 【农民】

    哇哦,好专业的博客。

  4. will
    will【站长】

    欢迎相关嵌入式的blog

  5. will
    will【站长】

    欢迎

  6. will
    will【站长】

    只是记录

  7. themebetter
    themebetter 【农民】

    博主的网站好简介

  8. themebetter
    themebetter 【农民】

    我们是专做wordpress主题的,有需要可以联系我们哦!