硬汉嵌入式论坛

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

[ThreadX全家桶] 有没有坛友的ThreadX模板是采用VSCode + Cmake方案,最近想做个这种方案的模板

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
发表于 2021-2-18 09:16:46 | 显示全部楼层 |阅读模式

坛友有做过一个Ninjia + Cmake:

分享一个用Cmake+Ninja构建的Threadx例程
http://www.armbbs.cn/forum.php?mod=viewthread&tid=98636


最近想给ThreadX全家桶做个VSCode的方案,不知道有没有坛友比较熟悉这个,主要是VScode的json文件配置的比较闹心。

回复

使用道具 举报

8

主题

128

回帖

152

积分

初级会员

积分
152
发表于 2021-2-18 10:49:21 | 显示全部楼层
一直在用vscode做编辑器, 主要问题是路径和包含设定不全导致自动补全有时候不太好用, 但即使这样也是非常好用的.
至于编译和调试, 完全没有使用vscode的想法, 这东西在这两方面有什么优点吗? ide原生的工具他不香吗,哈哈
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-18 11:11:27 | 显示全部楼层
amfy 发表于 2021-2-18 10:49
一直在用vscode做编辑器, 主要问题是路径和包含设定不全导致自动补全有时候不太好用, 但即使这样也是非常好 ...

主要是我发现Github上很多开源工程都是Cmake的,所以也想整个,熟悉下这个流程。
回复

使用道具 举报

3

主题

110

回帖

119

积分

初级会员

积分
119
发表于 2021-2-18 11:14:33 | 显示全部楼层
amfy 发表于 2021-2-18 10:49
一直在用vscode做编辑器, 主要问题是路径和包含设定不全导致自动补全有时候不太好用, 但即使这样也是非常好 ...

https://blog.csdn.net/cp_srd/article/details/110673301
自动补全的问题是c_cpp_properties.json导致找不到路径,没法自动提示,看看我这个帖子,应该对你有帮助。
vscode+cmake我之前搞过stm32裸机的,麻烦的很,其实不是很推荐这么做。如果以后keil也发律师函,估计这个方案会被很多人采用。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-18 11:35:12 | 显示全部楼层
风来吴山 发表于 2021-2-18 11:14
https://blog.csdn.net/cp_srd/article/details/110673301
自动补全的问题是c_cpp_properties.json导致 ...

是的,确实有点麻烦,所以看看有没有坛友做好的模板。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2021-2-18 11:36:42 | 显示全部楼层
vscode 还有个 cortexm-debug 插件,配合 opemocd 可以使用 jlink stlink 调试。github 上有个 stm32-cmake 模板可以参考下。
研究了一段时间 cmake,编译器配置就懵掉了。感觉 vscode 的配置其次,感觉高手是不是都是用命令行搞定一切。。。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-18 11:45:46 | 显示全部楼层
xiaowei061 发表于 2021-2-18 11:36
vscode 还有个 cortexm-debug 插件,配合 opemocd 可以使用 jlink stlink 调试。github 上有个 stm32-cmake ...

论坛上有个坛友发过一个完整的VScode搭建

windows10 1809版本下搭建vscode+wsl+gcc的开发环境,并为v7转化基础例子
http://www.armbbs.cn/forum.php?mod=viewthread&tid=94707
回复

使用道具 举报

3

主题

110

回帖

119

积分

初级会员

积分
119
发表于 2021-2-18 13:49:48 | 显示全部楼层
eric2013 发表于 2021-2-18 11:35
是的,确实有点麻烦,所以看看有没有坛友做好的模板。

各种基于eclipse的ide就是比vscode+cmake更好解决方案,vscode插件确实很多,但是写一个项目就写好几个配置文件也很花时间,主要这个时间居然跟产品代码本身没有关系,只是为了解决公司不买商业软件的问题,唉
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-18 14:59:35 | 显示全部楼层
风来吴山 发表于 2021-2-18 13:49
各种基于eclipse的ide就是比vscode+cmake更好解决方案,vscode插件确实很多,但是写一个项目就写好几个配 ...

eclipse方案到时打算用STM32CubeIDE也熟悉下。

VScode方案实在不行就只能做编辑器用了,ThreadX还是用官方做的Ninjia + Cmake编译,调试用Ozone。
回复

使用道具 举报

17

主题

101

回帖

152

积分

初级会员

积分
152
发表于 2021-2-19 23:09:26 | 显示全部楼层
我是一直用的cmake+wsl+gcc,windows的除了装exe环境之外,还需要配置json文件,如果不是arm的芯片,还要手动搞openocd的,就没弄,threadx的cmake写估计是写的玩的,有点敷衍
回复

使用道具 举报

1

主题

75

回帖

78

积分

初级会员

积分
78
发表于 2021-2-20 09:29:36 | 显示全部楼层
版主是在找这样的工程吗?https://github.com/azure-rtos/getting-started
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-20 10:04:24 | 显示全部楼层

对,就是这个
回复

使用道具 举报

1

主题

75

回帖

78

积分

初级会员

积分
78
发表于 2021-2-20 10:08:39 | 显示全部楼层
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-20 10:43:29 | 显示全部楼层
catro 发表于 2021-2-20 10:08
可以参考下这份文档:https://github.com/azure-rtos/getting-started/blob/master/docs/debugging-local ...

谢谢。
回复

使用道具 举报

21

主题

320

回帖

383

积分

高级会员

积分
383
发表于 2021-2-23 09:40:06 | 显示全部楼层
我用的是 "Keil Assistant"插件,可以用vscode直接打开MDK的工程,直接用mdk的编译器编译
用vscode打开mdk工程前,先要保证工程文件用mdk可以编译
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-23 10:01:05 | 显示全部楼层
hpxzw_foxmai 发表于 2021-2-23 09:40
我用的是 "Keil Assistant"插件,可以用vscode直接打开MDK的工程,直接用mdk的编译器编译
用vscode打开mdk ...

谢谢,主要还是想倒腾下VSCode和CMAKE的流程。
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2021-2-23 11:51:06 | 显示全部楼层
我的工程就是基于CMake+GCC+vscode的开发环境,不过是S32K144芯片+RTThread系统,可以实现在vscode上调试,编译报警提示以及代码感知,CMake在配置完成后可以设置生成Compile_Commands.json文件,然后在C/C++插件里指定这个文件的位置的路径,就可以了实现代码感知功能,不用去./vscode/seetings.json一个一个添加头文件路径,整个功能配置完成还是有很多东西要学的,主要还是要对CMake熟悉和CMake插件的配置选项要清楚.要想在VSCode上调试就用弄清楚Cortex-debug插件的配置.
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2021-2-23 12:19:36 | 显示全部楼层
1.在CMake tool 插件中勾选上配置这两个选项

下载.png

该功能配置后会在执行CMake指令时添加-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE命令

2.在C/C++插件配置文件c_cpp_properties.json中添加这两个设置
configurationProvider": "ms-vscode.cmake-tools",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",

这样C/C++插件就可以通过读取这个文件自动感知代码了.
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-23 12:28:11 | 显示全部楼层
微处理 发表于 2021-2-23 12:19
1.在CMake tool 插件中勾选上配置这两个选项

该功能配置后会在执行CMake指令时添加-DCMAKE_EXPORT_COMPI ...

谢谢。
回复

使用道具 举报

6

主题

642

回帖

660

积分

金牌会员

积分
660
QQ
发表于 2021-2-23 14:01:18 | 显示全部楼层
高手还是挺多的,跟大佬们多学习
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2021-2-23 16:36:39 | 显示全部楼层

我的截图咋没了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-23 16:38:39 | 显示全部楼层

有截图,你这个应该是直接拖拉进来的,这种的会刷新非常慢,因为解码是这种东西,我帮你修改下
QQ截图20210223163227.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107379
QQ
 楼主| 发表于 2021-2-23 16:41:13 | 显示全部楼层

已经改了,改为上传方式,现在刷新应该没问题了。
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2021-2-23 16:42:48 | 显示全部楼层
eric2013 发表于 2021-2-23 16:41
已经改了,改为上传方式,现在刷新应该没问题了。

谢谢老大了,第一次发帖还不太熟悉
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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