Please install TortoiseSVN from the following.
Please obtain the OpenRTM-aist source code from the following.
Please obtain the already built omniORB from the following.
Move to the checked out folder (OpenRTM - aist) and execute the following command.
python convert_character_code.py ./ win32 utf_8_sig mkdir src\lib\coil\common\coil move src\lib\coil\common\*.* src\lib\coil\common\coil copy build\yat.py utils\rtm-skelwrapper mkdir build_omni cd build_omni cmake -DOMNI_VERSION=42 -DOMNI_MINOR=2 -DOMNITHREAD_VERSION=40 -DORB_ROOT=C:/workspace/omniORB-4.2.2-win64-vc15 -DCORBA=omniORB -G "Visual Studio 15 2017 Win64" .. cmake --build . --config Release
Variable name | Meaning | Value that can be set |
OMNI_VERSION | omniORB version | 40, 41, 42 |
ORB_ROOT | OmniORB expanded path | |
CORBA | CORBA library | omniORB |
Please install TortoiseSVN from the following.
Please obtain the OpenRTM-aist source code from the following.
Please download ACE + TAO.zip from below.
Build ACE and TAO in Visual Studio. Change ace/config-win32.h in the folder where ACE + TAO.zip has been expanded to ace/config.h. Next, open the ACE_wrappers_vc12.sln (or ACE_wrappers_vc14.sln, ACE_wrappers_vs2017.sln) in Visual Studio and build it with the following environment variables set.
Move to the checked out folder (OpenRTM-aist) and execute the following command.
python convert_character_code.py ./ win32 utf_8_sig mkdir src\lib\coil\common\coil move src\lib\coil\common\*.* src\lib\coil\common\coil copy build\yat.py utils\rtm-skelwrapper mkdir build_tao cd build_tao cmake -DORB_ROOT=C:/workspace/ACE_wrappers -DCORBA=TAO -G "Visual Studio 15 2017 Win64" .. set PATH=%PATH%;C:\workspace\ACE_wrappers\lib; cmake --build . --config Release
Built-in binary files for omniORB's Windows 10 IoT are currently not distributed, so you need to build them yourself. Cygwin installation is required.
Get source code of omniORB.
Please expand omniORB - 4.2.2.tar.bz2 to a suitable place.
First apply the patch for ARM + Windows. Please obtain a patch from below.
Execute the following command on Cygwin.
patch -p1 -d omniORB-4.2.2 < omniORB-4.2.2-windows-iot.patch
Edit mk/platforms/arm_win32_vs_14.mk in the folder where you expanded omniORB-4.2.2.tar.bz2. If the version of Visual Studio you use is different, please select the one that is appropriate. Specify the Python directory as follows.
PYTHON = /cygdrive/c/Python27/python
Next, edit config/config.mk. Specify the corresponding mk file as follows. Please correspond as appropriate when the version of Visual Studio is different.
platform = arm_win32_vs_14
For cross compiling, prepare executable files such as idl compiler which can operate in the development environment. Please obtain the binary of omniORB which was built for x86 from the following.
Please copy the contents of bin / x86_win32 in the folder where you unzipped the zip file to bin/x86_win32 in the folder where you expanded omniORB - 4.2.2.tar.bz2.
Move to the directory where omniORB-4.2.2.tar.bz2 is expanded and execute the following command.
set PATH=C:\cygwin64\bin;%PATH%; call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_arm cd src make export
This will create an executable file in bin / ARM_win32 and a library in lib / ARM_win32. For vcvarsall.bat, please use the version that is appropriate for the version of Visual Studio. For Visual Studio 2017 it will be C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat.
The build of OpenRTM-aist is almost the same as usual. Please specify the compiler for ARM as cmake's option Visual Studio 14 2015 ARM.
python convert_character_code.py ./ win32 utf_8_sig mkdir src\lib\coil\common\coil move src\lib\coil\common\*.* src\lib\coil\common\coil copy build\yat.py utils\rtm-skelwrapper mkdir build_omni cd build_omni cmake -DOMNI_VERSION=42 -DOMNI_MINOR=2 -DOMNITHREAD_VERSION=40 -DORB_ROOT=C:/workspace/omniORB-4.2.2 -DCORBA=omniORB -G "Visual Studio 14 2015 ARM" .. cmake --build . --config Release
You can not build it unless ARM compiler is installed in Visual Studio. If you do not have an ARM compiler installed, please start Visual Studio Installer and install Visual Studio C ++ Compiler and Library for ARM.
svn co http://svn.openrtm.org/OpenRTM-aist/trunk/OpenRTM-aist/ cd OpenRTM-aist/ mkdir src/lib/coil/common/coil cp src/lib/coil/common/*.* src/lib/coil/common/coil/ cp build/yat.py utils/rtm-skelwrapper/ mkdir build_linux cd build_linux/ cmake -DOMNI_VERSION=41 -DCORBA=omniORB .. make
Variable name | Meaning | Value that can be set |
OMNI_VERSION | omniORB version | 40, 41, 42 |
CORBA | CORBA library | omniORB |
First of all build and install ACE + TAO with the following command.
sudo apt-get install gperf export ACE_ROOT=${PWD}/ACE_wrappers/build/linux export TAO_ROOT=${ACE_ROOT}/TAO export LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib export INSTALL_PREFIX=/home/openrtm/ace_install wget http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-6.4.5.tar.gz tar xf ACE+TAO-6.4.5.tar.gz cd ACE_wrappers mkdir -p build/linux ./bin/create_ace_build build/linux echo '#include "ace/config-linux.h"' > build/linux/ace/config.h echo 'include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' > build/linux/include/makeinclude/platform_macros.GNU cd build/linux make make install cd TAO make make install
Build OpenRTM-aist with the following command.
svn co http://svn.openrtm.org/OpenRTM-aist/trunk/OpenRTM-aist/ cd OpenRTM-aist/ mkdir src/lib/coil/common/coil cp src/lib/coil/common/*.* src/lib/coil/common/coil/ cp build/yat.py utils/rtm-skelwrapper/ mkdir build_tao cd build_tao cmake -DORB_ROOT=$ACE_ROOT -DCORBA=TAO .. make
It is necessary to specify the home directory of Wind River Workbench in advance. Please set the directory where Wind River Workbench is installed to the variable WIND_HOME.
export WIND_HOME=/home/openrtm/WindRiver
It is necessary to build omniORB before building OpenRTM-aist.
Get source code of omniORB.
Execute the build with the following command.
wget https://jaist.dl.sourceforge.net/project/omniorb/omniORB/omniORB-4.2.2/omniORB-4.2.2.tar.bz2 tar xf omniORB-4.2.2.tar.bz2 wget http://svn.openrtm.org/omniORB/trunk/vxworks/omniORB-4.2.2-vxworks.patch patch -p1 -d omniORB-4.2.2 < omniORB-4.2.2-vxworks.patch cd omniORB-4.2.2 mkdir build cd build ../configure make cd .. sed -i '1s/^/platform = ${VXWORKS_PLATFORM}\n/' config/config.mk cd src make export
However, please be sure to enter VXWORKS_PLATFORM according to your operating environment.
VXWORKS_PLATFORM | CPU | VxWorks version | Implementation method |
powerpc_vxWorks_kernel_6.6 | PowerPC | 6.6 | Kernel module |
powerpc_vxWorks_RTP_6.6 | PowerPC | 6.6 | RTP |
powerpc_vxWorks_kernel_6.9 | PowerPC | 6.9 | kernel module |
powerpc_vxWorks_RTP_6.9 | PowerPC | 6.9 | RTP |
simlinux_vxWorks_kernel_6.6 | simulator on Linux | 6.6 | kernel module |
simpentium_vxWorks_RTP_6.6 | Simulator on Linux | 6.6 | RTP |
simlinux_vxWorks_kernel_6.9 | simulator on Linux | 6.9 | kernel module |
simpentium_vxWorks_RTP_6.9 | Simulator on Linux | 6.9 | RTP |
Please enter the following command.
svn co http://svn.openrtm.org/OpenRTM-aist/trunk/OpenRTM-aist/ cd OpenRTM-aist/ mkdir src/lib/coil/common/coil cp src/lib/coil/common/*.* src/lib/coil/common/coil/ cp build/yat.py utils/rtm-skelwrapper/ mkdir build_vxworks cd build_vxworks/ cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DVX_VERSION=${VX_VERSION} -DORB_ROOT=${ORB_ROOT} -DOMNI_VERSION=42 -DCORBA=omniORB -DVX_CPU_FAMILY=${ARCH} .. make
TOoolCHAIN_FILE | ../Toolchain-vxworks6.6-Linux.cmake, for VxWorks 6.6 (kernel module, PowerPC), ../ Toolchain-vxworks6.cmake |
VX_VERSION | vxworks-6.6 or vxworks-6.9 |
ORB_ROOT | omniORB directory (eg /home/openrtm/omniORB-4.2.2) |
VX_CPU_FAMILY | ppc (PowerPC), simlinux (kernel module, simulator), simpentium (RTP, simulator) |
For RTP, you need to add -DRTP=ON to the cmake command.
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DVX_VERSION=${VX_VERSION} -DORB_ROOT=${ORB_ROOT} -DOMNI_VERSION=42 -DCORBA=omniORB -DVX_CPU_FAMILY=${ARCH} -DRTP=ON .. make
Currently the corresponding environment is VxWorks 6.6, PowerPC only.
Please enter the following command.
svn co http://svn.openrtm.org/OpenRTM-aist/trunk/OpenRTM-aist/ cd OpenRTM-aist/ mkdir src/lib/coil/common/coil cp src/lib/coil/common/*.* src/lib/coil/common/coil/ cp build/yat.py utils/rtm-skelwrapper/ mkdir build_vxworks cd build_vxworks/ cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DORB_ROOT=${ORB_ROOT} -DCORBA=ORBexpress .. make
Please make the following settings for TOOLCHAIN_FILE, ORB_ROOT.
TOOLCHAIN_FILE | For kernel module../Toolchain-vxworks6.6-Linux.cmake, for RTP ../Toolchain-vxworks6.cmake |
ORB_ROOT | ORBexpress directory (ex:/home/openrtm/OIS/ORBexpress/RT_2.8.4_PATCH_KC1) |