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
Fast_DL是开发时下载二进制映像和资源等的相关文件的目录。ROM是固化在ROM(可能是Flash的只读区)中的相关代码和头文件的目录,在给客户的发布版中大都只有一些导出函数的头文件,其中似乎还有一个跳转表的东西ROMSA_FuncTable。
kal是上面所说的内核抽象层的相关文件的目录。nvram是存取NV中的内容的相关代码的目录。nucleus是nucleus实时操作系统的目录,在给客户的发布版中只有头文件。drv是驱动相关的代码的目录。fs是文件系统相关的目录,好像只支持fat格式的。tools是工程相关工具的目录,包括MinGW。interface是系统各层的接口的目录,还包含重要模块的接口,如bluetooth、WIFI。config是一些系统和任务(task)相关头文件的目录,感觉不像是配置相关的目录。inc是中断控制和寄存器地址相关头文件的目录。
modis是PC模拟版的相关目录,包括了虚拟的GSM网络、SIM卡等,以及模拟器需要的字符串、图片等资源,还有PC模拟版的库、VC的相关工程文件。
mmi是一个缺省的空的MMI应用的目录,其中只是创建了一个什么也不干的MMI任务(线程),处理下层发送上来的消息。plutommi是pluto组织(也可能是原本的mmi应用的代号)所写的整套MMI应用所在的目录,而实际上也就是我们需要定制和修改的MMI应用。其中的mmi目录中是pluto原本写好的mmi应用,mtkapp中是mtk后来所写的mmi应用,而Customer中是图片、字符串等资源的定制目录,大部分只是修改了字符串和图片、声音等的项目只要修改这个目录下的资源即可。
mtk_lib中是已经编译链接好的ARM版的库。因整个工程过于庞大,若完整的全新构建一次需要很长的时间。为了减少构建的时间,将一些已经完全调试稳定且基本不再改动的库和MTK不开放源代码的库放到这个目录,这样每次构建时只需要将这些库和其他编译好的库链接起来就可以了。这些库一般是ARM版的,若有thumb版的,则再增加一个和ARM版相对的thumb版的库,一般叫第二个库,如media_sec.lib就是thumb版的多媒体库。
custom是所有客户化项目的驱动程序及系统和MMI应用定制相关的文件的目录。如你的手机主板的RAM、FLASH等存储器的尺寸和地址空间有改动,MMI应用的特性有不同,蓝牙、WAP的配置有变化,或是有项目相关的新应用,其相关文件都是放在这个目录中和特定项目对应的目录下,如项目CUST1_6227,则放在CUST1_6227_BB下。要注意的是custom也作为一个模块存在,这使得其可以通过make目录中的custom模块的四个文件进行客户化的一些定制。
applib、bootloader、init、media、j2me等是这个系统各个层次的相对独立的模块各自的目录,其实drv和fs等目录也可以看成是相对独立的模块,只不过其更重要些而在前面介绍。这些目录包含了这些模块的C文件和头文件。每个目录(模块)都在下面的make目录中有相对应的目录保存构建时的编译链接配置文件。
make是工程构建过程中最重要的一个目录了,工程构建用的Makefile和一些中间配置文件将放在这里,Makefile在讲解构建过程时再具体介绍。在每个模块对应的目录下,都有四个文件控制了编译链接时的过程和配置。分别是:
.def文件中是该模块构建过程中用的条件定义。
.inc文件中是该模块所有用到的头文件所在目录的路径,是相对整个工程根目录的路径。
.lis文件中列出了该模块的所有C文件,其路径也是相对整个工程根目录的。
.pth文件中是该模块的所有C文件所在目录的路径,是相对整个工程根目录的路径。
build目录中保存了构建过程中产生的目标文件和库文件,及其他一些中间文件。
分享到:
相关推荐
MTK 手机软件系统工程和配置简介 MTK 手机软件系统是一种完整的手机产品解决方案,广泛应用于国内手机设计和制造业。然而,MTK 的软件系统非常庞大和复杂,许多软件工程师在初次接触时感到困惑。因此,本文将对 MTK...
MTK手机软件系统的主要目录结构如下所示: * Fast_DL:开发时下载二进制映像和资源等的相关文件的目录 * ROM:固化在ROM(可能是Flash的只读区)中的相关代码和头文件的目录 * adaptation:适配层的相关文件的目录 ...
总的来说,MTK手机软件系统是一个高度集成且复杂的平台,涉及操作系统、驱动程序、应用程序等多个层面。开发者不仅需要掌握基本的编程技能,还需要对嵌入式系统、实时操作系统以及手机平台的工作原理有深入理解,...
MTK手机软件的核心是其软件架构,主要包括操作系统(OS)、协议栈、驱动、MMI以及一些高级应用如WAP和Java等。下面我们来详细解析各个组成部分的具体功能与作用。 ##### 1. 操作系统 (OS) MTK采用了Nucleus OS作为其...
MTK的手机软件系统的目录结构主要包括Fast_DL、ROM、adaptation、applib、bootloader、config、custom、drv、fs、inc、init、interface、j2me、kal、make、media、mmi、modis、mtk_lib、nvram、plutommi、tools等...
### MTK手机软件开发教程详解 #### 一、编译工具与辅助工具 在MTK手机软件开发过程中,首先需要准备好一系列的编译工具和辅助工具。这些工具对于完成整个开发流程至关重要。 - **ADS1.2 (Advanced Debugging ...
"很全的MTK手机开发全套培训资料"涵盖了MTK手机开发的各个方面,是学习和理解MTK平台开发的重要资源。 这套培训资料可能包括以下几个核心知识点: 1. **MTK平台架构**:MTK手机平台通常由应用处理器、基带处理器、...
MTK手机编程主要涉及到的是基于联发科(Mediatek)平台的移动设备软件开发,MRP源码是其中一种重要的资源。MRP全称Mobile RunTime Package,是MTK平台上的应用程序运行格式,用于在MTK手机上运行游戏、应用等。这个...
MTK手机软件系统的目录结构具有层次性,主要目录包括: - **Fast_DL**:用于开发时下载二进制映像和资源。 - **ROM**:包含固化在ROM中的代码和头文件。 - **adaptation**:适配层代码,适应不同硬件和客户需求。 -...
MTK手机固件是联发科处理器驱动和操作系统的核心组成部分,它包含了设备的各种硬件驱动程序、系统设置、用户界面以及其他关键功能。这些固件通常以BIN文件的形式存在,因为它们是二进制数据的集合,可以直接被设备的...
在IT行业中,手机软件备份是保护用户数据和设备安全的重要环节,尤其是在使用特定平台如MTK(MediaTek)的手机时。MTK是中国台湾的一家知名芯片制造商,其芯片广泛应用于许多国产智能手机。本篇文章将深入探讨如何在...
#### 一、MTK手机软件系统的目录结构简介 MTK(MediaTek)作为市场上广泛采用的手机解决方案之一,其软件系统极为复杂且功能全面。为了更好地理解MTK软件系统的工作原理及组织结构,本节将详细介绍其主要目录结构。...
源代码是软件开发的基础,MTK手机QQ的源代码包含了所有必要的组件,如网络通信模块、用户界面元素、本地化支持等。开发者需要熟悉C/C++编程语言,因为这些通常是嵌入式系统中使用的主流语言。源代码分析和调试是移植...
为了更好地理解和利用其特性,本文将深入探讨MTK6577 Android源代码目录的结构与各个组成部分的功能。 #### 1. makeMtk - **功能概述**:作为整个工程编译或构建的入口,makeMtk负责管理项目的编译过程。 - **关键...
MTK平台硬件培训.ppT mtk手机工程模式详表.doc ...MTK手机软件系统工程和目录结构简介.doc 添加菜单方法.doc MTK平台发展及各芯片功能介绍.doc Modis使用简介.doc MTK 开发入门资料.doc 。。。。。。。