Sign in

username or email:

password:



Not a member?
Forgot your Password?

Search lpc2000



Search tips

Subscribe to lpc2000



Discussion Groups

See Also

DSPFPGA

Discussion Groups | LPC2000 | changing from arm-elf to arm-none-eabi => doa 2148

Discussion group dedicated to the Philips LPC2000 family of ARM MCUs


So far in May, you have voted 0 times ou of a total of 20 votes by the community.
Please help us clean the archives from unuseful discussion threads by using the voting system! Details here.


Is this thread worth a thumbs up?

+8

changing from arm-elf to arm-none-eabi => doa 2148 - Steve Franks - Aug 23 20:01:52 2012

So, for the first time in 5 years, I've built my own toolchain (via
summon-arm-toolchain). Kudos to those guys for patching everything and
keeping track of the right knobs so it actually builds for once.

Unfortunately, the output is useless. Same source, same makefile, same
startup, same syscalls, same link script, but the program just hangs
(no uart output) on my lpc2148 now (it appears to build & link just
fine with either toolchain).

The differences are: arm-elf-gcc v4.3.2 was upgraded to arm-none-eabi
v4.5.1, and newlib from around 1.15 to 1.18. I'm sure binutils got
bumped too.

I d/l'd sourcery lite just for comparison, and got the same output
(none) as the custom built arm-none-eabi.

Poof! Disappointing. I can't be the only one this has happened to...

Steve




(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )

Re: changing from arm-elf to arm-none-eabi => doa 2148 - Scott - Aug 23 20:33:54 2012

Hi Steve
Maybe your linker file needs to be updated. I've pasted an example I use below.
-Scott

/* Link file for LPC2148 */
OUTPUT_FORMAT ("elf32-littlearm")
MEMORY
{
flash (rx) : ORIGIN = 0x00000000, LENGTH = 480k
config (r) : ORIGIN = 0x00078000, LENGTH = 4k
ram (rw) : ORIGIN = 0x40000000, LENGTH = 32k - 32
usbram (rw) : ORIGIN = 0x7FD00000, LENGTH = 8K
}
/* allow for space at top for IAP */
__stack_end__ = 0x40000000 + 32K - 36;
SECTIONS
{
. = 0;
startup :
{
__start_of_startup__ = .;
*(.startup)
__end_of_startup__ = .;
} >flash
. = ALIGN(4);
prog :
{
__start_of_text__ = .;
__start_of_prog__ = .;
*(.text)
__end_of_prog__ = .;
__start_of_rodata__ = .;
*(.rodata)
*(.rodata*)
__end_of_rodata__ = .;
__start_of_glue7__ = .;
*(.glue_7)
*(.glue_7t)
__end_of_glue7__ = .;
} >flash
__end_of_text__ = .;
.config_ROM :
{
__config_beg__ = .;
*(CFG_DATA)
__config_end__ = .;
} >config
.protected :
{
__protected_beg__ = .;
*(.protected)
__protected_end__ = .;
} >ram
.data :
{
__data_beg__ = .;
*(.data)
__data_end__ = .;
} >ram AT>flash
.bss :
{
__bss_beg__ = .;
*(.bss)
} >ram
/* 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);
/DISCARD/ : { *(.eh_frame) }
/DISCARD/ : { *(.note.GNU-stack) }
. = ALIGN(32 / 8);
_end = .;
_bss_end__ = . ;
__bss_end__ = . ;
__heap_beg__ = .;
__heap_end__ = .;
__end__ = . ;
PROVIDE (end = .);
.usbram (NOLOAD):
{
__usbram_beg__ = .;
*(.dmaram)
__usbram_end__ = .;
} >usbram
.ARM.attributes 0 : { *(.ARM.attributes) }
.comment 0 : { *(.comment) }
.debug_info 0 : { *(.debug_info) }
.debug_line 0 : { *(.debug_line) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_arranges 0 : { *(.debug_arranges) }
.debug_ranges 0 : { *(.debug_ranges) }
.debug_loc 0 : { *(.debug_loc) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_pubtypes 0 : { *(.debug_pubtypes) }
.debug_str 0 : { *(.debug_str) }
.debug_frame 0 : { *(.debug_frame) }
.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
} /* end of SECTIONS */

--- In l..., Steve Franks wrote:
>
> So, for the first time in 5 years, I've built my own toolchain (via
> summon-arm-toolchain). Kudos to those guys for patching everything and
> keeping track of the right knobs so it actually builds for once.
>
> Unfortunately, the output is useless. Same source, same makefile, same
> startup, same syscalls, same link script, but the program just hangs
> (no uart output) on my lpc2148 now (it appears to build & link just
> fine with either toolchain).
>
> The differences are: arm-elf-gcc v4.3.2 was upgraded to arm-none-eabi
> v4.5.1, and newlib from around 1.15 to 1.18. I'm sure binutils got
> bumped too.
>
> I d/l'd sourcery lite just for comparison, and got the same output
> (none) as the custom built arm-none-eabi.
>
> Poof! Disappointing. I can't be the only one this has happened to...
>
> Steve
>





(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )