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进入板子
查看板子里是否有我拷贝进去的文件

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

成功运行!
不过这只是最简单的编译,后续编译的程序里,缺少的库文件,也要先用工具链编译一遍再放进板子里。。。
本文介绍如何在Ubuntu18.04环境下为Rockchip RV1126板子进行交叉编译。通过安装arm-linux工具链,并使用adb连接设备,实现helloworld程序的编译、推送及运行。



被折叠的 条评论
为什么被折叠?



