嵌入式系统原理与设计

资料百科

《嵌入式系统原理与设计》是在2017年清华大学出版社来自出版的图书,作者是360百科陈文智、王总辉。

  • 书名 嵌入式系统原理与设计
  • 作者 陈文智、王总辉
  • 出版社 清华大学出版社
  • 出版时间 2017年03月
  • 定价 49 元

编辑推荐

  本书从教学的角度出发,全面、系统地讲述了嵌入式系统及各组成部分的基本知识、技术原理和设计方法,使读者可以了解嵌入式系统属美浓五达免受心的结构组成,掌握嵌入式系统开发的思路方法,具备嵌入式系统开发的初步分析问题和解教现往色守著还巴知调决问题的能力。

内容介绍

  本书从教学的角来自度出发,全面、系统地讲述了嵌入式系统及各组成部分的基本知识、技术原理和设计方法,使读者可以了解嵌入式系统的结构组成,掌360百科握嵌入式系统开发的思路方法,具备嵌入式系统开发的初步分析问题和解决问题的能力。本书上篇是原理部分,内容包括:嵌入式系统概述,ARM处理器和指令集,嵌入式Linux操作系统,嵌入式软件编程技术,开发环境和调试技术,Boot Loader二学革技术,ARMLinux内核,文件系统,设备驱动程序设计基础,字符设备驱动程序设计,块设备驱动程拿帮如迅鲁盐土扩酒苏苦序设计,网络设备驱动程序开发这径令条顶和嵌入式GUI及应用程序设计; 本书下篇是实验部分,内容包括: 实验基础,开发环境建立,内核和模块构建,文件系统构建,调试技术演练,字符设备驱动程序设计,块设备驱动倍者步打井精据府维段程序设计,网络设备驱动程序设计,MiniGUI实验设计和Android实验设计。 本书兼顾教学、科研决脸空和工程开发的需要,既可以作为各类院校嵌入式方向的本科生和研究生的嵌入式系统教材,也可以作为嵌入式系统开发工笑控逐非程师的参考书。

目录

  上篇原理 部 分

  第1章嵌入式系统概述

  1.1嵌入式系统简介

  1.1.1嵌入式系统历史与现状

  1.1.众要2嵌入式系统体系结构

  1.1.3应用领域和发服据皇展方向

  1.2嵌入式处理器

  1.2.1嵌入式处理器简介

  1.2.2ARM处理器的应院全用领域及一般特点

  1.2.3ARM处理器系列

  1来自.3嵌入式操作系统

  1.3.1嵌入式操作系统简介

  1.3.2嵌360百科入式Linux

  1.3.3VxWorks

  1.3.4μC/OSⅡ

  1.3.5Windows CE

  1.3.6Symbian

  1.3.7Android

  1.3.8iOS

  1.3宜王述民织.9其他嵌入式操作系统

  1.4嵌入式系统设计

  1.4.1嵌入式系统设计过程

  1.4.2硬件设计平台的选择

  1.4.3软件设计平台的选择

  1.4.3嵌入式应用软件开发

  1.4.5测试和钢染优化

  小结

  进一步探的例士陈且基露开特太

  第2章ARM处理器和指令集

  2.1ARM处理器简介

  2.1.固述理脚食棉重革束1ARM公司和ARM产品简介

  2.1.2夫考前样ARM指令集体系结构版本

  2.1.3ARM处理器系列

  2.2ARM指令集简介

  2.2.1RI歌日跟龙罗工SC简介

  2.2.2ARM状态和Thumb状态

  2.2.3ARM指令类型和指令的条件域

 娘安烧以达陆海跟轴 2.3ARM指令的寻址方式

  2.3.1立即寻址

  2.3.2寄存器寻址

动控春巴长  2.3.3寄存器偏移兰九为寻址

  2.3.4寄存器间接寻

  2.3.5基址副变律院件足变址寻址

  2.3.6多寄存器寻址

  2.3而二危责希只袁己.7堆栈寻址

  2.3.冷跳花翻止目由占频雷8相对寻址

  2.4ARM解此微委医移政伤子单某指令简介

  2.4.1跳转指令

  2.4.2通用数据处理指令

  2.4.3乘法指令

  2.4.4Loa角师乱d/Store内存访问指令

  2.4.5ARM协处理器指令

  2.4.6杂项指令

  2.4.7饱和算术指令

  2.4.8ARM伪指令

  2.5Thumb指令简介

  2.5.1Thumb跳转指令

  2.5.2Thumb通用数据处理指令

  2.5.3Thumb算术指令

  2.5.4Thumb内存访问指令

  2.5.5Thumb软中断和断电指令

  2.5.6Thumb伪指令

  小结

  进一步探索

  第3章嵌入式Linux操作系统

  3.1嵌入式Linux简介

  3.1.1μCLinux

  3.1.2RTLinux

  3.1.3红旗嵌入式Linux

  3.2内存管理

  3.2.1内存管理和MMU

  3.2.2标准Linux的内存管理

  3.2.3μCLinux的内存管理

  3.3进程管理

  3.3.1进程和进程管理

  3.3.2RTLinux的进程管理

  3.3.3标准Linux的进程管理

  3.3.4μCLinux的进程管理

  3.4文件系统

  3.4.1文件系统定义

  3.4.2Linux文件系统

  3.4.3嵌入式Linux文件系统

  小结

  进一步探索

  第4章嵌入式软件编程技术

  4.1嵌入式编程基础

  4.1.1嵌入式汇编语言基础

  4.1.2嵌入式高级编程知识

  4.1.3嵌入式开发工程

  4.2嵌入式汇编编程技术

  4.2.1基本语法

  4.2.2汇编语言程序设计案例

  4.3嵌入式高级编程技术

  4.3.1函数可重入

  4.3.2中断处理过程

  4.4高级语言与汇编语言混合编程

  4.4.1高级语言与汇编语言混合编程概述

  4.4.2汇编程序调用C程序

  4.4.3C程序调用汇编程序

  小结

  进一步探索

  第5章开发环境和调试技术

  5.1交叉开发模式概述

  5.2宿主机环境

  5.2.1串口终端

  5.2.2BOOTP

  5.2.3TFTP

  5.2.4交叉编译

  5.3目标板环境

  5.3.1JTAG接口简介

  5.3.2Boot Loader简介

  5.4交叉编译工具链

  5.4.1交叉编译的构建

  5.4.2相关工具

  5.5gdb调试器

  5.6远程调试

  5.6.1远程调试原理

  5.6.2gdb远程调试功能

  5.6.3使用gdbserver

  5.7内核调试

  5.7.1内核调试技术

  5.7.2kgdb内核调试

  5.8网络调试

  小结

  进一步探索

  第6章Boot Loader技术

  6.1Boot Loader基本概念

  6.1.1Boot Loader所支持的硬件环境

  6.1.2Boot Loader的安装地址

  6.1.3Boot Loader相关的设备和基址

  6.1.4Boot Loader的启动过程

  6.1.5Boot Loader的操作模式

  6.1.6Boot Loader与主机之间的通信设备及协议

  6.2Boot Loader典型结构

  6.2.1Boot Loader阶段1介绍

  6.2.2Boot Loader阶段2介绍

  6.2.3关于串口终端

  6.3UBoot简介

  6.3.1认识UBoot

  6.3.2UBoot特点

  6.3.3UBoot代码结构分析

  6.4vivi简介

  6.4.1认识vivi

  6.4.2vivi代码导读

  小结

  进一步探索

  第7章ARMLinux内核

  7.1ARMLinux内核简介

  7.1.1ARMLinux内核和普通Linux内核的区别

  7.1.2ARMLinux的版本控制

  7.1.3ARMLinux的代码结构

  7.2ARMLinux内存管理

  7.2.1影响内存管理的两个方面

  7.2.2ARMLinux的存储机制

  7.2.3虚拟内存

  7.3ARMLinux进程管理和调度

  7.3.1进程的表示和生命周期

  7.3.2Linux进程的创建、执行和销毁

  7.3.3Linux进程的调度

  7.4ARMLinux模块机制

  7.4.1Linux模块概述

  7.4.2模块代码结构

  7.4.3模块的加载

  7.4.4模块的卸载

  7.4.5版本依赖

  7.5ARMLinux中断管理

  7.6ARMLinux系统调用

  7.7ARMLinux系统启动和初始化

  7.7.1使用Boot Loader将内核映像载入

  7.7.2内核数据结构初始化--内核引导第一部分

  7.7.3外设初始化--内核引导第二部分

  7.7.4init进程和inittab脚本

  7.7.5rc启动脚本

  7.7.6Shell的启动

  小结

  进一步探索

  第8章文件系统

  8.1嵌入式文件系统简介

  8.1.1Linux文件系统简介

  8.1.2嵌入式文件系统简介

  8.2嵌入式Linux文件系统框架

  8.3JFFS2嵌入式文件系统

  8.3.1目录节点的定义

  8.3.2数据节点

  8.3.3可靠性支持

  8.3.4内存使用

  8.3.5垃圾收集

  8.3.6写平衡

  8.3.7JFFS2的不足之处

  8.3.8JFFS3简介

  8.4根文件系统

  8.4.1什么是根文件系统

  8.4.2建立JFFS2根文件系统

  小结

  进一步探索

  第9章设备驱动程序设计基础

  9.1Linux设备驱动程序简介

  9.1.1设备的分类

  9.1.2设备文件

  9.1.3主设备号和次设备号

  9.1.4Linux设备驱动代码的分布

  9.1.5Linux设备驱动程序的特点

  9.2设备驱动程序结构

  9.2.1驱动程序的注册与注销

  9.2.2设备的打开与释放

  9.2.3设备的读写操作

  9.2.4设备的控制操作

  9.2.5设备的轮询和中断处理

  9.3Linux内核设备模型

  9.3.1设备模型建立的目的

  9.3.2sysfs--设备拓扑结构的文件系统表现

  9.3.3驱动模型和sysfs

  9.3.4kobject

  9.3.5platform总线

  9.4同步机制

  9.4.1同步锁

  9.4.2信号量

  9.4.3读写信号量

  9.4.4原子操作

  9.4.5完成事件

  9.4.6时间

  9.5内存映射和管理

  9.5.1物理地址映射到虚拟地址

  9.5.2内核空间映射到用户空间

  9.6工作队列

  9.7异步I/O

  9.8DMA

  9.8.1DMA数据传输

  9.8.2DMA定义

  9.8.3DMA映射

  小结

  进一步探索

  第10章字符设备和驱动程序设计

  10.1字符设备驱动框架

  10.2字符设备驱动开发

  10.2.1设备号

  10.2.2关键数据结构

  10.2.3字符设备注册和注销

  10.3GPIO驱动概述

  10.4串行总线概述

  10.4.1SPI总线

  10.4.2I2C总线

  10.4.3SMBus总线

  10.5I2C总线驱动开发

  10.5.1I2C驱动架构

  10.5.2关键数据结构

  10.5.3I2C核心

  10.5.4I2C总线驱动

  10.5.5I2C设备驱动

  小结

  进一步探索

  第11章块设备和驱动程序设计

  11.1块设备驱动程序设计概要

  11.1.1块设备的数据交换方式

  11.1.2块设备读写请求

  11.2Linux块设备驱动相关数据结构与函数

  11.2.1gendisk结构

  11.2.2request结构

  11.2.3request_queue队列

  11.2.4bio结构

  11.3块设备的注册与注销

  11.4块设备初始化与卸载

  11.5块设备操作

  11.6请求处理

  11.7MMC卡驱动

  11.7.1MMC/SD芯片介绍

  11.7.2MMC/SD卡驱动结构

  11.7.3MMC卡块设备驱动分析

  11.7.4HSMCI接口驱动设计分析

  小结

  进一步探索

  第12章网络设备驱动程序开发

  12.1以太网基础知识

  12.1.1CSMA/CD协议

  12.1.2以太网帧结构

  12.1.3嵌入式系统中常用的络协议

  12.2嵌入式网络设备驱动开发概述

  12.3网络设备驱动基本数据结构

  12.3.1net_device数据结构

  12.3.2sk_buffer数据结构

  12.4网络设备初始化

  12.5打开和关闭接口

  12.6数据接收与发送

  12.7查看状态与参数设置

  12.8AT91SAM9G45网卡驱动

  12.8.1EMAC模块简介

  12.8.2模块图

  12.8.3功能描述

  12.8.4寄存器描述

  12.8.5AT91SAM9G45芯片EMAC控制器驱动分析

  小结

  进一步探索

  第13章嵌入式GUI及应用程序设计

  13.1嵌入式GUI设计概述

  13.1.1嵌入式GUI简介

  13.1.2嵌入式GUI设计需求

  13.1.3嵌入式GUI设计原则

  13.1.4主流嵌入式GUI简介

  13.2嵌入式GUI体系结构设计

  13.2.1嵌入式GUI体系结构

  13.2.2抽象层

  13.2.3核心层

  13.2.4接口层

  13.3基于主流GUI的应用程序设计

  13.3.1MiniGUI开发环境搭建

  13.3.2基于MiniGUI的应用程序设计

  13.3.3Android开发环境搭建

  13.3.4基于Android的应用程序设计

  小结

  进一步探索

  下篇实验部分

  第1章实验基础

  第2章开发环境建立

  第3章内核和模块构建

  第4章文件系统构建

  第5章调试技术演练

  第6章字符设备和驱动程序设计

  第7章块设备驱动程序设计

  第8章网络设备驱动程序设计

  第9章MiniGUI应用设计

  第10章Android应用设计

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com