Testwell CTC++: Arrangement for µControllers (static-array package)
Typically for targets having- No filesystem under it
- Insufficient RAM
- no runtime library
- only a CTC_array[] to be added.
- technically, we then set only bits at target side.
Target part
An arrayunsigned 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 dofwrite(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.
last updated: 14.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.