Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork217
[STM32H7] Provisioning fs reformat#957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
[STM32H7] Provisioning fs reformat#957
Uh oh!
There was an error while loading.Please reload this page.
Conversation
pennam left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
There is no need to erase the whole flash before repartitioning; you only need to erase the MBR.
root.init();
root.erase(0x0, root.get_erase_size());
Furthermore if you keep the KVstorage in partition 3 for both schemes you should be able switch between them without erase the MBR at all
mbed::MBRBlockDevice::partition(&root, 1, 0x0B, 0, 1024 * 1024);if(default_scheme) { mbed::MBRBlockDevice::partition(&root, 4, 0x0B, 14 * 1024 * 1024, 14 * 1024 * 1024); mbed::MBRBlockDevice::partition(&root, 3, 0x0B, 13 * 1024 * 1024, 14 * 1024 * 1024); mbed::MBRBlockDevice::partition(&root, 2, 0x0B, 1024 * 1024, 13 * 1024 * 1024); // use space from 15.5MB to 16 MB for another fw, memory mapped} else { mbed::MBRBlockDevice::partition(&root, 2, 0x0B, 1024 * 1024, 6 * 1024 * 1024); mbed::MBRBlockDevice::partition(&root, 3, 0x0B, 6 * 1024 * 1024, 7 * 1024 * 1024); mbed::MBRBlockDevice::partition(&root, 4, 0x0B, 7 * 1024 * 1024, 14 * 1024 * 1024); // use space from 15.5MB to 16 MB for another fw, memory mapped}andreagilardoni commentedSep 30, 2024
I tried switching from this scheme to the older one and something bad happened and the only way to make it work properly was to erase the partitions. I am double checking this. |
andreagilardoni commentedSep 30, 2024
I confirm that without the MBR erase I cannot use the old partitioning scheme. |
0416f6b to9400dabCompare1d22ce2 to6a309b7Compareandreagilardoni commentedMar 11, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
What do you think about the way I wrote the MBR table clean?
Now partition 3 is being used for user data, this would mean that we need either to switch user data partition to 4, or distinguish between the two cases when using kvstore. I prefer to keep it to partition number 4. |
6a309b7 to392cc64Comparemegacct commentedMar 11, 2025
@andreagilardoni@pennam Hi, a couple of us have tried, unsuccessfully, to scrub the MBR in order to change the partition layout. Detail herehttps://forum.arduino.cc/t/how-to-partition-giga-flash-similar-to-original-factory-defaults/1349759. I'm sure we were doing something wrong but it may be worth double-double-checking that the erase in this commit is doing what's expected. |
andreagilardoni commentedMar 12, 2025
I would like to point out that when repartitioning, for the user or ota block devices some files can be corrupted if they lie in the area that will be used for partition 4. |
41d9a90 to9e05f2bComparepennam commentedMay 6, 2025
superseded by#1058 |
Changing flash partitioning scheme in order to make room for a KV store