使用“系统节拍”定时器的程序出现MDK编译错误 .\Flash\Blinky.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by hal_cm0.o and blinky.o).的解决
出现此错误是因为你在使用RTX内核的程序中添加了SysTick_Handler的实现,RL-RTX操作系统能跑起来的一大前提就是初始化好了Systick,也就是说系统已经实现了SysTick_Handler函数,这个函数就位于Keil安装目录下的“\ARM\RL\RTX\SRC\CM\hal_cm0.c"文件中。
片段如下:
也就是说想增加系统节拍定时器中断处理也要在这里实现。在Blinky.c中将如下中断代码注释即可:
// 系统TIC
void SysTick_Handler(void)
{
msTicks++;
}
注释为:
// ϵͳTIC
//void SysTick_Handler(void)
//{
// msTicks++;
//}
即可解决