2023年8月1日火曜日

Pico Stack SDR [Pico SDR IQ.uf2] ARM GCC コンパイル


ソースファイル[Pico_SDR_IQ]をARM GCC コンパイルしました。
プログラム内容は【ADC0】【ADC1】信号をデジタル変換し√(I²+Q²)計算、信号を復調し【PICO_PWM】からオーディオアンプに出力しています。
●ZEPエンジニアリング株式会社: 





ダイレクトコンバージョン接続 プログラム検波
書込ファイル[Pico SDR IQ.uf2]





ZEPエンジニアリング株式会社公開
プログラム書込・実行


●Pico Digital Boardプログラムダウンロード:【5_PicoStackSDR_program.zip
5_PicoStackSDR_program>PicoStackSDR_program>bin

[bin]中に3つの実行ファイル(.uf2)があります。
●プログラムの書込みは基板に電源が供給した状態で【BOOTSEL】ボタンを押したままUSBコネクタをRaspberry Pi Picoに接続しボタンを離すと【RPI-RP2】が現れます
「または、USBを接続した状態で【BOOTSEL】ボタンを押したまま【RUN】(リセット)ボタンを一度押して【BOOTSEL】ボタンを離す」
●【Pico_SDR_IQ.uf2】→【RPI-RP2】ドラッグ・アンド・ドロップすると書込・実行。タクトスイッチを操作すると周波数と音量を変更することができます。



ソースファイルのコンパイルについて


事前にSDKとサンプル・プログラムをインストールする。

●PicoStackSDR_program>source中に3つのソースファイルがありますが、これだけではコンパイルできません。

【Pico_SDR_IQ】ソースフォルダをコピーし【Pico】フォルダに貼付。













【Pico_SDR_IQ】フォルダに
[CMakeLists][Pico_SDR_IQ]ファイルがあります。









次に【pico-examples】フォルダの[pico_sdk_import]ファイルをコピーします。






【Pico_SDR_IQ】フォルダに
[pico_sdk_import]ファイルを貼付けます。

次にフォルダ内[CMakeLists]リストを編集します。


Pico_SDR_CIC>CMakeListsリスト
add_executable(Pico_SDR_IQ Pico_SDR_IQ.c)

# Pull in our pico_stdlib which aggregates commonly used features
target_link_libraries(Pico_SDR_IQ pico_stdlib pico_multicore hardware_gpio  hardware_timer hardware_adc hardware_pwm hardware_i2c hardware_irq hardware_dma)

# enable usb output, disable uart output
pico_enable_stdio_usb(Pico_SDR_IQ 1)
pico_enable_stdio_uart(Pico_SDR_IQ 0)

# create map/bin/hex/uf2 file etc.
pico_add_extra_outputs(Pico_SDR_IQ)






pico-examples>CMakeLists リストの先頭から
# Initialize the SDK
pico_sdk_init() 
までコピーしてPico_SDR_CIC>CMakeListsリストの先頭に貼付
pico-examples>CMakeLists リスト追加部分
コンパイルエラーが発生するので
include(pico_extras_import_optional.cmake)先頭に#をつけてコメントアウトにする。

cmake_minimum_required(VERSION 3.12)

# Pull in SDK (must be before project)
include(pico_sdk_import.cmake)

# include(pico_extras_import_optional.cmake)

project(pico_examples C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

if (PICO_SDK_VERSION_STRING VERSION_LESS "1.3.0")
    message(FATAL_ERROR "Raspberry Pi Pico SDK version 1.3.0 (or later) required. Your version is ${PICO_SDK_VERSION_STRING}")
endif()

set(PICO_EXAMPLES_PATH ${PROJECT_SOURCE_DIR})

# Initialize the SDK
pico_sdk_init()


Pico_SDR_CIC>CMakeLists 追加後のリスト
cmake_minimum_required(VERSION 3.12)

# Pull in SDK (must be before project)
include(pico_sdk_import.cmake)

# include(pico_extras_import_optional.cmake)

project(pico_examples C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

if (PICO_SDK_VERSION_STRING VERSION_LESS "1.3.0")
    message(FATAL_ERROR "Raspberry Pi Pico SDK version 1.3.0 (or later) required. Your version is ${PICO_SDK_VERSION_STRING}")
endif()

set(PICO_EXAMPLES_PATH ${PROJECT_SOURCE_DIR})

# Initialize the SDK
pico_sdk_init()

add_executable(Pico_SDR_IQ Pico_SDR_IQ.c)

# Pull in our pico_stdlib which aggregates commonly used features
target_link_libraries(Pico_SDR_IQ pico_stdlib pico_multicore hardware_gpio  hardware_timer hardware_adc hardware_pwm hardware_i2c hardware_irq hardware_dma)

# enable usb output, disable uart output
pico_enable_stdio_usb(Pico_SDR_IQ 1)
pico_enable_stdio_uart(Pico_SDR_IQ 0)

# create map/bin/hex/uf2 file etc.
pico_add_extra_outputs(Pico_SDR_IQ)




Windowsスタート・メニューから【すべてのアプリ >】【Visual Studio 2022】【Developer Command Prompt for VS 2022】起動。
【code】インプット
Visual Studio から
Pico>Pico_SDR_IQフォルダを開く







[GCC 10.3.1 arm-none-eabi]クリック
[Build     ]クリック

コンパイルが終了すると
『Build completed....』


【build】フォルダと
[Pico_SDR_CIC.uf2]実行ファイルが作成される。







0 件のコメント:

コメントを投稿

Raspberry Pi Donkey Car スマートカー

  2020年に製作したDonkey Car スマートカー について記事にしました。 Donkey CarはRaspberry Pi のカメラからコースを ディープラーニングさせ自動走行を行います。(動画は白線上を自動走行)   動画