下载固件到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的主要内容,如果未能解决你的问题,请参考以下文章

下载固件到pico

pico goblin怎么连接电脑

CircuitPythonRaspberryPi Pico RP2040 自定义机械键盘实例

基于ESP32学习MicroPython: 安装MicroPython固件

Raspberry pi pico|为Raspberry Pi Pico添加重置按钮(pico烧录程序不再插拔数据线!)

少数 iOS 设备上的状态栏显示为白色