Change Note 2025-06-16
Pico2-Ice Board
Support for New Board: Pico2-Ice
- The Pico2-Ice combines an RP2350B with a Lattice Semi iCE40UP5K FGPA. Note the
B
variant of the RP2350 with 48 GPIO pins. - New module to support configuring the FPGA hardware logic from the RP2350, using a binary resource (see Astrobe docs) containing the bitstream file, writing the FPGA’s configuration RAM (CRAM).
- First steps…
- Example program: configure the FPGA (see below).
Module Library (lib/v2.1)
New Module Ice40up5k
- Basic device definition and initialisation.
- Procedure
StartCram
: start FPGA by configuring CRAM. - Procedure
StartFlash
: start FPGA by making it read its configuration from the on-board flash memory dedicated to the FPGA.
New Module ClockOut
- Configure and start a clock output via GPIO.
New Module BinRes
- Access an FPGA bitstream-type binary resource included in the program file.
- See the Astrobe docs about including resources.
Module ClockCtrl
- Remove procedure
Monitor
. - Use module
ClockOut
instead.
Module Timers
- Add a simple blocking delay function.
Module GPIO (Any)
- New procedure
ResetPad
: reset a pad to its reset condition. - New procedures
ConnectOutput
andDisconnectOutput
, planned to replaceEnableOutput
andDisableOutput
, to differentiate the two output controls from the GPIO function and on the pad. - Improve procedure
SetInverters
.
Module GPIO (RP2350A, RP2350B)
- With its 48 GPIO, the RP2350B “reaches” into the upper “HI” register of SIO.
- Add a first set of procedures for this purpose, required and used in the example program for the Pico2-Ice board.
- Not yet sure how to best handle this, though. Consider these new SIO procedures as experimental. SIO control of GPIO may be separated into a new module.
Module MCU2
- Add
null
GPIO function number. - Add values related to clock output set-up (see module
ClockOut
).
Module LED
- Add board-specific module for the Pico2-Ice, which has three LEDs for the RP2350, in the form of an RGB LED.
Config Files
- New config file for the Pico2-Ice.
Tools
- New tool
makebres
: create a binary resource to include in the program binary (see Astrobe docs).
Example Programs
- New example program for Pico2-Ice: configure the FPGA by writing its CRAM directly. The FPGA hardware logic is, you guessed it, a blinker, but a fancy RGB one :)
- Note the use of local modules
Main
due to the different serial pins required for the terminals. - Test a few existing example programs on the Pico2-Ice.