找回密码
 注册SCIFIFANS!
首页 科技专区 嵌入式开发 创建自己的树莓派Pico-C/C++项目

创建自己的树莓派Pico-C/C++项目

6
回复
4681
查看
[ 复制链接 ]

该用户从未签到

10

主题

51

回帖

404

积分

Judgement

积分
404
<

用邮箱/用户名来登录sci-fifans!

您需要 登录 才可以下载或查看,没有账号?注册SCIFIFANS!

x
本帖最后由 skyone 于 2021-4-11 11:54 编辑

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. <blockquote>git clone git@github.com:raspberrypi/pico-sdk.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. <blockquote>$env:PICO_SDK_PATH=你克隆的pico-sdk目录
复制代码
方法二:设置永久环境变量

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

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



重新打开cmd或powershell

再次运行


  1. python ./pico_project.py --gui
复制代码

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




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

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

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

重点来了!

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

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

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

  1. <blockquote>def __init__(self, args, bufsize=-1, executable=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不需要再配置项目,直接打开文件夹就可以开发了












使用道具 举报

该用户从未签到

10

主题

51

回帖

404

积分

Judgement

积分
404
令人无力吐槽的
  1. 代码块
复制代码

使用道具 举报

  • TA的每日心情

    2024-12-20 08:42
  • 签到天数: 1 天

    [LV.1]初来乍到

    69

    主题

    82

    回帖

    1093

    积分

    造物主

    站长

    积分
    1093
    QQ
    芜湖!考虑一起来干点大事嘛!
    世间漫随流水,算来一梦浮生

    使用道具 举报

    该用户从未签到

    10

    主题

    51

    回帖

    404

    积分

    Judgement

    积分
    404
    Alnitak主管 发表于 2021-4-11 21:01
    芜湖!考虑一起来干点大事嘛!

    比如说啥事呢?

    使用道具 举报

  • TA的每日心情

    2024-12-20 08:42
  • 签到天数: 1 天

    [LV.1]初来乍到

    69

    主题

    82

    回帖

    1093

    积分

    造物主

    站长

    积分
    1093
    QQ
    skyone 发表于 2021-4-11 23:35
    比如说啥事呢?

    加入我和阿方的极客团队
    世间漫随流水,算来一梦浮生

    使用道具 举报

    该用户从未签到

    10

    主题

    51

    回帖

    404

    积分

    Judgement

    积分
    404
    Alnitak主管 发表于 2021-4-13 20:53
    加入我和阿方的极客团队

    需要帮忙随时找我就可以啦,但加入团队的话,愿意肯定是愿意的,但大一下实在太忙了,高数、现代、大物、理论力学差点把我整自闭{:9_504:},课余时间没有多少,肯定没办法进行很多合作,如果这样也没问题的话,加入倒是可以呀{:9_563:}。
    另外,关于我能帮上什么忙,我最近在弄一些API之类的,基于Python或JS,比如GiteaWeb钩子实现和并请求邮件提醒、基于MySQL和阿里云函数计算的简单评论系统(鸽了一个多月了),有类似这方面问题我都可以试试,但页面设计真的不擅长,CSS会一些,但应用得一团糟{:9_531:},总之,我是个啥都会一点但也啥都不会的“万金油”

    使用道具 举报

    该用户从未签到

    10

    主题

    87

    回帖

    416

    积分

    版主

    积分
    416
    QQ
    skyone 发表于 2021-4-14 13:01
    需要帮忙随时找我就可以啦,但加入团队的话,愿意肯定是愿意的,但大一下实在太忙了,高数、现代、大物、 ...

    捉虫:线代而不是现代(doge)

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册SCIFIFANS!

    本版积分规则