- fchao-Sinus-Wechselrichter AliExpress         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 50

Thema: Microsoft Visual Studio 2008 Express als AVR IDE für C-Code!

  1. #31
    Benutzer Stammmitglied
    Registriert seit
    15.02.2008
    Ort
    Fürth
    Alter
    40
    Beiträge
    46

    Neues LinkThemAll

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi,

    es wird mal wieder Zeit für eine Verbesserung: Mir war es zu lästig, ständig Dateien vom Build auszuschliessen, um nicht zuviel zu linken. Ich will mir darüber keine Gedanken mehr machen, wer wen inkludiert. Das LinkThemAll hat ein bisschen mehr Intelligenz bekommen: Es bekommt über das Studio den Pfad auf die .c - Datei, die die Main-Funktion beinhaltet. Mit ihrer Hilfe scannt sie alle Header in ihrer Inklude-Reihenfolge durch und erkennt rekursiv alle inkludierungen. In dieser ersten Version werden keine *.c Dateien gescannt. Alle Inkludierungen in *.c Dateien werden nicht erkannt und dann auch nicht gelinkt. Also folgende Regel (Beispiel)

    In main.c wird nur main.h inkludiert
    in main.h kann dann GlobalConstants.h, Memory.h usw inkludiert werden; diese werden weiter gescannt

    Im Anhang findet sich ein Beispiel für ein Log (kann man sich mal ansehen, bevor man sich das Update zieht) und ein Zipfile.
    Im Zipfile wiederum ist ein Screenshot der neuen Kommandozeile für den Linker und Link.bat und LinkThemAll.exe. Die letzten beiden werden einfach überschrieben.

    Wenn man das Projekt dann baut, bekommt man im Outputfolder eine LinkThemAll.log generiert, die anzeigt, welche header von wem inkludiert werden, welche Objectfiles zu den gescannten Headern gefunden wurden (daran kann man erkennen, ob vlt etwas nicht compiliert wurde) und es wird noch angezeigt, welche objectfiles an die Linkercommandline übergeben werden.

    Ich denke, das ist eine ganz hübsche Arbeitserleichterung.
    Probierts aus und schickt mir Verbesserungsvorschläge!!

    Mfg, Martin

    PS: Den Code zum Linktool gibts auf Anfrage per Mail (er ist noch ziemlich dirty, wird grad noch verbessert )
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken linkthemalllog.jpg  
    Angehängte Dateien Angehängte Dateien

  2. #32
    Benutzer Stammmitglied
    Registriert seit
    15.02.2008
    Ort
    Fürth
    Alter
    40
    Beiträge
    46

    LinkThemAll Code

    So, jetzt kann ich auch den Code für das LinkTool rausgeben, hab ihn noch ein bisschen gesäubert :-D
    Im zip befindet sich ein Studio2005 Projekt, ist also mit .NET2 auch übersetzbar.
    Das Tool ist abwärtskompatibel zur alten Version. Wenn man den Pfad auf die main.c mitgibt, werden nur alle inkludierten Dateien geklinkt. Wenn der Parameter fehlt, werden alle objfiles gelinkt.

    Have fun
    Angehängte Dateien Angehängte Dateien

  3. #33
    Neuer Benutzer Öfters hier
    Registriert seit
    16.01.2008
    Beiträge
    7
    Hallo nochmal!
    Ich muss euch schon wieder auf die Nerven gehen . Mittlerweile ist der zuerst aufgetretene Fehler beseitigt, aber ein anderer hat sich ergeben...
    Ich glaube beim LINKEN des Projekts kommts zu einem unerwarteten Abbruch. Meiner Ansicht nach durch das Nichterstellen eines temporären Batch-Files.

    @sast (falls da ): Welche Häkchen müssen weg? Du hattest da ein paar Beiträge weiter oben was von geschrieben...

    Wäre klasse, wenn sich mal jemand Fähigeres als ich den BuildLog anschaut : )
    In meinem Release-Ordner sind nach dem Kompiliervorgang die *.obj, *.exe, *.exe.intermediate.manifest, mt.dep, vc90.idb.
    Die *.exe-Datei verhält sich, wie sie soll...

    Danke schonmal für die Hilfe!
    Angehängte Dateien Angehängte Dateien

  4. #34
    Benutzer Stammmitglied
    Registriert seit
    15.02.2008
    Ort
    Fürth
    Alter
    40
    Beiträge
    46

    Fehlererklärungen

    Hi Toby,

    Kompilieren... << sieht gut aus
    AVRModule1.c << sieht gut aus
    Verknüpfen... << MUSS RAUS
    Das Manifest wird eingebettet... << MUSS RAUS
    Custom AVR linking... << sieht gut aus

    Es sieht eigenltich fast gut aus
    Du hast aber 2 Linkprozesse drin, das "Verknüpfen" ist falsch. Spür das mal auf und lösch das raus. Dann ist das manifest auch draussen.

    Wenns garnicht geht, sag nochmal Bescheid, dann stell ich eine Projektvorlage online, nur mit Main.

  5. #35
    Neuer Benutzer Öfters hier
    Registriert seit
    16.01.2008
    Beiträge
    7
    Ah, vielen Dank schonmal! Das hab ich nun gemacht, allerdings bricht das Ganze noch immer beim Linken mit der Fehlermeldung ab:
    ***
    echo Project : error PRJ0019: Ein Tool hat einen Fehlercode aus folgender Quelle zurückgegeben: "Custom AVR linking..."

    exit 1

    :VCEnd
    ]Erstellen der Befehlszeile """c:\Users\Toby\Documents\Programmdaten-Speicherordner\VisualStudio\expressproject\express project\Release\BAT00000C1047612268.bat"""
    ***
    In der Toolbildreihenfolge habe ich jetzt nur Benutzerdef. Buildtool, C/C++ Kompiliertool und Postbuildereignis-Tool ausgewählt. Damit sieht meine Ausgabe wie folgt aus:

    Kompilieren...
    AVRModule1.c
    Custom AVR linking...

    Also relativ gesund

    Gruß,
    Toby

  6. #36
    Benutzer Stammmitglied
    Registriert seit
    15.02.2008
    Ort
    Fürth
    Alter
    40
    Beiträge
    46

    Template-Projekt

    Also... es ist verdammt schwer, TeleDiagnosen zu stellen. Wir können jetzt noch ein bisschen weiter raten. Aber du kannst auch dieses Projekt hier nehmen, WinAVR und PonyProg in die vorgesehenen Ordner kopieren und loslegen.
    Ich weiss wie frustrierend es ist, wenn man nicht voran kommt. Mit diesem Projekt muss es gehen, so läufts bei mir. (Da ist auch die neueste Version vom LinkThemAll drin, es wird nur gelinkt, was wirklich gebraucht wird).

    Mfg, Martin
    Angehängte Dateien Angehängte Dateien

  7. #37
    Benutzer Stammmitglied
    Registriert seit
    15.02.2008
    Ort
    Fürth
    Alter
    40
    Beiträge
    46
    Aah, jetzt weiss ich, was noch falsch sein könnte:

    In der Toolbildreihenfolge habe ich jetzt nur Benutzerdef. Buildtool, C/C++ Kompiliertool und Postbuildereignis-Tool ausgewählt

    --> Es geht nur C/C++ Kompilertool ODER Benutzerdefiniertes Buildtool. Wir brauchen aber unbedingt das Benutzderdefinierte Buildtool, da wir ja Assemblercode für den AVR Controller statt für x86 brauchen.
    Also wenn noch irgendwo C/C++ Kompilertool steht, dann ändere es!

    Mfg, Martin

  8. #38
    Neuer Benutzer Öfters hier
    Registriert seit
    16.01.2008
    Beiträge
    7
    Hey Martin,
    tausend Dank für das Projekt! Läuft natürlich...
    Ich werde das mal auseinander nehmen und hoffentlich rausfinden, wo es letztendlich bei mir gehakt hat
    Jetzt nur noch PonyProg installieren und zufrieden sein

    Viele Grüße,
    Toby

  9. #39
    Benutzer Stammmitglied
    Registriert seit
    15.02.2008
    Ort
    Fürth
    Alter
    40
    Beiträge
    46

    Noch mehr

    Hi,

    ich hab eine Frage an alle Leser:
    Ich würde gern eine professionellere Doku rausbringen, mit noch mehr Features. Code kann man noch strippen und einer statischen Codeanalyse unterziegen. Noch dazu würde ich noch mehr Hintergründe zum Umgang mit dem Visual Studio einbringen und die Implementierungen für alle Funktionen auf dem ATMega32 mitgeben.
    Da diese Doku sehr zeitaufwendig ist und ich das nicht umsonst machen möchte, wollte ich vorher fragen, wie hoch die Nachfrage danach ist.
    Um das Forum nicht zu überfluten bitte ich euch, mir eine Nachricht ins Postfach zu legen. Ich danke euch allen!

    Mfg, Martin
    Heute progg' ich
    Morgen bau ich
    Und übermorgen caste ich die Königin nach (int)! \/

  10. #40
    Neuer Benutzer Öfters hier
    Registriert seit
    05.12.2008
    Beiträge
    5
    Hallo Leute

    ich bekomm es einfach nicht zum compilieren.
    Ich habe auch die Hochkommas um den Pfad gesetzt.
    Bei Klick auf meine Datei und kompilieren kommt:
    "1> Die eingegebene Zeile ist zu lang."


    Auch wenn ich die "Vorlage" hier lade und nach d:\
    extrahiere komt:
    1>Compiling Main.c for Win32|Release...
    1>Das System kann den angegebenen Pfad nicht finden.
    1>Das System kann den angegebenen Pfad nicht finden.
    1>Das System kann den angegebenen Pfad nicht finden.
    1>Projekt : error PRJ0002 : Fehler "1" wurde von "C:\WINDOWS\system32\cmd.exe" zurückgegeben.

    Was ist denn da los?
    :-/

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests