Android BSP team工作心得 - 工程師
By Eden
at 2013-04-05T22:54
at 2013-04-05T22:54
Table of Contents
最近在自己的blog寫了篇文章:
http://tinyurl.com/cn5oaxd
(無廣告但有自製流程圖)
主要陳述的內容是這一年多來在Android BSP team的工作心得
同時我也想推薦這樣的職務內容
理由也有在文章中提到
不外乎是Android行動裝置正當紅
BSP學的東西從底層到上層都有可能會涉略到
因此可學習到的範圍涵蓋較廣
雖然工作內容是比較偏繁瑣一點
但是對於整個Android的架構 會比較了解些喔
所以如果對於Android的軟體開發(非Framework層)有興趣的人
可以試試看BSP的職務~
個人覺得只要具備以下的能力即可勝任:
(1) 對C語言有最基本的熟識
(2) 有耐心
這是我個人的心得~
雖然會碰觸到大量的Linux指令,build code環境,以及linux Kerenl的相關知識,
但我覺得到了裡面之後再學就好,之後自然也會熟稔。
也許有些關公面前耍大刀~
不過可以分享給對於這領域還尚未了解以及想更了解的朋友們~
如果不想點blog連結的朋友,我也將本文內容貼在下面,還請多指教:)
==================本文內容==================
工作到現在也一年七個月了...
雖然自己研究所的專業是多媒體方面(Major in CS)
但因緣際會,我到後來選擇了ASUS Android BSP team
選擇的原因不外乎:
(1)看好Android行動裝置會紅
(2)BSP學的會比較多
(3)有學長的實際經驗分享
從一開始完全不知道BSP在幹嘛的...
到現在大概也懂個至少6~7成了
小弟拋磚引玉,來大概介紹一下BSP是甚麼,以及工作的內容為何。
也分享給可能想來、想來,或即將要來做BSP工作的人們,做為參考~
讓我們看下去...
BSP的全名為「Board Support Package」
BSP可以想成它就是一包source code,而這包source code透過linux所建構出來的
firmware(韌體),可以在Android裝置上開機。
那BSP到底是怎麼形成的呢...
在此簡單解說一下
我們知道,所有的Android行動裝置上,都有一個非常重要的核心角色-CPU
而一些眾所皆知的CPU晶片大廠,像是Qualcomm、Nvidia、TI、MTK...等等,都會提供他
們自己的Pure BSP,讓各晶片廠自己的「公版」能夠開機。
那麼,像一些OEM系統廠(ASUS、HTC、Samsung...etc)是怎麼開發出來他們自己的BSP以及
其產品的呢?
首先,在硬體上,OEM產品就會跟某晶片廠的公版有差異。
這些差異可能包含:
Camera、RAM、Display Panel、Touch Panel、Audio、Sensor...etc
而OEM系統廠的BSP team,其最主要的工作,就是將這些差異,基於Pure BSP,作所謂
Porting(移植)的動作。
雖然只是簡單的一句話...但其實做起來並不容易
我之前有提到,BSP會學的比較多一點...
在說明為什麼之前,先看以下這張圖:
(這是Android裝置開機大概的流程)
我們可以想像越前面的stage越底層,而到越後面的stage是越上層。
而BSP的工作從Bootloader、Kernel,到Android OS層都會碰到。
底層方面,會常常跟硬體方面的人cowork,了解硬體線路的設計,軟體的人才能夠作對應
的改變,使得某些function能夠work且穩定。
上層方面,APP層的研發人員,也會蠻常跟kernel driver作互動的,所以也必須常常跟
BSP team的人cowork。
因此,我才會說,BSP team的人,是底層跟上層都能夠touch到的~
BSP的工作只有讓Android裝置能夠開機起來就夠了嗎?
絕對不是這樣的!!!!!
能夠開機而且各function work只是基本而已,最重要的是要夠穩定。
穩定的定義為:
(1) 不能常當機
(2) 要夠省電
所以這之間,我們會跟CPU晶片廠有著非常密切地往來,
也就是會開bug問他們說:
"為什麼某function會crash,為什麼會這麼耗電..."之類的
也因此,BSP team也需要常常做系統的穩定度測試以及電量的量測。
看到這裡,退卻了嗎...? 關於BSP的工作內容?
其實能夠撐下去的話,我覺得能夠學的東西還蠻多的喔,而且對於瑣事的容忍程度也會大
增XD
以上,是個人目前粗淺的心得... 提供給大家
總心得:
簡單回憶一下目前學到的技巧:
(1) 了解Android整個系統的架構
(2) Linux指令變得較熟些 (完全無經驗也可入門喔,像我就是)
(3) Kernel、boot loader相關知識
(4) 寫說明文件的技巧 (自己看懂跟讓別人看懂是兩回事)
大概就...以上這些拉 其他還沒想到@@"
總之,BSP team的工作,就是產生一包屬於某個Android裝置的BSP code,並且產生
firmware讓此裝置開機且穩定地使用。
對於標題的詮釋:
A good choice --> 這是我目前的感想~ for me
但其實自己還是只有學些皮毛而已,希望之後能了解更多方面的知識~!
============================================
--
http://tinyurl.com/cn5oaxd
(無廣告但有自製流程圖)
主要陳述的內容是這一年多來在Android BSP team的工作心得
同時我也想推薦這樣的職務內容
理由也有在文章中提到
不外乎是Android行動裝置正當紅
BSP學的東西從底層到上層都有可能會涉略到
因此可學習到的範圍涵蓋較廣
雖然工作內容是比較偏繁瑣一點
但是對於整個Android的架構 會比較了解些喔
所以如果對於Android的軟體開發(非Framework層)有興趣的人
可以試試看BSP的職務~
個人覺得只要具備以下的能力即可勝任:
(1) 對C語言有最基本的熟識
(2) 有耐心
這是我個人的心得~
雖然會碰觸到大量的Linux指令,build code環境,以及linux Kerenl的相關知識,
但我覺得到了裡面之後再學就好,之後自然也會熟稔。
也許有些關公面前耍大刀~
不過可以分享給對於這領域還尚未了解以及想更了解的朋友們~
如果不想點blog連結的朋友,我也將本文內容貼在下面,還請多指教:)
==================本文內容==================
工作到現在也一年七個月了...
雖然自己研究所的專業是多媒體方面(Major in CS)
但因緣際會,我到後來選擇了ASUS Android BSP team
選擇的原因不外乎:
(1)看好Android行動裝置會紅
(2)BSP學的會比較多
(3)有學長的實際經驗分享
從一開始完全不知道BSP在幹嘛的...
到現在大概也懂個至少6~7成了
小弟拋磚引玉,來大概介紹一下BSP是甚麼,以及工作的內容為何。
也分享給可能想來、想來,或即將要來做BSP工作的人們,做為參考~
讓我們看下去...
BSP的全名為「Board Support Package」
BSP可以想成它就是一包source code,而這包source code透過linux所建構出來的
firmware(韌體),可以在Android裝置上開機。
那BSP到底是怎麼形成的呢...
在此簡單解說一下
我們知道,所有的Android行動裝置上,都有一個非常重要的核心角色-CPU
而一些眾所皆知的CPU晶片大廠,像是Qualcomm、Nvidia、TI、MTK...等等,都會提供他
們自己的Pure BSP,讓各晶片廠自己的「公版」能夠開機。
那麼,像一些OEM系統廠(ASUS、HTC、Samsung...etc)是怎麼開發出來他們自己的BSP以及
其產品的呢?
首先,在硬體上,OEM產品就會跟某晶片廠的公版有差異。
這些差異可能包含:
Camera、RAM、Display Panel、Touch Panel、Audio、Sensor...etc
而OEM系統廠的BSP team,其最主要的工作,就是將這些差異,基於Pure BSP,作所謂
Porting(移植)的動作。
雖然只是簡單的一句話...但其實做起來並不容易
我之前有提到,BSP會學的比較多一點...
在說明為什麼之前,先看以下這張圖:
(這是Android裝置開機大概的流程)
我們可以想像越前面的stage越底層,而到越後面的stage是越上層。
而BSP的工作從Bootloader、Kernel,到Android OS層都會碰到。
底層方面,會常常跟硬體方面的人cowork,了解硬體線路的設計,軟體的人才能夠作對應
的改變,使得某些function能夠work且穩定。
上層方面,APP層的研發人員,也會蠻常跟kernel driver作互動的,所以也必須常常跟
BSP team的人cowork。
因此,我才會說,BSP team的人,是底層跟上層都能夠touch到的~
BSP的工作只有讓Android裝置能夠開機起來就夠了嗎?
絕對不是這樣的!!!!!
能夠開機而且各function work只是基本而已,最重要的是要夠穩定。
穩定的定義為:
(1) 不能常當機
(2) 要夠省電
所以這之間,我們會跟CPU晶片廠有著非常密切地往來,
也就是會開bug問他們說:
"為什麼某function會crash,為什麼會這麼耗電..."之類的
也因此,BSP team也需要常常做系統的穩定度測試以及電量的量測。
看到這裡,退卻了嗎...? 關於BSP的工作內容?
其實能夠撐下去的話,我覺得能夠學的東西還蠻多的喔,而且對於瑣事的容忍程度也會大
增XD
以上,是個人目前粗淺的心得... 提供給大家
總心得:
簡單回憶一下目前學到的技巧:
(1) 了解Android整個系統的架構
(2) Linux指令變得較熟些 (完全無經驗也可入門喔,像我就是)
(3) Kernel、boot loader相關知識
(4) 寫說明文件的技巧 (自己看懂跟讓別人看懂是兩回事)
大概就...以上這些拉 其他還沒想到@@"
總之,BSP team的工作,就是產生一包屬於某個Android裝置的BSP code,並且產生
firmware讓此裝置開機且穩定地使用。
對於標題的詮釋:
A good choice --> 這是我目前的感想~ for me
但其實自己還是只有學些皮毛而已,希望之後能了解更多方面的知識~!
============================================
--
Tags:
工程師
All Comments
By Jake
at 2013-04-07T20:04
at 2013-04-07T20:04
By Xanthe
at 2013-04-11T01:41
at 2013-04-11T01:41
By Caitlin
at 2013-04-15T20:27
at 2013-04-15T20:27
By Ingrid
at 2013-04-18T22:15
at 2013-04-18T22:15
By Madame
at 2013-04-22T20:23
at 2013-04-22T20:23
By Cara
at 2013-04-25T04:11
at 2013-04-25T04:11
By Mary
at 2013-04-28T12:16
at 2013-04-28T12:16
By Bennie
at 2013-05-01T15:32
at 2013-05-01T15:32
By Oscar
at 2013-05-05T12:53
at 2013-05-05T12:53
By Regina
at 2013-05-05T20:26
at 2013-05-05T20:26
By Eartha
at 2013-05-07T17:44
at 2013-05-07T17:44
By Leila
at 2013-05-11T22:20
at 2013-05-11T22:20
By Liam
at 2013-05-15T14:48
at 2013-05-15T14:48
By Irma
at 2013-05-16T02:16
at 2013-05-16T02:16
By Carol
at 2013-05-17T23:57
at 2013-05-17T23:57
By Ula
at 2013-05-20T17:45
at 2013-05-20T17:45
By Poppy
at 2013-05-24T01:52
at 2013-05-24T01:52
By Cara
at 2013-05-25T12:53
at 2013-05-25T12:53
By Liam
at 2013-05-26T21:44
at 2013-05-26T21:44
By David
at 2013-05-27T22:31
at 2013-05-27T22:31
By Blanche
at 2013-05-29T17:03
at 2013-05-29T17:03
By Valerie
at 2013-05-30T10:14
at 2013-05-30T10:14
By Suhail Hany
at 2013-06-02T11:06
at 2013-06-02T11:06
By Zenobia
at 2013-06-05T01:55
at 2013-06-05T01:55
By Delia
at 2013-06-08T02:07
at 2013-06-08T02:07
By Una
at 2013-06-08T19:01
at 2013-06-08T19:01
By Eden
at 2013-06-09T22:30
at 2013-06-09T22:30
By Megan
at 2013-06-14T09:14
at 2013-06-14T09:14
By Skylar DavisLinda
at 2013-06-18T23:08
at 2013-06-18T23:08
By Tracy
at 2013-06-23T08:33
at 2013-06-23T08:33
By Edward Lewis
at 2013-06-27T09:00
at 2013-06-27T09:00
By Eden
at 2013-06-29T04:28
at 2013-06-29T04:28
By Aaliyah
at 2013-06-29T21:02
at 2013-06-29T21:02
By Olga
at 2013-07-01T19:08
at 2013-07-01T19:08
By Kristin
at 2013-07-02T06:18
at 2013-07-02T06:18
By Emily
at 2013-07-04T23:27
at 2013-07-04T23:27
By Carolina Franco
at 2013-07-07T21:33
at 2013-07-07T21:33
By Carolina Franco
at 2013-07-08T23:42
at 2013-07-08T23:42
By Ethan
at 2013-07-13T08:06
at 2013-07-13T08:06
By Sarah
at 2013-07-16T02:00
at 2013-07-16T02:00
By Belly
at 2013-07-20T12:34
at 2013-07-20T12:34
By Lily
at 2013-07-23T13:33
at 2013-07-23T13:33
By Agatha
at 2013-07-28T01:45
at 2013-07-28T01:45
Related Posts
AOI設備的前景與未來?
By Elvira
at 2013-04-05T19:13
at 2013-04-05T19:13
在職專班會加薪嗎
By Queena
at 2013-04-05T15:38
at 2013-04-05T15:38
「聯測科」相關訊息
By Hedy
at 2013-04-05T14:51
at 2013-04-05T14:51
在職專班會加薪嗎
By Olga
at 2013-04-05T14:13
at 2013-04-05T14:13
不知道是不是還有其他出路
By Enid
at 2013-04-05T13:19
at 2013-04-05T13:19