淺談MTK平臺下Android開發(fā)比較學(xué)習(xí)筆記
MTK平臺下Android開發(fā)比較是本文要介紹的內(nèi)容,這幾年做了一些平臺下的Android項目,下面具體對比一下幾個平臺Android開發(fā),主要涉及的平臺有Qualcomm,F(xiàn)reescale,MTK。這幾個平臺也都非常有代表性:
1、Qualcomm毫無疑問,肯定是通信這塊的大牛廠商,目前很多通信協(xié)議和專利都跟這個公司有關(guān)系,當然它在ARM應(yīng)用處理器這塊也是有很高的造詣,也是Android聯(lián)盟里面最早加入的成員。收款Android手機G1也是Qualcomm平臺做出來的。CDMA這塊肯定是毫無疑問的老大,VIA的CDMA的東西相對來說穩(wěn)定性還是成熟度還是較差的。
2、Freescale,在ARM應(yīng)用處理器這塊一直是一個傳統(tǒng)的大公司跟TI這些芯片都一樣,如果你需要開發(fā)一個手機設(shè)備,就需要依賴別人的Baseband芯片(chip on board)或者是模塊,如果是3G模塊的話,那恭喜你,八成那個模塊里面的核心也是一顆Qualcomm的芯片。Moto的Mailstone就是一顆TI的心,我們之前的電信lifepad就是一顆Freescale的芯,加上了若干不同的3G Modem。
3.MTK眾所周知的臺灣芯片公司,被眾人BS的山寨機之父,但是從領(lǐng)一種角度來說,MTK也是一個偉大的公司,它的出現(xiàn)改變了一個產(chǎn)業(yè),通過這種Trunkey的方法,讓更多的人可以參與到手機的研發(fā)(更多的可能就是集成)來。MTK的Android和臺灣的另一家公司很像,訊宏,他們主要推的都是基于2.75G的Android中低端解決方案。ST-Ericsson的Android解決方案跟這個也很類似。
Qualcomm和MTK方案的比較:
1、市場定位不同,Qualcomm的Android解決方案主要是7K系列和8K系列,都是一個Modem ARM+Application ARM,目標中高端3G解決方案,6K這種低端平臺主要還是Qualcomm自己的BREW方案。MTK的6516這個解決方案,采用的也是Modem ARM(2.75G)+Application ARM的方案,方案雖然相同,但是里面的ARM核心在性能上卻差了很多,Qualcomm平臺比較差的7X25系列,里面的Application ARM也是一顆ARM11。
2、開發(fā)模式不同,Qualcomm的代碼基本上還是按照它們自己的開發(fā)板去發(fā)布的,所以就是有很多工作需要去做,包括Modem測的代碼,已經(jīng)Application測的代碼都是有大量修改的,Qualcomm這個Android構(gòu)架中Modem ARM是個主控,并且射頻一些天線選擇以及通信的SSBI都是允許進行修改的。MTK的就不同了,所有的外設(shè)基本都是它們推薦的,Modem測的代碼也是不允許有任何修改,發(fā)布的代碼直接就是一個bin文件??傮w來說,MTK的開發(fā)難度更小一點,產(chǎn)品化更好一點。
3、代碼模式不同,總體來說Qualcomm Application ARM發(fā)布的代碼最接近于開源的Android代碼,其中的代碼的下載方式(采用repo),代碼的管理也是采用了git,不同的版本也是用branch和tag進行了區(qū)分。MTK的代碼就比較簡單了,保留了Android的源碼,刪除了git相關(guān)信息,并且全部代碼里面加上了它們的版權(quán)信息,里面的makefile構(gòu)架也進行了修改,當然還是有MTK的風(fēng)格,采用了大量的perl腳本進行一些代碼的生成和編譯,編譯命令也是調(diào)用的一個perl腳本。
Qualcomm和Freescale方案的比較:
1、產(chǎn)品成本和性能,如果是需要開發(fā)3G手機或者需要進行移動互聯(lián)的產(chǎn)品,毫無疑問Qualcomm方案從布板到成本都優(yōu)于使用一顆性能強勁的Application Processor+模塊或者modem,二套運行存儲環(huán)境都是硬成本。但是Freescale的優(yōu)勢有在于強勁的處理能力,以及對于多外設(shè),多媒體,流媒體的處理能力。
2、開發(fā)模式,Qualcomm平臺的代碼會分為Modem測代碼和Android測代碼(Application Processor測),開發(fā)Qualcomm平臺那就需要二塊一起去配合完成功能。Freescale平臺代碼就是Android代碼,不過也是進行過修改的,Makefile有些修改,kernel采用了自己的kernel,modem測如果是模塊的話,也就簡單一些,不用操心那么多,在Application測只需要在ril里面講相應(yīng)的AT cmd調(diào)通就可以了。如果是chip on broad那就麻煩一些了,就需要按照modem選用的平臺去調(diào)試了。
很多具體細節(jié)的比較在這里我就不進行詳細的描述了,后面如果不涉及到版權(quán)和安全問題,還將繼續(xù)對這些平臺的開發(fā)以及Android進行更深入詳細的分析。
小結(jié):淺談MTK平臺下Android開發(fā)比較的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!