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-AM64X:程序(.out 文件)在 main ()函数上未挂起

Guru**** 2487425 points
Other Parts Discussed in Thread: SYSCONFIG, AM67

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1433791/processor-sdk-am64x-program-out-file-is-not-suspend-on-main-function

器件型号:PROCESSOR-SDK-AM64X
主题中讨论的其他器件:SysConfigAM67

工具与软件:

您好!

我可以对 AM64x 有疑问吗?

我的客户正在调试自己的启动软件。

-基于此项目的定制软件。[mcu_plus_sdk_am64x Dir]\examples\drivers\sciclient\sciclient_ccs_init

-客户点:仅禁用 DDR 初始化

如果在 CCS 中手动加载.out 文件、则它不会挂起 main()函数。

在客户请求中、

如果 R5F CPU 寄存器"CPSR"为0x1F3 (由 CCS 手动写入),它不会在 main ()函数上挂起。

如果 "CPSR"为0x1D3、则它将在 main ()函数上挂起。

——

问题1.

我相信这个问题在 main ()函数之前会发生任何错误。 (因为未输出称为"CIO 控制台"的日志输出)

我怀疑 DDR 初始化、链接器设置...

您是否对其他案例的信息或想法有任何疑问?

——

问题2.

我认为 CPSR 位5取决于另一个寄存器值。

在 ARM 手册中、它的写入取决于 SCTLR TE 位。

我的客户相信该位是通过 BOOTMODE 引脚配置的。

是这样吗?

如果是"无引导模式"、该位的值是多少?

谢谢!

Gr

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

    您好!

    指定的专家目前不在办公室、请预计下周前回复。

    感谢您的耐心。

    此致、

    Vaibhav

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

    您好、GR、

    感谢您的耐心。

    您可以暂停 CPU 并检查 CPU 正在执行哪个指令吗?

    此致、

    Tushar

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

    尊敬的 Tushar:

    我附上客户的结果。

    CPU 正在执行 LDR PC、undefined_addr。

    我认为我的客户不会通过 SDK 定制编译器设置。

    此致、

    Gr

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

    您好、GR、

    我已经尝试上述操作、从 SysConfig 中删除 DDR 部分并重建工程。  

    我能够在 main 函数处停止程序。

    您能否确认、您使用的是 HSFS 还是 GP 器件? 在 HSFS 器件上、无法进行引导、客户必须坚持使用 DEV 引导模式。

    此致、

    Tushar

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

    尊敬的 Tushar:

    感谢您的支持。

    我的客户使用开发引导模式 BOOTMODE[7:3]=01111。

    这仅发生在我客户的客户定制板上。 (它不是我们的羡慕)

    您有什么想法来查找和解决问题吗?

    此致、

    Gr

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

    您好、GR、

    在客户定制电路板上、他们 在运行默认时会遇到任何问题  scilicient_ccs_init 而无需进行任何修改?

    此致、

    Tushar

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

    尊敬的 Tushar:

    在客户定制电路板上、他们在 运行默认设置时遇到任何问题  scilicient_ccs_init 不进行任何修改?[/QUOT]

    是的、probrom occor 具有默认的.out 文件。

    但是、我的客户正在使用 EVM 中的另一个 DDR 器件型号、因此 DDR 初始化时应该会出错。

    您是否对问题2有答案?

    [报价 userid="524012" url="~/support/processors-group/processors/f/processors-forum/1433791/processor-sdk-am64x-program-out-file-is-not-suspend-on-main-function "]

    问题2.

    我认为 CPSR 位5取决于另一个寄存器值。

    在 ARM 手册中、它的写入取决于 SCTLR TE 位。

    我的客户相信该位是通过 BOOTMODE 引脚配置的。

    是这样吗?

    如果是"无引导模式"、该位的值是多少?

    [报价]

    [其他]如果是 DEV-BOOT-MODE、该位的值是多少?

    此致、

    Gr

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

    您好、GR:

    但我的客户正在使用 EVM 的另一个 DDR 器件号、因此 DDR 初始化时应该出错。

    因此、我假设客户能够在 main()函数中停止默认的二进制文件、但由于 DDR 初始化问题、无法执行二进制文件。

    但在尝试加载修改后的二进制文件(删除 DDR)时,程序不会在 main()函数停止。

    上述理解是否正确?

    [报价 userid="524012" url="~/support/processors-group/processors/f/processors-forum/1433791/processor-sdk-am64x-program-out-file-is-not-suspend-on-main-function/5510259 #5510259"][additional]如果是 dev-boot-mode、此位的值是什么?

     用于 DEV 引导模式的 SCTLR TE 位的值为0。

    此致、

    Tushar

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

    Tushar、您好!

    [报价 userid="16414" url="~/support/processors-group/processors/f/processors-forum/1433791/processor-sdk-am64x-program-out-file-is-not-suspend-on-main-function/5515889 #5515889"]

    因此、我假设客户能够在 main()函数中停止默认的二进制文件、但由于 DDR 初始化问题、无法执行二进制文件。

    但在尝试加载修改后的二进制文件(删除 DDR)时,程序不会在 main()函数停止。

    上述理解是否正确?

    [报价]

    是的、您的理解是正确的。

    我们应该在客户环境中检查哪些内容来解决此问题?

    [报价 userid="16414" url="~/support/processors-group/processors/f/processors-forum/1433791/processor-sdk-am64x-program-out-file-is-not-suspend-on-main-function/5515889 #5515889"]
    [其他]如果是 DEV-BOOT-MODE、该位的值是多少?

     用于 DEV 引导模式的 SCTLR TE 位的值为0。

    [报价]

    感谢您的回答!

    此致、

    Gr

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

    您好、GR:

    我无法在最后重现此问题 我已经从示例中删除了 DDR 部分、但仍然能够加载它并在 main 暂停。

    您能否尝试在定制板上运行以下项目、并告知我这是否有效?

    项目-  sciclient_ccs_init_am64x_evm_r5fss0_0_nortos_ti_arm_clang.zip

    另外、您能否尝试在我们的 EVM 上重现此问题?

    此致、

    Tushar

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

    尊敬的 Tushar:

    我仔细检查了客户的硬件。

    在客户电路板中、BOOTMODE 的保留位被设置为1。

    但在 AM67 (AM64x 的 SAMA 架构)中、不应设置1。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1401378/am67a-am67-bootmode-pins-14-and-15/5364061?tisearch=e2e-sitesearch&keymatch=bootmode%252520reserved#5364061

    如果设置为0、则表示解出了它。

    感谢您的支持。

    此致、

    Gr

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

    您好、GR、

    感谢以上确认。

    很乐意提供帮助

    此致、

    Tushar