欢迎来到天天文库
浏览记录
ID:37639315
大小:361.86 KB
页数:7页
时间:2019-05-27
《Mediatek平台软件(驱动)开发总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Mediatek平台软件(驱动)开发总结关于Mediatek方案总所周知,Mediatek平台凭借其低成本、高集成以及较低的开发门槛和较短的开发周期受到众多(手机、平板)方案公司的青睐。目前Mediatek主要涉及移动通讯(MobileCommunications):包括智能手机和平板电脑;家庭娱乐领域(HomeEntertainment):包括DVD、数字电视等。在智能手机领域,Mediatek自从2009年发布第一个智能手机平台,到目前已经发布了包括单核、双核、四核、八核,众多的手机平台;而对于需求日趋旺盛的平板电脑领域,Mediatek也是迎合市场发布了MT8382、MT8389等一
2、系列平板电脑平台。其实,由于现在平板和手机的界线越来越模糊,功能基本一致(平板也能打电话),因此Mediatek发布的平板芯片基本上是在手机芯片的基础上稍加修改而来(或是只是单纯换一个名字,如MT6589和MT8389)。不过对于一般的平板产品来说,都会追求更大的屏幕和良好的续航性,但是由于平板有更大的尺寸,因此可以通过增加电池容量来解决续航性的问题。在家庭娱乐领域,Mediatek也有所涉猎。如DVD,主要集成音频/视频解码和微处理器的MT1389方案;另外,在智能电视领域,Mediatek推出的MT5396等平台也在长虹、海信等品牌发布的智能电视产品上得到了应用。从发布的一些参数来看,
3、这款芯片为双核心、搭载具有一定3D性能的GPU(Mali-400MP),支持摄像头(ISP能力有限),应该是对于智能电视领域量体裁衣的一个平台。如果其他产品使用Mediatek平台,对于一些不用的功能,首先在硬件上弃用即可(去掉底层驱动);在软件方面,可以禁掉相应服务和删除对应APK。由于Android系统对各个功能都是模块化管理,因此理论上可以删减各个不需要的功能模块。项目流程站在软件(驱动)开发人员的角度来说,一个完整的Mediatek方案项目大致流程为:①选择某个平台:这个选择可能是方案公司考虑Mediatek各个平台稳定度,开发前景、价格因素做出的选择;也可能是客户根据市场情况做出
4、的决定;②外围芯片、设备的选取:包括FLASH(Mediatek会定期release一个表格,关于每个平台上认证过的每个FLASH型号)、LCD、camera(每个平台支持的LCD分辨率、camerasensor像素都不同)、TouchPanel、常用传感器(Gsensor、Psensor、Lsensor)、PMIC、WiFi&BT&FM芯片等;③获取代码:向Mediatek获取特定平台特定Android版本的完整源码,如果某个版本出现平台问题,Mediatek会释放相关patch;方案公司可以根据自身需要选择打上对应patch。如果在硬/软件的开发过程中出现问题,可以向Mediatek寻
5、求帮助。主要途径有:1.对于常见问题,Mediatek会整理成FAQ放到在线支持网站(mtkonline)。因此,可以先尝试搜索是否已经有对应的解决办法;2.对于一些常用功能模块:camera、FuelGauge等,Mediatek还会有专门的介绍文档和一些视频课程(mtkonline)。因此,也可以通过学习以上资料找到解决问题的办法;3.另外,可以在线向Mediatek提交eService。详细描述出现的问题并提供相关的文件、Log,Mediatek有专门的支持团队在一定时间内配合方案公司分析解决。主要调试/开发模块LCM对于方案公司的开发人员(驱动)来说,对于LCM的工作主要是在Med
6、iatek的代码架构下进行兼容和优化。和其他所有模块一样,Mediatek的软件架构是尽可能的把所有无需客制化的代码划分出来,从而减少对于下游开发人员的工作量。Mediatek封装了一个结构体给开发人员,包含了所有可能需要客制化的函数的指针。对于不用的IC,只需要对应实现这些函数即可(图1-1)。图1-1MTK封装的关于LCM函数指针结构体那么Mediatek对于底层LCM代码的架构可以见图1-2:在find_lcm_driver中就是它去遍历一个本地LCM_DRIVER的指针数组的过程;然后根据客制化的配置信息,分别去初始化平台对应的接口参数;最后做framebuffer的注册。图1-2
7、MTK底层LCM代码流程草图常见问题:1.对于新兼容的LCM,需要确保LCM_DRIVER中的compare_id函数书写正确;或者在调试初期直接返回真。因为在之前说过的MTK在遍历LCM_DRIVER的本地数组时,就是通过回调compare_id来判断设备是否正常的;2.对于LCM的时序和其他参数配置,在LCM_DRIVER中的get_params;对于不同的平台不同的接口,MTK一般都会有配置的文档可以查阅;3.关于
此文档下载收益归作者所有