ผลต่างระหว่างรุ่นของ "การใช้ Arduino Makefile"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 31: แถว 31:
 
  cd ~/sketchbook/test_mk
 
  cd ~/sketchbook/test_mk
  
สร้างไฟล์ <tt>Makefile</tt> ที่มีคำสั่งดังนี้ (หากใช้ระบบปฏิบัติการอื่นนอกเหนือจาก Ubuntu Linux ให้เปลี่ยนบรรทัดสุดท้ายตามที่อยู่ของไฟล์ <tt>Arduino.mk</tt>)
+
สร้างไฟล์ <tt>Makefile</tt> ที่มีคำสั่งดังนี้ (หากใช้ระบบปฏิบัติการอื่นนอกเหนือจาก Ubuntu Linux ให้ระบุชื่อไดเรคตอรีที่ติดตั้ง Arduino และ Arduino-Makefile ไว้ในตัวแปร <tt>ARDUINO_DIR</tt> และ <tt>ARDUINO_MAKEFILE_DIR</tt> ในสองบรรทัดตามลำดับ)
 
<syntaxhighlight lang="make">
 
<syntaxhighlight lang="make">
 +
ARDUINO_DIR = /usr/share/arduino
 +
ARDUINO_MAKE_DIR = /usr/share/arduino
 
BOARD_TAG = atmega168
 
BOARD_TAG = atmega168
 
AVRDUDE_ARD_PROGRAMMER = usbasp
 
AVRDUDE_ARD_PROGRAMMER = usbasp
  
include /usr/share/arduino/Arduino.mk
+
include $(ARDUINO_MAKE_DIR)/Arduino.mk
 
</syntaxhighlight>
 
</syntaxhighlight>
  

รุ่นแก้ไขเมื่อ 09:00, 26 ตุลาคม 2557

วิกินี้เป็นส่วนหนึ่งของรายวิชา 01204223

Arduino Makefile เป็นระบบที่อนุญาตให้เราคอมไพล์ Arduino sketch (โปรแกรมที่เขียนบน Arduino IDE) จากคอมมานด์ไลน์โดยไม่ต้องอาศัยตัว Arduino IDE ทำให้มีความคล่องตัวกว่า โดยเฉพาะสำหรับผู้ที่ต้องการเขียนโค้ดบนเอดิเตอร์ตัวอื่นที่ไม่ใช่ Arduino IDE นอกจากนั้น Arduino Makefile ยังมีความจำเป็นในการใช้คอมไพล์โปรแกรมที่ใช้ไลบรารีบางตัวที่ Arduino IDE ไม่รองรับ อาทิเช่นไลบรารี V-USB ที่ใช้เขียนเฟิร์มแวร์จำลองบอร์ดไมโครคอนโทรลเลอร์ให้เป็นอุปกรณ์ USB

การติดตั้ง

สำหรับ Ubuntu Linux ใช้คำสั่ง apt-get ติดตั้งแพกเกจชื่อ arduino-mk

sudo apt-get install arduino-mk

ส่วนระบบปฏิบัติการอื่นให้ติดตั้งโดยตรงจากซอร์สโค้ด โดยดูขั้นตอนจาก https://github.com/sudar/Arduino-Makefile#installation

ทดสอบการติดตั้ง

เปิด Arduino IDE แล้วสร้าง Arduino Sketch ตัวใหม่โดยไม่มีโค้ดอะไรพิเศษดังนี้

#include <Practicum.h>

void setup()
{
}

void loop()
{
}

จากนั้นบันทึกลงในชื่อ test_mk (หรือชื่อใดก็ได้ตามต้องการ)

เปิดโปรแกรมเทอร์มินัล แล้วเข้าไปในไดเรคตอรีของ sketch ที่สร้างไว้

cd ~/sketchbook/test_mk

สร้างไฟล์ Makefile ที่มีคำสั่งดังนี้ (หากใช้ระบบปฏิบัติการอื่นนอกเหนือจาก Ubuntu Linux ให้ระบุชื่อไดเรคตอรีที่ติดตั้ง Arduino และ Arduino-Makefile ไว้ในตัวแปร ARDUINO_DIR และ ARDUINO_MAKEFILE_DIR ในสองบรรทัดตามลำดับ)

ARDUINO_DIR = /usr/share/arduino
ARDUINO_MAKE_DIR = /usr/share/arduino
BOARD_TAG = atmega168
AVRDUDE_ARD_PROGRAMMER = usbasp

include $(ARDUINO_MAKE_DIR)/Arduino.mk

บันทึกไฟล์ แล้วลองพิมพ์คำสั่ง

make

หาก make มีการเรียกใช้คำสั่งคอมไพล์โค้ดเป็นจำนวนเยอะ ๆ โดยไม่แสดงข้อผิดพลาด แสดงว่าระบบ Arduino Makefile ทำงานได้โดยสมบูรณ์ ทดลองอัพโหลดเฟิร์มแวร์โดยเสียบบอร์ดไมโครคอนโทรลเลอร์เข้ากับเครื่อง เข้าสู่บูทโหลดเดอร์ แล้วพิมพ์คำสั่ง

make ispload

โปรแกรม avrdude จะถูกเรียกให้ทำงานและแสดงการอัพโหลดโปรแกรมตามกระบวนการที่เคยปฏิบัติมาก่อนหน้านี้