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.

[参考译文] AWR2544:引导"SBL_QSPI_Enet"无法正确运行的示例

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1362001/awr2544-example-of-boot-sbl_qspi_enet-cannot-run-correctly

器件型号:AWR2544
主题中讨论的其他器件:UNIFLASH

尊敬的 TI 工程师:

我已编译 SBL_SPI_Enet 并烧写到 EVB 中、但无法运行至应用程序。

该程序被阻止在: line:120

C:\ti\mmwave_mcuplus_sdk_04_06_00_01\mcu_plus_sdk_awr2544_09_01_00_05\mcu_plus_sdk_awr2544_09_01_00_05\examples\drivers\boot\sbl_QSPI_enet\awr2544-evm\r5fss0-c\nortos\main.c_0_nortos\main.

 状态= Bootloader_loadCpu (bootHandle、&bootImageInfo.cpuinfo[CSL_CORE_ID_R5FSS0_0]);

你有什么想法吗? 谢谢你。

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

    您好、用户:

    您可以确认您使用的是哪种设备?
    此外、在 LOAD CPU 命令内部、它在内部的什么地方卡住?

    此致、
    Saswat Kumar

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

    您好、Sawat

    我使用了 AWR2544LOPEVM、

    我跟踪了该程序,在下面的语句中被阻止:(在函数 Bootloader_rprcImageLoad (.....)中)

    状态= config->Fxns->imgReadFxn ((void *)(uintptr_t)(section.addr)、section.size、config->args);

    P.S.  

     下面的陈述是可行的:  

    状态= Bootloader_loadCpu (bootHandle、&bootImageInfo.cpuinfo[CSL_CORE_ID_RSS_R4]);
    似乎"loadCpu"可以很好地在内核 R4上运行、但不能在内核 R5F 上运行。
    ================================================================
    更多信息;
    我认为这个问题主要与"linker.cmd"文件中存储器或地址的分配有关。 但是、我不明白这些数字是什么意思、也不知道如何正确修改它们。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、用户:

    这也是一种以太网 SBL、因此您也会关注此处提到的以太网 python 脚本:
    C:/mmWave_mcuplus_sdk_04_05_00_02/mcu_plus_SDK_awr2544_09_00_00_06/docs/api_guide_awr2544/tools_flash.html#tools_flash_ENET_UNIFLASH

    请告诉我您的详细步骤、您显示的错误可能是因为它找不到适合 R5的应用程序映像。

    您正在使用什么应用程序映像?

    此致、
    Saswat Kumar

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

    大家好、Saswat。 感谢您的答复。

    我的步骤是:

    1.编译 SLB_QSPI_Enet 工程并生成 SBL_QSPI_enet.release.ttimage

    2.运行 python .\uart_uniflash_gui.py 并  

    ..2.1选择 UART 串行端口 COM8

    ...2.2检查手动配置

    附录四. 2.2.1选择 SBL_UART_uniflash.release.tiimage

    附录四. 2.2.2选择 sbl_qspi_enent.release.tiimage (在步骤1中生成)

    附录四. 2.2.3选择了 awr2544_mmw_demo.appimage 并将偏移更改为0xA0000

    3.将 SOP 模式更改为刷写模式,点击"flash"  

    闪烁后、切换回正常模式并按下 EVB 上的"reset"按钮。 然后、它 在 SBL 中被阻止。

    这些步骤是否正确? 首次刷写 ENET 引导加载程序。

    BTW、如果我在步骤2.2.2中使用 sbl_qspi.release.tiimage、它可以很好地在应用程序中运行。  

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

    这是通过 COM8打印的日志信息。 末端停止。

    ================================

    [ ENETSBL ]开始以太网传输...
    EnetPhy_bindDriver:1852
    PHY 0处于活动状态
    [ ENETSBL ] initQs()以16个 pkts 初始化 txFreePktInfoQ
    [ ENETSBL ] EVM MAC 地址:70:ff:76:1d:EC:f2

    [ ENETSBL ] PHY 0处于活动状态
    [ ENETSBL ]请等待连接...
    Cpsw_handleLinkUp:1630
    [ ENETSBL ]链接已完成!
    [ ENETSBL timeout ]跳过 Enet 传输。
    Cpsw_handleLinkDown:1656

    正在启动 QSPI 引导加载程序...

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

    您好、用户:

    请浏览我分享的用户指南:

    您将 uart_uniflash 与以太网 SBL 配合使用。
    请分步详细介绍。
    这些步骤已经过验证、请按照说明进行操作。

    此致、
    Saswat Kumar

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

    大家好, Saswat 。  

    即使我遵循了指南、它也不起作用。

    我已按照指南中的分步操作将映像刷写到 EVB 中。

    1.将"SBL_QSPI_enet.release.tiimage"刷写到 EVB 中。  

    2.已创建闪存配置文件。 default_sbl_qspi_enet.cfg 并 仅编写了如下所示的一行脚本:

    --file=../../../mmwave_mcuplus_sdk_04_06_00_01/ti/demo/awr2544/mmw/awr2544_mmw_demo.appimage --operation=flash --flash-offset=0xA0000

    3.运行的 python 脚本如下:

    Python .\Python enet_uniflash.py --cfg=sbl_prebuild/awr2544-evm/default_sbl_qspi_enet.cfg

    4.当屏幕显示"Starting LinkUp ..."时,我在 EVB 上拔出 SOP2,并将其更改为 QSPI 引导模式。 然后我按下 EVB 上的按钮 SW1。

    但它不起作用。  

     

    P.S.电缆连接 PC 和 EVB、 PC 中的 IP 地址设置为192.168.0.136。 操作系统是 Windows 11

    日志为:

    [日志]解析配置文件...
    [log]确保在运行此脚本之前已发送 SBL_QSPI_ENET。
    [log]找到1个命令!!!
    [log]正在创建套接字
    正在启动链路...
    正在启动链路...
    正在启动链路...
    正在启动链路...
    正在启动链路...
    [错误]连接超时太多次,无法建立链路。 检查与 EVM 的连接。
    对 EVM 进行下电上电、然后再次运行此脚本!!

     

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

    您好、用户:

    您具有的当前宏是什么:


    此致、
    Saswat Kumar

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

    ENETSBL_TIMER_MODE

    我还尝试了另一种模式。 按住 SW2并按 SW1。

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

    您好、用户:

    我将逐步编写、并按照用户指南获取:

    1) 1)首先将器件设置为刷写模式(SOP 0和 SOP 2)。

    2) 之后您必须设置设备 IP:

    3)然后从获取网络适配器您必须获得 MAC:

    然后、应使用以下代码更新 MAC:C:\ti\mmwave_mcuplus_sdk_04_06_00_01\mcu_plus_sdk_awr2544_09_01_00_05\examples\drivers\boot\sbl_qspi_enet\awr2544-evm\r5fs0-0_nortos\sbl_enet.h:

    4) 4)额外、如果希望日志通过运行的 SBL 的 UART 日志、请转至 C:\ti\mmwave_mcuplus_sdk_04_06_00_01\mcu_plus_sdk_awr2544_09_01_00_05\examples\drivers\boot\sbl_qspi_enet\awr2544-evm\r5fss\example.0-syscfg.0-syscfg.0-syscfg.0_nortos\examples.

    将文件中的焊盘更新为此处所示的焊盘。 只有当您使用 SD 毫米波 mcuplus SDK 4.6.0.1时、

    5)那么您必须重建应用程序: gmake -s -C examples/drivers/boot/sbl_qspi_enet/awr2544-evm/r5fss0-0_nortos/ti-arm-clang all
    更改头文件后以及需要时使用 syscfg、因此需要重新构建。

    6)然后您必须在 POWER shell 中键入此命令:
    新-社区再投资指数 -IPAddress '192.168.0.195'-LinkLayerAddress' '-状态永久

    基于您的参数,你的例子将看起来像:  New-NetCommunibor -InterfaceIndex 11 -IPAddress '192.168.0.195'-LinkLayerAddress '70ff761decf2'-State Permanent


    7)那么我必须首先 使用 UART_Uniflash 和.cfg 文件仅刷写更新的 SBL_QSPI_enet.release.tiimage:

    然后将器件更改为功能模式(仅限 SOP 0)并执行 NRST  

    8) 这是在文件中进行的修改、用于注释掉闪存写入器和 SBL 文件:

    9)、然后运行命令并按下 nReset (SW1):

    10) 10)您可以看到传输成功。

    11) 11)以下也是 UART 上的其他 SBL 日志:

    我已成功向您展示了如何加载该文件、并按照指南进行操作:  

    a) mmwave_mcuplus_sdk_04_05_00_02/mcu_plus_sdk_awr2544_09_00_00_06/docs/api_guide_awr2544/EXAMPLES_DRIVERS_SBL_QSPI_ENET.html

    b) mcu_plus_sdk_awr2544_09_00_00_06/docs/api_guide_awr2544/tools_flash.html#tools_flash_ENET_UNIFLASH

    此致、
    Saswat Kumar

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

    大家好、 Saswat  

    非常感谢您的详细答复。 但是,升级最后仍然失败。
    下面是 PC 端的日志
    下面是来自 EVB 侧的 UART 的日志、
    从日志中可以看到、双方均已建立连接并准备好开始数据传输。
    为了确定错误返回值,我在下面的语句后添加了一个打印操作。 返回值为-1。 (红色箭头指向此处 )

    这是源代码。

    ========================================

    另一个类似的问题也发生在接收网络数据时。  这是这个问题的关联,也是我提出的一个问题。 但问题仍未解决。

    AWR2544:AWR2544:无法访问 ENET 的 RX 数据-传感器论坛-传感器- TI E2E 支持论坛

    ========================================

    我的  AWR2544LOPEVM 是否有任何问题?  

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

    您好、用户:

    在这种情况下、我建议首先调试 Rx 应用、因为与只负责发送和接收以太网数据的应用相比、SBL 具有很多其他复杂性、因此调试语句比 SBL 更容易。  

    一旦您能够在另一个线程中获得分辨率、我们就可以继续该线程。 这是我的建议、当您的应用至少正在运行时、我们可以确保以太网收发器不会有问题。

    此致、
    Saswat Kumar

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

    大家好、Saswat。

    非常感谢。

    RX 应用程序中存在错误、因此我决定检查 ENET 引导加载程序是否可以接收数据包。 但是、我遇到了同样的问题。

    我的 AWR2544LOPEVM 上的 RX 似乎存在问题。 我将检查我的 EVB 和 SDK。

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

    大家好、Saswat。

    使用makegmake构建程序之间是否有什么区别?

    我使用make命令进行构建,enet_sbl而不是gmake。 这是否会导致问题?

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

    哈雷、您好!

    建议使用 gmake 文件、以便在

    gmake 表示 GNU make、如果使用、那么可能会使用系统中的默认 make。
    如果它是相同的 gmake 被调用,当你使用 make 那么它好,否则你的系统可能有其他的原生东西。

    此致、
    Saswat Kumar