如何學習 android (二)

多人覺得學習android有些難, 要打得基礎不少, 要學得項目很多.    該如何進行 ?   這些困惑很正常, 如果從宏觀的角度來看,  比較容易找到方法.  這裡要先說明目前一些廠商垂直分工情況, 之後, 學員就知如何找到適當切入點.   就android 裝置而言, 參與的廠商可粗分為:

android 操作系統:  就是 google 提供, 一般學員只要熟習大綱, 觀念與移植部份就可, 除非是專門設計操作系統的設計師, 這些人大部份是資工系專業, 否則在學習初期, 沒必要對整個系統的詳細源碼加以深入了解, 因為這會增加學習難度.  關鍵的部份, 應該是在操作系統與硬體裝置的接
口部份, 這部份在觀念上以及實做上都是重點.   等到熟悉之後, 有機會再對操作系統內部作深入探討

cpu以及BSP:  每一個cpu公司, 都會搭配一兩家BSP(board support package)公司, 由cpu公司, 例如samsung 提供 s3c6410 cpu, 以及nandflash 主要ic 元件,  再由BSP設計公司, 提供參考之整板(board) 設計電路圖, 以及支援的作業系統與驅動程式如linux, android 或wince等等.   這種reference board 參考板, 基本上已經是可工作的原型 (prototype), 對一些功能效能需求不強的裝置而言, 應該可堪用了.    事實上, 許多台灣廠商會做的, 主要是在原廠提供的 reference board 之上,  對ic 元件, 電源, 與外型等作調整, 作差異化.



board電路板:   board廠商(或稱裝置生產商), 獲得原廠提供之軟硬體原型之後, 再作部份修改,客製為自己的產品,  就是一般的電子消費品.   台灣的電子廠商, 絕大部分都屬於這類.

這裡要強調, 當台灣的廠商拿到的原型, 基本上已經是可以動作的產品. 大部分軟硬體,以及驅動程式都已經可以拿來用.    所以工程師,  大都是在原型的軟硬體基礎上, 加以修飾調整.  除非有特殊目的, 否則不會有人從頭開始設計的.

學員讀到這裡, 不知是否已經有感覺 ?   只要知道如何利用這些原型軟硬體與工具,  就可以大幅提昇學習的速度與研發功力.    有些工具, 有些觀念, 有些資源, 先用再說,剛開始也許不懂,  後來就會慢慢的了解.     剛開始有些地方, 不要太細究, 否則永遠學不完,  有些地方要掌握關鍵, 要稍微深入.  其中的媒角要掌握,    例如RF的東西, 觀念跟實作非常重要, 理論知道就好.   android操作系統, 源碼不要急者隨便k, 百萬條命令如何k.     要學會如何站在巨人得肩膀上, 遙望遠方.

49歐姆希望能為工程師的肩膀 !!!!!!!!