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.

[参考译文] IWRL6432:通过 UART 引导 IWRL6432、在没有 SFLASH 的情况下引导

Guru**** 2862450 points

Other Parts Discussed in Thread: IWRL6432

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1632878/iwrl6432-iwrl6432-boot-via-uart-boot-without-the-sflash

器件型号: IWRL6432

尊敬的专家:

客户希望移除雷达单元上的闪存元件、然后雷达模块必须通过 UART/SPI 从主机引导、而不是通过 QSPI 从 SFLASH 引导。

在移除雷达闪存之前、客户样片可以通过 UART 通过 arprog_cmdline.py 将应用映像烧录到闪存中。 (SDK v5.5.4.2)

 

移除闪存组件后、我正在通过 UART 测试启动、我研究了 TRM、引导序列和通过 UART 的 cmd-resp 与“将 appimage 刻录到闪存中“相同、似乎 arprog_cmdline.py 已经支持我需要的目标。

但是、我遇到了这个问题、主机无法从雷达模块获取 ACK、TRACE_LEVEL = 4 的日志如下:

Meta Image not specified, using META_IMAGE1
Connecting Com Port....
connect to device
INFO : Port Opened
set break signal
--- please restart the device ---
wait for ack
Length0000
chksum00
a00

SOP 配置处于功能模式、不是闪存模式。 我使用的带有参数的命令是:

python3 arprog_cmdline.py -p device_comport -f appimage -s SRAM -t META_IMAGE1

 

 

此外、使用中的命令完全可以 闪存模式 一方 闪存组件:

python3 arprog_cmdline.py -p device_comport -f appimage -s SFLASH -t META_IMAGE1

我有什么想念的吗?  

谢谢你。

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

    您好、刘东尼:

    在启动时、雷达固件尝试读取闪存 ID 以确定是否存在闪存。 如果闪存不存在、则 UART/SPI 引导加载程序被激活。

    编程序列与刷写模式中的编程序列不同。 您需要按照指定的格式发送数据。 此外、当使用 UART/SPI 引导加载程序时、应用程序将加载到雷达 RAM 中。

    我附加了一个 LA 捕获、其中 SPI 引导加载程序与 HOST_INTR 结合使用、以将应用映像发送到 RAM 中。 数据包按照引导加载程序流程文档中提到的顺序排列

    e2e.ti.com/.../spi_5F00_flash_5F00_10Mhz.sal

    e2e.ti.com/.../xwrl6432_5F00_SPI_5F00_BOOT_5F00_SEQUENCE.pptx

    使用 Saleae Logic 软件分析 LA 捕获

    此致

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

    尊敬的 Abhishek:

    我想讨论 UART 引导加载程序、但您的回复不包含它的任何部分。

    你是这样说的  arprog_cmdline.py 不支持我的目标?

    该说明仅与 SPI 引导加载程序相关、对吗?

    [引述 userid=“272632" url="“ url="~“~/support/sensors-group/sensors/f/sensors-forum/1632878/iwrl6432-iwrl6432-boot-via-uart-boot-without-the-sflash/6303690

    我附加了一个 LA 捕获、其中 SPI 引导加载程序与 HOST_INTR 结合使用、以将应用映像发送到 RAM 中。 数据包按照引导加载程序流程文档中提到的顺序排列

    e2e.ti.com/.../spi_5F00_flash_5F00_10Mhz.sal

    xwrl6432_SPI_BOOT_SEQUENCE.pptx

    使用 Saleae Logic 软件分析 LA 捕获

    [/报价]


    谢谢你。

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

    你(们)好

    当不使用 QSPI 闪存器件存储应用程序映像时、引导加载程序将查找映像
    通过 SPI 或 UART 接口加载、如果第一个 PING/命令是通过 UART 接口发起的、则 RBL 将进行加载
    切换到 UART 模式进行映像下载。
    UART 通信协议涉及一个简单的命令响应流程。 主机首先发送
    发送到 xWRLx432 器件的命令数据包、然后等待器件的响应。 多字节字段
    以大端字节序格式传输、先传输 MSB 字节、然后是 LSB 字节。 差异
    引导加载程序立即处理数据包、无需在后台进行任何调度或处理
    然后发送有效的响应数据包。 响应可以是 ACK、NACK 或包含部分
    具体的响应信息

    有关支持的命令和消息格式、请参阅以下文档

    e2e.ti.com/.../xWRL6432_5F00_RBL_5F00_UART_5F00_APIs.docx

    此致

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

    您可以使用   arprog_cmdline.py 为 UART 发送数据

    此致

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

    尊敬的 Abhishek:

    我将“闪存固件映像“和“通过 UART 引导“的命令响应流程与示波器进行比较、然后发现“通过 UART 引导“的 UART 引导加载程序不会向主机响应 ack、下图所示。

    当主机启动“UART 中断“时、UART 引导加载程序不会以正确的 ACK 进行响应;相反、它始终以零响应。 雷达处于功能模式、 我在上面的问题中提到了 arprog_cmdline.py 的参数。

    与“闪存固件映像“过程相比、雷达在主机发送“UART 中断“后以 ACK 进行响应。

    根据您提供的文档中的说明。

    通过 UART 进行引导:

    通过 UART 进行的引导加载也遵循与上述相同的序列(但写入命令 0x26 和关闭命令的响应不同 — 请参阅支持的命令以清楚起见)。 系统会解释通过 UART 接收的元映像并将其加载到适当的存储器中。

    [引述 userid=“272632" url="“ url="~“~/support/sensors-group/sensors/f/sensors-forum/1632878/iwrl6432-iwrl6432-boot-via-uart-boot-without-the-sflash/6307139 ]xWRL6432_RBL_UART_API.docx

    您能建议如何解决此问题吗?

    谢谢你。

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

    尊敬的 Abhishek:

    您对我的问题有任何更新吗?

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

    您好、

    您正在将哪块电路板用作 IWRL6432? 在 IWRL6432 中、有 2 个 UART。 UARTB 用于在刷写模式下进行刷写。 但在功能模式下、UARTA 用于 UART 引导器。 在本例中、您使用哪种 UART?

    此致

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

    尊敬的  Abhishek:

    我使用了 IWRL6432 非 AOP 和 UARTB (F11、E10)。 如果我更改为使用 UARTA、6432 可以响应正确的 ACK、主机现在开始发送数据。 但它会卡住数据流。

    到目前为止、我有两个问题:

    1.我既有 IWRL6432 非 AOP、也有 IWRL6432 AOP。 他们是否都使用 UARTA?

    2. TRM (swru599c) 的哪个部分指出“UARTA 用于 UART 引导器“?  请为我复制该段文本、我已经检查了 4.6.3.1 至 4.6.3.3 节、但此处未提及此信息。 也许我错过了。

    此外、我将提出另一个主题来讨论数据流 卡住的 问题。

    谢谢你。

    此致、
    Tony Liu

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

    尊敬的 Abhishek:

    我期待着你的答复。 谢谢你。

    此致、
    Tony Liu

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

    您好、

    是、IWRL6432 AOP 和非 AOP 都使用 UARTA 作为引导加载程序。 它们之间只有封装不同其余功能保持相同。

    2.很遗憾、TRM 中遗漏了此详细信息。 本文未提及 UARTA 用于引导加载程序、UARTB 用于刷写。

    此致