Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/13777
Title: An LLVM Bitcode interpreter for 16-bit MSP430 microcontrollers
Authors: Camilleri, Giulio
Keywords: Microcontrollers
Programming languages (Electronic computers)
Issue Date: 2016
Abstract: Developing for resource constrained devices can be a di fficult task for novice developers, especially when programming in a low level language such as assembly or C. Through use of the Low Level Virtual Machine (LLVM) compiler infrastructure, a compact bytecode format has been created. This bytecode format has a memory footprint lower than that of the intermediate code produced by LLVM originally, making it more suited for execution on microcontrollers. LLVM contains front ends which can allow a developer to use his preferred language and compile it into an intermediate representation. This is translated into the compact format by making use of the LLVM compilation pass framework. An interpreter is also presented which decodes and executes the compact bytecode on a 16-bit microcontroller. Design choices for the bytecode format and the interpreter are discussed in detail. Finally, the execution speed of the interpreter is evaluated against a use case and the size of the compact bytecode is compared to the LLVM intermediate representation.
Description: B.SC.(HONS)COMP.SCI.
URI: https://www.um.edu.mt/library/oar//handle/123456789/13777
Appears in Collections:Dissertations - FacICT - 2016
Dissertations - FacICTCS - 2016

Files in This Item:
File Description SizeFormat 
16BCS004.pdf
  Restricted Access
1.85 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.