发表于2025-01-25
因ARM的32位元微控制器IP核其卓越的性能和良好的扩充性,为广大设计者偏好,所以目前大多数的半导体公司都推出了自己的ARMSOC晶片,而ARM晶片构造里的32位元嵌入式系统成为一个重要的部分,本书由浅入深的方式来使读者对ARM系统有全面性的了解及认知,内容涵盖了ARM晶片嵌入式系统设计原理及其具体应用,并透过大量实例介绍视窗函数及Nano-X中字体的处理、影像绘制等的应用。本书适合半导体相关业界人员或有兴趣的读者阅读。
本书特色
1. 由浅入深的方式来使读者对ARM系统有全面性的了解及认知。
2. 使用大量实例对视窗函数以及Nano-X中字体的处理、影像绘制、讯息传递等有详细介绍。
第1章 ARM系统结构 1-1
1.1 ARM处理器概述 1-1
1.1.1 ARM产品背景 1-1
1.1.2 ARM处理器系列介绍 1-2
1.1.3 ARM处理器系统结构扩展 1-3
1.2 ARM系统结构概述 1-4
1.2.1 ARM系统结构版本 1-4
1.2.2 资料类型 1-5
1.2.3 处理器模式 1-6
1.2.4 暂存器 1-7
1.2.5 通用暂存器 1-7
1.2.6 程式状态暂存器 1-10
1.2.7 异 常 1-14
1.2.8 ARM程序唿叫标准(APCS)简介 1-19
1.3 ARM指令集 1-23
1.3.1 条件执行 1-23
1.3.2 ARM指令集列表 1-25
1.3.3 32位元程式码基本规则 1-60
1.3.4 ARM指令应用举例 1-61
1.4 Thumb指令集 1-63
1.4.1 Thumb指令集概述 1-63
1.5 IEEE浮点指令集简介 1-78
1.6 ARM指令时序 1-86
1.7 32位元ARM处理器除错技术 1-88
1.7.1 边界扫描技术(JTAG) 1-88
1.7.2 ARM晶片的即时除错方案(E-TRACE) 1-89
1.7.3 Nexus标准 1-89
第2章 组合语言程式设计 2-1
2.1 组合语言程式结构 2-1
2.1.1 基于GCC编译器的组合语言程式结构 2-2
2.1.2 基于CodeWarrior的组合语言程式结构 2-4
2.2 号资料定义与资料结构 2-6
2.2.1 号命名规则 2-6
2.2.2 数值常数的使用与EQU指令 2-6
2.3 变 数 2-7
2.3.1 数值变数和数值运算式 2-7
2.3.2 逻辑变数和逻辑运算式 2-9
2.3.3 字串变数和字串运算式 2-10
2.3.4 变数记忆体空间分配 2-10
2.3.5 变数初始化 2-10
2.4 资料区分配和管理 2-11
2.4.1 使用SPACE分配记忆体区域 2-11
2.4.2 使用DCB分配一个或多个位元组的记忆体区域 2-12
2.4.3 使用ALIGN对齐记忆体资料 2-12
2.4.4 分配一个或多个字的记忆体区域 2-13
2.5 资料结构的描述 2-14
2.5.1 使用MAP和FIELD描述资料结构 2-14
2.5.2 相对地址 2-16
2.5.3 综合实例 2-17
2.6 分支与转移组合语言程式设计 2-19
2.6.1 简单分支结构 2-19
2.6.2 复杂的分支结构 2-20
2.7 使用跳跃表解决分支转移 2-23
2.7.1 程式实例 2-23
2.7.2 什么是跳跃表 2-25
2.7.3 如何使用跳跃表 2-26
2.8 使用跳跃实作回圈 2-27
2.8.1 透过条件跳跃实作do…while回圈 2-27
2.8.2 透过条件跳跃实作while回圈 2-28
2.8.3 多重回圈程式设计 2-28
2.9 模组化程式设计 2-30
2.9.1 简单函数唿叫例子 2-31
2.9.2 暂存器保护 2-33
2.9.3 参数传递 2-33
2.9.4 函数跳跃表 2-34
2.9.5 使用巨集定义实作函数功能 2-36
2.9.6 和函数相关的虚拟指令 2-37
2.10 高阶语言和组合语言的混合程式设计 2-38
2.10.1 嵌入式组合语言语句 2-39
2.10.2 高阶语言和组合语言函数间的相互唿叫 2-41
2.11 其他常见的虚拟指令 2-43
第3章 ARM系统启动程式码分析和开发 3-1
3.1 ARM的异常与RESET 3-1
3.2 了解与启动相关的硬体资讯与开发手段 3-3
3.3 C/C++语言开发和执行环境 3-4
3.3.1 工具链准备 3-4
3.3.2 GNU环境简介 3-6
3.3.3 C语言执行环境 3-8
3.3.4 一个简单boot程式码例子 3-11
3.4 BOOT程式码分析 3-16
3.4.1 U-BOOT简介 3-16
3.4.2 程式码分析和移植相关 3-20
3.5 韧体开发除错方法 3-29
第4章 即时操作系统在ARM上的移植 4-1
4.1 即时操作系统简介 4-1
4.2 μC/OS-II作业系统 4-2
4.2.1 μC/OS-II介绍 4-2
4.2.2 μC/OS-II应用程式开发 4-3
4.2.3 μC/OS-II移植 4-6
4.3 eCos简介及移植介绍分析 4-24
4.3.1 eCos简介 4-24
4.3.2 eCos的移植介绍 4-25
第5章 基于ARM的网路协定堆叠实作 5-1
5.1 协定堆叠实作结构 5-2
5.1.1 系统硬体驱动程式 5-3
5.1.2 znet协定初始化 5-5
5.1.3 znet协定主任务 5-7
5.2 协定实作模组程式码分析 5-10
5.2.1 全域资料结构和μC/OS-II中的介面 5-10
5.2.2 全域缓冲管理模组 5-15
5.2.3 协定主任务和驱动交互的模组 5-20
5.2.4 ARP实作模组及主任务的IP资料分发 5-24
5.2.5 ICMP实作模组 5-34
5.2.6 API实作模组 5-38
5.2.7 UDP实作模组 5-48
5.2.8 TCP实作模组 5-55
5.3 协定堆叠实作回顾 5-68
第6章 外部汇流排与音频系统设计 6-1
6.1 IIC(I2C)汇流排基本原理 6-1
6.1.1 起始和停止条件 6-2
6.1.2 资料传输 6-3
6.1.3 读写操作 6-3
6.2 I2S音频设备汇流排的原理和应用 6-4
6.2.1 I2S汇流排简介 6-4
6.2.2 I2S汇流排协定 6-5
6.2.3 基于I2S介面的音频系统硬体设计 6-7
6.2.4 基于Cirrus Logic公司多媒体ARM晶片的音频系统设计 6-8
6.3 音频设备驱动 6-10
6.3.1 音频设备基础知识 6-10
6.3.2 Linux驱动程式结构 6-11
6.3.3 音频设备档 6-13
6.3.4 程式和音频设备间的通信过程 6-16
6.3.5 设备的初始化和卸载 6-17
6.3.6 设备打开常式open() 6-20
6.3.7 记忆体映对和mmap常式 6-22
6.3.8 暂存区的设计 6-26
6.3.9 ioctl系统唿叫 6-30
6.3.10 音频资料的播放和录制常式 6-33
6.4 音频应用程式的设计 6-36
6.4.1 音频应用程式基本框架 6-36
6.4.2 音频参数设置 6-38
6.4.3 混频器(Mixer)基础 6-44
6.4.4 综合应用实例 6-47
6.4.5 音频应用程式设计注意事项 6-55
第7章 快闪记忆体晶片与嵌入式档案系统 7-1
7.1 快闪记忆体的物理特性 7-1
7.2 嵌入式档案系统概述 7-3
7.3 NAND设备驱动程式 7-4
7.3.1 NAND晶片 7-4
7.3.2 NAND控制器 7-9
7.3.3 NAND设备MTD程式制作 7-11
7.4 NOR设备驱动 7-16
7.4.1 NOR晶片 7-16
7.4.2 通用快闪记忆体介面(CFI) 7-17
7.5 针对快闪记忆体晶片的档案系统 7-21
7.5.1 用于中间层TrueFFS 7-22
7.5.2 让TrueFFS和引导磁区共用快闪记忆体 7-24
7.5.3 TrueFFS的配置与使用 7-25
7.5.4 在使用TrueFFS的快闪记忆体上面安装Linux 7-27
7.6 JFFS/JFFS2档案系统 7-31
7.6.1 日志档案系统储存结构 7-32
7.6.2 JFFS2 7-35
7.6.3 在Linux中使用JFFS/JFFS2 7-41
7.6.4 MTD的其他用法:使用RAMDISK制作启动核心 7-45
7.7 YAFFS档案系统 7-47
7.7.1 YAFFS的下载与安装 7-47
7.7.2 YAFFS与JFFS/JFFS2的不同点 7-49
7.7.3 YAFFS实作机制 7-50
第8章 嵌入式图形使用者介面基础 8-1
8.1 LCD显示器基本原理 8-1
8.2 嵌入式GUI 8-3
8.2.1 MiniGUI 8-3
8.2.2 Microwindows 8-4
8.2.3 Microwindows_0.90_release的安装 8-5
8.3 Microwindows的系统结构 8-13
8.3.1 设备驱动 8-13
8.3.2 MicroGUI—设备无关图形引擎 8-19
8.3.3 Microwindows的应用程式介面API 8-21
8.4 图形引擎层 8-22
8.5 编译环境的选项(Makefile档设置) 8-28
8.6 基于Microwindows类型的API的程式设计 8-30
8.6.1 视窗的基本元素 8-30
8.6.2 “Hello world”,你的第一个Microwindows程式 8-31
8.6.3 图形绘制函数小节 8-42
8.6.4 Microwindows API的优缺点 8-43
第9章 基于Nano-X的嵌入式GUI设计 9-1
9.1 Client/Server模式 9-1
9.2 Nano-X风格的“Hello World” 9-3
9.3 Nano-X视窗管理器 9-8
9.4 程式中使用点阵图资源 9-9
9.4.1 将点阵图变成C语言原始程式 9-9
9.4.2 影像尺寸 9-9
9.4.3 影像显示 9-10
9.4.4 编译执行 9-12
9.5 从档中载入图片 9-13
9.6 文字输出与字体 9-15
9.6.1 文字输出函数 9-15
9.6.2 字体的基础知识 9-15
9.6.3 字体识别字 9-16
9.7 高阶使用者介面设计 9-20
9.7.1 事件回应 9-20
9.7.2 窗口间通信 9-23
9.7.3 多视窗应用程式 9-23
9.7.4 视窗控制项 9-28
9.7.5 游戏制作 9-37
ARM 嵌入式系统开发与应用 pdf epub mobi txt 电子书 下载 2025
ARM 嵌入式系统开发与应用 pdf epub mobi txt 电子书 下载