大石头
|
2a374f6004
|
!!!热存储区恰巧使用了系统堆栈避开的64字节,当数据区大于一定字节数时,就会导致热存储区末端超出内存RAM边界,从而导致崩溃。
暂时把它改为256字节,尚未找到一劳永逸的解决办法。
|
2017-07-09 09:33:40 +08:00 |
大石头X2
|
b42f7c5ab3
|
合并写入,减少擦除次数
|
2017-03-01 03:52:51 +08:00 |
大石头X2
|
226f837205
|
优先使用int替换为uint,方便运算,能够准确识别产生的负数。
|
2017-02-28 14:21:30 +08:00 |
nnhy
|
7429f4ce2c
|
直接引用头文件,避免SmartOS上层需要包含太多的头部目录
|
2016-10-29 02:59:28 +00:00 |
Stone
|
078da19f55
|
去掉检测指针有效范围的宏定义
|
2016-07-02 08:26:20 +00:00 |
Stone
|
44e5b22e26
|
严格要求代码,排除编译警告
|
2016-06-18 08:12:52 +00:00 |
nnhy
|
8194e555e1
|
重构SmartOS的结构,基本类型独立Core目录,平台无关
|
2016-05-17 14:13:51 +00:00 |
nnhy
|
f3506846ad
|
配置区增加RemoveAll,支持删除所有配置
|
2016-04-01 06:17:38 +00:00 |
nnhy
|
e0ae21c146
|
如果下一块有效,则保留大小和数据区,避免找不到下一块区域
如果下一块有效,且名称为空,则需要把两块连在一起
否则,把长度也清零,让它跟后面的区域连在一起
|
2016-03-27 12:16:41 +00:00 |
nnhy
|
327a6a24d3
|
正确判断配置区写入成功还是失败
|
2016-03-19 09:11:06 +00:00 |
nnhy
|
b0c7e1595c
|
集体修改断言
|
2016-03-18 01:48:17 +00:00 |
nnhy
|
6037f1d77a
|
使用断言判断,让太长的配置区名称失败
|
2016-03-17 06:17:17 +00:00 |
nnhy
|
fcfe40aa09
|
配置区名称使用0结尾字符串,也就是最大智能7个字符
|
2016-03-17 06:14:58 +00:00 |
nnhy
|
bef7df0d7c
|
使用字符串替代字符指针操作,未测试
|
2016-03-14 05:06:04 +00:00 |
nnhy
|
d1f6245d9b
|
所有NULL更换为nullptr,GCC要求更严格。
Sys.h头文件不再包含string.h,禁止SmartOS除了Type和String以外的地方使用内存管理函数
|
2016-03-14 04:28:04 +00:00 |
nnhy
|
1b26bdb65e
|
废弃ByteArray的拷贝构造函数,以免引起误解
|
2016-03-11 16:54:44 +00:00 |
Stone
|
eba9043046
|
除了Buffer其它任何地方不得使用memcpy/memset
|
2016-03-11 04:39:30 +00:00 |
Stone
|
b57f9b4997
|
完成Buffer::ToHex,调整Sub,增加一个参数
编译通过,未测试
|
2016-03-10 17:07:49 +00:00 |
nnhy
|
b72139033f
|
内存缓冲区Buffer作为最基础的内存数据包,只包含指针和长度!
Array作为变长内存数据包,可扩大
ByteArray直接继承自Array,脱离模板TArray
|
2016-03-06 11:01:01 +00:00 |
Stone
|
243de19352
|
分离出来内存缓冲区Buffer,编译通过,未测试!
|
2016-03-06 02:14:53 +00:00 |
Stone
|
075cf6d3ba
|
新建一个对象才能清空名称,不能直接修改Flash地址的数据
|
2016-01-21 03:42:37 +00:00 |
nnhy
|
398b1dd70c
|
修正配置区加载失败的BUG,触摸开关3简单测试通过
|
2016-01-19 06:59:58 +00:00 |
Stone
|
5f1871714b
|
配置区的加载、保存、创建、删除分离,全部完成,编译通过未测试
|
2016-01-19 04:15:18 +00:00 |
nnhy
|
bc088cf2b8
|
重构配置区,优先使用对象引用,函数常态化处理。
编译通过,网关C测试启动组网通过
|
2016-01-18 04:49:10 +00:00 |
nnhy
|
9da4aa12f7
|
增加配置基类ConfigBase,统一微网配置和令牌配置
|
2016-01-12 10:10:15 +00:00 |
nnhy
|
bde79dc116
|
|
2015-12-29 06:41:55 +00:00 |
nnhy
|
8af987370d
|
|
2015-12-26 04:09:07 +00:00 |
nnhy
|
1adaf83877
|
减少调试模块的日志输出
|
2015-12-11 13:35:44 +00:00 |
nnhy
|
34522fe95d
|
增加调试日志。
调试发现,IR的Lamda可能有问题
|
2015-11-26 17:02:15 +00:00 |
nnhy
|
5bb431c6e6
|
取消Array构造函数里面的默认参数,挖出来一堆隐式转换的BUG
|
2015-11-13 14:13:33 +00:00 |
nnhy
|
232caf7e34
|
全面使用Array,尽可能的减少使用指针。
编译通过,网关C基础测试通过
|
2015-11-13 12:39:45 +00:00 |
nnhy
|
f6ba581a28
|
字节数组的拷贝函数比较容易出错,要非常小心
|
2015-10-26 02:44:31 +00:00 |
nnhy
|
7704197ae6
|
如果大小超标,并且下一块有效,那么这是非法操作
|
2015-10-26 02:41:51 +00:00 |
nnhy
|
7e2a3c7c48
|
优化代码,增加断言,避免出现疏忽了的地方
|
2015-10-26 01:02:33 +00:00 |
nnhy
|
5de4afdcaa
|
获取配置数据,如果不存在则覆盖。
三位触摸开关测试通过
|
2015-10-25 10:16:51 +00:00 |
nnhy
|
73a98811d4
|
配置块的大小,只有第一次能够修改,以后即使废弃也不能修改,仅仅清空名称
|
2015-10-24 07:58:56 +00:00 |
nnhy
|
edf407cc67
|
优化代码,网关C测试通过
|
2015-10-24 07:48:41 +00:00 |
Stone
|
61aac14449
|
微网配置独立
|
2015-10-24 03:08:03 +00:00 |
WangQiang
|
7a6030118f
|
TinyConfig Flash操作 编译通过,未测试
|
2015-10-23 09:45:19 +00:00 |
nnhy
|
54ee93d1f5
|
设置无效配置段是,Size=0表示无效。测试通过。
这不是一个很好的主意,但是没有更好的办法
|
2015-10-22 11:59:03 +00:00 |
nnhy
|
9353d90a5e
|
增加系统热数据配置,记录系统启动次数
|
2015-10-22 03:38:02 +00:00 |
nnhy
|
91d4df401a
|
重构配置区,不做数据检验,统一头部签名,编译通过,未测试。
Flash最后一块作为配置区
|
2015-10-22 02:37:50 +00:00 |
nnhy
|
170c6391c5
|
配置块,调整查找模式
|
2015-10-22 01:27:17 +00:00 |
nnhy
|
4667c1d6cc
|
配置头的Name是不带0结尾的字符串,所以不能用普通的strcmp来比较,还是内存比较更加稳妥。
测试通过!
|
2015-10-15 10:02:14 +00:00 |
nnhy
|
69c6fa12d8
|
调整地址类型为uint,方便计算
|
2015-10-15 09:17:50 +00:00 |
WangQiang
|
98d1df4cfa
|
|
2015-10-15 06:32:43 +00:00 |
nnhy
|
64331f1e5a
|
修改配置获取逻辑,更加便于使用,简单测试可用
|
2015-10-15 04:40:19 +00:00 |
Stone
|
64c992c6db
|
配置子系统,链式保存管理多配置段。
1,每个配置段都有固定长度的头部,包括签名、校验、名称等,数据紧跟其后
2,借助签名和双校验确保是有效配置段
3,根据名称查找更新配置段
编译通过,未测试
|
2015-10-14 18:00:56 +00:00 |
nnhy
|
c19e7994ff
|
|
2015-09-08 02:47:39 +00:00 |
nnhy
|
cb888f2e82
|
以网关地址为基准,进行递增分配
|
2015-09-04 09:59:36 +00:00 |