Platforms need common symbols for indicating RAM size.
- Dominant language
- Java
- Stars
- 14.6k
- Forks
- 7k
- PR merge metrics
- No merged PRs in 30d
Description
AVR arduinos define RAMSTART and RAMEND, Due defines IRAM0_SIZE and IRAM0_ADDR, and Zero defines HMCRAMC0_SIZE and HMCRAM0_ADDR. (All via the Atmel include files...)
For the sake of sketches that want to run on all platforms, and want to modify their memory consumption based on how much memory is available (ie in buffers; similar to the way that HarwareSerial sizes the ISR buffers), it would be nice to have common symbols that would allow a programmer to determine memory size. (probably RAMSTART and RAMEND, since they're already in use. I had to dig to find the SAM symbols.)
Contributor guide
Research direction
Start by comparing the Atmel include files and platform definitions for AVR RAMSTART/RAMEND, Due IRAM0_SIZE/IRAM0_ADDR, and Zero HMCRAMC0_SIZE/HMCRAM0_ADDR. Determine a common RAM-size interface usable by sketches across these platforms; done means the symbols are consistently available and their values represent each platform's available RAM.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- arduino, cpp
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100