您好!
我正在尝试在定制电路板上对 TMS320F280037C 器件进行编程。 我没有使用 Launchpad 或 TI 提供的任何控制卡。 在首次编程中、通过 JTAG 加载代码将完成、而不会出现任何错误。 但是、它不提供任何输出。 即使在看门狗窗口中、我也看不到 GPIO 寄存器位的任何变化、这是代码应该做的。 我也尝试过 Blinky LED 示例程序、但运气不好。
原因可能是什么? 是某个硬件问题吗? 是否需要为引导执行任何操作?
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.
您好!
我正在尝试在定制电路板上对 TMS320F280037C 器件进行编程。 我没有使用 Launchpad 或 TI 提供的任何控制卡。 在首次编程中、通过 JTAG 加载代码将完成、而不会出现任何错误。 但是、它不提供任何输出。 即使在看门狗窗口中、我也看不到 GPIO 寄存器位的任何变化、这是代码应该做的。 我也尝试过 Blinky LED 示例程序、但运气不好。
原因可能是什么? 是某个硬件问题吗? 是否需要为引导执行任何操作?
你(们)好。
要回答您的问题、请执行以下操作:
您是通过 CCS 加载代码然后运行代码、还是使用其他方法加载代码?
我将通过 CCS 加载代码。
加载代码后、应该会强制 PC 到代码入口点、然后应该能够运行
我已完成反汇编、PC 保持在
008455: 764085F9 LCR InitSysCtrl
如果没有运行、那么当你暂停 CPU 时(假定你正在使用 CCS)、它在你的应用程序代码内部还是其它地方暂停?
它不会在应用程序代码处停止、而是在振荡器的某个函数处停止、我认为这是 InitSysCtrl 的一部分
用于参考。 下面是我的简单代码。虽然它不能与示例代码一起使用。
* main.c
*/
#include "F28x_Project.h"
INT I=0;
空 main (void)
{
InitSysCtrl();
InitGpio();
{
EALLOW;
// GpioCtrlRegs.GPAMUX1.bit.GPIOXX = 0;//配置0-15
GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 0;//
GpioCtrlRegs.GPAGMUX2.bit.GPIO31 = 0;//将 GPIO16-31配置为 GPIO 以启用辅助转换
GpioCtrlRegs.GPADIR.bit.GPIO31 = 1;//配置为 O/p
GpioCtrlRegs.GPACSEL4.bit.GPIO31= 0;//CPU1已选择
GpioCtrlRegs.GPAPUD.bit.GPIO31= 1;//上拉禁用
EDIS;
}
while (1)
{
DELAY_US(500000);
GpioDataRegs.GPASET.bit.GPIO31=1;
i=i+1;
如果(I>10)
I=0;
}
}
谢谢。