ARM PROCESSOR EMULATOR MOHAMAD HASRUZAIRIN B MOHD HASHIM

Similar documents
IMPLEMENTATION OF UNMANNED AERIAL VEHICLE MOVING OBJECT DETECTION ALGORITHM ON INTEL ATOM EMBEDDED SYSTEM

A TRUST MODEL FOR BUSINESS TO CUSTOMER CLOUD E-COMMERCE HOSSEIN POURTAHERI

BLOCK-BASED NEURAL NETWORK MAPPING ON GRAPHICS PROCESSOR UNIT ONG CHIN TONG UNIVERSITI TEKNOLOGI MALAYSIA

HARDWARE AND SOFTWARE CO-SIMULATION PLATFORM FOR CONVOLUTION OR CORRELATION BASED IMAGE PROCESSING ALGORITHMS SAYED OMID AYAT

MICRO-SEQUENCER BASED CONTROL UNIT DESIGN FOR A CENTRAL PROCESSING UNIT TAN CHANG HAI

SUPERVISED MACHINE LEARNING APPROACH FOR DETECTION OF MALICIOUS EXECUTABLES YAHYE ABUKAR AHMED

AN IMPROVED PACKET FORWARDING APPROACH FOR SOURCE LOCATION PRIVACY IN WIRELESS SENSORS NETWORK MOHAMMAD ALI NASSIRI ABRISHAMCHI

HARDWARE-ACCELERATED LOCALIZATION FOR AUTOMATED LICENSE PLATE RECOGNITION SYSTEM CHIN TECK LOONG UNIVERSITI TEKNOLOGI MALAYSIA

ENHANCEMENT OF UML-BASED WEB ENGINEERING FOR METAMODELS: HOMEPAGE DEVELOPMENT CASESTUDY KARZAN WAKIL SAID

ONTOLOGY-BASED SEMANTIC HETEROGENEOUS DATA INTEGRATION FRAMEWORK FOR LEARNING ENVIRONMENT

ISOGEOMETRIC ANALYSIS OF PLANE STRESS STRUCTURE CHUM ZHI XIAN

HARDWARE/SOFTWARE SYSTEM-ON-CHIP CO-VERIFICATION PLATFORM BASED ON LOGIC-BASED ENVIRONMENT FOR APPLICATION PROGRAMMING INTERFACING TEO HONG YAP

ENHANCING TIME-STAMPING TECHNIQUE BY IMPLEMENTING MEDIA ACCESS CONTROL ADDRESS PACU PUTRA SUARLI

DESIGN AND IMPLEMENTATION OF A MUSIC BOX USING FPGA TAN KIAN YIAK

OPTIMIZED BURST ASSEMBLY ALGORITHM FOR MULTI-RANKED TRAFFIC OVER OPTICAL BURST SWITCHING NETWORK OLA MAALI MOUSTAFA AHMED SAIFELDEEN

A LEVY FLIGHT PARTICLE SWARM OPTIMIZER FOR MACHINING PERFORMANCES OPTIMIZATION ANIS FARHAN BINTI KAMARUZAMAN UNIVERSITI TEKNOLOGI MALAYSIA

LOGICAL OPERATORS AND ITS APPLICATION IN DETERMINING VULNERABLE WEBSITES CAUSED BY SQL INJECTION AMONG UTM FACULTY WEBSITES NURUL FARIHA BINTI MOKHTER

LINK QUALITY AWARE ROUTING ALGORITHM IN MOBILE WIRELESS SENSOR NETWORKS RIBWAR BAKHTYAR IBRAHIM UNIVERSITI TEKNOLOGI MALAYSIA

INTEGRATION OF CUBIC MOTION AND VEHICLE DYNAMIC FOR YAW TRAJECTORY MOHD FIRDAUS BIN MAT GHANI

OPTIMIZE PERCEPTUALITY OF DIGITAL IMAGE FROM ENCRYPTION BASED ON QUADTREE HUSSEIN A. HUSSEIN

STUDY OF FLOATING BODIES IN WAVE BY USING SMOOTHED PARTICLE HYDRODYNAMICS (SPH) HA CHEUN YUEN UNIVERSITI TEKNOLOGI MALAYSIA

SYSTEMATIC SECURE DESIGN GUIDELINE TO IMPROVE INTEGRITY AND AVAILABILITY OF SYSTEM SECURITY ASHVINI DEVI A/P KRISHNAN

SEMANTICS ORIENTED APPROACH FOR IMAGE RETRIEVAL IN LOW COMPLEX SCENES WANG HUI HUI

ADAPTIVE LOOK-AHEAD ROUTING FOR LOW LATENCY NETWORK ON-CHIP NADERA NAJIB QAID AL AREQI UNIVERSITI TEKNOLOGI MALAYSIA

ENHANCING SRAM PERFORMANCE OF COMMON GATE FINFET BY USING CONTROLLABLE INDEPENDENT DOUBLE GATES CHONG CHUNG KEONG UNIVERSITI TEKNOLOGI MALAYSIA

This item is protected by original copyright

DYNAMIC TIMESLOT ALLOCATION TECHNIQUE FOR WIRELESS SENSOR NETWORK OON ERIXNO

AUTOMATIC APPLICATION PROGRAMMING INTERFACE FOR MULTI HOP WIRELESS FIDELITY WIRELESS SENSOR NETWORK

SECURE-SPIN WITH HASHING TO SUPPORT MOBILITY AND SECURITY IN WIRELESS SENSOR NETWORK MOHAMMAD HOSSEIN AMRI UNIVERSITI TEKNOLOGI MALAYSIA

IMPROVED IMAGE COMPRESSION SCHEME USING HYBRID OF DISCRETE FOURIER, WAVELETS AND COSINE TRANSFORMATION MOH DALI MOUSTAFA ALSAYYH

FINGERPRINT DATABASE NUR AMIRA BINTI ARIFFIN THESIS SUBMITTED IN FULFILMENT OF THE DEGREE OF COMPUTER SCIENCE (COMPUTER SYSTEM AND NETWORKING)

DETECTION OF WORMHOLE ATTACK IN MOBILE AD-HOC NETWORKS MOJTABA GHANAATPISHEH SANAEI

PERFOMANCE ANALYSIS OF SEAMLESS VERTICAL HANDOVER IN 4G NETWOKS MOHAMED ABDINUR SAHAL

HERMAN. A thesis submitted in fulfilment of the requirements for the award of the degree of Doctor of Philosophy (Computer Science)

AUTOMATIC PET FEEDER WITH CLIENT/SERVER APPLICATION KHAIRUL ANWAR B MOHD YAKOP UNIVERSITI MALAYSIA PAHANG

Semasa buku ini ditulis XAMPP mengandungi empat versi:

RECOGNITION OF PARTIALLY OCCLUDED OBJECTS IN 2D IMAGES ALMUASHI MOHAMMED ALI UNIVERSITI TEKNOLOGI MALAYSIA

MULTICHANNEL ORTHOGONAL FREQUENCY DIVISION MULTIPLEXING -ROF FOR WIRELESS ACCESS NETWORK MOHD JIMMY BIN ISMAIL

COLOUR IMAGE WATERMARKING USING DISCRETE COSINE TRANSFORM AND TWO-LEVEL SINGULAR VALUE DECOMPOSITION BOKAN OMAR ALI

BORANG PENGESAHAN STATUS TESIS

MAGNETIC FLUX LEAKAGE SYSTEM FOR WIRE ROPE INSPECTION USING BLUETOOTH COMMUNICATION MUHAMMAD MAHFUZ BIN SALEHHON UNIVERSITI TEKNOLOGI MALAYSIA

AMBA AXI BUS TO NETWORK-ON-CHIP BRIDGE NG KENG YOKE UNIVERSITI TEKNOLOGI MALAYSIA

MODELLING AND REASONING OF LARGE SCALE FUZZY PETRI NET USING INFERENCE PATH AND BIDIRECTIONAL METHODS ZHOU KAIQING

HIGH SPEED SIX OPERANDS 16-BITS CARRY SAVE ADDER AWATIF BINTI HASHIM

ENHANCING WEB SERVICE SELECTION USING ENHANCED FILTERING MODEL AJAO, TAJUDEEN ADEYEMI

CAMERA CALIBRATION FOR UNMANNED AERIAL VEHICLE MAPPING AHMAD RAZALI BIN YUSOFF

THE COMPARISON OF IMAGE MANIFOLD METHOD AND VOLUME ESTIMATION METHOD IN CONSTRUCTING 3D BRAIN TUMOR IMAGE

IMPLEMENTATION AND PERFORMANCE ANALYSIS OF IDENTITY- BASED AUTHENTICATION IN WIRELESS SENSOR NETWORKS MIR ALI REZAZADEH BAEE

OOP ONLINE JUDGE: SISTEM SEMAKAN ATAS TALIAN UNTUK KURSUS PENGATURCARAAN BERORIENTASIKAN OBJEK

WEB MANAGEMENT SYSTEM FOR SERIOUS GAME IN INTERNAL MEDICAL PRACTICE. Phoon Wei Yin


PROBLEMS ASSOCIATED WITH EVALUATION OF EXTENSION OF TIME (EOT) CLAIM IN GOVERNMENT PROJECTS

ADAPTIVE ONLINE FAULT DETECTION ON NETWORK-ON-CHIP BASED ON PACKET LOGGING MECHANISM LOO LING KIM UNIVERSITI TEKNOLOGI MALAYSIA

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

DYNAMIC MOBILE SERVER FOR LIVE CASTING APPLICATIONS MUHAMMAD SAZALI BIN HISHAM UNIVERSITI TEKNOLOGI MALAYSIA

SMART AQUARJUM (A UTOMATIC FEEDING MACHINE) SY AFINAZ ZURJATI BINTI BAHARUDDIN

A SEED GENERATION TECHNIQUE BASED ON ELLIPTIC CURVE FOR PROVIDING SYNCHRONIZATION IN SECUERED IMMERSIVE TELECONFERENCING VAHIDREZA KHOUBIARI

SLANTING EDGE METHOD FOR MODULATION TRANSFER FUNCTION COMPUTATION OF X-RAY SYSTEM FARHANK SABER BRAIM UNIVERSITI TEKNOLOGI MALAYSIA

DEVELOPMENT OF SPAKE S MAINTENANCE MODULE FOR MINISTRY OF DEFENCE MALAYSIA SYED ARDI BIN SYED YAHYA KAMAL UNIVERSITI TEKNOLOGI MALAYSIA

TRUSTED CLOUD COMPUTING FRAMEWORK IN CRITICAL INDUSTRIAL APPLICATION MERVAT ADIB BAMIAH UNIVERSITI TEKNOLOGI MALAYSIA

AUTOMATIC DETECTION TEMPERATURE TRANSMITTER FOR CALIBRATION PROCESS USING THERMOCOUPLE MUHAMAD FARID BIN A.WAHAB

ENERGY-EFFICIENT DUAL-SINK ALGORITHMS FOR SINK MOBILITY IN EVENT-DRIVEN WIRELESS SENSOR NETWORKS

SOLUTION AND INTERPOLATION OF ONE-DIMENSIONAL HEAT EQUATION BY USING CRANK-NICOLSON, CUBIC SPLINE AND CUBIC B-SPLINE WAN KHADIJAH BINTI WAN SULAIMAN

DEVELOPMENT OF VENDING MACHINE WITH PREPAID PAYMENT METHOD AMAR SAFUAN BIN ALYUSI

IMPROVED IMPLEMENTATION OF DIGITAL WATERMARKING TECHNIQUES AHMED SABEEH YOUSIF UNIVERSITI TEKNOLOGI MALAYSIA

AN ENHANCED CONNECTIVITY AWARE ROUTING PROTOCOL FOR VEHICULAR AD HOC NETWORKS AHMADU MAIDORAWA

DETERMINING THE MULTI-CURRENT SOURCES OF MAGNETOENCEPHALOGRAPHY BY USING FUZZY TOPOGRAPHIC TOPOLOGICAL MAPPING

UNSTEADY AERODYNAMIC WAKE OF HELICOPTER MAIN-ROTOR-HUB ASSEMBLY ISKANDAR SHAH BIN ISHAK UNIVERSITI TEKNOLOGI MALAYSIA

LOCALIZING NON-IDEAL IRISES VIA CHAN-VESE MODEL AND VARIATIONAL LEVEL SET OF ACTIVE CONTOURS WITHTOUT RE- INITIALIZATION QADIR KAMAL MOHAMMED ALI

PORTABLE ELECTRONICS QUEUE CONTROL SYSTEM WONG CHUN YUAN UNIVERSITY MALAYSIA PAHANG

INFORM DEPARTURE AND ARRIVING OF BUSSES USING BLUETOOTH MOHD SUHKRI BIN YASRI

Signature :.~... Name of supervisor :.. ~NA.lf... l.?.~mk.. :... 4./qD F. Universiti Teknikal Malaysia Melaka

APPENDIX A. Sample of a report front cover TITLE OF PROJECT IN CAPITAL LETTERS. (Centered within prescribed margin) STUDENT S FULL NAME

RESOURCE ALLOCATION SCHEME FOR FUTURE USER-CENTRIC WIRELESS NETWORK WAHEEDA JABBAR UNIVERSITI TEKNOLOGI MALAYSIA

A NEW STEGANOGRAPHY TECHNIQUE USING MAGIC SQUARE MATRIX AND AFFINE CIPHER WALEED S. HASAN AL-HASAN UNIVERSITI TEKNOLOGI MALAYSIA

PEMINDAHAN DATA MENGGUNAKAN KOMUNIKASI CAHAYA BOLEH DILIHAT DAN APLIKASI MUDAH ALIH. Annisa Zakiah Binti Kamarudin Khairul Azmi Bin Abu Bakar

LINKING ITIL WITH OUTSOURCE SERVICES ROKHSAREH MOBARHAN UNIVERSITI TEKNOLOGI MALAYSIA

PANDUAN PENGGUNA (PENTADBIR SYSTEM/SYSTEM ADMINISTRATOR) (INFOTECH, BPPF DAN POLIS

EDDY AHMADI AZIZI B SUKIMIN

Signature : IHSAN BIN AHMAD ZUBIR. Date : 30 November 2007

AUTO SILENT MODE FOR ANDROID SMARTPHONES MUHAMMAD AZLAN SHAHARIMAN BIN AHMAD

SESSION BASED ACTIVITY MONITORING APPLICATION FOR ANDROID TAN LEIK HO

LINE FOLLOWER FOR SURVEILLANCE CAMERA MONITORING SYSTEM YEW YUAN SOON

PRIVACY FRIENDLY DETECTION TECHNIQUE OF SYBIL ATTACK IN VEHICULAR AD HOC NETWORK (VANET) SEYED MOHAMMAD CHERAGHI

HOME APPLIANCE CONTROL SYSTEM TAN WEI SYE

UNIVERSITI SAINS MALAYSIA. CMT322/CMM323 Web Engineering & Technologies [Kejuruteraan & Teknologi Web]

MAC PROTOCOL FOR WIRELESS COGNITIVE NETWORK FARAH NAJWA BINTI MOKHTAR

PANDUAN PENGGUNA (PENSYARAH)

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

Pengaturcaraan web ASP.NET. Sinopsis:

CLOUD COMPUTING ADOPTION IN BANKING SYSTEM (UTM) IN TERMS OF CUSTOMERS PERSPECTIVES SHAHLA ASADI

Manual Pengguna. PCN Online Service Fulfillment System

AUTOMATIC RAILWAY GATE CONTROLLERUSING ZIGBEE NURLIYANA HAZIRAH BINTI MOHD SAFEE (B )

MC68000 MICROPROCESSOR STAND ALONE EDUCATIONAL BOARD HENG POH XUAN

Real Time Wireless Robotic Arm System by Using Leap Motion Controller ONG TING YONG

ADAPTIVE VIDEO STREAMING FOR BANDWIDTH VARIATION WITH OPTIMUM QUALITY

UNIVERSITI MALAYSIA PAHANG

DEVELOPMENT OF PESONA RISC MICROPROCESSOR ARCHITECTURE IN FPGA MOHD FAHMIR ADZRAN BIN RAMLEE

SMART MOBILE ADVERTISER (SMA) MOHD SHABRUL KHAIRY BIN AWANG KENAL

AUTOMATED STUDENT S ATTENDANCE ENTERING SYSTEM BY ELIMINATING FORGE SIGNATURES

Transcription:

iii ARM PROCESSOR EMULATOR MOHAMAD HASRUZAIRIN B MOHD HASHIM A project report submitted in partial fulfilment of the requirements for the award of the degree of Master of Engineering (Electrical Electronic and Telecommunications) Faculty of Electrical Engineering Universiti Teknologi Malaysia JUNE 2015

Specially dedicated to my wife Aishah, my daughter, lecturers, fellow friends and those who have guided and inspired me through my journey of education v

vi ACKNOWLEDGEMENT In preparing this thesis, I was in contact with many people, researchers, academicians, and practitioners. They have contributed towards my understanding and thoughts. In particular, I wish to express my sincere appreciation to my thesis supervisor and mentor, Dr. Usman Ullah Sheikh, for his willing encouragement, unstinting guidance, and friendship. I am also indebted to Majlis Amanah Rakyat (MARA) for funding my MEE study and my fellow postgraduate students who have selflessly supported and enabled the pursuit of this dream. My sincere appreciation also extends to all my colleagues and others who have provided assistance at various occasions. Finally, the bedrock of my success, I am grateful to all my family members.

vii ABSTRACT Technology has always enhanced learning as well as the overall teaching experience. With proper tools and resources in hand, we can easily integrate educational and information technologies into the academic environment. These are many ARM emulators in the market, however most are not freely available and complicated to use. Besides that, they are not suitable for beginners to use for learning. The objective of this project is to deliver on ARM emulator for x86 Windows platform. This project focuses on developing on ARM emulator using the GNU C/C++ compiler and associated tools for embedded systems development and ARM-based projects. The ARM emulator use GNU toolchain to convert high level language to assembly language and binary object file. GDB ARM is used to do simulation for register set and assembly code. C# was used to develop the interface for the emulator. This software can help instructors in the teaching and learning process in class and students can see the ARM process emulation in real time.

viii ABSTRAK Peningkatan teknologi di dalam pembelajaran dapat meningkatkan teknik mengajar keseluruhan. Dengan penggunaan alat yang betul dan sumber yang benar, kita boleh dengan mudah mengintegrasikan teknologi pendidikan dan maklumat digunakan di dalam persekitaran akademik. Terdapat banyak ARM emulator yang berada di pasaran, namun kebanyakan tidak dapat diperolehi secara percuma dan amat rumit untuk digunakan. Selain itu, ia tidak sesuai untuk pengguna baru untuk digunakan di dalam suasana pembelajaran.objektif projek ini adalah untuk memperkenalkan ARM emulator untuk digunakan di dalam platform Windows x86. Projek ini memberi tumpuan kepada pembangunan ARM emulator menggunakan GNU C / C ++ sebagai pengkompil dan alat-alat yang berkaitan untuk pembangunan sistem dan projek-projek berasaskan ARM.ARM emulator menggunakan GNU toolchain untuk menukar bahasa peringkat tinggi kepada bahasa himpunan dan fail objek binari. GDB ARM digunakan untuk melakukan simulasi untuk daftar set dan kod pemasangan. C# digunakan untuk membangunkan antara muka dengan emulator. Perisian ini boleh membantu pengajar dalam proses pengajaran dan pembelajaran di dalam kelas dan pelajar boleh melihat simulasi proses ARM dalam keadaan sebenar.

ix TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK TABLE OF CONTENTS LIST OF TABLES LIST OF FIGURES LIST OF ABBREVIATIONS ii iii iv v vi vii x xi xii 1 INTRODUCTION 1 1.1 Background 1 1.2 Motivation 2 1.3 Objectives 2 1.4 Problem Statement 3 1.5 Scope of Work 3 2 LITERATURE REVIEW AND THEORY 4 2.1 ARM Processor 4 2.2 The ARM architecture 6 2.3 Instruction Set Architecture 9 2.3.1 Fetch 8 2.3.2 Decode 8 2.2.4 Execute 9

x 2.4 Assembly Language 9 2.5 Register 12 2.6 Program Counter 13 2.7 ARM Emulators 14 2.7.1 QEMU 13 2.7.2 ARMulator 14 2.7.3 emuarm 15 2.5 ARM Emulator for Education 18 3 METHODOLOGY 19 3.1 Methodology Overview 19 3.2 Stages of Compilation 21 3.2.1 Preprocessing for ARM Emulator 21 3.2.2 Compiling C code 21 3.2.3 Assembling 22 3.3 GNU Toolchain 22 3.4 GDB 23 3.5 Source code 25 4 RESULT AND DESIGN VERIFICATION 28 4.1 ARM Emulator Output 28 4.2 Survey on the effectiveness of ARM emulator in teaching and learning 34 5 CONCLUSION AND FUTURE WORK 36 5.1 Conclusion 36 5.2 Future Work 36 REFERENCES 35 Appendix

1 CHAPTER 1 INTRODUCTION 1.1 Background The ARM processor is one of the most widely used processor in the market today. Many of the embedded system are based on ARM processor. The objective of this project is to help the users for use the ARM processor technology to have a platform to learn the processor architecture and instruction set. As processor ARM processor has very high demand, many ARM emulators were developed but most of them in the market are paid and complicated to use. This project will focus on considerations of using the GNU C/C++ compiler and associated tools for embedded systems development, for ARM-based projects and together with the integrated development environment for visualization. The purpose of ARM processor emulator use GNU toolchain to convert high level language to assembly language and binary object file. GDB for ARM is used to perform emulation and to view processor registers and assembly code. C # to develop an integrated development for Windows (x86) platform. This software can help instructors in the teaching of ARM architecture in class and students can see the processor emulation in real time.

2 1.2 Motivation Most of emulators developed in pass few year are outdated in the market and are designed by the previous generation of ARM processor. The available emulators are not user friendly and inconvenience to the beginner. They are also difficult to use as a tool during learning process and not many tools are specifically designed for teaching purposes. The motivation of this work is to develop on ARM processor emulator suitable for in class usage. 1.3 Objectives The objective of this project is to develop ARM processor emulator to emulate ARM and Cortex processor. It can be used for performing simulation in class so that student can see the real-time ARM process from high level language to assembly code. This emulation will use GNU toolchain to convert high level language to assembly language.

3 1.4 Problem Statement ARM emulators use on an x86 Microsoft Windows platforms are very limited. Most processors on the market are using Linux platform. Sometimes difficult to users because most users are using windows base software. ARM emulators for x86 Microsoft Windows platform are very limited. Most ARM emulator on the market are for the Linux platform. ARM emulators that have been designed to run on an x86 Microsoft Windows platform are generally not freely available. Besides, is very hard to find ARM emulators which are free ans also has support on documentation. 1.5 Scope of Work I. The ARM emulator only caves the ARM 7 architecture and Cortex M0 architecture, II. The emulator is based on GNU tool-chain backend as compiler.

35 REFERENCES 1. David Sharp and Graham Martin, A dynamically Recompiling ARM Emulator, University of Warwick, Project Report 2000-2001 2. ARM Cortex-M0 Technical Reference Manual Manual ARM 2012. 3. Lukas Pustina1, Simon Schwarzer1, Prof. Dr. Peter Martini1, Jari Muurinen2 and Ari Salomaki2, A Methodology for Performance Predictions of Future ARM Systems Modelled in UML, IEEE Conference 2008. 4. Get Better Code Density than 8/16 bit MCU snxp LPC1100 Cortex M0, 26 march 2014 product datasheet. 5. Bobby Clarke, ARM, Introduction to ARM, Eclipse Members Meeting Sept 06 6. Fabrice Bellard, Qemu,a Fast and Portable Dynamic Translator, 2005 USENIX Annual Technical Conference. 7. ARMware http://code.google.com/p/armware/ 8. Geetika Malhotra,Namita Atri,Smruti R Sarangi, emuarm : A Tool For Teaching the ARM Assembly Language, IEEE Conference 25 Sept 2013. 9. http://whatis.techtarget.com/definition/arm-processor. Internet 10. Skazikis (Nov 2012), The ARM Processor Architecture 11. Dillon Tellier and Dr. Christopher Lupo (June 2014), Design of CPU Simulation Software for ARMv7 Instruction Set Architecture