1 | | UNDER DEVELOPMENT |
2 | | |
3 | | |
4 | | == MPC7447A Processor Functional Description == |
5 | | |
6 | | This hardware component is a Freescale MPC7447A, a 32-bit implementation of the PowerPC architecture used for both general purpose (PowerMacintosh and CHRP machines) and embedded applications (industrial and network). |
7 | | This model is still in development and currently uses [wiki:Component/IssWrapper IssWrapper] to connect the ISS to the VCI xcache. |
8 | | The model should run applications not requiring the standard PowerPC MMU, and the PowerPC specific TLB and cache instructions. |
9 | | |
10 | | == Compiling the ISS == |
11 | | |
12 | | Some additionnal step are necessary to compile the model that will be removed once the model will be stable enough. |
13 | | The model needs three things to compile: |
14 | | * the macro SOCLIB must be defined: add '-DSOCLIB' to 'cflags' |
15 | | * libxml2 development headers must be installed: add -L/usr/include/libxml2 to the 'cflags' and -lxml2 to the 'libs' |
16 | | * UNISIM Library somewhere on the file system and do a symbolic link into source and include directories. |
17 | | The following shell commands should be enough to do the job as long as SoCLib utilities (especially soclib-cc tool) are in you PATH: |
18 | | |
19 | | {{{ |
20 | | $ svn --username guest --password "" export https://unisim.org/svn/devel/unisim_lib/unisim@10987 |
21 | | $ export SOCLIB=`soclib-cc --getpath` |
22 | | $ ln -s unisim ${SOCLIB}/soclib/lib/mpc7447a/src/iss/unisim |
23 | | $ ln -s unisim ${SOCLIB}/soclib/lib/mpc7447a/include/iss/unisim |
24 | | }}} |
25 | | |
26 | | Here is a sample for '~/.soclib/global.conf' to make it compile: |
27 | | |
28 | | {{{ |
29 | | def _platform(): |
30 | | """ |
31 | | Retrieves platform information and make it look-like systemc's |
32 | | lib-xxx thing. |
33 | | |
34 | | Working so far with: |
35 | | * linux |
36 | | * darwin |
37 | | """ |
38 | | import sys |
39 | | pf = sys.platform |
40 | | # Strip numeric suffix from platform name |
41 | | while pf[-1] in "0123456789": |
42 | | pf = pf[:-1] |
43 | | |
44 | | remap_pf = {'darwin':'macosx'} |
45 | | if pf in remap_pf: |
46 | | pf = remap_pf[pf] |
47 | | return pf |
48 | | |
49 | | config.systemc = Config( |
50 | | base = config.systemc, |
51 | | dir = "${SYSTEMC}", |
52 | | os = _platform(), |
53 | | ) |
54 | | |
55 | | config.mytoolchain = Config( |
56 | | base= config.toolchain, |
57 | | cflags=['-DSOCLIB', '-I/usr/include/libxml2'], |
58 | | libs=['-lxml2', '-lbfd'] |
59 | | ) |
60 | | |
61 | | config.default = Config( |
62 | | base = config.build_env, |
63 | | systemc = config.systemc, |
64 | | toolchain = config.mytoolchain, |
65 | | repos = "/tmp/build/sc", |
66 | | ) |
67 | | }}} |
68 | | |
69 | | |
70 | | == Example platform == |
71 | | |
72 | | An example platform is available in directory soclib/soclib/platform/topcells/caba-vgmn-mpc7447a |
73 | | It uses one MPC7447A module (Wrapped ISS), one VGMN interconnect module, two memory banks, and one output console (TTY). |
74 | | An software example is provided. The software includes a primitive firmware with some installed exceptions handlers and a primitive library to write characters on the TTY. |
75 | | |
76 | | [[Image(caba-vgmn-mpc7447a-tty-soft.png)]] |
| 1 | This component is deprecated and got removed at [1673]. |
| 2 | If you want to try (without support), you can search through history of this page and SVN. |