2009年2月2日 星期一

前言

拋開可以查閱Wiki或是IEEE而來的無聊制式定義
每個資訊從業人員對於embedded system都有著或深或淺的認知, 而各自有著用以理解它的一套思維. 然而除了親自去trace一窺究竟, 更甚者去coding之後, 才能深刻體會其中所充斥的挫折與饒富的樂趣所在.

不得已而接觸它的人可能會覺得複雜, 麻煩, 不知所以, 沒有規則; 樂在其中的人卻也喜於享受它的多種樣貌,抽絲剝繭的趣味, 欣賞巧奪天工的設計, 或是一手掌握的成就感. 是的, embedded system就是這麼樣地讓人又愛又恨.

對於許多人而言, 在desktop 上使用SDK, 熟悉的語言加上各式的library/framewrk, 從coding, compilation, linking產生程式到 load-in & execute 的一氣呵成, 一切是那麼方便, 是那麼的理所當然.如此一來, 那些曾囫圇吞棗背念的computer organization/architecture, compiler, system Ssoftware, operating systems, 在現今分工細膩且功能完善的OS與toolkit中, 似乎還顯得有些多餘. 的確, 現今Linux/Windows這樣desktop-oriented的OS也走入了embedded system領域, 但即便有心深入, 不考慮封閉性, 對大多數人來說, 無論Linux/Windows都顯得過於龐大且複雜. 對於系統著實難以一窺其精妙, 例如想把Linux Virtual Memory Management看到有所心得是一件不小的工程, 這樣作有時也難免有著見樹不見林的缺憾. 而使用Linux/Windows的硬體成本較高, 在應用上也有不適合的時候.

如此說法, 並非是要拋棄Linux/Windows, 一切要從頭來過.
畢竟在許多方面有其應用層面的考量. 而embedded system的樂趣之一在於, 透過實作所獲得的應用性外, 經由設計良好具體而微的embedded system也能夠讓自己更瞭解整體系統, 自硬體平台到軟體系統的設計與來龍去脈也能夠有更深一層的認知. 如此即便再面對Linux/Windows也有不同層次的心得, 或有提綱見領之效. 也因為如此, 反過來說, 面對embedded system, 對於軟硬體所需要的瞭解與面對的問題更甚於開發一般desktop application.


沒有留言:

Android 軟體架構轉變的進行式

今日在 Google 的 Android Developer Blog 上貼出了篇名為的 "Here comes Treble: A modular base for Android" 貼文, 這是一件對於 Android 生態系統的大事, 也是 Googl...