创建自己的树莓派Pico-C语言项目

创建自己的树莓派Pico-C语言项目

四月 10, 2021

Win10下配置树莓派Pico的MicroPython与C环境后的又一篇介绍树莓派Pico的文章

刚配置完环境就发现网上的教程全是教你使用树莓派官方的示例项目,然而几乎没有关于创建自己项目的教程,既然如此,我来吧

经过不懈的努力实际上是忘了弄。。,终于完成了树莓派Pico的C/C++项目的创建,对,你没听错,树莓派Pico C/C++项目的创建相对于minpython或Arduino来说是非常难的,尤其是在Windows环境下还有几个令人绝望的坑。废话不多说,开始这篇文章。

写在前面

这篇文章仅适用于Windows系统,要求

  • 安装了Python3且已经加入环境变量
  • 安装并配置完成了Git
  • 安装了CMake并加入了环境变量
  • 安装了graphviz并加入了环境变量(重点)
  • 安装了mingw64并加入了环境变量
  • 安装了gcc-arm-none-eabi
  • VSCode或者CLion(推荐后者)

clone树莓派官方仓库

需要clone两个仓库,都在GitHub上

CMD切换到一个你觉得合适的文件夹,记住文件夹目录,输入命令

1
2
git clone git@github.com:raspberrypi/pico-sdk.git
git clone git@github.com:raspberrypi/pico-project-generator.git

由于众所周知的原因,最近GitHub非常不稳定,不过使用SSH克隆没多大问题

创建C/C++项目

树莓派Pico的官方SDK使用CMake作为构建系统,且项目配置特别复杂,官方非常贴心的提供了Python写的可以选择GUI界面的构建器,赞👍

首先打开命令行,进入刚刚Git克隆的pico-project-generator目录,尝试运行:

1
python ./pico_project.py --gui

当然,运行失败。。。

显示未配置PICO_SDK_PATH,好,这个好解决,一下两种方法任选其一

  • 方法一:设置临时环境变量

这种方法关闭powershell后环境变量就失效了

使用powershell打开pico-project-generator目录运行:

1
2
3
$env:PICO_SDK_PATH=你克隆的pico-sdk目录
$env:PICO_TOOLCHAIN_PATH=你安装的gcc-arm-none-eabi目录/bin
python ./pico_project.py --gui
  • 方法二:设置永久环境变量

很多人在更新win10 20H2后找不到环境变量在哪设置,我姑且再提一下

打开win10的设置–>系统–>关于–>高级系统设置–>环境变量,按如下方法配置

环境变量

重新打开cmd或powershell

再次运行

1
python ./pico_project.py --gui

OK,不论你用哪种方法,现在应该看到如下界面:

项目生成器

嗯,也不是很难嘛,不过你以为这就完了?大坑还在后面!

随意填一下这下表单,因为你不可能创建成功。。。

点击OK,弹出一个窗口,然而,什么都没出现。一看命令行,不对劲,出现了一堆错误,最后显示找不到文件。

重点来了!

如果你不是刚刚安装graphviz的,请卸载重装

然后,打开Python安装目录/Lib/subprocess.py

Popen类的构造函数的参数的shell=False改为shell=True,如下:

1
2
3
4
5
6
7
def __init__(self, args, bufsize=-1, executable=None,
stdin=None, stdout=None, stderr=None,
preexec_fn=None, close_fds=True,
shell=True, cwd=None, env=None, universal_newlines=None,
startupinfo=None, creationflags=0,
restore_signals=True, start_new_session=False,
pass_fds=(), *, encoding=None, errors=None, text=None):

介绍一下原因

该类在运行时需要调用echo命令,这在linux下当然没问题,因为linux下echo是一个可执行文件,而Windows下则是一个命令行内置的命令,由此导致找不到文件,我们通过更改源代码,让程序打开一个shell再运行echo就没问题了。

OK,这下终于完成了

1
python ./pico_project.py --gui

关于下图怎么配置,不在本篇文章的介绍范围内实际上是有些我也不懂。。

项目生成器

配置好选项后,依旧点击OK,这次没有报错了,虽然我操作时弹出的窗口里面还是乱码,但项目已经创建成功了

开始开发吧

快使用VSCode或CLion开始开发你的树莓派Pico C/C++项目吧~~~

开发环境没配置好的请看Win10下配置树莓派Pico的MicroPython与C环境

特别注意!配载永久环境变量后CLion不需要再配置项目,直接打开文件夹就可以开发了

例图