- 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 |
MPD Proc DPU | Datapath |
Presence Detection feature | OOB Demo |
Gtrack library | Datapath |
Tracker integration to Motion and Presence Detection OOB Demo | OOB Demo |
1Tx-1Rx, 2Tx-2Rx configuration support Motion and Presence Detection OOB Demo | OOB Demo |
Antenna geometry configuration support Motion and Presence Detection OOB Demo | OOB Demo |
INA228 based power measurement in Motion and Presence Detection OOB Dem | OOB Demo |
Classifier feature extraction libraries | Datapath |
Added Idle state (Power Mode) in OOB | OOB Demo |
Added Thresholds for LPDS and Idle low Power Modes | POWER |
Syconfig support and flash driver redesign to enable new flash configuration | BOARD library and QSPI |
Configure inter-chirp power saving based on inter-chirp time | mmwave Control lib |
LIN driver and example support | LIN |
Update Pin Parking configuration in LPDS low Power Mode | POWER |
Finite frames support with Low Power Mode enabled in Motion and Presence Detection OOB Demo | OOB Demo |
DMA support for MCAN driver with Loopback example | MCAN |
MCAN external read and write example | MCAN |
Support of triggering Soft and warm reset in SOC driver | SOC |
Angular JS Visualizer | Visualizer |
ANA #52 Slicer LDO Test LOAD (TLOAD) not disabled after startup fix in sysconfig | SoC |
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_0_8_6 |
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 | - |
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-238 | Unable to connect visualizer to debug versions of CCS builds | OOB Demo | 5.1.0 onwards | xWRL6432 | Linker file is modified to use RBL data ram only for heap and stack |
MMWLPSDK-243 | SDK OOB Demo does not support all configurations | OOB Demo | 5.1.0 onwards | xWRL6432 | Enabled Support for 1tx-1rx and 2tx-2rx configurations |
MMWLPSDK-272 | McSPI driver and GPIO driver | Drivers | 5.1.0 onwards | xWRL6432 | Corrected the McSPI driver to configure Data line 0 and 1.
Modified GPIO driver to correctly configure the interrupts. |
MMWLPSDK-164 | Debugging in CCS throws garbage to UART on startup | OOB Demo | 5.1.0 onwards | xWRL6432 | This issue is specific to Tera term tool, resetting or reconnecting terminal will fix this issue |
MMWLPSDK-281 | Finite frames config support with Low Power mode | OOB Demo | 5.1.0 onwards | xWRL6432 | None |
MMWLPSDK-229 | Re-architecting of the OOB for condition other than Low power operation | OOB Demo | 5.1.0 onwards | xWRL6432 | Added idle mode support in OOB for power saving with inter frame idle time less than threshold time for LPDS.
If there is no enough time for Idle mode Demo application would through error to user. |
MMWLPSDK-173 | Memory Usage fault due to unaligned memory access with Demo and RPMF examples | SDK applications | 5.1.0 onwards | xWRL6432 | Added a compiler option -mno-unaligned-access to not generate unaligned access. |
MMWLPSDK-174 | Timer configuration (APSS_RTI) configuration does not enable source clock. | OOB Demo | 5.1.0 onwards | xWRL6432 | Enabled in CSL_APP_RCM_IPCFGCLKGATE0 register and corrected interrupt number |
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 |
Limitations
Head Line | Module | Reported in Release | Applicable Devices | Workaround |
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. |
Debug image of Motion and Presence detection OOB demo does not run with latest visualizer. There are issues when configurations are sent. | Motion and Presence detection OOB demo | 5.02.00.02 | xWRL6432 | Use serial terminals like Tera Term etc. to send configurations when working with debug image of OOB demo. |
Interframe processing time and transmit output time of Stats TLV show 0 in low Power mode. | Motion and Presence detection OOB demo | 5.01.00.03 | xWRL6432 | While measuring interframe processing time and transmit output time, have low Power configuration disabled. These timings should not change with low Power configuration. |
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). |
Posix Demo example is failing. | Kernel Examples | 5.01.00.03 | xWRL6432 | None. |
QSPI Flash (qspi_flash_diag) nortos example is failing. | Driver Examples | 5.02.00.02 | 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. |