การ จัด การ เรื่อง ความ จํา ที่ มี ประสิทธิภาพ เป็น สิ่ง สําคัญ ยิ่ง ใน ระบบ ที่ ฝัง อยู่ เพื่อ ทํา ให้ การ กระทํา ของ คุณ เหมาะ สม และ ทํา ให้ แน่ ใจ ว่า คุณ จะ ไว้ วางใจ ได้.

การเข้าใจประเภทหน่วยความจําในระบบที่ฝังตัวอยู่

ระบบที่ฝังตัวได้ ปกติจะใช้หน่วยความจําชนิดต่าง ๆ เช่น RAM, รอม และหน่วยความจําแฟลช โดยหน่วยความจําหลักนั้น จะถูกใช้ในการจัดเก็บข้อมูลชั่วคราวระหว่างปฏิบัติการ ในขณะที่รอมและหน่วยความจําแฟลช คลังข้อมูล และข้อมูลถาวร การจัดการหน่วยความจําที่เหมาะสมเหล่านี้มีความสําคัญมากสําหรับความมั่นคงของระบบ

การคํานวณค่าหน่วยความจํา

เพื่อตรวจสอบหน่วยความจําที่ต้องการ โปรดพิจารณาส่วนประกอบของระบบและขนาดข้อมูลของพวกเขา ตัวอย่างเช่น ถ้าตัวควบคุมไมโครจับตัวตรวจจับ 3 ตัว แต่ละตัวผลิตข้อมูล 256 ไบต์ ค่า RAM ทั้งหมดที่จําเป็นสําหรับข้อมูลเซ็นเซอร์คือ:

[FLT: 0]3 เซ็นเซอร์ x 256 bytes = 768 bytes

การเพิ่มพื้นที่สําหรับบัฟเฟอร์, ตัวแปร, และสแต็กนั้น สามารถประมาณค่าได้ตามต้องการ ตัวอย่างเช่น การเพิ่ม 1 กิโลไบต์สําหรับบัฟเฟอร์ และ 512 ไบต์สําหรับผลลัพธ์การซ้อน:

[FLT: 0] TOTal Reg= 768 bytes + 1 KB+512 bytes =ประมาณ 2.3 KB

ตัวอย่างการจองหน่วยความจํา

สมมติว่าอุปกรณ์ฝังตัวมีหน่วยความจําหลัก 8 กิโลไบต์ ระบบต้องปรับหน่วยความจําให้พอดีสําหรับเซ็นเซอร์, บัฟเฟอร์, และเรียงซ้อน ใช้การคํานวณก่อนหน้า:

ข้อมูลตัวตรวจจับ: 768 ไบต์

ไบต์: 1 กิโลไบต์

สแต็ก: 512 ไบต์

หน่วยความจําที่เหลือสําหรับโพรเซสอื่น ๆ คือ:

[FLT: 0] 8 KB - (768 bytes + 1 KB + 512 bytes) =ประมาณ 5.2 KB

ฝึกการจัดการหน่วยความจําที่ดีที่สุด

  • การบันทึกความทรงจําจากกรณีเลวร้าย
  • ใช้การจองหน่วยความจําแบบคงที่ เมื่อเป็นไปได้ในการป้องกันไม่ให้เกิดการแตกกลุ่ม
  • การใช้หน่วยความจําของจอภาพระหว่างการพัฒนา
  • ปรับค่าโครงสร้างข้อมูล เพื่อให้ความทรงจําน้อยที่สุด