{"action":"created","issue":{"url":"https://api.github.com/repos/arduino/Arduino/issues/3061","labels_url":"https://api.github.com/repos/arduino/Arduino/issues/3061/labels{/name}","comments_url":"https://api.github.com/repos/arduino/Arduino/issues/3061/comments","events_url":"https://api.github.com/repos/arduino/Arduino/issues/3061/events","html_url":"https://github.com/arduino/Arduino/issues/3061","id":72145626,"number":3061,"title":"Bug: EEPROM addresses after compiling changed in new Arduino Software 1.6.4","user":{"login":"jack-zande","id":12145170,"avatar_url":"https://avatars.githubusercontent.com/u/12145170?v=3","gravatar_id":"","url":"https://api.github.com/users/jack-zande","html_url":"https://github.com/jack-zande","followers_url":"https://api.github.com/users/jack-zande/followers","following_url":"https://api.github.com/users/jack-zande/following{/other_user}","gists_url":"https://api.github.com/users/jack-zande/gists{/gist_id}","starred_url":"https://api.github.com/users/jack-zande/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jack-zande/subscriptions","organizations_url":"https://api.github.com/users/jack-zande/orgs","repos_url":"https://api.github.com/users/jack-zande/repos","events_url":"https://api.github.com/users/jack-zande/events{/privacy}","received_events_url":"https://api.github.com/users/jack-zande/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-04-30T12:38:41Z","updated_at":"2015-04-30T13:06:44Z","closed_at":null,"body":"Hello all,\r\n\r\nI use EEMEM with library  #include <avr/eeprom.h>.\r\nIt very practical, because I can use \"read block\", \"update block\" and \"write block\"\r\nwithout giving EEPROM addresses.\r\n\r\nExample:\r\n_______________________________________________________________\r\nEEMEM uint8_t EEPROM_K[12] =\r\n{ 0xE8, 0x03, 0x00, 0x00,\r\n  0xD0, 0x07, 0x00, 0x00,\r\n  0xC8, 0x00, 0x00, 0x00 };           // E8 03 00 00 _ D0 07 00 00 _ C8 00 00 00\r\n\r\nuint8_t K_bytes[12];\r\n\r\neeprom_read_block((void*)K_bytes, (const void*)EEPROM_K, 12);\r\n_______________________________________________________________\r\n\r\nWhen doing variable declaration, according to the AVR-documentation (attached),\r\nthe compiler should begin with address 0 and ascending 1,2,3, ................\r\n\r\nIn the new version 1.6.4 the last EEMEM declaration begins with address 0. It has \r\nchanged the EEPROM addressing in a reversed way (from down to up)\r\n\r\nV1.0.5\r\n\r\n-----------------------------------------------------------------------------------\r\n                                                       // EEPROM-addresses\r\nEEMEM char string1[6]= \"abcdef\";  // 0, 1, 2 , 3, 4, 5\r\n\r\nEEMEM char string2[6]= \"ghijkl\";    // 6, 7, 8, 9, 10, 11\r\n-----------------------------------------------------------------------------------\r\n\r\nNow with V1.6.4 (not logical for humans)\r\n\r\n-----------------------------------------------------------------------------------\r\n                                                        // EEPROM-addresses\r\nEEMEM char string1[6]= \"abcdef\";  // 6, 7, 8, 9, 10, 11\r\n\r\nEEMEM char string2[6]= \"ghijkl\";    // 0, 1, 2 , 3, 4, 5\r\n-----------------------------------------------------------------------------------\r\n\r\nJack"},"comment":{"url":"https://api.github.com/repos/arduino/Arduino/issues/comments/97767902","html_url":"https://github.com/arduino/Arduino/issues/3061#issuecomment-97767902","issue_url":"https://api.github.com/repos/arduino/Arduino/issues/3061","id":97767902,"user":{"login":"jack-zande","id":12145170,"avatar_url":"https://avatars.githubusercontent.com/u/12145170?v=3","gravatar_id":"","url":"https://api.github.com/users/jack-zande","html_url":"https://github.com/jack-zande","followers_url":"https://api.github.com/users/jack-zande/followers","following_url":"https://api.github.com/users/jack-zande/following{/other_user}","gists_url":"https://api.github.com/users/jack-zande/gists{/gist_id}","starred_url":"https://api.github.com/users/jack-zande/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jack-zande/subscriptions","organizations_url":"https://api.github.com/users/jack-zande/orgs","repos_url":"https://api.github.com/users/jack-zande/repos","events_url":"https://api.github.com/users/jack-zande/events{/privacy}","received_events_url":"https://api.github.com/users/jack-zande/received_events","type":"User","site_admin":false},"created_at":"2015-04-30T13:06:44Z","updated_at":"2015-04-30T13:06:44Z","body":"Hi,\r\n\r\nLibrary used #include <avr/eeprom.h>\r\nEEP-files examples\r\n![eemem_arduino_164](https://cloud.githubusercontent.com/assets/12145170/7413233/328b9db6-ef4a-11e4-9ab8-9a7e27705e84.jpg)\r\n![eemem_arduino_105](https://cloud.githubusercontent.com/assets/12145170/7413232/3286b4a4-ef4a-11e4-8300-be6f0f813290.jpg)\r\n\r\nDeclarations are:\r\nEEMEM char EEPROM_STRING[6] =\r\n{'R','B','0','_','V','1'};            // \"RB0_V1\"\r\n\r\nEEMEM uint8_t EEPROM_K[12] =\r\n{ 0xE8, 0x03, 0x00, 0x00,\r\n  0xD0, 0x07, 0x00, 0x00,\r\n  0xC8, 0x00, 0x00, 0x00 };           // E8 03 00 00 _ D0 07 00 00 _ C8 00 00 00\r\n \r\nEEMEM uint8_t EEPROM_P[10] =\r\n{ 0xC8, 0x00,\r\n  0x0E, 0x00,\r\n  0x03, 0x00,\r\n  0x01, 0x00,\r\n  0x06, 0x00 };                       // C8 00 _ 0E 00 _ 03 00 _ 01 00 _ 06 00\r\n \r\nEEMEM uint8_t EEPROM_M[2] =\r\n{ 0x64, 0x64 };                       // 64 _ 64\r\n\r\n\r\n\r\n\r\n"}}