4.5. Release notes - 08_01_00

Note

08_01_00_12 release is a critical bug fix update from 08_01_00_11 from ti.com. If you had previously downloaded 08_01_00_11, then the following is a list of bug fixes / changes from 08_01_00_11 (also reflected in specific component release notes):

  • ADASVISION-5103: Random hang at vxWaitGraph for MCU2_0 based OpenVx nodes

    • Enabled -fno-strict-aliasing clang compile flag in R5F builds.

  • ADASVISION-4874: 8-camera use case fails with FreeRTOS

    • Calling portTASK_USES_FLOATING_POINT() for all TIOVX and vision_apps tasks so that FPU registers are perserved during FreeRTOS conftext switch. If custom tasks use floating point operation, then this call should also be added to beginning of custom tasks.

  • ADASVISION-5116: QNX7: PSDK QNX 8.1 build error with imaging library

    • Excluded imaging libraries not needed for QNX build from the QNX build.

  • LCPD-24664: j721e-hsevm fails to boot

    • Disable clang optimizer on boardcfgRmFindCertSize function of sciclient_direct.c file for R5F firmware image build.

  • Update SDL to 0.2.0 release

Note

If you are needing to use Linux SPL Uboot on an HS device, then please note that you will need to use updated DM firmware from this release. Instructions can be found on the release download page.

4.5.1. Features

Note

New features vs 08_00_00 release are marked in bold

4.5.1.1. Hardware support

  1. J721E Alpha and Beta EVM support with Leo and Hera PMIC processor board

  2. J721E ES1.1 support

  3. J721E HS support

  4. Fusion1 RevC daughter card with UB960 FPDLink deserializer

  5. IMX390 2MP CSI2 image sensor + UB953 FPDLink serializer

  6. AR0233 2.5MP CSI2 image sensor + UB953 FPDLink serializer

  7. AR0820 8MP CSI2 image sensor + UB953 FPDLink serializer

  8. GESI(Gateway/Ethernet Switch/Industrial) daughter card (for additional ethernet and CAN ports)

  9. Infotainment daughter card (for HDMI output)

4.5.1.2. Software features

Important

Below is a summary of key features. Refer individual SDK Components release notes for more details

4.5.1.2.1. Vision Apps (ADAS, Vision, DL demos)

  • OpenVX based demos for ADAS, Vision, deep learning applications

    • TI-RTOS on C7x, C6x, R5F and Linux on A72

    • Integrates all major PSDK RTOS and PSDK LINUX SW components like TIDL, MMALIB, PDK, OpenVX, ETHFW, OpenGL, video codec, C6x algorithms, imaging/sensors, IPC, Linux, TI-RTOS, SPL/uboot.

    • Integrates all major HW components like CSI2 camera, eDP/HDMI display, UART, I2C, ethernet, SD card

  • Deep Learning demos

    • Image Classification demo

      • File based

      • Camera based

    • Standalone Semantic Segmentation application

      • File based

      • Camera based

    • Standalone Object Detection application

      • File based

      • Camera based

    • Auto valet parking (AVP) demo

      • semantic segmentation, Parking spot detect and Vehicle detect algorithms

      • 1 channel, 3 algo mode (AVP1 demo)

      • 3 channel, 3 algo mode - combined network for parking spot and vehicle detect (AVP2 demo)

      • 3 channel, 5 algo mode - combined network for parking spot and vehicle detect + Three task network for Semantic Segmentation, Motion Segmentation and Depth Estimation (AVP3 demo)

    • DKAZE-based Visual Localization application

    • Debug support for the ability to debug intermediate layer information from TIDL node

  • Surround view demos

    • 3D surround view using GPU on 4x 2MP 30fps live camera input

    • 3D surround view calibration application

  • 3D Surround view + AVP2 demo running simultaneously

    • 3D surround view using GPU on 4x2MP 30fps live camera input

    • 3 channel, 3 algo mode - combined network for parking spot and vehicle detect (AVP2 demo)

  • ADAS/Vision demos

    • Dense optical flow (DOF) demo

    • Stereo disparity engine demo

    • Single and multi camera to display (CSI2RX + VISS + LDC + MSC + Display) demo

    • Block based processing example kernel on C66x using UDMA/DRU

    • C7x algorithm offload demo (with DMA acceleration)

  • Perception Toolkit (PTK) Demos

    • Camera based SFM and occupancy grid mapping using Dense optical flow HW engine

    • Radar and lidar occupancy grid mapping

    • Camera SFM, radar, lidar fusion for occupancy grid mapping

  • CV Demos

    • Structure from motion

  • OpenVX target nodes

    • image pre-processing (YUV 2 RGB) nodes for DL demos

    • image post-processing and visualization nodes for deep learning, DOF, Stereo demos

    • lidar, radar, camera SFM nodes for PTK demos

    • OpenGL nodes for surround view

  • Profiling, logging and other utility APIs

  • All included MCU tasks are split between MCU2_0 (ETHFW, VPAC HWA) and MCU2_1 (DMPAC HWA), leaving MCU3_0 and MCU3_1 free on main island

4.5.1.2.2. Platform Development Kit (PDK)

  • RTOS device drivers running on R5F, C6x, C7x, A72

  • Supported drivers and modules

    • Board diagnostic library

    • ENET CPSW (2G and 9G), CPTS, SGMII/QSGMII, LWIP

    • CSL-FL (Chip support library)

    • GPIO

    • I2C

    • IPC (inter processor communication)

    • McASP

    • MMCSD with FATFS

    • OSAL

    • SBL secondary bootloader

    • SCI Client (DMSC interface)

    • SPI driver (SPI, QSPI, OSPI, Hyperflash)

    • UART

    • UDMA and DRU

    • DSS display (DSI, eDP and HDMI, BT601 discrete sync mode, m2m)

    • DSS FVID2 Writeback M2M Driver with color space conversion support

    • CSI2-RX camera - support for runtime addition/removal of channels

    • CSI2-TX

    • VPAC and DMAC (VHWA), Flexconnect (VISS->MSC for YUV420)

    • PMIC Driver for LP8764x(Hera), TPS6594x(Leo)

    • FreeRTOS Support on R5, DSPs

    • KeyWriter - SBL example application

4.5.1.2.3. MCU Software (MCUSW)

  • AutoSAR MCAL driver and demo applications running on R5F

  • AutoSAR MCAL driver for Adc, Can, CDD IPC, Dio, Eth, Gpt, Pwm, Epwm Spi, Icu & Wdg

  • MCU Demo Applications

    • CAN Profiling Application (FreeRTOS)

    • MCU Only Demo: ACTIVE to MCU ONLY to ACTIVE mode switching

4.5.1.2.4. TI Deep learning Product (TIDL) and MMALIB

  • TensorFlow Lite Runtime with Delegate API support for heterogeneous execution on ARM+C7x_MMA

  • ONNX Runtime with Execution Provider support for heterogeneous execution on ARM+C7x_MMA

  • NEO-AI-DLR support - TVM model compilation for heterogeneous execution on ARM+C7x_MMA

  • TIDL deep learning inference engine library running on C7x/MMA

  • MMALIB for accelerating convolution, deconvolution layers on MMA (used by TIDL internally)

  • Supports Caffe, ONXX, TFlite network exchange formats

  • Supported layers: Convolution, deconvolution, pooling, ReLU, Elt-wise, Inner product, Soft-max, and many more, refer TIDL user guide (LINK)

  • Support for Additional layers - Sigmoid layer, Standalone Pad layer, Color conversion (YUV420SP to RGB) Layer, Depth to Space (Pixel Shuffle) Layer

  • Custom / User defined layer Call-back to plugin user specific layers

  • TIDL network import tool and graph visualizer tool

  • Post Training Quantization options for 8-bit, 16-bit and mixed precision inference

  • Optimized performance for higher resolutions (upto 2 MP)

  • Optimized Object detection Post Processing Layer

  • Improved Model zoo for camera applications

  • Performance improvement of Object Detection Models for ONNX Runtime

  • Performance improvement of data transfer and format conversion routines between ARM and DSP for TFLite and ONNX Runtime

  • Optimal support of 5x5 depthwise convolution with stride 2

  • Support of batch processing

  • Improved Jupyter notebooks for better debug capabilities

  • Improved graph visualization for complete model with annotation of target (C7x or ARM) for each sub graph

4.5.1.2.5. TI OpenVX (TIOVX)

  • OpenVX v1.1 compliant implementation with graph pipelining and user data object extension support

  • OpenVX API on A72 running Linux/QNX

  • OpenVX target kernels on C7x, C6x, R5F, A72

  • OpenVX v1.1 C6x kernels

  • OpenVX nodes for

    • TIDL (C7x-MMA)

    • VISS (R5F)

    • LDC (R5F)

    • MSC (multi-scalar) (R5F)

    • Pyramid (using MSC) (R5F)

    • Dense Optical Flow (R5F)

    • Stereo Disparity Engine (R5F)

    • BLNF (bilateral noise filter) (R5F)

    • CSI2-RX camera (R5F)

    • CSI2-TX (R5F)

    • Display (eDP and HDMI) (R5F)

    • Display M2M (R5F)

  • OpenVX tutorials for getting started

  • PyTIOVX tools for target kernel code generation

  • Performance Analyzer tool for run time logging of OpenVX graphs

  • VISS node supports heterogeneous camera support

4.5.1.2.6. TI OpenVX (TIOVX) with ROS Development Framework

  • TI Vision Apps Library deployed on the J721e target that enables building applications directly on the target

  • Docker container environment on J721e for TIOVX + ROS development framework

  • Demo applications developed in TIOVX + ROS framework

    • Stereo vision processing node accelerated on LDC and SDE

    • CNN semantic segmentation node with TIDL running on C7x/MMA

  • Available on a public GIT repository here.

4.5.1.2.7. Imaging

  • IMX390 2MP sensor driver (30/60fps) with IQ tuning

  • AR0233 2.5MP sensor driver with IQ tuning

  • AR0820 8MP sensor driver with IQ tuning

  • TI Auto-exposure and auto white-balance algorithms

    • AEWB framework improvements to image quality and performance

  • Support for UB960 broadcast mode

  • Live Tuning Runtime interaction with PC tuning tool over Ethernet

  • Sensor framework supports heterogeneous camera support

4.5.1.2.8. Ethernet Switch Firmware (ETHFW)

  • Ethernet firmware interface API

  • Ethernet switch firmware running on R5F for CPSW9G

  • Layer 2 switching

  • FreeRTOS for Main R5F Core 0

  • lwIP TCP/IP stack integration

  • NDK integration (has been discontinued from this release)

  • Remote switch configuration server

  • GUI switch configuration tool

  • Inter-VLAN routing

  • IP next header filtering

  • Rate limiting

  • CPSW Proxy/Server layer for remote core integration

  • Integration with AUTOSAR Eth Virtual MAC driver

  • PTP support

  • MAC-only mode support

  • Shared memory based virtual Ethernet adapter

  • Multi-core broadcast/multicast traffic using software fan-out

4.5.1.2.9. TI Autonomous Driving Algorithms (TIADALG)

  • Image pre-processing APIs for color plane conversion and separation YUV to RGB for DL applications (C6x optimized)

  • Camera Pose estimation API using solve pnp technique (C6x optimized)

  • Visual localization algorithm (C6x optimized)

  • Structure from Motion algorithm

4.5.1.2.10. FreeRTOS

  • FreeRTOS for R5F, C66, C7x

  • lwIP TCP/IP stack integration for R5F

4.5.1.2.11. Code Gen Tools (CGT)

  • TI Compiler, assembler, linker for R5F, C6x, C7x

  • TI LLVM (CLANG) Compiler, assembler, linker for R5F

  • GCC compiler for A72 (needs to be downloaded separately)

4.5.2. Device Support and Validation Information

SoC

Build Host (OS)

Run Target (OS)

Test Plaform

J721E

x86_64 (Linux Ubuntu 18.04)

R5F, C6x, C7x running FreeRTOS

A72 running Linux or QNX

J721E EVM with daughter cards

PC emulation mode (1)

x86_64 (Linux Ubuntu 18.04)

x86_64 (Linux Ubuntu 18.04)

x86_64 (Linux Ubuntu 18.04)

(1) Requires download of addon package from mySecure Software

4.5.3. Upgrade and Compatibility

In this section, we only highlight a few significant changes in this SDK. For full list of upgrade and compatibility topics, please refer to individual components release notes SDK Components.

4.5.3.1. Gateway Demos

Gateway Demos are no longer included in the PSDK package starting in 08.01.00 release.

4.5.3.2. TI Arm Clang C/C++ Compiler

This is the first release which includes TI Arm Clang Compiler (tiarmclang) for the R5F cores. Prior releases used the TI Arm Compiler (armcl). There are migration steps that may be necessary for existing code running on the R5F cores. The software delivered on R5F from TI has aleady been migrated accordingly. Please review the PDK release notes (LINK) for additional links and developer pages dedicated Clang migration.

4.5.3.3. Video Codecs

RTOS based video codec support has been REMOVED from the PSDK RTOS starting in 08.00.00 release. Codecs can be accessible via Linux SDK, or by using PSDK RTOS 07.03.00.

4.5.3.4. TI-RTOS vs. FreeRTOS

FreeRTOS is the default OS for R5F libraries and binaries starting in 08.00.00 release. In 08.01.00 release, FreeRTOS is the default build and TI-RTOS (Sysbios) is no longer supported or packaged as part of the SDK. Please review the PDK release notes (LINK) for additional links and developer pages dedicated FreeRTOS migration.

4.5.3.5. NDK vs. LwIP

LwIP is the default network stack starting in 08.00.00 release. In 08.01.00 release, NDK is no longer supported or packaged as part of the SDK.

4.5.4. Known Issues

Refer to individual SDK Components release notes for known issues in each component

4.5.5. Change Requests

ID

Head Line

Original Fix Version

New Fix Version

Components

JACINTOREQ-2050

Remove gateway demos from PSDK RTOS

Gateway Demos

JACINTOREQ-2037

PMIC Safety requirements

08.01.00

08.02.00

PDK

JACINTOREQ-1861

SBL - Support to dump EEPROM

08.01.00

08.02.00

PDK

JACINTOREQ-1860

SERDES sharing feature in SBL

08.01.00

08.02.00

PDK

JACINTOREQ-1602

PDK Board Diagnostics descope from the release

08.01.00

DESCOPE

PDK

JACINTOREQ-1599

PMIC LLD Features

08.01.00

DESCOPE

PDK

JACINTOREQ-1595

XIP With OTFA Support

08.01.00

DESCOPE

PDK

JACINTOREQ-1596

C6x/C7x SafeRTOS support

08.01.00

08.02.00

PDK

JACINTOREQ-1866

Remove CDD IPC Linux Examples from SDK

MCUSW

JACINTOREQ-1567

Remove IPC SPI Master Slave Demo from SDK

MCUSW

JACINTOREQ-1842

1D FFT single/ batch on C7x

08.01.00

MMALIB

JACINTOREQ-2066

Defer Grouped convolution network (Regnetx series) optimization

08.01.00

08.02.00

TIDL

JACINTOREQ-1836

Deferral of 8.1 Requirements sub set related to performance optimization

08.01.00

08.02.00

TIDL

JACINTOREQ-2053

Defer FPD IV 36fps requirement

08.01.00

08.02.00

IMAGING

JACINTOREQ-1964

FPDLink based Multicamera Capture

08.01.00

08.02.00

IMAGING

JACINTOREQ-1949

J721E Flex OpenVX Node connect scope change

08.01.00

08.02.00

TIOVX

JACINTOREQ-2068

R5F SafeRTOS testing descope

08.01.00

08.02.00

ADASVISION

JACINTOREQ-1607

QNX Multicore Multicast Support for CPSW9G

08.01.00

08.02.00

QNX

JACINTOREQ-1961

De-scope Lidar 3D object detection

08.01.00

08.02.00

RoboEvalKit

4.5.5.1. Errata workarounds

Record ID

Summary

Workaround

ErrataID

ETHFW-795

[CPTS] GENF (and ESTF) Reconfiguration Issue

GENF/ESTF length values are read to check for earlier configuration. If already configured, current configuration is returned with a warning.

i2083

PDK-4489

RAT : Error interrupt triggered even when error logging disable set

If the RAT error logging is disabled, then the error interrupt should also be disabled by software.

i2062

PDK-6894

DDR: Valid VRef range must be defined during LPDDR4 Command Bus Training

i2160

PDK-8226

R5FSS: The same interrupt cannot be nested back-2-back within another interrupt

This can be achieved by reserving the highest priority level (Priority-0), and using that priority for a dummy interrupt (any one out of 512 interrupts available in R5), and calling this dummy interrupt inside every ISR. Further, the R5 core itself need not enter this dummy ISR (it can be masked), only the handshake with VIM around this dummy ISR needs to happen. This issue is addressed in J721E SR1.1.

i2162

PDK-8375

OSPI Boot Mode Failure with MCU2_1 Core

STOG should be left in disabled/bypass mode. This issue is addressed in J721E SR1.1.

i2121

PRSDK-6362

MMC: MMC1/2 Speed Issue

i2090

PRSDK-8660

VTM: Software reads from on-die Temperature Sensors can be corrupted

i2053

TIDL-523

C7x MMA HWA_STATUS reports errors before application starts

i2087

TIDL-533

C7x: The C7x memory system and cpu may stall indefinitely, in the presence L1D snoops caused due to streaming engine reads, cache misses from MSMC or DDR, L1D victims, and some other specific conditions in a small time window.

i2065

4.5.6. Additional Reports

For additional reports like test report, traceability refer [LINK] (or ${PSDK RTOS_PATH}/psdk_rtos/docs/additional_reports in package)