Commit Graph

58 Commits

Author SHA1 Message Date
大石头 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