Other Parts Discussed in Thread:LAUNCHXL-F28069M
对F28069进行调试时,直接点击Resume运行程序没有任何效果,需要先Restart一下,再运行才有效果;
之前对这个程序进行调试时没这个问题,可以直接进行调试;
而且如果将这程直接烧到Flash里,也没有反应,按了复位键也没反应,同样的之前也没有出现过这个问题
下面是主函数:
void main() {// Setup the system clock// Disable the watch-dog timer, initialize the system clock,// PLL and configure the peripheral clock.InitSysCtrl();// Disable CPU interruptsDINT;// Initialize the PIE control registers to their default state.// The default state is all PIE interrupts disabled and flags// are cleared.// This function is found in the F2806x_PieCtrl.c file.InitPieCtrl();// Disable CPU interrupts and clear all CPU interrupt flags:IER = 0x0000;IFR = 0x0000;// Initialize the PIE vector table with pointers to the shell Interrupt// Service Routines (ISR).// This will populate the entire table, even if the interrupt// is not used in this example. This is useful for debug purposes.// The shell ISR routines are found in F2806x_DefaultIsr.c.// This function is found in F2806x_PieVect.c.InitPieVectTable();// Interrupts that are used in this example are re-mapped to// ISR functions found within my_PWM.c file.EALLOW;PieVectTable.EPWM1_INT = &epwm1_timer_isr;EDIS;// Initialize My ePWM PeripheralsInitMyEPwm();// Enable CPU INT3 which is connected to EPWM1IER |= M_INT3;// Enable EPWM INTn in the PIE:GROUP3 interrupt 1PieCtrlRegs.PIEIER3.bit.INTx1 = 1;// Enable global Interrupts and higher priority real-time debug events:EINT; // Enable Global interrupt INTMERTM; // Enable Global real-time interrupt DBGM// Copy time critical code and Flash setup code to RAM// The RamfuncsLoadStart, RamfuncsLoadSize, and RamfuncsRunStart// symbols are created by the linker. Refer to the F2808.cmd file.memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (Uint32)&RamfuncsLoadSize);// Call Flash Initialization to setup flash waitstates// This function must reside in RAMInitFlash();// IDLE Loop.while(1){;} }
Green Deng:
你好
user6311038 说:之前对这个程序进行调试时没这个问题
可否描述一下“之前”的调试情况是什么样的?比如CCS版本是否相同?软硬件环境是否相同?等等
,
user6311038:
版本是一样的,软硬件是相同的,就只是简单的改变了ePWM的频率。 之前的调试就是直接一步到位,而且程序下到Flash里面可以正常运行的。
现在改回去,一模一样的代码也不行了
,
Green Deng:
问题中提到的没效果是指芯片没有输出PWM波形还是指程序没有运行起来?期间CCS有报什么错误警告之类的吗?
有测试过其他CCS版本或者PC吗?
,
user6311038:
感觉像是程序没有运行。
我直接调试的话,去观察寄存器时,发现没有相应的变化,也没有PWM波形;但是我Restart一下后,再进行调试就行了,对应的寄存器就有变化了,PWM波形也能正常输出。
没有试过其他版本的CCS,应该不是版本的问题,因为下载其他的程序都正常的。
,
Green Deng:
这样的话方便把程序打包了上传一下吗?我这边测试一下情况。不过这个确实挺奇怪的,不知道能不能复现。
,
user6311038:
好的,谢谢了。我用的版本是CCS10
SingleSource.zip
,
user6311038:
还有就是硬件平台是: LAUNCHXL-F28069M
,
Green Deng:
抱歉我的CCS出现了一点问题,我会联系我其他同事测试后再给你反馈。
,
Green Deng:
你好,刚测试了一下你的程序,在我这边可以正常运行,观察几个PWM寄存器的值都有变化,且程序最终进入while循环。我的运行条件是LAUNCHXL-F28069M+CCS10.1。