PCO - Point-of-Control-and-Observation

PCO – Point of Control and Observation

Introduction: The primary idea was to develop code on one platform and then make simulations, test etc off-target. When I started working at Ericsson (DECT dept. Aalborg) they actually was in the middle of implemented these features on a full DECT GAP protocol stack. They were way ahead my thinking and had more hole-through than I had at the time :-)
Later - I've been working on the tools sections and have experienced more and more that the requirements for a General Test System was a MUST! 
The DECT protocol stack could be implemented easily on a PCMCIA card, a handset as well as on a repeater or exchange ... the exact same protocol and code ... That was nice :-)

We were able to run various part of the code on a Unix platform and other parts on a target. We were able to have fix part (FP) located in Sweden, and the portable part (PP) here in Aalborg ... and still having the DECT operational ...

The big thing is using PCO's for interfacing between the test system and the target. for intercepting and injecting signalling ...

 

 

PCO – Point of Control and Observation.

 This is actually the “thing” doing all the magic (on the embedded or tested platform)!

 Simple description:

With this functionality implemented on the SSUT (Sub-System-Under-Test), one may intercept, copy or inject activity.

It simply intercepts or acts on a given activity like memory allocation, process schedulation, port I/O or timer management … and so on … This activity is sampled and stored/send to the logging-process (for dispatching to the test-bed platform (eg. a PC).

This is a simple “control-point” – not more not less (for starters that is J).

Article Images: prj_pco_figure-1.gif

 

Point of Control and Observation.

 

Advanced description:

Now for a more advanced and more technical description …
This PCO – is activated (inserted) on all the points on which data sampling/logging is needed.
The PCO could be inserted anywhere on the system (of cause abstraction with some function-call could be needed), where activity wants to be logged.

It is not used for tracking a loop-counters activity (changes) or a local variable changes during the process execution. It is mostly used for tracking event-related activity, like timer, process, signalling etc etc.

But is can be used for logging loop-counters and like …

 

What’s needed:

For each process in the system, a process variable is used to store what activity we need logged.

A byte could hold activities for eg. the xx_timer() activities we wants to log, or it could be the sendsignal() activities. This byte is defined by the system, and checked or changed according the activity the tester want’s.

 

With the simple code implemented, we have the opportunity to :

Intercept an activity = block the transmission of a signal from one process to another process.

Copy an activity = make a copy of the signal/activity to the logging process.

Inject an activity = gives the opportunity of inject a signal to a specified process.

 

Realized on a target -->

Article Images: prj_embeddedtargettesting.gif

 

 As seen from the above here it opens up for a lot of tools for

  • Recording, playback of stimuli
  • Tool: designing communications
  • Performance analyzing
  • Analyses of logs
  • A Log viewer
  • A realtime log viewer
  • Generating signaling sequence charts (MSC)
  • Analyzing of data and sequences - not only the actual signals

The above tool suite has been realize on several system on which documentation for compliance (DECT/BT ..) was needed.

Comments

No Comments have been Posted.

Post Comment

Please Login to Post a Comment.

Articles Panel

  Article Posted By Date Reads
System-Of-Systems Ingineering
Process & Methods
johnk
31-10-2017 23:03453
IoT Start up
Technology
johnk
25-10-2017 10:25531
Unittesting - CPPUNIT
Tools
johnk
24-10-2017 20:26449
Things on the radar
Tools
johnk
24-10-2017 20:06491
WCET - Worst Case Execution Timings Calculator
Tools
johnk
28-06-2015 19:2914402
Embedded-Tracer-System
Tools
johnk
16-03-2015 18:222646
NuttX - Step-By-Step
Tools
johnk
30-12-2013 17:187331
Tools used
Tools
johnk
27-10-2013 12:133985
List of my robots
My robots
johnk
19-07-2013 08:443580
JoKaBot - Home build from scratch
My robots
johnk
19-07-2013 08:046875
C-Sharp (references and projects)
Oldies
johnk
18-07-2013 19:194121
Home communications
Technology
johnk
18-07-2013 18:234258
Various links
My Collection
johnk
17-07-2013 09:048178
ARM - ARM7/9/11 + Cortex
Technology
johnk
17-07-2013 08:494177
AVR32
Technology
johnk
17-07-2013 08:414413

Total Articles: 58 :: Total Article Categories: 16
 

Articles

My Collection (1) My robots (2)
Oldies (5)
Old Projects - very old
Process & Methods (8)
Projects (12) Robotics (1)
Technology (7) Testing (1)
Tools (14) Working on ... (7)
Projects Im currently working on
Render time: 0.49 seconds
859,032 unique visits