chen84992805 发表于 2020-12-11 11:21:19

请教FreeRTOS移植的一些疑问?

本帖最后由 chen84992805 于 2020-12-11 13:52 编辑

1.看了硬汉大哥的FreeRTOS教程,FreeRTOS移植那一章,FreeRTOS已经为开发这实现了SVC_HandlerPendSV_Handler SysTick_Handler这三个函数,看网上的一些其他的移植教程,还是把FreeRTOSConfig.h头文件中的#define xPortSysTickHandler SysTick_Handler注释掉,自己实现SysTick函数,并把
xPortSysTickHandler();函数放在systick中断服务函数里;
//systick中断服务函数void SysTick_Handler(void){            
   #if (INCLUDE_xTaskGetSchedulerState== 1 )   
    if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED)   
    {   
      #endif/* INCLUDE_xTaskGetSchedulerState */      
       xPortSysTickHandler();   
       #if (INCLUDE_xTaskGetSchedulerState== 1 )      
    }   
#endif/* INCLUDE_xTaskGetSchedulerState */
}
这样如果改心跳频率时,还要改systick的配置函数;比不注释掉#define xPortSysTickHandler SysTick_Handler
不是麻烦多了吗?
2.在port.c文件中没看到类似systick的初始配置函数





chen84992805 发表于 2020-12-14 14:41:56

硬汉大哥按照你的教程配置可正常运行,怎么还有好多人用上面的方式

eric2013 发表于 2020-12-15 08:41:24

chen84992805 发表于 2020-12-14 14:41
硬汉大哥按照你的教程配置可正常运行,怎么还有好多人用上面的方式

1、直接修改早年uCOS时代遗留下来的方式,别人移植的不方便,容易忘记修改。

现在基本上统一采用#define xPortSysTickHandler SysTick_Handler

2、有
页: [1]
查看完整版本: 请教FreeRTOS移植的一些疑问?