14. GCC编译程序

本章配套视频介绍:

../../_images/video.png

《20-在鲁班猫上使用GCC编译程序》

https://www.bilibili.com/video/BV1wc411P752/

1
2
3
4
5
#获取仓库
git clone https://gitee.com/LubanCat/lubancat_rk_code_storage.git

#代码所在的位置
lubancat_rk_code_storage/quick_start/hello

早期因为处理器芯片性能不够,存储空间不多以及编译性能不够等因素, 早期的开发板普遍采用交叉编译的方式, 而交叉编译的方式会有几种缺点:不能离线编译,操作麻烦,环境配置复杂等。

LubanCat系列的处理器性能强悍,在开发板上自行编译程序的时间会很快,因此 ,我们推荐直接使用板上集成的GCC软件进行编译, 从此可以减少大量的时间在文件的传输上。

LubanCat系列自带GCC编译器,我们可以使用下面的命令去查看GCC版本。

1
2
3
4
5
6
7
8
9
#查看gcc命令
gcc -v

#查看gcc的安装路径
which gcc

#如果没有gcc,下载安装
sudo apt update
sudo apt install gcc -y

如下图:

未找到图片

作者使用的gcc的版本为9.4.0,gcc的版本号可能会因为镜像以及系统的不同而不同,但是不影响编译。

14.1. Hello World!

通过简单的Hello World来讲解如何编译程序。

代码位置
1
quick_start/hello/hello.c

代码内容如下:

quick_start/hello/hello.c
1
2
3
4
5
6
7
8
#include <stdio.h>

int main(void)
{
        printf("Hello World!\n");
        printf("meow!\n");
        return 0;
}

源码 hello.c

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#使用vi创建hello.c文件
vi hello.c

#键盘敲入'i'或'a'进入编辑模式
#复制代码到vim编辑器里
#键盘敲入'Esc'键
#然后敲入":wq" 保存并退出

#也可以直接把源码下载到板卡上,然后进行编译
#输入命令编译
gcc -o hello hello.c

#执行程序
./hello

#信息打印如下
Hello World!
meow!

14.2. vscode便捷调试开发

除了直接在板卡上进行调试或者编译,这里我们提供一种更方便开发调试的方法, 就是使用vscode SSH远程登录lubancat,然后对鲁班猫进行二次开发。

本文章是基于 《SSH登录》 , 如果不能实现SSH登录的话,下面的vscode远程开发就无法正常使用。

14.2.1. 配置环境

首先得配置环境,如果设置了静态IP以及免密码登录,那么在后面的开发中, 就可以实现快速连接,快速开发。

14.2.1.1. vscode使用

vscode下载官网: 《vscode官网》

vscode新手教程: https://blog.csdn.net/weixin_52212950/article/details/124693906

14.2.1.2. 查看板卡IP地址

1
2
#执行命令,查看IP
ifconfig

如下图,192.168.103.156为板卡当前IP地址。

未找到图片

14.2.1.3. vscode连接板卡

在连接板卡前,要先确认网络是可以在板卡和主机间是可以畅通的, 我们可以在pc上打开命令提示符或者power shell。

1
2
3
#ping板卡
ping ip
#IP地址填板卡的ip地址

如下图,板卡和主机之间是能够正常进行网络通信。

未找到图片

然后我们需要打开安装好的vscode,配置完基础操作后,点击左侧的扩展, 下载Remote-SSH插件,如下图:

未找到图片

安装完成后就可以用SSH远程连接板卡了,如下图:

未找到图片

然后在正上方会出现让我们填写的内容,需填写:

1
2
3
4
5
6
#需修改为板卡实际IP地址
ssh cat@192.168.xxx.xxx

#按enter键进入

#然后选择第一个保存配置

注意

除了直接通过ip地址进行ssh连接,还可以通过hostname来连接板卡, 如果板卡与电脑连接在同一个局域网内,且局域网内的lubancat板卡仅有一台, 则可以使用下列命令进行连接。

1
ssh cat@lubancat

打开板卡,如下图。

未找到图片

然后,vscode会让选择linux,Windows,mac,此处选择Linux。

如果需要输入密码,就输入密码。

如果是第一次登录的话,vscode会询问登录,在终端里输入yes。

未找到图片

然后就可以通过打开文件夹来选择要打开的项目或者其他。

14.2.1.4. 免密登录

如果觉得使用vscode每次都需要登录很麻烦,可以使用以下方法来解决。

1
2
3
4
5
6
7
#打开PC的命令提示符或者power shell
#输入
ssh-keygen -t rsa

#然后连续回车直到结束

#找到.ssh这个文件夹,打开id_rsa_pub这个文件

如下图

未找到图片

可以用记事本打开,打开后把里面的内容复制好。

1
2
3
4
5
6
7
8
#连接板卡
#以cat用户登录
#在命令行上输入

ssh-keygen -t rsa

#然后连续回车直到结束
#可以看到/home/cat目录下会有.ssh文件夹
未找到图片

然后进入该文件夹,就可以看到生成的公钥和私钥。

未找到图片
1
2
3
4
#然后可以创建一个文件authorized_keys
vi authorized_keys

#把刚刚从记事本上复制的内容粘贴到里面,然后保存退出

以上就是免登录的操作了,如果对免登录操作感到疑惑的可以参考以下文章。

本文部分参考自:https://blog.csdn.net/qq_44571245/article/details/123031276

14.2.1.5. 连接板卡

未找到图片

功能介绍,如下图。

未找到图片

执行编译和执行操作。

未找到图片

以上内容就是使用vscode便捷开发的教程, 类似的操作不限于C语言,C++、python、java、go等均可在vscode里寻找到相应的插件辅助开发。