Embedded Swift ภาษาการเขียนโปรแกรมของ Apple รองรับไมโครคอนโทรลเลอร์ ESP32-C6, Raspberry Pi RP2040, STM32F7, nRF52840

Apple ได้เปิดตัว Embedded Swift เป็น beta version ที่สามารถทำงานร่วมกับไมโครคอนโทรลเลอร์ไร้สาย Espressif ESP32-C6 ที่ใช้สถาปัตยกรรม RISC-V นอกจากนี้บริษัทสาธิตการพัฒนาอุปกรณ์ Matter โดยใช้ ESP-IDF และ ESP-Matter SDK ด้วย, Embedded Swift ไม่ได้จำกัดเฉพาะ ESP32-C6 เท่านั้น แต่ยังรองรับไมโครคอนโทรลเลอร์อื่นๆ จาก STMicro, Raspberry Pi, Nordic Semi และอื่นๆ

Swift เป็นภาษาในการเขียนโปรแกรมของ Apple ส่วนใหญ่ได้รับการออกแบบมาเพื่อการพัฒนาแอปมือถือ แต่เราเคยเห็นมันถูกใช้งานกับบอร์ด SwiftIO ของ Mad Machine ที่ใช้โปรเซสเซอร์ NXP i.MX RT1052 Arm Cortex-M7 crossover ที่มีความเร็ว 600 MHz แและ SwiftIO Micro ขนาดจิ่ว ขณะนี้บริษัทได้ตัดสินใจ subset ของภาษา Swift ซึ่งเหมาะสมกับไมโครคอนโทรลเลอร์หรือที่เรียกว่า Embedded Swift ซึ่งปัจจุบันสามารถทำงานได้กับ STMicro STM32F746, Raspberry Pi Pico, nRF52840 และ ESP32-C6

ESP32-C6 Apple Swift

ในงาน WWDC 2024 มีการนำเสนอ “Go small with Embedded Swift” ได้สาธิตวิธีเริ่มต้นใช้งาน Embedded Swift โดยใช้บอร์ดพัฒนา ESP32-C6-DevKitC-1 ของ Espressif Systems มีการรรันตัวอย่างง่ายๆ เช่น “Hello world” และการเปลี่ยนสี RGB LED จนถึงการสาธิตที่ซับซ้อนมากขึ้นโดยใช้โปรโตคอล Matter สำหรับสมาร์ทโโอม

ตัวอย่างโค้ดสำหรับ RGB LED:


มันดูคล้ายกับภาษา C แต่ไม่มีเครื่องหมายเซมิโคลอน (:)  สามารถดูตัวอย่างโค้ดตัวอย่างการสาธิต Matter บน GitHub และตัวอย่าง Embedded Swift เพิ่มเติมสำหรับ ESP32-C6, STM32, RP2040 และ nRF52840 บน repository ที่แยกต่างหาก

Apple อธิบายว่า Embedded Swift เป็น subset ของภาษา Swift ทำให้โค้ดมีขนาดเล็กลงมาก (smaller footprint) ไบนารีอาจมีขนาดประมาณ 10KB ตามภาพไดอะแกรมด้านล่าง บริษัทได้ลบคุณสมบัติบางอย่างออก แต่เพิ่มคุณสมบัติอื่น ๆ ที่จำเป็นสำหรับฮาร์ดแวร์ระดับ MCU เช่นความสามารถในการเข้าถึงรีจิสเตอร์ที่แมปหน่วยความจำผ่าน ไลบรารี่ Swift MMIO, มีการสนับสนุน ผ่านฟอรัมออนไลน์

นักพัฒนาส่วนใหญ่ที่คุ้นเคยกับ ESP-IDF แล้วอาจจะไม่สนใจข่าวนี้ แต่สำหรับนักพัฒนาแอปพลิเคชันมือถือด้วย Swift อาจมีช่วงการเรียนรู้ที่สั้นกว่าในการใช้ Embedded Swift แทนที่จะต้องเรียนรู้การใช้เฟรมเวิร์ก ESP-IDF หรือการเขียนโปรแกรม Arduino แต่ Embedded Swift ยังอยู่ในขั้นตอนการพัฒนา สามารถดาวน์โหลด snapshots ของ Swift มาทดลองใช้เนื่องจากยังไม่มีการปล่อยเวอร์ชันที่เสถียรในตอนนี้

Swift vs Embedded Swift
Embedded Swift ทำให้โค้ดมีขนาดเล็กลงมาก

แปลจากบทความภาษาอังกฤษ : Apple’s Embedded Swift programming language supports ESP32-C6, Raspberry Pi RP2040, STM32F7, nRF52840 microcontrollers

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
โฆษณา