arduino / arduino/Arduino

Platforms need common symbols for indicating RAM size.

Open
#4,756 1 comment 0 reactions 0 assignees View on GitHub
Architecture: SAM Architecture: SAMD Component: Core feature request
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.