TOP
從紙書中看見香港,指定港書滿888再折100
Linux嵌入式系統開發(附光碟)(簡體書)
滿額折

Linux嵌入式系統開發(附光碟)(簡體書)

商品資訊

人民幣定價:65 元
定價
:NT$ 390 元
優惠價
87339
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :10 點
商品簡介
名人推薦
目次
書摘/試閱

商品簡介

《Linux嵌入式系統開發》以Linux嵌入式系統的基本開發技術為主線,以基于ARM架構的嵌入式處理器為嵌入式硬件平臺,全面介紹嵌入式系統開發過程、ARM體系結構、Linux基礎、Linux進程、Linux開發環境的建立、Linux操作系統移植、Bootloader的使用、Linux根文件系統的構建、設備驅動程序的開發、嵌入式GUI開發等嵌入式知識,最後介紹近年來較為熱門的GPS導航系統的設計。
《Linux嵌入式系統開發》可作為機電控制、信息家電、工業控制、手持儀器、醫療器械、機器人技術等方面嵌入式系統開發與應用的參考書,也可作為高等院校有關嵌入式系統教學的本科生或研究生教材。

名人推薦

Linux-嵌入式系統開發的首選軟件、信息家電、工業控制、醫療器械、機器人領域的必備技術、基礎知識-實訓實例-工程實例、實例操作視頻教學,輕松學習。

目次

第1章 嵌入式系統概述
1.1 嵌入式系統的概念
1.1.1 嵌入式系統的定義
1.1.2 嵌入式系統的特點
1.2 嵌入式系統的組成
1.2.1 嵌入式處理器
1.2.2 外圍設備
1.2.3 嵌入式操作系統
1.2.4 應用軟件
1.3 嵌入式處理器
1.3.1 嵌入式處理器的分類
1.3.2 嵌入式微處理器
1.3.3 嵌入式微控制器
1.3.4 嵌入式DSP處理器
1.3.5 嵌入式片上系統
1.3.6 選擇嵌入式處理器
1.4 嵌入式操作系統
1.4.1 操作系統的概念和分類
1.4.2 實時操作系統
1.4.3 常用的嵌入式操作系統
1.5 新型的嵌入式操作系統
1.5.1 Android
1.5.2 MontaVista
1.6 嵌入式系統的應用
1.7 嵌入式系統的發展趨勢
1.7.1 嵌入式系統面臨的挑戰
1.7.2 嵌入式系統的發展前景
1.8 本章小結

第2章 嵌入式系統開發過程
2.1 嵌入式軟件開發介紹
2.1.1 嵌入式軟件開發的特殊性
2.1.2 嵌入式軟件的分類
2.1.3 嵌入式軟件的開發流程
2.1.4 嵌入式軟件開發工具的發展趨勢
2.2 嵌入式軟件的調試技術
2.2.1 調試技術介紹
2.2.2 基于JTAG的ARM系統調試
2.3 嵌入式軟件測試技術
2.3.1 宿主機-目標機開發模式
2.3.2 目標監控器
2.4 嵌入式系統集成開發環境
2.4.1 ADS的介紹
2.4.2 ADS建立工程的使用介紹
2.4.3 AXD調試器的使用介紹
實例2-1:ARM開發環境ADS的使用實例
2.5 本章小結

第3章 ARM體系結構
3.1 ARM體系結構概述
3.1.1 ARM體系結構簡介
3.1.2 ARM體系結構的技術特征
3.1.3 CISC的體系結構
3.1.4 RISC的體系結構
3.1.5 RISC系統和CISC系統的比較
3.2 ARM微處理器的分類
3.2.1 ARM7微處理器
3.2.2 ARM9微處理器
3.2.3 ARM9E微處理器
3.2.4 ARM10E微處理器
3.2.5 ARM11微處理器
3.2.6 SecurCore微處理器
3.2.7 trongARM微處理器
3.2.8 XScale微處理器
3.3 ARM微處理器的應用
3.3.1 ARM微處理器的應用選型
3.3.2 S3C2410處理器
3.4 存儲器
3.4.1 存儲器簡介
3.4.2 SDRAM操作
3.4.3 Flash
3.5 ARM編程模型
3.5.1 數據類型
3.5.2 存儲器格式
3.5.3 處理器工作狀態
3.5.4 處理器運行模式
3.5.5 寄存器組織
3.5.6 內部寄存器
3.6 ARM指令的尋址方式
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 ARM指令集
3.7.1 ARM指令的格式
3.7.2 ARM指令分類
3.7.3 Thumb指令介紹
3.7.4 Thumb指令分類
3.7.5 ARM指令集和Thumb指令集的區別
3.8 ARM微處理器的異常
3.8.1 ARM體系結構所支持的異常類型
3.8.2 異常向量表
3.8.3 異常優先級
3.8.4 應用程序中的異常處理
3.8.5 各類異常的具體描述
3.9 本章小結

第4章 Linux基本操作
4.1 Linux系統的介紹
4.1.1 Linux的概況
4.1.2 Linux操作系統的構成
4.1.3 Linux常見的發行版本
4.1.4 Linux內核的特點
4.2 Linux命令的使用
4.3 vi編輯器的使用
4.3.1 vi編輯器的進入
4.3.2 命令模式的命令
4.3.3 末行模式的命令
實例4-1:vi編輯器使用實例
4.4 Shell編程
4.4.1 Shell基礎介紹
4.4.2 Shell程序的變量和參數
4.4.3 運行Shell程序
4.4.4 Shell程序設計的流程控制
4.4.5 Shell輸入與輸出
4.4.6 bash介紹
4.5 綜合實例
實例4-2:編寫清除/var/log下的log文件綜合實例
實例4-3:編寫尋找死鏈接文件綜合實例
4.6 本章小結

第5章 Linux進程
5.1 進程概述
5.1.1 進程結構
5.1.2 進程的控制操作
5.1.3 進程的屬性
5.1.4 進程的創建和調度
5.1.5 Linux進程命令
5.2 系統調用
5.2.1 系統調用簡述
5.2.2 系統調用的進入
5.2.3 與進程管理相關的系統調用
5.3 管道
5.3.1 管道系統調用
5.3.2 管道的分類
實例5-1:管道通信實例
5.4 信號
5.4.1 常見的信號種類
5.4.2 系統調用函數
5.4.3 信號的處理
5.4.4 信號與系統調用的關系
實例5-2:信號實例
5.5 信號量
5.5.1 信號量概述
5.5.2 相關的數據結構
5.5.3 相關的函數
實例5-3:信號量實例
5.6 共享內存
5.6.1 共享內存原理
5.6.2 共享內存對象的結構
5.6.3 相關的函數
實例5-4:共享內存實例
5.7 消息隊列
5.7.1 有關的數據結構
5.7.2 相關的函數
實例5-5:消息隊列實例
5.8 綜合實例
實例5-6:多線程編程實例
5.9 本章小結

第6章 建立Linux開發環境
6.1 建立Linux開發環境
6.1.1 Cygwin開發環境
6.1.2 VMwareWorkstation開發環境
6.2 交叉編譯的使用
6.2.1 GNU交叉工具鏈的設置
6.2.2 ARMGNU常用匯編語言
6.2.3 GNU交叉工具鏈的常用工具
6.2.4 交叉編譯環境
6.3 Linux下的C編程
6.3.1 Linux程序設計特點
6.3.2 Linux下C語言編碼的風格
6.3.3 Linux程序基礎
6.3.4 Linux下C編程的庫依賴
6.4 gcc的使用與開發
6.4.1 gcc簡介和使用
6.4.2 gcc選項
6.4.3 gcc的錯誤類型
實例6-1:gcc編譯器環境的應用實例
6.5 gdb調試器的介紹和使用
6.5.1 gdb調試器的使用
6.5.2 在gdb中運行程序
6.5.3 暫停和恢復程序運行
6.5.4 遠程調試
實例6-2:gdb調試器環境的應用實例
6.6 GNUmake和Makefile的使用
6.6.1 Makefile的基本結構
6.6.2 Makefile的變量
6.6.3 Makefile的隱含規則
6.6.4 Makefile的命令使用
6.6.5 Makefile的函數使用
6.6.6 Makefile文件的運行
6.6.7 Makefile規則書寫命令
實例6-3:Makefile的命令使用實例
6.7 autoconf和automake的使用
6.7.1 autoconf的使用
6.7.2 Makefile.am的編寫
6.7.3 automake的使用
6.7.4 使用automake和autoconf產生Makefile
6.7.5 自動生成Makefile的方法
6.8 綜合實例
實例6-4:gcc編譯器的綜合實例
實例6-5:gdb調試器的綜合實例
實例6-6:Makefile的綜合實例
6.9 本章小結

第7章 Linux操作系統移植
7.1 移植的概念
7.1.1 Linux可移植性發展
7.1.2 Linux的移植性
7.2 Linux內核結構
7.2.1 Linux內核組成
7.2.2 子系統相互間的關系
7.2.3 系統數據結構
7.2.4 Linux內核源代碼
7.3 Linux內核配置
實例7-1:Linux內核配置實例
7.4 Linux操作系統移植介紹
7.4.1 Linux系統移植的兩大部分
7.4.2 內核文件的修改
7.4.3 系統移植所必需的環境
7.5 綜合實例
實例7-2:編譯Linux內核應用實例
實例7-3:Linux內核的燒寫實例
實例7-4:使用Kgdb構建Linux內核調試環境
7.6 本章小結

第8章 Bootloader的使用
8.1 Bootloader概述
8.1.1 Bootloader的作用
8.1.2 Bootloader的功能
8.1.3 Bootloader的種類
8.1.4 Bootloader的工作模式
8.1.5 Bootloader的啟動方式
8.1.6 Bootloader的啟動流程
8.1.7 Bootloader與主機的通信
8.2 vivi
8.2.1 vivi的常用命令和文件結構
8.2.2 vivi第一階段的分析
8.2.3 vivi第二階段的分析
8.2.4 vivi的配置與編譯
8.3 U-boot
8.3.1 U-boot常用命令和源代碼目錄結構
8.3.2 U-boot支持的主要功能
8.3.3 U-boot的編譯和添加命令
8.3.4 U-boot的啟動介紹
8.3.5 U-boot的移植和使用
8.3.6 U-boot的啟動過程
8.3.7 U-boot的調試
8.4 其他常見的Bootloader
8.5 綜合實例
實例8-1:vivi編譯實例
實例8-2:U-boot在S3C2410上的移植實例
實例8-3:Bootloader設計實例
8.6 本章小結

第9章 構建Linux根文件系統
9.1 Linux文件系統概述
9.1.1 Linux文件系統的特點
9.1.2 其他常見的嵌入式文件系統
9.1.3 Linux根文件目錄結構
9.1.4 Linux文件屬性介紹
9.2 使用BusyBox生成工具集
9.2.1 BusyBox概述
9.2.2 BusyBox進程和用戶程序啟動過程
9.2.3 編譯/安裝BusyBox
實例9-1:用BusyBox建立簡單的根文件系統
9.3 構建根文件系統
實例9-2:構建根文件系統
9.4 配置yaffs文件
9.4.1 yaffs文件系統設置
9.4.2 yaffs文件系統測試
9.5 綜合實例
實例9-3:制作/使用yaffs文件系統映像文件
實例9-4:制作/使用jffs2文件系統映像文件
9.6 本章小結

第10章 設備驅動程序開發
10.1 設備驅動程序概述
10.1.1 驅動程序的簡介
10.1.2 設備分類
10.1.3 設備號
10.1.4 設備節點
10.1.5 驅動層次結構
10.1.6 設備驅動程序的特點
10.2 設備驅動程序與文件系統
10.2.1 設備驅動程序與文件系統的關系
10.2.2 設備驅動程序與操作系統的關系
10.2.3 Linux設備驅動程序的接口
10.2.4 設備驅動程序開發的基本函數
10.2.5 Linux驅動程序的加載
10.3 設備驅動程序的使用
10.3.1 驅動程序模塊的加載
10.3.2 創建設備文件
10.3.3 使用設備
10.4 網絡設備基礎知識
10.4.1 網絡協議
10.4.2 網絡設備接口基礎
10.5 網絡設備驅動程序的架構
10.5.1 網絡設備驅動程序體系結構
10.5.2 網絡設備驅動程序模塊分析
10.5.3 網絡設備驅動程序的實現模式
10.5.4 網絡設備驅動程序的數據結構
10.6 綜合實例
實例10-1:鍵盤驅動開發實例
實例10-2:I2C總線驅動的編寫實例
實例10-3:TFT-LCD顯示驅動實例
10.7 本章小結

第11章 嵌入式GUI開發
11.1 嵌入式系統中的GUI簡介
11.1.1 嵌入式GUI系統的介紹
11.1.2 基于嵌入式Linux的GUI系統底層實現基礎
11.1.3 嵌入式GUI系統的分析與比較
11.2 嵌入式系統下MiniGUI的實現
11.2.1 圖形用戶界面MiniGUI簡介
11.2.2 MiniGUI的發布版本
11.2.3 MiniGUI在S3C2410處理器上的移植過程
11.3 Qt/Embedded嵌入式圖形開發基礎
11.3.1 Qt/Embedded開發環境的安裝
11.3.2 Qt/Embedded底層支持及實現代碼分析
11.3.3 Qt/Embedded信號和插槽機制
11.3.4 Qt/Embedded窗口部件
11.3.5 Qt/Embedded圖形界面編程
11.3.6 Qt/Embedded對話框設計
11.3.7 數據庫
實例11-1:Qt/Embedded圖形開發應用實例
11.4 Qtopia移植
11.4.1 Qtopia簡介
11.4.2 交叉編譯、安裝Qtopia
實例11-2:Qtopia移植應用實例
11.5 Qt/Embedded應用開發
11.5.1 嵌入式硬件開發平臺的選擇
11.5.2 Qt/Embedded常用工具的介紹
11.5.3 交叉編譯Qt/Embedded的庫
11.5.4 Qt/E程序的編譯與執行
實例11-3:Qt/Embedded實戰演練
11.6 綜合實例
實例11-4:Hello,Qt/Embedded應用程序
實例11-5:基本繪圖應用程序的編寫
11.7 本章小結

第12章 綜合工程實例
12.1 文件系統的生成與燒寫
12.1.1 yaffs文件系統的制作與生成
12.1.2 jffs2文件系統的制作與生成
12.2 基于Linux的數碼相框
12.2.1 系統需求分析
12.2.2 系統總體設計
12.2.3 軟件設計實現
12.2.4 軟硬件集成
12.3 基于Linux的MPlayer解碼播放器
12.3.1 可行性分析報告
12.3.2 系統總體設計
12.3.3 軟件總體設計
12.3.4 軟件詳細設計
12.3.5 軟硬件集成
12.4 基于Linux的GPS導航系統的開發
12.4.1 嵌入式開發流程圖
12.4.2 GPS導航定位系統的系統定義
12.4.3 GPS導航系統的可行性分析報告
12.4.4 GPS導航系統需求分析
12.4.5 GPS導航系統總體設計實現
12.4.6 GPS導航系統硬件設計實現
12.4.7 GPS導航系統軟件概括設計
12.4.8 GPS導航系統軟件詳細設計
12.4.9 GPS導航系統數據庫的配置設計
12.4.10 GPS導航系統軟件實現
12.5 本章小結

書摘/試閱

(2)遠程調試
遠程調試是一種允許調試器以某種方式控制目標機上被調試進程的運行方式,并具有查看和修改目標機上內存單元、寄存器及被調試進程中變量值等各種調試功能的調試方式。
在嵌入式系統中,調試器運行在宿主機的通用操作系統之上,被調試的進程運行在目標機的嵌入式操作系統中,調試器和被調試進程通過串口或者網絡進行通信,調試器可以控制、訪問被調試進程,讀取被調試進程的當前狀態,并能夠改變被調試進程的運行狀態。
嵌入式系統的交叉調試可分為硬件調試和軟件調試兩種。硬件調試需要使用仿真調試器協助調試過程,硬件調試器是通過仿真硬件的執行過程,讓開發者在調試時可以隨時了解到系統的當前執行情況。而軟件調試則使用軟件調試器完成調試過程。
在目標機上,嵌入式操作系統、應用程序代碼構成可執行映像。可以在宿主機上生成完整映像,再移植到目標機上;也可以把應用程序做成可加載模塊,在目標機操作系統啟動後,從宿主機向目標機加載應用程序模塊。
2.3.2 目標監控器
嵌入式系統開發環境中,目標監控器對嵌入式軟件的開發和調試有至關重要的意義。
嵌入式系統的調試,與一般臺式機上編程調試顯著不同。嵌入式調試工具是用于嵌入式系統開發中代碼定制和調試的工具,分為駐留主機部分和駐留目標機部分。駐留主機部分稱為調試器,駐留目標機部分稱為目標監控器。目標監控器是解決嵌入式軟件開發工具與這些支撐硬件的連接和通信的一個重要支持部件,是嵌入式應用開發、調試環境的核心部件,是許多功能模塊實現的基礎。
按照具體的實現方式的不同,可以將目標監控器分為軟件監控器、硬件監控器、軟件仿真器和軟件模擬監控器。
(1)軟件監控器
軟件監控器是駐留在目標機上通過軟件手段實現的調試代理。實際上,主機端的調試命令不是直接交由目標機硬件執行的,而是首先發送給軟件監控器,再由軟件監控器轉交給目標機執行,然後將所監控的程序運行到斷點處的相關信息反饋給主機端的調試器。按照對目標機硬件和軟件的控制能力,軟件監控器分為引導型監控器和應用型監控器。
1)引導型監控器
引導型監控器是一種具有啟動系統、加載和調試包括內核在內的程序等功能的軟件監控器,它實際上是一個具有監控功能的微型操作系統。
……

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 339
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區