Submitted by admin on Thu, 12/31/2009 - 23:16
หากยังไม่ได้ติดตั้ง Cross Tool Chain ให้ติดตั้งก่อนดังนี้ การติดตั้ง Cross Tool Chain
ดึงSource codeมาจากคลังเก็บด้วยคำสั่ง
| $ mkdir uboot $ cd uboot $ git clone git://repo.or.cz/u-boot-openmoko/mini2440.git |
กำหนดตัวแปร CROSS_COMPILE เพื่อให้ make ใช้ Cross Tool Chain ของ arm สำหรับการ Compile
| $ export CROSS_COMPILE=arm-angstrom-linux-gnueabi- |
ทำการ compile uboot
| $ cd mini2440 $ make mini2440_config $ make all |
เมื่อเสร็จสิ้นการ compile เราจะได้ไฟล์ u-boot.bin ซึ่งเราจะได้นำไปใช้ในการติดตั้งบน NAND Flash ต่อไป
การติดตั้ง u-boot.bin บน NAND Flash
เตรียมพร้อมระบบด้วยการ
- ต่อ USB Client ของ mini2440 ไปยัง PC Host พร้อมทั้ง Start program dwn.exe
- ต่อ Serial port mini2440 ไปยัง PC Host พร้อมทั้งรันโปรแกรม Terminal emulator อย่างเช่น putty หรือ Hyperterminal ด้วย Buadrate 115200
1. บันทึก u-boot ลง NAND Flash ดังนี้
- Turn Power Off
- Switch NOR/NAND Selector to NOR
- Turn Power Switch on
เลือก q จาก vivi menu แล้วพิมพ์ข้อความข้างล่างโดย ให้แทนที่ 240500 ด้วยขนาดไฟล์จริงของ u-boot.bin ที่ได้จากการคอมไพล์ข้างต้น จากนั้นให้ upload ไฟล์ u-boot.bin ด้วย dwn.exe
Supervivi> load flash 0 240500 u
USB host is connected. Waiting a download.

u-boot จะถูกบันทึกไปยัง NAND Flash
2. สร้าง bbt (Bad Block Table) ของ NAND Flash
- Turn Power Off
- Switch NOR/NAND Selector to NAND
- Turn Power Switch on
mini2440 จะบูทเข้าสู่ u-boot ให้ใช้คำสั่ง nand scrub เพื่อลบ bbt

ใช้คำสั่ง nand createbbt เพื่อสร้าง bad block table ใหม่

3. สร้าง Environment สำหรับ u-boot
- จากขั้นตอนที่ 2 โปรแกรม u-boot ที่ถูกบันทึกไว้จะถูกลบไปจาก NAND Flash ดังนั้นเราจึงจำเป็นต้องทำตามขั้นตอนที่ 1 ใหม่อีกครั้งเพื่อบันทึกโปรแกรม u-boot กลับเข้าไปใน NAND Flash
- Turn Power Switch Off
- Switch NOR/NAND Selector to NAND
- Turn Power Switch On
- mini2440 จะบูท u-boot โปรดสังเกตุว่าจะมีข้อความ *** Warning - bad CRC or NAND, using default environment
- ใช้คำสั่ง dynenv set 40000 เพื่อทำการสร้าง environment ใหม่ และตามด้วยคำสั่ง saveenv

ใช้คำสั่ง reset เพื่อรีบูทระบบ เมื่อเสร็จสิ้นการรีบูทแล้ว u-boot ก็พร้อมที่จะใช้งาน
อ้างอิง
Micro2440 with Linux and U-Boot