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.

[参考译文] TMDXIDK5718:RE -使用 UniFlash 对 QSPI 闪存进行编程

Guru**** 2551110 points
Other Parts Discussed in Thread: TMDXIDK5718, UNIFLASH, AM5718

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/986279/tmdxidk5718-re---programming-qspi-flash-using-uniflash

器件型号:TMDXIDK5718
主题中讨论的其他器件: UNIFLASHAM5718

您好!

我使用 TMDXIDK5718 EVM 进行开发和测试。 我使用 Uniflash 6.1.0在 QSPI 中刷写了 MLO 和示例多核应用程序(主机:Ubuntu 16.04)。 已刷写 MLO 和应用程序并成功执行。

当我尝试刷写另一个应用程序时、我将看到"CortexA15_0:写入长度为0x4的第0页上的0x58880800处的存储器块时遇到问题:(错误-1141 @ 0x3D58)设备未响应请求。" 误差。 之后、即使重新启动、我也无法通过 JTAG 访问 AM5718。

如何重新编程已编程的 QSPI 闪存?

我的自定义模块将仅将 QSPI 作为引导模式。 应用程序应采用裸机、仅使用 PDK 1.0.17中提供的 CSL/驱动程序库。 在本例中、如何重新编程?

日志:

CortexA15_0:GEL 输出:-->>AM571x 目标连接序列开始... <<<--
CortexA15_0:GEL 输出:--> AM571x PG2.0 GP 器件<<---
CortexA15_0:GEL 输出:->>>>OPPNOM 的 PRCM 时钟配置正在进行中... <<<--
CortexA15_0:GEL 输出:Cortex A15 DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:Cortex A15 DPLL 已锁定、现在正在解锁...
CortexA15_0:GEL 输出:Cortex A15 DPLL OPP 0完成!
CortexA15_0:GEL 输出:IVA DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:IVA DPLL 已锁定、现在正在解锁...
CortexA15_0:GEL 输出:IVA DPLL OPP 0完成!
CortexA15_0:GEL 输出:每个 DPLL OPP 0时钟配置正在进行...
CortexA15_0:GEL 输出:每个 DPLL 已锁定、现在解锁
CortexA15_0:GEL 输出:每个 DPLL OPP 0完成!
CortexA15_0:GEL 输出:内核 DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:内核 DPLL OPP 已锁定、现在正在解锁...
CortexA15_0:GEL 输出:内核 DPLL OPP 0完成!
CortexA15_0:GEL 输出:Abe DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:Abe DPLL OPP 已锁定、现在正在解锁...
CortexA15_0:GEL 输出:Abe DPLL OPP 0完成!
CortexA15_0:GEL 输出:GMAC DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:GMAC DPLL 已锁定、现在正在解锁....
CortexA15_0:GEL 输出:GMAC DPLL OPP 0完成!
CortexA15_0:GEL 输出:GPU DPLL OPP 0时钟配置正在进行...
CortexA15_0:GEL 输出:GPU DPLL 已锁定、现在正在解锁...
CortexA15_0:GEL 输出:GPU DPLL OPP 0完成!
CortexA15_0:GEL 输出:DSP DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:DSP DPLL 已锁定、现在正在解锁....
CortexA15_0:GEL 输出:DSP DPLL OPP 0完成!
CortexA15_0:GEL 输出:PCIe_REF DPLL OPP 0时钟配置正在进行...
CortexA15_0:GEL 输出:PCIe_REF DPLL 已锁定、现在正在解锁....
CortexA15_0:GEL 输出:PCIe_REF DPLL OPP 0完成!
CortexA15_0:GEL 输出:->>>>OPP 0的 PRCM 时钟配置完成! <<<--
CortexA15_0:GEL 输出:->>>PRCM 配置、用于所有进行中的模块... <<<--
CortexA15_0:GEL 输出:->>>>PRCM 所有模块的配置均已完成! <<<--
CortexA15_0:GEL 输出:->>DDR3初始化正在进行... <<<--
CortexA15_0:GEL 输出:666MHz 的 DDR DPLL 时钟配置正在进行中...
CortexA15_0:GEL 输出:DDR DPLL 已锁定、现在正在解锁...
CortexA15_0:GEL 输出:666MHz 的 DDR DPLL 时钟配置已完成!
CortexA15_0:GEL 输出:启动完全调平
CortexA15_0:GEL 输出:更新 PHY_STATUSx 寄存器中的从器件比率
CortexA15_0:GEL 输出:根据硬件调平输出
CortexA15_0:GEL 输出:硬件调平现已禁用。 使用中的从器件比率
CortexA15_0:GEL 输出:PHY_STATUSx 寄存器
CortexA15_0:GEL 输出:->>DDR3初始化完成! <<<--
CortexA15_0:GEL 输出:-->>>将计时器支持源映射到默认内核<<<< ----
CortexA15_0:GEL 输出:->>IPU1SS 初始化正在进行... <<<--
CortexA15_0:写入长度为0x4的第0页上0x58880800处的存储块时遇到问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:GEL:执行 OnTargetConnect()时出错:目标写入0x58880800失败
at *(unsigned int *) regAddr)=(unsigned int) 0x40000000 [AM571x_multicore_reset.gel:12]
在 IPUSSClkEnable (1)[AM571x_multicore_reset.gel:236]
在 IPU1SSClkEnable_API ()[AM571x_multicore_reset.gel:210]
在 AM571x_multicore_EnableAllCores()[AM571x_startup_common.gel:42]
在 OnTargetConnect()
CortexA15_0:读取寄存器 REG_SYSTEM_TARGET_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_TARGET_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_TARGET_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_TARGET_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_TARGET_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_TARGET_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_STATUS 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_STATUS 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 CP15_Registers.REG_CTXA15_CP15_C2_TTBCR:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 CP15_Registers.REG_CTXA15_CP15_C2_TTBR0_64B 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 CP15_Registers.REG_CTXA15_CP15_C2_TTBR1_64B 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 CP15_Registers.REG_CTXA15_CP15_C3_DACR 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:无法运行目标 CPU:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_STATUS 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_STATUS 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 CP15_Registers.REG_CTXA15_CP15_C2_TTBCR:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 CP15_Registers.REG_CTXA15_CP15_C2_TTBR0_64B 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 CP15_Registers.REG_CTXA15_CP15_C2_TTBR1_64B 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 CP15_Registers.REG_CTXA15_CP15_C3_DACR 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_TARGET_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)
CortexA15_0:读取寄存器 REG_SYSTEM_MMU_CONFIG 时出现问题:(错误-1141 @ 0x3D58)器件未响应请求。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.3.0.00042)

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

    您好!

    根据您的日志、GEL 脚本在写入 IPU1_UNCACHE_MMU 寄存器以对 Ammu 条目进行编程时遇到问题。

    这在系统已初始化并正在运行时很常见、因为闪存已对 MLO 和 AppImage 进行编程。

    解决此问题的方法很少。

    -更改通过 EVM 上的 DIP 开关配置的 SYSBOOT 引脚设置的引导模式。 请参阅 EVM 指南以查找 DIP 开关并将引导模式更改为 QSPI 闪存引导模式以外的其他模式、以避免系统在闪存中使用 MLO 进行引导。 有关 SYSBOOT 引脚到引导模式的映射、请参阅 TRM。 当您想从闪存引导时、将引导模式改回。

    -在 CCS 中、连接到 A15后、触发"系统复位"、该操作应复位系统并在复位时停止 CPU。 然后从 GEL 脚本运行"OnTarget Connect"选项以重新初始化系统。 之后、您可以加载闪存写入器并对闪存进行编程。

    此致、

    斯坦利

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

    您好!

    TMDXIDK5718没有用于更改引导模式的 DIP 开关。 同样、我的定制模块也没有用于 SYSBOOT 引脚的 DIP 开关。

    在 CCS 中、我无法连接到 A15、因为我的 BLO 已开始运行。

    在本例中,如何对 QSPI 闪存进行编程?

    此致、

    Shanmugam