Universiti Teknologi Malaysia Institutional Repository

GCC toolchain's c compiler wrapper for the Amir CPU assembly language

Ee, Eline Bee Ling (2020) GCC toolchain's c compiler wrapper for the Amir CPU assembly language. Masters thesis, Universiti Teknologi Malaysia, Faculty of Engineering - School of Electrical Engineering.

[img]
Preview
PDF
284kB

Official URL: http://dms.library.utm.my:8080/vital/access/manage...

Abstract

The microprocessor is an icon of the information age today, which evolved from the inventions of the transistor and the integrated circuit (IC). The extensiveness of the microprocessor in this age goes far beyond the wildest imagination at the time of the first microprocessor. The increased use and the importance of microprocessors have led to the appearance of microcontroller chips. Today, unique and more powerful microcontroller, AMIR 32-bit softcore processor was created in order to embrace the challenges in this era. However, currently AMIR 32-bit softcore processor have yet to develop a GCC compiler which is able to compile and run C language application program. A GCC compiler will convert higher level language such as C programming language into low level language (assembly language), which according to instruction set architecture (ISA) of AMIR 32-bit softcore processor. In fact, C language has always been a preferred language for everyone including students since it is reliable and powerful programming language. From operating system (OS) perspectives, Linux as the well-known open source OS, allow us to implement the GCC compiler in a secure, free as well as highly accessible operating system. In addition, it is also a capable OS and commonly-used platform for all sorts of applications, especially for embedded applications. Hence, GCC Toolchain’s C Compiler has been developed in Linux OS to solve the problem stated. For this project, the C compiler developed will be only focus on embedded applications. The main objectives of this research are to develop a working compiler according to ISA of AMIR CPU assembly language as well as to implement the C compiler using GCC toolchain in Linux environment. This project will be designed based on a language processing system to convert C language to assembly language. Firstly, the user will write an application program using C programming language. The GCC C compiler will compile the program and translate it into assembly language according to ISA of AMIR CPU assembly language. The compiler will read the whole C program at once and go through few analysis before convert into assembler language. The analysis includes lexical analysis, syntax analysis and code generation. Each analysis represents different phases in the compilation process, each phase takes the input from the previous stage and feeds its output to the next phase of the compiler. Furthermore, in the development of the compiler, Linux (Ubuntu) computer OS will be used for implementation and trouble-shooting. The assembly code generated based on AMIR CPU assembly language will be displayed through the code output in Linux environment.

Item Type:Thesis (Masters)
Additional Information:Thesis (Sarjana Kejuruteraan (Komputer dan Sistem Mikroelektronik)) - Universiti Teknologi Malaysia, 2020; Supervisors : Assoc. Prof. Dr. Muhammad Nasir Ibrahim
Subjects:T Technology > TK Electrical engineering. Electronics Nuclear engineering
Divisions:Electrical Engineering
ID Code:93014
Deposited By: Yanti Mohd Shah
Deposited On:07 Nov 2021 06:00
Last Modified:07 Nov 2021 06:00

Repository Staff Only: item control page