2.3. Release Notes - 09_00_00¶
2.3.1. Introduction¶
This release notes provides important information that will assist you in using the PDK software package for the Jacinto family of devices. This document provides the product information and known issues that are specific to the PDK software package.
New features added / supported is listed below and defects fixed are highlighted in Fixed Issues. Also please check Upgrade and Compatibility for backward compatibility
2.3.2. What’s New¶
ID |
Description |
Module |
Supported Platforms |
---|---|---|---|
PDK-5381 |
R5-SBL - Support to dump EEPROM to shared memory |
SBL |
J721E,J7200,J721S2,J784S4 |
PDK-9656 |
Board: APIs that read from shared memory instead of EEPROM |
BOARD |
J721E,J7200,J721S2,J784S4 |
PDK-11213 |
RTOS SDK shall support HS-FS device |
COMMON |
J721E,J7200,J721S2,J784S4 |
PDK-11504 |
RTOS SDK shall support I2C: EEPROM size of 4 Mbit |
I2C |
J721E,J7200,J721S2,J784S4 |
PDK-11856 |
ARM CLANG 2.0 migration |
COMMON |
J721E,J7200,J721S2,J784S4 |
PDK-11867 |
RTOS SDK Shall support Boot time : SBL loading non-lockstep MCU R5F |
SBL |
J721E,J7200,J721S2,J784S4 |
PDK-11872 |
CSI-Rx RTOS driver shall support Error Detection - Phy, packet, line and frame level |
CSIRX |
J721E,J721S2,J784S4 |
PDK-11888 |
Tertiary Boot app for testing Linux in OSPI boot mode |
SBL |
J721S2,J784S4 |
PDK-11900 |
PDK: Report out with explanantion benchmark numbers on SBL OSPI Boot Performance |
SBL |
J721S2,J784S4 |
PDK-11913 |
Tertiary Boot app for testing Linux in SD boot mode |
SBL |
J721S2,J784S4 |
PDK-11937 |
Multi-tasking memcpy benchmark (a.k.a AUTOSAR benchmark) application should be part of the standard SDK |
CSL |
J721S2,J784S4 |
PDK-11941 |
Tertiary Boot app on HS devices |
SBL |
J721S2,J784S4 |
PDK-11950 |
70ms CAN + BIST response on GP device |
SBL |
J721E,J7200,J721S2,J784S4 |
PDK-11953 |
50ms CAN response on GP device |
SBL |
J721S2,J784S4 |
PDK-12208 |
Add example program to demonstrate firewall exception notification handling |
SCICLIENT |
J721E,J7200,J721S2,J784S4 |
PDK-12431 |
SBL shall support booting from Serial Nand driver on OSPI |
SBL |
J721S2 |
PDK-12830 |
IPC_ECHO_TESTB shall support with safertos in SPL boot flow on QNX |
IPC |
J721E,J7200,J721S2,J784S4 |
PDK-12831 |
IPC_ECHO_TESTB shall support with safertos in SPL boot flow on Linux |
IPC |
J721E,J7200,J721S2,J784S4 |
PDK-12832 |
PDK shall support eDP to HDMI adapter |
DSS |
J721E,J721S2,J784S4 |
PDK-12874 |
ATF: Shutdown the SOC with PMIC |
PM |
J721E,J7200,J721S2,J784S4 |
PDK-11880 |
FreeRTOS port shall include a default exception handler to aid in exception debug |
OSAL |
J721E,J7200,J721S2,J784S4 |
PDK-13037 |
Support for combined image boot flow in SBL for OSPI boot |
SBL |
J7200,J721S2,J784S4 |
PDK-13038 |
Support for combined image boot flow in SBL for MMCSD boot |
SBL |
J7200,J721S2,J784S4 |
PDK-13085 |
FreeRTOS LTS Migration |
OSAL |
J721E,J7200,J721S2,J784S4 |
PDK-13175 |
SDR 50 support for NAND flash |
OSPI |
J721S2,J784S4 |
PDK-13176 |
SDR166 support for NAND flash |
OSPI |
J721S2,J784S4 |
ETHFW-1175 ETHFW-1191 ETHFW-1254 ETHFW-1309 ETHFW-1312 |
CPSW Enhanced Scheduled Traffic (EST) 802.1Qbv |
ENET |
J721E, J7200, J721S2, J784S4 |
ETHFW-2168 |
Enet: Production-quality PTP stack integration |
ENET |
J721E, J7200, J721S2, J784S4 |
2.3.3. Upgrade and Compatibility¶
2.3.3.1. FreeRTOS¶
OSAL now implements non-recursive version of Mutex. This was done to align with implicit meaning of Mutex, the interface remains unchanged.
2.3.3.2. OSAL¶
QueueP_get
API in the Baremetal OSAL returns NULL when the provided queue is empty.The API earlier returned the queue handle when empty queue handle gets passed.
For SafeRTOS, cache is being enabled in the startup code instead of OS_start(__mpu_init).
Enabling cache in startup code reduces time for .bss initialization.
Application should be updated to use xEnableCache=pdFALSE in OS_start.
SemaphoreP_reset API is removed from OSAL as the underlying FreeRTOS and SafeRTOS kernel do not support the same.
2.3.3.3. OSPI¶
DDR PHY tuning algo is updated to support both full and half cycle lock modes:
phyLockCycle
parameter is provided inOSPI_v0_HwAttrs
for user to configure PHY lock cycle mode.OSPI driver by default uses half clock cycle lock.
User needs to reduce the tuning window ranges to half, when they use full cycle lock mode.
2.3.3.4. TI Arm Clang (R5 Compiler)¶
Updated ti-cgt-arrmllvm(clang) compiler from version 1.3.0 to version 2.3.1
Link Time Optimization feature (-flto) is enabled for release builds
2.3.1 ti-cgt-armllvm compiler exposes errors that were not reported by previous compiler and user needs to fix these to ensure a successful compilation:
If the variable is set but not used then compiler reports an error
Wild cards are not supported in the output section of linker files
For more details, refer TI ARM CLANG Usage and Migration Guidelines
2.3.3.5. Build¶
PDK is updated to remove below warning suppression flags for R5 builds:
-Wno-unused const variable
-Wno-unused variable
-Wno-missing braces
-Wno-macro redefined
-Wno-main-return-type
-Wno-empty-body
-Wno-sometimes-uninitialized
-Wno-absolute-value
-Wno-parentheses-equality
-Wno-inconsistent-missing-override
-Wno-self-assign
-Wno-ignored-attributes
-Wno-pointer-sign
-Wno-ti-macros
-Wno-format-security
2.3.3.6. Sciclient¶
Sciclient has dependency on the board library from this release.
PMIC shutdown feature is implemented by sciclient for which it uses Board_pmPowerOff API which is part of board library.
Applications should be modified to include board dependency to ensure the build
2.3.3.7. Enet¶
New gPTP stack is integrated with Enet LLD, refer to Enet LLD TSN User’s Guide. Previous stack supported in SDK 8.x and earlier releases has been removed.
gPTP stack is supported on mcu2_0 core only.
gPTP stack is supported in FreeRTOS only. No SafeRTOS support.
See Enet TSN GPTP Example for further information about gPTP example app.
CPSW EST 802.1Qbv support has been added in this release. Changes in Enet TAS APIs do not have any impact as EST feature was not previuosly supported.
Refer to Enet EST/TAS Support section for further information about EST/TAS implementation for CPSW using Enet LLD. See Enet EST Example for more information about CPSW EST example app.
2.3.4. Device Support¶
J721S2 GP SR1.0, J721S2-HS-SE SR1.0, J721S2-HS-FS SR1.0 (BOARD=j721s2_evm)
Associated TIFS versions:
TIFS name
J721S2 SR revision
tifs.bin
SR1.0
tifs-hs-enc.bin
SR1.0 HS-SE
tifs-hs-fs-enc.bin
SR1.0 HS-FS
2.3.5. Validation Information¶
For details on the validated examples refer to the platform specific test report available here.
2.3.6. Tool Chain Information¶
Component |
Version |
---|---|
FreeRTOS Kernel |
10.5.1 |
lwIP stack |
2.1.2 |
lwIP-contrib |
2.1.0 |
TI ARM CLANG |
2.3.1.LTS |
GCC ARM code generation tools |
ARCH64 9.2-2019.12 |
CGT XML Processing Scripts |
2.61.00 |
Component |
Version |
---|---|
TI C7x code generation tools |
3.1.0.LTS |
2.3.7. Change Request¶
Refer to monthly roadmap slides for changes in the planned features
2.3.8. Fixed Issues¶
ID |
Head Line |
Module |
Affected Versions |
Affected Platforms |
---|---|---|---|---|
DSS: rxBuffer range check missing in DP_mailbox |
DSS |
08.04.00 |
J721E,J721S2,J784S4 |
|
[DSS/eDP]: Busy Waiting in eDP driver causes hang |
DSS |
08.04.00 |
J721E,J721S2,J784S4 |
|
[OSAL]: Mutex implementation uses recursive mutex of FreeRTOS |
OSAL |
08.05.00 |
J721E, J7200, J721S2,J784S4 |
|
[UART]: Driver does not support stop/timeout condition |
UART |
08.05.00 |
J721E, J7200, J721S2,J784S4 |
|
[SafeRTOS] UDMA UT app doesnot work in MMCSD boot |
OSAL |
08.06.00 |
J721E, J7200, J721S2,J784S4 |
|
SemaphoreP_reset does not work with SafeRTOS |
OSAL |
08.06.00 |
J721E, J7200,J721S2,J784S4 |
|
[TDA4VH]: HLOS SBL fails to boot combined appimage |
SBL |
08.05.00 |
J721S2,J784S4 |
|
PDK app takes more time to be loaded on Safertos when compared to Freertos |
OSAL |
08.05.00 |
J721E, J7200, J721S2,J784S4 |
|
[CSITX] vBlank/hBlank values from app are not passed to CSL |
CSI2TX |
08.05.00 |
J721E,J721S2,J784S4 |
|
OSPI PHY Tuning - Finding Rx Min for a given Tx Window |
OSPI |
08.02.00 |
J721E, J7200, J721S2,J784S4 |
|
CSL: OSPI: HW_AUTO_POLL macros are misleading |
CSL, OSPI |
08.06.00 |
J721E, J7200,J721S2,J784S4 |
|
J784S4/J721S2: SBL fails to initialize DDR after warm reset |
BOARD,SBL |
08.06.00 |
J721S2,J784S4 |
|
[SBL] SBL_DCacheClean does not writeback full cache contents |
SBL |
08.06.00 |
J721S2,J784S4 |
|
[CSIRX]: YUV422 capture is not working correctly |
CSI2RX |
08.06.00 |
J721E,J721S2,J784S4 |
|
DMA benchmarks for OCM <-> DDR missing in SDK datasheet |
UDMA |
08.06.00 |
J721E, J7200,J721S2,J784S4 |
|
J721S2: Master Firewall Ids Incorrect in Header file |
CSL |
08.06.00 |
J721S2 |
|
OSPI PHY pipeline mode does not work with NON DMA or NON Cache mode |
OSPI |
08.05.00 |
J721E, J7200,J721S2,J784S4 |
|
[Board]: PLL Init status is overwritten in Board_PLLInitMain() & Board_PLLInitMcu() |
BOARD |
08.06.00 |
J721E, J7200,J721S2,J784S4 |
|
TimerP_getTimeInUsecs() race condition issue |
OSAL |
09.00.00 |
J721E,J7200,J721S2,J784S4 |
|
Correct timeout unit of SemaphoreP_pend() |
OSAL |
09.00.00 |
J721E,J7200,J721S2,J784S4 |
|
PMLIBClkRateSet API fails after payload removal from sciclient header file |
SCICLIENT |
09.00.00 |
J721E, J7200,J721S2,J784S4 |
|
[FreeRTOS/SafeRTOS] Remove incomplete SemaphoreP_reset implementation from OSAL |
OSAL |
08.06.00 |
J721E,J7200,J721S2,J784S4 |
|
[CSITX] Delete API uses same Semaphore lock resulting in hang |
CSI2TX |
08.06.00 |
J721E,J721S2,J784S4 |
|
[CSITX]: Event UnRegister is not getting called in the delete API |
CSI2TX |
08.06.00 |
J721E,J721S2,J784S4 |
|
SBL combined appimage boot flow diagram missing in SDK |
SBL |
08.06.00 |
J721E,J7200,J721S2,J784S4 |
|
[Safertos OSAL] Safertos configures MPU with MPU enabled which causes aborts |
OSAL |
08.06.00 |
J721E,J7200,J721S2,J784S4 |
|
Assertion from EnetMcm_coreAttach API |
ENET |
08.01.00 |
J721E, J7200, J784S4 |
|
ETHFW-2166 |
Enet: lwipif library built with optimizations in ETHFW ‘debug’ builds |
ENET |
08.06.00 |
J721E, J7200, J721S2, J784S4 |
2.3.9. Known Issues¶
ID |
Head Line |
Module |
Reported in Release |
Affected Platforms |
Impact |
Workaround in this release |
---|---|---|---|---|---|---|
C7x context switch/restore does not happen correctly with Safertos |
OSAL |
08.05.00 |
J721E, J721S2,J784S4 |
snprintf() usage might cause aborts |
snprintf() calls in IPC RTOS echo app has to be protected with Hwip_disable and Hwip_restore. |
|
CSI-TX takes longer time to queue and dequeue in driver than expected. |
CSI2TX |
08.04.00 |
J721E, J721S2,J784S4 |
CSITX performance doesnot meet threoretical performance at 2.5 GBPS |
NA |
|
J721S2/J784S4: Main2MCU IRQ Router allocations fail for output lines 32 to 41 |
SCICLIENT |
08.05.00 |
J721S2,J784S4 |
Cannot reconfigure 32 to 63 range of the MAIN2MCU Interrupt Router |
NA |
|
Sciserver not building on windows environment |
SCICLIENT |
08.06.00 |
J721E,J721S2,J784S4 |
Sciserver doesnot build on windows environment |
NA |
|
[FreeRTOS]: Variable overflow in LoadP_getCPULoad API |
OSAL |
08.06.00 |
J721E,J7200, J721S2,J784S4 |
LoadP_getCPULoad overflows if variable goes over 32-bit |
NA |
|
[SafeRTOS]: Port does not support post_cinit() |
OSAL |
08.06.00 |
J721E,J7200, J721S2,J784S4 |
Application cannot implement post_cinit API |
NA |
|
C7x cannot run new image after running Clear CLEC Secure Claim image |
SBL |
08.06.00 |
J721E,J721S2,J784S4 |
C7x app image cannot start to run after running Clear CLEC Secure Claim image |
Store DSP1_C7X_ID entry point in sbl_rprc.c ,and during secure boot , check if entry point exists and jumps to DSP1_C7X_ID entry point. |
|
[DSS-WB] Path does not support RGB888 format |
DSS |
08.04.00 |
J721E,J721S2,J784S4 |
Cannot use DSS WB writeback path for RGB888 |
NA |
|
J784S4: SciClient PVU Interrupt Routing to GIC failing |
SCICLIENT |
08.06.00 |
J721S2,J784S4 |
Cannot program PVU interrupts with sciclient |
When programming the interrupt router manually using direct register writes the PVU interrupts are generated and handled on the A72 as expected. |
|
Cable connect/disconnect can cause CPSW unrecoverable condition |
ENET |
08.x.00, 09.00.00 |
J721E, J7200, J784S4 |
Packets will be dropped on the affected MAC port |
None. Device reboot is required |
|
EthFW will get stuck waiting for link if link partner is not ready |
ENET |
08.x.00 |
J721E, J7200, J721S2, J784S4 |
Indefinite polling could happen in SGMII link is not up |
Link partner should be available when port is open. |
|
SGMII: Wrong RGMII clock after changing SERDES refclk of 156.25MHz |
ENET |
08.06.00, 09.00.00 |
J7200 |
RGMII and SGMII port configuration cannot exist |
None. |
|
enet: mdio: Failure in PHY reg read in manual mode in ‘debug’ profile |
ENET |
09.00.00 |
J721E, J7200, J721S2, J784S4 |
MDIO operations will fail |
Workaround integrated in SDK 9.0 |
2.3.10. Limitations¶
2.3.10.1. PDK¶
PDK examples do not support SMP mode. Some of examples still support build in SMP mode but these binaries are not supported or validated.
TI Clang compiler does not enable O3 optimization level and Thumb2 mode which were enabled by default with TI ARM CGT compiler. This has an impact on driver throughput. E.g. Ethernet performance has reduced by ~20% on J721S2
The PMU counter overflow is not handled in Baremetal for use of CycleprofilerP APIs or the TimerP_getTimeInUsecs API.
Applications can periodically use the CycleprofilerP_refreshCounter to check overflow and refresh the higher bits of the PMU counter.
2.3.10.2. ENET¶
Scatter-gather functionality is currently supported only for packet transmission.
gPTP stack is supported only in FreeRTOS.
2.3.10.3. SafeRTOS¶
OSAL APIs namely, HwiP_disable and HwiP_restore can only be called from a privileged mode. These APIs will give an assertion error for an unprivileged context.
When snprintf is interrupted by an ISR, C7X core may crash while returning from the ISR.
As a workaround, snprintf can be protected with Hwip_disable() and HwiP_restore() to disable the interrupts.