root / prex-0.9.0 / doc / README @ c63c9752
History | View | Annotate | Download (2.96 KB)
1 | 03e9c04a | Brad Neuman | |
---|---|---|---|
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! ;) |