stm32外部flash启动(stm32外部flash启动运行速度)
stm32 可以在外置的spi flash跑程序吗
不行的,stm32是从flash取指令执行,你在中间加一个spi接口,一方面无法保证数据的稳定性,最重要的是spi极大的限制了取指令的速度,所以不行。人家也不会这么设计的。外置nand flash或外置ram有可能行,具体看技术手册。
其实你可以自己划分一部分flash出来,使用IAP功能就能达到你上面想要的运行效果。
修改STM32的FLASH启动地址
在你的keil中查看option->target中irom的start地址是多少,因为你的镜像是烧当在flash中的
假设是0x0800
0000,
即你的镜像烧录在的起始地址为0x0800
0000,而你的程序又写了0x0800
3000,相当于把自己写死了,当然复位拔电不行啊,因为烧录后的镜像被你破坏了
至于0x0800
3000可以,是因为你的镜像没有越过这个地址,当然可以随便写了
修改STM32的FLASH启动地址
当然可以,前提是你对stm32启动运行有一定的了解才行,不然编写的代码可能无法正常运行,也不知道你用的是什么软件,IAR?Keil?软件的设置方法不同。不过,我之前才写了stm32的IAP程序,你可以搜索相关文章看看,肯定能找到答案的。追问
谢谢你的回答,我也看了IAP程序了,就是我想要的那种,但我有一点不明白,我的APP是放在FLASH里的。如果系统复位,相应地址里的APP程序还有么?应该不会被擦除吧。
追答系统复位当然不会擦除Flash,若i的IAP和APP写得正确的话,系统复位后会自动进入你的IAP引导程序,引导程序根据条件选择停留在IAP引导还是跳转至APP段代码运行。
你可以参考这张图,明白其运行过程后,就简单了
以上就是小编对于stm32外部flash启动(stm32外部flash启动运行速度)问题和相关问题的解答了,stm32外部flash启动(stm32外部flash启动运行速度)的问题希望对你有用!