AM243x Motor Control SDK  09.00.00

Welcome to Motor Control SDK for AM243X. This SDK contains examples, libraries and tools to develop RTOS and no-RTOS based applications enabling real-time communication for position and current sense from motors, and real-time control libraries for ARM R5F CPU and related peripherals.

Real-time communication with encoders and current sensing is typically handled by the Programmable Real-Time Unit Industrial Communication Subsystem (PRU-ICSS). The PRU-ICSS is a co-processor subsystem containing Programmable Real-Time (PRU) cores which implement the low level firmware. The PRU-ICSS frees up the main ARM cores in the device for other functions, such as control and data processing.

Applications and PRU-ICSS firmwares for position sense and current sense are provided in the SDK.

This SDK also includes AM243X Industrial Communications SDK and AM243X MCU+ SDK.

Getting Started

To get started, see GETTING STARTED page.

To build examples from Industrial Communications SDK and MCU+ SDK using CCS projects, user has to add ${SDK_INSTALL_PATH}/ind_comms_sdk path and ${SDK_INSTALL_PATH}/mcu_plus_sdk path to "Product discovery path" respectively in CCS (from Window->Preferences->Code Composer Studio->Products)

Block Diagram

Given below is a block diagram of the SW modules in this SDK

Software Block Diagram

The main software components in the block diagram specific to motor control are described below

Software Components Documentation Page Description
Position Sense Encoders
EnDat EnDat Driver and PRU-ICSS firmware for EnDat encoder interface
HDSL HDSL Driver and PRU-ICSS firmware for Hiperface DSL encoder interface
Tamagawa Tamagawa Driver and PRU-ICSS firmware for Tamagawa encoder interface
Current Sense
SDFM SDFM Driver and firmware for current sense using Sigma-Delta Filtering Module
Real Time Libraries
Digital Control Library (DCL) Digital Control Library (DCL) Header-only library for digital control applications
Examples and Demos
Examples and Demos Examples and Demos Examples and demos showing usage of different SW libraries and APIs for motor control

For details on software components of Industrial Communications SDK and MCU+ SDK, please refer to AM243X Industrial Communications SDK and AM243X MCU+ SDK respectively.

Directory Structure

Given below is a overview of the directory structure to help you navigate the SDK and related tools.

Folder/Files Description
README_FIRST_AM243X.html Open this file in a web browser to reach this user guide
makefile Top level makefile to build the whole SDK using "make"
imports.mak Top level makefile to list paths to dependent tools
docs/ Offline browseable HTML documentation
examples/ Example applications for AM243X, across multiple boards
source/ Device drivers, middleware libraries and APIs
ind_comms_sdk/ Industrial Communications SDK
mcu_plus_sdk/ MCU+ SDK

Given below are the paths where the different tools needed outside the SDK, like CCS, SysConfig are installed by default in Windows. In Linux, the tools are installed by default in ${HOME}/ti.

Folder/Files Description
C:/ti/ccs1240 Code composer studio
C:/ti/sysconfig_1.17.0 SysConfig. NOTE, SysConfig is also installed as part of CCS at ${CCS_INSTALL_PATH}/ccs/utils/sysconfig_x.x.x
C:/ti/ti-cgt-armllvm_2.1.3.LTS TI ARM CLANG compiler tool chain


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 [LINK] and the SDK Software License Agreement (SLA) is here [LINK]

Help and Support

For additional help and support, see

Documentation Credits

This user guide is generated using doxygen, v1.8.20. See