วันนี้ทางทีมงาน Deaware ได้มีโอกาสไปร่วมงาน Workshop “SoCKIT to Me! – Embedded System Design workshops in Thailand” มาครับ
เลยอยากจะมาสรุปและบอกเล่าสำหรับผู้ที่ไม่สะดวกไปกัน
หมายเหตุครับ : บทความนี้เป็นความคิดเห็นส่วนตัวสิ่งใดไม่ถูกใจติชมกันได้ครับ แต่อย่ารุนแรงมากเดี๋ยวคนเขียนตกใจไม่กล้าทำอีก
- เริ่มแรก ในการอบรมจะใช้บอร์ดตามรูปด้านล่างนี้ในการทำ Workshop
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=816
- บอร์ดนี้ใช้ SoC ตัวใหม่ของ Altera เป็นการรวมร่างระหว่าง ARM Cortex-A9 แบบ Dual Core ที่เป็น Hard core Processor (เรียกสั้นๆ ว่า HPS ) และ FPGA โดยจะคล้ายๆกับ zynq ของ xilink ที่ออกมาก่อนหน้านี้
- ราคาชุดทดลองอยู่ที่ 299$
- ซอฟแวร์ที่ใช้ในงานมีสองตัวคือ Quartus II สำหรับฝั่ง FPGA และ ARM DS-5 สำหรับ HPS
- พูดแบบวิชาการหน่อยก็ Quartus II สำหรับ HW design และ ARM DS-5 สำหรับ Software Design รวมไปทั้งการทำดีไวซ์ไดรเวอร์บน Linux
- ในงานอบรมช่วงเช้าจะเน้นไปที่การบรรยายเกี่ยวกับ Hardware session รายละเอียดภายในของ SoC, System Architecture Overview, Tool เป็นต้น
- ช่วงบ่ายเป็นการลงมือปฎิบัติกับบอร์ดจริง โดยลักษณะของการทำ Workshop จะเป็นการปล่อยให้ทำตามเอกสารที่ค่อนข้างอธิบายละเอียด แต่น่าจะยากพอสมควรสำหรับผู้ที่ไม่ชินกันการ configuration เยอะๆ และต้องผ่านพ้นการใช้งาน Linux command line บางส่วน
- การลงมือปฏิบัติเริ๋มจากการรู้จักการทำ Preloader & Bare Metal และทดลอง Generate/run/debug Preloader อันนี้เล่นเอาเหนื่อยเหมือนกัน เพราะว่าติดบางช่วงที่คอมไพล์ไม่ผ่าน make ไม่ได้ แต่สุดท้ายก็พยายามจนผ่านไปได้ด้วยดี
- หลังจากนั้นทดลองการ Debug GPIO ด้วย ARM-DS5 โดยการแก้ค่า Register โดยตรง
- สเตปต่อมา พยายามจะรัน Linux บนบอร์ดโดยที่ U-boot ใช้ได้แล้วหมายความว่าขาดตัว Image อย่างเดียว
- ไม่มี SD Card ไปขอยืมวิทยากรมาเล่นโดยจับมา Format ใหม่ซะหมดเลย ( แต่ขออนุญาติแล้วเพราะบอกว่าจะเอามาลง Linux ^^ )
- Image Linux ที่ได้รับมา corrupt ไปขอใหม่จากวิทยากรโดยตรงแล้วก็ยังเสียเหมือนเดิม Section นี้จึงอดเล่นไป T^T แต่โดยหลักการพอเข้าใจหมดแล้วจึงไม่ซีเรียสอะไรมาก
- วิทยากรวันนี้ Nice มาก ถามได้ตลอด และมีการช่วยเหลือเต็มที่ขนาด Image เสียยังจะส่ง URL กลับตามมาให้ พร้อมทั้งมีการให้ยืมบอร์ดกลับไปทดลองได้ โดยลงชื่อในงานได้
- เอกสารมีตัวอย่าง LAB มากกว่า Workshop วันนี้สามารถเอาไปเล่นต่อได้สบายๆ แต่โดยพื้นฐานต้องเข้าใจ Embedded Linux และ FPGA ระดับหนึ่งก่อน
สรุปนะครับข้อดีข้อเสียของพระเอกของงานเรานะครับกับเจ้า SoC ตัวใหม่ลูกครึ่งพันธฺผสมระหว่าง ARM Cortex-A9 และ FPGA
ข้อดีและจุดเด่น
- ตัว SoC ทำให้การออกแบบฮาร์ดแวร์ flexible มากขึ้นเพราะมี FPGA อยู่ทั้งตัว
- การทำงานทางด้าน RealTime ก็ทำได้ดี เพราะว่ามี FPGA เหมือนเดิม
- ฮาร์ดแวร์น่าจะใช้พื้นที่น้อยลงในการออกแบบเพราะมันจับมารวมกันแล้ว
- Tool ทรงพลังพอสมควรในสายตาผม
- ตัว interconnect ภายในและการออกแบบให้เชื่อมต่อระหว่าง HPS และ FPGA ทำได้ง่ายมากๆ
- ฮาร์ดแวร์น่าจะออกแบบง่ายขึ้นหรือปล่าว
- อื่นๆ มากมายนึกไม่ออกครับ
ข้อเสียและข้อควรระวัง
- ราคา SoC มันค่อนข้างสูงพอสมควร T^T ในการเอามาใช้งานจริง
- งานที่น่าจะได้ใช้ คิดว่าจะน้อยประเภทที่จะใช้ได้คุ้มค่า
- IP Core บน FPGA ราคาก็ยังแพงอยู่ บางทีต้องซื้อหลายตัวถึงจะมีความสามารถครบเท่า SoC ทั่วๆไป จะพัฒนาเองหมดก็ดูจะเหนื่อย เหมาะกับงานที่มองไปที่ประสิทธิภาพมากกว่าราคา
- ARM-DS5 จริงๆ ไม่จำเป็นต้องใช้ได้ถ้าโปรพอ ลดต้นทุนไปได้อีกหน่อยแต่ ARM-DS5 ก็ Powerful พอสมควร
- ที่เหลือยังนึกไม่ออกครับผม
Conclusion : ไครอยากลองเล่นแนะนำให้ซื้อมาครับบอร์ดเดียวน่าจะได้ลองครบทั้ง FPGA และ ARM Cortex-A9 เพราะราคาบอร์ดพัฒนาก็ไม่ได้สูงมาก
ส่วนท่านใดที่มองจะเอามาใช้งานจริงก็คงพิจารณาให้เหมาะสมกับงานดูนะครับ เนื่องจากความหยืดหยุ่นบางทีก็สร้างปัญหาให้เราได้มากพอสมควร
แต่ว่าเรื่องความสามารถมันเกิน จะบรรยายจริงๆ ครับ
ก็ขอจบก่อนนะครับสำหรับเรื่องเล่า Workshop ของวันนี้โอกาสหน้าทางเราได้ไปเที่ยวที่ไหนจะเอามาเขียนฝากอีกนะครับผม
อ้อ วิทยากรบอกผมว่าเว็บนี้น่าจะมี material ของบอร์ดนี้ที่สามารถดาวน์โหลดมาลองเล่นได้ก็ไปทดลองดูนะครับ ^^
http://www.rocketboard.org/