嵌入式 Linux 系統開發入門

嵌入式 Linux 系統開發入門

《嵌入式 Linux 系統開發入門》是2018年5月電子工業出版社出版的圖書,作者是方元。

基本介紹

  • 書名:嵌入式 Linux 系統開發入門
  • 作者:方元
  • 出版社:電子工業出版社
  • 出版時間:2018年5月
  • 頁數:260 頁
  • 定價:48 元
  • 開本:16 開
  • ISBN:9787121335341
內容簡介,圖書目錄,

內容簡介

本書基於嵌入式Linux系統,介紹其軟體開發方法,重點介紹多任務、網路和設備驅動的編程。本書分為兩個部分。第1部分是基礎篇(第1~8章),內容包括Linux系統的基本使用方法、Linux系統的主要開發工具、檔案讀寫、多任務機制、網路套接字編程、模組與設備驅動、嵌入式Linux系統開發、GUI程式設計初步。第2部分是實驗篇(第9~21章),內容包括實驗系統介紹、嵌入式系統開發實驗、引導載入器、核心配置和編譯、根檔案系統的構建、圖形用戶接口、音頻接口程式設計、嵌入式系統中的I/O接口驅動、觸控螢幕移植、Qt/Embedded移植、MPlayer移植、GTK+移植、實時作業系統RTEMS。本書可作為電子信息、通信、自動化等專業相關課程的教材,也可供相關領域的工程技術人員學習、參考。

圖書目錄

第1部分 基 礎 篇
第1章 Linux系統的基本使用方法
1.1 Linux系統的使用環境
1.1.1 Linux系統的目錄結構
1.1.2 Linux系統的用戶
1.2 命令行工作方式
1.2.1 終端
1.2.2 目錄操作
1.2.3 檔案操作
1.2.4 瀏覽檔案
1.2.5 打包、壓縮和解壓
1.2.6 進程控制
1.2.7 管道與重定向
1.2.8 shell腳本程式
1.3 規則表達式
1.4 與開發相關的常用命令
1.4.1 檔案比較
1.4.2 文本搜尋
1.4.3 流編輯
1.5 文本編輯工具
1.5.1 vim工作模式
1.5.2 vim常用編輯命令
1.5.3 vim高級操作
本章練習
本章參考資源
第2章 Linux系統的主要開發工具
2.1 gcc工具鏈
2.1.1 gcc編譯器
2.1.2 彙編器和連結器
2.2 代碼分析與轉換工具
2.2.1 函式地址解析addr2line
2.2.2 符號列表nm
2.2.3 目標檔案轉儲objdump
2.2.4 代碼剖析gprof
2.2.5 ELF符號解析readelf
2.2.6 代碼瘦身strip
2.3 GNU Make
2.3.1 原始碼的組織
2.3.2 第一個Makefile
2.3.3 GNU Make基本規則
2.3.4 完善Makefile
2.3.5 GNU Make的依賴
2.4 開源軟體的移植
2.4.1 工具準備
2.4.2 原始碼的組織結構
2.4.3 配置編譯環境
2.4.4 編譯和安裝
2.5 調試工具
2.5.1 gdb使用示例
2.5.2 遠程調試
2.6 版本控制系統
2.6.1 集中式版本控制系統svn
2.6.2 追溯歷史、分支與合併
2.6.3 分散式版本控制系統git
2.6.4 git基本操作
2.6.5 git分支與合併
2.7 合理地組織程式
2.7.1 頭檔案的要求
2.7.2 C語言源檔案
2.7.3 庫的產生和作用
2.7.4 項組織結構
2.8 交叉編譯工具鏈的製作
本章練習
本章參考資源
第3章 檔案讀寫
3.1 檔案系統的概念
3.2 檔案與目錄
3.2.1 Linux系統中的虛擬檔案系統
3.2.2 Linux系統的檔案類型
3.2.3 改變檔案屬性
3.3.1 標準I/O設備
3.3.2 有關檔案操作的系統功能調用
3.3.3 檔案描述符複製
3.3.4 檔案描述符操作
3.3.5 檔案共享與讀寫衝突
3.4 標準I/O庫的檔案操作
3.4.1 打開檔案
3.4.2 檔案流讀寫
3.4.3 檔案流定位
3.4.4 格式化I/O檔案操作函式
本章練習
本章參考資源
第4章 多任務機制
4.1 理解進程的概念
4.1.1 什麼是進程
4.1.2 進程的狀態
4.1.3 進程的創建和結束
4.1.4 創建進程的例子
4.2 進程間的數據交換
4.2.1 管道
4.2.2 共享記憶體
4.2.3 訊息佇列
4.3 守護進程
4.4 執行緒——輕量級進程
4.5 執行緒的競爭與同步
4.5.1 互斥鎖
4.5.2 信號和信號量
4.5.3 進程與執行緒的對比
本章練習
本章參考資源
第5章 網路套接字編程
5.1 套接字API
5.1.1 兩種類型的套接口
5.1.2 網路協定分層
5.1.3 關閉套接口
5.2 TCP網路程式分析
5.2.1 網路地址
5.2.2 連線埠
5.3 TCP伺服器程式設計
5.4 簡單的數據流對話
5.5 多任務數據流對話
5.6 基於數據報的對話程式
本章練習
本章參考資源
第6章 模組與設備驅動
6.1.1 核心功能劃分
6.1.2 設備驅動程式的作用
6.1.3 設備和模組分類
6.2 構建和運行模組
6.2.1 第一個示例模組
6.2.2 模組的編譯
6.2.3 模組的運行
6.2.4 核心模組與應用程式
6.3 模組的結構
6.3.1 模組的初始化和清除函式
6.3.2 核心符號表
6.3.3 模組的卸載
6.3.4 資源使用
6.4 字元設備驅動程式
6.4.1 timer的設計
6.4.2 檔案操作
6.4.3 打開設備
6.4.4 I/O控制
6.4.5 阻塞型I/O
6.5 設備驅動程式的使用
6.5.1 驅動程式與應用程式
6.5.2 核心源碼中的模組結構
6.5.3 將模組加入核心
6.6 調試技術
6.6.1 輸出調試
6.6.2 查詢調試
6.6.3 監視調試
6.6.4 故障調試
6.6.5 使用gdb調試工具
6.6.6 使用核心調試工具
6.7 硬體管理與中斷處理
6.7.1 I/O暫存器和常規記憶體
6.7.2 中斷
6.8 核心的定時
6.8.1 時間間隔
6.8.2 獲取當前時間
6.8.3 延遲執行
6.8.4 定時器
本章練習
本章參考資源
第7章 嵌入式Linux系統開發
7.1 引導裝載程式
7.2 核心設定
7.2.1 核心布局
7.2.2 核心連結和裝入
7.2.3 參數傳遞和核心引導
7.3 設備驅動程式
7.3.1 幀緩衝區驅動程式
7.3.2 輸入設備驅動程式
7.3.3 MTD驅動程式
7.3.4 MTD驅動程式設定
7.4 嵌入式設備的檔案系統
7.4.1 擴展檔案系統
7.4.2 日誌快閃記憶體檔案系統的第2版(JFFS2)
7.4.3 tmpfs
7.5 圖形用戶界面(GUI)
7.5.1 XFree86 4.X(帶幀緩衝區支持的X11R6)
7.5.2 Microwindows
7.5.3 Microwindows上的FLTKAPI
7.5.4 Qt/Embedded
7.6 幀緩衝
第8章 GUI程式設計初步
8.1 基本組件介紹
8.1.1 一個簡單的圖形接口程式
8.1.2 按鈕類組件
8.1.3 數據類組件
8.1.4 選單欄與工具列
8.2 畫圖區
8.3 界面布局方法
8.3.1 盒子
8.3.2 表格
8.3.3 對位
8.3.4 便簽
第2部分 實 驗 篇
第9章 實驗系統介紹
9.1 實驗系統性能概括
9.2 軟體
9.2.1 交叉編譯工具鏈
9.2.2 工具鏈安裝
9.3 實驗系統搭建
第10章 嵌入式系統開發實驗
10.1 實驗目的
10.2 嵌入式系統開發過程
10.2.1 串口設定(使用minicom)
10.2.2 TFTP(簡單檔案傳輸協定
10.2.3 NFS伺服器架設
10.2.4 編譯應用程式
10.3 實驗報告要求
第11章 引導載入器
11.1 實驗目的
11.2 BootLoader
11.2.1 BootLoader的作用
11.2.2 BootLoader程式結構框架
11.3 實驗內容
11.3.1 獲取U-Boot
11.3.2 配置BootLoader選項
11.3.3 製作TF卡
11.4 實驗報告要求
第12章 核心配置和編譯
12.1 實驗目的
12.2 相關知識
12.2.1 核心原始碼目錄結構
12.2.2 核心配置的基本結構
12.2.3 編譯規則Makefile
12.3 編譯核心
12.3.1 Makefile的選項參數
12.3.2 核心配置項介紹
12.4 實驗內容
12.5 實驗報告要求
第13章 根檔案系統的構建
13.1 實驗目的
13.2 Linux檔案系統的類型
13.2.1 EXT檔案系統
13.2.2 NFS檔案系統
13.2.3 JFFS2檔案系統
13.2.4 YAFFS2
13.2.5 RAM Disk
13.3 檔案系統的製作
13.3.1 BusyBox介紹
13.3.2 BusyBox的編譯
13.3.3 配置檔案系統
13.3.4 製作ramdisk檔案鏡像
13.3.5 製作init_ramfs
13.4 實驗內容
13.5 實驗報告要求
第14章 圖形用戶接口
14.1 實驗目的
14.2 原理概述
14.2.1 幀緩衝設備
14.2.2 幀緩衝與色彩
14.2.3 LCD控制器
14.2.4 幀緩衝設備操作
14.3 實驗內容
14.3.1 實現基本畫圖功能
14.3.2 合理的軟體結構
14.4 實驗報告要求
第15章 音頻接口程式設計
15.1 實驗目的
15.2 接口介紹
15.3 套用軟體設計
15.3.1 OSS
15.3.2 ALSA
15.4 實驗內容
15.5 實驗報告要求
第16章 嵌入式系統中的I/O接口驅動
16.1 實驗目的
16.2 接口電路介紹
16.3 I/O連線埠地址映射
16.4 LED控制
16.5 實驗內容
16.6 實驗報告要求
第17章 觸控螢幕移植
17.1 實驗目的
17.2 Linux系統的觸控螢幕支持
17.2.1 觸控螢幕的基本原理
17.2.2 核心配置
17.2.3 觸控螢幕庫tslib
17.2.4 觸控螢幕庫的安裝和測試
17.3 實驗內容
17.4 實驗報告要求
第18章 Qt/Embedded移植
18.1 實驗目的
18.2 Qt/Embedded介紹
18.2.1 Qt/Embedded軟體包結構
18.2.2 編譯環境設定
18.2.3 編譯過程
18.2.4 Qt/Embedded的安裝
18.2.5 Qt-4.8版本編譯
18.3 實驗要求
18.4 實驗報告要求
第19章 MPlayer移植
19.1 實驗目的
19.2 軟體介紹
19.3 編譯準備
19.4 編譯
19.5 擴展功能
19.6 實驗報告要求
第20章 GTK+移植
20.1 實驗目的
20.2 GTK+的背景
20.3 GTK+庫的依賴關係
20.4 編譯過程
20.4.1 編譯準備
20.4.2 一般方法
20.4.3 環境變數
20.4.4 一些特殊的設定
20.4.5 編譯技巧
20.5 測試
20.6 實驗要求
20.7 實驗報告要求
第21章 實時作業系統RTEMS
21.1 實驗目的
21.2 實時作業系統RTEMS簡介
21.3 編譯RTEMS
21.4 啟用RTEMS終端
21.5 實驗報告要求

相關詞條

熱門詞條

聯絡我們