在ARM9內核的開發中,燒錄和仿真BootLoader程序一直是研發工程師頭痛的事情。原因是沒有高效的BootLoader下載程序和模仿BootLoader加載的仿真。因此整個BootLoader的調試開發效率不高。 TKScope支持ARM芯片不同形式的BootLoader仿真/燒錄。例如,NXP公司LPC3000系列芯片可選擇從不同的外部設備啟動:NAND Flash、SPI存儲器、USB、UART或靜態存儲器。其中,NAND Flash、SPI存儲器啟動方法比較常用。本文以LPC3000系列芯片為例,詳細講解TK-Scope仿真/燒錄NAND Flash、SPI存儲器的啟動方法。LPC3000系列芯片NAND Flash、SPI存儲器啟動原理是一樣的:芯片上電復位后,通過片內BootLoader把外部存儲設備中的程序裝載到內部的RAM中執行。 1 實現NAND Flash啟動仿真/燒錄方法 TKScope仿真之前需要正確地設置工作參數,用戶可參考使用指南,這里只強調需要特別注意的兩項設置。 ①[主要設置]選項。如圖1所示,要特別注意的是復位恢復時間的設置。圖1中的復位恢復時間就是Boot-Loader把NAND Flash中的程序裝載到芯片內部RAM中的時間。時間值由用戶根據程序的大小來設定。 ②[程序燒寫]選項。如圖2所示,要特別注意的是Flash算法的選擇。LPC3000系列芯片內部無Flash,所以編程算法中沒有Flash算法文件。選擇NAND Flash啟動,需要添加外部NAND Flash算法文件。 單擊[添加算法]按鈕,打開TKScope驅動安裝目錄下的ExtFlash文件夾,找到LPC3000系列芯片NANDFlash啟動算法文件(路徑為 TKScope\configuration\Ext-Flash),如圖3所示。可以看到NAND Flash算法文件有2種,用戶需要根據實際使用的NAND Flash類型來選擇。其中:LPC3000_NAND_2KBytesPage.flm為大頁NAND Flash算法文件;LPC3000_NAND_512BytesPage.flm為小頁NAND Flash算法文件。NAND Flash算法文件添加完畢后,界面如圖4所示。注意:此時,Flash起始地址默認為0x80000000,需要手動修改為0x00000000。 程序燒寫的最終界面如圖5所示,NAND Flash起始地址為Ox00000000。注意:[編程Flash]、[驗證Flash]一定要選中,否則程序無法下載到Flash中。同時,選擇[扇區擦除]選項。至此,TKScope仿真器工作參數設置完畢,可以開始進行仿真。 以Keil RealView MDK軟件為例,點擊XX進入仿真狀態,進入之后點擊XX退出;然后,再次點擊XX進入到仿真狀態,此時就可以正確地進行仿真調試了。也就是說,TK- Scope仿真NAND Flash啟動,需要連續2次進入仿真狀態,第2次進入仿真狀態才可正常、正確地調試。這種操作方法是由LPC3000系列芯片NAND Flash啟動原理決定的:第1次進入仿真,主要任務是下載燒錄程序代碼到NAND Flash中,可以看到圖6所示的Flash編程提示框;第2次進入仿真,主要任務是將LPC3000系列芯片復位,BootLoader把NAND Flask中的程序裝載到內部RAM中。 用戶可以根據實際仿真需求,采用全速、單步、設置斷點等多種仿真方式來調試程序;同時,可以打開相應的窗口觀察仿真結果。仿真界面如圖7所示。 2 實現SPI存儲器啟動仿真/燒錄方法 TKScope實現SPI存儲器啟動的仿真步驟及設置方法與NAND Flash啟動是一樣的。這里只強調選擇Flash算法的不同之處。 用戶打開TKScope驅動安裝目錄下的ExtFlash文件夾,找到LPC3000系列芯片SPI存儲器啟動外部Flash算法文件(路徑為 TKScope\configuration\ExtFlash),如圖8所示。SPI接口的Flash存儲器有幾種類型,TKScope仿真器會陸續提供相應的算法文件,存放在圖8所示的Ext-Flash文件夾內。本文所用Flash為SST25VF512,故選擇 LPC3000_SST25xFxxx.flm。 同樣,TKScope仿真SPI存儲器啟動,也需要連續2次進入到仿真狀態,第2次進入仿真狀態才可正常、正確地調試。這種操作方法同樣是由 LPC3000系列芯片SPI存儲器啟動原理決定的:第1次進入仿真,主要任務是下載燒錄程序代碼到SPI存儲器中,可以看到Flash編程提示框;第2 次進入仿真,主要任務是將LPC3000系列芯片復位,BootLoader把SPI存儲器中的程序裝載到內部RAM中。 TKScope同樣可以實現其他公司芯片的BootLoader仿真。例如,Samsung公司的S3C2410/S3C2440芯片NAND Flash啟動,TKScope完全可以仿真,實現原理和操作方法與LPC3000系列基本相同。 |