Efficient Operating System Design and Development for the ARM Architecture
CSEF · 2012 Mathematics & Software Third Award
Overview
Objectives/Goals The objective of my project was to determine if a mobile operating system could be developed to run on a wide variety of ARM based mobile processors while remaining portable to any new core revision, efficient, consuming minimal power, and keeping a short instruction runtime. Methods/Materials ~ ARM based development platforms. Platforms of choice: Atmel's SAM7S128 (ARMv7TDMI) ARM based micro controller and Qualcomm's Scorpion with the Snapdragon S1 chipset with QSD8650 (ARMv7TDMI): (found in many HTC phones). Each processor architecture will be emulated and is not specifically mapped during compiling. This ensures that the code will run with the same efficiency level on any revision of the processor. Each of these are just an example of what platform the mobile operating system can be run on. ~ An ARM emulator. Emulator of choice: QEMU, a powerful open source processor emulator that can be adapted to many applications, and used to simulate the execution of ARM code on many processors. Allows the emulation of the generic ARM infrastructure so we can test run the code before it goes onto a platform itself. ~ An ARM development toolchain (complete with an assembler, compiler, linker, and debugging tools). Toolchain of choice: the GNU ARM Toolchain for Linux. Allows the compiling and linking of ARM assembly and C into a binary executable by the generic ARM infrastructure - the basis of emulation with QEMU. Results The initialization code developed using static instruction set commands, when compiled, is not only fully backwards compatible with all the previous versions of the ARM architecture, but executable on future revisions of the processor with maximum efficiency. This proves that the initialization code and the various components of the OS written in assembly will be versatile enough to be executed on any member of the ARM family, old or new; this confirms that the operating system will remain universal. Conclusions/Discussion By analyzing the variation of different processor core revisions from a couple of ARM family members and by undertaking a series of development procedures that consisted of writing the various parts of a mobile operating system, observing their interaction with each other when linked, and simulating the execution of the OS in its entirety on the basic infrastructure of the chosen architectures, it became clear that it was indeed possible.
Summary statement
My project is about the development of a basic mobile operating system to accompany the wide variety of ARM processor revisions on the market today while retaining portability and efficiency.
Help received
None. All of the work done on this project was my own.
Awards (1)
Competition history
- CSEF 2012
Resources
Related projects
CSEF · 2013
Operating System Design and Development Continued
CSEF · 2014
A Multi-Architectural Approach to the Development of Embedded Hardware
CSEF · 2015
A Multi-Architectural Approach to the Development of Embedded Hardware: A Second Year Study
ISEF · 2014
A Multi-Architectural Approach to the Development of Embedded Hardware
CSEF · 2011
The Minicomputer/Projector: An All-In-One Mobile Solution for an Interactive "Touch Screen" Interface on Any Surface
ISEF · 2024
Extending PCPU: A New, Practical, and Production-Ready Processor Core Written From Scratch
CSEF · 2013
Homemade Computer: Creating an Affordable Computer Using Unconventional Computer Components
ISEF · 2020
Instrumental Platform for the Development of Specialized Computing Systems
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects