请问单片机中的程序是在哪里执行的,是直接在flash里面吗?

4703 / 2025-05-10 16:23:47 世界杯介绍

社区

单片机/工控 帖子详情 请问单片机中的程序是在哪里执行的,是直接在flash里面吗? 阿霖 2011-12-21 04:37:52 一般单片机的RAM很小,比如STC89C58,其RAM只有1024个字节,那么程序是在哪执行的呢?

是直接在FLASH上面跑的,还是在RAM上面跑的?

ARM又是什么情况呢?台式机呢?

...全文

1331 5 打赏 收藏 请问单片机中的程序是在哪里执行的,是直接在flash里面吗? 一般单片机的RAM很小,比如STC89C58,其RAM只有1024个字节,那么程序是在哪执行的呢? 是直接在FLASH上面跑的,还是在RAM上面跑的? ARM又是什么情况呢?台式机呢? 复制链接

扫一扫 分享 转发到动态 举报

写回复 配置赞助广告取 消

确 定

用AI写文章 5 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 黄纸明 2013-11-22 打赏举报 回复 菜鸟,,问一下主程序是在哪里存储的那? youzi722 2011-12-21 打赏举报 回复 1. 类似51,AVR这类的单片机,程序只能在ROM或FLASH里运行。STC的芯片一般是标准51或增强51,用的是FLASH,程序只能在FLASH中运行。

2. ARM的程序即可以在FLASH里运行也可以在RAM里运行,不过能运行程序的FLASH只能使NorFlash,因为NANDFLASH的接口决定了其无法挂载在地址空间内。

3. 也就是说只要能挂载到ARM的程序地址空间的设备都可以直接放运行程序。否则其他存储设备只能存储程序或数据。如一般带LINUX或Wince的ARM板,一般会把主系统程序放在NorFlash或NANDFLASH中,上电后用Loader程序吧主系统程序加载到RAM或SDRAM的可执行地址去,然后跳到主程序去执行。

4. 计算机一般情况下系统存在硬盘里,系统启动时BIOS程序(在ROM里)先运行,然后从硬盘的系统分区里找到加载程序,加载到内存中(SDRAM),然后再由这段加载程序从磁盘中把系统加载进来。系统其实还可以存在光盘(所以可以从光盘启动)或网络计算机中(网吧里一般是这样)。大致就这个过程吧。具体的去网上查一下。 蒋剑波 2011-12-21 打赏举报 回复 是在RAM里跑的.ARM是嵌入式的,相比8051更高一级.单片机里用的是哪一种Flash,要看具体芯片的资料才清楚. 阿霖 2011-12-21 打赏举报 回复 [Quote=引用 3 楼 youzi722 的回复:]

1. 类似51,AVR这类的单片机,程序只能在ROM或FLASH里运行。STC的芯片一般是标准51或增强51,用的是FLASH,程序只能在FLASH中运行。

2. ARM的程序即可以在FLASH里运行也可以在RAM里运行,不过能运行程序的FLASH只能使NorFlash,因为NANDFLASH的接口决定了其无法挂载在地址空间内。

3. 也就是说只要能挂载到ARM的程序地址空间的设备都可以直接放……

[/Quote]

回答的太好了!!!!!!!感谢你!!!!!! 阿霖 2011-12-21 打赏举报 回复 另外想问一下单片机里面用的是Nandflash 还是Norflash 程序是在RAM里还是flash里执行 还是直接从Flash中取程序指令执行? 不是nandflash不能运行程序吗?难道32里用的是norflash? 如果你有研究过单片机编程的分散加载机制,在编程中写过分散加载脚本。你问的第一个问题就解决了。 如果你有写过nand... 单片机程序运行在哪里 单片机运行的时候,是运行在哪里? FLASH(ROM)?还是RAM。 这就需要我们了解上一篇的内容,单片机的运行视图和加载视图@jonah_king。 我们程序的运行其实是由多种方式的,不过一般常见的有两种。 运行在ROM里的和... stm32的程序在ROM和RAM中是如何运行的/在哪里执行的? 还是直接从Flash中取程序指令执行? 不是nandflash不能运行程序吗?难道32里用的是norflash? 处理器基本原理都相似,简单理解都是取指令、执行指令。那么从哪里取指令就涉及到存储介质了,ROM和RAM其实就是两种... 为什么单片机的代码在Flash中运行,单片机的代码运行位置跟电脑有什么不同? 大多数单片机,代码都是在Flash中运行的。而电脑/linux嵌入式,是将代码从存储介质(可能是硬盘/SD卡/EMMC/NAND)中读出,拷贝到RAM,再在RAM中去执行代码。 2. 为什么是这样? 为什么单片机的代码在Flash中运行... 单片机运行的程序是在ram中的还是在rom中的 而单片机的程序则是固化在flash 中,cpu运行的时候直接从flash 中读取程序,从RAM中读取数据. 造成这种差别的原因: x86架构的cpu是基于冯.诺伊曼体系的,即数据和程序储存在一起,而且pc机的RAM资源相当丰富,从几十M到...

单片机/工控

27,507

社区成员

28,796

社区内容

发帖 与我相关 我的任务 单片机/工控 硬件/嵌入开发 单片机/工控 复制链接

扫一扫 分享 确定 社区描述 硬件/嵌入开发 单片机/工控 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章