杨为民
发表于 2024-3-27 11:21:04
LAOXU 发表于 2024-3-27 11:05
tzz1983
1.如何实现在用户中断中(多级中断嵌套情况下), 实时进行 0S任务切换, 如果实现, 那你提出的 BUG ...
描述也没问题, 这是我的目标之一,目前我的几个方案 自认为 还不够成熟.
总之, 可能思维差别:
我要求做到与众不同, 目标超出现有 OS
所以, 不能用常规 OS原理来评判, 验收标准当然要用 OS标准.
============================================
LAOXU,你的这个思维我尊重:
没有前人吃蜘蛛,哪来后人螃蟹鲜?
在科学道路上,第一吃蜘蛛的人是值得尊敬的
LAOXU
发表于 2024-3-27 11:27:48
从熊仔搞 OS开始, 我开始思考,
说实话, 常规 OS切换,我了解的有 2个方案
1. 单嘀嗒定时器
2. 单嘀嗒定时器 + PendSv 中断(或软中断, 或模拟PendSv 中断)
都是在最底层(完全退出中断) 时切换的.
按照常规方案, 抄一点改一点, 对我来说, 没一点难度, 重复 N个网友的劳动, 没意思.
要搞就做一个有所突破, 与众不同, 创新 的 OS
听杨老师言, 等我这段时间忙完了, 我另开一贴, 欢迎大家前来指教, 帮忙找出 BUG
这种常规方案, 我就多学习学习了, 不参与讨论.
杨为民
发表于 2024-3-27 11:29:15
本帖最后由 杨为民 于 2024-3-27 11:30 编辑
tzz1983 发表于 2024-3-27 11:19
LAOXU:
1.如何实现在用户中断中(多级中断嵌套情况下), 实时进行 0S任务切换, 如果实现, 那你提出的 BUG ...
“换个理解方式, 就是你要在嵌套中断的时候立刻进行任务切换,”
(1)LAOXU的愿望不是永动机,在操作系统原理里是没有禁止的。
(2)这个愿望在其他类型的单片机和一些类型的CPU中已经实现过了。只是不知道在STC8H和STC32G/F系列单片机上能不能实现。
(3)LAOXU的探索值得进行。
tzz1983
发表于 2024-3-27 11:34:39
原来LAOXU 是要开宗立派, 是我格局小了, 强烈支持 , 先给点赞{:4_250:}
LAOXU
发表于 2024-3-27 11:35:27
至于手动装载, 是回复 网友 gentleman 之贴, 我本人反对 使用手动装载, 别断章取义, 完整问答回复如下:
我这里丢tick是 存在其他中断 进入T0时直接退出导致的
tzz1983 网友 给出的解决方法 时T0 滴答后在退出
我倒是有其他想法,能实现再说,需要定时器支持手动重载
================================
不好意思, 目前 STC的 定时器不支持常规的手动装载(与标准 51不兼容).
即 定时器运行时, 无法装载, 需停止定时器运行才能装载, 辅助指令一多, 你不一定能达到理想的修正值(除非你把定时器优先级设为最高)
这样的话, 还不如用 T0(模式 3) 省时省力.
gentleman
发表于 2024-3-27 11:44:57
本帖最后由 gentleman 于 2024-3-27 11:47 编辑
LAOXU 发表于 2024-3-27 11:35
至于手动装载, 是回复 网友 gentleman 之贴, 我本人反对 使用手动装载, 别断章取义, 完整问答回复如下:
...
把球踢回来了是吧{:4_165:}
这么整我也反对,都装好了干嘛还自己去装
=====================================
有些时候定时器跑了一半,需要重新跑
想到的方是 通过重装初值来实现
或许有其他更优的方法,或者本来这个重新跑就是不合理的
===================================
LAOXU 你肯定遇到过,你就是不想说,不然咋知道不行{:4_168:}
杨为民
发表于 2024-3-27 11:47:55
tzz1983 发表于 2024-3-27 11:34
原来LAOXU 是要开宗立派, 是我格局小了, 强烈支持 , 先给点赞
其实你已经走在“在STC单片机上实现LAOXU愿望”的正确道路上了:就是你现在已经实现并开源了的将“系统中断堆栈”和“用户调用堆栈”分开来! Cortex-M3等现有的单片机就有这个硬件条件。
要不你把臂膀借给LAOXU用用,让LAOXU当宗师。
要不你参考一下STM32F单片机上的RTOS,你已经超前了就接着来?
如果你在LAOXU之前实现,宗师就是你的了。
LAOXU
发表于 2024-3-27 11:59:37
谢谢各位老师对我的鼓励和支持, 下午我要回上海了, 谈了一个项目, 再忙几个月了.
等我帮完也要几个月之后才能开贴搞 OS
STC的 OS是开源的, 有兴趣大家一起搞, 打造最强技术讨论贴 .
同意的话, 等几天我抽点时间, 写个方案, 大家拍砖, (不能用常规 OS理论, 否则我必败, 接受众人的批斗) , 要结合 OS的具体运行轨迹,
上下文等参数内存存储, 堆栈内容 转存等, 到最后还有具体实施的源码程序, 变量数组等 , 综合考核学生.
tzz1983
发表于 2024-3-27 12:17:04
杨为民 发表于 2024-3-27 11:47
其实你已经走在“在STC单片机上实现LAOXU愿望”的正确道路上了:就是你现在已经实现并开源了的将“系统 ...
闻道有先后,术业有专攻.
什么宗不宗师的, 江山代有人才出
像 LAOXU 和 gentleman 这样勤学爱问的才俊, 前途必然不可限量.
gentleman
发表于 2024-3-27 12:18:01
tzz1983 发表于 2024-3-27 11:34
原来LAOXU 是要开宗立派, 是我格局小了, 强烈支持 , 先给点赞
LAOXU 是要 挂起中断执行任务{:4_267:}
是有点不一样