買這商品的人也買了...
-
ARM Linux 嵌入式系統發展技術$300$270 -
Linux 驅動程式, 3/e (Linux Device Drivers, 3/e)$980$774 -
The Algorithm Design Manual, 2/e (Hardcover)$3,540$3,363 -
Linux Device Driver Programming 驅動程式設計$690$538 -
Making Embedded Systems: Design Patterns for Great Software (Paperback)$1,660$1,577 -
$414ARM 嵌入式 Linux 系統開發詳解, 2/e -
$1,530Cracking the Coding Interview : 189 Programming Questions and Solutions, 6/e (Paperback) -
徹底研究 ARM Cortex A9 嵌入式系統設計 (舊版: 嵌入式系統設計入門─ARM Cortex A9 )$580$493 -
解析 Linux 驅動程式設計$320$250 -
$414嵌入式 Linux 系統與工程實踐, 2/e -
深入理解 Android 內核設計思想, 2/e (上下冊)$948$901 -
$414ROS 機器人高效編程, 3/e (Effective Robotics Programming with ROS, 3/e) -
$588ROS 進階實例 -
$414ROS 機器人程序設計, 2/e (Learning ROS for Robotics Programming, 2/e) -
$300Qt 5.9 C++ 開發指南 -
奔跑吧!Linux kernel|Linux 4.x kernel 關鍵與原始程式碼解析$880$695 -
精通嵌入式 Linux 程式設計 (Mastering Embedded Linux Programming)$650$507 -
$594嵌入式 Linux 系統開發:基於 Yocto Project -
$594精通 ROS 機器人編程, 2/e (Mastering ROS for Robotics Programming, 2/e) -
$1,015ROS 機器人編程:原理與應用 (A Systematic Approach to Learning Robot Programming with ROS) -
精通嵌入式 Linux 程式設計 (暢銷回饋版)$620$484 -
$658精通 Linux 內核智能設備開發核心技術 -
$505ROS 機器人編程實戰 (Robot Operating System Cookbook: Over 70 recipes to help you master advanced ROS concepts) -
$454打磨機器人控制技術 -
練核心從裡強到外:全面了解 Linux 基礎架構$1,000$790
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書基於嵌入式Linux系統,介紹其軟件開發方法,重點介紹多任務、網絡和設備驅動的編程。本書分為兩個部分。
第1部分是基礎篇(第1~8章),內容包括Linux系統的基本使用方法、Linux系統的主要開發工具、文件讀寫、多任務機制、網絡套接字編程、模塊與設備驅動、嵌入式Linux系統開發、GUI程序設計初步。
第2部分是實驗篇(第9~21章),內容包括實驗系統介紹、嵌入式系統開發實驗、引導加載器、內核配置和編譯、根文件系統的構建、圖形用戶接口、音頻接口程序設計、嵌入式系統中的I/O接口驅動、觸摸屏移植、Qt/Embedded移植、MPlayer移植、GTK+移植、實時操作系統RTEMS。
本書可作為電子信息、通信、自動化等專業相關課程的教材,也可供相關領域的工程技術人員學習、參考。
作者簡介
方元,博士,南京大學電子科學與工程學院副教授,長期講授微機原理、嵌入式系統、DSP原理與應用等課程,獲得2013年石林獎教金。
目錄大綱
第1部分基礎篇
第1章Linux系統的基本使用方法
1.1 Linux系統的使用環境
1.1.1 Linux系統的目錄結構
1.1.2 Linux系統的用戶
1.2命令行工作方式
1.2.1終端
1.2.2目錄操作
1.2 .3文件操作
1.2.4瀏覽文件
1.2.5打包、壓縮和解壓
1.2.6進程控制
1.2.7管道與重定向
1.2.8 shell腳本程序
1.3規則表達式
1.4與開發相關的常用命令
1.4.1文件比較
1.4.2文本搜索
1.4.3流編輯
1.5文本編輯工具
1.5.1 vim工作模式
1.5.2 vim常用編輯命令
1.5.3 vim高級操作
本章練習
本章參考資源
第2章Linux系統的主要開發工具
2.1 gcc工具鏈
2.1.1 gcc編譯器
2.1.2彙編器和鏈接器
2.2代碼分析與轉換工具
2.2.1函數地址解析addr2line
2.2.2符號列表nm
2.2.3目標文件轉儲objdump
2.2.4代碼剖析gprof
2.2.5 ELF符號解析readelf
2.2.6代碼瘦身strip
2.3 GNU Make
2.3.1源代碼的組織
2.3.2第一個Makefile
2.3.3 GNU Make基本規則
2.3.4完善Makefile
2.3.5 GNU Make的依賴
2.4開源軟件的移植
2.4.1工具準備
2.4.2源代碼的組織結構
2.4.3配置編譯環境
2.4.4編譯和安裝
2.5調試工具
2.5.1 gdb使用示例
2.5.2遠程調試
2.6版本控制系統
2.6.1集中式版本控制系統svn
2.6.2追溯歷史、分支與合併
2.6.3分佈式版本控制系統git
2.6.4 git基本操作
2.6.5 git分支與合併
2.7合理地組織程序
2.7.1頭文件的要求
2.7.2 C語言源文件
2.7.3庫的產生和作用
2.7.4項目的目錄組織結構
2.8交叉編譯工具鏈的製作
本章練習
本章參考資源
第3章文件讀寫
3.1文件系統的概念
3.2文件與目錄
3.2.1 Linux系統中的虛擬文件系統
3.2.2 Linux系統的文件類型
3.2.3改變文件屬性
3.3文件描述符
3.3.1標準I/O設備
3.3.2有關文件操作的系統功能調用
3.3.3文件描述符複製
3.3.4文件描述符操作
3.3.5文件共享與讀寫衝突
3.4標準I/O庫的文件操作
3.4.1打開文件
3.4.2文件流讀寫
3.4.3文件流定位
3.4.4格式化I/O文件操作函數
本章練習
本章參考資源
第4章多任務機制
4.1理解進程的概念
4.1.1什麼是進程
4.1.2進程的狀態
4.1.3進程的創建和結束
4.1.4創建進程的例子
4.2進程間的數據交換
4.2.1管道
4.2.2共享內存
4.2.3消息隊列
4.3守護進程
4.4線程——輕量級進程
4.5線程的競爭與同步
4.5.1互斥鎖
4.5.2信號和信號量
4.5.3進程與線程的對比
本章練習
本章參考資源
第5章網絡套接字編程
5.1套接字API
5.1.1兩種類型的套接口
5.1. 2網絡協議分層
5.1.3關閉套接口
5.2 TCP網絡程序分析
5.2.1網絡地址
5.2.2埠
5.3 TCP服務器程序設計
5.4簡單的數據流對話
5.5多任務數據流對話
5.6基於數據報的對話程序
本章練習
本章參考資源
第6章模塊與設備驅動
6.1設備驅動程序簡介
6.1.1內核功能劃分
6.1.2設備驅動程序的作用
6.1.3設備和模塊分類
6.2構建和運行模塊
6.2.1第一個示例模塊
6.2.2模塊的編譯
6.2.3模塊的運行
6.2.4內核模塊與應用程序
6.3模塊的結構
6.3.1模塊的初始化和清除函數
6.3.2內核符號表
6.3.3模塊的卸載
6.3.4資源使用
6.4字符設備驅動程序
6.4.1 timer的設計
6.4.2文件操作
6.4.3打開設備
6.4.4 I/O控制
6.4.5阻塞型I/O
6.5設備驅動程序的使用
6.5.1驅動程序與應用程序
6.5.2內核源碼中的模塊結構
6.5.3將模塊加入內核
6.6調試技術
6.6.1輸出調試
6.6.2查詢調試
6.6.3監視調試
6.6.4故障調試
6.6.5使用gdb調試工具
6.6.6使用內核調試工具
6.7硬件管理與中斷處理
6.7.1 I/O寄存器和常規內存
6.7.2中斷
6.8內核的定時
6.8.1時間間隔
6.8.2獲取當前時間
6.8.3延遲執行
6.8.4定時器
本章練習
本章參考資源
第7章嵌入式Linux系統開發
7.1引導裝載程序
7.2內核設置
7.2.1內核佈局
7.2.2內核鏈接和裝入
7.2.3參數傳遞和內核引導
7.3設備驅動程序
7.3.1幀緩衝區驅動程序
7.3.2輸入設備驅動程序
7.3.3 MTD驅動程序
7.3.4 MTD驅動程序設置
7.4嵌入式設備的文件系統
7.4.1擴展文件系統
7.4.2日誌閃存文件系統的第2版(JFFS2)
7.4.3 tmpfs
7.5圖形用戶界面(GUI)
7.5.1 XFree86 4.X(帶幀緩衝區支持的X11R6)
7.5.2 Microwindows
7.5.3 Microwindows上的FLTKAPI
7.5.4 Qt/Embedded
7.6幀緩衝
第8章GUI程序設計初步
8.1基本組件介紹
8.1.1一個簡單的圖形接口程序
8.1.2按鈕類組件
8.1.3數據類組件
8.1.4菜單欄與工具欄
8.2畫圖區
8.3界面佈局方法
8.3 .1盒子
8.3.2表格
8.3.3對位
8.3.4便簽
第2部分實驗篇
第9章實驗系統介紹
9.1實驗系統性能概括
9.2軟件
9.2.1交叉編譯工具鏈
9.2.2工具鏈安裝
9.2.3嵌入式操作系統軟件
9.3實驗系統搭建
第10章嵌入式系統開發實驗
10.1實驗目的
10.2嵌入式系統開發過程
10.2.1串口設置(使用minicom)
10.2.2 TFTP(簡單文件傳輸協議)
10.2.3 NFS服務器架設
10.2.4編譯應用程序
10.3實驗報告要求
第11章引導加載器
11.1實驗目的
11.2 BootLoader
11.2.1 BootLoader的作用
11.2.2 BootLoader程序結構框架
11.3實驗內容
11.3.1獲取U-Boot
11.3.2配置BootLoader選項
11.3.3製作TF卡
11.4實驗報告要求
第12章內核配置和編譯
12.1實驗目的
12.2相關知識
12.2.1內核源代碼目錄結構
12.2.2內核配置的基本結構
12.2 .3編譯規則Makefile
12.3編譯內核
12.3.1 Makefile的選項參數
12.3.2內核配置項介紹
12.4實驗內容
12.5實驗報告要求
第13章根文件系統的構建
13.1實驗目的
13.2 Linux文件系統的類型
13.2.1 EXT文件系統
13.2.2 NFS文件系統
13.2.3 JFFS2文件系統
13.2.4 YAFFS2
13.2.5 RAM Disk
13.3文件系統的製作
13.3.1 BusyBox介紹
13.3.2 BusyBox的編譯
13.3.3配置文件系統
13.3.4製作ramdisk文件鏡像
13.3.5製作init_ramfs
13.4實驗內容
13.5實驗報告要求
第14章圖形用戶接口
14.1實驗目的
14.2原理概述
14.2.1幀緩衝設備
14.2.2幀緩衝與色彩
14.2.3 LCD控制器
14.2.4幀緩衝設備操作
14.3實驗內容
14.3.1實現基本畫圖功能
14.3.2合理的軟件結構
14.4實驗報告要求
第15章音頻接口程序設計
15.1實驗目的
15.2接口介紹
15.3應用軟件設計
15.3.1 OSS
15.3.2 ALSA
15.4實驗內容
15.5實驗報告要求
第16章嵌入式系統中的I/O接口驅動
16.1實驗目的
16.2接口電路介紹
16.3 I/O埠地址映射
16.4 LED控制
16.5實驗內容
16.6實驗報告要求
第17章觸摸屏移植
17.1實驗目的
17.2 Linux系統的觸摸屏支持
17.2.1觸摸屏的基本原理
17.2.2內核配置
17.2.3觸摸屏庫tslib
17.2.4觸摸屏庫的安裝和測試
17.3實驗內容
17.4實驗報告要求
第18章Qt/Embedded移植
18.1實驗目的
18.2 Qt/Embedded介紹
18.2.1 Qt/Embedded軟件包結構
18.2.2編譯環境設置
18.2.3編譯過程
18.2.4 Qt/Embedded的安裝
18.2.5 Qt-4.8版本編譯
18.3實驗要求
18.4實驗報告要求
第19章MPlayer移植
19.1實驗目的
19.2軟件介紹
19.3編譯準備
19.4編譯
19.5擴展功能
19.6實驗報告要求
第20章GTK+移植
20.1實驗目的
20.2 GTK+的背景
20.3 GTK+庫的依賴關係
20.4編譯過程
20.4.1編譯準備
20.4 .2一般方法
20.4.3環境變量
20.4.4一些特殊的設置
20.4.5編譯技巧
20.5測試
20.6實驗要求
20.7實驗報告要求
第21章實時操作系統RTEMS
21.1實驗目的
21.2實時操作系統RTEMS簡介
21.3編譯RTEMS
21.4啟用RTEMS終端
21.5實驗報告要求
