system.tmplt 4.57 KB
Newer Older
1
2
@@-- The following tags are available in this template:
@@--
3
@@-- @_Nodes_@               : Code generated for the nodes
4
5
6
@@-- @_Node_Names_@          : Vector Tag of node names
@@-- @_Node_CPU_@            :  |_ Corresponding CPU name (eg x86_linux)
@@-- @_Node_CPU_Classifier_@ :  |_ CPU Classifier (ocarina...::x86_linux)
7
@@-- @_Node_Major_Frame_@    :  |_ Time in milliseconds allocated to the CPU (TSP only)
8
9
10
@@-- @_Partition_Names_@     : Vector Tag of partition names
@@-- @_Partition_Node_@      :  |_ Corresponding node name
@@-- @_Partition_CPU_@       :  |_ Corresponding CPU name
11
12
13
@@-- @_Partition_Duration_@  :  |_ Corresponding time allocation (TSP only)
@@-- @_Partition_VP_@        :  |_ Virtual processor binding (TSP only)
@@-- @_Threads_@             : Code generated for the threads
14
15
@@-- @_Thread_Names_@        : List of all threads in the complete system
@@-- @_Target_Packages_@     : List of all target package names in the complete system
16
17
18
@@-- @_Part_Source_Name_@    : Inter-partition connections : partition source name (vector tag)
@@-- @_Part_Source_Port_@    :   |_ Corresponding port name
@@-- @_Part_Dest_Name_@      :   |_ Corresponding name of the remote partition
19
@@-- @_Part_Dest_Port_@      :   |_ Corresponding name of the port on the remote partition
Maxime Perrotin's avatar
Maxime Perrotin committed
20
21
22
@@-- @_Bus_Names_@           : Vector tag: busses present in the system
@@-- @_Bus_AADL_Package_@    :   |_ corresponding AADL Package
@@-- @_Bus_Classifier_@      :   |_ corresponding AADL classifier
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@@-- @_Device_Names_@
@@-- @_Device_Node_Name_@
@@-- @_Device_Partition_@    -- Partition name associated to the driver (currently only one supported per node)
@@-- @_Device_AADL_Pkg_@
@@-- @_Device_Classifier_@
@@-- @_Device_CPU_@
@@-- @_Device_Config_@
@@-- @_Device_Bus_Name_@
@@-- @_Device_Port_Name_@
@@-- @_Device_ASN1_File_@
@@-- @_Device_ASN1_Sort_@
@@-- @_Device_ASN1_Module_@  : Device drivers (vector tag)
@@-- @_Unique_Dev_ASN1_Files_@ : List of ASN.1 files/module/type for device configuration with no duplicates (vector tag)
@@-- @_Unique_Dev_ASN1_Mod_@       |_  corresponding asn1 module
@@-- @_Unique_Dev_ASN1_Sorts_@     |_  type name
@@-- @_Connect_From_Part_@   : Vector tag - bus connection: partition source
@@-- @_Connect_Via_Bus_@          |_ bus name
@@-- @_Connect_Port_Name_@        |_ port name
41
42
43
44
@@-- And all the system configuration obtained from the command line:
@@-- Interface_View, Deployment_View, Data_View, Binary_Path, Check_Data_View,
@@-- Output_Dir, Skeletons, Glue, Use_POHIC, Timer_Resolution, Debug_Flag,
@@-- No_Stdlib_Flag, Timer_Resolution, Other_Files (list of aadl files)
Maxime Perrotin's avatar
Maxime Perrotin committed
45
@@INLINE()( )()@@
46
all:
Maxime Perrotin's avatar
Maxime Perrotin committed
47
@@TABLE@@
Maxime Perrotin's avatar
Maxime Perrotin committed
48
@_LOWER:Node_Names_@_native
Maxime Perrotin's avatar
Maxime Perrotin committed
49
@@END_TABLE@@
50
51
52
@@IF@@ @_Device_Names'Length_@ > 0
DriversConfig/drivers_config.h
@@END_IF@@
53
@@END_INLINE@@
54
	ocarina -x main.aadl
55
@@TABLE@@
Maxime Perrotin's avatar
Maxime Perrotin committed
56
	make -j -C @_Node_Names_@ -f Makefile.@_Node_Names_@
57
58
@@END_TABLE@@

Maxime Perrotin's avatar
Maxime Perrotin committed
59
60
61
62
63
@@INLINE()( )()@@
rtems_ada:
@@TABLE@@
@_LOWER:Node_Names_@_rtems_ada
@@END_TABLE@@
64
65
66
@@IF@@ @_Device_Names'Length_@ > 0
DriversConfig/drivers_config.h
@@END_IF@@
Maxime Perrotin's avatar
Maxime Perrotin committed
67
@@END_INLINE@@
68
	ocarina -x main.aadl
Maxime Perrotin's avatar
Maxime Perrotin committed
69
@@TABLE@@
Maxime Perrotin's avatar
Maxime Perrotin committed
70
	make -j -C @_Node_Names_@ -f Makefile.@_Node_Names_@ debug_rtems_leon3_with_ada
Maxime Perrotin's avatar
Maxime Perrotin committed
71
72
@@END_TABLE@@

73
74
75
76
77
78
@@INLINE()( )()@@
air:
@@TABLE@@
@_LOWER:Node_Names_@_air
@@END_TABLE@@
@@END_INLINE@@
79
	ocarina -x main.aadl
80
@@TABLE@@
81
82
83
84
85
86
87
88
	# generate the xml file for AIR and call AIR's configure script
	ocarina -aadlv2 -v -disable-annexes=emv2 -g air_configuration \
                -r deploymentview.final system.aadl deployment.aadl \
                Cheddar_Properties.aadl arinc653.aadl data_model.aadl \
                TASTE_IV_Properties.aadl TASTE_DV_Properties.aadl \
                taste_properties.aadl base_types.aadl \
                ../../DataView.aadl ../../InterfaceView.aadl ../../DeploymentView.aadl \
                ../../../common/ocarina_components.aadl && \
89
        cd deploymentview_final && rm -f Makefile && (configure --keep-files-silent)
90
	@echo "XML generated, AIR configuration done, building..."
Maxime Perrotin's avatar
Maxime Perrotin committed
91
	make -j -C @_Node_Names_@ -f Makefile.@_Node_Names_@ air
92
	@echo Putting partitions alltogether
Maxime Perrotin's avatar
Maxime Perrotin committed
93
	make -j -f Makefile.air && mkdir -p ../binaries && cp deploymentview_final/executable/* ../binaries
94
95
@@END_TABLE@@

96
97
98
99
100
101
102
@@--  If there are busses, there are drivers, and therefore asn1 configurations
@@IF@@ @_Bus_Names'Length_@ > 0
DriversConfig/drivers_config.h:	drivers_config.asn
	mkdir -p DriversConfig
	asn1.exe -o DriversConfig -c drivers_config.asn @_REPLACE_ALL(,/ ):UNIQ(,):Device_ASN1_File_@
@@END_IF@@

103
@_Nodes_@
104
105
106
107
108
109

clean:
@@TABLE@@
	make -C @_Node_Names_@ -f Makefile.@_Node_Names_@ clean
	rm -rf *_adainit deploymentview_final
@@END_TABLE@@
110

Maxime Perrotin's avatar
Maxime Perrotin committed
111
.PHONY:	@_REPLACE_ALL(,/):LOWER:Block_Names_@