sim: add new device with unequal slots
This device allows testing swap move with a primary slot that is one
sector larger than the secondary slot. No scratch was defined. Overwrite
upgrade could easily be made compatible as well, but for now leave it
as a disabled caps.
Signed-off-by: Fabio Utzig <utzig@apache.org>
diff --git a/sim/src/image.rs b/sim/src/image.rs
index 4a39010..e9865e4 100644
--- a/sim/src/image.rs
+++ b/sim/src/image.rs
@@ -325,6 +325,19 @@
flash.insert(dev_id, dev);
(flash, areadesc, &[])
}
+ DeviceName::Nrf52840UnequalSlots => {
+ let dev = SimFlash::new(vec![4096; 128], align as usize, erased_val);
+
+ let dev_id = 0;
+ let mut areadesc = AreaDesc::new();
+ areadesc.add_flash_sectors(dev_id, &dev);
+ areadesc.add_image(0x008000, 0x03c000, FlashId::Image0, dev_id);
+ areadesc.add_image(0x044000, 0x03b000, FlashId::Image1, dev_id);
+
+ let mut flash = SimMultiFlash::new();
+ flash.insert(dev_id, dev);
+ (flash, areadesc, &[Caps::SwapUsingScratch, Caps::OverwriteUpgrade])
+ }
DeviceName::Nrf52840SpiFlash => {
// Simulate nrf52840 with external SPI flash. The external SPI flash
// has a larger sector size so for now store scratch on that flash.