ARM region CODE is full error

For Flowcode users to discuss projects, flowcharts, and any other issues related to Flowcode 4.
To post in this forum you must have a registered copy of Flowcode 4 or higher. To sign up for this forum topic please use the "Online Resources" link in the Flowcode Help Menu.

Moderator: Benj

Post Reply
User avatar
Mantas
Posts: 221
Joined: Tue May 15, 2012 10:32 pm
Location: Klaipeda, Lithuania - North sea, UK
Has thanked: 57 times
Been thanked: 27 times

ARM region CODE is full error

Post by Mantas »

Hello support Team.

I was developing a code and I came to a dead end. The problem occured when I added a C block with a gcvt function to display floating point number to display it on LCD. I am using an ARM Pro v4 and the target board EB031. If I delete the C block, the code compiles correctly and is succesfully downloaded into ARM chip. The error code I get looks like this:


File name: C:\Users\Mantas\Desktop\test\Code For SPA_with_Time_v2_modified_v2.c
Generated by: Flowcode v4.3.8.64
Date: Monday, May 21, 2012 23:14:30
Licence: Professional
Registered to: Mantas Petrauskas


http://www.matrixmultimedia.com


Launching the compiler...
C:\Program Files (x86)\Matrix Multimedia\Flowcode ARM V4\Tools\MX_bats\arm7comp.bat "Code For SPA_with_Time_v2_modified_v2" "C:\Users\Mantas\Desktop\test"
In file included from Code For SPA_with_Time_v2_modified_v2.c:37:
C:/PROGRA~2/MATRIX~1/FLOWCO~3/Tools/MX_bats/../Global/OSstubs.c:192: warning: 'struct tms' declared inside parameter list
C:/PROGRA~2/MATRIX~1/FLOWCO~3/Tools/MX_bats/../Global/OSstubs.c:192: warning: its scope is only this definition or declaration, which is probably not what you want
Code For SPA_with_Time_v2_modified_v2.c: In function 'main':
Code For SPA_with_Time_v2_modified_v2.c:7549: warning: passing argument 3 of 'gcvt' discards qualifiers from pointer target type
Code For SPA_with_Time_v2_modified_v2.c:7560: warning: passing argument 1 of 'FCD_LCDDisplay0_PrintString' discards qualifiers from pointer target type
Code For SPA_with_Time_v2_modified_v2.c:7587: warning: passing argument 3 of 'gcvt' discards qualifiers from pointer target type
Code For SPA_with_Time_v2_modified_v2.c:7598: warning: passing argument 1 of 'FCD_LCDDisplay0_PrintString' discards qualifiers from pointer target type
Code For SPA_with_Time_v2_modified_v2.c:6804: warning: return type of 'main' is not 'int'

Compilation successful!

Return code = 0

Launching the linker/assembler...
C:\Program Files (x86)\Matrix Multimedia\Flowcode ARM V4\Tools\MX_bats\arm7link.bat "Code For SPA_with_Time_v2_modified_v2" at91sam7s128

C:\Users\Mantas\Desktop\test>arm-elf-gcc -mcpu=arm7tdmi -O2 -Wall "C:\PROGRA~2\MATRIX~1\FLOWCO~3\Tools\MX_bats\..\Global\Cstartup.o" "Code For SPA_with_Time_v2_modified_v2".o -lm -aln="Code For SPA_with_Time_v2_modified_v2".lst --output "Code For SPA_with_Time_v2_modified_v2".elf -nostartfiles -T"C:\PROGRA~2\MATRIX~1\FLOWCO~3\Tools\MX_bats\..\Global\at91sam7s128-ROM.ld" -L"C:\PROGRA~2\MATRIX~1\FLOWCO~3\Tools\MX_bats\..\arm-elf\lib" -L"C:\PROGRA~2\MATRIX~1\FLOWCO~3\Tools\MX_bats\..\lib\gcc\arm-elf\4.0.1"
c:\progra~2\matrix~1\flowco~3\tools\bin\..\lib\gcc\arm-elf\4.0.1\..\..\..\..\arm-elf\bin\ld.exe: region CODE is full (Code For SPA_with_Time_v2_modified_v2.elf section .text)
c:\progra~2\matrix~1\flowco~3\tools\bin\..\lib\gcc\arm-elf\4.0.1\..\..\..\..\arm-elf\bin\ld.exe: section .rodata [00002000 -> 0000244b] overlaps section .text [00002000 -> 00021dbf]
c:\progra~2\matrix~1\flowco~3\tools\bin\..\lib\gcc\arm-elf\4.0.1\..\..\..\..\arm-elf\bin\ld.exe: section .rodata.str1.4 [0000244c -> 000024f1] overlaps section .text [00002000 -> 00021dbf]
c:\progra~2\matrix~1\flowco~3\tools\bin\..\lib\gcc\arm-elf\4.0.1\..\..\..\..\arm-elf\bin\ld.exe: section .data [000024f4 -> 00002d0b] overlaps section .text [00002000 -> 00021dbf]
c:\progra~2\matrix~1\flowco~3\tools\bin\..\lib\gcc\arm-elf\4.0.1\..\..\..\..\arm-elf\bin\ld.exe: Code For SPA_with_Time_v2_modified_v2.elf: section .text lma 0x2000 overlaps previous sections
c:\progra~2\matrix~1\flowco~3\tools\bin\..\lib\gcc\arm-elf\4.0.1\..\..\..\..\arm-elf\bin\ld.exe: Code For SPA_with_Time_v2_modified_v2.elf: section .rodata.str1.4 lma 0x244c overlaps previous sections

Error returned from [arm-elf-gcc.exe]

Return code = 1

Flowcode was unable to assemble the ASM file due to the following errors:


FINISHED

I tried deleting a big amount of code, couse I thought that the code is too big for the chip, but it didnt help. It happens only when I add a single block of c with the gcvt(FCV_PHI, 8, FCV_PRNTBUFF); And also I tried changing the target chip to one with more memmory, for egzample AT91SAM7S256, and it compiled OK, but it doesnt look to me that the problem is in lack of memmory on AT91SAM7S128.

Any ideas what is wrong?
Science is my true religion.

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: ARM region CODE is full error

Post by Benj »

Hello,

It looks like you are running out of memory on the device. The line of C code you are adding must be referencing a large library which is causing the code size to balloon and take it over the limits of the device.

User avatar
Mantas
Posts: 221
Joined: Tue May 15, 2012 10:32 pm
Location: Klaipeda, Lithuania - North sea, UK
Has thanked: 57 times
Been thanked: 27 times

Re: ARM region CODE is full error

Post by Mantas »

That makes sence now...

Thank You Ben!
Science is my true religion.

Post Reply