Prerequisites for STREAM mode are:
- 64-bit host computer to handle the large trace record number
- The average data rate at the trace port should not exceed the maximum transmission rate of the host interface in use
Peak loads at the trace port are intercepted by the PowerTrace memory, which acts as a large FIFO.
Various mechanisms to compress the trace information before streaming are implemented to reduce the amount of transmitted data.
STREAM mode bottlenecks are:
- Connection PowerDebug - PC
- Use USB 3.0 instead of Megabit Ethernet
- Use a good USB 3.0 cable, cross-check with a different cable
- Do not use a USB hub
- Check if PowerDebug Module is really connected via USB 3.0 e.g. in the VERSION window
- PC Hardware / USB
- Test different USB ports
- Cross-check with a different PC (Some USB 3.0 controllers are buggy).
- Hard disk
- Bottleneck could be caused by a slow write access to the hard disk
- Use SSD instead of HDD if possible
- Make sure that the stream file is written to the faster drive (use Trace.STREAMFILE)
- PC Software
- Update USB driver
- Disable antivirus
- TRACE32 Hardware Compression: try to disable the compression: Trace.STREAMCompression OFF and check the impact on the STREAM mode
STREAM mode diagnosis - Transmission rate
- IFCONFIG.TEST: checks warp speed
- Evaluate the amount of generated trace data per second, e.g.
PRINT TRACE.RECORDS()/CONVert.TIMESTOINT(RunTime.LASTRUN()) " records/sec"
- Amount of generated trace data depends on trace settings and target application!
STREAM mode diagnosis - Disk write speed
- Download dws.exe to the TRACE32 TMP directory, available at https://www.lauterbach.com/support/static/dws.exe
- "dws.exe < size >" creates a file with GiB in the local directory and measures the write speed (< size > should be bigger than RAM size)
- Test with and without virus scanner
Refer for more information to the following white paper: https://www.lauterbach.com/publications/trace32_streaming_at_optimal_rates.pdf