Hallo Leute, dies ist mein erster Beitrag in diesem Forum, da ich über die Such-Funktion mein Problem nicht lösen konnte. Problem ist folgendes, ich beschäftige mich zur Zeit mit einem kleinen Projekt, in dem ich eine kleine LED-Schaltung mit einem AT89C2051 programmieren soll. Das Projekt ist eine Veränderung einer bereits bestehenden Schaltung, in welcher aber nur der Port 1 genutzt wurde. Zu Testzwecken habe ich diese "Grundschaltung" mal auf eine Lochrasterplatine aufgebaut, auch um zu sehen, ob ich die LEDs (low-currant) direkt mit Vorwiderständen an den µC anschließen kann oder ob ich noch ein paar OPs benutzen muss. Soweit so gut, die Schaltung funktioniert. (Getestet mit einem bereits programmiertem µC der Vorgängerschaltung) Das C-Programm dass ich zum testen benutze läuft in der Simulation von Keil auch. Es besteht einfach nur daraus, dass ich P1.7 an- und ausschalte, einfach nur um zu sehen ob das Signal übertragen wird. Um das Programm auf den µC aufzuspielen, benutze ich einen Galep-4. Und genau hier liegt mein Problem. Wenn ich meine Hex-Datei als .bin in das Galep-Programm lade und damit den µC programmiere, sagt mir Galep zwar das Programm wäre drauf, wenn ich den µC dann aber in meine Schaltung einsetze gibt er mir keine Signale aus. Um Vorweg einiges zu klären, der Takt meines Quarzes kommt an. Den Schaltplan hab ich mal mit angehängt. Ich selbst benutze die Demoversion von Keil, habe aber in anderen Beiträgen bereits gelesen, dass das ein Problem sei bei dem AT89C2051 wegen dem Compiler. Mein Arbeitskollege hat zum Glück die Vollversion, aber auch dort klappt es nicht. :/ Nun nach geschätzt 100000 Wörtern mal zu meiner Frage: Weiß jemand wie ich die Einstellungen von Keil, bzw. Galep verändern muss, um mein C-Programm so auf den µC zu bekommen, dass er mir die Signale ausgibt? Mit freundlichen Grüßen, Vram
Marvin W. schrieb: > Um das Programm auf den µC aufzuspielen, benutze ich einen Galep-4. > > Und genau hier liegt mein Problem. Wenn ich meine Hex-Datei als .bin in > das Galep-Programm lade und damit den µC programmiere, sagt mir Galep > zwar das Programm wäre drauf, wenn ich den µC dann aber in meine > Schaltung einsetze gibt er mir keine Signale aus. Ich denke dein Problem liegt auf der Hand. Du lädst das Hex File als Bin File in Galep ein. Das passt nicht zueinander. Du musst das Hex File in Galep auch als "Intel Hex" File einlesen, ansonsten bekommst du nur kauderwelsch in Galep. Galep unterstützt Bin und Hex Dateien beim Einlesen, du musst nur das Format beim Öffnen der Datei dementsprechend einstellen. Ciao, Rainer
Hallo Rainer, danke schon mal für die schnelle Antwort :) Leider behebt das mein Problem noch nicht. Wenn ich meine Hex-Datei als Intel-Hex lade sagt mir Galep "Geladene Daten für ausgewähltes Bauteil zu groß"
Marvin W. schrieb: > Hallo Rainer, > > danke schon mal für die schnelle Antwort :) > Leider behebt das mein Problem noch nicht. Wenn ich meine Hex-Datei als > Intel-Hex lade sagt mir Galep "Geladene Daten für ausgewähltes Bauteil > zu groß" Dann hast du ein anderes Problem. Der Code, der erzeugt wird ist >2K. Entweder du speckst dein Programm ab oder du nimmst einen AT89C4051. Der hat 4K Speicher. mfg.
:
Bearbeitet durch User
Marvin W. schrieb: > Geladene Daten für ausgewähltes Bauteil > zu groß Die Keil-Demo wird wohl den Code nicht ab 0x0000 starten, sondern höher. Kann man im Galep den Code editieren, dann lösch einfach alles vor dem eigentlichen Code raus, der dürfte ab 0x0800 oder 0x8000 stehen.
>sagt mir Galep "Geladene Daten für ausgewähltes Bauteil >zu groß" Ist dein Google kaputt? http://www.keil.com/forum/3706/
Peter Dannegger schrieb: > Kann man im Galep den Code editieren, dann lösch einfach alles vor dem > eigentlichen Code raus, der dürfte ab 0x0800 oder 0x8000 stehen. Der steht in der Demo Version ab 0x800 und ist auch für diese Adresslage reloziert. Die Demo Version ist schlicht für den AT89C2051 nicht geeignet.
Georg G. schrieb: > Der steht in der Demo Version ab 0x800 und ist auch für diese Adresslage > reloziert. Das stört den 2051 nicht, der ignoriert die oberen Adreßbits einfach. Man muß eben bloß die ersten 2048 Bytes aus dem Bin-File rauslöschen, dann paßt es in den 2051.
nimm doch sdcc anstelle keil ? oder du besorgst dir eine schön alte version vom keil51 (musste mal googeln), der macht keinen offset ab 0x800. bestimmt hat noch jemnd eine alte keil cd irgendwo zu liegen... gruss, tom.
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.