The RT-OCF project is to develop an open source software framework which is a light-weight device-to-device (D2D) framework based on Open Connectivity Foundation (OCF) specification for IoT devices. RT-OCF targets TizenRT RTOS and provides functionalities such as device discovery, create/read/update/delete operations of device resources, resource observation, and so on. All target functionalities of RT-OCF are not yet completed. For example, provisioning to cloud considering sercurity together is underdeveloped.
To run RT-OCF
, you need to install the package below.
# For TizenRT test
$ sudo pip install pyserial
## Setup development environment
1. Clone Tizen RT first and move to external directory.
```sh
$ git clone https://github.com/Samsung/TizenRT.git
$ cd external
- Clone RT-OCF.
$ git clone https://github.com/Samsung/RT-OCF.git
- Work within
external/RT-OCF
.
For Setup RT-OCF options
os/linux$ make menuconfig
For Building RT-OCF with linux
python script(recommended)
$ ./tools/build.py linux -h
usage: build.py linux [-h] [--rebuild] [--ci]
Linux Build
optional arguments:
-h, --help show this help message and exit
--rebuild True, Build after clean
--ci True, if it is ci build.
shell script
$ tools/build_linux.sh
For Building RT-OCF with TizenRT
python script(recommended)
$ ./tools/build.py tizenrt -h
usage: build.py tizenrt [-h] [--rebuild] [--config CONFIG] [--with-flash]
[--ci]
Tizen RT Build
optional arguments:
-h, --help show this help message and exit
--rebuild True, Build after clean
--config CONFIG Select the config you want to use for the TizenRT build.
--with-flash True, if you want to flash binary after building
--ci True, if it is ci build.
shell script
$ tools/build.py tizenrt
# artik053/zeroroot config
# If you want to build with RT-OCF, run this script.
$ tools/build_tizenrt_zeroroot.sh
# build TizenRT with specify config name
$ tools/build_tizenrt_with_configure.sh ${CONFIG_NAME}
# build TizenRT without configuration
# Use this script if you want to build the old configuration.
$ tools/build_tizenrt.sh ${CONFIG_NAME}
For Testing RT-OCF with linux
python script(recommended)
$ ./tools/test.py linux -h
usage: test.py linux [-h] [--rebuild] [--skip-build] [--cov] [--ci] [-v]
[-g GROUP] [-n NAME] [-c COUNT]
Linux Test
optional arguments:
-h, --help show this help message and exit
--rebuild True, Build after clean
--skip-build True, if you want to execute only test
--cov True, If you want to calculate test coverage.
--ci True, if it is ci build.
-v, --verbose Print test name before each test run
-g GROUP, --group GROUP
Select a test group whose name contains the specified
string
-n NAME, --name NAME Select a test case whose name contains the specified
string
-c COUNT, --count COUNT
Repeat the test for the specified number of times
shell script
$ tools/test_linux.sh
# Run specific test group
$ tools/test_linux.sh -g test_mem
# Run specific test name
$ tools/test_linux.sh -n getMemInfo_alloc_int_free_one
# Generate coverage report
$ tools/coverage_linux.sh
For Testing RT-OCF with TizenRT
python script
$ ./tools/test.py tizenrt -h
usage: test.py tizenrt [-h] [--skip-build] [--rebuild] [--ci]
Tizen RT Test
optional arguments:
-h, --help show this help message and exit
--skip-build True, if you want to execute only test
--rebuild True, Build after clean
--ci True, if it is ci build.
Use to install binaries on board.
$ ./tools/flash.py -h
usage: flash.py [-h] [--all]
Use to install binaries on board.
optional arguments:
-h, --help show this help message and exit
--all True, if you want to flash all.