嵌入式高级C语言进阶:编译、汇编与调试详解

需积分: 9 10 下载量 141 浏览量 更新于2024-08-02 收藏 374KB PDF 举报
本篇文档主要讲述了嵌入式高级C语言编程进阶课程的第三讲内容,由东南大学集成电路研究中心的凌明老师讲解。课程重点涵盖以下几个方面: 1. 编译、汇编与链接:这部分介绍了软件开发的基础流程,包括如何使用C语言编写的源代码(如`file.c`)通过编译器转化为汇编文件(`file.s`),再进一步被汇编器转换成机器可执行的目标文件(`file.o`)。每个目标文件都是独立编址的,且编译器和汇编器分别负责不同的步骤:编译器将C代码转化为汇编代码,而汇编器则将汇编代码转化为机器码。 2. 面向嵌入式系统的软件开发环境:讲解了传统的开发环境,如编译器、汇编器、链接器(如Liber)、编辑器等工具在开发过程中的作用。此外,还提到了集成开发环境(IDE)和调试器(用于代码调试和跟踪)的重要性。另外,仿真器(ICE)和烧结工具也是必不可少的,用于在实际硬件上运行和测试程序。 3. 文件组织与依赖关系:阐述了项目中文件的结构和组织方式,包括源文件、汇编文件、链接时使用的库文件(如`.lib`文件)等,以及如何通过Makefile来管理和控制编译过程中的依赖关系。 4. C语言基础:介绍了基本的C数据类型,如整型、浮点型等,以及C循环结构(如for、while、do-while)的使用。此外,还涉及了寄存器分配、函数调用和结构体的组织,这些都是高效编写嵌入式代码的关键。 5. 移植问题:针对嵌入式系统的特殊性,讨论了如何处理从通用平台到特定硬件平台的代码移植问题,包括操作系统库和标准C库的移植。 6. 目标系统与转换工具:明确了目标系统对软件开发的影响,强调了不同类型的二进制文件(如`.out`、`.xrf`、`.lst`)以及错误处理的重要性。同时,转换工具如交叉编译器和调试工具也在这一环节中发挥作用。 这是一门深入浅出的嵌入式高级C语言课程,旨在帮助学生掌握从源代码到可执行程序的全过程,以及在嵌入式环境中高效开发和调试技巧。