Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
Ocarina
Commits
7f26a5d3
Commit
7f26a5d3
authored
May 04, 2015
by
yoogx
Browse files
Merge branch 'master' of
https://github.com/OpenAADL/ocarina
parents
ae1d29ba
6887e156
Changes
9
Hide whitespace changes
Inline
Side-by-side
src/backends/ocarina-backends-c_common-mapping.adb
View file @
7f26a5d3
...
...
@@ -1365,10 +1365,22 @@ package body Ocarina.Backends.C_Common.Mapping is
-------------------------
function
Map_Scade_Parameter
(
Parameter
:
Node_Id
)
return
Node_Id
is
Scade_Name
:
Name_Id
;
begin
Get_Name_String
(
Get_Scade_Signal
(
Parameter
)
)
;
Scade_Name
:=
Get_Scade_Signal
(
Parameter
);
return
CTU
.
Make_Defining_Identifier
(
Name_Find
,
C_Conversion
=>
False
);
if
Scade_Name
=
No_Name
then
Scade_Name
:=
Get_Source_Name
(
Parameter
);
end
if
;
if
Scade_Name
=
No_Name
then
Display_Located_Error
(
AIN
.
Loc
(
Parameter
),
"The Parameter does not specify a SCADE mapping"
,
Fatal
=>
True
);
end
if
;
return
CTU
.
Make_Defining_Identifier
(
Scade_Name
,
C_Conversion
=>
False
);
end
Map_Scade_Parameter
;
----------------------
...
...
@@ -2445,8 +2457,8 @@ package body Ocarina.Backends.C_Common.Mapping is
when
Subprogram_Simulink
=>
Add_Include
(
Make_Include_Clause
(
Make_Defining_Identifier
(
Get_Source_Name
(
S
),
Fals
e
),
Fals
e
),
(
Make_Defining_Identifier
(
Get_Source_Name
(
S
),
Tru
e
),
Tru
e
),
True
);
if
not
AINU
.
Is_Empty
(
Features
(
S
))
then
...
...
@@ -2528,7 +2540,7 @@ package body Ocarina.Backends.C_Common.Mapping is
when
Subprogram_Scade
=>
Add_Include
(
Make_Include_Clause
(
Map_Scade_Function_Name
(
S
)),
(
Make_Include_Clause
(
Map_Scade_Function_Name
(
S
)
,
True
),
Preserve_Case
=>
True
);
-- At first, we declare structures used as parameters
-- for SCADE functions. So, if the subprograms has IN
...
...
src/backends/ocarina-backends-deos_conf-schedule.adb
View file @
7f26a5d3
...
...
@@ -177,8 +177,8 @@ package body Ocarina.Backends.Deos_Conf.Schedule is
-- For now, we assume the partition duration
-- is in milliseconds.
--
Slot_Duration
:=
To_
Milli
seconds
(
Module_Schedule
(
J
).
Duration
)
*
1_000_000
;
Slot_Duration
:=
To_
Nano
seconds
(
Module_Schedule
(
J
).
Duration
);
XTU
.
Add_Attribute
(
"Duration"
,
Trim
(
Unsigned_Long_Long
'
Image
(
Slot_Duration
),
Left
),
...
...
src/backends/ocarina-backends-vxworks653_conf-connections.adb
View file @
7f26a5d3
-- with Locations;
with
Ada
.
Strings
;
use
Ada
.
Strings
;
with
Ada
.
Strings
.
Fixed
;
use
Ada
.
Strings
.
Fixed
;
with
Ocarina
.
Backends
.
Utils
;
with
Ocarina
.
Namet
;
use
Ocarina
.
Namet
;
with
Ocarina
.
ME_AADL
;
...
...
@@ -28,6 +32,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
Root_Node
:
Node_Id
:=
No_Node
;
Connections_Node
:
Node_Id
:=
No_Node
;
Channel_Identifier
:
Unsigned_Long_Long
:=
0
;
procedure
Visit_Architecture_Instance
(
E
:
Node_Id
);
procedure
Visit_Component_Instance
(
E
:
Node_Id
);
...
...
@@ -133,6 +138,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
Push_Entity
(
P
);
Push_Entity
(
U
);
Channel_Identifier
:=
0
;
Current_XML_Node
:=
XTN
.
Root_Node
(
XTN
.
XML_File
(
U
));
Connections_Node
:=
Make_XML_Node
(
"Connections"
);
...
...
@@ -163,7 +170,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
procedure
Visit_Virtual_Processor_Instance
(
E
:
Node_Id
)
is
Corresponding_Process
:
Node_Id
;
C
o
nne
ction
_Node
:
Node_Id
;
C
ha
nne
l
_Node
:
Node_Id
;
Source_Node
:
Node_Id
;
Destination_Node
:
Node_Id
;
Feature
:
Node_Id
;
...
...
@@ -182,7 +189,12 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
Port_Destination
:=
Item
(
First_Node
(
Destinations
(
Feature
)));
Partition_Destination
:=
Parent_Component
(
Port_Destination
);
Connection_Node
:=
Make_XML_Node
(
"Connection"
);
Channel_Node
:=
Make_XML_Node
(
"Channel"
);
Add_Attribute
(
"Id"
,
Trim
(
Unsigned_Long_Long
'
Image
(
Channel_Identifier
),
Left
),
Channel_Node
);
Source_Node
:=
Make_XML_Node
(
"Source"
);
Add_Attribute
(
"PartitionNameRef"
,
Get_Name_String
...
...
@@ -196,7 +208,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
Source_Node
);
Append_Node_To_List
(
Source_Node
,
XTN
.
Subitems
(
C
o
nne
ction
_Node
));
XTN
.
Subitems
(
C
ha
nne
l
_Node
));
Destination_Node
:=
Make_XML_Node
(
"Destination"
);
Add_Attribute
(
"PortNameRef"
,
...
...
@@ -213,9 +225,11 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
Destination_Node
);
Append_Node_To_List
(
Destination_Node
,
XTN
.
Subitems
(
C
o
nne
ction
_Node
));
Append_Node_To_List
(
C
o
nne
ction
_Node
,
XTN
.
Subitems
(
C
ha
nne
l
_Node
));
Append_Node_To_List
(
C
ha
nne
l
_Node
,
XTN
.
Subitems
(
Connections_Node
));
Channel_Identifier
:=
Channel_Identifier
+
1
;
end
if
;
Feature
:=
Next_Node
(
Feature
);
end
loop
;
...
...
src/backends/ocarina-backends-vxworks653_conf-hm.adb
View file @
7f26a5d3
...
...
@@ -232,10 +232,11 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Error_Id_Level_Node
:=
Make_XML_Node
(
"ErrorIDLevel"
);
XTU
.
Add_Attribute
(
"ErrorIdentifier"
,
"HME_DEFAULT"
,
System_State
_Node
);
Error_Id_Level
_Node
);
XTU
.
Add_Attribute
(
"ErrorLevel"
,
"HM_PARTITION_LVL"
,
System_State_Node
);
Error_Id_Level_Node
);
Append_Node_To_List
(
Error_Id_Level_Node
,
XTN
.
Subitems
(
System_State_Node
));
...
...
@@ -249,10 +250,10 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Error_Id_Level_Node
:=
Make_XML_Node
(
"ErrorIDLevel"
);
XTU
.
Add_Attribute
(
"ErrorIdentifier"
,
"HME_DEFAULT"
,
System_State
_Node
);
Error_Id_Level
_Node
);
XTU
.
Add_Attribute
(
"ErrorLevel"
,
"HM_MODULE_LVL"
,
System_State
_Node
);
Error_Id_Level
_Node
);
Append_Node_To_List
(
Error_Id_Level_Node
,
XTN
.
Subitems
(
System_State_Node
));
...
...
@@ -265,9 +266,9 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Error_Id_Level_Node
:=
Make_XML_Node
(
"ErrorIDLevel"
);
XTU
.
Add_Attribute
(
"ErrorIdentifier"
,
"HME_DEFAULT"
,
System_State
_Node
);
"HME_DEFAULT"
,
Error_Id_Level
_Node
);
XTU
.
Add_Attribute
(
"ErrorLevel"
,
"HM_PROCESS_LVL"
,
System_State
_Node
);
"HM_PROCESS_LVL"
,
Error_Id_Level
_Node
);
Append_Node_To_List
(
Error_Id_Level_Node
,
XTN
.
Subitems
(
System_State_Node
));
...
...
@@ -277,20 +278,6 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
XTU
.
Add_Attribute
(
"Name"
,
"moduleHm"
,
Module_HM_Table_Node
);
Append_Node_To_List
(
Module_HM_Table_Node
,
XTN
.
Subitems
(
HM_Node
));
Settings_Node
:=
Make_XML_Node
(
"Settings"
);
XTU
.
Add_Attribute
(
"maxQueueDepth"
,
"34"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"queueThreShold"
,
"32"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"stackSize"
,
"16384"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"maxLogEntries"
,
"100"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"logEntriesThreshold"
,
"98"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"attributeMask"
,
"0x00000001"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"notificationHandler"
,
""
,
Settings_Node
);
XTU
.
Add_Attribute
(
"notifMaxQueueDepth"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"eventFilterMask"
,
"0x00000000"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"maxErrorHandlerQueueDepth"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"errorHandlerQueueThreshold"
,
"0"
,
Settings_Node
);
Append_Node_To_List
(
Settings_Node
,
XTN
.
Subitems
(
Module_HM_Table_Node
));
System_State_Node
:=
Make_XML_Node
(
"SystemState"
);
Append_Node_To_List
(
System_State_Node
,
XTN
.
Subitems
(
Module_HM_Table_Node
));
...
...
@@ -299,7 +286,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Add_Error_Action
(
System_State_Node
,
"HME_NUMERIC_ERROR"
,
""
);
Add_Error_Action
(
System_State_Node
,
"HME_POWER_FAIL"
,
"hmDH_HME_POWER_FAIL
T
"
);
"HME_POWER_FAIL"
,
"hmDH_HME_POWER_FAIL"
);
Add_Error_Action
(
System_State_Node
,
"HME_KERNEL"
,
"hmDH_HME_KERNEL"
);
Add_Error_Action
(
System_State_Node
,
...
...
@@ -328,7 +315,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Add_Error_Action
(
System_State_Node
,
"HME_HM_DEADLINE_MISSED"
,
"hmDefaultHandler"
);
Add_Error_Action
(
System_State_Node
,
"
HME_
HM_MSG"
,
"hmDH_EventLog"
);
"HM_MSG"
,
"hmDH_EventLog"
);
Add_Error_Action
(
System_State_Node
,
"HME_DEFAULT"
,
"hmDefaultHandler"
);
...
...
@@ -347,6 +334,20 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
end
loop
;
end
if
;
Settings_Node
:=
Make_XML_Node
(
"Settings"
);
XTU
.
Add_Attribute
(
"maxQueueDepth"
,
"34"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"queueThreshold"
,
"32"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"stackSize"
,
"16384"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"maxLogEntries"
,
"100"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"logEntriesThreshold"
,
"98"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"attributeMask"
,
"0x00000001"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"notificationHandler"
,
""
,
Settings_Node
);
XTU
.
Add_Attribute
(
"notifMaxQueueDepth"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"eventFilterMask"
,
"0x00000000"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"maxErrorHandlerQueueDepth"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"errorHandlerQueueThreshold"
,
"0"
,
Settings_Node
);
Append_Node_To_List
(
Settings_Node
,
XTN
.
Subitems
(
Module_HM_Table_Node
));
Pop_Entity
;
Pop_Entity
;
end
Visit_Processor_Instance
;
...
...
@@ -384,33 +385,9 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
XTU
.
Add_Attribute
(
"Name"
,
Get_Name_String
(
Map_Partition_Name
(
Virtual_Processor
))
&
"_hm"
,
&
"_hm
table
"
,
Partition_HM_Table_Node
);
Settings_Node
:=
Make_XML_Node
(
"Settings"
);
XTU
.
Add_Attribute
(
"maxQueueDepth"
,
"34"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"queueThreShold"
,
"32"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"stackSize"
,
"16384"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"maxLogEntries"
,
"100"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"logEntriesThreshold"
,
"98"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"attributeMask"
,
"0x00000001"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"notificationHandler"
,
""
,
Settings_Node
);
XTU
.
Add_Attribute
(
"notifMaxQueueDepth"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"eventFilterMask"
,
"0xFFFFFFFF"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"maxErrorHandlerQueueDepth"
,
"128"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"errorHandlerQueueThreshold"
,
"126"
,
Settings_Node
);
Append_Node_To_List
(
Settings_Node
,
XTN
.
Subitems
(
Partition_HM_Table_Node
));
Trusted_Partition_Node
:=
Make_XML_Node
(
"TrustedPartition"
);
XTU
.
Add_Attribute
(
"NameRef"
,
Get_Name_String
(
Map_Partition_Name
(
Virtual_Processor
)),
Trusted_Partition_Node
);
Append_Node_To_List
(
Trusted_Partition_Node
,
XTN
.
Subitems
(
Settings_Node
));
System_State_Node
:=
Make_XML_Node
(
"SystemState"
);
Append_Node_To_List
(
System_State_Node
,
XTN
.
Subitems
(
Partition_HM_Table_Node
));
...
...
@@ -419,7 +396,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Add_Error_Action
(
System_State_Node
,
"HME_NUMERIC_ERROR"
,
""
);
Add_Error_Action
(
System_State_Node
,
"HME_POWER_FAIL"
,
"hmDH_HME_POWER_FAIL
T
"
);
"HME_POWER_FAIL"
,
"hmDH_HME_POWER_FAIL"
);
Add_Error_Action
(
System_State_Node
,
"HME_KERNEL"
,
"hmDH_HME_KERNEL"
);
Add_Error_Action
(
System_State_Node
,
...
...
@@ -448,9 +425,34 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Add_Error_Action
(
System_State_Node
,
"HME_HM_DEADLINE_MISSED"
,
"hmDefaultHandler"
);
Add_Error_Action
(
System_State_Node
,
"
HME_
HM_MSG"
,
"hmDH_EventLog"
);
"HM_MSG"
,
"hmDH_EventLog"
);
Add_Error_Action
(
System_State_Node
,
"HME_DEFAULT"
,
"hmDefaultHandler"
);
Settings_Node
:=
Make_XML_Node
(
"Settings"
);
XTU
.
Add_Attribute
(
"maxQueueDepth"
,
"34"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"queueThreshold"
,
"32"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"stackSize"
,
"16384"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"maxLogEntries"
,
"100"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"logEntriesThreshold"
,
"98"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"attributeMask"
,
"0x00000001"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"notificationHandler"
,
""
,
Settings_Node
);
XTU
.
Add_Attribute
(
"notifMaxQueueDepth"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"eventFilterMask"
,
"0xFFFFFFFF"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"maxErrorHandlerQueueDepth"
,
"128"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"errorHandlerQueueThreshold"
,
"126"
,
Settings_Node
);
Append_Node_To_List
(
Settings_Node
,
XTN
.
Subitems
(
Partition_HM_Table_Node
));
Trusted_Partition_Node
:=
Make_XML_Node
(
"TrustedPartition"
);
XTU
.
Add_Attribute
(
"NameRef"
,
Get_Name_String
(
Map_Partition_Name
(
Virtual_Processor
)),
Trusted_Partition_Node
);
Append_Node_To_List
(
Trusted_Partition_Node
,
XTN
.
Subitems
(
Settings_Node
));
return
Partition_HM_Table_Node
;
end
Generate_Partition_HM_Table
;
...
...
src/backends/ocarina-backends-vxworks653_conf-mapping.adb
View file @
7f26a5d3
...
...
@@ -11,7 +11,7 @@ with Ocarina.ME_AADL.AADL_Instances.Entities;
with
Ocarina
.
Backends
.
Utils
;
with
Ocarina
.
Backends
.
Messages
;
with
Ocarina
.
Backends
.
XML_Common
.
Mapping
;
--
with Ocarina.Backends.XML_Common.Mapping;
with
Ocarina
.
Backends
.
XML_Values
;
with
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
with
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
...
...
@@ -23,7 +23,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
use
Ocarina
.
ME_AADL
.
AADL_Instances
.
Entities
;
use
Ocarina
.
Backends
.
Utils
;
use
Ocarina
.
Backends
.
Messages
;
use
Ocarina
.
Backends
.
XML_Common
.
Mapping
;
--
use Ocarina.Backends.XML_Common.Mapping;
use
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
use
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
...
...
@@ -845,99 +845,6 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
end
Map_Process_Scheduling
;
--------------
-- Map_Port --
--------------
function
Map_Port
(
F
:
Node_Id
)
return
Node_Id
is
N
:
Node_Id
;
P
:
Node_Id
;
Q
:
Node_Id
;
R
:
Node_Id
;
begin
if
AIN
.
Is_Event
(
F
)
and
then
AIN
.
Is_Data
(
F
)
then
N
:=
Make_XML_Node
(
"Queueing_Port"
);
elsif
AIN
.
Is_Data
(
F
)
and
then
not
AIN
.
Is_Event
(
F
)
then
N
:=
Make_XML_Node
(
"Sampling_Port"
);
else
return
No_Node
;
end
if
;
-- Add the direction of the port as attribute
Set_Str_To_Name_Buffer
(
"Direction"
);
P
:=
Make_Defining_Identifier
(
Name_Find
);
if
AIN
.
Is_In
(
F
)
and
then
not
AIN
.
Is_Out
(
F
)
then
Set_Str_To_Name_Buffer
(
"DESTINATION"
);
elsif
AIN
.
Is_Out
(
F
)
and
then
not
AIN
.
Is_In
(
F
)
then
Set_Str_To_Name_Buffer
(
"SOURCE"
);
else
return
No_Node
;
end
if
;
Q
:=
Make_Defining_Identifier
(
Name_Find
);
Append_Node_To_List
(
Make_Assignement
(
P
,
Q
),
XTN
.
Items
(
N
));
-- Add the name of the port as an attribute
Set_Str_To_Name_Buffer
(
"Name"
);
R
:=
Make_Defining_Identifier
(
Name_Find
);
Q
:=
Make_Defining_Identifier
(
To_XML_Name
(
Display_Name
(
Identifier
(
F
))));
Append_Node_To_List
(
Make_Assignement
(
R
,
Q
),
XTN
.
Items
(
N
));
if
AIN
.
Is_Data
(
F
)
and
then
not
AIN
.
Is_Event
(
F
)
then
Set_Str_To_Name_Buffer
(
"RefreshRateSeconds"
);
R
:=
Make_Defining_Identifier
(
Name_Find
);
if
Get_POK_Refresh_Time
(
F
)
/=
Null_Time
then
Q
:=
Make_Literal
(
XV
.
New_Floating_Point_Value
(
To_Seconds
(
Get_POK_Refresh_Time
(
F
))));
else
Q
:=
Map_Time
(
Null_Time
);
end
if
;
Append_Node_To_List
(
Make_Assignement
(
R
,
Q
),
XTN
.
Items
(
N
));
elsif
AIN
.
Is_Data
(
F
)
and
then
AIN
.
Is_Event
(
F
)
then
Set_Str_To_Name_Buffer
(
"MaxNbMessages"
);
P
:=
Make_Defining_Identifier
(
Name_Find
);
if
Get_Queue_Size
(
F
)
/=
-
1
then
Q
:=
Make_Literal
(
XV
.
New_Numeric_Value
(
Unsigned_Long_Long
(
Get_Queue_Size
(
F
)),
1
,
10
));
else
Q
:=
Make_Literal
(
XV
.
New_Numeric_Value
(
1
,
1
,
10
));
end
if
;
Append_Node_To_List
(
Make_Assignement
(
P
,
Q
),
XTN
.
Items
(
N
));
end
if
;
if
AIN
.
Is_Data
(
F
)
then
Set_Str_To_Name_Buffer
(
"MaxMessageSize"
);
P
:=
Make_Defining_Identifier
(
Name_Find
);
if
Get_Data_Size
(
Corresponding_Instance
(
F
))
/=
Null_Size
then
Q
:=
Make_Literal
(
XV
.
New_Numeric_Value
(
To_Bytes
(
Get_Data_Size
(
Corresponding_Instance
(
F
))),
1
,
10
));
else
Q
:=
Make_Literal
(
XV
.
New_Numeric_Value
(
1
,
1
,
10
));
end
if
;
Append_Node_To_List
(
Make_Assignement
(
P
,
Q
),
XTN
.
Items
(
N
));
end
if
;
return
N
;
end
Map_Port
;
-------------------
-- Map_Data_Size --
-------------------
...
...
@@ -1117,19 +1024,39 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
Trim
(
Integer
'
Image
(
Partition_Identifier
),
Left
),
Partition_Node
);
-- Create the <Application/> sub-node.
Application_Node
:=
Make_XML_Node
(
"Application"
);
XTU
.
Add_Attribute
(
"NameRef"
,
Get_Name_String
(
Map_Application_Name
(
Runtime
,
True
)),
Application_Node
);
Append_Node_To_List
(
Application_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
-- Create the <SharedLibraryRegion/> sub-node.
Shared_Library_Region_Node
:=
Make_XML_Node
(
"SharedLibraryRegion"
);
XTU
.
Add_Attribute
(
"NameRef"
,
"vxSysLib"
,
Shared_Library_Region_Node
);
Append_Node_To_List
(
Shared_Library_Region_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
-- Create the <Settings/> sub-node.
Settings_Node
:=
Make_XML_Node
(
"Settings"
);
Append_Node_To_List
(
Settings_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
XTU
.
Add_Attribute
(
"RequiredMemorySize"
,
"0x300000"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"PartitionHMTable"
,
Get_Name_String
(
Map_Partition_Name
(
Runtime
))
&
"_hm"
,
Get_Name_String
(
Map_Partition_Name
(
Runtime
))
&
"_hmtable"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"watchDogDuration"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"allocDisable"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"numWorkerTasks"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"numStackGuardPages"
,
"0xffffffff"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"isrStackSize"
,
"0xffffffff"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"selS
c
rQSize"
,
"0xffffffff"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"selS
v
rQSize"
,
"0xffffffff"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"syscallPermissions"
,
"0xffffffff"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"numFiles"
,
"0xffffffff"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"numDrivers"
,
"0xffffffff"
,
Settings_Node
);
...
...
@@ -1139,24 +1066,11 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
XTU
.
Add_Attribute
(
"maxEventQStallDuration"
,
"INFINITE_TIME"
,
Settings_Node
);
Shared_Library_Region_Node
:=
Make_XML_Node
(
"SharedLibraryRegion"
);
XTU
.
Add_Attribute
(
"NameRef"
,
"vxSysLib"
,
Shared_Library_Region_Node
);
Append_Node_To_List
(
Shared_Library_Region_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
Application_Node
:=
Make_XML_Node
(
"Application"
);
XTU
.
Add_Attribute
(
"NameRef"
,
Get_Name_String
(
Map_Partition_Name
(
Runtime
,
True
)),
Application_Node
);
Append_Node_To_List
(
Application_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
return
Partition_Node
;
end
Map_Partition
;
function
Map_Partition_Name
(
Runtime
:
Node_Id
;
Use_Source_Name
:
Boolean
:=
Fals
e
)
Use_Source_Name
:
Boolean
:=
Tru
e
)
return
Name_Id
is
Result
:
Name_Id
;
begin
...
...
@@ -1171,4 +1085,16 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
return
Result
;
end
Map_Partition_Name
;
function
Map_Application_Name
(
Runtime
:
Node_Id
;
Use_Source_Name
:
Boolean
:=
True
)
return
Name_Id
is
Result
:
Name_Id
;
begin
Result
:=
Map_Partition_Name
(
Runtime
,
Use_Source_Name
);
Get_Name_String
(
Result
);
Add_Str_To_Name_Buffer
(
"_app"
);
Result
:=
Name_Find
;
return
Result
;
end
Map_Application_Name
;
end
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
src/backends/ocarina-backends-vxworks653_conf-mapping.ads
View file @
7f26a5d3
...
...
@@ -5,7 +5,6 @@ package Ocarina.Backends.Vxworks653_Conf.Mapping is
function
Map_Distributed_Application
(
E
:
Node_Id
)
return
Node_Id
;
function
Map_HI_Node
(
E
:
Node_Id
)
return
Node_Id
;
function
Map_HI_Unit
(
E
:
Node_Id
)
return
Node_Id
;
function
Map_Port
(
F
:
Node_Id
)
return
Node_Id
;
function
Map_Data
(
E
:
Node_Id
)
return
Node_Id
;
function
Map_Data_Access
(
E
:
Node_Id
)
return
Node_Id
;
function
Map_Bus_Access
(
E
:
Node_Id
)
return
Node_Id
;
...
...
@@ -48,7 +47,11 @@ package Ocarina.Backends.Vxworks653_Conf.Mapping is
function
Map_Queuing_Port
(
Port
:
Node_Id
)
return
Node_Id
;
function
Map_Partition_Name
(
Runtime
:
Node_Id
;
Use_Source_Name
:
Boolean
:=
False
)
Use_Source_Name
:
Boolean
:=
True
)
return
Name_Id
;
function
Map_Application_Name
(
Runtime
:
Node_Id
;
Use_Source_Name
:
Boolean
:=
True
)
return
Name_Id
;
end
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
src/backends/ocarina-backends-vxworks653_conf-naming.adb
View file @
7f26a5d3
...
...
@@ -13,6 +13,7 @@ with Ocarina.Backends.Utils;
with
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
with
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
with
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
with
Ocarina
.
Backends
.
XML_Values
;
with
Ocarina
.
Namet
;
use
Ocarina
.
Namet
;
package
body
Ocarina
.
Backends
.
Vxworks653_Conf
.
Naming
is
...
...
@@ -30,6 +31,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Naming is
package
AIN
renames
Ocarina
.
ME_AADL
.
AADL_Instances
.
Nodes
;
package
XTN
renames
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
package
XTU
renames
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
package
XV
renames
Ocarina
.
Backends
.
XML_Values
;
procedure
Visit_Component
(
E
:
Node_Id
);
procedure
Visit_System
(
E
:
Node_Id
);
...
...
@@ -227,7 +229,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Naming is
Size
:
Unsigned_Long_Long
;
Queue_Size
:
Long_Long
;
Refresh_Period
:
Time_Type
;
Refresh_Period_Second
:
Float
;
Refresh_Period_Second
:
Long_Double
;
begin
-- Application Node that is the child of Applications
...
...
@@ -237,7 +239,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Naming is
Application_Node
:=
Make_XML_Node
(
"Application"
);
XTU
.
Add_Attribute
(
"Name"
,
Get_Name_String
(
Map_
Parti
tion_Name
(
Map_
Applica
tion_Name
(
AADL_Virtual_Processor
,
True
)),
Application_Node
);
Append_Node_To_List
(
Application_Node
,
...
...
@@ -257,7 +259,9 @@ package body Ocarina.Backends.Vxworks653_Conf.Naming is
XTU
.
Add_Attribute
(
"MemorySizeText"
,
"0x10000"
,
Memory_Size_Node
);
XTU
.
Add_Attribute
(
"MemorySizeData"
,
"0x10000"
,
Memory_Size_Node
);
XTU
.
Add_Attribute
(
"MemorySizeRoData"
,
"0x10000"
,
Memory_Size_Node
);
XTU
.
Add_Attribute
(
"MemorySizePersistent"
,
"0x10000"
,
Memory_Size_Node
);
XTU
.
Add_Attribute
(
"MemorySizePersistentData"
,
"0x10000"
,
Memory_Size_Node
);
XTU
.
Add_Attribute
(
"MemorySizePersistentBss"
,
"0x10000"
,
Memory_Size_Node
);
...
...
@@ -342,18 +346,17 @@ package body Ocarina.Backends.Vxworks653_Conf.Naming is
not
Is_Out
(
Feature
)
then
Refresh_Period
:=
Get_POK_Refresh_Time
(
Feature
);
Refresh_Period_Second
:=
1000.0
/
(
Float
(
To_Milliseconds
(
Refresh_Period
))
*
Float
(
100.0
));
Refresh_Period_Second
:=
(
Long_Double
(
To_Milliseconds
(
Refresh_Period
))
/
Long_Double
(
100
0
.0
));
XTU
.
Add_Attribute
(
"Direction"
,
"DESTINATION"
,
Port_Node
);
XTU
.
Add_Attribute
(
"RefreshRate"
,
Trim
(
Float
'
Image
(
Refresh_Period_Second
),
Left
),
Port_Node
);
XV
.
New_Floating_Point_Value
(
Refresh_Period_Second
),
Port_Node
);
end
if
;
if
not
Is_In
(
Feature
)
and
then
...
...
src/backends/ocarina-backends-vxworks653_conf-schedule.adb