ข่าวไอที Blognone » RP2040 ไมโครคอนโทรลเลอร์เพื่อนักพัฒนา หัวใจ Raspberry Pi Pico แฟลชไม่ต้องกลัว brick

RP2040 ไมโครคอนโทรลเลอร์เพื่อนักพัฒนา หัวใจ Raspberry Pi Pico แฟลชไม่ต้องกลัว brick

24 มกราคม 2021
93   0

สัปดาห์นี้ Raspberry Pi เปิดตัวบอร์ด Raspberry Pi Pico ที่เป็นบอร์ดไมโครคอนโทรลเลอร์ที่นักพัฒนามักเขียนเฟิร์มแวร์โดยตรงไม่มีระบบปฎิบัติบนชิปอีก แม้ตัวบอร์ด Pico จะมีจุดขายว่าเป็นบอร์ดราคาถูกเพียง 4 ดอลลาร์ แต่ประเด็นสำคัญของการประกาศครั้งนี้คือทาง Raspberry Pi เปิดตัวชิป RP2040 มาพร้อมกัน และมันเป็นชิปที่ออกแบบเพื่อให้นักพัฒนารายย่อยใช้งานได้ง่าย

สเปคโดยทั่วไปของชิป RP2040 นั้นเป็นชิป Cortex-M0+ ที่มีผู้ผลิตอื่นทำชิปขายอีกมาก แต่ความพิเศษของ RP2040 กลับเป็นการฝัง UF2 bootloader เข้าไว้ในรอมขนาด 16KB ในชิปโดยตรง ทำให้นักพัฒนาสามารถอัพโหลดเฟิร์มแวร์ใหม่ได้เสมอ

No Description

แนวทางการใส่เฟิร์มแวร์เพื่อให้นักพัฒนารายย่อยสามารถพัฒนาได้ง่าย โดยไม่ต้องใช้เครื่องโปรแกรมชิปเป็นพิเศษ เห็นได้ชัดที่สุดคือโครงการ Arduino ที่ใส่เฟิร์มแวร์พิเศษมาจากโรงงานเพื่อให้นักพัฒนาสามารถอัพโหลดเฟิร์มแวร์เพิ่มเติมผ่านทาง USB (ที่จริงแล้วผ่านทาง serial/UART ที่มีชิปแปลงเป็น USB บนบอร์ดอีกทีหนึ่ง) เมื่อสี่ปีก่อนไมโครซอฟท์ออกเฟิร์มแวร์ UF2 ให้กับชิป SAMD21 เพื่อให้วินโดวส์มองไมโครคอนโทรลเลอร์กลายเป็นไดร์ฟ USD ได้ในตัว ทำให้นักพัฒนาวางเฟิร์มแวร์ลงบนไมโครคอนโทรลเลอร์ได้ง่ายขึ้น

ข้อควรระวังของการใช้เฟิร์มแวร์ bootloader สำหรับรอรับเฟิร์มแวร์ใหม่จากนักพัฒนาเช่นนี้คือตัวเฟิร์มแวร์ใหม่ของนักพัฒนาต้องระวังไม่ไปเขียนทับเฟิร์มแวร์ bootloader เดิม ตัวเฟิร์มแวร์ที่คอมไพล์ออกมาจะต้องวางตำแหน่งของเฟิร์มแวร์ต่างจากเฟิร์มแวร์ปกติ เว้นพื้นที่ไว้ประมาณ 16KB เพื่อให้บูตจาก bootloader ก่อนเสมอ หากผิดพลาดไปหลายครั้งก็ทำให้ bootloader พังจน brick และต้องแก้ไขด้วยการใช้ฮาร์ดแวร์ debugger มาอัพโหลดเฟิร์มแวร์ใหม่

No Description

ชิป RP2040 ฝัง UF2 bootloader ไว้ในรอม และมีขา BOOTSEL สำหรับเลือกว่าจะบูตเข้ารอม UF2 bootloader หรือเข้าเฟิร์มแวร์ปกติที่นักพัฒนาอัพโหลดขึ้นมา ทำให้ไม่มีทาง brick ตัวชิปจากซอฟต์แวร์ได้เลย

ในประกาศเปิดตัว Raspberry Pi Pico ทาง Raspberry Pi ยังประกาศเปิดตัวบอร์ดจากผู้ผลิตรายอื่นๆ อีกจำนวนมาก เช่น Adafruit, Arduino, Pimoroni, SparkFun เป็นต้น การเปิดตัว RP2040 ครั้งนี้คงเป็นจุดสำคัญที่ผู้ผลิตจะให้ความสำคัญกับนักพัฒนารายย่อยมากขึ้นจนฝังฟีเจอร์ไว้ในตัวไมโครคอนโทรลเลอร์เช่นนี้

ที่มา - Raspberry Pi,

Topics: 

[source: https://www.blognone.com/node/120782]