Re: [pok-devel] Problem while developping a ARINC653 system for POK without AADL |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/pok-devel Archives
]
Hello,
This is a follow up to my previous experiment. As I said, I use the 'Perl'
routine "$POK_PATH/misc/arinc653-xml-conf.pl" to generate my system
configuration (deployment.c/.h) from XML configuration files. I am not using an
AADL model.
However, I believe there is a problem with the generation of the
POK_CONFIG_PARTITIONS_PORTS array. That 'array' is used in files:
$POK_PATH/kernel/middleware/portutils.c in function: bool_t pok_own_port (const
uint8_t partition, const uint8_t port)
and
$POK_PATH/kernel/middleware/portinit.c in function: void pok_port_init (void)
And in both case, I understand it is supposed to associate a port number with
the partition that owns it. However, the resulting partition numbers are often
erroneous.
My question is: How is this array supposed to be initialized? The generated file
does it this way, but as I said, it doesn't return the good values in execution:
#define POK_CONFIG_PARTITIONS_PORTS {2,2,3,1}
For you information, my example has 4 partitions:
Server1: 1 Queuing port and 1 Sampling port (Port IDs: 0 and 6, according to
generated deployment.h)
Server2: 1 Queuing port and 1 Sampling port (Port IDs: 1 and 7, according to
generated deployment.h)
Server3: 3 Queuing port (Port IDs: 2, 3 and 4, according to generated
deployment.h)
Client: 1 Queuing port (Port ID: 5, according to generated deployment.h)
Also, even thought my XML configuration file identified the previous partitions
as having respectively the partition identifier number 1, 2, 3, and 4, that
information seems to be nowhere in the generated deployment.c/.h files. Is it
normal? What is the convention?
Thanks for the information and for your time!
Julien