
题主最近在开发一款基于STM32F103RET6的产品,要求支持固件升级,目前是基于USART1的IAP,Toolchain是IAR。 IAP的程序是参考官方的例程做的,大体没变,只是BSP方面改了一下,Flash中前12KB作为IAP的程序。 目前的情况很诡异,就是把IAP程序和应用程序都按要求烧录进去后,第1次上电是可以正常运行的,IAP跳转很顺利,但断电后再重新上电就无法跳转了??? 但是题主试了很多次,发现只要是挂上调试器,无论是在IAR的Debug环境下Run还是在JFlash中选择Start Application,IAP程序每次都能跳转得很顺利。 在IAR的Debug环境下题主详细地查看过Flash中的内容,发现程序设置无误,IAR的Linker设置,JFlash中的Start Address都无误。 初步怀疑是复位部分的问题(因为个人感觉IDE下的Run和真实环境下的上电差别就在于前者是软复位的,而后者是外部复位),但是若将应用程序直接烧录到0x08000000并且不设置中断向量表偏移,应用程序可以正常运行,掉电后再上电也可以,因此初步排除是硬件部分的复位问题。 这下就尴尬了,到底能是哪里没配置好呢,官方的文档例程,网上能收集到的资料题主都看过了,而且我的IAP还是可以运行一次的。。。? 还是硬件上某个地方有问题? 这让我百思不得其解,恳请高人指点,谢谢! |
stm32编码器模式计数问题
关于ASM330LHH TR调试中的问题
STM32会存在单个IO口坏掉的情况吗?
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
stm32ide怎么正确的导出项目
STM32F105RBT6 2025年 ROSH REACH 报告
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
你好,我的setting里面设置都没有问题。但是显示failed download cortexm3
STM32F103C8出現找不到'STM32100B_EVAL/stm32100b_eval.h' file not found
stm32f407无法配置定时器2为全部dma
测出来了,原来IAP 没问题,出现这个现象的原因是进入iap的条件初始化未成功,导致正常运行的跳转不了
评分
查看全部评分
在 IAP 每次转跳前都要配置好各向量表,不然转跳后会一直跑回 IAP 内的!
评分
查看全部评分
@zero99
点评