硬汉嵌入式论坛

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

[ThreadX全家桶] 尝试实现一键添加ThreadX所有C源文件,貌似不太行

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107435
QQ
发表于 2022-3-31 12:21:56 | 显示全部楼层 |阅读模式


通过这种方式,一键添加所有C,这样大家移植仅需添加一个C文件就可以了,貌似不太行。

头文件的包含顺序没有捋顺。

image.png
回复

使用道具 举报

1

主题

370

回帖

373

积分

高级会员

积分
373
发表于 2022-3-31 23:34:39 | 显示全部楼层
如果这软件是国内做的,第二天睡醒应该就有这个功能了哈哈哈
回复

使用道具 举报

4

主题

30

回帖

42

积分

新手上路

积分
42
发表于 2022-3-31 23:45:46 | 显示全部楼层
usbx 可以这样添加, threadx 没试过
回复

使用道具 举报

0

主题

109

回帖

109

积分

初级会员

积分
109
发表于 2022-4-1 08:33:28 | 显示全部楼层
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107435
QQ
 楼主| 发表于 2022-4-1 10:37:44 | 显示全部楼层
挖东衣宇 发表于 2022-3-31 23:34
如果这软件是国内做的,第二天睡醒应该就有这个功能了哈哈哈

还真是,国外反馈个问题,麻烦的一批。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107435
QQ
 楼主| 发表于 2022-4-1 10:38:03 | 显示全部楼层
ilcvm 发表于 2022-4-1 08:33
也许可以试试做成CMSIS-Pack的方式添加,

https://www.keil.com/pack/doc/cmsis/Pack/html/index.html

谢谢,这种的IAR和GCC相关的IDE用不了。
回复

使用道具 举报

0

主题

220

回帖

220

积分

高级会员

积分
220
发表于 2022-4-1 11:15:20 | 显示全部楼层
threadx也可以

src.c

6.53 KB, 下载次数: 9

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107435
QQ
 楼主| 发表于 2022-4-1 11:22:00 | 显示全部楼层

是用MDK测试的不,我这里提示这个,跟我昨天的一样,感觉是我这里包含路径问题。
image.png
回复

使用道具 举报

0

主题

109

回帖

109

积分

初级会员

积分
109
发表于 2022-4-1 12:15:39 | 显示全部楼层
eric2013 发表于 2022-4-1 10:38
谢谢,这种的IAR和GCC相关的IDE用不了。

IAR支持CMSIS Manager dialog box,见下面文档的93页
https://wwwfiles.iar.com/arm/webic/doc/EWARM_IDEGuide.ENU.pdf

https://wiki.segger.com/Using_em ... 1ec887261e8714b6a26

所有基于Eclipse的IDE可以用这个官方插件
https://github.com/ARM-software/cmsis-pack-eclipse

回复

使用道具 举报

0

主题

220

回帖

220

积分

高级会员

积分
220
发表于 2022-4-1 13:55:27 | 显示全部楼层
eric2013 发表于 2022-4-1 11:22
是用MDK测试的不,我这里提示这个,跟我昨天的一样,感觉是我这里包含路径问题。

重新清理了下再编译,确实是这样,根据前缀分几个文件这样,可以试试。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107435
QQ
 楼主| 发表于 2022-4-1 18:15:22 | 显示全部楼层
ilcvm 发表于 2022-4-1 12:15
IAR支持CMSIS Manager dialog box,见下面文档的93页
https://wwwfiles.iar.com/arm/webic/doc/EWARM_ID ...

谢谢,这方式不太方便,后面有时间我再研究下C文件统一添加。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107435
QQ
 楼主| 发表于 2022-4-1 18:15:41 | 显示全部楼层
regbbs 发表于 2022-4-1 13:55
重新清理了下再编译,确实是这样,根据前缀分几个文件这样,可以试试。

你那边编译成功不,我这里确实不行。
回复

使用道具 举报

0

主题

220

回帖

220

积分

高级会员

积分
220
发表于 2022-4-2 15:08:11 | 显示全部楼层
eric2013 发表于 2022-4-1 18:15
你那边编译成功不,我这里确实不行。

编译成库可以,但是引用库的时候,也是不行,看来是文件顺序的问题了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107435
QQ
 楼主| 发表于 2022-4-6 09:19:13 | 显示全部楼层
regbbs 发表于 2022-4-2 15:08
编译成库可以,但是引用库的时候,也是不行,看来是文件顺序的问题了

谢谢,后面有时间了,我再研究下。
回复

使用道具 举报

0

主题

220

回帖

220

积分

高级会员

积分
220
发表于 2022-4-13 18:54:23 | 显示全部楼层
eric2013 发表于 2022-4-6 09:19
谢谢,后面有时间了,我再研究下。

成功了,需要在包含的文件开头定义宏
回复

使用道具 举报

0

主题

220

回帖

220

积分

高级会员

积分
220
发表于 2022-4-13 18:59:02 | 显示全部楼层
eric2013 发表于 2022-4-6 09:19
谢谢,后面有时间了,我再研究下。

需要在c文件中加一个宏定义
#define TX_INVOKE_INLINE_INITIALIZATION

和文件顺序没关系
tx_src.c (6.6 KB, 下载次数: 5)


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107435
QQ
 楼主| 发表于 2022-4-14 10:06:33 | 显示全部楼层
regbbs 发表于 2022-4-13 18:59
需要在c文件中加一个宏定义
#define TX_INVOKE_INLINE_INITIALIZATION


一会我试试。
回复

使用道具 举报

0

主题

220

回帖

220

积分

高级会员

积分
220
发表于 2022-4-14 10:13:01 | 显示全部楼层

#define TX_INVOKE_INLINE_INITIALIZATION
加在tx_port.h 或者如果用了tx_user.h,加在这两个里面也行,是因为比如
#ifdef TX_BLOCK_POOL_INIT
#define BLOCK_POOL_DECLARE
#else
#define BLOCK_POOL_DECLARE extern
#endif
BLOCK_POOL_DECLARE  ULONG                   _tx_block_pool_created_count;
这样的情况,找不到_tx_block_pool_created_count是因为是extern。
-----------------------------------------------------------------------------------------------------------
如果不定义宏,就专门再添加个文件,定义这些找不到的变量也可以(没测试)。
回复

使用道具 举报

5

主题

22

回帖

37

积分

新手上路

积分
37
发表于 2022-4-14 12:00:45 | 显示全部楼层
搬个小板凳,关注最新动态
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-31 14:57 , Processed in 0.227556 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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