ARM板在裸機的時候,如果我們跑linux系統,需要把linux系統編譯好之後,移植到ARM板上去。
1.首先,我們需要知道我們的板子是什麼型號。我手上的板子是三星公司的基於ARM 920t內核的S3C2440開發板,所以,確保我們的開發板能夠跑起來,下面的文件時必須的
(1)init.bin (用於初始化的一段小程序)
(2)u-boot-s3c2440.bin(u-boot,用於啟動ARM的"C-MOS/BIOS")
(3)uImage-s3c2440.bin(linux內核鏡像文件)
(4)ramdisk-s3c2440.bin(文件系統)
2.准備好這些文件之後,我們需要將我們的開發板用J-Link和電腦連好。將開發板的串口也用USB轉串連接好。(串口是必須的,不然的話就看不到開發板運行的信息)
3.用如下命令設置J-Link的speed (12000KHz)
speed 12000
下載init.bin 文件
loadbin e:\init.bin 0 (loadbin +文件路徑+文件名 地址)
設置指針位置
setpc 0
運行init.bin 程序
g
下載U-BOOT
loadbin e:\u-boot-s3c2440.bin 33f80000
設置指針地址
setpc 33f80000
到這一步,我們的開發板都沒有直觀的輸出給我們,那是因為我們的U-BOOT 還沒有跑起來,但是一旦運行下面一步,我的U-BOOT跑起來之後,串口就會輸出信息。
運行U-BOOT
g
此時,我們的u-boot跑起來了。串口能夠顯示。需要在3S內按下ESC鍵,否則,u-boot就會進入默認的啟動程序(但是現在我們什麼都沒有燒寫,就會死在那裡,前功盡棄)
4.這時,我們可以看到串口輸出很多信息。可以用pri查看信息。
下面我們需要燒寫這些文件到Nand flash中。
首先需要設置服務器的IP(因為我燒寫文件的時候,需要用到tftp下載,所以需要設置tftp服務器的IP)
set serverip 192.168.1.78
save (保存設置)
run bbl(燒寫u-boot)
run bkl (燒寫內核)
run bramdisk(燒寫文件系統)
至此,我們的一切任務都完成了,你只需要運行boot 命令,即可啟動開發板。