TI中文支持网
TI专业的中文技术问题搜集分享网站

系统滴答定时器中断

编译环境:KEIL MDK5,运行在TM4C123GXL,系统运行大约一至两秒之后,就会跑飞,使用Debug后发现一只停在startup.S的B SysTick_Handler,

程序如下

#include "inc/hw_memmap.h"
#include "inc/hw_gpio.h"
#include "inc/hw_sysctl.h"
//#include "inc/tm4c123gh6pm.h"
#include "inc/hw_ints.h"
#include "inc/hw_nvic.h"
#include "inc/hw_types.h"
#include "inc/hw_ints.h"

#include "driverlib/debug.h"
#include "driverlib/systick.h"

#include "driverlib/interrupt.h"
#include "driverlib/rom_map.h"

#include "driverlib/rom.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"

int main(void)

{

                  SysCtlClockSet(SYSCTL_SYSDIV_1 |SYSCTL_USE_OSC|
                                             SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);
    
                ROM_FPUEnable();
                ROM_FPULazyStackingEnable();
                ROM_SysTickPeriodSet(ROM_SysCtlClockGet());
                ROM_SysTickEnable();

                IntEnable(0x0f);
                SysTickIntEnable();
                IntMasterEnable();

}

extern void SysTick_Handler(void)
{
    sysTickUptime++;
    scheduler_cnt_1ms++;
    scheduler_cnt_2ms++;
    scheduler_cnt_5ms++;
    scheduler_cnt_10ms++;
    scheduler_cnt_20ms++;

//    UARTprintf("int……………..\n");
}   

启动代码使用的是startup_TM4C123.S

SysTick_Handler\
                PROC
                EXPORT  SysTick_Handler           [WEAK]
                B       .                     (程序运行后停留在这里)
                ENDP

Xiaozhou Ye:

启动文件更换为startup_rvmdk.s

在EXOPRT之前声明了外部函数EXTERN SysTick_Handler

在向量表中改为        DCD     SysTick_Handler             ; The SysTick handler

但是却报错为.\Output\Copter_4x.axf: Error: L6218E: Undefined symbol SysTick_Handler (referred from startup_rvmdk.o).

仍未解决

xyz549040622:

回复 Xiaozhou Ye:

居然用的是c++,好高大上。

赞(0)
未经允许不得转载:TI中文支持网 » 系统滴答定时器中断
分享到: 更多 (0)