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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4393|回复: 0

树莓派4B C/C++ SDK一步步编译Pico

[复制链接]
发表于 2021-2-5 23:55 | 显示全部楼层 |阅读模式
本帖最后由 topdog 于 2021-2-10 21:21 编辑

自从Apple开发使用M1以后,树莓派也自主设计聘请台积电生产了双核心的Arm Cortex M0+,RP2040微控制器芯片 ,命名为Pico,仅售4美元。
Pico-R3-Pinout.png

官方给出的是在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
c  环境配置.PNG


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 ..
cmake...PNG


5,编译:

cd blink
make -j8
make -j8.png


6,按住Pico板子上的bootsel白色按钮,用usb延长线把Pico连接到树莓派的usb接口上。树莓派的桌面上会出现RPI-RP2的图标,然后点击文件管理器按此路径到/home/pi/pico-examples/blink/blink,拖曳blink.uf2至RPI-RP2图标上方,这样就完成了烧录,此时板载gpio25 LED闪烁。
拖入.png


7,“吃别人嚼过的馍没味”,修改程序为外接gpio14一个LED和板载gpio25 LED交替闪烁。

cd ..
nano blink.c
[pre]#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);
    }
}[/pre]

8,编译一下:

cd blink
make

9,重复第6步骤。


10,完成后的效果。
Raspberry-Pi-Pico-LED-Blink2.gif








您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 01:04 , Processed in 0.107855 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表