嵌入式Linux C語言應(yīng)用程序設(shè)計(jì)與實(shí)踐

出版時(shí)間:2010-6  出版社:清華大學(xué)出版社  作者:熊茂華 等 著  頁數(shù):353  
Tag標(biāo)簽:無  

前言

  在世界范圍內(nèi),社會(huì)經(jīng)濟(jì)的發(fā)展產(chǎn)生了一些新的需求,這也促進(jìn)了嵌入式技術(shù)的廣泛應(yīng)用。而中國正在成為世界制造大國,在消費(fèi)電子、工業(yè)應(yīng)用、軍事國防、網(wǎng)絡(luò)設(shè)備等領(lǐng)域都有嵌入式系統(tǒng)的應(yīng)用,同時(shí)嵌入式技術(shù)反過來刺激了許多新的應(yīng)用需求,如信息家電、醫(yī)療電子病歷、微小型智能武器等領(lǐng)域,嵌入式技術(shù)的應(yīng)用日益廣泛,相應(yīng)地,企業(yè)針對(duì)嵌入式技術(shù)人才的需求也越來越多。因此近幾年來,各高職高專院校也開始增設(shè)了嵌入式技術(shù)應(yīng)用專業(yè)或方向。但是,各院校在嵌入式技術(shù)應(yīng)用專業(yè)教學(xué)過程中面臨教材難覓的困境。針對(duì)教材缺乏的情況,我們調(diào)研了幾十所已開設(shè)了“嵌入式技術(shù)應(yīng)用”專業(yè)的高職高專院校的嵌入式技術(shù)人才培養(yǎng)方案、課程設(shè)置、教材建設(shè)與開發(fā)、學(xué)生的學(xué)習(xí)情況及嵌入式技術(shù)應(yīng)用人才就業(yè)現(xiàn)狀,通過認(rèn)真地整理、分析和研討,編寫了這套適于高等職業(yè)院校嵌入式技術(shù)人才培養(yǎng)規(guī)劃的系列教材。具體包括以下7本:  《ARM體系結(jié)構(gòu)與程序設(shè)計(jì)》  《嵌入式Linux C語言應(yīng)用程序設(shè)計(jì)與實(shí)踐》  《嵌入式操作系統(tǒng)與編程》  《嵌入式C/OS-II實(shí)時(shí)操作系統(tǒng)及應(yīng)用編程》  《嵌入式Linux實(shí)時(shí)操作系統(tǒng)及應(yīng)用編程》  《嵌入式windows CE應(yīng)用開發(fā)技術(shù)》  《ARM 9嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)應(yīng)用》  本書主要內(nèi)容如下。  第1章對(duì)ARM微處理器、ARM技術(shù)的基本概念做一些簡(jiǎn)單的介紹,從ARM體系結(jié)構(gòu)的發(fā)展及技術(shù)特征、ARM微處理器的應(yīng)用領(lǐng)域及特點(diǎn)、ARM微處理器的體系結(jié)構(gòu)、ARM微處理器的應(yīng)用選型等方面分別進(jìn)行闡述?! 〉?章介紹嵌入式Linux的開發(fā)環(huán)境、Linux開發(fā)工具GNU gcc·的使用、GNU make命令和Makefile文件、gdb調(diào)試器、嵌入式Linux編輯器vi的使用、Emacs綜合編輯器等?! 〉?章介紹嵌入式C語言程序設(shè)計(jì)的一些基本概念。主要內(nèi)容包括嵌入式C語言預(yù)處理偽指令、嵌入式C語言的基本數(shù)據(jù)類型、嵌入式C語言程序結(jié)構(gòu)、嵌入式C語言函數(shù)、嵌入式C語言數(shù)組、指針、結(jié)構(gòu)體和聯(lián)合等?! 〉?章介紹嵌入式C語言和匯編語言的混合編程、嵌入式Linux靜態(tài)鏈接庫與動(dòng)態(tài)鏈接庫及嵌入式Linux下程序調(diào)試等知識(shí)。

內(nèi)容概要

  《嵌入式Linux C語言應(yīng)用程序設(shè)計(jì)與實(shí)踐》詳細(xì)介紹嵌入式Linux的開發(fā)環(huán)境與工具軟件、嵌入式C語言程序設(shè)計(jì)基礎(chǔ)、嵌入式Linux C高級(jí)編程與調(diào)試、Linux下的文件的操作和I/O應(yīng)用、ARM Linux進(jìn)程與進(jìn)程調(diào)度、ARM Linux多線程開發(fā)、ARM Linux網(wǎng)絡(luò)編程和嵌入式Linux設(shè)備驅(qū)動(dòng)程序開發(fā)?!肚度胧絃inux C語言應(yīng)用程序設(shè)計(jì)與實(shí)踐》是嵌入式Linux C語言應(yīng)用程序設(shè)計(jì)的一本實(shí)用指導(dǎo)書,通過案例詳細(xì)介紹嵌入式Linux C語言應(yīng)用程序設(shè)計(jì),案例中的程序都取自實(shí)際的項(xiàng)目,并且對(duì)程序有詳細(xì)的注解。  《嵌入式Linux C語言應(yīng)用程序設(shè)計(jì)與實(shí)踐》深入淺出,既可作為高等職業(yè)院校相關(guān)課程的教材,也可作為嵌入式系統(tǒng)編程人員的技術(shù)參考書。

書籍目錄

第1章 嵌入式系統(tǒng)基礎(chǔ)1.1 嵌入式系統(tǒng)簡(jiǎn)介1.1.1 嵌入式系統(tǒng)的概述1.1.2 嵌入式系統(tǒng)的組成1.1.3 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域1.1.4 嵌入式系統(tǒng)的發(fā)展趨勢(shì)1.2 嵌入式處理器1.2.1 嵌入式處理器的分類1.2.2 嵌入式處理器的現(xiàn)狀1.2.3 ARM處理器1.3 嵌入式系統(tǒng)開發(fā)過程1.3.1 嵌入式系統(tǒng)的總體結(jié)構(gòu)1.3.2 嵌入式系統(tǒng)的開發(fā)特點(diǎn)1.3.3 嵌入式系統(tǒng)的開發(fā)流程1.3.4 調(diào)試嵌入式系統(tǒng)練習(xí)題第2章 嵌入式Linux的開發(fā)環(huán)境及工具軟件2.1 嵌入式Linux的開發(fā)環(huán)境2.1.1 嵌入式Linux開發(fā)環(huán)境建立2.1.2 嵌入式Linux開發(fā)的一般過程2.2 Linux開發(fā)工具的使用2.2.1 Linux開發(fā)工具GNU gcc的使用2.2.2 9db調(diào)試器簡(jiǎn)介2.3 GNU make命令和Makefile文件2.3.1 Makefile文件的規(guī)則2.3.2 Makefile文件中隱含規(guī)則2.3.3 Makefile文件的命令2.3.4 Makefile文件的變量2.3.5 Makefile文件的條件判斷2.3.6 Makefile文件中常用函數(shù)2.3.7 子目錄Makefile2.4 嵌入式Linux編輯器vi的使用2.4.1 vi的基本模式2.4.2 vi的基本操作2.5 Emacs綜合編輯器2.5.1 Emacs的啟動(dòng)與退出2.5.2 Emacs的基本編輯2.5.3 Emacs的C模式2.5.4 Emacs的Shell模式練習(xí)題第3章 嵌入式C語言程序設(shè)計(jì)基礎(chǔ)3.1 嵌入式C語言預(yù)處理偽指令3.2 嵌入式C語言的基本數(shù)據(jù)類型3.2.1 數(shù)據(jù)類型與表達(dá)式3.2.2 常量3.2.3 變量3.2.4 運(yùn)算符3.3 嵌入式Linux C語言程序結(jié)構(gòu)和控制語句3.3.1 嵌入式Linux C語言3種程序結(jié)構(gòu)3.3.2 嵌入式Linux C語言基本語句3.4 選擇語句3.4.1 if語句3.4.2 switch語句3.5 循環(huán)語句3.5.1 while和d0-while語句3.5.2 for循環(huán)語句3.5.3 break語句和continue語句3.5.4 ARM Linux循環(huán)語句應(yīng)用實(shí)例3.6 goto語句3.6.1 goto語句語法3.6.2 ARM Linux中g(shù)oto語句應(yīng)用實(shí)例3.7 函數(shù)3.7.1 C語言函數(shù)概述3.7.2 函數(shù)定義與聲明3.7.3 函數(shù)的參數(shù)、值和基本調(diào)用3.7.4 函數(shù)的嵌套、遞歸調(diào)用3.8 數(shù)組3.9 指針3.10 結(jié)構(gòu)體與聯(lián)合練習(xí)題第4章嵌入式Linux C高級(jí)編程及調(diào)試舉例4.1 內(nèi)嵌匯編指令4.2 匯編語言與C/C++的混合編程4.3 從匯編程序中訪問C程序變量4.4 匯編程序與C/C++程序的相互調(diào)用規(guī)則——ATPCS4.5 匯編程序與C/C++程序的相互調(diào)用4.6 嵌入式Linux靜態(tài)鏈接庫與動(dòng)態(tài)鏈接庫4.6.1 Linux靜態(tài)鏈接庫及創(chuàng)建4.6.2 Linux動(dòng)態(tài)鏈接庫及創(chuàng)建4.7 嵌人式Linux下程序調(diào)試應(yīng)用舉例4.7.1 Linux宿主機(jī)下的應(yīng)用程序調(diào)試4.7.2 目標(biāo)機(jī)下的應(yīng)用程序調(diào)試練習(xí)題第5章 嵌入式Linux下文件的操作5.1 ARM Linux文件I/0系統(tǒng)概述5.1.1 虛擬文件系統(tǒng)5.1.2 通用文件模型5.2 不帶緩存的文件I/O操作5.2.1 文件的創(chuàng)建和讀寫5.2.2 移動(dòng)文件的讀寫位置5.2.3 文件的各個(gè)屬性5.2.4 目錄文件的操作5.3 Linux標(biāo)I/O流5.4 嵌入式Linux的文件操作應(yīng)用舉例5.4.1 文件鎖的應(yīng)用5.4.2 嵌入式Linux串行口通信設(shè)計(jì)練習(xí)題第6章 ARM Linux進(jìn)程與進(jìn)程調(diào)度6.1 ARM Linux進(jìn)程管理6.1.1 進(jìn)程描述符及任務(wù)結(jié)構(gòu)6.1.2 進(jìn)程的調(diào)度6.2 ARM Linux進(jìn)程控制相關(guān)API6.3 ARM Linux進(jìn)程間通信API6.3.1 Linux中進(jìn)程間通信6.3.2 管道6.3.3 命名管道6.3.4 信號(hào)通信6.3.5 共享內(nèi)存6.3.6 消息隊(duì)列6.4 Linux守護(hù)進(jìn)程6.4.1 守護(hù)進(jìn)程概述6.4.2 編寫規(guī)則6.4.3 守護(hù)進(jìn)程實(shí)例練習(xí)題第7章 ARM Linux多線程開發(fā)實(shí)例7.1 Linux多線程相關(guān)API7.1.1 線程的創(chuàng)建7.1.2 線程的終止7.1.3 線程的標(biāo)識(shí)7.1.4 線程的一次性初始化7.1.5 線程的私有數(shù)據(jù)7.2 信號(hào)燈7.2.1 POSIX有名信號(hào)燈的API函數(shù)7.2.2 POSIX基于內(nèi)存的信號(hào)燈的API函數(shù)7.3 互斥量7.4 條件變量練習(xí)題第8章 ARM Linux網(wǎng)絡(luò)編程實(shí)例8.1 TCP/IP協(xié)議簡(jiǎn)介8.1.1 TCP/IP的分層模型8.1.2 TcP/1P分層模型特點(diǎn)8.1.3 Internet層中的協(xié)議8.1.4 傳輸層的協(xié)議8.2 網(wǎng)絡(luò)基礎(chǔ)編程8.2.1 Socket概述8.2.2 Socket基礎(chǔ)8.2.3 Socket網(wǎng)絡(luò)編程練習(xí)題第9章 嵌入式Linux設(shè)備驅(qū)動(dòng)程序開發(fā)9.1 嵌入式Linux的設(shè)備管理9.1.1 設(shè)備驅(qū)動(dòng)和文件系統(tǒng)的關(guān)系9.1.2 設(shè)備類型9.1.3 設(shè)備號(hào)9.1.4 設(shè)備驅(qū)動(dòng)中關(guān)鍵數(shù)據(jù)結(jié)構(gòu)9.1.5 設(shè)備驅(qū)動(dòng)開發(fā)中基本函數(shù)9.2 設(shè)備驅(qū)動(dòng)模塊化編程9.2.1 設(shè)備驅(qū)動(dòng)程序的開發(fā)流程9.2.2 內(nèi)核空間和用戶空間9.2.3 設(shè)備注冊(cè)和初始化9.2.4 中斷管理9.2.5 加載和卸載驅(qū)動(dòng)程序9.3 GPl0字符設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)9.3.1 GPIO接口設(shè)計(jì)9.3.2 LED驅(qū)動(dòng)程序代碼分析9.3.3 LED驅(qū)動(dòng)程序加載及測(cè)試9.4 A/D轉(zhuǎn)換器驅(qū)動(dòng)程序設(shè)計(jì)9.4.1 S3C2410X中斷控制器9.4.2 S3C2410X中斷接口函數(shù)及宏定義9.4.3 S3C2410XA/D轉(zhuǎn)換器9.4.4 A/D轉(zhuǎn)換驅(qū)動(dòng)程序設(shè)計(jì)9.4.5 A/D轉(zhuǎn)換驅(qū)動(dòng)程序的測(cè)試練習(xí)題參考文獻(xiàn)

章節(jié)摘錄

  2.3 GNU make命令和Makefile文件  Makefile文件描述了目標(biāo)文件之間的依賴關(guān)系,以及指定編譯過程中使用的工具。 Makefile主要包含了5個(gè)方面:顯式規(guī)則、隱晦規(guī)則、變量定義、文件指示和注釋?! 。?)顯式規(guī)則。顯式規(guī)則說明了如何生成一個(gè)或多個(gè)目標(biāo)文件。這由Makefile的書 寫者明顯指出,要生成的文件、文件的依賴文件、生成的命令?! 。?)隱晦規(guī)則。由于make有自動(dòng)推導(dǎo)的功能,所以隱晦的規(guī)則可以比較簡(jiǎn)略地書寫Makefile,這是由make所支持的?! 。?)變量定義。在Makefile中可定義一系列的變量,變量一般是字符串,類似 c語言中的宏,當(dāng)Makefile被執(zhí)行時(shí),其中的變量都會(huì)被擴(kuò)展到相應(yīng)的引用位置上?! 。?)文件指示。其包括3個(gè)部分,一個(gè)是在一個(gè)Makefile中引用另一個(gè)Makefile,就 像C語言中的include一樣;另一個(gè)是指根據(jù)某些情況指定Makefile中的有效部分,就像 C語言中的預(yù)編譯#if一樣;還可定義一個(gè)多行的命令。 ?。?)注釋。Makefile中只有行注釋,和UNIX的Shell腳本一樣,其注釋是用“#”字 符,如果在Makefile中使用“#”字符,可以用反斜杠進(jìn)行轉(zhuǎn)義,如:“\#”?! ∽詈螅€值得一提的是,在Makefile中的命令,必須要以Tab鍵開始。  Makefile定義了一系列的規(guī)則來指定哪些文件需要先編譯,哪些文件需要后編譯,哪 些文件需要重新編譯,甚至于進(jìn)行更復(fù)雜的功能操作。Makefile就像一個(gè)Shell腳本一 樣,其中也可以執(zhí)行操作系統(tǒng)的命令。Makefile帶來的好處就是“自動(dòng)化編譯”,一旦寫 好,只需要一個(gè)make命令,整個(gè)工程完全自動(dòng)編譯,極大地提高了軟件開發(fā)的效率。GNU的make工作時(shí)的執(zhí)行步驟如下?! 。?)讀入所有的Makefile?! 。?)讀入被incllMe的其他Makefile?! 。?)初始化文件中的變量?! 。?)推導(dǎo)隱晦規(guī)則,并分析所有規(guī)則?! 。?)為所有的目標(biāo)文件創(chuàng)建依賴關(guān)系鏈。 ?。?)根據(jù)依賴關(guān)系,決定哪些目標(biāo)要重新生成?! 。?)執(zhí)行生成命令?! 。?)~(5)為第一個(gè)階段,(6)~(7)為第二個(gè)階段。在第一個(gè)階段中,如果定義的變量 被使用了,那么,make會(huì)把其展開在使用的位置。但make并不會(huì)完全馬上展開。make 程序利用Makefile中的數(shù)據(jù)和每個(gè)文件的最后修改時(shí)間來確定哪個(gè)文件需要更新,對(duì)于 需要更新的文件,make程序執(zhí)行Makefile數(shù)據(jù)中定義的命令來更新?! ?.3.1 Makefile文件的規(guī)則

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    嵌入式Linux C語言應(yīng)用程序設(shè)計(jì)與實(shí)踐 PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7