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.
工具与软件:
您好!
在我们一直使用的上一版本 CCS10中、我们有一个在不影响器件的情况下连接到器件的过程。 这种做法多年来一直运作良好。 在 CCS12下、当我们执行同样的操作时、它始终会使目标停止。 我们的步骤是:
我需要向其中添加什么内容吗?
谢谢!
据
尊敬的 Ed:
我能够 连接到一个设备,而不停止它通过你的步骤,并使用默认的 GEL 文件 ,并 在 OnTargetConnect ()注释掉 GEL_Reset (). 您可以尝试一下吗?
对于 F28388S.gel (注释掉第28行) :
OnTargetConnect() { *(int *)0x5F412 =0x000F; /* RAM INIT FOR M0/M1/D0/D1 Memory */ *(int *)0x5F432 =0x00FF; /* RAM INIT FOR LS0..LS7 Memory */ *(int *)0x5F452 =0xFFFF; /* RAM INIT FOR GS0..GS15 Memory */ if (GEL_IsInRealtimeMode()) /* If in real-time-mode */ { } else /* Put device into C28x Mode */ { C28x_Mode(); } F28388s_Memory_Map(); /* Initialize the CCS memory map */ /* Check to see if CCS has been started-up with the DSP already */ /* running in real-time mode. The user can add whatever */ /* custom initialization stuff they want to each case. */ if (GEL_IsInRealtimeMode()) /* Do real-time mode target initialization */ { } else /* Do stop-mode target initialization */ { // GEL_Reset(); /* Reset DSP */ } /* If CM isn't out of reset, boot CM to wait boot */ if(*(unsigned long *) 0x0005DC00 == 0x1) { CM_releaseAndBootToWaitBoot(); } }
此致!
Matt
尊敬的 Matt:
我尝试过、它影响了程序。 因此我注释掉了 RAM 初始化代码、我认为这是造成干扰的原因。 我还注释掉了 CM 内核代码、因为我目前未在使用它。 这样、在我连接调试器时、它仍然会停止处理器。
谢谢!
据
尊敬的 Ed:
我来看看 F2838x 器件、明天早上我将为您提供最新信息。
此致!
Matt
尊敬的 Ed:
我能够 避免上的连接暂停 F28388D 通过执行以下操作:
重新启动调试会话、它应该在不停止器件的情况下进行连接。
此致!
Matt
尊敬的 Matt:
默认情况下未选中"Reset the target on connect"。 因此、对于上述任何步骤、我无需进行任何更改。 一切都设置为"Load symbols only"、我还将 GEL 文件中的所有内容注释掉。
作为附加实验、尽管我目前不在使用它、但我将 CM 内核设置为仅加载符号、而不停止或复位。 CCS 不会尝试执行任何操作、但我还是会尝试它。
但结果仍然是相同的。 它在连接时停止处理器(CPU1)。
谢谢!
据
尊敬的 Ed:
这是不寻常的。 您能否 共享 GEL 文件?
此致!
Matt
尊敬的 Matt:
目前、所有内容都已注释掉。 它在逻辑上是空的。
谢谢!
据
尊敬的 Ed:
尝试连接时、您在设备上运行的是什么程序?
此致!
Matt
尊敬的 Matt:
我将运行我们的产品代码。 自从我在388S 上升级到 CCS 12.5.0后就一直在这样做。 它适用于379D 上的 CCS 10.4.0。
谢谢!
据
尊敬的 Ed:
您是否可以尝试更新到 CCS 12.8.1并 重试? 这是我 在上确认此过程的版本(12.8.1.00005)。
此致!
Matt
尊敬的 Matt:
CCS 12.8.1已连接、CPU1保持运行。 但 CLA 被暂停了。 该选项设置为仅加载符号、未选中"Halt on Connect"并显示为灰色。
因此、这部分问题得到了解决。
谢谢!
据
尊敬的 Ed:
我很高兴听到它适用于 CPU1。 你是否也修改了 CLA 的 GEL?
此致!
Matt
尊敬的 Matt:
CLA 未指定 GEL 文件。
谢谢!
据
尊敬的 Ed:
对不起,你是对的。 让我在一天结束时回到你身边。
此致!
Matt
尊敬的 Ed:
这位 CLA 专家下周都不在办公室、但我只想确认一下、那时你在 CLA 中确实执行了代码?
此致!
Matt
尊敬的 Matt:
是的、当连接调试器时、我在 CPU1及其 CLA 中都执行了代码。
谢谢!
据
尊敬的 Ed:
我重新分配给 CLA 专家、以尽快解决这个问题。
此致!
Matt
尊敬的 Ed:
根据特性、CLA 在由主 CPU 完全配置(并且内存被分配)前自动"暂停"、并且其中一个任务被触发。 这样、它与主 CPU 不同、这是因为它并不总是运行代码、而只是等待一个任务被触发。 你能否验证 CLA 在你连接调试器时实际上是否正在运行一个任务? 为此、我建议在任务内部切换 GPIO。
此致、
Delaney
尊敬的 Delaney:
在我连接调试器的情况下、CLA 本来不会运行。
因此、我尝试将它连接到一个正在运行的系统、在该系统中、CLA 的运行时间略高于10%。 我连接了调试器后、CLA 在地址0处挂起、CPU 上发生了复位、导致其在 TI 引导加载程序中停止。 该复位很可能是由于 CPU 正在等待 CLA 停止运行(我尚未向 CPU 代码添加超时)这一事实而发生的看门狗复位。 但 CLA 因连接过程而停止。
我已重新启动系统并重试。 这一次 CPU 继续运行、而 CLA 在一个 MSTOP 指令上被暂停。 它似乎停留在那个指令上、这是因为 CLA 的运行时间实际上为0。
BTW、目前我们正在进行 CLA 的软件启动。
谢谢!
据
尊敬的 Ed:
在与 CCS 团队的专家协商后、我发现无法在 CLA 已经运行(未停止)时连接到 CLA。 C28x 内核上的实时模式即可实现该功能、遗憾的是、尚未为 CLA 内核添加该功能。
此致、
Delaney