嵌入式邊緣計算軟硬體開發教程(高級龍芯2K1000處理器應用開發龍芯1+X認證嵌入式邊緣計算軟硬體開發1+X認證教材)
內容大鋼
為開展《嵌入式邊緣計算軟硬體開發》1+X證書(高級)培訓和考證工作,校企共同編寫。本教材以1+X證書職業技能等級標準(高級)作為基準,以龍芯2K1000處理器、國產操作系統(Loongbian)、OpenCV、QT作為主要內容,以任務驅動為導向,設計了22個由簡到繁、由淺入深的實訓任務,重構教材內容、章節順序,保證教材內容具備系統化的知識體系和技能體系。本教材是1+X證書《嵌入式邊緣計算軟硬體開發》(高級)第一本配套教材,做到1+X證書職業技能等級標準、1+X證書設備、教材、課程資源四位一體,實現「課證」融合,填補高職院校國產化嵌入式技術教材空白。本教材適用高職院校、職教本科院校電子信息工程技術、物聯網應用技術、嵌入式應用技術等專業的嵌入式技術相關課程。
目錄
第一篇 龍芯2K1000處理器快速入門
第1章 龍芯2K1000開發平台
1.1 龍芯教育派2K1000簡介
1.2 硬體資源與布局
1.3 2K1000處理器介紹
1.3.1 概述
1.3.2 晶元體系結構
1.4 龍芯2K1000支持的Linux發行版
任務1 龍芯2K1000開發平台測試
第2章 Linux系統基本操作
2.1 Linux的系統目錄樹
2.2 Linux軟體包管理
2.3 Linux遠程登錄
2.4 Linux文件與磁碟管理
2.5 GCC編譯器使用
2.5.1 GCC編譯器簡介
2.5.2 基本用法
任務2 Linux常用命令操作
第3章 龍芯教育派使用入門
3.1 龍芯教育派上電啟動
3.2 龍芯教育派顯示器配置
3.3 龍芯教育派連接網路
3.4 龍芯教育派SSH遠程控制
3.5 龍芯教育派系統安裝
第二篇 Linux應用開發
第4章 Linux開發環境搭建
4.1 本地編譯與交叉編譯
4.2 龍芯交叉編譯工具鏈安裝與使用
4.2.1 安裝交叉編譯工具鏈
4.2.2 交叉編譯的使用
4.3 Linux應用編程基礎知識
4.4 Makefile工程管理
4.4.1 Makefile簡介
4.4.2 Makefile文件舉例
任務3 編寫龍芯教育派第一行代碼
第5章 Linux編程基礎
5.1 Linux內存管理
5.1.1 進程與內存
5.1.2 內存分配機制
5.2 內存管理函數 malloc()和 free()
5.3 文件指針和流
5.4 標準輸入、標準輸出和標準錯誤
5.5 文件操作
任務4 Linux文件操作用戶空間編程
第6章 Linux多進程/線程應用開發
6.1 進程基本概念
6.2 進程環境和屬性
6.3 創建進程
6.4 退出進程
6.4.1 常見的退出方法
6.4.2 信號處理程序
6.4.3 退出函數說明
6.5 常用的進程間通信方式
6.5.1 管道
6.5.2 消息隊列
6.5.3 共享內存
任務5 多進程應用編程
6.6 多線程操作
6.6.1 pthread線程操作庫
6.6.2 線程基本操作
6.6.3 線程的屬性
6.6.4 線程的鎖
任務6 多線程應用編程
第7章 Linux網路通信應用
7.1 網路編程的基礎概念
7.1.1 網路層次劃分
7.1.2 OSI 7層模型
7.2 TCP/IP
7.2.1 IP地址、埠與域名
7.2.2 套接字(Socket)
7.2.3 TCP/IP通信簡單實現
7.3 多連接環境Socket編程
7.3.1 使用select()處理多連接
7.3.2 使用poll()函數處理多連接
任務7 Linux網路編程
第三篇 Linux驅動開發
第8章 Linux驅動開發基礎
8.1 設備驅動介紹
8.2 Linux設備驅動分類
8.3 字元設備驅動
8.3.1 驅動初始化
8.3.2 實現設備操作
8.3.3 驅動註銷
8.3.4 字元設備驅動程序基礎
8.4 Linux內核模塊介紹
第9章 GPIO驅動應用開發
9.1 Linux GPIO驅動
9.2 Linux GPIO中斷控制
9.3 GPIO引腳復用配置
任務8 GPIO控制實驗
9.4 PythonGPIO外設控制
任務9 Python控制GPIO
第10章 PWM驅動應用開發
10.1 PWM工作原理
10.2 sysfs方式控制PWM
任務10 PWM-LED呼吸燈
第11章 UART匯流排與設備驅動
11.1 UART工作原理
11.2 UART驅動
11.2.1 stty命令
11.2.2 程序驅動
11.3 串口庫pyserial
任務11 龍芯2K串口數據傳輸
第12章 IIC匯流排與設備驅動
12.1 配置I2C設備驅動
12.1.1 打開I2C介面
12.1.2 設置器件地址
12.1.3 數據的讀寫
12.1.4 I2C tools
任務12 IIC匯流排感測器數據獲取
第13章 CAN匯流排與設備驅動
13.1 CAN匯流排概述
13.2 CAN匯流排工作原理
13.2.1 CAN匯流排結構及幀格式
13.2.2 CAN匯流排位速率
13.3 龍芯2K1000處理器CAN匯流排驅動配置
13.3.1 龍芯2K1000處理器CAN匯流排復用配置
13.3.2 CAN介面測試
任務13 使用龍芯2K1000處理器傳輸CAN匯流排數據
第四篇 龍芯處理器綜合實戰
第14章 Qt應用開發
14.1 Qt簡介
14.1.1 GUI編程學什麼
14.1.2 PyQT是什麼
14.2 開發環境的安裝
14.3 第一個Qt桌面應用
14.4 Qt Designer的使用
14.5 控制項快速入門
14.5.1 Qt Designer基本控制項介紹
14.5.2 設計Qt簡單應用程序
14.6 Qt核心API的使用
14.7 Qt中常用控制項API的使用
任務14 俄羅斯方塊遊戲設計
任務15 用戶管理系統設計
任務16 門禁系統設計
第15章 龍芯2KOpenCV應用開發
15.1 OpenCV簡介
15.2 Opencv安裝
15.3 Opencv快速入門
15.3.1 顯示圖像
15.3.2 實時視頻
15.3.3 OpenCV中的繪圖功能
任務17 形狀檢測
任務18 瓶蓋缺陷檢測
任務19 多目標跟蹤
第16章 嵌入式AI與邊緣計算應用開發
16.1 嵌入式人工智慧開發概述
16.2 NCNN計算框架應用
16.2.1 配置NCNN框架
16.2.2 部署NCNN模型到龍芯2K1000處理器
16.3 Caffe
16.3.1 Ubuntu上安裝Caffe
16.3.2 源碼安裝Caffe(CPU)
16.3.3 Caffe使用方法
任務20 基於神經網路的手勢識別
任務21 基於神經網路的人臉口罩佩戴檢測
[an error occurred while processing this directive]