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.

[参考译文] TDA4VE-Q1:OSPI Trace32刷写 HS 版本

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1503790/tda4ve-q1-ospi-trace32-flashing-hs-version

器件型号:TDA4VE-Q1
Thread 中讨论的其他器件:DRA829UNIFLASH

工具/软件:

我们使用的是 FS SDK 10.0.0.5上具有 J721E SR1.1 HS-SDK 的定制电路板。 我们尝试使用 TRACE32与 dra82x-ospi-MT35XU512-snor.cmm 脚本刷写 OSPI、但我们遇到了一些问题。 使用 TRACE32刷写 HS 版本是否需要任何先决条件?

我们已经使用 GP 版本测试了 EVM 电路板上的刷写脚本、只能在什么时候刷写 裸机 传感器。 根据提供的脚本中的注释、 裸机 仅在 R5尚未引导时才需要、但在禁用时不起作用。

IF COMBIPROBE()||UTRACE()
   SYStem.CONFIG.CONNECTOR MIPI34 ; because of converter LA-3782
 
&use_pll2="yes"
&bare_metal="yes"              ; if R5 is not yet booted say yes
&iprobe="no"                   ; if TRACE32 logic analyzer hooked to r306 on SOM
&program="yes"                  ; write to flash
 
IF "&iprobe"=="yes"
(
   NAME.RESET
   NAME.SET IProbe.00 FREQ
   IProbe.CSELect.IProbe FREQ     ; display ospi0_clk
   IProbe.Timing.IProbe.FREQ
   iprobe
   iprobe.off
)
 
IF "&bare_metal"=="yes"
(
   ; call out to bare metal CMMs to setup clocks 
   TITLE "TRACE32 for ARM-CM3 - MASTER"
   DO "~~/cmm-ti/cmm-dra/cmm-tda4_dra829/x_gel_to_cmm_public/j7es_m3.cmm"
   register
   DO "~~/cmm-ti/cmm-dra/cmm-tda4_dra829/x_gel_to_cmm_public/J721E.cmm"
   wait 1s
)


关于我们的定制板、使用 UNIFLASH 进行刷写可以正常工作、我们能够启动。 但是、使用 T32刷写失败。 我猜是由于 HS 版本上锁定了 M3 JTAG、因此无法通过 j7es_m3.cmm 脚本设置时钟、裸机刷写需要该脚本。



(带有 GP 的 EVM 板:当强制 M3电源和时钟时、有效寄存器可见并发生变化。)



(带有 HS 的定制板:强制执行后、寄存器值从0x23000000变为??)

根据这些观察结果、是否可以使用 T32刷写 HS 版本? 此过程是否需要解锁 M3的 JTAG、或者是否有其他解决方案来解决该非解决方案 裸机 闪烁问题?

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

    您好、

    这是一个漫长的周末、因此请希望下周初有响应。

    此致、
    Sudheer

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

    您好、

     您是否尝试过在刷写之前解锁 JTAG 以查看其是否正常工作?

    对于 HS 器件、对于 JTAG 访问、您需要解锁 JTAG。 但我会在结束时确认这是否是 T32所要求的。

    此致、
    Tanmay

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

    你(们)好

    我对安全相关主题相对较新、尚未尝试解锁 M3的 JTAG。 最近、我遇到了一篇文章、
    "J7ES HS 器件上的 M3内核无法在功能引导模式下解锁。"  TDA4VM:安全 JTAG (__LW_AT__Lauterbach)

    我们已经在 OSPI 引导模式下成功刷写 EVM GP 板、并希望在 HS 板上复制此过程、从而切换到非引导模式->解锁 M3 JTAG 并刷写每次我认为有悖于使用 T32脚本简化刷写的目的。  

    此致、
    Kordian

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

    您好、

    您是否成功验证了在 HS 版本上进行 T32刷写是否需要任何其他要求?

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

    尊敬的 Kordian:

    对延迟深表歉意。

    您能否参阅 文档 https://www.ti.com/lit/an/spracz6/spracz6.pdf?中的第4节"仅使用 OSPI 存储器引导模式刷写 HS 器件"(位于 ts = 1746522328699&ref_url=https://www.253A%252F%252Fwww.bing.com%252F)

    HS 板因此切换到非引导模式->每次我认为解锁 M3 JTAG 并刷写都有损于使用 T32脚本简化刷写的目的。  [/报价]

    HS 器件并不应该与调试器一起使用。 T32用于在 GP 器件上进行调试、二进制文件随后可与 HS 器件一起使用。 这是默认流程。 如果调试器可以与 HS 器件配合使用、则器件的安全性也会降低。

    此致、
    Tanmay

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

    你(们)好

    感谢您的澄清。

    我 还有一个关于脚本中的裸机选项的问题。 默认情况下、此选项处于启用状态、根据注释、仅当"R5尚未引导"时才需要该选项。 如果没有此选项进行刷写是否有任何先决条件、或者应该使其始终保持开启状态? 尽管在 GP EVM 电路板上启动了 R5、但在我们的测试过程中、刷写过程仍然失败(读取芯片 ID 失败、并且闪存.Reconfighter Off 操作挂起)。

    此致、
    Kordian

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

    尊敬的 Kordian:

    我将此主题转发给 Lauterbach 专家、以回答不是脚本的问题。

    此致、
    Tanmay

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

    您好、Tanmay、

    有关  Lauterbach 脚本的任何更新?  

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

    您好:

    -0-

    可使用 TRACE32闪存器在 GP 或 HS 器件上烧录。   使用脚本的典型方法是采用非功能引导模式。  这将是 GP 的"无引导"(通过引导模式开关设置)或使用"WIR"模式通过 HS 的"无引导"模式、该模式是通过在上电复位期间驱动 EMU0=0来设置的。   当前刷写脚本有一个标注参数、该参数采用参数 HS:FS 或 HS:SE。  当器件为 HS 时、此参数将用于解锁器件以允许脚本完全运行。  在 GP 器件上、不使用该参数、因为它运行时会将其告知不是 HS。   如果您有 SE 器件、则需要证书来解锁器件、但 GP 不需要证书。  解锁脚本将尝试使用调试器使 EMU0引脚过驱、以确保干净的"无引导"开始启动。

    我附加了当前在 GP 或 HS 上运行的 J7ES 脚本。 捆绑包使用"TRACE32"的 passwd 进行加密

    /cfs-file/__key/communityserver-discussions-components-files/791/1050.cmm_2D00_tda4_5F00_dra829.7z

    -1-
    如果您跳过裸机并尝试从已初始化的 R5运行、您有责任确保所有时钟和闪存时序都是正确的!   刷写代码假定初始状态为"干净"。  如果其他一些代码已对闪存控制器寄存器进行编程、这些简单脚本将无法理解、脚本可能会失败。   在无引导状态(gp-noboot、hs-wir)下启动更容易、更安全、因为刷写始终有效。  它可能起作用、也可能不起作用、具体取决于引导模式的初始状态。  想象一下、如果代码将 RAT 映射设置为某个其他地址空间、每次写入都将是中止或... 脚本不能不应有任何可能的先前代码执行。
    -2-
    TRACE32还具有~μ s 慢的 BSDL 闪存刻录机。  这可以是一个很好的回落,但它真的很慢.  它只适用于小图像。  控制器闪光器(在上面使用)对于中等大小的图像是可以的。   如果您需要刻录大型 EMMC 根文件系统之类的内容、最好使用更大的软件(如 u-boot 或一些内核)。  JTAG 迁移速度将显著减慢于 USB 快速链路、USB 链路可以将所有 DDR 用于缓冲器。
    此致、
    理查德·W·