- 博客(90)
- 资源 (4)
- 收藏
- 关注
原创 MTK HTTP 协议之内核
#include "nw_define.h"#include "nw_interface.h"#include "Vmsys.h"#include "Stdio.h"#include "Soc_consts.h"#include "String.h"//#include "Soc_sap.h"#include "MMI_include.h"//#include "ProtocolE
2012-08-13 10:08:53
2939
原创 MTK HTTP 协议之时间操作
整的有点复杂,不习惯的可以简化 nw_time.c #include "nw_define.h"#include "Vmsys.h"NW_TIMER_DATA nw_timer;#define NW_HTTP_TIMER_ID 125#define NW_TIMER_SUPPORT_MAX (16)#define NW_TIMER_MAIN_LOOP (10
2012-06-28 17:18:25
1117
原创 MTK HTTP 协议之日志写入
将log日志写入文件 nw_log.c #include "kal_non_specific_general_types.h"#include "stack_config.h"#include "kal_trace.h"#include "DateTimeGprot.h"static char nw_log_buf[4 * 1024];#define NW_LOG_FI
2012-06-28 17:12:13
1182
原创 MTK HTTP 协议之文件操作
相关系统文件操作封装 nw_fs.c #include "nw_define.h"#include "Fs_errcode.h"#include "Vmsys.h"static nw_uint32 nw_file_get_open_flag(const char* mode){ nw_uint32 flag = 0; switch (*mode) { case
2012-06-28 16:26:32
1259
原创 MTK HTTP 协议之内存分配
相关系统内存函数封装nw_mem.c#include "nw_define.h"#include "Vmsys.h"#include "Stdlib.h"#include "MMI_include.h"#include "Med_utility.h"/* *@brief memory malloc *@param size *@return head address
2012-06-28 16:24:56
1051
原创 MTK HTTP 协议之配置设置
主要配置相关MTK版本和日志宏 nw_config.h #ifndef __NW_CONFIG_H__#define __NW_CONFIG_H__#define APPLICATION_VERSION v0.1//MTK版本定义#define NW_MTK_07B (0x0816)#define NW_MTK_08A (0x0852)#define NW_MT
2012-06-28 16:16:22
1177
原创 MTK HTTP 协议之数据结构及枚举定义
做个记录也算是一个保存,有需要的朋友可以参考nw_define.h用来保存数据结构和枚举 #ifndef __NW_DEFINE_H__#define __NW_DEFINE_H__/* standard c start */typedef char nw_int8;typedef signed char nw_S8;typedef unsigned char nw
2012-06-28 14:57:47
1932
原创 C++ zlib 压缩解压文件
对C++不是很熟悉,所以有些代码比较冗余,知道流程就行。 选择需要压缩的文件按钮的代码 void CzlibdemoDlg::OnBnClickedSel(){ // TODO: 在此添加控件通知处理程序代码 CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.D
2012-04-09 15:59:32
15748
原创 MTK zlib uncompress 解压文件
MTK的工程使用的是07B的,如果是其他工程的话,应该是需要适配一下的。 还需要说明的是我在.gz的开头分配了4字节用来保存原始文件的大小。看代码应该就知道了。 void zlibEnter(){ appzlib_register(malloc,free); zlibuncompress();} void zlibuncompress()
2012-04-09 15:40:14
2977
原创 MTK 工程指令显示信息
1.在SSCStringHandle.c文件ssc_table1数组里面增加一项 {"*#94264983#", MMI_FALSE, nb_sys_show_p_info}2、在nb_sys.c里面增加如下代码,目前只显示p1,p2,p4,p7,需要别的信息可以加,但注意缓冲区长度问题,不要太长了#if 1#include "SSCResDef.h"char nb_
2011-12-29 10:07:59
1243
原创 展讯 简单将TRACE写人T卡文件
先贴上函数实现 c_int32 jy_log_file_handle = 0;c_int32 jy_log_count = 0; const c_wchar JY_LOG_FILE_NAME[] = L"E:\\jy.txt";static char jy
2011-08-16 21:57:26
1620
转载 MTK 常用函数及宏定义
一、屏幕常用类:clear_screen//清屏entry_full_screen//全屏幕gui_BLT_double_buffer//重绘二、图形类:GDI:1、颜色格式转换(宏):GDI_RGB_TO_BUFFER_FORMAT(R,G,B)GDI_BUFFER_FORMA
2011-07-21 10:44:55
2350
转载 MTK 读取MP3生成资源文件
<br />资料转载自网上 自己进行了小修改 能生成资源但没进行验证<br /> 转载来自:http://blog.youkuaiyun.com/blogercn/archive/2009/08/10/4432331.aspx<br /> <br /> <br />#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <windows.h>#define FORMAT_IMY (18) #define FORMAT
2011-01-07 18:02:00
1486
原创 MTK 给工程配置分布式(IncrediBuild)编译
资料来源网上 工程6235 08A 验证通过1. make文件夹里面的Gsm2.mak修改make工具的编译项为IncredBuild增加运行参数#@echo tools/make.exe -fmake/comp.mak -r -R COMPONENT=$* ... $(strip $(COMPLOGDIR))/$*.log @if /I %OS% EQU WINDOWS_NT / (if /I $(BM_NEW) EQU TRUE / (if not exist $(strip $(C
2011-01-05 18:42:00
2310
原创 MTK 根据指定时间隐藏显示菜单
<br />本文只限技术交流 资料来源同事<br /> <br />1、增加NVRAM数据定义:<br />修改文件:/custom/common/pluto_mmi/Custom_mmi_default_value.h<br />在枚举"BYTEDATA"中的语句"NVRAM_LAST_BYTE_ELEMENT"前加入:<br /> <br />#ifdef _MENU_JY_HIDEMENU_ JY_NVRAM_VIEW_TIME_FLAG,#endif<br /> <br /> 2、设置
2011-01-05 14:47:00
1300
1
原创 MTK 根据开机次数隐藏显示菜单
本文只限技术交流1、增加NVRAM数据定义:修改文件:/custom/common/pluto_mmi/Custom_mmi_default_value.h在枚举"BYTEDATA"中的语句"NVRAM_LAST_BYTE_ELEMENT"前加入:#ifdef _MENU_JY_HIDEMENU_ JY_NVRAM_VIEW_COUNT,#endif 2、初始化NVRAM数据并开始记数:1)修改文件"MMITask.c"在函数void InitAllApplicatio
2011-01-05 09:27:00
879
1
原创 MTK 根据通话时间隐藏菜单
本文只限技术交流#include"CallsStruct.h"#include"mtpnp_pfal_master_callhistory.h"#include "app_datetime.h"#define JY_HIDEMENU_TIME_HOURS 0 //设置小时#define JY_HIDEMENU_TIME_MINS 1 //设置分钟static call_history_context_struct g_CallHistory_inf; //卡1通
2011-01-04 16:44:00
1215
1
原创 MTK 第三方.a库文件移植
<br /> 比较简单的移植 是一个简单的俄罗斯方块 平台是6225 08b的<br /> <br /> 将俄罗斯方块的.a库随便放在一个模块下面 我的放在vendor/HaiApp/fk.a<br /> <br /> 然后在option.mak里面添加COMPOBJS += vendor/haiapp/fk.a<br /> <br /> 因为只是为了看效果 所以修改了一下快捷方式 直接调用库函数的入口<br /> <br /> 在Shortcuts.c 文件的
2010-09-27 10:58:00
1932
转载 MTK 第三方库配置
<br />转载来自:http://hi.baidu.com/wang_zan/blog/item/58b83bd363dde2043bf3cf3b.html<br /> <br /> <br /> MTK手机软件系统的大部分配置都已经确定,基本上不需要再改变,一般是MTK发布新的版本时会作些改变,客户不大需要关心。最主要的配置文件是Option.mak,而客户化定制需要需要修改的主要是<costomer>_<project>.mak、REL_CR_MMI_<project>.mak这两个文件。<br /
2010-09-16 10:21:00
2000
原创 MTK 轨迹球(JOG_BALL)
声明:本资料来自公司同事整理1.轨迹球(JOG_BALL)1.1.JOG_BALL原理如下图所示,轨迹球里面有4个霍尔传感器+4个小的径向充磁的小磁铁。当从上到下推球或者从左到右推动球时,如果球接触到齿条,并带动齿条旋转一个小角度,此时齿条上的磁环也跟着旋转同样的角度,此时磁铁会转动另一个极性(南极北极的切换或者北极南极的切换),这样磁通量会发生变化,由磁信号转化的一个电脉冲信号将被释放出,电平变化会触发相应的霍尔元件对应的中断,上层会根据报上的中断来执行上下左右等操作。1.2 JOG_BALL代码流程和
2010-08-12 09:28:00
3470
2
转载 成长的寓言:做一棵永远成长的苹果树 , 孩子为谁而玩
一棵苹果树,终于结果了。第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年,它结了5个苹果,4个被拿走,自己得到1个。“哈哈,去年我得到了10%,今年得到20%!翻了一番。”这棵苹果树心理平衡了。但是,它还可以这样:继续成长。譬如,第二年,它结了100个果子,被拿走90个,自己得到10个。很可能,它被拿走99个,自己得到1个。但没关系,它还可以继续成长,第三年结1000个果子……其实,得到多少果子不是最重要的。最重要的是,苹果树在成长!等苹果树长成参天大
2010-08-12 09:13:00
1122
1
原创 MTK LCD 和 CAMERA 相关问题
声明:资料来自公司同事整理1.X15-ov7670(back)&&ov7690(front)前后切换会死掉,id读错;在camera_hw.c文件中改成默认 //治标方法,问题在i2c/*如果两个sensor都不能识别,默认进入OV7690,并返回不能识别摄像头*/ #if defined(__RGT_X15_ADDX_MLA__) if(cis_module_get_cur_module() == SENSOR_1) {
2010-08-11 11:51:00
5624
转载 MTK 编译命令详解
<br />1、new<br /> 功能:全新开始构建整个工程的ARM版,包括图片、声音、字符串等资源都要重做。在构建工程过程中,清除所有的目标文件,库文件,日志文件等。New指令还会自动创建必要的目录、移除临时文件和中间脚本、更新日志文件。<br /> 过程简要说明:new->cleanall->sysgen->ckscatter->mmi_feature_check->asngen->codegen->asnregen->operator_check_lit->$(BTLD_BIN_F
2010-08-09 15:33:00
2511
转载 MTK 手机指令集锦
<br />*#06# IMEI串号<br />*#8375# 软件版本<br />*#87# 手机功能测试<br />*#0000#(+拨号键) 设置为默认语言<br />*#0086#(+拨号键) 设置为简体中文<br />*#0044#(+拨号键) 设置为英文<br />*#0886#(+拨号键) 设置为繁体中文(没有字库,出错)<br />*
2010-08-09 15:31:00
1839
1
原创 ClearCase 基本操作介绍
<br /><br />1. 新增视图(View)<br /> <br />1.Path: a 。Start >Programfiles> Rational >ClearCase >ClearCase Explorer><br />Toolbox tab >Base ClearCase > Creat View. <br /> b.使用Cleartool:mkview –tag <VIEW_NAME><br /> <br />2.
2010-08-03 09:19:00
7197
转载 MTK 的控件和窗体绘制机制以及控件、窗体的事件响应机制
<br />声明:本资料来自网上<br /> <br /> <br /> <br />mtk的控件和窗体绘制机制以及控件、窗体的事件响应机制<br /> <br />一、 entryfunction<br /> <br />在文档里面我们看到下面的条款:<br /> 以下引自:writeapplications using pixtel MMI platform.pdf<br /> <br />Before display the new screen over
2010-07-29 10:52:00
1322
转载 MTK 内存 任务管理和定时器消息机制
<br />声明:资料来源于网上<br /> <br /> <br /><br />1 内存管理。<br /> <br />平台不提供动态分配内存的方式;应用程序需要使用动态分配内存时,可以采用以下几种方式:<br />与系统其他模块共享内存,典型的是使用MED模块的内存;<br />定义一个静态数组,交给系统adm托管,然后调用kal_adm_alloc、kal_adm_free等内存操作函数实现动态内存分配;<br />定义一个静态数组,应用自己实现基于此数组的分配和管理,也就是实现自己的内存管理模块。
2010-07-29 10:05:00
2219
3
转载 MTK 按键处理流程和高亮处理机制
声明:根据网上资料整理1.按键处理流程主要简单分析一下左右软件的事件,以左软键事件为例牵涉到的常用函数: voidSetKeyHandler( FuncPtr funcPtr, U16 keyCode, U16 keyType ); voidSetLeftSoftkeyFunction( void (*f)(void), MMI_key_event_type k ); voidChangeLeftSoftkey( U16 s, U16 i );1. SetKeyHa
2010-07-29 09:51:00
4392
原创 MTK 铃声音量每级增益值修改为使用Audio player 16级增益值的方法
<br />声明:本文来自公司同事整理<br /> <br />声音通道简化后如下图,软件有两个控制音量的寄存器可以设置<br /> <br /> <br /> <br />情景模式--〉音量--〉铃声--〉(1--7),这里是对模拟增益做7级设置 Audio player/video player 的音量控制实际上是对模拟增益做16级设置(0-15),只是我们大多数项目把audio player音量条做成了0-7,对应16级设置的0,2,4,6,8,10,12,15。 由于相
2010-07-28 18:19:00
2572
原创 P1调试出现问题解析
<br /> 声明:本资料来自公司同事整理<br /> SCCB:简单说跟I2C是相同的一个协议。 SIO_C和SIO_D分别为SCCB总线的时钟线和数据线。SCCB控制总线功能的实现完全是依靠SIO_C、SIO_D两条总线上电平的状态以及两者之间的相互配合实现的。其支持两种地址形式:①从设备地址(ID Address,8bit),分为读地址和写地址,高7位用于选中芯片,第0位是读/写控制位(R/W),决定是对该芯片进行读或写操作;②内部寄存器单元地址(Sub_ Address,8bit),用于
2010-07-22 15:52:00
1409
原创 MTK中MMI_Task的消息机制
<br />声明:本资料来自公司同事整理<br /><br />在此先简单介绍一下,Task是一个具有一定封装性的软件模块,是操作系统层面的概念,可以把它理解为一个独立的进程。<br /> 具体的调用流程:<br /> StartTimerèStartMyTimerèStartMyTimerInt(经过封装后)èL4StartTimerè最后还是回归到操作系统的内部时钟(需要进一步研究)。<br /> <br />以A5上的Phonebook备份功能为例<br /> <br />入口
2010-07-22 15:40:00
3747
原创 GSM NETWORK 浅析
<br />声明:本资料来自公司同事整理<br /> <br /><br /> <br />MS:普通移动通讯终端<br />BTS: 小区基站<br />BSC: 基站控制中心<br />MSC: 移动交换中心<br />VLR: 拜访位置寄存器<br />EIR: 设备标识寄存器<br />AUC: 鉴权中心<br />HLR:归属位置寄存器<br /> <br />简单的流程:<br />N个MS通过基站(BTS)接受和发送由BSC来控制的信息,而这些信息有MSC来逻辑控制,
2010-07-22 15:36:00
1798
原创 MTK 利用SIM-ME LOCK锁sim卡的方法
声明:本资料供公司同事提供在custom_nvram_sec.c里面进行配置 例子如下(支持双卡): NVRAM_EF_SML_DEFAULT[0] 代表卡1 配置,NVRAM_EF_SML_DEFAULT[1] 代表卡2 配置 const nvram_sml_context_struct NVRAM_EF_SML_DEFAULT[2] = { //卡1的配置{ SML_MAGIC_HEAD_VALUE, #ifdef CUSTOM_SML_DEFAULT CUST
2010-07-16 10:32:00
17122
6
原创 MTK 音频和BMT简介
<br />声明:本资料来自公司同事整理提供<br /> <br />1 音频的通路有两种:<br /> i. T卡-->内存-->DSP解码-->PCM信号--> 模拟基带(ABB)--> [外部功放]-->输出<br /> ii. FM/TV chip-->模拟基带(ABB)--> [外部功放]-->输出<br />注:由于耳机功率相对较小所以在驱动耳机时只需要ABB内部的一级放大即可,二在驱动speaker
2010-07-16 09:25:00
7697
4
原创 MTK 手机开发小技巧(3)
<br />声明:本资料归本公司同事整理提供<br /><br />修改默认输入法<br />方法1:<br />common_mmi_cache_config.c<br /> <br />NVRAM_SETTING_PREFER_INPUT_METHOD 默认值<br /> <br />延伸:<br />common_mmi_cache_byte<br />默认语言:NVRAM_SETTING_LANG<br />默认城市:CURRENT_CITY<br />默认java的网络参数配置:<br />
2010-07-08 19:03:00
4198
原创 MTK TP Driver Tool Vibrator Speaker介绍
<br />声明:资料归本公司同事整理提供<br />1.TP<br />LCD接口上一般有四根模拟信号管脚(X+/X-Y+/Y-)。<br />在TP上的触摸转换成X/Y的模拟信号,该信号通过TP IC的ADC采样后转化为触屏的(x,y)坐标值。<br />触屏都有X/Y两层,有的还有Z轴,用于检测触屏压力。<br />TP IC经常用到的是6个管脚,分别是SPI接口的DIN,DOUT,DCLK,CS管脚和指示TP IC内部是否忙碌的BUSY管脚,以及1个中断INT管脚,用于提示BB处理触屏信号到来。有些
2010-07-08 19:00:00
3495
原创 MTK P1调试基本步骤
声明: 本资料来自公司同事整理P1调试基本步骤 P1验证是在项目立项之后,项目PCBA第一次整体的驱动调试和测试,用来验证硬件/射频/布板等是否满足设计要求,P1验证结束后继续项目软件开发和测试。一般如果该项目之前有类似项目会选择使用以前项目的代码合入新驱动的方式进行调试和测试,提高MMI的继承性。P1调试步骤: 1领板子,把所有的硬件材料准备好,以及软件版本,原理图,PCB,键盘等交给工程师配置好,最好自己能完成。 2 把memory 配置好 3 屏和背光配置一下。 4 Speaker 音频播放打开
2010-07-02 11:39:00
3235
原创 MTK 开发流程和开发环境小记
声明:资料来自公司同事整理一、 MTK的框架理解 MTK手机开发平台是由MediaTek研发的一套手机开发平台,在MediaTek的源代码中封装了手机的的一些基本的功能,我们公司MMI就是在MTK源码的基础上针对不同的客户群体需求进行软件开发(包括调整UI资源、封装SP、相应应用程序)。 MTK的主要框架如下:PS:MMI Application Layer:包含一些用户自定的应用程序。UI Layer:封装一些与UI相关的函数Framework:封装消息管理和事件
2010-07-01 11:34:00
10441
2
原创 MTK 如何快速上手一个手机平台
假如你以前在其它手机平台上开发过MMI APP,现在公司要更换手机平台,你如何能快速了解新的手机平台? 首先,你要有一个该平台的运行环境(象MTK,展讯都提供一套完整的软件方案)。经过简单的调试,该运行环境编译通过。 其次,找出手机软件的运行入口。所有的手机启动过程如下:开机 ---〉初始化硬件设备----〉初始化软件(全局变量,读取nv数据等)----〉开机动画,搜寻网络,Sim卡等--->Idle界面。在vc工程下,你可以搜寻"Init","Initialize","start","task
2010-07-01 10:40:00
2125
原创 MTK 手机开发小技巧(2)
<br /> 声明:本资料为公司同事整理提供<br /><br /> <br />MMICheckDiskDisplay 开机点亮背光<br /> <br />PEN_CHECK_BOUND 检查触笔位置是否在控制区域<br />wgui_general_pen_down_hdlr 触屏事件<br /> <br />setup_dialing_keypad 拨号界面<br />gui_dialing_key_select 显示选中拨号图片<br /
2010-06-24 17:11:00
2769
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人