ARM(Advanced RISC Machines)公司自1990年11月正式成立以来,在32位RISC开发领域不断取得突破。截至2006年9月,ARM公司与合作伙伴所签订的处理器授权协议总数达到448项,物理IP的授权协议总数达到263项。在所有IP授权市场中,ARM占有26%,份额远超过其他竞争对手。随着ARM处理器在全球范围的流行,32位的RISC嵌入式处理器已经成为嵌入式应用和设计的主流。
目前,随着嵌入式技术的不断发展,国内外越来越多的工程师都选用ARM来设计他们的产品,ARM9处理器在嵌入式系统开发中占有重要位置。本书以S3C2410A微处理器为硬件平台,在简要介绍汇编语言的基础上,详细讲解基于ARM处理器的C语言开发技术。
第1章简要介绍ARM处理器的基本概念,以及ARM处理器扩展技术、类型和处理器的选型。
第2章介绍ARM处理器编程模型和指令集知识,包括ARM编程模型、ARM指令结构和寻址方式,以及ARM指令集、Thumb指令集和DSP扩展指令集。通过本章的阅读,可使读者了解ARM汇编程序的开发。
第3章介绍ARM程序设计基础知识,着重介绍汇编和C语言的混合编程技术。包括伪操作、伪指令、汇编,以及C语言的混合编程技术和编译器的使用,均通过实例进行了详细的讲解。通过本章的阅读,读者能够开发简单的C语言和汇编混合程序。
第4章介绍S3C2410A处理器的硬件结构。通过对本章的阅读,读者可以掌握基于S3C2410A的*小系统设计。
第5章介绍S3C2410A的存储器设计技术,包括存储器控制寄存器、存储器地址接口设计、Nor Flash接口设计、Nand Flash接口设计和SDRAM接口设计。
第6章介绍S3C2410A处理器的时钟和功耗管理、PWM定时器、实时时钟、看门狗。
第7~10章介绍S3C2410A处理器的中断通用端口设计、串行接口设计、LCD接口设计、A/D和触摸屏接口设计。通过阅读,读者能够掌握S3C2410A主要部件的编程。
第11章介绍S3C2410A处理器引导程序设计。
第12章介绍基于S3C2410A处理器的Linux移植技术,包括引导程序的移植、内核移植,以及文件系统的建立,*终在嵌入式Linux下成功移植SVM,实现说话人算法的测试。
附带程序:
文件夹内为各章节对应的编程实例,只包含本章节涉及到的程序代码。7.2文件夹内包含ADS环境下完整的开发代码。11文件夹内是针对S3C2410A开发的汇编初始化程序,简单实用。成书过程中,还得到了袁文江、董小丰的帮助,在此表示感谢。
由于编者的水平有限,书中难免存在不妥之处,恳请读者批评指正。