当前位置: 首页 > news >正文

基于STM32F407ZG的FreeRTOS移植

1.从FreeRTOS官网中下载源码

2、简单分析FreeRTOS源码目录结构

2.1、简单分析FreeRTOS源码根目录

(1)Demo:是官方为一些单片机移植FreeRTOS的例程

(2)License:许可信息

(3)Source:FreeRTOS源码

2.2、Source文件夹

3、移植FreeRTOS

3.1、在自己的工程中创建FreeRTOS文件夹

3.2、在FreeRTOS目录中创建include、port、src文件夹

3.3、将FreeRTOS源码中include文件夹下的文件复制到自己工程中的include文件夹

3.4、portable文件夹移植

我是使用IAR编译,所以需要移植IAR文件夹,而不是Keil文件夹

(1)IAR文件夹,需要根据自己所用的芯片型号进行移植

(2)MemMang文件夹

(3)RVDS文件夹,与IAR文件夹功能相同,本项目中未使用到该部分

(5)FreeRTOSConfig.h移植,放到include文件夹中

4、在IAR工程项目完成FreeRTOS移植

(1)在工程中添加FreeRTOS文件夹下的内容,port.c和portasm.s是port文件夹中的,MemMang中只需要heap_4.c

(2)头文件包含上FreeRTOS中的内容

(3)因为portasm.s文件夹包含了FreeRTOSConfig.h文件,需要额外包含FreeRTOSConfig.h所在的文件路径

5.工程代码改动

(1)stm32f4xx_it.c中注释void SVC_Handler(void),void PendSV_Handler(void)函数

(2)修改SysTick_Handler函数

(3)FreeRTOSConfig.h修改

将configUSE_IDLE_HOOK,configUSE_TICK_HOOK,configCHECK_FOR_STACK_OVERFLOW,configUSE_MALLOC_FAILED_HOOK改成0.

注释#define xPortSysTickHandler SysTick_Handler

http://www.lryc.cn/news/392776.html

相关文章:

  • 【IT领域新生必看】Java编程中的神奇对比:深入理解`equals`与`==`的区别
  • WEBHTTP
  • nodejs 获取客服端ip,以及获取ip一直都是127.0.0.1的问题
  • 微软与OpenAI/谷歌与三星的AI交易受欧盟重点关注
  • 微信小程序毕业设计-学生实习与就业管理系统项目开发实战(附源码+论文)
  • spring boot 接口参数解密和返回值加密
  • C语言自定义类型——联合体、枚举
  • 【trition-server】pytorch 文档:使用 Triton 提供 Torch-TensorRT 模型
  • wps 表格如何实现vlookup高级模糊搜索
  • 第一天(点亮led灯+led灯闪烁)——Arduino uno R3 学习之旅
  • 【C++题解】1561. 买木头
  • 解决android native包webview,webview中的请求blocked by CORS policy
  • 链篦机回转窑球团生产工艺
  • 查看电脑ip地址快捷键是什么?是哪个
  • 面试专区|【54道Spring Cloud高频题整理(附答案背诵版)】
  • Shopee(虾皮)怎么获取流量?
  • Java启动虚拟机默认字符集编码
  • 【单片机编程模式】状态机编程
  • IPSS模块怎么安装到VOS服务器的,到底有没有效果,是不是能大幅度提升VOS3000安全性呢
  • C++ STL容器:序列式容器-堆pirority_queue
  • ECharts在最新版本中使用getInstanceByDom报错处理
  • 利用C语言实现三子棋游戏
  • 大学教师门诊预约小程序-计算机毕业设计源码73068
  • Python PyCryptodome库介绍与实例
  • 《框架封装者 · 自定义初始化事件》
  • ActiViz实战:使用vtkImageClip和vtkImageActor根据滑动条来显示当前图像数据切面
  • 【论文笔记】BEVCar: Camera-Radar Fusion for BEV Map and Object Segmentation
  • 圆通寄15kg30kg一般多少钱?寄大件物品怎么寄最便宜?
  • transformer初探
  • JUC并发编程基础(包含线程概念,状态等具体实现)