redworlf007 发表于 2020-2-4 23:33:28

总结搭建vscode+cmake+arm-linux-gcc的开发环境

本帖最后由 redworlf007 于 2020-2-4 23:35 编辑

芯片:nuc980。
1、首先虚拟机安装Ubuntu。
2、Ubuntu上用新塘给的buildroot,制作uboot 、内核、文件系统,制作完成后,./install_bsp.sh ,安装开发包和编译链,并修改环境变量。
新塘的buildroot地址:https://github.com/OpenNuvoton/NUC970_Buildroot;
3、在Ubuntu上安装cmake。
参考帖子:https://blog.csdn.net/sss_369/article/details/94666494。
4、将简单的源代码,用cmake编译后,放到开发板上测试。
5、Ubuntu上安装openssh-server服务。
参考帖子:https://www.cnblogs.com/kuillldan/p/8667082.html
6、Windows10开启ssh server服务。
参考帖子:https://blog.csdn.net/weixin_43064185/article/details/90080815
7、Windows10上安装vscode。
8、VScode Remote 远程开发与调试
参考帖子:https://www.jianshu.com/p/0f2fb935a9a1
9、vscode里面添加tasks.json,tasks.json里面调用一个自己网上抄的domake.sh,然后ctrl+shif+b后调用这个sh进行编译,直接调用cmake的命令好像也行,但是我没搞定。。。
参考帖子https://blog.csdn.net/zsf211/article/details/88290113


前面在Ubuntu上把eclipse搞上,编辑和编译程序,但是感觉eclipse的编辑功能和屎一样,就又倒腾了这个。

18501501628 发表于 2020-2-5 00:29:35

cddx 发表于 2020-2-5 00:45:52

本帖最后由 cddx 于 2020-2-5 00:47 编辑

编译错误可以定位吗?我用make编译多个文件,当出现编译错误时,无法点击错误提示后自动定位。

powerk6 发表于 2020-2-5 01:59:31

我用vscode 超级卡,特别是装上插件,机器配置已经很高了,就是这个vscode卡。。。

ersha4877 发表于 2020-2-5 04:07:56

不知道可否借鉴用来调试Atmel arm9,谢谢

yuanbuqi 发表于 2020-2-5 09:48:45

vscode越来越好了

diandianer 发表于 2020-2-5 10:22:22

感谢分享,收藏学习

a105 发表于 2020-2-5 13:13:32

vscode可以设置仿真调试。

redworlf007 发表于 2020-2-5 13:29:37

18501501628 发表于 2020-2-5 00:29
这样就和keil一样了吗,不要自己makefile

这个是arm Linux上的程序,不用自己写Makefile,cmake里面会根据cmakelists.txt里面配置的源文件路径、编译器路径,自动生成Makefile文件。

redworlf007 发表于 2020-2-5 13:30:19

cddx 发表于 2020-2-5 00:45
编译错误可以定位吗?我用make编译多个文件,当出现编译错误时,无法点击错误提示后自动定位。 ...

下面的调试串口会告诉你哪里有问题。

redworlf007 发表于 2020-2-5 13:30:38

a105 发表于 2020-2-5 13:13
vscode可以设置仿真调试。

gdb我还没搞,我现在是串口打印调试。

redworlf007 发表于 2020-2-5 13:31:27

ersha4877 发表于 2020-2-5 04:07
不知道可否借鉴用来调试Atmel arm9,谢谢

我搞的是新塘的arm9,atmel的arm9应该是一样的,只要你把编译器路径填好,就没啥问题。

redworlf007 发表于 2020-2-5 13:32:02

powerk6 发表于 2020-2-5 01:59
我用vscode 超级卡,特别是装上插件,机器配置已经很高了,就是这个vscode卡。。。 ...

卡应该不是机器配置的问题,你再找找其他的原因。

wzavr 发表于 2020-2-5 14:04:56

不错,有机会玩一下

cumthe 发表于 2020-2-5 14:29:22

Mark,有机会试试

qwe2231695 发表于 2020-2-5 15:20:01

一直这样开发,很方便,是中小企业合适用的方案。

shwind 发表于 2020-2-5 15:28:54

vscode还是挺好用的

hell-prototypes 发表于 2020-2-5 20:52:20

楼主可以试试WSL,文件都在本地,比虚拟机方便, 不用担心虚拟机死掉。
用过这个搭配搞Micropython编译,很方便。
担心效率上WSL2

redworlf007 发表于 2020-2-6 01:30:16

hell-prototypes 发表于 2020-2-5 20:52
楼主可以试试WSL,文件都在本地,比虚拟机方便, 不用担心虚拟机死掉。
用过这个搭配搞Micropython编译,很 ...

能交叉编译uboot、内核么?

quzegang 发表于 2020-2-6 09:28:20

可以用DS-5社区版本在windows下进行ARM-LINUX的应用程序开发,DS-5也是基于eclipse环境整合而成。个人感觉eclipse还是挺好用的,各种插件都很全。只是启动稍慢,占用内存过大而已。

hell-prototypes 发表于 2020-2-6 09:45:15

redworlf007 发表于 2020-2-6 01:30
能交叉编译uboot、内核么?

可以的,就是个命令行的linux。
编内核要上wsl2,io速度快。
wsl的读写io有点慢,不适合内核这种大工程

fengyunyu 发表于 2020-2-6 09:49:25

vscode+cmake+arm-linux-gcc

hamwang1 发表于 2020-2-6 11:05:01

不错,有机会试一下

redworlf007 发表于 2020-2-6 11:18:04

quzegang 发表于 2020-2-6 09:28
可以用DS-5社区版本在windows下进行ARM-LINUX的应用程序开发,DS-5也是基于eclipse环境整合而成。个人感觉e ...

eclipse那种编辑功能不行,我用了一段时间,你试试vscode,用过vscode后,再都不想用eclipse了。

redworlf007 发表于 2020-2-6 11:18:52

hell-prototypes 发表于 2020-2-6 09:45
可以的,就是个命令行的linux。
编内核要上wsl2,io速度快。
wsl的读写io有点慢,不适合内核这种大工程 ...

我想把Ubuntu装到一个服务器上,在服务器上编译,我的电脑不行,开着Windows再开跑着Linux,编译太慢了。。。

sql 发表于 2020-2-6 11:28:10

redworlf007 发表于 2020-2-6 11:18
我想把Ubuntu装到一个服务器上,在服务器上编译,我的电脑不行,开着Windows再开跑着Linux,编译太慢了。 ...

正解。虚拟机性能损耗太大了。

quzegang 发表于 2020-2-6 12:05:40

redworlf007 发表于 2020-2-6 11:18
eclipse那种编辑功能不行,我用了一段时间,你试试vscode,用过vscode后,再都不想用eclipse了。 ...

两种都用过哈,主要之前是用vim进行编辑,用上eclipse后觉得已经很友好了

sinone 发表于 2020-2-6 12:21:45

收藏了,感谢楼主经验分享

hell-prototypes 发表于 2020-2-6 12:23:36

redworlf007 发表于 2020-2-6 11:18
我想把Ubuntu装到一个服务器上,在服务器上编译,我的电脑不行,开着Windows再开跑着Linux,编译太慢了。 ...

做产品肯定服务器快,如果自己玩,上服务器编内核没什么必要。

redworlf007 发表于 2020-2-7 00:12:52

quzegang 发表于 2020-2-6 12:05
两种都用过哈,主要之前是用vim进行编辑,用上eclipse后觉得已经很友好了

你再试试vscode,会相见恨晚的。

redworlf007 发表于 2020-2-7 00:13:27

hell-prototypes 发表于 2020-2-6 12:23
做产品肯定服务器快,如果自己玩,上服务器编内核没什么必要。

是做产品呀,自己的电脑,跑Windows又跑虚拟机,编译太慢了。

zhucezhuanyong 发表于 2020-2-7 11:03:08

应该可以直接在windows下面搞,换一下工具链,我目前linux应用程序都是直接windows下面搞,用eclipse+Windows下的工具链

zhucezhuanyong 发表于 2020-2-7 11:35:31

我发现我连github都上不去了,太操蛋了{:mad:}

redworlf007 发表于 2020-2-7 16:27:01

zhucezhuanyong 发表于 2020-2-7 11:03
应该可以直接在windows下面搞,换一下工具链,我目前linux应用程序都是直接windows下面搞,用eclipse+Windo ...

Windows底下eclipse+编译链我也搞好了,eclipse不好用,放弃了。。。

zhucezhuanyong 发表于 2020-2-7 16:35:06

redworlf007 发表于 2020-2-7 16:27
Windows底下eclipse+编译链我也搞好了,eclipse不好用,放弃了。。。

eclipse的编辑功能,比mdk之流强很多了,vscode我还没试过,太懒,理论上vscode也可能实现windows下面搞吧

redworlf007 发表于 2020-2-7 18:07:32

zhucezhuanyong 发表于 2020-2-7 16:35
eclipse的编辑功能,比mdk之流强很多了,vscode我还没试过,太懒,理论上vscode也可能实现windows下面搞 ...

一样的,vscode+cmake+工具链,Windows上甩eclipse好几条街。

PIC16F54 发表于 2020-2-7 19:38:21

VScode Remote, mark, 学习一下.

abcdzhy 发表于 2020-3-4 10:43:21

我有NUC972的板子,也这样搞搞试下。

nade 发表于 2020-3-4 10:53:36

不要祸害坛友入门到放弃,我们只爱单片机

dragonbbc 发表于 2020-3-4 11:03:44

zhucezhuanyong 发表于 2020-2-7 16:35
eclipse的编辑功能,比mdk之流强很多了,vscode我还没试过,太懒,理论上vscode也可能实现windows下面搞 ...

是的,一旦用过,就再也不想碰Keil, IAR之类的IDE了,我是图省事,直接装的IAR for eclipse插件,省得去折腾环境了

redworlf007 发表于 2020-3-5 01:20:10

dragonbbc 发表于 2020-3-4 11:03
是的,一旦用过,就再也不想碰Keil, IAR之类的IDE了,我是图省事,直接装的IAR for eclipse插件,省得去 ...

eclipse我也用了,但是用过vscode,就觉得eclipse是辣鸡。。。

dragonbbc 发表于 2020-3-5 08:54:21

redworlf007 发表于 2020-3-5 01:20
eclipse我也用了,但是用过vscode,就觉得eclipse是辣鸡。。。

vscode能在线调试吗?看寄存器值之类的

redworlf007 发表于 2020-3-5 13:10:04

dragonbbc 发表于 2020-3-5 08:54
vscode能在线调试吗?看寄存器值之类的

Linux我是用vscode,要调试用gdb插件


stm32我是用vscode+iar插件,看寄存器可以用iar看,我看寄存器比较少,当然你可以用vscode+gcc来调试。

liangerfan 发表于 2020-3-5 14:57:03

我用vs2015 +visualgdb + vassistx插件,好用

kyq_linux 发表于 2020-3-25 12:28:19

我也是这么做的 耶! 但是最近在弄qt 我不知道怎么添加在vscode 中添加QT 插件。。。。

imjacob 发表于 2020-3-25 12:48:53

powerk6 发表于 2020-2-5 01:59
我用vscode 超级卡,特别是装上插件,机器配置已经很高了,就是这个vscode卡。。。 ...

你是啥配置。我装了 40个左右插件的情况下,windows下 很流畅,但是虚拟机里装了ubuntu下用vsc 就不是太流畅。尤其是 很长时间不关机

powerk6 发表于 2020-3-25 17:56:22

imjacob 发表于 2020-3-25 12:48
你是啥配置。我装了 40个左右插件的情况下,windows下 很流畅,但是虚拟机里装了ubuntu下用vsc 就不是 ...

Macbook pro i7,16G,虚拟机里跑的,打开都卡,别的程序不卡

avr-arm 发表于 2020-3-25 18:02:47

赞,vs的remote真是神器

imjacob 发表于 2020-3-25 21:40:01

本帖最后由 imjacob 于 2020-3-26 10:34 编辑

powerk6 发表于 2020-3-25 17:56
Macbook pro i7,16G,虚拟机里跑的,打开都卡,别的程序不卡

那你的配置应该不错啊,是不是给虚拟机内存,核分少了。我的配置和你相当。9代i7,32G 内存。给虚拟机分配3个核6线程, 12G 内存.
跑久了,还卡,确实vsc对配置要求有些高了

meirenai 发表于 2020-3-25 22:44:43

请教楼主,nuc980的开发资料是否开源?是不是和全志一样资料获取很费劲?

so_so_so_so 发表于 2020-3-26 14:44:32

vscode 是否支持Ubuntu-32位系统sshd登录?

比特 发表于 2020-3-26 15:01:42

牛逼,标记一个,找个时间试一下

redworlf007 发表于 2020-3-28 23:54:58

meirenai 发表于 2020-3-25 22:44
请教楼主,nuc980的开发资料是否开源?是不是和全志一样资料获取很费劲?

新塘官网还有github上新塘都公开资料了。

闲鱼翻身 发表于 2020-3-29 06:13:19

vscode快宇宙无敌了:-D

zoto 发表于 2020-3-29 07:17:57

vscode 很牛的说

zhoujta 发表于 2020-3-29 10:31:16

多谢 啦啦啦啦啦啦啦啦

天马行空 发表于 2020-3-29 14:13:08

难道就我一个人在用slickedit么?

JeffreySun 发表于 2020-3-29 15:23:58

天马行空 发表于 2020-3-29 14:13
难道就我一个人在用slickedit么?

你这只是个编辑器而已吧,类似于什么sublime, notepad++之类的。
难道就我一个人在用ST自家的TrueStudio么?

dso_2012 发表于 2020-6-6 17:19:09

VSCODE remote牛叉,再也不用把LINUX 文件夹通过SAMBA映射到WINDOWS上了

jianbo513 发表于 2020-6-6 17:28:22

vscode不错。。。

jameszxj 发表于 2020-6-13 18:23:45

天马行空 发表于 2020-3-29 14:13
难道就我一个人在用slickedit么?

slickedit +1

jasonzhu8888 发表于 2020-6-13 18:50:34

基于vscode的codespaces以后可以让你在任何设备上开发。开发环境、编译部署啥的都可以在云端。随便哪里都可以打开自己的熟悉的开发环境。

用vscode开发确实很爽,代码提示和自动纠错让你编程非常流畅。

redworlf007 发表于 2020-6-14 00:01:15

jasonzhu8888 发表于 2020-6-13 18:50
基于vscode的codespaces以后可以让你在任何设备上开发。开发环境、编译部署啥的都可以在云端。随便哪里都可 ...

好的,我去看看。

chewy 发表于 2020-6-14 08:52:14

liangerfan 发表于 2020-3-5 14:57
我用vs2015 +visualgdb + vassistx插件,好用

我之前也是这么用的 不过就是virsualgdb有点贵啊 兄台用的啥版本 最新的貌似没有xx法把?而且 看帖子说 这个插件有很多坑 就算表面x了 可能运行起来依然有问题啊

chewy 发表于 2020-6-14 09:03:18

hell-prototypes 发表于 2020-2-5 20:52
楼主可以试试WSL,文件都在本地,比虚拟机方便, 不用担心虚拟机死掉。
用过这个搭配搞Micropython编译,很 ...

WSL是啥?

chewy 发表于 2020-6-14 09:05:56

redworlf007 发表于 2020-3-5 13:10
Linux我是用vscode,要调试用gdb插件




看起来 应该是编译可以remote吧这个?本地要是想调试 还是得靠着keil iar啥的来?单片机开发 没有办法方便打断点读寄存器 开发要蛋疼…

jasonzhu8888 发表于 2020-6-14 09:52:01

redworlf007 发表于 2020-6-14 00:01
好的,我去看看。

这个还在内测阶段。github提供的功能

redworlf007 发表于 2020-6-15 12:09:48

jasonzhu8888 发表于 2020-6-14 09:52
这个还在内测阶段。github提供的功能

那等先驱者先测试好。

lw32 发表于 2020-6-16 16:21:23

JeffreySun 发表于 2020-3-29 15:23
你这只是个编辑器而已吧,类似于什么sublime, notepad++之类的。
难道就我一个人在用ST自家的TrueStudio ...

TrueStudio+1

fengyunyu 发表于 2020-10-28 13:41:12

redworlf007 发表于 2020-3-5 13:10
Linux我是用vscode,要调试用gdb插件




请问,是不是使用cmake,嵌入linux开发是否可以不用虚拟机linux了?直接在windows下开发?

redworlf007 发表于 2020-10-28 15:48:28

fengyunyu 发表于 2020-10-28 13:41
请问,是不是使用cmake,嵌入linux开发是否可以不用虚拟机linux了?直接在windows下开发? ...

Windows下的vscode远程登陆Linux虚拟机。

fengyunyu 发表于 2020-10-28 15:54:53

redworlf007 发表于 2020-10-28 15:48
Windows下的vscode远程登陆Linux虚拟机。

esp32的开发已经可以不用虚拟机了

ITOP 发表于 2020-10-28 20:34:45

fengyunyu 发表于 2020-10-28 15:54
esp32的开发已经可以不用虚拟机了

ESP32开发哪种比较方便除了ESP-IDF?

redworlf007 发表于 2020-10-28 21:18:33

fengyunyu 发表于 2020-10-28 15:54
esp32的开发已经可以不用虚拟机了

Linux上的程序,你如果用go语言开发,也不需要虚拟机,直接Windows上编程,然后直接编译为arm linux上的应用程序。

hxke 发表于 2022-8-26 23:18:15

redworlf007 发表于 2020-10-28 21:18
Linux上的程序,你如果用go语言开发,也不需要虚拟机,直接Windows上编程,然后直接编译为arm linux上的 ...
(引用自74楼)

有没有搭建教程

redworlf007 发表于 2022-8-26 23:36:31

hxke 发表于 2022-8-26 23:18
有没有搭建教程
(引用自75楼)

B站上it营的go视频不错,看看,简单得很。

hxke 发表于 2022-8-27 00:03:06

redworlf007 发表于 2022-8-26 23:36
B站上it营的go视频不错,看看,简单得很。
(引用自76楼)

谢谢,我看这里的交叉编译教程https://blog.51cto.com/u_10125763/3697480
是要先编译1.4版本再编译高版本。如果要编译nuc972的go程序,是不是要按这个网址的教程来?
还有如果要交叉编译cgo的话,要怎么配置?

akey3000 发表于 2022-8-27 06:47:31

全栈大神。

redworlf007 发表于 2022-8-27 11:04:35

本帖最后由 redworlf007 于 2022-8-27 11:07 编辑

hxke 发表于 2022-8-27 00:03
谢谢,我看这里的交叉编译教程https://blog.51cto.com/u_10125763/3697480
是要先编译1.4版本再编译高版 ...
(引用自77楼)

我应用程序都是用go写的,没有用交叉编译。
编译成arm平台的,你在编译命令里面加上参数就好了。

redworlf007 发表于 2022-8-27 11:06:36

hxke 发表于 2022-8-27 00:03
谢谢,我看这里的交叉编译教程https://blog.51cto.com/u_10125763/3697480
是要先编译1.4版本再编译高版 ...
(引用自77楼)

不用编译go,直接安装了就能用,你看it营的视频,你看的那些帖子都过时了。

redworlf007 发表于 2022-8-27 13:00:55

hxke 发表于 2022-8-27 00:03
谢谢,我看这里的交叉编译教程https://blog.51cto.com/u_10125763/3697480
是要先编译1.4版本再编译高版 ...
(引用自77楼)

GOOS=linux GOARCH=arm GOARM=5 go buildmain.go

你编译的时候这么输入命令,及编译从成了arm v5 内核Linux上运行的程序了。

hxke 发表于 2022-8-27 23:16:25

redworlf007 发表于 2022-8-27 13:00
GOOS=linux GOARCH=arm GOARM=5 go buildmain.go

你编译的时候这么输入命令,及编译从成了arm v5 内核 ...
(引用自81楼)

谢谢,已搭建好环境{:handshake:}

liang16888 发表于 2022-12-6 12:02:01

谢谢大大教学 Thank you !

wazhiyi 发表于 2022-12-9 14:25:32

vscode+cmake+arm-linux-gcc
留个抓印

Franso 发表于 2022-12-16 14:20:21

wazhiyi 发表于 2022-12-9 14:25
vscode+cmake+arm-linux-gcc
留个抓印
(引用自84楼)

vim不香么

wazhiyi 发表于 2022-12-17 18:43:58

Franso 发表于 2022-12-16 14:20
vim不香么
(引用自85楼)

惭愧,我倒现在没整明白VIM
页: [1]
查看完整版本: 总结搭建vscode+cmake+arm-linux-gcc的开发环境