0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stm32的任务调度方式和步骤

汽车玩家 来源:简书 作者:生若夏花_1ad0 2021-08-10 23:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

STM32的任务调度可以有两种方式

  • 2)执行一个系统调用

任务调度的步骤总结为如下:

  • 保存程序的上下文即当前任务的寄存器,保存存储寄存器的任务堆栈的地址。

  • 根据下一个任务的任务堆栈地址依次弹出下一个任务的16个寄存器。

堆栈中的寄存器保存顺序如下,

XPSR

SP(代表MSP或PSP,在任务调度完成后,根据PSP的值定位了是哪个任务)

LR(存储函数的返回)

R12

R3

R2

R1

R0

R11

R10

R9

R8

R7

R6

R5

R4

文章整合自:简书生若夏花_1ad0

编辑:ymf

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5589

    浏览量

    129068
  • 定时器
    +关注

    关注

    23

    文章

    3361

    浏览量

    121749
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66841
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在多任务系统中,如何平衡任务调度以防止因高负载导致的再次进入低功耗模式的延迟?

    在多任务系统中,如何平衡任务调度以防止因高负载导致的再次进入低功耗模式的延迟?
    发表于 12-04 06:37

    freertos关闭任务调度的方法

    #include \"FreeRTOS.h\" #include \"task.h\" /* 关闭任务调度 */ void
    发表于 11-17 06:47

    FreeRTOS任务调度及优先级问题

    大家好,最近本人在学习FreeRTOS ,之前有过一些裸机开发的经验,目前知道了FreeRTOS的任务是基于时间片轮转来调度,也就是知道了任务会基于各个时间片来运行。 于是联想了如果有一些外设芯片
    发表于 11-06 02:18

    STM32程序的烧录方式

    电子发烧友网站提供《STM32程序的烧录方式.pdf》资料免费下载
    发表于 08-28 16:03 6次下载

    Task任务:LuatOS实现“任务级并发”的核心引擎

    LuatOS应用程序运行的核心大脑——所有LuatOS应用项目都会使用到sys核心库。    sys核心库提供了四大类功能: Task任务 Message消息 Timer定时器 Run调度器 本文将
    的头像 发表于 08-28 13:49 338次阅读
    Task<b class='flag-5'>任务</b>:LuatOS实现“<b class='flag-5'>任务</b>级并发”的核心引擎

    揭秘LuatOS Task:多任务管理的“智能中枢”

    Task任务作为LuatOS的核心组成部分,通过智能化的任务管理机制,实现任务的创建、调度与协同运行,让复杂应用得以高效并行处理,满足实时场景下的严苛需求。 sys核心库是LuatOS
    的头像 发表于 08-28 13:48 392次阅读
    揭秘LuatOS Task:多<b class='flag-5'>任务</b>管理的“智能中枢”

    揭秘!基于RT-Thread探究“优先级反转”下的任务调度究竟是什么样的?| 技术集结

    本文将基于RT-Thread,结合RT-Trace调试器细化到实际任务调度的粒度,来调试并逐步讲解“优先级反转”的调度和运行逻辑。如果对RT-Trace感兴趣的可以看这篇文章:国产嵌入式调试器之光
    的头像 发表于 08-17 10:07 2808次阅读
    揭秘!基于RT-Thread探究“优先级反转”下的<b class='flag-5'>任务</b><b class='flag-5'>调度</b>究竟是什么样的?| 技术集结

    同步任务开发指导

    ,例如无法单例创建的类对象实现的方法。 使用TaskPool处理同步任务调度独立的任务,或者一系列任务为静态方法实现,或者可以通过单例构造唯一的句柄或类对象,可在不同
    发表于 06-19 07:57

    I/O密集型任务开发指导

    is ${err.message}`)return false; })}return true;} 使用TaskPool执行包含密集I/O的并发函数:通过调用execute()方法执行任务,并在回调中进行调度
    发表于 06-19 07:19

    CPU密集型任务开发指导

    以及后台长时间的模型预测任务分别进行举例。 使用TaskPool进行图像直方图处理 实现图像处理的业务逻辑。 数据分段,通过任务组发起关联任务调度。创建TaskGroup并通过ad
    发表于 06-19 06:05

    快速入门——LuatOS:sys库多任务管理实战攻略!

    的开发者,这里将用最简明的步骤,助你轻松实现多任务应用开发! sys库是LuatOS的核心系统调度库,它基于Lua协程机制实现了实时多任务调度
    的头像 发表于 05-29 14:36 598次阅读
    快速入门——LuatOS:sys库多<b class='flag-5'>任务</b>管理实战攻略!

    工控一体机多线程任务调度优化:聚徽分享破解工业复杂流程高效协同密码

    任务调度作为工控一体机管理和协调各项任务的关键机制,其优化程度直接关乎工业生产的效率、稳定性与精准度,宛如一把关键钥匙,解锁工业复杂流程高效协同的大门。 工业复杂流程与多线程任务
    的头像 发表于 05-28 14:06 486次阅读

    STM32与机智云连接实现步骤与技巧(下篇):机智云代码移植与优化

    在《STM32与机智云连接实现步骤与技巧(上篇)》中,我们介绍了硬件连接和通信协议配置。本篇将重点讲解如何将机智云相关代码移植到STM32,完成数据上传和设备控制。我们将介绍如何在STM32
    的头像 发表于 05-23 18:10 807次阅读
    <b class='flag-5'>STM32</b>与机智云连接实现<b class='flag-5'>步骤</b>与技巧(下篇):机智云代码移植与优化

    STM32与机智云连接实现步骤与技巧(上篇)

    通过STM32与机智云的连接,开发者可以实现设备的远程控制和数据管理,提升物联网应用的智能化水平。本文将介绍STM32与机智云连接的具体步骤,涵盖硬件连接、通信协议配置、数据传输及云平台应用开发等
    的头像 发表于 05-23 18:10 854次阅读
    <b class='flag-5'>STM32</b>与机智云连接实现<b class='flag-5'>步骤</b>与技巧(上篇)

    基于Flexus X加速MySQL镜像搭建XXL-JOB任务调度平台

    平台,展示如何利用 Flexus X 的高性能特性提升任务调度的效率和稳定性。通过详细的步骤和配置,帮助大家可以快速掌握在 Flexus X 上部署和运行 XXL-JOB 的方法,并将其应用于实际项目中。
    的头像 发表于 12-29 15:45 708次阅读
    基于Flexus X加速MySQL镜像搭建XXL-JOB<b class='flag-5'>任务</b><b class='flag-5'>调度</b>平台