《嵌入式Linux開發(fā)實踐教程》從實用的角度出發(fā),介紹了嵌入式Linux中常用的內容。這些內容大部分是Linux開發(fā)過程中不同方面的工程師都需要掌握的知識。按照知識結構可以分為以下幾個方面:嵌入式Linux的開發(fā)簡介(第1章);Linux操作系統(tǒng)(第2章);開發(fā)環(huán)境與編程基礎(第36章);Linux系統(tǒng)結構(第79章);Linux GUI應用開發(fā)(第10章)。
《嵌入式Linux開發(fā)實踐教程》可作為高職院校計算機應用類專業(yè)、自動化類和電子信息類專業(yè)的教學用書,也適用于嵌入式Linux工程師增強能力、快速開發(fā)Linux系統(tǒng)的指導書。
《嵌入式Linux開發(fā)實踐教程》配有授課電子課件,需要的教師可登錄wwwcmpeducom免費注冊,審核通過后下載,或聯(lián)系編輯索取(QQ:1239258369,電話:010-88379739)。
適讀人群 :高職院校計算機應用類專業(yè)、自動化類和電子信息類專業(yè)學生
提供相關課程標準、教學視頻、電子教案、多媒體課件、試題庫、項目案例庫、常見問題及解答等在內的豐富教學資源。
提供與企業(yè)共同開發(fā)的大量真實案例和培訓資源包。
采用了嵌入式Linux 學習中主流的2440 開發(fā)板,并提供基于QEMU的Mini2440虛擬開發(fā)平臺,學生可以先利用仿真軟件在虛擬平臺上練習熟悉操作。
目前的IT技術領域有很多熱點,如移動開發(fā)、云計算、大數(shù)據(jù)和嵌入式Linux。IT技術領域及工業(yè)控制領域的工程師都需要了解一些嵌入式Linux的知識。
本書根據(jù)編者團隊多年研究學習嵌入式產品及設計的實踐經驗,按照案例式教學的寫作模式,以嵌入式系統(tǒng)開發(fā)為實例,全面剖析,系統(tǒng)地講解嵌入式Linux開發(fā)的基本知識。
本書共分為10章,主要內容包括:嵌入式系統(tǒng)開發(fā)概述、Linux使用基礎、嵌入式開發(fā)常用的開發(fā)工具、嵌入式Linux C語言開發(fā)、嵌入式開發(fā)常用服務配置、構建嵌入式Linux開發(fā)環(huán)境、Bootloader移植、內核移植、文件系統(tǒng)以及嵌入式應用開發(fā)與移植。在本書的編寫過程中,精心挑選了各個項目和任務,力爭做到既有針對性,又能夠讓讀者通過完成相應的任務很快掌握對應知識。
本教材的特色主要可以歸結為以下幾點
1 線上線下互動,新舊媒體融合。
本書通過在線開放課程的建設推動配套數(shù)字資源的建設,包括相關課程標準、教學視頻、電子教案、多媒體課件、試題庫、項目案例庫、常見問題及解答等在內的豐富教學資源,同時提供與企業(yè)共同開發(fā)的大量真實案例和培訓資源包。讀者通過觀看每個知識點對應的教學視頻,能對知識有更形象、更深入的理解。
2 圖文結合、便于閱讀
全書配有大量插圖與實例代碼,在介紹設備原理、系統(tǒng)架構、數(shù)據(jù)流、軟件配置、實驗操作等內容時,插圖與實例代碼的作用是顯而易見的,這會有助于讀者對相關內容的理解。
3 真實項目、任務驅動、教學做合一
以企業(yè)真實項目為導向,對嵌入式Linux的開發(fā)崗位技術人員所需的職業(yè)能力進行分解,覆蓋了使用嵌入式Linux技術進行軟件開發(fā)、測試和應用維護等幾個重要的工作過程。使讀者在完成企業(yè)真實項目的過程中鍛煉并提高了自己的動手能力、實踐能力,以達到最佳的學習效果。
4 緊密聯(lián)系開發(fā)板
本書采用了嵌入式Linux 學習中最主流的2440 開發(fā)板,并提供基于QEMU的Mini2440虛擬開發(fā)平臺,使學生得到更多的實操訓練機會,而且提高了硬件設備使用的安全性。學生可以先利用仿真軟件在虛擬平臺上練習熟悉操作,然后在真實的硬件設備上進行操作。
本書可作為高職院校計算機應用類專業(yè)、自動化類和電子信息類專業(yè)的教學用書,也適用于嵌入式Linux的工程師增強能力、快速開發(fā)Linux系統(tǒng)的指導書。
由于時間有限,書中難免有疏漏之處,敬請廣大讀者批評指正。
前言
第1章認識嵌入式系統(tǒng)開發(fā)
1.1認識嵌入式系統(tǒng)
1.1.1什么是嵌入式系統(tǒng)
1.1.2嵌入式系統(tǒng)的構成與特點
1.2認識嵌入式微處理器
1.2.1嵌入式微處理器
1.2.2ARM微處理器
1.3認識嵌入式操作系統(tǒng)
1.3.1Linux
1.3.2VxWorks
1.3.3Windows Embedded
1.3.4μC/OS-II
1.4嵌入式系統(tǒng)設計流程
1.4.1嵌入式系統(tǒng)開發(fā)
1.4.2嵌入式系統(tǒng)設計學習線路
1.4.3嵌入式Linux書籍
1.4.4嵌入式Linux資源列表
第2章體驗Linux系統(tǒng)
2.1Linux的基本概念
2.1.1文件系統(tǒng)
2.1.2Shell
2.1.3環(huán)境變量
2.2任務:管理Linux文件
2.2.1pwd
2.2.2ls
2.2.3cd
2.2.4cp
2.2.5mv
2.2.6touch
2.2.7mkdir
2.2.8rm
2.2.9ln
2.2.10find
2.3任務:內容管理
2.3.1cat
2.3.2grep
2.3.3diff
2.3.4patch
2.4任務:權限管理
2.4.1chmod
2.4.2chown
2.4.3useradd
2.4.4passwd
2.4.5userdel
2.5任務:備份壓縮
2.5.1gzip/gunzip
2.5.2tar
2.6任務:磁盤管理
2.6.1mount
2.6.2umount
2.6.3du
2.6.4fdisk
2.6.5mkfs
2.7任務:進程控制
2.7.1ps
2.7.2kill
2.7.3top
2.7.4free
2.8任務:網絡設置
2.8.1ifconfig
2.8.2route
2.8.3ping
2.8.4netstat
2.9任務:編輯工具vi
2.9.1vi簡易使用范例
2.9.2vi命令說明
2.9.3vi范例
2.9.4文件的恢復與暫存盤
第3章配置嵌入式開發(fā)常用服務
3.1任務:配置NFS服務
3.1.1安裝NFS服務
3.1.2啟動與停止NFS服務
3.1.3配置NFS服務
3.1.4NFS服務配置實例
3.2任務:配置Samba服務
3.2.1安裝Samba服務
3.2.2啟動與停止Samba服務
3.2.3smbconf配置文件
3.2.4Samba配置實例
3.3任務:配置TFTP服務
3.3.1安裝TFTP服務
3.3.2啟動與停止TFTP服務
3.3.3配置TFTP服務
3.3.4TFTP服務配置實例
3.4任務:配置SSH服務
3.4.1安裝SSH服務
3.4.2啟動與停止SSH服務
3.4.3配置SSH服務
3.4.4SSH服務使用實例
第4章使用嵌入式開發(fā)常用開發(fā)工具
4.1任務:編譯程序(GCC)
4.1.1GCC編譯器安裝
4.1.2程序的編譯過程
4.1.3GCC常用編譯選項
4.1.4GCC編譯實例
4.2任務:調試程序(GDB)
4.2.1GDB的使用流程
4.2.2GDB常用命令
4.2.3GDBServer遠程調試
4.3任務:工程管理(Makefile)
4.3.1Makefile文件
4.3.2Makefile的規(guī)則
4.3.3Makefile的變量
4.3.4規(guī)則的命令
4.4綜合實踐:編譯調試NTP協(xié)議程序
4.4.1獲取源代碼
4.4.2編譯NTP
4.4.3調試NTP
第5章構建嵌入式Linux開發(fā)環(huán)境
5.1熟悉目標板硬件資源
5.2熟悉目標板軟件資源
5.3任務:安裝與體驗Linux+Qt
系統(tǒng)
5.3.1外部接口連接
5.3.2超級終端配置
5.3.3安裝USB 下載驅動
5.3.4下載文件系統(tǒng)
5.3.5初始化Qt圖形界面
5.4任務:Linux下的minicom仿真
終端
5.4.1安裝minicom
5.4.2虛擬機串口的設置
5.4.3minicom的配置
5.4.4minicom的使用
5.5任務:ARM虛擬機配置
5.5.1ARM虛擬機資源下載
5.5.2編譯QEMU程序
5.5.3配置系統(tǒng)腳本
5.5.4加載NFS文件系統(tǒng)
5.6任務:嵌入式開發(fā)環(huán)境配置
5.6.1交叉編譯工具配置
5.6.2ARM Linux環(huán)境C程序設計
5.7綜合實踐:SQLite 嵌入式數(shù)據(jù)庫
的移植和使用
5.7.1下載并編譯SQLite
5.7.2下載到ARM虛擬機并使用
SQLite
第6章嵌入式Linux C 開發(fā)
6.1任務:Glibc庫文件
6.1.1使用ldd查看庫文件
6.1.2ldconfig
6.2任務:文件I/O編程
6.2.1文件的基本概念
6.2.2文件I/O函數(shù)編程
6.2.3文件I/O函數(shù)實例
6.3任務:標準I/O編程
6.3.1標準I/O相關函數(shù)
6.3.2標準I/O函數(shù)實例
6.4任務:串口通信編程
6.4.1打開串口
6.4.2設置串口
6.4.3發(fā)送數(shù)據(jù)
6.4.4接收數(shù)據(jù)
6.5任務:網絡通信編程
6.5.1網絡通信編程的基本概念
6.5.2socket編程的基本函數(shù)
6.5.3網絡編程實例
6.6綜合實踐:網絡協(xié)議轉換器
(串口轉TCP/IP)
6.6.1串口操作相關函數(shù)
6.6.2主程序流程
6.6.3回調函數(shù)
第7章移植BootLoader
7.1認識BootLoader
7.1.1Linux系統(tǒng)的啟動過程
7.1.2BootLoader的概念與功能
7.1.3BootLoader的結構
7.2任務:U-Boot移植
7.2.1U-Boot目錄結構
7.2.2U-Boot 配置編譯
7.2.3U-Boot常用命令
7.3任務:vivi移植
7.3.1vivi目錄結構
7.3.2vivi配置編譯
7.3.3vivi執(zhí)行流程分析
7.3.4vivi 常用命令
7.4綜合實踐:U-Boot在mini2440
上的移植
7.4.1建立開發(fā)板類型并測試
編譯
7.4.2在/board子目錄中建立自己的
開發(fā)板mini2440目錄
7.4.3測試編譯
7.4.4修改U-Boot中的文件
7.4.5交叉編譯U-Boot
7.4.6宏裝BootLoader到開發(fā)板
第8章內核移植
8.1認識內核
8.1.1內核的組成
8.1.2內核目錄結構
8.2任務:Linux內核的配置與
編譯
8.2.1內核配置
8.2.2建立內核
8.3任務:內核配置選項
8.3.1常規(guī)設置
8.3.2模塊和塊設備選項
8.3.3處理器的類型及特性
8.3.4網絡協(xié)議相關選項
8.3.5設備驅動選項
8.3.6文件系統(tǒng)類型選項
8.4綜合實踐:Linux-2.6在mini2440上的移植
8.4.1移植準備
8.4.2建立目標平臺
8.4.3內核配置
8.4.4內核編譯
第9章根文件系統(tǒng)
9.1認識文件系統(tǒng)
9.1.1文件系統(tǒng)概述
9.1.2嵌入式文件系統(tǒng)的特點
9.1.3