Raspberry PI RP2350 Pico SDK Exemples - Accès précoce
Instructions RP2350
Tout en dessous de cette section provient des pico-exemples de stock, donc ignorez les URL, etc., mais généralement les instructions sont les mêmes.
La valeur par défaut du SDK PICO continue de construire pour RP2040 (PICO_PLATFORM = RP2040), donc pour construire pour RP2350, vous devez passer -DPICO_PLATFORM=rp2350
à CMake (ou -DPICO_PLATFORM=rp2350-riscv
pour RISC-V).
La plupart des exemples, mais pas tous, fonctionnent actuellement sur RP2350, mais vous devriez pouvoir faire une version complète avec l'une des plates-formes ci-dessus (pico_platform = host mais échoue actuellement sur certains exemples)
Pour la compilation RISC-V, vous devriez prendre un compilateur d'ici: https://www.embecosm.com/resources/tool-chain-downloads/#riscv-stable
Docs pico-exemples originaux
Commencer
Voir pour commencer avec le Raspberry Pi Pico et le Readme dans le Pico-SDK pour obtenir des informations sur la mise en service.
Premiers exemples
Appliquer | Description | Lien vers UF2 prédéfini |
---|
bonjour_serial | Le programme Hello World obligatoire pour PICO (sortie sur la version en série) | |
Hello_usb | Le programme obligatoire Hello World pour PICO (sortie sur la version USB) | https://rptl.io/pico-hello-usb |
clignoter | Clignez et éteignez une LED. Fonctionne sur les deux planches avec des LED régulières et Pico W | https://rptl.io/pico-mblink |
clignoter | Clignez et éteignez une LED. Ne fonctionne pas sur Pico W. | https://rptl.io/pico-mblink |
picow_blink | Clignote la LED à bord pico w (qui est connectée via la puce WiFi). | http://rptl.io/pico-wblink |
ADC
Appliquer | Description |
---|
bonjour_adc | Affichez la tension à partir d'une entrée ADC. |
joystick_display | Affichez une entrée Joystick X / Y en fonction de deux entrées ADC. |
adc_console | Un shell interactif pour jouer avec l'ADC. Comprend un exemple de mode de capture libre. |
embarqué_Température | Affichez la valeur du capteur de température intégré. |
microphone_adc | Lisez les valeurs analogiques d'un microphone et tracez l'amplitude sonore mesurée. |
dma_capture | Utilisez le DMA pour capturer de nombreux échantillons de l'ADC. |
read_vsys | Montre comment lire VSYS pour obtenir la tension de l'alimentation. |
Bootloaders (RP2350 uniquement)
Appliquer | Description |
---|
enc_bootloader | Un chargeur de démarrage qui décrypte les binaires de Flash dans SRAM. Voir la lecture séparée pour plus d'informations |
Horloges
Appliquer | Description |
---|
Hello_48mhz | Changez la fréquence d'horloge système à 48 MHz pendant l'exécution. |
hello_gpout | Utilisez les sorties d'horloge à usage général (GPOUT) pour piloter des divisions des horloges internes sur les sorties GPIO. |
Hello_resus | Activez la fonction de réanimation d'horloge, arrêtez "accidentellement" l'horloge du système et montrez comment nous récupérons. |
détaché_clk_peri | Détachez l'horloge périphérique et varier l'horloge du système. |
Cmake
Appliquer | Description |
---|
build_variants | Créez deux versions de la même application avec des configurations différentes |
DCP
Appliquer | Description |
---|
hello_dcp | Utilisez le coprocesseur à double précision directement dans l'assembleur. |
DMA
Appliquer | Description |
---|
hello_dma | Utilisez le DMA pour copier les données en mémoire. |
contrôle_blocks | Créez une liste de blocs de contrôle, pour programmer une séquence plus longue de transferts DMA à l'UART. |
canal_irq | Utilisez un gestionnaire IRQ pour reconfigurer un canal DMA, afin de générer des données en continu via une machine à état PIO. |
sniff_crc | Utilisez la capacité «sniff» du moteur DMA pour calculer un CRC32 sur un tampon de données. |
Hstx
Appliquer | Description |
---|
dvi_out_hstx_encoder RP2350 | Utilisez le HSTX pour produire un signal DVI avec 3: 3: 2 RVB |
Éclair
Appliquer | Description |
---|
cache_perfctr | Lisez et effacez les compteurs de performances du cache. Montrez comment ils sont affectés par différents types de lectures flash. |
nouée | Effacer le contenu du flash. Un exemple de binaire NO_Flash (UF2 chargé directement dans SRAM et y s'exécute en place). Un utilitaire utile pour faire glisser et tomber sur votre PICO si le besoin s'en fait sentir. |
programme | Effacez un secteur flash, programmez une page Flash et lisez les données. |
xip_stream | Stream Data à l'aide du matériel de flux XIP, qui permet aux données d'être dma'd en arrière-plan lors de l'exécution du code à partir de Flash. |
ssi_dma | DMA directement à partir de l'interface flash (CLOCK SCK continu) pour les performances de lecture maximale en vrac. |
runtime_flash_permissions | Démontre l'ajout de partitions lors de l'exécution pour modifier les autorisations Flash |
Freertos
Ces exemples vous obligent à définir le FREERTOS_KERNEL_PATH
pour pointer le noyau Freertos. Voir https://github.com/freertos/freertos-kernel
Appliquer | Description |
---|
Hello_freertos | Exemples qui montrent comment exécuter les freertos et les tâches sur 1 ou 2 cœurs. |
GPIO
Appliquer | Description |
---|
hello_7segment | Utilisez les GPIO pour piloter un écran LED à sept segments. |
hello_gpio_irq | Enregistrez un gestionnaire d'interruption à exécuter lorsqu'un GPIO est basculé. |
DHT_SENSOR | Utilisez GPIO pour bitbang le protocole série pour un capteur de température / humidité DHT. |
Voir aussi: clignoter, clignoter une LED attachée à un GPIO.
Diviseur HW
Appliquer | Description |
---|
Hello_divider | Montrez comment accéder directement aux diviseurs entiers matériels, au cas où l'injection AEABI est désactivée. |
I2C
Appliquer | Description |
---|
bus_scan | Scannez le bus I2C pour les appareils et affichez les résultats. |
BMP280_I2C | Lisez et convertissez les données de température et de pression d'un capteur BMP280, attaché à un bus I2C. |
LCD_1602_I2C | Affichez du texte sur un écran LCD générique 16x2 de caractères, via I2C. |
lis3dh_i2c | Lire l'accélération et la valeur de la température d'un capteur LIS3DH via I2C |
MCP9808_I2C | Lisez la température, fixez les limites et soulevez des alertes lorsque les limites sont dépassées. |
MMA8451_I2C | Lisez l'accélération à partir d'un accéléromètre MMA8451 et une plage de réglage et une précision pour les données. |
MPL3115A2_I2C | Interface avec un altimètre MPL3115A2, explorant les interruptions et les fonctionnalités avancées de la carte, via I2C. |
MPU6050_I2C | Lisez l'accélération et les valeurs de débit angulaire d'un accéléromètre MPU6050 / gyro, attaché à un bus I2C. |
ssd1306_i2c | Convertir et afficher un bitmap sur un écran OLED basé sur 128x32 ou 128x64 SSD1306 |
PA1010D_I2C | Lisez les données de localisation GPS, analysez et affichez les données via I2C. |
PCF8523_I2C | Les valeurs de l'heure et de la date de lecture à partir d'une horloge en temps réel. Définissez l'heure actuelle et les alarmes dessus. |
HT16K33_I2C | Conduisez une LED à 4 chiffres 14 avec un HT16K33. |
esclave_mem_i2c | Exemple d'esclave I2C où l'esclave implémente une mémoire de 256 octets |
Interpolateur
Appliquer | Description |
---|
hello_interp | Un paquet de petits exemples, montrant comment accéder au matériel d'interpolateur au noyau-local et utiliser la plupart de ses fonctionnalités. |
Multiccore
Appliquer | Description |
---|
Hello_multicore | Lancez une fonction sur le deuxième noyau, imprimez certains messages sur chaque noyau et transmettez des données dans les FIFO de boîte aux lettres. |
multicore_fifo_irqs | Sur chaque noyau, inscrivez-vous et interruptez le gestionnaire pour les FIFO de boîte aux lettres. Montrez comment l'interruption se déclenche lorsque ce noyau reçoit un message. |
multicore_runner | Configurez le deuxième noyau à accepter et à exécuter, tout pointeur de fonction a poussé dans sa boîte aux lettres FIFO. Poussez dans quelques morceaux de code et récupérez les réponses. |
Multicore_doorbell | Réclame deux sonnettes pour signaler entre les noyaux. Compte combien de sonnettes IRQ se produisent sur le deuxième noyau et utilisent des sonnettes pour coordonner la sortie. |
OTP
Appliquer | Description |
---|
hello_otp | Démontrer la lecture et l'écriture de l'OTP sur RP2350, ainsi que certaines des caractéristiques de l'OTP (correction d'erreur et verrouillage des pages). |
Pico Board
Appliquer | Description |
---|
clignotant | Clignoter "Hello, World" dans le code Morse sur la LED de Pico |
bouton | Utilisez le bouton BootSel de Pico comme entrée de bouton régulière, en suspendue temporairement l'accès flash. |
Pico W Réseautage
Ces exemples sont pour le pico w et ne sont disponibles que pour PICO_BOARD=pico_w
Appliquer | Description |
---|
picow_access_point | Démarre un point d'accès WiFi et pose les demandes DHCP. |
picow_blink | Clignote la LED embarquée (qui est connectée via la puce WiFi). |
picow_blink_slow_clock | Clignote la LED embarquée (qui est connectée via la puce WiFi) avec une horloge système plus lente pour montrer comment reconfigurer la communication avec la puce WiFi dans ces circonstances |
picow_iperf_server | Exécute un serveur "IPERF" pour les tests de vitesse WiFi. |
picow_ntp_client | Se connecte à un serveur NTP pour récupérer et afficher l'heure actuelle. |
picow_tcp_client | Un client TCP simple. Vous pouvez exécuter python_test_tcp_server.py pour qu'il se connecte. |
picow_tcp_server | Un serveur TCP simple. Vous pouvez utiliser python_test_tcp_client.py pour y connecter. |
picow_tls_client | Montre comment faire une demande HTTPS en utilisant TLS. |
picow_tls_verify | Montre comment faire une demande HTTPS en utilisant TLS avec vérification du certificat. |
picow_wifi_scan | Scans pour les réseaux WiFi et imprime les résultats. |
picow_udp_beacon | Un émetteur UDP simple. |
picow_httpd | Exécute une application de test de serveur LWIP HTTP |
Exemples de Freertos
Ce sont des exemples d'intégration de la mise en réseau Pico W sous Freertos, et vous oblige à définir le FREERTOS_KERNEL_PATH
pour pointer le noyau Freertos. Voir https://github.com/freertos/freertos-kernel
Appliquer | Description |
---|
picow_freertos_iperf_server_nosys | Exécute un serveur "IPERF" pour les tests de vitesse WiFi sous Freertos en mode NO_SYS = 1. La LED est clignotée dans une autre tâche |
picow_freertos_iperf_server_sys | Exécute un serveur "IPERF" pour les tests de vitesse WiFi sous Freertos dans NO_SYS = 0 (c'est-à-dire Full Freertos Intégration). La LED est clignotée dans une autre tâche |
picow_freertos_ping_nosys | Exécute l'application LWIP-Contrib / Apps / Ping Test sous Freertos en mode NO_SYS = 1. |
picow_freertos_ping_sys | Exécute l'application LWIP-Contrib / Apps / Ping Test sous Freertos dans NO_SYS = 0 (c'est-à-dire Full Freertos Intégration). L'application de test utilise l'API LWIP Socket dans ce cas. |
picow_freertos_ntp_client_socket | Se connecte à un serveur NTP à l'aide de l'API LWIP Socket avec Freertos dans NO_SYS = 0 (IE Full Freertos Intégration). |
pico_freertos_httpd_nosys | Exécute une application de test de serveur HTTP LWIP sous Freertos en mode NO_SYS = 1. |
pico_freertos_httpd_sys | Exécute une application de test de serveur HTTP LWIP sous Freertos dans NO_SYS = 0 (IE Full Freertos Intégration). |
Pico w bluetooth
Ces exemples sont pour le pico w et ne sont disponibles que pour PICO_BOARD=pico_w
. Ce sont des exemples de la pile Bluetooth Blue Kitchen, voir ici pour une description complète.
Par défaut, les exemples Bluetooth ne sont construits qu'en un seul "mode" uniquement ( arrière-plan , sondage ou Freertos ), avec la valeur par défaut. Cela peut être modifié en passant -DBTSTACK_EXAMPLE_TYPE=poll
, etc. en CMake
, ou tous les exemples peuvent être construits (qui peuvent être lents) en passant -DBTSTACK_EXAMPLE_TYPE=all
les versions Freertos ne peuvent être construites que si FREERTOS_KERNEL_PATH
est définie.
Les exemples Bluetooth qui utilisent l'audio nécessitent du code dans Pico-Extras. PASS -DPICO_EXTRAS_PATH=${HOME}/pico-extras
sur la ligne de commande CMake ou définissez PICO_EXTRAS_PATH=${HOME}/pico-extras
dans votre environnement et ré-cours Cmake pour les inclure dans la construction.
Appliquer | Description |
---|
picow_bt_example_a2dp_sink_demo | A2DP Sinier - Recevez le flux audio et la lecture de contrôle. |
picow_bt_example_a2dp_source_demo | A2DP Source - Stream Audio et Volume de contrôle. |
picow_bt_example_ancs_client_demo | Client de l'ANCS - Service de notification Apple. |
picow_bt_example_att_delayed_response | La réponse périphérique du périphérique. |
picow_bt_example_audio_duplex | Pilote audio - Audio en avant de Source to Sink. |
picow_bt_example_avrcp_browsing_client | AVRCP Browsing - parcourir les lecteurs multimédias et les informations médiatiques. |
picow_bt_example_dut_mode_classic | TEST - Activer le périphérique testé (DUT.C) pour Classic. |
picow_bt_example_gap_dedicated_bonding | Liaison d'écart |
picow_bt_example_gap_inquiry | GAP Classic Restion. |
picow_bt_example_gap_le_advertisements | Scanner Gap Le Advertisements. |
picow_bt_example_gap_link_keys | GACHING CLÉ LIEN (Classic.C). |
picow_bt_example_gatt_battery_query | Client de service de batterie GATT. |
picow_bt_example_gatt_browser | Client GATT - Découvrez les services primaires. |
picow_bt_example_gatt_counter | GATT Server - Compteur de battements de cœur sur GATT. |
picow_bt_example_gatt_device_information_query | Client du service d'information de l'appareil GATT. |
picow_bt_example_gatt_heart_rate_client | Client de capteur de fréquence cardiaque GATT. |
picow_bt_example_gatt_streamer_server | Performance - Stream Data sur GATT (Server.C). |
picow_bt_example_hfp_ag_demo | HFP AG - Audio Gateway. |
picow_bt_example_hfp_hf_demo | HFP HF - mains libres. |
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 Host le. |
picow_bt_example_hog_host_demo | Hid host le. |
picow_bt_example_hog_keyboard_demo | Hid Keyboard 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 - casque. |
picow_bt_example_le_credit_based_flow_control_mode_client | Client en mode de contrôle de flux basé sur le crédit - Envoyez des données sur L2CAP. |
picow_bt_example_le_credit_based_flow_control_mode_server | Le serveur de mode de contrôle de flux basé sur le crédit - reçoit des données sur L2CAP. |
picow_bt_example_led_counter | Hello World - clignoter une LED sans Bluetooth. |
picow_bt_example_le_mitm | Le man-in-the-mi-middle outil. |
picow_bt_example_le_streamer_client | Performances - Stream Data sur GATT (Client.C). |
picow_bt_example_mod_player | Audio Driver - Play Mod Song des années 80. |
picow_bt_example_nordic_spp_le_counter | Le Nordic SPP-like Heartbeat Server. |
picow_bt_example_nordic_spp_le_streamer | Le serveur Streamer de type SPP Nordic SPP. |
picow_bt_example_sdp_general_query | Client SDP - Recherchez les enregistrements SDP distants. |
picow_bt_example_sdp_rfcomm_query | Client SDP - Requête RFCOMM SDP Record. |
picow_bt_example_sine_player | Driver audio - Play Sine. |
picow_bt_example_sm_pairing_central | Le Central - Méthodes d'association de test. |
picow_bt_example_sm_pairing_peripheral | LE périphérique - Méthodes d'association de test. |
picow_bt_example_spp_and_gatt_counter | Mode double - SPP et compteur LE. |
picow_bt_example_spp_and_gatt_streamer | Mode double - SPP et Streamer LE. |
picow_bt_example_spp_counter | SPP Server - Compteur de battements de cœur sur RFComm. |
picow_bt_example_spp_flowcontrol | SPP Server - Contrôle de flux RFCOMM. |
picow_bt_example_spp_streamer_client | Performances - Stream Data via SPP (Client.C). |
picow_bt_example_spp_streamer | Performances - Stream Data via SPP (Server.C). |
picow_bt_example_ublox_spp_le_counter | Serveur de battements cardiaques de type Le U-Blox SPP. |
Certains exemples Bluetooth autonomes (sans tous les exemples de création d'infrastructures de construction) sont également disponibles:
Appliquer | Description |
---|
picow_ble_temp_sensor | Lit le capteur de température à bord et envoie des notifications via BLE |
picow_ble_temp_sensor_with_wifi | Identique à ci-dessus mais se connecte également au Wi-Fi et démarre un serveur "iPerf" |
picow_ble_temp_reader | Se connecte à l'un des "capteurs" ci-dessus et lit la température |
Pio
Appliquer | Description |
---|
bonjour_pio | Exemple absolument minimal montrant comment contrôler une LED en poussant les valeurs dans un PIO FIFO. |
apa102 | Modèle arc-en-ciel sur une chaîne de LED RGB adressables APA102. |
Clomed_input | Déplacer des données série, échantillonnage avec une horloge externe. |
différentiel_manchester | Envoyer et recevoir une série différentielle codée par Manchester (BMC). |
Hub75 | Affichez une image sur une matrice LED RVB 128x64 Hub75. |
I2C | Scannez un bus I2C. |
ir_nec | Envoi et réception de codes IR (infra-red) à l'aide du PIO. |
logique_analyser | Utilisez PIO et DMA pour capturer une trace logique de certains GPIO, tandis qu'une unité PWM les entraîne. |
manchester_encoding | Envoyer et recevoir une série codée à Manchester. |
ondulé | Une bibliothèque pour l'interfaçage vers des appareils à 1 fil, avec un exemple pour le capteur de température DS18B20. |
pio_blink | Configurez certaines machines Pio State pour clignoter des LED à différentes fréquences, selon les dénombrements de retard poussés dans leurs FIFOS. |
PWM | Modulation de la largeur d'impulsion sur PIO. Utilisez-le pour s'estomper progressivement la luminosité d'une LED. |
spice | Utilisez PIO pour effacer, programmer et lire une puce Flash SPI externe. Un deuxième exemple exécute un test de bouclage avec les quatre combinaisons CPHA / CPOL. |
onde carrée | Conduisez une onde carrée rapide sur un GPIO. Cet exemple accède à des enregistrements PIO de bas niveau directement, au lieu d'utiliser les fonctions SDK. |
carréwave_div_sync | Génère une onde carrée sur trois GPIO et synchronise le diviseur sur toutes les machines d'État |
ST7789_LCD | Configurez PIO pour une sortie série de 62,5 Mbps et utilisez-le pour afficher une image de rotation sur un écran LCD série ST7789. |
quadrature_encoder | Un encodeur quadrature utilisant PIO pour maintenir les comptes indépendants du CPU. |
quadrature_encoder_substep | Mesure de vitesse haute résolution à l'aide d'un encodeur en quadrature standard |
uart_rx | Implémentez le composant de réception d'un port série UART. Joignez-le au bras de rechange UART pour le voir recevoir des caractères. |
uart_tx | Implémentez le composant de transmission d'un port série UART et imprimez Hello World. |
WS2812 | Exemples de conduite des LED RVB adressables WS2812. |
ajout | Ajoutez deux entiers ensemble en utilisant PIO. Seulement environ 8 milliards de fois plus lents que le cortex-M0 +. |
PWM
Appliquer | Description |
---|
bonjour_pwm | Exemple minimal de conduite de sortie PWM sur GPIOS. |
LED_FADE | Fade une LED entre une luminosité basse et élevée. Un gestionnaire d'interruption met à jour le niveau de sortie de la tranche PWM chaque fois que le compteur s'enroule. |
meast_duty_cycle | Drive une sortie PWM à une gamme de cycles de service et utilise une autre tranche de PWM en mode d'entrée pour mesurer le cycle de service. |
Réinitialiser
Appliquer | Description |
---|
Bonjour | Effectuez une réinitialisation dure sur certains périphériques, puis ramenez-les. |
RTC
Appliquer | Description |
---|
bonjour_rtc | Définissez une date / heure sur le RTC, puis imprimez à plusieurs reprises l'heure actuelle, 10 fois par seconde, pour l'afficher la mise à jour. |
rtc_alarm | Définissez une alarme sur le RTC pour déclencher une interruption à une date / heure de 5 secondes dans le futur. |
rtc_alarm_repeat | Déclenchez une interruption RTC une fois par minute. |
SHA-256
Appliquer | Description |
---|
hello_sha256 | Montre comment utiliser la bibliothèque PICO_SHA256 pour calculer une somme de contrôle à l'aide du matériel dans RP2350 |
mbedtls_sha256 | Démontre l'utilisation de l'accélération matérielle SHA-256 dans MBEDTLS |
Spice
Appliquer | Description |
---|
BME280_SPI | Fixez un capteur de température / humidité / pression BME280 via SPI. |
MPU9250_SPI | Fixez un accéléromètre / gyoscope MPU9250 via SPI. |
spi_dma | Utilisez DMA pour transférer des données à la fois sur et depuis le SPI simultanément. Le SPI est configuré pour le bouclage. |
spi_flash | Effacer, programmer et lire un périphérique flash série attaché à l'un des contrôleurs SPI. |
spi_master_slave | Démontrer la communication SPI en tant que maître et esclave. |
max7219_8x7seg_spi | Fixer un MAX7219 conduisant un affichage à 8 chiffres 7 segments via SPI |
max7219_32x8_spi | Fixer un max7219 à l'origine d'un écran LED 32x8 via SPI |
Système
Appliquer | Description |
---|
boot_info | Démontrez comment lire et interpréter les informations de démarrage des informations SYS. |
hello_double_tap | Un LED clignote avec la bibliothèque pico_bootsel_via_double_reset liée. Cela entre le chargeur de démarrage USB lorsqu'il détecte le système réinitialisé deux fois en succession rapide, ce qui est utile pour les planches avec un bouton de réinitialisation mais pas de bouton BootSel. |
rand | Démontrez comment utiliser les fonctions de nombre aléatoire PICO. |
étroite_io_write | Démontrez les effets de 8 bits et 16 bits sur un registre IO 32 bits. |
unique_board_id | Lisez l'ID unique 64 bits de Flash externe, qui sert d'identifiant unique pour la carte. |
Minuteur
Appliquer | Description |
---|
bonjour_timer | Définissez des rappels sur la minuterie du système, qui se répète à intervalles réguliers. Annulez la minuterie lorsque nous avons terminé. |
périodique_sampleur | Exemplez de GPIO dans un rappel de minuterie et poussez les échantillons dans une file d'attente en matière de concurrence. Données pop de la file d'attente dans le code exécuté au premier plan. |
timer_lowlevel | Exemple d'accès direct au matériel de la minuterie. Pas généralement recommandé, car le SDK peut utiliser la minuterie pour les délais d'expiration IO. |
Uart
Appliquer | Description |
---|
bonjour_uart | Imprimez du texte de l'un des ports série UART, sans passer par stdio . |
LCD_UART | Afficher le texte et les symboles sur un affichage LCD RVB 16x02 via UART |
uart_advanced | Utilisez d'autres fonctionnalités UART comme les interruptions RX, le flux de contrôle matériel et les formats de données autres que 8N1. |
Universel
Ce sont des exemples de la façon de construire des binaires universels qui fonctionnent sur RP2040, et RP2350 ARM & RISC-V. Ceux-ci vous obligent à définir PICO_ARM_TOOLCHAIN_PATH
et PICO_RISCV_TOOLCHAIN_PATH
sur des chemins appropriés, pour vous assurer que vous avez des compilateurs pour les deux architectures.
Appliquer | Description |
---|
clignoter | Identique à l'exemple de clignotement, mais universel. |
Hello_universal | Le programme obligatoire Hello World pour PICO (USB et sortie en série). Sur RP2350, il redémarrera à l'autre architecture après tous les 10 impressions. |
nuke_universal | Identique à l'exemple Nuke, mais universel. Sur RP2350 s'exécute en tant que binaire SRAM emballé, il est donc écrit sur flash et copié sur SRAM par le chargeur de démarrage |
Appareil USB
Exemples Tinyusb
La plupart des exemples de périphériques USB proviennent directement du répertoire des exemples de périphériques TinyUSB ici. Ceux qui sont pris en charge sur les périphériques RP2040 sont automatiquement inclus dans le cadre de la construction Pico-Examples sous forme de cibles nommées tinyusb_dev_<example_name>
, par exemple https://github.com/hathach/tinyusb/tree/master/examples/device/hid_composite est construit comme tinyusb_dev_hid_composite
.
Au moment de la rédaction du présent document, ces exemples sont disponibles:
- 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
Alors que ces exemples montrent habilement comment utiliser TinyUSB en mode appareil, leur CMakeLists.txt
est configuré d'une manière adaptée à la façon dont TinyUSB construit leurs exemples dans leur arbre source.
Pour un meilleur exemple de la façon de configurer CMakeLists.txt
pour utiliser TinyUSB en mode périphérique avec le SDK Raspberry Pi Voir ci-dessous:
Exemple de construction du SDK
Appliquer | Description |
---|
dev_hid_composite | Une copie de l'exemple de l'appareil TinyUSB avec le même nom, mais avec un cMakelists.txt qui montre comment ajouter une dépendance aux bibliothèques de périphériques TinyUSB avec le SDK Raspberry Pi Pico |
Exemple de bas niveau
Appliquer | Description |
---|
dev_lowlevel | Une boucle en vrac USB implémentée avec un accès direct au matériel USB (pas de tinyusb) |
Hôte USB
Tous les exemples de l'hôte USB proviennent directement du répertoire des exemples d'hôte TinyUSB ici. Ceux qui sont pris en charge sur les périphériques RP2040 sont automatiquement inclus dans le cadre de la construction Pico-Examples comme cibles nommées tinyusb_host_<example_name>
, par exemple https://github.com/hathach/tinyusb/tree/master/examples/host/cdc_msc_hid est construite comme tinyusb_host_cdc_msc_hid
.
Au moment de la rédaction du moment de la rédaction, il n'y a qu'un seul exemple d'hôte disponible:
Mode double USB
Le mode double USB utilise PIO comme contrôleur hôte USB et le contrôleur de périphérique USB RP2040 comme contrôleur de périphérique. Tous les deux exemples USB proviennent directement du répertoire TinyUSB Dual Exemples ici. Ceux qui sont pris en charge sur les périphériques RP2040 sont automatiquement inclus dans le cadre de la construction Pico-Examples sous forme de cibles nommées tinyusb_dual_<example_name>
, par exemple https://github.com/hathach/tinyusb/tree/master/examples/dual/host_hid_to_device_cdc est construit comme tinyusb_dual_host_hid_to_device_cdc
.
Au moment de la rédaction du moment de la rédaction, il n'y a qu'un seul double exemple disponible:
- tinyusb_dual_host_hid_to_device_cdc
Chien de garde
Appliquer | Description |
---|
hello_watchdog | Réglez la minuterie de chien de garde et laissez-la expirer. Détecter le redémarrage et arrêter. |