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

การสร้าง Kernel สำหรับ mini2440

หากยังไม่ได้ติดตั้ง Cross Tool Chain ให้ติดตั้งก่อนดังนี้ การติดตั้ง Cross Tool Chain

ดึงSource codeมาจากคลังเก็บด้วยคำสั่ง

$ mkdir kernel
$ cd kernel
$ git clone git://repo.or.cz/linux-2.6/mini2440.git
$ cd mini2440
$ mkdir -p ../kernel-bin

 

Cross Toolchain สำหรับ mini2440

Cross Tool Chain สำหรับใช้กับ mini2440 มีหลายตัวแต่ที่ผมนิยมใช้คือจากโปรเจ็ค Angstorm

http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz

การติดตั้ง Toolchain

การติดตั้งให้ทำด้วย root user หากอยู่ใน mode user ธรรมดาให้ใช้คำสั่ง su แล้วตามด้วย root password

 

$ su
Password:

 

การประยุกต์ใช้งาน Embedded Linux Computer (ตอนที่ 3 - เตรียมระบบ Linux เพื่อการสร้าง Flash Image)

มาถึงตอนที่สามแล้วครับ ตอนนี้จะว่าด้วยการเตรียมระบบ Linux เพื่อการสร้าง Flash Image สำหรับที่จะใช้ Flash WRT54GL ให้ไปเป็น OpenWRT ครับ
 
Embedded Linux ทั่วไปจะเป็นระบบที่เล็กและมี Resources ที่จำกัดโดยเฉพาะอย่างยิ่งหน่วยความจำ ดังนั้นจึงเหมาะสำหรับการใช้งานทั่วๆไปเท่านั้น แต่ไม่เหมาะสำหรับการนำมาใช้พัฒนาโปรแกรมโดยเฉพาะการCompile Code  งานการพัฒนาโปรแกรมหรือการสร้างKernelจะถูกทำในเครื่องที่มีประสิทธิภาพสูงกว่าอย่างเช่น PC
 
การเตรียม D

การประยุกต์ใช้งาน Embedded Linux Computer (ตอนที่ 2 - เลือกComputer)

ใช้ Computer System ตัวไหนดี
จากโจทย์ที่ตั้งไว้ Computer ที่ชนะการประกวดคือ WRT54GL ด้วยเหตุผลดังต่อไปนี้
1. สามารถเชื่อมต่อแบบ Wireless ได้
2. ราคาย่อมเยาว์ ($69) และแพร่หลาย ที่สำคัญผมมีอยู่ไว้ในครอบครองอยู่แล้วไม่ต้องลงทุนใหม่
3. วิ่งระบบ Linux ซึ่งในกรณีนี้เราจะใช้ Openwrt Distribution (http://www.openwrt.org)
4.

การประยุกต์ใช้งาน Embedded Linux Computer (ตอนที่ 1 - ตั้งโจทย์)

จากโครงการของคุณSamira http://www.electoday.com/bbs/viewthread.php?tid=1466&highlight= ซึ่งให้บังเอิญตรงกับโปรเจ็คที่อยากจะทำและวางแผนไว้นานแล้วแต่ไม่ได้ลงมือสักที คือระบบตรวจสอบและควบคุมการเปิดปิดประตูโรงรถ ที่วางแผนไว้ว่าจะดัดแปลงใช้ Linksys Router WRT54GL มาเป็น Computer หลักในการควบคุมระบบ
โครงการนี้ที่เรียกว่าเป็นโครงการเปิด ก็เพราะว่ามีแต่แนวคิด แต่ยังไม่ได้ลงมือทำจนจบ ซึ่งเมื่อลงมือปฏิบัติจริง อาจจะเจออุปสรรคต่างๆ เลยถือโอกาสบันทึกเส้นทางการพัฒนา

การใช้ TouchScreen บน mini2440/debian/X-Window

วิธีการใช้ Touch Screen บน X-Window ของ mini2440 ดูเหมือนจะเป็นปัญหาที่สับสน ด้วยเหตุที่ว่า

  • จะเซ็ทอัพ xorg.conf อย่างไร
  • X-Cursor มักจะวิ่งไปคนละทางกับการเคลื่อนตัวของปากกา และไม่ตรงจุด
  • ข้อมูลเกี่ยวกับเรื่องนี้บนเน็ทก็ไม่ค่อยจะครบถ้วนนัก

Driver ที่เกี่ยวกับ Touch screen จะมีอยู่สองตัวหลักๆคือ tslib และ evtouch  ซึ่งหลังจากที่ได้ทดสอบและไล่โคดทั้งสองตัวแล้วพบว่า

วิธีบูท Linux บน mini2440 จาก Network file system

ความสามารถสูงสุดของ Uboot ใน Mini2440 อีกประการนึงคือการบูท Linux ทั้งระบบจาก Network ซึ่งหมายถึง บน Mini2440 จะมีเพียงแค่ uBoot เปล่าๆอยู่บน nand แต่จะไปโหลด Kernel และ mount File system ที่จัดเก็บอยู่บน Server ทำให้การแก้ไขดัดแปลง Kernel และ program ทำได้อย่างง่ายดาย ยืดหยุ่นและรวดเร็วโดยไม่จำเป็นต้อง Flash nand หรือ ถ่ายโปรแกรมลง SD Card ก่อน

 

ขั้นตอนมีดังนี้ (ทำบน Ubuntu 8.10)

 

จัดเตรียม tftp server เพื่อจัดเก็บ kernel (uImage)

 

1. ติดตั้ง tftp

 

007610