Commit Graph

36 Commits

Author SHA1 Message Date
大石头 2a374f6004 !!!热存储区恰巧使用了系统堆栈避开的64字节,当数据区大于一定字节数时,就会导致热存储区末端超出内存RAM边界,从而导致崩溃。
暂时把它改为256字节,尚未找到一劳永逸的解决办法。
2017-07-09 09:33:40 +08:00
大石头 371d4e3866 修正当前时间显示错误 2017-03-16 20:14:16 +08:00
大石头X2 35ce646728 修正整数比较的编译警告 2017-02-28 20:57:53 +08:00
大石头X2 fc216e5f69 基础类库和系统内核尽可能的使用int替代uint,方便计算,避免溢出了也不知道。 2017-02-27 18:36:07 +08:00
大石头X2 f26089762e 显示任务状态,同时显示堆状态。 2017-02-25 15:15:01 +08:00
大石头X2 63cce80167 任务调度增加进入睡眠以及退出睡眠的委托,以方便移植到RTOS上 2017-02-22 11:36:03 +08:00
大石头X2 d7ff86fc37 系统关键性代码链接到固件开头,主要规避GD32F130C8后32k特别慢的问题 2017-02-18 10:57:55 +08:00
大石头X2 211a1df77a 分段统计负载均值 2017-02-15 14:22:07 +08:00
大石头X2 d4206d9b56 统计调度大循环的最大耗时变得没有意义,因为它会把子任务的时间一起算进去 2017-02-11 09:06:36 +08:00
大石头X2 d411fae0a4 任务调度增加嵌套深度,默认最深8层。
嵌套任务输出任务日志时增加缩进
2017-02-10 16:19:45 +08:00
大石头X2 802b9bc153 临时开启时需要跳过最近一轮休眠,跳过以后需要关闭开关,否则会导致一直跳过休眠 2017-01-06 15:09:28 +08:00
大石头X2 86fbdef4bd 负载由百分比改为万分比,平均负载42/10000 2016-12-29 00:03:09 +08:00
大石头X2 a6f14651b4 增加系统负载统计 2016-12-28 18:07:22 +08:00
大石头X2 ed59ad12b4 减少任务调度的Cost日志 2016-12-15 16:35:38 +08:00
Stone 4223944e88 !!!修正临时开启的任务可能无法马上调度的BUG。
A任务ID小于B任务,大循环时首先被检查。此时如果B任务修改A任务下一次执行时间为0,那么可能因为这一次大循环所有任务的下一次执行时间都很长,导致A任务无法按照预期得到马上执行。
这里修改为,修改A任务的下一次执行时间时,要求大循环无条件跳过一次大睡眠,结束一轮大循环后马上开始下一轮。
在调光产品上测试呼吸灯通过。
2016-11-14 06:05:46 +00:00
nnhy 7429f4ce2c 直接引用头文件,避免SmartOS上层需要包含太多的头部目录 2016-10-29 02:59:28 +00:00
WangQiang eee1f14e3a 给外部可以获取任务的能力 只返回符合要求的信息 2016-07-23 02:14:16 +00:00
nnhy 6afad5654e 使用TimeSpan显示已启动时间 2016-07-19 02:14:56 +00:00
Stone 6bd9ae62e0 比较的时间单位是毫秒 2016-07-02 11:04:55 +00:00
Stone 548a03f4f2 还没有经过调度的普通任务,在剩余时间超过500ms时,也给予调度机会
调试WiFi产品发行版时发现,打开8266需要等待3000ms,然后看门狗没有被调度过,导致没有机会执行
2016-07-02 09:56:38 +00:00
Stone 06a4313ff6 重用任务对象时,记得清空各参数 2016-06-27 13:24:08 +00:00
Stone 33e387f863 系统内核Time.h改名为TTime.h,否则在gcc和clang上会跟C库的time.h冲突。
同时,MDK不支持<ctime>的引用方式,用宏解决
2016-06-22 09:50:16 +00:00
Stone 8a95bed243 睡眠时间单位是us 2016-06-21 04:26:35 +00:00
Stone 2cecbbeb88 有可能这一次轮询是有限时间 2016-06-21 04:15:49 +00:00
Stone 72aadaa942 即使事件型任务,也可能有较长的执行时间,不能在Sleep里面安排调度。
任务轮询调度后,Sleep状态时不能睡眠,至少也要判断阀值
2016-06-21 04:13:45 +00:00
Stone e0d738e452 事件型任务,并且当前可用时间超过10ms,允许调度 2016-06-20 10:05:18 +00:00
Stone 67f6d3b553 修正任务等待调度增加一层以后,没有判断等待已取消的错误 2016-06-20 05:11:58 +00:00
Stone 8b9a10ebf3 修正可能出现时间溢出导致任务调度错误的BUG 2016-06-20 05:05:11 +00:00
Stone 849ff61678 2016-06-19 16:02:48 +00:00
Stone 884c417eb5 任务管理增加ExecuteForWait,统一Sys.Sleep和WaitHandle 2016-06-19 15:52:50 +00:00
Stone 44e5b22e26 严格要求代码,排除编译警告 2016-06-18 08:12:52 +00:00
Stone 00163b5cf0 Task增加当前任务 2016-06-17 02:13:13 +00:00
Stone d7663a4bc3 等待句柄的WaitOne需要循环调度,测试通过 2016-06-16 08:35:40 +00:00
Stone 6f54299e5c 增加等待句柄WaitHandle,替代时间轮,直接干涉系统调度 2016-06-16 07:57:15 +00:00
Stone f03e134606 增加AddTask,支持成员函数作为任务函数 2016-06-13 14:18:47 +00:00
Stone 532150941f 系统内核和外设驱动分别独立到不同目录 2016-06-13 04:05:30 +00:00