User Tools

Site Tools


iotivity_porting_to_arm_based_platforms

The procedure to port IoTivity to arm based platforms is provided here

1) Download the arm toolchain and copy in the LINUX Machine.

2) Add the correct location of toolchain Headers/Libraries for sys_root in iotivity/build_common/SConscript

  For E.g.: Update the sys_root = os.path.abspath(<toolchain SYS ROOT path>)
  

3) Download the Boost libraries from internet and place it in iotivity/extlibs/boost/. Update the CPPPATH for BOOST header in iotivity\build_common\linux\SConscript

4) Download the UUID Header/Libraries for arm architecture from Internet or from linkuuid-arm.zip. Place the UUID Headers/Libraries inside IoTivity folder (For Eg: iotivity/extlibs/). Update the CPPPATH/LIBPATH for UUID Headers/Libraries in required SConscript

 For E.g.: env.AppendUnique(CPPPATH = [ '<uuid header path>'])
           env.AppendUnique(LIBPATH =  ['<uuid Library Path>'])
           env.AppendUnique(LIBS = ['uuid']) 
           {{:arm_uuid_path.png?200|}}

5) Boost is needed for IoTivity C++ layer and Services compilation. Boost libraries have to be cross compiled for arm or can be downloaded and has to placed in iotivity/extlibs/boost/.

  • Unordered List ItemUpdate the CPPPATH for BOOST header iniotivity\build_common\linux\SConscript

  • Changes in resource/src/SConscript

  • Changes in resource\oc_logger\SConscript

6) During IoTivity Build, include the following options in SCons command

  • TC_ARCH=arm
  • TC_PREFIX=<Prefix of tool chain compiler> For E.g.: TC_PREFIX=arm-none-linux-gnueabi-
  • TC_PATH=<Tool Chain Path> For E.g.: TC_PATH=/opt/<platform>/usr/local/gcc-4.3.3-glibc-2.8-cs2009q1-203/arm-none-linux-gnueabi/bin

Example for SCons Command: scons TARGET_OS=linux TARGET_ARCH=arm TARGET_TRANSPORT=IP SECURED=0 RELEASE=1 TC_PREFIX=arm-none-linux-gnueabi- TC_PATH=/opt/<platform>/usr/local/gcc-4.3.3-glibc-2.8-cs2009q1-203/arm-none-linux-gnueabi/bin

Remove Services, C++ SDK, Example/Samples from IoTivity Build

To remove services, C++ SDK from Build, SCons does not provide option to remove these features during build. We need to comment in SConscript

1) To Remove Services from Build:

In iotivity/SConscruct, comment the mentioned line SConscript(build_dir + 'service/SConscript') LineNo. 63

2) To Remove C++SDK from Build:

in iotivity/resource/SConscript, comment the mentioned line SConscript('src/SConscript') LineNo. 60

3) To Remove Samples/Examples from Build:

in iotivity/resource/SConscript, comment the mentioned line SConscript('examples/SConscript') LineNo. 64
in iotivity/SConstruct, comment the examples/OICMiddle/SConscript LineNo. 59, 60

Note: LineNo. are mentioned according to IoTivity 1.0 Version

iotivity_porting_to_arm_based_platforms.txt · Last modified: 2016/07/13 08:37 by Phil Coval