I am using CCS v5.0.1 and i am trying to get the outputs on console using System_printf().
The SYS/BIOS configuration i am using is
var SysMin = xdc.useModule('xdc.runtime.SysMin');SysMin.bufSize = 4096;SysMin.flushAtExit = true;xdc_runtime_System.SupportProxy = SysMin;
By using the above configuration i am getting the outputs after System_flush() at the console, but i want the outputs at the console during runtime.
I am using Swi and Hwi repeatedly in the system.
I have also tried the configuration
var SysStd = xdc.useModule('xdc.runtime.SysStd');xdc_runtime_System.SupportProxy =SysStd;
Using this configuration, my system crashes.
Is there any way out to print the outputs on console during runtime environment ?
Hi Deepain Nayyar ,
Which hardware platform are you using? Also, which version of BIOS and XDC tools do you have?
I am using multicore DSP EVM 6670.
BIOS version is 6.32.01.38.
XDC tools is 3.22.01.21
Deepain NayyarIs there any way out to print the outputs on console during runtime environment ?
You need to use RTA (Real Time Analysis) tools to do this. Or, you could use UIA and System Analyzer.
Have you seen section "8.6 RTA Tools in CCS" of the SYS/BIOS User's Guide?
This section explains how to configure your application and use the RTA tools to view real time log data in SYS/BiOS 6.32.
I am facing a similiar problem. I am using C66xx and including RTDX module gives an error of unsupported with c66x.
As i understand RTA (Real Time Analysis) tools further require RTDX to send output to the host from target buffers.
Does that mean RTA functionality is not supported on my DSP ?
Thanx in advance
Which version of BIOS are you using? Unfortunately, RTDX is no longer supported...
Another option is to use SysMin. Please refer to the following thread which is closely related to this discussion:
Sorry for the late reply !!
I am using SYS/Bios version 06.32.01.38.
I observe that UIA has na option to show prints in the runtime through JTAG transport and i also found on profiling that it takes quite less cycles.
what do u think which would be better to use -SysMin or UIA ?
There are a several ways to get the Log output with UIA.
1. Via ROV
2. System Analyzer and halting the target
3. For 66xx, there is a runmode option for UIA that System Analyzer supports (this does not require you halt the target)
4. You can use a non-JTAG transport (e.g. Ethernet) to get the Log event off during runtime.
Which version of CCS and UIA do you have? Which method would be most beneficial to you? Are you interesting in SYS/BIOS logging or not? (SYS/BIOS logging enables execution graph in System Analyzer).
Note: UIA/System Analyzer is for Log data, not System_printf data. As you noted, Log calls have a lower overhead than System_printf calls.
Thanks for the reply.
1. I am using CCS version 5.1.1.00031 and UIA version 220.127.116.11.
2. I think runmode option for UIA would be more beneficial.
First make sure that you have UIA included in your project.
Next, add the following lines into your .cfg file
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGRUNMODE;
This will create loggers for SYS/BIOS, Load and Main (your code). There are more setting in LoggingSetup (e.g. disable SYS/BIOS logging, size of the buffer for the Load's logger, etc.), but let's get this working first. Remove any LoggerBuf configuration you have.
Rebuild your app and then load/run it. You can now open Tools->System Analyzer->Live. It should auto-detect that your app is setup for runmode. You probably want to change one setting on this page. Instead of collect for 5 seconds, change it to collect until halted.
Once you run System Analyzer, you should start getting Log events in the Log view. Please refer to the UIA Getting Started Guide or User Guide for more details about the features in System Analyzer.
If you want to do stopmode, use UploadMode_JTAGSTOPMODE instead. The records will be read from the target when the target is halted. With the version of CCS, you probably have to close and restart System Analyzer each time you reload you application.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.