Entry tags:
Инструментарий для Raspberry Pico: софтверная часть
Здесь я покажу, как установить софт, а собственно играться с платой начнём в следующий раз. План такой:
- Скачиваем систему программирования Pico SDK, включая примеры
- Собираем примеры
- Собираем утилиту picotool
- Компилируем прошивку для адаптера picoprobe
- Собираем интерфейс к отладчику openocd
- Устанавливаем расширения для Visual Studio Code
Система программирования Pico SDK
Скачиваем исходные тексты системы программирования Pico SDK, а также примеров. Создаём папку, где будет помещать все компоненты.Добавляем пару переменных окружения в .bashrc:mkdir ~/Project/Pico
cd ~/Project/Pico
git clone https://github.com/raspberrypi/pico-sdk
git clone https://github.com/raspberrypi/pico-examples
cd pico-sdk
git submodule update --init
Установим Си компилятор для ARM. На маке это делается командой:export PICO_SDK_PATH=$HOME/Project/Pico/pico-sdk
export PICO_EXAMPLES_PATH=$HOME/Project/Pico/pico-examples
На Линуксе:brew install cmake gcc-arm-embedded
Программирование для Pico подробно описано в документе: "Raspberry Pi Pico SDK. Libraries and tools for C/C++ development on RP2040 microcontrollers" (PDF).sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
Примеры
Скомпилируем пару примеров, чтобы убедиться, что компилятор работает правильно. Первый пример будет мигать светодиодом, второй выводить текстовую строку в серийный порт UART.Как прошивать примеры в плату - я покаже позже.cd ~/Project/Pico
cd pico-examples
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make -Cblink
make -Chello_world
Picotool: утилита прошивки через бутлоадер
Утилита picotool взаимодействует с бутлоадером, имеющемся на каждой плате Pico, и позволяет прошивать программу, читать-писать память и другие вещи.cd ~/Project/Pico
git clone https://github.com/raspberrypi/picotool.git
cd picotool
mkdir build
cd build
cmake ..
make
sudo cp picotool /usr/local/bin
Picoprobe: прошивка для адаптера к отладчику
Позже я покажу, как из второго экземпляра Raspberry Pico соорудить USB-adapter для отладки посредством GDB. А пока соберём прошивку для него.cd ~/Project/Pico
git clone https://github.com/raspberrypi/picoprobe.git
cd picoprobe
git submodule update --init
mkdir build
cd build
cmake ..
make
OpenOCD: интерфейс к отладчику
Чтобы отлаживать программы на плате Pico посредством отладчика GDB, вам понадобятся две вещи: аппаратный USB-адаптер, чтобы подключиться к пинам SWD чипа RP2040, и программный интерфейс OpenOCD. Также OpenOCD позволяет прошивать программу в плату непосредственно через порт отладки. Не нужно жать кнопку BOOTSEL и передёргивать питание.cd ~/Project/Pico
git clone https://github.com/raspberrypi/openocd.git -b rp2040 --depth=1
cd openocd
./bootstrap
./configure --enable-picoprobe
make
sudo make install
Расширения для Visual Studio Code
Многие пользуются редактором Visual Studio Code. Официальная документация Raspberry Pico содержит много примеров для программирования Pico из среды VS Code. Установить нужные расширения можно из командной строки:В следующем посте я покажу, как прошить примеры в плату Pico и подключиться к серийному порту UART.code --install-extension marus25.cortex-debug
code --install-extension ms-vscode.cmake-tools
code --install-extension ms-vscode.cpptools
no subject
Красиво. Идея git submodule порадовала меня. Dependency на уровне сорсов, отлично!
no subject
no subject
no subject
Вообще не слышал даже раньше. В нашей вселенной все git или mvn выдергивает с репо (сорсы там тоже видать).