尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Cortex M 系列mcu 中 MSP 和 PSP 的使用环境

Cortex M 系列mcu 中  MSP 和 PSP 的使用环境
📅 发布时间:2026/6/20 4:28:54

MSP 和 PSP 的使用环境

即使不使用 RTOS,一定会用到 MSP,但通常不会用到 PSP。

在不带操作系统的“裸机(Bare-metal)”环境下,MSP 和 PSP 的使用情况如下:


1. MSP 是必须使用的 (Always Used)

无论写多么简单的代码,只要是用 C 语言写的,MSP 就一直在工作。

  • 启动阶段:正如前面所说,硬件上电第一步就是加载 MSP。
  • main 函数:在裸机程序中,你的 main 函数、所有的局部变量、函数嵌套调用,默认全部都在使用 MSP。
  • 中断处理:所有的中断服务程序(ISR)始终使用 MSP。
  • 默认状态:Cortex-M 复位后,默认处于“特权级线程模式”,且默认指向 MSP。如果你不去特意修改控制寄存器(CONTROL register),CPU 永远不会自动切换到 PSP。

结论:在裸机开发中,MSP 是你唯一的堆栈指针。


2. PSP 是通常不用的 (Usually Idle)

在裸机环境下,PSP 处于闲置状态。

  • 为什么不用? 因为裸机程序通常只有一个执行流(main 函数里的 while(1) 循环)。既然只有一个执行流,就没有必要把“系统栈”和“进程栈”分开,直接用 MSP 搞定一切更简单。
  • 什么时候会用? 除非你是一个高级开发者,想在裸机上实现一些类似“多任务”的黑科技(比如手写一个极简的协程库或者状态机切换),你才会手动通过汇编指令去设置并在 CONTROL 寄存器里开启 PSP。

3. RTOS 为什么要强行把它们分开?

为了对比,我们看看有了 RTOS 之后的变化:

特性 裸机 (Bare-metal) 有 RTOS (FreeRTOS/LiteOS)
main 函数使用 MSP MSP (启动阶段) -> 切换后不再使用
用户任务使用 (无任务概念) PSP (每个任务有独立的 PSP)
中断服务使用 MSP MSP (全系统共用一个 MSP)
堆栈隔离 无隔离,全家共用 MSP 任务用 PSP,内核用 MSP,实现安全隔离

RTOS 的逻辑是:

  1. MSP 专门留给中断。因为中断是无法预测什么时候发生的,给它一个独立的 MSP,可以保证不管任务栈(PSP)怎么折腾,中断永远有地方跑。
  2. 每个任务分配一个 PSP。任务切换时,RTOS 只需要把 R13 指向下一个任务的 PSP 即可。

小结

  • MSP:它是 MCU 的“底色”。没有它,C 语言跑不起来,中断进不去。裸机开发 100% 在用它。
  • PSP:它是给“多任务”设计的。它像是一个额外的工具,专门用来把“用户程序”和“系统程序(中断/内核)”的堆栈空间隔离开。裸机开发通常 0% 使用它。

相关新闻

  • 谈东论西的口水文章
  • 23、提升Web安全:从表单防护到密码生成与CAPTCHA验证
  • B站视频下载终极指南:快速上手BilibiliDown下载工具

最新新闻

  • 2026年口碑好的白市驿亲子烧烤游玩/重庆亲子户外休闲/重庆亲子研学基地/重庆农耕体验亲子农家乐哪家值得去 - 行业平台推荐
  • 2026永康全屋定制口碑爆棚的真相
  • YOLO越界行为识别数据集:聚焦周界防护的实战型安防训练资源
  • 2026年可靠的液压防爆预警套管/光伏逆变器自卷套管/双层异色自卷纺织套管/尼龙自卷套管高口碑品牌推荐 - 行业平台推荐
  • 2026年优秀的pvc管/安徽pvc管/安徽pvc化工管/pvc排水管横向对比厂家推荐 - 行业平台推荐
  • 如何用Python一键下载网易云音乐完整歌单并保留元数据?

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号