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.

[参考译文] F28M36H33B2:加载程序后无法连接至内核(无法访问 DAP)

Guru**** 2512955 points
Other Parts Discussed in Thread: F28M36H33B2, CONTROLSUITE, TI-CGT

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1077026/f28m36h33b2-unable-to-connect-to-core-after-program-load-unable-to-access-the-dap

部件号:F28M36H33B2
“线程:测试controlSUITE”中讨论的其它部件

我有一个项目在我的 Concerto 板上工作正常。 该项目是用 C 编写的,我刚刚做了一些修改,将其移植到 C++中。 程序编译成功,然后我将程序加载到 RAM 中进行测试。 我注意到 CCS 显示的对话框显示了“擦除和 加载闪存”,这不是我在加载到 RAM 时所期望的。 它也没有完成装运,然后就被绞死了。 之后,我根本无法连接到设备。 我遇到以下错误:  

连接到目标时出错:
(错误-1170 @ 0x0)
无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。
(仿真包9.3.0.00042)

我尝试了一些事情来看看这是否是硬件问题,但最终尝试了另一个主板,结果完全一样。 我加载的程序中的某些内容似乎写入了错误的内存空间,现在已锁定设备。  

然后,我尝试通过执行以下操作,在“等待重置”模式下启动设备:

*我启用了连接时的暂停目标。

*然后我按住 PCB 上的重置按钮以保持设备处于重置状态。

*然后,我尝试在调试窗口中连接到目标,如果我理解正确,则会将 EMU0引脚拉至0,将 EMU1引脚拉至1,这是在 WIR 模式下启动所必需的。

*然后我释放重置,使设备以 WIR 模式启动。

释放重置后,它似乎已连接到 M3内核,并在调试窗口中显示以下内容:  

控制台显示:

Cortex_M3_0:凝胶输出:启用看门狗计时器
Cortex_M3_0:凝胶输出:启用 UART

但是,我仍然无法加载程序。 当我尝试仅断开连接时,控制台上的输出如下:

Cortex_M3_0:GEL:执行 OnReset (0)时出错:目标读取0x00681000失败
在 R1=*(0x681000)[f28m36h33b2_m3.gel:327]
在 READ_OTPSECLOCK ()[f28m36h33b2_m3.gel:55]
在 OnReset (0)时
Cortex_M3_0:断点管理器:启用此功能时出错:目标访问失败
Cortex_M3_0:GEL:执行 OnRestart( 0 )时出错:目标读取0x00680430失败
AT *((无符号长*) 0x400FE004)=*(无符号长*) 0x00680430)[F28m36h33b2_m3/m3.gel:337]
在 Device_Config()[f28m36h33b2_m3/gel:69]
重新启动时(0)
Cortex_M3_0:设置操作“终止程序执行”的断点时遇到问题,时间为0x20018e12:(错误-1170 @ 0x20018E12)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包9.3.0.00042)
Cortex_M3_0:断点管理器:使用 AET 断点重试
Cortex_M3_0:断点管理器:启用此功能时出错:地址超出允许的范围
Cortex_M3_0:设置操作“完成自动运行”的断点时遇到问题,网址为0x20000b20:(错误-1170 @ 0x20000B20)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包9.3.0.00042)
Cortex_M3_0:删除操作“完成自动运行”的断点时出现问题,网址为0x20000b20:(错误-2044 @ 0x20000B20)内部错误:请求的断点不存在。 重新启动应用程序。 如果错误仍然存在,请报告错误。 (仿真包9.3.0.00042)
Cortex_M3_0:JTAG 通信错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包9.3.0.00042)

我还尝试使用片上闪存 GUI 擦除闪存。 但它给出了错误“Target not connected or does not support current flash operation (目标未连接或不支持当前闪存操作)”。

一些帖子暗示设备可能已锁定,但似乎并非如此,因为密码位置全部为 F:

我没有从 C 中写入的工作版本更改链接器文件中的任何内容

我加载的程序中的哪些内容可能导致这种情况发生?

是否有方法手动连接到设备并擦除闪存以恢复主板? 我现在有三块板被锁定了。

如果它能帮助我发送链接器文件,甚至是带有私人消息的对象文件和源代码。

谢谢

阿尔伯特

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

    阿尔伯特

                   我想知道设备是否意外锁定。 您是否查看过您的.map 文件以查看密码位置是否有任何内容? 下面的两个帖子听起来与您的情况类似,但我觉得您已经了解了这两个方面:  

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/510932/concerto-unable-to-access-the-dap

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1059671/f28m36p63c2-concerto-f28m36-unable-to-access-the-dap-problem

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

    哈雷什

    是的,我确实看了这两个职位。  

    如果我看一下闪存 GUI,密码将显示 FFFFFFFFFFFF。 在地址0x200000和 0x2FFFDC 的内存浏览器中,它都是零。

    这是否意味着密码已更改?

    在.map 文件中,似乎没有向密码位置写入任何内容。 (我正在尝试将文件上传到此帖子,但它不起作用)

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

    e2e.ti.com/.../6724.map.zip

    以下是.map 文件。 如果我无法恢复主板,至少我需要修复程序中导致该问题的原因。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="392988" url="~ë/support/iclma-group/c2f/c2000-微控制器-forum/1077026/f28m36h33b2-无法连接至内核-程序后-加载-无法访问- DAP"]我的项目正在开发中[引用/引用]。

    我认为该项目配置为完全关闭 RAM,您在加载和关闭 RAM 时从未遇到过问题。

    [引用 userid="392988" url="~ë/support/iclma-group/c2f/c2000-微控制器-forum/1077026/f28m36h33b2-无法连接至内核-程序后-加载-无法访问- DAP ]我注意到 CCS 在 加载闪存时显示了什么内容,并引用了错误信息。

    好的,考虑到您使用了与上一步相同的链接器命令文件,这是很奇怪的。

    [ 引用用户名="392988" url="~/support/icros/c2000微控制器-组/CC2000 /f/c2000微控制器-论坛/1077026/f28m36h33b2 -无法连接至内核-程序后加载-无法访问- DAP/3987133 0x39133[所有地址]和 FIT 地址中的 FF2000[。]

    您所附的内存浏览器图像未显示正确的起始地址。 请选择32位十六进制- TI 样式吗?

    [引用 userid="392988" url="~ë/support/iclma-group/c2f/c2000-微控制器-forum/1077026/f28m36h33b2-无法连接至内核-程序后加载-无法访问- DAP/3987378#97378#map 文件。] [/引用]

    我查看了您的.map 文件。 什么是分配给0x681000 (OTP -安全锁)的.init_array?

    您是否正在使用作为 controlSUITE 一部分提供的链接器命令文件? 或者,您是否修改了为您的应用程序提供的链接程序命令文件? 如果是前者,请提供文件名和 controlSUITE 版本。 如果是后者,请将扩展名重命名为.txt 并提供。

    您使用的 CCS 是什么版本?

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

    你好,Haresh。

    感谢这一线索。 我进一步调查了.init_array,并将其缩小到标准矢量库。 当时我在新的 C++代码中声明了一个向量,编译器添加了 init_array 并自动放置在该内存空间中。 搜索后,我发现此帖子存在类似问题:

    https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/231783/concerto-f28m35x-can-i-use-standard-vector-template

    然后,我在链接器文件中添加了一个部分,将 init_array 放置在有效的内存空间中,如下所示:

    init_array:  >> C0 | C1 | C2 | C3 | C4

    这似乎已经解决了问题的原因,我现在可以将程序加载到目标上。 但是,程序无法正常运行,如果我查看变量,则符号似乎全部混合。 它也不会停留在我希望它停止的休息点。 编辑链接器文件的正确方法是什么,或者我应该执行其他任何操作,以确保将此 init_array 放置在正确的位置? 以下是我当前的链接器文件:

    e2e.ti.com/.../F28M36x_5F00_Custom_5F00_wshared_5F00_M3_5F00_RAM.txt

    此外,我仍然坐在三块板上,这些板现在已锁定,无法使用。 此外,我似乎无法解锁密码,因为密码位置是用零写入的:

    如果我尝试访问 地址0x681000的 OTPSECLOCK,设备将断开连接:

      

    这是否意味着设备已永久锁定,或者我是否有办法恢复它?

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

    我还需要补充的是,当我包括了我收到的错误消息时:

     描述路径资源位置类型
    #306过载函数“std:__2::__C11_atural_exchange”的实例没有与参数列表/Concerto RogueTest_M3 .ccsproject line 1730,外部位置:C:\ti\ccs901\CCs\tools\compiler\ti-CGT-arm_18.12.1.LTS \include\libcxx+原子弹问题
    #306过载函数“std:__2::__C11_atural_exchange”的实例没有与参数列表/Concerto RogueTest_M3 .ccsproject line 1733匹配,外部位置:C:\ti\ccs901\CCs\tools\compiler\ti-CGT-arm_18.12.1.LTS \include\libcxx+原子弹问题
    #306过载函数“std:__2::__C11_atural_store”的实例没有与参数列表/Concerto RogueTest_M3 .ccsproject line 1736匹配,外部位置:C:\ti\ccs901\CCs\tools\compiler\ti-CGT-arm_18.12.1.LTS \include\libcxx+原子弹问题
    #306过载函数“std:__2::__C11_atural_store”的实例没有与参数列表/Concerto RogueTest_M3 .ccsproject line 1739匹配,外部位置:C:\ti\ccs901\CCs\tools\compiler\ti-CGT arm_18.12.1.LTS \include\libcxx+原子弹问题
    gmake:***[src/Concerto _M3-Main.obj]错误1 Concerto RogueTest_M3 C/C++问题
    Gmake:目标“全部”不会因为错误而重做。 Concerto RogueTest_M3 C/C++问题

    然后,我在一篇文章(e2e.ti.com/.../compiler-omap-l138-ti-arm-cgt-v18-12-2-lts-ti-c6000-cgt-v8-3-3-lts-compiler-error-when-vector-or-functional-included)中找到了一个变通办法 ,只需在#include <vector>之前添加以下内容

    #ifdef 正确
    #UNDEF TRUE
    #endif
    #ifdef 错误
    #UNDEF 错误
    #endif

    但这种变通办法也可能不是正确的方法?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="392988" url="~ë/support/icpers/c2000微控制器-组/CC2000 /f/c2000微控制器-论坛/1077026/f28m36h33b2-无法连接至内核-程序后-加载-无法访问- DAP/3988802永久锁定或无法恢复设备?]

    我想知道密码是否显示为全部零,因为(i)设备已锁定或(ii)密码确实为全部零。 如果密码位置确实已被所有零编程,我恐怕无法恢复这些设备。 但是,我想知道为什么会先对闪存位置进行编程,因为我在.map 文件中看不到闪存。 您是否尝试使用所有 F 的“密码”解锁设备?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="392988" url="~ë/support/icns/c2000-微控制器-组/CC2000 /f/c2000 -微控制器-论坛/1077026/f28m36h33b2-无法连接至内核-程序后加载-无法访问- DAP/3988929变通办法是否正确?]

    阿尔伯特

                   我和一位编译专家讨论了这一点,他有以下几点要说:  

    此帖子中描述的问题 是用户的 C++程序包含了一个来自 StarterWare 的 C 头文件,该文件将“TRUE”和“FALSE”定义为宏。

    这在 C++中是一个很大的“否”,编译器对此毫无作用。  最好的修复方法是将 StarterWare 头文件 hw_types.h 更新为 C++安全,最有可能的方法是在尝试定义 TRUE 和 FALSE 之前检查它是否正在 C++下编译。”

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

    如果我尝试使用全 F 的片上闪存 GUI 解锁,我只会收到消息 “Target not connected or does not support current flash operation”(目标未连接或不支持当前闪存操作)。 有一次,它实际上说目标已成功解锁,但我仍然无法擦除闪存或加载程序。  不幸的是,我再也没有这些控制台输出,我似乎无法复制该结果。  

    但是,此内存地址0x681000似乎存在问题,因为当我尝试访问它时,它一直崩溃。

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

    好的,谢谢。 现在我将继续使用此变通办法。 但由于某种原因,我的节目在我宣布成为媒介时仍表现异常。 即使在我在链接器文件部分添加了行以将.Init_array 放置在正确的位置后。   有没有其他方法可以处理标准矢量库中的 Init_array?

    编辑:更新! 我找到 了为什么它仍然没有正确行事的原因。 在初始化相关寄存器之前,我在类构造器中调用了一些函数。  

    所以我的项目现在正在运行。 唯一的问题是 我无法访问的主板。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="392988" url="~ë/support/icns/c2000微控制器-组/CC2000 /f/c2000微控制器-论坛/1077026/f28m36h33b2-无法连接至内核-程序后-加载-无法访问- DAP/3989957#868991000,因为该问题似乎无法解决。]

    地址0x681000是 OTPSECLOCK 位置,代码安全模块的一部分。 在设备受到保护时对安全资源的访问将破坏调试器连接,这可能是您所看到的。

    关于您无法访问的主板,设备似乎意外地被未知密码锁定。 不幸的是,没有办法从这一点中恢复过来。 一种想法:在设置 M3ZxPSWDLOCK 位之前,设备未固定。 密码位置可能包含密码,但在设置该位之前,设备不受保护。 我们现在知道您的项目无意中被发送到 OTPSECLOCK,从而锁定了设备。 但是,密码位置本身应包含所有 F,因此我不太理解为什么您无法使用所有 F 的密码解锁设备,除非密码位置也被写入了一些未知值。 无论如何,我将继续并关闭此帖子,因为您的原始问题似乎已得到解决。

    另一个方面是,我注意到我上一篇文章中的链接有点模糊。 我想确保你看到了这篇文章。 我在这里复制实际的 URL: https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/811785/compiler-omap-l138-ti-arm-cgt-v18-12-2-lts-ti-c6000-cgt-v8-3-3-lts-compiler-error-when-vector-or-functional-included 

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

    你好,Haresh

    是的, 根本原因现已解决。 感谢您提供一些指示来缩小该问题的范围。

    但是,锁定电路板的副作用实际上是发布此帖子的最初原因。 我还想继续关注这些主板,即使我们必须创造一条新的线程,因为我还不相信它们已经永久锁定。 这就是为什么。 我能够再现我之前所见过的内容。 我可以连接到设备,这就是密码存储器的样子。

    然后单击解锁,结果如下:


    Cortex_M3_0:正在执行安全操作...
    Cortex_M3_0:设备当前已解锁,因此无需执行解锁操作。
    Cortex_M3_0:操作成功完成。

    以下哪项表示设备未正确锁定? 但如果我尝试擦除闪存,我就会得到:

    Cortex_M3_0: Erasing Flash memory...
    Cortex_M3_0: GEL: Error while executing OnReset(0): Target failed to read 0x00681000
    at R1=*(0x681000) [f28m36h33b2_m3.gel:327]
    at Read_OTPSECLOCK() [f28m36h33b2_m3.gel:55]
    at OnReset(0)
    Cortex_M3_0: Error occurred during flash operation: Target failed to read 0x400FE05C
    Cortex_M3_0: Error occurred during flash operation: Target failed to read 0x00681000
    Cortex_M3_0: Error occurred during flash operation: Target failed to read 0x00200000
    Cortex_M3_0: Error occurred during flash operation: Target failed to read 0x00200004
    Cortex_M3_0: Error occurred during flash operation: Target failed to read 0x00200008
    Cortex_M3_0: JTAG Communication Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.3.0.00042)
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x0020000C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB400: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB404: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB408: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB40C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x002FFFF0: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x002FFFF4: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x002FFFF8: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x002FFFFC: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB418: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB41C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB420: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB424: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00200010: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00200014: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB410: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB414: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x002FFFE8: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x002FFFEC: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB428: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB42C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FA600: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00200020: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x002FFFDC: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00200018: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x0020001C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x002FFFE4: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x002FFFE0: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680430: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FE004: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680410: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB900: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680414: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB904: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x0068042C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB930: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680400: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FE014: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680404: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FE01C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680408: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FE024: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x0068040C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FE194: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680418: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB910: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x0068041C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB914: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680420: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB918: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680424: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB91C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680428: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB920: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x00680434: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FE308: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x400FB8C0: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB8C0: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB980: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FE100: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FA600: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FA000: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FA048: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FA040: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FA300: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x20004000: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Cannot enable while the target is disconnected
    Cortex_M3_0: Error occurred during flash operation: Failed to run target while trying to execute pwrite_en.alg
    Cortex_M3_0: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
    Cortex_M3_0: Perform a debugger reset and execute the Boot-ROM code (click on the RESUME button in CCS debug window) before erasing/loading the Flash. If that does not help to perform a successful Flash erase/load, check the Reset cause (RESC) register, NMI shadow flag (NMISHDFLG) register and the Boot-ROM status register for further debug.
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x400FB800: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x400FB804: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x400FB80C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x400FB810: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x20004000: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Cannot enable while the target is disconnected
    Cortex_M3_0: Error occurred during flash operation: Failed to run target while trying to execute pwrite_dis.alg
    Cortex_M3_0: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
    Cortex_M3_0: Perform a debugger reset and execute the Boot-ROM code (click on the RESUME button in CCS debug window) before erasing/loading the Flash. If that does not help to perform a successful Flash erase/load, check the Reset cause (RESC) register, NMI shadow flag (NMISHDFLG) register and the Boot-ROM status register for further debug.
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB74C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x400FB74C: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not read 0x20004000: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x200041F4: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x200041FC: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x20004200: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x20004204: target is not connected
    Cortex_M3_0: Error occurred during flash operation: Cannot enable while the target is disconnected
    Cortex_M3_0: Error occurred during flash operation: Failed to run target while trying to execute wr_pll.alg
    Cortex_M3_0: Error writing the PLL values (Flash algorithm timed out). Operation cancelled.
    Cortex_M3_0: Perform a debugger reset and execute the Boot-ROM code (click on the RESUME button in CCS debug window) before erasing/loading the Flash. If that does not help to perform a successful Flash erase/load, check the Reset cause (RESC) register, NMI shadow flag (NMISHDFLG) register and the Boot-ROM status register for further debug.
    Cortex_M3_0: Error occurred during flash operation: Could not write 0x400FB74C: target is not connected
    Cortex_M3_0: Flash Programmer: Error initializing device. Please check if the device is locked.
    Cortex_M3_0: Error occurred during flash operation: Could not write register PC: target is not connected


    如果我加载程序,我将得到:

    Cortex_M3_0:凝胶输出:启用 UART
    Cortex_M3_0:GEL:执行 OnReset (0)时出错:目标读取0x00681000失败
    在 R1=*(0x681000)[f28m36h33b2_m3.gel:327]
    在 READ_OTPSECLOCK ()[f28m36h33b2_m3.gel:55]
    在 OnReset (0)时
    Cortex_M3_0:文件加载器:验证失败:地址0x20000000处的值不匹配请验证目标内存和内存映射。
    Cortex_M3_0:GEL:文件:C:\Users\Alberts\Documents\Albert work\Software Projects (Git repo's )\Concerto _RogueTest_M3\RAM\Concerto _RogueTest_M3.out:发生数据验证错误,文件加载失败。
    Cortex_M3_0:JTAG 通信错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包9.3.0.00042)
    Cortex_M3_0:停止目标 CPU 时出现问题:(错误-1266 @ 0x0)设备保持重置。 将设备从重置中取出,然后重试此操作。 (仿真包9.3.0.00042)

    然后我再次绑定解锁,结果是:

    Cortex_M3_0:正在执行安全操作...
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x00681000失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x00200018失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x0020001C 失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x00200000失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x00200004失败
    Cortex_M3_0:JTAG 通信错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包9.3.0.00042)
    Cortex_M3_0:闪存操作期间发生错误:无法读取0x00200008:目标未连接
    Cortex_M3_0:闪存操作期间发生错误:无法读取0x0020000C:目标未连接
    Cortex_M3_0:闪存操作期间发生错误:无法读取0x400FB480:目标未连接
    Cortex_M3_0:设备解锁失败。 设备仍被锁定。 请检查提供的密码。
    Cortex_M3_0:闪存操作期间发生错误:无法写入0x400FA000:目标未连接
    Cortex_M3_0:停止目标 CPU 时出现问题:(错误-1266 @ 0x0)设备保持重置。 将设备从重置中取出,然后重试此操作。 (仿真包9.3.0.00042)

    那么,该设备将会发生什么情况? 它是否已锁定?

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

    阿尔伯特

       我们正在对设备的状态进行一些假设,这些假设可能是真实的,也可能不是真实的。 理论上,我们有理由相信您应该能够解除设备的安全保护,但很明显,您无法这样做。 如果无法访问硬件,则很难调试此类问题。 我正在思考更多这方面的问题,并与同事一起集思广益。 我将在下周中的某个时候与您联系,并可能有更多的潜在客户。

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

    阿尔伯特

      只是想看看你在哪里。 您是否在使用任何新设备时遇到过此问题? 我无法想象为什么设备的密码位置表面上未被项目访问,但您无法解锁设备(除非在编程过程中出现“浏览”,导致密码位置处于未知状态)。

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

    没有任何进展。 不能,不能使用新设备。 只有我用错误代码编程的那些.init_array 意外地被置于0x00681000中的。   

    似乎设备不仅被锁定,而且我必须解锁。 这就好像设备损坏了,现在它的行为令人奇怪。 无论我是尝试加载程序,擦除闪存还是解锁,它都存在一些与内存地址0x00681000相关的错误。

      
    擦除闪存输出:  
    Cortex_M3_0:凝胶输出:启用看门狗计时器
    Cortex_M3_0:凝胶输出:启用 UART
    Cortex_M3_0:正在擦除闪存...
    Cortex_M3_0:GEL:执行 OnReset (0)时出错:目标读取0x00681000失败
    在 R1=*(0x681000)[f28m36h33b2_m3.gel:327]
    在 READ_OTPSECLOCK ()[f28m36h33b2_m3.gel:55]
    在 OnReset (0)时

    解锁输出:
    Cortex_M3_0:凝胶输出:启用看门狗计时器
    Cortex_M3_0:凝胶输出:启用 UART
    Cortex_M3_0:正在执行安全操作...
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x00681000失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x00200018失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x0020001C 失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x00200000失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x00200004失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x00200008失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x0020000C 失败
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x400FB480失败
    Cortex_M3_0:设备解锁失败。 设备仍被锁定。 请检查提供的密码。
    Cortex_M3_0:闪存操作期间发生错误:目标读取0x20004000失败

    加载程序输出:
    Cortex_M3_0:凝胶输出:启用看门狗计时器
    Cortex_M3_0:凝胶输出:启用 UART
    Cortex_M3_0:GEL:执行 OnReset (0)时出错:目标读取0x00681000失败
    在 R1=*(0x681000)[f28m36h33b2_m3.gel:327]
    在 READ_OTPSECLOCK ()[f28m36h33b2_m3.gel:55]
    在 OnReset (0)时
    Cortex_M3_0:文件加载器:验证失败:地址0x20000000处的值不匹配请验证目标内存和内存映射。
    Cortex_M3_0:GEL:文件:C:\Users\Alberts\Documents\Albert work\Software Projects (Git repo's )\Concerto _RogueTest_M3\RAM\Concerto _RogueTest_M3.out:发生数据验证错误,文件加载失败。
    Cortex_M3_0:JTAG 通信错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包9.3.0.00042)

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

    好的,谢谢更新。 我担心我们无法做更多的工作来进一步调试这一问题。