注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)Linux初入職場之嵌入式Linux開發(fā)快速上手

初入職場之嵌入式Linux開發(fā)快速上手

初入職場之嵌入式Linux開發(fā)快速上手

定 價:¥35.00

作 者: 祁德春 編著
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: LINUX

ISBN: 9787121120794 出版時間: 2010-11-01 包裝: 平裝
開本: 16開 頁數(shù): 241 字數(shù):  

內(nèi)容簡介

  《初入職場之嵌入式Linux開發(fā)快速上手》介紹了作者初入職場從事嵌入式Linux開發(fā),從不知所措到獨立承擔(dān)項目的過程中所遇到的種種問題,在簡要說明原理的同時,還配有完整的實例代碼,并對問題進行了詳細的分析和解答。書中第一部分簡要介紹嵌入式Linux開發(fā)基礎(chǔ),重點是第二部分,剖析了常見shell編程、socket編程、多線程編程及同步、多線程通信中的問題,以及常見死機問題等。《初入職場之嵌入式Linux開發(fā)快速上手》立足于實際研發(fā),適合于初入職場的軟件開發(fā)人員,準備從事嵌入式Linux開發(fā)的人員,以及計算機、電子相關(guān)專業(yè)的學(xué)生閱讀。

作者簡介

暫缺《初入職場之嵌入式Linux開發(fā)快速上手》作者簡介

圖書目錄

第1章 嵌入式Linux基礎(chǔ)
1.1 什么是嵌入式Linux
1.2 嵌入式Linux的特點
1.3 嵌入式Linux的應(yīng)用范圍
1.4 嵌入式Linux的開發(fā)模式
1.5 嵌入式Linux發(fā)展面臨的挑戰(zhàn)
1.6 嵌入式Linux的發(fā)展前景
1.7 嵌入式Linux應(yīng)用程序開發(fā)必備技能
第2章 搭建Linux開發(fā)服務(wù)器
2.1 Fedora概述
2.2 VMware workstation概述
2.3 Fedora5的安裝
2.4 配置linux服務(wù)器
2.4.1 怎樣開通常用網(wǎng)絡(luò)服務(wù)
2.4.2 ping不通Linux主機怎么辦
2.4.3 由telnet連不上Linux主機怎么辦
2.4.4 怎樣讓root用戶telnet到主機
2.4.5 怎樣配置Samba服務(wù)器——創(chuàng)建登錄用戶
2.4.6 怎樣配置Samba服務(wù)器
2.4.7 登錄主機提示找不到網(wǎng)絡(luò)路徑怎么辦
2.4.8 登錄主機提示指定的網(wǎng)絡(luò)名不再可用怎么辦
2.4.9 tftp下載主機文件超時怎么辦
2.4.10 NFS配置——開啟服務(wù)并添加共享文件夾
2.4.11 NFS配置——共享目錄不能被掛載怎么辦
2.4.12 怎樣修改File Browser風(fēng)格——顯示地址欄
2.4.13 怎樣修改Linux主機的屏幕分辨率
2.4.14 怎樣修改Linux主機的網(wǎng)絡(luò)接入方式
2.4.15 Fedora 5安裝完畢以后不能添加/刪除軟件怎么辦
2.4.16 Fedora 5不能在SCSI虛擬硬盤上安裝怎么辦
第3章 常用Linux命令介紹
3.1 常用命令介紹
3.1.1 文件管理命令
3.1.2 備份壓縮
3.1.3 磁盤管理和維護
3.1.4 系統(tǒng)管理和維護
3.1.5 文檔搜索和查找
3.1.6 網(wǎng)絡(luò)相關(guān)
3.2 常見問題探討
3.2.1 cp和scp拷貝丟失符號鏈接怎么辦
3.2.2 fgrep搜索時感覺很慢怎么辦
3.2.3 燒寫NAND Flash后文件系統(tǒng)校驗出錯怎么辦
3.2.4 怎樣在開發(fā)板上查看內(nèi)核版本和硬件平臺
3.2.5 怎樣查看/設(shè)置/刪除默認網(wǎng)關(guān)
3.2.6 設(shè)置默認網(wǎng)關(guān)顯示網(wǎng)絡(luò)不可達怎么辦
3.2.7 怎樣通過命令設(shè)置DNS地址
3.2.8 busybox命令date設(shè)置時間出錯怎么辦
3.2.9 busybox命令udhcpc不能設(shè)置IP地址怎么辦
3.2.10 busybox命令telnetd讓其他主機連接失敗怎么辦
3.2.11 怎樣在開發(fā)板上格式化U盤并創(chuàng)建文件系統(tǒng)
3.2.12 怎樣在開發(fā)板上掛載U盤
第4章 搭建嵌入式Linux開發(fā)環(huán)境
4.1 搭建嵌入式開發(fā)環(huán)境
4.1.1 搭建交叉編譯環(huán)境
4.1.2 編譯內(nèi)核
4.1.3 編譯標(biāo)準函數(shù)庫
4.1.4 編譯bootloader
4.1.5 開發(fā)編譯應(yīng)用程序
4.1.6 在Linux上開啟tftp、nfs、ssh、telnet等服務(wù)
4.1.7 使用超級終端遠程登錄
4.1.8 構(gòu)建嵌入式Linux根文件系統(tǒng)
4.1.9 制作根文件系統(tǒng)鏡像
4.2 常見問題探討
4.2.1 了解Windows編程
4.2.2 不會寫驅(qū)動和u-boot怎么辦
4.2.3 不會寫makefile怎么辦
4.2.4 SecureCRT特別配置
4.2.5 Linux內(nèi)核配置時M不能修改怎么辦
4.2.6 開發(fā)板上/proc中沒有scsi文件夾怎么辦
4.2.7 開發(fā)板上/proc/bus/usb中沒有設(shè)備信息怎么辦
4.2.8 開發(fā)板上/sys為空怎么辦
4.2.9 開發(fā)板啟動時找不到init進程的原因
4.2.10 怎樣進行只讀文件系統(tǒng)調(diào)試
4.2.11 采用NFS調(diào)試時出現(xiàn)RPC錯誤的原因
4.2.12 燒寫jffs2鏡像之后重啟很慢的原因
4.2.13 無法找到\libstdc++.so.6\怎么辦
4.2.14 不能執(zhí)行二進制文件怎么辦
4.2.15 errno是否線程安全
4.2.16 注意bootloader傳給內(nèi)核的啟動參數(shù)
4.2.17 怎樣在內(nèi)核drivers目錄下添加模塊
4.2.18 怎樣實時監(jiān)測USB等hotplug設(shè)備
第5章 如何移植開源代碼
5.1 交叉編譯開源代碼
5.1.1 下載開源代碼
5.1.2 在host上運行程序
5.1.3 交叉編譯
5.2 在開發(fā)板上運行
5.3 開源代碼向工程中移植
5.4 常見問題探討
5.4.1 版本的選擇
5.4.2 執(zhí)行configure腳本失敗時怎么辦
5.4.3 鏈接以兩個下劃線開頭的函數(shù)顯示未定義怎么辦
5.4.4 某些源文件不能編譯時的解決辦法
5.4.5 交叉編譯的文件在開發(fā)板上的放置位置
5.4.6 在程序中調(diào)用交叉編譯的程序
5.4.7 移植的程序運行時寫文件失敗的原因
5.4.8 源碼移植時的注意事項
第6章 簡單shell編程
6.1 什么是shell
6.2 &命令
6.3 shell輸入與輸出——echo和管道(|)
6.3.1 echo
6.3.2 管道(|)
6.4 正則表達式
6.5 shell變量——本地變量、環(huán)境變量、位置變量參數(shù)
6.5.1 本地變量
6.5.2 環(huán)境變量
6.5.3 位置變量參數(shù)
6.6 引號的使用——雙引號、單引號、 反引號、反斜線
6.6.1 雙引號
6.6.2 單引號
6.6.3 反引號
6.6.4 反斜線
6.7 條件測試
6.7.1 文件狀態(tài)測試
6.7.2 邏輯操作符
6.7.3 字符串測試
6.7.4 數(shù)值測試
6.8 shell的流控制結(jié)構(gòu)——流控制和循環(huán)
6.8.1 流控制
6.8.2 循環(huán)
6.9 使用shell函數(shù)
6.10 shell編程實踐
6.11 常見問題
第7章 socket編程
7.1 常用函數(shù)介紹
7.2 編程實例
7.2.1 使用select實現(xiàn)超時連接
7.2.2 非阻塞數(shù)據(jù)收發(fā)操作
7.2.3 簡單服務(wù)器
7.2.4 加入組播
7.2.5 組播服務(wù)器
7.3 常見問題探討
7.3.1 怎樣實現(xiàn)內(nèi)核級PPP撥號程序
7.3.2 PPPOE撥號一直不成功怎么辦
7.3.3 PPPOE撥號成功獲取IP地址但不能上網(wǎng)怎么辦
7.3.4 給ppp0設(shè)置了默認網(wǎng)關(guān)仍不能上網(wǎng)怎么辦
7.3.5 通過system函數(shù)啟動PPPOE撥號死機怎么辦
7.3.6 非法關(guān)機導(dǎo)致pppoe下次連接失敗怎么辦
7.3.7 PPPOE撥號上網(wǎng)是否要加包過濾
7.3.8 IP地址設(shè)置成功后仍ping不通同網(wǎng)段內(nèi)其他主機怎么辦
7.3.9 錯誤SIOCADDRT: Network is unreachable的原因分析
7.3.10 修改socket接收緩沖區(qū)大小的方法
7.3.11 修改內(nèi)核中IGMP支持版本的方法
7.3.12 錯誤Too many open files in system的原因分析
7.3.13 接收HTTP或RTSP應(yīng)答數(shù)據(jù)時的注意事項
7.3.14 注意select設(shè)置超時的方式
7.3.15 域名解析花費時間長的解決辦法
7.3.16 非阻塞socket無限等待的解決辦法
7.3.17 用setsockopt+SO_SNDTIMEO實現(xiàn)連接超時
7.3.18 調(diào)用setsockopt時出現(xiàn)錯誤No such device的解決辦法
7.3.19 斷電重啟以后連接服務(wù)器失敗的解決辦法
第8章 多線程編程
8.1 線程管理函數(shù)
8.2 線程屬性操作函數(shù)
8.3 實例講解
8.3.1 創(chuàng)建線程并查看其屬性
8.3.2 pthread_exit的錯誤用法
8.3.3 自封裝函數(shù)create_thread
8.4 多線程同步
8.4.1 互斥鎖(mutex)常用函數(shù)介紹
8.4.2互斥鎖的兩種初始化方式及應(yīng)用
8.4.3 信號量(semaphore)常用函數(shù)介紹
8.4.4 二值信號量應(yīng)用——互斥鎖
8.4.5 多值信號量應(yīng)用——停車場問題
8.5 多線程通信
8.5.1 通過全局變量通信
8.5.2 系統(tǒng)V消息隊列
8.5.3 POSIX消息隊列
8.5.4 自封裝消息隊列
8.6 常見問題探討
8.6.1 使用多線程的好處
8.6.2 程序運行到pthread相關(guān)函數(shù)時阻塞怎么辦
8.6.3 線程被取消后用ps還能看到其PID怎么辦
8.6.4 在嵌入式Linux上是否使用實時優(yōu)先級
8.6.5 嵌入式Linux線程分離屬性的設(shè)置
8.6.6 用kill系統(tǒng)調(diào)用終止線程的隱患
8.6.7 用pthread_kill終止線程
第9章 常見死機問題探討
9.1 常見死機及原因分析
9.1.1 打印函數(shù)輸出格式或者參數(shù)順序不對
9.1.2 除數(shù)為0
9.1.3 應(yīng)用程序鏈接不匹配的庫文件或驅(qū)動
9.1.4 操作未初始化的指針
9.1.5 操作空指針
9.1.6 系統(tǒng)內(nèi)存耗盡
9.1.7 重復(fù)釋放同一塊內(nèi)存
9.1.8 free釋放棧內(nèi)存
9.1.9 malloc/new返回的地址被修改
9.1.10 內(nèi)存越界
9.1.11 分配過大的棧內(nèi)存
9.1.12 分配過大的靜態(tài)內(nèi)存
9.1.13 遞歸調(diào)用導(dǎo)致棧內(nèi)存不夠
9.1.14 操作“野指針”
9.1.15 未調(diào)用模塊的初始化函數(shù)
9.1.16 混用名稱和功能相近的函數(shù)
9.1.17 平臺問題
9.1.18 平臺編譯規(guī)則引起的死機
9.1.19 程序編譯不完全
9.2 死機調(diào)試
9.2.1 gdb遠程調(diào)試
9.2.2 抓取死機core文件
9.3 死循環(huán)
9.3.1 無符號數(shù)和0比較作為循環(huán)條件
9.3.2 循環(huán)退出條件不當(dāng)
9.3.3 鏈表操作不當(dāng)
9.4 關(guān)鍵任務(wù)死鎖或阻塞
9.4.1 關(guān)鍵任務(wù)調(diào)用阻塞函數(shù)
9.4.2 嵌套調(diào)用mutex或semaphore
9.4.3 操作消息隊列時無限等待
附錄
后記

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號