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.

[参考译文] CCS/RM57L843:无法擦除闪存(错误242和1170)

Guru**** 2448150 points
Other Parts Discussed in Thread: RM57L843, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/612633/ccs-rm57l843-unable-to-erase-flash-error-242-and-1170

器件型号:RM57L843
主题中讨论的其他器件: UNIFLASH

工具/软件:Code Composer Studio

当我尝试刷写我的 costum RM57L843主板时、我收到以下错误消息


CortexR5:GEL 输出:  闪存@地址0x0的存储器映射设置
CortexR5:错误:(错误-242 @ 0x0)无法访问路由器子路径。 电路板配置文件可能不正确。 (仿真包6.0.504.1)
CortexR5:错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包6.0.504.1)
CortexR5:20次尝试后无法确定目标状态
CortexR5:在断开连接之前未能从目标中删除调试状态。  程序存储器中仍可能嵌入了断点运算代码。  建议您在连接之前重置仿真器、并在继续调试之前重新加载程序
CortexR5:文件加载程序:内存写入失败:无法读取0xFFFFFFC4:目标未连接
CortexR5:GEL:文件:W:\SCU\SCU_1\Debug\SCU_1.Out:加载失败。


当我启动调试模式时会发生这种情况。

我可以直接连接 icepick DAP 和 Cortex。

我可以看到寄存器并读取存储器。 我无法更改存储器中的值

当我尝试使用"片上闪存"中的工具擦除闪存时、我会得到与 CCS7崩溃相同的错误消息。

 

已选中:

电压(VCC VCCIO、VCCP)(无压降、电源电压大于必要值)

时钟(16kHz 外部 Oszi)

无 nERROR 指示灯

 

软件/硬件:

CCS7

xds100v2

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

    很抱歉您遇到了一些问题。 您是否已仔细检查配置文件以确保它已设置为 RM57? 此外、您是否曾尝试使用 Uniflash 工具进行编程(因为它们应该使用类似的方法、所以作为另一个参考点)?

    最后、您使用的是 TI 的开发板还是定制板?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    代价电路板

    我找不到配置文件的存储库或文档。 您能给我一个链接吗?

    我们已订购 launchpad 板以检查配置文件。

    感谢您的快速回复

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

    您好、Merlin、

    目标配置文件包含在 CCS 中、如果您选择了安全 MCU 或 Hercules MCU 的支持文件、则应随 CCS 一起安装。

    本质上而言、当您设置项目时、您将选择器件和相关的目标配置。

    有关设置 CCS 工程和目标配置的更详细步骤、您可以参考在较旧 CCS 版本中介绍此设置的一日培训。 尽管材料是由 CCS 版本日期确定的、但仍应适用于较新版本。 您可以在此 wiki 页面 上找到为期一天的培训材料:processors.wiki.ti.com/.../Category:TMS570

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

    感谢您的回复!

    我们按照所述检查并创建了一个新项目。  

    更新:

    我们可以修改寄存器。  

    当尝试使用 fill 命令写入存储器时、我们得到以下奇怪的结果:

    我们用0xAFE 填充了从0x080000开始的0x1000字节。

    在以下2个屏幕截图中、您可以看到我们无法访问所有存储器字节。 在每次供电后、它们都会发生变化。

    CCS Output 1

    CCS Memory output 2

    在下面、您可以看到可写块的长度始终为64位

    64bit Blocks

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

    您能否提供有关您正在使用的"填充"命令的更多详细信息? 我不熟悉调试器中有关'fill'命令的任何功能?

    您还提到了每次电源更改后写入存储器的一些限制? 您所指的是什么类型的功率变化? 您是否意味着电路板/MCU 的电源循环? 这是可以预料的、因为您右边的存储器范围是易失性存储器(SRAM)、不会在下电上电周期内保持。

    您是否有尝试编程或进入调试模式的输出文件? 即、如果您有一个已成功编译和编译的工程、则可以进入调试、并且输出文件将编程到器件中。 您将能够在调试模式下控制执行。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Chuck Davenport">您能否提供有关您正在使用的'fill'命令的更多详细信息? 我不熟悉调试器中有关'fill'命令的任何功能?
    [/报价]

    在 CCS 中、我可以通过启动 Target Config 连接到 MCU。 之后、我可以使用存储器浏览器锁定存储器。 当我右键单击 MB 时、我可以选择一个内存填充命令。

    [引用 user="Chuck Davenport">您还提到了每次电源更改后写入存储器的一些限制吗? 您所指的是什么类型的功率变化? 您是否意味着电路板/MCU 的电源循环? 这是可以预料的、因为您右边的存储器范围是易失性存储器(SRAM)、并且不会在电源周期内进行维护。[/quot]

    通过转动电路板的电源来循环供电。

    未使用的部分是、可存取的存储器块在每个下电上电后都会发生变化。

    [引用 user="Chuck Davenport">您是否有尝试编程或进入调试模式的输出文件? 即、如果您有一个已成功编译和编译的工程、则可以进入调试、并且输出文件将编程到器件中。 您将能够在调试模式下控制执行。[/quot]

    我们有一个基本程序。 但是、我们不需要将程序写入 MCU。 我们会收到上面的错误消息、CCS 将退出调试模式。 尝试空白检查或擦除闪存会导致 CCS7崩溃。

    Uniflash 失败、出现相同的错误消息。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有有关使用外部时钟的文档。 数据表提供的信息不超过切换3.3V 电压所需的信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否提供您所需的模式详细信息? 即、您是否考虑将外部时钟与 DCC 配合使用? 代替晶体? 作为 RTI 的来源? 我需要更多详细信息来回答。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我有一个连接到 OSCIN 的外部时钟、该时钟在16MHz 和40/60占空比下在0和3.3V 之间切换。

    3421

    黄色:OSCIN 时钟

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

    我们测量了调试探针和 MCU 之间的 JTAG 信号、发现 TDO 会在几次振幅上分解。

    我们得到了以下测量值

    pic1

    黄色:TDO
    蓝色:TCLK

    我们在可疑的地方检查了 VCC:

          TDO 击穿 <-> TDO 正常

    3434

    蓝色:TMS
    黄色:VCC

    我们搜索了原因、发现 TMS 是 TDO 故障的原因  

    以下显示:

    pic2pic3

    蓝色:TDO
    黄色:TM
    粉色:TCLK 或 RTCK

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

    在扫描过程中、TDO 在特定时间为3态-乍一看、这似乎是正常的。

    (这是为了允许来自电路板上多个器件的 TDO 被连接在一起-只有所选器件驱动输出)

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

    您说得对、我们查看了 LaunchPad 参考板的信号并获得了类似的结果:

    pic1

    有什么想法、还有什么可能导致我们的问题?

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

    Merlin、

    关于连接到 OSCIN 的时钟源、您可以说该时钟源的输出具有60/40的占空比。 应考虑表6-12中标识的主振荡器时序要求的限值。 请注意、我认为这对当前问题没有任何影响、但应确保满足最小脉冲宽度和最大脉冲宽度。

    总结我们目前的情况:

    关于您的 JTAG 电路、我实际上没有看到任何问题、也没有想到会考虑到您能够与器件建立连接以及读取/浏览存储器和寄存器。

    有趣的是、当您使用 fill 命令/选择时、您只能写入 RAM 的一部分。 您是否知道器件中是否已运行代码? 即、这是空白器件、还是存在一些与 MPU 相关的驻留设置或软件、这些设置或软件会覆盖您写入其中的部分存储器内容?

    错误消息表示它无法连接到 DAP、读取/写入寄存器和填充存储器的操作、甚至部分使用了 DAP、因此在尝试启动正常调试会话时、这似乎只是一个问题、对吧?

    当您检查目标配置时、它应该与下图类似、但很显然、它是使用 RM57器件而不是 TMS570LC 器件。

    您能否在目标配置文件中确认此配置? 您还应该能够单击目标连接并查看测试的成功结果。

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

    [引用 user="Chuck Davenport">有趣的是、当您使用 fill 命令/选择时、只能写入 RAM 的一部分。 您是否知道器件中是否已运行代码? 即、这是空白器件、还是可能存在一些与 MPU 相关的驻留设置或软件、这些设置或软件会覆盖您写入其中的部分存储器内容?

    是的、我可以通过启动目标配置->手动连接到 Icpick、DAP 和 CortexR5、然后手动连接到每个目标。

    MCU 是空白器件。 我们还无法在上面获取代码。

    [引用 USER="Chuck Davenport"]错误消息表示它无法连接到 DAP、读取/写入寄存器和填充存储器的操作、甚至部分使用了 DAP、因此在尝试启动正常调试会话时、这似乎只是一个问题、正确?[/QUERPLET]

    是的!

    目标配置文件与此类似、顶部有 xds100v2、RM57与您所说的相同。

    [引用 user="Chuck Davenport">您能否在目标配置文件中确认此配置? 您还应该能够单击目标连接并查看测试的成功结果。

    [开始:德州仪器 XDS100v2 USB Debug Probe_0]

     执行以下命令:
    %CCS_base%/common/uscif/dbgjtag -f %boarddatafil文件%-RV -o -F inform、logfile=yes -S pathlength -S integrity

    [结果]

    ---- [打印电路板配置路径名]---------------

    C:\Users\mnagel\AppData\Local\TEXASI~1\CCS\

       TI\0\BrdDat\testBoard.dat

    ---- [打印重置命令软件日志文件]-----------------

     此实用程序已选择100或510类产品。
    此实用程序将加载适配器'jioserdesusb.dll'。
    库构建日期为"2017年23日"。
    库构建时间为'19:37:36'。
    库软件包版本为'6.0.628.3'。
    库组件版本为'35.0.0'。
    控制器不使用可编程 FPGA。
    控制器的版本号为'4'(0x00000004)。
    控制器的插入长度为"0"(0x00000000)。
    此实用程序将尝试重置控制器。
    此实用程序已成功重置控制器。

    ---- [打印重置命令硬件日志文件]-----------------

    扫描路径将通过切换 JTAG TRST 信号进行复位。
    控制器是具有 USB 接口的 FTDI FT2232。
    从控制器到目标的链路是直接的(不带电缆)。
    该软件配置为 FTDI FT2232功能。
    控制器无法监控 EMU[0]引脚上的值。
    控制器无法监控 EMU[1]引脚上的值。
    控制器无法控制输出引脚上的时序。
    控制器无法控制输入引脚上的时序。
    扫描路径链路延迟已精确设置为"0"(0x0000)。  

    ---- [用于从 PLL 生成的 JTAG TCLK 输出的日志文件]---

     没有用于对 JTAG TCLK 频率进行编程的硬件。

     ---- [测量最终 JTAG TCLKR 输入的源和频率]----

     没有用于测量 JTAG TCLK 频率的硬件。

     ---- [对 JTAG IR 和 DR 执行标准路径长度测试]-----

     此路径长度测试使用64个32位字的块。
    JTAG IR 指令路径长度测试成功。
    JTAG IR 指令路径长度为6位。

    JTAG DR 旁路路径长度测试成功。
    JTAG DR 旁路路径长度为1位。

    ---- [对 JTAG IR 执行完整性扫描测试]-----

    此测试将使用64个32位字的块。
    该测试将仅应用一次。

    使用0xFFFFFFFF 进行测试。
    扫描测试:1、跳过:0、失败:0
    使用0x00000000执行测试。
    扫描测试:2、跳过:0、失败:0
    使用0xFE03E0E2执行测试。
    扫描测试:3、跳过:0、失败:0
    使用0x01FC1F1D 进行测试。
    扫描测试:4、跳过:0、失败:0
    使用0x5533CCAA 进行测试。
    扫描测试:5、跳过:0、失败:0
    使用0xAACC3355进行测试。
    扫描测试:6、跳过:0、失败:0
    所有值均已正确扫描。

    JTAG IR 完整性扫描测试成功。  

    ---- [在 JTAG DR 上执行完整性扫描测试]-----

    此测试将使用64个32位字的块。
    该测试将仅应用一次。

    使用0xFFFFFFFF 进行测试。
    扫描测试:1、跳过:0、失败:0
    使用0x00000000执行测试。
    扫描测试:2、跳过:0、失败:0
    使用0xFE03E0E2执行测试。
    扫描测试:3、跳过:0、失败:0
    使用0x01FC1F1D 进行测试。
    扫描测试:4、跳过:0、失败:0
    使用0x5533CCAA 进行测试。
    扫描测试:5、跳过:0、失败:0
    使用0xAACC3355进行测试。
    扫描测试:6、跳过:0、失败:0

    所有值均已正确扫描。

    JTAG DR 完整性扫描测试成功。

     [结束:德州仪器 XDS100v2 USB 调试探针_0]

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

    TMS、TDO、nTRST 上是否有上拉或下拉电阻器/电容器位于您自己的 PCB 板上?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    王先生、您好!

    我听从了另一个线程的建议、并进行了后续设置。

    jtag

    我使用上拉电阻器测试了电路板、但未使用相同的结果连接 RTCK。

    我发现、使用 uniflash 擦除存储器时、我们能够使用 CCS7中的 fill 命令。

    我在 Uniflash 治疗前后连接了寄存器导出

    e2e.ti.com/.../6011.register_5F00_after_5F00_powering_5F00_board.txt

    e2e.ti.com/.../0181.register_5F00_after_5F00_uniflash.txt

    e2e.ti.com/.../2260.register_5F00_without_5F00_uniflash_5F00_after_5F00_error_5F00_242.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我应补充:
    我们使用相同的结果测试了100kHz 和10kHz 连接
    我们使用 launchpad 检查了我们的 xds100v2、没有任何问题
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Merlin、

    您的调试器是否没有 RTCK 信号? 如果不是、您可以将 TCK 连接到电路板上的 RTCK、然后重试吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我有3个板、2个板已连接、第三个板处于原始状态。  

    这三种器例都具有完全相同的行为。

    1.是否有方法将电路板运送到弗莱辛进行分析?

    2.根据您的经验:如果我使用 xds100v2或 xds110、会有什么不同?

    3. ADC 和连接的信号是否会导致此问题?

    4、我测量的是 DCAN4RXD 上的低电平、而不是所有其他 DCAN 线路上的高电平。

    这可以是简单的吗?

    我将通过 PN 向您发送完整原理图、因为我无法公开发布。

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

    nRST 和 nTRST 已连接。 这样我就看到 nRST 拉低 nTRST、导致 JTAG 接口定期复位、这会导致异常行为。

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

    Merlin、

    感谢您关注在线主题、将其关闭并公布您的根本原因。 这是非常值得赞赏的,希望能帮助遇到同样问题的其他人。