Forum: Mikrocontroller und Digitale Elektronik AVR32 Studio: Startschwierigkeiten


von Gast (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte mich mit Hilfe eines EVK1100 in die AVR32 Architektur 
einarbeiten um den Horizont ein wenig zu erweitern. Mit 8 bit AVRs habe 
ich schon sehr viel gemacht.
Das Board wurde mit dem Beispielprojekten aus dem Framework ausgiebig 
getestet und heute habe mir mein erstes Programm zusammengetippt.

3 LEDs sollen dauerhaft leuchten, eine weitere nur wenn ein Taster 
gedrückt ist. Also wirklich die absoluten Grundlagen.
Beim Komplieren wird folgende Warnung angezeigt: 
"org.eclipse.core.internal.resources.Marker@cbcf02c4 is not of a 
displayable type" und dann noch eine mit cbcf02c3
Da ich das erste mal mit Eclipse arbeite kann ich damit nichts anfangen.
Flashen kann ich per USB aber trotzdem, nach dem Reset bleiben die LEDs 
aber alle dunkel.

Kopiere ich den kompletten Inhalt der main.c in das GPIO Projekt aus dem 
Framework läuft das Programm so wie ich es erwarte.
Es scheint also irgend ein Problem mit dem AVR32 Studio zu geben. Welche 
Punkte muss man beachten, was kann ich überprüfen? Debuggen kann ich 
leider noch nicht weil mir das JTAG ICE noch fehlt.

Hier der Sourcecode. Falls es hilft kann ich das komplette 
Projektverzeichnis packen und hier anhängen.
Ich hoffe ihr könnt mir helfen denn ich denke dass man wenn die ersten 
Hürden erst einmal überwunden sind auch gut alleine weiterkommt.
1
#include "board.h"
2
#include "gpio.h"
3
4
5
int main(void)
6
{
7
  gpio_enable_gpio_pin(LED0_GPIO);
8
  gpio_enable_gpio_pin(LED1_GPIO);
9
  gpio_enable_gpio_pin(LED2_GPIO);
10
  gpio_enable_gpio_pin(LED3_GPIO);
11
  gpio_enable_pin_glitch_filter(GPIO_PUSH_BUTTON_0);
12
13
  gpio_clr_gpio_pin(LED0_GPIO);
14
  gpio_clr_gpio_pin(LED1_GPIO);
15
  gpio_clr_gpio_pin(LED2_GPIO);
16
  gpio_clr_gpio_pin(LED3_GPIO);
17
18
  while(1){
19
       if (gpio_get_pin_value(GPIO_PUSH_BUTTON_0) == 0)
20
         gpio_clr_gpio_pin(LED0_GPIO);
21
       else
22
         gpio_set_gpio_pin(LED0_GPIO);
23
  }
24
}

Grüße

von Gast (Gast)


Lesenswert?

Hat sich erledigt: Hatte vergessen den Bootloader mit ins Projekt 
einzubinden.
Muss man das wirklich jedes mal von Hand machen oder gibt es da eine 
Möglichkeit der Automatisierung?

Grüße

von Phil S. (zippi)


Lesenswert?

Hi,

ja das einbinden der trampolin.s(ist nicht der bootloader sondern sorgt 
nur dafür das dein Programm ab 0x80002000 startet) ist wirklich nervig. 
Aber es gibt eine Möglichkeit und diese nutze ich schon seit 2 Jahren 
erfolgreich ;).

Du musst nur die Linker Skripts von deinem Prozessor also at32uc3a0512 
umschreiben. Dort steht die start Adresse drin. 0x80000000. Diese musst 
du zu 0x80002000 umschreiben.

Wenn du das machst, dann bleibt dein bootloader erhalten und du kannst 
mit USB die Daten drauf flashen. Und wenn du später ein JTAG nutzt 
bleibt der bootloader trotzdem drauf.

gruß
Zippi

von Manu (Gast)


Lesenswert?

Hi,

ich bin neu und arbeite mich ebenfalls mit dem EVK1100 ein. Die 
Beispielprojekte funktionieren ganz gut. Kann sie auch ändern. Könntest 
du bitte erklären wie man ein eigenes Projekt erzeugt, dass dann auch 
auf dem Controller läuft? Bei mir will es irgendwie nicht funktionieren. 
Danke.

Grüße

von Manu (Gast)


Lesenswert?

Hat sich erledigt!

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.