艾普顿自从发明卡片电脑并以水果来命名的单板计算机树莓派以来,就引起个人计算的热潮,由于艾普顿东家是博通,故历代树莓派都是博通系列CPU,为控制成本,树莓派开始自研芯片,在树莓派5上就有RP1-CO南桥芯片和RP2040、RP2350 Pico MCU控制芯片的出现,闲言休絮,本文基于最新的RP2350 Pico 2来进行C开发环境的搭建和进行验证。
一、环境搭建
按照教程《Getting started with Raspberry Pi Pico-series》Manually Condiv your Environment章节。在树莓派5上进行操作,本次会克隆两个仓库,包括GitHub - raspberrypi/pico-sdk和GitHub - raspberrypi/pico-examples。
Pico-SDK和Pcio-Examples放在同一级目录,然后安装编译工具cmake、gcc-arm-none-eabi 、picotool(可选),输入“sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential”安装工具,
二、编译
切到Pico-examples目录新建build文件夹,输入“export PICO_SDK_PATH=../../pico-sdk”设置SDK路径,然后就是在build目录下输入“cmake -DPICO_BOARD=pico2 ..”指定编译目标,此时在build目录下生成了例程对应目录,在当前切到blink例程,“make -j4”启动编译,可以看到在pico-examples/build/blink下生成了blink.bin/blink.hex/blink.uf2/blink.elf等调试、烧录固件,
三、烧录
有多种烧录方式,本文介绍USB线刷和jlink ISP两种。先用喜闻乐见的所见即所得的U盘式烧录,Windows和Raspberry OS上操作类似,需要先将RP2350进入到烧录模式,具体操作是不上电按住BOOTSEL按钮不放,再插入USB供电,此时再放,就能在Windows或者RaspberryOS上看到可移动U盘,
直接把blink.hex拖拽到Windows“RP2350”的U盘里即可完成烧录。Raspberry OS类似,
在VNC远程桌面会看到出现RP2350的盘符自动挂载在/media/user/RP2350下,输入“sudo mount /dev/sda1 /mnt/pico”和“sudo cp blink.uf2 /mnt/pico”、“sudo sync”就能看到代码运行起来了,
下面是第二种方法常见的jlink烧录,由于我手头是丝印着RP2350A0A2的芯片,新闻说SEGGER announces J-Link support for Raspberry Pi RP2350说支持RP2350,姑且下最新版jlink,

规格书说没有内置flash,可以烧到外置的4M XIP flash中,且是Cortex-M33双核+可选的RISC-V32双核,姑且选择第1个核心Cortex-M33_0,
建好工程后就把blink.hex拖进来就能烧录,可以看到执行起始地址是0x1000 0000,翻看手册得知最开始那段0x0000 0000被厂家bootrom使用,0x1000 0000是XIP, Cached,
接下来就是常规的jflash操作,最下方DEBUG是SWD下载口,也成功烧录进去。

全部评论