嵌入式Linux系統編程

《嵌入式Linux系統編程》是2014年電子工業出版社出版的圖書,作者是秦立春、周中孝。

內容簡介

本書涉及嵌入式Linux系統設備驅動開發的各個環節。全書共21章,內容包括:Linux系統基本操作,嵌入式Linux開發環境的搭建,Linux設備驅動的概念,Linux核心模組編程,字元設備驅動(含LED驅動)的開發及完善,核心同步機制,中斷驅動,核心工作佇列,核心定時器,平台設備、LCD設備、Linux觸控螢幕和溫度感測器的驅動,以及Linux核心各子系統(clock子系統、輸入子系統、I IC子系統、SPI子系統和MTD子系統)的介紹。本書由深圳信盈達嵌入式學院的嵌入式開發工程師編寫,並配備了相關的實驗和完整的驅動程式代碼及測試應用程式代碼。

編輯推薦

本書是配合Linux系統程式設計的指導教材,獨立於任何Linux系統編程的教科書。主要內容有:Linux基礎知識,包括基本命令、vi編輯器的用法、Shell編程;Linux環境下程式的編譯與調試,包括gcc/g++的用法、Makefile的編寫、gdb調試器的基本用法等;Linux檔案目錄操作;Linux多進程的控制;Linux環境下信號的處理;系統各進程間通信方式;Linux多執行緒,包括執行緒的同步與互斥;網路Socket編程。本書涵蓋了Linux下套用層編程的全面知識,並且講解清晰易懂。通過詳細的示例,從零開始,由淺入深、循序漸進地指導初學者掌握Linux系統編程,培養讀者實際分析問題和編程的能力,提高讀者和學生的綜合素質。

作者簡介

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

圖書目錄

第1章Linux基礎知識
1.1Linux的歷史
1.2Linux目錄結構
1.3Linux常用命令
1.3.1su(用戶切換)
1.3.2useradd(添加用戶)
1.3.3passwd(修改密碼)
1.3.4進程相關(系統管理)命令
1.3.5磁碟相關命令(fdisk)
1.3.6pwd(顯示工作目錄)
1.3.7cd(改變工作目錄)
1.3.8ls(查看檔案/目錄)
1.3.9mkdir(創建目錄)
1.3.10cp(檔案/目錄複製)
1.3.11mv(檔案/目錄改名、移動)
1.3.12rm(檔案/目錄刪除)
1.3.13cat(查看檔案內容)
1.3.14more(分頁顯示檔案內容)
1.3.15less(分頁顯示檔案內容)
1.3.16管道與命令替換
1.3.17umask(檔案/目錄創建掩碼)
1.3.18chgrp(改變檔案/目錄所屬的組)
1.3.19chown(更改某個檔案/目錄的所有者和屬組)
1.3.20chmod(修改檔案許可權)
1.3.21find(檔案查找)
1.3.22locate(快速檔案查找)
1.3.23ln(建立符號連結)
1.3.24whereis和which(查找命令所在目錄)
1.3.25grep(搜尋檔案內容)
1.3.26tar(壓縮解壓)
1.3.27gzip/gunzip和bzip2/bunzip2(檔案壓縮/解壓縮)
1.3.28unzip(winzip檔案解壓縮)
1.3.29ifconfig及網路相關命令
1.3.30Linux下編程環境
1.4vi編輯器
1.5Linux常用技巧
1.5.1使用“Tab”鍵
1.5.2RetHatLinux啟動到字元界面(不啟動XWindow)
1.5.3掛接USB快閃記憶體
1.5.4不用samba或ftp,利用VM自身實現本機與虛擬機的檔案共享
1.5.5其他常用命令
1.5.6vi換行自動縮進對齊以及在vim中設定多個視窗
1.5.7Shell編程
第2章Linux環境下的編譯與調試
2.1gcc/g++編譯器
2.1.1gcc/g++編譯過程
2.1.2靜態庫和動態庫
2.1.3gcc警告和最佳化選項
2.2make工程管理器和Makefile
2.2.1Makefile中特殊處理與偽目標
2.2.2變數、規則與函式
2.3gdb調試器
2.3.1gdb的常用命令
2.3.2gdb套用舉例
第3章Linux檔案目錄操作
3.1基於檔案指針的檔案操作(緩衝)
3.1.1檔案的創建、打開與關閉
3.1.2讀寫檔案
3.1.3檔案定位
3.1.4標準輸入/輸出流
3.1.5目錄操作
3.2基於檔案描述符的檔案操作(非緩衝)
3.2.1檔案描述符
3.2.2打開、創建和關閉檔案
3.2.3讀寫檔案
3.2.4改變檔案大小
3.2.5檔案定位
3.2.6原子操作
3.2.7進一步理解檔案描述符
3.2.8檔案描述符的複製
3.2.9檔案的鎖定
3.2.10獲取檔案信息
3.2.11access函式
3.2.12標準輸入/輸出檔案描述符
3.2.13時間和日期相關函式
3.2.14處理的模型(補充)
3.2.15串口編程
3.2.16日誌
第4章Linux多進程
4.1Linux進程概述
4.1.1進程標識
4.1.2進程的用戶ID與組ID(進程的運行身份)
4.1.3進程的狀態
4.1.4Linux下的進程結構及管理
4.2Linux進程的創建與控制
4.2.1fork函式
4.2.2進程的終止
4.2.3wait和waitpid函式
4.2.4exec函式族
4.2.5system函式
4.2.6popen函式
4.3守護進程
第5章Linux信號處理
5.1信號概念
5.2signal信號處理機制
5.3sigaction信號處理機制
5.3.1信號處理情況分析
5.3.2sigaction信號處理註冊
5.3.3sigprocmask信號阻塞
5.4用程式傳送信號
5.4.1kill和raise信號傳送函式
5.4.2sigqueue信號傳送函式
5.5計時器與信號
5.5.1睡眠函式
5.5.2時鐘處理
第6章進程間通信
6.1進程間通信(IPC)簡介
6.2標準管道流
6.3無名管道(PIPE)
6.4命名管道(FIFO)
6.4.1創建、刪除FIFO檔案
6.4.2打開、關閉FIFO檔案
6.4.3讀寫FIFO
6.5記憶體映射
6.6SystemV共享記憶體機制
6.7訊息佇列
6.8信號量
6.8.1SystemVIPC機制:信號量
6.8.2Posix有名信號量
第7章Linux多執行緒
7.1Linux多執行緒概述
7.1.1多執行緒概述
7.1.2執行緒分類
7.1.3執行緒創建的Linux實現
7.2執行緒的創建和退出
7.3執行緒的等待退出
7.3.1等待執行緒退出
7.3.2執行緒的取消
7.3.3執行緒終止清理函式
7.4執行緒的互斥
7.5執行緒的同步
7.5.1條件變數
7.5.2信號燈
7.6生產者消費者問題
7.7執行緒的屬性
第8章Linux網路編程
8.1Linux網路編程介紹
8.1.1TCP/IP概述
8.1.2OSI參考模型及TCP/IP參考模型
8.1.3TCP
8.1.4UDP
8.1.5協定的選擇
8.2網路相關概念
8.2.1Socket概念
8.2.2Socket類型
8.2.3Socket的信息數據結構
8.2.4數據存儲優先順序的轉換
8.2.5地址格式轉化
8.2.6名字地址轉化
8.3Socket編程
8.3.1使用TCP的流程圖
8.3.2使用UDP的流程圖
8.3.3設定套接口的選項setsockopt的用法
第9章系統編程的例子
附錄AC語言檔案操作詳解
附錄B記憶體映射和普通檔案訪問的區別
附錄Cping命令解析
附錄D大端小端

序言

近年來,Linux作業系統使用越來越廣泛。而Linux作業系統的使用相比於Windows要困難一些,又由於Linux下沒有很好的集成開發環境(IDE),在Linux下進行C語言編程開發比Windows下更不容易。而且在Linux下編程需要用到很多Linux系統API函式,這些函式雖然有完整的幫助文檔可以查閱,但由於是英文,講解太詳細太全面,所以內容太多,我們通常沒有時間對它們進行詳盡的閱讀,而且這些幫助文檔以參考性的內容為主,這無疑增加了開發人員學習的難度。所以我們確實需要一本通俗易懂的介紹Linux系統下編程的書。本書是一本較為全面系統地介紹Linux下應用程式編程知識的書籍,涵蓋了Linux系統下編程絕大多數的API函式及使用示例,足夠廣大開發人員參考使用。
國內關於講解Linux系統編程知識的書籍比較少,國外相關著作雖然全面系統,但講解風格卻是依照西方的思維方式,過於專業和深奧,這與中國人的思維方式有些不同,所以我們在閱讀那些書時難免會感到不習慣,影響學習。因此,我們需要一本按照國人容易接受的方式去講解編程知識的參考書。本書講解清晰易懂,內容科學合理,有助於初學者迅速掌握知識體系和精髓,在學習時間相同的情況下,學習效果也更好。
本書適合廣大範圍的計算機編程人員學習,只要讀者具備一定的C語言編程基礎即可。即使沒用過Linux系統的人,閱讀本書第1章Linux基本命令講解後,也能對Linux系統有相當的了解和熟悉。然後講述了Linux下程式編譯和調試的基本知識,如gcc、gdb的用法,Makefile的編寫規則,這兩章算是基礎入門知識,接下來後面的章節都是介紹Linux下的API函式及其示例用法,程式都是精心設計的,一針見血地表達出了重點。API函式部分包括Linux檔案目錄操作、基於檔案指針和基於檔案描述符的檔案操作函式、多進程的控制、Linux下信號處理、各種進程間通信方式的講解、多執行緒編程、執行緒同步與互斥,以及網路Socket編程這些內容。
本書內容涵蓋面廣,知識點全面,語言簡練而清晰,能讓讀者迅速掌握精髓,也很適合自學。初學者和專業開發人員都能從中受益匪淺。
本書的出版,離不開深圳信盈達電子有限公司所有同事們的支持和幫助,尤其是陳志發等工程師, 在此向他們表示衷心的感謝。另外,感謝電子工業出版社,是他們認真專業的審核,讓本書由粗糙的初稿變成了精美的圖書。
由於時間倉促,編者水平有限,書中難免有不恰當的地方,希望廣大讀者批評指正,聯繫信箱:niusdw@163com,歡迎來信交流。
編者
2014年2月27

相關詞條

相關搜尋

熱門詞條

聯絡我們