nnhy
|
4b1d56b077
|
优化Sys.RemoveTask,自动把ID清零
|
2015-09-07 09:07:58 +00:00 |
nnhy
|
9b6b1a07b7
|
调整串口Flush逻辑,系统异常时,强制刷出所有日志
|
2015-09-05 03:18:01 +00:00 |
nnhy
|
0c3697a20a
|
最小化SmartOS固件,点灯程序1.7k
|
2015-08-22 07:19:40 +00:00 |
nnhy
|
65d18e8727
|
Sys增加设定任务周期的方法
|
2015-08-22 06:37:53 +00:00 |
nnhy
|
547e0759fd
|
调整写法,消灭任务调度的全局变量,编译通过,未测试
|
2015-08-22 06:26:46 +00:00 |
nnhy
|
2e1ac656c1
|
干掉一个函数,节省0.15k
|
2015-08-22 03:49:51 +00:00 |
nnhy
|
4b9161c1e6
|
RTM编译时,不要编译调试信息,甚至调试字符串都不要参与编译,测试通过,固件减小12.4%
|
2015-08-19 09:53:47 +00:00 |
nnhy
|
f372c5391b
|
主要三大对象的析构函数用不着
|
2015-08-19 02:49:55 +00:00 |
nnhy
|
90aba92a9b
|
事件型任务运行指定下一次执行时间,便于连续改变任务执行时间
|
2015-08-18 11:03:37 +00:00 |
nnhy
|
d78cc3dc79
|
借助RVO优化系统当前时间的返回值
|
2015-08-12 13:31:55 +00:00 |
nnhy
|
e199413977
|
修改版本号
|
2015-08-06 08:31:23 +00:00 |
nnhy
|
ac31c30469
|
C++里面,long和int是相同的,64位长整型要用longlong
|
2015-08-06 08:30:35 +00:00 |
nnhy
|
db11d10b82
|
v3.0.2015.0806 增强系统调度器,支持无阻塞多任务调度
GD32F103VE测试通过
|
2015-08-06 07:32:45 +00:00 |
nnhy
|
d6707ef77b
|
修改Time.Sleep,让它在死循环等待时,可根据外部条件退出。
修改Task调度,让它可中断正在死循环的Sleep,马上进行下一回合任务调度
|
2015-08-05 15:17:33 +00:00 |
nnhy
|
576afb3a61
|
设置任务的开关状态,同时运行指定任务最近一次调度的时间,0表示马上调度
|
2015-08-05 06:57:28 +00:00 |
nnhy
|
2c6e768654
|
升级任务调度器,支持创建事件型任务
|
2015-08-05 04:39:24 +00:00 |
nnhy
|
6a8c3da4d4
|
系统时钟虽然很重要,但是并非所有系统都需要用到系统时钟
|
2015-07-28 15:18:15 +00:00 |
nnhy
|
7631d93ab6
|
系统启动之前,不要做高级任务调度
|
2015-07-24 07:50:13 +00:00 |
nnhy
|
5a7c3db684
|
为了确保至少被有效调度一次,需要在被调度任务内判断
修正Ping无法等待响应的Bug
|
2015-07-19 10:04:41 +00:00 |
nnhy
|
d0e33af967
|
把系统时钟中断间隔设到最大,此举可能影响Thread的抢占式调度,网关C测试通过,未测试Thread
|
2015-07-18 02:45:28 +00:00 |
nnhy
|
abbc3abcc0
|
逐步减少Time.Current的使用
|
2015-07-17 09:40:49 +00:00 |
nnhy
|
6b8f12b948
|
强化任务调度管理,为了精确统计任务时间做准备
|
2015-07-15 07:59:35 +00:00 |
Stone
|
f8c9a16ce7
|
堆栈相互穿透,内存已用完!可能是堆分配或野指针带来了内存泄漏!
|
2015-07-10 08:55:56 +00:00 |
nnhy
|
d34ea09d24
|
us=0 表示释放一下CPU
|
2015-06-23 07:38:36 +00:00 |
nnhy
|
45998472d6
|
增加任务禁用和启用,在暂时不需要调度任务时,可禁用
|
2015-06-23 03:11:13 +00:00 |
nnhy
|
e26377529e
|
如果休眠时间足够长,允许多次调度其它任务
|
2015-06-23 02:31:36 +00:00 |
nnhy
|
f4eb07bf34
|
睡眠时当前任务释放CPU,允许多次调度其它任务,基础测试通过
|
2015-06-23 02:26:27 +00:00 |
nnhy
|
ca54039080
|
改进任务调度系统,未启动多线程的情况下,Sleep也能够调度其它任务
|
2015-06-18 12:55:56 +00:00 |
nnhy
|
1f8837f663
|
还是不能依赖Object来一次性初始化内存,因为某些类包含了别的类,在Init之前已经初始化了内部对象
|
2015-06-18 06:19:51 +00:00 |
nnhy
|
b964fd0d52
|
Sys继承自Object,确保初始化清零
|
2015-06-16 17:57:44 +00:00 |
nnhy
|
74174ab346
|
准备构建C#类型体系,编译通过,未测试
|
2015-06-16 04:38:29 +00:00 |
nnhy
|
64be01fd50
|
增加令牌客户端编译通过,未完成
系统Sys增加设备代码Code
|
2015-06-15 10:16:49 +00:00 |
nnhy
|
7d22fd30ea
|
F4有64k的CCM内存
|
2015-06-15 09:13:09 +00:00 |
nnhy
|
67358539f1
|
莫名其妙,STM32F407VG不能用192k的RAM,只能用到128K,后面的RAM操作抛出异常
|
2015-06-15 04:18:48 +00:00 |
nnhy
|
9a3bc466fe
|
非线程模式,最大睡眠时间允许1秒
|
2015-05-20 09:11:15 +00:00 |
nnhy
|
e610194460
|
增加输出公司名称
|
2015-02-10 09:47:12 +00:00 |
nnhy
|
dc93911b98
|
通过编译后直接修改axf文件的方式写入编译时间
测试通过
|
2015-02-09 16:51:52 +00:00 |
nnhy
|
f46dd6eb21
|
暂时不使用外部精确时间,那样给编译带来一定麻烦
增加系统名称和版本号
|
2015-02-08 19:46:58 +00:00 |
nnhy
|
710313a737
|
借助C#脚本干涉编译过程,写入准确的编译时间
|
2015-02-08 19:37:05 +00:00 |
nnhy
|
a72d119e57
|
修正STM32F407VE芯片的RAM计算错误
|
2015-02-08 10:29:54 +00:00 |
nnhy
|
2c27ebd02f
|
Sys::Sleep 设计错误,睡眠%dms太长,超过1000ms建议使用多线程Thread!
|
2015-02-08 04:03:43 +00:00 |
nnhy
|
b33e7d89b8
|
必须先拷贝完成栈,再修改栈指针
|
2015-02-07 08:23:20 +00:00 |
Stone
|
880ce15ca7
|
精确迁移栈,不浪费空间
|
2015-02-05 15:07:26 +00:00 |
Stone
|
5659b6dd88
|
输出初始化时间,一般3us,而整个启动完成需要26505us,主要是输出调试信息浪费了大量时间
|
2015-01-23 03:41:23 +00:00 |
Stone
|
8e32b753b1
|
源数据src转为十六进制字符编码再放入目标字符buf,比如0xA8在目标放两个字节0x41(A) 0x38(8)
|
2015-01-17 08:40:25 +00:00 |
Stone
|
2d34659edb
|
硬件Crc在测试例程中可以得到跟软件Crc一致的结果,但是在令牌协议解析的时候得到不一样的结果,屏蔽硬件Crc
|
2014-12-08 17:25:41 +00:00 |
Stone
|
543a670da1
|
修正硬件Crc的BUG
STM32的初值是0xFFFFFFFF,而软Crc初值是0。必须设置初值,否则结果不一样。
|
2014-12-08 17:18:35 +00:00 |
Stone
|
8803b28898
|
避免删除任务时两次触发delete
|
2014-11-16 19:29:28 +00:00 |
Stone
|
c9a6a05cbc
|
if(!_Scheduler) _Scheduler = new TaskScheduler("系统");
|
2014-11-04 09:38:56 +00:00 |
Stone
|
e362448c3e
|
优化日志输出,适配新版本串口调试工具
|
2014-10-29 09:54:03 +00:00 |