Liste der Anhänge anzeigen (Anzahl: 4)
Microsoft Visual Studio 2008 Express als AVR IDE für C-Code!
Hi
ich hab das Microsoft Visual Studio 2008 Express (kostenlos!) als Entwicklungsumgebung für die C-Code entwicklung (gcc - kostenloser Compiler) für AVR umgesetzt!
Keine Kosten!
Keine Codelimits!
Effizienteste Softwareentwicklung!
Lest euch die PDFs durch und dann: viel Spaß ;)
Der Maddin
PS: Ich musste die Attachments auftrennen, eigentlich ist es ein Dokument. Mailt mich mit dem Betreff "RoboterNetzwerk" an unter Martin_Hruschka@web.de und ihr bekommt das komplette PDF
Liste der Anhänge anzeigen (Anzahl: 3)
Es geht weiter...
Wow, so viele Interessenten. Das nächste Dokument ist fertig. Es beschreibt die vorbereitenden Schritte im Studio. Ein Debugwerkzeug wird von Anfang an eingebunden und der Code durch Makros übersichtlich gehalten. Datentypen werden abstrahiert um flexibel zwischen verschiedenen Controllern wechseln zu können.
Eine Bitte an die Leser: Ich hab mir Mühe gegeben, das Dokument fehlerfrei zu gestalten. Sollten trotzdem logische Fehler oder Tippfehler (ich vertippe mich öfters, denn 20% meiner Finger sind Daumen) auftauchen, dann sagt bitte Bescheid. Ich werde die Doku dann korrigieren.
Dankeschön!
Ansonsten viel Spaß damit :-D
Liste der Anhänge anzeigen (Anzahl: 5)
AVRWizards
So. Die Wizards sind fertig. Mit diesen Wizards ist es möglich, im Studio zu sagen: Datei->Neu->Projekt->AVRProjekt. Alle Einstellungen, die bis jetzt manuell vorgenommen werden mussten, macht der Wizard jetzt. Das heisst, man vergisst nichts mehr. Auch das Einfügen neuer Module kann ein Wizard übernehmen. Ich denke, diese Wizards werden nochmal eine erhebliche Erleichterung darstellen.
Ich habe beschrieben, an welchen Stellen die Wizards zu modifizieren sind, sodass sich jeder die Wizards customizen kann.
Lest euch erst die Doku durch und dann extrahiert die Zipfiles --> have fun ;)
Mfg, DerMaddin
Liste der Anhänge anzeigen (Anzahl: 1)
LinkThemAll.exe
Höö...wieso ist der Anhang nicht hochgeladen worden? Sorry, jetzt mit Anhang
Liste der Anhänge anzeigen (Anzahl: 1)
Ein kleines Problem
Hallo zusammen,
und erst einmal ein dickes Lob an den Urheber der sehr ausführlichen und verständlichen (!) Anleitungen!
Ich habe versucht, sowohl mit der manuellen Anleitung als auch mit den Wizards die Kompilierung zu bewerkstelligen. Allerdings scheitert es bei beiden Varianten an demselben Punkt: Die Ausgabe der *.obj-Datei in den Output-Ordner klappt noch, das anschließende Weiterbearbeiten (Linken) zum "program.elf" geht nicht mehr... VisualStudio liefert mir hier die angehängte Log-Datei.
Ich arbeite mit VisualStudio2008, also der Vollversion. Daher kann ich auch direkt etwas zu den Wizards sagen: Ich musste zur Installation nur einige Pfade anpassen (da ja z.B. kein Express-Ordner existiert) und einige Ordner umbenennen von "1031" zu "1033", was mir aber auch VS gesagt hat; alles also kein Problem ; )
Wäre super, wenn mir irgendwer helfen könnte!
Viele Grüße,
Tobias
Liste der Anhänge anzeigen (Anzahl: 1)
Das Log
Hi Toby,
ich hab mir mal dein Log angeguckt (Bild im Anhang). Folgendes: Das Visual Studio erstellt im Output-Verzeichnis temporäre Batch-Dateien (im Bild gelb markiert), die die Kommandozeile für den Compiler beinhalten. Also im Normalfall für den Microsoftcompiler, in diesem Fall aber für den GCC.
Dieses Log beschreibt nur die Erstellung dieser Batchfiles, nicht aber deren Ausführung!
Die erste Batch-Datei, die für das Clean verantwortlich ist, wird richtig erstellt und wahrscheinlich auch richtig ausgeführt (grüne Markierung --> richtige Hochkommas).
Die folgenden Batchdateien, die die Kommandozeile für compile.bat beinhalten, werden aus irgendeinem Grund mit dreifachen Hochkommas generiert. Ich weiss nicht, worin das begründet liegt. Wenn das ein Fehler im Wizard ist, muss ich ihn noch raus machen. Das KÖNNTE ein Hinweis auf einen ersten Fehler sein. Möglicherweise bekommst du Objectfiles der Größe 0kb generiert? Kannst du das mal überprüfen? Falls die Objectfiles richtig generiert werden, kannst du diese dreifachen Hochkommas drin lassen.
Die letzte Markierung in Bild deutet auf einen fehlerhaften Eintrag für den CustomLinkStep hin. Das Studio erwartet Project1.exe anstatt Project1.elf. Das heisst, der Eintrag für CustomBuildStep bei den Projekteinstellungen falsch ist. Entweder hat da der Wizard für die Vollversion anders funktioniert als für die Expressversion oder du hast es falsch eingetippt.
Um dir genauer sagen zu können, woran es liegt, muss ich wissen
1) wie groß die *.obj files sind
2) ob alle *.c files gebaut werden, die inkludiert werden (möglicherweise fehlt dem Linker einfach ein Modul)
Mfg, DerMaddin
Liste der Anhänge anzeigen (Anzahl: 2)
Neues LinkThemAll
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 ;))
Liste der Anhänge anzeigen (Anzahl: 1)
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 ;)
Liste der Anhänge anzeigen (Anzahl: 1)
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!
Liste der Anhänge anzeigen (Anzahl: 1)
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