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
尊敬的 John:
C55x 仍受支持和测试... 但可能比其他一些电流更大的器件更有限。 当我回到办公室时、我会确认。
至于您在8.1中看到的问题、如果您将使用 CCSv5/6编译的程序加载到8.1中、它是否按预期工作?
谢谢
Ki
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
Ki、
好的-但我只是尝试重现您所做的事情、但它对我不起作用-让我再试一次-然后我将发布屏幕截图。
我们以前称之为"适合您、不适合我"、这意味着我们的设置显然不同。
谢谢、
John
我可能可以解释为什么会发生这种情况。 我确信您的 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 页面。