a vim plugin that displays stuff on an led matrix

docs: add a firmware readme

dunkirk.sh d972e9be 379f8b0a

verified
+50 -4
+50 -4
firmware/README.md
··· 4 5 ## Building 6 7 1. Make sure you have the Pico SDK set up (automatically handled by the Nix flake) 8 - 2. Configure the build: 9 ``` 10 cmake -B build -S . 11 ``` 12 - 3. Build the firmware: 13 ``` 14 cmake --build build 15 ``` 16 - 4. The output files will be in the `build` directory: 17 - `daedalus_firmware.uf2`: UF2 file for drag-and-drop programming 18 - `daedalus_firmware.elf`: ELF file for debugging 19 - `daedalus_firmware.hex`: HEX file for programming with external tools 20 21 ## Flashing 22 23 Connect the RP2350 board in bootloader mode (hold BOOTSEL while connecting USB) and copy the UF2 file: 24 25 ``` ··· 30 31 ``` 32 picotool load -x build/daedalus_firmware.uf2 33 - ```
··· 4 5 ## Building 6 7 + ### Using the Makefile (Recommended) 8 + 9 + The project includes a Makefile that simplifies the build process: 10 + 11 1. Make sure you have the Pico SDK set up (automatically handled by the Nix flake) 12 + 2. Build the firmware: 13 + ``` 14 + make 15 + ``` 16 + 3. The output files will be in the `build` directory 17 + 18 + ### Manual Build 19 + 20 + If you prefer to use CMake directly: 21 + 22 + 1. Configure the build: 23 ``` 24 cmake -B build -S . 25 ``` 26 + 2. Build the firmware: 27 ``` 28 cmake --build build 29 ``` 30 + 3. The output files will be in the `build` directory: 31 - `daedalus_firmware.uf2`: UF2 file for drag-and-drop programming 32 - `daedalus_firmware.elf`: ELF file for debugging 33 - `daedalus_firmware.hex`: HEX file for programming with external tools 34 35 ## Flashing 36 37 + ### Using the Makefile (Recommended) 38 + 39 + Flash the firmware to the RP2350 board: 40 + 41 + ``` 42 + make flash 43 + ``` 44 + 45 + If the board is already running firmware and needs to be forced into programming mode: 46 + 47 + ``` 48 + make FORCE_FLASH=1 flash 49 + ``` 50 + 51 + ### Manual Flashing 52 + 53 Connect the RP2350 board in bootloader mode (hold BOOTSEL while connecting USB) and copy the UF2 file: 54 55 ``` ··· 60 61 ``` 62 picotool load -x build/daedalus_firmware.uf2 63 + ``` 64 + 65 + ## Debugging 66 + 67 + Generate disassembly for debugging: 68 + 69 + ``` 70 + make disasm 71 + ``` 72 + 73 + ## Development 74 + 75 + The firmware uses both cores of the RP2040: 76 + - Core 0: Handles the main application logic 77 + - Core 1: Manages the LED matrix display 78 + 79 + The LED matrix is organized in a 4x6 grid, with rows and columns controlled by GPIO pins.