Skip to content

Added Installation and CRAM instructions. #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
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
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,17 @@
| [Discord](https://discord.gg/t2CzbAYeD2)

This is the SDK for building custom firmware for the RP2040 on the [pico-ice](https://pico-ice.tinyvision.ai/) board.
Part of this SDK runs on the RP2040 on the Pico-Ice circuit board, it is used to build the pico-ice firmware. Part runs on your desktop, and communicates with the pico-ice over a USB cable.

## Installation

First clone this repository.

`git clone https://github.com/tinyvision-ai-inc/pico-ice-sdk`

Then install the two libraries it requires.

```
cd pico-ice-sdk
git submodule update --init
```
34 changes: 32 additions & 2 deletions examples/pico_cram/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
# pico_cram
# Pico-Ice Cram Configuration

Program an `rgb_blink.bin` bitstream, prior embedded into a code array (see `rgb_blink.py` and `rgb_blink.h` to the FPGA CRAM.
There are two ways to program the FPGA. A bitstream can be witten to
FLASH and loaded by the FPGA when booting, or the bitstream can be
directly written to the fpga's configuration RAM (cram) by the RP2040 chip.
This SDK example shows how to directly write the bitstream to the cram.

To build the executable, first follow the installation instructions in the root directory and then type:


`cmake .`

This drives a multistage process. In the first stage, a python
program reads in the bitstream and writes out a .h file with the
bitstream data embedded in it.

python3 rgb_blink.py > rgb_blink.h

In the second stage, the new .h file is compiled into an executable found at

`examples/pico_cram/picoasm/picoasm`

This is an RP2040 executable which can be run on the RP2040 and will
drive the cram initialization process for the FPGA. Just drag it over to the usb drive, and
it will install the bitstream on the FPGA. You will need to do this everytime that you power on the board.

If you want to install a different bitstream on the FPGA, just overwrite `rgb_blink.bin` with your bitstream and rerun

`cmake .`
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think it is good to advise people to use mkdir build && cd build && cmake .. as otherwise it creates all sorts of temporary files everywhere.

Here are commands that seems to be the way to go:

cmake -S . -B build
cmake --build build


## TODO

Pasa an argument to the cmake file with the name of the bitstream to be used.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Small typo here:

Suggested change
Pasa an argument to the cmake file with the name of the bitstream to be used.
Pass an argument to the cmake file with the name of the bitstream to be used.