From c24284b1088ad9e904277ebb87dbe722ec8f8bc3 Mon Sep 17 00:00:00 2001
From: Per Lindgren <per.lindgren@ltu.se>
Date: Sat, 29 Dec 2018 09:07:33 +0100
Subject: [PATCH] updated exompples toml, and klee option

---
 cargo-klee/src/main.rs            | 2 +-
 klee-examples/examples/gpioa.rs   | 9 ++++++---
 klee-examples/examples/systick.rs | 1 +
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/cargo-klee/src/main.rs b/cargo-klee/src/main.rs
index 09beb69..92a81c7 100644
--- a/cargo-klee/src/main.rs
+++ b/cargo-klee/src/main.rs
@@ -104,7 +104,7 @@ fn run() -> Result<i32, failure::Error> {
     let verbose = matches.is_present("verbose");
     let is_release = matches.is_present("release");
     let is_replay = matches.is_present("replay");
-    let is_ktest = matches.is_present("ktest");
+    let is_ktest = matches.is_present("klee");
     let is_gdb = matches.is_present("gdb");
 
     // let target_flag = matches.value_of("target"); // not currently supported
diff --git a/klee-examples/examples/gpioa.rs b/klee-examples/examples/gpioa.rs
index cf21409..39a9276 100644
--- a/klee-examples/examples/gpioa.rs
+++ b/klee-examples/examples/gpioa.rs
@@ -1,3 +1,5 @@
+//! $ cargo klee --example gpioa --features klee-device
+//! 
 #![no_std]
 #![no_main]
 
@@ -6,18 +8,19 @@ extern crate klee;
 extern crate panic_abort;
 extern crate stm32f413;
 
-use core::ptr;
 use cortex_m::peripheral::Peripherals;
 
 #[no_mangle]
 fn main() {
+    // accesss to core peripherals
     let peripherals = Peripherals::take().unwrap();
     let syst = peripherals.SYST;
 
+    // access to device peripherals
     let p = stm32f413::Peripherals::take().unwrap();
     let gpioa = p.GPIOA;
 
-    if gpioa.moder.read().bits() == 0 {
-        let p =  Peripherals::take().unwrap();
+    if gpioa.moder.read().bits() == 0 && syst.rvr.read() == 0 {
+        let _p =  Peripherals::take().unwrap();
     }
 }
diff --git a/klee-examples/examples/systick.rs b/klee-examples/examples/systick.rs
index 266651a..2c77034 100644
--- a/klee-examples/examples/systick.rs
+++ b/klee-examples/examples/systick.rs
@@ -9,6 +9,7 @@ use cortex_m::peripheral::Peripherals;
 
 #[no_mangle]
 fn main() {
+    // access to core peripherals
     let peripherals = Peripherals::take().unwrap();
     let syst = peripherals.SYST;
 
-- 
GitLab