大石头
|
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 |