MemBrowse เป็นเครื่องมือที่ช่วยให้นักพัฒนาซอฟต์แวร์ฝังตัว (Embedded Software) สามารถติดตามการใช้หน่วยความจำ RAM และ Flash ของเฟิร์มแวร์ผ่านระบบ Continuous Integration (CI) โดยรองรับ GitHub Actions, GitLab CI/CD และโซลูชัน CI อื่น ๆ
วิศวกรสามารถตรวจสอบการเปลี่ยนแปลงของขนาดการใช้หน่วยความจำได้อย่างละเอียดทุกครั้งที่มีการส่งโค้ดเข้าสู่โครงการ แทนที่จะมาพบปัญหาภายหลังเมื่ออิมเมจเฟิร์มแวร์มีขนาดใหญ่จนไม่สามารถใส่ลงใน Flash ของอุปกรณ์เป้าหมายได้ หรือใช้ RAM มากเกินไปจนไม่สามารถทำงานได้ นอกจากนี้ MemBrowse ยังแสดง ประวัติการใช้หน่วยความจำทั้งหมด เพื่อให้เห็นว่าการใช้หน่วยความจำเพิ่มขึ้นหรือลดลงอย่างไรเมื่อเวลาผ่านไป รวมถึงแสดงพื้นที่หน่วยความจำที่ยังเหลืออยู่สำหรับการเพิ่มฟีเจอร์ใหม่

ฟีเจอร์สำคัญของ MemBrowse
- รองรับการทำงานร่วมกับ CI/CD – สามารถใช้งานร่วมกับ GitHub Actions, GitLab CI, Jenkins และระบบ CI อื่น ๆ
- ติดตามหน่วยความจำอัตโนมัติทุกครั้งที่มีการ commit เข้า main branch โดย MemBrowse CLI แบบโอเพนซอร์ส จะวิเคราะห์ไฟล์ ELF และ linker script ของโปรเจกต์ เพื่อดึงข้อมูลการใช้หน่วยความจำ จากนั้นอัปโหลดรายงานไปยัง MemBrowse Portal
- แสดงความคิดเห็นใน Pull Request (PR) – แสดงให้เห็นว่าการเปลี่ยนแปลงแต่ละครั้งทำให้ใช้หน่วยความจำเพิ่มขึ้นหรือลดลงเท่าใด
- แสดงแนวโน้มย้อนหลัง – สามารถดูกราฟและประวัติการเปลี่ยนแปลงของการใช้หน่วยความจำตามช่วงเวลา
- เปรียบเทียบ Target – ช่วยให้เข้าใจความแตกต่างของการใช้หน่วยความจำระหว่างบอร์ดและรูปแบบการ Build ที่แตกต่างกัน
- แจ้งเตือนตาม Memory Budget – สามารถกำหนดขีดจำกัดการใช้หน่วยความจำ และสั่งให้ CI ล้มเหลวโดยอัตโนมัติเมื่อการใช้หน่วยความจำเกินค่าที่กำหนด
MemBrowse มีตัวเลือกด้านราคาอยู่หลายแบบ โดยเปิดให้ โครงการโอเพนซอร์สใช้งานฟรีตลอดไป (Free forever) สำหรับโครงการที่โฮสต์อยู่ใน Public Repository และสามารถติดตาม Target ได้ไม่จำกัดจำนวน จากข้อมูลที่ระบุ โครงการโอเพนซอร์ส เช่น NuttX, TinyUSB, wolfSSL, Flipper One (เฟิร์มแวร์ RP2350), RT-Thread และ Adafruit สามารถใช้งาน MemBrowse ได้โดยไม่มีค่าใช้จ่าย สำหรับโครงการ Closed-source ราคาเริ่มต้นที่ $99(~3,300฿) ต่อเดือน สำหรับการติดตามสูงสุด 10 Targets และราคาจะเพิ่มขึ้นหากต้องการติดตาม Target มากกว่านั้น
นอกจากผู้ใช้ยังสามารถเข้าไปดูแดชบอร์ดแบบเรียลไทม์ของโปรเจกต์โอเพนซอร์สบางตัวได้ด้วย เพื่อทำความเข้าใจความสามารถของพอร์ทัลได้อย่างรวดเร็วสำหรับรายละเอียดเพิ่มเติมและวิธีเริ่มต้นใช้งาน สามารถดูได้จากเอกสารประกอบ


แปลจากบทความ : MemBrowse continuously tracks firmware memory footprint, is free for open-source projects

บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT

