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 4 5 5 ## Building 6 6 7 + ### Using the Makefile (Recommended) 8 + 9 + The project includes a Makefile that simplifies the build process: 10 + 7 11 1. Make sure you have the Pico SDK set up (automatically handled by the Nix flake) 8 - 2. Configure the build: 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: 9 23 ``` 10 24 cmake -B build -S . 11 25 ``` 12 - 3. Build the firmware: 26 + 2. Build the firmware: 13 27 ``` 14 28 cmake --build build 15 29 ``` 16 - 4. The output files will be in the `build` directory: 30 + 3. The output files will be in the `build` directory: 17 31 - `daedalus_firmware.uf2`: UF2 file for drag-and-drop programming 18 32 - `daedalus_firmware.elf`: ELF file for debugging 19 33 - `daedalus_firmware.hex`: HEX file for programming with external tools 20 34 21 35 ## Flashing 22 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 + 23 53 Connect the RP2350 board in bootloader mode (hold BOOTSEL while connecting USB) and copy the UF2 file: 24 54 25 55 ``` ··· 30 60 31 61 ``` 32 62 picotool load -x build/daedalus_firmware.uf2 33 - ``` 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.