AVR C Runtime Library - Bugs: bug #22240, Add EEPROM Page Size to header...
You are not allowed to post comments on this tracker with your current authentication level.
bug #22240: Add EEPROM Page Size to header files
Submitter: | Bob Paddock <bpaddock> | ||
Submitted: | Wed 06 Feb 2008 05:19:34 PM UTC | ||
Category: | Feature Request | Severity: | 1 - Wish |
Priority: | 3 - Low | Item Group: | Header files |
Status: | Fixed | Assigned to: | arcanum |
Percent Complete: | 100% | Open/Closed: | Closed |
Release: | Any | Fixed Release: | 1.7.0 |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
Follow 9 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2008-08-14 | arcanum | Status | None | Fixed | |
Percent Complete | 0% | 100% | |||
Assigned to | None | arcanum | |||
Open/Closed | Open | Closed | |||
Fixed Release | None | 1.7.0 | |||
2008-08-11 | arcanum | Release | None | Any | |
2008-03-17 | arcanum | Category | Header | Feature Request | |
Severity | 3 - Normal | 1 - Wish | |||
Priority | 5 - Normal | 3 - Low |
Powered by Savane 3.13-f8d8.
Corresponding source code
I would like to request the addition of the EEPROM Page Size
value to the header files, for the parts that have EEPROM.
The EEPROM Page Size value is located in the data sheet section
discussing Memory Programming.
Taking the AT90CAN64 as example, the EEPROM Page Size value is
eight, as found in Table 25-12.
The current iocan64.h file contains:
/* Constants */
#define SPM_PAGESIZE 256
#define RAMEND 0x10FF /* Last On-Chip SRAM Location */
#define XRAMEND 0xFFFF
#define E2END 0x07FF
#define FLASHEND 0xFFFF
I would like to see the following added:
#define E2PAGESIZE 8
Having this information in the header files will allow for
migration between parts of different sizes (All CANxx parts are
currently eight byte pages), as well as different AVR devices.
The reason for such a request is that if you need to save data in
the internal EEPROM, beyond the stated endurance for a byte,
listed in the data sheet as
"EEPROM (Endurance: 100,000 Write/Erase Cycles)", you need to
know how far to spread the bytes so that you can archive higher
endurance figures. For example if you need a byte, but for
200,000 cycles you need to use two pages, or 16 bytes in the
CAN64 part.
The factory has confirmed, via my FAE, that the listed Endurance
figures are on a page bases, and not a byte bases.