




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三级嵌入式系统学习总结 一 第一章 1 嵌入式系统概论 嵌入式系统中的软件一般都固化在只读存储器中 用户不能随意更改其中的程序功能 嵌入式系统的逻辑组成 1 处理器 2 存储器 3 I O 设备与 I O 接口 4 数据总线 5 软件 嵌入式处理芯片有四种类型 1 微处理器 2 数字信号处理器 3 微控制器 单片机 4 片上系统 微控制器 MCU 的低端产品并不会因为高端产品的出现而衰落 在 32 位 MCU 中 绝大多数使用 RAM 内核 EDA 电子设计自动化 IP 核可以分为三种 软核 硬核 固核 2 嵌入式系统与数字媒体 计算机中常用的最广泛的西文字符及其编码是 ASCII 字符集和 ASCII 码 即美国标准信息交 换码 共有 128 个字符 一个字符占一个字节 我国目前广泛使用的汉字编码国家标准有 GB2312 和 GB18030 GB2312 只有 6763 个汉字 不够用 GB18030 字符集与国际标准 UCS Unicode 字符集基本兼容 GB18030 采用不等长的编码方 法 单字节编码表示 ASCII 码 双字节编码表示汉字 与 GB2312 保持向下兼容 四字节编 码表示其他字符 Unicode 最新版本是 6 3 UCS Unicode 在计算机中具体实现时采用不同的编码方案 最常 用的是 UTF 8 和 UTF 16 UTF 8 采用的是单字节可变长编码 UTF 16 采用的是双字节可变 长编码 文本的类型可以分为简单文本 丰富格式文本 超文本 图像的数据量 图像水平分辨率 图像垂直分辨率 像素深度 8 像素深度指的是每个像素用 多少个二进制数来表示 数字视频的数据量非常大 在进行传输时必须进行压缩 压缩编码标准是国际标准化组织 ISO 制定的 其名称为 MPEG 无线局域网采用的协议主要是 IEEE 802 11 俗称 WIFI 3 数字通信与计算机网络 微波是一种 300MHz 300GHz 的电磁波 计算机网络的组成 1 计算机等智能电子设备 2 数据通信链路 3 通信协议 4 网络软件 以太局域网 1 发送数据设备必须把要传输的数据分成小块 帧 进行传输 一次只能传输 1 帧 2 局域网中的每一个终端都有自己唯一的标识 称为物理地址或 MAC 地址 在发送的每 一帧数据中 必须包含自己的 MAC 地址和接收终端的 MAC 地址 3 IP 协议定义了主机的概念 所有主机及使用一种统一格式的地址标识 称为 IP 地址 4 以太局域网大多是由集线器或者交换机组网 计算机网络的类型 1 局域网 2 城域网 2 广域网 IP 地址分为 A B C 三类 IP 是由四段数字组成 共 32 位 8 位一段 A 类 IP 段 0 0 0 0 到 127 255 255 255 0 段和 127 段不使用 B 类 IP 段 128 0 0 0 到 191 255 255 255 C 类 IP 段 192 0 0 0 到 223 255 255 255 XP 默认分配的子网掩码每段只有 255 或 0 A 类的默认子网掩码 255 0 0 0 一个子网最多可以容纳 1677 万多台电脑 B 类的默认子网掩码 255 255 0 0 一个子网最多可以容纳 6 万台电脑 C 类的默认子网掩码 255 255 255 0 一个子网最多可以容纳 254 台电脑 二二 第二章第二章 1 嵌入式处理器 嵌入式处理器按照指令集可以分为复杂指令集结构和精简指令集结构 按存储机制可以分 为冯诺依曼结构及哈佛结构 按字长可以分为 8 位 16 位 32 位等 精简指令集结构采用加载和存储两种指令对存储器进行读写操作 ARM 内核采用多层次的存储结构 在处理器与主存储器之间加入 CACHE 综合了哈佛结构 和冯诺依曼结构的优点 ARM 处理器的主流为 32 位 其主要特征如下 1 单周期操作 2 只是用加载 存储指令 访问内存 3 指令长度固定 4 三地址指令格式 5 指令流水线格式 6 低功耗设 计 ARM 由三种指令集 分别是 1 ARM 指令集 2 Thumb 指令集 3 Thumb 2 指令 集 2 典型 ARM 处理器介绍 ARM 处理器分为 5 类 分别是 1 经典 ARM 处理器 2 ARM Cortex 嵌入式处理器 3 ARM Cortex 实时嵌入式处理器 4 ARM Cortex 应用处理器 5 ARM 专家处理器 ARM Cortex 处理器包括 1 Cortex A 面向高端应用的处理器 2 Cortex R 面向实时控制 的处理器 3 Cortex M 面向微控制器的处理器 3 ARM 处理器体系结构 ARM 处理器的工作状态 1 ARM 状态 即 32 位状态 2 Thumb 状态 即 16 位状态 3 调试状态 ARM 处理器有 7 种工作模式 分别是 1 用户模式 User 2 快速中断模式 FIQ 3 外部 中断模式 IRQ 4 管理模式 SVC 5 中止模式 ABT 6 未定义指令模式 UND 7 系统模式 SYS ARM 处理器由 37 个寄存器 包括 31 个通用寄存器和 6 个状态寄存器 通用寄存器中不分 组的有 8 个 即 R0 R7 ARM 处理器用两种模式存储数据 一是大端模式 即 32 位的高字节存放在低地址中 低 字节存放在高字节中 二是小端模式 即 32 位的高字节存放在高地址中 低字节存放在低 字节中 MMU 即存储器管理模块 作用是进行虚拟地址到物理地址的映射 存储器访问权限控制 MPU 是存储器保护单元 4 ARM 处理器指令集 指令的条件码 EQ 相等 NE 不相等 CS 无符号数大于或等于 CC 无符号数小于 HI 无符号数大于 LS 无符号数小于或等于 GE 带符号数大于或等于 LT 带符号数小于 GT 带符号数小于或等于 LE 带符号数小于或等于 PL 正数或 0 块拷贝寻址举例 LDMIA R0 R1 R2 R5 R9 R1 R0 R2 R0 4 R3 R0 8 R4 R0 12 STMIA R0 R1 R7 R0 R1 R0 4 R2 R0 8 R3 R0 12 R4 R0 16 R5 程序状态寄存器访问指令举例 MRS R0 CPSR 传送 CPSR 中的值到 R0 MSR CPSR R0 传送 R0 的值到 CPSRs 5 ARM 汇编语言程序设计 意会 三三 第三章第三章 1 嵌入式系统硬件组成概述 最小系统的构成 嵌入式处理器 存储器 复位电路 电源电路 时钟电路 调试测试接 口 典型嵌入式应用系统的硬件组成 最小硬件系统 前向通道 后向通道 人机交互通道以 及相互互联通信通道 前向通道即输入接口 由模拟量输入接口和数字量输入接口组成 后巷通道即输出接口 由模拟输出接口和数字输出接口组成 人机交互通道即输入输出接 口 2 嵌入式处理芯片 AMBA Advanced Microcontroller Bus Architecture 先进微控制器总线体系结构 AMBA 规定了两种类型的总线 分别是系统总线和外围总线 通过桥接器进行连接 与系统总线连接的部件 电源及时钟控制器 内核 DMA 外部存储器控制接口 USB 主 机 SRAM 中断控制器 LCD 控制器 与外围总线连接的部件 GPIO UART SPI IIC IIS USB 设备 WDT TIMER RTC PWM ADC DAC CAN Ethernent 片内程序存储器常用 Flash ROM 片内数据存储器常用 SRAM 3 嵌入式系统的存储器 嵌入式系统的存储器结构 嵌入式处理器 内部 L1 L2 Cache 主存储器 内存 外部存 储器 外存 Cache 由 SRAM 承担 MROM 掩膜只读存储器 出厂后信息确定 无法改变 PROM 一次可编程存储器 EPROM 紫外线可擦除的只读存储器 EEPROM 电擦除可编程存储器 FLASH ROM 闪存 NOR FLASH 和 NAND FLASH 是流行的闪存 新存储器 FRAM 铁电存储器 MRAM 磁性存储器 存储器容量 单元总数 数据位数 单元 并行总线的存储器带宽 总线频率 数据宽度 8 传输次数 总线周期 串行总线的存储器带宽 总线频率 10 4 I O 接口及常用的 GPIO GPIO 提供的输入具有缓冲功能 输出有锁存功能 IIC 总线有两条数据线 分别是数据线 SDA 和时钟线 SCL SCL 为高 SDA 由高变低时启动 传输 SCL 为高 SDA 由高变低时停止传输 传输时高位在前 低位在后 传输的第一个 字节为地址 地址的最后一位指示数据传输方向 第 9 位为应答位 总线控制遵循低电平 优先的原则 SPI 是同步串行接口 一般使用四条线 分别是时钟 输入 输出 片选 SPI 发送数据时 数据从主机中从左向右发送给从机 主机数据左对齐 从机数据从右向左发送给主机 从 机数据右对齐 发送数据时 高位在前 低位在后 UART 常用于全双工串行异步通信 发数据时 低位在前 高位在后 USB 最多可以连接 127 个设备 USB 系统由 USB 硬件和 USB 软件组成 硬件中的主控制 器包括一个根集线器 传输时采样翻转不归零 采用半双工差分方式传输数据 触摸屏分为电阻式和电容式 5 ARM 内核典型处理器芯片 S3C2410 是韩国三星公司制造的微处理器 以下都是 S3C2410 的有关介绍 电源管理模块有正常模式 慢速模式 休眠模式 掉电模式 任何情况下复位操作均进入 正常模式 在掉电模式和休眠模式下 只要有任何一个外部中断 EINT 或者 RTC 时钟中断发 生 均将返回到正常模式 总共由 5 个 16 位定时器 timer 4 个具备 PWM 的功能 定时器输入时钟频率 PCLK 预分频值 1 时钟因子 有三个 UART UBRDIV INT UCLK 波特率 16 1 UCLK 可以是 PCLK 也可以是 UEXTCLK 看门狗定时器的技术脉冲周期为 t watchdog 1 PCLK 预分频值 1 分频系数 计数 初值为 WTCON T t watch dog 6 嵌入式系统外部通信接口 RS 485 采用差分信号传输方式 CAN 总线也使用差分的方式传输 四四 第四章第四章 在 uC OS II 中 任务或者中断服务可以通过事件控制模块 ECB 相其他任务发出信号 1 嵌入式系统的软件组成 嵌入式系统的特点 软件与硬件一体化 软件代码时空效率要求高 软件可剪裁 软件应 用环境复杂 软件开发难度大 软件面向用户 面向产品 面向应用 软件产业高度分散 软件具有较长的生命周期 嵌入式系统的软件结构 简单的轮询结构 只进行查询操作 带中断的轮询结构 监控 式操作系统 应用软件的结构 通用嵌入式操作系统 应用软件的结构 高端嵌入式系统的软件结果层次示例 硬件层 硬件抽象层 操作系统层 中间件层 应 用软件层 中间件是指除了操作系统内核 设备驱动程序和应用软件之外的系统软件 硬件抽象层 Hardware Abstract Layer HAL 和板极支持包 Board Support Package BSP 是 嵌入式系统的底层软件 引入 HAL 对硬件进行抽象 通过硬件抽象层应用编程接口 HAL API 向上提供服务 BSP 在系统复位之后负责系统软硬件环境的初始化 包括三个方面的内容 一是系统复位 时的硬件初始化 包括处理器芯片的初始化和电路板的初始化 二是为操作系统提供硬件 相关的驱动程序支持 三是引导加载操作系统 BSP 是操作系统正常运行的前提 其效率和稳定性直接影响整个系统的性能及稳定性 引导加载程序 引导程序 bootloader 是底层软件的一部分 嵌入式系统上电后首先运行 引导加载程序 进行系统上电自检 硬件初始化 建立存储空间映射 配置系统参数 建 立上层软件运行环境 加载和启动操作系统等等 嵌入式操作系统的加载方式 1 在 ROM 中直接运行操作系统代码 2 在 RAM 中运行操作 系统代码 3 从外存储器加载操作系统代码运行 4 从通信端口加载操作系统代码运行 引导加载程序的运行过程 一是让嵌入式系统正常运起来 与处理器体系结构相关的硬件 初始化和板极初始化等操作通常在第一步完成 一般用汇编语言来写 第二是实现操作系 统加载的功能 用 C 语言实现 设备驱动程序是指直接与硬件相互作用并控制硬件的软件 是对硬件操作的抽象 2 嵌入式操作系统 实时系统 Real Time System 是必须在有限和确定的时间内对外部事件做出响应的信息系 统 实时系统的关键特性 1 时间约束性 2 可预测性 3 可靠性 4 交互性 硬实时任务 必须在给定的时间内完成 超过时限会引起重大的错误 软实时任务 超过时限不会引发致命错误 而是造成任务的服务质量下降 准实时任务 通常允许偶尔错过最后时限 若超过时限 所进行的操作或计算没有任何意 义 实时操作系统采用如下的机制来保持对实时任务的响应和处理的时间确定性 1 事件驱动 2 多级中断嵌套处理 3 细粒度的任务优先级控制 4 实施抢占式调度 实时操作系统的实时性指标 评价实时操作系统的实时性最重要的指标是响应时间 即系 统从事件请求开始到任务完成的时间间隔 除此之外 还有以下的几点 1 中断延迟时间 从接收到可屏蔽中断请求到操作系统做出响应并转入中断服务程序所需 要的最长时间 2 任务切换时间 操作系统在两个独立且具有相同优先级的就绪态任务之间切换所需要的 时间 3 任务抢占时间 系统将优先权从低优先级的任务转移到高优先级任务所需要花费的时间 嵌入式操作系统的特点 代码固化存储 可裁剪 实时性 强稳定性 硬件适应性 嵌入式操作系统的分类 1 按实时性分 硬实时操作系统 如 VxWorks RTEMS QNX uC OS II Nucleus 软实时操作系统 如 WinCE 多种嵌入式 Linux 系统 2 按开发方式 专门为嵌入式环境开发的嵌入式操作系统 从通用计算机操作系统移植而来的嵌入式系统 3 按商业模式 免费的嵌入式操作系统 商业嵌入式操作系统 操作系统是由内核 用户界面 中间件 使用程序等组件组成的 内核起着最重要的作用 其作用是管理系统资源 支持多任务并发执行 单内核可以分为整体结构和分层结构两种类型 单内核的优点是性能较好系统各个组件可 以相互调用 缺点是占用资源多 维护工作量大 单内核的操作系统有 Unix BSD Unix Linux MS DOS Windows 9x Windows 95 98 ME Windows CE Android 操作系统 微内核结构 操作系统仅仅将必须的基本功能放入内核 其他功能在内核之外 采用纯粹 微内核的操作系统有 AIX Mach Minix VxWorks QNX 等 常见的嵌入式操作系统 VxWorks 采用的是微内核结构 QNX 类 Unix 的实时操作系统 是非常成功的微内核操作系统 其内核仅仅提供进程调度 进程间通信 底层网络通信和中断处理 Nucleus PLUS 抢占式多任务商业操作系统内核 RTEMS 实时多处理器系统 TinyOS 专门为硬件资源极为有限的无线传感器网络应用而量身定制的操作系统 eCOS 嵌入式可配置操作系统 Linux 是单内核结构 采用模块化设计 支持内核线程 Linux 内核可以分为三个层次 最上层是系统调用接口 中间层是内核的核心部分 最下层 是 BSP Linux 内核内部包含了若干相关的组成部件 包括 1 初始化部件 2 进程调度器 3 内存 管理器 4 虚拟文件系统 5 网络接口 6 进程间通信 7 可加载模块 8 设备驱动程 序 Linux 实时化技术的三个途径 1 内核补丁方式 2 双内核方式 3 超微内核方式 嵌入式 linux 发行版本 uClinux RTlinux Monta Vista Linux Wind River Linux RTAI Xenomai Android 系统采用堆层式软件架构 分为四层 从底层到高层分别是 Linux 内核 系统运行 库 应用程序框架和应用程序 其中 系统运行库由 android 运行环境和组件库两部分组 成 IOS 操作系统架构分为四个层次 分别是核心操作系统层 核心服务层 媒体层 触控界 面层 3 uC OS II 嵌入式操作系统 uC OS II 的特点 1 公开源码的高质量实时内核 2 可以移植 3 可裁剪 可固化 4 时间确定性 5 多任务 6 抢占式内核 7 多种系统服务 uC OS II 的源代码主要有以下几部分构成 1 系统核心 2 任务管理 3 时钟管理 4 任务同步与任务间通信 5 内存管理 6 处理器相关代码 在 uC OS II 中 任务是操作系统的基本调度单位 由操作系统内核管理 任务由三部分构 成 分别是任务的程序代码 任务堆栈和任务控制块 每一个任务的栈空间大小不同 在 文件 OS CPU H 中定义了一个数据类型 OS STK 在应用程序中定义任务堆栈的栈区只需要 声明一个 OS STK 即可 如 OS STK TaskStk TASK STK uC OS II 的任务处于五种状态之一 分别是等待态 休眠态 就绪态 运行态和被中断态 休眠态指任务代码驻留在内存中还没有交给内核调度的状态 就绪态指任务已经具备运行 的条件但因优先级比正在运行的任务低而暂时不能运行的状态 运行态指任务已获得处理 器使用权而正在运行的状态 等待态也称为挂起 指正在运行的程序因为等待某一事件发 生而将处理器的使用权让出给其他任务而自身挂起 被中断态指因处理器执行中断而被暂 停运行的任务状态 uC OS II 可以管理 64 个任务 有 64 个优先级 0 是最高优先级别 最低优先级别由 OS LOWEST PRIO 来定义 任务分为用户任务和系统任务 系统预定义了两个系统任务为 应用程序服务 即空闲任务和统计任务 系统总是把最低优先级固定赋给空闲任务 uC OS II 采用的是基于优先级的任务调度 内核通过 OSIntExit 判断是否存在更高优先级的就绪任务 利用宏 OS ENTER CRITICAL 和 OS EXIT CRITICAL 实现关中断和开中断 利用函数 OSSchedLock 和 OSSchedUnLock 给调度器上锁和解锁 通过函数 OSStart 开始任务调度之前创建 函数 OSTaskCreate 和 OSTaskCreateExt 都可以创建任务 函数 OSTaskDel 既可以删除任务本身 也可以删除其他的任务 删除自己的调用形式为 OSTaskDel OS PRIO SELF 函数 OSTaskDelRel 的作用是让某个任务使用完资源后先释放资源 再执行 OSTaskDel 来删 除自己 函数 OSTaskSuspend 可以挂起一个任务 被挂起的任务只能等待其他的任务调用 OSTaskResume 函数才能实现任务恢复 函数 OSTimeTick 返回是否等待超时或等待事件的任务是否超时 用 UNIT32U OSTimeGet 获得 tick 计数器的当前值 可以调用 OSTimeSet 改变 tick 计数 器的当前值 通过 OSTimeDly 或者 OSTimeDlyHMSM 延迟处于运行态的任务 由 OSSemCreate 函数创建信号量 由 OSSemDel 函数删除一个信号量 由 OSSemPost 释放信号量 由 OSSemPend 等待信号量 由 OSSemAccept 无等待的请求信号量 由 OSSenQuery 查询信号量状态 调用 OSInit 进行内核初始化 五五 第五章第五章 1 开发嵌入式系统的基础知识 1 嵌入式系统的开发过程 1 需求分析与规格说明 2 系统设计 根据规格说明书中所描述的系统需要实现的功能 确定如何实现这些功能 的硬件和软件结构 3 构件设计 设计或者选择符合系统结构和规格说明中所需要的具体构件 有通用的构 件 如 CPU 存储器芯片 也有专用的构件 如 AX88796 不知道是什么玩意 4 系统集成与测试 2 嵌入式系统的开发平台与工具 嵌入式系统的开发特点 1 使用宿主机 目标机的开发架构 2 与底层硬件控制程序的关系密切 3 软硬件资源受到限制 4 需要固化程序 IDE Integrated Development Environment 集成开发环境 集成开发环境 3 嵌入式系统的调试 四种调试技术 1 在线仿真器 In Circuit Emulator ICE ICE 具有与索要开发的嵌入式系统相同的嵌入式 处理器 进行调试时 用在线仿真器取代被调试系统的处理器 2 片上调试技术 JTAG 3 驻留监控软件调试 使用驻留监控软件 Resident Monitors 即固化在目标机 ROM 中 的程序 在目标机中运行 4 指令集模拟器 Instruction Set Simulator ISS 在宿主机上模拟应用程序在目标机上润 兴行为的一个软件工具 主要应用于没有目标机开发板硬件 有开发板硬件 但使用 开发板成本高 被调试的程序模块不需要在实际开发板上执行 对模块代码进行语法 检查 避免因对硬件不熟悉而在调试硬件方面耗费过多精力 常用的两种指令集模拟器 ARMulator SkyEye 2 系统开发工具软件 1 ADS1 2 工具软件 ARM Developer Suite 支持开发的嵌入式应用软件通常是无操 作系统的 即使有 也是 uC OS II 这样的小型系统 ADS1 2 的工程项目 一个工程项目至少应包括一个生产目标 即用于生成特定输出文件的 生成选项以及所用的全部文件的集合 生成选项包括汇编选项 编译选项 连接选项和连接后选项 三个可执行文件的模板 1 Debug 生成的额输出文件包括所有调试信息 用于在开发过程中使用 2 Release 生成的输出文件中不包括调试信息 用于生成实际发行的软件 3 DebugRel 生成的输出文件包含了基本的调试信息 当地址映射关系比较简单时 使用编译 连接选项来确定输入文件的连接顺序 当地址映射关系比较复杂时 使用 scatter 分散加载 格式的文件来确定输入文件的连接 顺序 连接中的地址映射 ADS 把编译后的目标文件信息按照 3 种存储区域类型进行划分 分别是 1 RO 端段 代码存储区和常数存储区 具有只读的性质 2 RW 段 指初始值为非 0 的全局变量数据区 具有可读可写的性质 3 ZI 段 指初始值为 0 的全局变量数据区 包括未初始化的全局变量 具有可读可写的 性质 下载时域和运行时域 下载时域是下载时的存储空间 运行时域是运行时的存储空间 1 simple 连接类型 应用于地址映射简单的工程项目 RW base 文本框配置的是 RW 字段 的和 ZI 字段运行时域的地址 输入的地址值必须是字对准的 即能被 4 整除 2 对地址映射关系较为复杂的项目 使用 scatter 连接类型 需要提供一个 scatter 格式的 文件 scf 配置文件是一个文本文件 使用 BNF 语法来进行描述 在 scatter 类型下 下载时域的语法结构如下 Load name Base Add Attribute size Load name 是下载时域的名称 是下载时域的唯一标识 Base Add 是下载时域的首地址 Attribute 是下载时域的数属性 可省略 size 是下载时域的容量大小 在 scatter 类型下 运行时域的描述语法结构如下 Exec name Base Add Attribute Size Exec name 是运行时域的名称 属性可省略 在 scatter 类型下 输入端的描述结构如下 代表若干个任意字符 代表一个任意字符 Load 1 0 x0000 0 x8000 Exec 1 0 x0000 0 x8000 RO Exec 2 0 x10000 0 x6000 RW ZI 上述是一个简单的配置文件 定义了一个下载时域 名称为 Load 1 首地址是 0 x0000 域 的容量是 0 x8000 定义了两个运行时域 第一个名称为 Exec 1 首地址为 0 x0000 容量为 0 x8000 域中包含了所有的代码和常数 即包含了所有 RO 属性的输入段 第二个域中包 含了所有的 RW ZI 属性的输入段 2 RVDS RealView Development Suite 要使用 RVDS 来调试程序 必须使用 RealView ICE 仿真器 RVDS 的功能模块包括工程管理器 IDE 编译链接器 RVCT 调试器 RVD 和指令集 仿真器 RVISS 等 RVDS 能够记录 ARM CPU 从开始执行程序到停止执行程序这段时间所执行的所有操作 称 为 Trace 功能 而 Profile 功能指 RVDS 可以对 Trace 功能所记录的内容进行性能分析 3 GNU GNU s Not Unix 是一种常用于基于 Linux 操作系统的嵌入式软件的工具套件 的简称 GCC 是 GNU 开发工具套件中的核心工具软件 是一种针对 linux 操作系统环境下运行程序 的编译工具 它由源文件生成可执行文件的过程是预处理 编译 汇编 连接 汇编阶段 生成二进制目标文件 以 为文件的结尾 Linux 操作系统中的可执行文件没有统一的文件后缀 按文件的属性来进行区分 若 GCC 生成可执行文件时没有指定文件名 则 GCC 生成一个名为 a out 的可执行文件 GCC 所规定的文件后缀与文件类型的对应关系 c 用 C 语言编写的源程序文件 a 由目标文件构成的源文件 C cc cxx 用 C 语言编写的源文件 h 头文件 可以被其他源文件包含 i 已经预处理过的 C 语言编写的源程序文件 ii 已经过预处理的 C 语言编写的源程序文件 o 编译及汇编后生成的目标文件 s 编译后生成的汇编语言程序 S 汇编语言编写的源文件程序 GCC 的命令及参数 基本命令格式为 gcc options filenames 其中 options 代表编译命令所需要的参数 filename 表示命令中所涉及到的文件名称 针对不同的嵌入式处理器 GCC 的命令格式不同 如针对 ARM GCC 基本命令格式为 arm linux gcc options filenames GCC 命令的参数 针对 ARM c 仅完成编译操作而不进行编译操作 编译器把输入的文件生成后缀为 o 的目标文件 E 仅完成预处理操作而不进行后续处理操作 生成后缀为 i 的文件 S 仅完成预处理操作 编译操作而不进行后续操作 输出后缀为 s 的文件 o filename out 确定编译后的输出文件名为 filename out 可以根据自己的需求确定生成 的输出文件名称 但不能与源文件名称相同 若不指定 则输出为 a out g 编译时产生一个用于调试的符号表 对元层序进行调试 O 对程序进行优化编译 I dirname 将目录名为 dirname 的目录加入到源程序头文件的目录列表中 L dirname 将目录为 dirname 的目录加入到库文件的目录列表中 假设源文件名称为 test c 以下是几个常见的 GCC 编译命令 arm linux gcc o test test c 生成文件名为 test 的输出文件 Arm linux gcc c o test o test c 生成文件名为 test o 的目标文件 Arm linux gcc S o test s test c 生成文件名为 test s 的汇编语言文件 Arm linux gcc E o test i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安阳疾控考试题库及答案
- 语文成教考试题库及答案
- 易班安全考试题库及答案
- 化工原理A2期末考试题库及答案
- 2025年锅炉水处理作业人员(特种作业)考试题库(含答案)
- 2025年新疆甜菜种植与农业技术推广应用合同
- 2025年贵州社区工作者考试备考题库及答案
- 浙江省高考试题及答案
- 港口督导员考试题及答案
- 水城县农机安全培训课件
- 教师岗位聘任申请书模板合集
- 2025年贵州省毕节市辅警招聘考试题库及答案
- 2025重庆市公安局江北区分局辅警招聘60人考试参考题库及答案解析
- 巴中市恩阳区2025年专项招聘卫生专业技术人员的(50人)考试参考题库及答案解析
- 车规级芯片设计-洞察及研究
- 道路运输业安全培训课件
- 一年级新生家长会校长讲话:习惯奠基成长路家校同行护萌娃
- 2025【粮食购销合同范本】粮食购销合同
- 德邦防御性驾驶培训课件
- 煤场安全生产知识培训课件
- 2025-2026学年人教版(2024)小学体育与健康二年级全一册《防溺水知危险》教学设计
评论
0/150
提交评论