Mercurial > hg > ede
view docs/lyx/intro.lyx @ 40:6b947f6d69d9
more docs and last minute bug fixes
author | james <jb302@eecs.qmul.ac.uk> |
---|---|
date | Tue, 22 Apr 2014 00:21:59 +0100 |
parents | db6b8c9552bb |
children | 792da050d8c4 |
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 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