Book description
「《建立嵌入式系統》是想要進入有趣(且有錢賺)嵌入式系統世界的所有C語言程式設計師都必需讀的書。這本書寫作良好而且有趣,同時包含許多清晰的範例。」
-- Jack Ganssle, 作家與嵌入式系統專家
想要開發嵌入式系統嗎?嵌入式系統對效率有很高的要求,需要遵循有紀律的程式設計原則,結合傳統的軟體設計模式與嵌入式程式設計領域中特有的設計模式。本書提供了簡明的指導,協助你建立良好的程式設計實作方式,學習如何針對處理器而非作業系統建立架構,以及處理硬體限制與製造需求的獨特技巧。
本書作者Elecia White是嵌入式系統專家,建立過的系統涵蓋道路監控系統以及兒童玩具上的DNA掃描器。本書內容並非針對特定平台,適合中、高階程式設計師閱讀。
‧最佳化系統以降低成本並提高效能
‧在資源有限的環境中建立強固的軟體架構
‧涵蓋掃描器、馬達等I/O設備
‧以更少的資源達成更多的成果:降低使用的RAM、程式碼空間、處理器週期以及藉電量
‧學習如何在CPU中直接更新嵌入式程式碼
‧發現如何在小型處理器上實作複雜的數學計算
‧瞭解當你應徵嵌入式系統職位時,面試官在意的重點
Elecia White 是Logical Elegance創辦人,這是位於San Jose的嵌入式系統顧問公司。她喜歡新奇的小裝置,包含小型醫療器材、慣性量測元件(inertial measurement unit)、教育性玩具以及槍聲定位系統(gunshot location system)。
Table of contents
- 封面
- 書名頁
- 英文版權頁
- 前言
- 目錄 (1/2)
- 目錄 (2/2)
- 第一章 導論
- 編譯器、程式語言及物件導向程式設計
- 嵌入式系統開發
- 除錯
- 其他挑戰
- 面對挑戰的原則
- 延伸閱讀
- 第二章 建立系統架構
- 建立系統圖表
- 方塊圖
- 控制階層
- 分層視圖
- 從圖表到架構
- 封裝模組
- 工作委派
- 驅動程式介面:Open、Close、Read、Write、IOCTL
- Adapter模式
- 其他介面概述
- 範例:日誌(Logging)介面 (1/2)
- 範例:日誌(Logging)介面 (2/2)
- 沙箱操作
- 延伸閱讀
- 第三章 把玩硬體
- 軟硬體整合
- 理想專案流程
- 機板 Bring-Up
- 閱讀Datasheet
- 出問題時應該找的Datasheet章節
- 對軟體工程師重要的內容
- 使用Datasheet評估元件
- 處理器是個語言
- 閱讀電路圖
- 準備除錯工具箱(與滅火器)
- 保持機板安全
- 工具箱
- 數位三用電表
- 示波器與邏輯分析儀
- 測試硬體(與軟體)
- 建立測試
- Flash測試範例
- 命令與回應
- Command模式
- 處理錯誤
- 一致的方法
- 錯誤處理函式庫
- 偵錯時脈錯誤
- 延伸閱讀
- 第四章 輸出、輸入與計時器
- 切換各種輸出方式
- 從暫存器開始
- 以接腳輸出
- 開啟LED
- 閃爍LED
- 故障排除
- 從Action中分離硬體
- 針對機板的標頭檔
- I/O處理程式碼
- 主迴圈
- Facade模式
- I/O的輸入
- 簡單的按鈕(Button)介面
- 短按按鈕
- 按鈕中斷
- 設定中斷
- 開關去抖動(Deboucing switches)
- 執行期變動
- 相依性注入
- 使用計時器
- 計時器組成
- 數學計算
- 計時器事件(Timer Ticks)間的等待
- 使用計時器
- 使用脈衝寬度調變(Pulse-Width Modulation)
- 產品出貨
- 延伸閱讀
- 第五章 管理活動流程
- 排程與作業系統基礎
- 工作
- 工作間的通訊
- 避免競賽情況
- 優先權倒置
- 狀態機
- 狀態機範例:紅綠燈控制器
- 以狀態為中心的狀態機
- 以狀態為中心的狀態機與隱藏的轉移
- 以事件為中心的狀態機
- State模式
- 表格驅動式狀態機
- 選擇狀態機實作方式
- 中斷
- 發生IRQ (1/2)
- 發生IRQ (2/2)
- 儲存執行環境
- 從向量表取得ISR
- 呼叫ISR
- 回復執行環境
- 使用時機
- 如何避免使用中斷
- 輪詢(Polling)
- 系統時脈(System Tick)
- 以時間為基礎的事件
- 微型排程器
- Watchdog
- 延伸閱讀
- 第六章 週邊通訊
- 不同型式的週邊
- 外部記憶體
- 按鈕與按鍵矩陣(Key Matrics)
- 感應器
- 驅動器
- 顯示器
- 各種不同的通訊方式
- 序列 (1/2)
- 序列 (2/2)
- 平行
- 乙太網路與WiFi
- 結合週邊與通訊
- 處理資料
- 提昇通訊穩定性
- 改變資料
- 改變演算法
- 延伸閱讀
- 第七章 更新程式
- 內建啟動程式(onboard bootloader)
- 自行建立更新程式
- 修改常駐更新程式
- Brick Loader
- 複製載入器到RAM
- 執行載入器
- 複製新程式到暫存空間
- 危險時刻:清除與程式化
- 重置到新程式
- 安全性
- 連結器命令稿
- 總結
- 第八章 耗費更少成果更多
- 程式空間
- 讀取對應檔(第一部分)
- 消去的程序
- 函式庫
- 函數與巨集
- 常數與字串
- RAM
- 移除malloc
- 讀取對應檔(第二部分)
- 暫存器與區域變數
- 函數鏈
- 全域(globals)的優缺點
- 記憶體覆載(overlay)
- 速度
- 效能分析
- 最佳化 (1/2)
- 最佳化 (2/2)
- 總結
- 延伸閱讀
- 第九章 數學
- 找出快速與慢速運算
- 取平均值
- 使用既有演算法
- 設計與修改演算法
- 多項式分解
- 泰勒展開式
- 常數除法
- 縮放輸入值
- 查找表 (1/2)
- 查找表 (2/2)
- 偽浮點數(Fake Floating-Point Numbers)
- 有理數
- 精確度
- 加法(與減法)
- 乘法(與除法)
- 判別錯誤
- 延伸閱讀
- 第十章 降低功耗
- 認識耗電量
- 離開時隨手關燈
- 關閉週邊
- 關閉未使用I/O設備
- 關閉處理器子系統
- 降低時脈節省電力
- 處理器休眠
- 以中斷為基礎的程式流程模型
- 主迴圈詳解
- 處理器Watchdog
- 避免經常喚醒
- 串聯的處理器
- 延伸閱讀
- 索引 (1/6)
- 索引 (2/6)
- 索引 (3/6)
- 索引 (4/6)
- 索引 (5/6)
- 索引 (6/6)
- 關於作者
- 出版記事
Product information
- Title: 建立嵌入式系統--傑出軟體的設計模式
- Author(s):
- Release date: October 2012
- Publisher(s): GoTop Information, Inc.
- ISBN: None
You might also like
book
Options, Futures, and Other Derivatives, 10th Edition
For courses in business, economics, and financial engineering and mathematics. The definitive guide to derivatives markets, …
book
The Circuit Designer's Companion, 4th Edition
The fourth edition of this classic work on circuit design gives you the understanding and practical …
book
You Don't Know JS: this & Object Prototypes
No matter how much experience you have with JavaScript, odds are you don’t fully understand the …
book
Multiplexed Networks for Embedded Systems: CAN, LIN, FlexRay, Safe-by-Wire...
Multiplexed networks are essential for the unified, efficient and cost-effective exchange of electronic information within embedded …