Linux与rockchip RV1126交叉编译

本文介绍如何在Ubuntu18.04环境下为Rockchip RV1126板子进行交叉编译。通过安装arm-linux工具链,并使用adb连接设备,实现helloworld程序的编译、推送及运行。

Ubuntu 18.04  +  rockchip RV1126板子

将usb接电脑,是上电的usb口, 不是ttl烧录的usb口。

将usb连接到虚拟机里,不是window

这里我采用的是adb 方式编译

打开终端

adb devices

可以看到adb 下的设备

 这样就是识别成功,如果识别不成功,去找厂家给的驱动,驱动我是装在window下

下一步连接设备

adb shell

如果连接成功,就会直接进入板子

 已经进入板子啦

先简单搞个helloworld进去编译一下

输入exit可以退出adb连接

helloworld.c 文件我就不发出来了,都会写

如果我们直接把.c文件拷贝进板子里,会发现编译会出错,这是因为环境不一样,在linux系统下编译c文件生成的是一个二进制文件,也就是我们说的.o文件,类似于window的执行文件是.exe,而linux的执行文件是.o,那么怎么生成板子环境里的执行文件呢

这就需要交叉编译工具链

这里我下载的是arm-linux和aarch64的工具链

sudo apt install g++-arm-linux-gnueabihf//编译C文件
sudo apt install gcc-arm-linux-gnueabihf//编译C++文件

下载成功后它默认安装在/usr下

 这样子就可以直接用工具链来编译.c文件了

arm-linux-gnueabihf-gcc hello.c -o hello

可以看到生成的.o文件了

 如果这时候我们试一下在linux跑这个.o文件,是会出错的

 因为这个文件是arm环境下的,所以linux运行不了

把它拷贝到板子里边,可以先在板子里建一个test文件夹用来存放

adb push ./camera/hello  /test

记得是退出了adb之后再adb push ,否则会出现找不到adb命令的错误

push成功后,再adb shell进入板子

查看板子里是否有我拷贝进去的文件

 这样就可以直接在板子里编译了

 成功运行!

不过这只是最简单的编译,后续编译的程序里,缺少的库文件,也要先用工具链编译一遍再放进板子里。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kellen Lin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值