ARM处理器与C语言开发应用
分类: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,C语言及其相关,
品牌: 范书瑞
基本信息·出版社:北京航空航天大学出版社
·页码:309 页
·出版日期:2008年
·ISBN:7811244357/9787811244359
·条形码:9787811244359
·包装版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
产品信息有问题吗?请帮我们更新产品信息。
内容简介在设计ARM控制系统时,使用C语言编程开发ARM应用程序,可以达到事半功倍的效果。《ARM处理器与C语言开发应用》在设计Samsung公司的S3C2410A控制系统时,启动代码采用汇编语言,应用程序大量使用C语言程序,大大加快了开发进度。
《ARM处理器与C语言开发应用》以S3C2410A各个模块的应用为主线,全面介绍嵌入式系统开发过程。具体内容包括:ARM微处理器概述、ARM编程模型和指令集介绍、ARM程序设计基础、S3C2410A处理器硬件结构、存储系统设计、时钟和定时器、通用端口和中断设计、串行接口设计、LCD接口设计、ADC和触摸屏接口设计、引导程序设计、嵌入式操作系统及其应用开发。书中从部件编程到嵌入式应用程序设计,都通过完整的实例讲解。书中所提供的程序均已在目标板上调试通过。
《ARM处理器与C语言开发应用》内容实用易懂,可作为嵌入式开发人员的参考书,也可作为相关专业本科生和研究生教材及参考书。
目录
第1章 ARM微处理器概述
1.1 ARM概念
1.2 ARM体系结构及扩展技术
1.2.1 ARM处理器的体系结构2
1.2.2 ARM体系结构的扩展
1.3 ARM微处理器系列
1.3.1 ARM7微处理器系列
1.3.2 ARM9微处理器系列
1.3.3 ARM9E微处理器系列
1.3.4 ARM10E微处理器系列
1.3.5 ARM11系列
1.3.6 Cortex系列
1.3.7 SecurCore系列
1.3.8 Intel的Xscale
1.3.9 Intel的StrongARM
1.4 应用领域和选型
1.4.1 应用领域
1.4.2 应用选型
第2章 ARM编程模型和指令集介绍
2.1 ARM编程模型
2.1.1 指令长度及数据类型
2.1.2 ARM处理器的工作状态
2.1.3 ARM体系结构的存储器格式
2.1.4 处理器模式
2.1.5 寄存器组织
2.1.6 程序状态寄存器
2.1.7 异常
2.2 ARM处理器的指令格式
2.2.1 ARM处理器的指令格式
2.2.2 指令的条件码
2.3 ARM 指令寻址方式
2.3.1 数据处理指令的操作数寻址方式
2.3.2 字及无符号字节的Load/Store指令的寻址方式
2.3.3 杂类Load/Store指令的寻址方式
2.3.4 批量Load/Store指令的寻址方式
2.3.5 协处理器Load/Store指令的寻址方式
2.4 ARM指令集介绍
2.4.1 跳转指令
2.4.2 B指令和BL指令
2.4.3 数据处理指令
2.4.4 程序状态寄存器访问指令
2.4.5 加载/存储指令
2.4.6 批量数据加载/存储指令
2.4.7 数据交换指令
2.4.8 协处理器指令
2.4.9 异常产生及CLZ指令
2.5 Thumb指令及应用
2.6 DSP扩展指令
2.6.1 带符号乘和乘加指令
2.6.2 饱和整数运算
2.6.3 存储辅助指令
第3章 ARM程序设计基础
3.1 ARM汇编器所支持的伪操作
3.1.1 符号定义伪指令
3.1.2 数据定义伪指令
3.1.3 汇编控制伪指令
3.1.4 其他常用的伪指令
3.2 汇编语言程序设计
3.2.1 汇编语言程序中常用的符号
3.2.2 汇编语言程序中的表达式和运算符
3.2.3 汇编语言的程序结构
3.3 C语言和汇编语言混合程序设计
3.3.1 汇编语言与C/C++的混合编程
3.3.2 ATPCS规则
3.4 编译器的使用
3.4.1 ARM编译器C/C++库
3.4.2 ARM编译器关键词
3.4.3 ARM编译器支持的数据类型
3.5 程序设计示例
第4章 S3C2410A处理器硬件结构
4.1 S3C2410A处理器概述
4.2 引脚介绍
4.3 特殊功能寄存器
4.4 最小应用系统设计
4.4.1 电源电路设计
4.4.2 晶振电路设计
4.4.3 复位电路设计
4.5 JTAG调试接口设计
4.5.1 JTAG概述
4.5.2 接口电路设计
4.5.3 访问处理器寄存器
第5章 存储系统设计
5.1 存储器控制器
5.1.1 存储器映像
5.1.2 接口信号时序
5.1.3 内存控制器
5.2 地址线接口设计
5.2.1 8位存储器接口设计
5.2.2 16位存储器接口设计
5.3 Nor Flash接口设计
5.3.1 Nor Flash和Nand Flash的区别
5.3.2 SST39VF1601电路设计
5.4 Nand Flash接口设计
5.4.1 性能
5.4.2 Nand Flash控制功能寄存器
5.4.3 接口设计
5.5 SDRAM接口电路设计
第6章 时钟和定时器
6.1 时钟和功耗管理
6.1.1 锁相环
6.1.2 时钟和功耗控制逻辑
6.1.3 时钟和功耗管理寄存器
6.1.4 程序设计
6.2 PWM定时器
6.2.1 PWM定时器操作
6.2.2 PWM定时器控制寄存器
6.2.3 程序设计
6.3 实时时钟
6.3.1 RTC功能描述
6.3.2 RTC特殊功能寄存器
6.3.3 RTC程序设计
6.4 看门狗
6.4.1 看门狗操作
6.4.2 看门狗寄存器
6.4.3 看门狗程序设计
第7章 通用端口和中断设计
7.1 I/O端口控制寄存器
7.1.1 端口寄存器
7.1.2 外部中断寄存器
7.1.3 通用状态寄存器
7.1.4 端口程序设计
7.2 S3C2410A中断控制器
7.2.1中断控制
7.2.2 中断源
7.2.3 中断控制专用寄存器
7.2.4 中断子控制寄存器
7.2.5 外部中断程序设计
第8章 串行接口设计
8.1 UART接口及编程实例
8.1.1 UART的操作
8.1.2 UART特殊功能寄存器
8.1.3 编程实例
8.2 IIC总线接口及编程实例
8.2.1 IIC总线协议
8.2.2 S3C2410A IIC接口操作
8.2.3 IIC总线特殊功能寄存器
8.2.4 编程实例
8.3 SPI接口及编程实例
8.3.1 SPI操作
8.3.2 SPI特殊功能寄存器
8.3.3 编程实例
第9章 LCD接口设计
9.1 LCD控制器的特性
9.2 STN LCD控制器基本操作
9.2.1 视频操作
9.2.2 显示驱动方式
9.2.3 数据存储格式
9.3 TFT LCD控制器基本操作
9.3.1 视频操作
9.3.2 256色调色板
9.4 LCD控制器的使用
9.4.1 控制器功能寄存器
9.4.2 LCD控制寄存器的初始化
9.5 LCD编程实例
9.5.1 液晶屏初始化
9.5.2 显示像素
9.5.3 图形函数
9.5.4 测试程序
第10章 ADC和触摸屏接口设计
10.1 A/D转换器
10.1.1 A/D转换步骤
10.1.2 ADC的主要类型
10.1.3 A/D转换器的主要技术指标
10.2 触摸屏原理
10.2.1 触摸屏结构
10.2.2 触摸屏的主要类型
10.3 ADC和触摸屏接口
10.3.1 接口方式
10.3.2 功能描述
10.3.3 ADC和触摸屏专有寄存器
10.4 ADC和触摸屏接口编程实例
10.4.1 ADC编程实例
10.4.2 触摸屏编程实例
第11章 引导程序设计
11.1 引导机理分析
11.1.1 引导程序工作原理
11.1.2 引导程序的启动过程
11.2 ARM9初始化代码分析
11.2.1 外部文件
11.2.2 定义常量
11.2.3 异常处理
11.2.4 主体程序
11.2.5 调用C语言程序
11.3 常用引导程序介绍
11.3.1 引导程序VIVI251
11.3.2 引导程序UBoot
11.3.3 其他引导程序
第12章 嵌入式操作系统及其应用开发
12.1 嵌入式操作系统概况
12.1.1 嵌入式操作系统特点
12.1.2 常用嵌入式操作系统
12.2 Linux发展支柱和开发基础
12.2.1 Linux发展支柱
12.2.2 开发工具的使用
12.3 嵌入式Linux的移植
12.3.1 建立交叉编译环境
12.3.2 引导程序的移植
12.3.3 Linux内核的移植
12.3.4 根文件系统的实现
12.4 应用程序的开发
12.4.1 Hello测试程序
12.4.2 说话人识别算法的实现
12.5 网络编程实例
12.5.1 网络驱动程序
12.5.2 socket基本函数
12.5.3 TCP编程实例
12.5.4 综合训练之UDP编程实现
附录
参考文献
……[看更多目录]
序言ARM(Advanced RISC Machines)公司自1990年11月正式成立以来,在32位RISC开发领域不断取得突破。截至2006年9月,ARM公司与合作伙伴所签订的处理器授权协议总数达到448项,物理IP的授权协议总数达到263项。在所有IP授权市场中,ARM占有26%,份额远超过其他竞争对手。随着ARM处理器在全球范围的流行,32位的RISC嵌入式处理器已经成为嵌入式应用和设计的主流。
目前,随着嵌入式技术的不断发展,国内外越来越多的工程师都选用ARM来设计他们的产品,ARM9处理器在嵌入式系统开发中占有重要位置。本书以S3C2410A微处理器为硬件平台,在简要介绍汇编语言的基础上,详细讲解基于ARM处理器的C语言开发技术。
第1章简要介绍ARM处理器的基本概念,以及ARM处理器扩展技术、类型和处理器的选型。
第2章介绍ARM处理器编程模型和指令集知识,包括ARM编程模型、ARM指令结构和寻址方式,以及ARM指令集、Thumb指令集和DSP扩展指令集。通过本章的阅读,可使读者了解ARM汇编程序的开发。
第3章介绍ARM程序设计基础知识,着重介绍汇编和C语言的混合编程技术。包括伪操作、伪指令、汇编,以及C语言的混合编程技术和编译器的使用,均通过实例进行了详细的讲解。通过本章的阅读,读者能够开发简单的C语言和汇编混合程序。
第4章介绍S3C2410A处理器的硬件结构。通过对本章的阅读,读者可以掌握基于S3C2410A的最小系统设计。
第5章介绍S3C2410A的存储器设计技术,包括存储器控制寄存器、存储器地址接口设计、Nor Flash接口设计、Nand Flash接口设计和SDRAM接口设计。
第6章介绍S3C2410A处理器的时钟和功耗管理、PWM定时器、实时时钟、看门狗。
第7~10章介绍S3C2410A处理器的中断通用端口设计、串行接口设计、LCD接口设计、A/D和触摸屏接口设计。通过阅读,读者能够掌握S3C2410A主要部件的编程。
第11章介绍S3C2410A处理器引导程序设计。
第12章介绍基于S3C2410A处理器的Linux移植技术,包括引导程序的移植、内核移植,以及文件系统的建立,最终在嵌入式Linux下成功移植SVM,实现说话人算法的测试。
附带程序:
文件夹内为各章节对应的编程实例,只包含本章节涉及到的程序代码。7.2文件夹内包含ADS环境下完整的开发代码。11文件夹内是针对S3C2410A开发的汇编初始化程序,简单实用。成书过程中,还得到了袁文江、董小丰的帮助,在此表示感谢。
由于编者的水平有限,书中难免存在不妥之处,恳请读者批评指正。
文摘插图: