`
buluzhai
  • 浏览: 108352 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
int v; // 找出v的符号 int sign; // 保存结果 // CHAR_BIT 是一个字节的位数,一般为8. sign = -(v < 0); // 如果v < 0 则 -1, 否则为 0. // 或者, 为了避免使用分支指令,标志寄存器 (IA32): sign = -(int)((unsigned int)((int)v) >> (sizeof(int) * CHAR_BIT - 1)); // 或者更简单的使用 sign = v >> (sizeof(int) * CHAR_BIT - 1); 后 ...
我使用的是cJSON:http://sourceforge.net/projects/cjson/ 先看json的数据结构 c中没有对象,所以json数据是采用链表存储的 typedef struct cJSON { struct cJSON *next,*prev; // 数组 对象数据中用到 struct cJSON *child; // 数组 和对象中指向子数组对象或值 int type; // 元素的类型,如是对象还是数组 char *valuestring; // 如果是字符串 int valueint; // 如果是数值 doub ...
设要判断的数是无符号整数X。 首先判断X是否为0,如果为0则不是2的n次幂,返回。 X和X-1进行按位与操作,如果结果是0,则说明这个数是2的n次幂;如果结果非0,则说明这个数不是2 的n次幂。 证明: 如果是2的n次幂,则此数用二进制表示时只有一位是1,其它都是0。减1后,此位变成0,后面的位变成1,所以按位与后结果是0。 如果不是2的n次幂,则此数用二进制表示时有多位是1。减1后,只有最后一个1变成0,前面的 1还是1,所以按位与后结果不是0。 f = v && !(v & (v - 1)); 举个例子:                             ...
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_ ...
在mtk平台上调试http联网,可以在“网络服务”里进行必要的设置才可以。 (1)网络服务->网际网络服务 (2)网际网络服务->设置 (3)设置->设置档 (4)进入你激活的设置档,然后查看(编辑)设置档,然后选择连接类型为“http” (5)确定,会进入代理服务器的设置界面,将“使用代理服务器”设置为否。 (6)保存,退出,应该就可以联网了。
MTK中设置音量的方法和获取小区id类似,都是mmi发送一个消息到l4c,然后调用相应的回调函数处理。 void SetVolumeLevelReq(volume_type_enum volume_type,U8 volume_level) { MYQUEUE Message; mmi_eq_set_volume_req_struct *setVolumeLevelReq; Message.oslMsgId = MSG_ID_MMI_EQ_SET_VOLUME_REQ;//设置消息类型为设置音量 //在l4a.h中定义 setVolumeLevelReq = OslC ...
1.1.       如何通信 Send/Receive messages thru the message Queue. #define OslMsgSendExtQueue msg_send_ext_queue #define OslReceiveMsgExtQ receive_msg_ext_q SetProtocolEventHandler(FuncCB, msg_id); 1.2.       通信数据 typedef struct ilm_struct { oslModuleType oslSrcId; // Source module ID. oslMod ...
GET /ga.js HTTP/1.1\r\n Host: www.google-analytics.com\r\n User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)\r\n Accept: */*\r\n Accept-Language: en-us,en;q=0.5\r\n Accept-Encoding: gzip,deflate\r\n Accept-Charset: ISO-8859-1,utf ...
方法0: MTK平台如何生存LIB库文件: 1. make 文件夹建立需要生成库的mylib,放入c和h文件,单独编译mylib模块 2. make文件中COMPLIST加入mylib 3. 在REL_MMI_GPRS.mak中CUS_REL_MTK_COMP加入mylib 4. 在mtklib文件夹里面放mylib,就ok啦。 方法一: MTK生成库(ARM) 过程 第一步,生成真机的obj文件 第二步,找到相关的obj文件 D:\LongCheer\build\LC6225_GEMINI\gprs\MT6225o\mmi_app 第三步,把相关的obj文件拷贝到一个目录下面 D:\lib_ ...

MTK资源管理notes

    博客分类:
  • MTK
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的唯一性。

L1协议栈简介

    博客分类:
  • MTK
L1层或称物理层,提供物理介质上的比特流传输,遵循GSM技术05系列规范,为上层软件提供服务,且控制逻辑信道到物理信道的映射和安排、无线控制以及TDMA帧。 基本模块包括 1:L1异步逻辑(layer1 asynchronous) 处理上层软件的消息请求,经过L1处理后将结果返回给上层软件。 2:Surrounding Cell Engine:处理相邻小区Cell的功率测量以及同步信息获取。 3:L1层控制(Layer1 Control) 处理无线环境中TDMA时序安排,包括定时提前以及接受来自基站的功率控制。 4:L1驱动:处理DSP以及无线控制相关的内容。
手机中的屏幕流程都是顺序的,用户都是通过按键在屏幕之间切换。这里有三种类型的屏幕切换,即 1 向前移动 向下一个屏幕的切换作为用户按键输入的结果。 2 向后移动 向前一个屏幕的切换作为用户按键输入的结果。 3 异步事件的出现 屏幕向前或者向后切换依赖于异步事件例如协议事件? 在向前切换的过程中,在绘制新的屏幕之前,先前屏幕的内容被存储在history“数据库”中。如果当前 的屏幕用于接收用户的输入,而此时一个异步事件发生例如来电,那么当前用户输入内容的缓冲区将会被存在history中,当前屏幕就会显示当前事件屏幕,直到该事件完成才恢复先前的屏幕。 History的实现类似一个栈。一个新的h ...
MTK使用Socket来实现HTTP的请求。 MTK平台中Socket创建步骤: 1、soc_create()  创建Socket,成功后将返回一个socket_id供下面的函数使用,成功运行在手机上的效果是打开黄色边框的GPRS图标,对应手机nwk_account_id的值有10和14,分别代表网络接入点CMWAP和CMNET。 2、soc_setsockopt  设置Socket为非阻塞模式/异步模式; 3、连接准备 如果是CMNET联网并且请求中用到了英文域名,还需要调用soc_gethostbyname函数解析域名,解析出来的IP作为我们建立连接的目标IP。 如果是CMWA ...
发送请求Lai消息给底层,然后处理反馈信息取出cell_id。然后处理反馈信息取出cell_id。再根据cell_id去数据库查经纬度了。 注册消息处理函数 void GetCellIDStartReq(U32 mod_id, PU8 info_req) { SetProtocolEventHandler(parsing_cellId_data,MSG_ID_MMI_EM_STATUS_IND); get_cellid_send_start_req(); } 发消息请求cell id void get_cellid_send_start_req(voi ...
MTK Modis 使用简介 Modis PC仿真, 要进行如下操作:(假设工程路径为D:\\X) 第一步:在如下目录中D:\X 执行 make Prj_Name GPRS gen_modis 第二步: 转到modis目录 D:\X\modis执行 createmodis.pl ..\make\Prj_Name_GPRS.mak 第三步:再切换到 D:\X 执行 make Prj_Name GPRS codegen_modis 第四步:最后转到D:\X\modis目录, 执行 modiscodegen.pl ..\make\Prj_Name_GPRS.mak 第五步:开始使用Modis ...
Global site tag (gtag.js) - Google Analytics