Commit Graph

173 Commits

Author SHA1 Message Date
nnhy d273ac7589 精简Sys,编译通过,测试通过 2015-10-05 14:04:34 +00:00
nnhy 2ee5521bfa 系统时间,以毫秒作为基本精度
编译测试通过
2015-10-05 13:22:23 +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 0c090906ff !!!系统时钟升级,采用基本定时器计时,计时精度Current修改为毫秒,滴答定时器用于高精度微秒级延迟
编译通过,系统时钟测试可工作,系统各个使用Current的地方未修改
2015-10-05 10:43:28 +00:00
nnhy d631e0d3b4 闪烁端口
默认慢闪,Start后快闪一定时间,-1时间表示一直快闪,Stop停止
支持数据操作指令,参数为快闪毫秒数
2015-09-29 06:51:57 +00:00
nnhy e208ce88e2 修正_Tasks没有初始化的问题,在Keil项目的RAM配置页勾选noinit后发现问题所在 2015-09-23 10:11:46 +00:00
nnhy 01a373b941 !!!最新技能,一个编译单元,只要有任意一个函数被用到,那么这个单元内部所有静态数据都将会被分配内存,不管是全局静态还是函数内静态
拆分CRC,减少1k的Flash占用
2015-09-20 04:12:10 +00:00
nnhy 3a1798a8fd Array::SetAt扩容时需要备份数据 2015-09-16 13:10:22 +00:00
nnhy 3d2e5c89b9 重新整理读写代码,未测试 2015-09-09 08:15:49 +00:00
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