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...
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.