硬汉嵌入式论坛

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

[其它] 哪位兄弟知道怎么在VisualGDB中正确编译.S汇编文件吗

[复制链接]

2

主题

4

回帖

10

积分

新手上路

积分
10
发表于 2022-7-26 10:39:02 | 显示全部楼层 |阅读模式
这两天闲的没事想体验下用VisualGDB来开发stm32。先是用其自带的导入keil工程的功能导入了一个V7开发板的裸机程序,toolchain选的是keil自带的ac6
生成,烧录一切正常。
然后又导入了一个ThreadX的模板工程,编译后出现大量错误,提示ThreadX内核.S文件存在语法错误,最离谱的是绝大多数错误指向的还是注释,感觉根本没有正确识别文件类型。

比如下面这一小段,竟然会把“ThreadX”认为是未知的指令

不知哪位兄弟有相关经验。
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2022-7-26 10:39:48 | 显示全部楼层
image.png
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2022-7-26 10:40:36 | 显示全部楼层
image.png
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2022-7-26 10:41:09 | 显示全部楼层
image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2022-7-26 11:38:52 | 显示全部楼层
仅这个文件吗
image.png

如果是仅这个文件,此贴修改下即可

说干就干,修改ThreadX内核移植的tx_initialize_low_level.s汇编文件为C文件
https://www.armbbs.cn/forum.php? ... 0053&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2022-7-26 13:03:20 | 显示全部楼层
不止,所有.S的内核文件都有问题
image.png
回复

使用道具 举报

19

主题

235

回帖

292

积分

高级会员

积分
292
发表于 2022-7-26 13:38:09 | 显示全部楼层
感觉是汇编器语法的问题,threadx用的是gcc汇编的语法
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
发表于 2022-7-26 15:19:40 | 显示全部楼层
应该是编译器的问题吧,就像移植FreeRTOS一样,在keil下使用RVDS文件夹下的文件但是用GBD的时候编译器是gcc就要用GCC文件夹下的文件。
虽然没用过ThreadX,但是应该也差不多,可以尝试下使用gnu文件夹下的.S文件去移植。
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2022-7-26 19:59:55 | 显示全部楼层
Is_swl 发表于 2022-7-26 15:19
应该是编译器的问题吧,就像移植FreeRTOS一样,在keil下使用RVDS文件夹下的文件但是用GBD的时候编译器是gcc ...

试了一下,没用。最神奇的是它连注释都要报错,就好像它根本不知道这是什么类型的文件。
然后我用VisualGDB自带的模板创建ThreadX工程,就一切正常,而且其中的.S文件跟keil导入的可以说几乎一模一样。感觉不单纯是编译器的问题。
回复

使用道具 举报

19

主题

235

回帖

292

积分

高级会员

积分
292
发表于 2022-7-27 08:37:34 | 显示全部楼层
wengjx 发表于 2022-7-26 19:59
试了一下,没用。最神奇的是它连注释都要报错,就好像它根本不知道这是什么类型的文件。
然后我用Visual ...

像keil和vscode里的EIDE都有这个选项,可以选择汇编器的语法,你勾选auto select就好了。因为AC6采用的armclang工具链就把汇编器集中到里面了,而AC5,armcc和armasm是分开的。并且stm32现在的启动文件大部分都还是AC5时代armasm的汇编语法,而你的threadx里的那些启动文件又用的是AC6的gcc汇编语法,所以工程里会有两种汇编语法存在。勾那个auto select就是让它自动选择汇编语法
回复

使用道具 举报

19

主题

235

回帖

292

积分

高级会员

积分
292
发表于 2022-7-27 09:26:18 | 显示全部楼层
image.png image.png
image.png
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2022-7-27 11:36:01 | 显示全部楼层
tovinz 发表于 2022-7-27 08:37
像keil和vscode里的EIDE都有这个选项,可以选择汇编器的语法,你勾选auto select就好了。因为AC6采用的ar ...

那你知道vs或者是安装的visualgdb拓展里有对应的配置选项吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 08:37 , Processed in 0.220072 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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