硬汉嵌入式论坛

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

[ThreadX全家桶] keil 5.40 环境 threadX 找不到 TX_PORT_BASEPRI 宏

[复制链接]

8

主题

35

回帖

59

积分

初级会员

积分
59
发表于 2024-10-24 19:18:56 | 显示全部楼层 |阅读模式


使用 cubemx 6.12 生成 H723 的 threadx  6.4.0代码,不开启 BASEPRI 是能正常编译运行的,开启 BASEPRI 之后就一直编译报错。查看 keil 魔术棒里面的宏配置,发现是定义了的,但是编译就是一直报错找不到相关宏 TX_PORT_BASEPRI 。报错说明 TX_PORT_USE_BASEPRI 宏是被识别到的,但是 TX_PORT_BASEPRI 就是识别不到。
尝试:
1. 将 TX_PORT_BASEPRI 和 TX_PORT_USE_BASEPRI 定义的位置交换,仍然报错。
2. 将 keil 编译缓存清除重新编译,仍然报错。
3. 使用不同优先级进行编译,仍然报错。
4. 检查文件是不是 .S 结尾,(网上信息,小 s  无法处理宏。)

keil 魔术棒部分宏定义如下:
TX_PORT_USE_BASEPRI,TX_INCLUDE_USER_DEFINE_FILE,TX_PORT_BASEPRI=32

[C] 纯文本查看 复制代码
iap_h723\iap_h723.axf: Error: L6218E: Undefined symbol TX_PORT_BASEPRI (referred from tx_thread_interrupt_disable.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 1 error messages.
"iap_h723\iap_h723.axf" - 1 Error(s), 0 Warning(s).

回复

使用道具 举报

4

主题

1441

回帖

1453

积分

至尊会员

积分
1453
发表于 2024-10-25 09:22:15 | 显示全部楼层
你是在CubeMx的工程里直接修改配置吗?
回复

使用道具 举报

8

主题

35

回帖

59

积分

初级会员

积分
59
 楼主| 发表于 2024-10-25 09:59:35 | 显示全部楼层
morning_enr6U 发表于 2024-10-25 09:22
你是在CubeMx的工程里直接修改配置吗?

是的,我直接在cubemx里面配置的。2这个值修改了很多次了,可能和上面定义的值不一样。我试过改成 0 ,也不行,还是找不到宏。
102501.png

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-10-25 10:01:18 | 显示全部楼层
推荐先别用这个 TX_PORT_BASEPRI了,CubeMX这个地方好像就是有点问题,之前有网友反馈过。
回复

使用道具 举报

8

主题

35

回帖

59

积分

初级会员

积分
59
 楼主| 发表于 2024-10-25 10:11:53 | 显示全部楼层
eric2013 发表于 2024-10-25 10:01
推荐先别用这个 TX_PORT_BASEPRI了,CubeMX这个地方好像就是有点问题,之前有网友反馈过。

好的,感谢。
回复

使用道具 举报

8

主题

35

回帖

59

积分

初级会员

积分
59
 楼主| 发表于 2024-11-8 11:40:17 | 显示全部楼层
原因找到,在 keil 里面 .S 汇编文件并不能直接识别 .c 文件的宏,所以需要单独定义一下,如下图所示。Asm 和 C/C++ 选项栏里面定义的宏不冲突的,如果需要在 .c 和 .S 文件里面同时使用这个宏,那么就需要在 C/C++ ,Asm 两个选项卡里面同时定义。
fd01a72b-524a-4ec9-95ec-05ee7088959a.png

回复

使用道具 举报

8

主题

35

回帖

59

积分

初级会员

积分
59
 楼主| 发表于 2024-11-8 11:49:18 | 显示全部楼层

又反复测试了几次:
这应该算是 cubemx  的一个 BUG ,我发现 cubemx 会自动生成这两个宏,但是中间多了一个 "," ,这就是不能被识别的找不到宏的原因吧!
8439e6fd-5124-40b9-a739-d93b641e8730.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-11-9 09:42:43 | 显示全部楼层
SJUMP 发表于 2024-11-8 11:49
又反复测试了几次:
这应该算是 cubemx  的一个 BUG ,我发现 cubemx 会自动生成这两个宏,但是中间多了 ...

谢谢分享。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 21:48 , Processed in 0.292253 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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