硬汉嵌入式论坛

 找回密码
 立即注册
查看: 476|回复: 5
收起左侧

[RL-RTX] RTX5.8.0版本任务开启后配置中断优先级导致HardFault_Handler

[复制链接]

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2024-2-13 16:56:43 | 显示全部楼层 |阅读模式
RTX5升级到5.8.0版本之后,osKernelStart()开始运行RTOS,在任务里面初始化硬件接口,到了设置优先级的时候,调用NVIC_GetPriorityGrouping()这个函数就直接进HardFault_Handler,测试IIC硬件接口设置优先级也一样进HardFault_Handler
需要在osKernelStart()之前初始化才能正常运行
测试工程是根据USB的教程做的,升级之前也是正常的





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2024-2-13 17:00:57 | 显示全部楼层
只是调用Get优先级分组,是否有设置优先级分组,一旦进入OS任务后是禁止修改优先级分组的。

如果仅仅是Get应该是完全没问题的。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-2-13 17:50:40 | 显示全部楼层
eric2013 发表于 2024-2-13 17:00
只是调用Get优先级分组,是否有设置优先级分组,一旦进入OS任务后是禁止修改优先级分组的。

如果仅仅是G ...

没有优先级分组,是HAL_NVIC_SetPriority调用的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2024-2-13 18:48:47 | 显示全部楼层
王小明 发表于 2024-2-13 17:50
没有优先级分组,是HAL_NVIC_SetPriority调用的

这个没关系的,你应该是开非特权级模式了吧,任务开非特权级模式,如果任务里面调用系统外设会触发异常的。
回复

使用道具 举报

3

主题

35

回帖

44

积分

新手上路

积分
44
发表于 2024-2-18 14:10:39 | 显示全部楼层
eric2013 发表于 2024-2-13 18:48
这个没关系的,你应该是开非特权级模式了吧,任务开非特权级模式,如果任务里面调用系统外设会触发异常的 ...

这个答案是对的!
我也遇到了相同的问题,不同的是,我这里设置UART的NVIC优先级
也是HARDFAULT
解决办法就是按版主说的,在RTX_CONFIG.H里面找到Default Processor mode for Thread execution,
选择privileged mode,重新编译就好了
谢谢版主!
回复

使用道具 举报

1

主题

9

回帖

12

积分

新手上路

积分
12
发表于 2024-2-29 03:05:32 | 显示全部楼层
我也遇到了,感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 16:55 , Processed in 0.268702 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表