bare metal with C++ support?
Joel Sherrill
joel.sherrill@oarcorp.com
Tue Jan 27 22:45:00 GMT 2009
Allen Curtis wrote:
>>> Using the sample configuration, such as armeb-unknown-eabi, does
>>> not build g++. When you go into menuconfig, you are not given the
>>> option to build any language other than C when you select bare-
>>> metal. I do not see how this could just work....
>>>
>>>
>>>
>> I don't use menuconfig. We use RPMs or RTEMS test scripts.
>>
>>
>
> That is "ct-ng menuconfig"
>
> RPMs? Like the Red Hat package manager? I am confused.
>
The RTEMS Project (http://www.rtems.org) provides
prebuilt toolsets for various GNU/Linux distributions
along with binaries for MS-Windows. We use binutils,
gcc, newlib, and gdb. The targets are *-rtems* instead
of say *-elf but the underlying source code is the same
and the *-rtems* target is usually a close cousin of
the *-elf* on the same architecture.
With the RTEMS target, you are just going to get more
functionality -- tasking, filesystem, TCP/IP etc.
So when distributing tools they are in RPM. When
testing to report to the GCC list, they are automated
build scripts. That's what I was referring to.
> - Allen
>
>
>> You want to do bare metal. Get behind the script. :-D
>>
>
> Well that depends on the intent of the project.
>
>
If you are just building a *-elf toolset from source
using newlib, it isn't that difficult by hand. Just
the proper incantation of a few configure lines. :)
Rough instructions from the top of my head.
Untar binutils, gcc, newlib, and gdb
mv or symlib newlib's libgloss and newlib under gcc.
mkdir b-binutils
cd b-binutils
../binutils/configure --target=TTT --prefix=PPP
make all install
cd ..
export PATH=PPP/bin:$PATH
mkdir b-gcc
cd b-gcc
../gcc/configure --target=TTT --prefix=PPP \
--with-newlib --enable-languages=c,c++
make all install
cd ..
mkdir b-gdb
cd b-gdb
# add --enable-sim if you want simulator support
../gdb/configure --target=TTT --prefix=PPP
make all install
At that point you should have a toolset if the C++ is
buildable. The PATH step is important because you
must have a cross assembler in your PATH.
--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill@OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list