注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计嵌入式系统原理与开发教程

嵌入式系统原理与开发教程

嵌入式系统原理与开发教程

定 价:¥59.90

作 者: 赖树明
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121450624 出版时间: 2023-02-01 包装: 平塑
开本: 页数: 字数:  

内容简介

  本书从嵌入式基础知识入手,介绍嵌入式系统的定义、基本组成、嵌入式系统小系统及其工程应用等基本开发技术。全书共11章,内容主要包括嵌入式基础知识、Keil开发环境及调试方法、STM32F40x外设原理及控制方法、μC/OS-III实时操作系统原理及实践、FATFS文件系统、Linux系统开发环境、Linux系统命令及Vim使用、Linux系统应用程序开发基础、嵌入式Linux RK3399开发环境构建、嵌入式Linux系统驱动程序设计、嵌入式Linux Qt应用开发,每章都配有思考题及习题。本书适合作为高等院校电气与电子信息类“嵌入式原理与应用”课程的教材,也可作为学习嵌入式应用基础的培训教材和自学参考书。

作者简介

  宋跃,东莞理工学院电子工程与智能化学院教授,首届一流本科课程、广东省高等学校本科精品课程、广东省精品开放资源共享课程“微机原理与单片机技术”负责人,一直从事微机原理、单片机、嵌入式等方面的教学与科研工作。

图书目录

第1章 嵌入式基础知识
1.1 嵌入式系统简介
1.1.1 嵌入式系统的定义
1.1.2 嵌入式系统的组成
1.1.3 嵌入式系统的特点
1.1.4 嵌入式系统的应用领域
1.2 嵌入式处理器基础知识
1.2.1 嵌入式处理器分类
1.2.2 嵌入式处理器体系结构
1.2.3 嵌入式处理器发展方向
1.3 ARM系列微处理器介绍
1.3.1 ARM系列微处理器分类
1.3.2 ARM Cortex系列微处理器
1.4 ST公司系列微控制器介绍
1.4.1 STM32微控制器简介
1.4.2 STM32F1xx系列
1.4.3 STM32F2xx系列
1.4.4 STM32F4xx系列
1.4.5 STM32微控制器芯片命名规则
1.4.6 STM32F407ZGT6简介
1.5 STM32F40x小系统
思考题及习题
第2章 Keil开发环境及调试方法
2.1 嵌入式系统开发环境概述
2.1.1 MDK5简介
2.1.2 基于CMSIS应用程序的基本架构
2.2 嵌入式系统开发环境搭建
2.2.1 需要安装的软件
2.2.2 软件安装过程
2.3 嵌入式系统开发环境调试方法
2.3.1 创建工程
2.3.2 Keil开发环境调试方法
思考题及习题
第3章 STM32F40x外设原理及控制方法
3.1 时钟系统原理
3.1.1 STM32F40x框架分析
3.1.2 STM32F40x时钟系统分析
3.1.3 时钟系统相关寄存器
3.1.4 代码配置时钟系统
3.2 GPIO模块原理
3.2.1 GPIO框架分析
3.2.2 GPIO核心寄存器分析
3.2.3 位带操作
3.2.4 STM32F407ZGT6时钟使能寄存器
3.2.5 STM32F40x模块控制寄存器表示
3.2.6 GPIO驱动示例
3.3 中断模块原理
3.3.1 中断的相关概念
3.3.2 中断框架分析
3.3.3 ARM公司通用的NVIC中断配置函数
3.3.4 STM32F40x外部中断
3.3.5 STM32F40x外部中断核心寄存器
3.3.6 STM32F40x外部中断GPIO映射寄存器
3.3.7 STM32F40x外部中断编程
3.3.8 按键中断示例
3.4 定时器模块原理
3.4.1 定时器框架分析
3.4.2 基本定时器的核心寄存器
3.4.3 基本定时器示例
3.5 UART模块原理
3.5.1 通信概述
3.5.2 UART通信接口
3.5.3 UART模块框架分析
3.5.4 UART核心寄存器
3.5.5 UART模块编程示例
3.6 I2C通信模块原理
3.6.1 I2C总线概述
3.6.2 I2C总线协议
3.6.3 I2C总线编程实现
3.6.4 I2C总线应用实例
3.7 SPI通信模块原理
3.7.1 SPI总线概述
3.7.2 SPI通信模块框架分析
3.7.3 SPI通信模块核心寄存器
3.7.4 SPI通信模块示例
3.8 ADC模块原理
3.8.1 ADC模块介绍
3.8.2 ADC模块框架分析
3.8.3 ADC模块核心寄存器
3.8.4 ADC模块应用示例
3.9 DMA模块原理
3.9.1 DMA概述
3.9.2 DMA主要特点
3.9.3 DMA模块框架分析
3.9.4 如何使用DMA
3.9.5 DMA模块核心寄存器
3.9.6 DMA数据流配置流程
3.9.7 DMA模块示例
思考题及习题
第4章 μC/OS-III实时操作系统原理及实践
4.1 操作系统基础
4.1.1 常见嵌入式操作系统
4.1.2 操作系统的分类
4.1.3 裸机程序与操作系统的比较
4.2 初识μC/OS-III操作系统
4.2.1 系统简介
4.2.2 源码结构
4.2.3 μC/OS系统裁剪
4.2.4 任务优先级
4.2.5 任务调度法则
4.2.6 程序模板
4.3 μC/OS-III任务使用
4.3.1 任务的基本概念
4.3.2 定义任务栈
4.3.3 定义优先级
4.3.4 定义任务控制块
4.3.5 定义任务函数
4.3.6 创建任务
4.3.7 μC/OS-III时间管理
4.3.8 μC/OS-III任务通信
4.3.9 μC/OS-III临界区、调度器上锁
思考题及习题
第5章 FATFS文件系统
5.1 文件系统概述
5.2 FATFS文件系统概述
5.3 FATFS文件系统的移植
5.3.1 FATFS文件系统的移植准备
5.3.2 FATFS文件系统的资源包
5.3.3 FATFS文件系统的源码文件介绍
5.3.4 FATFS文件系统的移植
5.3.5 编写移植FATFS文件系统的主函数
5.3.6 测试FATFS文件系统
5.4 FATFS文件系统的API函数
5.4.1 f_mount函数
5.4.2 f_open函数
5.4.3 f_close函数
5.4.4 f_read函数
5.4.5 f_write函数
5.4.6 f_lseek函数
5.4.7 f_sync函数
5.4.8 f_mkdir函数
5.4.9 f_opendir函数
5.4.10 f_readdir函数
5.5 FATFS文件系统使用示例
思考题及习题
第6章 Linux系统开发环境
6.1 Linux系统简介
6.1.1 Linux系统特点
6.1.2 Linux系统安装
6.2 VMware的安装
6.2.1 VMware的下载
6.2.2 VMware的安装
6.3 Ubuntu安装到VMware
6.3.1 创建虚拟机
6.3.2 安装Ubuntu系统
6.3.3 安装VMware Tools
6.3.4 配置Windows共享目录
6.3.5 安装常用的软件
思考题及习题
第7章 Linux系统命令及Vim使用
7.1 Linux系统使用基础
7.1.1 Linux系统基本使用方法
7.1.2 命令终端的快捷键
7.1.3 桌面/窗口的快捷键
7.1.4 gedit文本编辑器的快捷键
7.1.5 Linux系统使用注意事项
7.2 Linux系统常用命令
7.2.1 Linux系统命令使用基础
7.2.2 Linux系统管理命令
7.2.3 Linux文件管理命令
7.2.4 Linux网络管理命令
7.3 Vim文本编辑器
7.3.1 Vim的安装
7.3.2 Vim的启动
7.3.3 Vim的工作模式
7.3.4 Vim的配置
思考题及习题
第8章 Linux系统应用程序开发基础
8.1 Linux系统应用程序设计
8.1.1 Linux系统中C程序标准main函数
8.1.2 GCC编译器
8.1.3 GCC编译应用程序
8.2 静态库和动态库
8.2.1 静态库和动态库相关选项
8.2.2 静态库的创建及使用
8.2.3 动态库的创建及使用
8.2.4 动态库与静态库的比较
8.3 make工程管理器和Makefile文件
8.3.1 Makefile文件的语法格式
8.3.2 Makefile编译C程序示例
8.3.3 Makefile文件的变量、规则与函数
8.3.4 Makefile函数使用
8.4 Linux系统文件I/O编程
8.4.1 Linux系统文件分类
8.4.2 Linux系统I/O分类
8.4.3 Linux系统非缓冲I/O操作
8.4.4 Linux系统缓冲I/O操作
8.4.5 Linux系统文件信息获取
8.4.6 Linux系统目录操作
8.4.7 Linux系统时间和日期相关函数
思考题及习题
第9章 嵌入式Linux RK3399开发环境构建
9.1 RK3399开发环境及系统烧写
9.1.1 RK3399开发板平台介绍
9.1.2 USB升级固件
9.1.3 启动模式说明
9.1.4 Parameter参数设置文件说明
9.2 RK3399 U-Boot裁剪和编译
9.2.1 Linux系统组成
9.2.2 U-Boot源码获得
9.2.3 U-Boot目录介绍
9.2.4 ARM Linux GCC交叉编译器安装
9.2.5 U-Boot裁剪和编译过程
9.3 RK3399 Linux内核裁剪和编译
9.3.1 Linux内核源码获得
9.3.2 Linux内核源码目录结构
9.3.3 Linux内核使用帮助说明
9.3.4 Linux内核裁剪
9.3.5 Linux编译内核
9.3.6 烧写内核到开发板
思考题及习题
第10章 嵌入式Linux系统驱动程序设计
10.1 Linux设备驱动基础
10.1.1 Linux系统调用接口
10.1.2 Linux系统设备分类
10.1.3 Linux系统设备文件
10.1.4 Linux系统内核框架
10.1.5 Linux字符设备文件操作方法结构
10.2 Linux系统内核模块编程
10.2.1 Linux内核模块代码模板
10.2.2 Linux内核模块编译
10.2.3 Linux内核模块相关命令
10.3 Linux杂项设备驱动模型
10.3.1 Linux设备驱动基础知识
10.3.2 杂项设备的核心结构
10.3.3 杂项设备号
10.3.4 杂项设备驱动模型特征
10.3.5 杂项设备驱动注册/注销函数
10.3.6 杂项设备驱动代码模板
10.4 用户空间和内核空间的数据交换
10.4.1 从用户空间复制数据到内核空间
10.4.2 从内核空间复制数据到用户空间
10.5 Linux GPIO内核API函数
10.6 Linux GPIO LED驱动
10.6.1 硬件原理图分析
10.6.2 软件分析
10.6.3 LED读写测试步骤
10.6.4 LED读写测试结果
10.7 Linux按键中断编程
10.7.1 中断驱动编程基础
10.7.2 Linux内核中断API函数
10.7.3 RK3399虚拟中断编号
10.8 Linux GPIO按键中断驱动
10.8.1 硬件原理图分析
10.8.2 按键中断服务程序的实现
10.8.3 按键中断测试步骤
10.8.4 按键中断测试结果
思考题及习题
第11章 嵌入式Linux Qt应用开发
11.1 Linux系统安装Qt软件
11.1.1 Qt软件下载
11.1.2 安装Qt Creator
11.1.3 安装格式化工具
11.2 移植Qt到RK3399开发板
11.2.1 制作精简的根文件系统
11.2.2 移植tslib库到RK3399开发板
11.2.3 移植Qt5.12.0到RK3399开发板
11.3 配置RK3399 Qt编译环境
11.3.1 增加RK3399 Qt配置
11.3.2 交叉编译Qt应用程序
11.3.3 测试编译Qt应用程序
思考题及习题
参考文献

本目录推荐