bughelp wanted
Métriques du dépôt
- Stars
- (20 368 stars)
- Métriques de merge PR
- (Merge moyen 20j 9h) (27 PRs mergées en 30 j)
Description
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.