Hallo, ich habe das Problem mit der Programmierung des MC AT89C51RC2 mit dem Programm FLIP. Wenn die erzeugte HEX-Datei größer als 128 Byte ist, wird die HEX-Datei nicht übertragen. Die HEX-Datei habe ich mit dem Programm MC-51 V5.9.2 erzeugt. Datei blink_LED_P1.hex 128 Byte funktioniert. Datei blink_LED_P1_0.hex 153 Byte funktioniert nicht.
Und was wäre dein Anliegen bzw. Frage dazu? Sollen wir uns deine Fragen selbst stellen oder wie hattest du dir das gedacht?
Sorry, ich dachte das Problem wäre ausreichend dargestellt. Mein Problem ist: ich möchte natürlich auch größere HEX-Dateien als nur Dateien mit 128 Byte übertragen. Der Flash-Speicher beträgt ja 32 KByte. Ich kann mir leider nicht denken wo bei mir der Fehler liegen könnte, deshalb mein Thread. MfG Juergen B.
Juergen B. schrieb: > funktioniert nicht was verstehst du darunter? Funktioniert der Upload nicht oder tut die Datei nicht das Verlangte? Eine genauere Beschreibung des Fehlers wäre hilfreich.
das hat aber nichts mit der Größe der Hexdatei zu tun. Zeig die Sourcen. Was zum Teufel ist MC-51 V5.9.2
:
Bearbeitet durch User
Hallo, da habe ich mich wohl zu kurz mitgeteilt. 1. funktioniert nicht bezieht sich auf die Übertragung mit FLIP. Löschen und Blank Check für das Device AT89CRC2 ist OK, bei Program kommt die Fehlermeldung: Time Out (nach 10 Sekunden). 2. MC-51 V5.9.2 ist der Assembler-Compiler welcher die beiden HEX-Dateien erzeugt hat. 3. Anbei die beiden Sourcen 4. Ich habe auch HEX-Dateien die mit Keil C-Compiler erzeugt wurden getestet, gleiche Fehlermeldung. Da die erzeugten HEX-Dateien bei der gleichen Funktion (blikende LED an Port P1.0) schon größer als 128 Byte sind. MfG Juergen B.
Anbei dein blink-0 in etwas anderer Form. Versuch doch mal, ob es sich flashen lässt. Ich kenne Flip nicht. Nach deinem Test kennen wir die Ursache. mit "128 Bytes" hat es mit Sicherheit nichts zu tun.
reduziere mal die Baudrate für Flip. Das Flashen einer Intel Hex Zeile braucht etwas Zeit. 9600 ist ein guter Wert
Ich hätte erst nach dem Flip Handbuch suchen sollen... Unter Troubleshooting findet man: Time Out Error – Check the communication medium connections and the target hardware power supply. If everything is allright, reset the target hardware and select a smaller baud rate from the FLIP communication medium dialog box. For maximum performance purpose, FLIP and its software companion (the bootloader) do not perform any data flow control (no XON/XOFF). Therefore, at high baud rates, it may happen that the bootloader has no time enough to perform data management and does not answer properly to the FLIP commands or the answer comes too late. Thomas hat es schon geschrieben, du versuchst mit zu hoher Geschwindigkeit zu flashen. Den Programmierer von Flip sollte man <von der Zensur gestrichen>.
steht auch in der Anleitung von Flip, dass die maximale Baudrate von der Quarzfrequenz am Controller abhängt.
Hallo, vielen Dank für die ausführlichen Antworten, mein Problem ist nun gelöst. Lösung: Baudrate = 9600. Ich hatte nur gelesen das die Baudrate = 57600 sein muss. Ich verwende einen Quarz mit 16.000 MHz. Eine Frage noch: Wenn nicht FLIP, welches Programm kann ich denn dann verwenden ? MfG Juergen B.
Juergen B. schrieb: > Ich verwende einen Quarz mit 16.000 MHz. RS232 ist eine asynchrone Schnittstelle, das Problem ist bei diesen 8052 Mikrocontrollern laufen bei 16Mhz Sender und Empfänger bei höheren Baudraten zu weit ausseinander und irgendwann wird ein gesendetes Byte verschluckt. Juergen B. schrieb: > Eine Frage noch: > Wenn nicht FLIP, welches Programm kann ich denn dann verwenden ? Ich kenna auch nur FLIP, aber mit einem anderen Programm hat man das Problem genauso. Hier schon älter: Beitrag "RS232 mit 89C51"
Juergen B. schrieb: > Ich verwende einen Quarz mit 16.000 MHz. Nimm besser mal 14,7456 oder 11,0592MHz.
Der 89C51RC2 hat meines Wissens einen dezidierten Baudrategenerator das entschärft das Problem etwas. Wenn ich mich richtig erinnere benutzt der Bootloader den auch.
Peter D. schrieb: > Nimm besser mal 14,7456 oder 11,0592MHz. der AT89C51RC2 kann man auch höher Takten, laut Datenblatt im X2 Modus bis 30MHz bei Versorgung 4,5V-5,5V und gar 60MHz im Standardmodus. 24MHz wäre also für den auch noch ein guter Quarz. (s.Bild aus Datenblatt)
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.