Version 7 (modified by 15 years ago) (diff) | ,
---|
UNDER DEVELOPMENT
MPC7447A Processor Functional Description
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). This model is still in development and currently uses IssWrapper to connect the ISS to the VCI xcache. The model should run applications not requiring the standard PowerPC MMU, and the PowerPC specific TLB and cache instructions.
Compiling the ISS
Some additionnal step are necessary to compile the model that will be removed once the model will be stable enough. The model needs three things to compile:
- the macro SOCLIB must be defined: add '-DSOCLIB' to 'cflags'
- libxml2 development headers must be installed: add -L/usr/include/libxml2 to the 'cflags' and -lxml2 to the 'libs'
- UNISIM Library somewhere on the file system and do a symbolic link into source and include directories. The following shell commands should be enough to do the job as long as SoCLib utilities (especially soclib-cc tool) are in you PATH:
$ svn --username guest --password "" export https://unisim.org/svn/devel/unisim_lib/unisim@10987 $ export SOCLIB=`soclib-cc --getpath` $ ln -s unisim ${SOCLIB}/soclib/lib/mpc7447a/src/iss/unisim $ ln -s unisim ${SOCLIB}/soclib/lib/mpc7447a/include/iss/unisim
Here is a sample for '~/.soclib/global.conf' to make it compile:
# -*- python -*- # Maintainers: nipo def _platform(): """ Retrieves platform information and make it look-like systemc's lib-xxx thing. Working so far with: * linux * darwin """ import sys pf = sys.platform # Strip numeric suffix from platform name while pf[-1] in "0123456789": pf = pf[:-1] remap_pf = {'darwin':'macosx'} if pf in remap_pf: pf = remap_pf[pf] return pf config.systemc = Config( base = config.systemc, dir = "${SYSTEMC}", os = _platform(), ) config.mytoolchain = Config( base= config.toolchain, cflags=['-DSOCLIB', '-I/usr/include/libxml2'], libs=['-lxml2', '-lbfd'] ) config.default = Config( base = config.build_env, systemc = config.systemc, toolchain = config.mytoolchain, repos = "/tmp/build/sc", )
Example platform
An example platform is available in directory soclib/soclib/platform/topcells/caba-vgmn-mpc7447a It uses one MPC7447A module (Wrapped ISS), one VGMN interconnect module, two memory banks, and one output console (TTY). 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.
Attachments (1)
-
caba-vgmn-mpc7447a-tty-soft.png (21.4 KB) - added by 15 years ago.
Screenhost of an MPC7447A application printing the Fibonnacci numbers over a TTY
Download all attachments as: .zip