www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Keil µVision3 - hex Files nicht verwendbar für Atmel Flip


Autor: ragingbull (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich hab folgendes Problem.

Ich habe dieses Board vor mir

http://www.stud.fh-hannover.de/~kuhs/537/mexs.htm

Und hab mir ein Programm im Keil geschrieben.

Das File wird als .a51 abgespeichert. Zusätzlich wird mir ein HEX - 80 
File erzeugt.

Will ich das File via Flip laden sagt mir Flip. Couldnot open File.

Was mache ich falsch?

Danke

Autor: scriptkiddy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich in den Release-Notes gefunden:

KNOWN BUGS AND LIMITATIONS
--------------------------
- batchisp HEX files pathnames should contain neither spaces, nor 
accentuated
  characters.

Hast du vllt. Leerzeichen oder Umlaute im Pfad zum hex-file?

Autor: ragingbull (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.

Ja die hatte ich.

Jetzt hab ich das a51 File direkt auf C: gelegt und schon geht :)

Vielen Dank.

Daran hab ich nicht gedacht.

Wo hast du den Bug-Report gefunden?

Autor: Klaus Xx (blacky27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte das gleiche Problem, aber jetzt gelöst.
Vielen Dank!!!
Aber........
Das Programm habe ich nun mit FLIP übertragen, aber kann es nicht 
ausführen.
Ich habe das USB-Flashboard von "elektor".
http://www.elektor.de/products/kits-modules/kits/0...
Wie gesagt, das Programm habe ich übertragen, ohne Fehler.
Ich halte mich dann genau an die Anweisungen.
Nachdem ich RUN gedrückt habe wird das Programm übertragen.
Jumper 2 wieder in die RUN-Stellung bringen und RESET drücken (S1).
Das Programm sollte nun laufen. Es handelt sich um ein ganz einfaches 
Programm: Eine LED soll blinken.
Es tut sich aber nix.
Muss ich außer den angesprochenen Sachen noch irgendwas beachten?

MfG
Blacky27

Autor: Matthias K. (matthiask)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann tausend Ursachen haben, die wahrscheinlich nichts mit Flip zu 
tun haben. Zeig uns mal Dein Programm und auch die Projekt- und 
Linkereinstellungen. Läuft es im Simulator?

Autor: Klaus Xx (blacky27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Programm sieht folgendermaßen aus. Ganz einfach, da wir noch am 
Anfang stehen. Es soll nur eine LED im sekundentakt blinken.
Die HEX-Datei wird auch erzeugt (0 errors, 0 warnings).
Da ich noch in den Kinderschuhen stecke.....
Was soll ich denn für die Projekt- und Linkereinstellungen posten?
Simulator???? Wir haben das Programm nur im Debugger-Modus laufen 
lassen.


counter    equ R7
LED    equ P0.0
;---------------------------
code_s    segment code
      cseg at 0000h
      ljmp main

      org 000Bh
      ljmp Timer0

      org 0100h
      rseg code_s
;----------------------------
main:    mov TMOD,#1    ; 16 Bit Modus
      mov TH0,#0x3C
      mov TH0,#0xB0
      setb ET0    ; Freigabe Timer0
      setb EA      ; Allg. Int Freigabe
      setb TR0    ; Timer starten
      mov counter,#20
;---------------------------
Loop:    nop
      nop
      sjmp loop    ; Leerlaufprozess
;---------------------------
Timer0:    clr TR0
      mov TH0,#0x3C
      mov TL0,#0xB0
      setb TR0    ; Timer starten

      djnz Counter,Fertig
      mov counter,#20
      cpl LED      ; blinken

Fertig:    reti      ; fertig
;----------------------------
end

Autor: Klaus Xx (blacky27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe da.... einen Fehler habe ich schon gefunden.
Zeile 16 muss heißen "mov TL0,#0xB0"
Ich hab' das Programm mal im Debugger laufen lassen.
Der Timer zählt hoch, aber bei Port 0.0 tut sich nix.
Ich habe dazu mal bei KEIL die Fenster Timer0 und Port0 aufgerufen.
Da kann man ja schön verfolgen wei der Timer zählt.
Nach Ablauf der Zeit verzweigt das Programm auch nach Timer0, setzt den 
Timer wieder auf den Startwert und startet ihn erneut. Dann sollte aber 
auch noch die LED leuchten, bzw. nicht leuchten. Da tut sich nix und 
meine Kentnisse sind da auch am Ende.
Ich hoffe mir kann da jemand helfen!!!

MfG
Blacky27

Autor: Klaus Xx (blacky27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mich jetzt etwas in das Programm eingearbeitet.
Also wenn ich im Debugger-Modus auf RUN klicke funktioniert das 
Programm.
Port0.0 blinkt, so wie es sein soll.
Der Timer muss ja auch erst 20x durchlaufen werden. >> djnz 
Counter,Fertig <<
Je länger man mit dem Programm arbeitet, desto mehr kapiert man, gg. 
Trotzdem blinkt bei meinem Board noch nix.
Irgendwas hängt dann bei der Übertragung auf mein Board, bzw. bei der 
Ausführung. Hoffentlich habe ich nix falsch eingelötet. Das wird sonst 
ne Riesenfehlersuche. Keine Lust!!!

MfG
Blacky27

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Also wenn ich im Debugger-Modus auf RUN klicke funktioniert das Programm.
Mit Debugger meinst du den Keil Simulator, oder? Debugger und Simulator 
sind zwei völlig unterschiedliche Sachen, deswegen frag ich.

> Port0.0 blinkt, so wie es sein soll.
Okay. Setze bei CPL LED einen Breakpoint. Lass das Programm bis zum BP 
laufen. Dann notierst du die Zeit die vergangen ist (siehst du links im 
Fenster). Dann lässt du das Programm nochmal durchlaufen, notierst die 
Zeit wieder und errechnest die Differenz.
Wenn dieser Wert dem Wunschwert entspricht, sollte es eigentlich auch 
auf dem Board laufen - es sei denn, man muss beim RB2 die Ports noch 
speziell konfigurieren.

> Irgendwas hängt dann bei der Übertragung auf mein Board, bzw. bei der
> Ausführung.
Die Aussage ist zu wage. Du lädst mit FLIP runter? Hast du nach dem 
Download das Programm gestartet (RUN APPLICATION)? Prüf auch das 
BootloaderJump-Bit, ansonsten läuft der Controller evtl. wieder in den 
Bootloader.

> Hoffentlich habe ich nix falsch eingelötet. Das wird sonst ne
> Riesenfehlersuche.
Quatsch, bei dem Pilleboard haste einen Lötfehler recht schnell 
gefunden, denke ich. Wenn FLIP den Controller akzeptiert, läuft der ja 
schonmal, dann bleibt ja so gesehen nicht mehr viel übrig.

Ralf

Autor: Klaus Xx (blacky27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehler gefunden. Hatte JP1 vergessen zu setzen, deshalb hatten meine 
LEDs auch keine Spannung.
Einen großen Vorteil hat aber die Fehlersuche >>> man lernt das Programm 
zu verstehen.

MfG
Blacky27

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.