sftool_lib/sf32lb52/
write_flash.rs1use super::SF32LB52Tool;
2use crate::WriteFlashParams;
3use crate::common::write_flash::FlashWriter;
4use crate::write_flash::WriteFlashTrait;
5
6impl WriteFlashTrait for SF32LB52Tool {
7 fn write_flash(&mut self, params: &WriteFlashParams) -> Result<(), std::io::Error> {
8 let packet_size = if self.base.compat { 256 } else { 128 * 1024 };
9
10 if params.erase_all {
11 FlashWriter::erase_all(self, ¶ms.files)?;
12 }
13
14 for file in params.files.iter() {
15 if !params.erase_all {
16 FlashWriter::write_file_incremental(self, file, params.verify)?;
17 } else {
18 FlashWriter::write_file_full_erase(self, file, params.verify, packet_size)?;
19 }
20 }
21 Ok(())
22 }
23}