Hallo letzte Rettung,
ich will ueber die I2C bzw. das TWI Daten heraussenden. Allerdings hab
ich Probleme beim aufrufen der portRESTORE_CONTEXT() und
portSAVE_CONTEXT() macros bei freertos und gcc... Ich erhalte jedes mal
die Fehlermeldung
"invalid literal constant: pool needs to be closer". Komischerweise
koennen die Funktionen an anderen Stellen ohne weiteres aufgerufen
werden.
Es handelt sich hierbei um einen Atmel AT91 Sam7x256 und die Yagarto
Toolchain... :/
Gast wrote:
> Hab ich gesehen und eingefuegt, allerdings kommt dann diese> fehlermeldung:>>
1
error:nomemoryregionspecifiedforloadablesection
2
>'.text.i2c_handler'
>> :(
Das Linker-Script muss für -ffunction-section angepasst werden. Vgl.
default linker-script ($(toolchainprefix)-ld --verbose) im Bereich um
.text.*
Entschuldigung, aber geht das vielleicht etwas genauer? bin neu in der
programmierung von Arms und kenn mich nicht wirklich aus.
Mein LinkerScript sieht derzeit so aus:
1
MEMORY
2
{
3
flash:ORIGIN=0x00400000,LENGTH=256K
4
ram:ORIGIN=0x00200000,LENGTH=64K
5
}
6
7
__stack_end__=0x00200000+64K-4;
8
9
SECTIONS
10
{
11
.=0;
12
startup:{*(.startup)}>flash
13
14
prog:
15
{
16
*(.rodata)
17
*(.rodata*)
18
*(.glue_7)
19
*(.glue_7t)
20
}>flash
21
22
__end_of_text__=.;
23
24
.data:
25
{
26
__data_beg__=.;
27
__data_beg_src__=__end_of_text__;
28
*(.data)
29
__data_end__=.;
30
}>ramAT>flash
31
32
.bss:
33
{
34
__bss_beg__=.;
35
*(.bss)
36
}>ram
37
38
39
40
41
/* Align here to ensure that the .bss section occupies space up to
42
_end. Align after .bss to ensure correct alignment even if the
43
.bss section disappears because there are no input sections. */
ha...problem geloest, im prinzip ganz einfach:
die quellcode datei mit dem interrupt sollte so klein/kurz wie moeglich
gehalten werden. wenn sie zu groß ist, kommt es zu diesem problem...