一種arm flash簡易程序燒寫的方法
【專利摘要】本發(fā)明涉及一種ARM?FLASH簡易程序燒寫的方法,J-LINK仿真器將PC端與NAND目標板進行連接,將制作好燒寫程序的U盤連接到NAND目標板上,步驟如下:1)PC端將初始化程序下載至目標板的CPU片內的SRAM中,初始化目標板的CPU片外的SDRAM內存;2)PC端將加載程序下載至目標板的CPU片外的SDRAM中,自動讀取目標文件,完成燒寫。PC與J-LINK可以用于另一套目標板的燒寫工作,節(jié)約成本,提高了生產維護效率。程序的燒寫由板卡自動完成,不再利用J-LINK直接對目標板進行燒寫,解決了非主流處理不支持利用J-LINK直接燒寫的缺點,通用性大大增強,具有極大的推廣意義與價值。
【專利說明】 —種ARM FLASH簡易程序燒寫的方法
【技術領域】
[0001]本發(fā)明涉及一種程序燒寫固化到存儲介質的領域,更具體地說,涉及一種ARMFLASH簡易程序燒寫的方法。
【背景技術】
[0002]NAND FLASH以其大存儲量和低成本特點廣泛替代了 NOR FLASH,然而ARM9板載NAND FLASH程序的燒寫非常困難。
[0003]目前,大多數(shù)燒寫程序到NAND FLASH的方法主要有以下三種:
[0004]第一種是通過H-JTAG工具把需要燒寫的固件直接固化到NAND FLASH中;
[0005]第二種是運行開發(fā)套件如(ADS1.2)軟件,通過AXD調試接口把程序直接固化到NANDFLASH 中;
[0006]第三種是通過NAND FLASH專業(yè)燒寫工具將購買的芯片固化程序后,再焊接使用。
[0007]以上三種方法都存在一定的缺點:
[0008]第一種方法的缺點是:(1)燒寫速度慢,特別是燒寫大文件時速度更慢;(2)另外由于NAND FLASH在出廠是有部分壞塊,而H-JTAG工具不能檢測壞塊,從而導致燒寫不成功。
[0009]第二種方法的缺點是:(1)燒寫速度慢,特別是燒寫大文件時速度更慢;(2)另外由于NAND FLASH在出廠是有部分壞塊,不能檢測壞塊,從而導致燒寫不成功;(3)需要生產人員熟練使用該軟件,而且操作繁瑣,效率低。
[0010]第三種方法的缺點是:購買芯片的成本較高。
[0011]中國發(fā)明專利申請201210132951.5公開了一種基于J-LINK間接燒寫程序到NANDFLASH的方法,包括如下步驟:(I)、根據(jù)嵌入式主板機的硬件特性編寫一個特制程序,所述特制程序具有NAND FLASH讀寫命令,并可以與計算機進行通訊;(2)、編寫一個J-LINK軟件批處理命令腳本;(3)、使用J-LINK軟件將所述的特制程序下載到嵌入式主板機內存中運行;(4)、嵌入式主板機與計算機進行信息交互;(5)、通過命令將目標文件從計算機下載至嵌入式主板機內存;(6)、通過所述特制程序中的NAND FLASH讀寫命令,將嵌入式主板機內存中的目標文件固化到NAND FLASH中。
[0012]與現(xiàn)有技術相比,上述發(fā)明提供的基于J-LINK間接燒寫程序到NAND FLASH的方法,不僅速度加快、操作簡單、成本低,而且該方法能夠識別NAND FLASH壞塊,從而避開壞塊達到穩(wěn)定燒寫的目的。
[0013]但是,對于主流的處理器,J-LINK對其燒寫有直接的支持,但燒寫速度很慢,且每個板載NAND燒寫過程至始至終都需要獨享一套PC+J-LINK與之交互,該方式嚴重影響了生產維護效率。對于非主流的處理器,J-LINK不支持直接對其NAND進行燒寫。
【發(fā)明內容】
[0014]本發(fā)明的目的在于克服現(xiàn)有技術的不足,提供一種燒寫速度快、對PC與J-LINK的 依賴程度低、生產效率高、幾乎適用于所有處理器的通用的arm FLASH簡易程序燒寫的方法。
[0015]本發(fā)明的技術方案如下:
[0016]一種ARM FLASH簡易程序燒寫的方法,J-LINK仿真器將PC端與NAND目標板進行連接,將制作好燒寫程序的U盤連接到NAND目標板上,步驟如下:
[0017]DPC端將初始化程序下載至目標板的CPU片內的SRAM中,初始化目標板的CPU片外的SDRAM內存;
[0018]2) PC端將加載程序下載至目標板的CPU片外的SDRAM中,自動讀取目標文件,完成燒寫。
[0019]作為優(yōu)選,步驟I)具體為:
[0020]1.DPC端通過J-LINK軟件命令行RCE/WCE寫ARM9體系結構處理器的R15寄存器,使能ITCM ;
[0021]1.2)將初始化程序下載至目標板的CPU片內的SRAM中;
[0022]1.3)運行初始化程序,初始化CPU時鐘,然后初始化目標板的CPU片外的SDRAM內存。
[0023]作為優(yōu)選,步驟2)中,PC端將加載程序下載至目標板的CPU片內的SRAM后,目標板脫離PC端的控制。
[0024]作為優(yōu)選,步驟2)中所述的加載程序的流程如下:
[0025]2.1)初始化系統(tǒng)定時器、通用異步接收/發(fā)送裝置;
[0026]2.2)初始化USB子系統(tǒng);
[0027]2.3)初始化FAT32子系統(tǒng);
[0028]2.4)初始化 NAND FLASH ;
[0029]2.5)讀取U盤中的配置文件;
[0030]2.6)讀取U盤中的目標文件至SDRAM中;
[0031 ] 2.7 )將SDRAM中的目標文件拷貝至NAND FLASH中。
[0032]作為優(yōu)選,步驟2.5)具體為:
[0033]2.5.1)在讀取配置文件的階段,在SDRAM保存配置文件副本;
[0034]2.5.2)掃描所述的副本,獲取目標文件的名稱、下載地址,保存為升級參數(shù)。
[0035]作為優(yōu)選,加載程序根據(jù)配置文件,自動下載目標文件,并拷貝至NAND FLASH相應的的地址,完成NAND FLASH的燒寫。
[0036]作為優(yōu)選,所述的目標文件包括開機載入程序、內核文件、根文件系統(tǒng)。
[0037]作為優(yōu)選,步驟I)、步驟2)包含在一個批處理命令腳本中。
[0038]本發(fā)明的有益效果如下:
[0039]與現(xiàn)有技術相比,對PC與J-LINK的依賴僅僅在向目標板拷貝初始化程度,之后的步驟均能在目標上自動完成。PC與J-LINK可以用于另一套目標板的燒寫工作,節(jié)約成本,提高了生產維護效率。通過J-LINK初始化內存后,引導內存中的程序,直接從U盤將目標代碼一次性的拷進NAND FLASH中,為板載NAND FLASH的燒寫提供了一個快捷方便的方法,提聞了生廣效率。
[0040]程序的燒寫由板卡自動完成,不再利用J-LINK直接對目標板進行燒寫,解決了非主流處理不支持利用J-LINK直接燒寫的缺點,通用性大大增強,具有極大的推廣意義與價值。
【專利附圖】
【附圖說明】
[0041]圖1是本發(fā)明所述的方法對應的設備連接示意圖;
[0042]圖2是加載程序的流程示意圖;
[0043]圖中:1是PC端,2是目標板,3是U盤。
【具體實施方式】
[0044]以下結合附圖及實施例對本發(fā)明進行進一步的詳細說明。
[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內存,以供后續(xù)能夠加載進更大的內存版的加載程序;
[0052]1.3)運行初始化程序,初始化CPU時鐘,然后初始化目標板的CPU片外的SDRAM內存。
[0053]步驟2)中,PC端將加載程序下載至目標板的CPU片內的SRAM后,目標板脫離PC端的控制。PC端通過J-LINK軟件的命令將特殊定制內存版的加載程序下載至目標板SDRAM中,并把控制權轉交給加載程序,此后目標板將脫離PC和J-LINK的控制,自動完成程序燒寫工作。所述的加載程序為特殊定制的內存版程序,其主要功能是初始化USB系統(tǒng),識別U盤目標文件,識別并初始化板載NAND FLASH,根據(jù)U盤配置文件要求完成NAND FLASH的燒寫工作。
[0054]如圖2所示,步驟2)中所述的加載程序的流程如下:
[0055]2.1)初始化系統(tǒng)定時器、通用異步接收/發(fā)送裝置(UART);
[0056]2.2)初始化USB子系統(tǒng);
[0057]2.3)初始化FAT32子系統(tǒng);
[0058]2.4)初始化 NAND FLASH ;
[0059]2.5)讀取U盤中的配置文件;
[0060]2.6)讀取U盤中的目標文件至SDRAM中;
[0061 ] 2.7 )將SDRAM中的目標文件拷貝至NAND FLASH中。[0062]加載程序根據(jù)配置文件,自動下載目標文件,并拷貝至NAND FLASH相應的的地址,完成NAND FLASH的燒寫。加載程序啟用U盤,讀取U盤中的配置文件,根據(jù)配置文件自動下載鏡像文件IMAGE,包括UB00T+KERNEL+R00TFS,即目標文件,包括開機載入程序、內核文件、根文件系統(tǒng)。并拷貝至NAND FLASH相應的的地址,完成板載NAND FLASH的自動燒寫。
[0063]步驟2.5)具體為:
[0064]2.5.1)在讀取配置文件的階段,在SDRAM保存配置文件副本;
[0065]2.5.2)掃描所述的副本,獲取目標文件的名稱、下載地址,保存為升級參數(shù)。
[0066]步驟I)、步驟2)包含在一個批處理命令腳本中。
[0067]上的述步驟I)、步驟2)可寫成批處理過程,啟動該批處理即可自動完成上述功能,完成上述操作后,目標板即可斷開J-LINK與目標板的連接,J-LINK可繼續(xù)對其他目標板進行操作,此過程耗時在5s之內。
[0068]自動燒寫所耗時間是由NANDFLASH讀寫速度和USB的傳輸速度共同決定的,燒寫32M鏡像到NAND FLASH中耗時只在5分鐘之內。
[0069]上述實施例僅是用來說明本發(fā)明,而并非用作對本發(fā)明的限定。只要是依據(jù)本發(fā)明的技術實質,對上述實施例進行變化、變型等都將落在本發(fā)明的權利要求的范圍內。
【權利要求】
1.一種ARM FLASH簡易程序燒寫的方法,其特征在于,J-LINK仿真器將PC端與目標板進行連接,將制作好燒寫程序的U盤連接到目標板上,步驟如下: .1)PC端將初始化程序下載至目標板的CPU片內的SRAM中,初始化目標板的CPU片外的SDRAM內存;.2)PC端將加載程序下載至目標板的CPU片外的SDRAM中,自動讀取目標文件,完成燒與。
2.根據(jù)權利要求1所述的ARMFLASH簡易程序燒寫的方法,其特征在于,步驟I)具體為: .1.1DPC端通過J-LINK軟件命令行RCE/WCE寫ARM9體系結構處理器的R15寄存器,使能 ITCM ; .1.2)將初始化程序下載至目標板的CPU片內的SRAM中;.1.3)運行初始化程序,初始化CPU時鐘,然后初始化目標板的CPU片外的SDRAM內存。
3.根據(jù)權利要求1所述的ARMFLASH簡易程序燒寫的方法,其特征在于,步驟2)中,PC端將加載程序下載至目標板的CPU片內的SRAM后,目標板脫離PC端的控制。
4.根據(jù)權利要求1所述的ARMFLASH簡易程序燒寫的方法,其特征在于,步驟2)中所述的加載程序的流程如下: .2.1)初始化系統(tǒng)定時器、通用異步接收/發(fā)送裝置; . 2.2)初始化USB子系統(tǒng); .2.3)初始化FAT32子系統(tǒng);
.2.4)初始化 NAND FLASH ; .2.5)讀取U盤中的配置文件; .2.6)讀取U盤中的目標文件至SDRAM中; .2.7)將SDRAM中的目標文件拷貝至NAND FLASH中。
5.根據(jù)權利要求4所述的ARMFLASH簡易程序燒寫的方法,其特征在于,步驟2.5)具體為: .2.5.1)在讀取配置文件的階段,在SDRAM保存配置文件副本; 2.5.2)掃描所述的副本,獲取目標文件的名稱、下載地址,保存為升級參數(shù)。
6.根據(jù)權利要求5所述的ARMFLASH簡易程序燒寫的方法,其特征在于,加載程序根據(jù)配置文件,自動下載目標文件,并拷貝至NAND FLASH相應的的地址,完成NANDFLASH的燒與。
7.根據(jù)權利要求6所述的ARMFLASH簡易程序燒寫的方法,其特征在于,所述的目標文件包括開機載入程序、內核文件、根文件系統(tǒng)。
8.根據(jù)權利要求1所述的ARMFLASH簡易程序燒寫的方法,其特征在于,步驟I)、步驟2)包含在一個批處理命令腳本中。
【文檔編號】G06F9/445GK103677885SQ201210356963
【公開日】2014年3月26日 申請日期:2012年9月21日 優(yōu)先權日:2012年9月21日
【發(fā)明者】黃達福, 彭勇, 任賦, 鄭福弟 申請人:廈門雅迅網絡股份有限公司