@@ -66,9 +66,6 @@ static const char *kv_prefix[] = {"TDB_", "FS_", "SEC_"};
6666
6767static int kv_setup = TDBStoreSet;
6868
69- static const size_t ul_bd_size = 16 * 4096 ;
70- static const size_t rbp_bd_size = 8 * 4096 ;
71-
7269static const int heap_alloc_threshold_size = 4096 ;
7370
7471/* ----------------initialization------------------*/
@@ -77,6 +74,8 @@ static const int heap_alloc_threshold_size = 4096;
7774static void kvstore_init ()
7875{
7976 int res;
77+ size_t erase_size, ul_bd_size, rbp_bd_size;
78+ BlockDevice *sec_bd;
8079
8180 res = bd->init ();
8281 TEST_ASSERT_EQUAL_ERROR_CODE (0 , res);
@@ -105,14 +104,19 @@ static void kvstore_init()
105104
106105#if SECURESTORE_ENABLED
107106 if (kv_setup == SecStoreSet) {
107+ sec_bd = bd;
108108 if (erase_val == -1 ) {
109109 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;
115111 }
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+
116120 TDBStore *ul_kv = new TDBStore (ul_bd);
117121 TDBStore *rbp_kv = new TDBStore (rbp_bd);
118122 kvstore = new SecureStore (ul_kv, rbp_kv);
0 commit comments