sftool_lib/sf32lb58/
erase_flash.rs

1use super::SF32LB58Tool;
2use crate::common::erase_flash::EraseOps;
3use crate::erase_flash::EraseFlashTrait;
4use crate::{EraseFlashParams, EraseRegionParams};
5
6impl EraseFlashTrait for SF32LB58Tool {
7    fn erase_flash(&mut self, params: &EraseFlashParams) -> Result<(), std::io::Error> {
8        EraseOps::erase_all(self, params.address)
9    }
10
11    fn erase_region(&mut self, params: &EraseRegionParams) -> Result<(), std::io::Error> {
12        // 处理每个区域
13        for region in params.regions.iter() {
14            EraseOps::erase_region(self, region.address, region.size)?;
15        }
16        Ok(())
17    }
18}