关于FLASH驱动的问题

Conon 2003-12-10 09:50:16
Flash在擦写时是否与外部中断有关系?why?应做何处理?
...全文
108 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
longfengcai 2004-01-01
  • 打赏
  • 举报
回复
刚刚做完简单的 Intel Strata Flash 的驱动程序。

Intel Flash 有一个 STS信号,标识Erase或者Program操作是否完成。
这个信号正好可以作为 MCU的中断输入信号。
当操作完成时,产生中断。就可以采用中断方式处理Flash操作。

当然,不用中断方式,用轮询方式也可以。
flyhuang 2004-01-01
  • 打赏
  • 举报
回复
Flash的内部机制是一种状态机的模式,在可读的状态下它和ram没有太大的区别,就是速度上有些慢
在作别的动作,譬如erase,program的时候就不一样拉,一般来说每个动作都对应了一定的命令序列,这个cmd序列从flash的datasheet上可以得到.

一旦某个动作的命令序列开始拉,Flash的状态机就变了,这个时候对同一个bank的读取动作就会读到不正确的东西.

目前的Flash大部分支持好几个bank,然后在不同的bank之间允许一边program or erase一边读.
但是绝对不允许同时program or erase.
liujialiang1977 2003-12-31
  • 打赏
  • 举报
回复
AMD的FLASH允许对FLASH的某个bank进行读操作时,对另外的bank进行写操作。
delay10ms 2003-12-15
  • 打赏
  • 举报
回复
应该没有关系,或者关系很小。
Conon 2003-12-12
  • 打赏
  • 举报
回复
如果在RTOS中写FLASH,可能是多任务的情况,不能保证有一个进程读写flash,这时会出现什么情况呢?
是不是会写失败?
fufu89 2003-12-12
  • 打赏
  • 举报
回复
沒試過在RTOS中多個進程同時讀寫FLASH,但是我認為第二個進程對失敗.
但是肯定,讀寫flash與外部中斷沒關係,但是假如你害怕外部中斷破壞你讀寫flash,可以使用flash中的suspend命令阿,之後再resume.
拙見
XTiger 2003-12-11
  • 打赏
  • 举报
回复
我做过多个flash的驱动,我确切的说,没有关系,但同一时间只能有一个进程读写flash。
haowh 2003-12-10
  • 打赏
  • 举报
回复
我想如果能的话,肯定是bios作的,建议看看 比bios方面!
gz
Conon 2003-12-10
  • 打赏
  • 举报
回复
又没人知道?

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧