[fpc-devel] Arm embedded

Carsten Bager carsten at beas.dk
Fri Sep 25 12:15:55 CEST 2009


Hi
I am trying  to move from FPC 205 to 251 my target is arm7 embedded
I have used the 205 compiler for several years, and it is working fine, but I would like to use 
some of the new facilitates 
When I compile my test program  (Begin End. ) the new linker misplace the segments.
Something must be wrong (maybe in my linker script), but I cannot figure out what. Do 
anybody have a hint.

Carsten 

--

Output from the compiler/linker

J:\Fpc\Pas\Test\Led_test>\Fpc\ArmBin\ppcrossarm-251 -al -XX -Tembedded -Parm -XParm-
embedded- -d
 led.pas
Hint: End of reading config file J:\Fpc\ArmBin\fpc.cfg
Free Pascal Compiler version 2.5.1 [2009/09/24] for arm
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Embedded
Compiling led.pas
Assembling led
Linking led
J:\Fpc\ArmBin\arm-embedded-ld.exe: led.elf: warning: allocated section `.data' not in 
segment
13 lines compiled, 1.0 sec
1 warning(s) issued
1 hint(s) issued


---- Map file ----------------------------------------------------------------------
Discarded input sections

 .text          0x00000000        0x0 led.o
 .data          0x00000000        0x0 led.o
 .bss           0x00000000        0x0 led.o
 .text.n_main   0x00000000        0x0 led.o
 .bss.n_u_p$led_i
                0x00000000        0x0 led.o
 .bss.n_u_p$led_p
                0x00000000        0x0 led.o
 .bss.n_u_p$led_q
                0x00000000        0x0 led.o
 .bss.n_u_p$led_w
                0x00000000        0x0 led.o
 .data.n_THREADVARLIST_P$LED
                0x00000000        0x0 led.o
 .data.n_INITFINAL
                0x00000000        0x0 led.o
 .data.n_FPC_THREADVARTABLES
                0x00000000        0x0 led.o
 .data.n_FPC_RESOURCESTRINGTABLES
                0x00000000        0x0 led.o
 .data.n___stklen
                0x00000000        0x0 led.o
 .data.n___heapsize
                0x00000000        0x0 led.o
 .data.n___fpc_valgrind
                0x00000000        0x0 led.o
 .text          0x00000000        0x0 system.o
 .data          0x00000000        0x0 system.o
 .bss           0x00000000        0x0 system.o
 .text.n_system_roundandpackint32$byte$qword$$longint
--
--
--
--

Memory Configuration

Name             Origin             Length             Attributes
flash            0x00000000         0x00080000
ram              0x40000000         0x00008000
*default*        0x00000000         0xffffffff

Linker script and memory map

                0x40007c00                __stack_end__ = 0x40007c00
                0x40007ffc                __ram_end__ = 0x40007ffc
                0x00000000                . = 0x0

startup
 *(.startup)

prog            0x00000000        0x0
 *(.text)
 *(.rodata)
 *(.rodata*)
 *(.glue_7)
 .glue_7        0x00000000        0x0 led.o
 .glue_7        0x00000000        0x0 system.o
 *(.glue_7t)
 .glue_7t       0x00000000        0x0 led.o
 .glue_7t       0x00000000        0x0 system.o
                0x00000000                __end_of_text__ = .

.data           0x40000000       0x2c load address 0x00000000
                0x40000000                __data_beg__ = .
                0x00000000                __data_beg_src__ = __end_of_text__
 *(.data)
                0x40000000                __data_end__ = .
                0x40000000                _data = .
 *(.data, .data.*)
 *(.fpc .fpc.n_version .fpc.n_links)
 .fpc.n_version
                0x40000000       0x2c led.o
                0x4000002c                _edata = .

.bss            0x4000002c        0x0
                0x4000002c                __bss_beg__ = .
 *(.bss)
                0x4000002c                _bss_start = .
 *(.bss, .bss.*)
 *(COMMON)
                0x4000002c                . = ALIGN (0x4)
                0x4000002c                . = ALIGN (0x4)
                0x4000002c                _end = .
                0x4000002c                _bss_end__ = .
                0x4000002c                __bss_end__ = .
                0x4000002c                __end__ = .
                0x4000002c                PROVIDE (end, .)
LOAD led.o
LOAD system.o

.text           0x0000002c        0x0
 *(.init, .init.*)
 *(.text, .text.*)
 *(.strings)
 *(.rodata, .rodata.*)
 *(.comment)
                0x0000002c                _etext = .

.vfp11_veneer   0x4000002c        0x0
 .vfp11_veneer  0x4000002c        0x0 led.o
 .vfp11_veneer  0x4000002c        0x0 system.o
                0x4000002c                . = ALIGN (0x4)
                0x4000002c                _bss_end = .
                0x4000002c                _end = .
OUTPUT(led.elf elf32-littlearm)

.ARM.attributes
                0x00000000       0x14
 .ARM.attributes
                0x00000000       0x14 led.o
 .ARM.attributes
                0x00000014       0x14 system.o

 
Med venlig hilsen
Carsten Bager

BEAS A/S
Brørupvænget 10
DK-7650 Bøvlingbjerg
Tlf. : +45 9788 5222 Fax : +45 9788 5434
www.beas.dk





More information about the fpc-devel mailing list