杨为民 发表于 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:}

是有点不一样
页: 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19
查看完整版本: 【全部暂停】【方向改为完善官方的FreeRTOS】 随时关EA的 FreeRT