基于标准库函数的STM32的freertos的移植(三)——MDK工程搭建、配置与修改

1.打开MDK5软件,新建MDK工程,将新建工程文件保存在Project_Stm32f407/mdk文件夹下,并将工程命名为freertos_M4,选择MCU型号为STM32F407ZG,新建工程文件的步骤如下图所示:

图1 新建工程
图2 保存工程路径和工程名
图3 选择芯片型号
图4  工程新建成功

2.MDK5工程文件目录列表的搭建,配置MDK工程文件目录,具体步骤如下图所示:

图5 工程目录管理界面
图6 根据功能进行文件组命令

 

图7 文件目录修改

3.首先添加Startup,将 \Project_Stm32f407\cmsis\arm目录下的startup_stm32f40_41xxx.s添加到Startup目录。

图8 Startup添加汇编文件

 

4.然后添加FWLib的所有接口的库文件,将Project_Stm32f407\fwlib\src目录下的所有c源文件添加到工程目录的FWLib目录(注意:仅需要添加c源文件,不需要添加.h头文件)。

图9 FWLib添加源文件

 

5.CMSIS目录添加STM32F4架构相关系统的源文件,将Project_Stm32f407\user目录下除main.c外,其他.C源文件均添加到CMSIS目录下。

图10 CMSIS添加源文件

 

6.然后将Project_Stm32f407/user目录的 main.c的文件添加到USER目录下。

图11 USER目录添加main.c

 

7.然后将Project_Stm32f407\freertos目录的 .c的文件添加到freertos_core目录下。

图12 freertos内核文件添加

 

8.然后将Project_Stm32f407\freertos\portable\MemMang目录的 heap_4.c的文件和Project_Stm32f407\freertos\portable\RVDS\ARM_CM4F目录的port.c添加到freertos_port目录下。

图13 添加freertos的port文件

 

9.STM32工程文件配置设置,具体步骤如下图所示:

图14 设置hexfile输出
图15 设置头文件目录

 

10.main.c修改如下图所示:

图16 main.c内容修改

 

11.将FWLib目录下的stm32f4xx_fmc.c删除。

图17 删除stm32f4xx_fmc.c文件

 

12.将stm32f4xx_it.c中的main.h的头文件进行注释,如下图所示:

图18 注释main.h

 

13.FreeRTOSConfig.h头文件修改如下所示:

图19 修改宏定义

 

14.注释掉stm32f4xx_it.c中的PendSV_Handler(),SVC_Handler(),SysTick_Handler()这三个函数。如下图:

图20 stm32f4xx_it.c注释三个中断服务函数

 

15.FreeRTOSConfig.h头文件hook宏定义修改为零,如下所示:

图21 hook宏定义设置为0

 

16.编译程序,发现程序不再报错,说明freertos在mdk上移植配置成功,后续将进行freertos应用软件的编写。

图22 基于MDK的freertos的工程编译成功

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
移植FreeRTOS标准库函数STM32F103C8T6可以按照以下步骤进行操作: 1. 首先,下载正点原子提供的FreeRTOS V9.0版的程序和HAL库函数FreeRTOS V10.4.6版的程序。 2. 打开战舰资料中的FreeRTOS例程,路径为【正点原子】战舰STM32F103开发板V4 资料盘(A盘)\4,程序源码\3,扩展例程\2,FreeRTOS例程\FreeRTOS实验例程2 FreeRTOS移植实验\Middlewares\FreeRTOS。 3. 将战舰STM32F103开发板V4 资料盘(A盘)\4,程序源码\3,扩展例程\2,FreeRTOS例程\FreeRTOS实验例程2 FreeRTOS移植实验\User文件夹中的freertos_demo.c、freertos_demo.h、FreeRTOSConfig.h这个文件复制到你的工程的USER文件夹中。 4. 打开正点原子提供的HAL库函数FreeRTOS V10.4.6版的程序,将其中的FreeRTOS相关代码直接拷贝到你的标准库函数工程中,替换原有的FreeRTOS相关代码。 通过以上步骤,你就可以将FreeRTOS V10.4.6版移植标准库函数中,实现在STM32F103C8T6上使用FreeRTOS标准库函数的功能。请注意,移植过程中可能需要根据你的具体需求进行一些适配和修改。 #### 引用[.reference_title] - *1* *2* *3* [STM32系列单片机标准库移植FreeRTOS V10.4.6详解](https://blog.csdn.net/qq_20222919/article/details/128589414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少林and叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值