view docs/lyx/intro.lyx @ 42:792da050d8c4 tip

more dox
author james <jb302@eecs.qmul.ac.uk>
date Tue, 22 Apr 2014 14:25:14 +0100
parents 6b947f6d69d9
children
line wrap: on
line source
#LyX 2.0 created this file. For more info see http://www.lyx.org/
\lyxformat 413
\begin_document
\begin_header
\textclass article
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100

\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\use_hyperref false
\papersize default
\use_geometry false
\use_amsmath 1
\use_esint 1
\use_mhchem 1
\use_mathdots 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\use_refstyle 1
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Part
Introduction
\end_layout

\begin_layout Section
Motivations
\end_layout

\begin_layout Standard
The ELB816 architecture [1] is designed to be a 
\begin_inset Quotes eld
\end_inset

simple to understand 8-bit microprocessor system to help learn about micro-proce
ssor electronics.
\begin_inset Quotes erd
\end_inset

.
 The combination of an ELB816 emulator, debugger and assembler could be
 used as a set of tools for learning or teaching micro-processor programming
 without the intricacies of real-world commercial micro-processors getting
 in the way of a fundamental understanding of the subject.
 A PC based emulator would allow students to quickly develop and debug programs
 written in a simple assembly language on any modern desktop or laptop,
 and an MCS-51 port running on an 8052 would allow students to test programs
 in an actual circuit.
 EDE aims to bring together these components in order to provide an environment
 for using ELB816 as an educational tool.
\end_layout

\begin_layout Section
Project Aims
\end_layout

\begin_layout Itemize
Develop an assembler for the ELB816 assembly language.
\end_layout

\begin_layout Itemize
Develop an emulated programmable micro-controller system based on the ELB816
 micro-processor architecture.
\end_layout

\begin_layout Itemize
Develop a debugger that allows interactive debugging of programs running
 on the emulator.
\end_layout

\begin_layout Section
Methodology
\end_layout

\begin_layout Subsection
Assembler
\end_layout

\begin_layout Description
Language: Python
\end_layout

\begin_layout Description
Priority: First
\end_layout

\begin_layout Standard
The assembler will be developed before anything else so that it can subsequently
 be used to assemble test programs during development of the emulator.
 
\end_layout

\begin_layout Subsection
Emulator
\end_layout

\begin_layout Description
Language: C
\end_layout

\begin_layout Description
Priority: Second
\end_layout

\begin_layout Standard
The emulator will use only standard libraries in order to ensure it is portable
 between compilers and platforms.
 Specifically GCC for x86 and Keil C51 for Intel MCS-51.
 The emulator will first be developed on Linux to facilitated rapid development.
 It will be ported to MCS-51 once it is complete
\end_layout

\begin_layout Subsection
Debugger
\end_layout

\begin_layout Description
Language: C/Python
\end_layout

\begin_layout Description
Priority: Second
\end_layout

\begin_layout Standard
The debug interface will be developed along side the emulator.
 It will communicate with a a simple control function, built into the emulator,
 that will read commands using C's 
\begin_inset listings
lstparams "basicstyle={\ttfamily}"
inline true
status open

\begin_layout Plain Layout

stdio.h
\end_layout

\end_inset

 library.
 This means that on Linux the commands will be issued using 
\begin_inset listings
lstparams "basicstyle={\ttfamily}"
inline true
status open

\begin_layout Plain Layout

STDIN
\end_layout

\end_inset

 and on the MCS-51 version they will be issued over a serial interface.
 Python will be used to build a controller class for sending commands to
 and receiving data from the emulator.
 Python will also be used to build a text based user interface on top of
 this.
\end_layout

\end_body
\end_document