I2C / TWI Bootloader Xmega

OP #3931110
Lesenswert?
• ▲
▼
Hallo,
ich möchte, das ein Bootloader die Daten aus einem I2C EEPROM ausliest,
und darüber ein Update der Software ausführt.

Ich verwende dafür einen Xmega32A4 und einen 24LC256.

Leider hängt sich der Bootloader beim auslesen auf.

Wenn ich das selbe Programm als normale Applikation laufen lasse
( Also ab $0000 ) funktionert I2C auslesen.
Grundsätzlich funktionert der I2C Part also!!

Verwendet wird der Codevision AVR Compiler.

unsigned char ReadEEPROM(unsigned int adr)
{
     unsigned char data_in;

    twi_eeprom.addr.msb = adr/0x100 ;
    twi_eeprom.addr.lsb = adr%0x100 ;
    twi_master_trans(&twic_master,EEPROM_TWI_BUS_ADDRESS,(unsigned char 
*) &twi_eeprom,2,&data_in,1);

     return data_in;
}

Das Programm kehrt im Debugger nicht mehr aus der Routine :
twi_master_trans() zurück.

Die Ints scheinen offensichtlich an der richtigen Stelle zu sein.

Was kann denn noch anders sein, außer den Einsprungadressen der Ints?

mfg Andreas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren