胡先森. 2024-11-24 15:50 采纳率: 0%
浏览 31

STM32 外设复位影响 IAP 程序跳转

#问题描述
首先,我的 IAP 程序和 APP 程序能够正常运行,但是我发现我 APP 的程序没有写xx外设初始化也能运行,我想的是因为我在 IAP 程序里初始化了,所以在 APP 程序里就需要复位后再初始化。

正常现象演示

iap程序代码

app程序代码

串口信息

外设复位在 IAP 里

img

img

这里结果就已经不正常了,串口没有打印信息,LED也没有闪烁

复位放在 APP 里也是一样的

2024.11.24 20:05
上午提到的复位是指复位外设,因为在IAP程序里初始化后,在APP程序不初始化也能使用

  • 写回答

1条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    根据您提供的信息和描述的问题,您在开发一个基于STM32的IAP(In-Application Programming)程序时遇到了问题。在尝试跳转到APP程序后,串口没有打印信息且LED没有闪烁。为了更好地帮助您解决问题,我需要更详细的信息和上下文。根据您提供的内容,我可以给出以下建议:

    1. 检查串口配置:确保您在IAP程序和APP程序中都正确配置了串口参数(波特率、数据位、停止位等)。两个程序应该使用相同的配置以确保通信正常。
    2. 检查LED初始化代码:确保在APP程序中正确初始化了LED相关的硬件外设,并且正确编写了控制LED闪烁的代码。
    3. 检查跳转逻辑:检查IAP程序中的跳转逻辑是否正确。特别是boot_jump_to_run函数,确保它正确地跳转到了APP程序的入口点。
    4. 调试信息:在APP程序中添加调试信息输出,例如通过串口打印信息或使用调试工具查看运行状态,以确认程序是否成功跳转并运行。
    5. 硬件连接:确保硬件连接正确,包括LED和串口的连接。如果可能的话,使用逻辑分析仪或示波器来检查硬件信号。
    6. 检查复位逻辑:如果您在APP程序中添加了复位逻辑,请确保它不会意外触发,导致程序异常。
    7. 参考文档和示例代码:参考STM32的官方文档和示例代码,确保您的代码与官方实现一致。
    8. 调试过程:逐步调试您的代码,特别是在跳转和初始化部分,以确定问题发生的具体位置。

    如果您能提供更多的代码片段、配置细节或错误消息,我可能能够提供更具体的帮助。此外,您还可以考虑在相关的技术论坛或社区寻求帮助,那里可能有其他开发者遇到过类似的问题。

    评论

报告相同问题?

问题事件

  • 修改了问题 11月24日
  • 创建了问题 11月24日