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