Skip to content

Commit ad3490b

Browse files
authored
Add a read-only version of pal-blockdevice (ARMmbed#126)
* Add a read-only version of pal-blockdevice To conserve flash space. Reduces the bootloader size by ~0.8k * Disable READONLY for tests
1 parent d44ca16 commit ad3490b

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#include "update-client-pal-blockdevice/arm_uc_pal_blockdevice_implementation.h"
2+
#include "update-client-pal-flashiap/arm_uc_pal_flashiap_implementation.h"
3+
4+
#if defined(ARM_UC_USE_PAL_BLOCKDEVICE) && (ARM_UC_USE_PAL_BLOCKDEVICE==1)
5+
6+
extern arm_uc_error_t ARM_UCP_FashIAP_BlockDevice_Initialize(ARM_UC_PAAL_UPDATE_SignalEvent_t callback);
7+
8+
ARM_UC_PAAL_UPDATE ARM_UCP_FLASHIAP_BLOCKDEVICE_READ_ONLY =
9+
{
10+
.Initialize = ARM_UCP_FashIAP_BlockDevice_Initialize,
11+
.GetCapabilities = 0,
12+
.GetMaxID = 0,
13+
.Prepare = 0,
14+
.Write = 0,
15+
.Finalize = 0,
16+
.Read = ARM_UC_PAL_BlockDevice_Read,
17+
.Activate = 0,
18+
.GetActiveFirmwareDetails = ARM_UC_PAL_FlashIAP_GetActiveDetails,
19+
.GetFirmwareDetails = ARM_UC_PAL_BlockDevice_GetFirmwareDetails,
20+
.GetInstallerDetails = 0
21+
};
22+
23+
#endif /* ARM_UC_USE_PAL_BLOCKDEVICE */

source/main.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,13 @@ const arm_uc_installer_details_t bootloader = {
4949
.layout = BOOTLOADER_STORAGE_LAYOUT
5050
};
5151

52+
/* use a cut down version of ARM_UCP_FLASHIAP_BLOCKDEVICE to reduce
53+
binary size if ARM_UC_USE_PAL_BLOCKDEVICE is set and not running tests */
54+
#if defined(ARM_UC_USE_PAL_BLOCKDEVICE) && (ARM_UC_USE_PAL_BLOCKDEVICE==1) && \
55+
(!defined(BOOTLOADER_POWER_CUT_TEST) || (BOOTLOADER_POWER_CUT_TEST != 1))
56+
#define MBED_CLOUD_CLIENT_UPDATE_STORAGE ARM_UCP_FLASHIAP_BLOCKDEVICE_READ_ONLY
57+
#endif
58+
5259
#ifdef MBED_CLOUD_CLIENT_UPDATE_STORAGE
5360
extern ARM_UC_PAAL_UPDATE MBED_CLOUD_CLIENT_UPDATE_STORAGE;
5461
#else

0 commit comments

Comments
 (0)