Difference: EtraxEPICSHowTo (r9 vs. r8)

Changes needed to compile EPICS environment:

set environment:

 
. init_env 

go to the directory:

cd ~/devboard-work_2.4/apps/epics/base-3.14.8.2

edit ./configure/os/CONFIG.Common.linux-cris

ARCH_DEP_CPPFLAGS += -D_cris_ -mlinux 
AR = ar-cris -rs
change the source of the 'cris compilator' applications %BR%

edit ./configure/CONFIG_COMMON and change the line with:

USR_LDFLAGS = -mlinux

#you cannot overload system function(fprint) as the class method, if you turn on -O3
edit ./configure/CONFIG.gnuCommon

OPT_CXXFLAGS_YES =
RANLIB = ranlib

edit ./src/libCom/env/bldEnvData.pl

$env_dir    = abs_path("./env");

set environment:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/src/libCom/O.linux-x86/:/home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/src/dbStatic/O.linux-x86/"


**** Now you can take below lines and use COPY & PASTE ********

gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris" clean uninstall && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp  ../copy/src/as/asLib.h src/as/ ; cp ../copy/src/db/dbAccessDefs.h src/db/;cp ../copy/src/dbStatic/*.h src/dbStatic/;cp ../copy/src/gdd/*.h src/gdd/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/include/flex.skel.static src/toolsComm/flex/O.Common/&&cp ./../copy/src/toolsComm/flex/flex.skel.static src/toolsComm/flex/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
mkdir bin/linux-x86&&cp ./src/toolsComm/antelope/O.linux-x86/antelope ./bin/linux-x86/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/ca/*.h src/ca/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/toolsComm/flex/O.linux-x86/e_flex bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/include/flex.skel.static include/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/dbStatic/dbLexRoutines.c ./src && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/registry/*.h src/registry/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/include/cvtTable.h include/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/bpt/O.linux-x86/makeBpt ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/bpt/cvtTable.h src/bpt/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/dbStatic/O.linux-x86/dbToMenuH ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/db/*.h ./src/db/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/db/dbCommonRecord.dbd ./src/&&cp ./../copy/src/db/dbCommon.dbd ./src/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/dbStatic/O.linux-x86/dbToRecordtypeH ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asDbLib.h ./src/as/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asCa.h ./src/as/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asTrapWrite.h ./src/as/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asLib.h ./src && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asLibRoutines.c ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/dbtools/dbLoadTemplate.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/rsrv/rsrv.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/ca/net_convert.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/misc/epicsRelease.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/misc/iocInit.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/iocsh/*.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../base-3.14.8.2/src/dbStatic/O.linux-x86/dbExpand ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/registry/registerRecordDeviceDriver.pl ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/bin/linux-x86/genApps ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/gdd/aitConvert.cc ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/bin/linux-x86/aitGen ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/gdd/*.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";

after that you should add some library into a board:/home/hadaq/epics/lib:

./lib/linux-cris/libca.so
./lib/linux-cris/libCom.so

/home/radek/devboard-work_2.4/target/cris-axis-linux-gnu/lib/libpthread.so.0
/home/radek/backup/devboard-work_2.4/target/cris-axis-linux-gnu/lib/librt.so.1
/home/radek/devboard-work_2.4/target/cris-axis-linux-gnu/lib/libstdc++.so.5
/home/radek/devboard-work_2.4/target/cris-axis-linux-gnu/lib/libgcc_s.so.1

On the board set the env. var.:

export LD_LIBRARY_PATH=/home/hadaq/epics/lib

On the machine, where this software was compiled you have to set env. var. if you want to start server:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/src/dbStatic/O.linux-x86/:/home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/src/libCom/O.linux-x86/"

compiling caServer:

cd ./src/makeBaseApp
./makeBaseApp.pl -b /home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/ -t caServer
cd ./caServerApp
gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris"

edit ./configure/CONFIG_COMMON

INSTALL_INCLUDES += \
       -I$(INSTALL_INCLUDE)/os/$(OS_CLASS) \
       -I$(INSTALL_INCLUDE) \
       -I$(EPICS_BASE)/include \
       -I$(EPICS_BASE)/include/os/Linux \
       -I$(EPICS_BASE)/src 
       
cp ./../../../../copy/include/gddApps.h ./../../../include/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
mkdir ../lib;
ln -s ../../../lib/linux-cris ../lib/linux-cris && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
#cp ./../../iocsh/libiocsh.a . && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";

after that you should add some library into a board:/home/hadaq/epics/lib:

./lib/linux-cris/libgdd.so
./lib/linux-cris/libiocsh.so
./lib/linux-cris/libasHost.so
./lib/linux-cris/libdbStaticHost.so
./lib/linux-cris/libregistryIoc.so
./lib/linux-cris/libmiscIoc.so
./lib/linux-cris/librsrvIoc.so
./lib/linux-cris/libdbtoolsIoc.so
./lib/linux-cris/libasIoc.so
./lib/linux-cris/libdbIoc.so
./lib/linux-cris/libdbStaticIoc.so

compiling caClient:

cd ./src/makeBaseApp
./makeBaseApp.pl -b /home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/ -t caClient
cd ./caClientApp
gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris"

-- RadekTrebacz - 22 Jun 2006

View topic | View difference side by side | History: r9 < r8 < r7 < r6 | More topic actions
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Hades Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)