注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络硬件、外部设备与维护龙芯嵌入式系统原理与应用开发

龙芯嵌入式系统原理与应用开发

龙芯嵌入式系统原理与应用开发

定 价:¥89.90

作 者: 孙冬梅
出版社: 人民邮电出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787115611888 出版时间: 2023-03-01 包装: 平装
开本: 128开 页数: 字数:  

内容简介

  本书介绍龙芯1B(LS1B)芯片的原理与应用开发,以培养读者的动手能力和增强读者的工程素养为目标,按照项目驱动的思路展开知识的讲解和实践操作。本书基于LS1B开发套件,讲解LS1B的结构及原理,还介绍进行嵌入式系统开发需掌握的GPIO、UART等外设的基本原理与常用库函数,以及国产物联网操作系统RT-Thread的原理及应用开发。最后通过一个综合设计——基于物联网的智慧路灯,让读者熟悉嵌入式系统设计流程。

作者简介

  孙冬梅博士后,南京工业大学副教授。现任江苏省仪器仪表学会理事、江苏省射频识别技术标准化技术委员会委员。微课程“龙芯嵌入式系统设计及应用”获 2020 年江苏省高校微课教学比赛三等奖。编著的图书《嵌入式 Linux 系统设计及应用——基于国产龙芯 SoC》入选 2020 年江苏省高等学校重点教材。

图书目录

第01章 概述
1.1 嵌入式系统简介 002
1.2 LS1B 简介 003
1.3 LS1B 开发套件 003

第02章 LS1B 开发套件硬件平台
2.1 外部接口 007
2.2 内部结构 007
2.3 最小系统(核心板)设计结构 010
2.3.1 电源电路 010
2.3.2 时钟电路 011
2.3.3 复位电路 011
2.3.4 存储器电路 013
2.4 下载调试接口 014
2.4.1 串口控制台调试程序 014
2.4.2 下载程序到 Flash 016

第03章 软件开发基础和集成开发环境 LoongIDE
3.1 嵌入式系统的程序设计 020
3.2 龙芯嵌入式开发工具 020
3.3 嵌入式系统的结构 021
3.4 嵌入式 C 语言开发基础 022
3.4.1 数据类型和运算符 022
3.4.2 4 种基本程序结构 024
3.4.3 指针与数组 026
3.4.4 代码规范 027
3.5 LoongIDE 简介 031
3.6 LoongIDE 的下载和安装 032
3.7 LoongIDE 的库函数 032
3.8 第 一个嵌入式系统项目 033
3.8.1 新建项目向导 033
3.8.2 项目调试运行 036
3.8.3 下载到 Flash 存储器中运行 038

第04章 通用输入输出与外部中断
4.1 GPIO 端口组成及功能 043
4.2 GPIO 的硬件结构 044
4.2.1 GPIO 输入 044
4.2.2 GPIO 输出 044
4.2.3 GPIO 寄存器 045
4.3 GPIO 的常用库函数 051
4.4 库函数与寄存器的关系 053
4.5 GPIO 应用—流水灯设计实例 054
4.6 中断的原理 057
4.7 GPIO 中断寄存器 058
4.8 GPIO 中断库函数 059
4.9 GPIO 应用中断—按键点灯设计实例 061

第05章 通用同步 / 异步通信
5.1 串行通信简介 066
5.1.1 串行通信与并行通信 066
5.1.2 串行通信方式 066
5.1.3 串行异步通信和串行同步通信 066
5.1.4 串行异步通信的数据传输形式 067
5.1.5 串行异步通信的参数配置 067
5.1.6 串行通信协议的电气特性和电路连接方式 068
5.2 UART 结构及工作方式 071
5.2.1 UART 结构 071
5.2.2 串行异步通信的工作方式 072
5.2.3 UART 相关寄存器 072
5.3 UART 的常用库函数 073
5.4 UART 应用—串口发送/接收设计实例 075

第06章 定时器
6.1 常用定时器结构及工作方式 079
6.2 PWM 输出和 PWM 定时器 079
6.2.1 PWM 结构及工作方式 080
6.2.2 LS1B 中 PWM 的常用库函数 081
6.2.3 PWM 输出应用设计实例 082
6.2.4 PWM 定时器应用设计实例 084
6.3 RTC 定时器 085
6.3.1 RTC 结构及工作方式 085
6.3.2 LS1B 中 RTC 的常用库函数 086
6.3.3 RTC 定时器应用设计实例 091
6.3.4 RTC 时钟功能应用设计实例 092
6.4 WDT 093
6.4.1 WDT 结构及工作方式 093
6.4.2 LS1B 中 WDT 的常用库函数 093
6.4.3 WDT 应用设计实例 095

第07章I2C 总线
7.1 I2C 总线通信简介 100
7.1.1 I2C 总线介绍 100
7.1.2 硬件结构 101
7.1.3 软件协议工作时序 101
7.1.4 I2C 总线的读/写操作 102
7.2 I2 C 总线的结构和功能 104
7.3 I2C 总线的常用库函数 104
7.4 I2C 总线上挂载的模块 108
7.5 I2C 模块 AT24C02 应用设计实例 108
7.6 I2C 模块 DS3231 应用设计实例 113
7.7 I2C 模块 OLED 应用设计实例 118

第08章串行外设接口(SPI)
8.1 SPI 总线概述 123
8.1.1 SPI 定义 123
8.1.2 SPI 多从机配置 124
8.1.3 SPI 工作时序模式 124
8.1.4 常见串行通信协议对比 125
8.2 SPI 模块的结构和功能 126
8.3 SPI 模块的常用库函数 127
8.4 SPI 模块应用设计实例 130
实例 1:SPI 串口数据的发送 130
实例 2:SPI 串口数据实现 W25Q32读/写 132

第09章 CAN 总线
9.1 CAN 总线简介 136
9.1.1 硬件协议及编码方式 136
9.1.2 CAN 总线协议 136
9.2 CAN 总线模块结构和功能 139
9.3 CAN 总线模块常用库函数 141
9.4 CAN 总线模块应用设计实例 144
实例:CAN0 和 CAN1 数据的收发 144

第 10章 RT-Thread 内核及其实现
10.1 嵌入式实时操作系统 151
10.1.1 实时操作系统 151
10.1.2 主流嵌入式实时操作系统 152
10.1.3 小而美的物联网操作系统 RT-Thread 152
10.2 RT-Thread 在 LS1B 上的实现 154
10.3 RT-Thread 内核及在FinSH Shell中运行调试 155
10.3.1 LS1B 目录结构及内核启动过程 155
10.3.2 在 FinSH Shell 中运行和调试程序 158
10.4 RT-Thread 的内核基础 166

第 11章 RT-Thread 的线程管理
11.1 进程与线程 170
11.2 线程及其功能特点 170
11.3 线程工作机制 170
11.4 线程管理 173
11.4.1 线程调度器接口 173
11.4.2 线程管理接口 175
11.4.3 线程的相关问题 180
11.5 线程示例 180
11.5.1 动态线程和静态线程 180
11.5.2 入口函数的重用 183
11.5.3 线程的时间片轮询调度 185
11.5.4 线程让出 189
11.5.5 线程抢占 191
11.5.6 线程恢复 193
11.5.7 线程挂起 195
11.5.8 线程睡眠 197
11.5.9 线程控制 197
11.5.10 线程的综合运用 198
11.6 空闲线程及钩子 200
11.6.1 输出线程间的的切换信息 201
11.6.2 计算 CPU 的使用率 203

第 12章 RT-Thread 的系统节拍与定时器管理
12.1 时钟管理和时钟节拍 209
12.2 时钟节拍的实现方式 209
12.3 定时器基础 210
12.4 动态定时器 212
12.5 静态定时器 213
12.6 定时器控制接口 214
12.7 如何合理使用定时器 216

第 13章 RT-Thread 线程间同步与通信
13.1 中断与临界区的保护 218
13.1.1 线程抢占导致临界区问题 218
13.1.2 如何进入临界区 221
13.1.3 临界区的中断服务程序 221
13.2 线程同步 222
13.2.1 使用开关中断 222
13.2.2 使用调度器锁 225
13.3 信号量 225
13.3.1 静态信号量与动态信号量 225
13.3.2 使用信号量的线程优先级反转 232
13.3.3 使用信号量的生产者和消费者例程 235
13.3.4 使用信号量解决哲学家就餐问题 239
13.4 互斥量 243
13.4.1 互斥量使用的基本例程 244
13.4.2 互斥量优先级反转例程 247
13.4.3 互斥量优先级继承例程 251
13.5 事件 254
13.6 邮箱基本使用 258
13.7 消息队列 262
13.8 邮箱与消息队列的区别 267
13.9 信号的概念及使用 268
13.9.1 信号的概念 268
13.9.2 信号的应用例程 268
第 14章 RT-Thread 内存管理
14.1 内存管理基础知识 273
14.2 RT-Thread 内存管理基础 274
14.3 动态内存分配和使用 274
14.4 内存池 276
14.5 内存池静态内存分配 277
14.6 动态内存管理 282
14.7 内存环形缓冲区 285

第 15章 基于 RT-Thread 的LS1B的文件系统
15.1 文件系统、文件与文件夹 291
15.2 文件和目录的接口 292
15.3 文件系统编程示例 293

第 16章 基于 RT-Thread 的LS1B网络系统
16.1 网络编程基础 300
16.1.1 TCP/IP 300
16.1.2 IP地址、端口与域名 300
16.1.3 网络编程协议 301
16.2 TCP/IP 服务器端数据收发编程示例 302
16.3 TCP/IP 客户端数据收发编程示例 312

第 17章 基于 RT-Thread 的LS1B设备操作
17.1 I/O 设备管理框架 317
17.2 RT-Thread 的设备接口 318
17.2.1 设备驱动必须实现的接口 318
17.2.2 设备驱动实现的步骤 319
17.2.3 编写驱动并自动注册 319
17.2.4 编写应用程序测试驱动 322

第 18章 嵌入式系统的综合设计
18.1 嵌入式系统设计流程 326
18.2 案例:基于物联网的智慧路灯 327
18.2.1 项目背景和需求 327
18.2.2 系统总体设计 327
18.2.3 硬件设计 328
18.2.4 软件设计 330
18.2.5 智慧路灯的系统调试 334

本目录推荐