Month: August 2017

การเขียนโปรแกรม ARM Cortex-M ตอนที่ 3 : ไฟกระพริบ

ตอนนี้เรามาลองเขียนโปรแกรมลงบอร์ดกัน ไปดูตาม vdo เลย รายละเอียด MCU STM32F030F4P6 http://www.st.com/en/microcontrollers/stm32f030f4.html ใน vdo มีการใช้ function HAL_Delay() และ HAL_GPIO_TogglePin() ซึ่งสอง function นี้เป็น function ที่ ST เตรียมไว้ให้แล้วใน STM32Cube ซึ่งสามารถดูรายละเอียดได้จากเอกสาร UM1785 Description of STM32F0 HAL and Low Layer drivers ดูตอนอื่นๆ ตอนที่ 1 ตอนที่ 2 หากมีข้อติชม หรือข้อสงสัยอะไร สามารถติดต่อผู้เขียนได้ที่ twitter @vorasilp

การเขียนโปรแกรม ARM Cortex-M ตอนที่ 2 : ภาคซอฟต์แวร์

มาต่อกันในตอนที่ 2 ส่วนนี้เราจะพูดถึงเรื่องซอฟต์แวร์ที่จำเป็นสำหรับการเขียนโปรแกรม ซึ่งประกอบด้วย 3 ส่วนด้วยกันคือ IDE driver ของ programmer/debug probe ตัวช่วยสร้างโค้ดเริ่มต้น หรือ initialization code generator library และ middleware สำหรับ MCU แต่ละแบรนด์ ว่าด้วย IDE กันก่อน ผู้ผลิต MCU แต่ละเจ้าส่วนใหญ่ก็จะมี IDE เฉพาะของตัวเองออกมา และจะให้ใช้ได้ฟรีๆ กัน นอกจากนี้ยังมีผู้ผลิต IDE สำหรับ MCU อีกหลายรายที่บอกว่า IDE ของตัวเองมีความสามารถและคุณสมบัติที่แตกต่างจากตัวอื่นซึ่งมีทั้งที่ให้ใช้ฟรีและที่ต้องจ่ายเงินซื้อ License IDE จากผู้ผลิต MCU IDE จากผู้ผลิตอิสระ ส่วนต่อไปก็คือ driver ของ programmer/debug probe อันนี้ก็ขึ้นอยู่กับว่าเราจะพัฒนาโปรแกรมบนบอร์ดตัวไหน development board หลายๆตัวจะมี on-board

การเขียนโปรแกรม ARM Cortex-M ตอนที่ 1 : ภาคอุปกรณ์

แน่นอนว่าเมื่อเราจะเขียนโปรแกรมบนไมโครคอนโทรลเลอร์ อย่างแรกที่ต้องมีคือตัวไมโครคอนโทรเลอร์เอง ใน blog นี้และตอนต่อไปจะใช้บอร์ดต่อไปนี้เป็นหลัก Arduino M0 หรือเทียบเท่า บอร์ด STM32F030 Discovery บอร์ด STM32F030 หรือ STM32F103 อย่างตัวนี้ http://www.ebay.com/itm/401193554185 หรือ http://www.ebay.com/itm/STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-For-Arduino/311156408508 บอร์ด Arduino M0 และ STM32F103 นี้สามารถเขียนโปรแกรมด้วย Arduino IDE ได้ โดยที่ตัว STM32F103 จะต้อง upload code ผ่าน USB serial adapter อย่างต่อไปคือ Debug Probe ซึ่งก็คือตัวที่ใช้เขียนโปรแกรมลงไมโครคอนโทรลเลอร์และยังใช้ debug โปรแกรมที่เราเขียนลงไปได้ด้วย แบบนี้จะต่างจากการใช้ Arduino IDE ที่โดยมากเราจะเขียนโปรแกรมและปล่อยมันทำงานไปเลย จากนั้นก็ดูผลการทำงานโดยอาจดูจากไฟ LED หรือ serial monitor ไม่สามารถไล่โปรแกรมทีละบรรทัดได้ การใช้ IDE