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 |
Stone
|
8926b8649d
|
分配内存时,关闭全局中断,避免多线程问题
|
2014-10-17 14:47:58 +00:00 |
Stone
|
7a5a353b65
|
增加任务调度模块,系统调度由该模块实现
|
2014-10-17 14:19:08 +00:00 |
nnhy
|
b2d1579914
|
增加Object基类,用于ToString
测试通过,未大范围使用
|
2014-10-14 13:11:55 +00:00 |
nnhy
|
303e074822
|
使用独立线程来驱动2401的接收,收发关键点加上同步进入锁,更稳定可靠
|
2014-10-12 02:45:07 +00:00 |
nnhy
|
236fcdbb42
|
修正普遍存在的内存清零不完整的隐患
|
2014-10-10 08:08:00 +00:00 |
nnhy
|
ba6500e60d
|
使用内部硬件实现无初始值的CRC校验
|
2014-10-10 06:56:29 +00:00 |
nnhy
|
b353cd23d7
|
系统任务的周期时间改为ulong,以表示更大的时间值
输出长整型%ld,无符号长整型%llu
|
2014-10-08 15:53:54 +00:00 |
nnhy
|
329a4cbe2f
|
输出更详细的运行日志,发现一个更严重的问题,Sys.Task的时间不支持大整数,超过35分钟的时间会被截断
|
2014-10-08 14:01:20 +00:00 |
Stone
|
81a066663b
|
如果有最小时间,睡一会吧,如果使用了多线程,可以起到释放CPU控制权的效果
|
2014-09-30 04:17:06 +00:00 |
Stone
|
7b067ce7e4
|
进一步融合Sys和多线程调度,统一使用Sys.Start
|
2014-09-26 07:45:28 +00:00 |
nnhy
|
1d36279536
|
节省空间
|
2014-09-25 17:14:40 +00:00 |
Stone
|
9e96789f39
|
中断优先级分配方案4,四位都是抢占优先级。其实上面的寄存器操作就是设置优先级方案为0
难怪0无法抢占1,原来是采用了0优先级中断组
|
2014-09-25 16:21:27 +00:00 |
Stone
|
9af5de2196
|
F1和F4都是同时采用中断优先级分配方案4 四位都是抢占优先级
希望可以解决串口中断优先级1无法被滴答中断优先级0抢占的问题
|
2014-09-25 16:11:26 +00:00 |
Stone
|
d40b6d5ea0
|
默认初始化多线程
|
2014-09-25 15:15:44 +00:00 |
Stone
|
75ddbc1d1b
|
修正Crc16,测试通过
|
2014-09-25 11:46:11 +00:00 |
WangQiang
|
34261eaf73
|
纠正 Crc16 len参数错误
|
2014-09-25 11:42:00 +00:00 |
Stone
|
b9ed009fcd
|
恢复被覆盖的asse
|
2014-09-25 08:22:20 +00:00 |
WangQiang
|
2d9ac2f0c5
|
|
2014-09-25 07:15:37 +00:00 |
WangQiang
|
a68af76cd7
|
Crc16
|
2014-09-25 03:42:39 +00:00 |
Stone
|
2c16a2ed7d
|
|
2014-09-22 18:27:24 +00:00 |
Stone
|
044acd716f
|
如果用空闲线程Idle驱动系统定时Sys.Start,可能出现Sleep导致线程挂起,然后没有可用线程供调度。
为此专门增加独立的Main线程。
|
2014-09-19 20:17:57 +00:00 |
Stone
|
6e0727217f
|
重构系统、时间、线程三者的关系,Sleep优先使用线程级睡眠
|
2014-09-18 16:33:14 +00:00 |
Stone
|
02c2f1c94b
|
中断向量表固定在Flash里面。本来考虑放在RAM里面是为了可以动态修改,而现在为了增强中断函数,不得不在RAM做二级中断,该优势就变得毫无意义了。另外,放在RAM里面是为了通过增加RAM占用来降低Flash占用,而实际上Flash够用,RAM不够用,RAM更贵!
|
2014-09-10 12:50:46 +00:00 |