summaryrefslogtreecommitdiff
path: root/doc/nfp-multipass.md
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2023-11-27 13:59:15 +0100
committerBirte Kristina Friesel <birte.friesel@uos.de>2023-11-27 13:59:15 +0100
commit5cc9cc6ff6b8a7eef46170e3b6609e3c70557f0d (patch)
tree95899723ef230bea10d0d73af71e0c00e970feef /doc/nfp-multipass.md
parent9103959499ef1f87381f7c406170afca1ee3bb27 (diff)
README: move SPL documentation into separate files
Diffstat (limited to 'doc/nfp-multipass.md')
-rw-r--r--doc/nfp-multipass.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/nfp-multipass.md b/doc/nfp-multipass.md
new file mode 100644
index 0000000..3db3fc9
--- /dev/null
+++ b/doc/nfp-multipass.md
@@ -0,0 +1,47 @@
+Dieses Dokument beschreibt die Generierung von NFP-Modellen für
+Softwareprojekte auf Kconfig-Basis.
+
+## Anforderungen
+
+Im Hauptverzeichnes (von dem aus die Build-Befehle aufgerufen werden) müssen
+sich die Dateien Kconfig und .config befinden. Das Projekt muss die folgenden
+Arten von Befehlen unterstützen:
+
+* make
+* make cleaan
+* make nfpvalues
+* Optional: make randconfig
+
+Die konkreten Befehle können über Optionen von bin/explore-kconfig.py
+eingestellt werden.
+
+für multipass. NFP
+beziehen sich hierbei auf nichtfunktionale Attribute des erzeugten Systemimages,
+wie z.B. ROM- oder RAM-Bedarf.
+
+Frickel-Level: Signifikant.
+
+High-Level:
+
+* In /tmp/tmpfs/multipass befindet sich multipas
+* Konfigurationen und zugehörige NFP-Daten landen in /tmp/tmpfs/multipass-data
+* var/ess/multipass-model zur state space exploration
+* dfatool/bin/analyze-config zur Modellgenerierung
+
+Low-Level:
+
+Es wird viel kompiliert. `/tmp/tmpfs` sollte sich auf einem tmpfs befinden.
+
+```
+rsync ~/var/projects/multipass/ /tmp/tmpfs/multipass/
+mkcd /tmp/tmpfs/multipass-data
+for i in {1..viele}; do echo $i; ~/var/ess/multipass-model/random-romram.py; done
+```
+
+Anschließend in dfatool:
+
+```
+bin/analyze-config.py /tmp/tmpfs/multipass/Kconfig /tmp/tmpfs/mulitpass-data
+```
+
+Das Modell wird nach kconfigmodel.py geschrieben