下载固件到pico
Posted 勾小芬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下载固件到pico相关的知识,希望对你有一定的参考价值。
开发树莓派Pico
Pico作为微控制器,上面没有操作系统,所以不能直接进行代码编写和调试,只能连接PC机,写好代码后传输到Pico运行。
连接Pico:官方推荐树莓派系统的树莓派。注意连接时要用手按着白色的BOOTSEL键,连接好后再松手。
使用C/C++ SDK
思路:利用软件将C程序转化为可被Pico识别的.uf2文件,烧录到Pico中,由Pico运行。
Pico开发的配置工作:
一、下载用于开发Pico的SDK和示例程序:
$ sudo apt install git
$ cd ~/
$ mkdir pico
$ 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
完成后在/home/pi/pico下看到pico-examples和pico-sdk两个目录。
二、安装开发工具CMake:
$ sudo apt update
$ sudo apt install cmake gcc-arm-none-eabi build-essential
至此,针对Pico开发的配置工作基本完成。然后重启树莓派。
也可以执行克隆命令获取脚本,运行脚本完成配置工作。
$ git clone https://github.com/raspberrypi/pico-setup.git
$ pico-setup/pico_setup.sh
$ sudo reboot.
现在在/home/pi/pico目录下新建目录myProject
$ cd /home/pi/pico
$ mkdir myProject
$ cd myProject
在~/myProject目录下,准备三个文件:
文件1:用C写的控制Pico上LED灯闪烁的blink.c程序,LED灯连接的是25号引脚
#inlude "pico/stdlib.h"
int main()
const uint LED_PIN = 25;
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
while (true)
gpio_put(LED_PIN);
sleep_ms(200);
gpio_put(LED_PIN, 0);
sleep_ms(200);
return 0;
文件2:cMakeLists.txt文件
cmake_minimum_required(VERSION 3.12)
include(pico_sdk_import.cmake)
project(test_project)
pico_sdk_init()
add_executable(myProject)
blink.c
)
pico_add_extra_outputs(myProject)
target_link_libraries(myProject pico_stdlib)
文件3:从~/pico-sdk/external目录复制pico_sdk_import.cmake文件:
$ cp ../pico-sdk/external/pico_sdk_import.cmake .
准备好三个文件后,在~/myProject目录下新建并进入目录build执行:
$ mkdir build
$ cd build
$ export PICO_SDK_PATH=../../pico-sdk
$ cmake ..
$ make
make 命令即为编译,它将在~/myProject/build目录下生成.uf2文件和其他文件。
现在用Micro USB转USB数据线将Pico和树莓派4B连接。按住Pico的开关按钮,随后松开。此时,Pico会被树莓派4B识别为USB Mass Storage Device。将~/myProject/build目录下的myProject.uf2文件拖入Pico,即可完成烧录,Pico上的LED灯便开始闪烁了。
使用Python SDK开发
思路:将Micropython拖拽到Pico中,然后将计算机上的python代码传给Pico运行。
下载pico_micropython_20210121.uf2文件。拷贝完成后,Pico自动重启。此时,USB Mass Storage Device消失,Pico被识别为串口设备。
打印树莓派所有串口:
$ ls /dev/tty*
列表中以/dev/ttyACM开头的即为Pico
安装minicom,利用它力控制串口:
$ sudo apt install minicom
$ minicom -O -D /dev/ttyACM0
此时minicom的命令窗口弹出,我们可以在此输入python代码,实时控制Pico。同样还是一个blink程序。
安装Thonny Python IDE:
$ sudo apt install thonny
启动Thonny Python IDE,选择Tools>Manage plug-ins,选择Install from local file,选中所下载的Pico插件(.whl文件),完成后重启软件。
重启后,选择Run>Select Interpreter,在下拉菜单中选择MicroPython(Raspberry Pi Pico),点击OK。现在Thonny Python IDE便与Pico连接了。
树莓派新成员:Raspberry Pi Pico 初探 - 少数派 https://sspai.com/post/64602
对/dev/ttyACM0文件没有权限,解决方法:
$ sudo chmod 666 /dev/ttyACM0
或修改配置文件(推荐):
以上是关于下载固件到pico的主要内容,如果未能解决你的问题,请参考以下文章
CircuitPythonRaspberryPi Pico RP2040 自定义机械键盘实例
基于ESP32学习MicroPython: 安装MicroPython固件
Raspberry pi pico|为Raspberry Pi Pico添加重置按钮(pico烧录程序不再插拔数据线!)