มาลองสร้าง Kernel Module สำหรับ Embedded Linux กัน

(Tux image reference: https://en.wikipedia.org/wiki/File:Tux.png) Embedded Linux คือ? บนระบบฝังตัว (Embedded System) นั้นมีส่วนประกอบใหญ่ๆ อยู่ 2 ส่วน คือ ฮาร์ดแวร์และซอฟต์แวร์ โดยในส่วนของซอฟต์แวร์นั้นก็จะมีระบบปฏิบัติการ (Operating System: OS) ที่เหมือนเป็นตัวกลางระหว่างฮาร์ดแวร์และผู้ใช้งาน โดยระบบปฏิบัติการนั้นจะแตกต่างกันไปตามความสามารถของฮาร์ดแวร์นั่นเอง Embedded Linux เป็นระบบปฏิบัติการแบบหนึ่งที่นิยมใช้ใน Embedded System ที่ออกแบบมาเพื่อทำงานบนอุปกรณ์ฮาร์ดแวร์ที่มีข้อจำกัดในเรื่องของทรัพยากร ทำให้ส่วนการทำงานบางส่วนภายใน Embedded Linux จะหายไปเมื่อเทียบกับ Linux OS ที่ใช้งานบนคอมพิวเตอร์หรือที่ระบบที่มีส่วนการประมวลผลขนาดใหญ่ เช่น C library เป็นต้น  ทำให้เมื่อต้องการสร้างโปรแกรมหรือ Kernel Module นั้นก็ต้องทำการคอมไพล์แบบ cross-compile เช่นเดียวกับระบบปฏิบัติการอื่นๆ ที่ใช้ใน Embedded System Components of an Embedded Linux System  https://www.windriver.com/solutions/learning/embedded-linux … Read More

มาทำความรู้จักกับโพรโทคอล Controller Area Network

CAN หรือ Controller Area Network [1] นั้นเป็นโพรโทคอลสื่อสารที่มีความสำคัญและถูกนำมาใช้ในระบบอิเล็กทรอนิกส์โดยเฉพาะในอุตสาหากรรมยานยนต์รวมไปถึงอุตสาหกรรมต่าง ๆ โพรโทคอลนี้ถูกพัฒนาขึ้นโดยบริษัท Bosch ในช่วงปี ค.ศ. 1980 โดยมีแนวความคิดที่ว่าเพื่อจัดการกับปัญหาความซับซ้อนและปริมาณสายไฟที่จำเป็นในการสื่อสารระหว่างหน่วยควบคุมอิเล็กทรอนิกส์ (ECU) ในรถยนต์ ที่มาของโปรโตคอล CAN bus นั้นเกิดจากความต้องการในการลดน้ำหนัก ลดต้นทุน และลดความซับซ้อนของระบบการเชื่อมต่อด้วยสายไฟแบบจุดต่อจุด (point-to-point) ก่อนหน้านี้การเชื่อมต่ออุปกรณ์ต่าง ๆ ในรถยนต์ใช้สายไฟหลายเส้นในการเชื่อมต่อ ซึ่งสร้างความยุ่งเหยิงและความซับซ้อนในการติดตั้ง การบำรุงรักษา และการขยายตัวของระบบ รูปที่ 1 แสดงตัวอย่างการใช้ CAN bus ในการลดความซับซ้อนของระบบ [2] CAN bus นั้นได้รับการพัฒนาอย่างต่อเนื่องตั้งแต่ที่ได้มีการเปิดตัวโพรโทคอลออย่างเป็นทางการในช่วงปี ค.ศ. 1980 อย่างมีนัยยะสำคัญ ทำให้ในปัจจุบัน CAN นั้นมีหลายรูปแบบให้เลือกใช้ได้อย่างเหมาะสมกับสภาพแวดล้อมอุตสาหากรรมที่แตกต่างกันไป ตัวอย่างเช่น CAN สำหรับรถยนต์ (CAN for Automotive): CAN เวอร์ชันนี้ถูกพัฒนาและปรับแต่งเฉพาะสำหรับใช้ในระบบอิเล็กทรอนิกส์ของรถยนต์ ถือเป็นเวอร์ชันที่นิยมนำมาประยุกต์ใช้กันอย่างแพร่หลายและได้รับการใช้งานอย่างกว้างขวางในอุตสาหกรรมยานยนต์ ความสามารถในการรับส่งข้อมูลความเร็วสูง อีกทั้งยังมีความน่าเชื่อถือสูง … Read More