scoutos / prex-0.9.0 / doc / README @ 03e9c04a
History | View | Annotate | Download (2.96 KB)
1 |
|
---|---|
2 |
Prex Operating System |
3 |
|
4 |
|
5 |
What is Prex? |
6 |
============= |
7 |
|
8 |
The Prex project is an open source initiative to provide a portable |
9 |
real-time operating system for embedded systems. Prex is designed |
10 |
specifically for small footprint platforms. It is written in C language |
11 |
from scratch based on a traditional micro kernel architecture. |
12 |
|
13 |
The Prex kernel provides only fundamental features for task, thread, memory, |
14 |
ipc, exception, and synchronization. The other basic OS functions such |
15 |
like process, file system, application loading, and networking are provided |
16 |
by user mode servers on top of the Prex kernel. This design allows systems |
17 |
to execute both of native real-time task and generic UNIX process |
18 |
simultaneously, without degrading the real-time performance. Futhermore, it |
19 |
helps the platform designer to construct OS by choosing appropriate server |
20 |
tasks for their target requirements. |
21 |
|
22 |
|
23 |
Licensing |
24 |
========= |
25 |
|
26 |
Prex is royalty-free software released under BSD License. |
27 |
|
28 |
|
29 |
Current Port |
30 |
============ |
31 |
|
32 |
Available port (arch-platform): |
33 |
|
34 |
- x86-pc |
35 |
- arm-gba |
36 |
- arm-integrator |
37 |
- ppc-prep |
38 |
|
39 |
|
40 |
How to Build? |
41 |
============= |
42 |
|
43 |
Step 1: Prepare Toolchain |
44 |
|
45 |
The following packages are required for compiling Prex. |
46 |
- GCC 2.95.3 or later |
47 |
- GNU Binutils 2.15 or later |
48 |
- GNU Make 3.81 or later |
49 |
|
50 |
The toolchain should be built appropriately for your target |
51 |
architecture to cross-compile Prex. |
52 |
|
53 |
Step 2: Prepare Sources |
54 |
|
55 |
Unpack the sources and move to the top level directory of the source tree. |
56 |
|
57 |
$ cd /usr/src |
58 |
$ tar zxvf prex-X.X.X.tar.gz |
59 |
$ cd prex-X.X.X |
60 |
|
61 |
Step 3: Configure |
62 |
|
63 |
Setup target architecture and platform. |
64 |
The following sample shows for x86-pc target. |
65 |
|
66 |
$ ./configure --target=x86-pc |
67 |
|
68 |
If you cross compile Prex from a different architecture and/or OS, |
69 |
you have to set --cross-compile option. Please check other options |
70 |
with --help option for 'configure'. |
71 |
|
72 |
Step 4: Build |
73 |
|
74 |
Run make (and pray :) |
75 |
|
76 |
$ make |
77 |
|
78 |
|
79 |
Note) If you want to run 'make' at the subdirectory, you have to set the |
80 |
SRCDIR as follow. |
81 |
|
82 |
$ export SRCDIR=/usr/src/prex-X.X.X |
83 |
|
84 |
|
85 |
Directory Structure |
86 |
=================== |
87 |
|
88 |
Prex source code is divided into the following directories: |
89 |
|
90 |
/conf System configuration files |
91 |
|
92 |
/mk Common Makefiles |
93 |
|
94 |
/include Common include files |
95 |
|
96 |
/sys Prex microkernel |
97 |
/include Kernel headers |
98 |
/lib Common kernel library |
99 |
/ipc Inter process communication support |
100 |
/kern Kernel main code |
101 |
/mem Memory management code |
102 |
/sync Synchronize related code |
103 |
|
104 |
/bsp Board support package |
105 |
/boot Boot loader |
106 |
/drv Device driver module |
107 |
/hal Hardware abstraction layer |
108 |
|
109 |
/usr User mode programs |
110 |
/arch Architecture dependent code |
111 |
/bin User command binaries |
112 |
/include Header files |
113 |
/lib User libraries |
114 |
/server System servers |
115 |
/sbin System utilities |
116 |
/test Function test programs |
117 |
/sample Sample programs |
118 |
|
119 |
|
120 |
Project Website |
121 |
=============== |
122 |
|
123 |
More information about Prex can be found at: |
124 |
|
125 |
http://prex.sourceforge.net |
126 |
|
127 |
|
128 |
Author |
129 |
====== |
130 |
|
131 |
Kohsuke Ohtani <kohtani@users.sourceforge.net> |
132 |
|
133 |
Have fun! ;) |