Název:
Simulace procesoru ARM pro výuku programování v asembleru
Překlad názvu:
Simulation of an ARM Processor for the Education of Programming in Assembler
Autoři:
Ondryáš, Ondřej ; Goldmann, Tomáš (oponent) ; Orság, Filip (vedoucí práce) Typ dokumentu: Bakalářské práce
Rok:
2022
Jazyk:
cze
Nakladatel: Vysoké učení technické v Brně. Fakulta informačních technologií
Abstrakt: [cze][eng]
Cílem této práce je vytvoření didaktického nástroje pro simulaci činnosti procesoru z rodiny Arm, který je integrován do editoru Visual Studio Code. Nástroj je určen pro výuku programování těchto procesorů na strojové úrovni. Implementuje službu umožňující překlad jazyka symbolických adres instrukční sady A32 a simulaci provádění jejích instrukcí. Využívá k tomu emulační jádro Unicorn a další nástroje s otevřeným zdrojovým kódem. Rozšíření pro editor poskytuje s pomocí služby podporu pro vývoj a ladění programů v tomto jazyce. Při tvorbě programu zobrazuje uživateli vysvětlivky pro použité instrukce a pomáhá s pochopením jejich funkcí. Při ladění umožňuje krokování a různé pohledy na vnitřní stav simulovaného procesoru, obsah registrů i paměti. Výsledkem práce je řešení, které je možné použít při výuce předmětu Pokročilé asemblery na FIT VUT. V budoucnu bude možné rozšířit jej o podporu jiných architektur a poskytnout tak nástroj pro usnadnění výuky i v dalších předmětech zaměřených na programování na strojové úrovni.
This thesis aims to implement a didactic tool for simulation of an Arm-based processor integrated into the Visual Studio Code editor. The tool facilitates learning about the machine-level programming of these processors. It implements a service that provides an assembler and a simulator for the A32 instruction set. The service is built using the Unicorn emulation framework and other open-source tools. The editor extension uses the service to add support for the development and debugging of programs written in the assembly language. It shows descriptions of used instructions and helps the programmer understand their function. When debugging, it enables stepping through the code and provides various views of the state of the simulated processor, its registers and memory. The solution can be used in the Advanced Assembly Languages course at FIT BUT. It could be further improved in the future to support other architectures and provide an easy learning environment in other courses related to machine-level programming.
Klíčová slova:
A32; AArch32; Arm; assembler; DAP; emulace; instrukce; jazyk symbolických adres; jazykový server; krokování kódu; ladicí adaptér; ladění; LSP; rozšíření; simulace; Unicorn; Visual Studio Code; vzdálený překlad; výuka; A32; AArch32; Arm; assembler; assembly language; DAP; Debug Adapter; debugging; education; emulation; extension; instruction; Language Server; LSP; remote assembling; simulation; stepping through code; Unicorn; Visual Studio Code
Instituce: Vysoké učení technické v Brně
(web)
Informace o dostupnosti dokumentu:
Plný text je dostupný v Digitální knihovně VUT. Původní záznam: http://hdl.handle.net/11012/208257