硬汉嵌入式论坛

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

[ThreadX全家桶] 请教下,threadx 使用 BASEPRI 中断 ??

[复制链接]

655

主题

3299

回帖

5289

积分

论坛元老

积分
5289
发表于 2021-8-19 15:47:44 | 显示全部楼层 |阅读模式
请教下,threadx 使用 BASEPRI 中断 ??

threadx  >= v6.1.7

在 tx_port.h 里面看到 需要宏定义 TX_PORT_USE_BASEPRI

在 C/C++ 及 Asm 宏定义里面增加 TX_PORT_USE_BASEPRI 这个后,编译时出现


TX_PORT_BASEPRI 这个没有定义的错误提示,这个是什么鬼,是需要自己定义的 u32 类型的变量吗 ?

TX_PORT_BASEPRI .png





回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2021-8-19 17:43:30 | 显示全部楼层
他们官方的我还没有测试,这个是我的。

ThreadX内核的开关中断使用BasePri实现方法,支持AC5,AC6,MDK和GCC
http://www.armbbs.cn/forum.php?m ... 6733&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

24

主题

70

回帖

142

积分

初级会员

积分
142
发表于 2021-8-20 08:21:47 | 显示全部楼层
是的,TX_PORT_USE_BASEPRI和TX_PORT_BASEPRI结合使用,前者为开关定义,后者为开关中断时中断优先级分界
回复

使用道具 举报

655

主题

3299

回帖

5289

积分

论坛元老

积分
5289
 楼主| 发表于 2021-8-27 09:50:00 | 显示全部楼层
utyang 发表于 2021-8-20 08:21
是的,TX_PORT_USE_BASEPRI和TX_PORT_BASEPRI结合使用,前者为开关定义,后者为开关中断时中断优先级分界

TX_PORT_BASEPRI  这个要如何定义呀  ??

我吧这个 定义成  #define TX_PORT_BASEPRI  unsigned int  port_basepri   

貌似不行
回复

使用道具 举报

655

主题

3299

回帖

5289

积分

论坛元老

积分
5289
 楼主| 发表于 2021-8-27 09:50:59 | 显示全部楼层
eric2013 发表于 2021-8-19 17:43
他们官方的我还没有测试,这个是我的。

ThreadX内核的开关中断使用BasePri实现方法,支持AC5,AC6,MDK ...

按照这个例程里面的修改后,貌似我读写 usbx msc 的功能不能够正常使用了啊 ,优先级也各种调试了,最终还是没有什么效果
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2021-8-27 16:35:40 | 显示全部楼层
hpdell 发表于 2021-8-27 09:50
按照这个例程里面的修改后,貌似我读写 usbx msc 的功能不能够正常使用了啊 ,优先级也各种调试了,最终 ...

设置下中断的管控范围,仅让0优先级中断不受监管
回复

使用道具 举报

6

主题

32

回帖

50

积分

初级会员

积分
50
发表于 2021-10-21 11:15:39 | 显示全部楼层
使用的话,再tx_user.h 文件中添加
#define __NVIC_PRIO_BITS                        4
#define TX_PORT_USE_BASEPRI
#define TX_PORT_BASEPRI                         (14 << (8 - __NVIC_PRIO_BITS))  // BASEPRI 寄存器中的优先级掩码禁用 PendSV 和 SysTick 中断

即可
回复

使用道具 举报

655

主题

3299

回帖

5289

积分

论坛元老

积分
5289
 楼主| 发表于 2021-10-21 18:43:57 | 显示全部楼层
xdh873939316 发表于 2021-10-21 11:15
使用的话,再tx_user.h 文件中添加
#define __NVIC_PRIO_BITS                        4
#define TX_PORT ...

你好,貌似这样设置后,usbx msc 读写u盘还是不行

000.png


//-------------------------------
使用原始的 方法进行开关中断时,读写u盘时可以了的


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2021-10-22 09:43:17 | 显示全部楼层
hpdell 发表于 2021-10-21 18:43
你好,貌似这样设置后,usbx msc 读写u盘还是不行

新版ThreadX已经集成了basepri支持。
回复

使用道具 举报

655

主题

3299

回帖

5289

积分

论坛元老

积分
5289
 楼主| 发表于 2021-10-22 12:26:23 | 显示全部楼层
eric2013 发表于 2021-10-22 09:43
新版ThreadX已经集成了basepri支持。

现在使用的是最新版本的,v6.1.9 版本的,这个版本确实是 支持了 exFAT 的操作,但是 使用 basepri 寄存器作为开关中断时,读写 usbx host msc 功能 时会出现上面的问题了,如果使用原始的 开关中断函数则 读写 u 盘 msc 功能完全正常
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2021-10-23 09:28:41 | 显示全部楼层
hpdell 发表于 2021-10-22 12:26
现在使用的是最新版本的,v6.1.9 版本的,这个版本确实是 支持了 exFAT 的操作,但是 使用 basepri 寄存 ...

你的basepri管理的优先级和usb,sd的优先级分别是多少
回复

使用道具 举报

655

主题

3299

回帖

5289

积分

论坛元老

积分
5289
 楼主| 发表于 2021-10-24 16:40:30 | 显示全部楼层
eric2013 发表于 2021-10-23 09:28
你的basepri管理的优先级和usb,sd的优先级分别是多少

sd 没有用到,我是直接使用 usb host msc 直接读写u盘的


usb irq.png


basepri.png


#define TX_PORT_USE_BASEPRI
#define ___NVIC_PRIO_BITS                        4
#define TX_PORT_BASEPRI                         (14 << (8 - ___NVIC_PRIO_BITS))  // BASEPRI 寄存器中的优先级掩码禁用 PendSV 和 SysTick 中断



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2021-10-25 02:34:00 | 显示全部楼层
hpdell 发表于 2021-10-24 16:40
sd 没有用到,我是直接使用 usb host msc 直接读写u盘的

你这个TX_PORT_BASEPRI  设置太小了,仅关闭14和15。

设置为
#define TX_PORT_BASEPRI        (1 << (8 - ___NVIC_PRIO_BITS))
回复

使用道具 举报

655

主题

3299

回帖

5289

积分

论坛元老

积分
5289
 楼主| 发表于 2021-10-25 09:18:52 | 显示全部楼层
eric2013 发表于 2021-10-25 02:34
你这个TX_PORT_BASEPRI  设置太小了,仅关闭14和15。

设置为

你好,请问下关于 basepri 这个寄存器的相关资料在哪里可以找到啊 ? 貌似在 h743  的参考手册里面木有找到啊
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2021-10-25 16:46:43 | 显示全部楼层
hpdell 发表于 2021-10-25 09:18
你好,请问下关于 basepri 这个寄存器的相关资料在哪里可以找到啊 ? 貌似在 h743  的参考手册里面木有找 ...

权威指南
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-1 06:50 , Processed in 0.398263 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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