-
Notifications
You must be signed in to change notification settings - Fork 2.1k
buildsystem/CI: Use of BOARD_INSUFFCIENT_MEMORY becomes a maintainace burdon #11128
Copy link
Copy link
Closed
Labels
Area: CIArea: Continuous Integration of RIOT componentsArea: Continuous Integration of RIOT componentsArea: build systemArea: Build systemArea: Build systemState: staleState: The issue / PR has no activity for >185 daysState: The issue / PR has no activity for >185 daysType: cleanupThe issue proposes a clean-up / The PR cleans-up parts of the codebase / documentationThe issue proposes a clean-up / The PR cleans-up parts of the codebase / documentationType: enhancementThe issue suggests enhanceable parts / The PR enhances parts of the codebase / documentationThe issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Metadata
Metadata
Assignees
Labels
Area: CIArea: Continuous Integration of RIOT componentsArea: Continuous Integration of RIOT componentsArea: build systemArea: Build systemArea: Build systemState: staleState: The issue / PR has no activity for >185 daysState: The issue / PR has no activity for >185 daysType: cleanupThe issue proposes a clean-up / The PR cleans-up parts of the codebase / documentationThe issue proposes a clean-up / The PR cleans-up parts of the codebase / documentationType: enhancementThe issue suggests enhanceable parts / The PR enhances parts of the codebase / documentationThe issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Description
Currently for every test and application the
BOARD_INSUFFICIENT_MEMORYvariable needs to be manually maintained. This makes adding new boards with low RAM/FLASH a nightmare. Also, boards will practically never be removed fromBOARD_INSUFFCIENT_MEMORY, even though newer toolchains and improvements in code could result in lower RAM/ROM requirements.Additionally, theBOARD_INSUFFICIENT_MEMORYapproach reduces compilation test coverage. E.g. a test will not be compiled at all when blacklisted viaBOARD_INSUFFCIENT_MEMORY, but only the linking stage will fail because of insufficient RAM/flash. Any possible issue that the compilation stage would uncover remain unrevealed.Update: Only the linking step is skipped when blacklisted via
BOARD_INSUFFICIENT_MEMORYBrainstorming of Possible Alternatives
RAM_PROVIDEDandFLASH_PROVIDEDto every MCU, let boards override those in case of bootloaders. AddRAM_REQUIREDandFLASH_REQUIREDto every test and example