jb302@39
|
1 #LyX 2.0 created this file. For more info see http://www.lyx.org/
|
jb302@39
|
2 \lyxformat 413
|
jb302@39
|
3 \begin_document
|
jb302@39
|
4 \begin_header
|
jb302@39
|
5 \textclass article
|
jb302@39
|
6 \use_default_options true
|
jb302@39
|
7 \maintain_unincluded_children false
|
jb302@39
|
8 \language english
|
jb302@39
|
9 \language_package default
|
jb302@39
|
10 \inputencoding auto
|
jb302@39
|
11 \fontencoding global
|
jb302@39
|
12 \font_roman default
|
jb302@39
|
13 \font_sans default
|
jb302@39
|
14 \font_typewriter default
|
jb302@39
|
15 \font_default_family default
|
jb302@39
|
16 \use_non_tex_fonts false
|
jb302@39
|
17 \font_sc false
|
jb302@39
|
18 \font_osf false
|
jb302@39
|
19 \font_sf_scale 100
|
jb302@39
|
20 \font_tt_scale 100
|
jb302@39
|
21
|
jb302@39
|
22 \graphics default
|
jb302@39
|
23 \default_output_format default
|
jb302@39
|
24 \output_sync 0
|
jb302@39
|
25 \bibtex_command default
|
jb302@39
|
26 \index_command default
|
jb302@39
|
27 \paperfontsize default
|
jb302@39
|
28 \use_hyperref false
|
jb302@39
|
29 \papersize default
|
jb302@39
|
30 \use_geometry false
|
jb302@39
|
31 \use_amsmath 1
|
jb302@39
|
32 \use_esint 1
|
jb302@39
|
33 \use_mhchem 1
|
jb302@39
|
34 \use_mathdots 1
|
jb302@39
|
35 \cite_engine basic
|
jb302@39
|
36 \use_bibtopic false
|
jb302@39
|
37 \use_indices false
|
jb302@39
|
38 \paperorientation portrait
|
jb302@39
|
39 \suppress_date false
|
jb302@39
|
40 \use_refstyle 1
|
jb302@39
|
41 \index Index
|
jb302@39
|
42 \shortcut idx
|
jb302@39
|
43 \color #008000
|
jb302@39
|
44 \end_index
|
jb302@39
|
45 \secnumdepth 3
|
jb302@39
|
46 \tocdepth 3
|
jb302@39
|
47 \paragraph_separation indent
|
jb302@39
|
48 \paragraph_indentation default
|
jb302@39
|
49 \quotes_language english
|
jb302@39
|
50 \papercolumns 1
|
jb302@39
|
51 \papersides 1
|
jb302@39
|
52 \paperpagestyle default
|
jb302@39
|
53 \tracking_changes false
|
jb302@39
|
54 \output_changes false
|
jb302@39
|
55 \html_math_output 0
|
jb302@39
|
56 \html_css_as_file 0
|
jb302@39
|
57 \html_be_strict false
|
jb302@39
|
58 \end_header
|
jb302@39
|
59
|
jb302@39
|
60 \begin_body
|
jb302@39
|
61
|
jb302@39
|
62 \begin_layout Part
|
jb302@39
|
63 Review and Improvements
|
jb302@39
|
64 \end_layout
|
jb302@39
|
65
|
jb302@39
|
66 \begin_layout Standard
|
jb302@39
|
67 The diagram below shows an overview of the goal of this project with the
|
jb302@39
|
68 completed components and interfaces highlighted in green.
|
jb302@39
|
69 \end_layout
|
jb302@39
|
70
|
jb302@39
|
71 \begin_layout Standard
|
jb302@39
|
72 \begin_inset ERT
|
jb302@39
|
73 status open
|
jb302@39
|
74
|
jb302@39
|
75 \begin_layout Plain Layout
|
jb302@39
|
76
|
jb302@39
|
77
|
jb302@39
|
78 \backslash
|
jb302@39
|
79 bigskip
|
jb302@39
|
80 \end_layout
|
jb302@39
|
81
|
jb302@39
|
82 \end_inset
|
jb302@39
|
83
|
jb302@39
|
84
|
jb302@39
|
85 \end_layout
|
jb302@39
|
86
|
jb302@39
|
87 \begin_layout Standard
|
jb302@39
|
88 \begin_inset Graphics
|
jb302@39
|
89 filename /home/jmz/qm/ede/docs/img/ede/state_of_ede.svg
|
jb302@39
|
90 display false
|
jb302@39
|
91
|
jb302@39
|
92 \end_inset
|
jb302@39
|
93
|
jb302@39
|
94
|
jb302@39
|
95 \end_layout
|
jb302@39
|
96
|
jb302@39
|
97 \begin_layout Standard
|
jb302@39
|
98 \begin_inset ERT
|
jb302@39
|
99 status open
|
jb302@39
|
100
|
jb302@39
|
101 \begin_layout Plain Layout
|
jb302@39
|
102
|
jb302@39
|
103
|
jb302@39
|
104 \backslash
|
jb302@39
|
105 bigskip
|
jb302@39
|
106 \end_layout
|
jb302@39
|
107
|
jb302@39
|
108 \end_inset
|
jb302@39
|
109
|
jb302@39
|
110
|
jb302@39
|
111 \end_layout
|
jb302@39
|
112
|
jb302@39
|
113 \begin_layout Standard
|
jb302@39
|
114 \begin_inset Newpage pagebreak
|
jb302@39
|
115 \end_inset
|
jb302@39
|
116
|
jb302@39
|
117
|
jb302@39
|
118 \end_layout
|
jb302@39
|
119
|
jb302@39
|
120 \begin_layout Section
|
jb302@39
|
121 Strategy for the completion of EDE
|
jb302@39
|
122 \end_layout
|
jb302@39
|
123
|
jb302@39
|
124 \begin_layout Enumerate
|
jb302@42
|
125 Complete debugger interface code:
|
jb302@39
|
126 \end_layout
|
jb302@39
|
127
|
jb302@39
|
128 \begin_deeper
|
jb302@39
|
129 \begin_layout Enumerate
|
jb302@39
|
130 Both the PC and 8052 versions have fully implemented control interface functions.
|
jb302@42
|
131 However, the Python debug class can currently only interact with a file
|
jb302@39
|
132 buffer for I/O.
|
jb302@42
|
133 The debugger's send and receive functions need to be modified to deal with
|
jb302@42
|
134 a serial buffer.
|
jb302@40
|
135 \end_layout
|
jb302@40
|
136
|
jb302@40
|
137 \begin_layout Enumerate
|
jb302@40
|
138 An option to enable this mode needs to be added to the command line interface
|
jb302@42
|
139 code.
|
jb302@40
|
140 \end_layout
|
jb302@40
|
141
|
jb302@40
|
142 \end_deeper
|
jb302@40
|
143 \begin_layout Enumerate
|
jb302@42
|
144 Improve testing:
|
jb302@40
|
145 \end_layout
|
jb302@40
|
146
|
jb302@40
|
147 \begin_deeper
|
jb302@40
|
148 \begin_layout Enumerate
|
jb302@41
|
149 Complete testing of emulator.
|
jb302@41
|
150 Before any more emulator code is added, the instructions that have already
|
jb302@40
|
151 been implemented should be tested using something similar to the test method
|
jb302@42
|
152 outlined in the Emulator Testing section.
|
jb302@40
|
153 \end_layout
|
jb302@40
|
154
|
jb302@41
|
155 \begin_layout Enumerate
|
jb302@41
|
156 Implement automated testing for the assembler to remove the need to inspect
|
jb302@41
|
157 files by eye.
|
jb302@41
|
158 \end_layout
|
jb302@41
|
159
|
jb302@40
|
160 \end_deeper
|
jb302@40
|
161 \begin_layout Enumerate
|
jb302@42
|
162 Develop emulated peripheral and peripheral driver code:
|
jb302@40
|
163 \end_layout
|
jb302@40
|
164
|
jb302@40
|
165 \begin_deeper
|
jb302@40
|
166 \begin_layout Enumerate
|
jb302@40
|
167 Emulated peripherals such as an interrupt controller, timer and parallel
|
jb302@40
|
168 port I/O need to be developed.
|
jb302@40
|
169 They should be introduced as new modules to the PC build of the emulator.
|
jb302@40
|
170 The emulators main.c file will need to be updated to add them to the main
|
jb302@40
|
171 execution loop.
|
jb302@40
|
172 \end_layout
|
jb302@40
|
173
|
jb302@40
|
174 \begin_layout Enumerate
|
jb302@40
|
175 Peripheral drivers need to be developed for the Intel MCS-51 build, These
|
jb302@40
|
176 drivers could be quite specific to the exact development board and/or 8052
|
jb302@40
|
177 implementation that is being used.
|
jb302@40
|
178 The current Intel MCS-51 build of the emulator uses 4135 bytes of code
|
jb302@40
|
179 memory and 56 bytes of RAM.
|
jb302@40
|
180 8k ROM and 256 bytes of RAM this leaves almost half the available ROM and
|
jb302@40
|
181 200 bytes of RAM for peripheral drivers to be integrated.
|
jb302@40
|
182 \end_layout
|
jb302@40
|
183
|
jb302@40
|
184 \end_deeper
|
jb302@40
|
185 \begin_layout Enumerate
|
jb302@42
|
186 Add the ability to handle segments and macros to the assembler:
|
jb302@40
|
187 \end_layout
|
jb302@40
|
188
|
jb302@40
|
189 \begin_deeper
|
jb302@40
|
190 \begin_layout Enumerate
|
jb302@42
|
191 The ELB816 specification document details how these should work; there is
|
jb302@40
|
192 no reason the assembler could not be modified to deal with them.
|
jb302@39
|
193 \end_layout
|
jb302@39
|
194
|
jb302@39
|
195 \end_deeper
|
jb302@39
|
196 \end_body
|
jb302@39
|
197 \end_document
|