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.

[参考译文] PROCESSOR-SDK-J721E:设置日期和时间问题

Guru**** 2466550 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1467011/processor-sdk-j721e-setting-date-and-time-issue

器件型号:PROCESSOR-SDK-J721E

工具与软件:

您好!

   下电上电后、我无法在 J721E EVM 通用板中设置日期和时间。 在 EVM 板中设置日期和时间后、会先设置。 但是、当电源关闭后、日期和时间将是上一个日期和时间、电池座中有一个纽扣电池。 除此之外、我不能使用 hwclock -w 命令。  

此致、

Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Rejin、

    您启用纽扣电池充电计时的实时时钟是什么? 纽扣电池的供电情况如何? SoC 将被复位。  

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    我没有启用任何实时时钟。 我的电池是3V。 电池类型 CR1220。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SoC 处于关闭状态、不能由纽扣电池供电。 通常可提供12V 的电压。 那么不能期望它节拍。

    EVM 具有一个板载 RTC。 需要启用。 最终用例是什么?  

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    当主功率(即12v)没有提供给 EVM 板时、我使用纽扣电池来维持时钟时间。 EVM 板完全由12V 电源供电。 如果提供电路板电源、则时间刻度没有问题。 我不知道上述"EVM 具有板载 RTC"的说法。 我认为板载 RTC 只能在有12V 电源时工作。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Rejin、

    https://e2e.ti.com/support/processors/f/791/t/959163

    以上常见问题解答适用于较旧的 SDK。 默认情况下、ON EVM RTC 在 SDK 中未启用。 您可以参考上述常见问题解答、并确保 RTC 正常工作。
    纽扣电池给什么供电?

    -基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    我按照这些步骤操作、但它在"使 Linux"执行时间内停止了。 附加一个屏幕截图

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您需要从 SDK 安装文件夹中执行"make linux"。

    -基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我做了命令 make linux

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    Cd ../..

    基本而言、您需要执行上述2个级别、然后:

    "make Linux"

    -基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    我按照步骤执行了"make linux"命令。 它成功创建了映像、我复制了常见问题中指定的映像和.dtb 文件。 但时间并不稳定。 当我重新启动板时、时间就变了。 我没有关闭电路板的电源。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    是否可以确保 RTC 在断电后运行?

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    关闭电源后、RTC 不运行。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rejin:

    我进入硬件专家的循环、检查纽扣电池的连接方式以及哪个 RTC 的加电方式。

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    EVM 不包括用于 RTC 功能的备用电池。  当 EVM 关闭(未上电)时、需要这样才能保持时钟。  您是否添加了正确的电池?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Robert:

    我添加了同一器件无电池(CR1220)。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    电池电压应介于1.3V 和5.5V 之间。  您是否具有用于确认电池已充电的机制(电压表)?

    我认为必须在 RTC 器件中启用电池。   

    我认为振荡器也必须处于运行状态。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Robert:

    如何在 LinuxOS 中启用此 VBATEN 位以及可以下载此文档的位置。 我在电池座终端上测量了电池电压、我可以将值读取为3.17。  

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在 RTC 控制器的数据表中定义了 VBATEN 位。  它不是德州仪器(TI)产品、因此请搜索 MCP79410以获取其文档。  Re 分配以帮助解决 LinuxOS 问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    您知道哪个 i2c 和从器件 ID 是什么吗? 您可以使用 i2cdump 工具来读取该寄存器字段、使用 i2cset 工具来写入该寄存器字段。

    www.google.com/url

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    这里我附上了一些屏幕截图。

    这里我将总线3用于原理图中指定的 i2c0 Main。

    常用处理器板原理图。 因此、我们使用的 i2c0 Main、地址可以是0x57或0x6F。

    i2cdump 命令用于获取两个地址的寄存器值。 我将器件地址设为0x6F。 检查 RTC IC 的寄存器地址0x03后、我们可以看到第3位已经是高电平。 因此输入电压已经启用。 如果我错了,请原谅我。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    我将 SD 卡操作系统更改为最新的 SDK (10.01)操作系统。 现在我可以更改时间、并可以使用 hwclock -w 命令。 当我重新启动电路板时、它显示的时间与我执行 reboot 命令的时间相同。 当我关闭系统电源2小时并启动系统时、它将在我执行 poweroff 命令时显示相同的时间。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的。 谢谢。 是、已根据寄存器说明设置了该位。

    还有其他需要为纽扣电池为 RTC 供电的设置吗?

    -基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    昨天和今天、我使用 i2cdump 命令从 MCP79410的寄存器中获取值、发现 RTC 运行良好。 我认为操作系统和 RTC 之间缺少 SYNC。 在操作系统中设置日期和时间后、它将正常工作、直到电源关闭。 开机后、提供关机命令时、它将显示相同的日期和时间。 操作系统未从 RTC 获取更新的值。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    感谢您的更新。 因此 RTC 由电池正确上电并按预期工作。

    这是一种核心 Linux 现象。 有一些在线帮助:
    https://unix.stackexchange.com/questions/285674/rtc-and-system-clock-not-in-sync

    由于我没有连接纽扣电池、因此我无法进行验证。

    -基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、

    上述 SYNC 命令也不起作用。

    静态 RTC 时间与系统时间不同。 我认为 hwclock -w 不起作用。 只有我们可以设置操作系统的时间。 我们不能做其他事情。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rejin:

    最好使用 Linux-RTC Linux 邮件列表检查这一点。 因为 RTC 现在会按预期滴答声。

    -基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    当插入纽扣电池时、RTC 开始滴答声。 但将 RTC 值保存到操作系统中是一项缺失。 这就是 SYNC 无法正常运行的原因。 采用某种方式时、有一种方法可以将 RTC 与操作系统中的 OS 同步。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    https://developer.toradex.com/software/linux-resources/linux-features/real-time-clock-rtc-linux/

    -基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    我浏览了该文档。

    显示的 RTC 时间与 i2cdump 中显示的值不同。

    我在这里附加了引导日志。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    我明白了 2个 RTC

    上述常见问题解答适用于较旧的 SDK。 默认情况下、ON EVM RTC 在 SDK 中未启用。 您可以参考上述常见问题解答并确保 RTC 正常工作。

    1) 1)以上是板载 RTC。

    2) 2)还有另一个 RTC 也称为 PMIC RTC。 被用作时源、因此您会看到一个 Δ。

    您可以禁用 PMIC RTC 节点吗?

    diff --git a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
    index c0ade7a56..9830c7fe1 100644
    --- a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
    +++ b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
    @@ -216,6 +216,7 @@
            };
     
            tps659413: pmic@48 {
    +               status = "disabled";
                    compatible = "ti,tps6594-q1";
                    reg = <0x48>;
                    system-power-controller;
    @@ -304,6 +305,7 @@
            };
     
            tps659411: pmic@4c {
    +               status = "disabled";
                    compatible = "ti,tps6594-q1";
                    reg = <0x4c>;
                    system-power-controller;
    

    看看我们现在是否可以使板载 RTC 时间与系统时间一致。

    -基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    您能否提供 SDK 8.06.01的解决方案? 因为我在 sdk10.01中发现了很多问题。 SDK08.06.01有一些可以接受的功能。  

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    您能仔细检查一下8.6是否在/system/class/rtc?下有2个 RTC 吗

    如果只有一个 RTC、那么它必须是您添加的一个。 该数字应比10.x 更容易 在8.6之后添加了 TPS RTC 支持。 请仔细检查。  

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    然后、请为板载 RTC 添加 RTC 节点。 它应该具有时间同步。

    10.x SDK 将具有 TPS RTC。 因此8.6应该更容易。

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    通过在上述文件中添加以下代码、足以添加 RTC 或我们需要修改的某些其他位置。

    diff --git a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
    index c0ade7a56..9830c7fe1 100644
    --- a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
    +++ b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
    @@ -216,6 +216,7 @@
            };
     
            tps659413: pmic@48 {
    +               status = "disabled";
                    compatible = "ti,tps6594-q1";
                    reg = <0x48>;
                    system-power-controller;
    @@ -304,6 +305,7 @@
            };
     
            tps659411: pmic@4c {
    +               status = "disabled";
                    compatible = "ti,tps6594-q1";
                    reg = <0x4c>;
                    system-power-controller;

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    上述操作是在最新的10.0 SDK 中禁用 PMIC RTC。 我想您要的是8.6 SDK。 检查是否存在 TPS*节点(如果不存在)、则在8.6中将不存在 PMIC RTC。

    另外还应根据启用板载 RTC  

    e2e.ti.com/.../quote]

    然后、我们确定只有板载 RTC 是时间源。 希望我清楚吗?

    -基尔西

    [报价]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    现在我有另一个问题。 我的 RTC 突然停止工作。 现在它不是滴答声。

    我正在附加另一张屏幕截图

    在这里、我们可以看到0x03寄存器具有 Vale 1c、但它应显示为3c。 OSCRUN 位为低电平。

    它是只读位。 因此、通过程序、我们无法更改该值。 这个问题背后的原因是什么。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此新问题来自8.6 SDK? 您是如何遇到此问题的?  

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    在 Linux make 和启动新 SD 卡后、我注意到 RTC 没有发出嘀嗒声。 我插入了最新的 SD 卡、但仍然无法正常工作。 为什么要停止 OSCRUN? 我更改了 SDK 8.06.01中的默认映像的 SD 卡映像并进行了检查。 但与先前的状态相比没有变化。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    最初运行时、它是从10.1 SDK 还是8.6进行的? 您能否验证它是否正常工作?

    您的 DTB 应具有 RTC 节点、您必须已经为板载 RTC 添加该节点。

    您能否确保 RTC 驱动程序得到证明?

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    当我们看到 RTC 正常工作时、我使用的是 SDK 10.01。 我查看了最新的 SD 卡、以便在看到 RTC 不工作时运行它。 但现在没有操作系统可以打开 RTC。

    我如何才能证明 RTC 驱动器是否正常工作。 如何验证是否添加了 RTC 节点。

    此致、

    Rejin  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    由于您在10.0上启用了 RTC、能否继续而不是在较旧的 SDK 上进行调试?

    只需禁用 PMIC RTC 并尝试上述 Linux 命令来同步系统时间。

    请告诉我。  

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rejin,

    由于您在10.0上启用了 RTC、能否继续而不是在较旧的 SDK 上进行调试?

    只需禁用 PMIC RTC 并尝试上述 Linux 命令来同步系统时间。

    请告诉我。  

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    我更改了 Linux/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi 文件中的内容、并执行 make Linux 命令。 将映像从引导位置复制到 SD 卡根/引导/位置后、 然后、我从 SD 卡引导电路板、发现与上一张没有区别。 在更改文件之前、我检查了位置/sys/class/rtc、然后只找到一个文件夹 rtc0。 更改文件内容后、我只找到之前存在的相同文件。

    请仔细阅读下面的两个屏幕截图。

    第一个映像来自最新的 SDK root/boot、第二个映像来自 SDK 8.06。 在 SDK 8.06中、映像已链接、但在最新映像中不链接。 我认为我创建的图像链接不正确。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Rejin、

    我相信您从未启用过板载 RTC。 您始终会看到 PMIC RTC。  

     确保复制 DTB 和 Linux 以及模块。  

    有一个命令  

    创建 linux_install

    这将正确安装模块。  

    确保在顶层 SDK 文件夹中的 Rules.make 文件中将 rootfs 路径正确设置为 SD 卡 rootfs 路径。  

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    我在 make linux 命令后执行了上述命令、但现在 rtc0不存在。

    现在我认为 PMIC RTC 已被禁用。 接下来该怎么做。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您需要遵循常见问题解答并添加板载 RTC 器件树节点。 使用"make Linux"进行编译、然后通过复制 dtb 和模块

    "make linux_install"命令。  

    此致、

    基尔西  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    现在它开始工作了。 RTC 现在与操作系统同步。

    非常感谢您的支持。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    太棒了! 很高兴它现在起作用了。 请分享该补丁、以备将来参考。

    -基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keerthy、您好!

    对不起我的无知。 我不知道如何创建补丁。 我将提供纠正该问题所执行的步骤。 可以吗? 我做了上述常见问题解答和我们的对话中提到的同样的事情。 我认为补丁是为要应用于 SDK 文件中的更改而创建的。

    此致、

    Rejin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    步骤应该没有问题。

    通常、您可以转到 Linux 目录并键入:

    Git 差分

    上面提供了您在 SDK 之上的所有额外代码。

    -基尔西