Experimental Physics and
| |||||||||||||||
|
Hi all, I´m building EPICS against RTEMS for an x86 target system. I'm mixing information from different sources trying to build a document to install RTEMS+EPICS in a x86 host to create an IOC. The idea is to share the document when finished because I couldn't find one for this target.
I get to a point in which the EPICS compilation fails with the following message ../../../src/libCom/osi/os/RTEMS/osdPoolStatus.c: In function 'osiSufficentSpaceInPool': ../../../src/libCom/osi/os/RTEMS/osdPoolStatus.c:20:5: error: unknown type name 'rtems_malloc_statistics_t' I´ve tried to use 3 different EPICS versions but all of them fail in the same way. I´m using a XUbuntu 14.04 x86 machine and running the following commands to compile RTEMS toolchain(ok), RTEMS itself(ok) and then EPICS(fail) Any help or pointer would be greatly appreciated, thanks Robert. GCC-RTEMS version 4.9.3 RTEMS version 4.11 EPICS versions base-3.14.10 base-3.14.12.4 base-3.14.12.5 base-3.15.2 ------------------------------------------------------------------------------------------------------------------------------------------------- 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.
| ||||||||||||||
ANJ, 16 Dec 2015 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |