OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [orpsocv2/] [sw/] [README] - Rev 636

Go to most recent revision | Compare with Previous | Blame | View Log

                                Project software
                                ================

This directory contains software that is intended to be compiled and run on
ORPSoC, and utilities to help format software images.

apps

Standalone programs and utilities designed to run on ORPSoC. Usually these
should be run on a FPGA/ASIC ORPSoC target.

board

This path mainly contains information about the board, in the board.h header
found in the board/include path. Typically each board port of ORPSoC will have
their own board/include/board.h file to indicate the board's specific 
configuration.

bootrom

This is some assembly which is compiled and converted into Verilog, and then
synthesized into a Wishbone ROM module that the processor uses to boot. It is
not really software to run on ORPSoC, rather it is software that ends up 
embedded in ORPSoC. See the README in bootrom for more information.

drivers

Each module requiring a driver will have its own path under this directory. In
the case of a CPU (currently only OR1200), it will also contain all the 
necessary files to support creating of standalone executables (C runtime file,
linker script, etc.) Under each specific driver's path should be an include/
path which contains headers allowing use of the drivers. When using drivers
in a board port that are modified versions of those included in the base sw 
path, the board port's driver will be used over the one in the root sw path.

lib

Generic library softwares, and location of compiled liborpsoc.a library.

Makefile.inc

Main Makefile fragment included by all other makefiles when building things. The
author is not the best at GNU make, so if anything is done a silly way, please
feel free to fix it and commit this back. The better this file is, the easier
this convoluted software setup will be to use.

README

This README.

tests

This path contains software intended to test particular modules of ORPSoC. Each
is separated into tests intended to be run in simulation (sim/) and on a "board"
or physical ORPSoC target.

utils

A path containing utilities, built for the host system, which will help in the
generation of the programming files.


                                liborpsoc

All of the drivers, and generic library functions are compiled into a library
called liborpsoc.a which ends up in sw/lib. This is linked against by all 
test software and standalone applications included here. This alleviates any
need for the toolchain to contain a C library, although limits the capabilities
of the library, however if anything special functions are needed, it's easy
enough to add them to the existing functions in lib/lib-utils.c.

                                Building

The simulation makefiles should take care of this, but to test building 
liborpsoc.a change into sw/lib and run "make liborpsoc.a".
To test building an executable, go into one of the test directories and run
"make test-name.elf" where "test-name" is the name of a valid test file.

                                Cleaning

To clean the software, run "make distclean" in sw/lib.



Author: Julius Baxter, julius@opencores.org

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.