<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>