- Attention
- Also refer to individual module pages for more details on each feature, unsupported features, important usage guidelines.
- Note
- The examples will show usage of SW modules and APIs on a specific CPU instance and OS combination.
Unless noted otherwise, the SW modules would work in both FreeRTOS and NORTOS environment.
Unless noted otherwise, the SW modules would work on any of the CPU present on the SOC.
Unless noted otherwise, the SW modules would work on all supported EVMs
New in this Release
Feature | Module |
Mmwave Demo: Range Doppler based Point Cloud Processing | OOB Demo |
Gesture Recognition Demo | OOB Demo |
Doppler Proc DPU with example application | Datapath |
Updated CFAR Proc DPU to accept range-doppler detection matrix as well | Datapath |
AOA2D Proc DPU | Datapath |
Classifier feature extraction libraries (Gesture) | Datapath |
ZoomFFT DPU with example application | Datapath |
1D Capon beamforming DPU with example application | Datapath |
Secondary Boot Loader Example | Examples |
Example for Booting via McSPI | Examples |
HWA driver example for DC Estimation and Subtraction | Examples |
Posix example failures are fixed | Examples |
Added LIN Responder example | LIN |
Fix for BGAP issue at high temperatures | Power |
Example for PWM | PWM |
Fix for zero Processing time and zero UART transmit time in Low Power Mode | OOB Demo |
MIMO pattern 'None' now supported in SDK for 1-Tx usecases | OOB Demo |
Driver issue of triggering HWA twice is fixed | HWA |
Improved Angular Visualizer | Visualizer |
Device and Validation Information
SOC | Supported CPUs | EVM | Host PC |
xWRL6432 | M4F | xWRL6432 EVM (referred to as xwrL64xx-evm in code) | Windows 10 64b or Ubuntu 18.04 64b |
Tools, Compiler and Other Open Source SW Module Information
Tools / SW module | Supported CPUs | Version |
Code Composer Studio | M4F | 12.4.0 |
SysConfig | M4F | 1.17.0 |
TI ARM CLANG | M4F | 2.1.3.LTS |
FreeRTOS Kernel | M4F | 10.4.3 |
mmwave DFP | M4F | 3_1_5_0 |
UNIFLASH | M4F | 8.3.0 |
Key Features
OS Kernel
OS | Supported CPUs | SysConfig Support | Key features tested | Key features not tested / NOT supported |
FreeRTOS Kernel | M4F | NA | Task, Task notification, interrupts, semaphores, mutexs, timers, event groups. ROV views in CCS IDE, Task load measurement using FreeRTOS run time statistics APIs. | - |
FreeRTOS POSIX | M4F | NA | pthread, mqueue, semaphore, clock | - |
NO RTOS | M4F | NA | See Driver Porting Layer (DPL) below | - |
Driver Porting Layer (DPL)
Module | Supported CPUs | SysConfig Support | OS support | Key features tested | Key features not tested / NOT supported |
Clock | M4F | YES | FreeRTOS, NORTOS | Tick timer at user specified resolution, timeouts and delays | - |
CycleCounter | M4F | NA | FreeRTOS, NORTOS | Measure CPU cycles using CPU specific internal counters | - |
Debug | M4F | YES | FreeRTOS, NORTOS | Logging and assert to any combo of: UART, CCS, shared memory | - |
Heap | M4F | NA | FreeRTOS, NORTOS | Create arbitrary heaps in user defined memory segments | - |
Hwi | M4F | YES | FreeRTOS, NORTOS | Interrupt register, enable/disable/restore | - |
MPU | M4F | YES | FreeRTOS, NORTOS | Setup MPU and control access to address space | - |
Semaphore | M4F | NA | FreeRTOS, NORTOS | Binary, Counting Semaphore, recursive mutexs with timeout | - |
Task | M4F | NA | FreeRTOS | Create, delete tasks | - |
Timer | M4F | YES | FreeRTOS, NORTOS | Configure arbitrary timers | - |
Event | M4F | YES | FreeRTOS | Setting, getting, clearing, and waiting of Event bits | - |
SOC Device Drivers
Peripheral | Supported CPUs | SysConfig Support | Key features tested | Key features not tested / NOT supported |
EDMA | M4F | YES | Basic memory copy, DMA/QDMA channels, Interrupt/Polled, Manual/Event trigger, Chaining | - |
EPWM | M4F | YES | EPWM module configuration APIs | - |
ESM | M4F | YES | Group and Error number selection, Tested ESM notifier with watchdog module | - |
GPIO | M4F | YES | Basic input/output, GPIO as interrupt | - |
HWA | M4F | YES | FFT, CFAR and compression/decompression, Interrupt/Polled, Manual/DMA trigger | - |
I2C | M4F | YES | Controller mode, basic read/write, polling and interrupt mode | Target mode not supported. |
MCAN | M4F | YES | RX, TX, interrupt and polling mode | - |
MCSPI | M4F | YES | Controller/Target mode, basic read/write, polling, interrupt and DMA mode | - |
Pinmux | M4F | YES | Tested with multiple peripheral pinmuxes | - |
QSPI | M4F | YES | Read direct, Write indirect, Read/Write commands | - |
SOC | M4F | YES | Lock/unlock MMRs, get CPU clock, CPU name, clock enable, set frequency | - |
UART | M4F | YES | Basic read/write, polling, interrupt mode, CPU/DMA mode | - |
WATCHDOG | M4F | YES | Window size and Expiry time selections, Reset mode, Digital windowed | - |
POWER | M4F | YES | Device LPDS Entry and Exit using sleep counter/SYNCIN IO. Device Idle3 entry and exist using frame timer | - |
LIN | M4F | YES | LIN Internal loopback, LIN external DIG/ANA loopback | - |
Board Device Drivers
Peripheral | Supported CPUs | SysConfig Support | Key features tested | Key features not tested |
Flash | M4F | YES | QSPI based flash (Macronix part MX25V1635F) | All vendor flash types not tested |
Fixed Issues
ID | Head Line | Module | Applicable Releases | Applicable Devices | Resolution/Comments |
MMWLPSDK-372 | Visualizer not working on Korean Windows PC | Visualizer | 5.2.0 onwards | xWRL6432 | Visualizer is updated to support Korean PCs |
MMWLPSDK-363 | Prebuilt binaries are overwritten when building with makefiles | OOB Demo | 5.2.0 onwards | xWRL6432 | Updated makefile to not overwrite |
MMWLPSDK-400 | API to set M4 frequency is not setting the M4 frequency | Drivers | 5.1.0 onwards | xWRL6432 | Corrected the driver implementation |
MMWLPSDK-284 | Frame processing time reported as zero in low power mode | OOB Demo | 5.1.0 onwards | xWRL6432 | Removed clock gating of FRC clock in latest DFP |
Known Issues
ID | Head Line | Module | Applicable Releases | Applicable Devices | Workaround |
MMWLPSDK-244 | HWA decompression output minor deviations | HWA driver | 5.01.00.03 | xWRL6432 | None |
MMWLPSDK-415 | EDMA driver does not support extended parameter srcBidx | EDMA driver | 5.01.00.03 | xWRL6432 | None |
Limitations
Head Line | Module | Reported in Release | Applicable Devices | Workaround |
In BOM optimized mode, the current firmware doesn't give sufficient settling time for the 1.2V RF LDO. As a result, the 1.2V RF LDO is not settled before burst start. | General | 5.01.00.03 | xWRL6432 | Refer the known issues section in DFP release notes. |
All the TLV's cannot be enabled at same time due to limitation of UART baudrate | Motion and Presence detection OOB demo | 5.01.00.03 | xWRL6432 | Enable only required TLV's |
On-board INA sensor(INA 226) cannot be used for power measurement. When device with INA226 sensor is used, the Power will not be plotted in visualizer. | Motion and Presence detection OOB demo | 5.01.00.03 | xWRL6432 | None |
SensorStop not supported in low Power configuration. | Motion and Presence detection OOB demo | 5.01.00.03 | xWRL6432 | None. |
Using 32KB RAM memory (Range: 0x00458000 to 0x0045ffff) in application can cause issues. This block is being used by RBL. | General | 5.01.00.03 | xWRL6432 | Use this block of memory for sections like Stack, Heap, BSS (if allocated contiguously). |
RangeProc and DOAProc examples are in development | Datapath Examples | 5.01.00.03 | xWRL6432 | None. |
Upgrade and Compatibility Information
- Attention
- When migrating from Processor/Older SDK RTOS, see Migration Guides for more details
This section lists changes which could affect user applications developed using older SDK versions. Read this carefully to see if you need to do any changes in your existing application when migrating to this SDK version relative to previous SDK version. Also refer to older SDK version release notes to see changes in earlier SDKs.
Compiler Options
Module | Affected API | Change | Additional Remarks |
Release Build | - | The release build with ti-arm-clang compiler has been done with Os optimization level. It is recommended that user rebuilds the existing libraries and applications with 'Os' option. This can be done by updating CFLAGS_release in library/example makefiles. |