> 文档中心 > 树莓派pico可以学linux吗,树莓派Pico快速上手

树莓派pico可以学linux吗,树莓派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

树莓派pico可以学linux吗,树莓派Pico快速上手安装环境需要漫长的等待…

然后还要根据喜好,安装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

代码目录:

树莓派pico可以学linux吗,树莓派Pico快速上手正在编译整个example工程,这里显示的是blink程序的源码.

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

树莓派pico可以学linux吗,树莓派Pico快速上手

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

git clone https://github.com/raspberrypi/pico-project-generator.git

cd pico-project-generator

./pico_project.py --gui

大概是这样的.

树莓派pico可以学linux吗,树莓派Pico快速上手GUI配置工具

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

树莓派pico可以学linux吗,树莓派Pico快速上手代码生成效果

现在尝试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盘里面.

树莓派pico可以学linux吗,树莓派Pico快速上手得到UF2文件.

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

树莓派pico可以学linux吗,树莓派Pico快速上手

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

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