单片机外扩RAM和FLASH是干什么用,该怎么操作

我是一个新手,
1.请问stm32外扩ram和flash分别是干什么用的
我自己认为外扩flash是为了解决程序过大用的,把一部分代码放到外部flash中去,但是是当程序空间大的时候自动写入外部flash吗,还是要进行什么操作
而ram一般是存储数据用的,外部ram是怎么操作的那。看过数据手册,但是基本都是英文的,没太看懂
2.有人说程序在仿真的时候正常,但是烧写到flash里面就不好用了,请问这是什么意思

第1个回答  推荐于2017-11-27
扩大存储容量,比如说你想显示的图片,数据量很大并且单片机内部放不下时,就放在外扩的flash中了。
在外扩flash中放程序的很少,因为总线的速度远远低于单片机内部的速度,所以效率低,更不会像你说的那样写入外部(虚拟内存?)
外扩ram的读写和使用内部时的一样,你只要设置好编译器指明外部ram的位置和大小就行了。

因为flash的速度是跟不上cpu的速度的,在读flash时就有延迟,所以仿真正常但烧写就不一定那样。追问

谢谢!还请问一下,如果把诸如图像等信息放在外部flash,该怎么操作呢,是否和片内flash一样编程?我知道的flash都是spi总线的,或许这是速度慢的原因?

外部ram的读写只需要把地址、数据线和MCU接合,不需要其他片选等信号,只要在编译器设置就好了是吧?
谢谢!

追答

一般是先烧写进flash然后在焊接在板子上的,不过也可以让单片机运行程序读取外界的数据来写入flash。

除了编译器设置之外,还要在程序中配置FSMC的时序来保证访问的正常。

本回答被提问者和网友采纳
第2个回答  2015-02-05
关注这个问题