AVR32 EVK1101

OP #2779340
Hallo Leute,

ich bin Neueinsteiger in der Microkontroller Welt.
Habe ein älteres EVO-board, das AVR32 EVK1101. Möchte mit AVR32 Studio 
und der Flip3.4.5 Software den Einstieg finden.
Programmieren kann  ich über USB  Batch ISP.
Möchte auf dem Board  die LED´s blinken lassen!  Kann mir jemand helfen 
den entsprechenden Source-code zusammenzustellen?

mfg Alex
Hi,
1
#include <avr32/io.h>
2

3
#define A 0
4
#define B 1
5

6
#define PORT A
7
#define PIN 10
8

9
int main(void)
10
{
11
  int i;
12

13
  AVR32_GPIO.port[PORT].gpers = 1 << PIN;      // Enable GPIO pin
14
  AVR32_GPIO.port[PORT].oders = 1 << PIN;      // Set GPIO -> output
15

16
  while(1)
17
  {
18
    AVR32_GPIO.port[PORT].ovrt = 1 << PIN;    // trigger GPIO pin
19

20
    for(i=0;i<5000;i++)
21
      asm("nop");
22
  }
23
  return (0);
24
}

Bei Port den port einstellen.
Bei Pin den Pin.


Du brauchst aber noch ein Linkerfile damit dein Code auch nach dem 
Bootloader anfängt. Bekommst du das hin?

gruß
Zippi
Gast
Hallo zippi,

wie funktioniert das mit dem Linkerfile? Unser externer 
Firmwareprogrammier (ich selbst bin eher für die HW zuständig) liefert 
uns immer *.elf Files, bei denen bei der Batch-ISP-Programmierung via 
USB die Meldung erscheint: "The user programm and the bootloader 
overlap!" Zu welchen Problemen kann das führen bzw. was kann hier für 
ein evtl. Schaden entstehen? Der Bootloader selbst ist doch eigentlich 
fix und nicht überschreibbar, korrekt?

Bisher hat eigentlich immer alles funktioniert, trotz dieser Meldung 
beim Programmieren (und wir haben schon AVR32 in fünf verschiedenen 
HW-Konfigurationen im Einsatz).
OP
Hi zippi,
danke  für deine schnelle Antwort.
Noch zwei Fragen zum besseren Verständnis:

Warum ist,
#difine  A    0
#difine  B    1  ???

Laut der evk 1101 schematcs liegt die LED 1 auf PA8. Soll das heißen 
das,
#define PORT     PA
#define PIN      08   ????

Und wie ist das mit dem Linkerfile gemeint.
Nochmals besten Dank!


gruß

Alex
Hi,

War im Urlaub ;).

die Defines solten dann so Heißen:

#define PORT     A
#define PIN      8

in PORT steht dann eine 0 drin. Dafür sind auch die beiden oberen 
Defines gedacht ;).

Wie das mit den Linkern Funktioniert, da schreibe ich grad schon ein 
Tutor. Werde es die Tage mal Hochladen.

Wenn das Linkerfile richtig eingestellt ist, dann kommt die Overlap 
Meldung auch nicht mehr beim Flashen.

Gruß
Zippi
OP
Hallo Zippi,

danke für deine Antwort. Habe festgestellt dass mein EVK 1101 defekt 
ist.
:(
Hab mir das EVK 1105 bestellt und warte sehnsüchtig auf das board. 
Spiele in der Zwischenzeit mit dem Simulator uTasker von Atmel bisschen 
rum.  Freue mich schon auf dein Tutorium über die Funktion des 
Linkerfiles.

Gruß

Alex

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.