From 896be6271b80774b1336f857ff2dd525c404e7bc Mon Sep 17 00:00:00 2001 From: PythonLinks <34622952+PythonLinks@users.noreply.github.com> Date: Thu, 7 Nov 2024 05:12:09 +0100 Subject: [PATCH 1/2] Added installation instructions to README.md --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index af177cba..f2e7b312 100644 --- a/README.md +++ b/README.md @@ -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 +``` From f6b917090e46490a005501ffa7b3c1647ffe6c4e Mon Sep 17 00:00:00 2001 From: PythonLinks <34622952+PythonLinks@users.noreply.github.com> Date: Thu, 7 Nov 2024 05:23:36 +0100 Subject: [PATCH 2/2] Documented cram programming. --- examples/pico_cram/README.md | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/examples/pico_cram/README.md b/examples/pico_cram/README.md index 66e7c4d4..8da2addc 100644 --- a/examples/pico_cram/README.md +++ b/examples/pico_cram/README.md @@ -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 .` + +## TODO + +Pasa an argument to the cmake file with the name of the bitstream to be used.