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
Also möchtest du dass man dir anhand von einem HEX-File sagt, was an deinem Programm nicht funktioniert?
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.
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?
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!
Ich fragte eigentlich nach dem Grund, warum jemand die Software auf sein Board laden sollte. Was bezweckst du damit?
Ich bin verwundert, kann ich schon die Fassungen auf dem Board per Virus zerstören. Für was hält man mich hier!
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?
Kein blinken, kein hupen, auf der seriellen undefinierbare Zeichen. Ist das für 1MHz Takt, Baud ist sicher 19200 gemeint.
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!
Entschuldigung das hatte ich vergessen. Grundtakt ist 16MHZ Alfons!
Kommando zurück, ausser der Seriellen funktioniert es. Ich hatte die Brücken vergessen.
Serielle geht auch soweit, das geschriebene ist allerdings nicht richtig lesbar, formatierung?
Danke für die Antwort! Ist VT220 Emulation eingestellt ? Oder einfach mal die "C" Taste drücken Alfons!
1 | 4H45830›12;35H999›1;1H\›9;34H ›?25l›10;34H45830›12;35H999›1;1H-›9;34H ›? |
2 | 25l›10;34H45830›12;35H999›1;1H/›9;34H ›?25l›10;34H45830›12;35H999›1;1H\›9;34 |
3 | H ›?25l›10;34H45830›12;35H999›1;1H-›9;34H ›?25l›10;34H45830›12;35H999›1; |
4 | 1H/›9;34H ›?25l›10;34H45830›12;35H999›1;1H\›9;34H ›?25l›10;34H45830›12;3 |
5 | 5H999›1;1H-›9;34H ›?25l›10;34H45830›12;35H999›1;1H/›9;34H ›?25l›10;34H45 |
6 | 830›12;35H999›1;1H\›9;34H ›?25l›10;34H45830›12;35H999›1;1H-›9;34H ›?25l› |
7 | 10;34H45830›12;35H999›1;1H/›9;34H ›?25l›10;34H45830›12;35H999›1;1H\›9;34H |
8 | ›?25l›10;34H45830›12;35H999›1;1H-›9;34H ›?25l›10;34H45830›12;35H999›1;1H/› |
9 | 9;34H ›?25l›10;34H45830›12;35H999›1;1H\›9;34H ›?25l›10;34H45830›12;35H99 |
10 | 9›1;1H-›9;34H ›?25l›10;34H45830›12;35H999›1;1H/›9;34H ›?25l›10;34H45830› |
11 | 12;35H999›1;1H\›9;34H ›?25l›10;34H45830›12;35H999›1;1H-›9;34H ›?25l›10;3 |
12 | 4H45830›12;35H999›1;1H/›9;34H ›?25l›10;34H45830›12;35H999›1;1H\›9;34H ›? |
13 | 25l›10;34H45830›12;35H999›1;1H-›9;34H ›?25l›10;34H45830›12;35H999›1;1H/›9;34 |
14 | H ›?25l›10;34H45830›12;35H999›1;1H\›9;34H ›?25l›10;34H45830›12;35H999›1; |
15 | 1H-›9;34H ›?25l›10;34H45830›12;35H999›1;1H/›9;34H ›?25l›10;34H45830›12;3 |
16 | 5H999›1;1H\›9;34H ›?25l›10;34H45830›12;35H999›1;1H-›9;34H ›?25l›10;34H45 |
17 | 830›12;35H999›1;1H/›9;34H ›?25l›10;34H45830›12;35H999›1;1H\›9;34H ›?25l› |
18 | 10;34H45830›12;35H999›1;1H-›9;34H ›?25l›10;34H45830›12;35H999›1;1H/›9;34H |
19 | ›?25l›10;34H45830›12;35H999›1;1H\›9;34H ›?25l›10;34H45830›12;35H999›1;1H-› |
20 | 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.
Ich möchte noch eben ein Bild vom Bildschirm anhängen. Hier ist zum Beispiel der Sekundenzeiger zu sehen. Alfons. Antworte sofort weiter.
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.
Ich habe es mit Hyperterminal und TeraTermPro probiert, immer das gleiche.
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!
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.
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!
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.
Alfons Möller schrieb: > Ich laß jetzt erst mal alles auf VT220 - Emulation. Keine gute Idee. VT100 können fast alle
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!
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/terminal/terminal.htm
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
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"
Die Bildschirmanzeige ist jetzt OK. Die oberste Zeile ist mir nicht klar, sollte das die Uhrzeit sein? Was zeigt der rechte Teil an.
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!
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!
Kann man die Uhrzeit auch stellen? Bei mir steht jetzt 19:74:93 00914 Der Sekundenüberlauf ist von 31 auf 72
Hallo Hubert G. Hast Du vielleicht meine Antwort davor übersehen? Alfons
Ich habe mir das wohl nicht richtig durchgelesen, funktioniert bestens.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.