เริ่มต้นอย่างรวดเร็วด้วยการพัฒนา “Windows on Arm”
Contributed By DigiKey's North American Editors
2024-06-06
โครงสร้างพื้นฐานที่มีอยู่ส่วนใหญ่ใช้ Windows ในการใช้งานต่าง ๆ เช่น ระบบอัตโนมัติทางอุตสาหกรรมและการดูแลสุขภาพ สำหรับนักพัฒนาที่สร้างอุปกรณ์ระดับเอดจ์ที่ใช้พลังงานต่ำและราคาประหยัดสำหรับเซกเตอร์เหล่านี้ โดย Windows on Arm® เป็นตัวเลือกที่ชัดเจน เนื่องจากเป็นการนำแพลตฟอร์ม Windows มาสู่สถาปัตยกรรม Arm ที่มีประสิทธิภาพ
อย่างไรก็ตาม ความท้าทายสำคัญประการหนึ่งในการสร้างระบบ Windows on Arm คือการขาดชุดพัฒนาที่เหมาะสม แม้ว่าระบบปฏิบัติการ (OS) จะมีให้บริการบน Internet of Things (IoT) และระบบคอมพิวเตอร์แบบฝังตัวในระดับบอร์ดต่าง ๆ มานานแล้ว แต่ข้อเสนอเหล่านี้มักต้องใช้วิศวกรรมฮาร์ดแวร์ที่สำคัญก่อนจึงจะสามารถเริ่มเขียนโค้ดได้
นักพัฒนาต้องการโซลูชันแบบกล่องพีซีที่มาพร้อมกับ Windows on Arm และรวมส่วนประกอบทั้งหมดที่จำเป็นเพื่อเริ่มการพัฒนา ซึ่งจะช่วยลดเวลาและความซับซ้อนในการตั้งค่า ช่วยให้นักพัฒนามุ่งเน้นไปที่การพัฒนาและทดสอบโดยไม่ต้องกังวลเกี่ยวกับการติดตั้งและกำหนดค่าซอฟต์แวร์เบื้องต้น
บทความนี้จะอธิบายเกณฑ์การเลือกระบบปฏิบัติการที่นำไปสู่การใช้ Windows สำหรับ Arm และตรวจสอบ Windows เวอร์ชันต่างๆ ที่พร้อมสำหรับการพิจารณา จากนั้นจะแนะนำชุดพัฒนา Windows on Arm รุ่น EPC-R3720IQ-AWA12 จาก Advantech และอธิบายว่าระบบดังกล่าวมอบสภาพแวดล้อมที่ราบรื่นเพื่อเร่งการพัฒนาได้อย่างไร รวมถึงเคล็ดลับในการเริ่มต้นใช้งานและชี้ให้เห็นถึงเครื่องมือของ Microsoft ที่สามารถใช้กับชุดอุปกรณ์ได้
เหตุใดจึงใช้ Windows แทน Linux หรือ RTOS
เมื่อเลือกระบบปฏิบัติการ นักพัฒนาจะมีตัวเลือกมากมาย รวมถึง Linux และระบบปฏิบัติการแบบเรียลไทม์ (RTOS) ต่างๆ โดยเหตุผลทั่วไปประการหนึ่งในการเลือกใช้ Windows แทนทางเลือกอื่นเหล่านี้ก็คือ มีซอฟต์แวร์และไลบรารีให้เลือกมากมาย ซึ่งเป็นข้อพิจารณาที่สำคัญสำหรับสภาพแวดล้อมที่มีโครงสร้างพื้นฐาน Windows แบบเดิม
นอกจากนี้ Windows ยังนำเสนอระบบนิเวศการพัฒนาที่สมบูรณ์ด้วยเครื่องมือที่ครอบคลุมและ Application Programming Interfaces (API) เช่น Visual Studio และ .NET Framework โปรแกรมเมอร์สามารถเลือกภาษาการเขียนโปรแกรมได้หลากหลาย เช่น C++, Python และ Node.js และสามารถเข้าถึงบริการต่างๆ ของ Microsoft Azure เพื่อสร้างฟังก์ชันการทำงานที่ซับซ้อนได้อย่างรวดเร็ว
Linux มีข้อดีบางอย่างร่วมกัน แต่การกำหนดค่าและการดูแลรักษาเครื่องมือ Linux อาจต้องใช้ความพยายามอย่างมาก นอกจากนี้ Linux รุ่นต่างๆ อาจแตกต่างกันไปมาก ซึ่งนำไปสู่ความท้าทายในกระบวนการพัฒนา
RTOS เน้นประสิทธิภาพ ซึ่งตรงกันข้ามกับ Windows และ Linux โดยทั่วไปแล้วระบบปฏิบัติการดังกล่าวจะขาดคุณสมบัติขั้นสูง เช่น ส่วนติดต่อผู้ใช้งานแบบกราฟิก (GUI) ที่สมบูรณ์ และระบบนิเวศที่กว้างขวางซึ่งมีระบบปฏิบัติการที่มีคุณสมบัติครบถ้วนมอบให้
ท้ายที่สุดแล้ว หากนักพัฒนามองหาระบบปฏิบัติการที่แข็งแกร่ง มีคุณสมบัติหลากหลาย และปลอดภัย พร้อมด้วยระบบนิเวศการพัฒนาที่สมบูรณ์ Windows ก็นำเสนอตัวเลือกที่น่าสนใจ อย่างไรก็ตาม Windows มีให้บริการในหลายรูปแบบ และจำเป็นต้องเข้าใจความแตกต่าง
ทำความเข้าใจกับตัวเลือก Windows
Microsoft มี Windows ให้เลือกหลายรุ่น ตารางที่ 1 แสดงความแตกต่างที่สำคัญบางประการระหว่างรุ่นต่างๆ สำหรับ EPC-R3720IQ-AWA12 ทาง Advantech เลือก Windows IoT Enterprise ข้อดีอย่างหนึ่งของ Windows IoT Enterprise ก็คือความเข้ากันได้กับ Universal Windows Platform (UWP) ที่เป็นมิตรต่อระบบสัมผัสและแอปพลิเคชัน Win32 แบบดั้งเดิม โดยความยืดหยุ่นนี้ช่วยให้นักพัฒนาสามารถเลือกแอปโมเดลที่เหมาะสมกับความต้องการของตนได้ดีที่สุด
|
ตารางที่ 1: Windows รุ่นต่าง ๆ รองรับการใช้งานเฉพาะ (แหล่งที่มาตาราง: Kenton Williston อ้างอิงจากข้อมูลของ Microsoft)
Windows IoT Enterprise ยังมีคุณลักษณะการรักษาความปลอดภัยขั้นสูงที่ปรับปรุงความน่าเชื่อถือ:
- ความสามารถในการล็อคอุปกรณ์ช่วยให้ผู้ดูแลระบบจำกัดอุปกรณ์ให้เรียกใช้เฉพาะแอปพลิเคชันที่ได้รับอนุญาตเท่านั้น
- การบูตอย่างปลอดภัยช่วยให้มั่นใจได้ว่าอุปกรณ์จะเริ่มทำงานด้วยซอฟต์แวร์ที่เชื่อถือได้เท่านั้น
- การเข้ารหัส BitLocker ช่วยปกป้องข้อมูลที่ละเอียดอ่อน
ระบบปฏิบัติการยังมีเครื่องมือการจัดการระดับองค์กรที่เปิดใช้งานการสนับสนุนแบบรวมศูนย์ของอุปกรณ์ที่ใช้งาน เครื่องมือเหล่านี้ช่วยลดความยุ่งยากในการบำรุงรักษาและความปลอดภัยของการใช้งาน IoT ขนาดใหญ่
คุณสมบัติหลายอย่างเหล่านี้ไม่รองรับใน Windows IoT Core ที่มีขนาดกะทัดรัดกว่า ซึ่งรุ่นนี้มีไว้สำหรับอุปกรณ์อเนกประสงค์น้ำหนักเบาที่มีทรัพยากรจำกัด โดยจะนำคุณลักษณะต่างๆ เช่น GUI และการรองรับแอปพลิเคชัน Win32 แบบดั้งเดิมออกไป ทำให้เหมาะที่จะเป็นระบบปฏิบัติการสำหรับอุปกรณ์ที่ซับซ้อนมากขึ้น
ในทางกลับกัน Windows Pro มาตรฐานมีชุดคุณลักษณะที่หลากหลาย แต่ไม่สามารถปรับแต่งสำหรับการปรับใช้ IoT ได้ นอกจากนี้ยังไม่สามารถใช้งานได้กับการรองรับ LTSC สำหรับอุปกรณ์ที่มีอายุการใช้งานยาวนาน
เหตุใดจึงต้องใช้ Windows on Arm
ในอดีต Windows OS เชื่อมโยงกับสถาปัตยกรรม x86 ปัจจุบันระบบปฏิบัติการยังทำงานบนโปรเซสเซอร์ Arm และตัวเลือกนี้เปิดความเป็นไปได้ในการออกแบบใหม่
ข้อได้เปรียบหลักของ Windows on Arm คือประสิทธิภาพ โปรเซสเซอร์แบบ Arm ขึ้นชื่อในเรื่องการใช้พลังงานต่ำ ทำให้เหมาะอย่างยิ่งสำหรับอุปกรณ์ที่ใช้พลังงานจากแบตเตอรี่และการใช้งานที่ต้องคำนึงถึงการจัดการระบายความร้อน ระบบแบบ Arm ยังมีแนวโน้มที่จะเน้นความคุ้มค่า ทำให้เป็นตัวเลือกที่น่าสนใจสำหรับการใช้งาน IoT ขนาดใหญ่
เริ่มต้นอย่างรวดเร็วด้วยชุดพัฒนา Windows on Arm
ตามที่ระบุไว้ข้างต้น ข้อเสียประการหนึ่งของ Windows on Arm คือการไม่มีฮาร์ดแวร์ที่พร้อมใช้งาน EPC-R3720IQ-AWA12 แก้ปัญหานี้ด้วยการส่งมอบ Box PC ที่ติดตั้ง Windows 10 IoT ไว้ล่วงหน้า
ดังแสดงในรูปที่ 1 ชุดอุปกรณ์ Dev อยู่ในกล่องที่แข็งแรงขนาด 174 x 108 x 25 มิลลิเมตร (มม.) กล่องหุ้มนี้รองรับขายึดและสามารถใช้งานได้จริงได้หากต้องการ
รูปที่ 1: EPC-R3720IQ-AWA12 เป็นพีซีแบบกล่องขนาดกะทัดรัดที่ขับเคลื่อนโดยโปรเซสเซอร์ Arm ที่ใช้ Windows 10 IoT (แหล่งที่มาภาพ: Advantech)
หัวใจสำคัญของชุดพัฒนาคือระบบบนชิป (SoC) MIMX8ML8DVNLZAB ของ NXP Semiconductors ที่ใช้โปรเซสเซอร์ Arm Cortex-A53 แบบควอดคอร์ที่สามารถทำงานที่ 1.8 กิกะเฮิรตซ์ (GHz) (ทำงานที่ 1.6 GHz บน EPC-R3720IQ-AWA12) SoC มีหน่วยประมวลผลนิวรอล (NPU) ทำงานที่ 2.3 เทราต่อวินาที (TOPS) ทำให้เหมาะอย่างยิ่งสำหรับปริมาณงานปัญญาประดิษฐ์ (AI) และการเรียนรู้ของเครื่อง (ML) ระดับเอดจ์
ชุดพัฒนามีหน่วยความจำ 6 กิกะไบต์ (Gbyte) พื้นที่เก็บข้อมูล 16 Gbyte และตัวเลือกการขยายผ่านสล็อตสำหรับ Mini-PCIe, M.2, Micro SD และ Nano SIM ในด้านการเชื่อมต่อ ชุดพัฒนามีพอร์ต Gigabit Ethernet (GbE) สองพอร์ต, พอร์ต USB 2.0 หนึ่งพอร์ต, พอร์ต USB 3.2 Gen 1 หนึ่งพอร์ต, พอร์ต HDMI และพอร์ตอนุกรมที่รองรับ CAN FD
การตั้งค่าชุดพัฒนา
การตั้งค่าชุดพัฒนา EPC-R3720IQ-AWA12 นั้นเป็นกระบวนการที่ไม่ซับซ้อน สัญลักษณ์แสดงหัวข้อย่อยต่อไปนี้แสดงขั้นตอนสำคัญ โดยเริ่มจากการตั้งค่าพื้นฐาน:
- จอภาพ แป้นพิมพ์ และเครือข่ายควรเชื่อมต่อผ่านพอร์ต HDMI, USB และอีเทอร์เน็ต ตามลำดับ
- ชุดพัฒนาจะเริ่มกระบวนการตั้งค่า Windows 10 IoT โดยอัตโนมัติในการบูตครั้งแรก เมื่อดำเนินการเสร็จสิ้น ผู้ใช้จะพบกับสภาพแวดล้อมเดสก์ท็อป Windows
- ผู้ใช้จะต้องดาวน์โหลดและติดตั้ง Visual Studio จากเว็บไซต์ Microsoft เพื่อตั้งค่าสภาพแวดล้อมการพัฒนา ระหว่างการติดตั้ง ผู้ใช้จะต้องเลือกส่วนประกอบที่จำเป็นสำหรับการพัฒนาแอปพลิเคชัน Windows IoT และงานที่จำเป็นอื่นๆ เช่น .NET หรือ UWP
- ควรติดตั้งชุดพัฒนาซอฟต์แวร์ (SDK) และรันไทม์ที่จำเป็นใดๆ ตัวอย่างเช่น หากจำเป็นต้องใช้ .NET 6 หรือ .NET 7 ควรดาวน์โหลดรันไทม์ที่เหมาะสมจากพอร์ทัลนักพัฒนา Microsoft หรือผ่านโปรแกรมติดตั้งของ Visual Studio
- หลังจากติดตั้งเครื่องมือที่จำเป็นแล้ว ควรกำหนดค่า Visual Studio สำหรับการพัฒนา Windows IoT เพื่อให้แน่ใจว่ามีการติดตั้ง Windows SDK และเครื่องมือเวอร์ชันที่ถูกต้อง
อาจจำเป็นต้องมีการกำหนดค่าเพิ่มเติม ทั้งนี้ขึ้นอยู่กับความต้องการของการใช้งาน:
- ควรต่อเสาอากาศเข้ากับขั้วต่อในตัวของชุดอุปกรณ์หากจำเป็นต้องใช้เครือข่ายไร้สาย สำหรับการเชื่อมต่อมือถือ ควรจัดเตรียมและติดตั้งซิมการ์ด
- อุปกรณ์ต่อพ่วงใดๆ ที่เชื่อมต่อผ่านช่อง M.2 หรือพอร์ต I/O อื่นๆ ควรได้รับการทดสอบ เพื่อให้มั่นใจว่ามีการติดตั้งไดรเวอร์และซอฟต์แวร์ที่จำเป็นสำหรับอุปกรณ์ต่อพ่วงเหล่านี้
- ต้องกำหนดค่า Azure IoT Hub ที่เหมาะสมหรือบริการคลาวด์อื่นๆ หากเกี่ยวข้องกับการเชื่อมต่อระบบคลาวด์ สิ่งนี้เกี่ยวข้องกับการตั้งค่าบัญชี Azure การสร้างทรัพยากรด้วย Azure และการกำหนดค่าชุดพัฒนาเพื่อสื่อสารกับทรัพยากรเหล่านี้
ขณะนี้ผู้ใช้สามารถก้าวไปสู่การพัฒนาและการปรับใช้ได้ โดยการพัฒนาสามารถเริ่มต้นได้โดยการสร้างโปรเจ็กต์ใหม่หรือเปิดโปรเจ็กต์ที่มีอยู่ใน Visual Studio สามารถพัฒนา รัน และทดสอบแอปพลิเคชันบนอุปกรณ์ได้โดยตรง
หากผู้ใช้วางแผนที่จะดีบักแอปพลิเคชันจากระยะไกลจากพีซีสำหรับการพัฒนาแทน ก็ควรตั้งค่าการดีบักระยะไกล ซึ่งเกี่ยวข้องกับการกำหนดค่าเครื่องมือแก้ไขจุดบกพร่องระยะไกลทั้งบนชุด dev และพีซี
สรุป
Windows on Arm มีข้อได้เปรียบที่น่าสนใจมากมายสำหรับอุปกรณ์ IoT ที่ซับซ้อน โดยชุดพัฒนา EPC-R3720IQ-AWA12 ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันสำหรับระบบปฏิบัติการนี้ และฮาร์ดแวร์ยังสามารถนำมาใช้โดยตรงสำหรับการปรับใช้ในบางกรณีอีกด้วย ดังที่แสดงไว้ข้างต้น การเริ่มต้นใช้งานชุดพัฒนาเป็นกระบวนการง่ายๆ ช่วยให้นักพัฒนาสามารถเริ่มต้นการพัฒนาแอปพลิเคชันด้วยการตั้งค่าเพียงเล็กน้อย
ข้อมูลอ้างอิง:
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.



