树莓派4B C/C++ SDK一步步编译Pico-Arduino中文社区 - Powered by Discuz! Archiver

topdog 发表于 2021-2-5 23:55

树莓派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]
查看完整版本: 树莓派4B C/C++ SDK一步步编译Pico