完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用自己搭的http server作为ota升级服务器,可以看到版本正确的被下载和写到flash,最后crc校验也成功,信息如下:
upgrade data load finish. img_crc = 293621782 flash_crc = 293621782 最后在升级的回调函数中调用 system_upgrade_reboot() 重新启动。启动后发现boot没有跳转到0x81000的user2.bin执行,还是从0x1000位置启动user1.bin版本,信息如下: ets Jan 8 2013,rst cause:2, boot mode:(3,0) load 0x40100000, len 1856, room 16 tail 0 chksum 0x63 load 0x3ffe8000, len 776, room 8 tail 0 chksum 0x02 load 0x3ffe8310, len 552, room 8 tail 0 chksum 0x79 csum 0x79 2nd boot version : 1.5 SPI Speed : 40MHz SPI Mode : QIO SPI Flash Size & Map: 32Mbit(512KB+512KB) jump to run user1 @ 1000 请问是哪儿缺少步骤了吗? system_upgrade_start(server) 启动 成功后,system_upgrade_reboot() 重启 |
|
相关推荐
1个回答
|
|
OTA升级后重启版本不切换问题可能是由于以下原因导致的:
1. **升级过程中的CRC校验**:确保CRC校验是正确的,因为错误的CRC校验可能导致升级失败。 2. **升级回调函数**:确保在升级回调函数中调用`system_upgrade_reboot()`后,系统能够正常重启。 3. **启动配置**:检查启动配置是否正确。可能的原因是在升级过程中,启动配置没有被正确更新。需要确保在升级完成后,新的启动配置被写入到flash中。 4. **分区表问题**:检查分区表是否正确。如果分区表没有正确更新,系统可能无法找到新的固件并从正确的位置启动。 5. **固件问题**:检查固件本身是否存在问题。如果固件存在问题,可能导致升级后无法正常启动。 6. **硬件问题**:检查硬件是否存在问题。硬件故障可能导致升级过程中出现问题,从而导致升级失败。 解决步骤: 1. **检查CRC校验**:确保升级过程中的CRC校验是正确的。 2. **检查升级回调函数**:确保在升级回调函数中调用`system_upgrade_reboot()`后,系统能够正常重启。 3. **检查启动配置**:在升级过程中,确保启动配置被正确更新。可以在升级完成后,手动检查启动配置是否正确。 4. **检查分区表**:检查分区表是否正确。如果分区表有问题,需要修复或重新生成分区表。 5. **检查固件**:确保固件本身没有问题。可以尝试使用其他固件进行升级,看是否能够解决问题。 6. **检查硬件**:如果以上步骤都无法解决问题,可能需要检查硬件是否存在问题。可以尝试更换硬件或联系硬件供应商寻求帮助。 通过以上步骤,应该能够找到问题的原因并解决OTA升级后重启版本不切换的问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
179个成员聚集在这个小组
加入小组441 浏览 1 评论
1408 浏览 1 评论
609浏览 6评论
506浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
487浏览 5评论
489浏览 4评论
473浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-25 09:05 , Processed in 0.692723 second(s), Total 45, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号