Hello everyone,
Main subjects:
LoggerSM, LoggerStreamer, System Analyser, Loggers, Log_write, System_printf, ...
The target is:
EVM C6678 with SYSBIOS 6.35, UIA 1.03.01 XDCtools 3.25 and CCS5.5. Jtag access XDS560v2
I'm familiar with System_printf to display statements on CCS console.
I'm familiar with Log_write, Log_print to log data and SYSBIOS events.
I'm very familiar with the System Analyser (multicore synchronisation with Log Sync) in JTAGRUNMODE.
I'm quite familiar with the loggers configuration (LoggerCircBuf for sysbios and main loggers, LoggerBuf for the overflow logger)
I'm familiar with the LoggerSM and LoggerStreamer documentation (cdoc uia) and have seen the evmti816x exemple.
All is fine for a single C6678 target with a regular CCS System Analyser multicore session.
Next step is:
One DSP C6678 with one core on Linux, one core on SYSBIOS.
Aim:
The sysbios application writes Log events in circular buffers in shared memory (MSMC or DDR3). Overflow must be configurable at runtime.
The linux application is able to read and decode the data to display the user printf on our custom Human-Machine Interface window.
In case of DSP application crash, we want to feed System Analyser with the last logs (in a binary file) to have the execution graph leading to the crash.
Limitations:
- Live view of the logs is not necessary (the display on the Linux side can be delayed)
- User printf logs must NOT be lost
- No transmition via UDP/ethernet/whatever. Only options : Shared Memory (prefered) or SRIO.
- No DSS scripting hack.
- L1P/D cache enabled, L2 as SRAM
- for the printf, variable arguments would be great.
Questions:
To achieve the above : what is best LoggerSM ? LoggerStreamer ?
Can they do it ? What are the limitations ?
What should we use for the user printf : system_printf with a custom interface ISystemSupport ?
or directly Log_write ? (with which Log_Event ?) or directly LoggerSM_write/LoggerStreamer2_write ?
Thank you
Clement