环境:
CCS 12.7.0
AM263x-LP 评估板(红色)
演示 rti_Blink_am263x-lp_r5fss0-0_nortos_ti-arm-clang
我修改了时钟配置。 (__LW_AT__未提及且未修改)
SYSCFG: 输入时钟频率:200MHz
输入时钟源:SYS_CLK
启用计数器块0
所需输出频率:1M
启用比较事件0
节拍周期(usecs):500,000
对 main 函数的修改
System_init();
Board_init();
rti_led_blink(NULL);
while(1);
// Board_deinit();
// System_deinit();
return 0;
在 rti_leed_blink.c 中进行的修改
/* Wait until the LED is blinked specified number of times */
//while(gBlinkCount < LED_BLINK_COUNT);
/* Stop the RTI counter */
//RTI_counterDisable(CONFIG_RTI0_BASE_ADDR, RTI_TMR_CNT_BLK_INDEX_0);
DebugP_log("[RTI LED Blink Test] Timer Stopped...\r\n");
if(SystemP_SUCCESS == status)
{
DebugP_log("All tests have passed!!\r\n");
}
else
{
DebugP_log("Some tests have failed!!\r\n");
}
// Board_driversClose();
// Drivers_close();
以确保 LED 闪烁泡沫器
我还在"gBlinkCount++"上添加了一个断点
void rtiEvent0(void)
{
if(gLedState == LED_ON)
{
GPIO_pinWriteLow(gpioBaseAddr, pinNum);
gLedState = LED_OFF;
}
else{
GPIO_pinWriteHigh(gpioBaseAddr, pinNum);
gLedState = LED_ON;
}
gBlinkCount++;
}
预期结果:
代码将在"gBlinkCount++"行停止
当我禁用断点时、LED 将每隔0.5s 闪烁一次、并且永远运行
实际结果:
1.代码 不会始终在 "gBlinkCount++"行停止。 当我手动暂停代码时、变量 gBlinkCount 会增加、这与我观察到的 LED 闪烁次数一致。
我不确定是 CCS 错误还是配置错误
2.代码在大约30s 时会闪烁,然后代码进入0x000039DE (有时会发生这种情况)

3.寄存器"RTI0_RTICOMP0"在运行程序期间始终进行计数(始终发生)
