4.4. Release notes - 09_00_01¶
4.4.1. Features¶
Note
New features vs previous release are marked in bold
4.4.1.1. Hardware support¶
J721E Alpha and Beta EVM support with Leo and Hera PMIC processor board
J721E HS support
Fusion1 RevC daughter card with UB960 FPDLink deserializer
IMX390 2MP CSI2 image sensor + UB953 FPDLink serializer
AR0233 2.5MP CSI2 image sensor + UB953 FPDLink serializer
AR0820 8MP CSI2 image sensor + UB953 FPDLink serializer
GESI (Gateway/Ethernet Switch/Industrial) daughter card (for additional Ethernet and CAN ports)
Infotainment daughter card (for HDMI output)
4.4.1.2. Software features¶
Important
Below is a summary of key features. Refer individual SDK Components release notes for more details
4.4.1.2.1. Vision Apps (ADAS, Vision, DL demos)¶
OpenVX based demos for ADAS, Vision, deep learning applications
FreeRTOS or SafeRTOS 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, FreeRTOS, 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)
Multi channel codec demo utilizing CSI2RX + VISS + LDC + MSC + Display
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
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 domain
4.4.1.2.2. Platform Development Kit (PDK)¶
RTOS device drivers running on R5F, C6x, C7x
Supported drivers and modules
ENET CPSW (2G and 9G), CPTS, RGMII/SGMII/QSGMII, lwIP, FreeRTOS & SafeRTOS
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
2x 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
SafeRTOS Support on R5, DSPs
KeyWriter - example application
Refer to PDK release notes LINK for more details.
4.4.1.2.3. MCU Software (MCUSW)¶
AutoSAR 4.3.1 MCAL driver and MCU1_0 example applications running on R5F (TI Arm Clang Compiler).
AutoSAR MCAL driver for Adc, Can, CDD IPC, Dio, Eth, Gpt, Pwm, Epwm Spi, Icu & Wdg
MCUSW ”boot app”
4.4.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
Model Zoo : A large collection of pre-trained models
TIDL deep learning inference engine library running on C7x/MMA
Supports Caffe, ONNX, TFlite network exchange formats
Supported layers: Convolution, Deconvolution, Pooling, ReLU, Elt-wise, Inner product, Soft-max, and many more
TIDL network import tool and graph visualizer tool
Post Training Quantization options for 8-bit, 16-bit and mixed precision inference
Support for auto C7x code generation with TVM
Support for batch processing
Refer to edgeai-tidl-tools for further details
4.4.1.2.5. FFT Library for C7x/MMA (FFTLIB)¶
C7x-only kernels
C7x+MMA kernels
Note: This is packaged as a stand-alone library component, and is not integrated into any SDK level demos
4.4.1.2.6. DSP Library for C7x/MMA (DSPLIB)¶
C7x-only kernels
Note: This is packaged as a stand-alone library component, and is not integrated into any SDK level demos
4.4.1.2.7. MATH Library for C7x/MMA (MATHLIB)¶
C7x-only kernels
Note: This is packaged as a stand-alone library component, and is not integrated into any SDK level demos
4.4.1.2.8. 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 cameras
4.4.1.2.9. 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 including:
Stereo vision processing accelerated on LDC and SDE
Vision CNN semantic segmentation with TIDL running on C7x/MMA
Vision CNN object detection with TIDL running on C7x/MMA
3D obstacle detection accelerated on SDE and C7x/MMA
Visual localization accelerated on C7x/MMA
Documentation: see here.
Available on a public GIT repository here.
4.4.1.2.10. 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 cameras
Fusion2 Board support
4.4.1.2.11. Ethernet Switch Firmware (ETHFW)¶
Ethernet firmware interface API
Ethernet switch firmware running on R5F for CPSW9G
Layer 2 switching
FreeRTOS and SafeRTOS for Main R5F Core 0
FreeRTOS and SafeRTOS for Main R5F Core 1 virtual client
lwIP TCP/IP stack integration
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
Driver support for XAUI mode
Checksum offload support for lwIP interface
Scatter-gather for packet transmission
Errata i2389 software warkaround for the MDIO driver
4.4.1.2.12. 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.4.1.2.13. FreeRTOS¶
FreeRTOS for R5F, C66, C7x
lwIP TCP/IP stack integration for R5F
4.4.1.2.14. 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.4.2. Device Support and Validation Information¶
SoC |
Build Host (OS) |
Run Target (OS) |
Test Plaform |
---|---|---|---|
J721E |
x86_64 (Linux Ubuntu 22.04) |
R5F, C6x, C7x running FreeRTOS A72 running Linux or QNX |
J721E EVM with daughter cards |
PC emulation mode (1) |
x86_64 (Linux Ubuntu 22.04) |
x86_64 (Linux Ubuntu 22.04) |
x86_64 (Linux Ubuntu 22.04) |
(1) Requires download of addon package from mySecure Software
4.4.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.4.3.1. Gateway Demos¶
Gateway Demos are no longer included in the PSDK package starting in 08.01.00 release.
4.4.3.2. TI Arm Clang C/C++ Compiler¶
08.01.00 was 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.4.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.4.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.4.3.5. Enet LLD¶
Support for scatter-gather in packet transmission has been added starting in 08.05.00 release. This feature requires a change in Enet LLD DMA API, so applications using Enet LLD APIs need to be ported to use the updated API. Developers should refer to the porting steps documented in Enet LLD User’s Guide (LINK).
4.4.3.6. NDK vs. lwIP¶
lwIP is the default network stack starting in 08.00.00 release. In 08.01.00 release, NDK was no longer supported or packaged as part of the SDK.
4.4.3.7. MCU Software (MCUSW)¶
4.4.3.7.1. Ethernet¶
MCAL Ethernet (MCU CPSW_2G) and Virtual MAC (virtual client for CPSW_9G) drivers have been signficantly refactored to remove most dependencies with other SDK components, such as Enet LLD and UDMA LLD. The only remaining SDK dependency is with SCI Client driver. The driver configuration has also moved to a static-oriented allocation approach for TX channel, RX channel, Ring Accs, and other resources. Please refer to the Ethernet User Guide (LINK) chapter in the MCUSW documentation for further information about Ethernet module configuration.
Additionally, MCAL Ethernet driver (MCU CPSW_2G) now has Global Time support (packet timestamping) as well as support for link time and post-build configuration, in addition to pre-compile variant already supported in previous SDKs.
4.4.4. Known Issues¶
Refer to individual SDK Components release notes for known issues in each component
4.4.5. Change Requests¶
ID |
Head Line |
Original Fix Version |
New Fix Version |
Components |
---|---|---|---|---|
JACINTOREQ-5018 |
De-scope BAM enablement on J7 |
PSDK_8.6 |
PSDK_9.1 |
TIOVX |
JACINTOREQ-6562 |
Minimize delays in sensor and serdes config sequence |
PSDK_9.0 |
PSDK_9.1 |
IMAGING |
JACINTOREQ-6636 |
JACINTOREQ-4641-TIDL-RT shall support scatter max operator |
PSDK_9.0 |
PSDK_9.1 |
TIDL |
JACINTOREQ-6636 |
JACINTOREQ-4642-TIDL-RT shall list operator and constraints being generated from code |
PSDK_9.0 |
PSDK_9.1 |
TIDL |
JACINTOREQ-6636 |
JACINTOREQ-1147-TIDL library shall support performance improvements |
PSDK_9.0 |
PSDK_9.1 |
TIDL |
JACINTOREQ-5425 |
VLAN support in ETHFW |
PSDK_8.6 |
PSDK_10.x |
ETHFW |
JACINTOREQ-6633 |
ETHFW-2219-Issue of structures having members with Enum type when using same header files in QNX io-sock |
PSDK_9.0 |
PSDK_9.1 |
ETHFW |
JACINTOREQ-6633 |
ETHFW-2101-CPSW stat values are not seen in remoteproc trace in linux |
PSDK_9.0 |
PSDK_9.1 |
ETHFW |
JACINTOREQ-6633 |
ETHFW-1665-Enet baremetal loopback example not built |
PSDK_9.0 |
PSDK_9.1 |
ETHFW |
JACINTOREQ-5443 |
TISCI proc_configure API shall return success for a core that supports only signed boot |
PSDK_9.0 |
PSDK_9.1 |
TIFS |
JACINTOREQ-5442 |
TIFS shall allow the user to specify processor and host combinations for unsigned boot via board configuration |
PSDK_9.0 |
PSDK_9.1 |
TIFS |
JACINTOREQ-5441 |
TIFS for security management shall conform to the Trace Debug API |
PSDK_9.0 |
PSDK_10.x |
TIFS |
JACINTOREQ-5337 |
Defer EC keys + DSA signature scheme |
PSDK_9.0 |
PSDK_9.1 |
TIFS |
JACINTOREQ-6631 |
MCAL: Safety TUV Certification delayed |
PSDK_9.0 |
PSDK_9.1 |
MCAL |
JACINTOREQ-5387 |
Push out QNX Safety MRs to later releases based on LTTS Phase 2 resourcing |
PSDK_9.0 |
PSDK_9.1 |
QNX |
JACINTOREQ-6603 |
PDK 9.0 Board Library/Diag Requirement Scope Change |
PSDK_9.0 |
PSDK_9.1 |
PDK |
4.4.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-7569 |
DSS: Disabling a layer connected to Overlay may result in synclost during the next frame |
i2097 |
|
PDK-6929 |
[CPTS] GENF (and ESTF) Reconfiguration Issue |
GENF reconfiguration can only happen after a SOC hardware reset. |
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 |