树莓派Pico快速上手

TLDR:

  • 没什么特色,和普通单片机一看,还不如ESP32S2.
  • 目前开发资源还很有限,而且操作起来也比较麻烦.
  • 可以使用OpenOCD进行调试,也就是说,可以用标准JTAG工具魔改驱动后调试,比如老朋友Zadig.
  • 支持VSC和Eclipse,CLion,推荐树莓派下开发,也支持其他平台下开发.
  • 开发语言:C/Python/ASM 支持平台:树莓派(推荐)/Windows/Ubuntu/Mac(难以配置)

Pico的基本硬件资源:

  • 2个SPI,2个I2C,2个UART,3个12位ADC,16个PWM,与传统单片机一样需要Remap/Alt.
  • 片上温度传感器/浮点加速/PIO状态机/内置震荡/双核133 MHz
  • 邮票孔模块/可能后续还会提供单独芯片出售(我自己的猜测)
  • 可以用1个Pico调试另一个Pico,估计和CMSIS-DAP差不多原理.
  • 官方支持MicroPython/C开发

一开始肯定是要先部署环境,推荐要在树莓派系统中才能配置.(其实Ubuntu x64,Windows也可以,不过需要自己解决一些问题,或者后续我再写下.)

git clone https://github.com/raspberrypi/pico-setup.git
pico-setup/pico_setup.sh
安装环境需要漫长的等待…

然后还要根据喜好,安装C或者Python的SDK.

git clone -b master https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
cd ..
git clone -b master https://github.com/raspberrypi/pico-examples.git

代码目录:

正在编译整个example工程,这里显示的是blink程序的源码.

编译成功后就得到UF2,拖到那个设备模拟出来的U盘里面,就可以更新固件了,如果本身有固件,还要按着BOOT按键才能进入下载固件的状态.

为了降低开发门槛,还搞了一个GUI配置生成工程代码的工具,毕竟还要写CMake什么,很多人头疼不已.(其实我也头疼,因为我懒.)

git clone https://github.com/raspberrypi/pico-project-generator.git
cd pico-project-generator
 ./pico_project.py --gui

大概是这样的.

GUI配置工具

能很方便生成VSC工程,连中断函数都给出来了,然而没直接选中编译工具和调试配置,可能是初期的BUG吧.

代码生成效果

现在尝试MicroPython方式开发.

git clone -b pico --recurse-submodules https://github.com/raspberrypi/micropython.git
cd micropython
make -C mpy-cross
cd ports/rp2
make

经过一轮骚操作,就能得到firmware.uf2/firmware.elf,当然是把firmware.uf2丢到显示的U盘里面.

得到UF2文件.

MicroPython应该不用教程了吧,很熟悉的配方了.

还有一个rp2模块,可以嵌入汇编代码,大家还是看官方参考:https://github.com/raspberrypi/pico-micropython-examples/tree/master/pio/pio_1hz.py#L1-L33 (😀,有多少人会写汇编?)

其他模块的,暂时就不扯了,不然扯太远了,比如内置的ssd1306库?都可以在官方repo里找到文档和example,不过,值得注意的是,目前MicroPython不能支持保存代码,所以,掉电就太监了~

《树莓派Pico快速上手》有1个想法

  1. micropython上电会自动运行main.py,没有的话就啥都不做。用Thonny全自动烧固件+IDE还是蛮好用的,或者用circuitpython直接映射成文件夹。
    pico最大的好处是PIO模块和双核CPU了,其它感觉打不过同价位stm32,但也够用了。就是C sdk开发环境在windows下太难架构了,坐等platformio支持

发表评论

邮箱地址不会被公开。 必填项已用*标注