avr-libc-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-libc-dev] [bug #22878] eeprom_*_word/dword/block cause hang in ATme


From: Stu Bell
Subject: [avr-libc-dev] [bug #22878] eeprom_*_word/dword/block cause hang in ATmega256x
Date: Tue, 08 Apr 2008 16:54:51 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13

URL:
  <http://savannah.nongnu.org/bugs/?22878>

                 Summary: eeprom_*_word/dword/block cause hang in ATmega256x
                 Project: AVR C Runtime Library
            Submitted by: stu_san
            Submitted on: Tuesday 04/08/2008 at 16:54
                Category: Library
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: libc code
                  Status: None
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 1.6.2
           Fixed Release: None

    _______________________________________________________

Details:

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).

I have attached a BF&I version of eeprom.h that solves the problem  by
inlining the eerd/eewr routines for the ATmega256x processors only.  For all
other processors, the original code holds.  This version of eeprom.h will
generate more code than the original for the m256x processors, but then those
processors have the space to handle it.



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Tuesday 04/08/2008 at 16:54  Name: eeprom.h  Size: 11kB   By: stu_san

<http://savannah.nongnu.org/bugs/download.php?file_id=15423>

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?22878>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]