SNK NeoGeo X v370

Build UBoot


為了達到可以從NeoGeo X掌機的SDCard(SDCard-1)開機,司徒決定開始研究北京君正釋出的UBoot程式,在開始研究UBoot程式前,必須先編譯一次官方UBoot程式查看有無問題,若沒有問題再使用此份UBoot程式做修改,這樣可以比較快速修改成司徒想要的功能。

下載如下檔案:
1. UBoot(v1.1.6)程式碼
2. JZ4770 Patch檔案
3. Toolchain工具

接著使用如下指令進行編譯(在Ubuntu系統下

# cp mipseltools-gcc412-glibc261.tar.bz2 /opt
# cp u-boot-1.1.6.tar.bz2 /tmp
# cp u-boot-1.1.6-jz-20110719-r1728-FR1.patch.gz /tmp
# cd /opt
# tar xjf mipseltools-gcc412-glibc261.tar.bz2
# export PATH=/opt/mipseltools-gcc412-glibc261/bin:$PATH
# cd /tmp
# tar xjf u-boot-1.1.6.tar.bz2
# cd u-boot-1.1.6
# gzip -cd ../u-boot-1.1.6-jz-20110719-r1728-FR1.patch.gz | patch -p1
# make pisces_msc_config
# make

若編譯成功,則在UBoot根目錄可以找到mbr-uboot-msc.bin檔案,該檔案就是UBoot的Binary檔案,使用者可以使用Windows的WinHEX或者Linux的dd指令Clone到MicroSD,並且從SDCard-0開機測試,司徒測試後的結果如下(Baudrate: 57600bps)

 MMC init ok

從上面的開機訊息可以知道是從Flash Memory啟動的訊息,但是,司徒目前只能先測試SDCard-0,因此需要更改成SDCard-0啟動的方式,修改的地方位於include/configs/pisces.h檔案中的第38行,改成如下定義並且重新編譯一次即可

#ifdef CONFIG_MSC_U_BOOT
 #define CONFIG_MSC_TYPE_SD
#endif

再度燒錄測試的結果如下(Baudrate: 57600bps)

SD card found!
init ok

U-Boot 1.1.6 (Jan 17 2013 - 22:58:30)
Board: Ingenic Pisces (CPU Speed 1008 MHz)
DRAM:  512 MB   Ram size > EMC_LOW_SDRAM_SPACE_SIZE, set ram size = EMC_LOW_SDRAM_SPACE_SIZE: 256 MB
Error: Unknown flash ID, force set to 'SST_ID_39SF040'
Flash: 512 kB
NAND:nand_get_flash_type: No NAND device found!!!
NAND device: dev_id: 0x0000 ext_id: 0x000000 not known!
nand_scan: No NAND device found!!!
0 MiB
SD init ok
*** Warning - MMC/SD first load, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   JZ ETHERNET
Hit any key to stop autoboot:  0

MSC readSD init ok
3145728 bytes OK:
## Booting image at 80600000 ...
Bad Magic Number
F4770 #

由上面的輸出訊息可以得知,目前的UBoot程式已經可以從SDCard-0啟動,接著司徒就可以開始測試如何從SDCard(SDCard-1)載入Kernel檔案。


返回上一頁