newlib

indicating libgloss machine when building newlib for bespoke platform

I'm compiling newlib for a bespoke PowerPC platform with no OS. Reading information on the net I realise I need to implement stub functions in a <newplatform> subdirectory of libgloss. My confusion is to how this is going to be picked up when I compile newlib. Is it the last part of the --target argument to configure e.g. powerpc-ibm-<n...

FreeRTOS queues for IO before scheduler starts (or after it stops)

I'm looking for advice on how to best implement thread-safe IO (e.g. for printf going to a debug serial port) in an environment in which the operating system scheduler may yet to have started, be running, suspended or may have stopped or crashed. I'm using Newlib and FreeRTOS. At the moment, I'm doing the (seemingly-standard) FreeRTOS ...

Porting NewLib: crt0

I am porting NewLib for my own OS by following a tutorial. It says that once I finished my crt0, I have to "link it as the first object". How can I do that? ...

How to get a call stack backtrace? (deeply embedded, no library support)

I want my exception handlers and debug functions to be able to print call stack backtraces, basically just like the backtrace() library function in glibc. Unfortunately, my C library (Newlib) doesn't provide such a call. I've got something like this: #include <unwind.h printf("\t#%d: program counter at %08x\n", *depth, _Unwind_Get...

Porting NewLib for my OS: some questions

Hello, I am trying to port NewLib for my OS (I am following this tutorial: http://wiki.osdev.org/Porting_Newlib), and I have some questions. Once LibGloss is done and compiled, when exactly I'll have to use the libnosys.a that have been created? Is it when I will compile my main.c? > mipsel-uknown-elf-gcc main.c -Llibnosys.a M...