Skip to content

tropicsquare/libtropic

libtropic

TROPIC01's SDK written in C. Contributors, please follow guidelines.

For more info about TROPIC01 chip and it's datasheet or User API, check out developers resources in the TROPIC01 repository.

Compatibility with TROPIC01 firmware versions

For the libtropic library to function correctly with the TROPIC01 secure element, the versions of three key components must be compatible:

  1. libtropic SDK: The version of this library.
  2. Application Firmware: The main firmware running on the TROPIC01 chip.
  3. SPECT Firmware: The co-processor firmware on the TROPIC01 chip.

The following table outlines the tested and supported compatibility between different released versions:

API document version libtropic Application SPECT Bootloader Tests
1.3.0 1.0.0 1.0.0 1.0.0 v1.0.1 Passed
1.3.0 1.0.0 1.0.0 1.0.0 v2.0.1 Passed

Using mismatched versions can lead to unexpected behavior or errors. We recommend using the latest compatible versions for all components.

For retrieving firmware versions from TROPIC01 check code in examples/lt_ex_show_chip_id_and_fw_ver.c. For updating firmware please follow code example in examples/lt_ex_fw_update.c.

Repository structure

  • CMakeLists.txt Root CMake project file
  • cmake/ CMake related files
  • docs/ Documentation
  • examples/ A few examples how libtropic might be used
  • hal/ Support code for various platforms - transport layer, delay function and RNG
  • include/ Public API header files
  • keys/ Default pairing keys for slots 1, 2, 3 (used in examples and functional tests)
  • provisioning_data/ Contains pairing key for slot 0; this data can be used to "provision" the TROPIC01 model (more info here and here)
  • scripts/ Build and config scripts
  • src/ Library's source files
  • tests/ Functional and unit tests
  • TROPIC01_fw_update_files/ Files used for updating TROPIC01's firmware
  • tropic01_model/ Project for the TROPIC01's model, utilizing the Unix TCP port
  • vendor/ Third party libraries and tools

Tip

See READMEs in some of these directories for more info.

Get started!

Platform repositories, showing example usage of libtropic on known platforms:

Documentation

HTML documentation for the latest master version is available here.

The documentation can be built manually as following:

mkdir build
cd build
cmake -DLT_BUILD_DOCS=1 ..
make doc_doxygen

The documentation will be available in the build/docs/doxygen/html/. Open index.html with your favorite web browser.

Note

After executing cmake -DLT_BUILD_DOCS=1 .., you might get warnings about LIBTROPIC_EXAMPLE_LIST and LIBTROPIC_TEST_LIST. This is okay, you can ignore that.

License

See the LICENSE.md file in the root of this repository or consult license information at Tropic Square website.

About

SDK for application development with TROPIC01 secure element

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 8