一种armflash简易程序烧写的方法

文档序号:6489096阅读:254来源:国知局
一种arm flash简易程序烧写的方法
【专利摘要】本发明涉及一种ARM?FLASH简易程序烧写的方法,J-LINK仿真器将PC端与NAND目标板进行连接,将制作好烧写程序的U盘连接到NAND目标板上,步骤如下:1)PC端将初始化程序下载至目标板的CPU片内的SRAM中,初始化目标板的CPU片外的SDRAM内存;2)PC端将加载程序下载至目标板的CPU片外的SDRAM中,自动读取目标文件,完成烧写。PC与J-LINK可以用于另一套目标板的烧写工作,节约成本,提高了生产维护效率。程序的烧写由板卡自动完成,不再利用J-LINK直接对目标板进行烧写,解决了非主流处理不支持利用J-LINK直接烧写的缺点,通用性大大增强,具有极大的推广意义与价值。
【专利说明】 —种ARM FLASH简易程序烧写的方法
【技术领域】
[0001]本发明涉及一种程序烧写固化到存储介质的领域,更具体地说,涉及一种ARMFLASH简易程序烧写的方法。
【背景技术】
[0002]NAND FLASH以其大存储量和低成本特点广泛替代了 NOR FLASH,然而ARM9板载NAND FLASH程序的烧写非常困难。
[0003]目前,大多数烧写程序到NAND FLASH的方法主要有以下三种:
[0004]第一种是通过H-JTAG工具把需要烧写的固件直接固化到NAND FLASH中;
[0005]第二种是运行开发套件如(ADS1.2)软件,通过AXD调试接口把程序直接固化到NANDFLASH 中;
[0006]第三种是通过NAND FLASH专业烧写工具将购买的芯片固化程序后,再焊接使用。
[0007]以上三种方法都存在一定的缺点:
[0008]第一种方法的缺点是:(1)烧写速度慢,特别是烧写大文件时速度更慢;(2)另外由于NAND FLASH在出厂是有部分坏块,而H-JTAG工具不能检测坏块,从而导致烧写不成功。
[0009]第二种方法的缺点是:(1)烧写速度慢,特别是烧写大文件时速度更慢;(2)另外由于NAND FLASH在出厂是有部分坏块,不能检测坏块,从而导致烧写不成功;(3)需要生产人员熟练使用该软件,而且操作繁琐,效率低。
[0010]第三种方法的缺点是:购买芯片的成本较高。
[0011]中国发明专利申请201210132951.5公开了一种基于J-LINK间接烧写程序到NANDFLASH的方法,包括如下步骤:(I)、根据嵌入式主板机的硬件特性编写一个特制程序,所述特制程序具有NAND FLASH读写命令,并可以与计算机进行通讯;(2)、编写一个J-LINK软件批处理命令脚本;(3)、使用J-LINK软件将所述的特制程序下载到嵌入式主板机内存中运行;(4)、嵌入式主板机与计算机进行信息交互;(5)、通过命令将目标文件从计算机下载至嵌入式主板机内存;(6)、通过所述特制程序中的NAND FLASH读写命令,将嵌入式主板机内存中的目标文件固化到NAND FLASH中。
[0012]与现有技术相比,上述发明提供的基于J-LINK间接烧写程序到NAND FLASH的方法,不仅速度加快、操作简单、成本低,而且该方法能够识别NAND FLASH坏块,从而避开坏块达到稳定烧写的目的。
[0013]但是,对于主流的处理器,J-LINK对其烧写有直接的支持,但烧写速度很慢,且每个板载NAND烧写过程至始至终都需要独享一套PC+J-LINK与之交互,该方式严重影响了生产维护效率。对于非主流的处理器,J-LINK不支持直接对其NAND进行烧写。

【发明内容】

[0014]本发明的目的在于克服现有技术的不足,提供一种烧写速度快、对PC与J-LINK的 依赖程度低、生产效率高、几乎适用于所有处理器的通用的arm FLASH简易程序烧写的方法。
[0015]本发明的技术方案如下:
[0016]一种ARM FLASH简易程序烧写的方法,J-LINK仿真器将PC端与NAND目标板进行连接,将制作好烧写程序的U盘连接到NAND目标板上,步骤如下:
[0017]DPC端将初始化程序下载至目标板的CPU片内的SRAM中,初始化目标板的CPU片外的SDRAM内存;
[0018]2) PC端将加载程序下载至目标板的CPU片外的SDRAM中,自动读取目标文件,完成烧写。
[0019]作为优选,步骤I)具体为:
[0020]1.DPC端通过J-LINK软件命令行RCE/WCE写ARM9体系结构处理器的R15寄存器,使能ITCM ;
[0021]1.2)将初始化程序下载至目标板的CPU片内的SRAM中;
[0022]1.3)运行初始化程序,初始化CPU时钟,然后初始化目标板的CPU片外的SDRAM内存。
[0023]作为优选,步骤2)中,PC端将加载程序下载至目标板的CPU片内的SRAM后,目标板脱离PC端的控制。
[0024]作为优选,步骤2)中所述的加载程序的流程如下:
[0025]2.1)初始化系统定时器、通用异步接收/发送装置;
[0026]2.2)初始化USB子系统;
[0027]2.3)初始化FAT32子系统;
[0028]2.4)初始化 NAND FLASH ;
[0029]2.5)读取U盘中的配置文件;
[0030]2.6)读取U盘中的目标文件至SDRAM中;
[0031 ] 2.7 )将SDRAM中的目标文件拷贝至NAND FLASH中。
[0032]作为优选,步骤2.5)具体为:
[0033]2.5.1)在读取配置文件的阶段,在SDRAM保存配置文件副本;
[0034]2.5.2)扫描所述的副本,获取目标文件的名称、下载地址,保存为升级参数。
[0035]作为优选,加载程序根据配置文件,自动下载目标文件,并拷贝至NAND FLASH相应的的地址,完成NAND FLASH的烧写。
[0036]作为优选,所述的目标文件包括开机载入程序、内核文件、根文件系统。
[0037]作为优选,步骤I)、步骤2)包含在一个批处理命令脚本中。
[0038]本发明的有益效果如下:
[0039]与现有技术相比,对PC与J-LINK的依赖仅仅在向目标板拷贝初始化程度,之后的步骤均能在目标上自动完成。PC与J-LINK可以用于另一套目标板的烧写工作,节约成本,提高了生产维护效率。通过J-LINK初始化内存后,引导内存中的程序,直接从U盘将目标代码一次性的拷进NAND FLASH中,为板载NAND FLASH的烧写提供了一个快捷方便的方法,提闻了生广效率。
[0040]程序的烧写由板卡自动完成,不再利用J-LINK直接对目标板进行烧写,解决了非主流处理不支持利用J-LINK直接烧写的缺点,通用性大大增强,具有极大的推广意义与价值。
【专利附图】

【附图说明】
[0041]图1是本发明所述的方法对应的设备连接示意图;
[0042]图2是加载程序的流程示意图;
[0043]图中:1是PC端,2是目标板,3是U盘。
【具体实施方式】
[0044]以下结合附图及实施例对本发明进行进一步的详细说明。
[0045]如图1所示,J-LINK仿真器将PC端I与目标板2进行连接,将制作好烧写程序的U盘3连接到目标板2上。
[0046]一种ARM FLASH简易程序烧写的方法,基本步骤如下:
[0047]I) PC端将初始化程序下载至目标板的CPU片内的SRAM中,初始化目标板的CPU片外的SDRAM内存;
[0048]2) PC端将加载程序下载至目标板的CPU片外的SDRAM中,自动读取目标文件,完成烧写。
[0049]其中,步骤I)具体为:
[0050]1.DPC端通过J-LINK软件命令行RCE/WCE写ARM9体系结构处理器的R15寄存器,使能ITCM ;
[0051]1.2)将初始化程序下载至目标板的CPU片内的SRAM中;所述的初始化程序是预先做好的2K初始化代码,所述的2K代码为精减的初始化代码,其主要功能是初始化片外的SDRAM内存,以供后续能够加载进更大的内存版的加载程序;
[0052]1.3)运行初始化程序,初始化CPU时钟,然后初始化目标板的CPU片外的SDRAM内存。
[0053]步骤2)中,PC端将加载程序下载至目标板的CPU片内的SRAM后,目标板脱离PC端的控制。PC端通过J-LINK软件的命令将特殊定制内存版的加载程序下载至目标板SDRAM中,并把控制权转交给加载程序,此后目标板将脱离PC和J-LINK的控制,自动完成程序烧写工作。所述的加载程序为特殊定制的内存版程序,其主要功能是初始化USB系统,识别U盘目标文件,识别并初始化板载NAND FLASH,根据U盘配置文件要求完成NAND FLASH的烧写工作。
[0054]如图2所示,步骤2)中所述的加载程序的流程如下:
[0055]2.1)初始化系统定时器、通用异步接收/发送装置(UART);
[0056]2.2)初始化USB子系统;
[0057]2.3)初始化FAT32子系统;
[0058]2.4)初始化 NAND FLASH ;
[0059]2.5)读取U盘中的配置文件;
[0060]2.6)读取U盘中的目标文件至SDRAM中;
[0061 ] 2.7 )将SDRAM中的目标文件拷贝至NAND FLASH中。[0062]加载程序根据配置文件,自动下载目标文件,并拷贝至NAND FLASH相应的的地址,完成NAND FLASH的烧写。加载程序启用U盘,读取U盘中的配置文件,根据配置文件自动下载镜像文件IMAGE,包括UB00T+KERNEL+R00TFS,即目标文件,包括开机载入程序、内核文件、根文件系统。并拷贝至NAND FLASH相应的的地址,完成板载NAND FLASH的自动烧写。
[0063]步骤2.5)具体为:
[0064]2.5.1)在读取配置文件的阶段,在SDRAM保存配置文件副本;
[0065]2.5.2)扫描所述的副本,获取目标文件的名称、下载地址,保存为升级参数。
[0066]步骤I)、步骤2)包含在一个批处理命令脚本中。
[0067]上的述步骤I)、步骤2)可写成批处理过程,启动该批处理即可自动完成上述功能,完成上述操作后,目标板即可断开J-LINK与目标板的连接,J-LINK可继续对其他目标板进行操作,此过程耗时在5s之内。
[0068]自动烧写所耗时间是由NANDFLASH读写速度和USB的传输速度共同决定的,烧写32M镜像到NAND FLASH中耗时只在5分钟之内。
[0069]上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。
【权利要求】
1.一种ARM FLASH简易程序烧写的方法,其特征在于,J-LINK仿真器将PC端与目标板进行连接,将制作好烧写程序的U盘连接到目标板上,步骤如下: .1)PC端将初始化程序下载至目标板的CPU片内的SRAM中,初始化目标板的CPU片外的SDRAM内存;.2)PC端将加载程序下载至目标板的CPU片外的SDRAM中,自动读取目标文件,完成烧与。
2.根据权利要求1所述的ARMFLASH简易程序烧写的方法,其特征在于,步骤I)具体为: .1.1DPC端通过J-LINK软件命令行RCE/WCE写ARM9体系结构处理器的R15寄存器,使能 ITCM ; .1.2)将初始化程序下载至目标板的CPU片内的SRAM中;.1.3)运行初始化程序,初始化CPU时钟,然后初始化目标板的CPU片外的SDRAM内存。
3.根据权利要求1所述的ARMFLASH简易程序烧写的方法,其特征在于,步骤2)中,PC端将加载程序下载至目标板的CPU片内的SRAM后,目标板脱离PC端的控制。
4.根据权利要求1所述的ARMFLASH简易程序烧写的方法,其特征在于,步骤2)中所述的加载程序的流程如下: .2.1)初始化系统定时器、通用异步接收/发送装置; . 2.2)初始化USB子系统; .2.3)初始化FAT32子系统;
.2.4)初始化 NAND FLASH ; .2.5)读取U盘中的配置文件; .2.6)读取U盘中的目标文件至SDRAM中; .2.7)将SDRAM中的目标文件拷贝至NAND FLASH中。
5.根据权利要求4所述的ARMFLASH简易程序烧写的方法,其特征在于,步骤2.5)具体为: .2.5.1)在读取配置文件的阶段,在SDRAM保存配置文件副本; 2.5.2)扫描所述的副本,获取目标文件的名称、下载地址,保存为升级参数。
6.根据权利要求5所述的ARMFLASH简易程序烧写的方法,其特征在于,加载程序根据配置文件,自动下载目标文件,并拷贝至NAND FLASH相应的的地址,完成NANDFLASH的烧与。
7.根据权利要求6所述的ARMFLASH简易程序烧写的方法,其特征在于,所述的目标文件包括开机载入程序、内核文件、根文件系统。
8.根据权利要求1所述的ARMFLASH简易程序烧写的方法,其特征在于,步骤I)、步骤2)包含在一个批处理命令脚本中。
【文档编号】G06F9/445GK103677885SQ201210356963
【公开日】2014年3月26日 申请日期:2012年9月21日 优先权日:2012年9月21日
【发明者】黄达福, 彭勇, 任赋, 郑福弟 申请人:厦门雅迅网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1