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.
器件型号:TMS320C5545
工具/软件:Code Composer Studio
大家好、
这是一个交叉帖子-但我想我会继续:
如果可以的话,还有另一个问题-
在7.4.x 工具(CCS IDE)中、我已经为 C55x 下载了4.4.1 CGT、并且一个较旧的项目(大约 CCS v5和 v6)能够构建正常。 我在 CCS IDE 的版本8.1中尝试了相同的过程、并且加载后工程不会在 main 停止。 我还没有很详细地了解这一点、但我想问一下、是否对 C55x 工具和最新发布的 CCS 进行过任何测试。
那么、v8.1.x 工具是否已使用最新的'C55x (对于我们来说 v4.4.1不在 Mac 上)进行过全面测试?
提前感谢、
约翰·W
Ki、
我已经向 Github 发布了一个项目-我认为最好的做法是尝试使用最新的工具运行该项目、以便您可以看到正在发生的情况:
URL 如下:
请尝试确保已加载以下内容:
调试器中的 EZDSP5535.ccxml 和 ezdsp5535.gel 文件-您将看到我所讨论的内容。
该项目适用于 eZdsp 'c5535 -希望您可以在其中找到一个-我想在 TI IDE 和编译器的测试/兼容性实验室中会有一个。
谢谢、
John
URL -以防万一: github.com/.../eZdsp_DBG
Ki、
好的-这很有趣。
请尝试以下两个工作区:
eZdsp_DBG/->eZdsp_5535_Files->ccsw2
eZdsp->eZdsp_5535_Files->ccsw2
我无法在不手动执行几乎所有操作的情况下启动调试器-使用 EZDSP5535.ccxml 和 ezdsp5535.gel 文件。
我忘记了该存储库中还有任何其他工作区。 但是如果你毫无问题地加载它们、我也会查看它们-但我需要你尝试上面的两个-重点是第一个。
一旦您通过 main 并运行、您必须按下 eZdsp 电路板上的开关几次、然后 LED 将持续闪烁。
存储库中的 readme.md 包含有关要抓取的工作区的说明-我认为任何尝试这样做的人都应先抓取这些工作区。
谢谢、
John
Ki、
是的、根据调试器设置文件中的设置、自动运行到 main 是应该发生的情况。
您能跑得更远吗? 如果您按 SW1和 SW2并运行演示、您应该会看到 LED 闪烁。
调试器是否曾经停止过;需要您再次按下运行按钮?
此外、当我加载时、我必须手动连接目标、然后我必须手动加载文件。
您如何使用 v8.1工具执行此操作? 如果使用 eZdsp 5535附带的 xml 和 GEL 文件返回到 v7.4.x 工具、我只能得到您所讨论的内容才能工作。
8.1版工具没有与7.4.x 版工具类似的 eZdsp 5535内置目标、因此我想知道您是如何实现的。
谢谢、
John
是的、演示似乎正在运行。 最终、在所有4个 LED 以不同颜色亮起后、调试器会停止、并在 vErrorChecks 处停止。
我如何运行演示:
我正在项目中使用 EZDSP5535.ccxml 文件来启动手动调试会话。 我手动连接到目标并加载程序。
CCS 8.1具有 EZDSP5535选项。 我从头开始创建了一个、并且也成功地使用了这个。
我还尝试了"Debug"按钮。 我注意到'test'调试启动配置具有禁用自动连接的选项。 这是故意的吗? 基于工程的启动配置的默认设置是启用它。 如果它不是 intential、您可能需要删除启动配置并让调试器生成新配置。
谢谢
Ki
我可能可以解释为什么会发生这种情况。 我确信您的 CCSv8安装目录中缺少 ezdsp5535.xml 文件。 它*应该*位于:
\ccsv8\ccs_base\common\targetdb\boards
您为什么会错过它? 我想、由于电路板来自 Spectrum Digital、除了安装 C5000器件支持外、您还需要安装 Spectrum Digital 驱动程序。 我猜你是在后一个、而不是前一个?
[引用 user="John Westmoreland43"]OK -我从我最近刚重新安装的7.4.x 安装目录复制了 xml 文件;加上仿真目录中的.gel 文件、现在它显示为 v8.1中的选项。 我不确定这些文件是否与以前的版本兼容;但这是很好的了解。
我很确定所讨论的 xml 文件来自 spectrum digital install 软件包。 但是、由于所使用的仿真驱动程序是 TI 的 XDS100、仅复制 GEL 和 xml 文件就足够了。
[引用 user="John Westmoreland43"]否则,我们在调试器中看到类似的行为,我认为这可能是因为我对 DBSTAT 所做的操作,但仍不确定-但至少我们已经了解到了这一点;这也解释了为什么我认为我看到了一些差异。
"否则、我们会在调试器中看到类似的行为"-这是否意味着测试示例现在正像我一样在 main 为您暂停?
[引用 user="John Westmoreland43">我可以启动另一个线程-但有一个 C2000工具的更新、该更新尝试安装几天但失败-您是否知道这方面的任何信息-它已经尝试了几次、并且失败了:
收集要安装的项目时出错
会话上下文为:(profile=EPP、package.cpp、phy=org.eclipse.equinox.internal.p2.engine.phases.Collect、操作数=、action=)。
未找到包含 org.eclipse.update.feature、com.ti.c2000.support.win32、2.5.0的存储库
找不到包含以下内容的存储库:binary、com.ti.c2000.support.win32_root、4.2.5.0
也许已经有一篇有关这方面的文章。
您是否看到了故障排除指南中的部分?
请参阅以下链接中的#5:
http://processors.wiki.ti.com/index.php/Troubleshooting_CCSv7#Update_features
谢谢
Ki
Ki、
这个问题的所在是模糊的。 由于 DBSTAT 会影响调试、因此在本论坛中似乎更合适、因为有关 CGT 等的'C55x 系列支持已被弃用或已被弃用。 我不想把这个问题移到会被草率忽略的地方。
CPU 咨询问题是相关的;没有问题;但有人回答了吗?
此外-我要求提供有效的 DBSTAT 值-这是一个合法的请求。 而不是同一个问题。
我知道这些值是有效的;
0x001F ;单步执行还是运行?
0x005F ;单步执行还是运行?
但仅此而已。
您能给我一个有效值列表吗?
此时有人会直截了当地回答: 请勿触摸-实际上没有对'C55x 系列进行任何实际调试。 请查看 Sysstack。 它不能
不可忽略。 当在 C54_STK 模式下使用大内存模型从 ISR 返回时、必须正确设置。
我确定 DSP/BIOS 工具将其设置为-这将是一个需要查看的问题、并让我知道 DBSTAT 的有效状态是什么。 这似乎是一个相当简单的请求。
此外、在我看来、器件论坛已经变得有点危险、因为它现在是如此多的器件系列的汇总。
谢谢、
约翰·W
[引用 user="John Westmoreland43">此问题所在的位置模糊。 由于 DBSTAT 会影响调试、因此在本论坛中似乎更合适、因为有关 CGT 等的'C55x 系列支持已被弃用或已被弃用。 我不想把这个问题移到会被草率忽略的地方。
CPU 咨询问题是相关的;没有问题;但是否有人回答了?
器件论坛是开始有关 DBSTAT 的最佳论坛。 似乎问题已得到解答- CPU_119尚未得到解决、似乎没有解决该问题的计划。 因此、任何修复都必须在调试器中提供权变措施。 我将为此文件一个错误。
关于 DBSTAT 值的说明、我将把这一信息转发给正确的人以回答。
谢谢
Ki
DBSTAT 在文档中似乎是一个排印错误。 该寄存器为 DBGSTAT、在 CCS 驱动程序代码中具有以下定义:
#define DBGSTAT_ADDR ((TRG_ADDR) 0x000800)/* DBGSTAT 字节地址*
#define DBGSTAT_IDLE_FLAG ((UINT32) 0x00008000)/* 15 1=器件处于空闲状态*/
#define DBGSTAT_BRK (((uint32) 0x00004000)/* 14 1=硬件中断、停止*/
#define DBGSTAT_BRK_PEND ((UINT32) 0x00002000)/* 13 1=硬件中断挂起*/
#define DBGSTAT_ANASTOP ((UINT32) 0x00001000)/* 12 1=分析、停止*
#define DBGSTAT_ESTOP1 ((UINT32) 0x00000800)/* 11 1=ESTOP1、已停止*/
#define DBGSTAT_ESTOP0 ((UINT32) 0x00000400)/* 10 1=ESTOP0、已停止*/
#define DBGSTAT_HPI ((UINT32) 0x00000200)/* 9 HPI 位-请参阅 CHAP 6 */
#define DBGSTAT_IDS ((uint32) 0x00000100)/* 8 IDS 位-请参阅第6章*/
#define DBGSTAT_EXSM_MASK ((UINT32) 0x000000C0)/* 7:6 EXSM 状态*
#define DBGSTAT_EXSM_IDBG ((UINT32) 0x000000C0)/* 7:6 IDBG *
#define DBGSTAT_EXSM_IDS ((UINT32) 0x00000080)/* 7:6 IDS */
#define DBGSTAT_EXSM_DSUSP ((UINT32) 0x00000040)/* 7:6 DSUSP *
#define DBGSTAT_EXSM_EXE ((UINT32) 0x00000000)/* 7:6 EXE */
#define DBGSTAT_FXWOK ((UINT32) 0x00000020)/* 5仅供 CPU 使用*/
#define DBGSTAT_DFC_MASK ((UINT32) 0x0000001F)/* 4:0当前 DFC 值*/
请注意、这是一个存储器映射寄存器。 它可能是可写的、但驱动程序只读取寄存器。 驱动程序仅检查以下位:DBGSTAT_BRK、DBGSTAT_ANASTOP、DBGSTAT_ESTOP1、DBGSTAT_ESTOP0和 DFC_MASK。 似乎没有理由需要设置这些位。 驱动程序仅使用它们来确定导致内核停止的事件并检索当前调试帧。
爱德华
请为我提供'C55x 系列的 DBSTAT 存储器映射地址。
谢谢、
约翰·W
爱德华
我在调试器中查看了这一点-对于 C55x 系列、DBSTAT 地址不是0x800。
对于 C2000系列、它看起来是正确的-我已验证在一个目标上- TMS320F28069上的0x800似乎是 DBGSTAT。
我为 C55x 运行了两个不同的目标-没有看到任何关联。
您能否检查一下、如果实际映射了存储器、我很想获取 C55x 的 DBSTAT 地址;我听说没有。
谢谢、
John
啊、C28x 和 C55x 系列之间似乎存在差异。 在 C28x 中、寄存器被映射到数据页。 在 C55x 中、寄存器映射到 I/O 页面。 但两个 CCS 驱动程序中使用的地址和位定义是相同的。
我在 CCS 中查看了它、只是查看了内存浏览器。 您可以设置地址并在下拉菜单中选择页面以选择 I/O 页面。