树莓派4B C/C++ SDK一步步编译Pico
本帖最后由 topdog 于 2021-2-10 21:21 编辑自从Apple开发使用M1以后,树莓派也自主设计聘请台积电生产了双核心的Arm Cortex M0+,RP2040微控制器芯片 ,命名为Pico,仅售4美元。
官方给出的是在boot mode模式下把blink.uf2复制到Pico上使板载gpio25 LED闪烁的方法,但是这种二进制是预先构建的。我尝试在树莓派4B上使用“C/C++ SDK”,它基本上是所有的C语言,除了一些用c++编写的工具,可以真正做到修改代码,并构建我们自己的二进制来闪烁内部和外部的LED。
树莓派4B用U盘烧录Raspberry Pi OS with desktop ,发布日期:2021年1月11日。插入树莓派usb接口,打开电源。
1,安装环境和工具:
sudo apt update&& sudo apt full-upgrade -y
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
2,下载C/C++ SDK:
sudo su
git clone https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
3,下载pico-examples:
cd ..
git clone -b master https://github.com/raspberrypi/pico-examples.git
4,配置环境:
cd pico-examples/blink
export PICO_SDK_PATH=/home/pi/pico-sdk
cmake ..
5,编译:
cd blink
make -j8
6,按住Pico板子上的bootsel白色按钮,用usb延长线把Pico连接到树莓派的usb接口上。树莓派的桌面上会出现RPI-RP2的图标,然后点击文件管理器按此路径到/home/pi/pico-examples/blink/blink,拖曳blink.uf2至RPI-RP2图标上方,这样就完成了烧录,此时板载gpio25 LED闪烁。
7,“吃别人嚼过的馍没味”,修改程序为外接gpio14一个LED和板载gpio25 LED交替闪烁。
cd ..
nano blink.c
#include "pico/stdlib.h"
int main() {
const uint LED_PIN = 25; /* onboard LED */
const uint LED2_PIN = 14; /* external LED */
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
gpio_init(LED2_PIN);
gpio_set_dir(LED2_PIN, GPIO_OUT);
while (true) {
gpio_put(LED_PIN, 1);
gpio_put(LED2_PIN, 0);
sleep_ms(1000);
gpio_put(LED_PIN, 0);
gpio_put(LED2_PIN, 1);
sleep_ms(1000);
}
}
8,编译一下:
cd blink
make
9,重复第6步骤。
10,完成后的效果。
页:
[1]