FreeRTOS移植到STM32F103

1.下载FreeRTOS源码

        官网:FreeRTOS官网

        下载第一个带有示例的

2.在基础工程文件夹(最简单的点灯程序之类的文件夹)中创建文件夹FreeRTOS
3.打开下载好的源码,将FreeRTOSv202212.01\FreeRTOS\Source 里面的两个文件夹和.c文件都复制到FreeRTOS文件夹中

4.打开portable文件夹,只保留以下两个文件夹;RVDS中只保留ARM_CM3文件夹

 

5.打开源码文件夹,FreeRTOSv202212.01\FreeRTOS\Demo\CORTEX_STM32F103_Keil,复制FreeRTOSConfig.h文件到基础工程的User,同时在FreeRTOSConfig.h中添加两条定义

#define xPortPendSVHandler 	PendSV_Handler
#define vPortSVCHandler 	SVC_Handler
6.在Keil5工程中创建下图两个文件夹,导入以下文件

heap_4.c 位于 FreeRTOS\portable\MemMang

port.c 位于 FreeRTOS\portable\RVDS\ARM_CM3

7.在Keil5如下位置添加导入头文件的路径

8.打开基础工程的stm32f10x_it.c文件,注释以下两个函数,修改SysTick_Handler函数

代码如下:

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_Handler函数前面加上就好。

extern void xPortSysTickHandler(void);

9.移植完成
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值