STM32F103C8T6及其系列的FreeRTOS移植 |
您所在的位置:网站首页 › freertos移植到stm32 › STM32F103C8T6及其系列的FreeRTOS移植 |
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所示 6) 添加头文件路径如图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 |