MemBrowse เครื่องมือติดตามการใช้หน่วยความจำของเฟิร์มแวร์แบบต่อเนื่อง และเปิดให้โครงการโอเพนซอร์สใช้งานฟรี

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

วิศวกรสามารถตรวจสอบการเปลี่ยนแปลงของขนาดการใช้หน่วยความจำได้อย่างละเอียดทุกครั้งที่มีการส่งโค้ดเข้าสู่โครงการ แทนที่จะมาพบปัญหาภายหลังเมื่ออิมเมจเฟิร์มแวร์มีขนาดใหญ่จนไม่สามารถใส่ลงใน Flash ของอุปกรณ์เป้าหมายได้ หรือใช้ RAM มากเกินไปจนไม่สามารถทำงานได้ นอกจากนี้ MemBrowse ยังแสดง ประวัติการใช้หน่วยความจำทั้งหมด เพื่อให้เห็นว่าการใช้หน่วยความจำเพิ่มขึ้นหรือลดลงอย่างไรเมื่อเวลาผ่านไป รวมถึงแสดงพื้นที่หน่วยความจำที่ยังเหลืออยู่สำหรับการเพิ่มฟีเจอร์ใหม่

แดชบอร์ด MemBrowse
แดชบอร์ด MemBrowse สำหรับโปรเจกต์สาธิต MicroPython ที่ใช้เป้าหมาย rp2-pico

ฟีเจอร์สำคัญของ 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 CLI
ขั้นตอนการทำงาน

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 เฟิร์มแวร์ Flipper One RP2350
แดชบอร์ดเฟิร์มแวร์ Flipper One RP2350 ของ MemBrowse – ส่วน Symbol Analysis

การใช้ RAM และแฟลชของ wolfSSL แยกตามเป้าหมาย
การติดตาม Target หลายรายการในไลบรารี TLS/SSL แบบโอเพนซอร์ส wolfSSL

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

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
โฆษณา