AVR C Runtime Library - Bugs: bug #22878, eeprom_*_word/dword/block cause...
You are not allowed to post comments on this tracker with your current authentication level.
bug #22878: eeprom_*_word/dword/block cause hang in ATmega256x
Submitter: | Stu Bell <stu_san> | ||
Submitted: | Tue 08 Apr 2008 04:54:50 PM UTC | ||
Category: | Library | Severity: | 5 - Blocker |
Priority: | 9 - Immediate | Item Group: | libc code |
Status: | Fixed | Assigned to: | arcanum |
Percent Complete: | 100% | Open/Closed: | Closed |
Release: | 1.6.2 | Fixed Release: | 1.7.0 |
Mon 18 Aug 2008 11:49:49 PM UTC, comment #2: |
Eric Weddington <arcanum> |
Tue 08 Apr 2008 09:36:57 PM UTC, comment #1: I'm thinking that if we went back to having it all implemented as C or inline assembly macros, then that would avoid the problem... |
Eric Weddington <arcanum> |
Tue 08 Apr 2008 04:54:50 PM UTC, original submission:
The latest eeprom_*_word/dword/block routines will cause an ATmega256x to hang if the precompiled eerd_*/eewr_* functions are in the top half of flash. This is because the eeprom.h header sends a function pointer to the eerd_* or eewr_* functions, pointing back to the eeprom_*_byte function. Since the eeprom_*_byte function is inlined, we have a 16-bit pointer to a function that may be in the other half of flash (i.e., needing a 3-byte call instead of 2-byte call).
|
Stu Bell <stu_san> |
Depends on the following items: None found
Items that depend on this one: None found
Follow 12 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2008-08-19 | arcanum | Status | Ready For Test | Fixed | |
Percent Complete | 90% | 100% | |||
Open/Closed | Open | Closed | |||
Fixed Release | None | 1.7.0 | |||
2008-08-19 | arcanum | Status | Need Info | Ready For Test | |
Percent Complete | 0% | 90% | |||
2008-08-18 | arcanum | Status | None | Need Info | |
Assigned to | None | arcanum | |||
2008-08-11 | arcanum | Severity | 4 - Important | 5 - Blocker | |
Priority | 5 - Normal | 9 - Immediate | |||
2008-04-08 | arcanum | Severity | 3 - Normal | 4 - Important | |
2008-04-08 | stu_san | Attached File | - | Added eeprom.h, #15423 |
Powered by Savane 3.13-02a9.
Corresponding source code
Hi Stu,
Thanks for providing a solution. I wanted to make sure: have you tested your solution out on a real device? If so, then I'll just merge your solution into the <avr/eeprom.h> header. But I'll do this after bug #23969 is fixed, which I'm currently working on.
Thanks,
Eric Weddington