use crate::mem_layout::{Access, MemoryRegion, MemoryRegionKind, MemoryRole::*, Mode::*};
pub static MEMORY: &[MemoryRegion] = &[
MemoryRegion {
name: "USR_1",
kind: MemoryRegionKind::Flash,
role: Application,
address: 0x8000000,
size: 16384,
modes: &[
Fast {
page_size: 64,
load_size: 4,
},
Standard {
erase_size: 1024,
write_size: 2,
},
],
access: Some(Access {
read: true,
write: true,
execute: true,
}),
},
MemoryRegion {
name: "SYS_1",
kind: MemoryRegionKind::Flash,
role: System,
address: 0x1ffff000,
size: 1920,
modes: &[
Fast {
page_size: 64,
load_size: 4,
},
Standard {
erase_size: 1024,
write_size: 2,
},
],
access: Some(Access {
read: true,
write: true,
execute: true,
}),
},
MemoryRegion {
name: "OPT",
kind: MemoryRegionKind::Flash,
role: OptionBytes,
address: 0x1ffff800,
size: 64,
modes: &[Standard {
erase_size: 64,
write_size: 2,
}],
access: Some(Access {
read: true,
write: true,
execute: false,
}),
},
MemoryRegion {
name: "VND",
kind: MemoryRegionKind::Flash,
role: Vendor,
address: 0x1ffff7c0,
size: 64,
modes: &[],
access: Some(Access {
read: true,
write: false,
execute: false,
}),
},
MemoryRegion {
name: "RAM",
kind: MemoryRegionKind::Ram,
role: Ram,
address: 0x20000000,
size: 2048,
modes: &[],
access: Some(Access {
read: true,
write: true,
execute: true,
}),
},
];