龍芯嵌入式系統原理與套用開發

龍芯嵌入式系統原理與套用開發

《龍芯嵌入式系統原理與套用開發》是2023年人民郵電出版社出版的圖書,作者是孫冬梅。

基本介紹

  • 中文名:龍芯嵌入式系統原理與套用開發
  • 作者:孫冬梅
  • 出版時間:2023年3月
  • 出版社:人民郵電出版社
  • ISBN:9787115611888 
  • 開本:16 開
  • 裝幀:平裝
  • 叢書名:中國自主產權晶片技術與套用叢書
內容簡介,作者簡介,圖書目錄,

內容簡介

本書介紹龍芯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

相關詞條

熱門詞條

聯絡我們