Powered by Drupal, an open source content management system

การสร้างและติดตั้ง uboot สำหรับ mini2440

หากยังไม่ได้ติดตั้ง 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

wiki.linuxmce.org/index.php/Mini2440

usb driver และ dnw.exe

 u-boot ที่ใช้ในการทดลอง