nnhy
|
c1544f64e1
|
整合List到Type,增加Array.FindIndex
|
2015-10-29 03:35:35 +00:00 |
nnhy
|
d0b9ff5000
|
线程池部分完成,编译通过。考虑到维持多个线程在池里面会大量占用栈内存,不划算。因此暂停线程池开发
|
2014-10-19 04:35:45 +00:00 |
nnhy
|
8ef3af5a8a
|
Sys.h默认不包含List.h
|
2014-10-06 16:06:08 +00:00 |
Stone
|
8fd39cf5d1
|
OnEnd以后加上死循环,避免指针满天飞
每个线程默认0x100栈空间太小了,加大
|
2014-09-29 15:33:49 +00:00 |
Stone
|
7b067ce7e4
|
进一步融合Sys和多线程调度,统一使用Sys.Start
|
2014-09-26 07:45:28 +00:00 |
Stone
|
044acd716f
|
如果用空闲线程Idle驱动系统定时Sys.Start,可能出现Sleep导致线程挂起,然后没有可用线程供调度。
为此专门增加独立的Main线程。
|
2014-09-19 20:17:57 +00:00 |
Stone
|
9846af80bd
|
完善多线程调度设计方法
|
2014-09-18 15:49:19 +00:00 |
Stone
|
510ce74ba2
|
编写SmartOS多线程调度模块的特性
|
2014-09-18 15:02:20 +00:00 |
Stone
|
fe933042c6
|
每个线程结束时执行该方法,销毁线程。
测试通过,成功销毁Led线程
|
2014-09-18 09:24:11 +00:00 |
Stone
|
33192897fe
|
增加线程栈溢出检测
|
2014-09-18 04:50:29 +00:00 |
Stone
|
5eff87f132
|
使用调度入口函数,测试通过。
小灯闪烁例程通过。
Idle例程出现异常
|
2014-09-17 21:04:25 +00:00 |
Stone
|
e3fdeb1009
|
删除无用的代码注释,测试通过
|
2014-09-17 18:09:37 +00:00 |
Stone
|
3a8bbe0d0b
|
重新整理PendSV_Handler实现,更好性能更好逻辑。
使用模版列表重构Thread链表实现
测试通过,单一小灯线程闪烁
|
2014-09-17 16:53:51 +00:00 |
Stone
|
da0381de95
|
Thread增加日志输出,恢复使用4字节ID
|
2014-09-17 13:45:30 +00:00 |
Stone
|
71608df485
|
注释Thread.ID,它导致了对齐问题,堆栈溢出到隔壁。
每次时间片调度时,支持Sleep睡眠处理
|
2014-09-17 12:18:48 +00:00 |
Stone
|
ffe948b038
|
增加基于线程调度的睡眠支持
|
2014-09-17 06:51:39 +00:00 |
Stone
|
7ea0d4b135
|
线程调度小灯闪烁成功,代码还需要进一步巩固
|
2014-09-16 19:42:57 +00:00 |
Stone
|
b8ef6a8fd2
|
无法用纯C/C++实现整个中断,最主要的问题是它会编译生成压栈操作,使得函数内的栈操作出错
|
2014-09-16 19:30:58 +00:00 |
Stone
|
e800e0d27f
|
已经可以主动调度任务,但是在时间片到来时无法正确调度。怀疑跟编译警告里面的2字节对齐有关
|
2014-09-16 19:22:06 +00:00 |
Stone
|
5c239c4c51
|
|
2014-09-15 05:44:30 +00:00 |
Stone
|
0f5cd80398
|
通过PendSV_Handler实现任务切换,在线程栈的处理上还有问题
|
2014-09-14 12:32:34 +00:00 |
Stone
|
26f51abc65
|
增加线程封装,基于优先级的时间片抢占式任务调度
编译未通过,诡异的错误
|
2014-09-10 19:34:24 +00:00 |