新書推薦:
《
变富:如何有效积累足够的财富
》
售價:NT$
403.0
《
大宋西军
》
售價:NT$
398.0
《
这才是真正的诸葛亮
》
售價:NT$
347.0
《
嫉妒
》
售價:NT$
250.0
《
文明的碎片(西蒙·沙玛重磅新作!)
》
售價:NT$
500.0
《
别读博,会脱单
》
售價:NT$
265.0
《
甲骨文丛书·德意志与神圣罗马帝国(第1卷):从马克西米利安一世到《威斯特伐利亚和约》(1493~1648年)(全2册)
》
售價:NT$
1109.0
《
强绩效模式:从0到1的绩效架构设计
》
售價:NT$
403.0
|
內容簡介: |
本书编写的出发点是希望融合经典教材的微机原理、接口技术和嵌入式 Linux,讲述 CPU、中断、最小系统、汇编语言程序设计、接口电路、中断、多线程、设备驱动以及 Linux 应用层编程技术。目的是培养学生嵌入式系统的概念,即硬件到软件以及底层到上层的设计思想。全书分 11 章,内容包括嵌入式系统概述、ARM 微处理器体系结构、ARM 微处理器指令系统、ARM的存储系统、中断及中断处理、最小系统外围电路设计、GPIO 口与串行总线、嵌入式Linux 操作系统、设备驱动、ARM-Linux 软件开发基础和Qt 编程。
|
關於作者: |
刘敬猛,副教授,检测技术与装置专业硕士生导师,2006年3月北航机器人研究所博士后出站留校工作,专业特长和兴趣为:机器人的智能检测和智能运动控制、机器人视觉、自主移动机器人、计算机测控、复杂信息采集和处理、嵌入式技术开发、微操作和微驱动、机器人控制系统设计、网络化交流伺服系统设计等。承担过多项纵向和横向科研项目。作为项目负责人主持过国家自然科学基金2项、主持航空科学基金1项、863计划子项目2项。发表论文80余篇,其中SCI论文22篇,他引150次。申请发明专利2项,授权2项。
|
目錄:
|
目 录
第1章 嵌入式系统概述1 1.1 什么是嵌入式系统1 1.2 嵌入式系统体系结构与组成1 1.3 嵌入式系统应用及技术特点3 1.3.1 无所不在的嵌入式应用3 1.3.2 嵌入式系统的技术特点3 1.4 发展趋势5 1.5 嵌入式系统知识体系小结7 第2章 嵌入式处理器及ARM微处理器体系结构8 2.1 以处理器为核心的嵌入式系统硬件架构8 2.2 ARM体系结构的技术特征及发展9 2.2.1 ARM公司简介9 2.2.2 ARM技术特征10 2.2.3 ARM体系架构的发展11 2.3 ARM微处理器13 2.3.1 ARM微处理器简介13 2.3.2 ARM微处理器现状、趋势与架构17 2.3.3 ARM微处理器的应用选型18 2.3.4 Cortex-A9内部功能及特点20 2.3.5 Cortex-A9内核工作模式21 2.3.6 Cortex-A9存储系统22 2.4 模型计算机及流水线24 2.4.1 模型计算机原理24 2.4.2 流水线的概念与原理29 2.4.3 流水线的分类29 2.4.4 影响流水线性能的因素31 2.5 寄存器组织、程序状态寄存器和ARM数据类型31 2.5.1 寄存器组织31 2.5.2 程序状态寄存器33 2.5.3 ARM数据类型35 2.6 i.MX 6Solo/6Dual嵌入式教学科研平台介绍37 2.6.1 i.MX 6Solo/6Dual处理器介绍37 2.6.2 i.MX 6Solo/6Dual嵌入式教学科研平台概述39 2.6.3 平台资源40 2.6.4 平台硬件接口44 2.6.5 平台启动运行45 习题45 第3章 ARM微处理器指令系统和程序设计46 3.1 ARM微处理器的指令系统46 3.1.1 ARM指令系统概述46 3.1.2 ARM指令集50 3.1.3 Thumb指令集65 3.2 ARM微处理器编程简介66 3.2.1 ARM汇编语言的文件格式66 3.2.2 ARM汇编语言的语句格式66 3.2.3 C语言与汇编语言的混合编程68 3.3 ARM微处理器初始化分析73 3.3.1 嵌入式系统初始化流程73 3.3.2 ARM嵌入式处理器的初始化分析76 习题79 第4章 ARM微处理器存储系统81 4.1 基本存储体系与模型81 4.1.1 嵌入式系统存储系统81 4.1.2 存储器结构模型82 4.1.3 存储器基本操作流程83 4.1.4 存储器技术指标84 4.2 存储器分类及特性85 4.2.1 随机访问存储器86 4.2.2 只读存储器98 4.2.3 混合存储器103 4.3 ARM存储系统114 4.3.1 存储器管理单元115 4.3.2 高速缓冲存储器(Cache)和写缓冲区127 4.4 ARM i.MX 6Solo/6Dual存储系统的实例131 习题134 第5章 中断及中断处理135 5.1 中断响应及优先级135 5.1.1 中断的概念135 5.1.2 CPU对中断的响应136 5.1.3 中断优先级137 5.2 ARM的通用中断控制器139 5.2.1 GIC逻辑分区139 5.2.2 GIC中断控制器中断状态和中断处理流程142 5.3 GIC寄存器及应用举例143 5.3.1 GIC常用寄存器143 5.3.2 GIC应用举例145 5.4 ARM中的异常中断处理概述147 5.4.1 ARM体系中的异常中断种类147 5.4.2 异常中断向量表及异常中断优先级147 5.4.3 异常中断使用的寄存器148 5.5 进入和退出异常中断的过程149 5.5.1 ARM微处理器对异常中断的响应过程149 5.5.2 从异常中断处理程序中返回151 5.6 在应用程序中安排异常中断处理程序154 5.6.1 在系统复位时安排异常中断处理程序154 5.6.2 在C程序中安排异常中断处理程序155 5.7 SWI异常、FIQ和IRQ异常中断处理程序156 5.7.1 SWI异常中断处理程序的实现156 5.7.2 SWI异常中断调用160 5.7.3 IRQ/FIQ异常中断处理程序164 5.7.4 IRQ异常中断处理程序举例167 5.7.5 其他异常程序168 第6章 最小系统外围电路设计170 6.1 电源电路170 6.1.1 电源电路设计方法170 6.1.2 电源管理与低功耗设计173 6.2 复位电路177 6.2.1 上电复位178 6.2.2 手动复位182 6.2.3 看门狗复位184 6.2.4 软件复位185 6.3 时钟电路186 6.3.1 信号源186 6.3.2 多时钟管理191 6.4 电路抖动与消抖196 6.4.1 抖动现象与危害196 6.4.2 优化硬件消除抖动197 6.4.3 软件消抖方式199 6.5 最小系统举例201 习题207 第7章 GPIO口与串行总线208 7.1 GPIO与IOMUXC208 7.1.1 GPIO208 7.1.2 IOMUXC210 7.2 UART216 7.2.1 UART简介216 7.2.2 UART特征217 7.2.3 UART的数据收发和帧结构219 7.2.4 UART波特率设置220 第8章 嵌入式Linux操作系统225 8.1 嵌入式Linux简介225 8.2 内存管理226 8.2.1 内存管理和MMU简介226 8.2.2 标准Linux的内存管理226 8.2.3 μCLinux的内存管理228 8.3 进程管理229 8.3.1 进程和进程管理简介229 8.3.2 RT-Linux的进程管理230 8.3.3 标准Linux的进程管理231 8.3.4 μCLinux的进程管理232 8.4 线程233 8.4.1 线程概述233 8.4.2 线程管理234 8.4.3 线程通信234 8.4.4 线程同步235 8.5 文件系统238 8.5.1 文件系统定义238 8.5.2 Linux文件系统238 8.5.3 嵌入式Linux文件系统240 8.6 多线程应用程序设计实验243 8.6.1 实验内容243 8.6.2 多线程程序分析与实验245 8.7 串行端口程序设计实验249 8.7.1 实验准备249 8.7.2 串行端口程序分析249 第9章 设备驱动255 9.1 Linux驱动程序简介255 9.1.1 设备的分类256 9.1.2 设备文件256 9.1.3 主设备号和次设备号256 9.1.4 Linux设备驱动程序的分布256 9.1.5 Linux设备驱动程序的特点257 9.2 设备驱动程序结构257 9.2.1 驱动程序的注册与注销258 9.2.2 设备的打开与释放258 9.2.3 设备的读/写操作259 9.2.4 设备的控制操作259 9.2.5 设备的轮询和中断处理259 9.3 Linux内核设备模型261 9.3.1 设备模型建立的目的261 9.3.2 sysfs设备拓扑结构的文件系统表现261 9.3.3 驱动模型和sysfs262 9.3.4 kobject263 9.4 Linux字符设备驱动分析265 9.4.1 字符设备驱动的结构266 9.4.2 使用cdev开发字符设备驱动266 9.4.3 platform总线与设备树268 9.5 Linux字符设备驱动实验274 9.5.1 需求说明274 9.5.2 硬件电路275 9.5.3 LED驱动程序275 9.5.4 按键驱动程序281 9.5.5 按键、指示灯应用程序287 9.5.6 模块的加载实验289 第10章 ARM-Linux软件开发基础291 10.1 ARM-Linux软件开发流程291 10.2 嵌入式系统开发模式292 10.3 开发环境的搭建294 10.3.1 宿主机端软件的安装294 10.3.2 目标机端软件的安装296 10.4 Makefile298 10.4.1 Makefile的规则299 10.4.2 Makefile的文件名301 10.4.3 引用其他的Makefile301 10.4.4 使用变量302 10.4.5 伪目标303 10.4.6 Makefile的一个例子303 10.5 U-Boot304 10.5.1 BootLoader基础304 10.5.2 U-Boot代码结构307 10.5.3 U-Boot代码分析308 第11章 Qt编程及嵌入式Qt开发313 11.1 Qt编程基础313 11.1.1 Qt简介及其开发套件313 11.1.2 Qt的基本数据类型313 11.1.3 字符串(QString)314 11.2 图形界面设计317 11.2.1 Qt的窗口类Widget317 11.2.2 可视化窗口界面设计317 11.2.3 Qt中常用的控件320 11.3 信号和槽机制324 11.3.1 基本概念324 11.3.2 信号和槽机制的原理327 11.3.3 信号和槽示例328 11.3.4 信号和槽小结330 11.4 Qt程序综合实验—电子钟设计331 11.4.1 需求说明331 11.4.2 界面设计331 11.4.3 功能实现332 11.5 Qt开发环境的搭建342 11.5.1 设置交叉编译环境342 11.5.2 安装Qt Creator345 习题348 参考文献349
|
|