是现在市场上所有国内手机设计、制造商使用的最多的一个完整的手机产品解决方案,大部分做手机的技术人员都对此有接触和
了解。不过, 的整套软件系统十分庞大且复杂,很多刚接触这套系统的软件工程师一时不知如何进行配置和客户化定制。本文在此
对整个 软件系统的工程结构和配置进行了简单介绍,希望通过此文和大家相互交流 软件系统的维护和修改、定制方面的心得。
使用了 实时操作系统,在其上做了个内核抽象层的封装,以适应多种实时操作系统,如 、、。
整个软件系统包括 操作系统、平台设备驱动、协议栈、文件系统、、、 等。在这里 部分几乎包括了操作
系统内核、协议栈、文件系统之上的所有部分,其中 也在其中。
的 模拟版使用 的编译器和链接器生成, 版使用 的编译器和链接器生成。因为 的整个软件系统是一个很
庞大而且复杂的工程,并且要支持多个 的产品系列和多家客户的客户化支持,使用集成开发环境!"已经无法胜任,而且很难做
到整个工程的自动构建和资源、代码的生成。所以 的软件系统使用了 #$# 下的 % 开发工具链!$"来进行工程的管理、
配置和构建, 将 $ 放到了第三方工具中。另外还使用了 & 脚本来解析用户输入的命令行参数,因此第三方工具中还包含
了 '$(!#$# 下的 & 解释器"。不过,整个软件系统并没有使用 $ 的全部工具,好象只使用了 )* 这个工具,由
几个 *+ 控制了构建的过程,在编译和链接时根据最终生成 模拟版还是 版而分别调用 的编译器和链接器或
的编译器和链接器。
,接下来我们从具体的工程实践来看 的手机软件系统。
一. MTK 手机软件系统的目录结构简介
手机软件系统的主要目录如下所示,因整个工程的目录树非常庞大,为简单起见和减小篇幅,去除了在工程结构中相对不重要的目
录。
,
-..,/'01,
-..,2,
-..,&''$,
-..,&&$3,
-..,3',
-..,+4,
-..,'),
-,-..,&&,
-,-,5..,2067088,
-,-..,)),
-,-..,(,
-,-,-..,1,
-,-,-,5..,206701,
-,-,5..,$)40,
-,-,5..,9:,
-..,(,
-..,;,
-..,$,
-..,$$',
-..,$';,
-..,<),