软件加载方法及其系统技术方案

技术编号:2918784 阅读:213 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及通信领域,公开了一种软件加载方法及其系统,使得软件能够被快速、高效地加载。本发明专利技术中,将需加载的软件内容和用于将该软件内容搬移至非易失性存储器中的可执行代码,下载至被加载目标的内存中,通过被加载目标的内核JTAG扫描链(如附图2所示)对该内核的控制,执行该代码,将软件内容写入到该非易失性存储器中。软件可以同时加载到多个被加载目标上,多台并行加载。

【技术实现步骤摘要】

本专利技术涉及通信领域,特别涉及通信设备中软件加载技术。
技术介绍
目前,绝大多数单板设备的程序一般至少由两部分组成引导设备启动的基本程序和应用程序。引导设备启动的基本程序(BIOS)一般存储在单独的物理芯片中,应用程序和其它标志信息(如表示应用程序可用或不可用的标志信息)等存储在闪速存储器(FLASH)中。FLASH是非易失性存储器中的一种。之所以有这个名称,是因为信息在一瞬间像闪电式的被存储下来之后,且即使除去电源,存储于其中的信息依旧保留。该器件在设备上一般用来存储应用程序,逻辑等。其特点如下1.读写单位是单字节,双字节或4字节;2.擦除只能是存储器内的一个块(BLOCK)整个擦除,块大小由器件特性决定(如64K,128K等);3.在写入之前必须先执行擦除操作。FLASH已是业界最为常见的存储终端单板软件的载体,终端软件加载就是通过对FLASH进行擦写、编程操作,实现单板软件的加载。从终端产品发展趋势来看,越来越多的产品采用了ARM(先进简化指令级计算器)内核CPU+大容量FLASH的技术方案。FLASH分为两种类型,NOR(非或)FLASH和NAND(非与)FLASH。其中NOR FLASH是较常用的器件,特点是掉电后的非易失性,不足之处是写速度较慢,擦除速度很慢,单位容量成本高;NAND FLASH是新型的非易失性存储器,增加了文件管理系统,写速度快,擦除速度有很大幅度提高,单位容量成本较低。终端产品的FLASH软件加载主要有两种方案先烧后贴、先贴后烧。单纯用第一种方案如果想去升级一块已贴片的FLASH会很困难;后一种方案又分为两种情况,JTAG加载、通信端口加载,JTAG加载速度慢不适合大容量软件加载,通信端口加载则必须保证单板上已有能够正常工作的最小系统BOOT软件。据不完全统计,有些平台下软件故障中有约15%的原因是BOOT区域软件损坏,无法使用通信端口加载的办法维修,使得已售3G终端出现不开机且用通用串行总线(Universal Serial Bus,简称“USB”)强制加载方式也无法重新加载软件的问题。目前业界现有的BSDL JTAG(芯片级边界扫描)设备可以用于NORFLASH软件加载。BSDL JTAG基本原理如图1所示BSDL JTAG设备通过单板上JTAG端口控制JTAG链路,采用串行移位的方式实现对器件外部管脚的控制,也就是说,通过器件级的JTAG扫描链将软件内容写入FLASH中。由于BSDL JTAG加载采用芯片外围大链工作方式,加载速度慢,难以适应大容量软件加载。已有BSDL JTAG设备加载速度约为2MByte(兆字节)/min(分钟),采用Direct Write(直接写)技术后,理论上的加载速度(实际达不到)约4MByte/min,如果软件大小为40MByte,则加载时间在10分钟左右。而且,NAND FLASH串行读写和NOR FLASH并行读写,无论从时序上还是硬件连接关系上都存在较大差异,使得BSDL JTAG的工作效率无法显著提高。此外,有些套片中的MSM(ARM内核)要进入BSDL工作状态必须在外部进行上拉,3G手机在量产阶段为降低成本取消上拉电阻,单板上电后运行在ARM JTAG模式下,因此将导致无法直接使用BSDL JTAG设备。由于终端软件的加载作为终端产品生产、维修的重要问题之一,直接影响大规模量产、升级,以及售后服务的效率和成本。比如说,对于出现不开机且用USB强制加载方式也无法重新加载软件的已售终端,如果不能用便捷、有效的手段在现场处理,则必须返厂维修,仅运输成本就非常高昂。因此,针对ARM内核CPU+大容量FLASH产品,有必要提供不依赖于软件的,方便、快捷的软件加载手段。
技术实现思路
本专利技术实施方式要解决的主要技术问题是提供一种软件加载方法及其系统,使得软件能够被快速、高效地加载。为解决上述技术问题,本专利技术的实施方式提供了一种软件加载方法,包含以下步骤将需加载的软件内容和用于将该软件内容搬移至非易失性存储器中的可执行代码,下载至被加载目标的内存中;通过被加载目标的内核JTAG扫描链对该内核的控制,执行代码,将软件内容写入到非易失性存储器中。本专利技术的实施方式还提供了一种软件加载系统,包含至少一个被加载目标,还包含下载单元,用于将需加载的软件内容和用于将该软件内容搬移至非易失性存储器中的可执行代码,下载至被加载目标的内存中;执行单元,用于通过对被加载目标的内核JTAG扫描链的控制,执行代码,将软件内容写入到非易失性存储器中。本专利技术实施方式与现有技术相比,主要区别及其效果在于将需加载的软件内容和用于将该软件内容搬移至非易失性存储器(如FLASH)中的可执行代码,下载至被加载目标的内存中,通过被加载目标的内核JTAG扫描链对该内核的控制,执行该代码,将软件的内容写入到该非易失性存储器中。由于JTAG扫描链是较短的内核JTAG扫描链,因此运行效率比较高,相较于通过器件级的JTAG扫描链将软件内容写入非易失性存储器中的方式,更加快速、高效地加载了软件,并且使得软件的加载只与硬件相关,不会发生因其它软件(如BOOT)的损坏而无法加载该软件的情况,使得软件加载的可靠性更高。附图说明图1是根据现有技术中BSDL JTAG设备用于NOR FLASH软件加载的示意图;图2是根据现有技术中嵌入式ARM硬件系统结构示意图;图3是根据本专利技术第一实施方式的软件加载方法流程图;图4是根据本专利技术第一实施方式的软件加载方法示意图;图5是根据本专利技术第二实施方式的软件加载方法示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的实施方式作进一步地详细描述。在本专利技术的实施方式中,通过被加载目标器件外部的JTAG接口访问ARM内核JTAG扫描链,将需加载的软件内容和用于将该软件内容搬移至非易失性存储器(如FLASH)中的可执行代码,下载至被加载目标的内存中。再通过该ARM内核JTAG扫描链控制ARM内核,执行该段代码,将需加载的软件内容写入到FLASH中。由于ARM内核CPU+大容量FLASH产品的系统结构如图2所示,嵌入ARM内核的CPU,其JTAG链大体上可看作有两部分,一部分是器件级BSDL JTAG链,比较长;另外一部分是ARM内核ARM JTAG链,比较短。这两部分JTAG扫描链都可以通过器件外部的JTAG接口来访问,主要区别在于对内核的控制效率上,JTAG链越长,控制的效率就越低。在嵌入ARM内核的CPU中,除内核外,CPU还集成有由同步动态随机存储器(Synchronous Dynamic Random Access Memory,简称“SDRAM”)控制器和FLASH控制器构成的Memory Controller(内存控制器),ARM内核通过内部总线和Memory Controller连接,SDRAM和FLASH的读写操作实际由Memory Controller完成。基于这个原理,在上电硬件初始化过程中根据所选存储器的规格参数配置好读写操作时序,控制ARM内核在MemoryController的接口Buffer(缓存)中存取数据,既可完成对存储器的读写操作。因此,在本专利技术的实施方式中,可通过对ARM内核的控制,将需加载本文档来自技高网
...

【技术保护点】
一种软件加载方法,其特征在于,包含以下步骤:将需加载的软件内容和用于将该软件内容搬移至非易失性存储器中的可执行代码,下载至被加载目标的内存中;通过被加载目标的内核JTAG扫描链对该内核的控制,执行所述代码,将所述软件内容写入 到所述非易失性存储器中。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘颉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1