In https://github.com/embassy-rs/trouble/blob/main/examples/apps/src/ble_bas_peripheral_bonding.rs, store_bonding_info uses start_addr = 0xA0000 but load_bonding_info uses flash_range::<S>() which is 0..2 * S::ERASE_SIZE as u32. Bonding data fails to re-load on firmware restart.
Additionally, IRK data is not saved, which means Android bonding data is effectively reset on firmware restart.
Note, when the flash address is made consistent, bonding data is retained for a Windows client. When IRK data is also saved, bonding data is retained for an Android client.