mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-25 07:43:38 +00:00
btstack_tlv_flash_bank: fix unaligned read and migration
This commit is contained in:
parent
1faf2c16e4
commit
d2d1d05367
@ -131,8 +131,7 @@ static void btstack_tlv_flash_bank_read(btstack_tlv_flash_bank_t * self, int ban
|
||||
if (size == 0) return;
|
||||
uint8_t alignment_block[BTSTACK_FLASH_ALIGNMENT_MAX];
|
||||
self->hal_flash_bank_impl->read(self->hal_flash_bank_context, bank, offset, alignment_block, alignment);
|
||||
uint32_t bytes_to_copy = btstack_min(alignment - lower_bits, size);
|
||||
memcpy(buffer, alignment_block, bytes_to_copy);
|
||||
memcpy(buffer, alignment_block, size);
|
||||
}
|
||||
|
||||
static void btstack_tlv_flash_bank_write(btstack_tlv_flash_bank_t * self, int bank, uint32_t offset, const uint8_t * buffer, uint32_t size){
|
||||
@ -277,7 +276,7 @@ static void btstack_tlv_flash_bank_migrate(btstack_tlv_flash_bank_t * self){
|
||||
log_info("migrate bank %u -> bank %u", self->current_bank, next_bank);
|
||||
// erase bank (if needed)
|
||||
btstack_tlv_flash_bank_erase_bank(self, next_bank);
|
||||
int next_write_pos = BTSTACK_TLV_BANK_HEADER_LEN;
|
||||
uint32_t next_write_pos = btstack_tlv_flash_bank_align_size (self, BTSTACK_TLV_BANK_HEADER_LEN);;
|
||||
|
||||
tlv_iterator_t it;
|
||||
btstack_tlv_flash_bank_iterator_init(self, &it, self->current_bank);
|
||||
|
Loading…
x
Reference in New Issue
Block a user