新書推薦:

《
广雅·法史万象:中国传统法律文化撷英(通过礼与法、情与法的关系,展现法律史背后的文化史。)
》
售價:NT$
403.0

《
梁启超:维新1873—1898
》
售價:NT$
449.0

《
无路之路
》
售價:NT$
305.0

《
暗黑历史书系·古代战争史
》
售價:NT$
500.0

《
长路行(带你看民国顶级书香世家的真实生活日常)
》
售價:NT$
347.0

《
风声(珍藏纪念版,全4册)
》
售價:NT$
806.0

《
问心三部曲 追问初心撕裂 名家力荐 持续畅销的现象级作品
》
售價:NT$
602.0

《
暗黑历史书系·罗马帝国
》
售價:NT$
449.0
|
編輯推薦: |
对ARM处理器的体系结构、指令系统和开发工具进行了比较全面的介绍,可以使读者掌握开发基于ARM的应用系统的各方面的知识。
|
內容簡介: |
ARM处理器是一种16/32位的高性能、低成本、低功耗的嵌入式RISC微处理器,由ARM公司设计,然后授权给各半导体厂商生产,它目前已经成为应用最为广泛的嵌入式处理器。《ARM体系结构与编程(第3版)》分为16章,对ARM处理器的体系结构、指令系统和开发工具进行了较全面的介绍。其中包括ARM体系结构、ARM程序设计模型、ARM汇编语言程序设计、ARMC/C++编译器、ARM连接器的使用、ARM集成开发环境CodeWarriorIDE及高性能调试工具ADW的使用。此外还介绍一些典型的基于ARM体系的嵌入式应用系统设计的基本技术。最后讲述了STM32微控制器应用开发和自动驾驶系统应用开发。通过阅读《ARM体系结构与编程(第3版)》,读者可以掌握开发基于ARM应用系统各方面的知识。《ARM体系结构与编程(第3版)》可作为学习ARM技术的材料,也可作为嵌入式系统开发人员的参考手册。
|
關於作者: |
陈长生,河南省教育厅学术技术带头人,河南省文明教师;数据安全与恢复竞赛指导、评委;河南省高职高专院校电工电子示范性实训基地建设项目负责人;主要从事电子技术和嵌入式物联网技术的研究和教学工作。先后发表论文17篇,出版专著、教材7部,参与省部级以上科研项目3项。
|
內容試閱:
|
前 言
嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。
嵌入式系统并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越强大,嵌入微控制芯片的设备和系统也越来越多,从而使得这种技术越来越引人注目。嵌入式系统与通用的计算机系统既有相似之处,也有明显的区别。通常,嵌入式系统中的系统程序(包括操作系统)与应用程序是浑然一体的,这些程序被编译连接成一个可执行的二进制映像文件(Image),这个二进制映像文件被固化在系统中,在系统复位后自动执行。嵌入式系统的开发系统与实际运行的系统并不相同,需要交叉编译系统和适当的调试系统。
ARM嵌入式处理器是一种高性能、低功耗的RISC芯片。它由英国ARM公司设计,世界上几乎所有的主要半导体厂商都生产基于ARM体系结构的通用芯片,或在其专用芯片中嵌入ARM相关技术。如TI、Motorola、Intel、NS、Philips、Altera、Agilent、Atmel、Hynix、Sharp、Triscend、NEC、Cirrus Logic、Samsung和LinkUp等公司都有相应的产品。目前ARM芯片广泛应用于无线产品、PDA、GPS、网络、消费电子产品、STB及智能卡中,基于ARM内核的处理器年产量突破90亿个,已经成为业界的龙头。本书较全面地介绍基于ARM技术的嵌入式应用系统的开发技术。
1. 本书的主要读者
本书对ARM处理器的体系结构、指令系统、开发工具做了较全面的介绍。并在此基础上讨论一些典型的基于ARM体系嵌入式应用系统设计时的基本技术。通过阅读本书,读者可以掌握开发基于ARM应用系统各方面的知识。它可作为学习ARM技术的材料,也可作为嵌入式系统开发人员的参考手册。
2. 本书的主要内容
本书以可执行的二进制映像文件为中心,介绍基于ARM微处理器的嵌入式系统的开发过程所涉及的知识,主要包括以下几部分内容。
?Image文件的“原材料”,包括*.c、*.h、*.obj、*.asm及*.lib文件。这些文件包括操作系统,通常以*.lib形式提供,也有一些操作系统附属的源代码,可以是*.c、*.h、*.asm;BSP(其实也是操作系统的一部分,因为它对于不同的计算机主板是不同的,这里将其单独列出),它通常为*.c、*.h、*.asm;语言库(如C语言运行库),通常为*.lib;用户自己的应用程序,通常为*.c、*.h、*.asm。
本书将对应地介绍ARM体系结构;ARM指令系统;ARM汇编语言,对应于*.asm文件;ARM C语言的独特部分(与标准C相同的部分这里不再介绍),对应于*.c;ARM编程指南;ARM编译器使用。
本书还将介绍ARM公司提供的集成开发环境CodeWarrior IDE的使用方法。
?Image文件各部分的组织方法以及在内存中的安排。
本书将对应地介绍ELF格式映像文件的组成、ARM连接器的使用、程序在 ROM中的存放技术。
?Image文件中各部分的功能。
本书将对应地介绍一个嵌入式系统各部分的功能,着重介绍系统启动部分的设计。这部分内容是嵌入式系统涉及的难点,将通过一些实例来介绍。
?Image的调试。
本书主要介绍ARM公司的调试工具ADW的使用方法,同时将介绍嵌入式系统的基本调试方法。
3. 本书的结构安排
全书包括16章。各章主要内容说明如下。
第1章简要介绍ARM公司的情况以及基于ARM技术的嵌入式系统的应用情况,比较详细地介绍了ARM系列处理器及其特点,并介绍了ARM的寄存器及其使用方法、ARM的存储系统和异常中断等知识。通过对本章的学习,读者可以对ARM技术有一个总体了解。
第2章简要介绍了ARM指令集和主要寻址方式。通过学习本章,读者能够详细了解ARM指令集的相关知识,同时能够掌握ARM指令的寻址方式,为下一章学习各种ARM指令集打下坚实的基础。
第3章详细介绍了ARM指令集。通过介绍各指令的编码格式、语法格式、执行的操作以及应用方法,向读者全面阐述了ARM指令集的用法,同时通过介绍一些常用的ARM指令代码段,帮助读者进一步理解各指令的应用方法,从而使读者能够快速理解和掌握ARM指令的应用,为进行嵌入式编程积累经验。
第4章介绍ARM汇编语言程序设计的基本方法以及ARM汇编器armasm的使用方法。其中包括ARM汇编语言中的伪操作(Directives)、宏指令(Pseudo-instruction)、汇编语言格式、armasm的使用方法以及一些汇编语言程序示例。通过这些介绍,读者可以掌握ARM汇编语言设计的方法。
第5章介绍ARM体系的存储系统。在一个嵌入式系统中,存储系统是非常重要的一部分。这里将介绍ARM体系中用于存储管理的协处理器CP15、存储管理单元MMU、写缓冲以及高速缓存、快速上下文切换技术,还将介绍有关存储系统的程序设计。并以LinkUp公司ARM处理器芯片L7210中的存储系统为例,介绍ARM存储系统的设计技术。其中没有介绍存储保护单元MPU,这是因为MPU更简单,而MMU的应用更为广泛。本章对于虚拟存储技术、缓冲技术以及高速缓存技术都将做比较详细的介绍,使那些从事基于低端单片机应用的开发人员更容易理解ARM体系中存储系统的设计技术。
第6章介绍ARM/Thumb过程调用的标准。为了能使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序间的调用制定一定的规则。ATPCS规定了ARM程序和Thumb程序中子程序调用的基本规则。这些基本规则包括子程序调用过程中寄存器的使用规则、数据栈的使用规则和参数的传递规则等。同时,该章还将介绍支持数据栈检查的ATPCS以及与代码/数据位置无关的ATPCS。
第7章介绍ARM程序和Thumb程序混合使用的方法。如果程序遵守支持ARM程序和Thumb程序混合使用的ATPCS,则程序中的ARM子程序和Thumb子程序可以相互调用。对于C/C++源程序而言,只要在编译时指定-apcs /interwork选项,编译器生成的代码就遵守支持ARM程序和Thumb程序混合使用的ATPCS。而对于汇编源程序而言,用户必须编写的代码遵守支持ARM程序和Thumb程序混合使用的ATPCS。该章还将介绍相关的选项和编程技术。
第8章介绍ARM汇编程序以及C/C++程序之间相互调用的技术。其中将介绍C编译器中内嵌的汇编器的使用方法。
第9章详细介绍ARM体系中的异常中断技术。其中包括异常中断处理的过程,各种异常中断处理的进入和返回机制,在应用程序中使用异常中断处理的方法以及各种异常中断的详细使用技术。
第10章主要介绍ARM体系中C/C++语言程序设计的基本知识。其中包括ARM C/C++语言的一些特性、ARM C/C++编译器的使用方法,以及ARM C/C++运行时库的使用方法。通过这些介绍,可以使读者掌握开发嵌入式C/C++应用程序的基本知识和方法,进一步了解嵌入式应用系统的特点。
第11章介绍如何由目标文件以及库文件得到可执行的映像文件。其中包括ELF格式的可执行映像文件的组成、ARM连接器的使用方法,以及连接过程所执行的各种操作。最后通过一些实例介绍在
|
|