簡介
OMAP-L138支持多種啟動模式,包括 SPI,NAND,NOR等。TI為用戶提供了兩套 flash燒寫工具:
(1) 使用 TI 在 PSP 包或 OMAP-L138_FlashAndBootUtils 包中提供的 flash writer 的 CCS工程,通過仿真器連接硬件板,按照提示步驟燒寫 flash。
(2) 使用 OMAP-L138_FlashAndBootUtils工具包中的串口燒寫工具(如 sfh_OMAP-L138.exe),通過串口連接,進行命令行燒寫。
本文接下來將針對第二種方式進行詳細介紹。
用戶可以從開源網(wǎng)站上下載最新的 OMAP-L138_FlashAndBootUtils版本[1]。最新的版本為 OMAPL138_FlashAndBootUtils_2_40,本文以此版本展開討論。
OMAP-L138_FlashAndBootUtils_2_40工具包支持 TI公司的多種芯片平臺的 flash燒寫,包括 OMAPL138,AM1808,C6748等。工具包內的代碼是對應 LogicPD的 OMAL138/AM1808 EVM板的。如果用于用戶自己的硬件板,可能需要修改工具包中相應代碼并重新編譯。
該工具包中包括多種 flash工具及代碼。主要目錄如表 1所示。
表1
1. 串口燒寫工具 sfh_OMAP-L138.exe的工作原理
sfh_OMAP-L138是 OMAP-L138_FlashAndBootUtils包中用于實現(xiàn)串口燒寫 flash的應用程序。與UartHost.exe[3]工具不同,UartHost.exe是 UART啟動工具,不能燒寫 flash。
運行 sfh_OMAP-L138.exe時,通過 UART啟動方式下載并運行 OMAPL138/GNU/sft目錄下的 AIS格式 bin文件,完成芯片的初始化操作。然后通過 UART與 sfh進行命令交換,實現(xiàn) flash的擦除和燒寫工作。
從 OMAP-L138/GNU/sft/build目錄中的 makefile文件可知,編譯 sft目錄內各 bin文件時需要 sft.c,device.c,uart.c以及針對不同 flash對應的 flash初始化文件。
例如 sft_OMAPL138_SPI_MEM.bin是由 sft.c,device.c,uart.c等文件與 spi.c,spi_mem.c,device_spi.c一起編譯,并通過 OMAP-L138/GNU/AISUtils目錄下的 HexAIS_OMAP-L138.exe,根據(jù) sft目錄下的配置文件sft_hexais.ini內的配置信息,將.out文件轉換成 AIS格式的.bin文件。
2. 命令格式介紹
在命令行下輸入 sfh_OMAP-L138.exe –help輸出命令格式說明如下:
sfh_OMAP-L138[-targetType] [-flashType]
[] [
該工具包中包括多種 flash工具及代碼。主要目錄如表 1所示。
表 1 OMAP-L138_FlashAndBootUtils_2_40工具包目錄結構
3. sfh_OMAPL138.exe常用命令的使用
sfh_OMAPL138.exe常用命令如表 2所示。
表 2 sfh_OMAPL138.exe常用命令表
以 SPI flash啟動為例,準備如下文件:
sfh_OMAPL138.exe,來源于 OMAP-L138_FlashAndBootUtils_2_40工具包。
ubl-spi_ais.bin,來源于 OMAP-L138_FlashAndBootUtils_2_40工具包。
u-boot.bin,來源于 SDK PSP目錄下的 UBoot。
u-boot-ais.bin,由 UBoot編譯出的 elf格式文件 u-boot,通過 AIS轉換工具生成。
首先將 OMAL138/AM1808 EVM板設置為 UART2啟動模式,S7開關設置如圖 1所示。 用直連串口線連接 PC與EVM板,打開 EVM板電源。在命令行模式下進入目錄:OMAP-L138_FlashAndBootUtils_2_40\OMAPL138\GNU。
3.1全局擦除 flash命令
sfh_OMAPL138.exe –targetType OMAP-L138 –flashType SPI_MEM –erase
圖 2 sfh_OMAPL138.exe –erase命令運行界面
運行結果如圖 2所示,如果是先上電,后執(zhí)行該命令,則需要按下板子上的 reset鍵輸出 “BOOTME”給上位機的sfh。