Forum: Mikrocontroller und Digitale Elektronik AT91SAM9 EBI Adresslinien A0/A1


von Bernd S. (mms)


Lesenswert?

Hi,

hab grad ein etwas merkwürdiges Problem mit dem at91sam9260 controller. 
Die beiden Adresslines A0 und A1 verändern ihren Level (high / low) beim 
Anlegen einer entsprechenden Adresse nicht - im Gegensatz zu allen 
anderen Adresslinien.

1
#define WRITE_DATA8(dataAddress, data) \
2
           {(*((volatile unsigned char *) dataAddress)) = (unsigned char) 
3
           data;}
4
5
void SMC_Init(void)
6
{
7
8
   AT91C_BASE_SMC->SMC_SETUP2 = 0x00000001;
9
   AT91C_BASE_SMC->SMC_PULSE2 = 0x07070703;
10
   AT91C_BASE_SMC->SMC_CYCLE2 = 0x00070007;
11
   AT91C_BASE_SMC->SMC_CTRL2 = (AT91C_SMC_READMODE 
12
                             | AT91C_SMC_WRITEMODE
13
                             | AT91C_SMC_NWAITM_NWAIT_DISABLE
14
                             | ((0x1 << 16) & AT91C_SMC_TDF));
15
16
   AT91C_BASE_SMC->SMC_CTRL2 |= AT91C_SMC_DBW_WIDTH_EIGTH_BITS;
17
}
18
19
20
int main(void)
21
{
22
23
  SMC_Init(); 
24
 
25
  //hier sind beide Adresslinies auf low level -> solange bis zum ersten
26
  //mal auf den bus zugegriffen wird   
27
28
  WRITE_DATA8(0x30000000 + 0x00, 0x45);
29
  WRITE_DATA8(0x30000000 + 0xFF, 0x45);
30
  WRITE_DATA8(0x30000000 + 0x00, 0x45);
31
  //-> hier verändern sich die beiden Adresslinien nicht mehr - bleiben
32
  //die ganze zeit auf high 
33
   
34
35
   while(1)
36
   {
37
       WRITE_DATA8(0x30000000 + 0x00, 0x45); 
38
       //-> diese while-schleife führt zu einem togglen von A0 und A1
39
   }
40
}

Vielleicht kennt einer dieses Phänomen bei den SAM controllern. Im 
Datenblatt hat mich leider nichts angesprochen...

Gruß
Bernd

von stefan (Gast)


Lesenswert?

Hallo,

beim at91sam9263 werden die Signale A0/A1 des EBI (SMC MODE) bei 32-bit 
Devices nicht benutzt.
Im Datenblatt zum at91sam9263 auf Seite 196 (22.7.2.3 Signal 
Multiplexing).
Ob das beim at91sam9260 genau so ist weiß ich nicht. Könnte ich mir aber 
vorstellen.

//stefan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.