高通Android手机软件开发培训

      为期两天的高通Android手机软件开发培训结束了。这次高通针对QSC7x27/7x25/QSD8x50的基带芯片进行了两天的Android手机软件开发培训。参加人员都是我这样的各个OEM厂商的软件开发人员。这次难得的机会是我转到底层驱动开发以来,自己争取的。本来安排的两个人都没有空,只有我这个新丁有空闲来。正好这次的基带芯片都是双核的,我们现在手头上也在做着双核的项目,我也有幸参加了项目中的部分工作。限于自己刚进入新的领域,很多东西都没有机会接触到,或者应该说是自己还没有准备好。这次接着这个Android的培训对双核的软硬件架构都了解了一下。同时也粗略学习了一下Android开发的基本知识。

      前两天的内容集中于WM,这两天集中于Android。早知道连WM的我也应该一起听的。不是为了五星级酒店的自助午餐,而是为了能对WM开发有个大致了解。尽管自己也自娱自乐地写过几个简单的WM应用程序,但参加一下这种相对比较深入的技术培训对自己只会有好处。想想以前在厦门参加的微软VS2005 Team产品介绍,真的只是个产品介绍。那时候对方只是想向你推荐产品,而没有实质性的技术介绍。这次培训则深入了解架构和技术细节很多。当然,这也跟参加培训的都是高通客户有关吧。厦门那个都是慕名去的,没有实质利益关系的。不过还是感觉深圳的技术交流深度比厦门还是要强和广。当然厦门的休闲生活气息比深圳还是好很多。

      整个两天的培训,我对高通双核的软硬件架构有了一个总体印象。对双核之间的通信机制和技术实现也有了一个清晰的认识。因为高通对其技术授权的原因,我恐怕不能对技术细节做过多的描述,只能说高通通过SMD和RPC机制完成了双核的关键信息同步。

      至于Android这个技术,网络上可以找到很多有用的信息,不需要我在这里赘述。我现在所关心的就是kernel中的driver module开发。因为我主要从事底层驱动开发工作。Android上层应用多半是Java开发的应用程序,然后通过binder IPC机制调用下层服务,然后走到kernel层直接操作硬件。当然既然应用程序是Java,就少不了一个DVM的虚拟机。和普通PC上的JAVA不一样的地方在于,Android的虚拟机是DVM,而不是JVM。据说是专为嵌入式系统做的,也是字节码的处理机制。之前我周围做JAVA的人,很少有人去研究JAVA底层实现的,都一般研究的是JAVA如何快速的实现业务逻辑。我自己也从来没有想过JAVA实现的内部机制,如虚拟机的实现机制。可现在,看到DVM的第一个念头就是看DVM的实现机制。看来自己确实有点认识提高了,呵呵。不管自己是否真的去研究了,至少有了这种想法。

      这两天培训课上,我的感受是,高通一直想传达一个信息:大部分的常用功能我们都已经实现了,你们不需要关心。出了问题,你们只要抓好LOG,做好初步分析。Android的问题,就发到Android的讨论组,高通的问题就提Case。一般高通的东西都很成熟了,问题不大,不过遇到问题可以抓好LOG后向他们寻求帮助。不过对于他们的自信我个人不敢苟同。因为我至少有两个项目经历告诉我,他们有时候处理问题并不是很有效。一个项目是国内的支持工程师没有得力支持。另一个是美国的工程师给的东西有BUG。所以我的感受是,就算是微软肯定也有BUG的,只是不明显罢了。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭