嵌入式系統原理與開發——基於RISC-V和Linux系統
王劍 劉鵬 陳景偉
買這商品的人也買了...
-
$594$564 -
$474$450 -
$1,000$850 -
$279編譯原理及實現, 2/e
-
$319編譯技術原理及方法(慕課版)
-
$600$450 -
$534$507 -
$780$663 -
$390RISC-V 體系結構編程與實踐
-
$594$564 -
$400$360 -
$680$537 -
$454RISC-V 開放架構設計之道
-
$1,980$1,881 -
$374開源RISC-V處理器架構分析與驗證
-
$600$474 -
$620$484 -
$780$616 -
$654$621 -
$704線性代數與數據學習
相關主題
商品描述
本書以當前嵌入式系統領域里具有代表性的RISC-V技術和嵌入式Linux操作系統作為分析對象。本書內容分為三個部分,第一部分介紹嵌入式系統的基礎知識,RISC-V指令集和賽昉科技出品的VisionFive 2(中文名:昉·星光 2)單板電腦。在此基礎上第二部分闡述了嵌入式Linux相關知識,主要包括Linux內核、文件系統、移植方法、驅動程序等內容。第三部分介紹採用python語言在RISC-V單板電腦和嵌入式Linux系統上的開發設計案例。本書可以作為高等學校電腦、電子、電信類專業學生的參考用書,也可以作為RISC-V相關嵌入式開發人員的參考用書。
目錄大綱
第1章嵌入式系統概述
1.1嵌入式系統簡介
1.1.1嵌入式系統的產生
1.1.2嵌入式系統的定義、特點和分類
1.1.3嵌入式系統的典型組成
1.2嵌入式微處理器
1.2.1嵌入式微處理器簡介
1.2.2主流嵌入式微處理器
1.3嵌入式操作系統
1.3.1嵌入式Linux
1.3.2QNX
1.3.3Huawei LiteOS
1.3.4Android
1.3.5μC/OS-Ⅱ
1.3.6VxWorks
1.3.7RT-Thread
1.4嵌入式系統的應用領域和發展趨勢
1.4.1嵌入式系統的應用領域
1.4.2嵌入式系統的發展趨勢
1.5本章小結
第2章RISC-V處理器架構
2.1RISC-V架構簡介
2.1.1RISC-V架構的發展及推廣
2.1.2RISC-V架構特點
2.1.3RISC-V架構處理器芯片
2.2RISC-V寄存器
2.2.1通用寄存器
2.2.2控制與狀態寄存器
2.2.3程序指針寄存器PC
2.3RISC-V權限模式
2.4RISC-V指令集
2.4.1RISC-V指令編碼格式
2.4.2RISC-V指令長度編碼
2.4.3RISC-V尋址方式
2.4.4RV32I指令簡介
2.5RISC-V異常與中斷
2.5.1同步異常和異步異常
2.5.2RV32權限模式和異常
2.5.3機器模式異常相關的CSR寄存器
2.5.4異常與中斷響應過程
2.6本章小結
第3章昉·星光 2(VisionFive 2)RISC-V單板電腦
3.1JH-7110(昉·驚鴻-7110)處理器
3.1.1JH-7110處理器簡介
3.1.2JH-7110處理器內部各模塊介紹
3.1.3JH-7110處理器地址映射
3.2VisionFive 2 RISC-V單板電腦簡介
3.2.1VisionFive 2 RISC-V單板電腦組成
3.2.2VisionFive 2 RISC-V單板電腦外設
3.3快速使用 VisionFive 2 RISC-V單板電腦
3.3.1將操作系統燒錄到Micro-SD卡上並擴展分區
3.3.2更新SPL和U-Boot
3.4本章小結
第4章Linux基礎
4.1Linux和Shell
4.2常見Linux發行版本
4.3Linux文件管理
4.3.1查看文件
4.3.2元字符
4.3.3隱藏文件
4.3.4查看文件內容
4.3.5統計單詞數目
4.3.6復制文件
4.3.7重命名文件
4.3.8刪除文件
4.4Linux目錄
4.4.1主目錄
4.4.2絕對路徑和相對路徑
4.4.3創建目錄
4.4.4刪除目錄
4.4.5改變所在目錄
4.4.6重命名目錄
4.5Linux文件權限和訪問模式
4.5.1查看文件權限
4.5.2文件訪問模式
4.5.3目錄訪問模式
4.5.4改變權限
4.5.5更改所有者和用戶組
4.6Linux環境變量
4.6.1.profile文件
4.6.2設置終端類型
4.6.3設置PATH變量
4.6.4設置命令提示符
4.6.5常用環境變量
4.7Linux yum 和Linux apt 軟件包管理器
4.7.1Linux yum軟件包管理器
4.7.2Linux apt 軟件包管理器
4.8Linux常用服務
4.8.1Linux磁盤管理
4.8.2SSH服務
4.8.3minicom
4.9本章小結
第5章Linux內核
5.1Linux內核概述
5.1.1GNU/Linux的基本體系結構
5.1.2Linux內核版本及特點
5.1.3Linux內核的主要架構及功能
5.1.4Linux內核源碼目錄結構
5.2Linux進程管理
5.2.1進程的表示和切換
5.2.2進程、線程和內核線程
5.2.3進程描述符task_struct的幾個特殊字段
5.2.4kernel_clone函數
5.2.5進程的創建
5.2.6線程和內核線程的創建
5.2.7進程的執行——exec函數族
5.2.8進程的終止
5.2.9進程的調度
5.3Linux內存管理
5.3.1Linux內存管理概述
5.3.2Linux虛擬存儲空間及分佈
5.3.3進程空間描述
5.3.4物理內存管理(頁管理)
5.3.5基於Slab分配器的管理技術
5.3.6內核非連續內存分配(vmalloc)
5.3.7頁面回收簡述
5.4Linux模塊
5.4.1LKM 的編寫和編譯
5.4.2LKM的內核表示
5.4.3模塊的加載與卸載
5.4.4模塊主要命令
5.5Linux中斷管理
5.5.1Linux中斷的一些基本概念
5.5.2通用中斷子系統
5.5.3主要數據結構
5.6本章小結
第6章Linux文件系統
6.1Linux文件系統概述
6.2Ext2/Ext3/Ext4文件系統
6.3嵌入式文件系統
6.3.1嵌入式文件系統概述
6.3.2JFFS2嵌入式文件系統
6.4ramfs和ramdisk文件系統
6.4.1ramfs
6.4.2ramdisk文件系統
6.5根文件系統
6.5.1根文件系統概述
6.5.2根文件系統的製作工具——Busybox
6.5.3製作根文件系統
6.6本章小結
第7章嵌入式Linux系統移植
7.1BootLoader基礎
7.1.1BootLoader基本概念
7.1.2BootLoader的操作模式
7.1.3BootLoader的典型結構
7.1.4常見的BootLoader
7.1.5U-Boot概述
7.1.6RISC-V架構的 U-Boot 引導過程
7.1.7U-Boot環境變量
7.1.8U-Boot命令
7.1.9U-Boot對設備樹的支持
7.2JH-7110的啟動流程分析
7.2.1啟動模式設置
7.2.2啟動資源
7.2.3BootROM
7.2.4SPL
7.2.5OpenSBI
7.2.6U-Boot
7.3JH-7110的U-Boot編程基礎知識
7.3.1配置
7.3.2接口描述
7.3.3調試方法
7.4交叉開發環境與交叉編譯工具鏈
7.4.1主機與目標機的連接方式和文件傳輸方式
7.4.2交叉編譯環境的建立
7.4.3交叉編譯工具鏈概述
7.4.4交叉編譯工具鏈的主要工具
7.4.5RISC-V gcc工具鏈
7.4.6Makefile基礎
7.4.7clang與LLVM
7.5嵌入式RISC-V Linux系統移植過程
7.5.1BootLoader移植
7.5.2內核的配置、編譯和移植
7.6本章小結
第8章設備驅動程序設計
8.1設備驅動程序開發概述
8.1.1Linux 設備驅動程序分類
8.1.2驅動程序的處理過程
8.1.3設備驅動程序框架
8.1.4驅動程序的加載
8.2內核設備模型
8.2.1設備模型功能
8.2.2sysfs概述
8.2.3sysfs的實現機制kobject
8.2.4設備模型的組織——platform總線
8.3設備樹
8.4GPIO設計案例
8.4.1GPIO概述
8.4.2配置
8.4.3接口描述
8.4.4示例
8.5I2C總線設計案例
8.5.1I2C總線介紹
8.5.2I2C驅動程序框架
8.5.3配置
8.5.4接口描述
8.5.5通用示例
8.6SPI設計案例
8.6.1配置
8.6.2SPI驅動程序框架
8.6.3接口描述
8.6.4示例
8.7UART設計案例
8.7.1簡介
8.7.2配置
8.7.3接口描述
8.7.4UART示例
8.8本章小結
第9章VisionFive 2單板機開發案例
9.1Python驅動蜂鳴器案例
9.1.1連接硬件
9.1.2執行演示代碼
9.1.3程序源碼
9.2Python開發溫濕度監測系統案例
9.2.1連接硬件
9.2.2執行演示代碼
9.2.3程序源碼
9.3Python驅動LCD屏顯案例
9.3.1連接硬件
9.3.2執行演示代碼
9.3.3程序源碼
9.4Python讀取GPS數據案例
9.4.1連接硬件
9.4.2執行演示代碼
9.4.3程序源碼
9.5本章小結
參考文獻