Forum: Mikrocontroller und Digitale Elektronik AT91SAM7x256 Testprogramm


von chris (Gast)


Lesenswert?

Hallo Forum,

hat für den AT91SAM7x256 jemand ein kleines Testprogramm. Ich probiere
derzeit mit CrossWorks und dem SAMBA nur eine LED ein bzw
auszuschalten. Der Aufbau ist wie beim AT91SAM7X-EK Evaluation Board.
D.h. ich möchte den Port PB20 ansprechen.

Ich denke normalerweise dürften dafür ein paar befehle Reichen.
Meine Schlüsselanweisungen sind hierfür:

AT91C_BASE_PIOB->PIO_PER = LED_MASK; // Set in PIO mode
AT91C_BASE_PIOB->PIO_OER = LED_MASK; // Configure in Output
AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_PIOB;//Enable peripheral
clock
AT91C_BASE_PIOB->PIO_CODR = 1<20;// Enable LED . Der Port soll auf Null
gezogen werden --> LED an

Aber irgendwie funktioniert das ganze nach dem Einspielen nicht.
Mich wundert auch, dass nach dem Einspielen SAMBA noch immer eine
Verbindung zum Controller hält, dachte der Bootloader wäre dann weg.

Kann mir jemand helfen?

Gruß,
Christian

von Bjoern B. (tishima)


Lesenswert?

Moin,

nach dem Flashen mal Spannung abgeschaltet und wieder eingeschaltet ?
Lange nicht mehr mit Samba geflasht, ich weiß nur noch das Samba eher
ein Bug als ein feature ist...

gruß,
Bjoern

von chris (Gast)


Lesenswert?

Hallo,
ja ich habe nach dem Flashen mal die Spannung abgeschaltet. Aber keine
Reaktion.
Samba ist eher ein Bug? Was ist denn ein besseres Programm zum flashen?
Gibt es sonst noch eins, welches den Bootloader über RS232 unterstützt?

Vom Prinzip her liege ich aber mit meinen Anweisungen schon richtig
oder?
Was mich etwas verwirrt ist ->PIO_CODR und ->PIO_SODR. Wird wenn ich
das eine setze, wird dann das andere automatisch deaktiviert oder wie?
Kann ich mir aber auch irgendwie nicht vorstellen.

Gruß,
Chris

von chris (Gast)


Lesenswert?

Hallo nochmals,
wenn ich mit SamBa die "*.bin" einspiele frägt er mich am ende, ob
ich die lock regions aktivieren möchte. Das kann eigentlich auch keine
auswirkungen haben oder?

Gruß,
Christian

von Erwin Reuss (Gast)


Lesenswert?

Hast Du nach dem Flashen auch das Flag
Boot from Flash (GPNVM2)
gesetzt?
Nur damit wird der Flash-Speicher auf Adresse 0x000000 eingeblendet und
Dein Anwenderprogramm gestartet. Den Bootloader bekommst Du dann zurück,
wenn Du den ERASE-Pin auf Vcc legst.

cU
Erwin

von Nils (Gast)


Lesenswert?

Moin,

ich weiss zwar nicht, wie es beim sam7x ist, aber beim sam7s mußt Du
einiges erledigen, bevor Du Portpins setzen kannst:

- Clock einstellen
- Watchdog ausschalten
- Periphal Clock für PIOA (also die Ports) einschalten

Erst dann kannst Du erfolgreich Portpins toggeln...

Gruß, Nils

von Nils (Gast)


Lesenswert?

Entschuldige, den periphal clock hast du ja eingeschaltet, nehme das
also zurück...

von Bjoern B. (tishima)


Lesenswert?

Hallo!

Also, jetzt habe ich erst das x gesehen, habe nur mit dem s256 was
gemacht. Als ich mit Samba probiert habe bin ich nach dieser Anleitung
vorgegangen.
http://www.olimex.com/dev/SAM-BA%20Notes.htm

und habe die LockBits gelöscht.

Bin dann zu OpenOCD und flashen per JTAG umgestiegen.

mfg,
Bjoern

von chris (Gast)


Lesenswert?

Hallo,
danke für euere Hilfe. Ich hatte das Flag zu setzen vergessen. Nun
funktionierts.

Gruß,
Christian

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.