建网站软件 优帮云外贸企业网站优化
2026/1/19 6:54:51 网站建设 项目流程
建网站软件 优帮云,外贸企业网站优化,cd-wordpress,去除wordpress主题底部信息一、前言树莓派pico/pico2是树莓派推出的基于自家MCU#xff08;RP2040、RP2350#xff09;的核心板。现已有很多基于RP2040和RP2350芯片的各类核心板和开发板#xff0c;也有用户自己制作的板子。如果用户使用的板子#xff0c;其引脚定义、Flash配置和树莓派pico/pico2相…一、前言树莓派pico/pico2是树莓派推出的基于自家MCURP2040、RP2350的核心板。现已有很多基于RP2040和RP2350芯片的各类核心板和开发板也有用户自己制作的板子。如果用户使用的板子其引脚定义、Flash配置和树莓派pico/pico2相差比较大该如何处理二、pico-sdk的板子定义pico-sdk是树莓派MCU软件开发的基础所有树莓派MCU软件都是在这个sdk基础上开发的。pico-sdk对于不同的板子处理方式是使用pico-sdk\src\boards\include\boards下的对应板子的头文件来进行软件配置如根据板子头文件内stdio串口引脚号初始化串口、根据头文件定义的Flash容量配置link文件中MEMORY的FLASH字段。在pico-sdk\src\boards\include\boards目录下已包含很多核心板和开发板的定义。哇2.2.0版sdk已经有131个板子定义了。如果这里现有的板子定义还是与您的板子不同您可以加个自己的头文件自定义一个板子。三、pico-sdk的板子定义怎么用下面是使用vscode插件raspberry-pi-pico建立新的C工程截图。好吧非树莓派pico/pico2的板子板子类型都被归到了“Other”。建工程时板子和树莓派pico/pico2不兼容时就选这个“Other”吧。建立工程后在vscode界面右下角有个Board设置。在这个位置上点一下就可以设置pico-sdk\src\boards\include\boards目录下的各种板子。上图的pico_plus_rp2350是我自己定义的板子。四、怎么写自定义板子头文件Step1: 拷贝并重命名一个相近的板子头文件。我的pico_plus_rp2350板子是在pico2板子上增加了个PSRAM芯片所以直接复制个pico2头文件。Step2修改我的pico_plus_rp2350板子在pico2基础上修改很少除了定义新的板名宏就是增加了PSRAM片选引脚定义。下面是我的pico_plus_rp2350.h文件。/* * Copyright (c) 2020 Raspberry Pi (Trading) Ltd. * * SPDX-License-Identifier: BSD-3-Clause */ // ----------------------------------------------------- // NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO // SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES // ----------------------------------------------------- // This header may be included by other board headers as // boards/pico_plus_rp2350.h #ifndef _BOARDS_PICO_PLUS_RP2350_H #define _BOARDS_PICO_PLUS_RP2350_H pico_board_cmake_set(PICO_PLATFORM, rp2350) // For board detection #define PICO_PLUS_RP2350 // --- RP2350 VARIANT --- #define PICO_RP2350A 1 // --- BOARD SPECIFIC --- #define PICO_PLUS_PSRAM_CS_PIN 19 // --- UART --- #ifndef PICO_DEFAULT_UART #define PICO_DEFAULT_UART 0 #endif #ifndef PICO_DEFAULT_UART_TX_PIN #define PICO_DEFAULT_UART_TX_PIN 0 #endif #ifndef PICO_DEFAULT_UART_RX_PIN #define PICO_DEFAULT_UART_RX_PIN 1 #endif // --- LED --- #ifndef PICO_DEFAULT_LED_PIN #define PICO_DEFAULT_LED_PIN 25 #endif // no PICO_DEFAULT_WS2812_PIN // --- I2C --- #ifndef PICO_DEFAULT_I2C #define PICO_DEFAULT_I2C 0 #endif #ifndef PICO_DEFAULT_I2C_SDA_PIN #define PICO_DEFAULT_I2C_SDA_PIN 4 #endif #ifndef PICO_DEFAULT_I2C_SCL_PIN #define PICO_DEFAULT_I2C_SCL_PIN 5 #endif // --- SPI --- #ifndef PICO_DEFAULT_SPI #define PICO_DEFAULT_SPI 0 #endif #ifndef PICO_DEFAULT_SPI_SCK_PIN #define PICO_DEFAULT_SPI_SCK_PIN 18 #endif #ifndef PICO_DEFAULT_SPI_TX_PIN #define PICO_DEFAULT_SPI_TX_PIN 19 #endif #ifndef PICO_DEFAULT_SPI_RX_PIN #define PICO_DEFAULT_SPI_RX_PIN 16 #endif #ifndef PICO_DEFAULT_SPI_CSN_PIN #define PICO_DEFAULT_SPI_CSN_PIN 17 #endif // --- FLASH --- #define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1 #ifndef PICO_FLASH_SPI_CLKDIV #define PICO_FLASH_SPI_CLKDIV 2 #endif pico_board_cmake_set_default(PICO_FLASH_SIZE_BYTES, (4 * 1024 * 1024)) #ifndef PICO_FLASH_SIZE_BYTES #define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024) #endif // Drive high to force power supply into PWM mode (lower ripple on 3V3 at light // loads) #define PICO_SMPS_MODE_PIN 23 // The GPIO Pin used to read VBUS to determine if the device is battery powered. #ifndef PICO_VBUS_PIN #define PICO_VBUS_PIN 24 #endif // The GPIO Pin used to monitor VSYS. Typically you would use this with ADC. // There is an example in adc/read_vsys in pico-examples. #ifndef PICO_VSYS_PIN #define PICO_VSYS_PIN 29 #endif pico_board_cmake_set_default(PICO_RP2350_A2_SUPPORTED, 1) #ifndef PICO_RP2350_A2_SUPPORTED #define PICO_RP2350_A2_SUPPORTED 1 #endif #endif修改自定义板子头文件时除了板名宏外还有下面的宏定义是要关注的个人以为。宏功能常见值PICO_RP2350ARP2350芯片版本1RP2350A0RP2350BPICO_DEFAULT_UARTstdio串口号0PICO_DEFAULT_UART_TX_PINstdio串口tx引脚pin值0PICO_DEFAULT_UART_RX_PINstdio串口rx引脚pin值1PICO_BOOT_STAGE2_CHOOSE_W25Q080MCU的FLASH使用W25Q080兼容SPI Flash如果是其它QSPI Flash如Atmel AT25SF128A得换个宏PICO_FLASH_SPI_CLKDIVSPI Flash的SPI clock在系统时钟上的分频。SPI Flash的工作频率小于系统时钟需按实际情况分频2PICO_FLASH_SIZE_BYTESflash大小安照Flash芯片修改4另外头文件中的3个pico_board_cmake_set_default的cmake宏值要与代码宏定义一致哦。至此在pico-sdk自定义的板子就完成了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询