单片机存储器和C程序编译过程

1、 单片机存储器

只读存储器不是并列关系,是从ROM发展到FLASH的过程

|---------------------|----------------------|
| RAM | ROM |
| 随机存储器 | 只读存储器 |
| CPU直接存储和访问 | 只读可访问不可写 |
| 临时存数据,存的是CPU正在使用的数据 | 永久存数据,存的是操作系统启动程序或指令 |
| 断电易失 | 断电不易失 |
| 由CPU直接访问 | 数据需要传到RAM才访问 |
| RAM容量大,以KM为单位,价格比较贵 | 容量低,以MB为单位,价格低 |

2、编译过程

①预处理(宏替换、头文件展开、删除注释、条件编译)xx.i文件

②编译阶段(语法检测,将预处理后文件编译生成汇编文件)xx.s文件

③汇编(将汇编文件生成目标文件(二进制文件))xx.o文件

④链接(将目标文件(二进制可执行指令文件)链接为可执行程序)xx.out文件

CPU把xx.out复制到RAM,然后执行可执行文件

CPU:①直接存在RAM②ROM->RAM->执行③磁盘->RAM->执行

相关推荐
林一百二十八1 天前
Python实现手写数字识别
开发语言·python
小小鱼儿飞1 天前
QT Quick QML项目音乐播放器16----无边框窗口拖动、小窗播放、隐藏系统托盘
开发语言·qt
-指短琴长-1 天前
Qt的下载和安装【Windows】
开发语言·windows·qt
不会编程的小寒1 天前
C++ this指针、常函数、内联函数
java·开发语言
小冯的编程学习之路1 天前
【C++】:C++基于微服务的即时通讯系统(2)
开发语言·c++·微服务
许长安1 天前
C/C++中的extern关键字详解
c语言·开发语言·c++·经验分享·笔记
奔跑吧邓邓子1 天前
【C语言实战(71)】C语言进阶:树与图的奇妙数据之旅
c语言···开发实战
earthzhang20211 天前
【1039】判断数正负
开发语言·数据结构·c++·算法·青少年编程
蕓晨1 天前
auto 自动类型推导以及注意事项
开发语言·c++·算法
一袋米扛几楼981 天前
【软件安全】C语言特性 (C Language Characteristics)
java·c语言·安全