注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)專業(yè)嵌入式軟件開發(fā):全面走向高質(zhì)高效編程

專業(yè)嵌入式軟件開發(fā):全面走向高質(zhì)高效編程

專業(yè)嵌入式軟件開發(fā):全面走向高質(zhì)高效編程

定 價(jià):¥108.00

作 者: 李云 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 生產(chǎn)與運(yùn)作管理

ISBN: 9787121147838 出版時(shí)間: 2012-01-01 包裝: 平裝
開本: 16開 頁數(shù): 620 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書分為6篇。硬件篇就嵌入式軟件開發(fā)所需掌握的處理器概念進(jìn)行了介紹。工具篇對(duì)make、gcc編譯器、bintuils工具集、ld鏈接器和gdb調(diào)試器進(jìn)行了講解,其中對(duì)make這一嵌入式開發(fā)環(huán)境的全能管家進(jìn)行了精辟的介紹,致力于幫助讀者成為Makefile方面的專家。編程語言篇致力于讓讀者更深入地理解C編程語言。操作系統(tǒng)篇通過循序漸進(jìn)的方式介紹ClearRTOS的設(shè)計(jì)與實(shí)現(xiàn),使得讀者能透徹地理解操作系統(tǒng)的關(guān)鍵概念和實(shí)現(xiàn)原理。設(shè)計(jì)篇和質(zhì)量保證篇通過實(shí)踐的方式逐步展開講解,以幫助讀者獲得一些實(shí)用的設(shè)計(jì)原則、最佳實(shí)踐和一套有效的質(zhì)量保證方法論。本書適合嵌入式軟件開發(fā)領(lǐng)域的新手和在工作中碰到瓶頸的老手閱讀。閱讀本書要求讀者已掌握C編程語言和基本的UML知識(shí)。

作者簡(jiǎn)介

  李云,現(xiàn)任諾基亞西門子網(wǎng)絡(luò)技術(shù)有限公司軟件架構(gòu)師。2年電氣和電子開發(fā)工作經(jīng)驗(yàn),自1999年至今從事軟件開發(fā)工作曾在浙江大立科技有限公司、UT斯達(dá)康杭州研發(fā)中心、摩托羅拉杭州研發(fā)中心擔(dān)任軟件工程師、項(xiàng)目負(fù)責(zé)人和軟件架構(gòu)師等職早在2000年開始從事嵌入式軟件開發(fā)工作,內(nèi)容主要包括:操作系統(tǒng)內(nèi)核、文件系統(tǒng)和IP協(xié)議棧的移植,IDE硬盤、以太網(wǎng)芯片和PCI總線等外設(shè)的驅(qū)動(dòng)開發(fā)熟悉x86、PowerPC、XScale處理器,以及TIDSP源碼級(jí)熟悉uC/OS、RTEMS和VxWorks實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn),并在這些操作系統(tǒng)和Linux操作系統(tǒng)上有著豐富的軟件開發(fā)經(jīng)驗(yàn)。

圖書目錄

硬件篇
 第1章 處理器的基本概念 
  1.1 區(qū)分微處理器與微控制器 
  1.2 寄存器 
  1.3 處理器是如何啟動(dòng)的 
  1.4 輸入與輸出 
  1.5 指令與數(shù)據(jù) 
  1.6 中斷 
  1.7 字節(jié)序 
  1.8 邊界對(duì)齊 
  1.9 程序斷點(diǎn)和數(shù)據(jù)斷點(diǎn) 
  1.10 內(nèi)存管理單元 
  1.11 緩存 
  1.12 小結(jié) 
 第2章 開發(fā)活動(dòng)中的硬件問題 
  2.1 兩個(gè)案例 
  2.2 案例的背后——信號(hào)完整性 
  2.3 應(yīng)對(duì)方法 
  2.4 小結(jié) 
工具篇
 第3章 make,開發(fā)環(huán)境全能管家 
  3.1 從最簡(jiǎn)單的Makefile中了解規(guī)則 
  3.2 創(chuàng)建基本的編譯環(huán)境 
  3.2.1 將規(guī)則運(yùn)用于程序編譯 
  3.2.2 讓Makefile更專業(yè) 
  3.3 提高編譯環(huán)境的實(shí)用性 
  3.3.1 讓編譯環(huán)境更加有序 
  3.3.2 提升依賴關(guān)系管理 
  3.4 打造更專業(yè)的編譯環(huán)境 
  3.4.1 規(guī)劃項(xiàng)目目錄結(jié)構(gòu) 
  3.4.2 增進(jìn)復(fù)用性 
  3.4.3 支持頭文件目錄的指定 
  3.4.4 實(shí)現(xiàn)庫鏈接 
  3.4.5 增強(qiáng)可使用性 
  3.4.6 管理對(duì)庫的依賴關(guān)系 
  3.4.7 改善編譯效率 
  3.4.8 恰當(dāng)?shù)貢鴮懽⑨尅?br />  3.5 理解make的解析行為 
  3.6 Makefile的調(diào)試 
  3.7 make的常用選項(xiàng) 
  3.8 活用make 
  3.9 小結(jié) 
 第4章 gcc,C語言編譯器 
  4.1 什么是交叉編譯器 
  4.2 gcc幕后工作揭示 
  4.3 實(shí)用的gcc選項(xiàng) 
  4.3.1 解決宏錯(cuò)誤的好幫手 
  4.3.2 輔助編寫匯編程序的好方法 
  4.3.3 獲取系統(tǒng)頭文件路徑 
  4.3.4 產(chǎn)生映射文件 
  4.3.5 通過選項(xiàng)定義宏 
  4.3.6 生成依賴關(guān)系 
  4.3.7 指定鏈接庫 
 第5章 binutils工具集,軟件開發(fā)利器 
  5.1 addr2line,指令地址翻譯器 
  5.2 ar,靜態(tài)庫生成器 
  5.3 nm,符號(hào)顯示器 
  5.4 objdump,信息查看器 
  5.5 objcopy,段剪輯器 
  5.6 ranlib,庫索引生成器 
  5.7 size,段大小觀察器 
  5.8 strings,字符串窺視器 
  5.9 strip,程序文件瘦身器 
 第6章 ld,鏈接器 
  6.1 重定位的概念 
  6.2 鏈接腳本 
  6.2.1 段 
  6.2.2 符號(hào) 
  6.2.3 存儲(chǔ)區(qū)域 
  6.2.4 常用命令 
  6.3 常用選項(xiàng) 
  6.3.1 指定程序的入口點(diǎn) 
  6.3.2 生成可重定位的中間文件 
  6.3.3 指定鏈接腳本 
  練習(xí)與思考 
 第7章 gdb,程序調(diào)試助手 
  7.1 啟動(dòng)和退出gdb 
  7.2 獲取幫助 
  7.3 調(diào)試程序 
  7.3.1 斷點(diǎn)設(shè)置 
  7.3.2 控制程序運(yùn)行 
  7.3.3 檢查程序 
  7.3.4 提高調(diào)試效率 
  7.4 查看符號(hào)表 
  7.5 控制gdb的行為 
編程語言篇
 第8章 掌握必要的匯編知識(shí) 
  8.1 as的語法 
  8.1.1 宏 
  8.1.2 匯編命令 
  8.1.3 符號(hào)和標(biāo)簽 
  8.1.4 匯編指令 
  8.2 嵌入?yún)R編的語法 
 第9章 深入理解程序的結(jié)構(gòu) 
  9.1 段 
  9.1.1 指令段 
  9.1.2 數(shù)據(jù)段 
  9.2 ?!?br />  9.3 堆 
  9.4 小結(jié) 
 第10章 ABI/EABI規(guī)范,締造程序兼容合約 
  10.1 定義基本數(shù)據(jù)類型 
  10.2 規(guī)范字節(jié)對(duì)齊處理 
  10.3 分配寄存器的功能 
  10.4 規(guī)定棧幀結(jié)構(gòu) 
  10.4.1 棧幀的含義和作用 
  10.4.2 函數(shù)參數(shù)的傳遞方法 
  10.4.3 函數(shù)返回值的返回方法 
  10.5 小結(jié) 
  練習(xí)與思考 
 第11章 混淆指針與數(shù)組所導(dǎo)致的問題 
  11.1 問題示例 
  11.2 問題分析 
  11.2.1 數(shù)組的內(nèi)存模型 
  11.2.2 指針的內(nèi)存模型 
  11.3 問題成因 
  11.4 預(yù)防措施 
  11.5 小結(jié) 
 第12章 volatile,讓我保持原樣 
設(shè)計(jì)篇
 第13章 設(shè)計(jì),軟件質(zhì)量之本 
  13.1 軟件設(shè)計(jì)是什么 
  13.2 軟件質(zhì)量的概念 
  13.3 阻礙改善設(shè)計(jì)的常見觀念 
  13.3.1 測(cè)試是替罪羊或救命稻草 
  13.3.2 資源永遠(yuǎn)不足 
  13.3.3 不改變就可以規(guī)避風(fēng)險(xiǎn) 
  13.4 如何提高設(shè)計(jì)能力 
  13.5 設(shè)計(jì)模式、設(shè)計(jì)原則和設(shè)計(jì)思想 
  13.6 放之四海皆適用的設(shè)計(jì)原則 
  13.6.1 以人為本 
  13.6.2 追求簡(jiǎn)單性 
  13.6.3 讓模塊善始善終 
  13.6.4 重視收集統(tǒng)計(jì)信息 
  13.6.5 借助命名傳達(dá)設(shè)計(jì)意圖 
  13.6.6 消除“審美告警” 
  13.6.7 通過機(jī)制解決問題 
  13.6.8 防止他人犯錯(cuò) 
  13.6.9 考慮可查錯(cuò)性 
  13.7 小結(jié) 
 第14章 模塊管理,保障系統(tǒng)有序運(yùn)行 
  14.1 管理參照系 
  14.2 設(shè)計(jì)思路 
  14.3 程序?qū)崿F(xiàn) 
  14.3.1 引入模塊標(biāo)識(shí) 
  14.3.2 實(shí)現(xiàn)層與級(jí)的表達(dá) 
  14.3.3 系統(tǒng)狀態(tài)和回調(diào)函數(shù)原型定義 
  14.3.4 模塊注冊(cè) 
  14.3.5 系統(tǒng)啟動(dòng) 
  14.3.6 系統(tǒng)關(guān)閉 
  14.4 module示例程序 
  14.5 模塊管理的一些思考 
  14.6 小結(jié) 
  練習(xí)與思考 
 第15章 錯(cuò)誤管理,不可或缺的用戶需求 
  15.1 表達(dá)錯(cuò)誤的通用方法 
  15.1.1 錯(cuò)誤碼格式 
  15.1.2 定義方法 
  15.1.3 使用示例 
  15.1.4 提高可使用性 
  15.1.5 定義和使用錯(cuò)誤碼的準(zhǔn)則 
  15.2 優(yōu)化錯(cuò)誤日志的輸出 
  15.2.1 傳統(tǒng)方法 
  15.2.2 更有效的方法 
  15.3 平臺(tái)和框架層的錯(cuò)誤處理 
  15.4 小結(jié) 
 第16章 目錄結(jié)構(gòu)管理,使項(xiàng)目進(jìn)展更順利 
  16.1 規(guī)劃目錄結(jié)構(gòu)的意義 
  16.1.1 書架功能 
  16.1.2 意識(shí)引導(dǎo) 
  16.1.3 加速新手上手 
  16.2 出色目錄結(jié)構(gòu)的特點(diǎn) 
  16.3 一個(gè)示例 
  16.4 小結(jié) 
 第17章 平臺(tái)與框架開發(fā),高質(zhì)量軟件打造之路 
  17.1 區(qū)分系統(tǒng)庫、平臺(tái)和框架 
  17.1.1 系統(tǒng)庫 
  17.1.2 平臺(tái) 
  17.1.3 框架 
  17.2 本質(zhì)和優(yōu)點(diǎn) 
  17.3 確立架構(gòu)模型 
  17.4 小結(jié) 
 第18章 可開發(fā)性設(shè)計(jì),一種高效且經(jīng)濟(jì)的開發(fā)模式 
  18.1 可開發(fā)性問題一瞥 
  18.2 可開發(fā)性設(shè)計(jì)的內(nèi)涵 
  18.3 引入設(shè)備抽象層 
  18.4 更復(fù)雜的設(shè)備抽象層 
  18.5 圖形界面的可開發(fā)性設(shè)計(jì) 
  18.5.1 增強(qiáng)設(shè)備抽象層 
  18.5.2 提供可視化編輯環(huán)境 
  18.6 其他可開發(fā)性設(shè)計(jì) 
  18.7 小結(jié) 
操作系統(tǒng)篇
 第19章 引導(dǎo)加載器,系統(tǒng)啟航者 
  19.1 功能 
  19.2 文件存儲(chǔ)布局 
  19.3 程序加載原理 
  19.4 優(yōu)點(diǎn) 
  19.5 小結(jié) 
  練習(xí)與思考 
 第20章 任務(wù),軟件基本調(diào)度單元 
  20.1 任務(wù)情景 
  20.1.1 情景內(nèi)容 
  20.1.2 情景保存 
  20.1.3 情景恢復(fù) 
  20.1.4 情景切換 
  20.2 任務(wù)調(diào)度 
  20.2.1 調(diào)度算法 
  20.2.2 調(diào)度器 
  20.3 任務(wù)的生命周期 
  20.4 任務(wù)控制 
  20.4.1 任務(wù)創(chuàng)建 
  20.4.2 任務(wù)啟動(dòng) 
  20.4.3 任務(wù)刪除 
  20.4.4 任務(wù)掛起 
  20.4.5 任務(wù)恢復(fù) 
  20.4.6 任務(wù)睡眠 
  20.5 競(jìng)爭(zhēng)問題與中斷控制 
  20.5.1 競(jìng)爭(zhēng)問題的產(chǎn)生 
  20.5.2 通過中斷控制解決競(jìng)爭(zhēng)問題 
  20.5.3 中斷控制的嵌套問題 
  20.6 任務(wù)與中斷狀態(tài) 
  20.7 任務(wù)棧溢出檢測(cè) 
  20.8 滴答與空閑任務(wù) 
  20.9 多任務(wù)環(huán)境控制 
  20.10 任務(wù)模塊管理 
  20.11 taskv1示例程序 
  20.12 任務(wù)鉤子函數(shù) 
  20.13 任務(wù)變量 
  20.13.1 taskv2示例程序 
  20.13.2 原理 
  20.13.3 實(shí)現(xiàn) 
  20.14 其他概念與思考 
  20.14.1 搶占式任務(wù)與實(shí)時(shí)系統(tǒng)的關(guān)系 
  20.14.2 影響任務(wù)切換效率的因素 
  20.14.3 避免直接刪除任務(wù) 
  20.14.4 小心多任務(wù)設(shè)計(jì)被濫用 
  20.15 小結(jié) 
  練習(xí)與思考 
 第21章 任務(wù)同步與通信,實(shí)現(xiàn)協(xié)同工作 
  21.1 信號(hào)量 
  21.1.1 應(yīng)用場(chǎng)合 
  21.1.2 程序?qū)崿F(xiàn) 
  21.1.3 semaphore示例程序 
  21.2 互斥鎖 
  21.2.1 應(yīng)用場(chǎng)合 
  21.2.2 程序?qū)崿F(xiàn) 
  21.2.3 mutex示例程序 
  21.2.4 優(yōu)先級(jí)反轉(zhuǎn)與繼承 
  21.2.5 遞歸鎖 
  21.3 事件 
  21.3.1 應(yīng)用場(chǎng)合 
  21.3.2 程序?qū)崿F(xiàn) 
  21.3.3 event示例程序 
  21.4 消息隊(duì)列 
  21.4.1 應(yīng)用場(chǎng)合 
  21.4.2 程序?qū)崿F(xiàn) 
  21.4.3 實(shí)現(xiàn)消息隊(duì)列 
  21.4.4 queue示例程序 
  21.4.5 使用指南 
  21.5 死鎖及預(yù)防 
  21.6 小結(jié) 
  練習(xí)與思考 
 第22章 內(nèi)存管理,協(xié)調(diào)動(dòng)態(tài)內(nèi)存的使用 
  22.1 堆管理 
  22.1.1 heapv1示例程序 
  22.1.2 程序?qū)崿F(xiàn) 
  22.1.3 設(shè)計(jì)改進(jìn) 
  22.1.4 支持內(nèi)存泄漏檢測(cè) 
  22.1.5 實(shí)現(xiàn)內(nèi)存溢出檢測(cè) 
  22.1.6 內(nèi)存碎片問題 
  22.2 內(nèi)存池管理 
  22.2.1 mpool示例程序 
  22.2.2 程序?qū)崿F(xiàn) 
  22.2.3 緩沖區(qū)泄漏檢測(cè) 
  22.3 小結(jié) 
  練習(xí)與思考 
 第23章 設(shè)備管理,方便與外設(shè)交互 
  23.1 字符設(shè)備管理 
  23.2 中斷管理 
  23.2.1 中斷向量表 
  23.2.2 中斷控制 
  23.2.3 中斷狀態(tài)管理 
  23.2.4 設(shè)備與中斷 
  23.2.5 模塊管理 
  23.3 實(shí)現(xiàn)設(shè)備管理 
  23.3.1 安裝驅(qū)動(dòng)程序 
  23.3.2 注冊(cè)設(shè)備 
  23.3.3 打開設(shè)備 
  23.3.4 關(guān)閉設(shè)備 
  23.3.5 設(shè)備讀寫與控制 
  23.4 設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn) 
  23.4.1 “滴答”設(shè)備 
  23.4.2 控制臺(tái)設(shè)備 
  23.4.3 終止程序運(yùn)行設(shè)備 
  23.5 驅(qū)動(dòng)安裝與設(shè)備注冊(cè) 
  23.6 小結(jié) 
  練習(xí)與思考 
 第24章 定時(shí)器,程序鬧鐘 
  24.1 軟件定時(shí)器分類 
  24.2 設(shè)計(jì)思路 
  24.3 中斷回調(diào)定時(shí)器 
  24.3.1 程序?qū)崿F(xiàn) 
  24.3.2 timerv1示例程序 
  24.4 定時(shí)誤差 
  24.5 提高遍歷效率 
  24.6 改善實(shí)時(shí)性 
  24.6.1 實(shí)時(shí)性分析 
  24.6.2 改進(jìn)實(shí)時(shí)性 
  24.7 任務(wù)回調(diào)定時(shí)器 
  24.7.1 程序?qū)崿F(xiàn) 
  24.7.2 timerv3示例程序 
  24.8 小結(jié) 
  練習(xí)與思考 
 第25章 ClearRTOS“實(shí)時(shí)”操作系統(tǒng) 
  25.1 設(shè)計(jì)原則 
  25.2 源程序目錄管理 
  25.3 讓Makefile體現(xiàn)概念 
  25.4 實(shí)現(xiàn)集中配置 
  25.5 改進(jìn)與移植 
質(zhì)量保證篇
 第26章 質(zhì)量保證導(dǎo)言 
  26.1 軟件開發(fā)的特點(diǎn) 
  26.1.1 腦力密集型工作 
  26.1.2 實(shí)現(xiàn)不具唯一性 
  26.1.3 隱性成本高 
  26.1.4 忽視的細(xì)節(jié)很容易被放大 
  26.1.5 質(zhì)量難以評(píng)估 
  26.2 保證質(zhì)量的關(guān)鍵要素 
  26.2.1 完備的需求分析 
  26.2.2 高質(zhì)量的設(shè)計(jì) 
  26.2.3 編程好習(xí)慣 
  26.2.4 充分的驗(yàn)證 
  26.2.5 必要的流程 
  26.2.6 合適的工具 
  26.2.7 言簡(jiǎn)意賅的文檔 
  26.3 質(zhì)量保證需要系統(tǒng)性的方法論 
  26.3.1 方法論=流程+工具 
  26.3.2 構(gòu)建有效方法論的核心手段 
  26.4 走出質(zhì)量困境的指導(dǎo)性思想 
  26.4.1 從管理者的角度 
  26.4.2 從工程師的角度 
  26.4.3 從組織的角度 
  26.5 小結(jié) 
 第27章 編程好習(xí)慣,質(zhì)量保證的基本條件 
  27.1 終生受用的編程好習(xí)慣 
  27.1.1 判斷失敗而非成功 
  27.1.2 采用sizeof減少內(nèi)存操作失誤 
  27.1.3 屏蔽編程語言特性 
  27.1.4 恰當(dāng)使用gto語句 
  27.1.5 合理運(yùn)用數(shù)組 
  27.1.6 以逆序方式釋放資源 
  27.1.7 在模塊對(duì)外接口中防范錯(cuò)誤 
  27.1.8 避免出現(xiàn)魔數(shù) 
  27.1.9 利用編程語言特性提高效率 
  27.1.10 復(fù)用代碼提高維護(hù)性 
  27.1.11 借助隱式初始化簡(jiǎn)化程序邏輯 
  27.1.12 青睞小粒度鎖 
  27.1.13 精確包含頭文件 
  27.1.14 讓模塊的對(duì)外頭文件保持簡(jiǎn)潔 
  27.1.15 只暴露必要的變量和函數(shù) 
  27.1.16 清除編譯器報(bào)告的所有警告 
  27.2 小結(jié) 
 第28章 單元測(cè)試,被忽視的質(zhì)量保證方法 
  28.1 警惕單元測(cè)試無用論 
  28.2 一個(gè)簡(jiǎn)單但不完善的單元測(cè)試?yán)印?br />  28.3 構(gòu)建單元測(cè)試框架 
  28.4 無縫整合單元測(cè)試 
  28.4.1 維護(hù)規(guī)則 
  28.4.2 目錄規(guī)劃 
  28.4.3 更改Makefile 
  28.4.4 檢查整合效果 
  28.5 幾個(gè)實(shí)施問題 
  28.6 樁函數(shù)和打樁 
  28.7 錯(cuò)誤注入,一種可測(cè)試性設(shè)計(jì) 
  28.8 平臺(tái)開發(fā)與單元測(cè)試 
  28.9 被測(cè)行為的確定性 
  28.10 測(cè)試用例的有效性 
  28.11 小結(jié) 
 第29章 代碼覆蓋,單元測(cè)試效果的衡量指標(biāo) 
  29.1 了解代碼覆蓋工具 
  29.2 無縫整合代碼覆蓋 
  29.2.1 更改Makefile 
  29.2.2 檢查整合效果 
  29.3 三個(gè)代碼覆蓋程度指標(biāo) 
  29.4 小結(jié) 
 第30章 靜態(tài)分析,防止將失誤帶給用戶 
  30.1 認(rèn)識(shí)靜態(tài)分析工具 
  30.2 無縫整合靜態(tài)分析 
  30.2.1 更改Makefile 
  30.2.2 檢查整合效果 
  30.3 小結(jié) 
 第31章 動(dòng)態(tài)分析,使程序更健壯 
  31.1 結(jié)識(shí)動(dòng)態(tài)分析工具 
  31.2 無縫整合動(dòng)態(tài)分析 
  31.2.1 更改Makefile 
  31.2.2 檢查整合效果 
  31.3 小結(jié) 
 第32章 性能分析,讓優(yōu)化程序有的放矢 
  32.1 初探性能分析工具 
  32.2 無縫整合性能分析 
  32.2.1 更改Makefile 
  32.2.2 檢查整合效果 
  32.3 小結(jié) 
 第33章 qBench,一個(gè)開發(fā)高質(zhì)軟件的工作臺(tái) 
參考資料

本目錄推薦

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