AVR-GCC 4.3.2 Ich lege im Flash eine Kennung (String) ab, damit ich im Hexfile sehen kann, was für ein Programm das ist. Ich würde aber auch gerne die Optimierung "--combine -fwhole-program" verwenden. Kann ich den String irgendwie vorm Wegoptimieren schützen? Er wird in der Software nicht verwendet. Peter
__attribute__((used))
Jörg Wunsch schrieb:
> __attribute__((used))
Danke,
Peter
Gast
#1371114
> Ich lege im Flash eine Kennung (String) ab, damit ich im Hexfile > sehen kann, was für ein Programm das ist. Interessante Idee, diese Kennung musst du dann aber im Hexeditor suchen, oder kannst du (man) steuern, wo sie im Flash landet?
Gast
#1372590
Ich würde die "Kennung" eh jedesmal beim Aufstarten über die UART rausspucken, dann ist sie so oder so used auch ohne ein extra Attribute.
Vielleicht ist ja gar keine UART dran.
Gast
#1372948
Naja, wenn ein Teil des Strings konstant und bekannt ist kann man ja grep verwenden ...
Ohne irgendwelche Maßnahmen legt der AVR-GCC den String direkt nach der Interruptsprungtabelle ab, ist also leicht zu finden. Für eine Plazierung woanders müßte man mal bei Bootloadererstellung nachgucken. Ne UART oder ein LCD hat nicht jeder MC angeschlossen. Peter
Gast
#1373569
>Ne UART oder ein LCD hat nicht jeder MC angeschlossen.
Bei mir schon! Nicht immer für den Anwender oder für das Endprodukt
genutzt, aber für mich als Entwickler zum testen und debuggen!
Peter schrieb: >>Ne UART oder ein LCD hat nicht jeder MC angeschlossen. > > Bei mir schon! Nicht immer für den Anwender oder für das Endprodukt > genutzt, aber für mich als Entwickler zum testen und debuggen! Es gibt aber auch AVRs ohne UART Hardware Einheit, bzw. wo keine Pins mehr frei sind. Das Platzieren müsste man mit einer neuen section machen. Das Array bekommt dann mittels attribute den Section-Name mitgeteilt. Dem Linker sagt man dann noch wo die Section liegen soll, da packt er es dann hin.
Gast
#1373588
> Ohne irgendwelche Maßnahmen legt der AVR-GCC den String direkt nach der > Interruptsprungtabelle ab, ist also leicht zu finden. > > Für eine Plazierung woanders müßte man mal bei Bootloadererstellung > nachgucken. Ah, danke für die Info. Ich habe gerade ein wenig Stress mit meinem usbprog, mit deiner Idee, kann ich den Flash wieder auslesen und zumindest sehen, ob er überhaupt geschrieben hat. rotuA
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.