mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pollin AVR Evulationsboard V2.01 ATmega32


Autor: Alfons Möller (alfonsmoeller)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo! Ich hab mal ein kleines Programm für ein Pollin Evaluationsboard 
Ver. 2.01 geschrieben. Prozessor ATmega32.
LED1 sollte im Sekundentakt toggeln.
LED2 blinkt abhängig von der Prozessorlast.
Wird Taste 3 gedrückt sollte die Hupe etwas von sich geben.
Mit einer Terminalemulation auf dem PC. COM Schnittstelle Pin 2 mit 2,
Pin 3 mit 3 und Pin 5 mit 5 verbinden. 192000,N,8 einstellen.
Dann sollte man auf dem Bildschirm die Adresse 0-999 und dessen Inhalte
sehen.

Parameter 909 wird nach Reset auf 10 gestellt, bedeutet der Prozessor
durchläuft 200*10 eine Schleife. Setz man Parameter 909 auf 20 wird die 
Schleife 4000 mal durchlaufen.

P912 ist der Sekundenzeiger
P913 ist der Minutenzeiger
P914 ist der Minutenzeiger

Hat jemand Lust, dies mal auszuprobieren?
Alfons

Autor: der Ausprobierer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habs ausprobiert und jetzt?

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verat bitte niemanden das es nicht funktioniert hat.

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also möchtest du dass man dir anhand von einem HEX-File sagt, was an 
deinem Programm nicht funktioniert?

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also möchtest du dass man dir anhand von einem HEX-File sagt, was an
deinem Programm nicht funktioniert?

Nein! Ganz bestimmt nicht. Aber evt. hat ja jemand die Möglichkeit das
HEX-File in sein Board zu laden und zu sagen ob das so funktioniert hat
oder nicht.
Alfons.

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es bei dir funktioniert, sehe ich keinen Grund warum es bei anderen 
identischen Board-µC-Kombinationen nicht funktionieren sollte.

Oder funktioniert es bei dir nicht und du willst nur wissen, ob es an 
deiner Hardware liegt und brauchst desshalb einen Referenztest auf 
identischer Hardware?

Oder welches andere Zeil verfolgst du damit?

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Programm ist kommplett in Assembler geschrieben. Mir ist völlig klar
das auf identischer Hardware die gleiche Software auch gleich 
funktioniert.
Das Problem ist nur wie kommt die Software auf den Prozessor, und wo 
gibt es Schwierigkeiten. Hier streubt sich schon alles dagegen.

Ziel des Programms ist Adresse 0x1000 im 10ms Takt anzuspringen.
Die Adresse 0x1002 alle 100ms und 0x1004 alle 1000ms. Die Adresse
0x1006 wird zyklisch das heißt für die restliche Prozessorzeit, je nach 
Prozessorlast 100 - 1000 mal pro Sekunde angesprungen. Alle zu 
bearbeitende Parameter können von P000 - P899 bearbeitet werden.
z.B. VT220 Emulation oder Hyperterminal.

m.f.G.
Alfons!

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich fragte eigentlich nach dem Grund, warum jemand die Software auf sein 
Board laden sollte.

Was bezweckst du damit?

Autor: Andreas M. (elektronenbremser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist bestimmt ein Virus der das Board tötet :-)

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin verwundert, kann ich schon die Fassungen auf dem Board per Virus 
zerstören. Für was hält man mich hier!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alfons Möller schrieb:

> Das Problem ist nur wie kommt die Software auf den Prozessor, und wo
> gibt es Schwierigkeiten. Hier streubt sich schon alles dagegen.

Hmm.
Soll das heißen, du hast Schwierigkeiten das HEX-File auf den AVR zu 
laden?
Oder wie soll man das interpretieren?

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kein blinken, kein hupen, auf der seriellen undefinierbare Zeichen.
Ist das für 1MHz Takt, Baud ist sicher 19200 gemeint.

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hatte ich mir leichter vorgestellt.
Bei mir funktioniert alles. Aber ich hatte gedacht das mal Kollegen
eben mal probieren können ob bei Ihnen auch alles so glatt läuft wie
bei mir. Mein Gedanke war das mal eben auszuprobieren, der eine läd über
parallel Kabel der andere seriell oder über USB . War wohl ein
Wunschtraum von mir. Vor allendingen würde mich interessieren ob alles
auch mit allen Terminal funktioniert.
Aber wie gesagt, es war wohl nur ein Wunschtraum von mir.
Alfons!

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entschuldigung das hatte ich vergessen. Grundtakt ist 16MHZ
Alfons!

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kommando zurück, ausser der Seriellen funktioniert es. Ich hatte die 
Brücken vergessen.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Serielle geht auch soweit, das geschriebene ist allerdings nicht richtig 
lesbar, formatierung?

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort!
Ist VT220 Emulation eingestellt ?
Oder einfach mal die "C" Taste drücken
Alfons!

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
4H45830›12;35H999›1;1H\›9;34H     ›?25l›10;34H45830›12;35H999›1;1H-›9;34H     ›?
25l›10;34H45830›12;35H999›1;1H/›9;34H     ›?25l›10;34H45830›12;35H999›1;1H\›9;34
H     ›?25l›10;34H45830›12;35H999›1;1H-›9;34H     ›?25l›10;34H45830›12;35H999›1;
1H/›9;34H     ›?25l›10;34H45830›12;35H999›1;1H\›9;34H     ›?25l›10;34H45830›12;3
5H999›1;1H-›9;34H     ›?25l›10;34H45830›12;35H999›1;1H/›9;34H     ›?25l›10;34H45
830›12;35H999›1;1H\›9;34H     ›?25l›10;34H45830›12;35H999›1;1H-›9;34H     ›?25l›
10;34H45830›12;35H999›1;1H/›9;34H     ›?25l›10;34H45830›12;35H999›1;1H\›9;34H
  ›?25l›10;34H45830›12;35H999›1;1H-›9;34H     ›?25l›10;34H45830›12;35H999›1;1H/›
9;34H     ›?25l›10;34H45830›12;35H999›1;1H\›9;34H     ›?25l›10;34H45830›12;35H99
9›1;1H-›9;34H     ›?25l›10;34H45830›12;35H999›1;1H/›9;34H     ›?25l›10;34H45830›
12;35H999›1;1H\›9;34H     ›?25l›10;34H45830›12;35H999›1;1H-›9;34H     ›?25l›10;3
4H45830›12;35H999›1;1H/›9;34H     ›?25l›10;34H45830›12;35H999›1;1H\›9;34H     ›?
25l›10;34H45830›12;35H999›1;1H-›9;34H     ›?25l›10;34H45830›12;35H999›1;1H/›9;34
H     ›?25l›10;34H45830›12;35H999›1;1H\›9;34H     ›?25l›10;34H45830›12;35H999›1;
1H-›9;34H     ›?25l›10;34H45830›12;35H999›1;1H/›9;34H     ›?25l›10;34H45830›12;3
5H999›1;1H\›9;34H     ›?25l›10;34H45830›12;35H999›1;1H-›9;34H     ›?25l›10;34H45
830›12;35H999›1;1H/›9;34H     ›?25l›10;34H45830›12;35H999›1;1H\›9;34H     ›?25l›
10;34H45830›12;35H999›1;1H-›9;34H     ›?25l›10;34H45830›12;35H999›1;1H/›9;34H
  ›?25l›10;34H45830›12;35H999›1;1H\›9;34H     ›?25l›10;34H45830›12;35H999›1;1H-›
9;34H     ›?25l›10;34H45830›12;35H999›1;1H/›9;34H     ›?25l›10;34H45830›12;35H9
so sieht es bei mir aus. Kann damit nichts anfangen.

Autor: Alfons Möller (alfonsmoeller)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte noch eben ein Bild vom Bildschirm anhängen.
Hier ist zum Beispiel der Sekundenzeiger zu sehen.
Alfons.
Antworte sofort weiter.

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hubert!
Für mich sieht schon mal alles gut aus. Was ist das für ein Terminal-
emultionsprogramm. Hab mich heute auch schon gewundert, bei VISTA gibts 
kein Hyperterminal mehr. Hab dann das gute alte PROCOM von 1994 
genommen.
das ist das Bild was ich vorhergeschickt habe. Will deine Nerven nicht
überstrapazieren. Ich denke wir machen heute erst mal Schluß. Vielen 
Dank für Deine Hilfe. Bis Später!
Alfons.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es mit Hyperterminal und TeraTermPro probiert, immer das 
gleiche.

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Hubert!
Ich denke das ich das morgen alles auf VT100 umsetze uns ich würde mich 
freuen wenn wir das noch einmal austesten könnten.
Natürlich vorausgesetzt Du hast Lust dazu. Sonst später.
Danke Alfons!

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also LEDs blinken. Summer geht. Nur Hyperterminal funktioniert nicht. Da 
hab ich den selben Salat wie Hubert. Mit Putty gehts aber. VT100 wäre 
echt nicht verkehrt, wenns im Hyperterminal laufen soll.

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe heute versucht auf VT100 umzusteigen.
beim VT100
z.B. die 0x1b,"18;26H" Cursor auf Zeile 18 Spalte 26 zu positionieren
beim VT220
z.B. die 0x9b,"18;26H" Cursor auf Zeile 18 Spalte 26 zu positionieren
irgendwie will das nur beim VT220 funktionieren.
Ich laß jetzt erst mal alles auf VT220 - Emulation.
Alfons!

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alfons Möller schrieb:
> Habe heute versucht auf VT100 umzusteigen.
> beim VT100
> z.B. die 0x1b,"18;26H" Cursor auf Zeile 18 Spalte 26 zu positionieren
> beim VT220
> z.B. die 0x9b,"18;26H" Cursor auf Zeile 18 Spalte 26 zu positionieren
> irgendwie will das nur beim VT220 funktionieren.
> Ich laß jetzt erst mal alles auf VT220 - Emulation.
> Alfons!

Du gibst aber schnell auf.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alfons Möller schrieb:

> Ich laß jetzt erst mal alles auf VT220 - Emulation.

Keine gute Idee.
VT100 können fast alle

Autor: Alfons Möller (alfonsmoeller)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte erst mal das Grundziel erreichen und mich nicht verzettel.
Zuerst werden ich weiter daran arbeiten um folgendes Ziel zu erreichen:
Ich erstelle eine Hex-Datei das einen Programmaufruf alle 10ms, 100ms 
und
alle 1000ms erzeugt. Für den Rest der Zeit, wo allso nicht an einem
Interrupt gearbeitet wird, erfolgt ein zyklischer Programmaufruf.
Das kann je nach Programmlast von ca.100 mal pro Sekunde bis zu 1500 mal
sein.

Das Benutzerprogramm könnte so aussehen:

.CSEG
.ORG    0x1000
user_init:
 nop
jmp initialisieren
.CSEG
.ORG    0x1004
jede_hsekunde:
 nop
jmp alle_10ms
.CSEG
.ORG    0x1008
jede_zsekunde:
 nop
jmp alle_100ms
.ORG    0x100c
jede_sekunde:
 nop
jmp alle_1000ms
.ORG    0x1010
jeder_zyklus:
 nop
jmp alle_zyklen
initialisieren:
 incm var300
 ret
alle_10ms:
 incm var301
 ret
alle_100ms:
 incm var302
 ret
alle_1000ms:
 incm var303
 ret
alle_zyklen:
 incm var304
 ret

Das Programm läd man wie folgt:
Das "TestPollinEVBoard.hex" wird ganznormal mit vorherigem Löschen
geladen.
Das "User.hex" läd man jetzt darüber her. Wichtig das Häkchen
"Erease Device before Flashing" löschen.
Der "nop" Befehl überschreibt das "ret" vom "TestPollinEVBoard.hex" und
der folgende jmp springt zu den Benutzerroutinen.

Mit dem kleinen Bildschirmprogramm habe ich die Möglichkeit die
Variablen von 0-999 zu beobachten und zu verändern.

Ich habe mal einen bisherigen Bildschirmauschsschnitt angehängt.

Bevor ich den endgültigen Stand veröffentliche sind sicherlich noch
einige Tests notwendig.
Bis später, Alfons!

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit dieser VT-100-Escape-Sequenz kommste an eine bestimmte 
Bildschirmposition (x,y):

"\033[y;xf"

referenz:
http://www-user.tu-chemnitz.de/~heha/hs_freeware/t...

Autor: Alfons Möller (alfonsmoeller)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tip!
Richtige Steuersequenz heißt: 0x1b,"[18;26H" um den Cursor auf
Zeile 18 Spalte 26 zu positionieren.
Wie ich die eckige Klammer gesehen habe war mir alles klar.
Wofür die 33 gut sein soll ist mir unklar. Aber wir haben
ja Mut zur Lücke.

Habe noch mal den letzten Stand Hex-Datei angefügt.
Mich würde interessieren ob das jetzt bei allen Interessierten
auch funktioniert.

Danke!
Alfons

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alfons Möller schrieb:

> Wofür die 33 gut sein soll ist mir unklar.

:-)
Da steht nicht 33.
Da steht \033
und das ist die C-Character-Oktalschreibweise für Hex 0x1B oder dezimal 
27 oder landläufig "Das Escape-Zeichen"

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Bildschirmanzeige ist jetzt OK.
Die oberste Zeile ist mir nicht klar, sollte das die Uhrzeit sein? Was 
zeigt der rechte Teil an.

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hubert G.
ja das soll die Uhrzeit sein. Sekundenzeiger ist Adresse 912
Minutenzeiger Adresse 913 und Stundenzeiger ist 914.
Die Adressen 901-904 zeigen die Eingangsbytes a-d
und die Adressen 905-908 zeigen die Ausgangsbytes a-d
aber dazu später mehr.
Kannst Du mit der Einstellung der Parameter was anfangen?
z.B. P001 auf 1 stellen P2 auf 2 stellen und z.B. P912 Sekunden-
zeiger auf Sekunde, P913 auf Minute und P914 auf die Stunde.
Erklärt sich das von selbst?
Für später habe ich das so gedacht das die Parameter 0-899 dem
Benutzer zur Verfügung stehen, die Parameter 900-999 vom System
benutzt werden.
Aber da gibts dann auch eine bessere Beschreibung dazu.

Mir war aber der Zugriff für alle per Terminalemulation
erst mal wichtig, und es hat sich ja schon beim ersten Test
ein Schwierigkeit herausgestellt.

Alfons!

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hubert G.
> Was zeigt der rechte Teil an .
Der rechte Teil zeigt die Anzahl der Programmzyklen pro Sekunde an.
Spiel mal mit dem Parameter 909 etwas herum. Die 10 bedeutet
Prozesser läuft eine Schleife 200 * 10 mal im Kreis. Wird der Wert
vergrößert läufter er öfter im Kreis und die Anzahl der Programm-
zyklen verkleinert sich. Macht keinen Sinn, dient nur zur
Demonstration. In Wirklichkeit soll der Prozessor ja was sinnvolles
tun.
m.f.G. Alfons!

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man die Uhrzeit auch stellen?
Bei mir steht jetzt 19:74:93 00914
Der Sekundenüberlauf ist von 31 auf 72

Autor: Alfons Möller (alfonsmoeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hubert G.
Hast Du vielleicht meine Antwort davor
übersehen?
Alfons

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir das wohl nicht richtig durchgelesen, funktioniert bestens.

Autor: Alfons Möller (alfonsmoeller)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt mal ein Projektverzeichnis eingepackt mit meiner Version
von heute.
Vor der Verwendung dieser Software bitte ich die liesmich.txt zu lesen
Eine Weitergabe dieser Sofware ist erlaubt, vorausgesetzt die Datei
"liesmich.txt" wurde nicht entfernt.
Zuerst bitte EVBoardV100712.hex laden mit vorherigem
"Erease Device before Flashing" angeklickt.
Dann Geruest.hex hinterherladen, dabei darauf achten das
"Erease Device before Flashing" abgewählt ist.

Das Verzeichnis ab1000Hex beinhaltet ein Beispielprojekt als Geruest.
Man braucht ein Verbindungskabel für die COM-Schnittstelle und ein
Terminal - Emulationsprogramm z.B. VT100.

Viel Spaß beim austesten.
Alfons

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.