注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)嵌入式軟件

嵌入式軟件

嵌入式軟件

定 價:¥59.00

作 者: (美)拉伯羅斯 等著,陳慧 等譯
出版社: 電子工業(yè)出版社
叢編項: 嵌入式技術(shù)與應(yīng)用叢書
標 簽: 軟件工程/開發(fā)項目管理

ISBN: 9787121084447 出版時間: 2009-04-01 包裝: 平裝
開本: 16開 頁數(shù): 451 字數(shù):  

內(nèi)容簡介

  《嵌入式軟件》涵蓋了當(dāng)前嵌入式軟件領(lǐng)域的基本理論、研究動態(tài)、開發(fā)技巧和工具。為加深讀者對內(nèi)容的理解,書中還配備了大量的實例證明、分析及指導(dǎo)。通過對《嵌入式軟件》的學(xué)習(xí),讀者不僅可以學(xué)會如何選擇適當(dāng)?shù)募夹g(shù)和方法開發(fā)嵌入式軟件,而且可以掌握如何從總體的角度,來全面規(guī)劃和設(shè)計嵌入式軟件系統(tǒng)。《嵌入式軟件》體系完整、內(nèi)容翔實,注重實用經(jīng)驗和技巧的分析、討論,各章各有側(cè)重又相輔相成,主要面向具有嵌入式系統(tǒng)基礎(chǔ)知識的、從事嵌入式軟件設(shè)計與開發(fā)的專業(yè)技術(shù)人員,對其他嵌入式技術(shù)領(lǐng)域的從業(yè)人員也頗具參考價值,也可供高等院校相關(guān)專業(yè)的師生學(xué)習(xí)。

作者簡介

暫缺《嵌入式軟件》作者簡介

圖書目錄

第1章 嵌入式編程的基本概念
1.1 數(shù)字系統(tǒng)
1.2 符號二進制數(shù)
1.2.1 定點二進制數(shù)
1.2.2 浮點二進制數(shù)
1.2.3 交互數(shù)字系統(tǒng)
1.2.4 二-十進制編碼
1.2.5 ASCII
1.2.6 錯誤檢測
1.3 數(shù)據(jù)結(jié)構(gòu)
1.3.1 簡單數(shù)據(jù)類型
1.3.2 復(fù)雜數(shù)據(jù)類型
1.4 通信協(xié)議
1.4.1 簡單數(shù)據(jù)廣播
1.4.2 事件驅(qū)動簡單傳輸
1.4.3 事件驅(qū)動多元傳輸
1.5 數(shù)學(xué)
1.5.1 二進制加法和減法
1.5.2 二進制乘法
1.5.3 二進制除法
1.6 數(shù)值比較
1.6.1 條件語句
1.6.2 循環(huán)
1.6.3 其他流控制語句
1.7 狀態(tài)機
1.7.1 數(shù)據(jù)索引狀態(tài)機
1.7.2 執(zhí)行索引狀態(tài)機
1.7.3 混合狀態(tài)機
1.8 多任務(wù)
第2章 設(shè)備驅(qū)動
2.1 本章梗概
2.2 實例1:中斷處理的設(shè)備驅(qū)動程序
2.2.1 中斷優(yōu)先級
2.2.2 上下文切換
2.2.3 中斷設(shè)備驅(qū)動程序的偽代碼實例
2.2.4 中斷處理和性能
2.3 實例2:存儲器設(shè)備驅(qū)動程序
2.4 實例3:板級總線設(shè)備驅(qū)動程序
2.5 板級I/O驅(qū)動程序?qū)嵗?br />2.5.1 實例4:初始化一個以太網(wǎng)驅(qū)動程序
2.5.2 實例5:初始化一個RS?驅(qū)動程序
2.6 本章小結(jié)
第3章 嵌入式操作系統(tǒng)
3.1 本章梗概
3.2 什么是進程
3.3 多任務(wù)和進程管理
3.3.1 進程執(zhí)行
3.3.2 進程調(diào)度
3.3.3 任務(wù)間通信和同步
3.4 內(nèi)存管理
3.4.1 用戶內(nèi)存空間
3.4.2 內(nèi)核內(nèi)存空間
3.5 I/O和文件系統(tǒng)管理
3.6 操作系統(tǒng)標準實例:POSIX(可移植操作系統(tǒng)接口)
3.7 操作系統(tǒng)性能指南
3.8 操作系統(tǒng)和板級支持包(BSP)
3.9 本章小結(jié)
第4章 組網(wǎng)
4.1 RCM3200 Rabbit Core的介紹
4.2 Dynamic C開發(fā)環(huán)境介紹
4.2.1 開發(fā)
4.2.2 調(diào)試
4.3 Dynamic C庫簡介
4.4 Dynamic C的內(nèi)存空間
4.4.1 Rabbit的內(nèi)存分段
4.4.2 Dynamic C中無獨立的指令和數(shù)據(jù)空間時的內(nèi)存使用
4.4.3 把函數(shù)放入XMEM
4.4.4 獨立的指令和數(shù)據(jù)內(nèi)存
4.4.5 綜合所有內(nèi)容
4.5 代碼是如何編譯和運行的
4.5.1 在傳統(tǒng)開發(fā)環(huán)境下代碼是如何被構(gòu)建的
4.5.2 代碼是如何在Dynamic C下構(gòu)建的
4.6 將一臺電腦設(shè)置為RCM開發(fā)系統(tǒng)
4.7 開始編寫代碼
4.7.1 項目:第一個Rabbit程序
4.7.2 Dynamic C的調(diào)試特性
4.7.3 Dynamic C幫助
4.7.4 單步調(diào)試
4.7.5 增加斷點
4.7.6 監(jiān)視表達式
4.7.7 Dynamic C不是ANSI C
4.7.8 Dynamic C存儲空間
4.8 嵌入式網(wǎng)絡(luò)
4.9 Dynamic C對于網(wǎng)絡(luò)協(xié)議的支持
4.9.1 通用網(wǎng)絡(luò)協(xié)議
4.9.2 Dynamic C庫的可選模塊
4.10 典型的網(wǎng)絡(luò)設(shè)置
4.10.1 典型的企業(yè)網(wǎng)絡(luò)
4.10.2 典型的家庭網(wǎng)絡(luò)
4.11 建立核心模塊的網(wǎng)絡(luò)設(shè)置
4.11.1 設(shè)置IP地址
4.11.2 鏈路層的選擇
4.11.3 在編譯時定義TCP/IP
4.11.4 程序運行時的TCP/IP定義
4.11.5 調(diào)試網(wǎng)絡(luò)宏命令
4.12 項目1:建立用于網(wǎng)絡(luò)的Rabbit核心模塊
4.12.1 靜態(tài)地址的配置
4.12.2 配置動態(tài)地址
4.12.3 動態(tài)地址分配的特殊情況
4.13 客戶端/服務(wù)器范例
4.14 Berkeley Sockets接口
4.15 嵌入式應(yīng)用程序中TCP和UDP的比較
4.16 Socket編程中重要的Dynamic C庫函數(shù)
4.16.1 用于通信初始化或通信終止的函數(shù)
4.16.2 用于確定Socket狀態(tài)的函數(shù)
4.16.3 用于發(fā)送和接收數(shù)據(jù)的函數(shù)
4.16.4 阻塞函數(shù)和非阻塞函數(shù)
4.17 項目2:實現(xiàn)Rabbit TCP/IP服務(wù)器
4.17.1 服務(wù)器的TCP/IP狀態(tài)機
4.17.2 和通用TCP工具一起工作
4.17.3 和Java TCP/IP客戶端一起工作
4.17.4 和C++ TCP/IP客戶端一起工作
4.18 項目3:實現(xiàn)一個Rabbit TCP/IP客戶端
4.18.1 關(guān)閉Windows XP防火墻
4.18.2 檢查客戶端代碼
4.18.3 與Java TCP/IP服務(wù)器一起工作
4.18.4 與使用C#實現(xiàn)的TCP/IP服務(wù)器一起工作
4.19 項目4:實現(xiàn)一個Rabbit UDP服務(wù)器
4.19.1 與Java UDP客戶端一起工作
4.19.2 與C++ UDP客戶端一起工作
4.20 一些有用(并免費)的網(wǎng)絡(luò)工具
4.20.1 Ping
4.20.2 Traceroute
4.20.3 Ethereal
4.20.4 Netcat
4.20.5 在線工具
4.21 最后的思考
第5章 錯誤處理和調(diào)試
5.1 嵌入式系統(tǒng)開發(fā)和故障排除之道
5.1.1 開發(fā)者
5.1.2 回歸測試——早測試、常測試
5.1.3 案例分析——一次性集成和無回歸測試套件
5.1.4 發(fā)現(xiàn)者
5.1.5 修復(fù)者
5.2 避免集中調(diào)試——靈巧地編碼
5.2.1 準則#1:使用小函數(shù)
5.2.2 準則#2:使用指針格外小心
5.2.3 準則#3:良好的注釋代碼
5.2.4 準則#4:避免“幻數(shù)”
5.3 主動調(diào)試
5.4 棧和堆
5.5 植入內(nèi)存
5.6 逃逸代碼
5.7 專用解碼器
5.8 MMU
5.9 小結(jié)
5.10 用閃存實現(xiàn)可下載固件
5.11 微程序器
5.12 微程序器的優(yōu)點
5.13 微程序器的不足
5.14 接收一個微程序器
5.15 基本的微程序器
5.16 常見問題及其解決方案
5.16.1 調(diào)試者不喜歡可寫的代碼空間
5.16.2 調(diào)試者不喜歡自我重定位的代碼
5.16.3 無法生成位置獨立的代碼
5.16.4 啟動時無固件
5.16.5 無限的看門狗超時
5.16.6 意外斷電
5.17 硬件上的選擇
5.17.1 隔離代碼和數(shù)據(jù)
5.17.2 靈活安全
5.18 內(nèi)存診斷
5.19 ROM測試
5.20 RAM測試
5.21 非易失性存儲器
5.22 監(jiān)督電路
5.23 多字節(jié)寫
5.24 測試
5.25 小結(jié)
5.26 構(gòu)建一個強大的看門狗
5.27 內(nèi)部WDT
5.28 外部WDT
5.29 強大WDT的特征
5.30 使用內(nèi)部WDT
5.31 使用外部WDT
5.32 用于多任務(wù)的WDT
5.33 總結(jié)和其他思路
第6章 軟/硬件協(xié)同驗證
6.1 嵌入式系統(tǒng)設(shè)計過程
6.1.1 需求
6.1.2 系統(tǒng)架構(gòu)
6.1.3 選擇微處理器
6.1.4 硬件設(shè)計
6.1.5 軟件設(shè)計
6.1.6 軟/硬件的整合
6.2 驗證和確認
6.2.1 驗證
6.2.2 確認
6.3 人際交互
6.4 協(xié)同驗證
6.4.1 軟/硬件協(xié)同驗證的歷史
6.4.2 協(xié)同驗證的定義
6.4.3 協(xié)同驗證方法
6.4.4 協(xié)同驗證法樣例
6.4.5 協(xié)同驗證指標(協(xié)同驗證參數(shù))
第7章 嵌入式媒體處理技術(shù)
7.1 媒體處理系統(tǒng)簡介
7.1.1 核心處理過程
7.1.2 輸入/輸出子系統(tǒng)——外設(shè)接口
7.1.3 存儲子系統(tǒng)
7.2 系統(tǒng)資源的劃分和代碼優(yōu)化
7.3 事件產(chǎn)生和處理
7.4 編程方法
7.5 高效編程的結(jié)構(gòu)特點
7.5.1 單周期多重操作
7.5.2 硬件循環(huán)結(jié)構(gòu)
7.5.3 專用尋址模式
7.5.4 聯(lián)鎖指令流水線
7.6 為達到有效編程,編譯器的考慮因素
7.7 系統(tǒng)和內(nèi)核同步
7.7.1 存取同步
7.7.2 排序
7.7.3 原子操作
7.8 存儲結(jié)構(gòu)——管理所需
7.8.1 存儲器訪問權(quán)衡
7.8.2 指令存儲管理——高速緩存或DMA
7.8.3 數(shù)據(jù)存儲管理
7.8.4 選擇DMA和cache的系統(tǒng)方針
7.8.5 內(nèi)存管理單元(MMU)
7.9 物理數(shù)據(jù)傳輸
7.9.1 分組轉(zhuǎn)換到最小化內(nèi)存總線翻轉(zhuǎn)
7.9.2 了解內(nèi)核和DMA SDRM的存取
7.9.3 保持SDRAM行開放,實現(xiàn)數(shù)據(jù)的多通路
7.9.4 優(yōu)化系統(tǒng)時鐘設(shè)置,確保刷新率,調(diào)整SDRAM運行時的速率
7.9.5 利用系統(tǒng)資源之間的優(yōu)先權(quán)和仲裁策略
7.10 媒體處理框架
7.11 定義框架
7.12 非對稱和對稱的雙核處理器
7.13 編程模型
7.13.1 非對稱編程模型
7.13.2 均勻的編程模型
7.14 構(gòu)建框架的策略
7.14.1 實時處理數(shù)據(jù)
7.14.2 編程輕便型勝過性能
7.14.3 基于性能的框架
7.14.4 框架提示
7.15 關(guān)于媒體框架的其他問題
7.15.1 音頻、視頻同步
7.15.2 管理系統(tǒng)流
7.15.3 框架和算法的復(fù)雜性
第8章 嵌入式系統(tǒng)中的DSP
8.1 嵌入式系統(tǒng)及實時系統(tǒng)概述
8.2 實時系統(tǒng)
8.3 硬件實時系統(tǒng)和軟件實時系統(tǒng)
8.3.1 簡介
8.3.2 實時系統(tǒng)和分時系統(tǒng)的區(qū)別
8.3.3 DSP系統(tǒng)是硬實時系統(tǒng)
8.3.4 實時事件的特點——實時事件的分類
8.4 有效執(zhí)行和執(zhí)行環(huán)境
8.4.1 效率概述
8.4.2 資源管理
8.5 實時系統(tǒng)設(shè)計挑戰(zhàn)
8.5.1 響應(yīng)時間
8.5.2 從故障中恢復(fù)
8.5.3 分布式和多處理器的體系結(jié)構(gòu)
8.5.4 嵌入式系統(tǒng)
8.6 總結(jié)
8.7 運用DSP的嵌入式系統(tǒng)研發(fā)周期概述
8.8 使用DSP的嵌入式系統(tǒng)研發(fā)周期
8.8.1 步驟1:研究系統(tǒng)所有的功能需要
8.8.2 步驟2:選擇系統(tǒng)需要的硬件組件
8.8.3 硬件門
8.8.4 軟件可編程化
8.8.5 通用處理器
8.8.6 微控制器
8.8.7 FPGA解決方案
8.8.8 數(shù)字信號處理器
8.8.9 通用信號處理解決方案
8.8.10 DSP加速上的選擇
8.8.11 步驟3:了解DSP的基礎(chǔ)和體系結(jié)構(gòu)
8.8.12 DSP處理模式
8.8.13 輸入/輸出選擇
8.8.14 計算DSP性能
8.8.15 DSP軟件
8.8.16 DSP構(gòu)架
8.9 優(yōu)化數(shù)字信號處理(DSP)軟件
8.10 什么是優(yōu)化
8.11 處理過程
8.12 加快經(jīng)常性事件的速度
8.13 加快經(jīng)常性事件的速度——DSP體系架構(gòu)
8.14 加快經(jīng)常性事件的速度——DSP算法
8.15 加快經(jīng)常性事件的速度——DSP編譯器
8.16 DSP優(yōu)化的深入討論
8.17 直接存儲器訪問
8.18 使用DMA
8.18.1 將數(shù)據(jù)分段
8.18.2 掛起和輪詢
8.18.3 管理內(nèi)部存儲器
8.19 循環(huán)展開
8.19.1 填充執(zhí)行單元
8.19.2 減少循環(huán)開銷
8.19.3 讓循環(huán)適合寄存器的空間
8.19.4 折中
8.20 軟件流水線化
8.20.1 一個例子
8.20.2 使軟件流水線化
8.20.3 中斷和流水線代碼
8.21 更多的關(guān)于DSP的編譯器和優(yōu)化
技術(shù)
8.21.1 編譯器架構(gòu)和流
8.21.2 編譯器優(yōu)化
8.21.3 編譯進行時的選項
8.22 程序員協(xié)助編譯器
8.22.1 附注
8.22.2 內(nèi)聯(lián)函數(shù)
8.22.3 關(guān)鍵字
8.22.4 函數(shù)內(nèi)嵌
8.22.5 減少堆棧存取時間
8.22.6 程序員協(xié)助編譯器
8.22.7 編碼建議總結(jié)
8.23 基于剖面的編譯
8.23.1 優(yōu)點
8.23.2 調(diào)試優(yōu)化代碼的問題
8.23.3 代碼優(yōu)化過程總結(jié)
8.23.4 總結(jié)
第9章 實用嵌入式編碼技術(shù)
9.1 重入
9.2 原子變量
9.3 另兩個規(guī)則
9.4 保持代碼為重入
9.5 遞歸
9.6 異步硬件/固件
9.7 競爭條件
9.8 選項
9.9 其他RTOS
9.10 亞穩(wěn)態(tài)
9.11 固件,非硬件
9.12 中斷延遲
9.13 取數(shù)據(jù)
9.14 理解C編譯器:如何最小化代碼大小
9.15 現(xiàn)代的C編譯器
9.15.1 編譯器的結(jié)構(gòu)
9.15.2 程序的含義
9.15.3 基本轉(zhuǎn)換
9.15.4 寄存器分配
9.15.5 函數(shù)調(diào)用
9.15.6 函數(shù)內(nèi)聯(lián)
9.15.7 低級代碼壓縮
9.15.8 鏈接器
9.15.9 編譯器優(yōu)化控制
9.15.10 內(nèi)存模型
9.16 編程建議
9.16.1 使用正確的數(shù)據(jù)尺寸
9.16.2 使用最好的指針類型
9.16.3 結(jié)構(gòu)和填充
9.16.4 使用函數(shù)原型
9.16.5 使用參數(shù)
9.16.6 不要取地址
9.16.7 不要使用內(nèi)聯(lián)匯編語言
9.16.8 不要寫聰明的代碼
9.16.9 為跳轉(zhuǎn)表使用switch
9.16.10 在使用位域前先檢查
9.16.11 當(dāng)心庫函數(shù)
9.16.12 使用額外的提示
9.17 最后說明
9.18 致謝
第10章 開發(fā)技術(shù)及趨勢
10.1 如何為片上系統(tǒng)設(shè)計選擇CPU
10.1.1 設(shè)計復(fù)雜度
10.1.2 設(shè)計重用
10.1.3 內(nèi)存架構(gòu)和保護
10.1.4 CPU性能
10.1.5 功耗
10.1.6 成本
10.1.7 軟件因素
10.1.8 多核SoC
10.1.9 小結(jié)
10.2 嵌入式系統(tǒng)軟件開發(fā)的新興技術(shù)
10.2.1 微處理器設(shè)備技術(shù)
10.2.2 系統(tǒng)架構(gòu)
10.2.3 設(shè)計構(gòu)成
10.2.4 軟件內(nèi)容
10.2.5 編程語言
10.2.6 軟件團隊規(guī)模和分布
10.2.7 UML和建模
10.2.8 關(guān)鍵技術(shù)
10.2.9 小結(jié)
10.3 選擇開發(fā)工具
10.3.1 開發(fā)工具鏈
10.3.2 編譯特性
10.3.3 嵌入式系統(tǒng)的擴展
10.3.4 優(yōu)化
10.3.5 構(gòu)建工具:關(guān)鍵點重述
10.3.6 調(diào)試
10.3.7 調(diào)試工具:關(guān)鍵點重述
10.3.8 標準和開發(fā)工具的集成
10.3.9 選擇建議
10.3.10 小結(jié)
10.4 Eclipse——將嵌入式工具集中
10.4.1 Eclipse平臺的理念
10.4.2 平臺
10.4.3 Eclipse如何變成嵌入式的
10.4.4 小結(jié)
10.5 嵌入式軟件和UML
10.5.1 為什么使用UML建模
10.5.2 將應(yīng)用程序和體系結(jié)構(gòu)分離
10.5.3 xtUML代碼生成
10.5.4 小結(jié)
10.6 用xtUML進行基于模型的系統(tǒng)開發(fā)
10.6.1 為什么構(gòu)建嵌入式系統(tǒng)如此困難
10.6.2 更好的解決方案
10.6.3 經(jīng)驗到此為止
10.7 展望未來

本目錄推薦

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