print_to_stdout/
print_to_stdout.rs1use memory_spec::MemorySpec;
2use std::str::FromStr;
3
4fn main() {
5 let content = std::fs::read_to_string("examples/memory.kdl").unwrap();
6 let memoryspec = match MemorySpec::from_str(&content) {
7 Ok(m) => m,
8 Err(e) => {
9 eprintln!("{}", e);
10 return;
11 }
12 };
13
14 let primary_slot = &memoryspec.regions()["appcore_flash"]["primary_slot"];
15 let primary_slot_origin = primary_slot.origin();
16 let primary_slot_length = primary_slot.length();
17 let appcore_ram = &memoryspec.regions()["appcore_ram"]["low_ram"];
18 let appcore_ram_origin = appcore_ram.origin();
19 let appcore_ram_length = appcore_ram.length();
20 let symbols = memoryspec.render_symbols();
21 let consts = memoryspec.render_consts();
22
23 let output = println!(
24 "\
25memory.x:
26MEMORY
27{{
28 FLASH : ORIGIN = 0x{primary_slot_origin:08x}, LENGTH = 0x{primary_slot_length:04x}
29 RAM : ORIGIN = 0x{appcore_ram_origin:08x}, LENGTH = 0x{appcore_ram_length:04x}
30}}
31{symbols}
32
33
34consts.rs:
35{consts}"
36 );
37}