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.

[参考译文] AM623:将调试控制台从 UART0 重定向到定制 AM62x 板上的 UART4 后、OTP Keywriter 无 UART 输出

Guru**** 2845750 points

Other Parts Discussed in Thread: SYSCONFIG, TCA6424, AM623, AM625

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1632783/am623-no-uart-output-from-otp-keywriter-after-redirecting-debug-console-from-uart0-to-uart4-on-custom-am62x-board

器件型号: AM623
主题中讨论的其他部件: SysconfigTCA6424AM625

产品/SDK:MCU+ SDK AM62x v11.01.00.16、SysConfig v1.14.0+2667
器件: AM6232(AM62x 系列)
板: 定制板 FS 器件(电子保险丝尚未编程)
工具链: TI-ARM-CLANG
引导介质: SD 卡 (MMC1)

大家好:

我们将在基于 AM62x 的定制电路板上启动 OTP Keywriter (sbl_keywriter)。 在该板上、UART0 不路由到外部连接器。  调试控制台只能通过 UART4 (MAIN_UART4) 进行访问、UART0_DATA4 连接在引脚 VOUT0_DATA4 (焊球 Y25、RXD)和 VOUT0_Data5(焊球 Y24、TXD)上。

我们的标准引导加载程序链(tiboot3.bin、tispl.bin、u-boot.bin,内核等)已 使用 UART4 作为控制台成功启动、因此硬件路径(pinmux,收发器,连接器) 确认在 115200 波特 8N1 下工作。  在修改 Keywriter 的 example.syscfg 并重新构建后、 将无错误地生成 kw-tiboot3.bin、但 从 SD 卡启动时、我们在 UART4 上根本看不到任何输出。 我们将其重命名为 SD 卡上的 tiboot3.bin。

从库存 sbl_keywriter/am62x-sk/r5fss0-0_nortos/example.syscfg 开始、
我们进行了以下修改:

已将调试控制台从 USART0 重定向到 USART4:

  // Was:
   debug_log.uartLog.UART.$assign = "USART0";
   debug_log.uartLog.UART.RXD.$suggestSolution = "ball.D14";
   debug_log.uartLog.UART.TXD.$suggestSolution = "ball.E14";

   // Changed to:
   debug_log.uartLog.UART.$assign = "USART4";
   debug_log.uartLog.UART.RXD.$suggestSolution = "ball.Y25";
   debug_log.uartLog.UART.TXD.$suggestSolution = "ball.Y24";

2.移除了 I2C 模块(我们的电路板没有 TCA6424 IO 扩展器;VPP 为
  GPIO 控制):

  // Removed:
   const i2c = scripting.addModule("/drivers/i2c/i2c", {}, false);
   const i2c1 = i2c.addInstance();
   // ... and all i2c1.* configuration lines

删除了第二个 UART 实例(不需要 CONFIG_UART1/USART1):

  // Removed:
   const uart = scripting.addModule("/drivers/uart/uart", {}, false);
   const uart1 = uart.addInstance();
   // ... and all uart1.* configuration lines

4.已禁用 board.c 中的 VPP(将 TCA6424 代码替换为日志消息):

  void keywriter_setVpp()
   {
       DebugP_log("VPP: skipped (not yet implemented)\r\n");
   }

未修改任何其他源文件。 此构建干净整洁
“创建 Keywriter“。

我们确认 SysConfig 生成的文件包含预期值:

TI_pinmux_config.c:
PIN_VOUT0_DATA4 模式 4 (RXD)、
PIN_VOUT0_Data5 模式 4 (TXD)        ->好的

TI_drivers_config.c:
CSL_UART4_BASE (0x02840000)、
UART 实例            ->好的

TI_POWER_CLOCK_CONFIG.c:
TISCI_DEV_UART4、
    48MHz -> OK 时的 TISCI_DEV_UART4_FCLK_CLK

TI_drivers_config.h:
CONFIG_UART0 (0U)、
CONFIG_UART_NUM_Instances (1U)、无 I2C  -> OK

TI_DPL_CONFIG.c:
DebugP_uartSetDrvIndex (CONFIG_UART0)
->索引 0 -> UART4             ->好的

我们部门的一个不同团队将同一个 CPU 与另一款像我们这样使用 UART5 而不是 UART4 的产品一起使用。 对于他们、更改 example.syscfg 没有问题。

你知道我在做什么错吗?

Enrico

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

    尊敬的 Enrico:

    感谢您的查询!

    我知道、即使在将  Keywriter 的 example.syscfg 二进制文件重命名为上的 tiboot3.bin 后、也是如此 FS 类型 建议布局 您仍然完全没有看到任何消息 UART4 控制台上。  

    从硬件的角度来看、我有以下问题:

    问题 1: 您能否确认在未添加 Keywriter syscfg.example 二进制文件的情况下成功从 SD 卡执行标准引导加载程序链(tiboot3.bin、tispl.bin、u-boot.bin、kernel 等)?

    问题 2: BOOTMODE0-BOOTMODE15 引脚上的 ROM 引导模式选择值是多少?

    问题 3 在 从插入了 OTP Keywriter 的映像 SD 卡执行失败期间、是否会观察到任何 AM623 有效复位输出(RESETSTATz 输出)置为低电平有效。

    问题 4 在您的同事成功安装 AM623 处理器的 Keywriter(在不同的 SoC 中)中、OTP Keywriter 应用是否与 U-Boot SPL、U-Boot、Linux 内核或 Keywriter 共享相同的 UART5 端口 单独打印在 COM5 上、其他则打印在 COM4 上?

    期待您的反馈!

    谢谢

    此致

    Anastas Yordanov

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

    嗨、

    Q1:标准引导加载程序链工作正常。 tiboot3.bin、tispl.bin、uboot、kernel 等一切都按预期从 sdcard 引导。 我对它们进行了配置、因此它们使用 uart4 进行打印、也可以正常工作。 我删除 SD 卡中的所有内容并将 Keywriter 作为 tiboot3.bin 放置在 sdcard 上、但没有任何反应。 如果我在 SD 卡上复制正常的引导加载程序链、一切都会再次正常工作

    问题 2:BOOTMODE 引脚看起来像这样:我们有一个跳线 (MOT) 来切换初级引导。 我首先连接跳线、这意味着主引导和备用引导模式设置为 SD 卡。

     

    问题 3:我必须检查一下。 我将在一天内再次与您联系。

    Q4: 我的同事 只使用 uart5。 因此、OTP Keywriter 和所有其他引导加载程序都使用适用于它们的 uart5。 在正常引导时以及在更改后从 uart5 上的 Keywriter 查看所有打印内容。  

    这有什么用吗?

    Enrico

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

    您好 Enrico、

    我认为、根据您的意见、问题可能与有关生成的安全软件映像的一些详细信息更相关。

    成功引导刷写映像后 UART4 是否可能会被禁用。 等待问题 3 回答的另一个原因。

    另外、我假设在进行此修改后:

    您可以在驱动上述 GPIO 的另一种方法中启用 Vpp、正确吗?

    我将由我们的 AM62x OTP Keywriter 专家 — Prashant 提供有关这方面的更多提示。

    请预计他的答复可能会有一定的延迟。

    感谢您的耐心!

    此致

    Anastas Yordanov

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

    您好:

    请问您所使用的 Keywriter 版本是多少?

    另外、我认为 Keywriter 应用正在引导但卡在某个位置。 如果您有调试设置、能否请检查 Keywriter 卡住的位置?

    谢谢!

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

    嗨、

    我正在使用 otp_keywriter_am62x_09_00_00。 我没有调试设置。 我只有自定义硬件和 am625 gp 评估板。 我不知道它在哪里挂起或它是否已加载。 这就是问题所在。 我想让打印件正常工作、看看发生了什么。

    我该怎么办?  明天就会得到 RESETSTATz 输出读数。

    setVPP 函数目前已被注释掉、但我们稍后将使用 GPIO 设置 vpp 电压。 现在、我需要先得到一些输出。

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

    这可能是问题所在。 在使用 SDK v11.01 时、Keywriter 应仅与特定的 SDK 版本配合使用、即适用于 Keywriter v09.00 的 SDK v09.00。

    我们确实有最新的 Keywriter 版本、仅适用于 SDK v11.01

    https://dr-download.ti.com/authenticated/secure/software-development/application-software-framework/MD-W5I8h4voaD/09.01.00.05/otp_keywriter_am62x_11_01_00-linux-x64-installer.run?executeSecureDownload=true

    您能尝试一下吗?

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

    这解决了我的问题。 它现在可以正常工作、GPIO 控制也可以正常工作。

    感谢您的帮助!

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

    您好 Enrico、

    感谢您发送编修。

    此致、

    Sreenivasa.