Gast
#1726723
Hi, wie definiere ich mit der IAR ARM Workbench einen initialisierten Array im Flash an einer bestimmten Position? Also so was in der Art:
1 | |
Gruß Sam
|
Anzeige
|
IAR Array im Flash
Gast
#1726723
Hi, wie definiere ich mit der IAR ARM Workbench einen initialisierten Array im Flash an einer bestimmten Position? Also so was in der Art:
Gruß Sam Vielleicht gennau so nur zusätzlich mit Datentyp?
Gast
#1726954
Hallo Jörg, gut beobachtet, aber am Datentyp liegts nicht. Also nochmal. Wie definiere ich mit der IAR ARM Workbench einen initialisierten Array im Flash an einer bestimmten Position? Also so was in der Art:
Gruß Sam Sam schrieb: > Wie definiere ich mit der IAR ARM Workbench einen initialisierten Array > im Flash an einer bestimmten Position? Dein Compilerhandbuch bzw. die Online-Hilfe weiß da nichts drüber? >
Gibts eine Fehlermeldung wenn du das versuchst? Die Syntax sieht ja auf den ersten Blick nicht so schlecht aus. Wie würde das denn ausschauen, wenn es kein Array wäre? Wo kommt denn dann die Adressangabe hin?
oder geht das überhaupt nicht?
Gast
#1726996
Da gibts zwei Möglichkeiten: 1. Segment definieren im Linke file dann #pragma constseg=MYSEGMENT const unsigned char Test; #pragma constseg=default 2. const unsigned char Test @ 0xa190 = 0x23; Gruss Peter
Gast
#1727000
Habs grad mit array probiert
const unsigned char Esel[2] @ 0xa190 = {0x23, 0x56};
geht so.....
Peter
Ziemlich sauber wäre es, wenn Du den gewünschten Speicherbereich (section) für das Array im Linker-Script definierst und dann irgendwie mit einem Pragma oder so im C-Code festlegst, dass das Array in dieser Sektion abgelegt werden soll. In der Doku zu Deinem Compiler/Linker sollte stehen, wie sowas geht. Ich kann es leider auch nicht aus dem Ärmel schütteln, sonst hätte ich das gerne getan.
Gast
#1727007
Hallo Karl Heinz, der Compiler gibt mir folgende Fehlermeldung: Error[Be022]: location address not allowed for initialized variables (writeable variables without the __no_init attribute) Zur Meldung habe ich folgenden Link: http://supp.iar.com/Support/?note=15461&from=search+result Wenn ich nun exakt nach 'solution, part 3' vorgehe (also mit __root usw.), dann bekomme ich genau den gleichen Fehler, nämlich Error[Be022]. Gruß Sam
Gast
#1727034
@Peter: Kann ich ein Segment über Project->Options definieren? Falls ja, wie geht das? @Johnny: Ich les mir jetzt mal die Doku durch und hoffe was zu finden. Danke für die Hilfe. Gruß Sam Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|