[Tiptoi-hw] QEmu Model und Ghidra

Sven A. Huerlimann sh at sighup.ch
Mo Nov 30 21:58:30 CET 2020


Hallo zusammen

Danke für das SVD - hat schon mal geholfen.

Ich hab den Timer-Block implementiert (damit komme ich durch das
"Button-Debouncing" bei der Abfrage des Bootdevice und bis (fast) zum
UART-Prompt)

Als nächstes kommen dann Clocking und UART (kann aber wiedermal etwas
dauern)

Der Code auf Github ist aktuallisiert: Achtung, da ich hier lokal mit
einem Gitlab arbeite und der Workflow für hin/her-mergen noch nicht ganz
Ideal ist, ist es das Beste das ganze Projekt neu zu clonen (falsch
jemand damit rumspielen will). In Zukunft sollte das reibungsloser
gehen. Hab mir da irgendwo ins Bein geschossen..

Grüsse

Shue

P.S: pl351 controller ist raus - der ists nicht -> hw/block/chomp_nfc.c
(WIP)
P.P.S: cadence UART ist raus -> hw/char/chomp_uart.c (WIP)

On 22.11.20 23:03, Björn via tiptoi-hw wrote:
> Hallo,
>
> anbei ein SVD für den ZC3202N.
>
> Die Register sollten weitestgehend komplett sein, bzgl. der Bedeutung
> der einzelnen Bits fehlt noch einiges (das einzutragen ist ECHT viel
> Arbeit). Wenn die detaillierte Beschreibung der Bits als SVD hilfreich
> ist, könnte man das SVD ja noch entsprechend ergänzen.
>
> Der Import in Ghidra erfolgt am besten über das Script "SVD-Loader.py".
>
> Viel Spaß und Erfolg noch!
> Björn
>
>
>
>
> Am 22.11.2020 um 15:35 schrieb Sven A. Huerlimann via tiptoi-hw:
>> Salü Björn
>>
>> Eine brauchbare Register-Beschreibung wäre Gold wert. Ich kann das dann
>> relativ schnell im Modell nachzimmern (hüstel - berühmte letzte Worte).
>>
>> Bez. Ghidra: Bin ich Anfänger. Ich hab bislang nur den Decompiler und
>> das gesteppe benutzt. Da lern ich gerne noch mehr, offen für Inputs.
>>
>> Gruss
>>
>> Shue
>>
>> On 22.11.20 15:26, Björn via tiptoi-hw wrote:
>>> Hi Sven,
>>>
>>> dann werde ich mich mal weiter um die Register kümmern und die
>>> "finale" (haha!) Beschreibung als SVD hochladen, so dass sie sich
>>> leicht in Ghidra importieren lässt.
>>>
>>> Weißt Du, ob die Beschreibung der einzelnen Bits eines Registers in
>>> Ghidra Vorteile hat, so dass man bei Bit-Operationen auf Registern
>>> nicht immer in separaten Tabelle nachschlagen muss?
>>>
>>> Grüße
>>> Björn
>>>
>>>
>>> Am 22.11.2020 um 13:48 schrieb Sven A. Huerlimann via tiptoi-hw:
>>>> Hoi Björn
>>>>
>>>> Ich hab das jetzt einfach rausgehauen, da das bei mir schon viel
>>>> zulange auf der Festplatte gärt..
>>>>
>>>> Ich hab nur halbwegs die Übersicht welche Peripherie sich wo im
>>>> Memory versteckt (und der blöde Chip verweigert sich so ziemlich
>>>> allen Standards)
>>>>
>>>> Was ich mit Sicherheit sagen kann:
>>>>
>>>> 0x04000000 -> System-Controller, GPIO und Pin-Mux
>>>> 0x04036000 -> UART
>>>> 0x0404A000 -> NAND-Controller
>>>>
>>>> 0x04010000 -> L2 Config
>>>>
>>>> Dann hörts aber auch schon auf mit meinem Latein.
>>>>
>>>> Im Moment hab ich einen generischen PL351 NAND controller im Model,
>>>> der ist es aber offensichtlich nicht.. Auch der UART ist momentan nur
>>>> "dummy" (wobei wir da die register alle kennen und eine emulation
>>>> eigentlich nur Fingerübung ist)
>>>>
>>>> Zugeschnitten ist noch gar nix :) Im Moment besteht das Model aus
>>>> einem ARM arm926 Core und 32k ROM und 192k RAM, einem PL351 NAND
>>>> controller und einem Cadence UART (bis auf das ROM/RAM ist alles
>>>> falsch). Aber Hey: Ich kann Code steppen!
>>>>
>>>> Die relevanten Dateien im git sind:
>>>>
>>>> https://github.com/rhesus-ltd/qemu-chomptech/blob/chomptech/hw/arm/chomptech.c
>>>>
>>>>
>>>>
>>>> und
>>>>
>>>> https://github.com/rhesus-ltd/qemu-chomptech/blob/chomptech/hw/misc/chomp_slcr.c
>>>>
>>>>
>>>>
>>>> Eben: release eary and often :) Es gibt noch viel zu tun.
>>>>
>>>> Gruss Sven
>>>>
>>>> On 22.11.20 13:27, Björn via tiptoi-hw wrote:
>>>>> Hallo Sven,
>>>>>
>>>>> das, was du da machst, sieht ja sehr gut aus!
>>>>>
>>>>> Ich habe kürzlich versucht zu verstehen und unter Ghidra abzubilden,
>>>>> welche SOC-Register auf welchen Adressen liegen, habe aber noch ein
>>>>> paar Unstimmigkeiten bzw. ungeklärte Bereiche.
>>>>> Wie hast Du das gelöst?
>>>>>
>>>>> Ist das Setup auf GitHub generisch für den Anyka AK1090 oder auf die
>>>>> Chomptech-Firmware zugeschnitten?
>>>>>
>>>>> VG
>>>>> Björn
>>>>>
>>>>>
>>>>> Am 22.11.2020 um 12:47 schrieb Sven A. Huerlimann via tiptoi-hw:
>>>>>> Hallo zusammen
>>>>>>
>>>>>> Ich bin mir nicht sicher, ob diese Liste noch bespasst wird, aber
>>>>>> versuchs einfach mal:
>>>>>>
>>>>>> Ich hab einen rudimentären Qemu-GDB-Ghida Workflow gebastelt und
>>>>>> möchte
>>>>>> diesen gerne mit euch teilen.
>>>>>> Alles noch seeehr in den Kinderschuhen (Aber: Release early and
>>>>>> often)
>>>>>>
>>>>>> Den Code findet Ihr
>>>>>> unter:https://github.com/rhesus-ltd/qemu-chomptech
>>>>>>
>>>>>> Ein kleines Video (macht man heute ja so) gibts hier:
>>>>>> https://www.youtube.com/watch?v=PLC3PlmwEQ0
>>>>>>
>>>>>> Doku folgt.
>>>>>>
>>>>>> Es würde mich freuen, wenn da weitere Leute mitentwickeln würden,
>>>>>> also:
>>>>>> Freiwillige gesucht.
>>>>>>
>>>>>> Beste Grüsse aus der Quarantäne
>>>>>> Sven
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> tiptoi-hw mailing list
>>>>>> tiptoi-hw at lists.nomeata.de
>>>>>> https://lists.nomeata.de/mailman/listinfo/tiptoi-hw
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> tiptoi-hw mailing list
>>>>> tiptoi-hw at lists.nomeata.de
>>>>> https://lists.nomeata.de/mailman/listinfo/tiptoi-hw
>>>>
>>>> _______________________________________________
>>>> tiptoi-hw mailing list
>>>> tiptoi-hw at lists.nomeata.de
>>>> https://lists.nomeata.de/mailman/listinfo/tiptoi-hw
>>>>
>>>
>>>
>>> _______________________________________________
>>> tiptoi-hw mailing list
>>> tiptoi-hw at lists.nomeata.de
>>> https://lists.nomeata.de/mailman/listinfo/tiptoi-hw
>>
>> _______________________________________________
>> tiptoi-hw mailing list
>> tiptoi-hw at lists.nomeata.de
>> https://lists.nomeata.de/mailman/listinfo/tiptoi-hw
>>
>
>
> _______________________________________________
> tiptoi-hw mailing list
> tiptoi-hw at lists.nomeata.de
> https://lists.nomeata.de/mailman/listinfo/tiptoi-hw
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.nomeata.de/pipermail/tiptoi-hw/attachments/20201130/740f1f2c/attachment.htm>


Mehr Informationen über die Mailingliste tiptoi-hw