[En-Nut-Discussion] SRAM errors on ETHERNUT 1.3H
Harald Kipp
harald.kipp at egnite.de
Fri Mar 30 15:02:09 CEST 2012
Hi Pascal,
On 29.03.2012 17:17, Pascal Jean wrote:
> I want to use ETHERNUT1 without NUT/OS.
> I designed a unit test of the external SRAM memory similar to the program
> BASEMON.
The Realtek connection to the memory bus is really tricky.
To avoid this, you can follow
http://www.ethernut.de/en/hardware/enut1/
"How to Make Rev-G and Rev-H Compatible to Rev-F"
Otherwise you need to emulate the Realtek's EEPROM. If not executed, the chip will interfere with the memory bus and spoil your memory test.
http://ethernut.svn.sourceforge.net/viewvc/ethernut/trunk/nut/arch/avr/board/ethernut1.c
Background: The RTL80192AS incorrectly negotiates the link. The switch thinks, it is half-duplex, but the RTL8019 uses full-duplex. If the RTL8019 transmits a packet while the switch is transmitting, the switch will discard the packet. To avoid this, the RTL8019 must be set to half-duplex. However, this can be done via EEPROM only, which is not available on Ethernut 1. Rev-F boards "emulated" the EEPROM by setting all bits to 1 (via resistor), which automatically enables full-duplex. So we need to set a specific EEPROM bit to 0. The solution was to emulate the EEPROM by the ATmega. In order not to waste port pins for this, Ethernut 1 temporarily uses the upper address bits to emulate an EEPROM.
As I told you, quite tricky.
Regards,
Harald
More information about the En-Nut-Discussion
mailing list