| 1. 嵌入式系統專案的生命週期:
- 嵌入式系統開發專案簡介
- 專案開始之前的規劃評估
- 專案初期的規劃工作
- 嵌入式系統開發專案中的設計階段
- 產品規格
- 硬體設計
- 系統設計
- 測試計畫設計
- 風險評估
- 執行階段與最後的結案階段
- 業界的實際狀況與軟體工程、專案管理教科書中的差異
2. 嵌入式系統開發流程:
- 開發嵌入式系統程式的步驟與注意事項
- 計算機系統的運作原理
3. 嵌入式系統平台設計:
所謂的嵌入式系統平台就是讓電子產品的“應用程式”得以順利開發的環境,它不只是軟體或硬體的概念而已,它應該是一個穩定的環境,在這個環境下,負責應用程式開發的工程師可以將心力放在產品功能的實現,以及改善其品質與效能即可。
- 嵌入式系統平台的定義:
- 系統架構設計
- API與程式風格設計
- 嵌入式作業系統簡介
- Source Tree設計
- 程式風格典範
4. 嵌入式系統開發環境:
- 何謂嵌入式系統開發環境
- 為什麼要建構嵌入式系統開發環境
- 嵌入式系統開發工具(cross-tools)簡介
- Makefile與Link Script的觀念與寫法
- 何謂ROM Maker
- 如何將程式下載到機器上並執行之
- 版本控制server的重要性
- Case Study
5. Boot Loader:
- 機器上電後如何讓CPU正確執行到程式,以及開機後系統該做的初始化動作
- 第一行程式如何被執行
- 基本硬體測試
- 如何載入程式段與初始化資料段
6. 驅動程式:
- 驅動程式開發之前的準備工作
- 如何控制CPU
- 如何控制記憶體與其他IC
- 撰寫中斷處理程式的注意事項
- 如何為驅動程式除錯
7. 記憶體管理:
- 記憶體空間配置
- Stack與heap在嵌入式系統中的應用
- 將程式或資料寫入EEPROM或Flash的燒錄器
8. 模擬器:
嵌入式系統的開發環境通常十分昂貴,不可能給每位工程師都配上一套,再加上專案初期可能沒有足夠的硬體平台可供應用程式開發之用,所以在嵌入式系統中模擬器的功用是很大的。
- 何謂模擬器
- Emulator與Simulator的差別
- 模擬器對嵌入式系統開發專案的貢獻為何
- 列舉如何在PC上模擬實體機器裝置的實例
9. 系統整合:
大部分的應用程式會先在模擬器上開發,而驅動程式與部分的系統功能則必須在真實機器上才能驗證,當底層平台已趨穩定,就可逐一將應用程式移植到實體機器上執行。
- 進行第一次整合的最佳時間點
- 導致整合失敗的原因
- 開發時程重新檢討
- 程式移植時的注意事項
- 發行正式版本
- bug管理系統
10. Testing、Debugging、Tuning and Project Close:
- 嵌入式系統的測試概論
- bug的管理原則
- debug基本技巧
- 如何進行系統效能的最佳化
- 結案之前的工作項目
- 版本發行
- 生產線專用的自動測試程式
- 如何決定量產版本
- 出貨不等於結案的怪現象
- 其他結案相關事宜 |