Skip to content
Snippets Groups Projects
Select Git revision
  • 8df40ad2609ca437b6dbada1978220b7536b47e6
  • master default protected
2 results

sharing.rs

Blame
  • 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);