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.

[参考译文] J722SXH01EVM:使用 USB-MSC 模式进行引导

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1352147/j722sxh01evm-booting-using-usb-msc-mode

器件型号:J722SXH01EVM

您好!

我们尝试使用 USB-MSC 模式引导 EVM。  我们知道 SDK 中尚不存在此功能(截至 v9.2)、但处理器 ROM 代码应至少支持加载 tiboot3.bin、正确吗?

我们还无法做到这一点。  您能确认这是否起作用吗?

谢谢

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

    在9.2上:

    可以查看配置: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/commit/configs/j722s_evm_r5_usbmsc.config?h=ti-u-boot-2023.04&id=fc23cf83e915c5814a220baf90db629250d1f29d 

    另请注意提交消息中有关更改设备树中的属性的消息。  

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j722s/09_02_00_05/exports/docs/linux/Foundational_Components U452-Boot/UG-General-Info.html#build-u-boot 具有有关如何使用更新的配置片段构建 uboot 的参考说明

    试试吧!

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

    谢谢 Praneeth。 您的建议将帮助我们从  USB-MSC 引导第一级引导加载程序后、通过 USB-MSC 引导、但我们尚无法执行此操作。 我已经尝试过的方法:

    1. 准备了一个 USB 闪存驱动器具有相同的文件和分区存在于一个正常工作的 SD 卡。
    2. 使用 USB-C 转 USB A 型电缆将 USB 闪存驱动器连接到 EVM 上的 USB0。
    3. 使用 SW3选择了 USB 引导模式。
    4.  使用 SW3/SW4选择了 MSC 配置(在将"通道交换"设置为0和1的情况下尝试)。
    5. 使用 SW2将 USB 端口方向设置为双角色(也尝试将其设置为下行/上行)。

    为 EVM 加电后、未在任何 UART 上显示任何活动。 我们漏掉了什么吗?

    谢谢你。

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

    您好 Praneeth。  我们找到了有关勘误表 i2328的内容(请参阅下面的 E2E 上的说明)。 J722是否受到影响? 对于违反什么 USB-MSC 时序、是否有任何权变措施或更详细的说明、以便我们可以查找允许上述时序违反的器件?

    引导: 间歇性启动 USB MSC
    详细信息:USB MSC 主机引导可能会由于 ROM USB 设备枚举过程中存在的协议时序违规而失败。 USB DFU 引导不受影响。

    解决方法:无解决方法可用。  某些 USB MSC 设备可能允许此协议违规并按预期运行。 由于广阔市场的 MSC 设备的内部组件可变性、因此无法提供容差器件列表

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

    您好 Delio、

    我们已与开发团队进行了确认、并且已验证 USB MSC 引导可正常工作、但 SDK 9.2版本的引导模式未记录。

    请注意、并非所有 USB 闪存驱动程序都可以正常工作、我建议您使用 USB 2.0闪存驱动器以获得更好的工作机会。

    我们没有数据来确认上述勘误表是否适用于 J722S、因此这需要一些时间。

    谢谢。

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

    在 TI 能够支持这种引导模式之前、我建议您从所有数据表以及 TRM 和 SDK 文档中将其删除。  谢谢

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

    感谢您的建议、但不感谢。

    J722S 支持 USB MSC 引导、但如前所述、SDK 未将其记录为支持的引导模式。

    此致。

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

    您好 Praveen:

    J722S 支持 USB MSC 引导

    非常好、我们希望通过 TRM 所述的引导 ROM 使用 USB MSC 引导加载程序"第一级"引导加载程序;请帮助我们实现该目标。  我们不需要有关如何在此阶段配置、修改和编译 u-boot 的说明。

    为了检查是否成功启动、我希望观察到任何 UART 上都有输出、简单的解决方案是使用 SDK 附带的预编译 ti-boot3.bin 并从 SD 卡进行引导。

    将`ti-boot3.bin`复制到格式正确的 USB 2.0拇指驱动器上、然后将其连接到 USB0、在 EVM 上配置引导模式和 USB 端口开关、它应该会启动、 但它不能 (对我来说)。

    是否已尝试对 EVM 进行 MSC 引导? 如果是这样且确认工作正常、我们希望了解如何配置 EVM 以及测试时使用了哪个 USB MSC 器件、以便我们可以重现问题。

    仅供参考、我们不打算使用 MSC 引导进行开发、但我们要对 PCB 进行原型设计、并需要做出有关引导模式和配置的设计决策。

    谢谢你。

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

    尊敬的 Delio:

    这很棒,我们希望通过 TRM 描述的引导 ROM 使用 USB MSC 启动"第一阶段"引导加载程序;请帮助我们实现这一目标

    我们正在与团队核实验证步骤。 有了它后我们将共享它。

    在这一阶段,我们不需要有关如何配置、修改和编译 u-boot 的说明。

    如前所述、SDK 9.2不支持有关此方面的文档。 因此、它将包含在后续 SDK 发布文档中。

    在临时计划中、我们建议您查看以下链接以获得一些指导:

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/09_02_01_09/exports/docs/linux/Foundational_Components U452-Boot/UG-Memory.html#boot-to-u-boot-prompt-from-usb-storage

    另请注意、需要使用单独的 devconfig - j722s_evm_r5_usbmsc。 默认引导加载程序映像使用 默认"j722s_evm_r5_usbdfu_defconfig"和"j722s_evm_A53_defconfig"配置文件。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们正在与团队核实验证步骤。 一旦有了这些信息,我们将共享这些信息。

    谢谢 Praveen。 我们期待着团队的回应。

    在临时版中,我们建议您查看以下链接以获取一些指导:

    ACK、我们也会查看这些内容。

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

    当然,团队总部设在印度,这是一个假期,因为大选。 我们将在收到指令后立即恢复。

    谢谢。

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

    您好 Praveen:

    您对此有更新吗?

    谢谢!

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

    尊敬的 Delio、Stephen:

    第一次更新时、使用 USB MSC 引导时、TI.com 上发布的默认引导加载程序二进制文件(包括 tiboot3.bin)将不起作用、因为该二进制文件使用了默认的 USB DFU devconfig 进行构建。

    我们需要 为 R5 SPL 使用 j722s_evm_r5_usbmsc.config

    使用配置片段进行构建

    make ARCH=arm O=/R5 j722s_evm_r5_defconfig j722s_evm_r5_usbmsc.config

    电子邮件地址 :https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j722s/09_02_00_05/exports/docs/linux/Foundational_Components U-Boot/UG-General-Info.html#build-u-boot  

    DIP 开关设置

    SW3.1 = 1、SW3.2 = 1、SW3.5 = 1、SW3.7 = 1、REST 为0

    SW4.1 = 1、REST 为0

    SW2.2 = 0、SW2.3 = 0

    对于 USB MSC、我们 使用适配器将 USB 记忆棒连接到 Type-C 端口。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于 USB MSC,我们 使用适配器将 USB 记忆棒连接至 Type-C 端口。

    谢谢 Praveen。 您能否告诉我们用于测试的 USB 记忆棒的品牌和型号? 我们想尝试重现工作设置作为起点

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

    尊敬的 Delio:

    我们的团队 提到他们已经 验证了3个不同的品牌(Kingston、SanDisk & Lexar)、但他们没有"型号"信息。 因此建议尝试使用这些品牌。

    谢谢。

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

    您好 Praveen:

    我们已尝试在两个不同的 EVM 上使用各种 USB 记忆棒、包括 SanDisk、使用您的信息。  如果我们将备份引导模式设置为 UART/XMODEM、则 UART 上会出现指示 ROM 无法执行 USB-MSC 并进行备份引导的活动。

    您能否向我们展示使用 USB-MSC 方法成功加载 tiboot3.bin 后、串行端口/控制台上的输出是什么?

    还有其他想法吗?

    谢谢

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

    您好,Stephen:

    共享的控制台输出来自我们的一个内部测试。

    e2e.ti.com/.../usb_5F00_msc_5F00_bootlog.txt

    谢谢。

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

    仅供参考当我使用您建议的 sip 开关设置(我认为是正确的)尝试 MSC 引导并将 UART 引导配置为备份引导模式时、我在 UART3上看到以下内容:

    02000000011a00006a3761656e000000000048534653000001000000010002a6000000000000b2bfda979263f596a504e5d5c3ccca17e93b0d9d4c306fc72c91f83855bcfc8 

    假设此为引导 ROM 跟踪输出并忽略指示引导 ROM 已准备好接收引导加载程序的尾部`C`s、则将其分解为32位十六进制序列时的样子:


    02000000
    011a0000
    6a376165
    6e000000
    00000000
    48534653
    00000100
    00000100
    02a60000
    00000000
    b2bfda97
    9263f596
    a504e318
    5d5c3ccc
    ae17e93b
    0d9d4c30
    6fc72c91
    f83855bc
    fc8d768c
    07e27166
    7f391027
    b4043808
    d7d87784
    dfe19f89
    556c5845
    449b85fa
    ad0bc40b
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    00000000
    49c091b3
    14a52eae
    8e3CB6f
    60 b377f4
    2f1e1553
    7920cb7b
    b41ad008
    c89a0e48
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您是否可以共享 sysboot 设置? 此外、请确认构建 tiboot3.bin 的步骤。

    上面显示的是 UART 引导 SOC ID 引导序列、这意味着以下两项:

    -主引导失败,bootrom 正在尝试辅助引导。

    -由于你没有看到'CCCCCCCCC'序列(在 GP 板上看到),而是看到字母数字值,这实际上是 SOCID+otherInfo 字符串,似乎你有一个 HS-CCCc FS 板.

    谢谢。

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

    是的、我们的电路板为 FS 电路板。 这在 USB MSC 引导方面有什么区别吗?

    此外,请确认您构建 tiboot3.bin 的步骤。

    我将`Rules.make`中的`μ V uBoot_machine_R5 `变量更新为`uBoot_machine_r5=j722s_evm_r5_config j722s_evm_r5_usbmsc.config`并重新编译 u-boot、然后复制`board-support/ti-u-boot-2023.04+gitAUTOINC+f9b966cINC/ti-ti-boot3.cart/usb364/usbinc/tibootstick tiboot3-j722s-hs-fs-evm.bin`。 我还尝试使用`board-support/ti-u-boot-2023.04+gitAUTOINC+f9b966c674/build/R5/tiboot3-j722s-hs-evm.bin`进行引导、但这也不起作用。

    您能否共享 sysboot 设置? [/报价]

    如果系统引导设置是 BOOTMODE/BOOTCONFIG DIP 开关设置、请参阅下面的设置;如果不是、请让我知道我需要提供哪些信息。

    SW3和 SW4的设置如下:

    11001010 | 1011000

    SW2.2和 SW2.3设置为关闭、关闭

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是否与 USB MSC 引导有任何区别?

    理想情况下、不是。 但是、正如您所指出的、对于 HS_FS 器件、tiboot3.bin 必须包含 HS-FS 所需的正确的 tifs.bin 二进制文件 FS。

    我们将与验证了此功能的开发人员分享您提供的详细信息、并 在收到反馈后分享。

    谢谢。

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

    尊敬的 Delio:

    能否确认您是否进行了以下更改并编译了启动二进制文件?

    diff --git a/arch/arm/dts/k3-j722s-evm-u-boot.dtsi b/arch/arm/dts/k3-j722s-evm-u-boot.dtsi
    Index 55f70ef969..5a40cbfe70 100644
    --a/arch/arm/dts/k3-j722s-evm-u-boot.dtsi
    ++ b/arch/arm/dts/k3-j722s-evm-u-boot.dtsi
    @@-39,7 +39,7 @@
    };

    usb0 (&U){
    - dr_mode ="peripheral";
    + dr_mode ="主机";
    bootph-pre-ram;
    };

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

    您好、Ravi:

    您能否确认是否进行了以下更改并编译了启动二进制文件?

    是的、我做到了。 但是、我一直在问自己有关这些 提出的引导加载程序 USB MSC 配置更改的问题:虽然这些更改是成功引导 Linux 所必需的、但我不认为它们有必要 通过 UART 从 tiboot3获得某种初始输出。 我本来想将预先构建的 tiboot3.bin 从 SDK 复制到 USB 记忆棒上、让我们可以  通过查看 UART 并期望看到 u-boot 的版本横幅来检查 ROM 引导加载程序是否成功加载和执行 tiboot3.bin。

    目前 我们还没有在 UART 上看到 tiboot3的版本横幅(参见    两天前的评论  ),所以我期待与通过 USB MSC 引导加载以下阶段相关的配置更改将不起作用。

    谢谢你。

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

    尊敬的 Delio:

    是的、我们同意此声明。 将通知我们的专家  评论您的设置可能缺失的内容并作出回应。

    谢谢。

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

    尊敬的 Delio:

    您能否共享有关如何将 USB 闪存驱动程序连接到 EVM 上的 USB-C 端口的照片? 以便我们的 Ravi 可以分享他的反馈。

    谢谢。

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

    尊敬的 Delio:

    有必要使用  arch/arm/dts/k3-j722s-evm-u-boot.dtsi 以及 defconfig 中的更改构建 tiboot3.bin。 根据引导模式引脚、ROM 引导加载程序将从适当的引导源(在本例中为 USB 海量存储)中查找 tiboot3.bin 和其他引导二进制文件。 在 SDK 中预编译的 tiboot3.bin 中、USB 相关模块未启用、因此不会构建。  

    我可能发现了您面临的问题。 在笔式驱动器中创建引导分区时,需要启用可引导标记。
    如果禁用了可引导标志、则 EVM 未启动。 您可以使用任何分区管理器(如 GParted)启用可引导标志

    使用的笔式驱动器: San Disk Ultra Fair USB 3.0 - 64GB
    笔式驱动器通过 USB C 到 USB A 转换器连接到 EVM 上的 Type C 端口

    我将列出步骤  
    (1)在 USB 存储设备上启用引导标志的情况下创建 FAT16分区。

    (2) 根据 此要求将 dr_mode 从"peripheral"更改为"host"

    (3)使用 j722s_evm_r5_config j722s_evm_r5_usbmsc.config 构建引导二进制文件 、并 根据 此内容执行 DIP 开关

    (4)将引导加载程序映像(tiboot3.bin、tispl.bin、u-boot.img)复制到(1)中创建的笔式驱动器的引导分区中

    (5)通过转换器连接触控笔驱动器并启动 EVM

     

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

    尊敬的 Delio:

    我们能够验证 的上述步骤,并且能够使用 USB 闪存驱动器进行引导。 我们将共享 ti-boot.bin、以供您最后进行快速测试。

    e2e.ti.com/.../j722s_5F00_usbmsc_5F00_tiboot3.zip

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否分享有关如何将 USB 闪存驱动程序连接到 EVM 上 USB-C 端口的照片?

    我可以使用此电缆将 USB 闪存驱动器连接到 PC 上的 USB-C 端口、并且工作正常。

    我们正在共享 ti-boot.bin 以供您在最后进行快速测试。

    非常感谢。 我尝试了这个.bin 文件的 FAT16分区集作为可引导(使用 MBR 分区表)和 USB 闪存驱动器,我有,它不工作. 我订购了一个"San Disk Ultra Fair USB 3.0 - 64GB",所以我应该能够重现你的设置很快。

    谢谢你。

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

    尊敬的 Delio:

    当然、请告知我们。

    仅供参考、我们使用的是从 Amazon https://www.amazon.com/dp/B07CVX3516?_encoding=UTF8&psc=1&ref_=cm_sw_r_cp_ud_dp_HKDS08RZ8CC7N0G965MX&skipTwisterOG=1购买的适配器

    谢谢。

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

     文·拉奥, 

    我正在报告 成功的" SAN Disk Ultra Fair USB 3.0 - 64GB"。 它立即发挥了作用。

    U-Boot SPL 2023.04-00911-gc0ee12291d-dirty (May 10 2024 - 13:42:20 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--w2023.01-j722s (Kool Koa')
    SPL initial stack usage: 17080 bytes
    Trying to boot from USB
    Bus usb@31000000: Register 1000840 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@31000000 for devices... 2 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found

    将 `dr_mode`设置为`host` in  `board-support/ti-u-boot-2023.04+gitAUTOINC+f9b966c674/arch/arm/dts/k3-j722s-evm.dts` too (对于 A53引导加载程序)` tispl.bin `能够加载 u-boot.img。

    U-Boot SPL 2023.04-dirty (May 13 2024 - 18:23:03 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--w2023.01-j722s (Kool Koa')
    SPL initial stack usage: 17064 bytes
    Trying to boot from USB
    Bus usb@31000000: Register 1000840 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@31000000 for devices... 2 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    Authentication passed
    Authentication passed
    Authentication passed
    init_env from device 42 not supported!
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    NOTICE:  Upgrade Firmwares for Power off functionality
    ERROR:   Failed to get response (-19)
    ERROR:   Transfer send failed (-19)
    ERROR:   Unable to query firmware capabilities (-19)
    
    U-Boot SPL 2023.04-dirty (May 13 2024 - 18:23:19 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--w2023.01-j722s (Kool Koa')
    Trying to boot from USB
    Bus usb@31000000: Register 1000840 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@31000000 for devices... 2 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    Authentication passed
    Authentication passed
    
    
    U-Boot 2023.04-dirty (May 13 2024 - 18:23:19 +0000)
    
    SoC:   J722S SR1.0 HS-FS
    Model: Texas Instruments J722S EVM
    Board: J722SX-EVM rev E3
    DRAM:  2 GiB (effective 8 GiB)
    Core:  70 devices, 27 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:
    Warning: ethernet@8000000port@1 (eth0) using random MAC address - 4a:02:73:04:fb:ef
    eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0

    感谢您帮助我们使 USB MSC 运行 EVM。

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

    尊敬的 Delio:

    感谢您确认它在您的最后工作。 接下来关闭该线程。

    谢谢。