注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件工程及软件方法学基于ARM的嵌入式系统开发与应用

基于ARM的嵌入式系统开发与应用

基于ARM的嵌入式系统开发与应用

定 价:¥35.00

作 者: 吴明晖主编;徐睿等编著
出版社: 人民邮电出版社
丛编项:
标 签: 程序设计 基本知识

ISBN: 9787115107527 出版时间: 2004-01-01 包装: 胶版纸
开本: 26cm 页数: 356 字数:  

内容简介

ARM公司的32位微控制器IP核因其卓越的性能和良好的扩充性为广大设计者所喜爱。目前,大多数半导体公司都推出了自己的ARMSoC芯片,使用ARM芯片构造32位的嵌入式系统成为嵌入式系统中的一个重要分支。本书全面、深入地介绍了基于ARMSoC的嵌入式系统开发技术,包括ARM系统结构与汇编程序设计、基于ARM的嵌入式系统启动代码bootloader设计、实时嵌入式操作系统及其移植方法、嵌入式系统中TCP/IP协议栈的开发、基于ARMSoC的音频应用开发、图形用户界面设计、嵌入式文件系统的移植方法等,并且给出了相应的设计实例。本书在全面介绍嵌入式系统基本原理的基础上,以目前较为流行的ATMEL、三星等公司的ARM芯片为例,结合μC/OS-II与Linux介绍了底层驱动程序与应用软件的设计方法。本书取材新颖、内容丰富、实用性强,涵盖了嵌入式系统开发的基本领域,适合从事嵌入式开发的技术人员阅读,也可作为高等院校相关专业高年级学生和研究生学习基于ARM的嵌入式系统开发的参考书。

作者简介

暂缺《基于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
5.2.4  ARP实现模块及主任务的IP数据分发  161
5.2.5  ICMP实现模块  170
5.2.6  API实现模块  172
5.2.7  UDP实现模块  181
5.2.8  TCP实现模块  187
5.3  协议栈实现回顾  198
第6章  外部总线与音频系统设计  199
6.1  IIC(I2C)总线基本原理  199
6.1.1  起始和停止条件  199
6.1.2  数据传输  200
6.1.3  读写操作  200
6.2  I2S音频设备总线的原理和应用  201
6.2.1  I2S总线简介  201
6.2.2  I2S总线协议  202
6.2.3  基于I2S接口的音频系统硬件设计  203
6.2.4  基于Cirrus Logic公司多媒体ARM芯片的音频系统设计  204
6.3  音频设备驱动  206
6.3.1  音频设备基础知识  206
6.3.2  Linux驱动程序框架  206
6.3.3  音频设备文件  208
6.3.4  程序和音频设备间的通信过程  210
6.3.5  设备的初始化和卸载  211
6.3.6  设备打开例程open()  213
6.3.7  内存映射和mmap例程  214
6.3.8  缓存区的设计  218
6.3.9  ioctl系统调用  221
6.3.10  音频数据的播放和录制例程  224
6.4  音频应用程序的编写  226
6.4.1  音频应用程序基本框架  226
6.4.2  音频参数设置  228
6.4.3  混频器(Mixer)基础  232
6.4.4  综合应用实例  235
6.4.5  音频应用程序编写注意事项  242
第7章  闪存芯片与嵌入式文件系统  244
7.1  闪存的物理特性  244
7.2  嵌入式文件系统概述  245
7.3  NAND设备驱动程序  246
7.3.1  NAND芯片  246
7.3.2  NAND控制器  249
7.3.3  NAND设备MTD程序制作  251
7.4  NOR设备驱动  255
7.4.1  NOR芯片  255
7.4.2  通用闪存接口(CFI)  256
7.5  针对闪存芯片的文件系统  259
7.5.1  用于中间层TrueFFS  260
7.5.2  让TrueFFS和引导扇区共享闪存  262
7.5.3  TrueFFS的配置与使用  262
7.5.4  在使用TrueFFS的闪存上面安装Linux  264
7.6  JFFS/JFFS2文件系统  266
7.6.1  日志文件系统存储结构  268
7.6.2  JFFS2  270
7.6.3  在Linux中使用JFFS/JFFS2  275
7.6.4  MTD的其他用法:使用RAMDISK制作启动内核  278
7.7  YAFFS文件系统  279
7.7.1  YAFFS的下载与安装  280
7.7.2  YAFFS与JFFS/JFFS2的不同点  280
7.7.3  YAFFS实现机制  281
第8章  嵌入式图形用户界面基础  288
8.1  LCD显示器基本原理  288
8.2  嵌入式GUI  289
8.2.1  MiniGUI  289
8.2.2  Microwindows  290
8.2.3  Microwindows_0.90_release的安装  291
8.3  Microwindows的系统框架  296
8.3.1  设备驱动  297
8.3.2  MicroGUI -设备无关图形引擎  302
8.3.3  Microwindows的应用程序接口API  303
8.4  图形引擎层  304
8.5  编译环境的选项(Makefile文件设置)  309
8.6  基于Microwindows类型的API的程序设计  310
8.6.1  窗口的基本元素  310
8.6.2  “Hello world”,你的第一个Microwindows程序  311
8.6.3  图形绘制函数小节  320
8.6.4  Microwindows API的优缺点  321
第9章  基于Nano-X的嵌入式GUI设计  322
9.1  Client/Server模式  322
9.2  Nano-X风格的“Hello World"  323
9.3  Nano-X窗口管理器  328
9.4  程序中使用位图资源  328
9.4.1  将位图变成C语言源程序  328
9.4.2  图像尺寸  329
9.4.3  图像显示  329
9.4.4  编译运行  331
9.5  从文件中加载图片  332
9.6  文字输出与字体  333
9.6.1  文字输出函数  333
9.6.2  字体的基础知识  334
9.6.3  字体标识符  334
9.7  高级用户界面设计  337
9.7.1  事件响应  338
9.7.2  窗口间通信  339
9.7.3  多窗口应用程序  340
9.7.4  窗口控件  344
9.7.5  游戏制作  352

本目录推荐