树莓派 Pico 开箱上手初体验,Hello world 双核 MCU. - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jsxiaobai
V2EX    Raspberry Pi

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

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

    树莓派 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     Solana     2405 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 01:21 PVG 09:21 LAX 18:21 JFK 21:21
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86