嵌入式Linux C語言開發入門與編程實踐

內容介紹

本書從嵌入式系統基礎概念講起,共分3篇、10章。第1篇扼要地介紹嵌入式Linux系統開發的基礎知識,並回顧ANSI C語言的語法知識。第2篇介紹嵌入式Linux C語言開發中的重要技術,包括常用數據類型與修飾符、預處理器與重要函式、常用數據結構及嵌入彙編語言與移植性問題等套用性內容,結合項目實例展開討論。第3篇則分別給出在嵌入式GUI套用開發、驅動開發和網路套用開發等3方面的實際案例,詳細講解了嵌入式Linux C語言開發技術的綜合運用。.
本書具有由淺入深、通俗易懂和注重實踐等特點,適合於沒有或者缺乏嵌入式Linux程式設計經驗的初學者作為嵌入式Linux C語言開發的自學教材,同時也適合於已掌握C語言基礎編程技術,需要提高嵌入式C語言編程實踐能力,以及對嵌入式Linux編程感興趣的程式設計師進行閱讀。...

作品目錄

第1篇嵌入式Linux開發介紹第1章嵌入式系統基礎1.1嵌入式系統概述 1.1.1身邊的嵌入式系統 1.1.2什麼是嵌入式系統 1.1.3嵌入式系統發展趨勢1.2嵌入式作業系統 1.2.1概述 1.2.2嵌入式Linux系統 1.2.3其他嵌入式作業系統介紹1.3ARM處理器平台介紹 1.3.1嵌入式處理器特點與分類 1.3.2ARM處理器介紹 1.3.3ARM體系結構1.4搭建嵌入式Linux系統開發環境 1.4.1嵌入式Linux系統的組成及設計步驟 1.4.2嵌入式Linux開發工具鏈 1.4.3系統引導程式的移植 1.4.4VIVI移植實現1.5本章小結第2章嵌入式Linux C語言開發介紹2.1嵌入式Linux與C語言2.2基本編輯器vi的使用 2.2.1進入和退出vi 2.2.2vi的基本編輯命令 2.2.3vi的高級編輯命令2.3高級編輯器Emacs的使用 2.3.1Emacs的啟動與退出 2.3.2Emacs的基本操作 2.3.3Emacs的高級命令2.4編譯器GCC的使用 2.4.1GCC簡介 2.4.2GCC的編譯過程 2.4.3GCC的常用模式 2.4.4GCC的常用選項 2.4.5GCC的警告功能2.5調試器GDB的使用 2.5.1GDB的調試過程 2.5.2GDB的基本命令 2.5.3GDB的高級命令2.6Make工程管理器 2.6.1Make管理器簡介 2.6.2Makefile的描述規則 2.6.3一個簡單示例 2.6.4make如何工作 2.6.5指定變數 2.6.6自動推導規則 2.6.7另類風格的Makefile 2.6.8清除工作目錄過程檔案2.7本章小結第3章C語言基礎回顧3.1C語言的“基礎字元”與辭彙”3.2數據類型 3.2.1常量和變數 3.2.2整型數據 3.2.3浮點型數據 3.2.4字元型數據 3.2.5變數初始化 3.2.6各類數值型數據間的混合運算3.3運算符與表達式 3.3.1算術運算符和算術表達式 3.3.2賦值運算符和賦值表達式 3.3.3逗號運算符和逗號表達式3.4程式流程控制 3.4.1選擇語句 3.4.2循環語句3.5字元輸入/輸出 3.5.1單字元輸入/輸出 3.5.2格式輸入與輸出3.6函式 3.6.1函式的定義與聲明 3.6.2函式的參數、值和基本調用 3.6.3函式的嵌套與遞歸調用 3.6.4數組函式 3.6.5局部變數 3.6.6全局變數和外部變數 3.6.7變數的存儲類別 3.6.8內部函式和外部函式3.7本章小結第2篇嵌入式Linux C語言開發入門第4章嵌入式Linux C語言常用數據類型與修飾符4.1指針 4.1.1指針的概念 4.1.2指向指針的指針 4.1.3指針數組 4.1.4函式指針 4.1.5鍊表 4.1.6嵌入式Linux中指針使用實例4.2數組 4.2.1一維數組 4.2.2多維數組 4.2.3字元數組 4.2.4嵌入式Linux中數組使用實例4.3結構體與共用體 4.3.1結構體的聲明與定義 4.3.2結構體的引用與初始化 4.3.3結構體數組 4.3.4結構體指針 4.3.5共用體 4.3.6typedef的使用 4.3.7嵌入式Linux中結構體與共用體使用實例4.4數據類型修飾符 4.4.1const和volatile 4.4.2signed和unsigned 4.4.3short和long 4.4.4near和far 4.4.5嵌入式Linux數據類型修飾符使用實例4.5存儲類修飾符4.6本章小結第5章嵌入式Linux C語言預處理器與重要函式5.1頭檔案的概念和配置5.2預處理器 5.2.1預處理的概念 5.2.2預定義宏 5.2.3檔案包含 5.2.4條件編譯 5.2.5行號控制5.3字元串函式 5.3.1char數據類型 5.3.2字元串輸入 5.3.3字元串輸出 5.3.4字元串函式 5.3.5嵌入式Linux中字元串編程實例5.4檔案輸入/輸出函式 5.4.1嵌入式Linux C檔案概述 5.4.2基本I/O函式 5.4.3檔案打包和壓縮 5.4.4其他I/O函式 5.4.5嵌入式Linux中檔案輸入/輸出編程實例5.5記憶體操作函式 5.5.1類型轉換 5.5.2分配和釋放記憶體 5.5.3記憶體塊操作 5.5.4位操作 5.5.5記憶體關鍵字 5.5.6嵌入式Linux中記憶體操作編程實例5.6Linux核心函式 5.6.1Linux核心介紹 5.6.2進程管理函式 5.6.3檔案操作函式 5.6.4時間函式 5.6.5信號處理函式 5.6.6訊息管理函式 5.6.7執行緒操作函式 5.6.8網路編程函式 5.6.9嵌入式Linux核心的移植和修改 5.6.10 嵌入式Linux中核心編程實例第6章嵌入式Linux C語言常用數據結構6.1鍊表 6.1.1鍊表概述 6.1.2單向鍊表 6.1.3循環鍊表 6.1.4雙向鍊表 6.1.5鍊表與數組 6.1.6鍊表與棧 6.1.7嵌入式Linux中鍊表使用實例6.2樹 6.2.1樹概述 6.2.2二叉樹 6.2.3平衡二叉樹 6.2.4嵌入式Linux中樹的使用實例6.3哈希表 6.3.1哈希表概述 6.3.2哈希表構造 6.3.3哈希表處理衝突的方法 6.3.4嵌入式Linux中哈希表使用實例6.4本章小結第7章嵌入式Linux C語言嵌入彙編語言與移植性問題7.1嵌入彙編語言 7.1.1內嵌彙編的語法 7.1.2GCC對內嵌彙編語言的處理方法 7.1.3嵌入式Linux中嵌入彙編實例7.2移植性問題 7.2.1字長和數據類型 7.2.2數據對齊 7.2.3位元組順序 7.2.4嵌入式Linux中代碼移植實例7.3本章小結第3篇嵌入式Linux C語言編程實踐第8章工控觸控螢幕人機界面系統的開發8.1嵌入式數控系統人機界面介紹 8.1.1嵌入式數控系統及其人機界面概述 8.1.2工控觸控螢幕人機界面系統的現狀8.2嵌入式數控系統硬體結構 8.2.1CEB270開發板介紹 8.2.2嵌入式數控系統硬體總體結構 8.2.3Intel Xscale PXA 270處理器 8.2.4Flash 8.2.5SDRAM8.3人機界面程式開發模式 8.3.1嵌入式數控系統軟體結構 8.3.2數控系統人機界面特點 8.3.3嵌入式數控系統的軟體開發模式 8.3.4宿主機與目標機 8.3.5交叉編譯 8.3.6遠程調試 8.3.7數控系統人機界面開發環境8.4嵌入式Linux系統移植基礎 8.4.1Bootloader的作用 8.4.2Bootloader移植 8.4.3U-BOOT的移植 8.4.4核心啟動部分的移植8.5設備驅動移植基礎 8.5.1設備驅動程式接口 8.5.2設備驅動程式模組 8.5.3設備驅動程式結構8.6檔案系統移植基礎 8.6.1JFFS2檔案系統 8.6.2嵌入式根檔案系統8.7移植U-BOOT到人機界面開發板上 8.7.1選擇U-BOOT的原因 8.7.2U-BOOT主要目錄結構 8.7.3U-BOOT支持的主要功能 8.7.4U-BOOT移植過程 8.7.5將U-BOOT移植到開發板的具體過程8.8人機界面開發板的Linux核心移植 8.8.1準備Linux核心原始碼 8.8.2修改Linux核心原始碼 8.8.3核心調試 8.8.4總結8.9本章小結第9章基於PCI匯流排的無線網卡驅動開發9.1Linux設備驅動程式概述 9.1.1Linux設備驅動程式與核心的關係 9.1.2Linux核心的組成 9.1.3Linux硬體驅動架構 9.1.4設備驅動程式與核心的接口 9.1.5核心為驅動程式提供的支持9.2Linux設備驅動程式開發基礎 9.2.1記憶體管理問題 9.2.2中斷處理 9.2.3I/O連線埠 9.2.4DMA處理 9.2.5時間流9.3Linux下的設備與模組分類9.4Linux字元設備驅動開發介紹 9.4.1主設備號和次設備號 9.4.2字元設備驅動程式的組成 9.4.3檔案操作9.5塊設備的驅動程式9.6網路設備接口驅動程式 9.6.1網路設備概述 9.6.2網路設備與字元設備、塊設備的不同點 9.6.3網路設備的運行機制 9.6.4數據包的傳送與接收 9.6.5網路設備驅動的實現模式9.7Ralink無線網卡介紹 9.7.1Ralink無線網卡結構 9.7.2無線通信協定的選用9.8Ralink無線網卡驅動開發 9.8.1Ralink無線網卡驅動程式的開發概述 9.8.2關鍵數據結構的開發 9.8.3802.11幀結構的設定 9.8.4設備初始化模組驅動程式開發 9.8.5設備打開模組驅動程式的開發 9.8.6數據傳送模組驅動程式的開發 9.8.7中斷處理模組驅動程式的開發 9.8.8設備關閉模組驅動程式的開發 9.8.9設備卸載模組驅動程式的開發 9.8.10 驅動程式IOCTL函式 9.8.11 驅動程式的調試9.9本章小結第10章 基於Linux的嵌入式微瀏覽器的設計與開發10.1嵌入式微瀏覽器概述 10.1.1嵌入式微瀏覽器的定義 10.1.2嵌入式微瀏覽器的發展歷程 10.1.3瀏覽器的套用 10.1.4嵌入式微瀏覽器的套用 10.1.5嵌入式微瀏覽器的設計要求 10.1.6嵌入式微瀏覽器與桌面瀏覽器的區別 10.1.7嵌入式微瀏覽器的特點 10.1.8當前主流嵌入式微瀏覽器分析 10.1.9G的概念與業務分類 10.1.10 嵌入式微瀏覽器與3G的結合 10.1.11 嵌入式微瀏覽器與WAP技術的結合 10.1.12 嵌入式微瀏覽器與Java技術的結合10.2嵌入式微瀏覽器的相關協定介紹 10.2.1HTTP概述 10.2.2HTTP報文 10.2.3HTTP請求 10.2.4HTTP回響 10.2.5HTTP實體 10.2.6TCP/IP 10.2.7Socket套接字 10.2.8GPRS 10.2.9PPP 10.2.10WAP規範10.3嵌入式微瀏覽器相關規範與標準介紹 10.3.1HTML規範 10.3.2HTML的語法樹 10.3.3CSS 2.0介紹 10.3.4XHTML 10.3.5XML 10.3.6無線標記語言WML 10.3.7DOM技術標準 10.3.8DOM的發展歷程 10.3.9XPCOM組件對象模型 10.3.10XPCOM組件 10.3.11XPCOM組件內部機制10.4嵌入式微瀏覽器相關技術難點剖析 10.4.1網頁標記的取捨 10.4.2HTML標記的容錯處理 10.4.3系統記憶體最佳化 10.4.4頁面的布局合理性問題 10.4.5可移植性問題 10.4.6DOM的基本接口 10.4.7DOM接口對XHTML的操作 10.4.8圖形用戶界面10.5基於Linux的嵌入式微瀏覽器的總體設計 10.5.1體系結構設計 10.5.2總體模組結構 10.5.3主要數據結構 10.5.4嵌入式微瀏覽器的數據流程10.6關鍵模組的設計與開發 10.6.1系統設計概述 10.6.2HTTP設計和實現 10.6.3HTML解析模組 10.6.4DOM模組 10.6.5Content模組 10.6.6Layout排版模組 10.6.7顯示引擎的設計 10.6.8GFX模組 10.6.9Widget模組 10.6.10View模組 10.6.11Embeding API10.7嵌入式微瀏覽器在模擬環境下的運行情況10.8本章小結

相關詞條

相關搜尋

熱門詞條

聯絡我們