@@ -63,9 +63,6 @@ static const char *kv_prefix[] = {"TDB_", "FS_", "SEC_"};
63
63
64
64
static int kv_setup = TDBStoreSet;
65
65
66
- static const size_t ul_bd_size = 16 * 4096 ;
67
- static const size_t rbp_bd_size = 8 * 4096 ;
68
-
69
66
static const int heap_alloc_threshold_size = 4096 ;
70
67
71
68
/* ----------------initialization------------------*/
@@ -74,6 +71,8 @@ static const int heap_alloc_threshold_size = 4096;
74
71
static void kvstore_init ()
75
72
{
76
73
int res;
74
+ size_t erase_size, ul_bd_size, rbp_bd_size;
75
+ BlockDevice *sec_bd;
77
76
78
77
res = bd->init ();
79
78
TEST_ASSERT_EQUAL_ERROR_CODE (0 , res);
@@ -102,14 +101,19 @@ static void kvstore_init()
102
101
103
102
#if SECURESTORE_ENABLED
104
103
if (kv_setup == SecStoreSet) {
104
+ sec_bd = bd;
105
105
if (erase_val == -1 ) {
106
106
flash_bd = new FlashSimBlockDevice (bd);
107
- ul_bd = new SlicingBlockDevice (flash_bd, 0 , ul_bd_size);
108
- rbp_bd = new SlicingBlockDevice (flash_bd, ul_bd_size, ul_bd_size + rbp_bd_size);
109
- } else {
110
- ul_bd = new SlicingBlockDevice (bd, 0 , ul_bd_size);
111
- rbp_bd = new SlicingBlockDevice (bd, ul_bd_size, ul_bd_size + rbp_bd_size);
107
+ sec_bd = flash_bd;
112
108
}
109
+
110
+ erase_size = sec_bd->get_erase_size ();
111
+ ul_bd_size = erase_size * 4 ;
112
+ rbp_bd_size = erase_size * 2 ;
113
+
114
+ ul_bd = new SlicingBlockDevice (sec_bd, 0 , ul_bd_size);
115
+ rbp_bd = new SlicingBlockDevice (sec_bd, ul_bd_size, ul_bd_size + rbp_bd_size);
116
+
113
117
TDBStore *ul_kv = new TDBStore (ul_bd);
114
118
TDBStore *rbp_kv = new TDBStore (rbp_bd);
115
119
kvstore = new SecureStore (ul_kv, rbp_kv);
0 commit comments