Wyjasnijcie to wyrownanie do 8(robie to na str912 ale to chyba zadna roznica jesli chodiz o ten blad to dotyczy on codesourcery a nie konkretnego proca) Moj skrypt linkera: /** * File: STR91x-ROM.ld * * Project: STR91x Eclipse demo * * Description: Linker script to load the application in flash. * * Created: 27/08/2008 * * <dl> * <dt>Author:</dt>...
Witam ! Zgodnie z dokumentacja do str71x , nie mozna zapisywac nic tym samym banku flash i rownoczesnie z niego czytac. (W moim wypadku czytac/uruchamiac funkcje dot. flasha przy programowaniu image z rs232) "During a Flash write operation any attempt to read the bank under modification will output invalid data. This means that the Flash bank is not...
#define RAMFUNC __attribute__ ((long_call, section (".fastrun"))) a potem np: RAMFUNC void wyslij(int costam);
Ja robię to w przerwaniu FIQ, tzn. FIQ jest połączone z przerwaniem zewnętrznym ustawionym na zbocze opadające (na D-). Poniżej kod: asm volatile ( "ldr r8, =0x3FFFC015\n\t" //Fast IOPIN0 "ldr r7, =0xE0004004\n\t"//T0TCR "ldr r6, =0xE0004008\n\t" "ldr r4, =0xE0004010\n\t"//T0PC "mov r1, #2\n\t" "str...
Przy zapisie do flasha trzeba spelnic dwa warunki: 1 - funkcja musi byc w RAMie jak sam napisales 2 - musza byc wylaczone przerwania na czas zapisu ja korzystam z tego i dziala :) #define __RAMFUNC __attribute__ ((long_call, section (".fastrun"))) __ramfunc int AT91F_Flash_Write( unsigned int Flash_Address ,int...
Witam, mam następujący problem: Chcę aby funkcja przy jej wywołaniu kopiowała się na stos po czym dopiero zaczęła się wykonywać. Jest to funkcja zapisu do flasha, a flash nie może być jednocześnie zapisywany i odczytywany. Nie mogę umieścić tej funkcji w RAMie przy pomocy __attribute__ ((long_call, section (".fastrun"))) ponieważ mam dwie aplikacje...
Dołożyłem definicje dwóch zewnętrznych banków po 64k, XRAM0 i XRAM1: /***************************************... /* ROM.ld: Linker Script File */ /***************************************... /* Based on scripts found in the LPC yahoo-group and the Keil examples modified by Martin Thomas,...
Ok już doczytałem. Dzięki za literaturę! Mogę prosić o potwierzenie/zanegowanie poszczególnych wniosków?: Z tego co zrozumiałem, to moja rozbiegówka zostawia procesor w system mode, rozmiar stosu dla tego trybu to suma pozostałych stosów minus Stack_size zdefiniowany w lpc2148-rom.ld. startup.s ... ldr r0,=_stack msr CPSR_c,#MODE_UND|I_BIT|F_BIT //...
Witam. Jestem w trakcie budowy odtwarzacza MP3 na AT91SAM7S256. Generalnie już gra, ale trzeba by troche zoptymalizować dekodowanie by trwało krócej. Większość funkcji dekodera z Helix Community jest w C i z wrzuceniem ich do RAMu nie miałem problemu(atrybuty .section i long_call) lecz nie wiem jak to zrobić dla funkcji z pliku asmpoly_gcc.s. Próbowałem...
Witam, czy mogę prosić o konkretny przykład jak to zrobić? Fragment "mojego" pliku linkera poniżej : /* Section Definitions */ SECTIONS { /* first section is .text which is used for code */ .text : { /* Startup code */ KEEP(*(.vectrom)) /* added by mthomas */ KEEP(*(.init)) *(.text .text.*) *(.gnu.linkonce.t.*)...
Dodałem przed każdą sekcją "align" .data : AT ( _sidata ) { . = ALIGN(4); /* This is used by the startup in order to initialize the .data secion */ _sdata = . ; . = ALIGN(4); *(.data) . = ALIGN(4); *(.data.*) . = ALIGN(4); *(.RAMtext) . = ALIGN(4); /* This is used by the...
Co za dużo to nie zdrowo. Znowu wywal te 2 definicje, które dodałeś na końcu. W tym momencie prawdopodobnie programy C powinny Ci chodzić, pozostaje C++. Wywaliłem te 2 definicje i pojawia się błąd: v:/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.3.2\... In function `get_eit_entry': unwind-arm.c:(.text+0x748)...