Làm thế nào để thiết lập lại nhà máy hoạt động?


18

Tất cả các thiết bị nhúng đều có tùy chọn "Khôi phục cài đặt gốc" cho phép người dùng đặt lại thiết bị của mình nếu có sự cố.

Tôi đang phát triển phần sụn trên bảng STM32. Phần sụn bao gồm bộ tải khởi động cho phép nâng cấp ứng dụng qua UART (Bằng cách gửi tệp nhị phân có chứa hình ảnh mới) và tôi muốn thêm một tính năng khác: Khôi phục cài đặt gốc. Khi người dùng chọn tùy chọn này, bảng sẽ tải hình ảnh gốc.

Khôi phục cài đặt gốc là gì? Có phải là về việc tải lại toàn bộ tệp nhị phân vào bộ nhớ hay chỉ là gọi một hàm xác định lại các biến được sửa đổi bởi người dùng cuối?

Các thực hành tốt nhất để làm như vậy là gì?

Nơi lưu trữ FW gốc? Là trong một đèn flash bên trong hoặc bên ngoài?

Câu trả lời:


20

Nói chung, chức năng khôi phục cài đặt gốc mà bạn đề cập sẽ khôi phục mọi thông tin dữ liệu biến đã lưu trở về giá trị mặc định. Không phải tất cả các thiết bị nhúng đều có khả năng này. Một số làm nhưng không phải tất cả.

Nếu bạn muốn thiết bị của mình hỗ trợ quay trở lại firmware mặc định của nhà máy thì thiết kế của bạn phải kết hợp bộ nhớ vào mạch để lưu trữ hình ảnh đó. Một thành phần phổ biến cho việc này là chip flash SPI. Sau đó, bộ tải khởi động của bạn cũng cần được thay đổi để hỗ trợ chế độ lấy hình ảnh phần sụn từ chip flash SPI thay vì đưa hình ảnh qua cổng nối tiếp. Nếu thiết bị của bạn không hỗ trợ phần mềm thay thế người dùng thì thường không cần thiết phải cung cấp phương tiện để khôi phục phần sụn mặc định của nhà sản xuất.


1
Không thực sự là một câu trả lời vì vậy tôi sẽ để lại nhận xét: một số thiết bị chỉ hoàn nguyên cài đặt về mặc định, điều này rất dễ (ví dụ: chỉ cần xóa cài đặt người dùng). Những người khác (ít hơn, tôi nghĩ) đặt lại firmware về mặc định của nhà sản xuất. Điều này khó hơn, vì bạn cần một cách để thay thế phần sụn hiện có bằng phần sụn cũ hơn.
Dithermaster

11

Nếu bạn lấy ví dụ phổ biến nhất về mặc định của nhà máy, thì đó là UEFI (BIOS) của PC của bạn.

Nó được chế tạo với chip flash và chip nhớ SRAM dự phòng pin dễ bay hơi. Chip flash chứa chương trình và SRAM chứa các cài đặt.

Khi khôi phục cài đặt gốc , nội dung của sram dễ bay hơi bị xóa. Trong lần khởi động tiếp theo, nó phát hiện tổng kiểm tra của các cài đặt không hợp lệ và khôi phục các mặc định có trong chương trình.

Điều này không giới hạn ở SRAM dự phòng pin, điều tương tự có thể được thực hiện với FLASH hoặc EEPROM. Nhưng SRAM dự phòng pin có thể bị xóa mà không cần cấp nguồn cho máy.


Một thuật ngữ khác là phục hồi nhà máy , điều này đơn giản có nghĩa là nó chứa chương trình chính hai lần. Nhưng chỉ có một bản sao có thể được nâng cấp bởi người dùng.
Dual-BIOS là một ví dụ về điều này.

Trên các hệ thống cấp cao hơn, như điện thoại và máy tính, điều đó có nghĩa là nó sử dụng các tệp cài đặt để khôi phục hệ điều hành về điều kiện xuất xưởng.


10

Khôi phục cài đặt gốc là bất cứ điều gì bạn muốn. Nó phụ thuộc vào ứng dụng và loại thiết bị.

Tôi thường làm hai việc:

  1. Đảm bảo rằng luôn có một cách đáng tin cậy để vào bộ tải khởi động , để ngay cả bản cập nhật firmware một phần / sai cũng không thể gạch thiết bị.
  2. Có cách để thiết lập lại cài đặt chương trình cơ sở trong trường hợp người dùng thay đổi thứ gì đó, một kết hợp cài đặt cụ thể sẽ làm hỏng ứng dụng, v.v.

Cả hai có thể được thực hiện bằng các nút (nhấn dài, nhấn ngắn), công tắc DIP hoặc các phương tiện giao tiếp khác (ví dụ: UART, USB).

Ví dụ: nếu bạn sử dụng một GPIO cho một nút, bạn có thể sử dụng nó theo cách sau:

  1. Nhấn nút bật nguồn = gọi bộ nạp khởi động
  2. Bật nguồn, không nhấn nút = đợi 3 giây, nháy đèn led, nếu nhấn nút (trong cửa sổ) và giữ trong 5 giây, sau đó đặt lại cài đặt chương trình cơ sở

2

Như bạn đã nói, khôi phục cài đặt gốc sẽ tải lại hình ảnh ban đầu của thiết bị vào thiết bị. Điều này có thể cần thiết trong trường hợp cấu hình sai trong đó người dùng không biết mình làm gì hoặc chỉ muốn quay lại cấu hình ban đầu. Trong trường hợp như bản cập nhật phần mềm của bạn được thực hiện, bạn có thể muốn bao gồm các tình huống lỗi nhất định trong quá trình cập nhật. Trong trường hợp này, bạn thậm chí có thể có bộ nhớ flash chuyên dụng với hình ảnh gốc của nhà máy được lưu trữ có thể được chọn bằng cách sử dụng jumper để khôi phục cấu hình mặc định của nhà sản xuất. Điều này được thực hiện trên các bo mạch chính của máy tính, bạn có thể khôi phục cấu hình BIOS gốc trong trường hợp một bản cập nhật bị lỗi và làm hỏng hình ảnh chính.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.