stm32上电后,是将代码从flash中提取到ram上来执行么

2019-07-20 12:22发布

新手,有以下几个问题请教:
1.stm32上电后,是将代码从flash中提取到ram上来执行么?
以stm32f407为例,他的flash是1024KB,而ram是192KB,那么如果程序较大,是不是必须外扩ram来实现程序读取呢?


2. 由于我的板子面积小,希望使用stm32上的flash作为数据存储,那么我在alientek的例程上看到:
执行闪存写操作时,任何对闪存的读操作都会锁住总线,在写操作完成后读操作才能正
确地进行;既在进行写或擦除操作时,不能进行代码或数据的读取操作
是不是意味着,在进行flash写操作的时候,不能读取程序中的常数呢?


谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
淡定的H羊
1楼-- · 2019-07-20 14:17
单片机不是冯诺依曼结构,我记得好像是哈佛结构吧。直接从flash取指令到CPU去运行的,不会先取出来存在RAM再送给CPU。
不过STM32支持调试的时候将代码下载到SRAM去,然后运行SRAM中的程序,这时候就要考虑SRAM够不够用的问题了
qd0090
2楼-- · 2019-07-20 14:58
 精彩回答 2  元偷偷看……
操作系统
3楼-- · 2019-07-20 17:32
感觉你是完全不了解什么是单片机.STM32这种高级单片机.是支持RAM运行程序.也可以FLASH运行程序.也可以片外RAM运行程序的.一般大家都喜欢 从FLASH运行程序的.通过BOOT0,BOOT1引脚来配置.
戏命生
4楼-- · 2019-07-20 18:22
楼上大神已正解!
五花肉老乌龟
5楼-- · 2019-07-20 21:34
 精彩回答 2  元偷偷看……
qd0090
6楼-- · 2019-07-21 03:10
请教有没有相关的书籍能够给在下扫扫盲?
单片机小白一个。
还有,BOOTLOAD在哪里找?

一周热门 更多>