安裝燒寫工具: Jflash-s3c2410
# tar zxvf sbc2410v6_linux-2.4.18_sdk.tgz
# cd opt/FriendlyARM/SBC2410/Jflash/
# cp Jflash-s3c2410 /usr/bin
或者直接從G寶盤下載Jflash-s3c2410,下載后注意修改Jflash-s3c2410的執(zhí)行權(quán)限
# cd u-boot-1.1.6/
# ls -l u-boot.bin
-rwxr-xr-x 1 root root1126442007-09-22 15:02 u-boot.bin
#Jflash-s3c2410u-boot.bin/t=5
+------------------------------------+
| SEC JTAG FLASH(SJF) v 0.11 +
| modified by MIZI 2002.7.13 +
+------------------------------------+
> flashType=5
> S3C2410X(ID=0x0032409d) is detected.
> K9S1208 is detected. ID=0xec76
K9S1208 NAND Flash JTAG Programmer Ver 0.0
0:K9S1208 Program 1:K9S1208 Pr BlkPage 2: Exit
Select the function to test :0
[SMC(K9S1208) NAND Flash Writing Program]
Source size: 0x1b803 <==> 112643 byte
Available target block number: 0~4095
Input target block number:0
STATUS:Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
K9S1208 NAND Flash JTAG Programmer Ver 0.0
0:K9S1208 Program 1:K9S1208 Pr BlkPage2: Exit
Select the function to test :2
注:
(1) 將u-boot.bin燒寫到Nand Flash的前111K
(2) 從u-boot源碼獲知"環(huán)境變量"的存放位置及其大小
vi u-boot-1.1.6/include/configs/smdk2410.h
---------------------------------------------
#define CFG_ENV_OFFSET 0x0F0000
#define CFG_ENV_SIZE 0x010000
環(huán)境變量的存放位置:960KB;大小:64KB(Nand Flash第1M的最后64KB中存放環(huán)境變量)。這樣uImage就應(yīng)該存放于0x100000<==> 1MB(從這個(gè)位置開(kāi)始存放內(nèi)核)
新開(kāi)發(fā)的電路板沒(méi)有任何程序可以執(zhí)行,也就不能啟動(dòng),需要先將u-boot燒寫到Flash中。如果主板上的EPROM或者Flash能夠取下來(lái),就可以 通過(guò)編程器燒寫。例如:計(jì)算機(jī)BIOS就存儲(chǔ)在一塊256KB的Flash上,通過(guò)插座與主板連接。但是多數(shù)嵌入式單板使用貼片的Flash,不能取下來(lái) 燒寫。這種情況可以通過(guò)處理器的調(diào)試接口,直接對(duì)板上的Flash編程。處理器調(diào)試接口是為處理器芯片設(shè)計(jì)的標(biāo)準(zhǔn)調(diào)試接口,包含BDM、JTAG和 EJTAG3種接口標(biāo)準(zhǔn)。BDM(Background Debug Mode)主要應(yīng)用在PowerPC8xx系列處理器上;EJTAG主要應(yīng)用在MIPS處理器上。這3種硬件接口標(biāo)準(zhǔn)定義有所不同,但是功能基本相同,下 面都統(tǒng)稱為JTAG接口。
最簡(jiǎn)單方式就是通過(guò)JTAG電纜,轉(zhuǎn)接到計(jì)算機(jī)并口連接。這需要在主機(jī)端開(kāi)發(fā)燒寫程序,還需要有并口設(shè)備驅(qū)動(dòng)程序。開(kāi)發(fā)板上電或者復(fù)位的時(shí)候,燒寫程序探 測(cè)到處理器并且開(kāi)始通信,然后把Bootloader下載并燒寫到Flash中。這種方式速率很慢,可是價(jià)格非常便宜。一般來(lái)說(shuō),平均每秒鐘可以燒寫 100~200個(gè)字節(jié)。
燒寫完成后,復(fù)位實(shí)驗(yàn)板,串口終端應(yīng)該顯示u-boot的啟動(dòng)信息。
評(píng)論