CN103677885A - 一种arm flash简易程序烧写的方法 - Google Patents
一种arm flash简易程序烧写的方法 Download PDFInfo
- Publication number
- CN103677885A CN103677885A CN201210356963.6A CN201210356963A CN103677885A CN 103677885 A CN103677885 A CN 103677885A CN 201210356963 A CN201210356963 A CN 201210356963A CN 103677885 A CN103677885 A CN 103677885A
- Authority
- CN
- China
- Prior art keywords
- programming
- target board
- flash
- initialization
- sdram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000008569 process Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 abstract description 3
- 230000003068 static effect Effects 0.000 abstract 1
- 230000001360 synchronised effect Effects 0.000 abstract 1
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000010923 batch production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种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直接烧写的缺点,通用性大大增强,具有极大的推广意义与价值。
Description
技术领域
本发明涉及一种程序烧写固化到存储介质的领域,更具体地说,涉及一种ARM FLASH简易程序烧写的方法。
背景技术
NAND FLASH以其大存储量和低成本特点广泛替代了NOR FLASH,然而ARM9板载NAND FLASH程序的烧写非常困难。
目前,大多数烧写程序到NAND FLASH的方法主要有以下三种:
第一种是通过H-JTAG工具把需要烧写的固件直接固化到NAND FLASH中;
第二种是运行开发套件如(ADS1.2)软件,通过AXD调试接口把程序直接固化到NANDFLASH中;
第三种是通过NAND FLASH专业烧写工具将购买的芯片固化程序后,再焊接使用。
以上三种方法都存在一定的缺点:
第一种方法的缺点是:(1)烧写速度慢,特别是烧写大文件时速度更慢;(2)另外由于NAND FLASH在出厂是有部分坏块,而H-JTAG工具不能检测坏块,从而导致烧写不成功。
第二种方法的缺点是:(1)烧写速度慢,特别是烧写大文件时速度更慢;(2)另外由于NAND FLASH在出厂是有部分坏块,不能检测坏块,从而导致烧写不成功;(3)需要生产人员熟练使用该软件,而且操作繁琐,效率低。
第三种方法的缺点是:购买芯片的成本较高。
中国发明专利申请201210132951.5公开了一种基于J-LINK间接烧写程序到NAND FLASH的方法,包括如下步骤:(1)、根据嵌入式主板机的硬件特性编写一个特制程序,所述特制程序具有NAND FLASH读写命令,并可以与计算机进行通讯;(2)、编写一个J-LINK软件批处理命令脚本;(3)、使用J-LINK软件将所述的特制程序下载到嵌入式主板机内存中运行;(4)、嵌入式主板机与计算机进行信息交互;(5)、通过命令将目标文件从计算机下载至嵌入式主板机内存;(6)、通过所述特制程序中的NAND FLASH读写命令,将嵌入式主板 机内存中的目标文件固化到NAND FLASH中。
与现有技术相比,上述发明提供的基于J-LINK间接烧写程序到NAND FLASH的方法,不仅速度加快、操作简单、成本低,而且该方法能够识别NAND FLASH坏块,从而避开坏块达到稳定烧写的目的。
但是,对于主流的处理器,J-LINK对其烧写有直接的支持,但烧写速度很慢,且每个板载NAND烧写过程至始至终都需要独享一套PC+J-LINK与之交互,该方式严重影响了生产维护效率。对于非主流的处理器,J-LINK不支持直接对其NAND进行烧写。
发明内容
本发明的目的在于克服现有技术的不足,提供一种烧写速度快、对PC与J-LINK的依赖程度低、生产效率高、几乎适用于所有处理器的通用的ARM FLASH简易程序烧写的方法。
本发明的技术方案如下:
一种ARM FLASH简易程序烧写的方法,J-LINK仿真器将PC端与NAND目标板进行连接,将制作好烧写程序的U盘连接到NAND目标板上,步骤如下:
1)PC端将初始化程序下载至目标板的CPU片内的SRAM中,初始化目标板的CPU片外的SDRAM内存;
2)PC端将加载程序下载至目标板的CPU片外的SDRAM中,自动读取目标文件,完成烧写。
作为优选,步骤1)具体为:
1.1)PC端通过J-LINK软件命令行RCE/WCE写ARM9体系结构处理器的R15寄存器,使能ITCM;
1.2)将初始化程序下载至目标板的CPU片内的SRAM中;
1.3)运行初始化程序,初始化CPU时钟,然后初始化目标板的CPU片外的SDRAM内存。
作为优选,步骤2)中,PC端将加载程序下载至目标板的CPU片内的SRAM后,目标板脱离PC端的控制。
作为优选,步骤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中。
作为优选,步骤2.5)具体为:
2.5.1)在读取配置文件的阶段,在SDRAM保存配置文件副本;
2.5.2)扫描所述的副本,获取目标文件的名称、下载地址,保存为升级参数。
作为优选,加载程序根据配置文件,自动下载目标文件,并拷贝至NAND FLASH相应的的地址,完成NAND FLASH的烧写。
作为优选,所述的目标文件包括开机载入程序、内核文件、根文件系统。
作为优选,步骤1)、步骤2)包含在一个批处理命令脚本中。
本发明的有益效果如下:
与现有技术相比,对PC与J-LINK的依赖仅仅在向目标板拷贝初始化程度,之后的步骤均能在目标上自动完成。PC与J-LINK可以用于另一套目标板的烧写工作,节约成本,提高了生产维护效率。通过J-LINK初始化内存后,引导内存中的程序,直接从U盘将目标代码一次性的拷进NAND FLASH中,为板载NAND FLASH的烧写提供了一个快捷方便的方法,提高了生产效率。
程序的烧写由板卡自动完成,不再利用J-LINK直接对目标板进行烧写,解决了非主流处理不支持利用J-LINK直接烧写的缺点,通用性大大增强,具有极大的推广意义与价值。
附图说明
图1是本发明所述的方法对应的设备连接示意图;
图2是加载程序的流程示意图;
图中:1是PC端,2是目标板,3是U盘。
具体实施方式
以下结合附图及实施例对本发明进行进一步的详细说明。
如图1所示,J-LINK仿真器将PC端1与目标板2进行连接,将制作好烧写程序的U盘3连接到目标板2上。
一种ARM FLASH简易程序烧写的方法,基本步骤如下:
1)PC端将初始化程序下载至目标板的CPU片内的SRAM中,初始化目标板的CPU片外的SDRAM内存;
2)PC端将加载程序下载至目标板的CPU片外的SDRAM中,自动读取目标文件,完成烧写。
其中,步骤1)具体为:
1.1)PC端通过J-LINK软件命令行RCE/WCE写ARM9体系结构处理器的R15寄存器,使能ITCM;
1.2)将初始化程序下载至目标板的CPU片内的SRAM中;所述的初始化程序是预先做好的2K初始化代码,所述的2K代码为精减的初始化代码,其主要功能是初始化片外的SDRAM内存,以供后续能够加载进更大的内存版的加载程序;
1.3)运行初始化程序,初始化CPU时钟,然后初始化目标板的CPU片外的SDRAM内存。
步骤2)中,PC端将加载程序下载至目标板的CPU片内的SRAM后,目标板脱离PC端的控制。PC端通过J-LINK软件的命令将特殊定制内存版的加载程序下载至目标板SDRAM中,并把控制权转交给加载程序,此后目标板将脱离PC和J-LINK的控制,自动完成程序烧写工作。所述的加载程序为特殊定制的内存版程序,其主要功能是初始化USB系统,识别U盘目标文件,识别并初始化板载NAND FLASH,根据U盘配置文件要求完成NAND FLASH的烧写工作。
如图2所示,步骤2)中所述的加载程序的流程如下:
2.1)初始化系统定时器、通用异步接收/发送装置(UART);
2.2)初始化USB子系统;
2.3)初始化FAT32子系统;
2.4)初始化NAND FLASH;
2.5)读取U盘中的配置文件;
2.6)读取U盘中的目标文件至SDRAM中;
2.7)将SDRAM中的目标文件拷贝至NAND FLASH中。
加载程序根据配置文件,自动下载目标文件,并拷贝至NAND FLASH相应的的地址,完成NAND FLASH的烧写。加载程序启用U盘,读取U盘中的配置文件,根据配置文件自动下载镜像文件IMAGE,包括UBOOT+KERNEL+ROOTFS,即目标文件,包括开机载入程序、内核文件、根文件系统。并拷贝至NAND FLASH相应的的地址,完成板载NAND FLASH的自动烧写。
步骤2.5)具体为:
2.5.1)在读取配置文件的阶段,在SDRAM保存配置文件副本;
2.5.2)扫描所述的副本,获取目标文件的名称、下载地址,保存为升级参数。
步骤1)、步骤2)包含在一个批处理命令脚本中。
上的述步骤1)、步骤2)可写成批处理过程,启动该批处理即可自动完成上述功能,完成上述操作后,目标板即可断开J-LINK与目标板的连接,J-LINK可继续对其他目标板进行操作,此过程耗时在5s之内。
自动烧写所耗时间是由NAND FLASH读写速度和USB的传输速度共同决定的,烧写32M镜像到NAND FLASH中耗时只在5分钟之内。
上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。
Claims (8)
1.一种ARM FLASH简易程序烧写的方法,其特征在于,J-LINK仿真器将PC端与目标板进行连接,将制作好烧写程序的U盘连接到目标板上,步骤如下:
1)PC端将初始化程序下载至目标板的CPU片内的SRAM中,初始化目标板的CPU片外的SDRAM内存;
2)PC端将加载程序下载至目标板的CPU片外的SDRAM中,自动读取目标文件,完成烧写。
2.根据权利要求1所述的ARM FLASH简易程序烧写的方法,其特征在于,步骤1)具体为:
1.1)PC端通过J-LINK软件命令行RCE/WCE写ARM9体系结构处理器的R15寄存器,使能ITCM;
1.2)将初始化程序下载至目标板的CPU片内的SRAM中;
1.3)运行初始化程序,初始化CPU时钟,然后初始化目标板的CPU片外的SDRAM内存。
3.根据权利要求1所述的ARM FLASH简易程序烧写的方法,其特征在于,步骤2)中,PC端将加载程序下载至目标板的CPU片内的SRAM后,目标板脱离PC端的控制。
4.根据权利要求1所述的ARM FLASH简易程序烧写的方法,其特征在于,步骤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所述的ARM FLASH简易程序烧写的方法,其特征在于,步骤2.5)具体为:
2.5.1)在读取配置文件的阶段,在SDRAM保存配置文件副本;
2.5.2)扫描所述的副本,获取目标文件的名称、下载地址,保存为升级参数。
6.根据权利要求5所述的ARM FLASH简易程序烧写的方法,其特征在于,加载程序根据配置文件,自动下载目标文件,并拷贝至NAND FLASH相应的的地址,完成NANDFLASH的烧写。
7.根据权利要求6所述的ARM FLASH简易程序烧写的方法,其特征在于,所述的目标文件包括开机载入程序、内核文件、根文件系统。
8.根据权利要求1所述的ARM FLASH简易程序烧写的方法,其特征在于,步骤1)、步骤2)包含在一个批处理命令脚本中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210356963.6A CN103677885B (zh) | 2012-09-21 | 2012-09-21 | 一种arm flash简易程序烧写的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210356963.6A CN103677885B (zh) | 2012-09-21 | 2012-09-21 | 一种arm flash简易程序烧写的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677885A true CN103677885A (zh) | 2014-03-26 |
CN103677885B CN103677885B (zh) | 2019-03-05 |
Family
ID=50315547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210356963.6A Active CN103677885B (zh) | 2012-09-21 | 2012-09-21 | 一种arm flash简易程序烧写的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677885B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461644A (zh) * | 2014-12-18 | 2015-03-25 | 山东超越数控电子有限公司 | 一种国产计算机平台烧录ec固件的方法 |
CN104679565A (zh) * | 2015-03-12 | 2015-06-03 | 烽火通信科技股份有限公司 | 一种光通信设备生产中闪存的烧写系统及方法 |
CN105677429A (zh) * | 2016-01-14 | 2016-06-15 | 北京天诚盛业科技有限公司 | 程序烧写方法、处理器和电子电路 |
CN105677376A (zh) * | 2014-11-19 | 2016-06-15 | 中兴通讯股份有限公司 | 引导程序传输方法、嵌入式系统及引导程序传输系统 |
CN106933612A (zh) * | 2015-12-29 | 2017-07-07 | 珠海优特电力科技股份有限公司 | 程序文件下载方法和系统 |
CN108021385A (zh) * | 2017-12-29 | 2018-05-11 | 北京神州龙芯集成电路设计有限公司 | 一种板载SPI Flash的烧写系统和方法 |
CN109062562A (zh) * | 2018-07-27 | 2018-12-21 | 四川长虹电器股份有限公司 | Mcu固件程序的下载方法 |
CN109710277A (zh) * | 2018-12-21 | 2019-05-03 | 深圳开阳电子股份有限公司 | 一种板载SPI Flash存储器的烧写方法和系统 |
CN109800012A (zh) * | 2019-03-01 | 2019-05-24 | 四川长虹电器股份有限公司 | 一种mcu固件升级方法 |
CN111552501A (zh) * | 2020-04-29 | 2020-08-18 | 珠海趣印科技有限公司 | 一种windows矢量字体烧录工具及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1624665A (zh) * | 2003-12-02 | 2005-06-08 | 深圳创维-Rgb电子有限公司 | 一种烧写e2prom的方法和装置 |
US20070018677A1 (en) * | 2002-07-29 | 2007-01-25 | Marr Kenneth W | Methods for wafer level burn-in |
CN102231852A (zh) * | 2011-05-06 | 2011-11-02 | 深圳市九洲电器有限公司 | 一种机顶盒序列号烧写方法及装置 |
CN102368218A (zh) * | 2011-10-14 | 2012-03-07 | 烽火通信科技股份有限公司 | 自动批量烧写Flash的方法 |
CN102629212A (zh) * | 2012-04-28 | 2012-08-08 | 广东宝莱特医用科技股份有限公司 | 一种基于j-link间接烧写程序到nandflash的方法 |
-
2012
- 2012-09-21 CN CN201210356963.6A patent/CN103677885B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070018677A1 (en) * | 2002-07-29 | 2007-01-25 | Marr Kenneth W | Methods for wafer level burn-in |
CN1624665A (zh) * | 2003-12-02 | 2005-06-08 | 深圳创维-Rgb电子有限公司 | 一种烧写e2prom的方法和装置 |
CN102231852A (zh) * | 2011-05-06 | 2011-11-02 | 深圳市九洲电器有限公司 | 一种机顶盒序列号烧写方法及装置 |
CN102368218A (zh) * | 2011-10-14 | 2012-03-07 | 烽火通信科技股份有限公司 | 自动批量烧写Flash的方法 |
CN102629212A (zh) * | 2012-04-28 | 2012-08-08 | 广东宝莱特医用科技股份有限公司 | 一种基于j-link间接烧写程序到nandflash的方法 |
Non-Patent Citations (1)
Title |
---|
顾明飞: ""一种新的烧写BootLoader的方法"", 《软件导刊》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677376A (zh) * | 2014-11-19 | 2016-06-15 | 中兴通讯股份有限公司 | 引导程序传输方法、嵌入式系统及引导程序传输系统 |
CN104461644A (zh) * | 2014-12-18 | 2015-03-25 | 山东超越数控电子有限公司 | 一种国产计算机平台烧录ec固件的方法 |
CN104679565A (zh) * | 2015-03-12 | 2015-06-03 | 烽火通信科技股份有限公司 | 一种光通信设备生产中闪存的烧写系统及方法 |
CN106933612A (zh) * | 2015-12-29 | 2017-07-07 | 珠海优特电力科技股份有限公司 | 程序文件下载方法和系统 |
CN105677429A (zh) * | 2016-01-14 | 2016-06-15 | 北京天诚盛业科技有限公司 | 程序烧写方法、处理器和电子电路 |
CN108021385A (zh) * | 2017-12-29 | 2018-05-11 | 北京神州龙芯集成电路设计有限公司 | 一种板载SPI Flash的烧写系统和方法 |
CN109062562A (zh) * | 2018-07-27 | 2018-12-21 | 四川长虹电器股份有限公司 | Mcu固件程序的下载方法 |
CN109710277A (zh) * | 2018-12-21 | 2019-05-03 | 深圳开阳电子股份有限公司 | 一种板载SPI Flash存储器的烧写方法和系统 |
CN109710277B (zh) * | 2018-12-21 | 2022-04-01 | 深圳开阳电子股份有限公司 | 一种板载SPI Flash存储器的烧写方法和系统 |
CN109800012A (zh) * | 2019-03-01 | 2019-05-24 | 四川长虹电器股份有限公司 | 一种mcu固件升级方法 |
CN111552501A (zh) * | 2020-04-29 | 2020-08-18 | 珠海趣印科技有限公司 | 一种windows矢量字体烧录工具及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103677885B (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677885A (zh) | 一种arm flash简易程序烧写的方法 | |
CN100461105C (zh) | 一种智能化设备软件升级与修复的方法和系统 | |
CN103150188B (zh) | 非x86指令集计算机的x86兼容显卡快速初始化方法 | |
CN103207771B (zh) | 一种plc程序执行器ip核 | |
CN101634960A (zh) | 一种修改bios参数及重新生成校验和的方法 | |
CN102917242A (zh) | 一种多格式视频解码器的测试系统和测试方法 | |
US20160306757A1 (en) | Bridge configuration in computing devices | |
CN105373338A (zh) | 一种flash的控制方法和控制器 | |
CN105653330A (zh) | 一种基于SD卡的NorFlash烧写系统和方法 | |
CN104077166A (zh) | 基于fpga中ip核的epcs与epcq存储器在线升级方法 | |
CN111459744A (zh) | 视频处理芯片的固件烧录方法和固件调试方法 | |
CN102955751A (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
CN104133705A (zh) | 一种串口加载PowerPC系统引导文件的系统及方法 | |
CN112216340A (zh) | 硬盘测试方法、装置、存储介质及电子设备 | |
CN102043638A (zh) | 计算机系统以及计算机启动设定方法 | |
CN102629212A (zh) | 一种基于j-link间接烧写程序到nandflash的方法 | |
CN101118494A (zh) | 嵌入式设备从外接电子卡启动操作系统的系统与方法 | |
CN109426511B (zh) | 软核更新方法和系统 | |
CN104459515A (zh) | 一种主板生产测试方法 | |
CN103577344A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
CN208722090U (zh) | 带有内存参数精确配置功能的嵌入式终端 | |
CN110366038B (zh) | 多版本软件设备兼容多种技术状态的方法 | |
CN106951268A (zh) | 一种申威平台支持NVMe硬盘启动的实现方法 | |
CN102117245B (zh) | 嵌入式设备及其系统可执行文件分割加载和启动方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 303-e, Zone C, innovation building, software park, Xiamen Torch hi tech Zone, Xiamen, Fujian, 361000 Patentee after: Xiamen Yaxun Zhilian Technology Co.,Ltd. Country or region after: China Address before: No.46 guanri Road, phase II, software park, Xiamen City, Fujian Province, 361000 Patentee before: XIAMEN YAXON NETWORK Co.,Ltd. Country or region before: China |