Introduction
The Ctools use case library provides easy to use APIs to integrate commonly used Debug and Trace features like PC trace, memory watch point, profiling etc into the application software. This use case library provides APIs to integrate both Core Trace and System (SoC) Trace features:
- Core trace provides program counter and instruction timing information
- In C66x CorePAC, both core memory accesses and core events can be captured.
- System Trace provides
- CP Tracer messages, which can be used to perform bandwidth, latency profiling and events capture at the System (SoC) level.
- SW messages, which can be used to print messages from multiple cores. These SW messages can be interleaved with the CP Tracer messages.
The ctools use-case library APIs internally call the low level ctools Libraries (ETBLib, DSPTraceLib, CPTLib, AETLib and STMLib) APIs. For ease of use, the ctools use-case library is designed as a wrapper, which provides complete abstraction from the low level ctools libraries.
Devices Supported
TMS320C6657, TMS320C6670, TMS320C6672, TMS320C6674, TMS320C6678, TMS320TCI6612, TMS320TCI6614, TMS320TCI6616 and TMS320TCI6618
CTOOLS Use Case Library Revision History
Revision | Date | Notes |
1.0 | 10/12/2012 | First release implementation |
1.1 | 12/17/2012 | Added support for keystone2 (C66AK2Hxx). Added ETB-EDMA support for C6657 |
1.2 | 05/15/2013 | Updates for SDOCM00100802 (cToolsLib examples have some errors), SDOCM00100576 (for keystone2, ctools mc_pc_trace_edma_drn unit test fails to initialize dsp trace function) and SDOCM00101368 (ctools use-case library: PC trace capture on a App SW fault) |
1.3 | 04/07/2014 | Added support for Edison (C66AK2Exx) and Lamarr (TCI6630K2L) devices |
1.4 | 07/30/2014 | For all supported PCT use cases, DSPTrace TEND state needs to be cleared before starting PC trace, Fixed a bug: AET needs to claimed before DSPTrace_setState() API can be used to set DSPTrace TEND state |
1.5 | 05/13/2015 | Added support for 66AK2Gxx devices |
Ctools Usecase Library
The ctools use case library is intended to demonstrate the following Debug and Trace use cases:
Integration with Application Software
The ctools use case library for all supported devices are available at Ctools_UCLib\lib. For all the supported devices, the following are the instructions to integrate the ctools use case library with the application software:
- TMS320C6657:
- Libraries to link: ctools_uclib.c6657_elf, cpt.c6657_elf, dsptrace.c66xx_elf, tietb.c6657_elf, aetlib.l66_elf and stm.c66xx_elf
- Compiler Pre-include flags: C6657 and _STM_Logging
- TMS320C6670, TMS320TCI6616 and TMS320TCI6618:
- Libraries to link: ctools_uclib.c6670_elf, cpt.c6670_elf, dsptrace.c66xx_elf, tietb.c66xx_elf, aetlib.l66_elf and stm.c66xx_elf
- Compiler Pre-include flags: C6670 and _STM_Logging
- TMS320C6678,TMS320C6674 andTMS320C6672:
- Libraries to link: ctools_uclib.c6678_elf, cpt.c6670_elf, dsptrace.c66xx_elf, tietb.c6678_elf, aetlib.l66_elf and stm.c66xx_elf
- Compiler Pre-include flags:
- TMS320C6678: C6678 and _STM_Logging
- TMS320C6674: C6674 and _STM_Logging
- TMS320C6672: C6672 and _STM_Logging
- TMS320TCI6614 and TMS320TCI6612:
- Libraries to link: ctools_uclib.tci6614_elf, cpt.tci6614_elf, dsptrace.c66xx_elf, tietb.c66xx_elf, aetlib.l66_elf and stm.c66xx_elf
- Compiler Pre-include flags:
- TMS320TCI6614: TCI6614 and _STM_Logging
- TMS320TCI6612: TCI6612 and _STM_Logging
- TMS320C66AK2Hxx (Keystone 2 devices):
- Libraries to link: ctools_uclib.c66AK2Hxx_elf, cpt.c66ak2hxx_elf, dsptrace.c66xx_elf, tietb.c66ak2hxx_c66x_elf, aetlib.l66_elf and stm.c66xx_elf
- Compiler Pre-include flags: C66AK2Hxx and _STM_Logging
- TMS320C66AK2Exx:
- Libraries to link: ctools_uclib.c66AK2Exx_elf, cpt.66ak2exx_elf, dsptrace.c66xx_elf, tietb.c66ak2hxx_c66x_elf, aetlib.l66_elf and stm.c66xx_elf
- Compiler Pre-include flags: C66AK2Exx and _STM_Logging
- TMS320TCI6630K2L:
- Libraries to link: ctools_uclib.tci6630K2L_elf, cpt.tci6630k2l_elf, dsptrace.c66xx_elf, tietb.c66ak2hxx_c66x_elf, aetlib.l66_elf and stm.c66xx_elf
- Compiler Pre-include flags: TCI6630K2L and _STM_Logging
- Please Note: For Big endian support, use the libraries with 'e' appended to the device part number. For Debug versions, use the libraries with '_d' appended to the library name.
Rebuilding the Libraries
For each of the supported targets, CCSv5 projects available at Ctools_UCLib\projects. These projects can be imported into CCS, to rebuild the corresponding use case libraries.
References
- Doxygen for the low level ctools libraries:
- CPTLib (<CTOOLS_INSTALL_DIR>\CPTLib\doc\CPT_####_html\index.html)
- ETBLib (<CTOOLS_INSTALL_DIR>\ETBLib\doc\html\index.html)
- DSPTraceLib (<CTOOLS_INSTALL_DIR>\DSPTraceLib\doc\html\index.html)
- AETLib (<CTOOLS_INSTALL_DIR>\aet\doc\html\index.html)
- STMLib (<CTOOLS_INSTALL_DIR>\STMLib\doc\STM_html\index.html)
- Wiki Articles: