OTA 升级过程中如果出现问题怎么解决?
OTA 升级过程中如果出现问题,可以参考以下解决办法。
如果是诊断报文发送时间间隔过近导致的问题,可以增加报文缓冲机制,将数据缓存由一维数组扩展为二维数组,基本变量扩展成一维数组,增加一个维度依次存放多帧数据。同时,还需评估报文响应处理的任务复杂度,同一时间片内不能处理过多任务。另外,实际改上位机发送更简单,将同一 ID 发送数据的时间间隔加大也能解决。
在 Android 系统中,OTA 升级可能出现多种问题。如多服务器编译 OTA 报错,尽量避免在多用户服务器上编译 dist,若必须编译则需修改相关配置。OTA 升级时间戳校验报错,每次编译 OTA 包应先 make clean 并重新编译,保证 UTC 时间新,也可去除时间戳校验,但不建议。JDK 版本不匹配可通过 sudo update-alternatives --config java 修改。手动 push update 包时不要有 adb remount 动作。
在 stm32mp151 平台上,OTA 升级可能出现死机重启情况。oom 导致重启可能是内存外碎片化严重或无法借用其他迁移类型内存,应去掉使能 panic_on_oom 选项,还应查查为何 free_cma 可分配多而不做最大值限制,可将 CMA 降为 64M 大小。
苹果 iOS17 系统更新时,无法更新可能是 iOS 与 iPhone 不兼容、电量或网络问题、存储空间不足、下载时间长、无法连接服务器等原因。解决办法包括检查设备是否支持、释放储存空间、检查网络、强制重启、删除更新固件包、借助专业工具更新。
在 Android 系统中,OTA 应用不具备系统权限导致无法创建 command 文件无法正常升级,可在 init.rc 文件中增加 mkdir cache/recovery 命令。下载完升级包进入 recovery 模式升级失败,可能是版本文件和目标文件不一致,需重新打包生成版本文件。差分包签名校验失败可能是签名不一致、导入 SD 卡失败、压缩文件损坏,需对应解决。还有多种其他报错情况,如 ro.product.device 不一致、版本号不对应、文件被手动修改、cache 分区空间不足、内核升级失败、升级 boot.img 时拔电池重启、MTP 方式不插 T 卡升级、OTA 升级后部分 apk 丢失、包不完整等,都有相应的解决方法。
最新问答




