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!!


Anmelden zum Antworten