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.

[参考译文] AM2434:成功进行闪存集成后 AM2434_ALV 控制器上的 OSPI 引导模式问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1410109/am2434-issue-with-ospi-boot-mode-on-am2434_alv-controller-after-successful-flash-integration

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

工具与软件:

您好!

我正在使用 AM2434_ALV 控制器、并且已成功将定制闪存与它进行集成。 我使用ospi_flash_dma_am243x-evm_r5fss0-0_nortos_ti-arm-clangospi_flash_io_am243x-evm_r5fss0-0_nortos_ti-arm-clang示例验证了集成。

为了将代码闪存到控制器上,我使用了sbl_jtag_uniflash_am243x-evm_r5fss0-0_nortos_ti-arm-clang,它工作得很好。 但是、当我切换到 OSPI 引导模式时、我的代码不会引导、并会自动回退到次级引导加载程序。

您能帮我解决这个问题吗?

谢谢你。

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

    您好!

    请告诉我以下几点:

    • 您使用的定制闪存器件?
    • 您用于 OSPI 引导模式的确切引导模式引脚是什么?

    谢谢!

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

    您好!

    感谢您联系我们。

    1. 我们使用的定制闪存器件是 MT25QL01GBBB .
    2. 我们用于 OSPI 引导模式的引导模式引脚包括:
      • BOOTMODE [0:7](SW2)= 1100 1110
      • BOOTMODE [8:15](SW3)= 0100 0000

    此外、由于我没有 UART 端口、所以我唯一的闪存选项是 OSPI JTAG UniFlash .

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

    您好!

    感谢您提供的信息!!

    您能帮我解决以下疑问吗?

    1) 1)我假设闪存支持8d-8d-8d 模式、并且您是使用 OSPI_FLASH_DIAG 示例获得的闪存配置。 然后在 SBL_JTAG_UNIFLASH、OSPI_FLASH_DMA 和 OSPI_FLASH_IO 示例中使用获得的闪存配置、以便它们与定制的闪存器件兼容?

    2) 2)如果没有 UART 端口、您打算如何验证器件是否正在引导?

    3)   

    Unknown 说:
    我的代码无法引导并自动回退到辅助引导加载程序。

    能否详细说明一下? 您如何知道它会回退到次级引导加载程序以及此引导加载程序所在的位置?

    谢谢!

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

    您好!

    感谢您提出后续问题。 请在下面查看我的回复:

    1. 闪存模式和配置:
      不支持、该闪存不受支持 8D-8d-8d 模式 . 我在运行闪存 1S-1S-1S 模式 、它在此模式下运行良好。 提供如所示的示例 SBL_JTAG_UNIFLASH、OSPI_FLASH_DMA OSPI_FLASH_IO 根据1S-1S-1S 模式配置、所有器件都能正常运行。

    2. 在没有 UART 的情况下验证引导:
      由于我没有 UART 端口、因此我使用 LED 闪烁代码 以验证器件是否已成功引导。 不过、LED 闪烁代码不会执行、这表示引导过程尚未完成。
    3. 回退到次级引导加载程序:
      器件型号降回至 备用引导模式 因为主引导模式、即 xSPI 引导 、无法执行代码。

    此致、

    Divyesh Patel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="456289" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1410109/am2434-issue-with-ospi-boot-mode-on-am2434_alv-controller-after-successful-flash-integration/5403255 #5403255%]不能、闪存不支持 8D-8d-8d 模式 .

    由于闪存未支持或未验证在此模式下正常工作、因此请尝试以下引导模式引脚配置

    • BOOTMODE [0:7](SW2)=  1100 1110
    • BOOTMODE [8:15](SW3)=  0000 0000

    如 TRM 中所述、如果设置了 BIT9、则 ROM 会读取 SFDP 表、并尝试在8d 模式下从闪存读取映像。

    请告诉我这是否可行...

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

    您好!

    感谢您的建议。

    我已按照您的建议尝试以下引导模式引脚配置:

    • BOOTMODE [0:7](SW2)= 1100 1110
    • BOOTMODE [8:15](SW3)= 0000 0000

    但是、使用此设置时固件仍然无法启动。 由于闪存不支持8d 模式、因此 ROM 尝试读取 SFDP 表并在此模式下引导似乎与我的闪存不兼容。

    如果我还需要尝试其他任何步骤、请告诉我。

    此致、

    Divyesh Patel

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

    您好、您还可以尝试以下 SPI 引导模式吗

    • BOOTMODE [0:7](SW2)=  1101 1000
    • BOOTMODE [8:15](SW3)=  0000 0000

    除此之外、您使用的备份引导是什么、它告知您 ROM 无法从主引导介质引导、因此跳转到备份引导?

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

    您好!

    谢谢您的建议。

    我尝试了以下 SPI 引导模式配置:

    • BOOTMODE [0:7](SW2)= 1101 1000
    • BOOTMODE [8:15](SW3)= 0000 0000

    遗憾的是、使用此设置时固件仍然无法启动。 我之前还尝试了 OSPI 和 QSPI 引导模式、但都没有成功。

    对于备用引导模式、我的备用引导模式当前设置为 null 、因此没有实际的次级引导加载程序。 由于 ROM 无法从主引导介质(xSPI)引导、因此它默认为备用引导、但由于配置为空、不会执行任何操作。

    如果还有其他需要尝试的内容、请告诉我。

    此致、

    Divyesh Patel

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

    您好!

    至于备份引导模式、我的备份引导模式当前设置为 null 、因此没有实际的次级引导加载程序。

    然后、您无法确定 ROM 是否无法从主引导介质引导 SBL。 SBL 可能正在引导、但无法引导您的 LED 闪烁应用程序。

    您能否再次尝试上面讨论的不同引导模式? 对于每个内核、请将调试器连接到 R5FSS0-0内核、并查看内核暂停的地址。 如果是0x41xxxxxx、则在 ROM 中执行、这意味着它无法引导 SBL。 如果是700xxxxx、则 SBL 至少正在引导。

    此致、

    Prashant

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

    您好!

    我重新尝试了这两个 OSPI 引导模式 SPI 引导模式 运行。 我将调试器连接到时的电流消耗 R5FSS0-0内核 、显示了内核挂起的地址 0x41xxxxxx 、表示执行卡在 ROM 中、并且 SBL 无法引导。

    请告诉我后续步骤、或者如果我还有其他需要调查的地方、请告诉我。

    此致、

    Divyesh Patel

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

    大家好、确认 ROM 无法引导 SBL。 这可能是因为 SBL 未正确刷写、或者 ROM 在与您的定制闪存部件通信时确实遇到问题。

    Unknown 说:
    用于将代码闪存到控制器上、我使用了sbl_jtag_uniflash_am243x-evm_r5fss0-0_nortos_ti-arm-clang、它运行得很好。

    您是否可以共享此过程中的刷写日志? 基本而言、我想介绍一下您要刷写的不同图像及其偏移量。

    谢谢!

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

    您好!

    以下是该过程中的刷写日志:

    [MAIN_Cortex_R5_0_0]  
     
     ==========
     JTAG Uniflash 菜单
     ==========
     
     1:擦除完成的闪存
     2:将文件写入闪存并验证
     3:验证闪存中的文件
     
     X:退出
     
     输入选项:2.

     输入文件名以及要写入或验证的路径:C:/Users/Admin/workspace_ipc/sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage
     输入 FLASH OFFSET (十六进制格式):0x0
     在 CCS 脚本控制台中输入以下命令以将文件数据加载至内存。
     文件加载完成后、输入"1"继续...

     loadRaw (0x80000020、0、"C:/Users/Admin/workspace_ipc/sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage、32、false);
    1.
     [FLASH writer]闪烁成功!!...
     
     
     ==========
     JTAG Uniflash 菜单
     ==========
     
     1:擦除完成的闪存
     2:将文件写入闪存并验证
     3:验证闪存中的文件
     
     X:退出
     
     输入选项:3.

     输入文件名以及要写入或验证的路径:C:/Users/Admin/workspace_ipc/sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage
     输入 FLASH OFFSET (十六进制格式):0x0
     在 CCS 脚本控制台中输入以下命令以将文件数据加载至内存。
     文件加载完成后、输入"1"继续...

     loadRaw (0x80000020、0、"C:/Users/Admin/workspace_ipc/sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage、32、false);
    1.
     [FLASH writer]正在验证成功!!...
     
     
     ==========
     JTAG Uniflash 菜单
     ==========
     
     1:擦除完成的闪存
     2:将文件写入闪存并验证
     3:验证闪存中的文件
     
     X:退出
     
     输入选项:2.

     输入文件名以及要写入或验证的路径:C:/Users/Admin/workspace_ipc/gpio_led_blink_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/gpio_led_blink_am243x-evm_r5fss0-0_nortos_ti-arm-clang.appimage
     输入闪存偏移(十六进制格式):0x80000
     在 CCS 脚本控制台中输入以下命令以将文件数据加载至内存。
     文件加载完成后、输入"1"继续...

     loadRaw (0x80000020、0、"C:/Users/Admin/workspace_ipc/gpio_led_blink_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/gpio_led_blink_am243x-evm_r5fss0-0_nortos_ti-arm-clang.appimage、32、false);
    1.
     [FLASH writer]闪烁成功!!...
     
     
     ==========
     JTAG Uniflash 菜单
     ==========
     
     1:擦除完成的闪存
     2:将文件写入闪存并验证
     3:验证闪存中的文件
     
     X:退出
     
     输入选项:3.

     输入文件名以及要写入或验证的路径:C:/Users/Admin/workspace_ipc/gpio_led_blink_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/gpio_led_blink_am243x-evm_r5fss0-0_nortos_ti-arm-clang.appimage
     输入闪存偏移(十六进制格式):0x80000
     在 CCS 脚本控制台中输入以下命令以将文件数据加载至内存。
     文件加载完成后、输入"1"继续...

     loadRaw (0x80000020、0、"C:/Users/Admin/workspace_ipc/gpio_led_blink_am243x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/gpio_led_blink_am243x-evm_r5fss0-0_nortos_ti-arm-clang.appimage、32、false);
    1.
     [FLASH writer]正在验证成功!!...
     
     
     ==========
     JTAG Uniflash 菜单
     ==========
     
     1:擦除完成的闪存
     2:将文件写入闪存并验证
     3:验证闪存中的文件
     
     X:退出
     
     输入选项:x

     [FLASH writer]应用程序已退出!!!
    所有测试均已通过!!

    我刷写的映像及其偏移量为:

    • sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage
    • 0x80000处的 gpio_led_blink_am243x-evm_r5fss0-0_nortos_ti-arm-clang.appimage

    如果您需要更多详细信息、请告诉我。

    此致、

    Divyesh Patel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="456289" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1410109/am2434-issue-with-ospi-boot-mode-on-am2434_alv-controller-after-successful-flash-integration/5406216 #5406216"]sbl_ospi_am243x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage、位于0x0

    您正在刷写 GP 映像。 是否使用 GP 器件? 如果是、您使用的 SDK 版本是什么? 自第一个 SDK v9以来、SDK 不支持 GP 器件。

    此致、

    Prashant

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

    您好 Prashant:

    与配合使用的器件 AM2434_ALV 控制器、并且我当前正在使用 mcu_plus_sdk_am243x_08_03_00_18 示例。

    此致、

    Divyesh Patel

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

    您可以一次读取寄存器0x44234100以确定器件类型吗?

    在任何情况下、我想知道使用这个版本非常旧的 SDK 的原因吗? 即使该问题得到解决、我们将来也可能无法使用该 SDK 版本来解决任何问题。

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

    我读取寄存器 0x44234100 、返回的值为 0x00000003 .

    我们使用该旧版 SDK 的原因是( mcu_plus_sdk_am243x_08_03_00_18 )我们的开发已经完成。 剩下的唯一任务是成功将代码刷写到闪存中。

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

    您好!

    感谢您的澄清!

    该器件确实是 GP 版本、您可以刷写正确的映像类型、刷写过程看起来不错。 我认为是时候确认偏移量为0x0的闪存的实际内容了。

    您能否加载任何 OSPI 示例(最好是 OSPI_FLASH_IO)并在 Board_driversOpen 调用后停止执行?

    假设此时闪存将位于 DAC 中、请使用"Memory Browser"视图检查0x60000000处的存储器。 您是否看到与刷写的 SBL 映像的十六进制转储相匹配的字节?

    此致、

    Prashant

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

    您好 Prashant:

    我按照您的建议加载了 OSPI_FLASH_IO 例如、在之后立即停止执行 Board_driversOpen 调用。 但我在查看存储器时发现它 0x60000000 使用存储器浏览器时、我没有看到任何内容。 存储器看起来是空的、并且没有字节与刷写的 SBL 映像的十六进制转储相匹配。

    请告诉我您对此有什么想法、或者我是否还有其他需要尝试的地方。

    此致、

    Divyesh Patel

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

    DAC 似乎未启用。 您可以在第一次 R/W 测试后进行检查吗? "Flash_READ (闪存读取)"应使闪存保持 DAC 状态。 您可以让 R/W 发生、因为它不会与地址0x0相冲突。

    如果您仍然未看到任何内容、则可以使用以下补丁手动启用 DAC

    diff --git a/examples/drivers/ospi/ospi_flash_io/ospi_flash_io.c b/examples/drivers/ospi/ospi_flash_io/ospi_flash_io.c
    index 4a5fe56cebd..3eda4f4f58d 100644
    --- a/examples/drivers/ospi/ospi_flash_io/ospi_flash_io.c
    +++ b/examples/drivers/ospi/ospi_flash_io/ospi_flash_io.c
    @@ -57,6 +57,9 @@ void ospi_flash_io_main(void *args)
         status = Board_driversOpen();
         DebugP_assert(status==SystemP_SUCCESS);
     
    +    OSPI_Handle handle = OSPI_getHandle(CONFIG_OSPI0);
    +    OSPI_enableDacMode(handle);
    +
         flashAttrs = Flash_getAttrs(CONFIG_FLASH0);
     
         /* Fill buffers with known data,
    

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

    您好!

    我按照建议运行 R/W 测试、并运行了处的内存 0x60000000 现在显示十六进制值。

    我还尝试手动启用 DAC、显示的十六进制值与 R/W 测试相同。

    请告知我、这是否确认 DAC 模式正常运行、或者是否需要采取任何进一步的步骤。

    此致、

    Divyesh Patel

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

    您好!

    是的、闪存处于 DAC 模式。 SBL 映像似乎已刷新。 您是否能够将几个初始字节与实际 SBL 映像的十六进制转储进行比较、以确保映像正确刷写。

    如果您认为映像刷写正确、能否查看此常见问题解答的第1节、并查看是否有任何突出显示的内容可以解释该问题?

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1358039/faq-board-bring-up-tips-for-sitara-devices-am64x-am243x-am62x-am62ax-am62px

    此致、

    Prashant

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

    您好 Prashant:

    我将初始字节与实际 SBL 映像的十六进制转储进行了比较、它们匹配正确、因此映像似乎正确刷写。

    关于电源状态、在初始电源序列之后、这两者都是相同的 MCU_RESETSTAT RESETSTAT 增大。 我们已经验证了 SPI 的引导引脚、并且它们配置正确。 两个引导模式电压电平信号处于的值 0-3.3V .

    由于我们是从 SPI 引导 OSPI0_CLK 切换 6MHz 和时钟存在时 OSPI0_CSN0 引脚变为低电平。 您可以在附加的图像中看到信号。

    我们还尝试在给电路板上电后执行热复位、但未解决问题。

    此致、

    Divyesh Patel

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

    您好!

    由于我们从 SPI 引导 OSPI0_CLK 切换 6MHz 和时钟存在时 OSPI0_CSN0 引脚变为低电平。[/报价]

    ROM 似乎正在尝试与闪存通信。 您在数据线路上看到有任何活动吗?

    除此之外、您的板原理图是否符合 TRM 一章中提到的以下要求  4.4.1 OSPI、xSPI、QSPI、SPI 引导

    此致、

    Prashant

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

    您好!

    是的、我看到上有活动 DQ0 质量。

    即闪存 复位引脚 连接到 DQ3 质量。 在硬件方面、无法直接复位闪存。

    您能建议我们如何在这种情况下执行闪存复位吗? 任何基于软件的权变措施都会很有用。

    此致、

    Divyesh Patel

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

    您好、请检查以下代码段

    /* File: source/drivers/ospi/v0/ospi_nor_flash.c */
    
    int32_t OSPI_norFlashInit1s1s1s(OSPI_Handle handle)
    {
        ...
        /* Reset the Flash */
        cmd = OSPI_NOR_CMD_RSTEN;
        OSPI_norFlashCmdWrite(handle, cmd, 0xFFFFFFFF, NULL, 0);
    
        cmd = OSPI_NOR_CMD_RST;
        OSPI_norFlashCmdWrite(handle, cmd, 0xFFFFFFFF, NULL, 0);
        ...
    }

    我不是硬件专家、但应该有通过 PMIC 使用冷 POR 完全关闭闪存的配置。 您的电路板不是这样吗?

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

    您好!

    我们确实有一个按钮用于通过使用 PMIC 的冷 POR 完全关闭闪存、但遗憾的是、这仍然无法解决问题。

    此致、

    Divyesh Patel

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

    Divyesh、您如何确认代码会使 LED 闪烁?  您是否通过其他方式对其进行加载并在电路板上进行测试?

    在本线程的前面部分、您提到的代码永远不会从 内存的0x41xxxxxx 区域中退出。  这种情况仍然存在吗?  它是否曾在0x700xxxxx 区域中执行过?  您能否确认完整的 SBL 映像是否下载到内部存储器?

    此致、

    James

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

    尊敬的 James:

    我通过运行 SoC 初始化脚本并将其加载到 EVM 板上、确认我的代码会使 LED 闪烁、从而使其按预期工作。 但是、在我的定制电路板上使用相同的过程、不起作用。

    在我定制电路板上的 SPI 引导模式下、代码保留在0x41xxxxxx 存储器区域中、从不在应用程序应该运行的0x700xxxxx 区域中执行。 我通过检查地址0x6080000并使用OSPI_jtag_uniflash示例来确认映像是否正确编程到闪存中来对此进行了验证。

    如果有任何其他方法来验证这一点、请告知我。

    此致、

    Divyesh

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

    尊敬的 Divyesh:

    在尝试调试您的引导问题之前、我认为您需要了解代码为什么在您的定制板上不起作用。  您是否在定制电路板上运行 SoC 初始化脚本、然后加载 LED 闪烁代码并运行它?  代码是否在某处挂起?  为什么它不使您的 LED 闪烁?  您能否进一步深入探究这一点、否则您检查引导代码的标准无效

    此致、

    James

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

    James、您好!

    对于沟通不当、我们深表歉意。 In 开发引导模式 、在我的定制板上运行 SoC 初始化脚本后、LED 闪烁代码运行良好。

    但是、在使用之后 "sbl_JTAG_uniflash_am243x-evm_r5fss0-0_nortos_ti-arm-clang" 示例将代码上传到我的定制电路板上、上载成功。 但一旦我将引导模式更改为 SPI 引导 则代码无法引导。

    此致、
    Divyesh

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

    您好!

    是的、现在在中执行代码 0x700xxxxx 但 LED 闪烁代码仍然无法正常工作。

    为了调试 SBL 启动、我按照本线程中概述的步骤: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1294675/faq-am62x-am64x-faq-debugging-sbl-boot-in-rtos-sdk 、它通过检查确认映像已下载到内部存储器 06080000 0x6000000 存储器地址。

    执行启动、我将使用 B0-B7:11001110 B8-B15:00000000 XSPI 引导模式 .

    此致、
    Divyesh

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

    在继续之前、我是否可以知道现在使用1S 的 xSPI 引导可以正常工作发生了什么变化? 我提到尝试过这个、您以前报告说它也不起作用。

    谢谢!

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

    您好!

    我重新安装了 SDK、创建了一个新的闪存文件、并对闪存库代码进行了一些修改、特别是添加了一个例程来重新启动闪存。 这些更改似乎已经解决了该问题、现在具有1S 的 xSPI 引导可以按预期工作。

    此致、
    Divyesh

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

    您好!

    听起来不错。

    但是、如果进行 PMIC 复位、SBL 或应用程序的代码实际上无关紧要、因为电路板是从头开始加电的。 ROM 应使闪存处于干净状态。 也许您的板的原理图有一个不同的含义。

    接下来、我想知道您正在执行哪些确切步骤吗? 您是否已尝试加载 SBL 的符号以了解执行受阻的位置?

    此致、

    Prashant