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.
我最近在 TMS320F280049C controlCARD 上开始了新的开发。 我配置了 GPIO、ADC、ePWM、到目前为止都按预期工作。 然后、我开始配置中断、这就是问题所在。
我编写了中断编程代码、对 controlCARD 进行编程(通过集成的隔离式 XDS100仿真器)、CCS10快速返回连接错误。 确认后反复出现错误"弹出"、这迫使我从 CCS 中按 Ctrl+Alt+Suppr 进行下一步操作。 重新启动 CCS 时、我再次尝试对 controlCARD 进行编程、并收到以下错误消息:
IcePick_C_0:连接到目标时出错:(错误-2131 @ 0x0)无法访问器件寄存器。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.2.0.00002)
器件和 XDS100断电并再次打开时没有发生任何变化、也没有重启 CCS 或重启 PC。 编程立即开始、因此程序不起作用(甚至不是 TI 示例)。 我尝试通过实验套件 JTAG 连接器使用独立的 XDS100、同样的错误。
硬件设置只有 controlCARD 连接到 PC、某些 ADC 引脚上有一些示波器探针、因此不涉及破坏性电压。
我认为这可能是一个电气干扰、因此我订购了一个新的 controlCARD。 我将其插入坞站、加载了一个示例代码、运行良好。 然后、我再次加载代码、再次出现连接问题、即 ctrl+alt+Suppr out of CCS、并且在之后尝试在 controlCARD 上加载任何代码时出现相同的错误。 该 controlCARD 在退出软件包10分钟后出现故障。
按照 FAE 的说明、我尝试使用 Uniflash 使用示例代码对 controlCARD 进行编程、结果相同
我还尝试使用命令行连接到 JTAG 探针、但也没有成功
考虑到在加载最新代码版本后 controlCARD 两次都发生故障、看起来很像故障是由软件造成的、不知怎么...
下面是配置中断的代码(controlCARD 失败前最后修改的函数):
void ConfigurationInterrupts (void) { EALLOW; //禁用 CPU 中断并清除所有 CPU 中断标志 IER = 0x0000; IFR = 0x0000; PieVectTable.EPWM3_INT =&调节; IER |= 0x4;//启用中断组3 PieCtrlRegs.PIECTRL.bit.ENPIE = 1; EDIS }
Adrien、
是否可以检查 Windows 设备管理器? XDS 是否正确枚举?
请浏览此页面以进一步调试 JTAG 连接。 只需在此页面上查找错误代码-2131。
https://software-dl.ti.com/ccs/esd/documents/ccs_debugging_jtag_connectivity_issues.html
另一个链接将用于在连接阶段进行故障排除:
software-dl.ti.com/.../ccs_debugging_jtag_connectivity_issues.html
您好!
下面是我从 Windows 设备管理器获得的内容
根据您发送的链接、问题似乎是硬件问题
如果 ICEPick 驱动程序在连接时立即报告此错误、则 JTAG 连接本身可能会发生硬故障(电缆或连接松动等)。
它是指故障代码可能导致问题的情况、链接到不包含太多详细信息的另一个段
一种故障应用、通过发出连续复位、硬故障、断电等中断器件常规运行 在更不寻常的情况下、可能还需要更新 CCS 或 JTAG 调试器中的器件支持
正如我说过的、当我修改设置中断的代码时、这个问题出现了。 中断配置中是否有这样的东西会扰乱 JTAG?
Adrein、
您在帖子中提到、只有在对器件进行编程后才会出现 JTAG 连接问题。 您是否保护器件?
如果您要保护器件、ECSL 逻辑将使 JTAG 跳闸、以避免未经授权访问器件。 我建议您使用"SCI 引导/等待引导"选项来保持、以避免 DCSM 使您的 JTAG 连接跳闸。 设置为 SCI 引导(或)等待引导要求您更改引导模式引脚。 如果您使用的是默认引导模式引脚、那么设置 GPIO24 =下拉且 GPIO32 =下拉为高电平应该会在 SCI/等待引导模式下引导您的器件。 然后您应该能够连接到器件。 连接到器件后、您必须取消保护器件才能执行任何有意义的调试。
此致、
曼诺伊
Manoj、
感谢您的建议。 我的情况还没有得到解决,但有了很大的改善!
controlcad 处于其默认的"开箱即用"状态、GPIO 24和32均拉高。 通过将其设置为 GPIO24低电平、可以对 MCU 进行编程! Wn 给它加电、板上的所有 LED 都是绿色的、只有在对它进行编程并启用程序时、D3 LED 才会亮起红色。 不同于初始状态(从闪存引导)、其中 D3在加电时变为红色。
因此、程序似乎将 MCU 设置为无法在 JTAG 上通信的状态、闪存上的引导会在加电时启动代码、从而无法再次进行编程。 在 SCI 引导/等待中引导不会影响代码、并且可以对其进行重新编程。 已保存!
现在、我只需要弄清楚代码中的哪些内容会使 MCU 无法与 JTAG 通信。 这是不实际的,因为启动当前代码会导致 CCS 崩溃(不可忽略的错误),但至少我可以做*什么*!
非常感谢您的帮助! (并用于节省2个 controlCARD、使其从进入 BIN)
Adrien、
我注意到(通过电子邮件中的 FAE)您正在将32 - 63的所有 GPIO 配置为 GPIO 输出引脚。
GPIO35和 GPIO37被多路复用至 TDI/TDO 引脚。 GPIO35/37默认为 JTAG 引脚。 但是、当您将它们配置为 GPIO 输出引脚时、它不再是 JTAG 引脚。 这就是 JTAG 断开连接的原因。 当使用等待引导模式(或) SCI 时、我们会阻止 CPU 运行将这些引脚配置为 GPIO 引脚的应用程序代码。 因此、您将能够连接到器件。
此致、
曼诺伊
谢谢 Manoj、
当我发现 GPIO 是问题的根源时、我假设问题与此类似。 感谢您的确认。
我还对给我带来的不便表示歉意,因为这是我的一个愚蠢的错误...
这些错误发生了、这就是我们的学习方式。 我很高兴能够帮助您解决问题。
祝您使用 C2000进行编程愉快! 祝您的项目顺利。
此致、
曼诺伊