logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

STM32F103RBT6 - Błąd kompilacji: sekcja `.text` nie mieści się w `rom`

raptor37 12 Lis 2011 19:06 2404 2
REKLAMA
  • #1 10131059
    raptor37
    Poziom 12  
    Posty: 99
    Ocena: 80
    Witajcie,
    Po raz kolejny mam problem ze środowiskiem programistycznym. Otóż piszę sobie program, chcę kompilować i dostaję taki komunikat o błędzie:

    c:/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/bin/ld.exe: robot.elf section `.text' will not fit in region `rom'
    c:/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/bin/ld.exe: region `rom' overflowed by 192 bytes
    collect2: ld returned 1 exit status
    cs-make: *** [robot.elf] Error 1


    Usunąłem dwie zmienne typu double i program się skompilował. Hex zajmuje ok. 89kB. W trakcie wgrywania programu OpenOCD poinformował mnie iż zapisał do pamięci mikrokontrolera ok 32kB kodu. Sądzę więc że nie jest to brak pamięci mikrokontrolera, a może jednak jest? Czy można coś z tym zrobić?
  • REKLAMA
  • #3 10131375
    raptor37
    Poziom 12  
    Posty: 99
    Ocena: 80
    Czy chodzi o ten fragment skryptu?

    
    MEMORY
    {
    	rom (rx)	: org = 0x08000000, len = 128k
    	ram (rwx)	: org = 0x20000000, len = 20k
    }
    


    Problem rozwiązany. Wartości powyżej są ok, tylko podałem złą ścieżkę w ustawieniach projektu. Tamta była nakierowana na plik linkera z ustawieniami 32k ROM i 4k RAM.

    Dziękuje za pomoc.
REKLAMA