【得捷Follow me第4期】W5500-EVB-Pico platform io方式开发环境踩坑记录
[复制链接]
PlatformIO 是一个用于物联网开发的开源生态系统。它提供跨平台的开发环境和统一的调试器,还支持远程单元测试和固件更新...
PlatformIO 简介
PlatformIO 是独立于平台运行的,实际上它只依赖于 python,然而 python 在 macOS、linux 和 windows 都能完美适配. 也就是说 PlatformIO 的工程从一个电脑很容易迁移到另一个电脑,只需要拷贝再使用 PlatformIO 就能完美打开。
目前官方推荐的 IDE 使用方案就是 VSCode + PlatformIO IDE 插件
1、 准备:
(1)安装VSCode
(2)VSCode安装插件PlatformIO
(3)连接pico至pc
2、 通过project wizard创建项目
(1)打开PlatformIO插件home页
在project wizar中 board选择Raspberry Pi Pico,framework仅支持arduino,name中输入项目名称。第一次使用pico,单击finish按钮后,等待下载安装pico固件包和工具链。
(2)编辑代码
待工程创建成功后,打开main.cpp 编辑代码
因为增加了智能代码提示,编辑代码的时候,要舒服很多。
#include <Arduino.h>
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
}
void loop() {
Serial.println("helloworld,PICO");
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000);
}
(3)build工程
单击页面最下方的build按钮,编译工程,代码比较简单,没有意外的话,就通过了。
(4)下载
下载有两种方式,
a. 以bootsel方式启动pico,将build后生成的uf文件手动拖放到u盘中。
这种方式,需要手动操作,稍微麻烦一些。
b. 在vscode中单击“upload”一键下载
但是不出意外的话,意外就发生了。
upload默认使用picotool方式,单击upload后,会强制pico重启到bootsel模式,但是bootsel模式下pico默认在pc中是usbstorage模式,自动下载无法下载进去。
这时候就需要使用zadiag工具修改这个时候的usb设备驱动 修改为WinUSB驱动。
因为pico两种启动模式下,分别是两类USB设备。这里总结一下:
在vscode platform io平台下,
bootsel模式下,在设备列表中共有两个设备RP2 Boot (Interface 0) 和RP2 Boot (Interface 1),需要将两个设备依次修改为如下的驱动(原驱动为USBSTOR(V10.0.))
正常启动模式下,为RaspberryPi Pico (Interface 0),使用USB Serial(CDC)驱动,驱动安装后,再次查看显示usbser (v1.0.0.0),也就是下图中①和②处驱动是一致的。
驱动修改之后,就可以一键自动下载了。
3. 总结
目前platform io官方仅支持两款开发板,还未支持W5500-EVB-Pico,这个是比较遗憾的。要想使用W5500网络协议栈实现网络部分:
两个思路,1)将arduino中的库作为第三方自定义库,复制到platform io项目文件夹中;
2)自定义开发板并将arduino pico固件移植到platform io中。
有时间了再战,未完待续......
|