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
機器學習|工作現場的評估、導入與實作
本書是專為想要將機器學習實際應用在工作上的讀者所寫的書,說明如何在職場上應用機器學習與資料分析的工具。 透過本書,您可以了解: .如何啟動機器學習的專案 .如何讓機器學習與現存的系統互動 .如何收集機器學習的資料 .如何建立假設與分析 .機器學習的基礎知識 .分門別類介紹機器學習演算法的各種特徵 .以阻絕垃圾郵件的範例說明如何評估離線預測模型的方法 .如何在機器學習的分類工作收集正確資料的方法 .使用統計學的檢定、因果推論、A/B測試驗證方案效果
book
Node与Express开发(第2版)
Express是Node/JavaScript技术栈的一个关键组件,可用于高效构建动态Web应用。正所谓“少即是多”,Express以极简的框架赋予Web应用高性能、灵活、健壮等优点。 本书将带你体验构建Web应用的每一步,并在此过程中阐释Express的诸多概念和原理。第2版着重展示Express在构建单页应用方面的潜力,以及近几年来Express中间件和相关工具的发展变化。快快拿起本书,一起探索Web开发的新思路吧! 为渲染动态数据创建模板系统 深入探究request和response对象、中间件以及URL路由 为测试模拟生产环境 数据持久化,涉及MongoDB和PostgreSQL 开放API,让其他程序可以访问你的资源 构建包含认证、授权并支持HTTPS的安全应用 集成社交媒体、地理位置及其他功能 实现应用的启动和维护计划 学习重要的调试技能
book
VMWARE錦囊妙計第二版
本錦囊妙計透過逐步漸進的解決方案,協助您在廣泛的網路環境中使用VMware ESXi。您將不僅能學習到基本知識-如何從硬體伺服器、電腦叢集、網路與儲存設備集中共享資源,接著透過虛擬機器來進行分配,並且也能學習到如何克服在監控系統、問題排除及安全性處理上所遭遇的阻礙。 本延伸的第二版涵蓋了vCloud Director和vShield雲端安全性的最新進展。本書適用於各種層級的系統管理員,VMware錦囊妙計也提供了可以協助您確定虛擬化需求的實用資訊。 .藉由vCloud Director邁入雲端,透過vSphere建立安全的虛擬資料中心 .透過命令列模式防護與監控您的虛擬化環境 .實現磁碟、SSD與SAN儲存設備的管理與組態 .探索資源管理的選項,如叢集、共享、熱添加/熱插拔的支援 .配置邏輯與實體網路,包括虛擬交換器、軟硬體介面 .透過ESXi自動化安裝使虛擬機器的複製更容易 .獲得組態配置與調校的實用技巧
audiobook
The Art of Leadership
Many people think leadership is a higher calling that resides exclusively with managers who practice or …