Bare-metal ARM toolchain and kernel

Shaun Jackman
Thu Dec 8 18:18:00 GMT 2005

I posted the following message to the mailing
list some time ago. I didn't receive a response there, but I thought
I'd repost it here, as its relevant to my recent kernel and syscall
related work with newlib and libgloss/arm.


On 2005-06-11, Shaun Jackman <> wrote...

I'm currently using an arm-elf toolchain with the newlib libc
implementing RDP as the syscall interface. I'm interested in the
toolchain provided by CodeSourcery.

Which libc does the bare metal arm-none-eabi toolchain use, and which
syscall interface does it implement? newlib gives the choice of three
syscall interfaces: RDI (the default), RDP, and redboot. The former
two are defined by ARM, the latter is defined by Red Hat.

Does the bare metal toolchain provide pthreads? What kernel support
does it require?

Does CodeSourcery recommend any particular kernel for use with small
non-MMU embedded systems (ARM7TDMI processor)? I have not tried
uClinux, but my impression is that it would be overkill for my needs.
I need a kernel that provides a simple NAND flash file system and a
TCP/IP stack. If the kernel were to support the peripherals of the
Atmel AT91xxx chip, that would be a nice bonus. I'm currently using an
in-house single-process kernel that implements the RDP system call
interface. It's really more of a I/O abstraction than it is a
resource-managing kernel.


More information about the Newlib mailing list