所有嵌入式设备都包含“恢复出厂设置”选项,允许用户在出现问题时重置其设备。我正在开发STM32板上的固件。固件包括一个引导加载程序,允许通过UART升级应用程序(通过发送包含新图像的二进制文件),我想添加另一个功能:恢复出厂设置。当用户选择此选项时,电路板应加载原始图像。什么是恢复出厂设置?它是关于将整个二进制文件再次加载到内存中还是仅调用重新初始化由最终用户修改的变量的函数?这样做的最佳做法是什么?哪里有原装FW?是在内部还是外部闪光灯?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我经常做两件事:
确保始终有一种可靠的方式进入引导加载程序,这样即使是部分/错误的固件更新也无法阻止设备。
有办法重置固件设置,以防用户更改某些内容,特定设置组合将使应用程序崩溃等。
两者都可以通过按钮(长按,短按),DIP开关或其他通信手段(例如UART,USB)来完成。
例如,如果将一个GPIO用于单个按钮,则可以通过以下方式使用它:
按下开机+按钮=调用bootloader
开机,未按下按钮=等待3秒,闪烁LED指示灯,如果按下按钮(在窗口内)并保持5秒,则重置固件设置
一周热门 更多>