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.

[参考译文] J784S4XEVM:J784S4 上的 Lauterbach 脚本

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1593225/j784s4xevm-lauterbach-scripts-on-j784s4

器件型号: J784S4XEVM

我有 J784S4 HS:FS 板、从 Richard Woodruff 收到的脚本发出的以下命令验证失败。 我还没有启用安全功能,为什么“解锁和停止安全看门狗“失败,即使我没有启用安全功能? 对于 FS 部件,解锁和停止安全监视程序的正确方法是什么?   您是否有适用于带固件 ti-fs-firmware-j784s4-hs-fs-enc.bin 的 FS 部件的示例脚本?

;解锁并停止安全监视
DATA.SET EAXI:0x44135120 %LE %LONG 0x4658FC21;在 HS 上、如果验证失败、此操作将中止
Data.Set EAXI:0x44135124 %LE %LONG 0x3AC4F102
等待 1 μ s
Data.Set EAXI:0x44135150 %LE %LONG 0xA

谢谢

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

    Richard:

    感谢您发送编修。  我将检查布线、弄清楚发生了什么。

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

    我尝试了 ETM 跟踪。 由于某种原因、我只能捕获一个周期的跟踪。 无论我试图捕捉多长时间,结果只有一个时期。 我的 ETM 跟踪配置是否错误?

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

    内部跟踪缓冲区仅为 64K、因此如果内核不断执行指令、则有效时间可能为~200us 至~400uS、如果将外部跟踪挂钩、则存在 8GB 接收器或流式传输到硬盘驱动器、在这种情况下可以捕获许多分钟。  从跟踪来看、似乎发生了对时间戳函数(而不是 IDLE 指令)的硬轮询、这将占用具有低密度信息的所有片上跟踪缓冲区空间。   如果您在时间戳函数上使用 ETM 跟踪筛选器 (traceexclude)(如果是所有函数或仅内部函数,则可能即使在此代码配置文件的内部缓冲区中也可以看到多个节拍。  您也可以提高刻度速度、以便窗口中存在更有用且密集的信息。  要回顾~简单的方法是连接外部接收器,接下来可能是滤波器,最后可能定义一个真正的空闲与 wfi。   跟踪缓冲器的模拟电路类似于带有存储器的示波器。  如果有大量存储器、可以使用更简单的触发器并且可以捕获事件、如果存储器非常小、则可能需要智能触发器和滤波器组合。  

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

    Richard:

    感谢您发送编修。  我会检查它们。

    另一个问题:在 已执行配置拆分锁定的脚本中:“Do “&path/../../../x_gel_to_cmm/J7AHP_R5LOCKSTEP.cmm &s_split_lock“

    我的想象是、这无法在应用程序内部完成。  应在设备管理器或系统固件中执行此操作?  我们不能在核心中执行应用程序、并在内部更改锁步、对吧?   

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

    管理代码中有一些可在 R5 上运行的库部分、以及一个在 M4 上运行的服务内核。 启动软件映像将构建电路板配置结构、由设置启动状态的 M4(后期身份验证)在启动时消耗该结构。  然后是运行时 API。   大多数~类型资源(如防火墙等)在运行时只能由 M4 内核访问。  对于安全或非安全、这是软件定义和支持的访问方式。  在安全设备上、通过阻止对资源的访问来强制执行约定。  这就是我们要努力的模式。   由于您有各种电路板类型和可以进行原始探测的调试器、因此在运行时检查所能看到的内容是一项很好的具体测试、用于验证理解情况。

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

    Jim、

    卢克已经分享了一些物体,我使用跟踪在 EVM 上快速运行。  我提供了详细的评论、这些评论可能更好地通过该支持途径分享。

    在运行代码时我注意到的是、由于 VIM 设置问题、在开机后、从运行转移到首次运行的行为通常会挂起。  某种未清除状态的混合似乎导致 VIM_DEDVEC ROM 推送以无法工作的方式发生。   我可以看到、有时 IRQ 明显工作、有时它卡在应用程序空间中、IRQ 被列为被阻止、有时它在 IRQ 中旋转、无法访问应用程序。 我倾向于猜测如果利用了 TI SDK 参考、那么这些类型的问题将会被忽略。  

    我确实在脚本中添加了 SAFERTOS 感知。  这给出了一些有趣的结果、在运行 ISR 以处理逻辑问题时可能会很有用。
    load_freertos_aware:
    (
     ;加载 FreeRTOS 感知
     TASK.CONFIG ~~/demo/arm/kernel/freertos/freertos.t32
     菜单。重新编程~~/demo/arm/kernel/freertos/freertos.men
     help.filter.Add rtosfreertos
     ; task.stack.pattern 0xA5 ;栈填充模式
     break.set task.config (magic)/Write /TraceData;pid track
     ;启用对 R5 TCM 的运行时访问
     执行“&path/../../../j784s4_runtime_memory_access.cmm &r5mode
     返回
    )
    这样我就可以看到有用的状态信息:
    此致
    理查德·W·
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    对于 VIM:   

    •  定义对 VIM_DEDVEC 有效的内容。  如果它指向 ROM、则会出现一些挂起情况、这很难弄清。

    • 我注意到 VIM 存储器中显然有损坏的部分。  如果它们被称为、则会有问题。
    • 在安装过程中、确保 IRQ 状态处于良好状态
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Richard:

    感谢您发送编修。  我将根据反馈进行调查。  是否将跟踪保存到文件中?  我想研究我这边的迹线。

    我还有一个调试紧急问题。 在我的 HS-EMU0/EMU1 FS 由硬件拉高、调试器无法访问内核。   

    • 是否通过对 HS‑FS J784S4 板禁用了 R5 内核访问  EMU0/EMU1 被拉至高电平?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jim、

    以下是您与 Luke 共享的 ELF 的跟踪文件。  如果您将 elf 加载到 simualtor 实例(或在您的硬件上)、则可以执行“trace.load halt_at_rfe.ad“并查看执行、直到 DEDVEC 挂起点为止。   如果没有匹配的 ELF 文件、重建将不起作用。  /cfs-file/__key/communityserver-discussions-components-files/791/halt_5F00_at_5F00_rfe.ad

    在 EMU0/1=高电平的 HS-ARM FS(功能引导模式)上、仅对 R 和 A 内核进行访问。  这意味着需要通过 SCI API 切换到拆分模式。   您可以使用 WIR 在裸机中加载 MCU1、但不会获得正在使用固件的 MCU0。
    此致、
    理查德·W·
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我无法打开该链接。   Luke 有私人共享箱、请上传至他的盒子。 谢谢

    单击链接时出错:

    抱歉,您所请求的页面不存在。 请使用上面的搜索表找到您感兴趣的信息。

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

    奇怪的是、我已上传到之前使用的共享文件夹。

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

    如果我想像使用 EVM GP 板那样访问 ARM M 和两个 R5 内核、EMO0 和 EMU1 应该是什么状态?  EMU0= 0 和 EMU1=1?

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

    对于复位时没有固件 EMU0/1=(0、1) 的裸机测试。  一旦需要固件、就需要 ROM+固件功能引导 (EMU0/1=1、1)、并且无法实现“完整 JTAG 加载“流程。  由于 M4 不可用、因此需要使用 sci API 调用。

    我已将当前脚本和说明 ppt 上传到共享、其中包含更多信息。

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

    很棒!  我将尝试脚本并浏览 ppt。 我可以与 Lauterbach 支持人员共享这些文档吗?  我也在与他们合作处理脚本。

    顺便说一下、如果您有其他包含更多测试场景的跟踪文件、请将其上传到共享框。 这些对我的代码优化很有帮助。   感谢您发送编修。

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

    是的、您可以与 Lauterbach 支持人员共享脚本、ppt、跟踪捕获。

    我仅生成报告、但未保存其他跟踪捕获。  如果它有用,我可以捕获和保存一些使用你的最后一个对象。  这可能会更好,你刷新你的图像,因为我有什么可能是陈旧的。

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

    您不必再次重新捕获。 我会在我这边做的。 非常感谢您的支持!

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

    我可以连接到第一个内核、但当我尝试连接到第二个内核时、出现以下错误:

    有总线错误、trace32 表示没有电源、第二个内核可能会丢失什么?

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

    起始点发生了什么变化?  您已在上述其它序列中连接到第二个核心。

    如果第一个内核正常但第二个内核不正常、则可能是处于锁步模式而不是拆分模式。  第二个内核也可以采用某种形式的复位。