2008-03-2621:40MTK使用了nucleus实时操作系统,在其上做了个内核抽象层的封装,以适应多种实时操作系统,如oscar、ThreadX、nucleus。整个软件系统包括nucleus操作系统、平台设备驱动、协议栈、文件系统、WGUI、MMI、J2ME等。在这里MMI部分几乎包括了操作系统内核、协议栈、文件系统之上的所有部分,其中WGUI也在其中。MTK的PC模拟版使用VC的编译器和链接器生成,。因为MTK的整个软件系统是一个很庞大而且复杂的工程,并且要支持多个MTK的产品系列和多家客户的客户化支持,使用集成开发环境(IDE)已经无法胜任,而且很难做到整个工程的自动构建和资源、代码的生成。所以MTK的软件系统使用了windows下的GNU开发工具链(MinGW)来进行工程的管理、配置和构建,MTK将MinGW放到了第三方工具中。另外还使用了perl脚本来解析用户输入的命令行参数,因此第三方工具中还包含了ActivePerl(windows下的perl解释器)。不过,整个软件系统并没有使用MinGW的全部工具,好象只使用了make这个工具,由几个Makefile控制了构建的过程,。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| | |--| | |--| | |--| | `--| |--bootloader| |--config| |--custom|--media|--mmi|--modis|--mtk_lib| `--MT6227| `--S01| `--gprs| |--| |--| |--.lib|--nucleus|--nvram|--plutommi|--toolsFast_DL是开发时下载二进制映像和资源等的相关文件的目录。ROM是固化在ROM(可能是Flash的只读区)中的相关代码和头文件的目录,在给客户的发布版中大都只有一些导出函数的头文件,其中似乎还有一个跳转表的东西ROMSA_FuncTable。kal是上面所说的内核抽象层
MTK手机软件系统工程和目录结构简介 来自淘豆网www.taodocs.com转载请标明出处.