如何在wiced例程中添加并使用defined DCT 区域
目标:
主要去了解wiced中关于DEFINED_APP_DCT的用法, 在我们的释放的文档中,有一节描述,名字叫做APPLICNATION DCT data, 有一句话这样描述:
The DCT system allows for Applications to add Data to the end of the DCT area which will be maintained when the DCT is updated。
我们释放的wiced sdk中的文档有不错的描述, 文档名字是:WICED-DCT.pdf
步骤:
这是其中的描述, 从3.1 到 3.4.1 都是描述如何使用application dct area。
如上我们可以看到几个关键字和用法:
a. Wiced_dct_read_lock, wiced_dct_read_unlock 必须成对使用, 不然会有memory leak.
b. DCT_APP_SECTION, 是专用的名字,用来访问这部分区域。
如下图中所显示,
DCT_APP_SECTION 部分的offset是整个platform_dct_data_t, 表示这部分区域紧跟着后面,但是不会超过整个dct 分配的大小,
比如16k-sizeof(platform_dct_data_t) 的大小。
测试开始:
- 我将会在apsta这个应用中按照文档来做一个测试来判定是否有效:
搜索下, 发现我们的很多应用中都已经采用了这种方式:
2. 将dct_read_write_dct.c dct_read_write_dct.h 直接拷贝到apsta的文件夹中,并且重命名为apsta_dct.c, apsta_dct.
3. Makefile 中添加编译:
4. 略作修改
5.添加调用的时候不要忘记头文件。
#include "apsta_dct.h"
6. 在log中查看是否有效:
7. 我们在结构体中添加了基本的类型,现在添加一个复杂结构体看是否有效。
将这段定义拷贝到新的dct.h中。
最后将几个结构体整合到一起就成了这样的情况, 所以只要按照我们的步骤就可以实现你想要的保存的信息:
测试成功了, 最后上传测试代码。