OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [orpsocv2/] [sw/] [README] - Blame information for rev 658

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

Line No. Rev Author Line
1 349 julius
                                Project software
2
                                ================
3
 
4 396 julius
This directory contains software that is intended to be compiled and run on
5
ORPSoC, and utilities to help format software images.
6 349 julius
 
7 396 julius
apps
8 349 julius
 
9 396 julius
Standalone programs and utilities designed to run on ORPSoC. Usually these
10
should be run on a FPGA/ASIC ORPSoC target.
11 349 julius
 
12 396 julius
board
13 349 julius
 
14 396 julius
This path mainly contains information about the board, in the board.h header
15
found in the board/include path. Typically each board port of ORPSoC will have
16
their own board/include/board.h file to indicate the board's specific
17
configuration.
18 349 julius
 
19 396 julius
bootrom
20 349 julius
 
21 396 julius
This is some assembly which is compiled and converted into Verilog, and then
22
synthesized into a Wishbone ROM module that the processor uses to boot. It is
23
not really software to run on ORPSoC, rather it is software that ends up
24
embedded in ORPSoC. See the README in bootrom for more information.
25 349 julius
 
26 396 julius
drivers
27 349 julius
 
28 396 julius
Each module requiring a driver will have its own path under this directory. In
29
the case of a CPU (currently only OR1200), it will also contain all the
30
necessary files to support creating of standalone executables (C runtime file,
31
linker script, etc.) Under each specific driver's path should be an include/
32
path which contains headers allowing use of the drivers. When using drivers
33
in a board port that are modified versions of those included in the base sw
34
path, the board port's driver will be used over the one in the root sw path.
35 349 julius
 
36 396 julius
lib
37 349 julius
 
38 396 julius
Generic library softwares, and location of compiled liborpsoc.a library.
39 349 julius
 
40 396 julius
Makefile.inc
41 349 julius
 
42 396 julius
Main Makefile fragment included by all other makefiles when building things. The
43
author is not the best at GNU make, so if anything is done a silly way, please
44
feel free to fix it and commit this back. The better this file is, the easier
45
this convoluted software setup will be to use.
46 349 julius
 
47 396 julius
README
48 349 julius
 
49 396 julius
This README.
50 349 julius
 
51 396 julius
tests
52 349 julius
 
53 396 julius
This path contains software intended to test particular modules of ORPSoC. Each
54
is separated into tests intended to be run in simulation (sim/) and on a "board"
55
or physical ORPSoC target.
56 349 julius
 
57 396 julius
utils
58 349 julius
 
59 396 julius
A path containing utilities, built for the host system, which will help in the
60
generation of the programming files.
61 349 julius
 
62
 
63 396 julius
                                liborpsoc
64 349 julius
 
65 396 julius
All of the drivers, and generic library functions are compiled into a library
66
called liborpsoc.a which ends up in sw/lib. This is linked against by all
67
test software and standalone applications included here. This alleviates any
68
need for the toolchain to contain a C library, although limits the capabilities
69
of the library, however if anything special functions are needed, it's easy
70
enough to add them to the existing functions in lib/lib-utils.c.
71 349 julius
 
72 396 julius
                                Building
73 349 julius
 
74 396 julius
The simulation makefiles should take care of this, but to test building
75
liborpsoc.a change into sw/lib and run "make liborpsoc.a".
76
To test building an executable, go into one of the test directories and run
77
"make test-name.elf" where "test-name" is the name of a valid test file.
78 349 julius
 
79 396 julius
                                Cleaning
80 349 julius
 
81 449 julius
To clean the software, run "make distclean" in sw/lib.
82 349 julius
 
83
 
84
 
85 396 julius
Author: Julius Baxter, julius@opencores.org

powered by: WebSVN 2.1.0

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