This Software Development Kit(SDK) is a bundle of IOTA client library and Zephyr RTOS for embedded client development.
For more details please visit iota.c and Zephyr.
The hardware requirements are depends on the use case, here are recommendations:
- 1MB Flash Memory
- 256KB SRAM
- True Random Number Generator
- HMAC-SHA Hardware Accelerator
- TCP/IP network stack with TLS support
Please refer to Getting Started with Zephyr for setting up your development environment.
This is tested on b_l4s5i_iot01a and stm32f746g_disco targets at this moment.
Zephyr targets can be found in Supported Boards
Set ZEPHYR_BASE
before using Zephyr build system.
$ export ZEPHYR_BASE="~/zephyrproject/zephyr"
# application configuration
$ west build -b b_l4s5i_iot01a -t menuconfig
# flash app to target board
$ west flash
# Use cmake to configure a Ninja-based buildsystem:
$ cmake -B build -GNinja -DBOARD=b_l4s5i_iot01a
# configure and flash application to target
$ ninja -C build menuconfig
$ ninja -C build flash
Please refer to Getting Started with nRF-Connect for setting up your development environment.
Set ZEPHYR_BASE
before using Zephyr build system.
$ export ZEPHYR_BASE="~/nRF-Connect-SDK/zephyr"
$ west build -b [email protected] -t menuconfig -- -DUNIT_TESTS=ON
# make sure ZTEST is enabled and stack size is big enough.
# CONFIG_ZTEST=y
# CONFIG_ZTEST_STACKSIZE=5120
$ west flash
Console output
*** Booting Zephyr OS build v2.6.0-rc1-ncs1 ***
====Unit Test on nrf9160dk_nrf9160====
Running test suite iota_crypto
===================================================================
START - test_blake2b
PASS - test_blake2b in 0.146 seconds
===================================================================
START - test_HMACSHA
PASS - test_HMACSHA in 0.3 seconds
===================================================================
Test suite iota_crypto succeeded
Running test suite iota_core
===================================================================
START - test_address_gen
PASS - test_address_gen in 0.25 seconds
===================================================================
START - test_message_with_tx
PASS - test_message_with_tx in 0.11 seconds
===================================================================
START - tx_essence_serialization
[tx_essence_serialize_length:106] an input is needed
PASS - tx_essence_serialization in 0.6 seconds
===================================================================
Test suite iota_core succeeded
Running test suite iota_bench
===================================================================
START - bench_address_generating
Bench 100 address generation
min(ms) max(ms) avg(ms) total(ms)
15 16 15.20 1520
PASS - bench_address_generating in 1.533 seconds
===================================================================
Test suite iota_bench succeeded
===================================================================
PROJECT EXECUTION SUCCESSFUL