不同的MCU,其配置的flash物理特性可能是有区别的,读写flash需要一些跟这个flash有关的参数,比如读写周期、等待间隔、读写总线的定义等等,这些参数就是烧写falsh的“算法”。实际进行烧写操作时是分为2个步骤的:首先需要把这些算法加载(download)到MCU内部的RAM中,然后在MCU内部运行代码来具体执行这些算法、读写flash。这样,就容易理解图一提示的错误了:烧写地址 0x0800 0000 (内部flash) 的那些代码没问题,但对于地址 0x9000 0000 (外部flash),因为没有加载对应算法,不知道该怎么读写flash、无法进行烧写。
|