工厂重置如何工作?

2019-07-14 17:52发布

所有嵌入式设备都包含“恢复出厂设置”选项,允许用户在出现问题时重置其设备。我正在开发STM32板上的固件。固件包括一个引导加载程序,允许通过UART升级应用程序(通过发送包含新图像的二进制文件),我想添加另一个功能:恢复出厂设置。当用户选择此选项时,电路板应加载原始图像。什么是恢复出厂设置?它是关于将整个二进制文件再次加载到内存中还是仅调用重新初始化由最终用户修改的变量的函数?这样做的最佳做法是什么?哪里有原装FW?是在内部还是外部闪光灯?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
阿兵888824
1楼-- · 2019-07-14 20:00
 精彩回答 2  元偷偷看……
hzp_bbs
2楼-- · 2019-07-14 20:44
正如你所说,出厂重置会将初始出厂映像重新加载到设备。如果配置错误,用户只是不知道他做了什么,或者只是想回到初始配置,这可能是必要的。像这样的情况下执行软件更新时,你可能希望在更新期间涵盖某些故障情况。在这种情况下,甚至可能拥有一个专用闪存,其中存储了原始出厂映像,可以使用跳线选择以恢复出厂默认配置。这是在计算机主板上完成的,如果更新失败并破坏主图像,你可以恢复原始BIOS配置。
lining870815844
3楼-- · 2019-07-15 00:51
您想要恢复出厂设置,这取决于应用程序和设备类型。
我经常做两件事:
确保始终有一种可靠的方式进入引导加载程序,这样即使是部分/错误的固件更新也无法阻止设备。
有办法重置固件设置,以防用户更改某些内容,特定设置组合将使应用程序崩溃等。
两者都可以通过按钮(长按,短按),DIP开关或其他通信手段(例如UART,USB)来完成。
例如,如果将一个GPIO用于单个按钮,则可以通过以下方式使用它:
按下开机+按钮=调用bootloader
开机,未按下按钮=等待3秒,闪烁LED指示灯,如果按下按钮(在窗口内)并保持5秒,则重置固件设置
小佳99
4楼-- · 2019-07-15 06:45
如果你采用最常见的出厂默认设置示例,那就是你的PC的UEFI(BIOS)。
它采用闪存芯片和易失性电池备份SRAM存储芯片制成。闪存芯片包含程序,SRAM包含设置。
在恢复出厂设置时,将删除volatile sram的内容。在下次引导时,它会检测到设置的校验和无效并恢复程序中包含的默认值。
这不仅限于电池备份SRAM,也可以用FLASH或EEPROM完成。但是可以在不给机器加电的情况下擦除备用电池SRAM。
另一个术语是工厂恢复,这仅仅意味着它包含两次主程序。但是只有一个副本可以由用户升级。
双BIOS就是一个例子。
在较高级别的系统(如电话和计算机)上,这意味着它使用安装文件将操作系统恢复到出厂状态。

一周热门 更多>