]> rtime.felk.cvut.cz Git - orte.git/blob - README.rtems
Document and made more straightforward RTEMS build.
[orte.git] / README.rtems
1 Instructions how to compile ORTE for RTEMS
2 ==========================================
3
4 Build process of ORTE for RTEMS differs from build
5 for Linux and Windows even that all required changes
6 to actual source files are included in the common
7 source base.
8
9 The build for RTEMS requires access to the RTEMS BSP
10 and executive include files and libraries in addition
11 to selection cross-compiler and associeted C library
12 files. It should be possible through autoconf/configure
13 options but we have not tested that approach because
14 we use OMK system for many of our Linux, RTEMS, etc.
15 projects and OMK provides rules suatable for RTEMS
16 projects.
17
18 See OMK homepage for more details about OMK
19
20   http://rtime.felk.cvut.cz/omk/
21
22 Example/template application (rtems-omk-template)
23 for RTEMS OMK project is provided in repository
24
25   http://rtime.felk.cvut.cz/gitweb/rtems-devel.git
26
27 The RTEMS specific OMK rules are used for ORTE build
28
29   cp Makefile.rules.rtems Makefile.rules
30
31 Then RTEMS target BSP is selected by specifying
32 RTEMS_MAKEFILE_PATH definition written into "config.target"
33 file
34
35   echo /opt/rtems4.10/powerpc-rtems4.10/icecube >config.target
36
37 This declaration selects directory where RTEMS Makefile.inc
38 file for given BSP is located.
39
40 The ORTE components can be configured in "config.omk" file
41
42   echo "# ORTE for RTEMS configuration"         >config.omk
43
44 The RTEMS cannot run multiple processes. It is not problem
45 for RTEMS because it allows to specify and maintain multiple
46 domains and applications in single address space. Even ORTE
47 manager can be started directly from user application.
48 But standalone applications are used for testing
49 and standalone manager is easiest way to start development
50 too. The problem of independent starting of multiple
51 services in RTEMS environment had been solved by providing
52 applications as libraries with renamed C main() function.
53 This arangement is selected for manager by
54
55   echo CONFIG_OC_ETH_ORTE_MANAGER_AS_LIBRARY=y  >>config.omk
56
57 The same way examples and their build as libraries can be selcted
58
59   echo CONFIG_OC_ETH_ORTE_EXAMPLES=y            >>config.omk
60   echo CONFIG_OC_ETH_ORTE_EXAMPLES_AS_LIBRARY=y >>config.omk
61
62
63  and that means that
64
65
66 CONFIG_OC_ETH_ORTE=y
67 CONFIG_OC_ETH_ORTE_SOLIB=n
68 CONFIG_OC_ETH_ORTE_RTL=n
69 CONFIG_OC_ETH_ORTE_MANAGER=y
70 CONFIG_OC_ETH_ORTE_RTEMS_SHELL=y
71 #CONFIG_OC_ETH_JORTE=y
72 #CONFIG_OC_JAVA_ORTE=y
73 CONFIG_OC_ETH_ORTE_DEMO_SHAPE=n
74
75 CONFIG_OC_ETH_ORTE_IDL=n