龍芯嵌入式系統(tǒng)原理與應(yīng)用開(kāi)發(fā)
定 價(jià):89.9 元
叢書(shū)名:中國(guó)自主產(chǎn)權(quán)芯片技術(shù)與應(yīng)用叢書(shū)
當(dāng)前圖書(shū)已被 58 所學(xué)校薦購(gòu)過(guò)!
查看明細(xì)
- 作者:孫冬梅
- 出版時(shí)間:2023/3/1
- ISBN:9787115611888
- 出 版 社:人民郵電出版社
- 中圖法分類(lèi):TP332.2
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:128開(kāi)
本書(shū)介紹龍芯1B(LS1B)芯片的原理與應(yīng)用開(kāi)發(fā),以培養(yǎng)讀者的動(dòng)手能力和增強(qiáng)讀者的工程素養(yǎng)為目標(biāo),按照項(xiàng)目驅(qū)動(dòng)的思路展開(kāi)知識(shí)的講解和實(shí)踐操作。本書(shū)基于LS1B開(kāi)發(fā)套件,講解LS1B的結(jié)構(gòu)及原理,還介紹進(jìn)行嵌入式系統(tǒng)開(kāi)發(fā)需掌握的GPIO、UART等外設(shè)的基本原理與常用庫(kù)函數(shù),以及國(guó)產(chǎn)物聯(lián)網(wǎng)操作系統(tǒng)RT-Thread的原理及應(yīng)用開(kāi)發(fā)。最后通過(guò)一個(gè)綜合設(shè)計(jì)——基于物聯(lián)網(wǎng)的智慧路燈,讓讀者熟悉嵌入式系統(tǒng)設(shè)計(jì)流程。
1.由易到難 循序漸進(jìn)。嵌入式系統(tǒng)簡(jiǎn)介 → 裸機(jī)編程 → 操作系統(tǒng) → 綜合設(shè)計(jì)
2.案例多,設(shè)計(jì)實(shí)例+編程示例。理論與實(shí)踐相結(jié)合。介紹常用外設(shè)的基本原理、常用庫(kù)函數(shù),并給出設(shè)計(jì)實(shí)例。介紹基于RT-Thread操作系統(tǒng)的基本操作與編程示例。
3.有綜合設(shè)計(jì):基于物聯(lián)網(wǎng)的智慧路燈。帶領(lǐng)讀者熟悉嵌入式系統(tǒng)設(shè)計(jì)流程。
孫冬梅
博士后,南京工業(yè)大學(xué)副教授,F(xiàn)任江蘇省儀器儀表學(xué)會(huì)理事、江蘇省射頻識(shí)別技術(shù)標(biāo)準(zhǔn)化技術(shù)委員會(huì)委員。微課程“龍芯嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用”獲 2020 年江蘇省高校微課教學(xué)比賽三等獎(jiǎng)。編著的圖書(shū)《嵌入式 Linux 系統(tǒng)設(shè)計(jì)及應(yīng)用——基于國(guó)產(chǎn)龍芯 SoC》入選 2020 年江蘇省高等學(xué)校重點(diǎn)教材。
第01章 概述
1.1 嵌入式系統(tǒng)簡(jiǎn)介 002
1.2 LS1B 簡(jiǎn)介 003
1.3 LS1B 開(kāi)發(fā)套件 003
第02章 LS1B 開(kāi)發(fā)套件硬件平臺(tái)
2.1 外部接口 007
2.2 內(nèi)部結(jié)構(gòu) 007
2.3 最小系統(tǒng)(核心板)設(shè)計(jì)結(jié)構(gòu) 010
2.3.1 電源電路 010
2.3.2 時(shí)鐘電路 011
2.3.3 復(fù)位電路 011
2.3.4 存儲(chǔ)器電路 013
2.4 下載調(diào)試接口 014
2.4.1 串口控制臺(tái)調(diào)試程序 014
2.4.2 下載程序到 Flash 016
第03章 軟件開(kāi)發(fā)基礎(chǔ)和集成開(kāi)發(fā)環(huán)境 LoongIDE
3.1 嵌入式系統(tǒng)的程序設(shè)計(jì) 020
3.2 龍芯嵌入式開(kāi)發(fā)工具 020
3.3 嵌入式系統(tǒng)的結(jié)構(gòu) 021
3.4 嵌入式 C 語(yǔ)言開(kāi)發(fā)基礎(chǔ) 022
3.4.1 數(shù)據(jù)類(lèi)型和運(yùn)算符 022
3.4.2 4 種基本程序結(jié)構(gòu) 024
3.4.3 指針與數(shù)組 026
3.4.4 代碼規(guī)范 027
3.5 LoongIDE 簡(jiǎn)介 031
3.6 LoongIDE 的下載和安裝 032
3.7 LoongIDE 的庫(kù)函數(shù) 032
3.8 第 一個(gè)嵌入式系統(tǒng)項(xiàng)目 033
3.8.1 新建項(xiàng)目向?qū)?033
3.8.2 項(xiàng)目調(diào)試運(yùn)行 036
3.8.3 下載到 Flash 存儲(chǔ)器中運(yùn)行 038
第04章 通用輸入輸出與外部中斷
4.1 GPIO 端口組成及功能 043
4.2 GPIO 的硬件結(jié)構(gòu) 044
4.2.1 GPIO 輸入 044
4.2.2 GPIO 輸出 044
4.2.3 GPIO 寄存器 045
4.3 GPIO 的常用庫(kù)函數(shù) 051
4.4 庫(kù)函數(shù)與寄存器的關(guān)系 053
4.5 GPIO 應(yīng)用—流水燈設(shè)計(jì)實(shí)例 054
4.6 中斷的原理 057
4.7 GPIO 中斷寄存器 058
4.8 GPIO 中斷庫(kù)函數(shù) 059
4.9 GPIO 應(yīng)用中斷—按鍵點(diǎn)燈設(shè)計(jì)實(shí)例 061
第05章 通用同步 / 異步通信
5.1 串行通信簡(jiǎn)介 066
5.1.1 串行通信與并行通信 066
5.1.2 串行通信方式 066
5.1.3 串行異步通信和串行同步通信 066
5.1.4 串行異步通信的數(shù)據(jù)傳輸形式 067
5.1.5 串行異步通信的參數(shù)配置 067
5.1.6 串行通信協(xié)議的電氣特性和電路連接方式 068
5.2 UART 結(jié)構(gòu)及工作方式 071
5.2.1 UART 結(jié)構(gòu) 071
5.2.2 串行異步通信的工作方式 072
5.2.3 UART 相關(guān)寄存器 072
5.3 UART 的常用庫(kù)函數(shù) 073
5.4 UART 應(yīng)用—串口發(fā)送/接收設(shè)計(jì)實(shí)例 075
第06章 定時(shí)器
6.1 常用定時(shí)器結(jié)構(gòu)及工作方式 079
6.2 PWM 輸出和 PWM 定時(shí)器 079
6.2.1 PWM 結(jié)構(gòu)及工作方式 080
6.2.2 LS1B 中 PWM 的常用庫(kù)函數(shù) 081
6.2.3 PWM 輸出應(yīng)用設(shè)計(jì)實(shí)例 082
6.2.4 PWM 定時(shí)器應(yīng)用設(shè)計(jì)實(shí)例 084
6.3 RTC 定時(shí)器 085
6.3.1 RTC 結(jié)構(gòu)及工作方式 085
6.3.2 LS1B 中 RTC 的常用庫(kù)函數(shù) 086
6.3.3 RTC 定時(shí)器應(yīng)用設(shè)計(jì)實(shí)例 091
6.3.4 RTC 時(shí)鐘功能應(yīng)用設(shè)計(jì)實(shí)例 092
6.4 WDT 093
6.4.1 WDT 結(jié)構(gòu)及工作方式 093
6.4.2 LS1B 中 WDT 的常用庫(kù)函數(shù) 093
6.4.3 WDT 應(yīng)用設(shè)計(jì)實(shí)例 095
第07章I2C 總線(xiàn)
7.1 I2C 總線(xiàn)通信簡(jiǎn)介 100
7.1.1 I2C 總線(xiàn)介紹 100
7.1.2 硬件結(jié)構(gòu) 101
7.1.3 軟件協(xié)議工作時(shí)序 101
7.1.4 I2C 總線(xiàn)的讀/寫(xiě)操作 102
7.2 I2 C 總線(xiàn)的結(jié)構(gòu)和功能 104
7.3 I2C 總線(xiàn)的常用庫(kù)函數(shù) 104
7.4 I2C 總線(xiàn)上掛載的模塊 108
7.5 I2C 模塊 AT24C02 應(yīng)用設(shè)計(jì)實(shí)例 108
7.6 I2C 模塊 DS3231 應(yīng)用設(shè)計(jì)實(shí)例 113
7.7 I2C 模塊 OLED 應(yīng)用設(shè)計(jì)實(shí)例 118
第08章串行外設(shè)接口(SPI)
8.1 SPI 總線(xiàn)概述 123
8.1.1 SPI 定義 123
8.1.2 SPI 多從機(jī)配置 124
8.1.3 SPI 工作時(shí)序模式 124
8.1.4 常見(jiàn)串行通信協(xié)議對(duì)比 125
8.2 SPI 模塊的結(jié)構(gòu)和功能 126
8.3 SPI 模塊的常用庫(kù)函數(shù) 127
8.4 SPI 模塊應(yīng)用設(shè)計(jì)實(shí)例 130
實(shí)例 1:SPI 串口數(shù)據(jù)的發(fā)送 130
實(shí)例 2:SPI 串口數(shù)據(jù)實(shí)現(xiàn) W25Q32讀/寫(xiě) 132
第09章 CAN 總線(xiàn)
9.1 CAN 總線(xiàn)簡(jiǎn)介 136
9.1.1 硬件協(xié)議及編碼方式 136
9.1.2 CAN 總線(xiàn)協(xié)議 136
9.2 CAN 總線(xiàn)模塊結(jié)構(gòu)和功能 139
9.3 CAN 總線(xiàn)模塊常用庫(kù)函數(shù) 141
9.4 CAN 總線(xiàn)模塊應(yīng)用設(shè)計(jì)實(shí)例 144
實(shí)例:CAN0 和 CAN1 數(shù)據(jù)的收發(fā) 144
第 10章 RT-Thread 內(nèi)核及其實(shí)現(xiàn)
10.1 嵌入式實(shí)時(shí)操作系統(tǒng) 151
10.1.1 實(shí)時(shí)操作系統(tǒng) 151
10.1.2 主流嵌入式實(shí)時(shí)操作系統(tǒng) 152
10.1.3 小而美的物聯(lián)網(wǎng)操作系統(tǒng) RT-Thread 152
10.2 RT-Thread 在 LS1B 上的實(shí)現(xiàn) 154
10.3 RT-Thread 內(nèi)核及在FinSH Shell中運(yùn)行調(diào)試 155
10.3.1 LS1B 目錄結(jié)構(gòu)及內(nèi)核啟動(dòng)過(guò)程 155
10.3.2 在 FinSH Shell 中運(yùn)行和調(diào)試程序 158
10.4 RT-Thread 的內(nèi)核基礎(chǔ) 166
第 11章 RT-Thread 的線(xiàn)程管理
11.1 進(jìn)程與線(xiàn)程 170
11.2 線(xiàn)程及其功能特點(diǎn) 170
11.3 線(xiàn)程工作機(jī)制 170
11.4 線(xiàn)程管理 173
11.4.1 線(xiàn)程調(diào)度器接口 173
11.4.2 線(xiàn)程管理接口 175
11.4.3 線(xiàn)程的相關(guān)問(wèn)題 180
11.5 線(xiàn)程示例 180
11.5.1 動(dòng)態(tài)線(xiàn)程和靜態(tài)線(xiàn)程 180
11.5.2 入口函數(shù)的重用 183
11.5.3 線(xiàn)程的時(shí)間片輪詢(xún)調(diào)度 185
11.5.4 線(xiàn)程讓出 189
11.5.5 線(xiàn)程搶占 191
11.5.6 線(xiàn)程恢復(fù) 193
11.5.7 線(xiàn)程掛起 195
11.5.8 線(xiàn)程睡眠 197
11.5.9 線(xiàn)程控制 197
11.5.10 線(xiàn)程的綜合運(yùn)用 198
11.6 空閑線(xiàn)程及鉤子 200
11.6.1 輸出線(xiàn)程間的的切換信息 201
11.6.2 計(jì)算 CPU 的使用率 203
第 12章 RT-Thread 的系統(tǒng)節(jié)拍與定時(shí)器管理
12.1 時(shí)鐘管理和時(shí)鐘節(jié)拍 209
12.2 時(shí)鐘節(jié)拍的實(shí)現(xiàn)方式 209
12.3 定時(shí)器基礎(chǔ) 210
12.4 動(dòng)態(tài)定時(shí)器 212
12.5 靜態(tài)定時(shí)器 213
12.6 定時(shí)器控制接口 214
12.7 如何合理使用定時(shí)器 216
第 13章 RT-Thread 線(xiàn)程間同步與通信
13.1 中斷與臨界區(qū)的保護(hù) 218
13.1.1 線(xiàn)程搶占導(dǎo)致臨界區(qū)問(wèn)題 218
13.1.2 如何進(jìn)入臨界區(qū) 221
13.1.3 臨界區(qū)的中斷服務(wù)程序 221
13.2 線(xiàn)程同步 222
13.2.1 使用開(kāi)關(guān)中斷 222
13.2.2 使用調(diào)度器鎖 225
13.3 信號(hào)量 225
13.3.1 靜態(tài)信號(hào)量與動(dòng)態(tài)信號(hào)量 225
13.3.2 使用信號(hào)量的線(xiàn)程優(yōu)先級(jí)反轉(zhuǎn) 232
13.3.3 使用信號(hào)量的生產(chǎn)者和消費(fèi)者例程 235
13.3.4 使用信號(hào)量解決哲學(xué)家就餐問(wèn)題 239
13.4 互斥量 243
13.4.1 互斥量使用的基本例程 244
13.4.2 互斥量?jī)?yōu)先級(jí)反轉(zhuǎn)例程 247
13.4.3 互斥量?jī)?yōu)先級(jí)繼承例程 251
13.5 事件 254
13.6 郵箱基本使用 258
13.7 消息隊(duì)列 262
13.8 郵箱與消息隊(duì)列的區(qū)別 267
13.9 信號(hào)的概念及使用 268
13.9.1 信號(hào)的概念 268
13.9.2 信號(hào)的應(yīng)用例程 268
第 14章 RT-Thread 內(nèi)存管理
14.1 內(nèi)存管理基礎(chǔ)知識(shí) 273
14.2 RT-Thread 內(nèi)存管理基礎(chǔ) 274
14.3 動(dòng)態(tài)內(nèi)存分配和使用 274
14.4 內(nèi)存池 276
14.5 內(nèi)存池靜態(tài)內(nèi)存分配 277
14.6 動(dòng)態(tài)內(nèi)存管理 282
14.7 內(nèi)存環(huán)形緩沖區(qū) 285
第 15章 基于 RT-Thread 的LS1B的文件系統(tǒng)
15.1 文件系統(tǒng)、文件與文件夾 291
15.2 文件和目錄的接口 292
15.3 文件系統(tǒng)編程示例 293
第 16章 基于 RT-Thread 的LS1B網(wǎng)絡(luò)系統(tǒng)
16.1 網(wǎng)絡(luò)編程基礎(chǔ) 300
16.1.1 TCP/IP 300
16.1.2 IP地址、端口與域名 300
16.1.3 網(wǎng)絡(luò)編程協(xié)議 301
16.2 TCP/IP 服務(wù)器端數(shù)據(jù)收發(fā)編程示例 302
16.3 TCP/IP 客戶(hù)端數(shù)據(jù)收發(fā)編程示例 312
第 17章 基于 RT-Thread 的LS1B設(shè)備操作
17.1 I/O 設(shè)備管理框架 317
17.2 RT-Thread 的設(shè)備接口 318
17.2.1 設(shè)備驅(qū)動(dòng)必須實(shí)現(xiàn)的接口 318
17.2.2 設(shè)備驅(qū)動(dòng)實(shí)現(xiàn)的步驟 319
17.2.3 編寫(xiě)驅(qū)動(dòng)并自動(dòng)注冊(cè) 319
17.2.4 編寫(xiě)應(yīng)用程序測(cè)試驅(qū)動(dòng) 322
第 18章 嵌入式系統(tǒng)的綜合設(shè)計(jì)
18.1 嵌入式系統(tǒng)設(shè)計(jì)流程 326
18.2 案例:基于物聯(lián)網(wǎng)的智慧路燈 327
18.2.1 項(xiàng)目背景和需求 327
18.2.2 系統(tǒng)總體設(shè)計(jì) 327
18.2.3 硬件設(shè)計(jì) 328
18.2.4 軟件設(shè)計(jì) 330
18.2.5 智慧路燈的系統(tǒng)調(diào)試 334