Raspberry Pi Pico Update: Difference between revisions
From Foenix F256 / Wildbits/K2 Wiki
Jump to navigationJump to search
m (→Overview) |
No edit summary |
||
| Line 9: | Line 9: | ||
* Contains the K2 LCD screen special bitmap to be shown at bootup | * Contains the K2 LCD screen special bitmap to be shown at bootup | ||
* Has modifiable code that can invite more features and possibly a faster bootup | * Has modifiable code that can invite more features and possibly a faster bootup | ||
=== Preparing new pico flash files === | |||
Check this [https://github.com/wildbitscomputing/fpga-manager fpga manager] repo from Cibee which can tweak and compile such files into .uf2. This project uses VSCode, the pico sdk and openocd in order to do everything. | |||
Here's a summary of the booting time gains that were accomplished by Cibee: | |||
[[File:Fpga Manager Benchmark.png|thumb]] | |||
=== Opening the case === | === Opening the case === | ||
| Line 14: | Line 22: | ||
You can refer to this section to learn how you can be [[Opening_the_F256K_case]] | You can refer to this section to learn how you can be [[Opening_the_F256K_case]] | ||
=== Flashing using the onboard USB Header === | |||
Here are the steps to follow: | |||
[[File:Rp2040-cable.jpeg|thumb|Connector location, Switch S3 on the left, and cable orientation]] | |||
Installation step: | |||
* Install Cable as above (F256K2 Powered Off) | |||
* Plug Cable in any PC that holds the new programming file. | |||
* Keep 1 finger on the button | |||
* Power the F256K2 | |||
* A new folder will appear on the PC's Desktop | |||
* Drop the new .uf2 file in the newly appeared folder. | |||
* Power off F256K2 | |||
* Remove cable | |||
* Reinstall the system as your heart's desire | |||
* Power On the unit | |||
* RP2040 is updated and running (because you need it to boot the unit) | |||
* Bob's your uncle! | |||
=== Flashing using the onboard SWD Header === | |||
SWD: Serial Wire Debug. This other pin header is a second way to update your flash and gives a little more flexibility to do it piece by piece by flashing .bin at specific flash locations or .elf in one go. | |||
You'll need either: | |||
* | * a [https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html Pi Debug Probe] which comes with the necessary cable that leads to 3 female Dupont endings needed here | ||
* | * openocd tool from PicoSDK v1.5.1 or more recent | ||
* | * a prepared .bin file with updated code. | ||
* | * a conversion tool to convert .uf2 to .bin, you can use this website https://polpo.org/tmp/uf2-to-bin.html or other known tools in the pico community | ||
* | * the key step is to use openocd like so: openocd -s scripts -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000; program NewFirmware.bin verify reset exit 0x10000000" | ||
Revision as of 10:13, 14 February 2026
Raspberry Pi Pico Update
Overview
There is an onboard RP2040 chip (pi pico). It is not present on the Jr2. It's responsible for the following things:
- the bootloader procedure that loads the right core while booting the K2.
- it is also known as the "FPGA Manager"
- Contains the K2 LCD screen special bitmap to be shown at bootup
- Has modifiable code that can invite more features and possibly a faster bootup
Preparing new pico flash files
Check this fpga manager repo from Cibee which can tweak and compile such files into .uf2. This project uses VSCode, the pico sdk and openocd in order to do everything.
Here's a summary of the booting time gains that were accomplished by Cibee:

Opening the case
You can refer to this section to learn how you can be Opening_the_F256K_case
Flashing using the onboard USB Header
Here are the steps to follow:

Installation step:
- Install Cable as above (F256K2 Powered Off)
- Plug Cable in any PC that holds the new programming file.
- Keep 1 finger on the button
- Power the F256K2
- A new folder will appear on the PC's Desktop
- Drop the new .uf2 file in the newly appeared folder.
- Power off F256K2
- Remove cable
- Reinstall the system as your heart's desire
- Power On the unit
- RP2040 is updated and running (because you need it to boot the unit)
- Bob's your uncle!
Flashing using the onboard SWD Header
SWD: Serial Wire Debug. This other pin header is a second way to update your flash and gives a little more flexibility to do it piece by piece by flashing .bin at specific flash locations or .elf in one go.
You'll need either:
- a Pi Debug Probe which comes with the necessary cable that leads to 3 female Dupont endings needed here
- openocd tool from PicoSDK v1.5.1 or more recent
- a prepared .bin file with updated code.
- a conversion tool to convert .uf2 to .bin, you can use this website https://polpo.org/tmp/uf2-to-bin.html or other known tools in the pico community
- the key step is to use openocd like so: openocd -s scripts -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000; program NewFirmware.bin verify reset exit 0x10000000"