找回密码
 立即注册
楼主: tzz1983

uC/OS-II @Ai8051U 移植版,AI8051U,32G8K64,32G12K128

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-15 18:01:12

5

主题

1152

回帖

4471

积分

荣誉版主

积分
4471
发表于 2023-10-31 21:56:02 | 显示全部楼层
tzz1*** 发表于 2023-10-31 21:30
我认同CosyOS的观点, 用中断切换任务, 确实是可以没有OSIntNesting这个功能的.
对于OSIntNesting, 我自己 ...

全新编写一个RTOS实在是太累了,我都不知道自己是怎么坚持到今天的,无数个不眠的夜晚,才有了今天的一点成绩。
如果能重新选择一次的话,我一定会说

点评

如果我再年轻十岁, 我与你组团  发表于 2023-10-31 22:03
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-15 18:01:12

5

主题

1152

回帖

4471

积分

荣誉版主

积分
4471
发表于 2023-10-31 22:05:16 | 显示全部楼层
现在也来得及呀
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-05-28 09:08:49

34

主题

1094

回帖

2446

积分

荣誉版主

积分
2446
发表于 2023-10-31 22:14:31 | 显示全部楼层
本帖最后由 tzz1983 于 2023-10-31 22:17 编辑
Cos*** 发表于 2023-10-31 22:05
现在也来得及呀

来不及的, 现今太忙, 手上新旧板子独立项目加起来至少百来个. 不年轻了, 被房绑了, 没冲劲了呀. 有空必客串

点评

随时欢迎  详情 回复 发表于 2023-10-31 22:26
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-15 18:01:12

5

主题

1152

回帖

4471

积分

荣誉版主

积分
4471
发表于 2023-10-31 22:26:38 | 显示全部楼层
tzz1*** 发表于 2023-10-31 22:14
来不及的, 现今太忙, 手上新旧板子独立项目加起来至少百来个. 不年轻了, 被房绑了, 没冲劲了呀. 有空必客 ...

随时欢迎
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:540
  • 最近打卡:2025-06-14 14:56:28

1

主题

185

回帖

2001

积分

金牌会员

积分
2001
发表于 2023-11-1 00:21:13 | 显示全部楼层
【已经在去响应中断,并且是在去中断向量入口地址的途中】,就不可能被打断,去到中断服务程序后,就是高中断优先级打断低中断优先级的事    神农鼎  已确认  不会,那在中断向量表放关中断指令或 OSNesting++ ,应该也可以。

点评

是的  详情 回复 发表于 2023-11-1 06:14
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-13 00:05:49

115

主题

1223

回帖

1万

积分

荣誉版主

积分
13002
发表于 2023-11-1 06:14:24 | 显示全部楼层
fan*** 发表于 2023-11-1 00:21
【已经在去响应中断,并且是在去中断向量入口地址的途中】,就不可能被打断,去到中断服务程序后,就是高中 ...

是的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-05-28 09:08:49

34

主题

1094

回帖

2446

积分

荣誉版主

积分
2446
发表于 2023-11-1 06:32:16 来自手机 | 显示全部楼层
本帖最后由 tzz1983 于 2023-11-1 09:30 编辑
fanxsp 发表于 2023-11-1 00:21
【已经在去响应中断,并且是在去中断向量入口地址的途中】,就不可能被打断,去到中断服务程序后,就是高中 ...

我的理解是:响应中断过程相当于一个元子操作,不可分割.  但这一过程在到达向量口时就已经算结束了。
“路上不可打断” 和 “在中断向量表放关中断指令或 OSNesting++ 仍然保险” 没有因果关系.

他说的是在路上不会被打断。对于响应来说,到达向量口己是路的终点,之后就是高优先级打断低优先级的事情了 ,如此说在中断向量表放关中断指令或 OSNesting++ 是不保险的

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-13 00:05:49

115

主题

1223

回帖

1万

积分

荣誉版主

积分
13002
发表于 2023-11-1 06:45:20 | 显示全部楼层
Cos*** 发表于 2023-10-31 21:19
杨老师总结的非常到位!
CosyOS 不是没有中断嵌套保护,只是未采用中断嵌套变量跟踪法,而是采用的最低优 ...

送佛送到底,你的队列都已经研究过FIFO和LIFO了,建议在单片机RTOS中你再采用标准操作系统理论中的“高优先级先处理的策略”试试:对于一个操作请求队列,将队列按任务的优先级排列,高优先级的任务先处理,对于相同优先级的任务的操作请求,按照请求的次序处理。
(1)对于uC/OS-II这样的每个任务优先级不同的RTOS,对于同一任务,按时序处理,可以满足你前面关于CosyOS按FIFO处理的正确的考虑,避免出现因果冲突。对于不同优先级,由于不是同一个任务,不存在时序因果冲突,按优先级处理,是抢占式任务调度的原则,可以保证RTOS的实时响应。
(2)对于那些具有分时任务功能的RTOS,当同一优先级对应多个任务时,可以采用为同一优先级的任务组里的每个任务静态地分配不同的“子优先级”或者动态地分配不同的“子优先级”(当前任务优先级最高,下一个分时任务优先级次之,等等)的方法将所有的任务划分为不同的优先级就可以使用这种策略。
(3)实现这种“高优先级先处理的策略”的程序思路并不困难,只是如果队列是采用链式表时程序要复杂一些,相信以你的功力实现只是要花点时间而已。期待你的CosyOS能将这三种队列处理方法都实现作为选项提供给用户选择使用。

点评

首先,感谢杨老师的建议和讲解,我会进一步思考相关问题。 我现在的考虑是,中断挂起服务缓存队列,缓存的是用户在中断中调用的服务,也就是说提出服务的主体是“中断”,而不是“任务”, 如果按优先级排队处理的话  详情 回复 发表于 2023-11-2 11:12
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:540
  • 最近打卡:2025-06-14 14:56:28

1

主题

185

回帖

2001

积分

金牌会员

积分
2001
发表于 2023-11-1 09:04:44 | 显示全部楼层
tzz1*** 发表于 2023-11-1 06:32
我的理解是:响应中断过程相当于一个元子操作,不可分割.  但这一过程在到达向量口时就已经算结束了。
“ ...

也有道理,还得请神农鼎来回答
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:540
  • 最近打卡:2025-06-14 14:56:28

1

主题

185

回帖

2001

积分

金牌会员

积分
2001
发表于 2023-11-1 09:23:45 | 显示全部楼层
请问神农鼎
微信图片_20231101091612.jpg

点评

哥们,我从教师的角度来解释一下,看看能不能解答你的疑问。 (1)手册上已经给出了中断响应的流程图: [attachimg]25678[/attachimg] 中断响应完成后就进入中断服务程序,没有其他的过程。 (2)而你的图中“第  详情 回复 发表于 2023-11-1 19:15
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-16 03:56 , Processed in 0.189271 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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