ในปัจจุบันคนส่วนใหญ่ มักเริ่มต้นและเรียนรู้การใช้งานและเขียนโปรแกรมไมโครคอนโทรลเลอร์โดยใช้บอร์ด Arduino ซึ่งก็มีข้อดีหลายประการ ถ้ามีบอร์ด Arduino เช่น Uno หรือ Nano (ถือว่า มีราคาไม่แพงเลย) ก็แค่นำมาเสียบสาย USB ต่อเข้ากับคอมพิวเตอร์ และสามารถเขียนโปรแกรมโดยใช้ Arduino IDE (Open Source) ถ้าเขียนโค้ด Arduino Sketch ได้ถูกต้องแล้ว ก็ทำขั้นตอน Build และตามด้วย Upload ไปยังบอร์ด Arduino ได้ไม่ยากเลย
ในอดีต ผู้เขียนเคยใช้ซอฟต์แวร์ Keil (ถูกซื้อไปโดยบริษัท ARM Ltd. ในปีค.ศ. 2005 ปัจจุบันเรียกว่า ARM KEIL) เพื่อทดลองเขียนโปรแกรมบอร์ดไมโครคอนโทรลเลอร์ (32 บิต) ซึ่งถือว่า เป็นครั้งแรกในชีวิต … ไมโครคอนโทรลเลอร์ที่มีให้ใช้ตอนนั้นคือ LPC2148 (ARM7TDMI-S) ของบริษัท Philips Semiconductors (หรือ NXP ในปัจจุบัน)
ซอฟต์แวร์ที่มีคนแนะนำให้ใช้คือ Keil uVision IDE แต่จะต้องใช้งานในโหมด Evaluation (ถ้าใช้ Professional Version จะต้องเสียค่า License ในการใช้งาน) ดังนั้นจึงมีข้อจำกัดคือ ขนาดของโปรแกรมที่ได้ (Program Size) จะต้องมีขนาดไม่เกิน 32KB ถ้าต้องการจำลองการทำงานด้วย Simulator (อันนี้ถือว่าเป็นจุดแข็ง เช่น เราสามารถจำลองการทำงานของโปรแกรมในระดับคำสั่งได้ก่อนไปทดลองกับฮาร์ดแวร์จริง)
การโปรแกรมหรืออัปโหลดไฟล์ไปยังบอร์ดไมโครคอนโทรลเลอร์ มีหลายวิธี วิธีแรกใช้ Bootloader เช่น ผ่านทาง Serial (ในตอนนั้นได้ลองใช้กับบอร์ด LPC2148) และอีกวิธีเป็นการใช้อุปกรณ์ Device Programmer / Debugger คือ สามารถอัปโหลดโปรแกรมไปยังไมโครคอนโทรลเลอร์ได้แล้ว ยังสามารถทำการดีบักโปรแกรมในขณะที่ทำงานโดยใช้ฮาร์ดแวร์จริงได้ด้วย
ผู้เขียนไม่ได้ใช้ซอฟต์แวร์ ARM Keil uVision IDE & MDK-ARM มานานหลายปี และในอดีตก็เคยได้ซื้ออุปกรณ์ ULINK2 JTAG Programmer / Debugger ของบริษัท ARM Keil (แต่ที่จริงแล้วเป็น Clone ที่ผลิตในประเทศจีน ราคาจึงไม่แพงมากนัก) นอกจากนั้นยังมีบอร์ดไมโครคอนโทรลเลอร์ที่ได้เคยซื้อไว้ ซึ่งน่าจะผลิตมาประมาณ 10 ปีแล้ว เป็นบอร์ดที่มีชื่อว่า BlueBoard LPC1768 (บอร์ดนี้ผลิตโดยบริษัทในอินเดีย) ด้วยความเสียดาย และอยากทราบว่า จะยังใช้ได้อยู่หรือไม่ จึงเป็นจุดเริ่มต้นของสิ่งที่จะนำเสนอในบทความนี้
ขั้นตอนการดำเนินการมีดังนี้
1) ดาวน์โหลดและติดตั้งซอฟต์แวร์ MDK-ARM (ใช้เวอร์ชัน MDK 5.29) สำหรับระบบปฏิบัติการ Windows 10
2) ติดตั้ง Software Pack สำหรับ NXP LPC1700 MCU Series
3) สร้างโปรเจกต์ใน uVision IDE และเขียนโค้ดในไฟล์ main.c เพื่อทำให้ LED (ขา P1_29 ของ LPC1768) บนบอร์ดกระพริบได้
4) คอมไพล์โค้ด โดยทำขั้นตอน Build
5) ตั้งค่าเลือกใช้อุปกรณ์ ULINK2 ในส่วนของ Debug
6) อัปโหลดโปรแกรมไปยังบอร์ดทดลอง และทำขั้นตอนดีบักในฮาร์ดแวร์
จบการนำเสนอ แต่การเรียนรู้ยังไม่จบ โปรดติดตามนะครับ …
Creative Commons, Attribution-Non Commercial-Share Alike 4.0 International (CC BY-NC-SA 4.0)