[En-Nut-Discussion] newlib itoa() and RAM funny problem
ulrich.prinz at googlemail.com
Mon Nov 19 18:27:40 CET 2012
I got some issues with the support of the correct ARM devices and am
actually studying the toolchain advices from ARM.com.
What I can tell is, that the system that I compile with arm-none-eabi
version 4.5.2 or arm-eCross version 4.5.2 now works with or without
itoa() calls. There seems to be an issue with CFLAG --gc-sections.
Without it the code works in any way with the 4.5.2 toolchain.
I cannot get it working with the launchpad gcc 4.6.2 as it compiles but
immediately crashes with probably first access of libc/newlibc.
Unfortunately I do not have time enough to investigate at work and I do
have a special / extraordinary linker script that marries the firmware
with a bootloader. So it is not a usual setup.
The plain ARM example linker script will not work with recent Nut/OS as
I did the init somewhat different. ARM provides blind function calls for
the interrupts and uses an assembler init script that copies this from
flash to RAM. My NutInit() version just takes the fault-interrupts but
does not provide anything for the user interrupts. Instead all IRQs are
initialized in a RAM resident table. Additionally my Init is in plain C
without any assembler.
So I need to check that all in a silent minute, possibly at home.
Am 18.11.2012 14:14, schrieb Michael Fischer:
> Hello Ulrich,
> >That looks like the compiler / assembler are not aware of Cortex series
> >chips, or at least not of CortexA8 series.
> Yes this could be possible that YAGARTO has some problems with A8 here.
> Here I have only tested CPUs which can be found on my example page:
> Have you take a look at the toolchain from launchpad:
> Perhaps this produce better results for the A8?
> Best regards,
More information about the En-Nut-Discussion