No.35600 作者:galaxy612 邮件:micro9229@yahoo.com.cn ID:104123 登陆:1次 文章数:1篇 最后登陆IP:219.238.114.66 最后登陆:2008/5/28 17:52:45 注册:2008/3/13 17:12:54 财富:105 发帖时间:2008/3/13 17:16:01 发贴者IP:219.238.114.66 标题:galaxy612:推荐研究BootLoader的新书 摘要:No.35600推荐研究BootLoader的新书 ARM程序分析与设计  王宇行 编著 北京航空航天大学出版社 内容简介 以实例阐述知识点,从简到难,系统阐述ARM嵌入式开发的知识和技能。内容包括:ARM的开发工具及其开发的整个过程,ARM映像文件分析,ARM汇编语言和C语言,标准C库的用法,ARM汇编语言和C语言混合编程的技术,引导代码分析,ARM中断处理原理和实现方法,调试的基本原理和技术,分散加载技术,位置无关代码和数据的原理和开发方法。 本书可作为ARM嵌入式系统开发人员的参考书,也可作为学习ARM嵌入式技术的培训教材。 ? 2008,北京航空航天大学出版社,版权所有。 未经本书出版者书面许可,任何单位和个人不得以任何形式或手段复制或传播本书内容。 侵权必究。 前 言 嵌入式技术与ARM 在现实生活中,嵌入式设备随处可见,成为生活的一部分,如人人使用的手机,数码相机,个人数字助理(PDA)等。中国作为嵌入式设备消费和制造大国,对嵌入式技术人才的需求是巨大的。ARM处理器(它的全程是Advanced RISC Machines)是目前世界上最为流行的和应用最为广泛的32位处理器,它被嵌入到日常生活中使用的各种产品中,从手机到汽车里的定位仪器。它体积小,重量轻,成本低,可靠性高,高性能,低功耗,是嵌入式设备的核心。社会对基于ARM嵌入式技术的软硬件设计人才、应用开发人才的需求越来越大,同时基于ARM系统的开发人员也越来越庞大,有初学者,也有身经百战的资深工程师。这就是本书诞生的根本缘由。本书的目的,就是为读者提供学习和开发ARM系统所需要的技能和经过消化的知识点;使读者掌握基础知识的同时,系统地掌握基于ARM的嵌入式系统的开发方法,以最快的速度和最短的时间掌握ARM系统下的开发技术。 本书特点 1.基础与实践的结合 本书详细地以实例阐述了开发基于ARM的嵌入式系统所需要的基础知识,而采用的实例都来源于实际的工程开发,所以可以在实际的工程项目中直接采用。对于入门者,可以用它来学习基础知识;对于资深工程师,可以强化基础知识,也可以在实际的开发中参考借鉴。 2.分散与系统的结合 本书独立地阐述了基于ARM的嵌入式系统基础知识,同时也用实例系统地阐述了嵌入式系统的开发流程,点面结合,可以帮助读者系统地掌握ARM嵌入式系统的开发技术。 主要内容 全书共分11章,以实例阐述知识点,从简到难,系统地阐述了嵌入式开发知识和技能。 第1章:描述ARM的开发工具及其开发的整个过程,包括编译、链接以及最终可执行映像文件的产生。并对常用的编译参数和makefile做了简单的描述。最终的目的是,给大家一个总体开发轮廓和概念,为理解以后的章节做准备。 第2章:系统的介绍ARM编译器armcc,armasm输出的目标文件,和ARM链接器输出的可执行映像文件的物理结构和逻辑结构。并详细描述与之相关的一些技术和实现实例:装载域和运行域的存储映射,分散加载技术。 第3章:详细的阐述ARM处理器的基本概念,ARM汇编语言编程及大量的ARM汇编实例。 第4章:介绍用C语言开发ARM系统常用的一些技术概念,以及C语言编程的优化技术。 第5章:介绍标准C库的使用方法,使用流程以及对标准C库的裁减方法以满足实际的目标系统。 第6章:以实例阐述ARM语言和C语言混合编程的技术,包括内联汇编、嵌入式汇编以及ARM语言和C语言函数相互调用的编程技术。 第7章:详细阐述系统初始化原理和流程。对系统初始化过程中相关的硬件作了详细描述。 第8章:详细阐述中断处理原理和实现方法。以一个外部中断为例来介绍编写中断服务程序的流程和一些基本概念 第9章:介绍调试的基本原理和技术。重点讨论基于JTAG的调试的基本理论和方法。 第10章:阐述分散加载技术所需要的配置文件和分散加载技术在实际开发中的使用技术和方法。 第11章:用一个实例来阐述位置无关的代码和数据的原理和开发方法。 主要读者 本书对ARM处理器从基本概念到整个系统开发做了详细的阐述。涉及到每个概念和知识点,不是对他们简单的罗列,而是以通俗易懂的语言和详细的实例来阐述他,使读者不需要咀嚼消化,就可以直接吸收。通过阅读本书,读者可以系统地掌握ARM开发的各方面知识,所以,他可以做为学习ARM技术的培训资料、可以作为开发人员的参考资料、也可以作为大学学生的辅导教材。 致 谢 感谢我的很多同事提供了技术上的建议,感谢我的家人对我的支持和关心。由于时间仓促和水平所限,错误和不妥的地方,请读者批评指正并给出宝贵意见。 王宇行 2007年8月 目录 第一章 ARM 开发工具 1 1.1 开发流程 1 1.2 开发工具 3 1.2.1 编译器简介 3 1.2.2 链接器简介 4 1.2.3 fromelf工具 5 1.2.4 常用的编译和链接参数 6 1.2.5 makefile基础 10 1.3 总 结 14 第二章 ARM 映像文件分析 15 2.1 映像文件物理结构 15 2.1.1 ELF简介 16 2,1,2 目标文件的物理结构 17 2.1.3 可执行映象文件的物理结构 22 2.2 映像文件的逻辑结构 26 2.2.1逻辑结构的基本构成 26 2.2.2 装载域和运行域 29 2.2.3 分散加载技术 32 2.2.4 装载域到运行域的数据拷贝 36 2.3 本章总结 41 第三章:ARM汇编语言基础 42 3.1 ARM 处理器概述 42 3.1.1 ARM处理器模式 42 3.1.2 寄存器 43 3.1.3 处理器工作状态 52 3.1.4 ARM数据长度 52 3.1.5 ARM存储系统 53 3.1.6 存储和地址相关内容 54 3.2 ARM 汇编程序的结构 59 3.2.1段 59 3.2.2 标识符(label) 60 3.2.3 程序入口 62 3.2.4 程序结束 62 3.2.5 包含其它汇编源文件 62 3.2.6引用外部标识符 62 3.3 ARM 汇编程序的常量和变量 63 3.3.1常量 63 3.3.2变量 64 3.4 ARM 汇编程序的运算符和表达式 68 3.4.1数字表达式 69 3.4.2 逻辑表达式 70 3.4.3 数字和逻辑表达式实例 70 3.4.4 字符串表达式 71 3.5 ARM 汇编程序的数据定义 75 3.5.1 LTORG 75 3.5.2 DCB 79 3.5.3 DCW 79 3.5.4 DCD 79 3.5.5 DCB,DCW,DCD使用实例 80 3.5.6 SPACE 81 3.5.7 MAP和FILED 82 3.5.8 MAP和FILED实例 82 3.6 ARM 汇编程序的控制结构 84 3.6.1 选择 84 3.6.2 循环 8 ......
>>返回讨论的主题
|