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:使用 UniFlash 对 QSPI 闪存进行重新编程

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/996505/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)

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

    您好!

    看起来、当您尝试通过 JTAG (CCS)进行连接时、GEL 文件已加载。 由于您之前已经刷写了 MLO 并对应用程序进行了采样、因此系统正在从那里获取这些详细信息。 您需要做的是擦除 QSPI 存储器以删除 MLO。 按照以下顺序操作:

    1. 对电路板进行下电上电。
    2. 连接到 CCS -不带 GEL 的 A15内核(右键单击内核、转到打开 GEL 文件视图、转到 GEL 视图、选择全部删除)。
    3. 加载并运行 C:\ti\uniflash_6.1.0\processors\FlashWriter\idkAM571x\UART_idkAM571x_flash_programmer.out。
    4. 运行上述二进制文件后、您可以在 UART 控制台中看到 CCC。
    5. 关闭控制台并从 uniflash 根目录打开 CLI。
    6. 运行命令-> dslite.bat --mode processors -c COM6 -e 10000 -d 2 -o 0。  这将擦除 MLO、您之前刷写的内容。

    注->将 COM 端口号替换为端口号。