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?
ARM region CODE is full error
Moderator: Benj
- 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
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.
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.
Regards Ben Rowland - MatrixTSL
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel