新闻详情

新闻详情

首页 / 资讯中心 / 详情

PY32F系列MCU在OTA时App区概率性跑不起来的根因分析(1)

发布时间:2026/9/27 6:58:35来源:尧图网络
PY32F系列MCU在OTA时App区概率性跑不起来的根因分析(1)
一、问题现象1. 概述在项目中使用PY32F0和PY32F4系列的两款芯片。在OTA时会有概率性App无法正常跑起来。2. 详情细节描述如下压测OTA不断进行反复升级比如100次、500次、1000次。发现总体上会有10~20%的概率App不能正常跑起来。宏观现象上来看正常App跑起来的时候LED指示灯以一定间隔如2秒闪动亮灭。但实际看到的现象分为以下几种1程序陷卡在Boot区出不来通过串口发强制退出Boot区指令可以跳转到App区工作正常2程序陷卡在Boot区出不来通过串口发强制退出Boot区指令无响应。重启或者断电/上电后可以正常调转到App区3程序陷卡在Boot区出不来通过串口发强制退出Boot区指令无响应。重启或者断电/上电后仍在Boot区此时通过串口发强制退出Boot区指令可以跳转到App区工作正常4程序完全跑飞所有指示灯都不亮既不在Boot区、也不在App区5程序陷卡在Boot区出不来断电/上电一次不行第二次能够正常跳转到App区。二、问题分析1. 初步分析和所采取措施上边的问题很多相应地可怀疑之处也有很多。这就需要逐层、逐块、逐点进行排查。抽丝剥茧、层层递进。引发问题的原因可能有如下几个1串口数据接收过程中数据出现了错误导致烧录的数据是错误的由于使用的是串口RS485通信因此一开始认为数据比较可靠没有加入检验。后来在实测中发现数据偶然也会出现错误不够稳定。因此加上了校验机制当校验不通过时返回失败。这样就从源头确保了数据的正确性避免了由于数据本身错误而导致的跳转到App后运行异常。2数据没有问题烧录出现了问题烧录过程调用的是系统HAL库接口这方面理论上是比较可靠的。即使如此排查问题的过程中也对此有所担心专门加入了相应的指示灯一旦某一帧烧录出现错误指示灯就会给出提示。但实际测试下来指示灯从未出现过问题基本排除了Flash烧录方面的错误。3数据和烧录都没有问题读写EEPROM出现了问题这一块一开始并没有怀疑认为是可靠的。但实测中发现即使接收数据都正确烧录过程也无误最后设置标志位再读取是否写入成功结果发现读取的数据与写入的不一致从而根本就没有执行跳转函数。经过排查其实是EEPROM读取的应用程序写错了在函数中的局部变量没有清零下边又用到了该变量的或因此就出现了问题。volatile uint32_t ret; for (i 0; i len; i) { e2prom_buf_read(data, addr i, 1); ret | ((uint32_t)data (8 * (len - 1 - i))); }对ret进行初始化将其赋值为0问题解决。后续这一块没有再出现问题。4整个过程都没有问题跳转出现了问题将以上几个问题解决后原因就剩这一块了。但是这里又分为几个怀疑点1烧录后跳转到App出了问题2不经过烧录过程直接跳转到App就出问题3Boot或App自身存在问题。以上几个怀疑点优先排除2因为从来没有发生、发现过启动后直接跳转就跑飞的情况。其次排除3因为不进行OTA的话Boot和App配合是能够正常工作的。那么问题大概率出在了“1烧录后跳转到App出了问题”上。到底问题出在了哪里又该如何进一步排查呢请看下回。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

strands-agents Python SDK v1.31.0 技术解读:A2A 上下文传递、Graph 执行优化与 OpenAI 模型层修复 2026/9/27 6:58:32

strands-agents Python SDK v1.31.0 技术解读:A2A 上下文传递、Graph 执行优化与 OpenAI 模型层修复

人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务 【免费下载链接】harness-sdk Build an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud. 项目地址: https://…

阅读更多 →
网站的通栏怎么做性能优化 2026/9/27 6:58:31

网站的通栏怎么做性能优化

网站通栏怎么做兼顾安全与SEO的最佳实践 上周刚帮一个做B2B机械的客户排查故障,他的网站首页突然弹出了博彩广告,后台代码里赫然多了一段混淆过的JavaScript。客户急得打电话问我:“网站被黑挂马不知道怎么办?”这种时候,90%的人第一…

阅读更多 →
网站根目录表示错导致被黑?3招排查源码下载路径防挂马 2026/9/27 6:58:25

网站根目录表示错导致被黑?3招排查源码下载路径防挂马

网站根目录表示错导致被黑?3招排查源码下载路径防挂马 网站被黑挂马不知道怎么办?别慌,八成是网站根目录表示混乱,导致攻击者利用路径遍历漏洞植入木马。这时候急着找源码下载链接没用,得先搞清楚服务器到底把哪个文件夹当首页。很多北京做外包的朋友,…

阅读更多 →
Yao Job 任务调度框架深度指南:双执行模式、进度追踪与数据库持久化 2026/9/27 6:58:25

Yao Job 任务调度框架深度指南:双执行模式、进度追踪与数据库持久化

Agent 框架后端低代码RAG 【免费下载链接】yao ✨ All your agents and workspaces in one place, on every device you own. Track tasks on a board, accessible from desktop, mobile, browser, or API. Self-hosted. 项目地址: https://gitcode.com/gh_mirrors/…

阅读更多 →
给网站建设提意见避坑速查手册:报价与成本全解析 2026/9/27 6:58:05

给网站建设提意见避坑速查手册:报价与成本全解析

给网站建设提意见避坑速查手册:报价与成本全解析 网站做好了却没人访问,这大概是甲方最痛心的经历。很多老板以为付了钱,网站上线就是万事大吉,结果流量为零,转化率为零,钱白花。这往往不是设计不够好看,而是你在验收阶段没给建设方提对意见,或者压根…

阅读更多 →
Mosquitto 0.5.1 升级指南:sqlite3-pcre 库路径变更与 `ext_sqlite3_regex` 配置详解 2026/9/27 6:57:59

Mosquitto 0.5.1 升级指南:sqlite3-pcre 库路径变更与 `ext_sqlite3_regex` 配置详解

物联网消息队列后端 【免费下载链接】mosquitto Eclipse Mosquitto - An open source MQTT broker 项目地址: https://gitcode.com/gh_mirrors/mosquit/mosquitto 点击查看 免费下载 本文是一篇面向 Mosquitto 历史版本(0.5.1)用户的技术升级…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉