[开发工具] FreeRTOS是否支持中断向量表偏移?

[复制链接]
 楼主| motor666 发表于 2024-11-13 10:52 | 显示全部楼层 |阅读模式
使用STM32CUBEMAX自动生成的FreeRTOS代码,在F407芯片中,加中断向量表偏移就报错,因为要使用IAP功能,就必须加偏移,使用uCOS就可以,现在也不知道是哪里有问题。
哈根达斯uz 发表于 2024-11-14 21:46 来自手机 | 显示全部楼层
加中断向量表偏移就报错
 楼主| motor666 发表于 2024-11-15 13:32 | 显示全部楼层
FreeRTOS 可能有缺陷,一个是不能打断点,打断点再运行就报硬件出错,进入硬件错误死循环,另一个是不能做中断向量表偏移,也就是说程序代码只能从起始地址开始存放,现在准备转uCos了,已经试过,uCos上面两种问题都没有。
但只是个人观点。
kqh11a 发表于 2024-12-30 17:49 | 显示全部楼层

报错的原因可能在于 向量表偏移没有正确配置,或者是 链接脚本与启动代码不匹配。

报错的原因可能在于 向量表偏移没有正确配置,或者是 链接脚本与启动代码不匹配。
结合国际经验 发表于 2024-12-31 23:11 | 显示全部楼层
在 STM32 系列微控制器中,中断向量表偏移 是通过 VECT_TAB 或 VECT_TABADDR 寄存器来配置的。
结合国际经验 发表于 2024-12-31 23:11 | 显示全部楼层
在启动代码中,必须正确设置 VTOR。
失物招領 发表于 2025-1-6 21:19 | 显示全部楼层
在使用STM32CubeMX自动生成FreeRTOS代码时遇到中断向量表偏移报错的问题,特别是在使用IAP(In-Application Programming)功能时,可能是由于配置差异导致的
caigang13 发表于 2025-1-6 21:40 来自手机 | 显示全部楼层
感觉和FREERTOS关系不大,应该是哪里配置问题。
故意相遇 发表于 2025-1-7 02:00 | 显示全部楼层
STM32CubeMX生成的FreeRTOS代码可能与uCOS的配置有所不同,特别是在中断管理和向量表配置方面。某些设置可能不适用于IAP模式

白马过平川 发表于 2025-1-7 03:00 | 显示全部楼层
在使用IAP时,通常需要设置中断向量表的偏移地址。这是因为IAP功能通常涉及将程序存储在嵌入式Flash的不同部分,并可能需要跳转到不同的地址执行程序。确保在启动文件和中断配置中正确设置了向量表偏移

西洲 发表于 2025-1-7 04:00 | 显示全部楼层
在修改向量表偏移时,可能需要修改启动文件(如startup_stm32f4xx.s)。确保这些修改与您的硬件和项目配置兼容

捧一束彼岸花 发表于 2025-1-7 05:00 | 显示全部楼层
并非所有的FreeRTOS版本都与IAP完全兼容。确保您使用的FreeRTOS版本支持您的IAP功能,并且已经正确配置

她已醉 发表于 2025-1-7 06:00 | 显示全部楼层
检查编译器和链接器的设置是否正确配置,特别是与IAP相关的内存区域和段设置

将爱藏于深海 发表于 2025-1-7 07:00 | 显示全部楼层
检查启动文件和中断配置,确保启动文件和中断配置中的向量表偏移设置正确

Clyde011 发表于 2025-1-7 07:39 | 显示全部楼层
FreeRTOS本身不影响中断向量表的偏移啊,估计是你设置哪里出问题了。
公羊子丹 发表于 2025-1-7 07:39 | 显示全部楼层
兄弟,看看你的SCB->VTOR设置对不对,偏移地址是不是8字节对齐了?
周半梅 发表于 2025-1-7 07:40 | 显示全部楼层
我记得STM32的IAP操作必须手动调整向量表,你在FreeRTOS初始化之前设置好试试。
帛灿灿 发表于 2025-1-7 07:40 | 显示全部楼层
用uCOS没问题可能是因为它的启动代码和FreeRTOS不一样,你对比下启动文件吧。
童雨竹 发表于 2025-1-7 07:40 | 显示全部楼层
报错的时候有提示什么内容吗?有可能是中断优先级设置和FreeRTOS冲突了。
万图 发表于 2025-1-7 07:40 | 显示全部楼层
FreeRTOS和中断向量表偏移没啥关系,建议检查你的链接脚本和系统初始化流程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

426

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部