问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

FreeRTOSv202212.01移植到STM32

提问网友 发布时间:2025-01-25 19:58
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2025-01-25 20:46
介绍

将FreeRTOSv202212.01移植到STM32F103C8T6单片机的过程概述。此版本为当前最新,适用于开发者进行系统级编程。

硬件平台

选用STM32F103C8T6作为移植目标,此型号单片机提供丰富的外设资源,适合各种嵌入式应用。

软件架构与操作步骤

1. 从freertos.org/zh-cn-cmn下载源代码。注意,V9.0以后版本由Amazon收购后开发,V9.0被认为较为稳定。本文档介绍的移植方法适用于最新版本,与旧版本相比,源代码变化不大,可进行对比学习。

2. 解压源码并复制FreeRTOS目录内容至项目目录下。删除除Source文件夹外的所有文件,Source文件夹是核心模块,包含实际移植所需的文件。

3. 进入Source文件夹,删除非源代码文件,保留include和portable目录,前者包括头文件,后者为接口文件。

4. 进入Source下的portable文件夹,删除非必要的文件和文件夹(如RVDS和MemMang),仅保留与M3内核相关的ARM_CM3接口文件以及heap_4.c,其余可保留但暂不使用。

5. 从FreeRTOSv202212.01\FreeRTOS\Demo\CORTEX_STM32F103_Keil复制FreeRTOSConfig.h至include文件夹。此配置文件用于系统裁剪。

6. 将保留的文件添加到工程中,并配置文件路径。确保编译无错误。

创建任务的详细步骤

在main.c文件中,创建任务。关注stm32f10x_it.h文件,增加xPortSysTickHandler外部声明,并注释掉SVC_Handler和PendSV_Handler。SysTick_Handler作为定时器回调函数,用于调度处理。

在FreeRTOSConfig.h中添加中断宏定义,由port.c中的汇编语言实现,用于任务启动和切换。设置INCLUDE_xTaskGetSchedulerState为1。

在main.h中加入RTOS头文件,包含操作系统所需的所有调用文件。

至此,重新编译即可运行程序。最后,确保工程总目录包含标准库stdlib(3.5.0版本),以支持完整的硬件抽象层。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

FreeRTOS记录(一、熟悉开发环境以及CubeMX下FreeRTOS配置) 淘宝辱骂他人怎么处理?怎么被判定? 猫咪过年要钱吗为什么 一天有两只不同的猫串门是什么寓意? 猫咪拜年容易吗为什么 猫咪为什么对着月亮拜年 涂磊婆媳相处的秘诀 亚克力切割工具有哪些 用什么可以切割亚克力板 亚克力管如何切割 亚克力材质用什么能割 亚克力材料用什么切割 86年女虎二婚会在哪一年 我有一只仓鼠,但还想养一只豚鼠。能把它们养一起吗? 豚鼠和仓鼠不能一起养吗?那两只就玩得好好的呀!小的爱钻到大的怀里 ...0 = #DIV/0! 如何让 0 / 0 = 0 ,不显示 #DIV/0! 这个 太阳能冬天多久水能热 太阳能让水加热需要多久? 太阳能冬天一般晒多久才有热水 酒鼻基本概述 酒精鼻子酒渣鼻的症状及发病人群 手把手从0到1教你做STM32+FreeRTOS智能家居--第9篇之RC522读卡器_百度知... 如何使用Visual Studio Code进行FreeRTOS开发 急求!删除在C盘的的源文件的时候需要Administrators的权限才能对文件夹... 删除文件或文件夹被拒需要administrators提供权限怎么办 深圳电动车酒驾怎么处理 2011年车祸中吉瓦德·卡米尔为何会再次醉酒驾驶? 现在游戏美工发展前景怎么样? 个税中赡养老人费用扣多少? T-ara这个组合里谁在韩国的人气最高…原因… 同性恋婚姻该不该合法 ...到昨天早上起来敢觉头晕想睡觉脖子酸痛,大约晕了... ...两天后才去打针,可是针打了以后天天全身没有劲一样,而且视力也下降... 洛克王国的红毛小Q的作物是哪个? 洛克王国里小i灵桃可以换红毛小q吗在哪换 fillup中文是什么意思 滴滴代驾的收费标准是怎么样的呢 a5纸表格怎么打印出来好看的 excel表格怎么排版打印 excel表格如何排版可以直接打印 excel表格如何排版
Top