如题,主要问题有以下几点,望原子哥和各位大神不吝赐教:
1、407的程序是否可以在外扩sram上运行,如果可以,该怎么做,希望大神们给点思路;如果不行,那么外扩sram是否仅用于保存数据,例如某些初始化要用的超级大数组。
2、程序能否下载到外扩flash中,运行时由外扩flash加载到ram中(片内或外扩)执行,如果可以该怎么做;如果不行,那么外扩flash是否仅能保存一些数据,掉电后仍要保存的数据。
3、基于以上两点,程序可否烧写进外扩flash,然后加载到ram(片内或外扩)中运行,类似linux的启动流程中bootloader(uboot)机制。
4、如果1、2两点都可行,那么使用开发板板载的flash和sram是否可以实现,如果不行,那么需要使用什么型号的flash和ram(例如norflash、sdram等)。
希望原子哥和各位大神倾力相助啊~~~小弟谢过!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
F407参考手册第2章,就讲到总线矩阵,从矩阵图中很清晰的可以看到,I-Code和D-Code都可以走FSMC.
也就是说,程序在外部RAM运行是没有问题的,楼主提的1,2点都可以.
具体怎么操作那还是个事儿么,先要在内部FLASH中写一段加载程序,就是你说的uboot,把NAND FLASH中的代码复制到SRAM,然后设置中断向量到SRAM,设置主堆栈为代码首4字节,设置PC指针为代码第二个4字节.
完成.
那么程序是直接在nor flash上运行,还是从nor flash中加载到内存中运行?
FSMC只能挂NAND 和NOR,你还有什么FLASH?
一周热门 更多>