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...
Saved in:
Main Author: | |
---|---|
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 |