Commit Graph

95 Commits

Author SHA1 Message Date
nnhy 11ec1084fd ulong => UInt64
_REV/_REV16 独立汇编实现,不依赖固件库
2016-03-07 10:46:10 +00:00
nnhy 8a71c880ac !!!独立String,增强字符串连接等功能。
为了编译通过,注释了一些其它类的功能代码,慎用该版本!
2016-03-05 06:58:12 +00:00
nnhy 927bac9a0c 常量化Sys和Time,避免各个模块不小心错误修改 2016-01-23 09:22:09 +00:00
Stone 18f782b7d5 2016-01-13 17:30:05 +00:00
nnhy bf98a6682f 取消宏定义string,统一使用字符指针char*,string为C++标准字符串类库让路。
经过测试,在容量较大的芯片上可以使用string,仅使用+=功能,RTM版本固件增加了大概18k。
2015-12-30 08:51:47 +00:00
nnhy 110eefc669 减少日志输出 2015-12-11 14:14:08 +00:00
nnhy 999369a6b2 F1不需要分散加载,那是130才有的问题,需要把重点代码放到系统最前面 2015-12-05 09:06:48 +00:00
WangQiang 970f39c25e 又见神秘23号中断,比GD32F103VE上更严重。 频繁程度达系统一直在中断里出不来 2015-12-04 02:49:38 +00:00
nnhy 474c84cc5d 修正设备重发发送设备上线信息的BUG,简单测试通过 2015-12-02 02:09:51 +00:00
Stone 727ab0a626 内存分配基本上已经稳定,改为直接使用C++实现;
只有Debug模式才指定代码段,一边发行模式固件较小,为了避免编译用不到的代码;
2015-11-21 18:30:33 +00:00
nnhy ae4b2c7171 指定了代码段的类,所包含的函数一定被编译进入发行版固件,不管有没有引用 2015-10-28 13:55:23 +00:00
nnhy 6b966abe59 通过分散加载文件,把核心代码提升到前面去 2015-10-28 09:33:12 +00:00
nnhy 98cd7b3a2e 系统内核时钟中断时间由10秒改为1秒
修正分频计算时整型溢出的BUG
2015-10-22 08:44:20 +00:00
nnhy 7116f2a986 精简不再使用的功能 2015-10-22 01:25:29 +00:00
nnhy 24c10cb49b 中断时间调整为10000ms,也即是10秒,减少中断。
优化Sleep/Delay逻辑。
修正SetTime/Now的错误。
简单测试未发现问题
2015-10-13 15:17:08 +00:00
nnhy 4f8862b24d 优化M0性能 2015-10-08 10:59:54 +00:00
nnhy fc4d8d6a9a 修正各应用中用到的本地时间 2015-10-08 02:52:17 +00:00
nnhy 21f824ddad M0需要极致性能 2015-10-07 13:43:22 +00:00
nnhy 3c9b850ff8 120M时,分频系数必须是120K才能得到1k的时钟,超过了最大值64k
因此,需要增加系数
测试通过,成功解决系统时钟变快的问题
2015-10-07 13:40:00 +00:00
nnhy 0cafd6ad73 修正时间轮错误,简单测试通过,未深入测试 2015-10-07 12:41:09 +00:00
nnhy fef9cd8378 网关借助握手,自动跟服务器同步时间,测试通过 2015-10-07 12:08:06 +00:00
nnhy 414b1dfdaf 优化串口接收中断处理的性能 2015-10-05 14:56:31 +00:00
nnhy 2ee5521bfa 系统时间,以毫秒作为基本精度
编译测试通过
2015-10-05 13:22:23 +00:00
nnhy 43cd70a28d DateTime默认仅解析秒,提升性能,测试通过 2015-10-05 12:34:20 +00:00
nnhy f39d0b0457 修正Sleep/Delay可能造成死循环的BUG
修正TimeCost计算错误
2015-10-05 11:39:17 +00:00
nnhy 0c090906ff !!!系统时钟升级,采用基本定时器计时,计时精度Current修改为毫秒,滴答定时器用于高精度微秒级延迟
编译通过,系统时钟测试可工作,系统各个使用Current的地方未修改
2015-10-05 10:43:28 +00:00
nnhy 2df69092f9 嘀嗒时钟中断不需要关中断,因为它有最高优先级 2015-09-30 03:06:56 +00:00
nnhy eb57c2964f 从Time中拆分RTC,不使用RTC的项目减小2k固件大小,编译通过,未测试 2015-08-22 09:37:55 +00:00
nnhy 3453251026 Parse太大,用不着的时候,不要参与编译 2015-08-19 09:03:33 +00:00
nnhy f372c5391b 主要三大对象的析构函数用不着 2015-08-19 02:49:55 +00:00
nnhy 764de2543b 避免RTC没有启动而造成死循环 2015-08-18 09:49:57 +00:00
nnhy 19b5afe95a 2015-08-13 09:02:26 +00:00
nnhy e1ecb1673e 小睡眠低功耗生效,但是电流减少并不多 2015-08-13 05:32:18 +00:00
nnhy 89ec0e620e 支持通过配置指定RTC使用内部时钟还是外部时钟。
STM32外部RTC时钟很难启动,GD32不会。
但是为了保存时间,又得使用外部时钟。
对于没有纽扣电池的产品,可以使用内部时钟,仅用于低功耗等操作。
2015-08-13 05:23:16 +00:00
nnhy 430c2de2c6 每次上电打开RTC之前,都需要选择好LSI/LSE,否则会死循环等待。
设置报警时间时,不能清零后重新设置ms,还是老办法在原来基础上相加才有效。
Sleep时,判断RTC是否开启了低功耗
2015-08-13 05:08:14 +00:00
nnhy 00cfba7f73 Time::Sleep睡眠计算余量有误
RTC使用内部LSI
2015-08-13 03:58:43 +00:00
nnhy d6ca047052 10ms的休眠就允许进入低功耗模式 2015-08-12 15:30:32 +00:00
nnhy bf59b590c8 调试时,需要重新配置一次RTC,让它按毫秒来工作 2015-08-12 15:18:05 +00:00
nnhy d520e195bf 经过测试GD32F103VE的RTC可以保存时间 2015-08-12 14:54:37 +00:00
nnhy 76d8b7ff17 重构系统时钟架构,RTC独立,编译通过,未测试 2015-08-12 14:33:05 +00:00
nnhy d78cc3dc79 借助RVO优化系统当前时间的返回值 2015-08-12 13:31:55 +00:00
nnhy d6707ef77b 修改Time.Sleep,让它在死循环等待时,可根据外部条件退出。
修改Task调度,让它可中断正在死循环的Sleep,马上进行下一回合任务调度
2015-08-05 15:17:33 +00:00
nnhy 66067c91db RTC兼容GD32F130,编译通过,未测试 2015-07-24 12:36:14 +00:00
nnhy 4025d98fcd 修正保存数据的BUG 2015-07-24 10:10:19 +00:00
nnhy 4d52bf095f 退出睡眠后,在警报中断里面配置频率,关闭全局中断,避免这个时候有其它任务打断。
经过测试,貌似还是有代码在较低频率执行,串口收到了数据,但是无法显示出来,猜测是因为频率不同导致波特率错误
2015-07-24 09:39:17 +00:00
nnhy f4338bc7ef 加上SYSCLKConfig_STOP,就可以正确的睡眠并且定时唤醒了 2015-07-24 09:04:10 +00:00
nnhy 7631d93ab6 系统启动之前,不要做高级任务调度 2015-07-24 07:50:13 +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 f41a4312a2 STM32F0/STM32F4的RTC用法居然一样 2015-07-23 13:41:01 +00:00