[心得] Android BSP team工作心得

楼主: agmoagmo (小铭)   2013-04-05 22:54:27
最近在自己的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
作者: WenliYang (羊蹄嘟)   2013-04-05 23:00:00
推好文喔
作者: kill2400 (wei)   2013-04-05 23:23:00
为啥离开啊?平版部分?
作者: bluebluelan (新阴流大目录免许皆传)   2013-04-05 23:24:00
三楼?
作者: war0tft (DanteET)   2013-04-05 23:41:00
作者: jyeabcb (孔明杰)   2013-04-05 23:43:00
有看有推
作者: giantwinter   2013-04-05 23:52:00
Cool
作者: trappings (样这是好最)   2013-04-06 00:07:00
推 很棒的分享!
作者: yuskeb (我想做一个好人)   2013-04-06 00:16:00
作者: YTsungL (来Ptt不战要干嘛?)   2013-04-06 00:19:00
推 :)
楼主: agmoagmo (小铭)   2013-04-06 00:26:00
回3F:我还没离开阿XD
作者: sheepxo ((羊臣又))   2013-04-06 01:00:00
作者: brightest (fff)   2013-04-06 01:07:00
国内除了M跟HTC还有谁在做这一块阿
作者: pupucar (knock!knock!)   2013-04-06 01:15:00
每次看到这种文就觉得作者一定是学佛的 有大爱精神
作者: s8013011 (Sandra)   2013-04-06 01:17:00
之前也有个人很详细的解释了BSP的一些细节 也是很佛心
作者: violetalan (紫砂很闲)   2013-04-06 01:23:00
victor!
作者: nikolas (你花多少时间?)   2013-04-06 01:50:00
Thanks....浅显易懂.....
作者: thanksyou (谢谢你)   2013-04-06 01:56:00
bsp 待遇好 乐胜所有的软件工程师
作者: cobrasgo (人鱼线变成鲔鱼线,超帅)   2013-04-06 01:57:00
看到bsp我就要跪着看这篇了
作者: Kerick (凯瑞克)   2013-04-06 02:05:00
感谢分享
作者: dendrobium (石斛兰)   2013-04-06 03:42:00
asus也有这块阿...
作者: airwin (airwin)   2013-04-06 07:26:00
手机厂都有BSP team吧
作者: roger00 (Stage Column(?))   2013-04-06 10:16:00
Victor大大@@
作者: supermin (Music!Msuic!)   2013-04-06 11:40:00
写的不错 但我比较想知道三四年后的心得 XD
作者: TKW5566 (56王道)   2013-04-06 11:57:00
作者: alibodawahah (ali)   2013-04-06 13:35:00
push~!
作者: erycell (最熟悉的陌生人)   2013-04-06 13:49:00
三四年大概是除错经验的累积
作者: yolasiku (我的绿卡能吃吗)   2013-04-06 14:12:00
真正做过才知道 BSP并没多好 薪水少 事情杂 不是vendor
作者: WenliYang (羊蹄嘟)   2013-04-06 14:14:00
楼上内行喔 专业打杂组
作者: kill2400 (wei)   2013-04-06 14:51:00
楼上推考公职
作者: beareyes (熊眼)   2013-04-06 15:30:00
那什么team比较好呢?
作者: Gojilla   2013-04-06 16:05:00
感谢分享
作者: yolasiku (我的绿卡能吃吗)   2013-04-06 18:06:00
好的主管+能够接受的薪水+下班时间 就是好team
作者: war0tft (DanteET)   2013-04-06 18:21:00
楼上,你这不是废话吗? 你这答案就是通解
作者: beareyes (熊眼)   2013-04-06 20:24:00
这世界有那么爽的吗?
作者: clampsakura (妖應封光)   2013-04-07 00:46:00
这一次接触这个词是看VxWorks Manual porting 感概..VxWorks也差不多了...
作者: yolasiku (我的绿卡能吃吗)   2013-04-07 13:44:00
下班时间 跟 年薪 有些人很难取得平衡 不是吗?
作者: Assyla (我只是居家了一点)   2013-04-08 10:49:00
推yolasiku,很专业的打杂
作者: pcf (放假放假)   2013-04-08 20:56:00
不是大多丢给SOC厂吗 XD
作者: MaxwellsEQ (马克士威尔方程式)   2013-04-14 09:01:00
我们会跟CPU芯片厂有着非常密切地往来----->这句重点
作者: MaxwellsEQ (马克士威尔方程式)   2013-04-14 09:02:00
有bug叫vendor的FAE/AE过来关厕所^_<

Links booklink

Contact Us: admin [ a t ] ucptt.com