嵌入式系統原理與開發教程

《嵌入式系統原理與開發教程》是2023年電子工業出版社出版的圖書,作者是賴樹明、宋躍。

基本介紹

  • 中文名:嵌入式系統原理與開發教程
  • 作者:賴樹明、宋躍
  • 出版社:電子工業出版社
  • 出版時間:2023年2月
  • 頁數:320 頁
  • 定價:59.90 元
  • 開本:16 開
  • ISBN:9787121450624
內容簡介,圖書目錄,

內容簡介

本書從嵌入式基礎知識入手,介紹嵌入式系統的定義、基本組成、嵌入式系統最小系統及其工程套用等基本開發技術。全書共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應用程式
思考題及習題
參考文獻

相關詞條

熱門詞條

聯絡我們