nnhy
|
49b544c8b1
|
只有最大时间调用时,才允许间隙休息
|
2015-11-27 04:00:39 +00:00 |
nnhy
|
900bc5549c
|
修正任务释放导致死机的BUG,网关C测试通过
|
2015-11-13 13:48:18 +00:00 |
nnhy
|
94cea1c36a
|
!!增加函数跟踪栈,进入函数时压栈函数名,离开时弹出。便于异常时获取主线程调用列表
|
2015-11-13 13:34:36 +00:00 |
nnhy
|
5555bb67fe
|
任务模块在网关上有野指针出现,增加日志抓BUG,未完成
|
2015-11-09 04:16:30 +00:00 |
nnhy
|
59baca7be6
|
增加获取系统启动时间的Sys.Ms(),等同于Time.Current(),但是无需再引用Time.h
|
2015-11-03 08:52:31 +00:00 |
nnhy
|
199e7bc64f
|
兼顾TINY
|
2015-11-02 03:55:42 +00:00 |
nnhy
|
93694ee36f
|
采用数组重构任务列表
|
2015-11-01 07:16:18 +00:00 |
nnhy
|
b3565c8119
|
调试统计函数不要参与发行版编译
|
2015-10-30 04:52:33 +00:00 |
nnhy
|
c26f493650
|
!!!核心数组Array降为非模版,新增模版数组TArray,网关C测试通过。
这次修改影响整个系统每一个细节,各个地方要及时跟进
|
2015-10-30 04:36:18 +00:00 |
nnhy
|
3e7d816383
|
计算任务执行的平均毫秒数,用于中途调度其它任务,避免一个任务执行时间过长而堵塞其它任务
|
2015-10-29 08:13:30 +00:00 |
nnhy
|
ae4b2c7171
|
指定了代码段的类,所包含的函数一定被编译进入发行版固件,不管有没有引用
|
2015-10-28 13:55:23 +00:00 |
nnhy
|
6b966abe59
|
通过分散加载文件,把核心代码提升到前面去
|
2015-10-28 09:33:12 +00:00 |
nnhy
|
f023707ae8
|
设置任务的开关状态,同时运行指定任务最近一次调度的时间,0表示马上调度
|
2015-10-27 08:13:02 +00:00 |
nnhy
|
92d1bcfc51
|
任务状态列表
|
2015-10-22 11:10:57 +00:00 |
nnhy
|
7116f2a986
|
精简不再使用的功能
|
2015-10-22 01:25:29 +00:00 |
nnhy
|
b93b272a4e
|
没有收到数据时,需要给缓冲区置零,否则系统逻辑会混乱
|
2015-10-08 03:03:05 +00:00 |
nnhy
|
414b1dfdaf
|
优化串口接收中断处理的性能
|
2015-10-05 14:56:31 +00:00 |
nnhy
|
dbd64c0fac
|
较大的Sys.Delay也需要进行时间任务调度,默认以50us作为边界
|
2015-10-05 12:36:35 +00:00 |
nnhy
|
cf8855d6c9
|
任务系统调度时间单位改为ms,局部测试系统可工作,但是时间变慢
|
2015-10-05 11:40:05 +00:00 |
nnhy
|
e208ce88e2
|
修正_Tasks没有初始化的问题,在Keil项目的RAM配置页勾选noinit后发现问题所在
|
2015-09-23 10:11:46 +00:00 |
nnhy
|
a6c27954d9
|
|
2015-09-19 09:58:00 +00:00 |
nnhy
|
1712f779cc
|
使用数组接管任务队列,避免大量堆分配,测试通过
|
2015-09-19 09:41:18 +00:00 |
nnhy
|
547e0759fd
|
调整写法,消灭任务调度的全局变量,编译通过,未测试
|
2015-08-22 06:26:46 +00:00 |
nnhy
|
90aba92a9b
|
事件型任务运行指定下一次执行时间,便于连续改变任务执行时间
|
2015-08-18 11:03:37 +00:00 |
nnhy
|
430c2de2c6
|
每次上电打开RTC之前,都需要选择好LSI/LSE,否则会死循环等待。
设置报警时间时,不能清零后重新设置ms,还是老办法在原来基础上相加才有效。
Sleep时,判断RTC是否开启了低功耗
|
2015-08-13 05:08:14 +00:00 |
nnhy
|
76d8b7ff17
|
重构系统时钟架构,RTC独立,编译通过,未测试
|
2015-08-12 14:33:05 +00:00 |
nnhy
|
2312baeb7f
|
修正类型转换的警告
|
2015-08-06 09:13:17 +00:00 |
nnhy
|
ac31c30469
|
C++里面,long和int是相同的,64位长整型要用longlong
|
2015-08-06 08:30:35 +00:00 |
nnhy
|
fad7d6c776
|
注意类型转换
|
2015-08-06 07:55:29 +00:00 |
nnhy
|
72c8b88120
|
如果事件型任务还需要执行,那么就不要做任何等待
测试通过
|
2015-08-05 16:31:29 +00:00 |
nnhy
|
d6707ef77b
|
修改Time.Sleep,让它在死循环等待时,可根据外部条件退出。
修改Task调度,让它可中断正在死循环的Sleep,马上进行下一回合任务调度
|
2015-08-05 15:17:33 +00:00 |
nnhy
|
227c1c3f99
|
串口波特率默认值改为1024000,测试通过。
收发缓冲区默认大小64足够,串口1024000下测试通过
|
2015-08-05 14:46:39 +00:00 |
nnhy
|
7eaaf7bd59
|
任务调度支持最大深度。默认1层,不允许重入
|
2015-08-05 05:37:32 +00:00 |
nnhy
|
079b376d53
|
如果是事件型任务,这里禁用。任务中可以重新启用
如果还有数据,打开任务
测试通过
|
2015-08-05 05:10:50 +00:00 |
nnhy
|
00f2b240bb
|
注意Execute内部可能已经释放了任务
|
2015-08-05 04:40:09 +00:00 |
nnhy
|
2c6e768654
|
升级任务调度器,支持创建事件型任务
|
2015-08-05 04:39:24 +00:00 |
nnhy
|
6a8c3da4d4
|
系统时钟虽然很重要,但是并非所有系统都需要用到系统时钟
|
2015-07-28 15:18:15 +00:00 |
nnhy
|
5745e4840f
|
从Time分离RTC,某些设备可能并不需要RTC时钟,经过分离以后,如果未使用RTC,其代码不参与编译。
成功解决Alarm中断没有收到的问题,原来要打开EXIT17。
睡眠测试仍然失败,RTC保存时间的测试成功通过。
|
2015-07-24 07:34:12 +00:00 |
nnhy
|
5a5a3a6a9a
|
任务空闲时,暂停系统,进入低功耗模式,编译通过,测试失败,怀疑GD32芯片损坏
|
2015-07-23 14:26:28 +00:00 |
nnhy
|
eb919b6baa
|
睡眠时间不能过长,否则可能无法喂狗
|
2015-07-23 09:27:01 +00:00 |
nnhy
|
1b4f3f00e4
|
统计任务轮询的平均时间和最大时间
|
2015-07-20 01:54:40 +00:00 |
nnhy
|
a5b4c7b6d7
|
并且任务的平均耗时要足够调度,才安排执行,避免上层是Sleep时超出预期时间
|
2015-07-20 00:33:54 +00:00 |
nnhy
|
9a5d3bdb54
|
分解任务执行代码,简化逻辑
|
2015-07-19 10:21:27 +00:00 |
nnhy
|
4b826af6a6
|
增加任务最大耗时
|
2015-07-19 10:09:50 +00:00 |
nnhy
|
5a7c3db684
|
为了确保至少被有效调度一次,需要在被调度任务内判断
修正Ping无法等待响应的Bug
|
2015-07-19 10:04:41 +00:00 |
nnhy
|
d71d6a22d7
|
显示任务状态之前,显示系统启动时间
|
2015-07-19 09:47:44 +00:00 |
nnhy
|
9674739f6d
|
减少Time.Current的使用
|
2015-07-18 02:19:54 +00:00 |
nnhy
|
6c1a05349a
|
TimeCost借助滴答数,精确计算耗时数
|
2015-07-17 08:54:56 +00:00 |
nnhy
|
cf36ee0a90
|
完善任务统计信息
|
2015-07-15 08:31:40 +00:00 |
nnhy
|
6b8f12b948
|
强化任务调度管理,为了精确统计任务时间做准备
|
2015-07-15 07:59:35 +00:00 |