mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-01 07:11:35 +08:00
params: flash: erase corrupt sector (#24065)
This commit is contained in:
@@ -1126,19 +1126,8 @@ int parameter_flashfs_init(sector_descriptor_t *fconfig, uint8_t *buffer, uint16
|
|||||||
/* No paramaters */
|
/* No paramaters */
|
||||||
|
|
||||||
if (pf == NULL) {
|
if (pf == NULL) {
|
||||||
size_t total_size = size + sizeof(flash_entry_header_t);
|
// Parameters can't be found, assume sector is corrupt or empty
|
||||||
size_t alignment = 31;//32-byte flash line - 1
|
rv = parameter_flashfs_erase();
|
||||||
size_t size_adjust = ((total_size + alignment) & ~alignment) - total_size;
|
|
||||||
total_size += size_adjust;
|
|
||||||
|
|
||||||
/* Do we have free space ?*/
|
|
||||||
|
|
||||||
if (find_free(total_size) == NULL) {
|
|
||||||
|
|
||||||
/* No parameters and no free space => need erase */
|
|
||||||
|
|
||||||
rv = parameter_flashfs_erase();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
|
|||||||
Reference in New Issue
Block a user