FreeRTOS - STM32中任务未进行调度问题

2023-05-16

将FreeRTOS源码移植到STM32F10X中,编译通过,烧录后,发现开启的新任务没有运行。

现象:串口值仅仅打印了 printf("TesetesettettttttttttesT\r\n");

          子任务中没有 循环打印 printf("start_task! \r\n");

          任务创建返回值正确 printf("ret = %ld \r\n", ret); 返回值为1 

原因判断:最开始怀疑,任务堆栈过小,但都没有解决,最后判断是未进入start_task任务中,没有任务调度。

原始代码如下:

 FreeRTOS 的任务调度,是由调度器在sysTick中断中执行,同时为了中断服务得到及时响应,引入pendSV 执行任务上下文切换。

最终发现在FreeRTOSConfig.h 配置文件中没有 配置SVC异常和PenSV异常 的宏,增加下图红框中的宏定义,重命名这两个异常的函数实现名字。

#define xPortPendSVHandler 	PendSV_Handler
#define vPortSVCHandler 	SVC_Handler

 xPortPendSVHandler 和 vPortSVCHandler 是FreeRTOS源码中port.h文件实现的,但是STM32 原始的异常函数名应该为PendSV_Handler 和 SVC_Handler,所以将其重命名即可。

修改后,任务调度正常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FreeRTOS - STM32中任务未进行调度问题 的相关文章

  • 优化 ARM Cortex M3 代码

    我有一个 C 函数 它尝试将帧缓冲区复制到 FSMC RAM 这些函数将游戏循环的帧速率降低至 10FPS 我想知道如何分析反汇编的函数 我应该计算每个指令周期吗 我想知道CPU把时间花在哪里 在哪个部分 我确信该算法也是一个问题 因为它的
  • 140-基于stm32单片机智能晾衣杆控制系统Proteus仿真+源程序

    资料编号 140 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 光敏传感器 蜂鸣器 LED灯 制作一个基于stm32单片机智能晾衣杆控制系统Proteus仿真 2 通过光敏传感器
  • 136-基于stm32单片机家庭温湿度防漏水系统设计Proteus仿真+源程序

    资料编号 136 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 蜂鸣器 制作一个基于stm32单片机家庭温湿度防漏水系统设计Proteus仿真 2 通过DHT11传感器检测当前温湿度 并且显示到L
  • STM32F103

    提示 来源正点原子 参考STM32F103 战舰开发指南V1 3PDF资料 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 开发环境硬件普中科技 接线图在g
  • STM32超声波——HC_SR04

    文章目录 一 超声波图片 二 时序图 三 超声波流程 四 单位换算 五 取余计算 六 换算距离 七 超声波代码 一 超声波图片 测量距离 2cm 400cm 二 时序图 1 以下时序图要先提供一个至少10us的脉冲触发信号 告诉单片机我准备
  • STM32F103概要

    The STM32F103x4 STM32F103x6 STM32F103xC STM32F103xD and STM32F103xE are a drop in replacement for STM32F103x8 B medium d
  • SHT10温湿度传感器——STM32驱动

    实验效果 硬件外观 接线 3 3V供电 IIC通讯 代码获取 查看下方 END
  • 硬件基础-电容

    电容 本质 电容两端电压不能激变 所以可以起到稳定电压作用 充放电 电容量的大小 想使电容容量大 使用介电常数高的介质 增大极板间的面积 减小极板间的距离 品牌 国外 村田 muRata 松下 PANASONIC 三星 SAMSUNG 太诱
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 擦除后无法写入闪存

    所以我不能在擦除后直接写入内部闪存 如果写操作之前没有擦除操作 那么我可以 有什么想法吗 编程函数返回 成功写入 值 但查看内存时 没有写入任何数据 这是代码 uint32 t pageAddress 0x08008000 uint16 t
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • 无法使用 OpenOCD 找到脚本文件

    我正在尝试按照本教程将 OpenOCD 与我的 ST 发现板一起使用 https japaric github io discovery README html https japaric github io discovery READM
  • CMSIS & STM32,如何开始? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 STM32 上使用 CMSIS 启动项目 网上一搜 没找到具体的教程 有些使用 SPL 开始项
  • Arm:objcopy 如何知道 elf 中的哪些部分要包含在二进制或 ihex 中?

    我正在开发一个项目 其中涉及解析arm elf 文件并从中提取部分 显然 elf 文件中有很多部分没有加载到闪存中 但我想知道 objcopy 到底如何知道要在二进制文件中包含哪些部分以直接闪存到闪存中 以arm elf文件的以下reade
  • 嵌入式开发--STM32G4系列片上FLASH的读写

    这个玩意吧 说起来很简单 就是几行代码的事 但楞是折腾了我大半天时间才搞定 原因后面说 先看代码吧 读操作 读操作很简单 以32位方式读取的时候是这样的 data IO uint32 t 0x0800F000 需要注意的是 当以32位方式读
  • 特殊寄存器

    特殊寄存器 文章目录 前言 一 背景 二 2 1 2 2 总结 前言 前期疑问 STM32特殊寄存器到底是什么 特殊寄存器怎么查看和调试代码 本文目标 记录和理解特殊寄存器 一 背景 最近在看ucosIII文章是 里面提到特殊寄存器 这就进
  • systick定时器

    systick定时器 文章目录 前言 一 前期疑惑 二 解答 1 关于systick是阻塞的吗 2 非阻塞 三 软件编写 总结 前言 这边记录systick相关知识点 一 前期疑惑 在学习systick志气啊 其实对于systick还是一脸
  • 通过JTAG恢复STM32 MCU磨掉的标记

    我有一块可能带有 STM32 MCU 的板 我想为该板制作定制固件 因为库存板有很多问题 不幸的是 电路板制造商很友善地磨掉了所有标记 有没有办法通过 jtag 获取设备 系列 ID 并将其交叉引用到型号 我能找到的一切都是关于获取芯片的唯
  • C++ freeRTOS任务,非静态成员函数的无效使用

    哪里有问题 void MyClass task void pvParameter while 1 this gt update void MyClass startTask xTaskCreate this gt task Task 204
  • 有关 CMake 错误的问题:没有为目标提供源

    我正在尝试使用 cmake 和 eclipse 将 FreeRtos 添加到我的项目中 但出现错误 我运行的是 debian 10 我的 cmake 版本是 3 13 4 cmake 的文件可以在以下位置找到这个 git 仓库 https

随机推荐

  • 【ROS&GAZEBO】多旋翼无人机仿真(一)——搭建仿真环境

    ROS amp GAZEBO 多旋翼无人机仿真 xff08 一 xff09 搭建仿真环境 ROS amp GAZEBO 多旋翼无人机仿真 xff08 一 xff09 搭建仿真环境 ROS amp GAZEBO 多旋翼无人机仿真 xff08
  • 【ROS&GAZEBO】多旋翼无人机仿真(三)——自定义多旋翼模型

    ROS amp GAZEBO 多旋翼无人机仿真 xff08 一 xff09 搭建仿真环境 ROS amp GAZEBO 多旋翼无人机仿真 xff08 二 xff09 基于rotors的仿真 ROS amp GAZEBO 多旋翼无人机仿真 x
  • 当使用CUBEMX,STM32F429阿波罗开发板的PCF8574与1-Wire冲突的解决办法。

    hello 大家好 xff01 距离上次写博客还是上半年呢 这几个月做了很多实验 xff0c 不过都很懒 xff0c 一直没有写上来 准备慢慢补回来 下面是我在使用原子哥的STM32F429的开发板做温度传感器项目的小实验时遇到的问题 1
  • 【ROS&GAZEBO】解决“is neither a launch file in package ”的问题

    这两天有小伙伴问到在安装完rotors后出现如下问题 xff1a 这个问题其实是ros环境没有配置好 xff0c 运行下面的命令 xff0c 将catkub ws加入ros的工作空间 span class token function mk
  • 【ROS&GAZEBO】多旋翼无人机仿真(七)——四元数姿态控制

    ROS amp GAZEBO 多旋翼无人机仿真 xff08 一 xff09 搭建仿真环境 ROS amp GAZEBO 多旋翼无人机仿真 xff08 二 xff09 基于rotors的仿真 ROS amp GAZEBO 多旋翼无人机仿真 x
  • 【DRONECAN】(一)介绍

    DRONECAN 前言 笔者最近因为项目需要用到CAN通信 xff0c 所以研究了一下飞控上基于CAN的协议 xff0c 目前在Ardupilot和PX4中用的是DRONECAN xff0c DRONECAN是基于CAN的通信协议 xff0
  • 普通人对AI的看法

    就发展前景来看 xff0c 人工智能无疑将是现阶段与今后很长时间内的全球性热点 这是一个可以预见性的历史潮流 xff0c 无可阻挡 xff0c 一旦它出现一定会对现代互联网的结构会产 生颠覆性的改变 它将重新定义现代互联网的理念 xff0c
  • java+postgis实现根据两点生成模拟轨迹gps数据

    java 43 postgis实现根据两点生成模拟轨迹gps数据 文章目录 java 43 postgis实现根据两点生成模拟轨迹gps数据前言一 实现流程1 请求参数2 功能流程3 postgis重要使用函数介绍4 生成的GPS模拟轨迹点
  • Docker更新springboot容器镜像

    下载安装partainer 拉取镜像 docker pull portainer portainer ce 运行容器 docker run d p 9000 9000 v var run docker sock var run docker
  • AUTOSAR简介

    1 简介 AUTOSAR全称为 AUTomotive Open System ARchitecture xff0c 译为 汽车开放系统体系结构 xff1b AUTOSAR是一家由汽车电子 半导体和软件行业的汽车制造商 供应商 服务提供商等公
  • 基于sklearn的分类与回归基础总结

    一 分类 一 数据类型 1 python自带类型 span class token builtin list span span class token comment 列表 span span class token builtin tu
  • 回归模型 Boston房价预测

    一 加载数据集 将取值范围差异很大的数据输入到神经网络中 xff0c 这是有问题的 网络可能会自动适应这种取值范围不同的数据 xff0c 但学习肯定变得更加困难 对于这种数据 xff0c 普遍采用的最佳实践是对每个特征做标准化 xff0c
  • 卷积神经网络 猫狗识别

    一 卷积神经网络搭建 搭建框架 xff0c 需要使用卷积层和池化层 span class token keyword from span keras span class token keyword import span models s
  • Matlab学习笔记

    PART 0 xff1a 绪论 2018年9月11日 16 54 参考书籍 理论教程 MATLAB与计算方法 谢进 xff0c 李大美主编 武汉大学出版社 图书馆编号TP312MAX321 实践教程 MATLAB基础与运用 熊庆如主编 机械
  • 预训练卷积神经网络

    一 综述 预训练网络 xff08 pretrained network xff09 是一个保存好的网络 xff0c 之前已在大型数据集 xff08 通常是大规模图像分类任务 xff09 上训练好 如果这个原始数据集足够大且足够通用 xff0
  • 图片操作汇总

    1 keras preprocessing自带的图片处理器image xff0c 和tensorflow PIL中Image xff0c 返回的是同一种Image类型 span class token keyword from span k
  • 2020-10-22

    SSD Keras code解析 一 模型建立 1 1 重要标志参数 aspect ratios per layer span class token operator 61 span span class token punctuatio
  • 【无标题】

    沛公 xff08 刘邦 xff09 的军队驻扎在霸上 xff0c 没有能跟项羽相见 刘邦的左司马曹无伤就派人去告诉项羽说 xff1a 刘邦想占领关中称王 xff0c 让子婴做 xff08 他的 xff09 国相 xff0c xff08 相所
  • UORB

    uORB Micro Object Request Broker 微对象请求代理器 是PX4 Pixhawk系统中非常重要且关键的一个模块 xff0c 它肩负了整个系统的数据传输任务 xff0c 所有的传感器数据 GPS PPM信号等都要从
  • FreeRTOS - STM32中任务未进行调度问题

    将FreeRTOS源码移植到STM32F10X中 xff0c 编译通过 xff0c 烧录后 xff0c 发现开启的新任务没有运行 现象 xff1a 串口值仅仅打印了 printf 34 TesetesettettttttttttesT r