Forum: Mikrocontroller und Digitale Elektronik AVR 32 UC3A0512 ES EVK1100 - Problem Beispielprogamme zu verwenden


von Malek A. (malek)


Lesenswert?

Hi,

Ich habe ein altes EVK1100 mit dem UC3A0512 ES.
Für die Progammierung verwende ich das AVR Studio32 2.1.2 mit der 
neusten GNU Toolchain 2.1.6 und übertragen wird das ganze mit dem JATG 
ICE MK II.

So nun zu meinem Problem :)

Wenn ich nun die Beispielprogramme (Für den ES) auf das Board lade 
passiert quasie nichts.

Zum Beispiel habe ich das TWI Master Beispiel verwendenet und würde nun 
an der TWI Schnittstelle zumindest eine Messbare Pegeländerungen für dan 
TWI Start erwaten. Aber leider passiert einfach nichts :(

Oder ertwa das Ethernet MAC Programm. Hier solle es möglich sein einen 
Handshake zwischen Board und PC zu erreichen. Jedoch hab ich das auch 
nicht hin bekommen..

Hat jemand ne Idee ob ich eine Anderes Framework verwenden muss oder 
eine andere Toolchain?

Danke schon mal in vorraus

Malek

von Malek A. (malek)


Lesenswert?

Ok, dann anders gefragt :)

Also ich habe mir jetzt ein Board von Alvidi bestellt mit dem UC3A1512.
Hat da jemand den Beispielcode ans laufen bekommen?

Lg

von Phil S. (zippi)


Lesenswert?

Du solltest vll erstmal mit einem LED blinken anfangen ;).

Es kann sein das die beispiele so gemacht sind, dass man sie eigentlich 
mit dem bootloader drauf flashen soll. So beträgt die Start adresse 
0x80002000
und nicht 0x80000000 ;). Das heist der versucht bei 0x80000000 zu 
starten obwohl das programm erst bei 0x80002000 anfängt.

Ich schau dann gleich mal nach wo der Alvidi die User LED hat, dann 
schreib ich dir mal ne bespiel programm was laufen sollte.

von Michael K. (mad_axe)


Lesenswert?

Phil S. schrieb:
> Du solltest vll erstmal mit einem LED blinken anfangen ;).
>
> Es kann sein das die beispiele so gemacht sind, dass man sie eigentlich
> mit dem bootloader drauf flashen soll. So beträgt die Start adresse
> 0x80002000
> und nicht 0x80000000 ;). Das heist der versucht bei 0x80000000 zu
> starten obwohl das programm erst bei 0x80002000 anfängt.
>
> Ich schau dann gleich mal nach wo der Alvidi die User LED hat, dann
> schreib ich dir mal ne bespiel programm was laufen sollte.

Aber in dem Fall läuft das Programm dann einfach durch und startet bei 
0x80002000, weil der bereich davor beim Flashen wohl "gelöscht" wurde. 
Aber natürlich wäre es intersant zu wissen ob der TO es über den USB 
Bootloader geflasht hat oder mit einem JTAG ICE. Bei mir laufen alle 
Beispiele auf dem Board aus dem Shop. Und ich denke auf dem EVK1100 
gehen sie auch ohne Probleme. Nimm doch mal das Mass Storage Beispiel 
oder sowas, dann siehste sofort ob Windows oder Linux nach dem flashen 
was findet.

Gruß
Micha

P.S. Mir fällt noch was ein, in der Beschreibung von ALVIDI (auch wenn 
ich dann ein Boarfd von in circuit bekommen habe) stehen Tips zum 
flashen, da müssen auch die richtigen Haken gesetz sein.

von Phil S. (zippi)


Lesenswert?

Ok, es kann sein das er dann nur durchläuft um ab dem programm startet. 
Habe nur Ein JATG mk II clone der nicht funktioniert deswegen nutze ich 
nur den bootloader.

Er schreibt ja auch das er das MK II nutzt, dann sollte es normalerweise 
gehen.

von Michael K. (mad_axe)


Lesenswert?

Phil S. schrieb:
> Ok, es kann sein das er dann nur durchläuft um ab dem programm startet.
> Habe nur Ein JATG mk II clone der nicht funktioniert deswegen nutze ich
> nur den bootloader.
>
> Er schreibt ja auch das er das MK II nutzt, dann sollte es normalerweise
> gehen.

Wenn du den Atmel AVR JTAGICE mkII meinst und nicht den Atmel AVRISP 
mkII  (ich hasse die Bezeichnungen, deswegen schreibe ich immer ICE, der 
letzter geht ja def nicht :) :) :) ) ...

.. so Spass beiseite, warum hat der TO nicht einfach erstmal über den 
Bootloader mit Flip oder AVR32 studio geflasht. Damit kann man nämlich 
erstmal nix falsch machen.

Gruß
Micha

von Phil S. (zippi)


Lesenswert?

Naja es ist ein ICE clone (angeblich), es geht aber nur der ISP mode in 
avr Studio 4... . Naja aber an China kommt man leider nicht dran :(.

Test Programm gibts von mir morgen ;). Hab kein bock heut abend noch zu 
proggen.

von Michael K. (mad_axe)


Lesenswert?

Phil S. schrieb:
> Naja es ist ein ICE clone (angeblich), es geht aber nur der ISP mode in
> avr Studio 4... . Naja aber an China kommt man leider nicht dran :(.
>
> Test Programm gibts von mir morgen ;). Hab kein bock heut abend noch zu
> proggen.

Ach diese ganz billigen, ich wollte mir den für 159$ holen, der hier im 
Forum schon getestet wurde. Aber nach der Studenten Aktion von Atmel ist 
wohl sogar ein originaler ICE bei mir drin :) ...

Gruß
Micha

von Michael (Gast)


Lesenswert?

Hallo Phil,

hast Du schon was mit SD Karte mit FAT gemacht?
Die Beispiele im Framework sind etwas verwirrend für den Anfang.

Vielleicht hast Du ein Beispiel.
Ich verwende das EVK1100.

Viele Grüße
Michael

von Phil S. (zippi)


Lesenswert?

HI,

So hier mal nen Beisplie Programm. Es Lässte auf dem EVK1100 die LED0 
welche an PB27 angeschlossen ist ca. 1x pro sec Blinken. Ist ganz 
simple, sollte man eigentlich verstehen.
1
#include <avr32/io.h>
2
3
#define A 0
4
#define B 1
5
6
#define PORT B
7
#define PIN 27
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<10000;i++)
21
            asm("nop");
22
    }
23
return (0);
24
}

Ja ich arbeite zurzeit auch noch ein bisschen an meinem FAT32 und der SD 
karte. Das FAT32 hab ich von nem freund bekommen und man kann nur lesen. 
Hab da zurzeit auch noch ein paar probleme mit. Die SD hab ich an nen 
USART der im SPI modus betrieben wird vom avr32 angeschlossen. Also 
direct nen Beispiel für das EVK1100 hab ich nicht.
Funktioniert denn die SD schon ohne Filesystem?

von Michael K. (mad_axe)


Lesenswert?

Phil S. schrieb:
> HI,
>
> So hier mal nen Beisplie Programm. Es Lässte auf dem EVK1100 die LED0
> welche an PB27 angeschlossen ist ca. 1x pro sec Blinken. Ist ganz
> simple, sollte man eigentlich verstehen.
>
Da fehlt doch aber noch die Clock init, damit man auch wirklich weiß wie 
lange da was geht und blinkt. Ich weiß allerdings auch nicht was das EVK 
drauf hat, aber bestimmt doch auch den 32,xx kHZ Uhrenquarz und einen 
mit 12 ? ..

Grundsätzlich blinken sollte da aber was, die Schleife ist ja recht 
lang.

Gruß
Micha

von Phil S. (zippi)


Lesenswert?

Das ist ja auch nur ein ganz einfaches Test Programm um zu schauen ob 
man überhaupt was zum laufen bekommt ;).
Deswegen hab ich ja auch ->ca.<- 1x die sec gesagt. Es wird also nur der 
interne Oszilaor benutzt.

von Michael K. (mad_axe)


Lesenswert?

Phil S. schrieb:
> Das ist ja auch nur ein ganz einfaches Test Programm um zu schauen ob
> man überhaupt was zum laufen bekommt ;).
> Deswegen hab ich ja auch ->ca.<- 1x die sec gesagt. Es wird also nur der
> interne Oszilaor benutzt.

Oh, das war nicht als Kritik gedacht, ist ja gerade Super das du ihm 
hier ein Programm zur Verfügung stellst. Wollte einfach nur darauf 
hinweisen, weil man sich bei sowas schnell wundert und denkt es geht was 
nicht.

Gruß
Mica

von Michael (Gast)


Lesenswert?

Hallo,

hat von Euch jemand Eagle libs vom AVR32UC3A?

Phil, die SD Karte läuft mit dem Framework Beispiel.

Viele Grüße
Michael

von Malek A. (malek)


Lesenswert?

Hej, schon mal tausend dank für die vielen Antworten und den Test Code:)

Also der LED Code läuft super auf dem EVK1100 Board und ich hab das 
ganze wieder mit dem ATMEL AVR AT JTAG ICE MKII übertragen.

Also ich hoffe das der Auch auf dem Alvidi laufen wird, aber der 
Postmann ist heute noch nicht da gewesen :(

Also da der Test Code jetzt richtig übertragen wurde sollte es doch 
darauf schließen das irgendwo in dem Beispiel von Atmel der Wurm drin 
ist oder?

LG

Malek

von Phil S. (zippi)


Lesenswert?

Hast du beim Atmel code neu compeliert oder nur die .elf übertragen.

gruß
Zippi

von Malek A. (malek)


Lesenswert?

Hi, ich hab das ganze ding compeliert.

Lg Malek

von Phil S. (zippi)


Lesenswert?

Bist du schon weiter gekommen? Du hast mal beim Compelieren schau ob die 
da nicht noch etwas an den Einstellungen geändert haben. Optimierungs 
Stufe oder so.

von Malek A. (malek)


Lesenswert?

Hi, leider bin ich noch nicht viel weiter gekommen da das neue Board 
noch nicht angekommen ist.
Aber beim alten Board hab ich nachgeschaut und die Einstellung sollte so 
stimmen, das gibt mir jedoch kein Ergebnis.
Ich hoffe mal das ich heute Mittag das neue Board bekomme und gleich 
alles Funktioniert :D
Ich mach sofort einen Eintrag wenn ich was neues weiß.

Lg Malek

von Malek A. (malek)


Lesenswert?

Hi,
ich hab das neue Alvidi AVR32 Board bekommen und bin gerade dabei das 
Testprogramm ans laufen zu bekommen aber irgendwie will auch das nicht 
:(

Zuvor aber :

Ich hab es geschafft das TWI Programm auf dem EVK1100 zum laufen zu 
bekommen. Das Problem was das mein Vorgänger die Pinleiste nicht richtig 
angelötet hat und so keine richtige Verbindung da war.

Jetzt zum neuen Board :

Also ich habe den Alvidi Erste schritte Anleitung 
(http://alvidi.de/data_sheets/erster_schritt.pdf ) durchgearbeitet und 
sollte jetzt als Belohnung für meine harte Arbeit eine blinkende LED 
erhalten. Leider hab ich das nicht sondern ein Problem...

Also ich kann mit dem Bootloader nicht übertragen weil er mir immer den 
Fehler Der Befehl "batchisp" ist entweder falsch geschrieben oder
konnte nicht gefunden werden. raus gibt.

Also war ich so frei und habe das ganze dann mit dem JTAG ICE MKII 
übertragen. Nur leider wird der PA02 nicht auf low-output gezogen und 
damit hab ich auch kein Blinken :(

hier mal der Code:

#include "gpio.h" //driver of atmel include in AVR32 UC3A Framework 
C:\AT32UC3x-1.x.x\DRIVERS\GPIO

#include "compiler.h" //driver of atmel include in AVR32 UC3A Framework 
C:\AT32UC3x-1.x.x\UTILS

int main(void)
{

U32 i; //you will find this definition of >U32< in driver "compiler.h"
while(1)
{

gpio_set_gpio_pin(AVR32_PIN_PA02); //set the pin 2 on port A as 
high-output
for(i=0; i<1000; i++); //wait loop

gpio_clr_gpio_pin(AVR32_PIN_PA02); //set the pin 2 on port A as 
low-output
for(i=0; i<1000; i++); //wait loop

}
}


Hat auch schon jemand ne Idee für men nächstes Problem ? :D

Also ich hab als nächstes vor an den SPI den ENC28J60-H aus dem Shop 
dran zu basteln.

Lg Malek

P.S.: Wie kann ich den Code wieß hinterlegen?

von Phil S. (zippi)


Lesenswert?

hi,

Weiß hinterlegen mit [ c ] und am ende [ / c ]. Das ganze aber ohne die 
freizeichen ;).

Normal sollte der code gehen.
Hast du auf dem Alvidi Board mal meinen test code getesten?
Damit PA02 blinkt musst du nur aus:
1
#define PORT B
2
#define PIN 27

das hier machen:
1
#define PORT A
2
#define PIN 2

Den bootloader findet der bei dir nicht weil du wohl kein FLIP 
installiert hast.
http://atmel.com/dyn/products/tools_card.asp?tool_id=3886

gruß

ps: AVR32 turtorial kommt balt ;)

von Malek A. (malek)


Lesenswert?

Hi,

also ich hatte ne alte Version von FLIP auf meinem Rechner und damit 
habe ich auch den Test gemacht, aber das hat ja leider nicht geklappt.

Und ja ich hab dein Programm drauf gepackt aber leider hat das auch 
nicht getan.

Morgen früh werde ich daran weiter arbeiten und hoffentlich den Fehler 
finden.

Ich melde mich gleich wieder wenn ich einen erfolg zu verbuchen habe :)

Lg

von Malek A. (malek)


Lesenswert?

Also irgendwie will das jetzt alles nicht mehr gehen :(

Jetzt bekomme ich nicht mal mehr das LED Programm zum laufen und wenn 
ich das Programm als .elf übertragen will schreibt der mir so was 
schönes hier.
1
Connected to JTAGICE mkII version 6.2, 6.2 at USB:00B000004F21.
2
Warning: Flash page or region at 0x80000000 could not be erased (LOCKE set).
3
Program may be corrupted.
4
Warning: Flash page or region at 0x80000c18 could not be erased (LOCKE set).
5
Program may be corrupted.
6
Warning: Flash page or region at 0x80001498 could not be erased (LOCKE set).
7
Program may be corrupted.
8
Programming 9368 bytes in 3 segments.
9
Warning: Flash page or region at 0x80000000 could not be programmed (LOCKE set).
10
Program may be corrupted.
11
Verify failed at address 0x80000000. Expected 48, read 30.

@ Zippi:

Du hast du zu beginn was vom Falschen Programmbeginn geschrieben oder?

Na ja so oder so will das alles nicht klappen und ich habe schon wieder 
keine Ahnung warum das alles nicht will.

Wenn ich das LED Programm über den JATAGICE MKII übertrage kann ich im 
Debug Mode das Programm laufen lassen, aber das ist auch alles :(
Es läst sich kein einziger Kanal schalten.

Ich muss irgendwas in der Einstellung versaut haben.

Ne Idee?

HILFE!!!!!!!!

Lg

von Phil S. (zippi)


Angehängte Dateien:

Lesenswert?

Ich könnte mir vorstellen warum es nicht geht bin mir aber nicht sicher.

Probier mal diese ELF. Ist quasi mein Beispiel Programm welches jetzt an 
PA 2 die LED blinken lässt. Ich hab aber dort die Start adresse auf 
0x80002000 gesetzt. Kannst es also auch mit nem Bootloader drauf 
flashen.

gruß

ps: Wenn du ICQ hast kannst du mir auch deine Nummer schicken an:
P.Zippi@googlemail.com

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.