社区
单片机/工控
帖子详情
请问单片机中的程序是在哪里执行的,是直接在flash里面吗?
阿霖
2011-12-21 04:37:52
一般单片机的RAM很小,比如STC89C58,其RAM只有1024个字节,那么程序是在哪执行的呢?
是直接在FLASH上面跑的,还是在RAM上面跑的?
ARM又是什么情况呢?台式机呢?
...全文
1440
5
打赏
收藏
请问单片机中的程序是在哪里执行的,是直接在flash里面吗?
一般单片机的RAM很小,比如STC89C58,其RAM只有1024个字节,那么程序是在哪执行的呢? 是直接在FLASH上面跑的,还是在RAM上面跑的? ARM又是什么情况呢?台式机呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
、与数据存储和启动过程说明
电脑
程序
运行与
单片机
的区别在于内存管理,
单片机
代码通常存储在
Flash
中
,CPU
直接
读取
执行
。
单片机
内存包括
Flash
和RAM,其
中
RAM分为栈区和堆区,
Flash
分为代码区和只读数据区。
Flash
类似电脑的ROM,可多次擦写,而RAM数据断电丢失。RAM包括静态RAM(SRAM),用于存储变量;
Flash
用于存储
程序
代码和只读数据。EEPROM是电可擦除的存储器,常用于存储配置数据,擦写次数和数据保留时间优于普通
Flash
。
单片机
内部是什么类型的
Flash
?
本文介绍了
Flash
Memory的两种主要类型——NOR
Flash
和NAND
Flash
,探讨了它们的特性与应用场景。NOR
Flash
因其随机读取速度快,常用于存储
程序
和操作系统,而NAND
Flash
则以其高写入性能和低成本适用于大容量存储。
单片机
内部的
Flash
通常是NOR
Flash
,因为它可以
直接
执行
代码,适合运行启动代码。
stm32的
程序
在ROM和RAM
中
是如何运行的/在哪里
执行
的?
STM32微控制器通常
直接
从
Flash
存储器
中
执行
程序
,无需复制到RAM。
Flash
作为ROM的一种类型,其起始地址为0x08000000,
程序
在此启动。然而,在特定情况下,如追求更快的
执行
速度,部分或全部
程序
代码可以加载到RAM
中
执行
。nAND
Flash
不支持片上
执行
,而nOR
Flash
则可以
直接
执行
代码。高性能系统常因
Flash
读取速度较慢而将
程序
加载到RAM或DRAM
中
。
单片机
若具备足够RAM,亦可选择将全部代码运行于RAM。分散加载机制和特定驱动
程序
允许代码在不同存储介质间灵活加载。
【嵌入式基础小知识】详解
单片机
中
的
程序
和变量是如何分布的以及一些注意事项
本文详细介绍了嵌入式系统
中
程序
与变量的存储区分布,包括
Flash
和RAM的角色,以及不同类型的变量如全局变量、const修饰的变量、静态变量和局部变量的存储位置。强调了
单片机
程序
直接
在
Flash
执行
的原因,同时探讨了RAM和
Flash
的使用策略。此外,还提到了动态内存分配和初始化变量在内存
中
的处理。
ram与
flash
你知道多少?
本文介绍了
单片机
程序
运行与电脑的区别,强调
单片机
程序
存储在
Flash
中
并
直接
执行
。详细阐述了
单片机
内存分配,包括栈区、堆区、全局区和文字常量区,以及RAM、EEPROM和
Flash
的特性。讨论了C语言变量的存储位置,并建议在处理大数组时优先考虑全局变量以确保稳定性。
单片机/工控
27,521
社区成员
28,799
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章