By Wolfgang Keller
Originally written 2023-03-13
Last modified 2024-07-04
Course of action (following the approach outlined in the document Pico DVI Test (ZIP) [visited 2023-04-03T22:35:19Z] linked under Raspberry Pi Pico DVI Sock - Videoausgabe für den Pico [visited 2023-03-12T21:15:30Z]):
We use a Raspberry Pi and Raspberry Pi OS to program the Raspberry Pi Pico. Under this OS, use
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
to install the necessary compiler packages. According to the linked document, if you use Arch, you use
sudo pacman -S cmake arm-none-eabi-gcc arm-none-eabi-newlib base-devel
instead. Next, install the Pico C/C++ SDK:
cd ~ mkdir pico cd pico git clone "https://github.com/raspberrypi/pico-sdk cd pico-sdk git submodule update --init
Next, clone the PicoDVI repo of Luke Wren:
cd ~/pico git clone https://github.com/Wren6991/PicoDVI.git
Check that in PicoDVI/software/include/common_dvi_pin_configs.h, the following is defined:
#ifndef DVI_DEFAULT_SERIAL_CONFIG
#define DVI_DEFAULT_SERIAL_CONFIG pico_sock_cfg
#endif
Now build the examples:
cd PicoDVI/software/ mkdir build cd build export PICO_SDK_PATH=~/pico/pico-sdk cmake -DPICO_COPY_TO_RAM=1 .. make -j$(nproc)
For an explanation of this step, see PicoDVI/software at master · Wren6991/PicoDVI · GitHub [visited 2023-04-03T23:24:10Z]. The built examples can be found in the ~/pico/PicoDVI/software/build/apps folder. Connect the modded Raspberry Pi Pico board to an HDMI port. Press and hold the BOOTSEL key on the Raspberry Pi Pico board, then connect the board to your PC or Raspberry Pi. The Raspberry Pi Pico gets mounted to /media/${USER}/RPI-RP2. Copy some {app}/{app}.uf2 file into this folder, e.g. cp apps/sprite_bounce/sprite_bounce.uf2 /media/${USER}/RPI-RP2/.
Programming a USB keyboard with Raspberry Pi Pico SDK [published 2023-07-09; visited 2024-03-06T23:27:45Z]
By the way: other texts of Macoy Madson about the Raspberry Pi 4 and its GPU are linked on the GPU Programming: Raspberry Pi (VideoCore IV, VideoCore VI, VideoCore VII) page.