| 价格 | ¥35.00 |
| 发货 | 广东东莞市 |
| 数量 | -+ |
| 库存 | 100本 |
ARM公司的32位微控制器IP核因其的性能和良好的扩充性为广大设计者所喜爱。目前,大多数半导体公司都推出了自己的ARM SoC芯片,使用ARM芯片构造32位的嵌入式系统成为嵌入式系统中的一个重要分支。 本书全面、深入地介绍了基于ARM SoC的嵌入式系统开发技术,包括ARM系统结构与汇编程序设计、基于ARM的嵌入式系统启动代码bootloader设计、实时嵌入式操作系统及其移植方法、嵌入式系统中TCP/IP协议栈的开发、基于ARM SoC的音频应用开发、图形用户界面设计、嵌入式文件系统的移植方法等,并且给出了相应的设计实例。 本书在全面介绍嵌入式系统基本原理的基础上,以目前较为流行的ATMEL、三星等公司的ARM芯片为例,结合μC/OS-II与Linux介绍了底层驱动程序与应用软件的设计方法。 本书取材新颖、内容丰富、实用性强,涵盖了嵌入式系统开发的基本领域,适合从事嵌入式开发的技术人员阅读,也可作为高等院校相关专业学生和研究生学习基于ARM的嵌入式系统开发的参考书。
第1章 ARM体系结构 1 1.1 ARM处理器概述 1 1.1.1 ARM产品背景 1 1.1.2 ARM处理器系列介绍 1 1.1.3 ARM处理器体系结构扩展 2 1.2 ARM体系结构概述 3 1.2.1 ARM体系结构版本 3 1.2.2 数据类型 4 1.2.3 处理器模式 4 1.2.4 寄存器 5 1.2.5 通用寄存器 5 1.2.6 程序状态寄存器 7 1.2.7 异常 10 1.2.8 ARM过程调用标准 APCS 简介 14 1.3 ARM指令集 16 1.3.1 条件执行 16 1.3.2 ARM指令集列表 18 1.3.3 32位代码基本规则 42 1.3.4 ARM指令应用举例 42 1.4 Thumb指令集 44 1.5 IEEE浮点指令集简介 54 1.6 ARM指令时序 59 1.7 32位ARM处理器调试技术 60 1.7.1 边界扫描技术 JTAG 60 1.7.2 ARM芯片的实时调试方案 E-TRACE 61 1.7.3 Nexus标准 61 第2章 汇编语言程序设计 63 2.1 汇编语言程序结构 63 2.1.1 基于GCC编译器的汇编语言程序框架 63 2.1.2 基于CodeWarrior的汇编程序框架 65 2.2 符号数据定义与数据结构 67 2.2.1 符号命名规则 67 2.2.2 数值常量的使用与EQU指令 67 2.3 变量 67 2.3.1 数值变量和数值表达式 68 2.3.2 逻辑变量和逻辑表达式 69 2.3.3 字符串变量和字符串表达式 69 2.3.4 变量内存空间分配 69 2.3.5 变量初始化 70 2.4 数据区分配和管理 70 2.4.1 使用SPACE分配内存区域 70 2.4.2 使用DCB分配一个或多个字节的内存区域 70 2.4.3 使用ALIGN对齐内存数据 71 2.4.4 分配一个或多个字的内存区域 72 2.5 数据结构的描述 72 2.5.1 使用MAP和FIELD描述数据结构 72 2.5.2 相对地址 74 2.5.3 综合实例 74 2.6 分支与转移汇编程序设计 76 2.6.1 简单分支结构 76 2.6.2 复杂的分支结构 77 2.7 使用跳转表解决分支转移 79 2.7.1 程序实例 79 2.7.2 什么是跳转表 81 2.7.3 如何使用跳转表 82 2.8 使用跳转实现循环 82 2.8.1 通过条件跳转实现do...while循环 82 2.8.2 通过条件跳转实现while循环 83 2.8.3 多重循环程序设计 84 2.9 模块化程序设计 85 2.9.1 简单函数调用例子 86 2.9.2 寄存器保护 87 2.9.3 参数传递 87 2.9.4 函数跳转表 89 2.9.5 使用宏定义实现函数功能 90 2.9.6 和函数相关的伪指令 91 2.10 语言和汇编语言的混合编程 92 2.10.1 嵌入式汇编语句 92 2.10.2 语言和汇编语言函数间的相互调用 94 2.11 其他常见的伪指令 95 第3章 ARM系统启动代码分析和开发 97 3.1 ARM的异常与RESET 97 3.2 了解与启动相关的硬件信息与开发手段 98 3.3 C/C 语言开发和运行环境 99 3.3.1 工具链准备 99 3.3.2 GNU环境简介 101 3.3.3 C语言运行环境 102 3.3.4 一个简单boot代码例子 105 3.4 BOOT代码分析 109 3.4.1 U-BOOT简介 109 3.4.2 代码分析和移植相关 112 3.5 固件开发调试方法 120 第4章 实时操作系统在ARM上的移植 122 4.1 实时操作系统简介 122 4.2 μC/OS-II操作系统 123 4.2.1 μC/OS-II介绍 123 4.2.2 μC/OS-II应用程序开发 123 4.2.3 μC/OS-II移植 126 4.3 eCos简介及移植介绍分析 140 4.3.1 eCos简介 140 4.3.2 eCos的移植介绍 141 第5章 基于ARM的网络协议栈实现 143 5.1 协议栈实现框架 143 5.1.1 系统硬件驱动程序 144 5.1.2 znet协议初始化 146 5.1.3 znet协议主任务 147 5.2 协议实现模块代码分析 150 5.2.1 全局数据结构和μC/OS-II中的接口 150 5.2.2 全局缓冲管理模块 154 5.2.3 协议主任务和驱动交互的模块 158