嵌入式ARM系统开发与实战

出版日期:2014-7
ISBN:9787121229242
作者:周中孝,周永福,陈赵云
页数:364页

作者简介

本书主要面向学习嵌入式ARM开发的初学者、嵌入式爱好者,以及刚从单片机向ARM处理器转型的电子工程师等,按照理论与实践相结合的思想,介绍了在ARM开发中常用的一些模块,结合具体的实例,给大家建立一个完整的ARM知识架构,包括对C、汇编语言的灵活运用,以及芯片内部寄存器的使用。本书共享源代码和相关资料,详细请登录网站www.edu118.com。本书内容完整,注重实践性,都是从实际项目中抽取实例,读者可在开发过程中直接作为参考,大大提高工作效率。

书籍目录

第1章  ARM、嵌入式系统介绍
1.1 ARM微处理器概述
1.1.1 ARM简介
1.1.2 ARM微处理器的应用领域及特点
1.1.3 ARM微处理器系列
1.1.4 ARM微处理器结构
1.1.5 ARM微处理器的应用选型
1.2 嵌入式系统的概念
1.2.1 嵌入式系统的定义
1.2.2 嵌入式系统的发展过程
1.3 嵌入式操作系统
1.3.1 概述
1.3.2 操作系统
1.3.3 实时操作系统(RTOS)
1.3.4 通用型操作系统
1.3.5 嵌入式常见的几个概念
1.3.6 常见的嵌入式操作系统
第2章 ARM外围硬件、实验平台硬件详解
2.1 S3C2440系列芯片介绍
2.1.1 S3C2440系列芯片概述
2.1.2 S3C2440系列芯片的特性
2.2 S3C2440系列芯片的应用领域
2.3 S3C2440系列芯片的器件信息
2.4 S3C2440系列芯片的引脚图
2.5 S3C2440系列芯片的结构框图
2.6 S3C2440系列芯片的引脚说明
2.7 S3C2440系列芯片的开发板硬件设计说明
2.7.1 电源设计:DC 5V 2A
2.7.2 复位电路
2.7.3 系统时钟电路
2.7.4 JTAG接口电路
2.7.5 按键电路、LED灯显示电路、GPIO电路
2.7.6 蜂鸣器电路
2.7.7 串口电路
2.7.8 A/D和D/A电路
2.7.9 外部Flash、EEPROM芯片
2.7.10 拨键说明
2.7.11 SD卡
2.7.12 SDARM芯片模块
2.7.13 Nor Flash芯片模块
2.7.14 Nand Flash芯片模块
2.7.15 USB接口
2.7.16 网络驱动芯片模块
2.7.17 LCD接口、音频输入与输出电路、CMOS摄像接口和系统总线接口
第3章 ARM体系架构
3.1 ARM9TDMI介绍
3.2 ARM体系结构的特点
3.3 各ARM体系结构版本
3.3.1 ARM体系结构版本——V1
3.3.2 ARM体系结构版本——V2
3.3.3 ARM体系结构版本——V3
3.3.4 ARM体系结构版本——V4(ARM9/ARM7)
3.3.5 ARM体系结构版本——V5
3.3.6 ARM体系结构版本——V6
3.3.7 ARM体系结构版本——V7
3.4 ARM处理器内核简介
3.4.1 ARM9系列处理器内核简介
3.4.2 处理器状态
3.4.3 处理器模式
3.4.4 内部寄存器
3.4.5 异常
3.4.6 复位
3.5 存储控制器
3.6 协处理器接口
3.7 调试接口简介
3.8 ETM接口简介
第4章 ARM指令集介绍
4.1 ARM指令集简介
4.2 ARM处理器寻址方式
4.2.1 寄存器寻址
4.2.2 立即寻址
4.2.3 寄存器移位寻址
4.2.4 寄存器间接寻址
4.2.5 基址寻址
4.2.6 多寄存器寻址
4.2.7 堆栈寻址
4.2.8 块拷贝寻址
4.2.9 相对寻址
4.3 ARM指令集
4.3.1 简单的ARM程序
4.3.2 ARM指令集——指令格式
4.3.3 ARM指令集——条件码
4.3.4 ARM存储器访问指令
4.3.5 ARM存储器访问指令——寄存器和存储器交换指令
4.3.6 ARM指令集——ARM数据处理指令
4.3.7 ARM数据处理指令——算术运算指令
4.3.8 ARM数据处理指令——逻辑运算指令
4.3.9 ARM数据处理指令——比较指令
4.3.10 ARM指令——乘法指令
4.3.11 ARM指令集——分支指令
4.3.12 ARM指令集——协处理器指令
4.3.13 ARM协处理器指令——数据操作指令
4.3.14 ARM协处理器指令——数据存取指令
4.3.15 ARM协处理器指令——寄存器传送指令
4.3.16 杂项指令
4.4 ARM伪指令
4.5 Thumb指令集
第5章 ARM启动代码详解
5.1 启动代码综述
5.1.1 启动代码含义
5.1.2 启动代码主要作用
5.1.3 启动代码运行过程(一般模式)
5.1.4 启动代码中断运行过程(中断模式)
5.2 S3C2440初始化说明
第6章 GPIO实验
6.1 GPIO原理分析
6.1.1 S3C2440的I/O介绍
6.1.2 端口控制说明
6.1.3 GPIO口操作过程
6.2 硬件连接
6.3 程序范例
6.4 GPIO作业
第7章 UART实验
7.1 UART原理分析
7.1.1 串行通信的传输格式
7.1.2 传输速率
7.1.3 电气特性
7.2 S3C2440的UART介绍
7.2.1 数据发送操作
7.2.2 数据接收操作
7.2.3 波特率发生器
7.2.4 S3C2440的UART相关寄存器
7.3 UART查询方式串行通信过程
7.4 UART应用编程示例
7.4.1 串口初始化
7.4.2 接收数据函数
7.4.3 发送数据函数
7.4.4 主程序
7.4.5 实验过程
第8章 TFT LCD实验
8.1 常用显示器件类别
8.2 LCD介绍
8.2.1 LCD原理介绍
8.2.2 液晶显示器的种类
8.2.3 LCD接口
8.2.4 点像素、帧、行的概念
8.2.5 S3C2440内置LCD控制器详解
8.3 S3C2440 LCD控制器的特性
8.3.1 STN LCD屏
8.3.2 TFT LCD屏
8.3.3 S3C2440 LCD的控制线
8.3.4 TFT屏时序分析
8.4 LCD控制器主要寄存器功能详解
8.4.1 LCD 控制器1——LCDCON1
8.4.2 LCD 控制器2——LCDCON2
8.4.3 LCD 控制器3——LCDCON3
8.4.4 LCD 控制器4——LCDCON4
8.4.5 LCD 控制器5——LCDCON5
8.4.6 帧缓冲区起始地址寄存器1——LCDSADDR1
8.4.7 帧缓冲区起始地址寄存器2——LCDSADDR2
8.4.8 帧缓冲区起始地址寄存器3——LCDSADDR3
8.5 LCD程序流程
8.5.1 初始化
8.5.2 液晶屏初始化
8.6 程序实现
8.6.1 液晶屏初始化
8.6.2 设置LCD视频
8.6.3 清屏函数
8.6.4 汉字显示子函数
8.6.5 字符显示子函数
8.6.6 主程序
8.7 取模软件使用
第9章 中断
9.1 S3C2440中断介绍
9.1.1 源中断挂起寄存器概述
9.1.2 源中断挂起寄存器(SRCPND)
9.1.3 中断请求寄存器(INTPND)
9.1.4 外部中断判断寄存器(EINTPND)
9.2 中断范例:硬件设计——键盘的硬件实现
9.2.1 键盘的电路图
9.2.2 键盘接口:相应端口设置为中断模式
9.3 软件实现
9.3.1 中断程序实现详细过程
9.3.2 键盘中断程序
9.3.3 中断总结
第10章 ADC模数转换
10.1 AD原理
10.1.1 ADC 的主要类型
10.1.2 ADC 的发展趋势
10.2 S3C2440 ADC介绍
10.3 S3C2440 ADC 控制寄存器
10.3.1 ADCCON——ADC 控制寄存器
10.3.2 ADCDAT0——ADC 数据寄存器 0
10.3.3 ADCDLY——ADC 等待寄存器
10.4 实验电路图
10.5 程序范例:程序设计实现
10.5.1 ADC 测试程序
10.5.2 读ADC 程序
第11章 触摸屏实验
11.1 触摸屏
11.1.1 触摸屏的工作原理
11.1.2 触摸屏的主要类型
11.2 S3C2440 触摸屏控制器
11.2.1 ADCCON——ADC 控制寄存器
11.2.2 ADCTSC——ADC触摸屏控制寄存器
11.2.3 ADCDAT0——ADC转换数据寄存器0
11.2.4 ADCDAT1——ADC转换数据寄存器 1
11.2.5 ADCDLY——ADC 等待寄存器
11.3 触摸屏电路图
11.4 实验程序
11.4.1 触摸屏测试程序流程
11.4.2 触摸屏测试程序
11.5 触摸屏校正
第12章 RTC实验
12.1 简单介绍
12.2 相关寄存器
12.2.1 读/写寄存器
12.2.2 实时时钟的系统框图
12.2.3 实时时钟的寄存器
12.2.4 实时时钟控制寄存器(RTCCON)
12.2.5 Tick时钟计数寄存器(TICNT)
12.2.6 RTC闹钟寄存器(RTCALM)
12.3 程序实现
12.3.1 时钟设置
12.3.2 时钟显示
12.3.3 主程序
12.3.4 程序运行结果
第13章 定时器实验
13.1 S3C2440定时器介绍
13.1.1 TCFG0——定时器配置寄存器0
13.1.2 TCFG1——定时器配置寄存器1
13.1.3 TCON——定时器控制寄存器
13.1.4 TCNTB0——定时器0计数缓存寄存器
13.2 程序执行过程
13.3 程序范例
13.4 程序运行结果
第14章 PWM实验
14.1 S3C2440定时器介绍
14.2 脉宽调制PWM介绍
14.3 相关PWM寄存器介绍
14.3.1 TCFG0——定时器配置寄存器0
14.3.2 TCFG1——定时器配置寄存器1
14.3.3 TCON——定时器控制寄存器
14.3.4 TCNTB0——定时器 0 计数缓存寄存器
14.4 程序执行过程
14.5 程序代码
14.5.1 PWM初始化函数
14.5.2 PWM控制蜂鸣器测试函数(通过串口控制)
14.5.3 蜂鸣器停止鸣叫函数
14.5.4 蜂鸣器鸣叫函数
第15章 SDRAM模块
15.1 SDRAM概述
15.2 存储控制器
15.2.1 使用存储控制器访问外设的原理
15.2.2 SDRAM介绍
15.2.3 相关寄存器
15.3 硬件连接
15.4 软件设计流程
第16章 Nor Flash模块
16.1 Flash(闪存)的特点
16.2 Nor Flash简介
16.2.1 Nor Flash介绍
16.2.2 使用存储控制器访问外设的原理
16.3 S29AL016J Nor Flash简介
16.3.1 芯片介绍
16.3.2 S29AL016J引脚分布图
16.3.3 S29AL016J引脚功能描述
16.3.4 S29AL016J命令
16.4 硬件连接
16.5 S29AL016J的程序
16.5.1 擦除Nor Flash操作
16.5.2 读过程
16.5.3 写过程
16.5.4 内部操作状态检测
16.6 S29AL016J的编程实现
16.6.1 S29AL016J扇区擦除
16.6.2 S29AL016J的写入
16.6.3 S29AL016J的ID读取
16.6.4 S29AL016J的操作检测
16.6.5 主函数
第17章 Nand Flash模块
17.1 Nand Flash的特点
17.2 K9F1G08U0B芯片介绍(128M×8b Nand Flash)
17.2.1 K9F1G08U0B芯片的特点
17.2.2 K9F1G08U0B芯片的特性
17.2.3 Nand Flash控制器结构
17.2.4 K9F1G08U0B引脚分布
17.2.5 K9F1G08U0B存储单元组织结构
17.2.6 K9F1G08U0B指令设置
17.2.7 S3C2440A Nand Flash控制K9F1G08U0B实现原理
17.3 Nand Flash寄存器
17.3.1 Nand Flash 配置(NFCONF)寄存器
17.3.2 Nand Flash命令设置寄存器(NFCMMD)
17.3.3 Nand Flash地址设置寄存器(NFADDR)
17.3.4 Nand Flash数据寄存器(NFDATA)
17.3.5 Nand Flash操作状态寄存器(NFSTAT)
17.3.6 Nand Flash ECC 寄存器(NFMECCDn)
17.3.7 Nand Flash控制寄存器(NFCONT)
17.4 硬件连接介绍
17.4.1 硬件连接
17.4.2 引脚说明
17.4.3 引脚配置
17.5 程序流程
17.5.1 Nand Flash 模式配置
17.5.2 编程(写)流程
17.5.3 K9F1G08U0B擦除操作流程
17.5.4 K9F1G08U0B页读操作流程
17.5.5 读器件ID号
17.5.6 K9F1G08U0B随机读操作
17.6 Nand Flash编程实现
第18章 IIC模块
18.1 IIC介绍
18.2 IIC总线特点
18.3 总线工作原理
18.3.1 总线的构成及信号类型
18.3.2 总线基本操作
18.3.3 7位的地址格式
18.4 S3C2440X的IIC控制器
18.4.1 简介
18.4.2 S3C2440X的IIC相关寄存器
18.4.3 IIC的工作模式流程图
18.5 AT24C02 EEPROM
18.6 硬件电路图
18.7 程序实现
18.7.1 IIC测试主程序main.c
18.7.2 IIC模块IIC.c
第19章 SPI模块
19.1 SPI介绍
19.2 SPI硬件连接
19.3 程序操作过程
19.4 SPI模式选择和寄存器介绍
19.4.1 S3C2440芯片SPI模式选择
19.4.2 SPCON寄存器
第20章 看门狗实验
20.1 看门狗功能简述
20.2 看门狗的工作原理
20.3 S3C2440的看门狗
20.4 S3C2440相关寄存器
20.4.1 看门狗定时器控制寄存器(WTCON)
20.4.2 看门狗定时器数据寄存器(WTDAT)
20.4.3 看门狗定时器计数寄存器(WTCNT)
20.5 看门狗应用编程实现
20.6 程序范例
20.6.1 看门狗中断函数(进入中断蜂鸣器鸣叫)
20.6.2 看门狗测试程序
20.7 看门狗程序运行结果
第21章 内存管理单元MMU
21.1 内存管理单元MMU概述
21.2 Cache——协处理指令
21.2.1 Cache定义
21.2.2 CPU写数据的方式
21.2.3 指令Cache(Icaches)、数据Cache(Dcache)
21.2.4 使用Cache两原则
21.2.5 使用Cache注意事项
21.2.6 Cache的使用
21.3 DMA含义
第22章 音频AC97/IIS、视频、USB接口、SD卡原理
22.1 音频AC97/IIS
22.2 视频
22.3 USB接口
22.4 SD卡原理
22.4.1 SD卡介绍
22.4.2 硬件连接
22.4.3 SD卡接口及读写说明
第23章 KEIL集成开发环境介绍及应用
23.1 第一步:新建工程
23.2 第二步:新建文件,自己写c程序(用户程序)
23.3 第三步:添加c文件到工程
23.4 第四步:COPY 2~4个配置文件
23.5 第五步:配置
23.6 仿真、调试、运行
第24章 Cisco TFTP Server下载指南
24.1 软件简介
24.2 TFTP简介
24.3 操作步骤
24.4 思科服务器常见问题
第25章 H-JTAG仿真调试器的使用
25.1 安装软件
25.2 打开H-JTAG Server软件
25.3 打开H-Flasher软件
25.4 运行下载完程序
25.5 H-JTAG擦除Nor Flash操作
第26章 JLINK仿真调试器的使用
第27章 μC/OS操作系统简介
27.1 嵌入式操作系统简介
27.2 μC/OS——微控制器操作系统
27.2.1 μC/OS简介
27.2.2 μC/OS的特性
27.3 μC/OS-II图书
27.4 μC/OS-II提供的系统服务
第28章 μC/OS操作系统移植实例
28.1 μC/OS II成功移植的条件
28.2 μC/OS II移植的相关工作
28.3 用户实时任务编写
第29章 嵌入式系统工程设计、ARM电子项目开发实战案例1
29.1 项目管理知识
29.2 ARM项目范例讲解
第30章 嵌入式系统工程设计、ARM电子项目开发实战案例2
30.1 ARM9项目功能介绍——可视触摸屏门禁机项目
30.2 可视门禁机主界面
30.3 ARM9项目功能介绍——裸机计算器项目
30.4 ARM9项目功能介绍——手写板项目
30.5 ARM9项目功能介绍——RTC实时时钟项目
第31章 ARM11硬件介绍
31.1 ARMv6体系结构
31.2 目标应用
31.3 特点
31.4 性能
31.5 ARM11处理器的内核特点
31.6 S3C6410 硬件开发指南
31.6.1 S3C6410 综述
31.6.2 引脚描述
31.6.3 电源和地设计
31.6.4 SROM 控制器
31.6.5 OneNAND 控制器
31.6.6 Nand Flash
31.6.7 CF 控制器
31.6.8 ATA 控制器
31.6.9 GPIO
31.6.10 显示控制器
31.6.11 摄像头接口
31.6.12 Modem 接口
31.6.13 HOST 接口
31.6.14 USB
31.6.15 SPI
31.6.16 I2C 总线
31.6.17 UART
31.6.18 PWM Timer
31.6.19 AC97 控制器
31.6.20 PCM 控制器
第32章 ModBus RTU模式CRC16校验
32.1 CRC概念
32.2 工业总线 ModBus
32.2.1 ModBus串行通信数据格式
32.2.2 ModBus串行通信功能码
32.2.3 ModBus串行通信CRC16校验
参考文献


 嵌入式ARM系统开发与实战下载



发布书评

 
 


 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024