完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
所有嵌入式设备都包含“恢复出厂设置”选项,允许用户在出现问题时重置其设备。 什么是恢复出厂设置?它是关于将整个二进制文件再次加载到内存中还是仅调用重新初始化由最终用户修改的变量的函数? 这样做的最佳做法是什么? 哪里有原装FW?是在内部还是外部闪光灯?
|
|
相关推荐
5个回答
|
|
一般来说,你提到的出厂重置功能会将任何已保存的变量数据信息恢复为默认值。并非所有嵌入式设备都具备此功能。有些但不是全部。
如果希望你的设备支持恢复出厂默认固件本身,那么你的设计必须在存储该图像的电路中加入一个存储器。一个常见的组件是SPI闪存芯片。然后还需要更改引导加载程序以支持从SPI闪存芯片获取固件映像的模式,而不是通过串行端口获取映像。如果你的设备不支持用户可更换固件,则通常无需提供恢复出厂默认固件的方法。 |
|
|
|
某些设备只是将设置恢复为默认值,这很容易(例如,只需删除用户设置)。其他(我认为更少)将固件重置为出厂默认设置。这更难,因为你需要一种方法来用旧固件替换现有固件。
|
|
|
|
正如你所说,出厂重置会将初始出厂映像重新加载到设备。如果配置错误,用户只是不知道他做了什么,或者只是想回到初始配置,这可能是必要的。像这样的情况下执行软件更新时,你可能希望在更新期间涵盖某些故障情况。在这种情况下,甚至可能拥有一个专用闪存,其中存储了原始出厂映像,可以使用跳线选择以恢复出厂默认配置。这是在计算机主板上完成的,如果更新失败并破坏主图像,你可以恢复原始BIOS配置。
|
|
|
|
您想要恢复出厂设置,这取决于应用程序和设备类型。
我经常做两件事: 确保始终有一种可靠的方式进入引导加载程序,这样即使是部分/错误的固件更新也无法阻止设备。 有办法重置固件设置,以防用户更改某些内容,特定设置组合将使应用程序崩溃等。 两者都可以通过按钮(长按,短按),DIP开关或其他通信手段(例如UART,USB)来完成。 例如,如果将一个GPIO用于单个按钮,则可以通过以下方式使用它: 按下开机+按钮=调用bootloader 开机,未按下按钮=等待3秒,闪烁LED指示灯,如果按下按钮(在窗口内)并保持5秒,则重置固件设置 |
|
|
|
如果你采用最常见的出厂默认设置示例,那就是你的PC的UEFI(BIOS)。
它采用闪存芯片和易失性电池备份SRAM存储芯片制成。闪存芯片包含程序,SRAM包含设置。 在恢复出厂设置时,将删除volatile sram的内容。在下次引导时,它会检测到设置的校验和无效并恢复程序中包含的默认值。 这不仅限于电池备份SRAM,也可以用FLASH或EEPROM完成。但是可以在不给机器加电的情况下擦除备用电池SRAM。 另一个术语是工厂恢复,这仅仅意味着它包含两次主程序。但是只有一个副本可以由用户升级。 双BIOS就是一个例子。 在较高级别的系统(如电话和计算机)上,这意味着它使用安装文件将操作系统恢复到出厂状态。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 06:44 , Processed in 0.740241 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号