|
From: | Robert von Knobloch |
Subject: | [avr-libc-dev] [bug #21410] Incorrect use of 16-bit eeprom addresses in devices with 8-Bit address registers |
Date: | Wed, 24 Oct 2007 07:53:25 +0000 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.8.1.5) Gecko/20061023 SUSE/2.0.0.5-1.1 Firefox/2.0.0.5 |
URL: <http://savannah.nongnu.org/bugs/?21410> Summary: Incorrect use of 16-bit eeprom addresses in devices with 8-Bit address registers Project: AVR C Runtime Library Submitted by: robertvknobloch Submitted on: Wednesday 24/10/07 at 07:53 Category: None Severity: 3 - Normal Priority: 5 - Normal Item Group: libc code Status: None Percent Complete: 0% Assigned to: None Originator Email: address@hidden Open/Closed: Open Discussion Lock: Any _______________________________________________________ Details: The library functions, defined in avr-libc-1.4.6/libc/misc/eeprom.S" always write a 16-Bit address to the EEAR register. This is expressly forbidden in the Tiny13 datasheet and appears to cause faulty reading of the eeprom data under some circumstances. Reference: Tiny 13 datasheet on page 158, note 1: "Reserved I/O memory addresses should never be written". The same appears for the 8515 and 2313 (these are expressly mentioned in 'eeprom.S'). My proposal is to modify eeprom.S to write 16 bit addresses where the ioxxyy.h file defines EEARH and 8 bit to all others (seems OK for newer devices, I don't have experience of the older parts). _______________________________________________________ Reply to this item at: <http://savannah.nongnu.org/bugs/?21410> _______________________________________________ Message sent via/by Savannah http://savannah.nongnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |