基于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.xdnf.cn/news/1473335.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

电脑f盘的数据回收站清空了能恢复吗

随着信息技术的飞速发展,电脑已成为我们日常生活和工作中不可或缺的设备。然而,数据的丢失或误删往往会给人们带来极大的困扰。尤其是当F盘的数据在回收站被清空后,许多人会陷入绝望,认为这些数据已无法挽回。但事实真的如此吗&am…

Python 学习中什么是元组,如何使用元组?

什么是元组 元组(Tuple)是Python内置的一种数据结构,用于存储多个数据项。与列表类似,元组也可以存储不同类型的数据,但它们之间存在一个重要区别:元组是不可变的,也就是说,一旦创建…

怀念旧的Windows声音?以下是如何在Windows 11中恢复它们

如果你渴望旧的Windows声音,希望能在Windows 11上再次听到,那你就很幸运了。我们将向你展示如何下载必要的声音包并创建复古的声音方案。 如何获取旧Windows声音的声音包 你需要做的第一件事是下载一个包含旧Windows版本声音的声音包。此外,请确保它包含的每个声音都是WAV…

ctfshow web入门 nodejs

web334 有个文件下载之后改后缀为zip加压就可以得到两个文件 一个文件类似于index.php 还有一个就是登录密码登录成功就有flag username:ctfshow password:123456因为 return name!CTFSHOW && item.username name.toUpperCase() && item.password passwor…

软件运维服务方案(Word原件2024)

软件运维服务方案(Word原件) 1. 服务简述 我们提供全面的软件运维服务,确保软件系统的稳定运行。 1.1 服务内容 包括监控、维护、故障排查与优化。 1.2 服务方式 结合远程与现场服务,灵活响应客户需求。 1.3 服务要求 高效响应&am…

自动驾驶AVM环视算法--相机的联合标定算法实现和exe测试demo

更新:测试的exe程序,无需解压码就可以体验算法测试效果 链接:https://pan.baidu.com/s/1OfuslVNcTXAZWvwiqflWsA 提取码:zoef 1、压缩包解压后显示如下所示 测试文件包括:可执行的exe文件、测试的图片等。 2.双击ex…

C++|哈希应用->布隆过滤器

目录 一、概念 二、模拟实现 三、布隆过滤器扩展应用 上一篇章学习了位图的使用,但它只适用于整数,对于要查询字符串是否在不在,位图并不能解决。所以针对这一问题,布隆过滤器可以派上用场,至于布隆过滤器是什么&am…

8种方案解决移动端1px边框的问题

🧑‍💻 写在开头 点赞 收藏 学会🤣🤣🤣 8 种方案解决移动端1px边框的问题 造成边框变粗的原因 css中的1px并不等于移动设备的1px,这是由不同手机由不同像素密度,在window对象中有一个devic…

Nginx-http_auth_basic_module使用

文章目录 前言一、ngx_http_auth_basic_module二、指令1.auth_basic1.auth_basic_user_file 示例生成密码文件配置basic认证浏览器验证 总结 前言 nginx可以通过HTTP Basic Authutication协议进行用户名和密码的认证。 一、ngx_http_auth_basic_module 生效阶段: …

压测工具---Ultron

压测工具:Ultron 类型:接口级和全链路 接口级 对于接口级别的压测我们可以进行 http接口压测、thrift压测、redis压测、kafka压测、DDMQ压测、MySQL压测等,选对对应的业务线、选择好压测执行的时间和轮数就可以执行压测操作了 全链路 对…

SAP PS学习笔记01 - PS概述,创建Project和WBS

本章开始学习PS(Project System)。 1,PS的概述 PS(Project System)是SAP企业资源规划系统中的一个关键模块,主要用于项目管理。 它提供了一个全面的框架来规划、控制和执行项目,涵盖了从项目启…

阿秒光脉冲(阿秒脉冲)持续时间在阿秒量级 科学研究是其目前主要应用方向

阿秒光脉冲(阿秒脉冲)持续时间在阿秒量级 科学研究是其目前主要应用方向 阿秒光脉冲简称阿秒脉冲,由超级短暂的激光脉冲构成,单个脉冲的持续时间仅为百万亿分之一秒(10-18秒)。   根据新思界产业研究中心…

【JavaWeb程序设计】JSP内置对象

目录 一、通过测试以下代码,了解各种隐含对象与作用域变量的使用 1. request隐含对象的使用(request.jsp) 2. out隐含对象的使用(out.jsp) 3. application隐含对象的使用(application.jsp) …

MySQL数据库树状结构查询

一、树状结构 MySQL数据库本身并不直接支持树状结构的存储,但它提供了足够的灵活性,允许我们通过不同的方法来模拟和实现树状数据结构。具体方法看下文。 数据库表结构: 实现效果 查询的结果像树一样 二、使用 以Catalog数据表&#xff0c…

Vite: 近几个版本的更新

概述 在 2021 年 2 月,尤大正式推出了 Vite 2.0 版本,可以说是 Vite 的一个重要转折点,自此之后 Vite 的用户量发生了非常迅速的增长,很快达到了每周 100 万的 npm 下载量。同时,Vite 的社区也越来越活跃,…

HTTP协议格式

目录 正文: 1.概述 2.主要特点 3.请求协议格式 4.响应协议格式 5.响应状态码 总结: 正文: 1.概述 HTTP 协议是用于传输超文本数据(如 HTML)的应用层协议,它建立在传输层协议 TCP/IP 之上。当我们在…

stm32定时器与pwm波

文章目录 4 TIM4.1 SysTick系统定时器4.2 TIM定时器中断与微秒级延时4.3 TIM使用PWM波4.3.1 PWM介绍4.3.2 无源蜂鸣器实现 4.4 TIM ,PWM常用函数 4 TIM 4.1 SysTick系统定时器 ​ Systick系统滴答,(同时他有属于自己的中断,可以利用它来做看…

Unity 使用AVProMovieCapture实现Game视图屏幕录制

内容将会持续更新,有错误的地方欢迎指正,谢谢! Unity 使用AVProMovieCapture实现Game视图屏幕录制 TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心…

【二】Ubuntu24虚拟机在Mac OS的VMware Fusion下无法联网问题

文章目录 1.环境背景2. 需求背景3. 解决方法3.1 在mac的终端查看虚拟机NAT网络3.2 查看unbuntu节点2的网络配置3.3 问题定位与解决3.3.1 检查是否有冲突3.3.2 冲突解决方法 4. 总结4.1 NAT 网关的原理4.2 VMware Fusion 的 NAT 模式4.3 为什么网关冲突会引起问题4.4 理解配置冲…

Linux 程序卡死的特殊处理

一、前言 Linux环境。 我们在日常编写的程序中,可能会出现一些细节问题,导致程序卡死,即程序没法正常运行,界面卡住,也不会闪退... 当这种问题出现在客户现场,那就是大问题了。。。 当我们暂时还无法排…