打印
[APM32E1]

Bootloader跳转&固件升级有误

[复制链接]
641|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
问题背景
客户重构Bootloader代码
1、Bootloader跳转到APP,有概率会失败(芯片“死机”)
2、Bootloader编程写入的数据出错;

解决方案
1、客户Boot使用按键中断触发Boot跳转(在中断中修改Flag标准位;在主循环中判定标准位,再选择性跳转到APP)
    a. 按键没有做硬件消抖处理——有重复触发外部IO中断的概率;
    b. 跳转前只加了关闭全局中断,没有单独清除/关闭按键中断(KEY);导致APP开启全局中断时,继续响应Boot期间“额外触发”的按键中断。
        i. 导致!——在APP程序段,程序找不到按键中断对应的中断服务函数,且无法清除中断响应标志位,最终"MCU卡死";

2、Bootloader按16bit编程的APP数据格式出错——读出APP数据,发现是按照大端模式存储数据;
    正确需要按照小端模式存储


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:极海半导体
简介:珠海极海半导体有限公司是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。

17

主题

103

帖子

3

粉丝