硬汉嵌入式论坛

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

[ThreadX全家桶] 【更新完毕】授人以渔,ThreadX GUIX的GCC,MDK和IAR库文件生成方法及其模板文件

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2020-7-15 14:22:38 | 显示全部楼层 |阅读模式
基于V6模板做的库文件以及基于库文件的工程。
库文件生成,含GCC,MDK和IAR
GUIX Lib Create.7z (2.55 MB, 下载次数: 1499)

基于库文件的工程,可以在我们V6板子上面跑,含MDK,IAR和GCC
GUIX Lib Example(MDK, IAR, GCC).7z (4.97 MB, 下载次数: 549)

MDK创建库文件:
1.jpg
2.jpg
3.jpg
4.jpg

生成的库文件在路径\Project\MDK-ARM(AC6)\Objects里面,即GUIX.Lib,将其添加到大家的源工程文件里面,并GUIX/Source分组下的源文件全部删除

5.jpg

至此就完成了MDK的库文件生成。


IAR创建库文件:

1.jpg
2.jpg
3.jpg
5.jpg
6.jpg

生成的库文件在路径\Project\EWARMv8\Flash\Exe里面,即project.a(手动将其修改为GUIX_IAR.a),将其添加到大家的源工程文件里面,并GUIX/Source分组下的源文件全部删除

7.jpg

至此就完成了IAR的库文件生成。


GCC采用的Embedded Studio

Embedded Studio生成库文件要专门的创建一个工程,不是在设置选项里面配置的。

1.jpg
2.jpg
3.jpg
6.jpg

生成的库文件在路径\Project\EmbeddedStudioLib\Output\Release\Exe,即GUIX_GCC.a,将其添加到大家的源工程文件里面,并GUIX/Source分组下的源文件全部删除

8.jpg

评分

参与人数 2金币 +40 收起 理由
lidp000 + 20
missfox + 20

查看全部评分

回复

使用道具 举报

3

主题

1222

回帖

1231

积分

至尊会员

积分
1231
发表于 2020-7-15 16:36:02 | 显示全部楼层
硬汉大哥很负责啊!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-7-15 17:26:49 | 显示全部楼层
更新完毕
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

积分
10
发表于 2020-7-15 18:23:40 | 显示全部楼层
硬汉非常棒!大大减少了工程编译时间。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-7-15 18:29:42 | 显示全部楼层
雁山情缘 发表于 2020-7-15 18:23
硬汉非常棒!大大减少了工程编译时间。

编译速度会快很多。
回复

使用道具 举报

0

主题

16

回帖

16

积分

新手上路

积分
16
发表于 2020-7-15 22:09:40 | 显示全部楼层
硬汉非常棒!大大减少了工程编译时间。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-7-16 01:16:53 | 显示全部楼层
补充下,那个Embedded Studio生成库文件需要单独创建库工程。
回复

使用道具 举报

16

主题

203

回帖

251

积分

高级会员

积分
251
发表于 2020-7-16 07:46:37 | 显示全部楼层
eric2013 发表于 2020-7-15 18:29
编译速度会快很多。

用库肯定是快很多,就是调试的时候会麻烦一些。。。。我的基于AC5、AC6的ThreadX、GUIX的库都已经完全没有问题了,目前来看运行正常,没有问题。。。
回复

使用道具 举报

16

主题

203

回帖

251

积分

高级会员

积分
251
发表于 2020-7-16 07:48:53 | 显示全部楼层
ThreadX、GUIX我用的是6.0.1版本生成的AC5、AC6的库,ThradeX在AC5中工程项目中,tx_initialize_low_level.s 这个文件需要修改,官方那个是不能直接使用的。。。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-7-16 08:32:51 | 显示全部楼层
yjwpm 发表于 2020-7-16 07:48
ThreadX、GUIX我用的是6.0.1版本生成的AC5、AC6的库,ThradeX在AC5中工程项目中,tx_initialize_low_level. ...

我也看了一下AC5那个,官方这个升级欠妥。

他们不应该去接管.S启动问题,会给移植带来很大的麻烦。
回复

使用道具 举报

16

主题

203

回帖

251

积分

高级会员

积分
251
发表于 2020-7-16 08:53:56 | 显示全部楼层
eric2013 发表于 2020-7-16 08:32
我也看了一下AC5那个,官方这个升级欠妥。

他们不应该去接管.S启动问题,会给移植带来很大的麻烦。

是的,他接管了启动文件,移植中会使很多人发懵的,,不知道问题出在哪里,,这个文件还是独立出来比较好。。。。
回复

使用道具 举报

23

主题

1404

回帖

1473

积分

至尊会员

积分
1473
发表于 2020-7-16 11:01:53 | 显示全部楼层
太帅了
代码不规范,亲人两行泪!
回复

使用道具 举报

36

主题

2039

回帖

2147

积分

至尊会员

积分
2147
发表于 2020-7-16 12:43:47 | 显示全部楼层
这个可以有

我也做了个,对比下
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

29

主题

62

回帖

149

积分

初级会员

积分
149
发表于 2020-7-16 14:08:40 | 显示全部楼层
怎么报了这么多错误。。。。是哪里没有设置吗?
微信图片_20200716140505.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-7-16 14:38:32 | 显示全部楼层
lophost 发表于 2020-7-16 14:08
怎么报了这么多错误。。。。是哪里没有设置吗?

谈一下为什么MDK5.30及其以上版本可以正常编译ThreadX内核的GCC汇编文件
http://www.armbbs.cn/forum.php?m ... 8175&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

16

主题

203

回帖

251

积分

高级会员

积分
251
发表于 2020-7-16 14:42:25 | 显示全部楼层
lophost 发表于 2020-7-16 14:08
怎么报了这么多错误。。。。是哪里没有设置吗?

还有一个方法就是,你把编译器的版本选择到5,之后再改回6就会好的。。。。我这边也是会出现这个问题。。。。
回复

使用道具 举报

29

主题

62

回帖

149

积分

初级会员

积分
149
发表于 2020-7-17 09:10:11 | 显示全部楼层
eric2013 发表于 2020-7-16 14:38
谈一下为什么MDK5.30及其以上版本可以正常编译ThreadX内核的GCC汇编文件
http://www.armbbs.cn/forum.ph ...

版本就是MDK5.30
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-7-17 09:38:40 | 显示全部楼层

特地从论坛重新下载,帮你测试了下,没问题
QQ截图20200717093748.jpg
回复

使用道具 举报

29

主题

62

回帖

149

积分

初级会员

积分
149
发表于 2020-7-17 13:31:52 | 显示全部楼层
eric2013 发表于 2020-7-17 09:38
特地从论坛重新下载,帮你测试了下,没问题

好的,是我这边问题,搞好了,确实没问题
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-7-17 14:14:10 | 显示全部楼层
lophost 发表于 2020-7-17 13:31
好的,是我这边问题,搞好了,确实没问题

好的,还有什么问题了,再交流。
回复

使用道具 举报

19

主题

310

回帖

367

积分

高级会员

积分
367
发表于 2020-7-17 14:19:19 | 显示全部楼层
突然有个想法,
GUI的库里面,是不是有个版本号,或者自己定义一个版本号?

至少gx_port.h这个文件,应该有个版本号,这样保证工程里面的port文件和库的是一致的,

看有没有必要做版本一致性检测
回复

使用道具 举报

5

主题

19

回帖

34

积分

新手上路

积分
34
发表于 2020-7-19 01:18:50
本帖最后由 1824789902 于 2020-7-19 01:51 编辑

看错了。。。。

1

主题

369

回帖

372

积分

高级会员

积分
372
发表于 2020-8-6 20:47:56 | 显示全部楼层
MDK在完整工程里也可以单独生成,右键分组目录,选择Option for Groups,勾掉右上角的Include in Target Build,然后像汉子哥那样选择生成库,就可以单独生成分组源码的库文件了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-8-7 01:46:11 | 显示全部楼层
挖东衣宇 发表于 2020-8-6 20:47
MDK在完整工程里也可以单独生成,右键分组目录,选择Option for Groups,勾掉右上角的Include in Target Bu ...

谢谢,也是个好办法。
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
发表于 2020-12-24 10:11:06 | 显示全部楼层
棒棒哒,学习         
回复

使用道具 举报

34

主题

111

回帖

213

积分

高级会员

程序小白

积分
213
QQ
发表于 2021-1-13 10:06:13 | 显示全部楼层
一般MDK生成的lib文件,不应该还提供一个.h文件吗?  不然会不知道怎么调用的
回复

使用道具 举报

609

主题

3047

回帖

4894

积分

至尊会员

积分
4894
发表于 2021-1-13 12:31:12 | 显示全部楼层
清风徐来 发表于 2021-1-13 10:06
一般MDK生成的lib文件,不应该还提供一个.h文件吗?  不然会不知道怎么调用的

.h 貌似是自己单独另外增加在实际的工程里面就好了吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2021-1-13 13:29:48 | 显示全部楼层
清风徐来 发表于 2021-1-13 10:06
一般MDK生成的lib文件,不应该还提供一个.h文件吗?  不然会不知道怎么调用的

这个可以自己单独再加,其实宏已经对那个库不起作用了。
回复

使用道具 举报

34

主题

111

回帖

213

积分

高级会员

程序小白

积分
213
QQ
发表于 2021-1-13 15:05:14 | 显示全部楼层
eric2013 发表于 2021-1-13 13:29
这个可以自己单独再加,其实宏已经对那个库不起作用了。

明白了  谢谢
回复

使用道具 举报

23

主题

1404

回帖

1473

积分

至尊会员

积分
1473
发表于 2022-1-9 21:56:09 | 显示全部楼层
搞个lib,提升下编译速度。
代码不规范,亲人两行泪!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 13:46 , Processed in 0.482366 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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