Hallo ich benutze EMIde zum Entwickeln einer Software für den STM32. Nun benötige ich für jedes erzeugte Modul ein Listfile. In den Build Options habe ich versucht über -Wa,-adhlns=Out\obj\Release\Listing.lst ein Listing zu erzeugen, hier wird aber immer das Listing überschrieben und nur das Listing des letzen Moduls bleibt übrig Hat hier jemand eine Lösung? Danke
Wenn du das =Out\obj\Release\Listing.lst weglässt, sollte er auch ein Listing erzeugen (wegen -Wa,-adhlns). Dann vermute ich doch daß er den übersetzten Dateinamen mit einer anderen Endung nimmt?
Angsthase schrieb: > Nun benötige ich für jedes erzeugte Modul ein Listfile Macht das Sinn? Die einzelnen Module (.o und .a Files) werden nicht 1:1 ins Binary übernommen, sondern je nach Linker-Einstellung zerpflückt, umsortiert, Funktionen werden ggf. kombiniert/inlined... Daher sind die einzelnen Listings nicht sehr aussagekräftig über das Endergebnis. IMO ist ein Disassembly des finalen ELF-Files am "sichersten" und unverfänglichsten.
Programmierer schrieb: > IMO > ist ein Disassembly des finalen ELF-Files am "sichersten" und > unverfänglichsten. Danke, habe es jetzt aus dem .elf File mit \GNU Tools ARM Embedded\5.3 2016q1\bin\arm-none-eabi-objdump erzeugt Ich habe das Problem, das im entstandenen HEX File an 3 Stellen eine Pfadangabe hinterlegt ist die ich nicht kenne und wollte nachsehen in welchem Modul das passiert. Ich weiss leider nicht was der Pfad in dem HEX File überhaupt zu suchen hat
Hi Such mal in deinem Sourcecode nach _FILE_ Matthias
Μαtthias W. schrieb: > Such mal in deinem Sourcecode nach _FILE_ Hi, finde dan sowas if (HAL_ADC_Init(&hadc1) != HAL_OK) { _Error_Handler(_FILE_, _LINE_); }
habe jetzt überall den _Error_Handler auskommentiert und es ist weg was bewirkt diese Funktion eigentlich ?
Angsthase schrieb: > habe jetzt überall den > _Error_Handler auskommentiert und es ist weg > > was bewirkt diese Funktion eigentlich ? Keine Ahnung. Das Makro
1 | __FILE__
|
enthält auf jeden Fall die aktuelle Quellcodedatei. Die Funktion _Error_Handler wird damit irgendwas anfangen. z.B. Ausgabe auf einer Schnittstelle das da jetzt ein Fehler aufgetreten ist.
Μαtthias W. schrieb: > Keine Ahnung. Das Makro__FILE__ > enthält auf jeden Fall die aktuelle Quellcodedatei. Auf alle Fälle Danke, ich hatte das Problem, das meine Firmware bei gleichem Code beim Erzeugen auf verschiedenen Rechnern unterschiedliche CRC ergab.
Da gibt es eine längere Abhandlung zu dem Thema: https://stackoverflow.com/questions/8487986/file-macro-shows-full-path https://stackoverflow.com/a/53848526 Könnte eine bessere Lösung sein als die Fehlerbehandlung zu entfernen.
Die Fehlerbehandlung ist möglicherweise eh tot, wenn es z.B. eine leere weak-Funktion ist, die man bei Bedarf mit einer echten eigenen überschreibt.
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.