bughelp wanted
Repository-Metriken
- Stars
- (20.368 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 20T 9h) (27 gemergte PRs in 30 T)
Beschreibung
Describe the Bug
All the eeprom function signatures provided by avr-libc accept a void* address parameter for the EEPROM offset. This causes problems with AVR when attempting to address 32kB (using signed offsets) or 64kB (when using unsigned).
ChibiOS/ARM reuse the same function signatures to ensure compatibility across the rest of QMK -- these have no issue with addressing as the pointer size is 32-bit.
Suggested fix
- Rework the persistent storage as a separate subsystem, perhaps called
nvram_read_byte()and similar, which provides the same set of functions, but withuint32_toffsets. - Relocate things like the Teensy SmartEEPROM to match the current
drivers/eeprom/structure. - Relocate the emulated flash to the same location.