单片机存储器和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->执行

相关推荐
郏国上20 小时前
node.js上传图片接口
开发语言·node.js
SEO-狼术20 小时前
Stimulsoft Reports.JS 2025
开发语言·javascript·ecmascript
机器学习之心HML20 小时前
MATLAB基于GWO-BP神经网络对某拨叉件锻造金属流动性的参数分析
开发语言·神经网络·matlab
Cg1362691597420 小时前
多态的定义
java·开发语言
weixin_466820 小时前
编程之python基础
开发语言·python
微信api接口介绍20 小时前
微信社群管理开发
java·开发语言·网络·微信
csbysj202020 小时前
PHP 类型比较
开发语言
白熊18821 小时前
【图像大模型】ms-swift 深度解析:一站式多模态大模型微调与部署框架的全流程使用指南
开发语言·ios·swift
坚持编程的菜鸟1 天前
LeetCode每日一题——在区间范围内统计奇数数目
c语言·算法·leetcode
qiuiuiu4131 天前
正点原子RK3568学习日志6-驱动模块传参
linux·c语言·开发语言·单片机·学习