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

【全部暂停】【方向改为完善官方的FreeRTOS】 随时关EA的 FreeRT

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-3-25 16:49:26 | 显示全部楼层
本帖最后由 tzz1983 于 2024-3-25 16:53 编辑
杨*** 发表于 2024-3-25 13:59
tzz1983网友你好,我将此贴置顶了。

(1)我建议你在此贴与楼主互相交流技术,然后也推出另一个你自己的 ...

感谢杨老师的信任,对于移植,我也有些看法:

1. UCOS2取消用中断切换任务,全部改用函数切换任务,这个是可以做到的.  
        分析优劣之处:好处:最大的好处是少用一个中断源,其次是和以前的版本接近一些。
                              劣处:中断嵌套OSIntNesting++ 的理论支撑尚欠一丝。
                              综合分析:改过之后性能并不会有提升,况且现有版本已然稳定,无需过度更改。

2. UCOS2改用最高优先级切换任务,这个也是可以做到。但是缺点比较明显,还不如现有版本。
         分析优劣之处: 劣处: 如果最高优先级中断用于时钟滴答,OSTimeTick()遍历所有任务链, 任务一旦增多将严重拖累系统响应。

3. FreeRTOS重新移植,现在用最高优先级切换任务这个版本,只能说是能用的,大家在论坛内嬉笑玩耍的产物。
但是对于FreeRTOS重新移植,我也有想法,就是恢复中断里可以切换任务的功能,真正变成RTOS。
现在是滴答切换,也就是说,现在中断内是无法找到切换任务的相关入口的。
我对FreeRTOS的原文不太熟练,就不班门弄斧了,论坛内熟悉FreeRTOS的版主大有人在,有空的话可以跟进一下。



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-3-25 17:07:53 | 显示全部楼层
本帖最后由 杨为民 于 2024-3-25 17:22 编辑

技术性失误
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-3-25 17:19:53 | 显示全部楼层
本帖最后由 杨为民 于 2024-3-25 17:23 编辑

技术性失误

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-3-25 17:21:28 | 显示全部楼层
gentl*** 发表于 2024-3-25 10:05
还是抄了杨老师的作业

杨老师去年就发布了 uC/OS-II的

现在用最高优先级切换任务这个版本,只能说是能用的,大家在论坛内嬉笑玩耍的产物。


楼主,网友在12楼对STC官方移植的、使用高优先级定时器0中断作为系统节拍中断的FreeRTOS移植版的这个观点,你有什么看法和想法?

点评

“现在中断内是无法找到切换任务的相关入口的” 找不到吗,我再研究一下 下图是学生对 FreeRTOS 定时器内任务切换(轮询)的总结 [attachimg]39567[/attachimg]  详情 回复 发表于 2024-3-25 17:42
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2790

积分

荣誉版主

积分
2790
发表于 2024-3-25 17:42:59 | 显示全部楼层
杨*** 发表于 2024-3-25 17:21
“现在用最高优先级切换任务这个版本,只能说是能用的,大家在论坛内嬉笑玩耍的产物。”

“现在中断内是无法找到切换任务的相关入口的”
找不到吗,我再研究一下

下图是学生对 FreeRTOS 定时器内任务切换(轮询)的总结

截图202403251735073289.jpg



点评

前年年底的时候看过了,如果没有更改过,除了滴答, 其它中断是无法即时切换任务的,任务级主动切换应该是即时切换,中断级是等到时钟滴答到了以后统一 一起处理切换中求.  详情 回复 发表于 2024-3-25 18:43
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-3-25 18:43:04 | 显示全部楼层
gentl*** 发表于 2024-3-25 17:42
“现在中断内是无法找到切换任务的相关入口的”
找不到吗,我再研究一下

前年年底的时候看过了,如果没有更改过,除了滴答, 其它中断是无法即时切换任务的,任务级主动切换应该是即时切换,中断级是等到时钟滴答到了以后统一 一起处理切换请求.

点评

我以为你已经解决了这个问题了。当时技术支持已经答复你了,你没有按他说的方法去试一试?是碰到什么问题了吗?  详情 回复 发表于 2024-3-25 19:47
我明白老师的意思了 这个中断内切换接口实现起来 要注意什么吗 如果我把 定时器0中断函数 的内容(入栈,取任务,改sp指针,出栈,RETI, ERET)都搬过去 可以实现吗 还是直接搬过去会有什么风险  详情 回复 发表于 2024-3-25 19:46
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2790

积分

荣誉版主

积分
2790
发表于 2024-3-25 19:46:28 | 显示全部楼层
tzz1*** 发表于 2024-3-25 18:43
前年年底的时候看过了,如果没有更改过,除了滴答, 其它中断是无法即时切换任务的,任务级主动切换应该是 ...

我明白老师的意思了

这个中断内切换接口实现起来 要注意什么吗
如果我把  定时器0中断函数 的内容(入栈,取任务,改sp指针,出栈,RETI, ERET)都搬过去 可以实现吗
还是直接搬过去会有什么风险

点评

要注意什么好像倒是没有,这个功能应该是标准OS功能,只不过这里被和谐了而已. 我是这样认为:把"定时器0中断函数 的内容(入栈,取任务,改sp指针,出栈,RETI, ERET)都搬过去"单独弄个调用,这样应该是可以的  详情 回复 发表于 2024-3-25 20:51
当时技术支持也是这么答复他的  详情 回复 发表于 2024-3-25 19:48
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-3-25 19:47:23 | 显示全部楼层
tzz1*** 发表于 2024-3-25 18:43
前年年底的时候看过了,如果没有更改过,除了滴答, 其它中断是无法即时切换任务的,任务级主动切换应该是 ...

我以为你已经解决了这个问题了。当时技术支持已经答复你了,你没有按他说的方法去试一试?是碰到什么问题了吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-3-25 19:48:48 | 显示全部楼层
gentl*** 发表于 2024-3-25 19:46
我明白老师的意思了

这个中断内切换接口实现起来 要注意什么吗

当时技术支持也是这么答复他的

点评

有点巧了 学生就是觉得 定时器0 也是中断 感觉 与其他中断切换任务过程应该是 相同的 我再去翻一翻老师之前的帖子学习一下  详情 回复 发表于 2024-3-25 19:53
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2790

积分

荣誉版主

积分
2790
发表于 2024-3-25 19:53:14 | 显示全部楼层
杨*** 发表于 2024-3-25 19:48
当时技术支持也是这么答复他的

有点巧了

学生就是觉得 定时器0 也是中断
感觉 与其他中断切换任务过程应该是 相同的


我再去翻一翻老师之前的帖子学习一下

点评

我回翻了一下帖子,当时我是这么问的: "内核是会在每次节拍的时候切换任务,但是如果我在别的中断中,激活了一个高优先级的任务(比如说xSemaphoreGiveFromISR( xBinarySemaphore, &xHigherPriorityTaskWoken );然  详情 回复 发表于 2024-3-25 20:26
不是我的,是tzz1983的帖子《FREERTOS中断里切换任务》(https://www.stcaimcu.com/forum.php?mod=viewthread&tid=581)  详情 回复 发表于 2024-3-25 20:13
我个人觉得FreeRTOS的这个STC移植版本有些仓促了,好像还有些没有完成,我也在等更新,这是我后面没有继续写如何RTOS编程文章的主要原因。 比如临界区保护方法也只是简单地关闭总中断,比如如何在定时器0以外的其他  详情 回复 发表于 2024-3-25 20:10
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 20:39 , Processed in 0.155298 second(s), 107 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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