NIOS Prozessor Problem
-
Moin,
also ich versuche gerade den Nios Prozessor von Altera mit einem I2C-Businterface sprechen zu lassen.
Dazu muss ich die 8 Adressen des Cores ansprechen.
In der automatisch generierten Header für den Prozessor wird folgender Zeiger deklariert:
typedef void *np_usersocket;
Dann dazu der Wert aus dem Memory Map:
#define na_i2c ((np_usersocket *) 0x4450) #define na_i2c_irq 16
und
#define nasys_usersocket_0 na_i2c #define nasys_usersocket_0_irq na_i2c_irq
.
So, nu will ich die einzelnen Register des I2C-Cores auswählen. Problem: Wie mach ich das???
So:
unsigned char cmd_sts_reg; np_usersocket *udi_port = na_i2c; cmd_sts_reg = *(unsigned char*)(udi_port+OC_I2C_CR);
klappt es nicht glaub ich. (OC_I2C_CR ist als 0x02 definiert)
Kann mir jemand mal kurz erklären wie man in die Register schreiben kann und dann wieder daraus lesen. Wäre sehr nett.
mfg Steffen
PS: Bin Hardwaremensch also bitte Nachsicht!!