linux笔记(2):vscode插件remote WSL远程使用交叉编译工具链(全志D1-H)
创始人
2024-01-21 18:09:33
0

文章目录

  • 1.前期准备
    • 1.1 Windows有对WSL文件读写的权限
    • 1.2 WSL的C语言编译环境已经搭建完毕
  • 2.在windows的vscode安装remoteWSL插件
  • 3.从ubuntu启动windows端的vscode
  • 4.使用vscode编译ubuntu端的c文件
    • 4.1 在《tasks.json》指定可视化make命令
    • 4.2编写Makefile文件
    • 4.3 开始编译
      • 4.3.1 打开《终端->运行任务》
      • 4.3.2 点击 make
      • 4.3.3 在ubuntu测试刚才编译后的文件
      • 4.3.4 修改一下源码,重复上面的流程,确认编译有效
  • 5. 使用D1-H的交叉编译工具链测试
  • 6.测试源码链接

本人linux还没入门,这个只是学习笔记,方便自己查阅。有不对的地方,请大家不吝赐教。
这里使用linux自带的gcc编译器做练习,演示,学习,当然我们的最终目标是编译东山哪吒开发板(D1-H)app应用程序。

1.前期准备

1.1 Windows有对WSL文件读写的权限

从windows的资源浏览器进入ubuntu-18.04的虚拟硬盘:地址栏输入 \\wsl$
然后新建一个文件夹:
在这里插入图片描述
在文件夹里面新建一个txt文件。如果成功,说明具备读写权限。这样我们可以非常方便的操作linux的文件。
我的记性差,老忘记linux命令,加上懒,键盘输入不够快,在linux操作非常痛苦。

1.2 WSL的C语言编译环境已经搭建完毕

这里需要的是gcc编译器,make。

2.在windows的vscode安装remoteWSL插件

在vscode的插件管理中心搜索wsl(我这里已经安装好,所以没有安装的按键):
在这里插入图片描述
安装完毕后,在第一步的刚刚新建的文件夹 test 里面再新建一个文件夹,把我的测试代码(见文章底部)放进去。
在这里插入图片描述

3.从ubuntu启动windows端的vscode

在ubuntu进入 /home/hwd/test/hello2,并输入命令(code 和小数点中间有空格):

code .

在这里插入图片描述
此时,windows端会自动开启一个vscode应用:
在这里插入图片描述

4.使用vscode编译ubuntu端的c文件

我们看看《hello2》文件夹里面的文件:
在这里插入图片描述

4.1 在《tasks.json》指定可视化make命令

我还没有习惯使用命令行编译程序,非常渴望有可视化的编译工具,比较依赖鼠标。
vscode会根据工程目录下的文件夹 .vscode 里面的 文件 tasks.json 生成可视化命令。这里的 tasks.json 非常简单:

{"tasks": [{"type": "shell",//任务类型"label": "make",//任务名称(在vscode看到的名称)"command": "make",//命令行:编译器(可执行文件)的路径}],"version": "2.0.0"}

功能等同于下面的命令make:
在这里插入图片描述

4.2编写Makefile文件

这里用一个最简单的Makefile文件:

CROSS_COMPILE = /usr/bin/
AS		= $(CROSS_COMPILE)as
LD		= $(CROSS_COMPILE)ld
CC		= $(CROSS_COMPILE)gcc
CPP		= $(CC) -E
AR		= $(CROSS_COMPILE)ar
NM		= $(CROSS_COMPILE)nm
test : main.c $(CC) -o test main.c 

在这里插入图片描述

4.3 开始编译

测试helloword(应该是helloworld),反正韦东山老师的例程是这样的:

#include int main(int argc, char* argv[])
{printf("hello2word!\n");return 0;
}

4.3.1 打开《终端->运行任务》

在这里插入图片描述

4.3.2 点击 make

在这里插入图片描述
第一次会弹出一个窗口,选择“从不扫描此任务的任务输出”,下次就不会弹出这个窗口:
在这里插入图片描述

此时,如果c代码没有错误,就会正常输出:
在这里插入图片描述
根据提示,按任意键关闭终端。

4.3.3 在ubuntu测试刚才编译后的文件

在这里插入图片描述

4.3.4 修改一下源码,重复上面的流程,确认编译有效

改动一下打印输出:

printf("hello2word!123\n");

再次编译,运行:
在这里插入图片描述

5. 使用D1-H的交叉编译工具链测试

把Makefile的CROSS_COMPILE改成交叉编译工具链的路径:

CROSS_COMPILE = /home/hwd/eLinuxCore_dongshannezhastu/toolchain/riscv64-glibc-gcc-thead_20200702/bin/riscv64-unknown-linux-gnu-

保存,点击 终端->运行任务->make ,编译后,这个文件应该是无法在pc上面运行的,我们使用file命令查看一下信息:

root@SK-JNTINRTMRDZW:/home/hwd/test/hello# file test
test: ELF 64-bit LSB executable, UCB RISC-V, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64xthead-lp64d.so.1, for GNU/Linux 4.15.0, with debug_info, not stripped
root@SK-JNTINRTMRDZW:/home/hwd/test/hello# 

编译完成后,vscode界面的终端就是ubuntu的终端:
在这里插入图片描述

6.测试源码链接

链接:https://pan.baidu.com/s/1A0L9msimWU8x58HRwbQ_8Q?pwd=f0ho
提取码:f0ho

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...