ลอง cross compile โปรแกรมสำหรับ MIPS

งมมาหลายวัน นึกว่าจาง่าย แต่อย่างว่าล่ะครับ ความพยายามอยู่ที่ไหน ความสำเร็จอยู่ที..่ไหน T-T

เนื่องจาก Set top Box ที่ใช้งาน เป็น Single Chip ที่เป็น MIPS32 Based เราก็นึกว่า จะพอครอสคอมไพล์
เพื่อที่จะเอาโปรแกรมลงง่าย ๆ แบบ arm จริง ๆ arm ก็อาจจะยากก็ได้ แต่บังเอิญตอนนั้นฟลุกทำได้ -_-''

เริ่มจากการลองใช้ ของ emdebian เพราะว่าเราใช้ ubuntu ซะเคยชิน ลง debian 4.0r3 ใหม่จากแผ่น netinst
จากนั้นก็ทำการชี้ repository ไปที่

deb http://www.emdebian.org/debian/ stable main
deb-src http://www.emdebian.org/debian/ stable main

จากนั้น install package

apt-get install libc6-dev-mips-cross libc6-mips-cross
apt-get install binutils-mips-linux-gnu
apt-get install gcc-4.1-mips-linux-gnu g++-4.1-mips-linux-gnu

ผลที่ได้ จะได้ compiler พร้อมกับ binutil ที่จำเป็น

ลองคอมไฟล์ดูโปรแกรม Hello World ภาษา C

mips-linux-gnu-gcc -mips32 -EL -o hello hello.c

ผ่าน ลองอัพไปบน box

./hello

Segmentation fault

-"- เ่อ่อ ตกลงเราทำไรผิดไปเนี่ย

เอาเป็นว่าคงต้องคนหาต่อไปว่าน่าจะใส่ option อะไรผิด ไม่ก้อ libraryซักอย่างผิด
เพราะ MIPS เนี่ยเพิ่งเคยลองทำนี่ละ เอาเป็นว่า สู่ต่อไปเหอ ๆ