V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jsxiaobai
V2EX  ›  Raspberry Pi

树莓派 Pico 开箱上手初体验,Hello world 双核 MCU.

  •  1
     
  •   jsxiaobai · 2021-01-31 12:27:45 +08:00 · 2816 次点击
    这是一个创建于 1424 天前的主题,其中的信息可能已经有所发展或是发生改变。

    树莓派 Pico 上手初体验,Hello world 双核 MCU.

    树莓派 MCU 极简开发流程,MCU 能否承受住降维打击?

    开箱叨叨 B 站视频

    树莓派 Raspberry Pico 开发环境建立,运行 Hello world 程序点灯,体验代码基础和开发流程.

    树莓派 Pico 的开发环境非常通用,先来干货汇总:

    • gcc + CMake 全套开源编译
    • VS Code 和命令行同样好用
    • 芯片 ROM 内置类似 DAPLink 功能,USB 拖拽烧录
    • OpenOCD 可用

    树莓派上手初体验 Helloworld

    树莓派 Pico 开发环境建立

    树莓派 Pico 本身的开发环境是要使用树莓派 3B/4B 作为开发主机平台,在树莓派 3B/4B 上编译程序,通过树莓派的 USB/UART/SWD 等接口来 调试 Pico. 这样在日常使用起来并不方便.

    Gitee上做了一个用于 Ubuntu/Debian/WSL 的一键建立开发环境的脚本.

    Pico 开发环境一键安装脚本

    可以简单快捷的使用。

    ./pdusb_pico_setup.sh
    

    Pico 使用的开发工具也是常见的开源软件,但是其在自身需要的基础上做了一些 Patch 或者微调,前期可以先忽略.

    Pico 开发环境

    建议使用 VS Code 作为开发环境,需要安装几个插件:

    code --install-extension marus25.cortex-debug
    code --install-extension ms-vscode.cmake-tools
    code --install-extension ms-vscode.cpptools
    

    树莓派 Pico hello world 程序编译

    使用命令行或者 VS Code 界面都可以方便快捷的编译程序.以简单的点灯代码为例:

    PICO 样例代码

    命令行情况下,在 build 执行:

    cmake ../
    cd blink
    make
    

    生成的 blink.uf2 就可以通过拖拽的形式直接烧录到 Pico 里面运行。

    树莓派 Pico hello world 程序的烧录

    按下树莓派 PICO 上的按键并将树莓派通过 Micro USB 接入电脑

    PICO 连接到 PC

    Windows PC 上会出现两个 USB 设备,一个名为 RPI-RP2 的 U 盘和一个 RP2-Boot 的未识别设备.

    picoUSB 设备

    PICO 存储

    将编译生成的 blink.uf2 拷贝 /拖拽到 RPI-RP2 的 U 盘里面,就可以了。 文件放进去之后,PICO 会自动烧录并自动重启,这个过程非常快。 重启后,USB 设备消失,编译的点灯程序已经可以正常运行在设备里面。

    pico 点灯

    树莓派 Pico 开发流程总结

    树莓派 Pico 的开发环境非常通用,开发流程也非常简单,总结如下:

    • Micro USB 连接 PC 并按下按键
    • PC 编译目标程序
    • 将编译输出的.uf2 文件拷贝到 RPI-RP2 U 盘
    • 完成
    12 条回复    2021-04-13 09:19:25 +08:00
    loading
        1
    loading  
       2021-01-31 12:56:34 +08:00 via Android
    谢谢,解毒。
    ihipop
        2
    ihipop  
       2021-01-31 14:33:20 +08:00 via Android
    他怎么判断文件拷贝完毕才了开始烧录呢?
    BaiLinfeng
        3
    BaiLinfeng  
       2021-01-31 15:01:23 +08:00
    你这视频声音是怎么处理过的哦,使用的什么剪辑的
    jsxiaobai
        4
    jsxiaobai  
    OP
       2021-01-31 15:36:20 +08:00
    @BaiLinfeng B 站标配的 必剪
    jsxiaobai
        5
    jsxiaobai  
    OP
       2021-01-31 15:37:01 +08:00
    @ihipop 应该是 mass storage 这个里面有结束消息吧 这个倒没研究
    IgniteWhite
        6
    IgniteWhite  
       2021-02-01 02:14:33 +08:00
    超棒!谢谢楼主分享
    wanguorui123
        7
    wanguorui123  
       2021-02-01 08:16:10 +08:00 via iPhone
    希望树莓派出个 DIY 智能家居套件
    jsxiaobai
        8
    jsxiaobai  
    OP
       2021-02-02 09:11:14 +08:00
    @wanguorui123 想要啥功能的套件呢? 上语音或者?
    wanguorui123
        9
    wanguorui123  
       2021-02-02 09:24:49 +08:00
    @jsxiaobai DIY 各种传感器,比如:鱼缸传感器、乌龟温室传感器,接入 HA 搭建智能家居
    systemcall
        10
    systemcall  
       2021-02-04 14:31:23 +08:00
    不用初始化寄存器,也不用开时钟,算是比较方便的
    中断好写吗?可以多任务吗?
    jsxiaobai
        11
    jsxiaobai  
    OP
       2021-02-06 15:45:27 +08:00
    @systemcall 中断好写, 没有多任务,没有 OS,目前是单线程阻塞的.
    pythonee
        12
    pythonee  
       2021-04-13 09:19:25 +08:00
    最近想搞一个
    这算是 arduino 外的另一个玩具吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1145 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:32 · PVG 02:32 · LAX 10:32 · JFK 13:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.