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

阿霖 2011-12-21 04:37:52
一般单片机的RAM很小,比如STC89C58,其RAM只有1024个字节,那么程序是在哪执行的呢?
是直接在FLASH上面跑的,还是在RAM上面跑的?


ARM又是什么情况呢?台式机呢?
...全文
1362 5 打赏 收藏 转发到动态 举报
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

27,511

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧