Select Git revision
main.rs 6.50 KiB
use failure::format_err;
use ktest::{read_ktest, KTEST};
use probe_rs::{
config::registry::{Registry, SelectionStrategy},
coresight::access_ports::AccessPortError,
coresight::memory::MI,
flash::download::{
download_file, download_file_with_progress_reporting, FileDownloadError, Format,
},
probe::{stlink, DebugProbe, DebugProbeError, DebugProbeType, MasterProbe, WireProtocol},
session::Session,
target::info::{self, ChipInfo},
};
// don't look at this, its just testing some stuff...
// le byte order
fn main() {
println!("read ktest file");
let ktest = read_ktest("test000001.ktest").unwrap();
println!("ktest {:?}", ktest);
let mut probe = open_probe();
println!("probe connected");
let strategy = SelectionStrategy::ChipInfo(ChipInfo::read_from_rom_table(&mut probe).unwrap());
println!("strategy {:?}", strategy);
let strategy = SelectionStrategy::TargetIdentifier("stm32f411".into());
let registry = Registry::from_builtin_families();
let target = registry.get_target(strategy).unwrap();
println!("target {:?}", target);
let mut session = Session::new(target, probe);
let mm = session.target.memory_map.clone();
let path_str = "../target/thumbv7em-none-eabihf/debug/examples/f401_ktest";
// programming
// print!("flashing...");
// download_file(
// &mut session,
// std::path::Path::new(&path_str.to_string().as_str()),
// Format::Elf,
// &mm,
// )
// .map_err(|e| format_err!("failed to flash {}: {}", path_str, e))
// .unwrap();
// println!("... done");
// let data = session.probe.read32(0x0000_0000).unwrap();
// println!("stack 0x{:08x}", data);
// let data = session.probe.read32(0x0000_0004).unwrap();
// println!("reset 0x{:08x}", data);
// run_to_halt(&mut session);
// cycnt_enable(&mut session);
// cycnt_reset(&mut session);
// let cyccnt = cycnt_read(&mut session);
// println!("cyccnt {}", cyccnt);