新聞速報

        

2014年2月27日 星期四

Embedded Linux的其他看法

在 Embedded Linux 這個領域其實很快就會發現其中的枯燥與無味.
1) Bootloader 不是你寫的, 你只是看完 SPEC., 甚至網路找資料, 更甚至 Vendor 來的 code.
 
2) Kernel 不是你寫的, 你只是知道該 enable 與 disable 哪些選項, 要不然就是 google.
 
3) Driver 不是你寫的, 良好的 vendor 會給你 BSP. 不好的 vendor 就靠 google, 再不行請 hw 換元件.
 
4) Protocol 不是你寫的, 因為繁瑣的 Embedded Linux 整合與管理就夠佔用一個人力的資源.
 
5) 邏輯訊號不是你發的, 你只是搞懂 Registers 的用法, 請 Driver 去填值, 最後請 HW 送而已.
 
6) Cross Toolchain 不是你自己 patch 跟編譯的. 要自己生 patch 也很難, 除非你已經很熟那 CPU, 又很熟 "編譯", "組譯" 程式本身的 code.
而對 Embedded Linux 專案來說, 這部分常被視為 "0 績效". 最好是廠商告訴你該到哪下載.
 
7) Application 不是你寫的, 你只是聰明的知道有哪些 open source 軟體, 以及該到哪裡下載與編譯. 而 dependency 問題, 其實你是偷偷看 debian 的.
 
8) 或許 Application 是你們寫的, 但因為你認為 Embedded Linux 這份工作的價值性較高, 所以也不願意拉下身段去幫忙寫 application.
 
 
最後, 有什麼是你寫的?
1) 整合整個 Embedded Linux Project 的 Shell Script 是你寫的.
 
2) 或許更慘一點, Vendor 已經幫你寫好 Script 了. 或是你想用 Open Embedded?
 
3) 測試 utilities 是你寫的, 因為除了你可以碰 kernel, 還有誰比你懂?
 
4) Bug 是你改的. 因為 hw 不乖沒照公板, 所以這個 "塞" google 也救不了你, 只好日以繼夜的在每個懷疑的地方 printk(), 總有一天會發現哪個 if() 出問題.
 
5) 去罵 vendor 的信是你寫的.
 
6) 論壇上發表的詢問文章是你寫的.
 
 
Embedded Linux 的意義究竟是什麼? (對我自己)
1) 它確實可以快速變成產品, 但你們要能掌握關鍵與核心技術的相關程式.
 
2) 必要時, 應具備換掉整個 Well-defined 的 subsystem 的能力.
 
3) Hardware 與 Protocol 才是長遠通行的標準, Linux 只是協助你職涯工作中, 快速認識這個 topic 的導師, 而非釣竿或生魚片.
 
4) 難得能從學生就開始在職訓練, 幾乎可以 google 到所有 know-how, 有很廣來的人才來源, 但總有一天會像 PHP 那樣人人都會作.

沒有留言:

張貼留言