Raspberry Pi RP2350 Pico SDKの例 - 早期アクセス
RP2350手順
このセクションの下のすべては、株式のピコ診断からのものなので、URLなどを無視しますが、一般的に指示は同じです。
PICO SDKデフォルトは引き続きRP2040(PICO_PLATFORM = RP2040)の構築を行うため、RP2350をビルドするには、 -DPICO_PLATFORM=rp2350 -DPICO_PLATFORM=rp2350-riscvを渡す必要があります。
ほとんどの例ではありませんが、現在はRP2350で作業していますが、上記のプラットフォームのいずれかで完全なビルドを行うことができるはずです(pico_platform = hostは現在、いくつかの例では失敗しています)
RISC-Vコンピレーションについては、ここからコンパイラを取得する必要があります:https://www.embecosm.com/resources/tool-chain-downloads/#riscv-stable
オリジナルのPico-Examplesドキュメント
はじめる
起きて実行していることについては、Pico-SDKのRaspberry Pi PicoとReadmeの開始を参照してください。
最初の例
| アプリ | 説明 | 事前に作成されたUF2へのリンク |
|---|
| hello_serial | Picoの義務的なHelloWorldプログラム(シリアルバージョンを超える出力) | |
| hello_usb | Picoの義務的なHelloWorldプログラム(USBバージョンを介した出力) | https://rptl.io/pico-hello-usb |
| まばたき | LEDのオンとオフを点滅させます。通常のLEDとPicoWを備えた両方のボードで動作します | https://rptl.io/pico-blink |
| blink_simple | LEDのオンとオフを点滅させます。 Pico Wでは動作しません。 | https://rptl.io/pico-blink |
| picow_blink | Pico W On-Board LED(WiFiチップを介して接続されている)を点滅させます。 | http://rptl.io/pico-w-blink |
ADC
| アプリ | 説明 |
|---|
| hello_adc | ADC入力から電圧を表示します。 |
| joystick_display | 2つのADC入力に基づいて、ジョイスティックX/Y入力を表示します。 |
| ADC_CONSOLE | ADCで遊ぶためのインタラクティブなシェル。フリーランニングキャプチャモードの例が含まれています。 |
| onboard_temperature | オンボード温度センサーの値を表示します。 |
| Microphone_adc | マイクからアナログ値を読み取り、測定された音振幅をプロットします。 |
| dma_capture | DMAを使用して、ADCから多くのサンプルをキャプチャします。 |
| read_vsys | 電源の電圧を取得するためにVSYを読み取る方法を示します。 |
ブートローダー(RP2350のみ)
| アプリ | 説明 |
|---|
| enc_bootloader | フラッシュからSRAMにバイナリを復号化するブートローダー。詳細については、個別のREADMEを参照してください |
時計
| アプリ | 説明 |
|---|
| hello_48mhz | 実行中にシステムクロック周波数を48 MHzに変更します。 |
| hello_gpout | 汎用クロック出力(GPOUT)を使用して、内部クロックの分割をGPIO出力に駆動します。 |
| hello_resus | クロックの蘇生機能を有効にし、「誤って」システムクロックを停止し、回復方法を示します。 |
| Detached_clk_peri | 周辺時計を分離し、システムクロックを変化させます。 |
cmake
| アプリ | 説明 |
|---|
| build_variants | 異なる構成で同じアプリの2つのバージョンを構築する |
DCP
| アプリ | 説明 |
|---|
| hello_dcp | アセンブラーでダブルサイジョンコプロセッサを直接使用します。 |
DMA
| アプリ | 説明 |
|---|
| hello_dma | DMAを使用して、メモリ内のデータをコピーします。 |
| control_blocks | コントロールブロックリストを作成し、DMA転送の長いシーケンスをUARTにプログラムします。 |
| Channel_irq | IRQハンドラーを使用して、PIOステートマシンを介してデータを継続的に駆動するために、DMAチャネルを再構成します。 |
| sniff_crc | DMAエンジンの「スニフ」機能を使用して、データバッファーでCRC32を計算します。 |
HSTX
| アプリ | 説明 |
|---|
DVI_OUT_HSTX_ENCODER RP2350 | HSTXを使用して、3:3:2 RGBでDVI信号を出力します |
フラッシュ
| アプリ | 説明 |
|---|
| cache_perfctr | キャッシュパフォーマンスカウンターを読み取り、クリアします。さまざまな種類のフラッシュ読み取りの影響を受けていることを示します。 |
| 核 | フラッシュの内容を消します。 no_flashバイナリの例(uf2がSRAMに直接ロードされ、そこに搭載されています)。必要に応じてピコにドラッグアンドドロップするのに役立つユーティリティ。 |
| プログラム | フラッシュセクターを消去し、1つのフラッシュページをプログラムし、データを読み戻します。 |
| xip_stream | XIPストリームハードウェアを使用してデータをストリーミングします。これにより、Flashからコードを実行しながらデータをバックグラウンドでDMA'にすることができます。 |
| SSI_DMA | Flashインターフェイス(連続SCKクロック)からDMAを直接、最大のバルク読み取りパフォーマンス。 |
| runtime_flash_permissions | フラッシュアクセス許可を変更するために実行時にパーティションを追加することを示します |
フレートス
これらの例では、 FREERTOS_KERNEL_PATHを設定してFreertosカーネルを指す必要があります。 https://github.com/freertos/freertos-kernelを参照してください
| アプリ | 説明 |
|---|
| hello_freertos | 1つまたは2つのコアでフレートスとタスクを実行する方法を示す例。 |
gpio
| アプリ | 説明 |
|---|
| hello_7Segment | GPIOを使用して、7つのセグメントLEDディスプレイを駆動します。 |
| hello_gpio_irq | GPIOが切り替えられたら、割り込みハンドラーを登録して実行します。 |
| DHT_SENSOR | GPIOを使用して、DHT温度/湿度センサーのシリアルプロトコルをビットバングします。 |
参照:GPIOに取り付けられたLEDを点滅させます。
HW仕切り
| アプリ | 説明 |
|---|
| hello_divider | AEABI注入が無効になっている場合に備えて、ハードウェア整数分裂者に直接アクセスする方法を示します。 |
I2C
| アプリ | 説明 |
|---|
| bus_scan | I2Cバスでデバイスをスキャンし、結果を表示します。 |
| BMP280_I2C | I2Cバスに取り付けられたBMP280センサーから温度と圧力データを読み取り、変換します。 |
| LCD_1602_I2C | I2Cを介して、一般的な16x2文字LCDディスプレイにいくつかのテキストを表示します。 |
| lis3dh_i2c | I2C経由のLIS3DHセンサーから加速度と温度値を読む |
| MCP9808_I2C | 温度を読み取り、制限を設定し、制限が超えたときにアラートを上げます。 |
| MMA8451_I2C | MMA8451加速度計からの加速度を読み取り、データの範囲と精度を設定します。 |
| MPL3115A2_I2C | MPL3115A2 Altimeterとのインターフェース、I2Cを介して、割り込みと高度なボード機能を調査します。 |
| MPU6050_I2C | I2Cバスに取り付けられたMPU6050加速度計/ジャイロの加速度値と角度速度値を読み取ります。 |
| SSD1306_I2C | 128x32または128x64 SSD1306駆動型OLEDディスプレイでビットマップを変換して表示します |
| PA1010D_I2C | I2Cを介してGPSの位置データ、解析および表示データを読み取ります。 |
| PCF8523_I2C | リアルタイムクロックから時間と日付の値を読み取ります。現在の時間とアラームを設定します。 |
| HT16K33_I2C | HT16K33でLED 4桁の14桁のセグメントを駆動します。 |
| Slave_mem_i2c | 奴隷が256バイトのメモリを実装するI2Cスレーブの例 |
インタープロレーター
| アプリ | 説明 |
|---|
| hello_interp | コアローカルインタープロレーターハードウェアにアクセスする方法を示し、その機能のほとんどを使用する小さな例の束。 |
マルチコア
| アプリ | 説明 |
|---|
| hello_multicore | 2番目のコアで関数を起動し、各コアにいくつかのメッセージをprintfし、メールボックスFIFOを介してデータをやり取りします。 |
| Multicore_fifo_irqs | 各コアで、メールボックスFIFOの登録ハンドラーと割り込みハンドラー。そのコアがメッセージを受け取ったときに割り込みがどのように発火するかを示します。 |
| Multicore_runner | 2番目のコアをセットアップして、任意の機能ポインターがメールボックスFIFOに押し込まれた任意の機能ポインターを実行します。いくつかのコードを押し込み、回答を取り戻します。 |
| Multicore_doorbell | コア間のシグナリングのために2つのドアベルを主張します。 2番目のコアで発生するドアベルIRQの数をカウントし、ドアベルを使用して出口を調整します。 |
OTP
| アプリ | 説明 |
|---|
| hello_otp | RP2350のOTPからの読み取りと書き込みを、OTPのいくつかの機能(エラー修正とページロック)のいくつかを示します。 |
ピコボード
| アプリ | 説明 |
|---|
| まばたき | Pico's LedのMorse Codeの「Hello、World」という点 |
| ボタン | フラッシュアクセスを一時的に停止することにより、ピコのブートセルボタンを通常のボタン入力として使用します。 |
ピコWネットワーキング
これらの例はPicoWのものであり、 PICO_BOARD=pico_wでのみ利用できます
| アプリ | 説明 |
|---|
| picow_access_point | WiFiアクセスポイントとフィールドDHCPリクエストを開始します。 |
| picow_blink | オンボードLED(WiFiチップを介して接続されている)を点滅させます。 |
| picow_blink_slow_clock | オンボードLED(WiFiチップを介して接続されています)を瞬きするシステムクロックで、これらの状況下でWiFiチップとの通信を再構成する方法を示します |
| picow_iperf_server | WiFi速度テストのために「IPERF」サーバーを実行します。 |
| 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 | TLSを使用してHTTPSリクエストを作成する方法を示します。 |
| picow_tls_verify | 証明書確認を備えたTLSを使用してHTTPSリクエストを作成する方法を示します。 |
| picow_wifi_scan | WiFiネットワークをスキャンし、結果を印刷します。 |
| picow_udp_beacon | 単純なUDP送信機。 |
| picow_httpd | LWIP HTTPサーバーテストアプリを実行します |
Freertosの例
これらは、Freertosの下でPico Wネットワーキングを統合する例であり、 FREERTOS_KERNEL_PATHを設定してFreertosカーネルを指す必要があります。 https://github.com/freertos/freertos-kernelを参照してください
| アプリ | 説明 |
|---|
| picow_freertos_iperf_server_nosys | NO_SYS = 1モードのFREERTOSでWiFi速度テスト用の「IPERF」サーバーを実行します。 LEDは別のタスクで点滅します |
| picow_freertos_iperf_server_sys | no_sys = 0(つまりフルフレートス統合)モードのフレートスでWiFi速度テスト用の「IPERF」サーバーを実行します。 LEDは別のタスクで点滅します |
| picow_freertos_ping_nosys | NO_SYS = 1モードでFREERTOSでLWIP-Contrib/Apps/Pingテストアプリを実行します。 |
| picow_freertos_ping_sys | no_sys = 0(つまりフルフレートス統合)モードでフレートスの下でLWIP-Contrib/Apps/pingテストアプリを実行します。この場合、テストアプリはLWIPソケットAPIを使用しています。 |
| picow_freertos_ntp_client_socket | no_sys = 0(つまりフルフレートス統合)モードでFreertosを使用してLWIPソケットAPIを使用してNTPサーバーに接続します。 |
| pico_freertos_httpd_nosys | NO_SYS = 1モードでFREERTOSの下でLWIP HTTPサーバーテストアプリを実行します。 |
| pico_freertos_httpd_sys | NO_SYS = 0(つまり、フルエルトス統合)モードでFREERTOSでLWIP HTTPサーバーテストアプリを実行します。 |
Pico W Bluetooth
これらの例はPico Wのものであり、 PICO_BOARD=pico_wでのみ利用できます。それらは、Blue Kitchen Bluetoothスタックの例です。詳細については、こちらをご覧ください。
デフォルトでは、Bluetoothの例は1つの「モード」のみ(背景、世論調査、またはフレートス)で構築され、デフォルトは背景です。これは-DBTSTACK_EXAMPLE_TYPE=pollなどをCMakeに渡すことで変更できます。または、すべての例を-DBTSTACK_EXAMPLE_TYPE=all FREERTOS_KERNEL_PATHバージョンを渡すことで構築できます(遅いかもしれません)。
オーディオを使用するBluetoothの例には、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クライアント - Apple通知サービス。 |
| picow_bt_example_att_delayed_response | Le Peripheral-応答の遅延。 |
| picow_bt_example_audio_duplex | オーディオドライバー - ソースからシンクへのフォワードオーディオ。 |
| picow_bt_example_avrcp_browsing_client | AVRCPブラウジング - メディアプレーヤーとメディア情報を閲覧します。 |
| picow_bt_example_dut_mode_classic | テスト - クラシックのテスト(DUT.C)モードでデバイスを有効にします。 |
| picow_bt_example_gap_dedicated_bonding | ギャップ結合 |
| picow_bt_example_gap_inquiry | Gap Classic Inquiry。 |
| picow_bt_example_gap_le_advertisements | Gap Le Advertisements Scanner。 |
| picow_bt_example_gap_link_keys | ギャップリンクキー管理(Classic.C)。 |
| picow_bt_example_gatt_battery_query | GATTバッテリーサービスクライアント。 |
| picow_bt_example_gatt_browser | GATTクライアント - プライマリサービスを発見します。 |
| picow_bt_example_gatt_counter | GATTサーバー - GATT上のハートビートカウンター。 |
| picow_bt_example_gatt_device_information_query | GATTデバイス情報サービスクライアント。 |
| picow_bt_example_gatt_heart_rate_client | Gatt Heart Reatセンサークライアント。 |
| picow_bt_example_gatt_streamer_server | パフォーマンス-Gatt(server.c)でデータをストリーミングします。 |
| picow_bt_example_hfp_ag_demo | HFP AG-オーディオゲートウェイ。 |
| picow_bt_example_hfp_hf_demo | HFP HF-ハンズフリー。 |
| picow_bt_example_hid_host_demo | HIDホストクラシック。 |
| picow_bt_example_hid_keyboard_demo | キーボードクラシックを隠します。 |
| picow_bt_example_hid_mouse_demo | ハイドマウスクラシック。 |
| picow_bt_example_hog_boot_host_demo | HIDブートホストLE。 |
| picow_bt_example_hog_host_demo | HIDホストLE。 |
| picow_bt_example_hog_keyboard_demo | キーボードleを隠します。 |
| picow_bt_example_hog_mouse_demo | ハイドマウスle。 |
| picow_bt_example_hsp_ag_demo | HSP AG-オーディオゲートウェイ。 |
| picow_bt_example_hsp_hs_demo | HSP HS-ヘッドセット。 |
| picow_bt_example_le_credit_based_flow_control_mode_client | LEクレジットベースのフローコントロールモードクライアント - L2CAPを介してデータを送信します。 |
| picow_bt_example_le_credit_based_flow_control_mode_server | LEクレジットベースのフローコントロールモードサーバー - L2CAPを介してデータを受信します。 |
| picow_bt_example_led_counter | Hello World -BluetoothなしでLEDを点滅させます。 |
| picow_bt_example_le_mitm | Le Man-in-the-Middleツール。 |
| picow_bt_example_le_streamer_client | パフォーマンス-Gatt(client.c)でデータをストリーミングします。 |
| picow_bt_example_mod_player | オーディオドライバー - 80年代のMODソングを再生します。 |
| picow_bt_example_nordic_spp_le_counter | Le Nordic SPPのようなハートビートサーバー。 |
| picow_bt_example_nordic_spp_le_streamer | Le Nordic SPPのようなストリーマーサーバー。 |
| picow_bt_example_sdp_general_query | SDPクライアント - リモートSDPレコードをクエリします。 |
| picow_bt_example_sdp_rfcomm_query | SDPクライアント - クエリRFCOMM SDPレコード。 |
| picow_bt_example_sine_player | オーディオドライバー - サインを再生します。 |
| 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ストリーマー。 |
| 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のようなハートビートサーバー。 |
いくつかのスタンドアロンBluetoothの例(すべての一般的な例ビルドインフラストラクチャなし)も利用可能です。
| アプリ | 説明 |
|---|
| picow_ble_temp_sensor | オンボード温度センサーから読み取り、BLE経由で通知を送信します |
| picow_ble_temp_sensor_with_wifi | 上記と同じですが、Wi-Fiにも接続し、「IPERF」サーバーを開始します |
| picow_ble_temp_reader | 上記の「センサー」の1つに接続し、温度を読み取ります |
ピオ
| アプリ | 説明 |
|---|
| hello_pio | 値をPio FIFOに押し込むことでLEDを制御する方法を示す絶対に最小限の例。 |
| APA102 | APA102アドレス可能なRGB LEDの文字列上のレインボーパターン。 |
| Clocked_input | シリアルデータのシフト、外部クロックでのサンプリング。 |
| differy_manchester | マンチェスターエンコードシリアル(BMC)を送信して受け取ります。 |
| hub75 | 128x64 HUB75 RGB LEDマトリックスに画像を表示します。 |
| I2C | I2Cバスをスキャンします。 |
| IR_NEC | PIOを使用したIR(INFRA-RED)コードの送信と受信。 |
| Logic_analyser | PWMユニットがそれらを駆動している間、PIOとDMAを使用していくつかのGPIOのロジックトレースをキャプチャします。 |
| ManChester_Encoding | マンチェスターエンコードされたシリアルを送信して受け取ります。 |
| onewire | DS18B20温度センサーの例を掲載した1線型デバイスにインターフェースするためのライブラリ。 |
| pio_blink | FIFOに押し込まれた遅延数に従って、さまざまな周波数でLEDを点滅させるために、いくつかのPIOステートマシンをセットアップします。 |
| PWM | PIOのパルス幅変調。それを使用して、LEDの明るさを徐々にフェードします。 |
| spi | PIOを使用して、外部SPIフラッシュチップを消去、プログラムし、読み取ります。 2番目の例では、4つのCPHA/CPOLの組み合わせすべてでループバックテストが実行されます。 |
| 四角い波 | 速い四角波をGPIOに駆動します。この例は、SDK関数を使用する代わりに、低レベルのPIOレジスタに直接アクセスします。 |
| squarewave_div_sync | 3つのgpiosで正方形の波を生成し、すべての状態マシンの分裂者を同期させます |
| ST7789_LCD | 62.5 Mbpsシリアル出力用にPIOをセットアップし、これを使用してST7789シリアルLCDにスピニング画像を表示します。 |
| quadrature_encoder | PIOを使用してCPUに依存しないカウントを維持する四角化エンコーダー。 |
| quadrature_encoder_substep | 標準の四方率エンコーダーを使用した高解像度速度測定 |
| uart_rx | UARTシリアルポートの受信コンポーネントを実装します。スペアアームUARTに添付して、キャラクターを受け取るのを確認します。 |
| uart_tx | UARTシリアルポートの送信コンポーネントを実装し、Hello Worldを印刷します。 |
| WS2812 | WS2812アドレス指定可能なRGB LEDの運転の例。 |
| 追加 | PIOを使用して2つの整数を一緒に追加します。 Cortex-M0+よりも約80億倍遅い。 |
PWM
| アプリ | 説明 |
|---|
| hello_pwm | GPIOでPWM出力を駆動する最小限の例。 |
| LED_FADE | 低輝度と高輝度の間でLEDをフェードします。割り込みハンドラーは、カウンターがラップするたびにPWMスライスの出力レベルを更新します。 |
| Measure_duty_cycle | 一連のデューティサイクルでPWM出力を駆動し、入力モードで別のPWMスライスを使用してデューティサイクルを測定します。 |
リセット
| アプリ | 説明 |
|---|
| hello_reset | 一部の周辺機器でハードリセットを実行し、それらを取り戻します。 |
RTC
| アプリ | 説明 |
|---|
| hello_rtc | RTCに日付/時刻を設定し、現在の時刻を繰り返し印刷して、1秒あたり10回印刷して、更新を表示します。 |
| RTC_ALARM | RTCにアラームを設定して、将来5秒後に日付/時刻に割り込みをトリガーします。 |
| rtc_alarm_repeat | RTC割り込みを1分に1回トリガーします。 |
SHA-256
| アプリ | 説明 |
|---|
| hello_sha256 | RP2350のハードウェアを使用してチェックサムを計算してPICO_SHA256ライブラリを使用する方法を示します |
| mbedtls_sha256 | MBEDTLSでのSHA-256ハードウェアアクセラレーションを使用して実証します |
spi
| アプリ | 説明 |
|---|
| BME280_SPI | SPIを介してBME280温度/湿度/圧力センサーを取り付けます。 |
| MPU9250_SPI | SPIを介してMPU9250加速度計/gyoscopeを取り付けます。 |
| SPI_DMA | DMAを使用して、SPIと同時にデータを転送します。 SPIはループバック用に構成されています。 |
| spi_flash | SPIコントローラーの1つに接続されたシリアルフラッシュデバイスを消去、プログラム、および読み取ります。 |
| spi_master_slave | マスターおよびスレーブとしてSPIコミュニケーションを実証します。 |
| max7219_8x7seg_spi | SPI経由で8桁の7セグメントディスプレイを運転するmax7219を添付する |
| max7219_32x8_spi | SPI経由で32x8 LEDディスプレイを運転するMAX7219を添付する |
システム
| アプリ | 説明 |
|---|
| boot_info | SYS情報のブート情報を読み取り、解釈する方法を示します。 |
| hello_double_tap | pico_bootsel_via_double_resetライブラリがリンクされたLEDの点滅。これにより、USBブートローダーは、リセットボタンがありますがブートセルボタンがないボードに役立つシステムを2回連続して2回リセットすると検出すると入力されます。 |
| ランド | PICO乱数関数の使用方法を示します。 |
| larth_io_write | 32ビットIOレジスタに8ビットと16ビットの書き込みの効果を示します。 |
| inquire_board_id | ボードの一意の識別子として機能する外部フラッシュから64ビットの一意のIDを読んでください。 |
タイマー
| アプリ | 説明 |
|---|
| hello_timer | システムタイマーのコールバックを設定します。これは、定期的に繰り返されます。完了したらタイマーをキャンセルします。 |
| riveric_sampler | タイマーコールバックのGPIOをサンプリングし、サンプルを同時実行セーフキューに押し込みます。フォアグラウンドで実行されているコードのキューからのポップデータ。 |
| Timer_lowlevel | タイマーハードウェアへの直接アクセスの例。 SDKはIOタイムアウトにタイマーを使用する場合があるため、一般的にはお勧めしません。 |
uart
| アプリ | 説明 |
|---|
| hello_uart | stdioを通過せずに、UARTシリアルポートの1つからテキストを印刷します。 |
| LCD_UART | UART経由で16x02 RGB LCDディスプレイにテキストとシンボルを表示 |
| uart_advanced | RX割り込み、ハードウェア制御フロー、8N1以外のデータ形式など、他のUART機能を使用します。 |
ユニバーサル
これらは、RP2040およびRP2350 ARM&RISC-Vで実行されるユニバーサルバイナリを構築する方法の例です。これらには、両方のアーキテクチャのコンパイラを確保するために、 PICO_ARM_TOOLCHAIN_PATHとPICO_RISCV_TOOLCHAIN_PATH適切なパスに設定する必要があります。
| アプリ | 説明 |
|---|
| まばたき | まばたきの例と同じですが、普遍的です。 |
| hello_universal | PICOの義務的なHello Worldプログラム(USBおよびシリアル出力)。 RP2350では、10枚のプリントごとに他のアーキテクチャに再起動します。 |
| nuke_universal | 核の例と同じですが、普遍的です。 RP2350でパッケージ化されたSRAMバイナリとして実行されるため、Flashに書き込まれ、ブートローダーによってSRAMにコピーされます |
USBデバイス
tinyusbの例
USBデバイスの例のほとんどは、こちらのTinyUSBデバイスの例ディレクトリから直接入手しています。 RP2040デバイスでサポートされているものは、 tinyusb_dev_<example_name>という名前のターゲットとしてPico-Examplesビルドの一部として自動的に含まれています。 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がソースツリー内で例を構築する方法に合わせてセットアップされています。
raspberry pi sdkでデバイスモードでtinyusbを使用するためにCMakeLists.txtを構成する方法のより良い例については、以下を参照してください。
SDKビルドの例
| アプリ | 説明 |
|---|
| dev_hid_composite | 同じ名前のtinyusbデバイスの例のコピーですが、cmakelists.txtがあります。 |
低レベルの例
| アプリ | 説明 |
|---|
| dev_lowlevel | USBハードウェアに直接アクセスして実装されたUSBバルクループバック(tinyUsbなし) |
USBホスト
すべてのUSBホストの例は、こちらのTinyUSBホストの例ディレクトリから直接入手しています。 RP2040デバイスでサポートされているものは、Pico-Examplesビルドの一部としてtinyusb_host_<example_name>という名前のターゲットとして自動的に含まれています。 as tinyusb_host_cdc_msc_hid 。
執筆時点で、利用可能なホストの例は1つだけです。
USBデュアルモード
USBデュアルモードは、PIOをUSBホストコントローラーとして使用し、RP2040 USBデバイスコントローラーをデバイスコントローラーとして使用します。すべてのUSBデュアルの例は、こちらのTinyUSBデュアル例ディレクトリから直接入手しています。 RP2040デバイスでサポートされているものは、Pico-Examplesビルドの一部としてtinyusb_dual_<example_name>という名前のターゲットとして自動的に含まれています。としてtinyusb_dual_host_hid_to_device_cdc 。
執筆時点では、利用可能なデュアル例は1つだけです。
- tinyusb_dual_host_hid_to_device_cdc
ウォッチドッグ
| アプリ | 説明 |
|---|
| hello_watchdog | ウォッチドッグタイマーを設定し、期限切れにします。再起動を検出し、停止します。 |