RTX操作系统与STM32Cube一起使用的问题

我在使用STM32Cube和RTX OS的时候出现编译不过的情况,错误原因是hal_cm4.c与stm32f4xx_it.c里都定义了SysTick_Handler函数;

这是cube库中的SysTick_Handler处理函数
void SysTick_Handler(void)
{
/ USER CODE BEGIN SysTick_IRQn 0 /

/ USER CODE END SysTick_IRQn 0 /
HAL_IncTick();
HAL_SYSTICK_IRQHandler();
/ USER CODE BEGIN SysTick_IRQn 1 /

/ USER CODE END SysTick_IRQn 1 /
}



这是RTX库hal_cm4.c里的SysTick_Handler处理函数
__asm void SysTick_Handler (void) {
PRESERVE8

PUSH {R4,LR} ; Save EXC_RETURN
BL __cpp(rt_systick)
B Sys_Switch

ALIGN
}



我需要在SysTick_Handler里调用HAL_IncTick,所以不能注释掉cube库里边的SysTick_Handler函数,
所以我在hal_cm4.c里边修改了SysTick_Handler函数,修改如下:
__asm void SysTick_Handler (void) {
PRESERVE8

PUSH {R4,LR} ; Save EXC_RETURN
BL __cpp(rt_systick)
BL __cpp(HAL_IncTick) ; Add
BL __cpp(HAL_SYSTICK_IRQHandler) ;Add
B Sys_Switch

ALIGN
}
不知道这样修改行不行,如果可以怎么编译到工程里?
已邀请:

stone - 80后IT男

赞同来自:

搞定了!

菜鸟新手

赞同来自:

怎么搞定的?说说呗

gamen120

赞同来自: admin 菜鸟新手

keil有教....

http://www.keil.com/pack/doc/STM32Cube/General/html/cubemx__r_t_x.html

要回复问题请先登录注册