Skip to content

Bug: EEPROM addresses after compiling changed in new Arduino Software 1.6.4 #3061

Closed
@jack-zande

Description

@jack-zande

Hello all,

I use EEMEM with library #include <avr/eeprom.h>.
It very practical, because I can use "read block", "update block" and "write block"
without giving EEPROM addresses.

Example:

EEMEM uint8_t EEPROM_K[12] =
{ 0xE8, 0x03, 0x00, 0x00,
  0xD0, 0x07, 0x00, 0x00,
  0xC8, 0x00, 0x00, 0x00 };           // E8 03 00 00 _ D0 07 00 00 _ C8 00 00 00

uint8_t K_bytes[12];

eeprom_read_block((void*)K_bytes, (const void*)EEPROM_K, 12);

When doing variable declaration, according to the AVR-documentation (attached),
the compiler should begin with address 0 and ascending 1,2,3, ................

In the new version 1.6.4 the last EEMEM declaration begins with address 0. It has
changed the EEPROM addressing in a reversed way (from down to up)

V1.0.5

                                                       // EEPROM-addresses
EEMEM char string1[6]= "abcdef";  // 0, 1, 2 , 3, 4, 5

EEMEM char string2[6]= "ghijkl";    // 6, 7, 8, 9, 10, 11

Now with V1.6.4 (not logical for humans)

                                                        // EEPROM-addresses
EEMEM char string1[6]= "abcdef";  // 6, 7, 8, 9, 10, 11

EEMEM char string2[6]= "ghijkl";    // 0, 1, 2 , 3, 4, 5

Jack

Metadata

Metadata

Assignees

Labels

Type: InvalidOff topic for this repository, or a bug report determined to not actually represent a bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions