mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Keil: Syntaxfrage


Autor: spaenge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte eine in eine a51-Datei eine andere a51-Datei einbinden.

Bei folgendem zeigt er einen Syntaxfehler an:
CODE  ;Codesegment. Code wird vom Linker hinter andere Datei gehängt

Wenn ich es weglasse, spinnt alles rum; ist eine Hilfedatei für ein 
Display. Wenn ich die Hilfs-Unterprogramme einfach unten reinkopiere 
(ohne einbinden), läufts. Also muss es wohl daran liegen, dass er den 
Code falsch setzt, o.ä.

Erstellt wurde das ganze mit RideIDE und ich habe jetzt hier µVision3.

Wie mach ich das passend? ;)

lg

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich möchte eine in eine a51-Datei eine andere a51-Datei einbinden.
Macht man auch nicht so (zumindest nicht in Keil).

Du hast links ein sog. Projektfenster. Dort müssen alle relevanten 
Dateien hinzugefügt werden und dadurch dem Projekt zugeordnet, damit der 
Compiler/Linker/Assembler weiss, was denn alles zum Projekt gehört.

Variablen, usw., die in beiden (mehreren) Dateien bekannt sein müssen, 
müssen in einer Datei angelegt, über "public" bekannt, und über "extern" 
drauf verwiesen werden.

Ralf

Autor: spaenge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar. Danke schonmal.

Allerdings klappt es nicht mit
extern code Unterprogramm
auf das Unterprogramm zu verweisen.

Das Problem mit dem Code von oben besteht übrigens immer noch.

lg

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann eben der Reihe nach :)

Mach einen Screenshot vom Keil-Fenster, und häng die beiden Dateien an 
(oder ein ZIP des gesamten Projekts).

Ralf

Autor: spaenge (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So hier nen Screen.

Auf dem Display wird der aktuelle Akku-Inhalt ausgegeben. Die Hilfedatei 
hat jemand gebastelt, funktioniert aber auf jeden Fall (im RideIDE).

Ich hoffe man erkennt was man braucht.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, ich blicke langsam (aber echt nur langsam) durch...
Du hast ja jede Menge Fehlermeldungen, dann ist ja auch klar, dass es 
nicht tut.
Z.B. Zeile 3, in LCDHILF.A51, CODE allein reicht nicht. Ich nehme an, 
dass du aufs CODE-Segment verweisen willst... Das geht je nach bereits 
vorgenommenen Einstellungen mit RSEG, CSEG usw.

Ich empfehle allgemein:
http://www.keil.com/c51/man/c51.htm
und speziell für diesen Fall:
http://www.keil.com/support/man/docs/a51/
http://www.keil.com/support/man/docs/a51/a51_programming.htm
http://www.keil.com/support/man/docs/a51/a51_controls.htm

Jeweils auf der linken Seite gibts dann das gewünschte Kapitel.

Wie gesagt, komplettes Projekt in ne Zip, und wir gucken weiter...

Ralf

Autor: spaenge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werde ich mir mal ansehen.

Das Problem ist nur, dass es mit RideIDE so funktioniert. In der Schule 
benutzen wir Ride, was allerdings bei mir aus irgendeinem Grund nicht 
zum installieren geht. Deshalb musste ich auf Keil umsteigen und hab 
eigentlich nur immer solche Probleme, die auf die verschiedenen Compiler 
zurückzuführen sind (wahrscheinlich).

Danke auf jeden Fall mal. Ich werde mich mal da reinarbeiten.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, da wird sicherlich ein großer Teil der Probleme an den 
unterschiedlichen Compilern liegen. Wie gesagt, wenn du das Projekt hier 
reinstellst, kann man sich das mal angucken, wo die Fehler liegen...
Ausserdem würde ich dir empfehlen, nachzugucken, warum du Ride nicht 
daheim installieren kannst, sonst bringt es nix, wenn ihr in der Schule 
mit Ride rummacht, und du jedesmal gucken musst, dass du es auf Keil 
portierst...

Übrigens, es gibt noch den SDCC(frei) und den Wickenhäuser Compiler(bis 
8 kB frei), die haben nicht solche Einschränkungen wie der Keil mit 2kB 
Offset usw.

Ralf

Autor: spaenge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem mit der Installation von Ride ist, dass immer eine 
Fehlermeldung kommt, dass die Festplatte nicht genug frei ist (ist sie 
aber) oder dass die Datei gerade verwendet wird. Hab schon alles 
mögliche probiert, aber nichts geht.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Datei? Schon mal probiert, im abgesicherten Modus zu 
installieren?

Ralf

Autor: spaenge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal probiert, im abgesicherten Modus zu
installieren?

Nach langem hin und her habe ich auch das mal probiert und es hat 
geklappt. Keine Ahnung, warum ich das nicht vorher schon gemacht habe, 
normaler Weise ist das die erste Anlaufstelle ;)

Jetzt klappt auf jeden Fall alles. Ich hoffe die Probleme hören jetzt 
erstmal auf.

Auf jeden Fall Danke für Deine Hilfe und Mühen!

Gruß

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.