Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about Arduino and the EEPROM space #3853

Closed
boelle opened this issue May 25, 2016 · 4 comments
Closed

Question about Arduino and the EEPROM space #3853

boelle opened this issue May 25, 2016 · 4 comments

Comments

@boelle
Copy link
Contributor

boelle commented May 25, 2016

From @Roxy-3DPrintBoard on March 3, 2016 3:34

I'm hoping this is an easy question and I don't have to go create an account over at the Arduino forums and ask what I'm sure is a stupid question:

Q: Is there a #define'd value that tells me how big the EEPROM is on a given AVR chip?

Bonus question:

Q: Is there a #define'd value that tells me the start and end address (or index) of the EEPROM on a given AVR chip?

PS. I did look and find a million different EEPROM.h files. It sure looks like at the lowest level this information is available to the C code. But I'm having trouble finding it.

Copied from original issue: MarlinFirmware/MarlinDev#376

@boelle
Copy link
Contributor Author

boelle commented May 25, 2016

From @CONSULitAS on March 3, 2016 9:40

@Roxy-3DPrintBoard
Hi Roxy,

perhaps this helps:

http://playground.arduino.cc/Code/EEPROMex (see at the end)
moved: https://github.com/thijse/Arduino-EEPROMEx

http://forum.arduino.cc/index.php?topic=56336.0 (see #1 und #3)

@boelle
Copy link
Contributor Author

boelle commented May 25, 2016

From @Roxy-3DPrintBoard on March 3, 2016 14:24

@CONSULitAS

THANKS!!!! Somebody else needed the same information... At http://www.nongnu.org/avr-libc/user-manual/group__avr__io.html are #define values for the details about all the memory types.

Finally, the following macros are defined:

RAMEND       The last on-chip RAM address. 
XRAMEND      The last possible RAM location that is addressable. This is equal to RAMEND for devices
             that do not allow for external RAM. For devices that allow external RAM, this will be 
             larger than RAMEND. 
E2END        The last EEPROM address. 
FLASHEND     The last byte address in the Flash program space. 
SPM_PAGESIZE For devices with bootloader support, the flash pagesize (in bytes) to be 
             used for the SPM instruction.
E2PAGESIZE   The size of the EEPROM page.

Because it is a Harvard Architecture, all of the addresses start at 0x0000. (I haven't found that said anywhere. But because they are not saying it, or defining values for the start, I suspect that is true.)

@jbrazio
Copy link
Contributor

jbrazio commented May 27, 2016

Thank you for your interest making Marlin better and reporting this issue but this topic has been open for a long period of time without any further development. Marlin has been under heavy development for the past couple of months and moving to it's last mile to finish the RC cycle and release Marlin v1.1.0. We suggest you to try out the latest RCBugfix branch and reopening this issue if required.

@jbrazio jbrazio closed this as completed May 27, 2016
@github-actions
Copy link

github-actions bot commented Apr 8, 2022

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Apr 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants