如题,主要问题有以下几点,望原子哥和各位大神不吝赐教:
1、407的程序是否可以在外扩sram上运行,如果可以,该怎么做,希望大神们给点思路;如果不行,那么外扩sram是否仅用于保存数据,例如某些初始化要用的超级大数组。
2、程序能否下载到外扩flash中,运行时由外扩flash加载到ram中(片内或外扩)执行,如果可以该怎么做;如果不行,那么外扩flash是否仅能保存一些数据,掉电后仍要保存的数据。
3、基于以上两点,程序可否烧写进外扩flash,然后加载到ram(片内或外扩)中运行,类似linux的启动流程中bootloader(uboot)机制。
4、如果1、2两点都可行,那么使用开发板板载的flash和sram是否可以实现,如果不行,那么需要使用什么型号的flash和ram(例如norflash、sdram等)。
希望原子哥和各位大神倾力相助啊~~~小弟谢过!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
谢谢大神的指点~刚才详细看了下,可以在mdk中配置下载程序到nand或nor flash中,然后在片内flash中烧写一段代码,这个程序要初始化用到的设备,然后将nand 或 nor中的程序拷贝到外扩sram中去,然后设置pc指针到sram的程序运行地址处,搞定~~~整个流程思想其实就是linux中uboot的启动思想,我想复杂了。
是的,现在的项目没必要用这种思路,这样做真的是吃力不讨好~
你的意思我明白了,但是,程序不是在flash中运行的,准确的说也不是在ram中运行的,程序是被读到ram中,然后cup读取ram中的指令和数据去跑一个程序,nor flash能够“直接运行程序”最重要的原因是nor是总线型设备,地址总线直接参与cpu编址和寻址。
一周热门 更多>