
现象: STM32使用串口IAP进行跳转,发现APP程序用freeos编写的时候,程序跳转完成后就死机了。 IAP程序在跳转前都关闭了中断和复位了使用的外设。已经验证跳转到裸机程序没有问题。 FREEOS的程序在main函数开始就进行了开启中断和复位向量表。 int main(void) { /* USER CODE BEGIN 1 / __enable_irq(); SCB->VTOR = FLASH_BASE | 0X00004000; / USER CODE END 1 */ /…略… 方案: 经过跳转,将__enable_irq();这个函数设置到主循环开始前可以解决。 /* Call init function for freertos objects (in freertos.c) / MX_FREERTOS_Init(); / Start scheduler */ osKernelStart(); __enable_irq(); /* We should never get here as control is now taken by the scheduler / / Infinite loop / / USER CODE BEGIN WHILE / while (1) { / USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ ———————————————— 版权声明:路过羊圈的狼 如有侵权请联系删除 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南