社区
单片机/工控
帖子详情
请问单片机中的程序是在哪里执行的,是直接在flash里面吗?
阿霖
2011-12-21 04:37:52
一般单片机的RAM很小,比如STC89C58,其RAM只有1024个字节,那么程序是在哪执行的呢?
是直接在FLASH上面跑的,还是在RAM上面跑的?
ARM又是什么情况呢?台式机呢?
...全文
1362
5
打赏
收藏
请问单片机中的程序是在哪里执行的,是直接在flash里面吗?
一般单片机的RAM很小,比如STC89C58,其RAM只有1024个字节,那么程序是在哪执行的呢? 是直接在FLASH上面跑的,还是在RAM上面跑的? ARM又是什么情况呢?台式机呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
黄纸明
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
里
执行
stm32
中
的Code在
程序
运行时要不要拷贝到RAM里
执行
呢?还是
直接
从
Flash
中
取
程序
指令
执行
? 不是nand
flash
不能运行
程序
吗?难道32里用的是nor
flash
? 如果你有研究过
单片机
编程的分散加载机制,在编程
中
写过分散加载脚本。你问的第一个问题就解决了。 如果你有写过nand
flash
的驱动
程序
,你问的第二个问题就解决了。 STM32
中
的code可以不用拷贝到RAM
中
运行,...
单片机
程序
运行在哪里
想必,很多人会对这个问题有困惑?
单片机
运行的时候,是运行在哪里?
FLASH
(ROM)?还是RAM。 这就需要我们了解上一篇的内容,
单片机
的运行视图和加载视图@jonah_king。 我们
程序
的运行其实是由多种方式的,不过一般常见的有两种。 运行在ROM里的和运行在RAM里的。 一般比较小的系统,也就是说,
单片机
本身内部就有
FLASH
的。这种
FLASH
不同于通用的
FLASH
,他是支持随机地址访问...
stm32的
程序
在ROM和RAM
中
是如何运行的/在哪里
执行
的?
stm32
中
的Code在
程序
运行时要不要拷贝到RAM里
执行
呢?还是
直接
从
Flash
中
取
程序
指令
执行
? 不是nand
flash
不能运行
程序
吗?难道32里用的是nor
flash
? 处理器基本原理都相似,简单理解都是取指令、
执行
指令。那么从哪里取指令就涉及到存储介质了,ROM和RAM其实就是两种不同的存储介质(一个可以掉电保存,一个掉电不保存),他们都可以做为存储指令的介质。 stm32默认就是...
为什么
单片机
的代码在
Flash
中
运行,
单片机
的代码运行位置跟电脑有什么不同?
1.
单片机
与电脑,在代码运行空间的区别
单片机
与 电脑/Linux嵌入式 在代码运行空间上不同。大多数
单片机
,代码都是在
Flash
中
运行的。而电脑/linux嵌入式,是将代码从存储介质(可能是硬盘/SD卡/EMMC/NAND)
中
读出,拷贝到RAM,再在RAM
中
去
执行
代码。 2. 为什么是这样? 为什么
单片机
的代码在
Flash
中
运行呢?这样不会搞得代码运行速度很慢嘛? 因为
单片机
的运行速度一般都比较慢,
Flash
的读取速度足够跟得上代码运行的速度。但这个跟得上不是说先读取Fla...
程序
在
单片机
里是如何运行的?
关于
单片机
程序
的
执行
过程相信大家读了这篇文章后肯定会有一定的收获。
单片机/工控
27,511
社区成员
28,797
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章