Noticed this for gcc with -0s optimization an application fail to save a bonding data. It is caused by byte alignment of
static uint8_t buffer_memory[(n_blocks) * (block_size)];
in the macro PM_BUFFER_INIT
in (pm_buffer.h).
Noticed this for gcc with -0s optimization an application fail to save a bonding data. It is caused by byte alignment of
static uint8_t buffer_memory[(n_blocks) * (block_size)];
in the macro PM_BUFFER_INIT
in (pm_buffer.h).
Need to force it to 4-bytes word alignment like below in macro PM_BUFFER_INIT->pm_buffer.h
__ALIGN(sizeof(uint32_t)) static uint8_t buffer_memory[(n_blocks) * (block_size)];