www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik IAR Workbench - Libary einbinden


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich arbeite mit der IAR Workbench 4.21 und will einen FT232BM
programmieren.
Bei diesem USB-Chip ist eine *.dll, *.h und einen *.lib dabei.

Wie kann ich die *.lib einbinden, damit ich die vorimplementierten
Funktionen der *.dll nutzen kann?

Danke

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich gehe mal ganz stark davon aus, dass du mit IAR keinen PC
programmieren willst. DEmzufolged kannst du auch keine dll in ein
Mikrocontroller-Programm einbinden.
Dafür ist die .h vorgesehen.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also,

ich habe die dll mithilfe der HeaderDatei eingebunden
#include "FTD2XX.h"

Allerdings kriege ich jetzt 100 errors, weil er ganz viele Sachen aus
der Header Datei nicht kennt.
z.B.
FTD2XX_API
FT_STATUS WINAPI FT_SetBaudRate(
    FT_HANDLE ftHandle,
  ULONG BaudRate
  );

Deshalb dachte ich mir, dass das an der *.lib liegen muss, die ich dann
eben noch einbinden will.

Vielleicht ist mein Problem jetzt etwas klarer

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Fehlermedlungen hängen wohl eher damit zusammen, dass IAR gewisse
Sachen (z.B. ULONG) nicht kennt.
Wo hast du die Dateien her?

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es sein, dass FTDI gar keine .h-Datein für die Controller-Seite zur
Verfügung stellt, sondern alles an Support (Libraries etc) auf die
PC-Seite ausgelegt ist?
Würde mich nicht wundern, da das Ding ja mehr oder weniger eine
serielle Schnittstelle ist. Konfiguriert wird das Ding über den USB und
das EEPROM.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Dateien sind direkt vom Chiphersteller, FTDI

Ich komme ja eigentlich mehr aus der Softwareentwicklung und nicht
direkt aus der Firmwareecke, aber beispielsweise beim VisualStudio kann
man so *.dll´s eigentlich ganz easy einbinden.
In C# kann man das auch über eine Funktion DLLIMPORT machen.

Also sollte das die IAR-Umgebung doch auch können ???

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
für die dll ist eine h-datei dabei.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du einen Link dazu?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.ftdichip.com/Drivers/D2XX.htm

Windows XP Driver 3.01.04

das ist der Treiber, den ich benötige, damit Windows den Chip erkennt.
Sprich, ich stecke den Controller an, dann kommt ein PopUp "Neue
Hardware gefunden". Und bei diesem Treiber, sind die Dateien dabei

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du willst mit IAR ein Windows-Programm erstellen, oder habe ich dich da
falsch verstanden?
IAR ist ein reiner Embedded-Compiler, also für verschiedene
Mikrocontroller. Mit Windows hat das nix zutun.
Mikrocontroller werden in der Regel auch nicht wie
betriebssystem-orientiert programmiert - da macht man (fast) alles
schön von Hand, weil man selbst für die Verwaltung der Resourcen
verantwortlich ist.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab eine Platine, auf der ist ein USB-Controller drauf. Diesen
USB-Controller will ich mit IAR programmieren.
Das gute an diesem Controller ist eben, dass Windows in nach
Installation des Treibers erkennt.

Auf Betriebssystemseite arbeite ich mit LabView um mit dem USB-Port zu
kommuniezieren.

Aber auf Embedded Seite arbeite ich mit IAR und dem FT232BM. Und für
diesen Controller gibt es eine vorgefertigte DLL vom Hersteller, da
sind nützliche Funktionen drin wie z.B. SetBaudrate(..),
OpenUSBPort(...) ...

Und diese Dll will ich nutzen um nicht alles "von Hand" machen zu
muessen, wenn es schon was fertiges gibt.

Hoffentlich ist es jetzt klarer

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da liegst du falsch.
Die dll ist für das PC-Programm.
Den FTDI-Chip musst du dir wie eins dieser RS232-USB-Konverter-Kabel
vorstellen: auf der einen Seite ist der USB-Stecker, auf der anderen
eine RS232.
Den USB-Controller kannst du über die USB-Verbindung konfigurieren
(SetBaudRate...).
DDL sind für Betriebssysteme, nicht für Mikrocontroller (ohne BS).
Mit IAR programmiert man den Controller, der in der Reihe hinter dem
FTDI steht, also einen AVR, 8051 oder dergl. IAR unterstützt die FTDIs
gar nicht. Für IAR ist der FTDI nur ein Baustein, den man über die
serielle Schnittstelle anspricht; die eigentliche Funktion des
Bausteins ist dem IAR-Compiler sehr egal.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, das glaub ich hat mich überzeugt :-)

Danke für die Hilfe!

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DDL sind für Betriebssysteme, nicht für Mikrocontroller (ohne BS).

was soll den der Schwachsinn.
Betriebssysteme gibt es auch für Mikrocontroller und ich kann immer
noch keine DLL einbinden.

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.