搜索
bottom↓
回复: 85

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

  [复制链接]

出0入36汤圆

发表于 2020-2-4 23:33:28 | 显示全部楼层 |阅读模式
本帖最后由 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的编辑功能和屎一样,就又倒腾了这个。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入36汤圆

 楼主| 发表于 2020-2-5 13:29:37 | 显示全部楼层
18501501628 发表于 2020-2-5 00:29
这样就和keil一样了吗,不要自己makefile

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

出0入36汤圆

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

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

出0入36汤圆

 楼主| 发表于 2020-2-5 13:30:38 | 显示全部楼层
a105 发表于 2020-2-5 13:13
vscode可以设置仿真调试。

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

出0入36汤圆

 楼主| 发表于 2020-2-5 13:31:27 | 显示全部楼层
ersha4877 发表于 2020-2-5 04:07
不知道可否借鉴用来调试Atmel arm9,谢谢

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

出0入36汤圆

 楼主| 发表于 2020-2-5 13:32:02 | 显示全部楼层
powerk6 发表于 2020-2-5 01:59
我用vscode 超级卡,特别是装上插件,机器配置已经很高了,就是这个vscode卡。。。 ...

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

出0入36汤圆

 楼主| 发表于 2020-2-6 01:30:16 来自手机 | 显示全部楼层
hell-prototypes 发表于 2020-2-5 20:52
楼主可以试试WSL,文件都在本地,比虚拟机方便, 不用担心虚拟机死掉。
用过这个搭配搞Micropython编译,很 ...

能交叉编译uboot、内核么?

出0入36汤圆

 楼主| 发表于 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了。

出0入36汤圆

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

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

出0入36汤圆

 楼主| 发表于 2020-2-7 00:12:52 | 显示全部楼层
quzegang 发表于 2020-2-6 12:05
两种都用过哈,主要之前是用vim进行编辑,用上eclipse后觉得已经很友好了

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

出0入36汤圆

 楼主| 发表于 2020-2-7 00:13:27 | 显示全部楼层
hell-prototypes 发表于 2020-2-6 12:23
做产品肯定服务器快,如果自己玩,上服务器编内核没什么必要。

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

出0入36汤圆

 楼主| 发表于 2020-2-7 16:27:01 | 显示全部楼层
zhucezhuanyong 发表于 2020-2-7 11:03
应该可以直接在windows下面搞,换一下工具链,我目前linux应用程序都是直接windows下面搞,用eclipse+Windo ...

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

出0入36汤圆

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

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

出0入36汤圆

 楼主| 发表于 2020-3-5 01:20:10 | 显示全部楼层
dragonbbc 发表于 2020-3-4 11:03
是的,一旦用过,就再也不想碰Keil, IAR之类的IDE了,我是图省事,直接装的IAR for eclipse插件,省得去 ...

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

出0入36汤圆

 楼主| 发表于 2020-3-5 13:10:04 | 显示全部楼层
dragonbbc 发表于 2020-3-5 08:54
vscode能在线调试吗?看寄存器值之类的

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


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

出0入36汤圆

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

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

出0入36汤圆

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

好的,我去看看。

出0入36汤圆

 楼主| 发表于 2020-6-15 12:09:48 | 显示全部楼层
jasonzhu8888 发表于 2020-6-14 09:52
这个还在内测阶段。github提供的功能

那等先驱者先测试好。

出0入36汤圆

 楼主| 发表于 2020-10-28 15:48:28 | 显示全部楼层
fengyunyu 发表于 2020-10-28 13:41
请问,是不是使用cmake,嵌入linux开发是否可以不用虚拟机linux了?直接在windows下开发? ...

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

出0入36汤圆

 楼主| 发表于 2020-10-28 21:18:33 | 显示全部楼层
fengyunyu 发表于 2020-10-28 15:54
esp32的开发已经可以不用虚拟机了

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

出0入36汤圆

 楼主| 发表于 2022-8-26 23:36:31 来自手机 | 显示全部楼层
hxke 发表于 2022-8-26 23:18
有没有搭建教程
(引用自75楼)

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

出0入36汤圆

 楼主| 发表于 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平台的,你在编译命令里面加上参数就好了。

出0入36汤圆

 楼主| 发表于 2022-8-27 11:06:36 来自手机 | 显示全部楼层
hxke 发表于 2022-8-27 00:03
谢谢,我看这里的交叉编译教程https://blog.51cto.com/u_10125763/3697480
是要先编译1.4版本再编译高版 ...

(引用自77楼)

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

出0入36汤圆

 楼主| 发表于 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 build  main.go

你编译的时候这么输入命令,及编译从成了arm v5 内核Linux上运行的程序了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 20:36

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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