嵌入式Linux實戰教程

嵌入式Linux實戰教程

《嵌入式Linux實戰教程》是2014年6月1日電子工業出版社出版的圖書,作者是河源職業技術學院。

基本介紹

  • 書名:嵌入式Linux實戰教程
  • 出版社:電子工業出版社
  • 頁數:376頁
  • 開本:16
  • 品牌:電子工業出版社
  • 作者:河源職業技術學院
  • 出版日期:2014年6月1日
  • 語種:簡體中文
  • ISBN:7121229234
編輯推薦,內容簡介,作者簡介,圖書目錄,

編輯推薦

《嵌入式Linux實戰教程》從基本的Linux系統的操作命令開始,由淺及深地講解相關內容,使讀者循序漸進地掌握嵌入式開發的方法和技巧,最終能夠為嵌入式開發板配置、移植、裁剪核心,編寫開發驅動程式,以及移植GUI系統,從而掌握整個嵌入式Linux系統的開發方法。

內容簡介

本書以信盈達xyd2440開發板為例,從嵌入式Linux系統開發必備的Linux知識點出發,分析並詳細講解U-Boot、核心、根檔案系統的源碼與製作過程,詳細介紹Linux系統驅動理論,尤其花了大量的精力介紹基於嵌入式Linux 26核心下的各類驅動設備,包括LED、按鍵、觸控螢幕、LCD和網卡等各種外設和晶片驅動程式的開發技術與實操項目詳解。此外,還介紹了基於Qt的GUI系統的移植、產品固化代碼及發布的方法。本書從基本的Linux系統的操作命令開始,由淺及深地講解相關內容,使讀者循序漸進地掌握嵌入式開發的方法和技巧,最終能夠為嵌入式開發板配置、移植、裁剪核心,編寫開發驅動程式,以及移植GUI系統,從而掌握整個嵌入式Linux系統的開發方法。

作者簡介

深圳信盈達電子有限公司、是一家專注於單片機、ARM、嵌入式產品開發和技術培訓的高新技術服務企業,公司下設開發部和技術培訓部。公司開發部為國內外眾多客戶開發多款基於嵌入式單片機、ARM等技術的整套方案和高性能產品,技術培訓部提供優秀的單片機、ARM、嵌入式產品開發工程師培訓。同時為眾多工程師,各大師專院校提供實驗器材及技術培訓課程!

圖書目錄

第1章嵌入式Linux開發環境
1.1嵌入式介紹
1.1.1嵌入式系統定義
1.1.2嵌入式作業系統
1.1.3常見的嵌入式作業系統
1.2虛擬機及Linux系統安裝
1.2.1安裝VMware Workstation軟體
1.2.2在VMware Workstation虛擬機安裝Red Hat Linux系統
1.3Linux常用命令
1.3.1系統詢問命令
1.3.2檔案操作命令
1.3.3目錄操作命令
1.3.4口令、許可權命令
1.3.5檔案壓縮命令
1.3.6網路相關命令
1.3.7其他命令
1.4Linux下的編輯工具
1.4.1編輯器分類
1.4.2VIM的使用
1.5主機開發環境的配置
1.5.1超級終端配置圖解
1.5.2Minicom 配置
1.5.3TFTP服務
1.5.4NFS服務
1.5.5Telnet服務
1.6Red Hat下通過安裝鏡像檔案使用yum安裝軟體
1.6.1修改yum配置檔案
1.6.2安裝卸載軟體方法
1.7Makefile編寫規則
1.7.1Makefile簡介
1.7.2Makefile的基本結構
1.7.3Makefile中的變數
1.7.4Makefile的隱含規則
1.8交叉編譯工具基礎知識
1.8.1交叉編譯工具鏈的安裝
1.8.2arm—linux—gcc選項
1.8.3arm—linux—ld選項
1.8.4arm—linux—objcopy
1.8.5arm—linux—objdump
1.9小知識
第2章BootLoader移植與開發
2.1U—Boot的目錄結構
2.1.1BootLoader簡介
2.1.2常用BootLoader介紹
2.1.3U—Boot 1.3.4目錄介紹
2.2U—Boot的製作過程
2.3U—Boot運行過程
2.3.1程式啟動過程
2.3.2U—Boot的兩個階段
2.4U—Boot源碼分析
2.5U—Boot套用:主要用於啟動核心進行準備工作
2.5.1U—Boot的套用
2.5.2BootLoader與核心的互動
2.6U—Boot的重要數據結構
2.6.1gd全局數據變數指針
2.6.2bd電路板數據指針
2.6.3環境變數指針
2.6.4設備相關設定
2.6.5命令結構體類型定義
第3章Linux核心裁剪
3.1嵌入式Linux核心啟動過程
3.1.1Linux版本及特點
3.1.2核心代碼初始化分析
3.1.3setup_arch()函式分析
3.1.4rest_init()函式分析
3.1.5掛接根檔案系統
3.1.6初始化設備驅動程式
3.2Linux核心源碼目錄介紹
3.3Linux核心配置系統分析
3.3.1核心中的 Kconfig檔案介紹
3.3.2Linux核心源碼Makefile檔案分析
3.4針對S3C2440 開發板移植核心的過程
3.5添加驅動程式到核心源碼
第4章根檔案系統移植與製作
4.1分析Linux 檔案系統層次標準
4.2根檔案系統各目錄作用
4.3移植Busybox 開原始碼、構造根檔案系統
4.3.1Busybox 的誕生
4.3.2Busybox 許可證
4.3.3POSIX 環境
4.4製作Linux根檔案系統
4.4.1下載並配置安裝Busybox
4.4.2完善根檔案系統
4.4.3通過 NFS服務測試檔案系統
第5章Linux驅動介紹
5.1驅動原理
5.2核心模組的主要相關命令
5.3設備分類
5.4設備驅動程式工作原理
5.5應用程式、庫、核心、驅動程式的軟體關係
5.6Linux驅動程式開發步驟
5.7驅動程式的載入和卸載
5.8關鍵概念
5.8.1不可剝奪型核心(non—preemptive kernel):(分時作業系統核心)
5.8.2可剝奪型核心(preemptive kernel):(實時作業系統核心)
5.8.3可重入函式
5.8.4資源
5.8.5共享資源
5.8.6代碼的臨界段
5.8.7實時系統的特點
5.8.8死鎖
5.8.9Linux的進程狀態描述
5.8.10Linux核心的三種調度方法
5.8.11所有任務都採用Linux分時調度策略時
5.8.12所有任務都採用FIFO調度策略時
5.8.13所有任務都採用RR調度策略時
5.8.14進程調度依據(系統進程調度原理)
5.8.15描述進程的數據結構task_struct (任務結構體)
5.8.16Linux使用核心函式goodness()對進程進行加權處理
5.9中斷與異常
5.9.1Linux異常處理體系結構概述
5.9.2中斷註冊方法
5.10並發和競態
5.10.1並發及其管理
5.10.2信號量和互斥體
5.10.3自旋鎖
第6章字元設備驅動開發
6.1主設備號和次設備號
6.2重要數據結構
6.2.1file_operaions結構
6.2.2file結構
6.3字元設備註冊方式
6.3.1早期版本的字元設備註冊(2.6版本以前)
6.3.2雜項(misc device)設備註冊
6.3.3Linux 2.6的版本設備註冊
6.4列印信息
6.5高級字元驅動程式操作
6.5.1ioctl
6.5.2定位設備(llseek實現)
6.5.3休眠
6.5.4阻塞和非阻塞操作
6.5.5poll和 select
6.5.6與read 和write 的互動
6.5.7刷新待處理輸出
6.6異步通知
6.7核心同步機制
6.7.1原子操作
6.7.2信號量(semaphore)
6.7.3自旋鎖(spinlock)
第7章LED驅動開發與套用編程
7.1Linux驅動程式開發概述
7.1.1應用程式、庫、核心、驅動程式的關係
7.1.2Linux驅動程式的分類
7.2LED驅動程式範例
7.2.1LED驅動程式(xyd2440_leds.c)
7.2.2LED驅動程式的Makefile
7.2.3LED驅動測試程式(leds_app.c)
7.2.4操作步驟
第8章按鍵驅動開發與套用編程
8.1按鍵的硬體原理
8.2按鍵驅動中的數據結構
8.3按鍵驅動的模組載入和卸載函式
8.4按鍵設備驅動中斷處理程式
8.5按鍵設備驅動的打開、釋放函式
8.6按鍵設備驅動讀函式
8.7按鍵驅動程式範例
8.8操作步驟
第9章LCD驅動開發實例分析
9.1FrameBuffer的原理
9.2FrameBuffer在Linux中的實現和機制
9.3Linux核心中的platform機制
9.4S3C2440 LCD驅動分析
9.5s3c2440 LCD驅動移動移植
9.5.1代碼修改
9.5.2修改Kconfig——添加新屏支持到核心選單
9.5.3修改核心配置
9.6FrameBuffer套用例子
9.6.1應用程式源碼
9.6.2操作步驟
第10章輸入子系統和觸控螢幕
10.1認識輸入子系統
10.1.1為什麼需要輸入子系統
10.1.2相關API
10.1.3一個簡單的按鍵驅動的例子
10.2觸控螢幕驅動分析
10.2.1Linux核心定時器
10.2.2觸控螢幕驅動代碼分析
10.3觸控螢幕的校準
10.3.1觸控螢幕的校準介紹
10.3.2tslib庫的編譯使用
10.3.3將tslib校準引用到自己的項目中
第11章網路驅動開發與套用編程
11.1TCP/IP 協定概述
11.1.1TCP/IP 協定族
11.1.2TCP 和 UDP
11.2TCP/IP網路基礎編程
11.2.1socket 概述
11.2.2地址及順序處理
11.2.3socket 基礎編程
11.3DM9000網卡驅動程式移植
11.3.1DM9000網卡特性
11.3.2DM9000網卡與S3C2440硬體連線
11.3.3DM9000與開發板接口定義
11.3.4DM9000驅動移植到S3C2440步驟
11.4DM9000 網卡驅動源碼解析
11.4.1兩個重要的結構體簡單介紹:sk_buff和net_device
11.4.2驅動代碼具體分析
11.4.3dm9000_netdev_ops和 dm9000_ethtod_ops
11.4.4平台設備驅動的結構體定義
11.4.5驅動初始化函式
11.4.6probe函式
11.4.7remove函式:設備的刪除函式
11.4.8打開、關閉函式和操作函式
第12章基於Qt Creator環境的QT開發
12.1概要說明
12.2安裝步驟
12.3Qt Creator測試
12.4Qt Ctreator中配置ARM版本交叉編譯環境
12.5交叉編譯ARM版本Qt4程式
第13章產品封裝、發布
13.1Linux核心鏡像格式
13.2Linux核心鏡像的產生過程
13.3嵌入式Linux常用檔案系統
13.4製作常用的檔案系統鏡像
13.4.1製作Cramfs檔案系統和部署
13.4.2製作JFFS2檔案系統鏡像和部署
13.4.3製作YAFFS2檔案系統鏡像和部署
第14章6410平台Linux環境搭建
14.1概述
14.2編譯器的安裝
14.3編譯U—Boot和核心
14.3.1編譯U—Boot
14.3.2編譯核心
14.4燒寫核心到NAND Flash
14.4.1製作用於一鍵燒寫Linux的SD卡
14.4.2燒寫Linux到開發板的NAND Flash中
14.5檔案程式或檔案下載到開發板中
14.5.1通過超級終端下載
14.5.2通過SD卡複製
附錄ALinux開發平台硬體介紹
A.1S3C2440系列晶片介紹
A.2S3C2440開發板硬體設計說明
A.2.1電源設計
A.2.2復位電路
A.2.3系統時鐘電路
A.2.4JTAG接口電路
A.2.5GPIO電路、指示燈電路、按鍵電路
A.2.6蜂鳴器電路
A.2.7串口電路
A.2.8A/D和D/A電路
A.2.9外部Flash晶片
A.2.10SD卡接口電路
A.2.11SDARM晶片模組
A.2.12NOR Flash晶片模組
A.2.13NAND Flash晶片模組
A.2.14USB接口
A.2.15網路模組
A.2.16音頻輸入與輸出電路
A.2.17LCD接口和CMOS攝像接口
A.2.18系統匯流排接口
A.2.19開發板完整原理圖
附錄BJTAG仿真調試器下載程式的過程
附錄CJ—Link仿真調試器的使用
附錄DLinux常用命令介紹
參考文獻

相關詞條

熱門詞條

聯絡我們