<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Woooooooooohhhhh...</p>
<p>Sehr schön.</p>
<p>Danke Danke Danke!</p>
<p>Gruss<br>
Shue</p>
<div class="moz-cite-prefix">On 06.12.20 17:39, Björn via tiptoi-hw
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:d7cf45c1-990d-75cb-6e1d-098ec9254c93@online.de">Hallo,
<br>
<br>
anbei nochmal die letzte Version des SVDs, z. B. für die Nutzung
mit Ghidra und als "Notizzettel" als CSV.
<br>
Die Bedeutungen der einzelnen Bits ins SCD einzutragen ist relativ
aufwendig, daher habe ich mich erstmal auf ein paar wenige
beschränkt.
<br>
<br>
Die Infos habe ich aus diversen Sourcecode auf Github
zusammengesucht, insofern muss nicht immer alles stimmen. ;-)
<br>
<br>
VG
<br>
<br>
<br>
Am 06.12.2020 um 16:50 schrieb Sven A. Huerlimann via tiptoi-hw:
<br>
<blockquote type="cite">Hallo
<br>
<br>
On 06.12.20 16:18, Matthias Weber via tiptoi-hw wrote:
<br>
<blockquote type="cite">Hallo zusammen,
<br>
<br>
ich tue mir immer noch schwer - aber ich stecke gerade auch
nicht zu
<br>
tief drin.
<br>
<br>
Verstehe ich es richtig, dass ihr/du Hardware-Verhalten aus
dem Boot ROM
<br>
Code abgeleitet habt?
<br>
</blockquote>
Halb/Halb.. Gewisse Infos (Register-Bits, etc.) sind im
Linux-Kernel und
<br>
der Firmware für den AK10XX ersichtlich (Wobei diese Infos mit
Vorsicht
<br>
zu geniessen sind) - Beides auf Github verfügbar.
<br>
<blockquote type="cite">
<br>
Oder gibt es eine Referenz-Peripherie, die jetzt doch zu
passen scheint?
<br>
</blockquote>
Eben leider nicht. Daher hab ich den ganzen Block neu
geschrieben. Der
<br>
UART ist einfach zu spezifisch.
<br>
<blockquote type="cite">
<br>
Und der "Debugger" läuft jetzt zwischen Ghidra und Qemu? Das
heißt reine
<br>
Hardware ist nicht im Spiel, oder?
<br>
</blockquote>
Genau.. Qemu macht die Emulation, gdb connected zu Qemu und
Ghidra und
<br>
stepped das Model und gibt den aktuellen Zustand an Ghidra
weiter.
<br>
Ghidra zeigt lediglich an.
<br>
<blockquote type="cite">
<br>
Ich kann nur anbieten Experimente auf der echten Hardware
durchzuführen.
<br>
Aus dem UART Boot Kontext können wir ja beliebigen Code
ausführen. Aus
<br>
den GMEs habe ich ja auch Probleme mit dem UART - der scheint
sich da
<br>
anders zu verhalten, vielleicht aber auch, weil die Pins zu
normalen
<br>
GPIOs umkonfiguriert und nur noch so benutzt werden.
<br>
</blockquote>
<br>
Interessant wäre auf der HW mal zu schauen was passiert wenn:
<br>
<br>
1. Nach dem BIOS Prompt:
<br>
<br>
- Einfach eine Taste gedrückt wird (und dann warten)
<br>
- Schnell!!! hintereinander Tasten gedrückt werden (also
<br>
SchnellSchnell... müsste man wohl via Python/Script machen)
<br>
<br>
2. Nach akzeptiertem Kommando (z.B: "dump")
<br>
- Einfach eine Taste gedrückt wird (und dann warten) - wird
diese
<br>
geechoed auf der Konsole oder erst nach vier Tastendrücken?
<br>
- Schnell hintereintander Tasten gedrückt werden..
<br>
<br>
Da mal ein paar Tests machen wär super!
<br>
<br>
Gruss Sven
<br>
<br>
<blockquote type="cite">
<br>
Grüße
<br>
<br>
<br>
Sven A. Huerlimann via tiptoi-hw wrote:
<br>
<blockquote type="cite">Auf die Gefahr hin euch zu nerven:
<br>
<br>
Ich bau ein Simulations-Model für Qemu. Damit liesse sich
jeglicher Code
<br>
in einer Emulation ausführen, es kann ein Debugger
angeflanscht werden
<br>
und es gibt eine Bridge zu Ghidra.
<br>
<br>
Im Moment arbeite ich am UART (offensichtlich).. Das heisst
ich versuche
<br>
den "Chip"/den Controller in Software abzubilden. Als
Testcase dient mir
<br>
das unveränderte Chomptech-Bootrom (BIOS.bin).
<br>
<br>
Und da hab ich jetzt das Verhalten:
<br>
<br>
Wärend des command prompts ruft die Software getc(uint32_t*
data) auf um
<br>
einzelne Bytes abzufragen und ignoriert den Return-Wert.
<br>
<br>
Wenn aber ein Kommando akzeptiert wurde (go/dump/etc..)
erwartet der
<br>
Parser plötzlich ein ganzes Word (4 bytes) und der
Return-Wert ist
<br>
relevant.
<br>
<br>
Ich sehe nicht wo die Unterscheidung gemacht wird und wie,
dass getc(..)
<br>
bereits nach einem Byte empfangen returned (Controller hat
Interrupt
<br>
gefeuert) oder bis vier Bytes wartet (Controller feuert erst
wenn Buffer
<br>
4 bytes gross)
<br>
<br>
Ich sehe bei der Initialisierung des UART durch
BIOS.bin-Code keinen
<br>
Unterschied und daher weiss ich nicht wie ich das im Model
abbilden soll.
<br>
<br>
Grüsse
<br>
Shue
<br>
<br>
<br>
On 05.12.20 18:48, Matthias Weber via tiptoi-hw wrote:
<br>
<blockquote type="cite">Hi,
<br>
<br>
ich kann glaube ich auch nicht ganz folgen, leider.
<br>
<br>
Aber kannst du nicht Delays einfügen zwischen jedem
Zeichen?
<br>
<br>
Stimmt schon, ich entsinne mich grob, dass ich die Zeichen
aus einem
<br>
Terminal-Fenster glaube ich auch einzeln schicken musste,
dass es
<br>
funktioniert.
<br>
<br>
<a class="moz-txt-link-freetext" href="https://github.com/maehw/snowbirdopter/blob/master/snowbirdopter.py#L74">https://github.com/maehw/snowbirdopter/blob/master/snowbirdopter.py#L74</a>
<br>
Wartet auch nach jedem Zeichen auf das Echo, bevor es
weiter geht.
<br>
Möglicher Workaround?
<br>
<br>
VG
<br>
<br>
<br>
_______________________________________________
<br>
tiptoi-hw mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:tiptoi-hw@lists.nomeata.de">tiptoi-hw@lists.nomeata.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.nomeata.de/mailman/listinfo/tiptoi-hw">https://lists.nomeata.de/mailman/listinfo/tiptoi-hw</a>
<br>
</blockquote>
<br>
<br>
_______________________________________________
<br>
tiptoi-hw mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:tiptoi-hw@lists.nomeata.de">tiptoi-hw@lists.nomeata.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.nomeata.de/mailman/listinfo/tiptoi-hw">https://lists.nomeata.de/mailman/listinfo/tiptoi-hw</a>
<br>
<br>
</blockquote>
<br>
_______________________________________________
<br>
tiptoi-hw mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:tiptoi-hw@lists.nomeata.de">tiptoi-hw@lists.nomeata.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.nomeata.de/mailman/listinfo/tiptoi-hw">https://lists.nomeata.de/mailman/listinfo/tiptoi-hw</a>
<br>
</blockquote>
<br>
<br>
<br>
_______________________________________________
<br>
tiptoi-hw mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:tiptoi-hw@lists.nomeata.de">tiptoi-hw@lists.nomeata.de</a>
<br>
<a class="moz-txt-link-freetext" href="https://lists.nomeata.de/mailman/listinfo/tiptoi-hw">https://lists.nomeata.de/mailman/listinfo/tiptoi-hw</a>
<br>
<br>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
tiptoi-hw mailing list
<a class="moz-txt-link-abbreviated" href="mailto:tiptoi-hw@lists.nomeata.de">tiptoi-hw@lists.nomeata.de</a>
<a class="moz-txt-link-freetext" href="https://lists.nomeata.de/mailman/listinfo/tiptoi-hw">https://lists.nomeata.de/mailman/listinfo/tiptoi-hw</a>
</pre>
</blockquote>
</body>
</html>