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

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

Full description

Saved in:
Bibliographic Details
Main Author: Ee, Eline Bee Ling
Format: Thesis
Language:English
Published: 2020
Subjects:
Online Access:http://eprints.utm.my/id/eprint/93014/1/EeBeeLingMSKE2020.pdf
http://eprints.utm.my/id/eprint/93014/
http://dms.library.utm.my:8080/vital/access/manager/Repository/vital:135873
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Universiti Teknologi Malaysia
Language: English
id my.utm.93014
record_format eprints
spelling my.utm.930142021-11-07T06:00:27Z http://eprints.utm.my/id/eprint/93014/ GCC toolchain's c compiler wrapper for the Amir CPU assembly language Ee, Eline Bee Ling TK Electrical engineering. Electronics Nuclear engineering 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. 2020 Thesis NonPeerReviewed application/pdf en http://eprints.utm.my/id/eprint/93014/1/EeBeeLingMSKE2020.pdf 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. http://dms.library.utm.my:8080/vital/access/manager/Repository/vital:135873
institution Universiti Teknologi Malaysia
building UTM Library
collection Institutional Repository
continent Asia
country Malaysia
content_provider Universiti Teknologi Malaysia
content_source UTM Institutional Repository
url_provider http://eprints.utm.my/
language English
topic TK Electrical engineering. Electronics Nuclear engineering
spellingShingle TK Electrical engineering. Electronics Nuclear engineering
Ee, Eline Bee Ling
GCC toolchain's c compiler wrapper for the Amir CPU assembly language
description 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.
format Thesis
author Ee, Eline Bee Ling
author_facet Ee, Eline Bee Ling
author_sort Ee, Eline Bee Ling
title GCC toolchain's c compiler wrapper for the Amir CPU assembly language
title_short GCC toolchain's c compiler wrapper for the Amir CPU assembly language
title_full GCC toolchain's c compiler wrapper for the Amir CPU assembly language
title_fullStr GCC toolchain's c compiler wrapper for the Amir CPU assembly language
title_full_unstemmed GCC toolchain's c compiler wrapper for the Amir CPU assembly language
title_sort gcc toolchain's c compiler wrapper for the amir cpu assembly language
publishDate 2020
url http://eprints.utm.my/id/eprint/93014/1/EeBeeLingMSKE2020.pdf
http://eprints.utm.my/id/eprint/93014/
http://dms.library.utm.my:8080/vital/access/manager/Repository/vital:135873
_version_ 1717093407328829440