OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8395|回复: 8

请问UCOS系统中任务切换时是如何保护各局部变量的?

[复制链接]

18

主题

34

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2019-5-29
在线时间
148 小时
发表于 2021-4-9 10:45:51 | 显示全部楼层 |阅读模式
本帖最后由 HXHNTTXLLA1121 于 2021-4-9 13:48 编辑


在UCOS的子任务中定义有各种类型的局部变量,有以下三种
1、u16 i=0;
2、u8 sample_data[100];
3、u8 *devicevalue;
     devicevalue=mymalloc(SRAMIN,4096);


在任务切换进行堆栈保护时,有3个问题:
1、系统是把以上变量的存放首地址保存到栈里面,参数值都保存到栈里面?

2、对于sample_data数组,系统是保存数组存放的首地址,还是100个值都存入栈里面?

3、对于devicevalue指针变量,程序在初始化时已经有为其申请内存空间,系统在任务切换时还需要对其进行堆栈保护吗?这种变量会占用栈的空间吗?






正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
金钱
1308
注册时间
2015-3-3
在线时间
127 小时
发表于 2021-7-9 17:18:58 | 显示全部楼层

回帖奖励 +10 金钱

ucosii中有TCB,就是任务控制块,还有它自己的BUF,所有的数据都是有对应的空间开辟的,即使你任务切换了,只要任务没删除,变量或数据就一直存在着
回复 支持 反对

使用道具 举报

10

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
金钱
1308
注册时间
2015-3-3
在线时间
127 小时
发表于 2021-7-9 17:19:54 | 显示全部楼层
认真读一下邵贝贝的ucosii资料,对事件控制块,任务控制量,信号量,邮箱,消息队列等进行一下了解吧
海纳百川者,荣耀伴一生!
回复 支持 反对

使用道具 举报

10

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2108
金钱
2108
注册时间
2018-3-22
在线时间
182 小时
发表于 2021-7-12 21:38:22 | 显示全部楼层
我理解是这样,可能是错误的,仅供参控.任务控制块是管理任务的,在任务内定义这三个变量和任务控制块应该关系不大.
1、u16 i=0;  2、u8 sample_data[100];
   应该是直接入栈.
3、u8 *devicevalue;
     devicevalue=mymalloc(SRAMIN,4096);
这个应该是保存了一个地址.虽然这个地址所指向的地址也是RAM中一块内存.
回复 支持 反对

使用道具 举报

93

主题

746

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1831
金钱
1831
注册时间
2012-9-16
在线时间
282 小时
发表于 2021-7-14 11:13:39 | 显示全部楼层
纵浪大化中,不喜亦不惧;应尽便须尽,无复独多虑!
回复 支持 反对

使用道具 举报

2

主题

594

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1458
金钱
1458
注册时间
2019-7-28
在线时间
137 小时
发表于 2021-12-28 15:03:30 | 显示全部楼层

回帖奖励 +10 金钱

帮顶                  
回复 支持 反对

使用道具 举报

0

主题

668

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1917
金钱
1917
注册时间
2021-8-13
在线时间
261 小时
发表于 2021-12-28 15:04:02 | 显示全部楼层

回帖奖励 +10 金钱

帮顶   
回复 支持 反对

使用道具 举报

1

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2020-3-15
在线时间
28 小时
发表于 2021-12-28 15:05:14 | 显示全部楼层

回帖奖励 +10 金钱

我建议你去看相关的视频
回复 支持 反对

使用道具 举报

14

主题

818

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1965
金钱
1965
注册时间
2021-7-17
在线时间
611 小时
发表于 2021-12-28 15:07:36 | 显示全部楼层
楼上说的很对
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-10 04:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表