-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathTB_SYS.aadl
76 lines (59 loc) · 4.58 KB
/
TB_SYS.aadl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
property set TB_SYS is
-- Definitions for making threads "tower compatible"
CommPrim_Source_Header: aadlstring applies to (port, access, data, subprogram group);
CommPrim_Source_Text: aadlstring applies to (port, access);
C_Type_Name : aadlstring applies to (data, data implementation);
C_Type_Size : aadlinteger applies to (data, data implementation);
Compute_Entrypoint_Source_Text : list of aadlstring applies to (processor, virtual processor, system, system implementation, port, thread);
Add_Dummy_Arg_To_Void_Fns: aadlboolean => false applies to (processor, virtual processor);
-- For including additional libraries into the build process
Link_Libraries : list of aadlstring applies to (processor, virtual processor, system, system implementation);
Connection_Impl: enumeration (mutex, lock_free) => mutex applies to (connection);
-- for dealing with ISR/IRQs
Signal_Name: aadlstring applies to (port);
Signal_Number: aadlinteger applies to (port);
First_Level_Interrupt_Handler: aadlstring applies to (port);
Is_ISR: aadlboolean => false applies to (port);
Memory_Pages : list of aadlstring applies to (port);
-- For scheduling
Thread_Type: enumeration (Active, Passive) => Active applies to (thread);
Sends_Events_To: aadlstring applies to (thread, port);
-- For build output.
Output_Directory: aadlstring applies to (processor, virtual processor, system implementation);
OS : enumeration (eChronos, CAmkES, VxWorks, linux) applies to (processor, virtual processor, system implementation);
HW : enumeration (PIXHAWK, PPC, ODROID, x86, QEMU, TK1) applies to (processor, virtual processor, system implementation);
-- For integrating with other code
Is_External: aadlboolean => false applies to (thread, subprogram group, data);
External_Mutex_List: list of aadlstring applies to (processor, virtual processor, thread, system implementation);
External_Semaphore_List: list of aadlstring applies to (processor, virtual processor, thread, system implementation);
External_Entrypoint: aadlstring applies to (thread);
External_IRQ_Event_List: list of aadlstring applies to (processor, virtual processor, system implementation);
External_IRQ_Handler_List: list of aadlstring applies to (processor, virtual processor, system implementation);
External_IRQ_List: list of aadlstring applies to (processor, virtual processor, system implementation);
-- for eChronos timer interactions
Generate_Scheduler_Systick_IRQ: aadlboolean => true applies to (processor, virtual processor, system implementation);
-- for CAmkES timer interactions
External_Timer_Component : aadlboolean => false applies to (processor, virtual processor, system implementation);
CAmkES_External_Timer_Interface_Path: aadlstring applies to (processor, virtual processor, system implementation);
CAmkES_External_Timer_Complete_Path : aadlstring applies to (processor, virtual processor, system implementation);
CAmkES_Internal_Timer_Timers_Per_Client : aadlinteger => 8 applies to (processor, virtual processor, system implementation);
CAmkES_Time_Server_AADL_Thread_Min_Index : aadlinteger => 10 applies to (processor, virtual processor, system implementation);
CAmkES_Dataport_RPC_Min_Index : aadlinteger => 10 applies to (processor, virtual processor, system implementation);
Requires_Time_Services : aadlboolean => false applies to (thread);
-- for CAmkES VMs
VM_Config_File: aadlstring applies to (processor, virtual processor);
-- For different parameter passing styles
By_Reference : aadlboolean => false applies to (parameter);
-- For CAmkES, specifically
CAmkES_Owner_Thread : aadlstring applies to ( data );
Use_OS_Real_Time_Extensions : aadlboolean => false applies to (processor, virtual processor, system implementation);
CAmkES_Custom_Connector : aadlstring applies to (connection);
CAmkES_VM_Build : aadlboolean => false applies to (processor, virtual processor);
-- For CAmkES and ground team, specifically.
Mailbox : aadlboolean => false applies to (processor, virtual processor, system implementation, connection);
-- For eChronos, specifically. These properties are used to set the relative module
-- path for the generated code from the place where prj is invoked
eChronos_Generate_C_Modules : aadlboolean => false applies to (processor, virtual processor, system implementation);
eChronos_C_Module_Path : aadlstring => "gen" applies to (processor, virtual processor, system implementation);
eChronos_Flash_Load_Address : aadlstring applies to (system implementation);
end TB_SYS;