Chào các bác kỹ sư nhúng,
Hôm nay mình muốn trao đổi về vấn đề an toàn khi nạp firmware từ xa (FOTA). Khi triển khai hàng trăm thiết bị ở xa, rủi ro lớn nhất là đang cập nhật firmware thì mất điện hoặc rớt mạng giữa chừng khiến thiết bị biến thành "cục gạch" (Brick), phải cử người đi hàng trăm cây số đến nạp lại bằng mạch ST-Link.
**Giải pháp chuẩn công nghiệp là kiến trúc Dual-bank Memory:**
- Bộ nhớ Flash được chia thành: Bootloader, Phân vùng Active (chạy chính) và Phân vùng Download (nhận bản nạp mới).
- Bản nạp mới sau khi tải về sẽ được tính checksum SHA256. Bootloader chỉ chuyển con trỏ sang phân vùng mới khi và chỉ khi xác thực thành công.
- Luôn sử dụng Watchdog phần cứng độc lập (Hardware IWDG) ngoài vi điều khiển, không chỉ dựa vào Software Watchdog.
Bác nào đang tìm hiểu về kiến trúc firmware tối ưu pin và quy trình chuyển giao có thể đọc thêm bài phân tích chuyên sâu tại:
👉 [Kinh nghiệm lập trình firmware nhúng tối ưu năng lượng — DeviceLab](https://devicelab.vn/phat-trien-firmware/)
Rất mong nhận được góp ý và trao đổi từ các anh em tiền bối!
Hôm nay mình muốn trao đổi về vấn đề an toàn khi nạp firmware từ xa (FOTA). Khi triển khai hàng trăm thiết bị ở xa, rủi ro lớn nhất là đang cập nhật firmware thì mất điện hoặc rớt mạng giữa chừng khiến thiết bị biến thành "cục gạch" (Brick), phải cử người đi hàng trăm cây số đến nạp lại bằng mạch ST-Link.
**Giải pháp chuẩn công nghiệp là kiến trúc Dual-bank Memory:**
- Bộ nhớ Flash được chia thành: Bootloader, Phân vùng Active (chạy chính) và Phân vùng Download (nhận bản nạp mới).
- Bản nạp mới sau khi tải về sẽ được tính checksum SHA256. Bootloader chỉ chuyển con trỏ sang phân vùng mới khi và chỉ khi xác thực thành công.
- Luôn sử dụng Watchdog phần cứng độc lập (Hardware IWDG) ngoài vi điều khiển, không chỉ dựa vào Software Watchdog.
Bác nào đang tìm hiểu về kiến trúc firmware tối ưu pin và quy trình chuyển giao có thể đọc thêm bài phân tích chuyên sâu tại:
👉 [Kinh nghiệm lập trình firmware nhúng tối ưu năng lượng — DeviceLab](https://devicelab.vn/phat-trien-firmware/)
Rất mong nhận được góp ý và trao đổi từ các anh em tiền bối!
