久芯网

在执行闪存写操作时,任何对闪存的读操作都会锁住总线 ???

avatar wll_hhu 提问时间: 2023-08-01 10:27:02 / 未解决

STM32的cpu,在flash擦写的时候都有明确提醒: 在执行闪存写操作时,任何对闪存的读操作都会锁住总线。

这种怎么理解, 程序IAP升级的时候不都要运行的时候接受数据包写到内部flash, 等待升级程序接收完成后升级嘛?

4个回答
  • avatar onebyte
    回答时间: 2023-08-01 10:44:59

    IAP程序可以放到RAM中运行

  • avatar wll_hhu
    回答时间: 2023-08-01 11:12:16
    onebyte 发表于 2022-4-18 13:29
    IAP程序可以放到RAM中运行

    但是在接收升级程序写flash的过程中,正常运行的功能不能有影响,如果编程flash的过程中会暂停读取指令,正常运行的功能肯定会不正常吧?

  • avatar STMWoodData
    回答时间: 2023-08-01 11:41:34

    写flash的指令正执行的时候,总线锁定,程序停止,有些流水线的读指令可能就不能运行。写入一个字DWORD后,总线就解除了。再继续执行写flash指令的下一条指令啊。

  • avatar butterflyspring
    回答时间: 2023-08-01 12:07:23

    半导体工艺中,烧写FLASH时是需要高一些电压(内部升压),所以这时候内部总线的这个接口不会工作,但是持续时间有限。 一种方式是烧写FLASH时不做其他读写,等烧录后再执行读写指令。 另一种方式是将需要这时候执行的代码放置在RAM中执行,不受到FLASH接口影响。

会员中心 微信客服
客服
回到顶部