設計階段
1審查分析資料
整理自己的記憶,審查約束條件,這些條件將決定你可作何選擇以及如何建立系統。
2規定硬體部件
將硬體分成各部件,畫出一張或多張硬體部件的框圖。用乙個框圖標識乙個單獨的電路板,外設等。
決定到底用硬體還是軟體來實現某個功能一般來說就是乙個效能和成本間的權衡,或者開發成本(多些時間)與製造成本(多些硬體)間的權衡。
3定義硬體介面
i/o埠
—硬體所用到的所有埠,埠位址,能寫入各埠的所有命令和命令序列。
硬體暫存器
—位分配,如何讀寫的說明,以及使用該暫存器的時序要求或其他約束。
共享記憶體或記憶體映像
i/o的位址
—進行每個可能的
i/o操作的讀寫序列
硬體中斷
---列出所有的硬體中斷號和分配到其上的硬體事件
4規定軟體子系統
分成一些適當定義好的子系統,目的是找出自成一體的模組或子系統。
自上而下,較大的:介面,從硬體裝置的資料採集,資料處理等等
5定義軟體介面
規定各個子系統配備的軟體介面。詳細規定說明
api(應用程式程式設計介面);用函式原型、資料結構宣告、類宣告等來建立標頭檔案。
規定軟體介面可提供一公共參考基點,定義子系統的介面常常能幫助你細化和澄清對子系統所提供功能的理解。
6規定啟動和關閉過程
事件發生的順序,對於啟動,說明硬體和軟體子系統初始化的細節,以及初始化的順序。對於關閉,說明每個子系統必須完成的動作,如儲存檔案到磁碟上,斷開網路連線。
7規定出錯處理方案
在設計階段監理出錯處理策略,在實現階段盡早建立出錯處理程式。給出一些著眼點:
1)你的使用者介面如何?能否對系統操作人員報告錯誤?或者你會把錯誤記錄到某個檔案中供事後分析嗎?
2)你的系統有同其他裝置通訊的功能嗎?你能用這個功能向遠端站點報告錯誤嗎?
3)系統關閉或崩潰的後果是什麼?若關閉是不可接受的,得有致命性出錯條件出發系統重新啟動。看門狗監視器功能?
watchdog timer 8
檢查你的設計
檢查設計文件的正確性
一些選擇決定
1選擇處理器
判別標準:
1)設計需要多快的處理速度
效能取決因素:時鐘頻率、內部暫存器大小、暫存器是否被公平對待(即指令對等處理所有的暫存器)、有助於耗時操作的特殊的內建硬體(如乙個硬體乘法單元)等資料8
位或者更大?
2)你的人員對處理器是否專業
主要考慮進度要求是否允許花精力去擺弄新的處理器
3)設計的
i/o技術指標是什麼
你的應用程式所要求的硬體能否連線到這個處理器,而無需過多的膠合邏輯和笨重的硬體驅動程式。考慮該處理器的一些支援晶元(如
dma控制器、記憶體管理晶元、中斷控制器等)的配套。調研所掌握的處理器供貨商。
4)處理器可用到哪些軟體支援工具
5)處理器是否內建除錯支援
6)處理器製造商的支援可信度如何
2選擇硬體部件
自製或購買
1)你打算做幾套系統
2)你的目標市場的機會如何
3)是否軟體開發極大的依賴於硬體的到位,或者,是否大多數的軟體開發都能在乙個實驗系統(如
pc機)上進行。
3選擇作業系統
1)你需要乙個作業系統提供多少功能
2)作業系統有哪些開發工具可用
3)作業系統到你的硬體到介面移植的難度如何
4)作業系統是否包括特殊的除錯支援
5)作業系統的記憶體要求如何
6)你的程式設計師是否熟悉此作業系統,或此作業系統通常提供的
api
7)是否作業系統包括所有你需要的部件
8)作業系統是否有你目標硬體的驅動程式
9)作業系統是否有可伸縮性
4選擇程式語言
1)你的人員最熟悉的語言是什麼
2)該軟體應用廣泛嗎
3)該語言是否提供你應用程式所要求的效能
5選擇軟體開發工具
1)系統偵錯程式的功能如何
2)你已選擇乙個編譯器,是否包括一匯程式設計序——應用程式要訪問系統級的指令,彙編是必要的
3)有哪些可支援的庫函式可用
庫函式和樣板**。如
c++的模版庫,提供一套用於定義各種有用的集裝,儲存,搜尋,排序物件。
4)編譯器開發商保持對編譯器公升級嗎
也適用於解釋程式
5)連線程式是否支援你的其他工具所用的所有檔案格式和符號格式
6)是否有某種便於使用的,用於選配作業系統的系統構建工具
7)是哪個開發商產的開發系統
6選擇硬體除錯工具
1)電路內**器(
ice)
2)邏輯分析儀
3)帶硬體支援的軟體偵錯程式
4)rom
**器7
選擇軟體元件
一些授權軟體
嵌入式系統設計
嵌入式系統 embedded system 是一種 嵌入機械或電氣系統內部 具有專屬功能的計算機系統 通常要求實時計算效能。被嵌入的系統通常是包含硬體和機械部件的完整裝置。相反,通用計算機如個人計算機則設計靈活,以滿足廣大終端使用者的需求。現在常見的很多裝置都採用嵌入式系統控制。現代嵌入式系統通常是...
嵌入式系統設計師筆記 什麼是嵌入式?
嵌入式系統的軟體通常執行在有限的硬體資源上 沒有硬碟 作業系統 鍵盤或螢幕。軟體一般都沒有檔案系統,如果有的話,也會釆用 flash 驅動器。如果有人機互動介面的 話,也是乙個小鍵盤或液晶顯示器。硬體是計算機的物理部分,和儲存在硬體中的計算機 軟體程式和資料區分開來。嵌入到機械中的嵌入式系統需要長期...
嵌入式系統程式設計實現階段筆記
實現階段 規劃和測試 組織產品的實現方案前,應確保事先有乙個清楚的進度安排,而且進度安排必須為測試和除錯留有充足的時間。規劃1原型規劃 為最終的系統建立一些實驗型模型,以使開發人員能在沒有目標系統的情況下就能著手工作。1 得決定系統的哪些部分能夠進行原型構建 2 決定如何構建,是全用軟體還是買乙個單...