Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,20 @@ The firmware is still in development so features might change, be added or remov
- Uses the [TinyUSB](https://github.com/hathach/tinyusb) stack

### Building
You can build the firmware using the Pico SDK 2.1.1 and the included TinyUSB. Be sure to clone the SDK with `--recurse-submodules`.
After download run `cd pico-sdk/lib/tinyusb` and then `python3 tools/get_deps.py PICO_PLATFORM` where PICO_PLATFORM is either rp2040 or rp2350 depending on the board you are using.

You'll need to clone the Raspberry Pico SDK, extras and Picotool repositories and ensure the latter is build for your OS. Assuming a Release build for the Raspberry Pico 2040-based device, the following instructions can be used:

```sh
> git clone --recurse-submodules https://github.com/raspberrypi/pico-sdk
> git clone --recurse-submodules https://github.com/raspberrypi/pico-extras
> export PICO_SDK_PATH=`pwd`/pico-sdk
> export PICO_EXTRAS_PATH=`pwd`/pico-extras
> git clone --recurse-submodules https://github.com/raspberrypi/picotool picotool-src
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

picotool is actually not needed as download, the build process will download this by itself if not found on path. Here's an example:

cmake -S $(pwd)/repo -B build_test -DPICO_BOARD=pico -DPICO_PLATFORM=rp2040
-- LOG_LEVEL is DEBUG
<snip>
-- Set USB product: USBSID-Pico v1.0
CMake Warning at /home/loud/Development/pi/pico-sdk/tools/Findpicotool.cmake:30 (message):
  No installed picotool with version 2.1.1 found - building from source

  It is recommended to build and install picotool separately, or to set
  PICOTOOL_FETCH_FROM_GIT_PATH to a common directory for all your SDK
  projects
Call Stack (most recent call first):
  /home/loud/Development/pi/pico-sdk/tools/CMakeLists.txt:168 (find_package)
  /home/loud/Development/pi/pico-sdk/tools/CMakeLists.txt:688 (pico_init_picotool)
  /home/loud/Development/pi/pico-sdk/src/cmake/on_device.cmake:81 (picotool_postprocess_binary)
  CMakeLists.txt:633 (pico_add_extra_outputs)


Downloading Picotool
Using picotool from /home/loud/Development/c64/USBSID-Pico-dev/build_test/_deps/picotool/picotool
<snip>

> cmake -S picotool-src -B picotool-src/build -DCMAKE_INSTALL_PREFIX=`pwd`/picotool -DPICOTOOL_FLAT_INSTALL=1
> (cd picotool-src/build && make -j `nproc` install)
> cmake -B build -DCMAKE_BUILD_TYPE=Release -DPICO_PLATFORM=rp2040 -DPICO_BOARD=pico -Dpicotool_DIR=`pwd`/picotool/picotool -DONBOARD_EMULATOR=0
> cmake --build build --config Release -j `nproc`
```

# Hardware
## Where to buy
Expand Down