summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2021-05-03 15:29:25 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2021-05-03 15:29:25 +0200
commitb0ffa67141ca17c2c6f48cc2313fdd51d8f1b6e6 (patch)
treeba182b87bce9ce6fe43329240dae4b232b0a2ccb /doc
parent836daec1b878549a5996580867cc87e62b70bd02 (diff)
doc: multipass-update, kratos dazu
Diffstat (limited to 'doc')
-rw-r--r--doc/energy-kratos.md49
-rw-r--r--doc/energy-multipass.md (renamed from doc/generate-dfa-benchmark.md)11
2 files changed, 55 insertions, 5 deletions
diff --git a/doc/energy-kratos.md b/doc/energy-kratos.md
new file mode 100644
index 0000000..03ac3de
--- /dev/null
+++ b/doc/energy-kratos.md
@@ -0,0 +1,49 @@
+Diese Anleitung beschreibt die Generierung von Energiemodellen mit dfatool und
+Kratos. Sie geht von der folgenden Verzeichnisstruktur aus.
+
+* `data`: Benchmark-Messdaten
+* `data/cache`: Cache für teilweise ausgewertete Benchmarks
+* `dfatool`: dfatool-Repository
+* `kratos`: Kratos-Repository
+
+*kratos* enthält Gerätetreiber mit zugehörigen PTA-Definitionen
+(Transitionen, Zustände und Parameter der Hardware) sowie Hilfsfunktionen für
+Benchmarks. In *dfatool* liegen die Generierungs- und Auswertungsskripte.
+
+## Benchmarkgenerierung
+
+Die Generierung und Vermessung von Benchmarks erfolgt immer mit
+`generate-dfa-benchmark.py`. Dieses muss vom Kratos-Verzeichnis aus
+aufgerufen werden. Kratos muss zuvor passend konfiguriert worden sein.
+
+Konfiguration:
+
+* msp430fr5994 "UART on eUSCI\_A" aktiv: "uart" mit 9600 Baud auf A1
+* msp430fr5994 "Timer/Counter" aktiv: 16/1/1 == 16 MHz CONTINUOUS von SMCLK auf A1
+* msp430fr5994 "Cycle Counter" aktiv: via A1
+* apps "dfatool energy benchmark" aktiv (und sonst nix)
+
+Ablauf: Siehe energy-multipass.md
+
+## Beispiel
+
+Wenn sich msp430-etv und energytrace in $PATH befinden und ein CC1101 Funkchip
+angeschlossen und in Kratos konfiguriert ist, generiert der folgende Aufruf mit
+einem MSP430FR5994 Launchpad einen erfolgreichen Benchmark-Ablauf:
+
+```
+cd kratos
+../dfatool/bin/generate-dfa-benchmark.py --data=../data \
+--os=kratos --sleep=500 --repeat=1 --depth=3 --arch=msp430fr \
+--energytrace=sync=timer model/drivers/radio/cc1101_simpliciti.dfa src/apps/AEMR/AEMR.cc
+```
+
+Nach einigen Minuten wird unter `data` ein auf radio.tar endendes Archiv mit
+Benchmark-Setup (Treiber-PTA, energytrace-Config, Traces durch den
+Automaten) und Messdaten (energytrace-Logfiles) abgelegt. Dieses kann wie folgt
+analysiert werden:
+
+```
+cd dfatool
+bin/analyze-archive.py --info --show-model=all --show-quality=table ../data/...-radio.tar
+```
diff --git a/doc/generate-dfa-benchmark.md b/doc/energy-multipass.md
index 48a991d..bc49175 100644
--- a/doc/generate-dfa-benchmark.md
+++ b/doc/energy-multipass.md
@@ -1,5 +1,5 @@
-Diese Anleitung beschreibt die Benchmarkgenerierung mit AEMR/dfatool. Sie geht
-von der folgenden Verzeichnisstruktur aus.
+Diese Anleitung beschreibt die Generierung von Energiemodellen mit dfatool und
+multipass. Sie geht von der folgenden Verzeichnisstruktur aus.
* `data`: Benchmark-Messdaten
* `data/cache`: Cache für teilweise ausgewertete Benchmarks
@@ -16,7 +16,8 @@ Generierungs- und Auswertungsskripte.
Die Generierung und Vermessung von Benchmarks erfolgt immer mit
`generate-dfa-benchmark.py`. Dieses muss vom multipass-Verzeichnis aus
-aufgerufen werden. Ein Benchmark läuft wie folgt ab.
+aufgerufen werden. Die multipass-Konfiguration (Treiber und Anwendungen)
+sowie Codegenerierung läuft automatisch.
* Generierung von Läufen durch den PTA des zu vermessenden Geräts. Die Läufe
können u.a. mit `--depth`, `--shrink` und `--trace-filter` beeinflusst
@@ -64,8 +65,8 @@ Benchmark-Ablauf:
```
cd multipass
../dfatool/bin/generate-dfa-benchmark.py --data=../data \
---timer-pin=GPIO::p1_0 --sleep=200 --repeat=3 --arch=msp430fr5994lp \
---energytrace=sync=bar model/driver/sharp96.dfa src/app/aemr/main.cc
+--sleep=50 --repeat=3 --arch=msp430fr5994lp \
+--energytrace=sync=timer model/driver/sharp96.dfa src/app/aemr/main.cc
```
Nach einigen Minuten wird unter `data` ein auf sharp96.tar endendes Archiv mit