Ich habe für ein Menü folgende Struktur definiert:
1 | typedef struct MenuEntry {
|
2 | const char __flash const *pStr;
|
3 | void (*const handler)();
|
4 | } MenuEntry;
|
Die Deklaration der Menütabelle sieht folgendermaßen aus:
1 | static const MenuEntry __flash menuList[] = {
|
2 | { "s Status", displayStatus },
|
3 | …
|
4 | };
|
Es soll also die ganze Chose im Flash gespeichert werden. Allerdings ist
der avr-gcc damit nicht einverstanden: bei der Initialisierung der
Stringkonstanten mault er:
1 | ui.c:248:11: error: initializer element is not computable at load time
|
2 | { "s Status", displayStatus },
|
3 | ^
|
4 | ui.c:248:11: note: (near initialization for ‘menuList[0].pStr’)
|
Wo ist der Fehler?