Thursday, May 27, 2010

Microcontroller

การเขียนโปรแกรม Microcontroller

ภาษาที่ใช้สำหรับการเขียน โปรแกรมบน Microcontoller (ต่อไปจะของเรียกสั้นๆว่า MCU) แบ่งได้เช่นเดียวกับการเขียนโปรแกรมบนคอมพิวเตอร์คือ ภาษาระดับสูง และภาษาระดับต่ำ

ภาษาระดับสูงเช่น C, Basic ข้อดีคือเขียนง่าย, แก้ไขเปลี่ยนแปลง หรือเพิ่มเติมได้ง่าย ส่วนข้อเสียก็คือการทำงานจะช้า ขนาดโปรแกรมที่เขียนมีขนาดใหญ่

ภาษาระดับต่ำ ซึ่งก็คือ ภาษา Assembly ข้อดีคือ ตัว compiler แจกฟรี ขนาดโปรแกรมหลังจาก compiled แล้วมีขนาดเล็ก โปรแกรมมีความเร็ว แต่ข้อเสียก็คือเขียนยาก เพราะลักษณะภาษาไม่ค่อยสื่อความหมาย แก้ไขเปลี่ยนแปลงยาก

รูปแบบการเขียนโปรแกรม Microcontroller สามารถแบ่งได้ดังนี้

  1. เขียนด้วยภาษา Assembly แบบ ไฟล์เดียว หลังจากนั้นก็ทำการ Compile ด้วย Assembler ของ MCU ตัวนั้น ซึ่งส่วนในผู้ผลิต Chip MCU จะแจกจ่ายให้ฟรี สำหรับ Assembler ของMicrochip ก็คือ MPASM โดยไฟล์ที่ได้มามีได้หลายชนิดแต่ส่วนใหญ่จะอยู่ในรูปของ Hex file
  2. ใช้ภาษา Assembly เช่นกัน แต่แบ่งเป็นหลายๆ ไฟล์ หลังจากนั้นก็จะ Compile แต่ละไฟล์ให้ออกมาเป็น Object files และทำการรวมกันด้วย Linker ในขณะทำการ link ก็จะมี script file ของ MCU เบอร์นั้นๆ ประกอบ หลังจากทำการ Link แล้วก็จะได้ Hex file ออกมา
  3. ลักษณะสุดท้ายเป็นการเขียนด้วยภาษา สูง ซึ่งภาษาสูงที่ใช้อาจจะเป็น C, Basic ฯลฯ ซึ่งอาจจะเขียนร่วมกับ ภาษา assembly โดยไฟล์ที่เขียนจะถูกทำให้กลายเป็น Object files โดย Assmbler สำหรับภาษา Assembly และ Compiled โดย Compiler สำหรับภาษาสูง จากนั้นก็ทำการ Link เข้าด้วยกันด้วย Linker ซึ่งขณะทำการ Link ก็จะมีการรวมเอา Library ที่ถูกเรียกใช้ในโปรแกรมเข้าไปรวมด้วยกัน สุดท้ายก็จะออกมาเป็น Hex file

หลังจากได้ Hex file มาแล้ว เราก็จะทำการอัดโปรแกรมเข้าสู่ chip ด้วยตัวโปรแกรมเมอร์ ส่วนใหญ่จะมีรูปแบบคือ มี Software บนคอมพิวเตอร์ สำหรับใช้ในการควบคุมการอ่าน เขียน หรือ ลบ โดยส่วนใหญ่จะเชื่อมต่อไปยัง programmer ด้วย serial, parallel มีราคาให้เลือกตั้งแต่หลักร้อยไปจนถึงหลักหมื่น เมื่ออัดโปรแกรมเข้า chip ได้แล้วเราก็พร้อมจะนำไปทดสอบการทำงานต่อไป

No comments:

Post a Comment