### QUALCOMM平台BUIW开发文档关键知识点解析
#### 一、引言与背景
- **文档来源**:本文档是基于QUALCOMM平台BUIW(Brew User Interface Workbench)开发经验总结而成,旨在帮助未来的开发者避免重复遇到同样的问题。
- **作者介绍**:文档由林树春编写,他具有丰富的开发经验,特别是在处理开发过程中遇到的各种问题方面。
- **主要内容**:文档主要涵盖了在BREW开发过程中遇到的问题及其解决方案,还包括了一些示例代码和开发规范。
#### 二、手机存储区解析
- **概述**:手机系统通常由三个主要存储区域组成,分别是用于存储启动文件和系统BIN的NOR、用于运行系统和应用程序的RAM,以及用于存储系统配置文件和普通文件的NAND。
- **NOR**:
- **定义**:NOR是一种非易失性存储器,即使在电源关闭的情况下也能保持数据不丢失。
- **特点**:读取速度快,写入速度相对较慢(约为NAND速度的1/7至1/10)。
- **用途**:主要用于存储启动必需的数据,如系统启动文件。
- **结构**:一般分为32M或64M,包含启动数据、系统数据等部分。
- **RAM**:
- **定义**:随机访问存储器,用于临时存储正在运行的应用程序数据。
- **特点**:速度快,但数据在电源关闭后会丢失。
- **用途**:分为系统使用、常驻应用使用和普通应用使用的区域。
- **结构**:例如CP2938机型启动后,留给普通应用的可用内存大约为5-6M。
- **NAND**:
- **定义**:一种非易失性存储器,通常用于存储用户数据和配置文件。
- **特点**:读写速度快,成本相对较高。
- **用途**:前32M用于存储应用数据库和配置文件,剩余部分作为U盘使用。
- **结构**:常见容量为128M。
#### 三、BootLoader详解
- **定义**:BootLoader是手机启动时最先加载的小型应用程序。
- **功能**:
- **引导系统启动**:BootLoader负责引导BREW系统启动。
- **下载BIN文件**:在系统未启动的情况下,BootLoader负责下载整个BIN文件到手机。
- **关机充电**:在手机关机状态下,BootLoader还负责管理充电过程。
#### 四、下载BootLoader方法
- **初次下载**:新生产的手机没有任何数据,需要使用硬件调试器来下载BootLoader。
#### 五、BIN文件存储位置
- **定义**:BIN文件是由ARM编译器生成的二进制文件,包含了实时操作系统、BREW系统以及普通PDA应用所需的数据。
- **位置**:BIN文件通常存储在NOR的一个特定区域中,该区域根据NOR的总容量(例如32M或64M)进行分配。
- **限制**:BIN文件的大小不应超过分配给它的区域大小,否则需要使用更大的NOR芯片。
#### 六、普通文件存储位置
- **位置**:普通文件可以存储在三个不同的位置:EFS文件系统、NAND以及NOR的某些区域。
- **EFS文件系统**:
- **定义**:用于存储应用的基本数据和BREW的基本文件数据。
- **容量**:32M NOR中一般为6M,64M NOR中可能扩大至16M。
- **NAND**:
- **定义**:用户数据存储区,也可作为U盘使用。
- **容量**:通常为128M。
- **NOR的其他区域**:
- **定义**:除了用于存储BIN文件的部分之外,NOR还可以用来存放一些额外的数据。
#### 七、总结
本文档详细介绍了基于QUALCOMM平台的BUIW开发中涉及的关键知识点,包括手机存储区的类型和用途、BootLoader的作用及其下载方法、BIN文件和普通文件的存储位置等。通过对这些内容的理解,开发者能够更好地规划应用程序的开发流程,有效地管理和利用手机的存储资源,从而提高应用性能和用户体验。