EmbDev.net

Forum: ARM programming with GCC/GNU tools "Code in hex file exceeds flash limitations"


Author: Kamil Bahadir (kamil51)
Posted on:

Rate this post
0 useful
not useful
I am using MiniMax ARM-E board from the bipom electronics? I am using 
LPC2000 flash utility program.
when downloading the final hex file to the board i am getting error 
below;

"Code in hex file exceeds flash limitations"
 but after message box the programming is going on.And when comparing 
flash i am getting compare flash error.

Make file and linker script file below;

very thanks

Best Regards

kamil
************************************************************************ 
**
DIR= C
#DIR= F
# Target file name (without extension).
TARGET = main

# MCU name and submodel
MCU = arm7tdmi
SUBMDL = LPC2138

ASRCARM = crt0.S
#THUMB    = -mthumb
#THUMB_IW = -mthumb-interwork


## Create ROM-Image (final)
RUN_MODE=ROM_RUN
## Create RAM-Image (debugging)
#RUN_MODE=RAM_RUN


# Optimization level, can be [0, 1, 2, 3, s].
# 0 = turn off optimization. s = optimize for size.
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
OPT =

# Define Messages

MSG_ERRORS_NONE = Errors: none
MSG_BEGIN = ------------------------------ STARTING 
------------------------------
MSG_END =   ------------------------------ FINISH 
------------------------------
MSG_SIZE_BEFORE = Size before:
MSG_SIZE_AFTER = Size after:
#MSG_FLASH = Creating load file for Flash:
MSG_EXTENDED_LISTING = Creating Extended Listing:
MSG_SYMBOL_TABLE = Creating Symbol Table:
MSG_LINKING = LINKING:
MSG_COMPILING = COMPILING:
MSG_COMPILING_ARM = "Compiling (ARM-only):"
MSG_ASSEMBLING = ASSEMBLING:
MSG_ASSEMBLING_ARM = "Assembling (ARM-only):"
MSG_CLEANING = Cleaning project:
#MSG_LPC21_RESETREMINDER = You may have to bring the target in 
bootloader-mode now.
MSG_ELF = Creating ELF object file
MSG_HEX = Creating Hex file:

# Define all object files.
OBJ    = $(SRC:.c=.o)
AOBJ   = $(ASRC:.S=.o)
OBJARM = $(SRCARM:.c=.o)
AOBJARM= $(ASRCARM:.S=.o)
###################### TOOL CHAIN ###############################
ifeq ($(DIR),F)
CC      = "F:\arm\yagarto43\bin\arm-elf-gcc.exe"
LD      = "F:\arm\yagarto43\bin\arm-elf-ld.exe"
AR      = "F:\arm\yagarto43\bin\arm-elf-ar.exe"
AS      = "F:\arm\yagarto43\bin\arm-elf-as.exe"
OC      = "F:\arm\yagarto43\bin\arm-elf-objcopy.exe"
OD    = "F:\arm\yagarto43\bin\arm-elf-objdump.exe"
SIZE    = "F:\arm\yagarto43\bin\arm-elf-size.exe"
NM      = "F:\arm\yagarto43\bin\arm-elf-nm.exe"
else
CC      = "C:\arm\yagarto44\bin\arm-elf-gcc.exe"
LD      = "C:\arm\yagarto44\bin\arm-elf-ld.exe"
AR      = "C:\arm\yagarto44\bin\arm-elf-ar.exe"
AS      = "C:\arm\yagarto44\bin\arm-elf-as.exe"
OC      = "C:\arm\yagarto44\bin\arm-elf-objcopy.exe"
OD    = "C:\arm\yagarto44\bin\arm-elf-objdump.exe"
SIZE    = "C:\arm\yagarto44\bin\arm-elf-size.exe"
NM      = "C:\arm\yagarto44\bin\arm-elf-nm.exe"

endif

REMOVE = rm -f
#################################################################
# Compiler flags.
#  -g*:          generate debugging information
#  -O*:          optimization level
#  -f...:        tuning, see GCC manual and avr-libc documentation
#  -Wall...:     warning level
#  -Wa,...:      tell GCC to pass this to the assembler.
#    -adhlns...: create assembler listing

#--> THUMB
CFLAGS += -mthumb-interwork
CFLAGS  += -c -g -mcpu=$(MCU) -fverbose-asm
#
ifeq ($(DIR),F)
CFLAGS  += -I"F:\arm\yagarto43\arm-elf\include"
else
CFLAGS  += -I"C:\arm\yagarto44\arm-elf\include"
endif
#-Wcast-align -Wcast-qual -Wimplicit -Wshadow -Wpointer-arith-Wall
CFLAGS += -O$(OPT) -std=gnu99
CFLAGS += -Wswitch
CFLAGS += -Wredundant-decls  -Wunused
#CFLAGS += -Wa,-adhlns=$(<:.c=.lst)
CFLAGS += -Wa,-adhlns=$(subst $(suffix $<),.lst,$<)
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
CFLAGS +=

###############################################################

# Assembler flags.
#  -Wa,...:   tell GCC to pass this to the assembler.
#  -ahlms:    create listing
#  -gstabs:   have the assembler create line number infion; note that
#             for use in COFF files, additional information about 
filenames
#             and function names needs to be present in the assembler 
source
#             files -- see avr-libc docs [FIXME: not yet described 
there]
##ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
AFLAGS  = -mcpu=$(MCU) -ahlms -Wa -gdwarf-2 -I. -gstabs 
-mthumb-interwork

# Linker flags.
#  -Wl,...:     tell GCC to pass this to linker.
#    -Map:      create map file
#    --cref:    add cross reference to  map file
# ######################################################
LFLAGS  = -T main.cmd -nostartfiles -nostdlib -mthumb
#
ifeq ($(DIR),F)
LFLAGS += -L"F:\arm\yagarto\lib\gcc\arm-elf\4.3.2" -lc -lg -lm
LFLAGS += -L"F:\arm\yagarto\arm-elf\lib"  -lgcc
else
LFLAGS += -L"C:\arm\yagarto\lib\gcc\arm-elf\4.4.2\thumb" -lc -lg -lm
LFLAGS += -L"C:\arm\yagarto\arm-elf\lib\thumb"  -lgcc
endif
#
LDFLAGS += -Wl, -Map,$(TARGET).map
LLIB =

#LDFLAGS += $(patsubst %,-L%) -lnosys
OCFLAGS = -O ihex
ODFLAGS  = -x --syms


# Set Linker-Script Depending On Selected Memory
#ifeq ($(RUN_MODE),RAM_RUN)
#LDFLAGS +=-T$(SUBMDL)-RAM.ld.cmd
#else
#LDFLAGS +=-T$(SUBMDL)-ROM.cmd
#endif

##################################################
all: gccversion clean build sizesonra end
##################################################
clean:
  @echo
  @echo $(MSG_BEGIN)
  @echo $(MSG_CLEANING)
  $(REMOVE) $(TARGET).hex
  $(REMOVE) $(TARGET).o
  $(REMOVE) $(TARGET).elf
  $(REMOVE) $(TARGET).map
  $(REMOVE) $(TARGET).s
  $(REMOVE) $(TARGET).lst
  $(REMOVE) $(TARGET).sym
  $(REMOVE) $(TARGET).lss
##################################################
# Display compiler version information.
gccversion :

  @$(CC) --version

#  @$(LD) --version

#  @$(AS) --version

#  @$(OD) --version
  @$(CC) --help
  @$(LD) --help
##################################################

build: s o elf hex lss sym
s:   $(TARGET).s
o:   $(TARGET).o
elf: $(TARGET).elf
hex: $(TARGET).hex
lss: $(TARGET).lss
sym: $(TARGET).sym


###################################################
# Compile:# create assembler source file from .C source files.
###########
%.s: %.c
  @ echo $(MSG_COMPILING)
  $(CC) -S  $(CFLAGS) $(TARGET).c  -o $(TARGET).s
  $(CC) $(CFLAGS) -Wall -mthumb syscalls.c
  $(CC) $(CFLAGS) -Wall -mthumb LCD.c
  $(CC) $(CFLAGS) -Wall -mthumb uip.c
  $(CC) $(CFLAGS) -Wall -mthumb cs8900a.c
  $(CC) $(CFLAGS) -Wall -mthumb enc28j60.c
  $(CC) $(CFLAGS) -Wall -mthumb spi.c
  $(CC) $(CFLAGS) -Wall -mthumb uip_arch.c
  $(CC) $(CFLAGS) -Wall -mthumb uip_arp.c
  $(CC) $(CFLAGS) -Wall -mthumb uygulama.c
  $(CC) $(CFLAGS) -Wall -mthumb uart.c
#  $(CC) $(CFLAGS) -Wall cgi.c



#
ifeq ($(DIR),F)
  $(AR) -d "F:\arm\yagarto43\arm-elf\lib\libc.a" syscalls.o
else
  $(AR) -d "C:\arm\yagarto44\arm-elf\lib\thumb\libc.a" syscalls.o
endif
#
###################################################
# Assemble:# create object files from assembler source files.
############
%.o: %.s
  @ echo
  @ echo $(MSG_ASSEMBLING)
  $(AS) $(AFLAGS) $(TARGET).s > $(TARGET).lst -o $(TARGET).o
  $(AS) -mapcs-32 -mcpu=$(MCU) -gdwarf-2 -I. -gstabs crt0_old.S  -o 
crt0_old.o
  @ echo
###################################################
# Link:# create ELF output file from object files.
########
%.elf: %.o
  @ echo $(MSG_LINKING)
  @ echo $(MSG_ELF)
  $(CC) $(TARGET).o LCD.o crt0_old.o syscalls.o uip.o uygulama.o 
uip_arp.o uip_arch.o cs8900a.o uart.o $(LFLAGS) -o $(TARGET).elf
#  $(LD) $(TARGET).o crt0_old.o $(LFLAGS) $(LLIB) -o $(TARGET).elf
  @ echo

###################################################

# Create final output files (.hex, .eep) from o-object output file.
%.hex: %.elf
  @ echo $(MSG_HEX)
  $(OC) $(OCFLAGS) $(TARGET).elf $(TARGET).hex
  $(OC) $(OCFLAGS) $(TARGET).elf $(TARGET).bin

####################################################
## Create extended listing file from ELF output file.
%.lss: %.elf
  @ echo $(MSG_EXTENDED_LISTING)
  $(OD) -h -S -C $(TARGET).elf > $(TARGET).lss

#  OD flags-->  --disassembler-options=force-thumb -l -s   -d -x -w -t
# --line-numbers --debugging --disassemble-zeroes

####################################################
# Create a symbol table from ELF output file.
%.sym: %.elf
  @echo
  @echo $(MSG_SYMBOL_TABLE)
  $(NM) -n $(TARGET).elf > $(TARGET).sys

####################################################
sizesonra:
  $(SIZE) -V
  $(SIZE) --help
  $(SIZE) -A $(TARGET).elf
  $(SIZE) -A $(TARGET).hex
  $(SIZE) -t --totals $(TARGET).hex
  @echo $(MSG_SIZE_AFTER)


end:
  @echo $(MSG_END)

  @echo

####################################################
# Display size of file.
HEXSIZE = $(SIZE) --target=$(f) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
sizebefore:
  @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); 
$(ELFSIZE); echo; fi

sizeafter:
  @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); 
$(ELFSIZE); echo; fi
####################################################

---------------------------- main.cmd ---------------------------------
end script file like this;


/* identify the Entry Point  */

ENTRY(Reset_Handler)



/* specify the LPC2106 memory areas  */

MEMORY
{
  flash (rx) : ORIGIN = 0x00000000, LENGTH = 500k
  ram   (rw) : ORIGIN = 0x40000000, LENGTH = 32k
}


/* _stack_end_ = 0x40000000 + 64K - 4; */

/*__stack_end__ = ORIGIN(ram) + LENGTH(ram) -4;*/

/* define a global symbol _stack_end  */

_stack_end = 0x4000FEDC;



/* now define the output sections  */

SECTIONS
{
  . = 0;
  startup : { *(.startup)} >flash



  prog :               /* collect all sections that should go into FLASH 
after startup  */
  {
    *(.text)            /* all .text sections (code)  */
    *(.rodata)            /* all .rodata sections (constants, strings, 
etc.)  */
    *(.rodata*)            /* all .rodata* sections (constants, strings, 
etc.)  */
    *(.glue_7)            /* all .glue_7 sections  (no idea what these 
are) */
    *(.glue_7t)            /* all .glue_7t sections (no idea what these 
are) */
    _etext = .;            /* define a global symbol _etext just after 
the last code byte */
  } >flash                /* put all the above into FLASH */

  _end_of_text_ = .;

  . = ALIGN(4);            /*  yagarto 4.4.2 için eklendi*/
  eh_frame :
  {
  KEEP (*(.eh_frame))
  } >ram


  .data :                /* collect all initialized .data sections that 
go into RAM  */
  {
    _data = .;            /* create a global symbol marking the start of 
the .data section  */
    *(.data)            /* all .data sections  */
    _edata = .;            /* define a global symbol marking the end of 
the .data section  */
    _data_beg_ = .;
    _data_beg_src_ = _end_of_text_;
    *(.data)
    _data_end_ = .;
  } >ram AT >flash                    /* put all the above into RAM (but 
load the LMA copy into FLASH) */

  .bss :                /* collect all uninitialized .bss sections that 
go into RAM  */
  {
    _bss_beg_ = .;
    _bss_start = .;          /* define a global symbol marking the start 
of the .bss section */
    *(.bss)              /* all .bss sections  */
  } >ram                /* put all the above in RAM (it will be cleared 
in the startup code */


/*  . = ALIGN(4);
  _bss_end = . ;

  _end = .;
}
PROVIDE (end = .);*/




  /* Align here to ensure that the .bss section occupies space up to
  _end.  Align after .bss to ensure correct alignment even if the
  .bss section disappears because there are no input sections.  */
  . = ALIGN(32 / 8);
}
  . = ALIGN(32 / 8);
  _end = .;
  _bss_end = . ; _bss_end_ = . ; _end_ = . ;
  PROVIDE (end = .);
------------------------------------------------------------------------ 
--

Author: Clifford Slocombe (clifford)
Posted on:

Rate this post
0 useful
not useful
What part are you targeting?  The linker script mentions LPC2106, but 
then specified 500kb Flash.  Not only is this value unlikely, the 
LPC2106 only has 128kb.  It also has 64Kb of RAM, but teh linker script 
say 32Kb.

How big is the actual code?  Your makefile appears to be set up to 
generate a map file; that will tell you the size (and location).

Author: kamil (Guest)
Posted on:

Rate this post
0 useful
not useful
Hello Clifford,

I am using LPC2138 target. The Map file generated below;

*******************************************************************
Archive member included because of file (symbol)

C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
                              uip_arp.o (memcpy)
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)
                              uip_arp.o (memset)

Allocating common symbols
Common symbol       size              file

uip_len             0x2               uip.o
hs                  0x4               uygulama.o
uip_sappdata        0x4               uip.o
uip_acc32           0x4               uip.o
uip_flags           0x1               uip.o
uip_appdata         0x4               uip.o
uip_conn            0x4               uip.o
uip_conns           0x118             uip.o
ticks               0x2               cs8900a.o
DATA_CIKIS          0x1               LCD.o
uip_listenports     0x14              uip.o
uip_stat            0x30              uip.o
uip_surglen         0x1               uip.o
uip_urgdata         0x4               uip.o
uip_urglen          0x1               uip.o
uip_buf             0x5de             uip.o
uip_slen            0x2               uip.o

Memory Configuration

Name             Origin             Length             Attributes
flash            0x00000000         0x0007d000         xr
ram              0x40000000         0x00008000         rw
default        0x00000000         0xffffffff

Linker script and memory map

LOAD main.o
LOAD LCD.o
LOAD crt0_old.o
LOAD syscalls.o
LOAD uip.o
LOAD uygulama.o
LOAD uip_arp.o
LOAD uip_arch.o
LOAD cs8900a.o
LOAD uart.o
LOAD C:\arm\yagarto43\arm-elf\lib\thumb\libc.a
LOAD C:\arm\yagarto43\arm-elf\lib\thumb\libg.a
LOAD C:\arm\yagarto43\arm-elf\lib\thumb\libm.a
LOAD C:\arm\yagarto43\lib\gcc\arm-elf\4.4.2\thumb\libgcc.a
                0x4000fedc                _stack_end = 0x4000fedc
                0x00000000                . = 0x0

startup
 *(.startup)

prog            0x00000000     0x1f34
 *(.text)
 .text.stub     0x00000000        0x8 linker stubs
 .text          0x00000008      0x108 main.o
                0x00000014                UNDEF_Routine
                0x00000010                SWI_Routine
                0x000000cc                _isatty
                0x0000000c                FIQ_Routine
                0x00000018                wait
                0x000000d4                main
                0x00000054                delay
                0x00000008                IRQ_Routine
                0x00000034                ledInit
 .text          0x00000110      0x3a4 LCD.o
                0x00000364                ClearLCD
                0x0000032c                CursorOnLCD
                0x000001dc                WriteCommandLCD
                0x00000208                lcd_clear
                0x000002b0                WriteDataLCD
                0x000001fc                lcd_home
                0x000002d8                WriteLCD
                0x00000254                lcd_imlec_xy
                0x000002f4                SetBottomLineLCD
                0x00000234                lcd_sol
                0x00000348                CursorOffLCD
                0x00000110                WriteCommon
                0x00000380                InitializeLCD
                0x00000214                lcd_sag
                0x00000310                SetTopLineLCD
 .text          0x000004b4       0xd8 crt0_old.o
                0x000004b4                _startup
                0x000004f4                Reset_Handler
 .text          0x0000058c       0xc4 syscalls.o
                0x00000590                _lseek_r
                0x00000594                _fstat_r
                0x000005a0                isatty
                0x000005a4                _sbrk_r
                0x000005f4                _read_r
                0x0000058c                _close_r
                0x000005c4                _write_r
 .text          0x00000650      0xbe0 uip.o
                0x00000688                uip_unlisten
                0x0000076c                uip_process
                0x000006d8                uip_listen
                0x00000724                htons
                0x00000650                uip_init
 .text          0x00001230       0x38 uygulama.o
                0x00001230                uygulama_appcall
                0x00001258                uygulama_init
 .text          0x00001268      0x41c uip_arp.o
                0x000012e4                uip_arp_out
                0x00001598                uip_arp_arpin
                0x00001268                uip_arp_timer
                0x000012bc                uip_arp_init
                0x00001548                uip_arp_ipin
 .text          0x00001684      0x1e8 uip_arch.o
                0x00001684                uip_add32
                0x0000178c                uip_ipchksum
                0x000017a0                uip_tcpchksum
                0x00001714                uip_chksum
 .text          0x0000186c      0x3d8 cs8900a.o
                0x00001b44                cs8900a_poll
                0x000018c0                cs8900a_read
                0x00001c10                rt_ticks
                0x00001918                cs8900a_read_addr_high_first
                0x00001970                cs8900a_init
                0x0000186c                cs8900a_write
                0x00001a08                cs8900a_send
 .text          0x00001c44      0x124 uart.o
                0x00001cec                uart0GetchW
                0x00001d04                uart0Putch
                0x00001c44                uart0Init
                0x00001cb8                uart0TxFlush
                0x00001d44                uart0Puts
                0x00001ccc                uart0Getch
                0x00001ca4                uart0TxEmpty
 .text          0x00001d68       0x84 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
                0x00001d68                memcpy
 .text          0x00001dec       0x80 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)
                0x00001dec                memset
 *(.rodata)
 .rodata        0x00001e6c       0x54 uip.o
                0x00001ebc                uip_arp_netmask
                0x00001eb4                uip_hostaddr
                0x00001eb8                uip_arp_draddr
 .rodata        0x00001ec0       0x50 cs8900a.o
                0x00001ec0                InitSeq
 *(.rodata*)
 .rodata.str1.4
                0x00001f10       0x24 uygulama.o
 *(.glue_7)
 .glue_7        0x00001f34        0x0 main.o
 .glue_7        0x00001f34        0x0 LCD.o
 .glue_7        0x00001f34        0x0 crt0_old.o
 .glue_7        0x00001f34        0x0 syscalls.o
 .glue_7        0x00001f34        0x0 uip.o
 .glue_7        0x00001f34        0x0 uygulama.o
 .glue_7        0x00001f34        0x0 uip_arp.o
 .glue_7        0x00001f34        0x0 uip_arch.o
 .glue_7        0x00001f34        0x0 cs8900a.o
 .glue_7        0x00001f34        0x0 uart.o
 .glue_7        0x00001f34        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .glue_7        0x00001f34        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)
 *(.glue_7t)
 .glue_7t       0x00001f34        0x0 main.o
 .glue_7t       0x00001f34        0x0 LCD.o
 .glue_7t       0x00001f34        0x0 crt0_old.o
 .glue_7t       0x00001f34        0x0 syscalls.o
 .glue_7t       0x00001f34        0x0 uip.o
 .glue_7t       0x00001f34        0x0 uygulama.o
 .glue_7t       0x00001f34        0x0 uip_arp.o
 .glue_7t       0x00001f34        0x0 uip_arch.o
 .glue_7t       0x00001f34        0x0 cs8900a.o
 .glue_7t       0x00001f34        0x0 uart.o
 .glue_7t       0x00001f34        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .glue_7t       0x00001f34        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)
                0x00001f34                _etext = .
                0x00001f34                _end_of_text_ = .

.vfp11_veneer   0x00001f34        0x0
 .vfp11_veneer  0x00001f34        0x0 main.o
 .vfp11_veneer  0x00001f34        0x0 LCD.o
 .vfp11_veneer  0x00001f34        0x0 crt0_old.o
 .vfp11_veneer  0x00001f34        0x0 syscalls.o
 .vfp11_veneer  0x00001f34        0x0 uip.o
 .vfp11_veneer  0x00001f34        0x0 uygulama.o
 .vfp11_veneer  0x00001f34        0x0 uip_arp.o
 .vfp11_veneer  0x00001f34        0x0 uip_arch.o
 .vfp11_veneer  0x00001f34        0x0 cs8900a.o
 .vfp11_veneer  0x00001f34        0x0 uart.o
 .vfp11_veneer  0x00001f34        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .vfp11_veneer  0x00001f34        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.v4_bx          0x00001f34        0x0
 .v4_bx         0x00001f34        0x0 main.o
 .v4_bx         0x00001f34        0x0 LCD.o
 .v4_bx         0x00001f34        0x0 crt0_old.o
 .v4_bx         0x00001f34        0x0 syscalls.o
 .v4_bx         0x00001f34        0x0 uip.o
 .v4_bx         0x00001f34        0x0 uygulama.o
 .v4_bx         0x00001f34        0x0 uip_arp.o
 .v4_bx         0x00001f34        0x0 uip_arch.o
 .v4_bx         0x00001f34        0x0 cs8900a.o
 .v4_bx         0x00001f34        0x0 uart.o
 .v4_bx         0x00001f34        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .v4_bx         0x00001f34        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)
                0x00001f34                . = ALIGN (0x4)

eh_frame
 *(.eh_frame)

.data           0x40000000        0x8 load address 0x00001f34
                0x40000000                _data = .
 *(.data)
 .data          0x40000000        0x0 main.o
 .data          0x40000000        0x0 LCD.o
 .data          0x40000000        0x0 crt0_old.o
 .data          0x40000000        0x0 syscalls.o
 .data          0x40000000        0x0 uip.o
 .data          0x40000000        0x0 uygulama.o
 .data          0x40000000        0x8 uip_arp.o
                0x40000000                uip_ethaddr
 .data          0x40000008        0x0 uip_arch.o
 .data          0x40000008        0x0 cs8900a.o
 .data          0x40000008        0x0 uart.o
 .data          0x40000008        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .data          0x40000008        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)
                0x40000008                _edata = .
                0x40000008                _data_beg_ = .
                0x00001f34                _data_beg_src_ = 
_end_of_text_
 *(.data)
                0x40000008                _data_end_ = .

.bss            0x40000008      0x802
                0x40000008                _bss_beg_ = .
                0x40000008                _bss_start = .
 *(.bss)
 .bss           0x40000008        0x0 main.o
 .bss           0x40000008        0x0 LCD.o
 .bss           0x40000008        0x0 crt0_old.o
 .bss           0x40000008        0x4 syscalls.o
 .bss           0x4000000c        0xa uip.o
 .bss           0x40000016        0x0 uygulama.o
 fill         0x40000016        0x2 00
 .bss           0x40000018       0x88 uip_arp.o
 .bss           0x400000a0        0x0 uip_arch.o
 .bss           0x400000a0        0x0 cs8900a.o
 .bss           0x400000a0        0x0 uart.o
 .bss           0x400000a0        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .bss           0x400000a0        0x0 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)
 COMMON         0x400000a0        0x1 LCD.o
                0x400000a0                DATA_CIKIS
 fill         0x400000a1        0x3 00
 COMMON         0x400000a4      0x75e uip.o
                0x400000a4                uip_len
                0x400000a8                uip_sappdata
                0x400000ac                uip_acc32
                0x400000b0                uip_flags
                0x400000b4                uip_appdata
                0x400000b8                uip_conn
                0x400000bc                uip_conns
                0x400001d4                uip_listenports
                0x400001e8                uip_stat
                0x40000218                uip_surglen
                0x4000021c                uip_urgdata
                0x40000220                uip_urglen
                0x40000221                uip_buf
                0x40000800                uip_slen
 fill         0x40000802        0x2 00
 COMMON         0x40000804        0x4 uygulama.o
                0x40000804                hs
 COMMON         0x40000808        0x2 cs8900a.o
                0x40000808                ticks
                0x4000080c                . = ALIGN (0x4)
                0x4000080c                . = ALIGN (0x4)
                0x4000080c                _end = .
                0x4000080c                _bss_end = .
                0x4000080c                _bss_end_ = .
                0x4000080c                _end_ = .
                0x4000080c                PROVIDE (end, .)
OUTPUT(main.elf elf32-littlearm)

.stab           0x00000000      0x228
 .stab          0x00000000       0x18 main.o
 .stab          0x00000018      0x210 crt0_old.o
                                0x21c (size before relaxing)

.debug_abbrev   0x00000000      0xc35
 .debug_abbrev  0x00000000      0x101 main.o
 .debug_abbrev  0x00000101       0xc0 LCD.o
 .debug_abbrev  0x000001c1      0x203 syscalls.o
 .debug_abbrev  0x000003c4      0x17a uip.o
 .debug_abbrev  0x0000053e       0xba uygulama.o
 .debug_abbrev  0x000005f8      0x19f uip_arp.o
 .debug_abbrev  0x00000797      0x12c uip_arch.o
 .debug_abbrev  0x000008c3      0x155 cs8900a.o
 .debug_abbrev  0x00000a18       0xe1 uart.o
 .debug_abbrev  0x00000af9       0x99 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .debug_abbrev  0x00000b92       0xa3 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.debug_info     0x00000000     0x28d7
 .debug_info    0x00000000      0x1ba main.o
 .debug_info    0x000001ba      0x220 LCD.o
 .debug_info    0x000003da      0xd17 syscalls.o
 .debug_info    0x000010f1      0x8f6 uip.o
 .debug_info    0x000019e7      0x150 uygulama.o
 .debug_info    0x00001b37      0x473 uip_arp.o
 .debug_info    0x00001faa      0x2ea uip_arch.o
 .debug_info    0x00002294      0x287 cs8900a.o
 .debug_info    0x0000251b      0x199 uart.o
 .debug_info    0x000026b4      0x10e 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .debug_info    0x000027c2      0x115 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.debug_line     0x00000000      0x97b
 .debug_line    0x00000000       0x63 main.o
 .debug_line    0x00000063       0xca LCD.o
 .debug_line    0x0000012d      0x136 syscalls.o
 .debug_line    0x00000263      0x201 uip.o
 .debug_line    0x00000464       0x69 uygulama.o
 .debug_line    0x000004cd       0xd7 uip_arp.o
 .debug_line    0x000005a4       0x86 uip_arch.o
 .debug_line    0x0000062a       0xfe cs8900a.o
 .debug_line    0x00000728       0x75 uart.o
 .debug_line    0x0000079d       0xed 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .debug_line    0x0000088a       0xf1 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.debug_frame    0x00000000      0x6d0
 .debug_frame   0x00000000       0xb8 main.o
 .debug_frame   0x000000b8      0x178 LCD.o
 .debug_frame   0x00000230       0xa4 syscalls.o
 .debug_frame   0x000002d4       0xa8 uip.o
 .debug_frame   0x0000037c       0x38 uygulama.o
 .debug_frame   0x000003b4       0xc0 uip_arp.o
 .debug_frame   0x00000474       0x78 uip_arch.o
 .debug_frame   0x000004ec       0xec cs8900a.o
 .debug_frame   0x000005d8       0x9c uart.o
 .debug_frame   0x00000674       0x30 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .debug_frame   0x000006a4       0x2c 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.debug_loc      0x00000000      0xfee
 .debug_loc     0x00000000       0xd7 main.o
 .debug_loc     0x000000d7      0x30e LCD.o
 .debug_loc     0x000003e5      0x245 syscalls.o
 .debug_loc     0x0000062a      0x1f7 uip.o
 .debug_loc     0x00000821       0x1f uygulama.o
 .debug_loc     0x00000840      0x14d uip_arp.o
 .debug_loc     0x0000098d      0x154 uip_arch.o
 .debug_loc     0x00000ae1      0x16d cs8900a.o
 .debug_loc     0x00000c4e      0x106 uart.o
 .debug_loc     0x00000d54      0x172 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .debug_loc     0x00000ec6      0x128 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.debug_pubnames
                0x00000000      0x5cb
 .debug_pubnames
                0x00000000       0x88 main.o
 .debug_pubnames
                0x00000088      0x10e LCD.o
 .debug_pubnames
                0x00000196       0x69 syscalls.o
 .debug_pubnames
                0x000001ff      0x15e uip.o
 .debug_pubnames
                0x0000035d       0x40 uygulama.o
 .debug_pubnames
                0x0000039d       0x78 uip_arp.o
 .debug_pubnames
                0x00000415       0x52 uip_arch.o
 .debug_pubnames
                0x00000467       0xac cs8900a.o
 .debug_pubnames
                0x00000513       0x7e uart.o
 .debug_pubnames
                0x00000591       0x1d 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .debug_pubnames
                0x000005ae       0x1d 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.debug_aranges  0x00000000      0x160
 .debug_aranges
                0x00000000       0x20 main.o
 .debug_aranges
                0x00000020       0x20 LCD.o
 .debug_aranges
                0x00000040       0x20 syscalls.o
 .debug_aranges
                0x00000060       0x20 uip.o
 .debug_aranges
                0x00000080       0x20 uygulama.o
 .debug_aranges
                0x000000a0       0x20 uip_arp.o
 .debug_aranges
                0x000000c0       0x20 uip_arch.o
 .debug_aranges
                0x000000e0       0x20 cs8900a.o
 .debug_aranges
                0x00000100       0x20 uart.o
 .debug_aranges
                0x00000120       0x20 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .debug_aranges
                0x00000140       0x20 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.debug_str      0x00000000      0xd16
 .debug_str     0x00000000       0xf7 main.o
                                0x135 (size before relaxing)
 .debug_str     0x000000f7       0xca LCD.o
                                0x10e (size before relaxing)
 .debug_str     0x000001c1      0x4a3 syscalls.o
                                0x5b5 (size before relaxing)
 .debug_str     0x00000664      0x2f5 uip.o
                                0x3ab (size before relaxing)
 .debug_str     0x00000959       0x48 uygulama.o
                                0x133 (size before relaxing)
 .debug_str     0x000009a1      0x10e uip_arp.o
                                0x265 (size before relaxing)
 .debug_str     0x00000aaf       0x50 uip_arch.o
                                0x152 (size before relaxing)
 .debug_str     0x00000aff       0x90 cs8900a.o
                                0x145 (size before relaxing)
 .debug_str     0x00000b8f       0x73 uart.o
                                0x121 (size before relaxing)
 .debug_str     0x00000c02       0xbd 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
                                 0xe4 (size before relaxing)
 .debug_str     0x00000cbf       0x57 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)
                                0x13a (size before relaxing)

.comment        0x00000000       0xc6
 .comment       0x00000000       0x12 main.o
 .comment       0x00000012       0x12 LCD.o
 .comment       0x00000024       0x12 syscalls.o
 .comment       0x00000036       0x12 uip.o
 .comment       0x00000048       0x12 uygulama.o
 .comment       0x0000005a       0x12 uip_arp.o
 .comment       0x0000006c       0x12 uip_arch.o
 .comment       0x0000007e       0x12 cs8900a.o
 .comment       0x00000090       0x12 uart.o
 .comment       0x000000a2       0x12 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .comment       0x000000b4       0x12 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.ARM.attributes
                0x00000000       0x10
 .ARM.attributes
                0x00000000       0x10 main.o
 .ARM.attributes
                0x00000010       0x10 LCD.o
 .ARM.attributes
                0x00000020       0x10 crt0_old.o
 .ARM.attributes
                0x00000030       0x10 syscalls.o
 .ARM.attributes
                0x00000040       0x10 uip.o
 .ARM.attributes
                0x00000050       0x10 uygulama.o
 .ARM.attributes
                0x00000060       0x10 uip_arp.o
 .ARM.attributes
                0x00000070       0x10 uip_arch.o
 .ARM.attributes
                0x00000080       0x10 cs8900a.o
 .ARM.attributes
                0x00000090       0x10 uart.o
 .ARM.attributes
                0x000000a0       0x10 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
 .ARM.attributes
                0x000000b0       0x10 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)

.stabstr        0x00000000       0x29
 .stabstr       0x00000000       0x29 main.o

Cross Reference Table

Symbol                                            File
ClearLCD                                          LCD.o
CursorOffLCD                                      LCD.o
CursorOnLCD                                       LCD.o
DATA_CIKIS                                        uart.o
                                                  LCD.o
FIQ_Routine                                       main.o
                                                  crt0_old.o
IRQ_Routine                                       main.o
                                                  crt0_old.o
InitSeq                                           cs8900a.o
InitializeLCD                                     LCD.o
Reset_Handler                                     crt0_old.o
SWI_Routine                                       main.o
                                                  crt0_old.o
SetBottomLineLCD                                  LCD.o
SetTopLineLCD                                     LCD.o
UNDEF_Routine                                     main.o
                                                  crt0_old.o
WriteCommandLCD                                   LCD.o
WriteCommon                                       LCD.o
WriteDataLCD                                      LCD.o
                                                  uart.o
WriteLCD                                          LCD.o
_bss_end                                          crt0_old.o
_bss_start                                        crt0_old.o
_close_r                                          syscalls.o
_data                                             crt0_old.o
_edata                                            crt0_old.o
_etext                                            crt0_old.o
_fstat_r                                          syscalls.o
_isatty                                           main.o
_lseek_r                                          syscalls.o
_read_r                                           syscalls.o
_sbrk_r                                           syscalls.o
_stack_end                                        crt0_old.o
_startup                                          crt0_old.o
_write_r                                          syscalls.o
cs8900a_init                                      cs8900a.o
cs8900a_poll                                      cs8900a.o
cs8900a_read                                      cs8900a.o
cs8900a_read_addr_high_first                      cs8900a.o
cs8900a_send                                      cs8900a.o
cs8900a_write                                     cs8900a.o
delay                                             main.o
end                                               syscalls.o
hs                                                uygulama.o
htons                                             uip.o
                                                  uip_arch.o
isatty                                            syscalls.o
lcd_clear                                         LCD.o
lcd_home                                          LCD.o
lcd_imlec_xy                                      LCD.o
lcd_sag                                           LCD.o
lcd_sol                                           LCD.o
ledInit                                           main.o
main                                              main.o
                                                  crt0_old.o
memcpy 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memcpy.o)
                                                  uip_arp.o
memset 
C:\arm\yagarto43\arm-elf\lib\thumb\libc.a(lib_a-memset.o)
                                                  uip_arp.o
rt_ticks                                          cs8900a.o
ticks                                             cs8900a.o
uart0Getch                                        uart.o
uart0GetchW                                       uart.o
                                                  syscalls.o
uart0Init                                         uart.o
uart0Putch                                        uart.o
                                                  syscalls.o
uart0Puts                                         uart.o
uart0TxEmpty                                      uart.o
uart0TxFlush                                      uart.o
uip_acc32                                         uip_arch.o
                                                  uip.o
uip_add32                                         uip_arch.o
                                                  uip.o
uip_appdata                                       cs8900a.o
                                                  uip_arch.o
                                                  uip_arp.o
                                                  uip.o
uip_arp_arpin                                     uip_arp.o
uip_arp_draddr                                    uip.o
                                                  uip_arp.o
uip_arp_init                                      uip_arp.o
uip_arp_ipin                                      uip_arp.o
uip_arp_netmask                                   uip.o
                                                  uip_arp.o
uip_arp_out                                       uip_arp.o
uip_arp_timer                                     uip_arp.o
uip_buf                                           cs8900a.o
                                                  uip_arch.o
                                                  uip_arp.o
                                                  uip.o
uip_chksum                                        uip_arch.o
uip_conn                                          uip.o
uip_conns                                         uip.o
uip_ethaddr                                       uip_arp.o
uip_flags                                         uygulama.o
                                                  uip.o
uip_hostaddr                                      uip.o
                                                  uip_arp.o
uip_init                                          uip.o
uip_ipchksum                                      uip_arch.o
                                                  uip.o
uip_len                                           cs8900a.o
                                                  uip_arp.o
                                                  uip.o
uip_listen                                        uip.o
                                                  uygulama.o
uip_listenports                                   uip.o
uip_process                                       uip.o
uip_sappdata                                      uygulama.o
                                                  uip.o
uip_slen                                          uygulama.o
                                                  uip.o
uip_stat                                          uip.o
uip_surglen                                       uip.o
uip_tcpchksum                                     uip_arch.o
                                                  uip.o
uip_unlisten                                      uip.o
uip_urgdata                                       uip.o
uip_urglen                                        uip.o
uygulama_appcall                                  uygulama.o
                                                  uip.o
uygulama_init                                     uygulama.o
wait                                              main.o
                                                  LCD.o
***********************************************************************
and  i am using LPC2000 flash utility(version 2.2.1)

very thanks your helps

Best Regards

kamil

Author: Clifford Slocombe (clifford)
Posted on:

Rate this post
0 useful
not useful
I suspect that your hex file includes RAM segments.  This is just a 
guess; I have not had the time to go through the linker script/make file 
in detail.

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.