Skip to content

Commit 8d44d8c

Browse files
author
Veijo Pesonen
committed
Enables building storage with bare metal profile
To compile Mbed Bootloader with bare metal profile certain defines are not added anymore automatically. Because of this checks for those defines needed to be introduced.
1 parent bda7678 commit 8d44d8c

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

features/storage/kvstore/conf/kv_config.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,8 @@ int _storage_config_TDB_EXTERNAL()
774774
return MBED_ERROR_UNSUPPORTED;
775775
#endif
776776

777+
#ifdef MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS
778+
777779
bd_size_t internal_rbp_size = MBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE;
778780
bd_addr_t internal_start_address = MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS;
779781

@@ -842,13 +844,18 @@ int _storage_config_TDB_EXTERNAL()
842844
kvstore_config.flags_mask = ~(0);
843845

844846
return _storage_config_tdb_external_common();
847+
#else
848+
return MBED_ERROR_CONFIG_UNSUPPORTED;
849+
#endif
845850
}
846851

847852
int _storage_config_TDB_EXTERNAL_NO_RBP()
848853
{
849854
#if !SECURESTORE_ENABLED
850855
return MBED_ERROR_UNSUPPORTED;
851856
#endif
857+
858+
#ifdef MBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_EXTERNAL_BASE_ADDRESS
852859
bd_size_t size = MBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_EXTERNAL_SIZE;
853860
bd_addr_t address = MBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_EXTERNAL_BASE_ADDRESS;
854861

@@ -879,6 +886,9 @@ int _storage_config_TDB_EXTERNAL_NO_RBP()
879886
kvstore_config.flags_mask = ~(KVStore::REQUIRE_REPLAY_PROTECTION_FLAG);
880887

881888
return _storage_config_tdb_external_common();
889+
#else
890+
return MBED_ERROR_CONFIG_UNSUPPORTED;
891+
#endif
882892
}
883893

884894
int _storage_config_tdb_external_common()
@@ -938,6 +948,7 @@ int _storage_config_FILESYSTEM()
938948
return MBED_ERROR_UNSUPPORTED;
939949
#endif
940950

951+
#ifdef MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS
941952
filesystemstore_folder_path = STR(MBED_CONF_STORAGE_FILESYSTEM_FOLDER_PATH);
942953

943954
bd_size_t internal_rbp_size = MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE;
@@ -1017,6 +1028,9 @@ int _storage_config_FILESYSTEM()
10171028
kvstore_config.flags_mask = ~(0);
10181029

10191030
return _storage_config_filesystem_common();
1031+
#else
1032+
return MBED_ERROR_CONFIG_UNSUPPORTED;
1033+
#endif
10201034
}
10211035

10221036
int _storage_config_FILESYSTEM_NO_RBP()
@@ -1025,6 +1039,7 @@ int _storage_config_FILESYSTEM_NO_RBP()
10251039
return MBED_ERROR_UNSUPPORTED;
10261040
#endif
10271041

1042+
#ifdef MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_EXTERNAL_BASE_ADDRESS
10281043
filesystemstore_folder_path = STR(MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_FOLDER_PATH);
10291044

10301045
bd_size_t size = MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_EXTERNAL_SIZE;
@@ -1059,6 +1074,9 @@ int _storage_config_FILESYSTEM_NO_RBP()
10591074
kvstore_config.flags_mask = ~(KVStore::REQUIRE_REPLAY_PROTECTION_FLAG);
10601075

10611076
return _storage_config_filesystem_common();
1077+
#else
1078+
return MBED_ERROR_CONFIG_UNSUPPORTED;
1079+
#endif
10621080
}
10631081

10641082
int _storage_config_filesystem_common()

features/storage/kvstore/direct_access_devicekey/DirectAccessDevicekey.cpp

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,23 +118,42 @@ int get_expected_internal_TDBStore_position(uint32_t *out_tdb_start_offset, uin
118118
uint32_t tdb_size;
119119

120120
if (strcmp(STR(MBED_CONF_STORAGE_STORAGE_TYPE), "FILESYSTEM") == 0) {
121+
#ifndef MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS
122+
return MBED_ERROR_ITEM_NOT_FOUND;
123+
#else
121124
*out_tdb_start_offset = MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS;
122125
tdb_size = MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE;
126+
#endif
127+
123128
} else if (strcmp(STR(MBED_CONF_STORAGE_STORAGE_TYPE), "TDB_EXTERNAL") == 0) {
129+
#ifndef MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS
130+
return MBED_ERROR_ITEM_NOT_FOUND;
131+
#else
124132
*out_tdb_start_offset = MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS;
125133
tdb_size = MBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE;
134+
#endif
135+
126136
} else if (strcmp(STR(MBED_CONF_STORAGE_STORAGE_TYPE), "TDB_INTERNAL") == 0) {
137+
#ifndef MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS
138+
return MBED_ERROR_ITEM_NOT_FOUND;
139+
#else
127140
*out_tdb_start_offset = MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS;
128141
tdb_size = MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE;
142+
#endif
143+
129144
} else if (strcmp(STR(MBED_CONF_STORAGE_STORAGE_TYPE), "default") == 0) {
145+
#ifndef MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS
146+
return MBED_ERROR_ITEM_NOT_FOUND;
147+
#else
130148
#if COMPONENT_QSPIF || COMPONENT_SPIF || COMPONENT_DATAFLASH
131149
*out_tdb_start_offset = MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS;
132150
tdb_size = MBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE;
133151
#elif COMPONENT_SD
134152
tdb_size = MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE;
135153
#else
136154
return MBED_ERROR_UNSUPPORTED;
137-
#endif
155+
#endif // COMPONENT_QSPIF || COMPONENT_SPIF || COMPONENT_DATAFLASH
156+
#endif // MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS
138157
} else {
139158
return MBED_ERROR_UNSUPPORTED;
140159
}

0 commit comments

Comments
 (0)