MTK是现在市场上所有国内手机设计、制造商使用的最多的一个完整的手机产品解决方案,大部分做手机的技术人员都对此有接触和了解。不过,MTK的整套软件系统十分庞大且复杂,很多刚接触这套系统的软件工程师一时不知如何进行配置和客户化定制。本文在此对整个MTK软件系统的工程结构和配置进行了简单介绍,希望通过此文和大家相互交流MTK软件系统的维护和修改、定制方面的心得。
MTK使用了nucleus实时操作系统,在其上做了个内核抽象层的封装,以适应多种实时操作系统,如oscar、ThreadX、nucleus。整个软件系统包括nucleus操作系统、平台设备驱动、协议栈、文件系统、WGUI、MMI、J2ME等。在这里MMI部分几乎包括了操作系统内核、协议栈、文件系统之上的所有部分,其中WGUI也在其中。
MTK的PC模拟版使用VC的编译器和链接器生成,ARM版使用ADS1.2的编译器和链接器生成。因为MTK的整个软件系统是一个很庞大而且复杂的工程,并且要支持多个MTK的产品系列和多家客户的客户化支持,使用集成开发环境(IDE)已经无法胜任,而且很难做到整个工程的自动构建和资源、代码的生成。所以MTK的软件系统使用了windows下的GNU开发工具链(MinGW)来进行工程的管理、配置和构建,MTK将MinGW放到了第三方工具中。另外还使用了perl脚本来解析用户输入的命令行参数,因此第三方工具中还包含了ActivePerl(windows下的perl解释器)。不过,整个软件系统并没有使用MinGW的全部工具,好象只使用了make这个工具,由几个Makefile控制了构建的过程,在编译和链接时根据最终生成PC模拟版还是ARM版而分别调用VC的编译器和链接器或ADS1.2的编译器和链接器。
接下来我们从具体的工程实践来看MTK的手机软件系统。
一. MTK手机软件系统的目录结构简介
MTK手机软件系统的主要目录如下所示,因整个工程的目录树非常庞大,为简单起见和减小篇幅,去除了在工程结构中相对不重要的目录。
.
|-- Fast_DL
|-- ROM
|-- adaptation
|-- applib
|-- bootloader
|-- config
|-- custom
| |-- app
| | `-- TOP_6227_BB
| |-- common
| |-- drv
| | |-- LCD
| | | `-- TOP_6227_LCM
| | `-- image_sensor
| | `-- MT9D011
|-- drv
|-- fs
|-- inc
|-- init
|-- interface
|-- j2me
|-- kal
|-- make
| |-- applib
| | |-- applib.def
| | |-- applib.inc
| | |-- applib.lis
| | `-- applib.pth
| |-- bootloader
| |-- config
| |-- custom
|-- media
|-- mmi
|-- modis
|-- mtk_lib
| `-- MT6227
| `-- S01
| `-- gprs
| |-- abm.lib
| |-- adaptation.lib
| |-- applib_inet.lib
|-- nucleus
|-- nvram
|-- plutommi
|-- tools
MTK是联发科技股份有限公司的英文简称,英文全称叫MediaTek。 联发科技股份有限公司,创立于公元1997年,是世界顶尖的IC专业设计公司,位居全球消费性IC片组的领航地位。产品领域覆盖数码消费、数字电视、光储存、无线通讯等大多系列,是亚洲唯一连续六年蝉联全球前十大IC设计公司唯一的华人企业,被美国《福布斯》杂志评为“亚洲企业50强”。 联发科技作为全球IC设计领导厂商,专注于无线通讯及数位媒体等技术领域。公司提供的晶片整合系统解决方案,包含无线通讯、高解析度数位电视、光储存、高解析度DVD等相关产品,市场上均居领导地位。 联发科技成立于1997年,已在台湾证券交易所公开上市,股票代号为2454。公司总部设于台湾,并设有销售及研发团队于中国大陆、美国、英国、爱尔兰、丹麦、印度、日本、韩国以及新加坡。 成立日期:1997 年5 月28 日 资 本 额:人民币24.3亿元 总 部:台湾新竹科学工业园区 子 公 司:中国合肥/深圳/北京/美国/印度/新加坡 全球员工人数: 2504人(2007年8月31日) 中国大陆区人数:670人(2007年8月31日) 官方网站: www.mtk.com.tw www.mediatek.com
MTK是联发科 现在的山寨机全部用他的系统
你用NOKIA比一下国产机,你就知道了,