FreeRTOS移植到STM32F103

2023-10-29

1.下载FreeRTOS源码

        官网:FreeRTOS官网

        下载第一个带有示例的

2.在基础工程文件中创建文件夹FreeRTOS
3.打开下载好的源码,将FreeRTOSv202212.01\FreeRTOS\Source 里面的两个文件夹和.c文件都复制到FreeRTOS文件夹中

4.打开portable文件夹,只保留以下两个文件夹;RVDS中只保留ARM_CM3文件夹

 

5.打开源码,FreeRTOSv202212.01\FreeRTOS\Demo\CORTEX_STM32F103_Keil,复制FreeRTOSConfig.h文件到基础工程的User,同时在FreeRTOSConfig.h中添加两条定义

#define xPortPendSVHandler 	PendSV_Handler
#define vPortSVCHandler 	SVC_Handler
6.在Keil5工程中创建下图两个文件夹,导入以下文件

heap_4.c 位于 FreeRTOS\portable\MemMang

port.c 位于 FreeRTOS\portable\RVDS\ARM_CM3

7.在Keil5如下位置添加导入头文件的路径

8.打开基础工程的stm32f10x_it.c文件,注释以下两个函数,修改SysTick_Handler函数

代码如下:

void SysTick_Handler(void)
{
  #if (INCLUDE_xTaskGetSchedulerState  == 1 )
    if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED)
    {
  #endif  /* INCLUDE_xTaskGetSchedulerState */  
      xPortSysTickHandler();
  #if (INCLUDE_xTaskGetSchedulerState  == 1 )
    }
  #endif  /* INCLUDE_xTaskGetSchedulerState */
}
9.移植完成
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FreeRTOS移植到STM32F103 的相关文章

  • STM32_3(GPIO)

    一 GPIO简介 GPIO General Purpose Input Output 通用输入输出口 8种输入输出模式 输出模式可控制端口输出高电平 驱动LED 蜂鸣器 模拟通信协议输出时许等 输入模式可读取端口的高低电平或电压 用于读取按
  • Qt扩展-KDDockWidgets 简介及配置

    Qt扩展 KDDockWidgets 简介及配置 一 概述 二 编译 KDDockWidgets 库 1 Cmake Gui 中选择源文件和编译后的路径 2 点击Config 配置好编译器 3 点击Generate 4 在存放编译的文件夹输
  • Win10+OpenCV2.4.13+VS2013+CUDA7.5配置教程

    首先说明一下 OpenCV2 3 13之前的版本不支持CUDA7 5 因此配置总是会出问题 在OpenCV官网下载OpenCV2 4 13版本 此版本支持CUDA7 5 另外OpenCV2 4 13是支持VS2013的 但不清楚支不支持VS
  • 力扣:旋转数组(Java)

    给你一个数组 将数组中的元素向右轮转 k 个位置 其中 k 是非负数 class Solution public void rotate int nums int k int n nums length k n rotate 2 nums

随机推荐

  • MySQL脏读、不可重复读、幻读

    MySQL脏读 不可重复读 幻读 事务的特性 ACID 原子性 Atomicity 指处于同一个事务中的多条语句是不可分割的 即一个事务内的所有语句 要么全部成功要么全部失败 一致性 Consistency 事务必须使数据库从一个一致性状态
  • gpio上拉下拉区别

    gpio上拉下拉区别 GPIO是一颗芯片 MCU 必须具备的最基本外设功能 GPIO通常有三种状态 高电平 低电平和高阻态 高阻态换句话说就是断开状态或浮空态 因此上拉和下拉其中一个强大的理由就是为了防止输入端悬空 使其有确定的状态 减弱外
  • 【经典】修改SpringBoot的默认服务器Tomcat,替换Tomcat

    以下将介绍如何替换掉SpringBoot默认服务器Tomcat 我们将从两个案例 替换为Jetty和替换为UnderTow Tomcat是目前较流行的web容器 但过于臃肿 Jetty是个内嵌WEB容器 支持长连接 如聊天等长时间保持连接
  • 图论----同构图(详解)

    图论当中的术语 假设G V E 和G1 V1 E1 是两个图 如果存在一个双射m V V1 使得对所有的x y V均有xy E等价于m x m y E1 则称G和G1是同构的 这样的一个映射m称之为一个同构 如果G G1 则称他为一个自同构
  • JS:各种遍历方式总结

    js的遍历方式真的是有很多 有用于遍历数组的 也有用于遍历对象的 各种方式有什么样的应用场景 如何选择恰当的遍历方式 很容易就让人迷糊 所以做一下总结吧 第一种 普通for循环 直接遍历出的是索引 注意每次遍历都需要获取一次arr的长度 f
  • c#运算符

    一运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号 C 有丰富的内置运算符 分类如下 1 算术运算符 下表显示了 C 支持的所有算术运算符 假设变量 A 的值为 10 变量 B 的值为 20 则 例如 假如A 21 B 10 i
  • 网址与域名的区别

    目录 一 网址与域名的区别 二 主域名与子域名 一 网址与域名的区别 以网址https www baidu com为例 网址由协议加域名组成所以协议是https 域名 www baidu com 区别 1 包含与被包含的关系 网址包含域名
  • 如何判断某个值更改就让按钮可用_【教程】 如何创建自己的 NFT? 这里有份教程, 请收下!...

    AtomicHub 提供了 NFT 创建工具 让任何人都可以创建自己的 NFT 非同质代币 喜欢 NFT 的小伙伴们 一起搞起来吧 除了 WAX 之外 目前 AtomicAssets 也支持了 EOS 区块链 所以 两条链上的朋友都可以参考
  • pandas的定义以及pandas的DataFrame的初步使用(二)

    补充 Series自动对齐 当多个series对象之间进行运算的时候 如果不同series之间具有不同的索引值 那么运算会自动对齐不同索引值的数据 如果某个series没有某个索引值 那么最终结果会赋值为NaN 示例 DataFrame对象
  • 计算机网络c类网络划分子网介绍,IP地址的子网划分详解

    原标题 IP地址的子网划分详解 来源 今日头条北京炫亿时代 一 子网划分基础 1 子网划分的若干个好处 减少网络流量 提高网络性能 简化管理 可以更为灵活的形成大覆盖范围的网络 2 你最好遵循以下步骤来进行子网划分 确认所需要的网络ID数
  • 文件分片上传demo

    知识点 File File 接口也继承了 Blob 接口的属性 File 接口没有定义任何方法 但是它从 Blob 接口继承了以下方法 Blob slice start end contentType new File 字符串数组 file
  • 【C语言】错题本(4)

    一 题目及选项 答案解析 知识点 字符型在内存中的数据存储 char类型数据在内存中的图示 unsigned char类型数据在内存中的图示 二 题目及选项 答案解析 A B C D 三 题目及选项 答案解析 数据在计算机中是先转换成补码
  • @ApiImplicitParam注解使用说明

    ApiImplicitParam注解使用说明 ApiImplicitParam是Swagger框架中的一个注解 用于描述请求参数的详细信息 它可以帮助开发人员生成API文档 并提供给用户更清晰的接口信息 以下是对 ApiImplicitPa
  • 别再乱写了,Controller 层代码这样写才足够规范!

    前言 本篇主要要介绍的就是controller层的处理 一个完整的后端请求由4部分组成 接口地址 也就是URL地址 请求方式 一般就是get set 当然还有put delete 请求数据 request 有head跟body 响应数据 r
  • Deep learning:四十一(Dropout简单理解)

    前言 训练神经网络模型时 如果训练样本较少 为了防止模型过拟合 Dropout可以作为一种trikc供选择 Dropout是hintion最近2年提出的 源于其文章Improving neural networks by preventin
  • 马哥:linux云计算从入门到精通笔记

    前言 Linux可安装在各种计算机硬件设备中 比如手机 平板电脑 路由器 视频游戏控制台 台式计算机 大型机和超级计算机 互联网Linux运维工作 以服务为中心 以稳定 安全 高效为三个基本点 确保公司的互联网业务能够7 24小时为用户提供
  • 密码复杂度(四选三)

    密码复杂度 四选三 数字 大写字母 小写字母 特殊字符 四种里边任选其三 0 9 lt gt A Z W a z W 0 9a z A Z0 9 0 9 lt gt a zA Z a zA Z0 9 lt gt 8 32
  • java 有序列表_Java 中的 List —— 有序序列

    List 在 java 中是个有序序列 一 容量 ArrayList 中有一个容量概念 表示基础数组的大小 无参时默认为 10 在需要的时候 比如 add操作 会自动增加其容量 LinkedList 没有这个概念 TreeMap 也有容量
  • SpringBoot忽略HTTPS请求的SSL证书

    报错如下 java security cert CertificateException No subject alternative names present 解决方案 1 创建SslUtil工具类 import java securi
  • FreeRTOS移植到STM32F103

    1 下载FreeRTOS源码 官网 FreeRTOS官网 下载第一个带有示例的 2 在基础工程文件中创建文件夹FreeRTOS 3 打开下载好的源码 将FreeRTOSv202212 01 FreeRTOS Source 里面的两个文件夹和