1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 <2015> 2016 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 <2015> 2016 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | EPICS + RTEMS-pc386 build fails with unknown type name 'rtems_malloc_statistics_t' |
From: | Robert Perez <[email protected]> |
To: | [email protected] |
Date: | Wed, 29 Jul 2015 22:39:37 -0300 |
Starting from a Ubuntu desktop, update the tools of the host linux machine used to build.
$ sudo apt-get install build-essential git phyton-dev
$ sudo apt-get build-dep binutils gcc g++ gdb unzip git
Create directories, clone the RSB git repo and check the environment
$ cd $HOME/development/rtems
$ git clone git://git.rtems.org/rtems-source-builder/
$ cd rtems-source-builder
$ source-builder/sb-check
It should respond with Environment OK.
Build and install the toolchain (this step takes near 1 hour)
~/development/rtems/rtems-source-builder/rtems$ ../source-builder/sb-set-builder --log=build-log.txt --prefix=$HOME/development/rtems/compiler/4.11 4.11/rtems-i386
Add the compiler to path
cd $HOME
PATH=$HOME/development/rtems/compiler/4.11/bin:$PATH
Test that the new compiler is accesible
i386-rtems4.11-gcc -v
Clone the RTEMS repo and bootstrap
$ cd $HOME/development/rtems
$ git clone git://git.rtems.org/rtems.git rtems-git
$ cd rtems-git
$ ./bootstrap
Configure RTEMS build, give BSP as parameter as well as some others.
xubuntu@xubuntu-VirtualBox:~/development/rtems/build-rtems-pc386$ ../rtems-git/configure --target=i386-rtems4.11 --enable-rtemsbps=pc386 --enable-tests=samples --enable-networking --enable-posix --prefix=$HOME/development/rtems/bsps/4.11
It should answer with something similar to this.
target architecture: i386.
available BSPs: edison pc386 pc486 pc586-sse pc586 pc686 pcp4.
'make all' will build the following BSPs: edison pc386 pc486 pc586-sse pc586 pc686 pcp4.
other BSPs can be built with 'make RTEMS_BSP="bsp1 bsp2 ..."'
Compile and install RTEMS.
make install
Download EPICS and untar to rtems folder
cd $HOME/development/rtems
wget http://www.aps.anl.gov/epics/download/base/base-3.15.2.tar.gz
tar xvzf base-3.15.2.tar.gz
This creates the base-3.15.2 folder inside rtems
Set the environment variable from the shell.
EPICS_HOST_ARCH=linux-x86
Edit $HOME/development/rtems/base-3.15.2/configure/CONFIG_SITE adding the target architecture
CROSS_COMPILER_TARGET_ARCHS=RTEMS-pc386
Edit base-3.15.2/configure/os/CONFIG_SITE.Common.RTEMS adding:
RTEMS_VERSION = 4.11
RTEMS_BASE = $HOME/development/rtems/bsps/4.11
RTEMS_TOOLS = $HOME/development/rtems/compiler/4.11
Go to base dir and compile with:
cd $HOME/development/base-3.15.2
make
And after this step the error message listed on the top of the email appears....
After this we should be able to create IOC applications to boot into RTEMS.. to be continued.