2.1. Release Notes - 08_00_00¶
2.1.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.1.2. What’s New¶
ID | Description | Module | Supported Platforms |
---|---|---|---|
PDK-9782 | PDK OSAL: Support for SW Timer, Mailbox, Mutex, Heap and Load modules | OSAL | J721E, J7200, AM65xx |
PDK-9369 | PDK OSAL Support for FreeRTOS on R5F | OSAL | J721E, J7200, AM65xx |
JACINTOREQ-1429 | PDK R5F Drivers Migration to support FreeRTOS | ALL | J721E, J7200, AM65xx |
PDK-9679 PDK-9678 | Uniflash Update for XIP Flow and XIP Flashing Flow update | COMMON | J721E, J7200, AM65xx |
JACINTOREQ-1212 | Enet LLD: Integrate open source LWIP TCP/IP stack | Enet | J721E, J7200, AM65xx |
2.1.3. Upgrade and Compatibility¶
2.1.3.1. FreeRTOS¶
See FreeRTOS Chapter for more details.
2.1.3.2. lwIP¶
This release introduces lwIP TCP/IP stack support for AM65xx on R5F cores. lwIP is supported and validated with FreeRTOS, it’s not supported on TI-RTOS (SysBIOS).
Enet LLD implements the lwIP driver interface which enables lwIP stack to run transparently on top of the Ethernet peripherals supported by Enet driver. Enet LLD provides a lwIP example application which showcases lwIP integration on peripherals supported by Enet driver, where user can run tests such as ping, UDP/TCP echo and iperf. This example supports DHCP and static IP. For more information, see Enet LLD examples section.
lwIP stack is enabled for CPSW_2G and ICSSG Dual-MAC peripherals, ICSSG Switch peripheral is currently not supported.
This is the last release with TI NDK TCP/IP stack support. Enet LLD NIMU example has been validated as well on supported cores in this release. TI NDK stack support will be scoped out starting from next release.
2.1.3.3. OSAL¶
As part of FreeRTOS Migration, following new OSAL modules are added
- ClockP <= SW Timer
- MailboxP <= Software Mailbox
- MutexP <= Mutex
- HeapP <= For creating arbitrary heaps
- LoadP <= Task / CPU Load measurement [FreeRTOS Only]
Also following are the updates for existing OSAL modules.
- EventP
- New API EventP_wait()
- EventP_pend() supports only SysBIOS. This will be obsolete in next release. Migrate to new similar API EventP_wait()
- QueueP
- Header file is renamed to QueueP.h from Queue.h
- Following OSAL Queue APIs supports only SysBIOS and will be obsolete in next release. Migrate to new QueueP APIs
Old API New API Osal_Queue_Handle QueueP_Handle Osal_Queue_Elem QueueP_Elem -NA- QueueP_Params -NA- QueueP_Params_init Osal_Queue_construct + Osal_Queue_handle QueueP_create -NA- QueueP_delete Osal_Queue_put QueueP_put Osal_Queue_get QueueP_get Osal_Queue_empty QueueP_isEmpty
2.1.3.4. DDR¶
2.1.3.5. XIP¶
A new twin appimage bootflow has been introduced. There is one appimage for RAM sections and one appimage for xip sections.
- For each CPU, the compiler+linker toolchain is used to create the application .out “ELF” file which can be loaded and run via CCS
- The below “post build” steps are then used to convert the application .out into a “flash” friendly format - For each CPU, out2rpc is used to convert the ELF .out to a binary file containing only the loadable sections. This is called a RPRC file. - For each CPU, xipGen is used to split this RPRC file into two RPRC files. - One RPRC, containing the section that during boot need to be loaded to RAM - Second RPRC, containing the section that during boot are not loaded to RAM but are instead “eXecuted In Place”, i.e XIP - multiCoreGen is then used to combine all the non-XIP RPRC files per CPU into a single .appimage file which is a concatenation of the individual CPU specific RPRC files. - multiCoreGen is used again to combine all the XIP RPRC files per CPU into a single .appimage_xip file which is a concatenation of the individual CPU specific RPRC XIP files.
- This .appimage and .appimage_xip is then flashed to the EVM using Uniflash
- Upon booting, the SBL interpets the .appimage and loads the RAM sections into respective memory.
- The .appimage_xip contains the sections that are executed in place.
See XIP Programming Guide for more details.
2.1.3.6. SMP mode¶
- SMP Support is de-scoped and PDK Examples will not support execution in SMP mode
2.1.3.7. Board Diagnostics¶
- Board diagnostics stress test is not supported
2.1.3.8. PCIe, USB¶
2.1.4. Device Support¶
AM65XX SR1.0 SR2.0, SR2.1 and HS (BOARD=am65xx_evm)
sysfw name AM65xx SR revision sysfw.bin SR1.0 sysfw-hs-enc.bin SR1.0 HS sysfw_sr2.bin SR2.0 & SR2.1 sysfw_sr2-hs-enc.bin SR2.0 HS & SR2.1 HS
2.1.5. Validation Information¶
For details on the validated examples refer to the platform specific test report available here.
2.1.6. Tool Chain Information¶
Component | Version |
---|---|
FreeRTOS Kernel | 10.4.3 |
Sys Bios | 6_83_02_07 |
XDC Tools | 3_61_04_40_core |
lwIP stack | 2.1.2 |
lwIP-contrib | 2.1.0 |
Network Development Kit (NDK) | 3_80_00_19 |
Network Services for NDK (NS) | 2_80_00_17 |
TI ARM R5F code generation tools | 20.2.0.LTS |
PRU code generation tools | 2.3.3 |
GCC ARM code generation tools | ARCH64 9.2-2019.12 |
CGT XML Processing Scripts | 2.61.00 |
System Analyzer (UIA Target) | 2_41_00_01 |
2.1.7. Change Request¶
ID | Head Line | Original Fix Version | New Fix Version |
---|---|---|---|
JACINTOREQ-1518 | PDK: R5 SafeRTOS CPU support descope | 08.00.00 | 08.01.00 |
JACINTOREQ-1577 | PDK : PCIe : SSD EP scope change | 08.00.00 | 08.01.00 |
2.1.8. Fixed Issues¶
ID | Head Line | Module | Affected Versions | Affected Platforms |
---|---|---|---|---|
PDK-9748 | USB : 3.0 : Hagiwara drive : fails to enumerate as 3.0 : once in 250 times average | USB | 07.00.00 | AM65xx |
PDK-8166 | MMCSD read/write failure with 1.8V - no I/F to program timings params | MMCSD | 07.00.00 | AM65xx |
PDK-9594 | UDMA: Event Disable and Enable Failure for shared events | UDMA | 07.03.00 | AM65xx |
PDK-9313 | ICSSG EMAC diagnostic test failure | BOARD | 07.01.00 | AM65xx |
PDK-9750 | USB: USB3.0 enumeration failing for some of the adapters | USB | 07.00.00 | AM65xx |
PDK-9717 | SA2UL : Demo application is not functional | SA2UL | 07.03.00 | AM65xx |
2.1.9. Known Issues¶
ID | Head Line | Module | Reported in Release | Affected Platforms | Impact | Workaround in this release |
---|---|---|---|---|---|---|
PDK-6975 | Pulsar (R5F) : High priority interrupt is missed by VIM | CSL, OSAL | 07.00.00 | J721E, J7200, AM65xx | Baremetal implementation is pending | Use SYSBIOS instead of baremetal |
PDK-8320 | ICSS V1 CSL not up to date with ICSSG | CSL | 07.00.00 | J721E, AM65xx | None | Patch available. Will be included in next release |
PDK-10134 | USB : 3.0 : Hagiwara drive : Fails to enumerate as 3.0 : few times in 10000 iterations | USB | 07.00.00 | AM65xx | Hagiwara USB 3.0 devices may not be enumerated as 3.0 | Consider operating in 2.0 mode |
PDK-9875 | ICSSG Diag test failure when run for multiple iterations | BOARD | 07.03.00 | AM65xx | None | None |
PDK-6758 | PCIe qos examples fails in GEN3 | PCIe | 07.00.00 | AM65xx | GEN 3 mode is not stable | Use GEN 2 mode |
PDK-9751 | PCIE-0 : Gen 3 : Intermittent failures during Gen 3 mode on AM65x PG2.0 | PCIe | 07.00.00 | AM65xx | GEN 3 mode is not stable | Use GEN 2 mode |
PDK-10380 | PCIE_Sample_Example is not working with uart boot for mpu core | PCIe | 08.00.00 | AM65xx | None | Test can be used with CCS |
PDK-10348 | PCIe Diagnostics test is failing for MPU core | PCIe | 08.00.00 | AM65xx | None | None |
PDK-10381 | USB2 Device diagnostic test failing for mcu core | USB | 08.00.00 | AM65xx | Device does not enumerate as USB using diagnostic test | None |
PDK-10388 | PM Voltage Read test fails | PM | 08.00.00 | AM65xx | None | None |
PDK-10389 | SBL booting u-boot and linux is failing for OSPI Boot | SBL | 08.00.00 | AM65xx | None | None |
PDK-8841 | csl_cbass_baremetal_test_app fails on QoS Test | CSL | 07.01.00 | AM65xx | None | None |
PDK-8846 | [DSS Test]Sync-lost is observed for RGB24/BGR24 test-cases | DSS | 07.01.00 | AM65xx | No images displayed on the screen / flicker | None |
ETHFW-1810 | icssg: RX ch teardown timed out observed in NIMU restart | ENET | 07.03.00 | AM65xx | Low - observed during shutdown sequence | None |
ETHFW-1747 | enet: icssg: Incorrect rxTxTotalByte in unicast test | ENET | 07.03.00 | AM65xx | Low - network statistics, no functional impact | None |
ETHFW-1767 | timesync: v2: TimeSync PTP restart is not supported | ENET | 07.03.00 | AM65xx | Impacts only applications that require stack restart | None |
ETHFW-1809 | DUT stopped forwarding frames in one direction | ENET | 07.03.00 | AM65xx | Firmware doesn’t handle long burst of packets at line rate | None |
2.1.10. Limitations¶
2.1.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.
2.1.10.2. ENET¶
- lwIP stack integration doesn’t support checksum hardware-offload feature.
- ICSSG integration with lwIP and NDK is done only for ICSSG Dual-MAC. Driver level support is available for Dual-MAC and Switch.
- TimeSync PTP integration is done only for ICSSG-Dual MAC.
- TimeSync is possible only in one MAC port at a time.
- Different VLAN modes are not supported in Dual-MAC mode (within given ICSSG MAC ports). Both MACs should either be in VLAN aware or VLAN unaware mode.
- Independent VLAN learning is not supported in Dual-MAC mode.