ARM应用开发教程:编译与链接过程详解

需积分: 42 48 下载量 190 浏览量 更新于2024-08-09 收藏 1.95MB PDF 举报
本文档主要介绍了编译和链接过程,特别是针对初学者的关于扩展卡尔曼滤波器(Extended Kalman Filter, EKF)在ARM应用系统开发中的具体步骤和使用案例。文章以LEDcircle工程为例,展示了如何在工程目录下生成DebugRe目标下的映像文件和二进制文件,这些文件对于调试和将程序烧写到S3C4510B的Flash中执行至关重要。 首先,文档强调了在不使用CodeWarrior IDE的情况下,使用命令行工具编译应用程序的方法。对于简单的工程或希望利用ADS提供的工具但不想依赖IDE的开发者,可以手动编写源文件(如Init.s和main.c),并创建makefile来管理编译流程。makefile中定义了编译器(如armcc)、链接器(armlink)和其他必要的工具路径,以及编译选项,例如-g(保持符号表以支持调试)和-O1(优化级别)等。 然后,文档涉及到了ARM微处理器的详细介绍,包括其概述、应用领域、特点、系列(如ARM7、ARM9、Xscale等)、结构(如RISC体系结构、寄存器和指令结构)、编程模型(工作状态、存储器格式、指令长度、异常处理等)。这对于理解S3C4510B这样的ARM处理器在系统设计中的应用至关重要,因为编译器和链接器的选择通常会根据目标平台的特性来确定。 在实际操作中,编译和链接过程涉及到将C源代码转换为汇编代码,再由汇编器处理为机器码,最后通过链接器将各个目标模块(对象文件)连接在一起形成可执行文件。在这个过程中,makefile扮演了关键角色,它定义了编译步骤和依赖关系,使得整个流程自动化且易于管理。 总结来说,本文档不仅讲解了编译和链接的基本原理,还深入探讨了ARM微处理器技术在实际项目中的应用,对于想要在ARM平台上进行系统设计和编程的开发者来说,提供了实用的指导和工具使用技巧。