Servus allerseits
- STM32F407
- Em::Blocks mit arm-none-eabi v4.7.3
Ich habe in einer Datei folgendes Array:
1 | static char *delay_items[] =
|
2 | {
|
3 | (char *)"HC596 Reset ( ",
|
4 | (char *)"HC595 Clock ( ",
|
5 | (char *)"HC595 Latch ( ",
|
6 | (char *)"HC595 Next Bit ( ",
|
7 | (char *)"HC4051 Input ( ",
|
8 | (char *)"Sample Time 1x ( ",
|
9 | (char *)"Sample Time 8x ( "
|
10 | };
|
Für die einzelnen delay_items[] werden die Werte ermittelt, ins Array
eingefügt und erst dann auf dem LCD angezeigt.
Sieht dann so aus:
HC495 Reset (5)
HC495 Clock (2)
usw.
Soweit zur Theorie. In der Praxis werden die Array-Elemente im Flash
abgelegt, weshalb meine Inserts nur dann funktionieren, wenn ich als
Target SRAM waehle.
Kein Problem, dachte ich mir und habe fleissig mit
1 | __attribute__ ((section(".ram")))
|
'geübt'.
Klassische Variable werden korrekt in dieser Sektion alloziert.
Aber obiges Array: entweder es compiliert nicht, es linkt nicht oder -
als ich dachte "Hurra, jedes blinde Huhn findet hin und wieder ein
Korn!" - das Array wird überhaupt nicht erstellt.
Irgendjemand, der mir die Zauberformel verraten taete? :)
MfG