pico-bootrom
uf2
pico-bootrom | uf2 | |
---|---|---|
15 | 12 | |
250 | 775 | |
0.0% | 1.7% | |
0.0 | 4.8 | |
over 2 years ago | 16 days ago | |
C | JavaScript | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pico-bootrom
- How is data in RAM loaded at startup?
-
Raspberry Pi Pico W: your $6 IoT platform
Espressif is years ahead.
Original RPi-pico has only few one-ups on ESP - BSD-licensed bootrom [0] and PIO.
PicoW doesn't have any, at all. Disappointingly lazy move from pi foundation.
[0] https://github.com/raspberrypi/pico-bootrom/
- Raspberry Pi Pico: What is this code doing in its boot ROM, line 442?
- Raspberry Pi Pico: What is this obfuscated code(?) doing in its boot ROM (l.442)
-
Raspberry Pi Pico: What is this obfuscated code(?) doing in its boot ROM?
Crosslinking the two posts: https://github.com/raspberrypi/pico-bootrom/issues/17
-
Another Vulnerability in the LPC55S69 ROM
I would think that the bootloader code wouldn't use any funky IP blocks - it's not some sort of driver code into which applications call, it's just a special application that runs before anything else. It has to be able to talk UART (or some other interface), check signatures, and write flash. All of these the user code can do as well.
There are many "user-space" bootloaders as well for various chips. The factory bootloader is only different in that it sits in ROM. For example, RP2040 ROM bootloader is here https://github.com/raspberrypi/pico-bootrom
- Why does the pico accept Microsoft uf2 format rather than raw ARM machine code?
- RP2040 USB Bootloader?
uf2
-
Running C Code on Feather RP2040
And the UF2 reference from Microsoft: https://github.com/microsoft/uf2/blob/master/README.md
-
Problems flashing custom firmware to the nice!nano
I'm compiling a very stripped down example from https://github.com/embassy-rs/nrf-softdevice that should just loop forever and turn an LED on and off. I convert from a binary to the uf2 using this script linked in the adafruit bootloader repository. The command I run is uf2conv.py -c -b 0x26000 -f 0xADA52840. When running file on my binary the output is UF2 firmware image, family Nordic NRF52840, address 0x026000, 42 total blocks, exactly the same as on the ZMK image that works without a problem.
-
RP2040. Willing to compensate for a solution.
How can I (someone with no electronics or programming experience) configure my own layout using QMK Config and then compile it into a .uf2 file that works on the Sea-Picro with my Ferris Sweep?
-
Tell HN: macOS Ventura broke the entire Raspberry Pi Pico ecosystem
In case you haven't seen the UF2 file format, it's specifically designed to be robust w.r.t ensuring that the content makes it to the target intact despite common OS quirks.
https://github.com/microsoft/uf2
- Data is divided into 512 byte blocks, which lines up with the mass storage transfer size.
- UF2 Max File Size
-
RP2040 USB Bootloader?
The bootloader uses the UF2 protocol, which is cleverly designed to allow "drag and drop" flashing over USB mass storage.
-
STM32F4 Remote Firmware Update Executable Script Suggestions/Help/Guidance
I'd strongly recommend using an application-specific USB bootloader if possible. The UF2 firmware update protocol is particularly slick, as it allows users to upload new firmware over USB mass storage and requires no staging space; if using this is an option, I'd go for it.
-
Designing end products with option to update firmware via USB cable
The mentioned UF2 standard (UF2 - mdf5 checksum) actually offers the option to specifiy an MD5 checksum. Which is heavier on resources.
- Uf2: USB Flashing Format
What are some alternatives?
hn-search - Hacker News Search
littlefs - A little fail-safe filesystem designed for microcontrollers
xous-core - The Xous microkernel
webdfu - WebUSB Device Firmware Upgrade example
abi-aa - Application Binary Interface for the ArmĀ® Architecture
uf2-samdx1 - USB Mass Storage bootloader (based on UF2) for SAMD21 and SAMD51
pico-examples
McAirpos - MakeCode Arcade games in RetroPie, Recalbox 7/8 and Batocera, running natively as ELF executables on Raspberry Pi OS/Linux ARM with 1-2 gamepads
MicroPython - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
vial-qmk - QMK fork with Vial-specific features.