Welcome to TICS100MOD-SDK. This SDK contains examples, libraries and tools to develop Industrial Communication applications with TICS100MOD.
The TICS100MOD-SDK enables real-time industrial communications for any external host processors. Industrial communication is handled by the TICS100MOD. The TICS100MOD is a module which provides a common API to handle different fieldbus protocols. It is connected to the host controller over SPI or QSPI interface. The host controller needs only take care for application related data processing.
Follow these pages in order for a first working setup:
| Page | Use it to |
|---|---|
| Quick Start | Set up the hardware and flash the module |
| Configurator | Flash the module firmware, and generate the configuration for your own application from ESI, GSDML, or JSON files |
| Examples | Build and run the host application examples |
| Common API | Understand the architecture, communication interface, repository, and protocol-specific configuration |
| Application Development | Create your own host application, configure project settings, and port to another platform |
| Supported Features | Check which protocol and tool features the SDK supports |
| Release Notes | Check the release contents and tool versions |
Given below is a block diagram of the system. The host application accesses TICS100MOD through the common ICS API, while the module handles the industrial protocol stack. Both sides use the same shared core and communicate through SPI and GPIO signals.
The main software components are described below. Details are given in the Common API documentation.
| Software Components | Description |
|---|---|
| Host Side - TICS100MOD SDK (Linux / FreeRTOS) | |
| Customer Application | Application logic running on the host. It uses the common ICS API and the repository variables and is protocol-agnostic as far as possible. |
| ICS API | Common API to create and start the ICS instance, build the repository, and access objects (IcsObject_get, IcsObject_set, IcsObject_apply, IcsObject_refresh) and callbacks. |
| Shared Core | Component shared by host and target. Implements the repository, command handler and interpreter, serialization, and the IPC protocol. |
| Protocol Support (Host) | Protocol-specific services, built-in objects, and generated repository for EtherCAT, EtherNet/IP, and PROFINET. |
| Transfer / HAL / OSAL | SPI transfer to the module with the GPIO control signals (Target Request, Target Busy, Target Request Feed, Reset), plus hardware and OS abstraction (Linux, FreeRTOS). |
| Target Side - TICS100MOD Module | |
| TICS100MOD Firmware | Bootloader and pre-built firmware for EtherCAT, EtherNet/IP, and PROFINET, containing the industrial protocol stack and the shared core. |
| Tools and Utilities | |
| ICS Configurator | Desktop tool that generates the repository, device, channel, and protocol configuration from ESI, GSDML, or JSON files. |
Given below is an overview of the directory structure to help you navigate the SDK and related tools.
| Folder/Files | Description |
|---|---|
| ${SDK_INSTALL_PATH}/ | |
| docs/ | Offline browseable HTML documentation |
| examples/ | Example applications and sample configuration files |
| examples/ics-host/am64-main-app/ | Host application example for AM64x (Linux), with the application sources in linux-app/ |
| examples/ics-host/am261-main-app/ | Host application example for AM261x (FreeRTOS), with the application sources in freertos-app/ |
| examples/samples/ | Sample configuration files (ESI, GSDML, JSON) |
| firmware/ | Pre-built TICS100MOD firmware images, one folder each for Ethercat, EthernetIp, and Profinet |
| source/TICOM/ | TICS100MOD SDK source code (shared core) |
| source/TICOM/api/ | Public ICS API |
| source/TICOM/protocol/ | Protocol-specific code for EtherCAT, EtherNet/IP, and PROFINET |
| source/TICOM/hal/, source/TICOM/osal/ | Hardware and OS abstraction layers (Linux, FreeRTOS) |
| tools/ | Host-side tools and utilities |
| tools/ics-configurator/ | ICS Configurator application, including the code generator in generator/ |
The licensing information of this SDK, as well as any third-party components included which are made available under a number of other open-source licenses are enumerated as part of the manifest. A complete manifest along with export control information is detailed here and the SDK Software License Agreement (SLA) is here
For additional help and support, see https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum
This user guide is generated using Doxygen, see https://www.doxygen.nl/index.html