1.任务的创建与状态

1.什么叫现场?

就是程序暂停瞬间所有寄存器的值

2.如何"保存现场"? 就是把"所有寄存器"保存进哪里?

保存进"内存",这块内存被称为栈

3.栈来自哪里?

a.在FreeRTOS里定义了一个大数组

b.FreeRTOS里的malloc函数,从这个大数组里分配内存

c.创建任务时,我们就是从这个数组中分配内存,用作"栈"

d.这个任务运行中被切换出去的那一个瞬间,所有寄存器的值就被存进"栈"

4.所以我们创建任务的时候,必须提供哪些参数?

a.动态分配内存 就是在函数内部分配

b.静态分配内存 可以直接建立一个数组去当作栈

除了"栈",最重要的就是"入口函数"

最后一个任务句柄

相关推荐
LONGZHIQIN5 分钟前
C#基础复习笔记
开发语言·笔记·c#
得闲喝茶20 分钟前
跨表数据匹配——VLOOKUP、XLOOKUP
大数据·数据库·笔记·信息可视化·数据分析·excel
报错小能手35 分钟前
OpenTenBase学习——集群编译&部署
学习
渣渣灰飞1 小时前
MySQL 系统学习 第二阶段 第四章:DCL(Data Control Language)第二节:权限管理与角色(Role)
数据库·学习·mysql
王光环1 小时前
STM32H750串口一直进IRQ问题解决
stm32·单片机·嵌入式硬件
霸道流氓气质1 小时前
Java 工程师 AI 智能体(Agent)完整学习路线
java·人工智能·学习
想要入门的程序猿2 小时前
摄影测量学习()
数码相机·学习
智慧景区与市集主理人2 小时前
巨有科技:市集笔记内容分发,低成本打造本地流量曝光矩阵
大数据·笔记·科技
worilb2 小时前
Spring Cloud 学习与实践(13):使用 Seata 解决分布式事务问题
分布式·学习·spring cloud
渣渣灰飞2 小时前
MySQL 系统学习 第四阶段:MySQL 高级 第一节:索引(Index)
数据库·学习·mysql