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
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
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
> 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
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!
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
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 ).
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
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.