本帖最后由 skinme01 于 2024-8-26 01:20 编辑
今天开发板刚到手。前几天就把VMware和Ubuntu虚拟机都装好了,开发环境也搞完了,开发板一到就开始测试了。测试下来发现,Ubuntu虽然对初学linux的同学来说,是个练手的好时机,可以感受一下命令行操作,但是虚拟机消耗资源很大,如果想使用IDE更方便地编程,虚拟机就太卡了。涉及到多个.c/.h或复杂目录的情况下,再用软件教程上给的命令行编译就过于复杂了。
经过几小时的研究,我成功在Windows上搭建了ELFBoard编译环境,使用主流IDE——CLion编写代码,其代码洞察和自动补全可以让写代码事半功倍,而且还能通过FTP,SFTP直连开发板,直接编译到开发板内,无需繁琐的文件传输。
第一步:交叉编译工具链下载
软件教程pdf内已经包含了linux系统下的交叉编译链的安装教程。我们要找Windows下的交叉编译链。这里作者找了挺久,教程文档里连文件源网址都不给,只能通过命名方式寻找线索,最后还是找到了。这里提出差评。
(本教程使用的版本为7.5.0)
下载完成后解压到你能找得到的目录下,并妥善保存。
第二步:CLion配置与编译
打开CLion,新建项目:
新建完工程之后,CLion会自动执行CMake。由于现在配置是错误的,CMake必然报错,不要慌张啦 打开设置,我们需要配置新的工具链。按照如图配置。注意C编译器处要选择你刚解压的目录里的编译器,就在bin文件夹内。选择正确的话,三个绿色对勾会同时出现。!!!最后一定要把新建的工具链配置置顶,变成默认!!!
这是说明你已经成功一半了。该报错出现的原因是:CMake依旧认为你在编译Windows程序,会尝试生成exe文件以测试编译器,当然不行啦。依据CMake官方说明,当涉及到交叉编译时,我们需要手动添加几项配置,告知CMake我们的目的。下面打开CMakeList.txt文件!
1、需要告知目的平台的系统名称;2、需要告知目标平台的处理器架构。在project命令前,增加两行代码:
- set(CMAKE_SYSTEM_NAME Linux)
- set(CMAKE_SYSTEM_PROCESSOR arm)
复制代码 3、增加编译器选项,以正确编译代码(在add_executable命令前加)
- set(CMAKE_C_FLAGS "-march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7")
- set(CMAKE_CXX_FLAGS "-march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7")
复制代码 4、清除缓存,并重新加载CMake项目:
这时,你会发现报错消失了,CMake成功啦!!!右上角的小锤子也出现了,我们点击小锤子编译代码,编译成功!
生成的可执行文件在cmake-build-debug目录下,文件名就是工程名,且没有后缀名。
第三步:程序发送至开发板并运行
无需离开CLion,就能将程序发送至开发板并观察运行效果!!
我们将开发板上电,联网,记下IP,用CLion与开发板建立SSH连接:
主机用户名自己填一下,应该不陌生 我们点击本地终端,通过cd命令进入cmake-build-debug目录,使用scp命令将程序传输至开发板: 第一次上传,默认没有执行权限。需要用chmod -R 777 demo命令修改权限。以后再上传,即使覆盖掉文件,也不会有权限问题了!
接着输入./demo看看效果:
OHHHHHHHHHH!
以后就能用Windows+CLion开发Linux的C接口程序了,哈哈!
不知道有么有精华帖之类的,管理员能不能赏一个呀 本教程暂时就到这,欢迎评论。现在作者正在被FTP与SFTP连接不上的问题困扰,搞了几小时了。如果问题解决了,就可以尝试直连开发板编译了。敬请期待~
|