AM64x MCU+ SDK  07.03.00
Introduction

Welcome to MCU+ SDK for AM64X. This SDK contains examples, libraries and tools to develop RTOS and non-RTOS based applications for ARM R5F, ARM M4F CPUs and related peripherals.

This SDK also contains examples to interface these ARM R5F, ARM M4F applications with Processor SDK Linux based Cortex-A applications.

Getting Started

To get started, see Getting Started

Migration Information

When migrating from Processor SDK RTOS, see Migration Guides for more details.

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 are described below

Software Components Documentation Page Description
OS Kernel
No RTOS NO RTOS Contains modules which implement non-OS execution environment consisting of timers, ISR, main thread. Allows software on top to run in bare metal mode.
FreeRTOS Kernel FreeRTOS FreeRTOS Kernel, provides a execution environment consisting of tasks, semaphores, timers, see https://www.freertos.org/RTOS.html
FreeRTOS POSIX FreeRTOS Limited POSIX APIs with FreeRTOS underneath, provides pthreads, mqueue, semaphore, see https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_POSIX/index.html
Driver Porting Layer (DPL) Driver Porting Layer (DPL) APIs used by drivers to abstract the OS environment. Example, Semaphore, HW interrupts, mutex, clock.
Device Drivers and HAL (Hardware Abstraction Layer)
SOC Peripheral Drivers SOC Peripheral Drivers Device Drivers library and APIs for peripherals within the SOC. Example, I2C, GPIO, UART.
Board Peripheral Drivers Board Peripheral Drivers Device Drivers library and APIs for peripherals on the board or EVM. Example, Flash, EEPROM.
Industrial Protocol Firmware (FW) HAL Industrial Protocols Hardware abstraction layer APIs to higher level industrial protocol stacks. Example, EtherCAT FW HAL
Protocol Stacks and Middleware
Motor Control Motor Control Drive protocols for EnDAT, HDSL and Benchmark demo for CFFT, FIR and FOC.
LwIP COMING SOON TCP/UDP IP networking stack
TinyUSB COMING SOON USB device stack. Example, CDC device.
Industrial Protocol Stacks Industrial Protocols Industrial protocol stacks for protocols like EtherCAT, Profinet, EtherNet/IP
Examples and Demos
Examples and Demos Examples and Demos Examples and demos showing usage of different SW libraries and APIs
Tools (used on host machine)
Code Composer Studio (CCS) Using SDK with CCS Projects IDE used to build projects, debug programs, see
TI CLANG Compiler Toolchain TI CLANG HOMEPAGE CLANG based ARM compiler from TI for ARM R5F and M4F
SysConfig Using SDK with SysConfig System configuration tool, used to configure peripherals, pinmux, clocks and generate system initialization code
TI Resource Explorer (TIREX) Using SDK with TI Resource Explorer Web broswer based tool to explore the SDK, select, import and run the examples
SDK Tools and Utilities Tools and Utilities Additional tools and utilities, like flashing tools, booting tools, CCS loading scripts used with the SDK development flow

Directory Structure

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

Folder/Files Description
${SDK_INSTALL_PATH}/
README_FIRST_AM64X.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 dependant tools
docs/ Offline browseable HTML documentation
examples/ Example applications for AM64X, across multiple boards, CPUs, NO-RTOS, RTOS
source/ Device drivers, middleware libraries and APIs
tools/ Tools and utilities like CCS loading scripts, initialization scripts.
${SDK_INSTALL_PATH}/source/
drivers/ SOC peripheral device drivers
kernel/ NO RTOS and RTOS kernel and Driver Porting layer (DPL) for these environments
board/ Board peripheral device drivers
networking/ Industrial protocols, LwIP, Industrial protocols FW HAL and related drivers
usb/ USB stack and related drivers
${SDK_INSTALL_PATH}/examples/
empty/ Template projects to copy to your workarea and then modify based on your custom application needs
drivers/ SOC and board level focused device drivers examples. The examples are based on both NO-RTOS and RTOS
kernel/ NO RTOS and RTOS kernel focused examples
networking/ Networking focused examples
${SDK_INSTALL_PATH}/tools/
/ Additional tools and utilities used by the 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/ccs1030 Code composer studio
C:/ti/sysconfig_1.8.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_1.2.1.STS TI ARM CLANG compiler tool chain

Licenses

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].

Help and Support

For additional help and support, see https://e2e.ti.com/support/processors/f/processors-forum