主题中讨论的其他器件: C2000WARE
尊敬的 TI 团队和支持人员:
我´m´m 没有调试器来运行我的目标、也无法在调试器被连接到"目标复位"时运行(我正在使用 Lauterbach)
唯一的方法是将初始 PC 设置为默认入口点"_c_int00"
寄存器.初始化
寄存器.set PC _c_int00
转到主菜单
链接器外观
……
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.
尊敬的 TI 团队和支持人员:
我´m´m 没有调试器来运行我的目标、也无法在调试器被连接到"目标复位"时运行(我正在使用 Lauterbach)
唯一的方法是将初始 PC 设置为默认入口点"_c_int00"
寄存器.初始化
寄存器.set PC _c_int00
转到主菜单
链接器外观
……
伊凡、您好!
若要排除任何链接器命令问题、可以在 c2000ware 中尝试使用 LED 闪烁示例吗? 请务必在构建工程时选择闪存配置选项。 我还会询问代码在热启动期间是否正确启动(即按下 controlCARD 上的复位按钮时)? 如果是这样,问题可能是启动时在 Device_init()函数中执行的时钟频率检查代码。 在冷启动期间(即、当您首次为 controlCARD 加电时)、外部时钟需要几毫秒的时间来启动。 由于 MCU 将使用内部振荡器引导、因此频率检查代码将失败、代码将进入 while (1)循环。 c2000ware 版本5.0已修复此问题。
您好、Gus:
我解决了这个问题。 这里有两个问题:
/* SYSPLL Clock */
*SYSPLLCTL1 &= ~(1 << PLLCLKEN_BIT_NR); /* bypass SYSPLL Clock */
for (i = 0; i < PLLCLKEN_WAITTIME; i++) {
__asm(" nop");
}
这个新值可能是某种程度上,我认为,与您在消息中提到的10毫秒相关,不是?
听起来就像这样。 如果您查看 controlCARD 原理图、会发现有一个外部振荡器为 MCU 提供时钟输入。 该时钟振荡器需要几 ms 的时间来上电。 在启动代码中、您需要在切换到该时钟源并启动 PLL 之前给该振荡器一些时间上电。