Raspberry Pi RP2350 Pico SDK Примеры - ранний доступ
RP2350 Инструкции
Все ниже этого раздела, от Stock Pico-examples, поэтому игнорируйте URL и т. Д., Но, как правило, инструкции одинаковы.
По умолчанию PICO SDK продолжает создаваться для RP2040 (pico_platform = rp2040), поэтому для создания для RP2350 вам необходимо перенести -DPICO_PLATFORM=rp2350
к Cmake (или -DPICO_PLATFORM=rp2350-riscv
для RISC -V).
Большинство, но не все примеры, в настоящее время работают на RP2350, однако вы сможете сделать полную сборку с любой из вышеперечисленных платформ (pico_platform = host, однако в настоящее время не удается в некоторых примерах)
Для компиляции RISC-V вы должны взять компилятор отсюда: https://www.embecosm.com/resources/tool-chain-lloads/#riscv-stable
Оригинальные документы Pico-Examples
Начиная
Посмотрите на начало работы с Raspberry Pi Pico и Readme в Pico-SDK для получения информации о том, как встать и запуск.
Первые примеры
Приложение | Описание | Ссылка на предварительно построенный UF2 |
---|
hello_serial | Обязательная программа Hello World для PICO (вывод через серийную версию) | |
hello_usb | Обязательная программа Hello World для PICO (вывод над версией USB) | https://rptl.io/pico-hello-usb |
мигание | Мигает светодиод и выключен. Работает на обоих досках с обычными светодиодами и Pico W | https://rptl.io/pico-link |
Blink_simple | Мигает светодиод и выключен. Не работает на Pico W. | https://rptl.io/pico-link |
picow_blink | Моргает в бортовом светодиоде Pico W (который подключен через чип Wi-Fi). | http://rptl.io/pico-wlink |
Адвокат
Приложение | Описание |
---|
hello_adc | Отобразить напряжение с входа АЦП. |
Joystick_display | Отобразить вход джойстика X/Y на основе двух входов АЦП. |
adc_console | Интерактивная оболочка для игры с АЦП. Включает пример свободного режима захвата. |
onboard_temperature | Показать значение датчика встроенного температуры. |
microphone_adc | Прочитайте аналоговые значения из микрофона и постройте измеренную амплитуду звука. |
dma_capture | Используйте DMA, чтобы запечатлеть многие образцы из АЦП. |
read_vsys | Демонстрирует, как читать VSYS, чтобы получить напряжение питания. |
Загрузчики (только RP2350)
Приложение | Описание |
---|
enc_bootloader | Загрузчик, который расшифровывает двоичные файлы от Flash в SRAM. Смотрите отдельный Readme для получения дополнительной информации |
Часы
Приложение | Описание |
---|
hello_48mhz | Измените системную частоту тактовой частоты на 48 МГц во время работы. |
hello_gpout | Используйте данные об общем назначении часов (GPOUT), чтобы привести подразделения внутренних часов на выходы GPIO. |
Hello_Resus | Включите функцию реанимации часов, «случайно», остановите системные часы и покажите, как мы восстанавливаемся. |
Depached_clk_peri | Отсоедините периферические часы и изменяйте системные часы. |
Cmake
Приложение | Описание |
---|
BUILD_Variants | Создает две версии одного и того же приложения с различными конфигурациями |
DCP
Приложение | Описание |
---|
hello_dcp | Используйте двойную рецептуру, непосредственно в ассемблере. |
DMA
Приложение | Описание |
---|
hello_dma | Используйте DMA для копирования данных в памяти. |
Control_blocks | Создайте список управления, чтобы запрограммировать более длинную последовательность передачи DMA в UART. |
channel_irq | Используйте обработчик IRQ для реконфигурирования канала DMA, чтобы непрерывно управлять данными через машину PIO. |
sniff_crc | Используйте способность «Sniff» DMA для расчета CRC32 в буфере данных. |
HSTX
Приложение | Описание |
---|
DVI_OUT_HSTX_ENCODER RP2350 | Используйте HSTX для вывода сигнала DVI с RGB 3: 3: 2 |
Вспышка
Приложение | Описание |
---|
cache_perfctr | Прочитайте и очистите счетчики производительности кеша. Покажите, как на них влияют различные типы чтения вспышки. |
нук | Уничтожить содержимое вспышки. Пример двоичного файла NO_FLASH (UF2 загружается непосредственно в SRAM и запускается на месте). Полезная утилита для перетаскивания на вашем PICO, если возникнет необходимость. |
программа | Стежите сектор флэш -сектор, программируйте одну флэш -страницу и прочитайте данные. |
xip_stream | Данные потока с использованием аппаратного обеспечения потока XIP, которое позволяет данным быть DMA'D в фоновом режиме во время выполнения кода из Flash. |
SSI_DMA | DMA непосредственно из интерфейса Flash (непрерывное количество SCK) для максимальной производительности считывания. |
runtime_flash_permissions | Демонстрирует добавление разделов во время выполнения, чтобы изменить разрешения на вспышку |
Freertos
Эти примеры требуют, чтобы вы установили FREERTOS_KERNEL_PATH
, чтобы указать на ядро Freertos. Смотрите https://github.com/freertos/freertos-kernel
Приложение | Описание |
---|
hello_freertos | Примеры, которые демонстрируют, как выполняют Freertos и задачи на 1 или 2 ядрах. |
GPIO
Приложение | Описание |
---|
hello_7segment | Используйте GPIO, чтобы управлять светодиодным дисплеем с семью сегментами. |
hello_gpio_irq | Зарегистрируйте обработчик прерывания, чтобы запустить, когда GPIO переключается. |
DHT_SENSOR | Используйте GPIO для битбанга последовательного протокола для датчика температуры/влажности DHT. |
См. Также: мигает, мигает светодиод, прикрепленный к GPIO.
HW Divider
Приложение | Описание |
---|
hello_divider | Покажите, как напрямую получить доступ к оборудованию целочисленных разделителей, в случае отключения инъекции AEBI. |
I2c
Приложение | Описание |
---|
bus_scan | Сканируйте шину I2C для устройств и отображайте результаты. |
BMP280_I2C | Прочитайте и преобразуйте данные о температуре и давлении с датчика BMP280, прикрепленного к шине I2C. |
LCD_1602_I2C | Отобразите немного текста на общем ЖК -дисплее символа 16x2 через I2C. |
LIS3DH_I2C | Читать ускорение и значение температуры от датчика LIS3DH через I2C |
MCP9808_I2C | Читать температуру, устанавливайте ограничения и повышайте оповещения, когда ограничения превышаются. |
MMA8451_I2C | Прочитайте ускорение из акселерометра MMA8451 и диапазона установок и точности для данных. |
MPL3115A2_I2C | Интерфейс с Altimeter MPL3115A2, исследуя прерывания и расширенные функции платы, через I2C. |
MPU6050_I2C | Прочитайте значения ускорения и угловой скорости от акселерометра/гирометра MPU6050, прикрепленного к шине I2C. |
SSD1306_I2C | Преобразование и отображение растрового изображения на OLED-дисплее 128x32 или 128x64, управляемого SSD1306 |
PA1010D_I2C | Прочитайте данные о местоположении GPS, анализ и отображение данных через I2C. |
PCF8523_I2C | Прочитайте время и значения даты с часов в реальном времени. Установите текущее время и тревоги на него. |
ht16k33_i2c | Возьмите с собой 4 -значный 14 сегмента, светодиодный с HT16K33. |
slave_mem_i2c | I2C SLAVE Пример, где раб реализует память 256 байтов |
Интерполятор
Приложение | Описание |
---|
hello_interp | Сбор небольших примеров, показывающих, как получить доступ к оборудованию интерполятора Core-Local, и использовать большинство его функций. |
Многократный
Приложение | Описание |
---|
hello_multicore | Запустите функцию на втором ядре, распечатайте некоторые сообщения на каждом ядре и передайте данные назад и вперед через FIFOS почтового ящика. |
multicore_fifo_irqs | На каждом ядре зарегистрируйте и прерывайте обработчик для почтового ящика FIFOS. Покажите, как сжигает прерывание, когда это ядро получает сообщение. |
Multicore_runner | Установите второе ядро, чтобы принять и запустить, любой указатель функции вставил в свой почтовый ящик FIFO. Нажмите на несколько фрагментов кода и верните ответы обратно. |
Multicore_doorbell | Требует двух дверных звонков для сигнализации между ядрами. Подсчитывает, сколько IRQ в дверных звонках происходит на втором ядре и использует дверные звонки для координации выхода. |
ОТП
Приложение | Описание |
---|
hello_otp | Демонстрируйте чтение и написание из OTP на RP2350, а также некоторые особенности OTP (коррекция ошибок и блокировка страниц). |
Pico Board
Приложение | Описание |
---|
мигай | Мигай "Привет, мир" в коде Морзе на светодиоде Pico |
кнопка | Используйте кнопку Pico's Bootsel в качестве обычного ввода кнопки, временно приостановленным доступом к вспышке. |
Pico W Сеть
Эти примеры предназначены для Pico W, и доступны только для PICO_BOARD=pico_w
Приложение | Описание |
---|
picow_access_point | Запускает точку доступа Wi -Fi и поля запросов DHCP. |
picow_blink | Моргает встроенный светодиод (который подключен через чип Wi-Fi). |
picow_blink_slow_clock | Моргает встроенный светодиод (который подключен через чип Wi-Fi) с более медленными системными часами, чтобы показать, как реконфигурировать связь с чипом Wi-Fi в этих обстоятельствах. |
picow_iperf_server | Запускает сервер "Iperf" для тестирования скорости Wi -Fi. |
picow_ntp_client | Подключается к NTP -серверу, чтобы получить и отобразить текущее время. |
picow_tcp_client | Простой клиент TCP. Вы можете запустить python_test_tcp_server.py, чтобы он подключился к. |
picow_tcp_server | Простой TCP -сервер. Вы можете использовать python_test_tcp_client.py для подключения к нему. |
picow_tls_client | Демонстрирует, как сделать HTTPS -запрос с помощью TLS. |
picow_tls_verify | Демонстрирует, как сделать HTTPS -запрос, используя TLS с проверкой сертификата. |
picow_wifi_scan | Сканирование для Wi -Fi сетей и печатает результаты. |
picow_udp_beacon | Простой передатчик UDP. |
picow_httpd | Запуск приложения для тестирования HTTP Server LWIP |
Примеры Freertos
Это примеры интеграции сетей Pico W в соответствии с Freertos и требуют, чтобы вы установили FREERTOS_KERNEL_PATH
, чтобы указать на ядро Freertos. Смотрите https://github.com/freertos/freertos-kernel
Приложение | Описание |
---|
picow_freertos_iperf_server_nosys | Запускает сервер "iperf" для тестирования скорости Wi -Fi под Freertos в режиме no_sys = 1. Светодиод моргнут в другой задаче |
picow_freertos_iperf_server_sys | Запускает сервер «iperf» для тестирования скорости Wi -Fi в режиме Freertos в режиме no_sys = 0 (т.е. полная интеграция Freertos). Светодиод моргнут в другой задаче |
picow_freertos_ping_nosys | Запускает приложение LWIP-Contrib/Apps/Ping Test под Freertos в режиме no_sys = 1. |
picow_freertos_ping_sys | Запускает приложение LWIP-Contrib/Apps/Ping Test в режиме Freertos в no_sys = 0 (то есть полная интеграция Freertos). В этом случае в тестовом приложении используется API сокета LWIP. |
picow_freertos_ntp_client_socket | Подключается к NTP -серверу, используя API Socket Socket Lwip с Freertos в no_sys = 0 (то есть полная интеграция Freertos). |
pico_freertos_httpd_nosys | Запускает тестовое приложение HTTP -сервера LWIP под Freertos в режиме no_sys = 1. |
pico_freertos_httpd_sys | Запускает приложение для тестирования HTTP -сервера LWIP под Freertos в режиме no_sys = 0 (то есть полная интеграция Freertos). |
Pico W Bluetooth
Эти примеры предназначены для Pico W, и доступны только для PICO_BOARD=pico_w
. Это примеры из синей кухни Bluetooth Stack, см. Здесь для полного описания.
По умолчанию примеры Bluetooth встроены только в одном «режиме» ( фоновый , опрос или фрертос ), а по умолчанию представляют собой фон . Это может быть изменено с помощью передачи -DBTSTACK_EXAMPLE_TYPE=poll
и т. Д. к CMake
, или все примеры могут быть построены (что может быть медленным) путем передачи -DBTSTACK_EXAMPLE_TYPE=all
версии Freertos могут быть построены только в том случае, если определены FREERTOS_KERNEL_PATH
.
Примеры Bluetooth, которые используют Audio, требуют кода в Pico-Extras. PASS -DPICO_EXTRAS_PATH=${HOME}/pico-extras
в командной строке CMAKE или определите PICO_EXTRAS_PATH=${HOME}/pico-extras
в вашей среде и повторный разряд CMAKE, чтобы включить их в сборку.
Приложение | Описание |
---|
picow_bt_example_a2dp_sink_demo | A2DP -раковина - Получить аудио -поток и воспроизведение управления. |
picow_bt_example_a2dp_source_demo | Источник A2DP - потоковой аудио и управляющий громкость. |
picow_bt_example_ancs_client_demo | LE ANCS CLIENT - Apple Notification Service. |
picow_bt_example_att_delayed_response | LE Peripheral - отсроченный ответ. |
picow_bt_example_audio_duplex | Audio Driver - Перемесенный звук от источника в раковину. |
picow_bt_example_avrcp_browsing_client | Просмотр AVRCP - просмотр медиаплееров и информацию о медиа. |
picow_bt_example_dut_mode_classic | Тестирование - Включите режим тестирования устройства (DUT.C) для Classic. |
picow_bt_example_gap_dedicate_bonding | Разрыв связывание |
picow_bt_example_gap_inquiry | Gap Classic Exply. |
picow_bt_example_gap_le_advertisements | Разрыв в рекламе сканер. |
picow_bt_example_gap_link_keys | Управление ключами Gap Link (Classic.c). |
picow_bt_example_gatt_battery_query | GATT Battery Service Client. |
picow_bt_example_gatt_browser | GATT CLIENT - обнаружите основные услуги. |
picow_bt_example_gatt_counter | GATT SERVER - счетчик сердцебиения над ГАТТ. |
picow_bt_example_gatt_device_information_query | GATT DEVICE Information Service Client. |
picow_bt_example_gatt_heart_rate_client | ГАТТ Клиент датчика сердечного ритма. |
picow_bt_example_gatt_streamer_server | Производительность - потоковые данные через gatt (server.c). |
picow_bt_example_hfp_ag_demo | HFP AG - Audio Gateway. |
picow_bt_example_hfp_hf_demo | HFP HF - без рук. |
picow_bt_example_hid_host_demo | Hid Host Classic. |
picow_bt_example_hid_keyboard_demo | Hid Keyboard Classic. |
picow_bt_example_hid_mouse_demo | Hid Mouse Classic. |
picow_bt_example_hog_boot_host_demo | Hid Boot Gost Le. |
picow_bt_example_hog_host_demo | Hid Host Le. |
picow_bt_example_hog_keyboard_demo | HID клавиатура LE. |
picow_bt_example_hog_mouse_demo | Hid Mouse Le. |
picow_bt_example_hsp_ag_demo | HSP AG - Audio Gateway. |
picow_bt_example_hsp_hs_demo | HSP HS - гарнитура. |
picow_bt_example_le_credit_based_flow_control_mode_client | LE Credit Credit Based Client Client Client-отправьте данные по L2CAP. |
picow_bt_example_le_credit_based_flow_control_mode_server | LE Credit Credit Based Mode Server-получение данных по L2CAP. |
picow_bt_example_led_counter | Привет, мир - мигает светодиод без Bluetooth. |
picow_bt_example_le_mitm | Le Man-In-The Middle Tool. |
picow_bt_example_le_streamer_client | Производительность - потоковые данные по GATT (client.c). |
picow_bt_example_mod_player | Audio Driver - Play Mod Song 80 -х. |
picow_bt_example_nordic_spp_le_counter | Le Nordic SPP-подобный сервер Heartbeat. |
picow_bt_example_nordic_spp_le_streamer | Le Nordic SPP-подобный стример-сервер. |
picow_bt_example_sdp_general_query | SDP Client - запрос удаленных записей SDP. |
picow_bt_example_sdp_rfcomm_query | SDP Client - Запрос RFComm SDP Record. |
picow_bt_example_sine_player | Audio Driver - Play Sine. |
picow_bt_example_sm_pairing_central | LE Central - Методы спаривания тестирования. |
picow_bt_example_sm_pairing_peripheral | LE Peripheral - Методы спаривания тестирования. |
picow_bt_example_spp_and_gatt_counter | Двойной режим - счетчик SPP и LE. |
picow_bt_example_spp_and_gatt_streamer | Двойной режим - SPP и LE Streamer. |
picow_bt_example_spp_counter | SPP -сервер - счетчик сердцебиения над RFCOMM. |
picow_bt_example_spp_flowcontrol | SPP -сервер - управление потоком RFCOMM. |
picow_bt_example_spp_streamer_client | Производительность - потоковые данные по spp (client.c). |
picow_bt_example_spp_streamer | Производительность - потоковые данные по spp (server.c). |
picow_bt_example_ublox_spp_le_counter | LE U-Blox SPP-подобный сервер HeartBeat. |
Также доступны некоторые отдельные примеры Bluetooth (без всего общего примера инфраструктуры сборки):
Приложение | Описание |
---|
picow_ble_temp_sensor | Считывается с датчика температуры на борту и отправляет уведомления через BLE |
picow_ble_temp_sensor_with_wifi | То же, что и выше, но также подключается к Wi-Fi и запускает сервер "iperf" |
picow_ble_temp_reader | Подключается к одному из вышеуказанных «датчиков» и читает температуру |
Пио
Приложение | Описание |
---|
hello_pio | Абсолютно минимальный пример, показывающий, как управлять светодиодом, выдвигая значения в Pio Fifo. |
APA102 | Радужный шаблон на строке адресуемых светодиодов RGB APA102. |
clocked_input | Сдвиг в последовательных данных, выборки с внешними часами. |
Differial_manchester | Отправить и получить дифференциальный сериал, кодированный в Манчестере (BMC). |
Hub75 | Отобразите изображение на светодиодной матрице RGB 128x64. |
i2c | Сканируйте автобус I2C. |
ir_nec | Отправка и получение ИК-(инфракрасных) кодов с использованием PIO. |
logic_analyser | Используйте Pio и DMA, чтобы захватить логическую трассу некоторых GPIOS, в то время как им подразделение пишет. |
Manchester_encoding | Отправить и получить сериал, кодированный в Манчестере. |
OneWire | Библиотека для взаимодействия с 1-проводными устройствами с примером датчика температуры DS18B20. |
pio_blink | Создайте несколько штатных машин PIO для мигания светодиодов на разных частотах, в соответствии с подсчетом задержек, выдвинутым в их FIFO. |
Шир | Модуляция ширины импульса на PIO. Используйте его, чтобы постепенно исчезнуть яркость светодиода. |
SPI | Используйте PIO, чтобы стирать, программировать и прочитать внешний флэш -чип SPI. Второй пример запускает тест на петлю со всеми четырьмя комбинациями CPHA/CPOL. |
Squarewave | Вставьте быструю квадратную волну на GPIO. Этот пример обращается к низкоуровневому PIO регистрируется напрямую, вместо использования функций SDK. |
squarewave_div_sync | Генерирует квадратную волну на трех gpios и синхронизирует разделитель на всех государственных машинах |
ST7789_LCD | Установите PIO для серийного выхода 62,5 Мбит / с и используйте его для отображения прядильного изображения на последовательном ЖК -дисплеях ST7789. |
Quadrure_encoder | Квадратурный энкодер, использующий PIO для поддержания количества, независимо от процессора. |
Quadrure_encoder_substep | Измерение скорости высокого разрешения с использованием стандартного квадратурного энкодера |
uart_rx | Реализуйте компонент приема серийного порта UART. Прикрепите его к запасной руке, чтобы увидеть, как он получает символы. |
uart_tx | Реализуйте компонент передачи серийного порта UART и печатать Hello World. |
WS2812 | Примеры вождения WS2812 адресуемых светодиодов RGB. |
добавление | Добавьте два целых числа вместе с помощью PIO. Только около 8 миллиардов раз медленнее, чем Cortex-M0+. |
Шир
Приложение | Описание |
---|
hello_pwm | Минимальный пример выхода монтажа ШИМ на GPIOS. |
LED_FADE | Выцветать светодиод между низкой и высокой яркости. Обработчик прерывания обновляет уровень выходного вывода среза PWM каждый раз, когда обмотает счетчик. |
agem_duty_cycle | Приводит в систему выходной сигнал в диапазоне циклов поездок и использует еще один срез ШИМ в входном режиме для измерения рабочего цикла. |
Перезагрузить
Приложение | Описание |
---|
hello_reset | Выполните жесткий сброс на некоторых периферийных устройствах, затем принесите их обратно. |
RTC
Приложение | Описание |
---|
hello_rtc | Установите дату/время на RTC, затем неоднократно распечатайте текущее время, 10 раз в секунду, чтобы показать обновление. |
RTC_ALARM | Установите тревогу на RTC, чтобы запустить прерывание в дату/время в 5 секунд в будущем. |
rtc_alarm_repeat | Запустите прерывание RTC раз в минуту. |
SHA-256
Приложение | Описание |
---|
hello_sha256 | Демонстрирует, как использовать библиотеку PICO_SHA256 для расчета контрольной суммы с использованием аппаратного обеспечения в RP2350 |
mbedtls_sha256 | Демонстрирует использование аппаратного ускорения SHA-256 в MBedtls |
SPI
Приложение | Описание |
---|
BME280_SPI | Прикрепите датчик температуры/влажности/влажности BME280 через SPI. |
MPU9250_SPI | Прикрепите акселерометр MPU9250/Gyoscope через SPI. |
spi_dma | Используйте DMA для передачи данных одновременно как в SPI, так и обратно. SPI настроен для Loopback. |
spi_flash | Стереть, программировать и прочитать последовательное устройство, прикрепленное к одному из контроллеров SPI. |
spi_master_slave | Продемонстрировать связь SPI как мастер и раб. |
max7219_8x7seg_spi | Прикрепление MAX7219, управляемого 8 -значным 7 -сегментным дисплеем через SPI |
max7219_32x8_spi | Прикрепление MAX7219, управляемого светодиодным дисплеем 32x8 через SPI |
Система
Приложение | Описание |
---|
boot_info | Продемонстрируйте, как читать и интерпретировать информацию о загрузке Sys Info. |
hello_double_tap | Светодиод мигает с библиотекой pico_bootsel_via_double_reset . Это входит в USB -загрузчик, когда обнаруживает, что система дважды сбросится в быстрой последовательности, что полезно для плат с кнопкой сброса, но без кнопки Bootsel. |
ранд | Продемонстрируйте, как использовать функции случайных чисел PICO. |
Sunge_io_Write | Продемонстрировать влияние 8-битного и 16-битного писания на 32-битный реестр iO. |
уникальный_board_id | Прочитайте 64 -битный уникальный идентификатор от External Flash, который служит уникальным идентификатором для платы. |
Таймер
Приложение | Описание |
---|
hello_timer | Установите обратные вызовы на таймер системы, который повторяется через регулярные промежутки времени. Отмените таймер, когда мы закончим. |
ПЕРИОДИЧЕСКАЯ_SAMPLER | Образец GPIO в обратном вызове таймера и подтолкните образцы в очередь, безопасную для параллелизации. Данные POP из очереди в коде, работающем на переднем плане. |
timer_lowlevel | Пример прямого доступа к аппаратному обеспечению таймера. Обычно не рекомендуется, так как SDK может использовать таймер для тайм -аутов IO. |
Uart
Приложение | Описание |
---|
hello_uart | Распечатайте текст из одного из последовательных портов UART, не проходя через stdio . |
LCD_UART | Отображение текста и символов на ЖК -дисплее 16x02 RGB через UART |
uart_advanced | Используйте некоторые другие функции UART, такие как прерывания RX, поток аппаратного управления и форматы данных, отличные от 8N1. |
Универсальный
Это примеры того, как построить универсальные двоичные файлы, которые работают на RP2040, и RP2350 ARM & RISC-V. Они требуют, чтобы вы установили PICO_ARM_TOOLCHAIN_PATH
и PICO_RISCV_TOOLCHAIN_PATH
на соответствующие пути, чтобы убедиться, что у вас есть компиляторы для обеих архитектур.
Приложение | Описание |
---|
мигание | То же, что и пример Blink, но универсальный. |
Hello_universal | Обязательная программа Hello World для PICO (USB и серийный выход). На RP2350 он перезагрузится в другую архитектуру после каждых 10 отпечатков. |
nuke_universal | То же, что и пример Nuke, но универсальный. На RP2350 работает как упакованный двоичный файл SRAM, поэтому написан для Flash и скопируется в SRAM с помощью загрузчика. |
USB -устройство
Примеры Tinyusb
Большинство примеров USB -устройства поступают непосредственно из каталога примеров устройства Tinyusb здесь. Те, которые поддерживаются на устройствах RP2040, автоматически включены как часть сборки Pico-Examples в виде целей с именем tinyusb_dev_<example_name>
, например, https://github.com/hathach/tinyusb/tree/master/examples/device/hid_compose как tinyusb_dev_hid_composite
.
На момент написания, эти примеры доступны:
- tinyusb_dev_audio_4_channel_mic
- tinyusb_dev_audio_test
- tinyusb_dev_board_test
- tinyusb_dev_cdc_dual_ports
- tinyusb_dev_cdc_msc
- tinyusb_dev_dfu
- tinyusb_dev_dfu_runtime
- tinyusb_dev_dynamic_configuration
- tinyusb_dev_hid_composite
- tinyusb_dev_hid_generic_inout
- tinyusb_dev_hid_multiple_interface
- tinyusb_dev_midi_test
- tinyusb_dev_msc_dual_lun
- tinyusb_dev_net_lwip_webserver
- tinyusb_dev_uac2_headset
- tinyusb_dev_usbtmc
- tinyusb_dev_video_capture
- tinyusb_dev_webusb_serial
В то время как эти примеры умело демонстрируют, как использовать Tinyusb в режиме устройства, их CMakeLists.txt
настроен таким образом, а также то, как Tinyusb строит свои примеры в своем исходном дереве.
Для лучшего примера того, как настроить CMakeLists.txt
для использования tinyusb в режиме устройства с Raspberry Pi SDK см. Ниже:
SDK BUILD Пример
Приложение | Описание |
---|
dev_hid_composite | Копия примера устройства tinyusb с тем же именем, но с cmakelists.txt, который демонстрирует, как добавить зависимость от библиотек устройств tinyusb с помощью Raspberry Pi Pico SDK |
Пример низкого уровня
Приложение | Описание |
---|
dev_lowlevel | USB -массовая петля, реализованная с прямым доступом к аппаратному обеспечению USB (без Tinyusb) |
USB -хозяин
Все примеры USB -хоста поступают непосредственно из каталога примеров Tinyusb Host здесь. Те, которые поддерживаются на устройствах RP2040, автоматически включены как часть сборки Pico-Examples в виде целей с именем tinyusb_host_<example_name>
, например, https://github.com/hathach/tinyusb/tree/master/examples/host/cdc_hid как tinyusb_host_cdc_msc_hid
.
На момент написания, есть только один пример хоста:
USB Dual Mode
USB Dual Mode использует PIO в качестве контроллера хоста USB и контроллера устройства USB RP2040 в качестве контроллера устройства. Все двойные примеры USB поступают непосредственно из каталога Tinyusb Dual примеров здесь. Те, которые поддерживаются на устройствах RP2040, автоматически включены как часть сборки Pico-Examples в виде целей с именем tinyusb_dual_<example_name>
, например, https://github.com/hathach/tinyusb/tree/master/examples/dual/host_hid_to_device_cdc как tinyusb_dual_host_hid_to_device_cdc
.
На момент написания, есть только один двойной пример:
- tinyusb_dual_host_hid_to_device_cdc
Сторожевой
Приложение | Описание |
---|
hello_watchdog | Установите таймер сторожевого пса, и позвольте ему истечь. Обнаружение перезагрузки и остановка. |