|
现象: 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 */ ———————————————— 版权声明:路过羊圈的狼 如有侵权请联系删除 |
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
一个软件引起的 LSE 驱动不良的问题
STM32 GUI LTDC 最大像素时钟评估方法
STM32 Cordic 运算速度评估
全新OpenSTLinux 6.1版本发布
ST-LINK Utility介绍、下载、安装和使用教程
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
微信公众号
手机版