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
代码目录:
编译成功后就得到UF2,拖到那个设备模拟出来的U盘里面,就可以更新固件了,如果本身有固件,还要按着BOOT按键才能进入下载固件的状态.
为了降低开发门槛,还搞了一个GUI配置生成工程代码的工具,毕竟还要写CMake什么,很多人头疼不已.(其实我也头疼,因为我懒.)
git clone https://github.com/raspberrypi/pico-project-generator.git
cd pico-project-generator
./pico_project.py --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盘里面.
MicroPython应该不用教程了吧,很熟悉的配方了.
还有一个rp2模块,可以嵌入汇编代码,大家还是看官方参考:https://github.com/raspberrypi/pico-micropython-examples/tree/master/pio/pio_1hz.py#L1-L33 (😀,有多少人会写汇编?)
其他模块的,暂时就不扯了,不然扯太远了,比如内置的ssd1306库?都可以在官方repo里找到文档和example,不过,值得注意的是,目前MicroPython不能支持保存代码,所以,掉电就太监了~
micropython上电会自动运行main.py,没有的话就啥都不做。用Thonny全自动烧固件+IDE还是蛮好用的,或者用circuitpython直接映射成文件夹。
pico最大的好处是PIO模块和双核CPU了,其它感觉打不过同价位stm32,但也够用了。就是C sdk开发环境在windows下太难架构了,坐等platformio支持
请问下micropython编译pico还需配置什么环境吗?我可以正常编译stm32系列,但是pico编译一直报错。
@ethan 一般来说你得先知道错误在哪,才能继续分析.