嵌入式Linux系統實作: 初心者開發設計專業方略 | 誠品線上

嵌入式Linux系統實作: 初心者開發設計專業方略

作者 方元
出版社 深石數位科技股份有限公司
商品描述 嵌入式Linux系統實作: 初心者開發設計專業方略:本書分為兩大部分问第1部分-基礎篇(第1~8章):包括Linux系統基本使用方法與其主要開發工具、檔案讀寫、多工機制、網路

內容簡介

內容簡介 本書分為兩大部分问第1部分-基礎篇(第1~8章):包括Linux系統基本使用方法與其主要開發工具、檔案讀寫、多工機制、網路通訊端程式設計、模組與裝置驅動、嵌入式Linux系統的軟體結構、GUI程式設計初步等。问第2部分-實驗篇(第9~21章):以美國德州儀器公司的卡片式電腦Beagle Bone為實驗物件,在此基礎上進行嵌入式Linux開發,按照從底層基本系統建立到上層應用軟體的移植和撰寫。內容包括實驗系統介紹、嵌入式系統開發實驗環境架設、BootLoader 的編譯和啟動裝置的製作、核心設定和編譯、root 檔案系統的建置、圖形使用者介面、音訊介面程式設計、嵌入式系統中的I O介面驅動、觸控式螢幕移植、Qt Embedded移植、MPlayer移植、GTK+移植、即時作業系統RTEMS。適用:可作為電子資訊、通訊、自動化等專業相關課程教材,也可供相關領域工程技術人員學習參考。※本書範例程式及各章練習參考解答請至深石數位網站下載http: www.deepstone.com.tw

產品目錄

產品目錄 PART 1 基礎篇Chapter 01 Linux系統的基本使用方法1.1 Linux系統的使用環境1.2 命令列工作方式1.3 正規表示法1.4 與開發相關的常用指令1.5 文字編輯工具本章練習本章參考資源Chapter 02 Linux系統的主要開發工具2.1 gcc工具鏈2.2 程式分析與轉換工具2.3 GNU Make2.4 開放原始碼軟體的移植2.5 偵錯工具2.6 版本控制系統2.7 合理地組織程式2.8 交換編譯工具鏈的製作本章練習本章參考資源Chapter 03 檔案讀寫3.1 檔案系統的概念3.2 檔案與目錄3.3 檔案描述符號3.4 標準I O函數庫的檔案操作本章練習本章參考資源Chapter 04 多工機制4.1 了解處理程序的概念4.2 處理程序間的資料交換4.3 守護行程4.4 執行緒——輕量級處理程序4.5 執行緒的競爭與同步頭處理程序本章練習本章參考資源Chapter 05 網路通訊端程式設計5.1 通訊端API5.2 TCP網路程式分析5.3 TCP伺服器程式設計5.4 簡單的資料流程對話5.5 多工資料流程對話5.6 以資料封包為基礎的對話程式本章練習本章參考資源Chapter 06 模組與裝置驅動6.1 裝置驅動程式簡介6.2 建置和執行模組6.3 模組的結構6.4 字元裝置驅動程式6.5 裝置驅動程式的使用6.6 偵錯技術6.7 硬體管理與中斷處理6.8 核心的定時本章練習本章參考資源Chapter 07 嵌入式Linux系統開發7.1 啟動載入程式7.2 核心設定7.3 裝置驅動程式7.4 嵌入式裝置的檔案系統7.5 圖形化使用者介面(GUI)7.6 頁框緩衝Chapter 08 GUI程式設計初步8.1 基本元件介紹8.2 畫圖區8.3 介面版面配置方法8.4 GTK+介面設計工具本章練習本章參考資源PART 2 實驗篇Chapter 09 實驗系統介紹9.1 實驗系統性能概括9.2 軟體9.3 實驗系統架設Chapter 10 嵌入式系統開發實驗10.1 實驗目的10.2 嵌入式系統開發過程10.3 實驗報告要求Chapter 11 啟動載入器11.1 實驗目的11.2 BootLoader11.3 實驗內容11.4 實驗報告要求Chapter 12 核心設定和編譯12.1 實驗目的12.2 相關知識12.3 編譯核心12.4 實驗內容12.5 實驗報告要求Chapter 13 root檔案系統的建置13.1 實驗目的13.2 Linux檔案系統的類型13.3 檔案系統的製作13.4 實驗內容13.5 實驗報告要求Chapter 14 圖形使用者介面14.1 實驗目的14.2 原理概述14.3 實驗內容14.4 實驗報告要求Chapter 15 音訊介面程式設計15.1 實驗目的15.2 介面介紹15.3 應用軟體設計15.4 實驗內容15.5 實驗報告要求Chapter 16 嵌入式系統中的I O介面驅動16.1 實驗目的16.2 介面電路介紹16.3 I O通訊埠地址對映16.4 LED控制16.5 實驗內容16.6 實驗報告要求Chapter 17 觸控式螢幕移植17.1 實驗目的17.2 Linux系統的觸控式螢幕支援17.3 實驗內容17.4 實驗報告要求Chapter 18 Qt Embedded移植18.1 實驗目的18.2 Qt Embedded 介紹18.3 實驗要求18.4 實驗報告要求Chapter 19 MPlayer移植19.1 實驗目的19.2 軟體介紹19.3 編譯準備19.4 編譯19.5 擴充功能19.6 實驗報告要求Chapter 20 GTK+移植20.1 實驗目的20.2 GTK+ 的背景20.3 GTK+ 函數庫的相依關係20.4 編譯過程20.5 測試20.6 實驗要求20.7 實驗報告要求Chapter 21 即時作業系統RTEMS21.1 實驗目的21.2 即時作業系統RTEMS 簡介21.3 編譯RTEMS21.4 啟用RTEMS終端21.5 實驗報告要求

商品規格

書名 / 嵌入式Linux系統實作: 初心者開發設計專業方略
作者 / 方元
簡介 / 嵌入式Linux系統實作: 初心者開發設計專業方略:本書分為兩大部分问第1部分-基礎篇(第1~8章):包括Linux系統基本使用方法與其主要開發工具、檔案讀寫、多工機制、網路
出版社 / 深石數位科技股份有限公司
ISBN13 / 9789865004538
ISBN10 / 9865004534
EAN / 9789865004538
誠品26碼 / 2681859466001
頁數 / 392
開數 / 18K
注音版 /
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 17X23X1.8CM
級別 / N:無

最佳賣點

最佳賣點 : 超廣度/自由/穩定/高效應用開發系統
◆ 嵌入式Linux系統軟體介紹及開發技巧。
◆ 多工程式設計、網路通訊、裝置驅動等重點開發。
◆ 強調各類工具使用,不僅限軟體開發,亦能發揮利用於其他場域。

試閱文字

自序 : 【前言】
  嵌入式系統幾乎是伴隨著微處理器同時發展的。根據“維基百科”介紹,誕生於20世紀60年代的Apollo Guidance Computer被認為是最早的嵌入式系統之一。自進入21世紀以來,“嵌入式”在電腦領域已成為持續熱門的話題。與通用電腦類似,嵌入式系統由軟體和硬體組成。隨著嵌入式處理器效能的不斷加強,許多應用系統的即時性已經不成問題,越來越多的嵌入式系統開始直接使用通用
電腦系統的軟體。
  舉例來說,英國的樹莓派基金會採用博通SoC處理器,開發出一系列的樹莓派產品。Pi Zero是主頻為700MHz的MHz ARM1176jzf-s核心,價格定位在5美金;而在2017年年初發佈的Pi 3 B+ 版本,更是具有4核心64位元CORTEX-A53(ARMv8指令集)的處理器,主頻高達1.2GHz,與普通的筆記型電腦的效能相差無幾,價格也不過三十幾美金。它們都具有高性能的VC-4的影像處理單元(Graphics Processing Unit,GPU),可以流暢地執行一些圖形桌面系統,播放高畫質視訊。
  在這樣的背景下,採用通用電腦系統軟體開發嵌入式系統,不僅大幅縮短了開發週期、加強了開發效率,系統的可用性也獲得了提升。
  在許多的軟體中,以Linux為核心的作業系統以及大量的開放原始碼軟體成為許多嵌入式系統的首選。Linux世界提供大量的自由軟體,為開發人員提供了廣泛的選擇空間,同時也能獲得許多無私的幫助。
  本書基於嵌入式Linux系統,介紹其軟體開發方法,重點介紹多工、網路和裝置驅動的程式設計。
  本書分為基礎篇和實驗篇兩個部分。

第1部分基礎篇
  第1章介紹Linux系統的基本使用方法,重點介紹與嵌入式系統開發相關的指令。
  第2章介紹Linux 系統的主要開發工具,包含編譯工具、GNU Make 和版本控制系統的使用。
  本章最後一節介紹了交換編譯工具的製作過程,供有興趣的讀者參考。
  第3章介紹檔案讀寫,重點介紹針對檔案描述符號的基本系統功能呼叫,它們是下面幾章的基礎。
  第4章介紹多工機制,重點介紹在Linux系統中實現多工的兩種主要形式(處理程序和多執行緒),以及在多工程式設計中的一些基礎問題。
  第5章介紹網路通訊端程式設計,重點介紹以通訊端為基礎的網路通訊程式的基本程式設計方法。
  第6章介紹模組與裝置驅動,以個人電腦系統上的簡單裝置為模型,比較系統地介紹了Linux系統中字元裝置驅動程式的開發方法。雖然研究物件是通用電腦系統中的裝置,但其研究方法同樣適用於嵌入式Linux中的裝置。
  第7章介紹嵌入式Linux系統的軟體結構,概括地討論了嵌入式系統的BootLoader、核心版面配置、檔案系統和圖形介面幾個方面的問題。
  第8章簡介以GTK+函數庫為基礎的圖形介面應用程式設計基礎,透過介紹一些常用元件的功能和介面設計方法,幫助讀者了解Linux系統中圖形介面的程式設計風格。在移植了圖形函數庫的嵌入式Linux系統中,可以比較方便地開發圖形化應用程式。

第2部分實驗篇
  實驗篇以美國德州儀器公司的卡片式電腦Beagle Bone為實驗物件,在此基礎上進行嵌入式Linux開發,按照從底層基本系統建立到上層應用軟體的移植和撰寫的順序加以組織。
  第9章是實驗系統基本介紹。
  第10章介紹嵌入式系統開發實驗環境架設。
  第11章介紹BootLoader的編譯和啟動裝置的製作。
  第12章、第13章分別完成Linux核心的編譯和root檔案系統的製作。至此,一個完全由原始程式打造的基本Linux系統已經建立,它是後續實驗的基礎。
  第14章、第15章學習嵌入式Linux環境下的程式開發方法,其中包含圖形介面程式設計和音訊介面程式設計。在實驗過程中應建立軟體層次的概念。
  第16章學習Linux系統中簡單裝置驅動程式的撰寫。
  第17~20章安排了一些軟體移植實驗,從簡單的觸控式螢幕函數庫到較為複雜的GTK+圖形函數庫。透過以上逐層遞進的實驗,可以掌握在嵌入式平台上實現一種應用系統的方法。
  鑑於即時作業系統在嵌入式應用中的地位,第21章介紹一款即時作業系統RTEMS在嵌入式平台上移植的過程。
  實驗篇的前3章為建立嵌入式Linux實驗環境做初步準備。後續內容均可在此基礎上以實際的應用形式實現,例如多處理程序的資料獲取與重播、多執行緒的圖形應用等。
  本書假設讀者系統地學習過C語言,並對Linux作業系統有初步的認識。針對目前嵌入式系統的應用特點,本書重點選取了多工程式設計、網路通訊、裝置驅動等幾個開發方面介紹。書中沒有使用過多的C語言程式設計技巧,而注重於功能的實現。本書強調各種工具的使用。一些工具並不僅限於軟體開發,在其他場合也能造成相當大的幫助作用。例如版本控制系統,在撰寫文稿、專案協作等
工作中都是非常方便的工具。希望這些工具的介紹能對讀者有所幫助。
  限於筆者的知識水準和認知能力,書中一定存在不少錯誤及不當之處,懇請同行專家及讀者批評指正。