mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 8051 librarys howto??


Autor: KMT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ich bin seit gestern verkrampft auf der suche nach einem howto (oder 
wenigstens ein paar info's ) wie ich aus meinen c-funktionen eine 
library
für einen 8051 MCU zusammen baue.
mit keil µvision hab ich schon eine erstellt, aber irgendwie 
funktioniert
das nicht (vielleicht mangels fehlender anleitung) und vorallem scheint
man die erstellten Librarys dann auch nur in µvision verwenden zu 
können.

schön wäre es wenn mir jemand so weiterhelfen könnte,so daß ich am 
schluß eine header-datei und eine library-datei habe (die auch 
funktionieren).

optimal wäre es wenn ich das ganze mit dem JFE(Jens File Editor) und 
makewiz hinbekommen würde.

danke im voraus!

mfg

kmt

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
KMT schrieb:
> mit keil µvision hab ich schon eine erstellt, aber irgendwie
> funktioniert
> das nicht (vielleicht mangels fehlender anleitung) und vorallem scheint
> man die erstellten Librarys dann auch nur in µvision verwenden zu
> können.

Das haben Libs so ansich. Sie kaufen nur unter dem Compiler, mit dem sie 
auch erstellt wurden.
Es gibt nämlich keinen Lib-Standard, jeder Compiler kocht sein eigenes 
Süppchen.
Willst Du Libs portabel halten, mußt Du sie als Quelltext belassen.

Ich belasse eigene Libs grundsätzlich als Quelltext, weil ich mir nicht 
sicher bin, daß sie 100% fehlerfrei sind. Dann steht der Benutzer nicht 
dumm da, sondern kann entdeckte Fehler korrigieren.

Auch erlauben fertige Libs keine Anpassungen an die Hardware mehr 
(Quarzfrequenz, Pinzuweisungen).


http://www.keil.com/support/docs/161.htm


Peter

Autor: KMT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke peter

ich dachte die sind nur vom verwendeten mcu abhängig 
(prozessorbefehlssatz)
da sie doch schon kompiliert sind.

da ich hier standartmäßig den JFE und MakeWiz verwende wäre es schön, 
wenn mir eine erklären würde wie ich dort eine library erstellen kann.

big thx

kmt

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich belasse eigene Libs grundsätzlich als Quelltext, weil ich
> mir nicht

Bei dicken Projekten ist es aber schon schoen wenn man immer nur eine
Libary einbindet. Auch wenn du in deiner Libarie irgendwann mal einen
Fehler findest kannst du den ja immer noch beheben. Du weisst dann aber
auch das eine bestimmte Libarie die du schon seit Jahren in vielen 
Projekten verwendet immer ein bestimmtes Verhalten aufweisst. Es gibt
keine kontinuierliche Veraenderung an dem Code weil du immer mal eine
Kleinigkeit nachbesserst. Letzeres koennte dann dazu fuehren das du nach
fuenf Jahren mal wieder ein altes Programm uebersetzt und es gibt dann
Probleme weil du eine Aenderung nicht bedacht hast. Oder du hast in
jedem Projekt eine Kopie deiner Libarie und musst dann jeden Fehler
jedesmal ueberrall nachbessern.

So sachen wie z.B FAT-filesystem, ansprechen von MMC,
GrafikLCD ansprechen, hoehere Funktionen fuer GrafikLCDs habe ich
immer in eigenen Libaries.
Bei Programmen die in einem Mega8 passen sicher nicht notwendig,
wenn du aber einen M16C mit 256k Flash fuellst dann halte ich das
fuer sehr sinnvoll.

> Auch erlauben fertige Libs keine Anpassungen an die Hardware mehr
> (Quarzfrequenz, Pinzuweisungen)

Bei geschickter Programmierung kannst du einer Libary sowas in
der Initialisierung uebergeben. Man bezahlt halt mit etwas mehr 
Overhead,
bekommt dafuer aber ein leichteres arbeiten bei jedem zukuenftigen
Projekt.

> ich dachte die sind nur vom verwendeten mcu abhängig
> (prozessorbefehlssatz)
> da sie doch schon kompiliert sind.

Bei einer Libary handelt es sich aber nicht direkt um kompilierten 
Prozessorcode. Da muessen ja auch noch viele Zusatzinformationen drin 
stehen. Zum Beispiel wie die Funktion heisst die du gerade aufrufst.
Sowas koennte jeder Hersteller so machen wie er lust hat.

Olaf

Autor: KMT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah licht auf geht ,danke.

eigentlich ja auch klar...hatte nicht weiter drüber nachgedacht.

kann mir jemand mit dem lib erstellen unter jfe+makewiz helfen?

bitte,bitte...das ganze rumgegoogle hat mich schon ganz kirre gemacht!

Autor: KMT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat denn keiner eine idee?? ;-(

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
KMT schrieb:
> kann mir jemand mit dem lib erstellen unter jfe+makewiz helfen?

Was ist das?
Ist das eine IDE oder ein Compiler?

Wenn es eine IDE ist, die den Keil aufruft, dann kannst Du mal schauen, 
wie µvision es macht.
Jede Auswahl im µvision ruft einfach nur das entsprechende Programm mit 
den entsprechenden Parametern auf.
Im Logfenster stehen danach alle Kommandozeilen drin. Und die mußt Du 
dann nur noch in Deine IDE verwursten.


Peter

Autor: KMT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm ... is leider eine eigenständige IDE! die ruft nichts vom keil auf.

Ist halt so ein IDE-Packet (JFE = editor mit compiler ; makewiz = 
erstellt einem die benötigten *.mak files für den JFE ).

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
KMT schrieb:
> Ist halt so ein IDE-Packet (JFE = editor mit compiler ;

Und die IDE ruft irgendnen Compiler auf, den wirst Du rauskriegen 
müssen.
Und dann in der Doku dieses Compilers nachschauen, wie dort Libs 
erstellt werden, bzw. ob der das überhaupt kann.


Peter

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.