source: Deliverables/D2.2/8051/README @ 530

Last change on this file since 530 was 530, checked in by sacerdot, 10 years ago

8051/MIPS

File size: 3.2 KB
Line 
1 Description
2-------------
3
4  This is an experimental annotating C compiler that was built upon
5  the CIL parser[1], Xavier Leroy's translation from C to Clight, and
6  an existing back-end compiler for a register transfer language to a
7  subset of the MIPS assembly language[2] or the 8051 microprocessor
8  family. The current version is configured to output 8051 code.
9
10  We wrote 3 compiler passes: one from Clight to Cminor, another from
11  Cminor to an abstract register transfer language (RTLabs), and a
12  last one from RTLabs to an RTL that uses either MIPS or 8051 instructions.
13  We extended interpreters for the intermediate languages to output a
14  list of labels which denote key control points of the program that
15  have been crossed during the interpretation. These labels are the
16  places where the code can be instrumented to obtain a precise cost
17  annotation. Thus, in that experiment, the annotation function is the
18  composition of a labelling function followed by an instrumentation
19  function.
20
21  The architecture of the compiler is described in full details in the
22  documentation of this development, which can be found in this source
23  tree at doc/html/index.html.
24
25[1] http://cil-parser.sourceforge.net/
26[2] http://www.enseignement.polytechnique.fr/informatique/INF564/petit.tar.gz
27
28 Licence
29---------
30
31  This piece of code must not be distributed. It is addressed to the
32  CerCo partners only.
33
34 Requirements
35--------------
36
37  - ocaml    (>= 3.11)
38  - menhir   (>= 20090505)
39  - CIL      (included in the distribution)
40  - GNU Make (>= 3.8)
41  - gcc
42
43 Compilation
44-------------
45
46  You can compile this compiler using the following command:
47
48  % make
49 
50  (assuming that you are located at the root of the source tree)
51
52 Installation
53--------------
54
55  To install the compiler in your favorite system hierarchy, use:
56
57  % PREFIX=your-directory make install
58
59  The executable "acc" will be installed in the subdirectory "bin/" of
60  "your-directory".
61
62 Usage
63-------
64
65Usage: acc.native [options] file...
66  -s      Choose the source language between:
67          Clight, Cminor
68          [default is C]
69  -l      Choose the target language between:
70          Clight, Cminor, RTLabs, RTL, ERTL, LTL, LIN, ASM
71          [default is ASM]
72  -a      Add cost annotations on the source code.
73  -i      Interpret the compiled code.
74  -d      Debugging mode.
75  -dev    Playground for developers.
76  -help   Display this list of options
77  --help  Display this list of options
78
79 Test-suite
80------------
81
82  You can optionnally check that compilation went well by confronting
83  the freshly built compiler to our test-suite. At the root of the
84  source tree, use:
85
86  % make check
87
88 mcu8051ide
89------------
90
91  The object code can be simulated using the mcu8051ide[3] emulator. The code
92  makes use of an external memory and that the usage of such memory is not the
93  default option in mcu8051ide. In order to enable this option, click on the
94  'Project' menu, and then on 'Edit project'. There is a box to enable 'External
95  RAM (XDATA)' and a scrolling bar to specify its size (we suggest to use the
96  maximum possible). Also, since the produced code might be too big for standard
97  memory, it is recommended to enable 'External ROM/FLASH (XCODE)' to its
98  maximum size.
99
100[3] http://mcu8051ide.sourceforge.net/
Note: See TracBrowser for help on using the repository browser.