Site icon TAPIT

Đánh giá hiệu quả về chiếm dụng tài nguyên bộ nhớ

Với tính năng cập nhật chương trình từ xa, có những tiêu chí mà nhóm nghiên cứu đã quan tâm và thực hiện đánh gia bao gồm: tiêu chí thứ nhất là việc chiếm tài nguyên bộ nhớ khi triển khai tính năng OTA; tiêu chí thứ hai là tỉ lệ thành công khi thực hiện OTA, độ tin cậy khi thực hiện OTA; tiêu chí thứ ba là thời gian thực hiện quá trình OTA. Trong bài viết này, chúng tôi sẽ trình bày về tiêu chính đầu tiên một cách cụ thể. 

Bộ nhớ chương trình của vi điều khiển trên thiết bị phần cứng thử nghiệm dự kiến được chia thành các phân vùng với thông tin về địa chỉ bắt đầu, địa chỉ kết, kích cỡ phân bổ cho các phân vùng và các phân vùng thuộc các sector như bảng sau:

Bảng các phân vùng trong bộ nhớ Flash

Từ các kết quả thông báo của trình biên dịch, kết hợp với tập tin Linker Map (*.map) của từng chương trình gồm chương trình Bootloader, chương trình OTA ta có các thông tin về chiếm bộ nhớ của các chương trình như sau:

Đối với bộ nhớ Flash:

 Đối với bộ nhớ RAM

Vậy có thể thấy chương trình Bootloader và Chương trình OTA chiếm dung lượng bộ nhớ tổng cộng một lượng 32.53 KByte trong bộ nhớ Flash của vi điều khiển cho trường hợp cập nhật chương trình từ xa sử dụng tập tin định dạng HEX hoặc 32.64 KByte cho trường hợp cập nhật chương trình từ xa sử dụng tập tin định dạng BIN. Nếu trình biên dịch được cấu hình tối ưu về kích cỡ chương trình (code size) thì Chương trình Bootloader tự xây dựng chiếm 5.88 KB và Chương trình OTA chiếm 14.5KB cho định dạng HEX (14.4KByte cho định dạng BIN).

Vậy có thể thấy chương trình Bootloader tự xây dựng và chương trình OTA chiếm một phần nhỏ so với tổng dung lượng bộ nhớ Flash của hầu hết các vi điều khiển lõi ARM Cortex–M hiện nay.

 

Chúc các bạn thành công!
Thuong Nguyen

Tìm hiểu thêm
[HỌC ONLINE TẠI TAPIT: LẬP TRÌNH VI ĐIỀU KHIỂN STM32, VI XỬ LÝ ARM CORTEX – M]
Tổng hợp các bài hướng dẫn Lập trình vi điều khiển STM32
Tổng hợp hướng dẫn Internet of Things với NodeMCU ESP8266 và ESP32
Fanpage Cộng đồng Kỹ thuật TAPIT: TAPIT – Learning, Research and Sharing Community
Kênh Youtube: Cộng đồng Kỹ thuật TAPIT