Couverture de test

[English][Deutsch]

Testwell CTC++: Arrangement for µControllers (static-array package)

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.

Target part

An array unsigned char CTC_array[0xff]={0}; of reasonable size has to be added to the target. Minimum size can be determined after e.g. a test compile with ctcpost -L MON.sym|any2mem, which puts then out a code snippet for that array...

Data transfer

The array CTC_array has to be written "as-is" back to the host, like if you do fwrite(CTC_array,sizeof(CTC_array),1,fp);

How the metrics are generated

The code gets instrumented with the "ctc" compiler fontend, in this arrangement it just sets bits in CTC_array.

How the metrics are collected on the Host

CTC++ accumulated per default coverage data a file "MON.dat" on the host. This is used for input of the report generating tools.

Performances

The other classical arrangement has dependant on code and compiler about 20% impact (both memory usage, runtime impact). With this arrangement it was reported, that we have 4 times less overhead. This could be for we have here safely removed some instrumented in code and also it seems for embedded systems in general it's much faster to set a bit then to increment an integer. CPU seams to have machine/assembler instructions for just setting bits.

[Back]


last updated: 16.05.2008

© 2008 Verifysoft Technology
CTA++, CTC++, CMT++ and CMTJava are products of Testwell Oy, Tampere (Finland)
all other trademarks of this site are the property of their respective owners.