Search for posts tagged with: 中国移动

Avatar

该项目平台是TI的locosto,ARM7处理器,nor boot,128+32
DM技术方案提供商为bitfone公司。

在没有加入DM方案以前,系统的划分如下

name            origin    length
———————-  ——–  ———  ——–  —-  ——–
BOOT_MEM                00000000   00100000
D_MEM0                  00400000   00300000
P_MEM0                  06000000   00210000
P_MEM1                  06210000   001f0000
P_MEM2                  06400000   00100000
P_MEM3                  06500000   00180000
R_MEM                   06680000   00380000
FFS_MEM                 06a00000   00600000
S_MEM                   08000000   00037560
S_MEM_JPEG_JUMPTABLE    0804fb60   00000250
S_MEM_JUMPTABLE         0804fdb0   00000250
S_ROM                   08050000   00030000

根据FOTA的实现原理,我们需要划分出Bootloader部分,存放差分包和FOTA标志部分,最后修改后的系统情况如下:
name            origin    length
———————-  ——–  ———  ——–  —-  ——–
BOOT_MEM                00000000   00100000
D_MEM0                  00400000   00300000
P_DMBOOT                06000000   00020000
P_MEM0                  06020000   00210000
P_MEM1                  06230000   001d0000
P_MEM2                  06400000   00030000
P_MEM3                  06430000   00370000
P_DMBIN                 067a0000   00060000
R_MEM                   06800000   00200000
FFS_MEM                 06a00000   00600000
S_MEM                   08000000   00037560
S_MEM_JPEG_JUMPTABLE    0804fb60   00000250
S_MEM_JUMPTABLE         0804fdb0   00000250
S_ROM                   08050000   00030000
FOTA需要的空间是以前空余的代码段,文件系统部分是没有改变的。FOTA的标志部分因为空间原因放在差分包的最后一个block中。
#define DM_FLAG_ADDR        (0×067a0000+0×60000-5)

#define DM_NEED_UPDATE_FLAG     (DM_FLAG_ADDR)
#define DM_REPORT_FLAG     (DM_NEED_UPDATE_FLAG+1)
#define DM_SUCCESSED_FLAG     (DM_REPORT_FLAG+1)
#define DM_VALIDATION_PHASE_FLAG     (DM_SUCCESSED_FLAG+1)
#define DM_UPDATE_PHASE_FLAG     (DM_VALIDATION_PHASE_FLAG+1)
Read the rest of this post »

Tagged with: , , .
Avatar

FOTA在中国移动终端管理中指的是将手机软件由旧版本升级到新版本的实现部分。其原理是首先根据特殊的算法将新旧版本之间的差别做成一个差分包,然后手机从网络上下载到手机中,然后重新启动。在手机重启时通过对应的算法读取差分包中的信息,然后通过直接擦写flash的方式完成版本的更新。

版本更新时运行的程序当然是放在bootloader 那部分的,这部分代码一般来说是不会被更新的,因为如果这部分flash在更新时被擦除,代码被擦除后就无法继续进行了。当然如果一定要对这部分进行更新,那么就必须将这部分代码放到ram中去执行。

Flash擦写是以block为单位的,这是flash的驱动决定的。FOTA更新和恢复现场需要对版本进行校验,是通过对每个flash block中数据的checksum来进行的,以此来决定该block是否已经进行了更新,以及整个版本是不是对应的版本。

更新的区域当然不能包括用户使用的区域,因为这里保存的用户个人的数据。

同时我们手机的flash除了版本外当然必须还有空余的空间用手存放升级的差分包,用于临时使用的备份的flash block,以及为掉电后恢复现场的标志。

只有完全明白FOTA的实现原理,系统工程师才能对系统部分进行重新划分,这其实也是实现FOTA的核心所在。

有无FOTA时对应flash的使用分布情况
Bootloader和Update Agent 部分主要的功能就是实现了通过对差分包信息的提取然后直接擦写flash来完成版本的更新。这里是FOTA的核心程序所在。这部分包括系统的bootloader,FOTA运行时所需要的FLASH,LCD,TRACE等驱动,FOTA运行控制的Update Agent部分。

更新时临时备份区域主要是用来备份flash block 上的数据的,以block为单位。具体需要的空间大小根据update agent需要分配。

标志区域主要是用来标识是否需要FOTA升级,是否升级成功。

关于RAM划分。在FOTA的过程中,除掉FOTA必须的RAM(FOTA部分的全局变量)其余部分都是可用的。也就是说FOTA可以复用版本所使用的RAM,因为FOTA是在bootloader部分,FOTA完成后的正常系统流程会再一次对全局变量进行清零等操作。

需要注意的地方:
Flash的擦写函数需要放到RAM中去执行,因为同一块bank不能同时读写。Flash的驱动是放在bootloader部分的,因为该段使用较小,不可能独占一个bank。

各个段的起始地址一定要以flash的block开始。

Bootloader部分注意不要调用标准的实时库函数,例如memcpy之类,类似copy这样的函数可以自己实现。实时库函数在升级过程中会被完全擦除掉。

Bootloader和Update Agent部分必须完全独立。检验方法一个是从生成的符号表文件中查看该区域是否有其他函数,另一个方法是将除该部分的代码外将其余部分全部擦除,然后开机看能否正常运行。

Tagged with: , .
Avatar

终端第一次开机,应将终端IMEI,厂商名称,终端型号,软件版本以短信方式上传到终端管理(DM)平台。终端发送短信的特服号码和端口号在DM 管理生命周期中不可变。终端第一次开机发送自注册信息后,转入手机正常开机后的空闲状态。

如果终端收到来自终端管理(DM)平台特服号码的短信,正确解析短信,从短信中得到成功的信息,则终端纪录此次注册成功的SIM 卡的IMSI 信息到终端某个预先确定的位置,(这个位置的数值应是终端自注册功能专用的标记位,终端其他部分不能修改此值。)以便终端可以在下次开机的时候检测此IMSI。

此后,每次终端重新启动,都应检测SIM 卡的IMSI 与保存在终端中的IMSI 是否一致,如果不一致,则终端应重新向平台侧发送自注册信息更新对应信息。

终端只向预制的DM 平台的短信特服号码和端口号发送信息,并只认为来自这个特服号码的短信是可以信任的DM 信息。终端自注册短信(上行)及DM 平台确认短信(下行)均为为带端口号的短信。

终端自注册时应判断SIM 卡是中国移动的SIM 卡,否则终端不发送任何信息。

终端网络参数配置应通过OMA DM 方式设置,平台侧使用get 命令将终端参数收集到平台侧后,平台侧经过分析和诊断,判断参数配置是否有误,及错误点,平台使用DM 的Replace 命令更新错误配置值。平台侧也可以不收集参数而直接使用Replace 命令更新参数设置。

DM 平台侧发起终端固件除错和功能升级更新操作,该操作使用标准的OMA FUMO 对象。为实现断点续传功能,推荐使用OMA DL 协议下载更新数据包,升级状态必须使用DM 方式报告给平台侧。

平台侧主动发起的固件升级FOTA基本流程如下:
a) 平台侧发起,通过短信提示用户现在有新版本的软件包, 询问用户是否下载升级;
b) 如下载应出现一个状态条, 提示用户下载进度状态;
c) 如果下载中断, 提示用户是否继续下载;
d) 下载完成后, 提示用户是否立即升级或稍后升级.;
e) 如果选择稍后升级,用户下次开机时终端自动升级;
f) 如果选择立即升级, 用户手机重启, 接着进行终端软件升级;
g) 升级,过程中显示升级进度状态条;
h) 升级成功后, 手机重新启动到正常开机状态;
i) 终端上报升级完成的信息;

新版本的软件包的下载必须支持断点续传,终端更新过程中掉电,再次开机,终端应返回断电前的更新现场,继续更新,直到更新完成。

Tagged with: , , .
Avatar

终端管理(DM)平台是基于OMA 国际标准的移动数据增值业务,开放性与标准化是DM 业务系统赖以生存发展的基础。支持DM 业务的终端产品应同样符合这一原则,基于业界开放式标准,包括各种网络协议、内容格式,并且要体现良好的扩展性和互操作能力。

主要涉及的标准及其协议有
中国移动GPRS移动终端规范,CMPP协议,SyncML,OMA,OTA,WAP.

终端管理(DM)业务是中国移动用于管理用户终端的新业务,它使得中国移动实现了通过无线方式对移动终端进行远程管理的能力。终端管理业务一阶段应包括:终端自注册,软件补丁修复和功能升级,终端参数收集以及终端参数配置。

如终端出现软件故障或参数配置问题,用户无须前往维修中心进行诊断和软件更新,而是通过终端管理(DM)平台提供的服务进行远程终端诊断,通过无线方式下载终端软件补丁程序或执行自动远程设置即可解决终端软件故障和参数配置问题。使用终端管理业务平台,手机业务参数的设置以及新的终端软件版本的下载升级也可通过DM 平台的用户自服务门户,由用户自行完成相关参数设置和软件升级,极大的方便了用户对终端的使用。

中国移动的未来新业务部署工作,可以通过在原有终端上推送新版本的软件完成,避免了过去为了支持新业务给中国移动和用户带来的各种不便,同时也利于中国移动迅速推广新业务。使用终端管理(DM)平台,中国移动可以对终端的界面进行更新,辅助用户实现个性化终端设置。这将还有助于树立中国移动品牌形象,提升用户满意度。终端管理(DM) 平台的业务分析统计功能,通过分析终端厂商上传的终端能力信息和无线方式收集的终端其他信息,可用于中国移动的业务分析和经营决策。

终端通过终端自注册,将终端的基本信息上报到终端管理(DM)平台。终端管理(DM)平台使用OMA DM 协议对终端的参数进行配置。通过OMA DM1.1.2 协议实现了终端信息与终端管理(DM)平台的信息同步和信息发现过程,以及对终端的远程无线方式的参数收集和参数配置功能。终端管理(DM)平台使用OMA FUMO 规范,实现终端软件补丁修复和功能升级。

终端自注册成功后,移动用户可以通过多种方式使用终端管理服务。
网络侧发起,对终端进行批量参数设置、参数收集或软件除错或功能升级;
移动用户通过登录用户自服务网站,通过DM 平台触发终端管理业务;
移动用户通过手机DM WAP Portal,触发终端管理业务;
通过终端侧发起的DM 服务;(二阶段)

Tagged with: , , .