| Problem | Likely Cause | Solution from PDF | |---------|--------------|--------------------| | No handshake response | Wrong baud rate | Set 115200 8N1, no flow control | | Payload crashes after 1 second | Missing stack pointer init | Set SP to 0x8000 - 16 | | Checksum mismatch | Binary includes BSS section | Use --only-section=.text | | Pi reboots in a loop | Payload too large (>64KB) | Split into multiple stages |

The PDF’s Chapter 7 provides a logic analyzer waveform showing exactly what a valid RPUL transaction looks like — invaluable for debugging with a Saleae or DSLogic. | Bootloader | Protocol | Encryption | Multi-core | GPU Aware | Primary Use | |------------|----------|------------|------------|-----------|--------------| | RPUL | Custom UART/SPI | Optional AES | Yes | Yes | Research/recovery | | U-Boot | TFTP, MMC, USB | No | Partial | No | General Linux boot | | Barebox | Similar to U-Boot | No | Partial | No | Embedded Linux | | Raspberry Pi bootloader | Proprietary | Yes | Yes | Yes | Official OS boot |

Last updated: April 2026