MTK是什么操作系统(详细)(mtk功能机系统)
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
目前国内大部份手机都是台湾联发科的MTK芯片固化的MTK通用操作系统,该系统好处是成本低,产品研发速度块,用很低的成本单芯片实现很多功能,超长待机p3p4手写大屏幕大喇叭GPS收音机蓝牙双卡双待等等功能都可以轻松实现,非常适合中国国情,让广大劳动群众得到了物美价廉的手机产品,但是功能有是有但都不怎么强大!不过最近MTK新推出了6239多媒体芯片,该系统强化了拍照、拍摄、音乐、运行速度等功能。并支持500万像素的拍照功能,达到了30帧的视频播放.
MTK是现在市场上所有国内手机设计、制造商使用的最多的一个完整的手机产品解决方案,包括大部份的所谓台版机都是采用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
|`--MT622