STM32F103C8T6及其系列的FreeRTOS移植

您所在的位置:网站首页 freertos移植到stm32 STM32F103C8T6及其系列的FreeRTOS移植

STM32F103C8T6及其系列的FreeRTOS移植

2023-08-20 04:40| 来源: 网络整理| 查看: 265

STM32F103C8T6及其系列的FreeRTOS移植

本文所提到的所有软件、驱动、代码百度网盘链接:https://pan.baidu.com/s/1VtjtWfXGHKFb0zr-6ECufA 提取密码:n7or

参考自正点原子手册。

1.前言

​嵌入式系统是实时性强、宏观上多线程运行、且在单片机上运行的操作系统。具体代码实现和代码风格较之原先单线程式执行有较大不同,因此使用者需要对嵌入式系统的运行原理有清晰的认识,且需要熟悉代码块跳转的方式。

​ 本文介绍FreeRTOS系统在STM32系列单片机上最简单的移植

2.FreeRTOS的介绍 2.1FreeRTOS的特性

FreeRTOS全称:Free Real Time OS ,免费的实时操作系统。

主要特性如下:

1) 免费可商用

2) 多线程

3) 可设置任务优先级

4) 实时性强

5) 可裁剪

6) 低功耗

7) 高可移植性

8) 任务与任务、 任务与中断之间可以使用任务通知、消息队列、二值信号量、数值型信号量、 递归互斥信号量和互斥信号量进行通信和同步。

3. 移植步骤

1)准备基础工程和FreeRTOS源码

2)基础工程的文件夹新建“FreeRTOS”文件夹

3)复制“FreeRTOS”中的“source”的源码

4)在“portable”文件夹里留下“Keil”、“MenMang”、“RVDS”文件夹

5)打开工程代码,右键工程名→‘Add Group’并命名“FreeRTOS_CORE”和“FreeRTOS_PORTABLE”,并添加代码如图1所示 在这里插入图片描述

图1 添加代码

6) 添加头文件路径如图2所示

图2 头文件路径

7)编译后,处理“FreeRTOSConfig.h”的error,复制例程里的文件添加至“include”

8)有重复定义的错误则进入“stm32f10x_it.c”中注释或删除掉重复定义函数。

9)修改“SYSTEM”文件中的sys.h的#define SYSTEM_SUPPORT_OS 为1

修改“usart.c”中的‘include.h’→‘FreeRTOS.h’

修改USART1的中断函数,删除OSIntEnter()和OSIntExit()

修改delay.c文件中的‘delay_init()’的分频倍数为1

注意:‘FreeRTOSConfig.h’中的‘configTOTAL_HEAP_SIZE (size_t)(20*1024)’.其中20代表STM32F10X系列的堆栈大小,需要按照型号修改匹配。20为ZET6,10为C8T6.

MATLAB的温度曲线串口处理脚本与实时画图小白 1.https://blog.csdn.net/weixin_39092315/article/details/116334084 STM32F103C8T6+FreeRTOS+USART1、3 2.https://blog.csdn.net/weixin_39092315/article/details/116329689 在STM32上实现FuzzyPID(理论与代码实现) 3.https://blog.csdn.net/weixin_39092315/article/details/116382016 STM32F103C8T6的USB虚拟串口实现 4.https://blog.csdn.net/weixin_39092315/article/details/108249478 初识STM32与其选型 5.https://blog.csdn.net/weixin_39092315/article/details/115432035 STM32的HAL库实现定时器TIM6和计算方法 6.https://blog.csdn.net/weixin_39092315/article/details/115432035



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3