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/CC2652R:停止目标 CPU 时出现故障:(错误-2064 @ 0x0)、错误:(错误-1170 @ 0x0)无法访问 DAP

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/893843/ccs-cc2652r-trouble-halting-target-cpu-error--2064-0x0-error-error--1170-0x0-unable-to-access-the-dap

器件型号:CC2652R
Thread 中讨论的其他器件:SysConfig

工具/软件:Code Composer Studio

您好!

我有以下问题。 一个特定的程序总是以如下所示的错误消息停止。 我已删除所有断点。 我意识到、当闪存另一个程序时、问题不会出现。

该程序构建于 Project Zero 示例之上、该示例使用时间数字转换器集成了传感器控制器、并通过蓝牙发送数据。

这里的错误可能是什么? 是否有任何解决方案?

非常感谢。

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

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

    您好!

    此错误通常由调试探针和目标板上器件之间的断开连接引起、下面的调试 JTAG 页面中显示了一些故障排除技巧:

    https://software-dl.ti.com/ccs/esd/documents/ccs_debugging_jtag_connectivity_issues.html 

    如果您同时进行 UART 通信、则存在与此方案相关的未解决错误(EXT_EP-9768)-在下面的签名中检查其在链接 SIR 中的状态。  

    希望这对您有所帮助、

    拉斐尔

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

    您好!

    感谢您的重播。 我有一个 UART 通信、因此这可能是问题所在。 我访问了您的链接、但我找不到未解决的错误。

    是否可以将 direkt 链接发布到错误?

    非常感谢。

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

    您好!

    抱歉、我输入了错误的错误代码。 我在上面修复了这个问题。

    此致、

    拉斐尔

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

    您好!

    现在我再也看不到你签名下面的 SIR 链接了。 它消失了。

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

    您好!

    有趣;链接在我的签名中为我显示。  

    无论以何种速率、直接链接都是:

    https://sir.ext.ti.com/jira/browse/EXT_EP-9768 

    此致、

    拉斐尔

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

    您好!

    我发现问题是将传感器控制器代码集成到 Code Composer Studio 中。

    我使用 HWI 读取传感器控制器内存、这使我遇到了上述问题。

    现在、我更改为用于集成传感器控制器的 SWI。 现在工作正常。 但又出现了另一个问题。

    我也使用 SWI 作为周期性时钟、它通过蓝牙发送数据。 我想、如果不发送数据、一切都正常、但如果我切换时钟、程序会像以前一样再次显示错误。 我认为必须有一个优先问题。 如何更改其中一个中断的优先级? 在特定时间点或特定频率下发送数据的另一种方法是什么?

    我认为、较高的优先级是将 AUX RAM 中的所有数据复制到主 RAM 中、发送数据只需在下一次复制操作之前的一段时间内发生。

    我希望有任何解决办法。

    谢谢

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

    您好!

    感谢您报告您的调查结果;在我们的调查过程中、开发人员和我们都发现它与正在运行的应用程序紧密相关、可以轻松地将器件丢弃。 这与您的观察结果相符。   

    无论如何、由于您看到的新问题涉及软件的其他部分、因此我将通知器件专家、因为他们比我更了解自己的软件  

    此致、

    拉斐尔  

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

    高 VV、

    您能否分享/详细说明您将 SWI 用于 SC 和时钟用途? 您在软件方面使用的确切模块是什么?您如何使用它们?  

    应用中是否有任何其他可以很好地了解的组件、例如启用了看门狗还是类似的组件?

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

    您好!

    我的项目基于 simplelink_cc13x2_26x2_SDK_3_40_00_02的 Project Zero 示例。

    要在 CCS 中集成 SC、我遵循中的指令:

    http://software-dl.ti.com/lprf/simplelink_academy/modules/sc_01_project_from_scratch/sc_01_project_from_scratch.html#bonus-tasks-1-ndash-integrate-with-ble

    该程序非常简单、可以广播、从传感器控制器获取数据并发送数据。

    我在晚上做了一些更长期的测试。 我注意到、当我发送数据时、如果系统集成了 SC、系统不会中断。

    即使我没有发送任何数据、集成的传感器控制器也会显示错误。 它需要几分钟到几个小时的时间、直到它停止运行。

    我的传感器控制器以1kHz 的频率进行采样、并使用2个缓冲器、当数据传输到主 CPU 时会交换这些缓冲器。 每个缓冲区的大小为800个值。 因此、它大约每0.8s 中断一次 CCS 程序。

    主程序每200ms 发送一次通告。

    我没有使用 whatchdog。 我想不到我改变的任何其他东西。 我刚刚写下了我的代价剖面。

    这是我的与传感器控制器集成相关的代码

    静态空 ProjectZero_init (void)
    {
    
    //初始化 SCIF 操作系统抽象层
    scifOsalInit();
    scifOsalRegisterCtrlReadyCallback (scCtrlReadyCallback);
    scifOsalRegisterTaskAlertCallback (scTaskAlertCallback);
    
    //初始化 SCIF 驱动程序
    scifInit (&scifDriverSetup);
    
    //设置传感器控制器任务节拍间隔
    uint32_t N = 1000;// 1kHz RTC ->不确定!
    //启用 RTC 节拍,节拍间隔为 N Hz
    scifStartRtcTicksNow (0x00010000 / N);
    
    //启动"ReadCap"传感器控制器任务:传感器控制器开始测量
    scifStartTasksNbl (1 << SCIF_READ_CAP_TASK_ID);
    }
    
    
    // SCIF 驱动程序回调:任务控制接口就绪(非阻塞任务控制操作完成)
    静态空 scCtrlReadyCallback (void)
    {
    //通知应用程序`控制就绪`已激活
    ProjectZero_enqueueMsg (app_MSG_SC_CTRL_READY、NULL);
    }// scCtrlReadyCallback
    
    静态空 scTaskAlertCallback (void)
    {
    //通知应用程序`任务警报`已激活
    ProjectZero_enqueueMsg (app_MSG_SC_TASK_ALERT、NULL);
    }// scTaskAlertCallback
    
    静态空 processTaskAlert (void)
    {
    //清除警报中断源
    scifClearAlertIntSource();
    
    //... 在此处访问传感器控制器任务数据结构... 一个示例
    //对于每个可用的输出缓冲器...
    while (scifGetTaskIoStructAvailCount (scif_read_cap_task_ID、
    SCIF_STRUCT_OUTPUT)> 0)
    {
    scif_read_cap_output_t* pOutput = scifGetTaskStruct (
    SCIF_READ_CAP_TASK_ID、SCIF_STRUCT_OUTPUT);
    
    对于(int n = 0;n < scif_read_cap_buffer_size;n++)
    {
    data_array[n]= pOutput->tdcBuffer[n];
    
    }
    
    //将缓冲器发回传感器控制器
    scifHandoffTaskStruct (scif_read_cap_task_ID、scif_struct_output);
    }
    
    //确认警报事件
    scifAckAlertEvents();
    }// processTaskAlert
    
    

    我希望这对您有所帮助。 请告诉我您需要的任何其他信息。

    非常感谢。

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

    高 VV、

    上面给出的代码对我来说似乎是可以的、我看不到任何明显的错误。 是否可以共享有问题的失败项目以便我自己运行?

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

    您好、M-W、

    如果项目处理更加私密、则可以与您共享。 如何做到这一点?

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

    高 VV、

    如果您不想在此处公开共享项目、您可以在 PM 中将项目私下发送给我。  

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

    高 VV、

    只需提供并更新我当前正在查看的示例代码即可。

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

    高 VV、

    仍在寻找问题的根本原因。 简而言之、所发生的情况是 VDDR 欠压导致器件复位。 我现在想弄清楚的问题是您为什么要获得它。 它似乎未连接到 SC 或 BLE、但这两者的这种特殊组合。

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

    感谢您的更新。

    我非常感谢您为此付出了如此多的努力。 )

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

    您好!

    你有更新吗?

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

    很抱歉、我说我不会。 我尝试逐步隔离原因、但到目前为止、我很难找到导致它的确切组合。 由于无法访问实验室设备(因为我只能在家工作)、我在执行测试时也会遇到一些延迟、以便尝试准确了解出现此问题时会发生什么情况。  

    但是、我仍在办公桌上运行各种不同的软件、以评估不同的组合。

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

    您好!

    很抱歉再次询问。 您是否取得了任何进展?

    时间正在运行、我需要完成项目。 如果你找不到错误的地方,我是否可以让它运行?  我认为这项工作相当简单,必须有办法来完成。

    MCU 专为使用传感器控制器和蓝牙而设计、因此必须有解决方案。 是否有任何使用 MCU 的示例同时使用这两个示例?

    非常感谢。

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

    不用担心、我知道您正在等待反馈。

    我的"桌面"测试没有真正产生任何比我们已经知道的结果更好的结果。 在某些情况下会发生复位、它似乎与 VDDR 欠压相关。 我最近(实际上是今天)访问了远程设置、以便我与软件一起进行一些硬件测量、看看这是否可以进一步给我们带来启发。

    您所做的实际上不应该是一个问题、我实际上可以在您的项目中找到的唯一错误是您将 SC 项目设置为在低功耗模式下工作、这在使用 TDC 等时不受支持 我确实将其移至我身边、因为这似乎不是您问题的根本原因。

    我应该在一天或两天内就我的硬件测量结果提供一些反馈。

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

    高 VV、

    快速更新后、我已着手进行一些远程测试、但我在另一侧遇到了 LP 问题、至今未能产生任何良好的结果。 但是、我仍在进行这方面的工作。

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

    高 VV、

    更新、让设置远程运行、虽然我可以在使用调试器电源运行时重新创建问题、但外部电源似乎不是很频繁、因为我在超过24小时的时间内没有看到崩溃。 但是、我在实验室计算机上运行了强制的 IT 安全更新、因此我必须再次重新启动测试...

    希望周末可以单独使用、以便更好地了解它如何与外部电源配合使用。

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

    您好!

    测试是如何进行的?

    它是否可与外部电源配合使用?

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

    高 VV、

    本周末结束了我的最新测试、结果是分开的。 这似乎与所涉电路板上的电源有关、而不是与代码有关。 简而言之、我只能在连接调试器并由同一电路板供电时看到问题。 一旦电源来自另一个电路板(断开3V3跳线并将3V3中的另一个 LP/电源连接到芯片)、这似乎不是问题。  

    到目前为止、我想弄清楚这可能是什么原因、但如果您能尝试做同样的事情、那将会很好。

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

    非常感谢。

    如果您断开调试器并 使用电路板电源、它是否会运行? 这对我也不起作用。

    我将在 本周结束时试用您的测试版本。

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

    高 VV、

    如果我启动应用程序并断开调试器、它似乎也可以正常运行(至少在最后24小时内运行)。 但是、我注意到应用程序依赖 BIM 从冷启动中启动(我想它基于 Project Zero?)。

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

    您好!

    是的、它基于 Project Zero。

    确实、调试器断开连接时不会出现问题、但蓝牙数据将停止发送。 我认为出现了同样的问题、但我们看不到、因为调试器断开连接。

    您是否尝试使用蓝牙和传感器控制器实现了另一个示例项目? 这将是一个尝试的选项。 我使用 simple_peripheral 项目进行了测试、但集成传感器控制器时结果相同。

    如果这是两个元件都正常运行的任何示例、我可以将数据放入该代码中。

    我有点相信、我是第一个遇到此问题的人、因为传感器控制器的制造正是为了满足这两个要求、即通过蓝牙将数据从传感器控制器传输到笔记本电脑。 您没有运行任何示例吗?

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

    高 VV、

    我将尝试为您提供另一个项目、您可以在我有时间将其组合在一起后立即将其作为基础。 问题本身非常奇怪、您是我遇到过的唯一一个问题、在我的所有情况下、器件在整个测试期间继续工作(在 BLE 上进行广播等)、我从未看到它停止运行 (在同一电路板上加电+调试器时除外)。  

    这种组合有很多项目和用户、您是我知道的第一个出现类似此类错误的人。 如前所述、使用案例是有效的、在这种情况下会发生一些时髦的事情。

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

    高 VV、

    下面是一个小型简单外设+传感器控制器示例(按预期运行)。 您可以尝试逐步将您的内容放入此文件中、看看结果如何、并让我访问 know.e2e.ti.com/.../sp_5F00_scs.zip

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

    您好、M-W、

    我发现导致错误的原因。 传感器控制 器使用时间数字转换器来测量基于 RCOSC 时钟的96MHz 时间。 该时钟也用于 TI-RTOS、因此程序已崩溃。 使用 XOSC 时钟时、一切工作正常。

    在技术参考手册 Manuel 第19.4.5.1部分中、提到两个器件都使用相同的时钟。

    www.ti.com/.../swcu185d.pdf

    如果在 Sensor Controller Studio Manuel 中也提到这一点,那将会非常有帮助。

    非常感谢您为我所做的一切。 )

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

    高 VV、

    奇怪的是、如果您说的是 RCOSC、那么在两侧使用 RCOSC 应该没有问题? 在 XOSC 为您工作的情况下、它可能与 RCOSC 相关。 您是否更改了 TDC 源设置为 XOSC?

    如果您提到 TI-RTOS 和 SCE 都可以使用 TDC 并且需要遵循资源共享要求、那么这在您的代码中似乎不是问题、并且是 TI-RTOS 驱动程序的一部分。

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

    [报价用户="M-W"]您是否更改了 TDC 源设置为 XOSC?

    是的、确实如此。 但我的 XOSC 只提供48MHz、但需要96MHz。

    [引用 user="M-W"]如果您提到 TI-RTOS 和 SCE 都可以使用 TDC 并且需要遵循资源共享要求,则这似乎不是您的代码中的问题,而是 TI-RTOS 驱动程序的一部分。

    相关知识。 那么、您还有其他想法吗?

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

    任何时钟都应该正常、这可能是一个时序问题、这在 RCOSC 中更为突出(因为 TI-RTOS 会使用 TDC 来校准它)。

    您可以尝试以下几项操作:

    1) 1)在 TI-RTOS 中关闭 RCOSC 校准、并查看这是否使其在使用 RCOSC 时正常工作。 您可以通过将电源驱动器配置中的"do calibration"设置为 false 来实现此目的。

    2)修改" /proc_def/TDC_disable__1_1.asm、并在"中止 TDC"和"禁用 TDC 时钟"之间添加了大量(可能为40-50)"NOP"。 换句话说、在"OUT"指令之后。

    3) 3)在 fwAcquirePeripheral()之后添加几 ms (可能为50 ish)延迟。

    您认为您可以逐一尝试这些东西吗?

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

    谢谢、是的、我会尝试一下。

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

    [引用用户="M-W"]

    2)修改" /proc_def/TDC_disable__1_1.asm、并在"中止 TDC"和"禁用 TDC 时钟"之间添加了大量(可能为40-50)"NOP"。 换句话说、在"OUT"指令之后。

    3) 3)在 fwAcquirePeripheral()之后添加几 ms (可能为50 ish)延迟。

    [/报价]

    这两个选项没有发生任何变化。

    [引用 USER="M-W]1)在 TI-RTOS 中关闭 RCOSC 校准、并查看这是否使其在使用 RCOSC 时起作用。 您可以通过将电源驱动程序配置中的"do calibration"设置为 false 来执行此操作。

    在什么文件中、您的意思是什么?

    我看了一下:TI_drivers_config.h、ti_drivers_config.c、PowerCC26X2.h、PowerCC26X2.c 和其他一些、但没有任何可更改的布尔"执行校准"。

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

    当您似乎正在使用 SysConfig 时、"Power"选项卡中应该会有复选框、允许您打开 RCOSC_LF/HF 校准。

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

    我尝试过它、但它没有改变任何东西。 程序仍会崩溃。

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

    好的。

    休假回来后、我会继续关注这一点。 很抱歉给您带来不便!