目录
一、概要说明
1、基于FreeRTOSv9_0_0移植;
2、基于iLLD库版本iLLD_1_0_1_12_0或以上;
二、FreeRTOS文件中的更改
索引FreeRTOS支持的GCC芯片平台为TriCore_1782, 我们就这个平台来修改我们的Tc39x系列的FreeRTOS。如下需要修改三个文件
1、添加Ifx_Cfg_Trap.h文件,内容如下:
系统调用入口,任务切换时用到,重要!!!。
2、port.c文件修改如下
修改 StackType_t *pxPortInitialiseStack()函数中断汇编函数及寄存器如下:
修改BaseType_t xPortStartScheduler(void):
函数void prvSetupTimerInterrupt( void )修改,主要用来设置时间片中断:
函数static void prvSystemTickHandler(void)修改如下:
函数void vPortReclaimCSA( uint32_t *pxTCB )修改:
函数void prvTrapYield(int iTrapIdentification)修改:
函数__attribute__((noinline)) static void prvInterruptYield(void)修改如下:(中断切换函数)
函数uint32_t uxPortSetInterruptMaskFromISR( void )修改如下:
3、portmacro.h文件修改
主要将汇编函数及寄存器更改为Tc39x系列的。
4、FreeRTOSConfig.h文件修改
为FreeRTOS主要功能参数定义。
三、 其他文件修改
1、Ifx_Cfg.h修改,打开使用外部Trap钩子函数
系统任务切换时最终进入如下系统函数:
2、建立及开始任务调度
四、移植成功的代码如下
https://download.csdn.net/download/u013464897/87834980