407外扩sram和外扩flash的问题

2019-07-20 17:52发布

  如题,主要问题有以下几点,望原子哥和各位大神不吝赐教:
  1、407的程序是否可以在外扩sram上运行,如果可以,该怎么做,希望大神们给点思路;如果不行,那么外扩sram是否仅用于保存数据,例如某些初始化要用的超级大数组。
  2、程序能否下载到外扩flash中,运行时由外扩flash加载到ram中(片内或外扩)执行,如果可以该怎么做;如果不行,那么外扩flash是否仅能保存一些数据,掉电后仍要保存的数据。
  3、基于以上两点,程序可否烧写进外扩flash,然后加载到ram(片内或外扩)中运行,类似linux的启动流程中bootloader(uboot)机制。
  4、如果1、2两点都可行,那么使用开发板板载的flash和sram是否可以实现,如果不行,那么需要使用什么型号的flash和ram(例如norflash、sdram等)。
  希望原子哥和各位大神倾力相助啊~~~小弟谢过!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
zmingwang
1楼-- · 2019-07-20 18:29
我发现一个现象,好多人都不喜欢去看数据手册,只希望通过百度或者论坛提问找人解决,这个不好.
F407参考手册第2章,就讲到总线矩阵,从矩阵图中很清晰的可以看到,I-Code和D-Code都可以走FSMC.
QQ截图20160829163105.png
也就是说,程序在外部RAM运行是没有问题的,楼主提的1,2点都可以.
具体怎么操作那还是个事儿么,先要在内部FLASH中写一段加载程序,就是你说的uboot,把NAND FLASH中的代码复制到SRAM,然后设置中断向量到SRAM,设置主堆栈为代码首4字节,设置PC指针为代码第二个4字节.
完成.
天涯歌戮
2楼-- · 2019-07-20 18:35
自己先顶一下,不要沉啊~~
taizonglai
3楼-- · 2019-07-20 21:56
 精彩回答 2  元偷偷看……
天涯歌戮
4楼-- · 2019-07-21 00:23
zuozhongkai 发表于 2016-8-29 14:51
1、程序在SRAM上运行可以参考串口IAP程序,RAM就是用来保存临时变量的,就和你的电脑内存一样
2、程序可以 ...

那么程序是直接在nor flash上运行,还是从nor flash中加载到内存中运行?
天涯歌戮
5楼-- · 2019-07-21 02:16
 精彩回答 2  元偷偷看……
zmingwang
6楼-- · 2019-07-21 02:32
天涯歌戮 发表于 2016-8-30 10:23
那也就是说只有nand 或者 nor才可以,其他的flash都不行 是这样吗?

FSMC只能挂NAND 和NOR,你还有什么FLASH?

一周热门 更多>