BOOTLOADER

1 BOOTLOADER

BOOTLOADER 又名載入器,用來載入並執行作業系統。這個 BOOTLOADER 支援 XMODEM 和 TFTP 的載入程序。

這是 ADS 1.2 的編輯畫面,詳列這支 BOOTLOADER 程式的程式碼檔案列表。

s3c2440

這是開發板的運作畫面,接有 JTAG 的 WIGGLER 電路板、串列埠線、網路線。

s3c2440

2 XMODEM

XMODEM 是一種透過串列埠的資料傳輸協定。 筆者使用 SecureCRT 作為列埠傳輸軟體。 XMODEM 使用資料封包 128 位元組或1024位元組,傳輸必須先設定 128 位元組。

這是開發板的命令列。
首先,執行 xmodem 命令,從 SecureCRT 傳送檔案後,會得到傳送成功訊息。
接著,執行 runimage 命令,程式就會跳躍到 0x30000000,執下載的作業系統。

01  *********************
01   Hello, I am bootloader
01   compiled by ADS 1.2
01  *********************
01  ARM:>xmodem
01  CCCCCCCCCCCCCCCCCC
01   XmodemCtrl.BlockNumber: 7d 
01   XmodemCtrl.TotalBlockCount:      17c 
01   XmodemCtrl.ByteCount:       be00 
01   XmodemCtrl.pData:       3000be00 
01   XmodemCtrl.State:        0 
01   XmodemCtrl.SubState:     0 
01   XmodemCtrl.ErrorCount:   0 
01   XmodemCtrl.ErrorCode:   0 
01   XmodemCtrl.ErrorRecord:   0 
01  ARM:>runimage
01  *********************
01  Hello, I am os_image at 0x30000000
01  *********************
01  ARM:>

這是 SecureCRT 的命令列。

設定 XMODEM 資料封包為 128 位元組。
s3c2440

執行 xmodem,這時開發板會接受到 xmodem 命令,開始執行 xmdoem 的接收程序。
s3c2440

點入目錄 Transfer 的 Send Xmodem 子項目,挑選要上傳的檔案。 這裡是挑選檔案 myrtos.bin,路徑是 C:\Program Files\SecureCRT\upload。這也就是說,要把編譯好的 myrtos.bin 複製到這個目錄。
s3c2440

資料上傳開始畫面。
s3c2440

資料上傳成功畫面。
s3c2440

執行 runimage 命令,程式會從 bootloader 跳躍到 myrtos.bin,執行新上傳的作業系統。
s3c2440


3 TFTP

這裡說明 TFTP 的操作方式。

超級終端機設定鮑率 19200,打開 S3C2440 開發板電源,執行 tftp 命令,BOOTLOADER 進入 TFTP 資料接受程序。

01  *********************
01   Hello, I am bootloader
01   compiled by ADS 1.2
01  *********************
01  ARM:>tftp
01   mini tftp server 1.0
01   dm9000a initial
01   ETHERNET initial
01   ETHERNET MAC  0 80 48 12 34 56 
01   ETHERNET IP c0 a8  2  2 
01   ARP initial
01   IP initial
01   ICMP initial
01   UDP initial
01   TFTP initial
01   Download start

將 PC 端網路設定為 192.168.2.1,開發板本身的網址已經固定為 192.168.2.2。打入 TFTP 指令,將作業系統映像傳送到開發板。

01  Microsoft Windows XP [版本 5.1.2600]
01  (C) Copyright 1985-2001 Microsoft Corp.
01  
01  C:\Documents and Settings\bookysc>cd\bin
01  
01  C:\bin>mytftp -i 192.168.2.2 put myrtos.bin
01  Transfer successful: 48556 bytes in 1 second, 48556 bytes/s
01  
01  C:\bin>

TFTP 資料傳送完畢,顯示成功訊息。接著,輸入 runimage 命令,執行上傳的作業系統。

01  *********************
01   Hello, I am bootloader
01   compiled by ADS 1.2
01  *********************
01  ARM:>tftp
01   mini tftp server 1.0
01   dm9000a initial
01   ETHERNET initial
01   ETHERNET MAC  0 80 48 12 34 56 
01   ETHERNET IP c0 a8  2  2 
01   ARP initial
01   IP initial
01   ICMP initial
01   UDP initial
01   TFTP initial
01   Download start
01   receive bdac bytes success
01   done 
01  ARM:>
01  ARM:>runimage
01  *********************
01  Hello, I am os_image at 0x30000000
01  *********************
01  ARM:>
01  ARM:>