SDK中的ILOGGER 接口为 AEE 层提供了通用记录的功能,共有三种主要的实现,应用程序作者通过使用以下一个ClassID 创建 ILOGGER 实例:
– AEECLSID_LOGGER_FILE 向文件发送日志项;
– AEECLSID_LOGGER_SERIAL 向串行端口发送日志项;
– AEECLSID_LOGGER_WIN 向 BREW Simulator输出窗口发送日志项。
不管是文件实现还是串行记录实现都按以下数据包格式将数据输出到各自 的输出媒介:
----------------------------- | BREW 头文件 | 包数据 | -----------------------------
但串行记录实现将这些日志包按以下格式包装在 HDLC 帧中:
---------------- | BREW 头文件 | 包数据 | 16b FCS | 8b HDLC 标记 | ------------------
其中16 位 FCS(帧检查序列)是 RFC 1171 中指定的 16 位 CRC;8 位 HDLC 标记的值为 0x7E,如果在 BREW 头文件、包数据或 16b FCS 中存在此标记, 则必须用 8 位值 0x7D 进行转义并与 0x20 进行“异或”运算。 而且,如果转义值 0x7D 存在,也必须以相同方法进行转义。例如: 在数据中 -> 在输出流中 0x7E -> 0x7D、0x5E 0x7D -> 0x7D、0x5D 这些值稍后必须由接收软件进行反转义。记录到串行端口时,在 ILOGGER 接口指示数据包已成功发送和数据包完全送出串行端口之间会存在一个延迟,这是由于低级别串行接口引入的缓冲延迟引起的。
因此,应用程序开发者应该注意:如果发送完最后一个包后,ILOGGER 接口被过快释放,则通过串行端口接收的数据包有可能被截断。为避免这种情况,可能要在发送完最后一个数据包和释放 ILOGGER 接口之间引入一个延迟。
ILogger 接口的窗口实现将用以下格式,将所有外发日志写入模拟器的输出窗口:
bkt:XX typ:XX cID:XX iID:XX FILENAME LINENUMBER MESSAGE ARGS
其中:
bkt: 日志存储
typ: 日志类型
cID: 当前正在运行的 BREW 应用程序的ClassID
iID: 用户定义的实例 ID
FILENAME: 发送日志的可选文件名
LINENUMBER: 发送日志的可选行号
MESSAGE: 用户定义的文本消息
ARGS: 使用 ILOGGER_PutMsg() 的可选参数
编译某个版本的应用时,如果定义 AEE_LOG_DISABLE 常量,该常量可以使用预处理器删除几乎所有的 ILOGGER 接口函数功能,实例创建过程函数、获取参数函数、设置参数函数除外。如果希望如此,必须在应用程序包含 AEELogger.h 之前定义此常量。
这样,开发者不但可以在模拟器上实时调测应用,还可以通过模拟器的输出窗口以及日志文件来调试目标手机上的应用程序。
分享到:
相关推荐
《深入brew开发 brew及buiw进阶手册》是一本专为已对brew有一定基础的开发者设计的深度学习资源,旨在帮助读者全面理解和掌握这个强大的包管理工具及其相关生态系统。brew是Mac OS X系统中广泛使用的开源包管理器,...
在移动开发领域,BREW(Binary Runtime Environment for Wireless)是一种由高通公司开发的平台,主要用于早期的2G和3G手机,它提供了一个运行环境,使得开发者可以为这些设备编写应用程序。日志记录在软件开发中是...
海信作为手机制造商,其设备可能预装了BREW环境,开发者可以利用BREW SDK针对海信手机进行定制化开发。开发过程中需要考虑海信设备的硬件特性,如屏幕分辨率、内存限制等,确保应用能在这些设备上流畅运行。 7. ...
BREW(Binary Runtime Environment for Wireless)是由高通公司开发的一个移动设备应用程序平台,主要用于2G和3G网络,提供了一个高效、可扩展的环境来开发和运行无线应用。 在本书的18个章节中,读者可以期待深入...
目录:(BREW 初级开发者 教程):第1章 BREW技术特点与发展趋势第2章 BREW SDK简介 第3章 BREW开发基础第4章 BREW手机简介 第5章 ISHELL第6章 IDISPLAY使用简介 第7章 ISTATIC第8章 IMENUCTL 第9章 IImage第10章 ...
联通博路编写的开发者进阶教程,pdf版本,转载。 共18部分: 第一部分目录如下: Brew概述 Brew技术演进 Brew3.1.5 sp01 ...以后各部分为具体接口介绍,对刚接触Brew系统的开发人员应该有一定帮助。
BREW业务平台技术体制是一种规范了BREW业务平台建设的技术方案,旨在规定BREW业务平台的基本原则、业务和功能要求、网络结构、IP地址分配、设备要求、网管和计费等要求。下面是对该技术体制的详细解读: 首先,BREW...
———————————————————————————————————————————— 替换bottles 镜像源(可选) 该镜像是 Homebrew 二进制预编译包的镜像。 临时替换 export HOMEBREW_BOTTLE_DOMAIN=...
这个文档详细介绍了Brew的命令行接口、库函数以及开发者如何利用这些接口进行扩展和定制。它包含了大量的命令、选项、参数和使用示例,帮助开发者深入理解Brew的工作原理,从而更高效地使用或开发Brew相关的工具和...
《深入BREW开发:PDF与源代码解析》 BREW(Binary Runtime Environment for Wireless)是高通公司开发的一种操作系统,主要用于移动设备,如早期的智能手机和平板电脑。它为开发者提供了一个强大的平台,用于创建...
接下来,将详细介绍BREW技术的特点、结构、开发环境、软件开发过程以及在移动办公系统中的应用。 首先,BREW的体系结构由多个层次组成,包括了BREW应用程序平台、移植包、软件开发包(SDK)以及发布系统(BDS)。...
《Brew手机游戏开发实例详解》 Brew(Binary Runtime Environment for Wireless)是一种早期的移动设备操作系统平台,主要用于开发和运行手机游戏和其他应用程序。在本文中,我们将深入探讨Brew平台,了解其特点、...
深入BREW开发(1-8)+深度剖析BREW实现原理 BREW,全称为Binary Runtime Environment for Wireless,是由高通公司开发的一种操作系统平台,主要用于移动设备,尤其是早期的CDMA网络手机。它提供了一个用于开发和运行...
《深入BREW开发》这本书,虽然不完整,但依然是学习BREW开发的重要参考资料。BREW,全称为Binary Runtime Environment for Wireless,是由高通公司开发的一种操作系统平台,主要用于早期的移动设备,尤其是CDMA网络...
在本文中,我们将深入探讨BREW开发的基础知识,包括其核心概念、开发环境设置、编程接口以及应用程序的发布流程。 ## 一、BREW基础 1. **BREW架构**:BREW系统由三层构成:硬件层、操作系统层和应用层。硬件层是...