秋·风

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
前几天刚完成freepascal arm嵌入式交叉编译,为验证交叉编译的工具链及交叉编译是否正常,在tb买了第1代的pico进行测试,用pico LED闪灯作为直观确定交叉编译是否有效的手段。
开发pico用到的sdk在https://github.com/michael-ring/pico-fpcexamples的units目录。
注意:
freepascal pico编译器似乎不适合pico 2 W,编译出来的uf2文件拷贝到pico后不会重启,后来重新购买第一代的pico就可以正常工作,有pico 2 W或pico 2的可以测试一下。
2025-07-17 确认free pascal不支持RP2350的Raspberry pico 2这板子。

RP 2040 芯片采用 40 nm 制程工艺,7×7 mm QFN-56 封装。它的具体规格参数如下 :

    • 搭载双核 ARM Cortex M0+ 处理器,运行频率 133 MHz
    • 内置 264 KB 的片上 RAM
    • 可通过专用 QSPI 总线支持最高 16 MB 的片外闪存
    • DMA 控制器
    • 外挂内插器和整数除法器
    • 30 个 GPIO 引脚,其中 4 个可用于模拟信号输入
    • 2 个 SPI、2 个 I2C、2 个 UART
    • 16 个 PWM 通道
    • 主机和设备支持的 USB 1.1
    • 8 个树莓派可编程 I/O 状态机
    • 支持 UF2 的 USB 大容量存储启动模式,用于拖放式编程
Cortex-M0+基于 ARMv6-M 架构

Raspberry Pi Pico 开发板

以下展示 Raspberry Pi Pico 开发板的参数和配置 。

  • 搭载RP 2040 芯片。
  • 采用双核 ARM Cortex M0+ 处理器,运行频率 133 MHz。
  • 搭载 264 KB 的片上 RAM,板载 2 MB 闪存。
  • 主机和设备支持的 USB1.1。
  • 支持低功耗的睡眠和休眠模式。
  • 采用拖放式编程。
  • 拥有 26 个 GPIO 引脚,其中 3 个可用于模拟信号输入(即 3 路 12 位 ADC)。
  • 拥有 2 个 SPI、2 个 I2C、2 个 UART、16 路 PWM。
  • 片上时钟、计时器;片上浮点库;搭载温度传感器。
  • 可通过 Micro USB 供电,也支持 1.8-5.5 V 直流电源供电。因此我们用串联的干电池或者锂电池即可驱动 Pico,这使得 Pico 的应用更加灵活。
  • 配备 1 个 LED 灯和一个开关按钮。该按钮用于向 Pico 烧录程序时控制 Pico 进入 USB 大容量存储模式,也可用于通用的输入。
  • 40 个引脚均为 “焊孔 + 齿状边缘” 的形态,由用户灵活选择安装方式,便于与其他开发板焊接。
1、用QFLazarus创建arm-embedded交叉编译环境:

2、在lazarus建一个控制台应用:

program project1;

{$mode objfpc}{$H+}
{$MEMORY 10000,10000}

uses
  pico_gpio_c,
  pico_timer_c;

begin
  gpio_init(TPicoPin.LED);
  gpio_set_dir(TPicoPin.LED,TGPIODirection.GPIO_OUT);
  repeat
    gpio_put(TPicoPin.LED,true);
    busy_wait_us_32(500000);
    gpio_put(TPicoPin.LED,false);
    busy_wait_us_32(500000);
  until 1=0;
end.
                   

3、在project选项:
1)、路径-->其他单元文件-->填units

2 )、配置和目标按以下添加:

3)、在自定义选项添加以下4项,其中-Xu--指定生成uf2格式文件

-Wpfeather_rp2040
-godwarfsets
-godwarfcpp
-Xu

 4、编译应用:

编译成功后在目录有以下几下文件:
其中*.uf2是pico的执行文件。

5、将执行文件拷贝到pico
Pico 采用颇为便捷的拖放式编程:将 Pico 通过 USB 与计算机连接,Pico 会被计算机识别为大容量存储设备,向其中拖放编程文件即可完成程序烧录。
pico的usb线先不要插入电脑USB口,按住BootSet,将usb线插入电脑后松开,这时电脑会出现“PRI-RP2”的盘:

将刚才编译成功的project1.uf2拷贝到这个E盘,拷贝后很快就会看到pico板的LED在闪,说明编译的程序已能正常运行。

 

posted on 2025-07-16 08:18  秋·风  阅读(123)  评论(1)    收藏  举报