第一章 嵌入式介绍
一. 嵌入式系统定义
定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
二 . SOC定义
定义:SOC(System on a Chip)是片上系统的意思,在SOC上可以集成很多关键部件,比如CPU,GPU,内存等。
三 . ARM处理器系列
| 系列后缀 | 说明 |
|---|---|
| T | 表示支持Thumb指令集 |
| D | 表示支持片上调试(Debug) |
| M | 表示内嵌硬件乘法器(Multiplier) |
| I | 支持片上断点和调试点 |
| E | 支持增强型DSP功能 |
| J | 支持Jazelle技术,即JAVA加速器 |
| S | 表示全合成式(full synthesizable) |
四 . 交叉开发模式
1. 交叉开发定义
交叉开发是指先在一台通用PC上进行软件的编辑、编译与连接,然后下载到嵌入式设备中运行调试的开发过程。通用PC称为宿主机,嵌入式设备称为目标机。
2. arm-linux-gcc
(1) 四个步骤
C/C++源文件 ----> 可执行文件 需要4个步骤
| 步骤名称 | 说明 |
|---|---|
| 预处理 | 1.以#开头的命令为预处理命令 2.包含 include 的文件插入到原文件中 3.展开宏定义 4.条件编译 5.输出 .i 文件 |
| 编译 | 把 .i 文件中的代码 —> 汇编代码 |
| 汇编 | 1.汇编代码 -----> 机器代码 2.生成OBJ文件 |
| 连接 | 将汇编生成的OBJ文件和系统库的OBJ文件,库文件连接,最后生成可执行文件 |
(2) arm-linux-gcc 总体选项
| 选项名称 | 说明 |
|---|---|
| -c | 预处理,编译,汇编源文件,生成 .o 文件 |
| -S | 编译后停止,不进行汇编,生成 .s 文件 |
| -E | 预处理后停止,不进行编译 |
| -o file | 指定输出文件为file |
| -v | 显示相关配置信息 ,以及版本号 |