一种无线终端产品Boot引导程序的实现方法技术

技术编号:3640146 阅读:182 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种CDMA无线终端产品Boot引导程序的实现方法,其包括以下步骤:在flash芯片中设置与应用程序独立的boot执行程序,该boot执行程序仅用于启动应用程序下载功能,并保存在该flash芯片的起始位置;修改应用程序的启动地址在所述boot执行程序之后;通过连接服务器端,上电并接收下载指令,进行应用程序的下载功能。本发明专利技术方法由于采用了在闪存物理存储空间中设置的独立BOOT执行程序,实现了BOOT功能的模块化,可以单独运行,而不依赖主程序的运行结果,降低了维护成本;提高了终端的软件维修速度,给生产、售后、运营商或用户升级软件提供了一种简单、快捷的实现方案。

【技术实现步骤摘要】

本专利技术属于无线通讯4支术领域,特别适应于CDMA、 GSM、 PHS、 WCDMA、 TD-SCDMA、单模/多模等无线通讯终端产品,尤其涉及的是一 种无线通讯终端产品中可持续进行软件下载的方法改进。
技术介绍
在现有4支术终端的软石更件平台中,如基于高通MSM6000平台的CDMA CDMA (Code Division Multiple Access,码分复用)无线终端,存储设备一 般使用NOR Flash (NOR闪存)。MSM6000 CPU本身不带有Boot功能,高 通发布的DMSS程序(Dual-Mode Subscriber Software,是一种手机软件包) 没有独立的Boot引导程序,如图l所示,DMSS编译完成以后是一个独立 的应用程序,其从起始地址0x00000000进行存^f诸。二次开发一般在DMSS 的基础上进行,底层程序模块没有发生变化,在烧片过程中将整个应用程 序烧录到Flash中。程序在正常运行时,支持软件升级功能。但是,这种软件系统经常在用户使用过程中,由于文件系统异常、程序 异常、死机等种种原因导致下载功能不能正常工作。这时需要使用专用的 仿真器或是下载板对终端进行升级,由于一般的售后网点不具备这些专业 设备,所以这种升级工作一般需要进行返厂维修,这样就增加了售后成本 和维修的周期。因此,现有^l支术还有待于改进和发展
技术实现思路
本专利技术的目的在于提供, 针对上述现有技术的缺陷,为了保证终端在死机等情况下仍然能够具备下 载功能,提出一种在终端Boot模块的设计实现方法,在终端硬件特别是存 储器硬件没有损坏的前提下,保证终端的串口下载功能可以正常工作。本专利技术的技术方案包括,其包括以下步骤A、 在Flash芯片中设置与应用程序独立的Boot执行程序,该Boot执 行程序4又用于启动应用程序下载功能,并保存在该Flash芯片的起始位置;B、 通过连接服务器端,上电并接收下载指令,进行应用程序的下载功能。所述的实现方法,其中,所述步骤A还包括修改应用程序的启动地 址在所述Boot执行程序之后。所述的实现方法,其中,所述Boot执行程序的下载功能通过串口实现。所述的实现方法,其中,所述步骤B之后还包括Cl、通过仿真器或专用的下载板,分别将所述Boot执行程序和应用程 序下载到对应的Flash芯片中,备份出来并做相应的参数处理,以形成一可 用于烧片的生产版本。所述的实现方法,其中,所述步骤B之后还包括C2、将Boot执行程序和应用程序根据存储位置连接到一起制成二进制 文件,以用于对Flash芯片的烧刻。所述的实现方法,其中,所述步骤A还包括所述Boot执行程序是通 过将所述应用程序中除根下载入口之外的其他函数删除并编译后形成。所述的实现方法,其中,所述步骤C还包括如果Boot执行程序在运 行过程中没有检测到下载指令,也没有检测应用程序存在时,则一直处在 下载状态,等待应用程序软件的下载。所述的实现方法,其中,所述Boot执行程序设置为压缩到所述Flash芯片的一个区块中。所述的实现方法,其中,所述应用程序的起始位置从所述Boot执行程 序存储位置之后的一个独立的区块开始。所述的实现方法,其中,所述步骤B还包括 在所述无线终端正常启动时还执行以下步骤Bl、上电后判断是否有收到串口指令,如无执行跳转到执行应用程序, 否则执行下一步骤;B2、判断是否进入下载模式,如无执行跳转到执行应用程序,否则执 行下一步骤;B3、进入串口下载模式,执行下载指令。本专利技术所提供的,由于采 用了在闪存物理存储空间中设置的独立Boot执行程序,与现有技术相比, 实现了 Boot功能的模块化,可以单独运行,而不依赖主程序的运行结果, 由此实现了终端在死机等异常情况下时可以利用简单设备完成软件升级等 目的,节省了仿真器、专用下载板等固定资产投入,降低了维护成本;故 障终端可以就地进行软件维修,在一般的维修中心即可维修,不必返到特 定的维修中心或是返厂,提高了终端的软件维修速度,给生产、售后、运 营商或用户升级软件提供了一种简单、快捷的实现方案。以下结合附图对本专利技术的较佳实施例加以说明,附图中附图说明图1为现有技术的无独立Boot执行程序、仅一个可执行的应用程序在 Flash中的软件存储结构示意图2为本专利技术方法中增加独立的Boot执行程序、应用程序起始地址往 后偏移的软件存储结构示意图3为本专利技术方法中闪存Boot执行程序运行时的流程事宜图。具体实施方式以下结合附图,将对本专利技术的各较佳实施例进行更为详细的说明。以CDMA无线终端产品为例,本专利技术Boot引导程序的实现方法是一种 Boot才莫块的设计实现方案,其将原来NOR Flash中的一个应用程序 (Application)分成Boot执行程序和应用程序(Applicationl)两个部分,如图2 所示。Boot执行程序是一个独立执行程序,占用空间非常小,支持串口下 载功能。在Flash中应用程序Applicationl的存储位置同原先的应用程序 Application不同。如果应用程序Applicationl正常工作,则其自带的下载功能可以正常使 用,无需Boot执行程序的下载功能。如果Applicationl异常不支持下载功 能,则可以使用Boot执行程序中的下载功能进行软件下载。由于低端手机中的Flash空间有限,并且NOR Flash—般是按4K、 8K 字节、16K或64K字节大小的block(区块)进行物理划分,在执行Flash Block Erase (区块擦除操作,闪存在写之前都必须执行擦除操作)操作时, 一个 block的内容全部擦除。因此本专利技术方法中的Boot执行程序和应用程序的 设计遵循以下原则一、Boot执行程序应尽可能的小,最好能够压缩到一 个block中;二、应用程序的起始位置应从一个独立的block开始,以^更Boot 执行程序和应用Applicationl能够在存储位置上完全独立,方便闪存的读写 操作。这样两个程序可以独立升级,互不影响。Boot执行程序与应用程序Applicationl是两个独立的可运行程序,在 CPU上电运行过程中,Boot执行程序会根据图3中所示的流程图,决定是 否起动应用程序Applicationl的运行。在软件升级过程, 一般保持Boot执行程序不被更新,仅下载应用程序 Applications这样Boot执行程序就可以一直稳定可靠的工作,从而保证可 以持续的进行软件下载功能。一般来说,应用程序Applicationl的起始地址与Boot执行程序的大小 有一定关系,但二者没有必然的联系,只要二者大小的满足存储空间的要 求,可以独立设计,在设计上没有必然的先后关系。本专利技术方法的具体步骤包括如下步骤一设计独立的Boot可执行程序,可将应用程序中保留串口下载 功能,删除的其他不必要的任务和模块,并进行相应的编译链接。例如在 应用程序main函数体中删除其他的函数,仅保留Boot_downloader下载入口 。为了保证可以正确处理PC侧的指令,修改与串口下载相关的源文件, 以保证串口下载命令的正确处理。由于ARM编译采用了优化编译选项,使 用本专利技术方法制作出来的Boot执行程序其二进制文件为12本文档来自技高网...

【技术保护点】
一种无线终端产品Boot引导程序的实现方法,其包括以下步骤:    A、在Flash芯片中设置与应用程序独立的Boot执行程序,该Boot执行程序仅用于启动应用程序下载功能,并保存在该Flash芯片的起始位置;    B、通过连接服务器端,上电并接收下载指令,进行应用程序的下载功能。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐发国李琛珲王霄骊张明昊陈兵张佳妮韩金
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1