MTK笔记

来源:互联网 发布:雅可比矩阵中的d 编辑:程序博客网 时间:2024/06/06 01:21
L4是MMI/AT和协议栈的适配层。
ATCI是AT命令解析器。
UEM是用于抽象如键盘、LED、通用输入/输出等基本设备,是用户设备模块。
PHB就是电话本。
SMU是安全管理单元(SIM、STK)。
CSM是呼叫服务管理。
RAC是登记访问控制。
SMSAL是SMS应用层。

内核服务包括定时器、任务管理和进程间通信、资源和内存管理、日志和异常处理。OSL是封装OS API的层,而KAL则是封装内核的层,应当在OSL以上来开发。

数据类型定义(VRE的头会比MTK更乱吗?)

* 基本数据类型:kal_non_specific_general_types.h。
* KAL相关的定义:kal_release.h。(好变态的名字,对不对啊?)
* MMI任务中和OSL相关的数据类型定义:PixtelDataTypes.h。

任务之间的通信是通过SEND_ILM来完成的,从实现来看是通过一个消息队列来完成的,关注struct ilm_struct定义,SAP是业务访问点。发送消息之前,首先要把本地参数缓冲区分配出来,然后赋值发送请求。

Highlight事件是用户通过键盘触发的事件,与提示信息关联。

SetProtocolEventHandler实际上就是MMI FRAMEWORK提供的回调函数注册工具,与MMI相关的所有事件都可以通过这个函数登记——包括网络。

按键码需要注意的几个特殊键:KEY_END是挂机键、KEY_SEND是摘机键。

MMI字符串资源的加入:

1)在ref_list.txt中加入字符串。
2)把字符串ID加入到ID枚举中。
3)使用ADD_APPLICATION_STRING2来加入字符串。
4)使用GetString()获得字符串。
5)使用APP_BASE来保证字符串ID的唯一性。

图片资源的加入:

1)把图片加入应用程序目录。
2)把图片ID加入枚举类型中。
3)使用ADD_APPLICATION_IMAGE2来加入图片资源。
4)绘图时就可以直接使用图片ID来绘制了。
5)使用APP_BASE来保证图片ID的唯一性。

MMI各模块对应的目录:

Idle Screen:plutommi/mmi/IdleScreen
Main Menu:plutommi/mmi/MainMenu
Phone Book:plutommi/mmi/PhoneBook
Messages:plutommi/mmi/Messages
Call History:plutommi/mmi/Calls
Call Management:plutommi/mmi/CallManagement
Setting:plutommi/mmi/Setting
File Manager:plutommi/mtkapp/FileMgr
Fun &Games:plutommi/mmi/FunAndGames
User Profiles:plutommi/mmi/PROFILES
Organizer:plutommi/mmi/Organizer
Services:plutommi/mmi/SAT
Shortcuts:plutommi/mmi/Shortcuts
Audio Player:plutommi/mtkapp/AudioPlayer
Camera:plutommi/mtkapp/Camera
FMRadio:plutommi/mtkapp/FMRadio
Photo Editor:plutommi/mtkapp/PhotoEditor
Sound Recorder:plutommi/mtkapp/SoundRecorder

MMI特性定义文件在mcu/plutommi/Customer/CustResource/MMI_features[PROJ].h。

菜单的定义在GlobalMenuItems.h中。