2023年8月1日火曜日

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

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



スーパーヘテロダイン接続 プログラム検波
書込ファイル[Pico SDR CIC.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_CIC.uf2】→【RPI-RP2】ドラッグ・アンド・ドロップすると書込・実行。タクトスイッチを操作すると周波数と音量を変更できます。



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


事前にSDKとサンプル・プログラムをインストールする。
●PicoStackSDR_program>source中に3つのソースファイルがありますが、これだけではコンパイルできません。

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







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






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







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

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

add_executable(Pico_SDR_CIC Pico_SDR_CIC.c)

# Pull in our pico_stdlib which aggregates commonly used features
target_link_libraries(Pico_SDR_CIC 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_CIC 1)
pico_enable_stdio_uart(Pico_SDR_CIC 0)

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






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_CIC Pico_SDR_CIC.c)

# Pull in our pico_stdlib which aggregates commonly used features
target_link_libraries(Pico_SDR_CIC 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_CIC 1)
pico_enable_stdio_uart(Pico_SDR_CIC 0)

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



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



[GCC 10.3.1 arm-none-eabi]クリック
[Build ]クリック
コンパイルが終了すると
『Build finished.......   』

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



0 件のコメント:

コメントを投稿

Raspberry Pi Donkey Car スマートカー

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