diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2021-05-03 15:29:25 +0200 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2021-05-03 15:29:25 +0200 |
commit | b0ffa67141ca17c2c6f48cc2313fdd51d8f1b6e6 (patch) | |
tree | ba182b87bce9ce6fe43329240dae4b232b0a2ccb /doc | |
parent | 836daec1b878549a5996580867cc87e62b70bd02 (diff) |
doc: multipass-update, kratos dazu
Diffstat (limited to 'doc')
-rw-r--r-- | doc/energy-kratos.md | 49 | ||||
-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 |