创建自己的树莓派Pico C语言项目
2023/03更新:树莓派官方更新了很多,现在创建项目很简单了,写个CMake就行了
继Win10下配置树莓派Pico的MicroPython与C环境后的又一篇介绍树莓派Pico的文章
刚配置完环境就发现网上的教程全是教你使用树莓派官方的示例项目,然而几乎没有关于创建自己项目的教程,既然如此,我自己研究一下吧
经过不懈的努力实际上是忘了弄。。,终于完成了树莓派Pico的C/C++项目的创建,树莓派Pico C/C++项目的创建相对于micropython或Arduino来说是非常难的,尤其是在Windows环境下还有几个令人绝望的坑。废话不多说,开始这篇文章。
写在前面
这篇文章仅适用于Windows系统,要求
- 安装了Python3且已经加入环境变量
- 安装并配置完成了Git
- 安装了CMake并加入了环境变量
- 安装了graphviz并加入了环境变量(重点)
- 安装了mingw64并加入了环境变量
- 安装了gcc-arm-none-eabi
- VSCode或者CLion(推荐后者)
clone树莓派官方仓库
需要clone两个仓库,都在GitHub上
CMD切换到一个你觉得合适的文件夹,记住文件夹目录,输入命令
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目录,尝试运行:
python ./pico_project.py --gui
当然,运行失败。。。
显示未配置 PICO_SDK_PATH
,好,这个好解决,一下两种方法任选其一
- 方法一:设置临时环境变量
这种方法关闭powershell后环境变量就失效了
使用powershell打开pico-project-generator目录运行:
$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
再次运行
python ./pico_project.py --gui
OK,不论你用哪种方法,现在应该看到如下界面:
嗯,也不是很难嘛,不过你以为这就完了?大坑还在后面!
随意填一下这下表单,因为你不可能创建成功。。。
点击OK,弹出一个窗口,然而,什么都没出现。一看命令行,不对劲,出现了一堆错误,最后显示找不到文件。
重点来了!
如果你不是刚刚安装 graphviz 的,请卸载重装
然后,打开 Python安装目录/Lib/subprocess.py
将 Popen
类的构造函数的参数的 shell=False
改为 shell=True
,如下:
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,这下终于完成了
python ./pico_project.py --gui
关于下图怎么配置,不在本篇文章的介绍范围内实际上是有些我也不懂。。
配置好选项后,依旧点击OK,这次没有报错了,虽然我操作时弹出的窗口里面还是乱码,但项目已经创建成功了
开始开发吧
快使用VSCode或CLion开始开发你的树莓派Pico C/C++项目吧~~~
开发环境没配置好的请看Win10下配置树莓派Pico的MicroPython与C环境
特别注意!配载永久环境变量后CLion不需要再配置项目,直接打开文件夹就可以开发了