This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM4376: AM437x Year 2038 resolved on 9.03.05?

Part Number: AM4376


Tool/software:

Hello Im looking for confirmation if the Issue with TI SDK not allowing to compile/support the year 2038 has been fixed on this new SDK release (9.03.05) ?  

There are some posts from 10 months or more were we were asked to wait until new release

  • Hello Francisco,

    Good question. Please refer to this page for more details:
    https://software-dl.ti.com/processor-sdk-linux/esd/AM437X/09_03_05_02/exports/docs/linux/How_to_Guides/Target/How_to_fix_y2k38.html

    High-level summary:

    In order for a system to be y2038-friendly, ALL code running on the processor needs to use 64 bit variables to store UNIX time. That includes both code provided by TI, AND code written by the customer. So regardless of what TI does, customers need to check their own code and do their own tests to ensure that the final design is y2038 safe.

    Unfortunately, we were not able to get the yocto Scarthgap framework ready before SDK 9.3, so SDK 9.3 is built with the Kirkstone filesystem, which is NOT Y2038 friendly. Please refer to the "Surviving Y2038" presentation that is linked on the above page for more details.

    The upcoming SDK 11 in 2025 WILL be on Scarthgap by default, which will make it much easier to generate a y2038 friendly filesystem.

    Regards,

    Nick

  • Thank you for such detailed explanation on the link.  The presentation is a must for developers on our internal organization.  Just another question, you mentioned SDK 11, but right now AM437x is on 9.3.5, will the 10.x.x be skipped or we can expect both (10.x and 11.x) on this year?

  • Hello Francisco,

    Glad that is helpful! We do not usually link to non-TI resources in our documentation, but that "Surviving Y2038" presentation (I think it is by the guy in charge of the Yocto project?) was so good we thought it was important to point customers to.

    SDK 9.x was on Linux kernel 6.1, while SDK 10.x was on Linux kernel 6.6. We are going to skip Linux kernel 6.6 for AM335x/AM437x, so we will do just a single official release in 2025 on SDK 11.x / Linux kernel 6.12.

    Note for future readers who care about PRU Ethernet features

    PRU Ethernet was descoped in SDK 9.1 & 9.3, but generic PRU Ethernet will be supported again in the Linux kernel 6.12 release! You can expect, at minimum, feature parity with SDK 8.2 / Linux kernel 5.10 (plus some extras, like improving throughput back to SDK 6.3 / Linux kernel 4.9 speeds).

    In addition to support for dual EMAC / single EMAC at 100Mbit link, the team is working on additional PRU Ethernet features that may or may not make it into the SDK release. These features may be accessed after the official SDK release through the incremental CICD releases. If you have questions, feel free to create a new e2e thread to discuss with us.

    Regards,

    Nick