【交叉编译踩坑指北(三)】Linux下VScode构建数莓派Pico开发环境

写在前面

  第二章表明,arm-none-eabi工具虽然单独使用会报错,但是只要结合CMake就可以正常使用.
  而Window系统下,使用CMake调用MinGW Makefiles,那么是不是可以在Linux下使用CMake调用Linux原生make(即Unix Makefiles)构建目标文件呢?这个问提就好比出发点相同(都是CMake),中间的路可能有区别(一个是MInGW Makefiles一个是Unix Makefiles),但最终目标一样(都是调用arm-none-eabi-gcc/g++进行编译),按照道理来说大同小异.这也符合CMake跨平台的特性.
  这两种工具链架构如下图,绿色表示依赖的工具,黄色表示指令,白色的表示实际的文件.

首先是windows下的工具链结构
在这里插入图片描述
  
  

然后是Linux下的工具链结构
在这里插入图片描述
了解以上两个工具链关系之后,话不多说,我们正式开始.


本章所使用的工具和文件
工具/文件版本备注
  系统平台Ubuntu 18.04x86_64bit
  VScode任意版本安装C/C++、Cmake和CmakeTools扩展(见第一章)
  cmake3.25.0需要手动安装/升级(1)
  make(Unix)GNU MAKE 4.1输入make -v来查看,一般是系统自带
  (交叉编译器)arm-none-eabi-gcc -vgcc version 6.3.1直接apt安装或者手动安装加入环境变量,apt安装版本较老,但更加方便且经验证可以正常使用
   pico-sdkgithub最新一个文件夹,pico开发SDK,包含各种库和接口

(1)其中,由于数莓派pico sdk要求cmake最低版本为3.13,而apt install安装的版本是3.10,因此需要进行更新,否则会报错.更新的方法不是直接卸载,而是先下载最新版本并进行覆盖,加入虚拟链接.具体方法见下

https://blog.csdn.net/Boys_Wu/article/details/104940575?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166606737816782395333114%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=166606737816782395333114&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-104940575-null-null.142v58new_blog_pos_by_title,201v3control_1&utm_term=ubuntu%20cmake%E5%8D%87%E7%BA%A7&spm=1018.2226.3001.4187

建立软连接的方法值得学习,即把解压到opt下的cmake文件夹中bin目录下的文件在usr/bin/下建立映射

sudo ln -sf /opt/cmake xxxx<version>/bin/* /usr/bin/

VScode配置

  与第二章相同,安装CMake和CMakeTools插件,然后打开CMAkeTools插件进行配置
  设置环境变量PICO_SDK_PATH为pico-sdk的下载路径,我这里是
在这里插入图片描述
在这里插入图片描述
Generator部分缺省空着就行,这是因为默认是Unix Makefiles,可以输入

cmake -help

进行验证
在这里插入图片描述
带星号的就是cmake的默认选项.


configure&build

  配置完毕后,与第二章一样,选择编译器为arm-none-eabi然后进行configure,并build
在这里插入图片描述
  圆满完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值