Forum: Compiler & IDEs FreeRTOS Demo AT91SAM7X256 mit Eclipse Yagarto Probleme


von Klaus K. (klkl)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Ich versuche ein SAM7 Projekt aufzusetzen und stehe vor ein paar 
Problemchen...

Der Aufbau des Systems hat soweit funktioniert (www.yagarto.de)
Ich kann für das at91sam7x-ek und auch für den icswift die Minimal-Demo 
kompilieren und debuggen.

Nächster Schritt ist die FreeRTOS-Demo mit der Ich einen großen Teil 
meiner Anforderungen erschlagen kann.
Dort ist ein Projekt für das at91sam7x-ek und eclipse vorhanden, dies 
scheint aber für WinARM zu sein, das wohl nicht weiterentwickelt wird 
und älter als yagarto ist....
Jetzt versuche Ich aus den Makefiles der funktionierenden Minimal-Demo 
und der FreeRTOS-Demo ein funktionierendes Projekt zu bekommen.
Leider bin Ich mit der GCC-Toolchain nicht wirklich sattelfest...

Ich kann alles compilieren (ein paar warnungen sind geblieben), das 
Linken scheint aber schief zu gehen.
---
arm-none-eabi-gcc ./src/startup.o ./src/low_level_init.o 
../../../Source/portabl
e/GCC/ARM7_AT91SAM7S/portISR.o ./webserver/EMAC_ISR.o 
./SrcAtmel/Cstartup_SAM7.o
 ./USB/USB_ISR.o ./main.o ./ParTest/ParTest.o 
../../Common/Minimal/BlockQ.o ../.
./Common/Minimal/blocktim.o ../../Common/Minimal/flash.o 
../../Common/Minimal/in
teger.o ../../Common/Minimal/GenQTest.o ../../Common/Minimal/QPeek.o 
../../Commo
n/Minimal/dynamic.o ./webserver/uIP_Task.o ./webserver/httpd.o 
./webserver/httpd
-cgi.o ./webserver/httpd-fs.o ./webserver/http-strings.o 
./webserver/SAM7_EMAC.o
 ../../Common/ethernet/uIP/uip-1.0/uip/uip_arp.o 
../../Common/ethernet/uIP/uip-1
.0/uip/psock.o ../../Common/ethernet/uIP/uip-1.0/uip/timer.o 
../../Common/ethern
et/uIP/uip-1.0/uip/uip.o ../../../Source/list.o ../../../Source/queue.o 
../../..
/Source/tasks.o ../../../Source/portable/GCC/ARM7_AT91SAM7S/port.o 
../../../Sour
ce/portable/MemMang/heap_2.o ./USB/USBSample.o syscalls.o -mcpu=arm7tdmi 
-nostar
tfiles -T./prj/sam7x256_ram.ld 
-Wl,-Map=FreeRTOSDemo_ram.map,--cref,--no-warn-mi
smatch    -o FreeRTOSDemo_ram.elf
c:/yagarto/bin/../lib/gcc/arm-none-eabi/4.6.0/../../../../arm-none-eabi/ 
bin/ld.e
xe: FreeRTOSDemo_ram.elf section `.text' will not fit in region `RAM'
c:/yagarto/bin/../lib/gcc/arm-none-eabi/4.6.0/../../../../arm-none-eabi/ 
bin/ld.e
xe: region `RAM' overflowed by 82896 bytes
collect2: ld returned 1 exit status
make: *** [FreeRTOSDemo_ram.elf] Error 1
---

Hat da jemand einen Tip für mich? Hier im Forum gibt es einen Eintrag wo 
jemand die FreeRTOSDemo mit yagarto kompiliert hat. Vielleicht kann auch 
jemand mit einen funktionierenden makefile weiter helfen. Meines lege 
Ich in den Anhang.

Vielen Dank schon mal

Gruß Klaus

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Sieht so aus, also würde ein Memory-Layout genutzt, bei dem Code und 
Daten im RAM des AT91 gehalten werden. Das ist oft praktisch zum 
debuggen und spart Flash erase/write-Zyklen aber bei diesem Beispiel 
reicht der verfügbare RAM-Speicher nicht aus, um den Programmcode 
aufzunehmen (section'.text' will not fit in region `RAM').
Abhilfen: Beispiel soweit verkleinern, dass der Maschinencode, die 
Variablen, Stack und evtl. HEAP in den RAM-Speicher passen oder eine 
Konfiguration für Flash- und RAM-Speicher nehmen. Entweder gibt es dazu 
ein extra Makefile oder im Makefile irgendwo in Eintrag zur Auswahl. Es 
sollte dann ein anderers Linker Skript verwendet werden (statt 
sam7x256_ram.ld). Name wahrscheinlich sam7x256_rom.ld oder 
sam7x256_flash.ld, sieht man dann aber auch in der Ausgabe.

von Klaus K. (klkl)


Lesenswert?

Hallo

Vielen Dank an Martin. Das wars....

Jetzt kann Ich kompilieren und das Projekt auf dem Arm schreiben und 
starten. Die LEDs blinken, beim stoppen hört dies auf.... soweit so gut.

Das nächste Problem: Der Debugger zeigt mir den Quellcode nicht an. 
Breakpoints kann Ich setzen, Eclipse zeigt mir aber nach den Starten des 
Debugges ein 'unresolved breakpoint' und stoppt auch nicht.

Bei der Minimal-Demo funktioniert das noch richtig.
Hat dort noch jemand eine kleine Denkhilfe für mich?

Gruß Klaus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.