From a884d69308b7f4df3ca449b76ffd02b7ccd2c238 Mon Sep 17 00:00:00 2001 From: Mateusz Faderewski Date: Wed, 8 May 2024 21:31:29 +0200 Subject: [PATCH] [SC64][SW] sc64deployer: use chunked write/read for memory access --- sw/deployer/src/sc64/mod.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sw/deployer/src/sc64/mod.rs b/sw/deployer/src/sc64/mod.rs index ff5c37b..384e1bc 100644 --- a/sw/deployer/src/sc64/mod.rs +++ b/sw/deployer/src/sc64/mod.rs @@ -771,13 +771,16 @@ impl SC64 { }; let raw_test_data: Vec = test_data.iter().flat_map(|v| v.to_be_bytes()).collect(); - self.command_memory_write(SDRAM_ADDRESS, &raw_test_data)?; + let mut writer: &[u8] = &raw_test_data; + self.memory_write_chunked(&mut writer, SDRAM_ADDRESS, SDRAM_LENGTH, None)?; if let Some(fade) = fade { sleep(Duration::from_secs(fade)); } - let raw_check_data = self.command_memory_read(SDRAM_ADDRESS, SDRAM_LENGTH)?; + let mut raw_check_data = vec![0u8; SDRAM_LENGTH]; + let mut reader: &mut [u8] = &mut raw_check_data; + self.memory_read_chunked(&mut reader, SDRAM_ADDRESS, SDRAM_LENGTH)?; let check_data = raw_check_data .chunks(4) .map(|a| u32::from_be_bytes(a[0..4].try_into().unwrap()));