Commit 206c3be3 authored by yoogx's avatar yoogx

* Add tests for new RTEMS 4.12 drivers

parent 40b31e77
binary.c/
polyorb-hi-c/
gdb.txt
log.txt
-- This file was generated automatically: DO NOT MODIFY IT !
-- This file contains the description of the system distribution.
-- It is an input file for the TASTE ORCHESTRATOR
* x86_partition PLATFORM_NATIVE
producer
* x86_partition1 PLATFORM_NATIVE
receiver
-- This file was generated automatically: DO NOT MODIFY IT !
-- This file contains a part of the system CONCURRENCY VIEW.
-- It is an input file for OCARINA.
package process_package
public
with Deployment;
with DataView;
with interfaceview::IV;
with deploymentview::DV;
with ocarina_processors_x86;
with deploymentview::dv::node2;
with deploymentview::dv::node3;
with ocarina_buses;
with producer_CV_Thread;
with receiver_CV_Thread;
process x86_partition extends deploymentview::DV::node2::x86_partition
features
OUTPORT_producer_datax : OUT EVENT DATA PORT DataView::MyData16k_Buffer.impl;
end x86_partition;
process implementation x86_partition.final
subcomponents
producer : thread producer_CV_Thread::producer_producer.others;
connections
PORT producer.OUTPORT_datax -> OUTPORT_producer_datax;
end x86_partition.final;
process x86_partition1 extends deploymentview::DV::node3::x86_partition1
features
INPORT_receiver_datax : IN EVENT DATA PORT DataView::MyData16k_Buffer.impl;
end x86_partition1;
process implementation x86_partition1.final
subcomponents
receiver : thread receiver_CV_Thread::receiver_receiver.others;
connections
PORT INPORT_receiver_datax -> receiver.INPORT_datax;
end x86_partition1.final;
system deploymentview
end deploymentview;
system implementation deploymentview.final
subcomponents
serial_generic_cv : bus ocarina_buses::serial.generic;
node2_generic_serial_raw_cv : device deploymentview::dv::node2::generic_serial_raw.others
{
Source_Text => ("../DriversConfig/x86_partition/DeviceConfig-node2-generic-serial-raw.ads");
Type_Source_Name => "DeviceConfig_node2_generic_serial_raw.pohidrv_node2_generic_serial_raw_cv";
};
node3_generic_serial_raw_cv : device deploymentview::dv::node3::generic_serial_raw.others
{
Source_Text => ("../DriversConfig/x86_partition1/DeviceConfig-node3-generic-serial-raw.ads");
Type_Source_Name => "DeviceConfig_node3_generic_serial_raw.pohidrv_node3_generic_serial_raw_cv";
};
x86_partition: process x86_partition.final;
x86_partition1: process x86_partition1.final;
node2_x86_linux_cv : processor ocarina_processors_x86::x86.linux;
node3_x86_linux_cv : processor ocarina_processors_x86::x86.linux;
connections
x86_partition1_datax_producer_conn_cv : port x86_partition.OUTPORT_producer_datax -> x86_partition1.INPORT_receiver_datax;
bus access serial_generic_cv -> node2_generic_serial_raw_cv.link;
bus access serial_generic_cv -> node3_generic_serial_raw_cv.link;
properties
Actual_Processor_Binding => (reference (node2_x86_linux_cv)) applies to x86_partition;
Actual_Processor_Binding => (reference (node3_x86_linux_cv)) applies to x86_partition1;
Actual_Processor_Binding => (reference (node2_x86_linux_cv)) applies to node2_generic_serial_raw_cv;
Actual_Processor_Binding => (reference (node3_x86_linux_cv)) applies to node3_generic_serial_raw_cv;
Actual_Connection_Binding => (reference (serial_generic_cv)) applies to x86_partition1_datax_producer_conn_cv;
end deploymentview.final;
end process_package;
-- deploymentview.final
-- This file was generated automatically: DO NOT MODIFY IT !
-- This file contains a part of the system CONCURRENCY VIEW.
-- It is an input file for OCARINA.
package producer_CV_Thread
public
with Deployment;
with process_package;
with Dataview;
THREAD producer_producer
features
OUTPORT_datax : OUT EVENT DATA PORT DataView::MyData16k_Buffer.impl;
END producer_producer;
THREAD IMPLEMENTATION producer_producer.others
PROPERTIES
Initialize_Entrypoint_Source_Text => "producer_wrappers.C_Init_producer";
Compute_Entrypoint_Source_Text => "producer_wrappers.trigger";
Dispatch_Protocol => Periodic;
Period => 5000 ms;
Dispatch_Offset => 0 ms;
Compute_Execution_Time => 0 ms .. 2 ms;
Source_Stack_Size => 50 KByte;
Priority => 10;
END producer_producer.others;
end producer_CV_Thread;
-- This file was generated automatically: DO NOT MODIFY IT !
-- This file contains a part of the system CONCURRENCY VIEW.
-- It is an input file for OCARINA.
package receiver_CV_Thread
public
with Deployment;
with process_package;
with Dataview;
THREAD receiver_receiver
features
INPORT_datax : IN EVENT DATA PORT DataView::MyData16k_Buffer.impl
{ Compute_Execution_Time => 0 ms .. 20 ms;
Queue_Size => 2;
Compute_Entrypoint_Source_Text => "receiver_wrappers.datax"; };
END receiver_receiver;
THREAD IMPLEMENTATION receiver_receiver.others
PROPERTIES
Initialize_Entrypoint_Source_Text => "receiver_wrappers.C_Init_receiver";
Dispatch_Protocol => Sporadic;
Period => 5000 ms;
Dispatch_Offset => 0 ms;
Compute_Execution_Time => 0 ms .. 20 ms;
Source_Stack_Size => 50 KByte;
Priority => 10;
END receiver_receiver.others;
end receiver_CV_Thread;
This diff is collapsed.
TASTE-Dataview DEFINITIONS ::= BEGIN
MyInteger[]
MyReal[]
MyBool[]
MyEnum[]
MySeq[]
MyChoice[]
MySeqOf[]
MyOctStr[]
END
\ No newline at end of file
TASTE-Dataview DEFINITIONS ::=
BEGIN
IMPORTS T-Int32, T-UInt32, T-Int8, T-UInt8, T-Boolean FROM TASTE-BasicTypes;
-- ASN.1 Type definitions must start with an uppercase
-- Field names in records (SEQUENCE) must start with a lowercase
-- Underscores are not allowed: use dash (hyphen)
-- Simple types:
MyInteger ::= INTEGER (0..255)
MyReal ::= REAL (0.0 .. 1000.0)
MyBool ::= BOOLEAN
MyEnum ::= ENUMERATED { hello, world, how-are-you }
-- Complex types:
MySeq ::= SEQUENCE {
input-data MyInteger,
output-data MyInteger,
validity ENUMERATED { valid, invalid }
}
MyChoice ::= CHOICE {
a BOOLEAN,
b MySeq
}
MySeqOf ::= SEQUENCE (SIZE (2)) OF MyEnum
MyOctStr ::= OCTET STRING (SIZE (3))
-- You can also declare constants
myVar MySeqOf ::= { hello, world }
MyData16k ::= SEQUENCE (SIZE(1)) OF T-UInt8
END
---------------------------------------------------
-- AADL2.1
-- TASTE type deploymentview
--
-- generated code: do not edit
---------------------------------------------------
PACKAGE deploymentview::DV::Node2
PUBLIC
WITH ocarina_buses;
WITH ocarina_drivers;
WITH Taste;
WITH Deployment;
WITH TASTE_DV_Properties;
PROCESS x86_partition1
END x86_partition1;
PROCESS IMPLEMENTATION x86_partition1.others
END x86_partition1.others;
DEVICE generic_serial_raw
EXTENDS ocarina_drivers::generic_serial
FEATURES
link : REFINED TO REQUIRES BUS ACCESS ocarina_buses::serial.generic {
Taste::coordinates => "183803 96380";
};
PROPERTIES
Taste::Interface_Coordinates => "164249 96421" APPLIES TO link;
Deployment::Help => "Write your ASN.1 configuration here";
Deployment::Configuration => "{devname ""/dev/ttyUSB6"", speed b38400}";
Deployment::Config => "/home/taste/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/serial.asn";
Deployment::Version => "0.1beta";
END generic_serial_raw;
DEVICE IMPLEMENTATION generic_serial_raw.others
EXTENDS ocarina_drivers::generic_serial.raw
END generic_serial_raw.others;
END deploymentview::DV::Node2;
PACKAGE deploymentview::DV::Node3
PUBLIC
WITH ocarina_buses;
WITH ocarina_drivers;
WITH Taste;
WITH Deployment;
WITH TASTE_DV_Properties;
PROCESS x86_partition0
END x86_partition0;
PROCESS IMPLEMENTATION x86_partition0.others
END x86_partition0.others;
DEVICE generic_serial_raw
EXTENDS ocarina_drivers::generic_serial
FEATURES
link : REFINED TO REQUIRES BUS ACCESS ocarina_buses::serial.generic {
Taste::coordinates => "96142 96508";
};
PROPERTIES
Taste::Interface_Coordinates => "118739 96421" APPLIES TO link;
Deployment::Help => "Write your ASN.1 configuration here";
Deployment::Configuration => "{devname ""/dev/ttyUSB7"", speed b38400}";
Deployment::Config => "/home/taste/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/serial.asn";
Deployment::Version => "0.1beta";
END generic_serial_raw;
DEVICE IMPLEMENTATION generic_serial_raw.others
EXTENDS ocarina_drivers::generic_serial.raw
END generic_serial_raw.others;
END deploymentview::DV::Node3;
PACKAGE deploymentview::DV
PUBLIC
WITH interfaceview::IV::producer;
WITH ocarina_processors_x86;
WITH deploymentview::DV::Node2;
WITH interfaceview::IV::receiver;
WITH deploymentview::DV::Node3;
WITH ocarina_buses;
WITH Taste;
WITH Deployment;
WITH interfaceview::IV;
WITH TASTE_DV_Properties;
SYSTEM Node2
FEATURES
generic_serial_raw_serial_generic : REQUIRES BUS ACCESS ocarina_buses::serial.generic;
END Node2;
SYSTEM IMPLEMENTATION Node2.others
SUBCOMPONENTS
IV_producer : SYSTEM interfaceview::IV::producer::producer.others {
Taste::FunctionName => "producer";
};
x86_partition1 : PROCESS deploymentview::DV::Node2::x86_partition1.others {
Taste::coordinates => "182486 53334 202542 65063";
Deployment::Port_Number => 0;
};
x86_linux : PROCESSOR ocarina_processors_x86::x86.linux {
Taste::coordinates => "179979 49983 205049 66739";
};
generic_serial_raw : DEVICE deploymentview::DV::Node2::generic_serial_raw.others {
Taste::coordinates => "183803 92200 202856 100560";
};
CONNECTIONS
generic_serial_raw_serial_generic_link : BUS ACCESS generic_serial_raw_serial_generic -> generic_serial_raw.link;
PROPERTIES
Taste::APLC_Binding => (reference (x86_partition1)) APPLIES TO IV_producer;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO x86_partition1;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO generic_serial_raw;
END Node2.others;
SYSTEM Node3
FEATURES
generic_serial_raw_serial_generic : REQUIRES BUS ACCESS ocarina_buses::serial.generic;
END Node3;
SYSTEM IMPLEMENTATION Node3.others
SUBCOMPONENTS
IV_receiver : SYSTEM interfaceview::IV::receiver::receiver.others {
Taste::FunctionName => "receiver";
};
x86_partition0 : PROCESS deploymentview::DV::Node3::x86_partition0.others {
Taste::coordinates => "71619 55187 94762 70429";
Deployment::Port_Number => 0;
};
x86_linux : PROCESSOR ocarina_processors_x86::x86.linux {
Taste::coordinates => "68726 50832 97655 72606";
};
generic_serial_raw : DEVICE deploymentview::DV::Node3::generic_serial_raw.others {
Taste::coordinates => "70869 91103 96142 99658";
};
CONNECTIONS
generic_serial_raw_serial_generic_link : BUS ACCESS generic_serial_raw_serial_generic -> generic_serial_raw.link;
PROPERTIES
Taste::APLC_Binding => (reference (x86_partition0)) APPLIES TO IV_receiver;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO x86_partition0;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO generic_serial_raw;
END Node3.others;
SYSTEM deploymentview
END deploymentview;
SYSTEM IMPLEMENTATION deploymentview.others
SUBCOMPONENTS
Node2 : SYSTEM Node2.others {
Taste::coordinates => "176845 45196 208183 108029";
};
Node3 : SYSTEM Node3.others {
Taste::coordinates => "65110 44611 101271 108417";
};
serial_generic : BUS ocarina_buses::serial.generic {
Taste::coordinates => "118739 90279 164249 102562";
};
interfaceview : SYSTEM interfaceview::IV::interfaceview.others;
CONNECTIONS
Connection1 : BUS ACCESS serial_generic -> Node2.generic_serial_raw_serial_generic {
Taste::coordinates => "183803 96380 174420 96380 174420 96421 164249 96421";
};
Connection2 : BUS ACCESS serial_generic -> Node3.generic_serial_raw_serial_generic {
Taste::coordinates => "96142 96508 106612 96508 106612 96421 118739 96421";
};
PROPERTIES
Actual_Connection_Binding => (reference (serial_generic)) APPLIES TO interfaceview.receiver_PI_datax_producer_RI_datax;
END deploymentview.others;
PROPERTIES
Taste::coordinates => "0 0 297000 210000";
Taste::version => "2.0";
Taste::interfaceView => "InterfaceView.aadl";
Taste::HWLibraries => ("../../../tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
END deploymentview::DV;
---------------------------------------------------
-- AADL2.1
-- TASTE type interfaceview
--
-- generated code: do not edit
---------------------------------------------------
PACKAGE interfaceview::IV::producer
PUBLIC
WITH interfaceview::IV::receiver;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_trigger
END PI_trigger;
SUBPROGRAM IMPLEMENTATION PI_trigger.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 2 ms;
END PI_trigger.others;
SUBPROGRAM RI_datax
FEATURES
tdatax : IN PARAMETER DataView::MyData16k {
Taste::encoding => NATIVE;
};
END RI_datax;
SUBPROGRAM IMPLEMENTATION RI_datax.others
END RI_datax.others;
SYSTEM producer
FEATURES
PI_trigger : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::producer::PI_trigger.others {
Taste::coordinates => "128030 59998";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 5000 ms;
Taste::Deadline => 5000 ms;
Taste::InterfaceName => "trigger";
};
RI_datax : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::receiver::PI_datax.others {
Taste::coordinates => "141571 80473";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "datax";
Taste::labelInheritance => "true";
};
PROPERTIES
Source_Language => (C);
Taste::Active_Interfaces => any;
END producer;
SYSTEM IMPLEMENTATION producer.others
END producer.others;
END interfaceview::IV::producer;
PACKAGE interfaceview::IV::receiver
PUBLIC
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_datax
FEATURES
tdatax : IN PARAMETER DataView::MyData16k {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 2;
END PI_datax;
SUBPROGRAM IMPLEMENTATION PI_datax.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 20 ms;
END PI_datax.others;
SYSTEM receiver
FEATURES
PI_datax : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::receiver::PI_datax.others {
Taste::coordinates => "172751 80473";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 5000 ms;
Taste::Deadline => 5000 ms;
Taste::InterfaceName => "datax";
};
PROPERTIES
Source_Language => (C);
Taste::Active_Interfaces => any;
END receiver;
SYSTEM IMPLEMENTATION receiver.others
END receiver.others;
END interfaceview::IV::receiver;
PACKAGE interfaceview::IV
PUBLIC
WITH interfaceview::IV::producer;
WITH interfaceview::IV::receiver;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SYSTEM interfaceview
END interfaceview;
SYSTEM IMPLEMENTATION interfaceview.others
SUBCOMPONENTS
producer : SYSTEM interfaceview::IV::producer::producer.others {
Taste::coordinates => "112123 59998 141571 103462";
};
receiver : SYSTEM interfaceview::IV::receiver::receiver.others {
Taste::coordinates => "172751 59998 200152 102989";
};
CONNECTIONS
receiver_PI_datax_producer_RI_datax : SUBPROGRAM ACCESS receiver.PI_datax -> producer.RI_datax {
Taste::coordinates => "141571 80473 157161 80473 157161 80473 172751 80473";
};
END interfaceview.others;
PROPERTIES
Taste::dataView => ("DataView");
Taste::dataViewPath => ("DataView.aadl");
Taste::coordinates => "0 0 297000 210000";
Taste::version => "2.0";
END interfaceview::IV;
531c97f4b4877648abc08d0a63c43918 InterfaceView.aadl
Demo on UART communication between two x86_Linux machine
It is a simple producer-consumer example to demonstrate UART communication between two platforms(say x86_partition0 and x86_partition1). x86_partion1 platform as producer and x86_partition0 as consumer. The producer function sends data streams to consumer function for every 5 seconds. Both the systems are connected via UART cable.
CONFIGURATION
x86_partition0:
uart device : uses device "/dev/ttyUSB7" with baud rate 38400 b/s
x86_partition1:
uart device : uses device "/dev/ttyUSB6" with baud rate 38400 b/s
The above device name may differ according to hardware configuration of target platform.
---------------------------------------------------
-- AADL2.1
-- TASTE type deploymentview
--
-- generated code: do not edit
---------------------------------------------------
PACKAGE deploymentview::DV::Node2
PUBLIC
WITH ocarina_buses;
WITH ocarina_drivers;
WITH Taste;
WITH Deployment;
WITH TASTE_DV_Properties;
PROCESS x86_partition1
END x86_partition1;
PROCESS IMPLEMENTATION x86_partition1.others
END x86_partition1.others;
DEVICE generic_serial_raw
EXTENDS ocarina_drivers::generic_serial
FEATURES
link : REFINED TO REQUIRES BUS ACCESS ocarina_buses::serial.generic {
Taste::coordinates => "183803 96380";
};
PROPERTIES
Taste::Interface_Coordinates => "164249 96421" APPLIES TO link;
Deployment::Help => "Write your ASN.1 configuration here";
Deployment::Configuration => "{devname ""/dev/ttyUSB6"", speed b38400}";
Deployment::Config => "/home/taste/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/serial.asn";
Deployment::Version => "0.1beta";
END generic_serial_raw;
DEVICE IMPLEMENTATION generic_serial_raw.others
EXTENDS ocarina_drivers::generic_serial.raw
END generic_serial_raw.others;
END deploymentview::DV::Node2;
PACKAGE deploymentview::DV::Node3
PUBLIC
WITH ocarina_buses;
WITH ocarina_drivers;
WITH Taste;
WITH Deployment;
WITH TASTE_DV_Properties;
PROCESS x86_partition0
END x86_partition0;
PROCESS IMPLEMENTATION x86_partition0.others
END x86_partition0.others;
DEVICE generic_serial_raw
EXTENDS ocarina_drivers::generic_serial
FEATURES
link : REFINED TO REQUIRES BUS ACCESS ocarina_buses::serial.generic {
Taste::coordinates => "96142 96508";
};
PROPERTIES
Taste::Interface_Coordinates => "118739 96421" APPLIES TO link;
Deployment::Help => "Write your ASN.1 configuration here";
Deployment::Configuration => "{devname ""/dev/ttyUSB7"", speed b38400}";
Deployment::Config => "/home/taste/tool-inst/include/ocarina/runtime/polyorb-hi-c/src/drivers/configuration/serial.asn";
Deployment::Version => "0.1beta";
END generic_serial_raw;
DEVICE IMPLEMENTATION generic_serial_raw.others
EXTENDS ocarina_drivers::generic_serial.raw
END generic_serial_raw.others;
END deploymentview::DV::Node3;
PACKAGE deploymentview::DV
PUBLIC
WITH interfaceview::IV;
WITH ocarina_processors_x86;
WITH deploymentview::DV::Node2;
WITH deploymentview::DV::Node3;
WITH ocarina_buses;
WITH Taste;
WITH Deployment;
WITH interfaceview::IV;
WITH TASTE_DV_Properties;
SYSTEM Node2
FEATURES
generic_serial_raw_serial_generic : REQUIRES BUS ACCESS ocarina_buses::serial.generic;
END Node2;
SYSTEM IMPLEMENTATION Node2.others
SUBCOMPONENTS
IV_producer : SYSTEM interfaceview::IV::producer.others {
Taste::FunctionName => "producer";
};
x86_partition1 : PROCESS deploymentview::DV::Node2::x86_partition1.others {
Taste::coordinates => "182486 53334 202542 65063";
Deployment::Port_Number => 0;
};
x86_linux : PROCESSOR ocarina_processors_x86::x86.linux {
Taste::coordinates => "179979 49983 205049 66739";
};
generic_serial_raw : DEVICE deploymentview::DV::Node2::generic_serial_raw.others {
Taste::coordinates => "183803 92200 202856 100560";
};
CONNECTIONS
generic_serial_raw_serial_generic_link : BUS ACCESS generic_serial_raw_serial_generic -> generic_serial_raw.link;
PROPERTIES
Taste::APLC_Binding => (reference (x86_partition1)) APPLIES TO IV_producer;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO x86_partition1;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO generic_serial_raw;
END Node2.others;
SYSTEM Node3
FEATURES
generic_serial_raw_serial_generic : REQUIRES BUS ACCESS ocarina_buses::serial.generic;
END Node3;
SYSTEM IMPLEMENTATION Node3.others
SUBCOMPONENTS
IV_receiver : SYSTEM interfaceview::IV::receiver.others {
Taste::FunctionName => "receiver";
};
x86_partition0 : PROCESS deploymentview::DV::Node3::x86_partition0.others {
Taste::coordinates => "71619 55187 94762 70429";
Deployment::Port_Number => 0;
};
x86_linux : PROCESSOR ocarina_processors_x86::x86.linux {
Taste::coordinates => "68726 50832 97655 72606";
};
generic_serial_raw : DEVICE deploymentview::DV::Node3::generic_serial_raw.others {
Taste::coordinates => "70869 91103 96142 99658";
};
CONNECTIONS
generic_serial_raw_serial_generic_link : BUS ACCESS generic_serial_raw_serial_generic -> generic_serial_raw.link;
PROPERTIES
Taste::APLC_Binding => (reference (x86_partition0)) APPLIES TO IV_receiver;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO x86_partition0;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO generic_serial_raw;
END Node3.others;
SYSTEM deploymentview
END deploymentview;
SYSTEM IMPLEMENTATION deploymentview.others
SUBCOMPONENTS
Node2 : SYSTEM Node2.others {