KEA128 移植/嵌入Free_RTOS

话不多说,直接上步骤:

1.准备一个KEA128的空工程,如LED闪烁工程

2.去除工程中的PendSV_Handler和SVC_Handler,以免报错重定义

3.将Free_RTOS相关文件复制入系统,这里我是从原子的工程里面复制来的

4.将RTOS系统文件加入工程,KEA128是CM0+内核的,所以port.c应该选择 portable\RVDS\ARM_CM0中的

5.修改FreeRTOSConfig.h中的各项宏定义:

      1.configUSE_PORT_OPTIMISED_TASK_SELECTION 设置为0,CM0+内核不支持CLZ指令

      2.configCPU_CLOCK_HZ    设置系统频率,我这里为40M

      3.configTICK_RATE_HZ    设置时钟节拍,这里为1000

      4.configMINIMAL_STACK_SIZE    设置空闲任务使用的堆栈大小,这里为128

      5.configTOTAL_HEAP_SIZE    设置给系统使用的总内存大小,这里为8KB,即总内存的一半

      6.configLIBRARY_LOWEST_INTERRUPT_PRIORITY    设置最低中断优先级,由于KEA128只有两位用于优先级配置,所以这里为3

      7.configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY    设置系统可管理的最高中断优先级,我这里设置为2,即优先级0、1 不被系统控制

      8.configPRIO_BITS    设置NVIC使用几个位来配置中断优先级,这里上面说过了,为2

6.增加 SysTick_Handler 的处理

void SysTick_Handler(void)
{
	if(xTaskGetSchedulerState()!=taskSCHEDULER_NOT_STARTED)//ϵͳÒѾ­ÔËÐÐ
	{
			xPortSysTickHandler();
	}
}

7.主函数中初始化任务前记得初始化SysTick,并把中断频率定为1000HZ

 

至此大功告成!需要源代码的可以在此下载:https://download.csdn.net/download/u011764302/12536057

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值