Code Coverage for all Embedded Targets

[Français][Deutsch]

CTC++ Bitcov add-on: Arrangement for µControllers

Typically for targets having:
  • No filesystem under it.
  • Insufficient RAM.
With this arrangement, we have:
  • No runtime library.
  • Only a CTC_array[] to be added.
  • Technically, we then set only bits at target side.

CTC++ Bitcov execution process

CTC++ Bitcov Execution Process

Per default, Testwell CTC++ Postprocessor produces on the host coverage listings (e.g. Execution Profile Listing) from:

  • a "MON.dat" file (where coverage data have been accumulated)
  • a "MON.sym" file (which describes the instrumented source files)

With CTC++ Bitcov add-on, once you have instrumented your source files, move executables to Target and run testes there, final execution counters are written down in a "MON.dmp" binary file, which is the solely data transmitted from target to the host.

Then, using CTC++ Bitcov utilities, you can get from this "MON.dmp" binary file the "MON.dat" file required to use CTC++ Postprocessor to get coverage listings, as you can see on the flowchart above.

How "MON.dmp" file is generated

In fact, "MON.dmp" is just a dump of a CTC_array[] created at Target and storing 1-to-1 the execution counters during test session(s).

Auxiliary data needed later have already been stored at compilation/instrumentation time in the "MON.aux" file.

A CTC_array[] (of reasonable size) is created at test beginning as it would be the case with the following C/C++ declaration:

unsigned char CTC_array[0xff]={0};

This task should be done by any2mem CTC++ Bitcov utility: after having done a "Test Compile" and so produced a "MON.sym" file (which contains a description of instrumented files), you should use ctcpost Testwell CTC++ utility as follows:

ctcpost -L MON.sym |any2mem > CTC_array.c

which generates a CTC_array.c file where CTC_array[] and all functions needed to dump it to a "MON.txt" file are given. This new source file has then to be compiled, in order to get used by Testwell CTC++ at compilation/instrumentation time.

[PDF]  CTC++ bitcov User Manual

[Back to Testwell CTC++: Tool working principal]


last updated: 1 Feb 2012

© 2006-2012 Verifysoft Technology GmbH
CTA++, CTC++, CMT++ and CMTJava are products of Testwell Oy, Tampere (Finland)
CTC++ bitcov add-on is an add-on of Verifysoft Technology GmbH, Offenburg (Germany)
all other trademarks of this site are the property of their respective owners.