The bank_split field of struct at32f43_flash can be eliminated from _probe/_add_flash if I can use a different method of accessing second bank in _mass_erase, checking that target->flash->next list has a non-NULL entry. No other functions need it because BMD API guarantees no operations span multiple banks. This change was rebased past AT32F405 merge.
Also, hook the STM32-generic UID printing command to this driver and introduce a meson dependency between these TUs. Move the macros for "engineering bytes"/UID into its own group.
Verified on AT-START-F437 to not break flashloading, a firmware spanning two banks was used.
This should bring a minor reduction to target_flash priv size, and it's a preparation to refactoring this driver to carry USD_BASE and FPEC_BASE in that priv such that targets in stm32f1.c can be migrated here.
Detailed description
bank_split
field ofstruct at32f43_flash
can be eliminated from_probe
/_add_flash
if I can use a different method of accessing second bank in_mass_erase
, checking thattarget->flash->next
list has a non-NULL entry. No other functions need it because BMD API guarantees no operations span multiple banks. This change was rebased past AT32F405 merge.Verified on AT-START-F437 to not break flashloading, a firmware spanning two banks was used. This should bring a minor reduction to target_flash priv size, and it's a preparation to refactoring this driver to carry USD_BASE and FPEC_BASE in that priv such that targets in stm32f1.c can be migrated here.
Your checklist for this pull request
Closing issues