Champs,
I found an example for Logger module as following in Bios_User_Guide.pdf. It works well.
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); var Load = xdc.useModule('ti.sysbios.utils.Load'); var Diags = xdc.useModule('xdc.runtime.Diags'); var loggerBuf = LoggerBuf.create(); Load.common$.logger = loggerBuf; Load.common$.diags_USER4 = Diags.ALWAYS_ON;
However, when I added the following at top of the above, validator output a warning.
var ti_sysbios_rta_Agent = xdc.useModule('ti.sysbios.rta.Agent');
The warning message is as following.
ti.sysbios.utils.Load.common$.logger has already been assigned, Agent reassigning logger to RTALoadLog
Could you please let me know what I mistook? Isn't this avoidable or illegal usage? The reproducing environment is as following.
CCS v4.1.1.00014DSP/BIOS: 6.21.0.13XDCtools: 3.16.2.32RTSC Target: ti.targets.C64PRTSC Platform: ti.platforms.sim64Pxx
Any suggestion would be helpful.
Regards,Atsushi
Yokoyama, Atsushi (Tokyo JAPAN) Communications Infrastructure, Marketing, Texas Instruments Japan Limited
The way you configured the logger for the Load module looks good.
You're getting the warning because, by default, the RTA Agent will configure the Load module's log for you. The Agent automatically configures BIOS logging to support the RTA tools in CCS 4. The RTA Agent is giving you that warning because it is replacing the Load logger you configured with one it has created.
I would recommend simply removing the lines you have there to configure the logger for the Load module. The RTA Agent will take care of this for you. If you want to change the size of the Load log, you can set Agent.numLoadRecords, the default is 64.
If you really want to configure the Load module's logger yourself, you can set Agent.configureLoadLog = false.
I should also point out that the Agent automatically configures logging for all of the important modules in BIOS. See the RTA Agent CDOC for more details on that.
Thanks,
Chris
Chris,
Thank you for replying. I understood that we don't need rta.Agent declaration (or reference) to use Load module simply.
However, I actually wanted to do was, using another LoggerBuf instance with RtdxModule, in parallel with Load graph. Exactly speaking, the essential objective of mine was the following. I wanted RTDX transport with PROTOCOL.SIMULATION.
Program.global.logger0 = xdc_runtime_LoggerBuf.create(...); xdc_runtime_Main.common$.logger = Program.global.logger0; // snip ti_rtdx_RtdxModule.protocol = ti_rtdx_RtdxModule.PROTOCOL_SIMULATION; ti_sysbios_rta_Agent.transport = ti_sysbios_rta_Agent.Transport_RTDX;
For this reason, I considered we need to refer rta.Agent, so I had added the following.
Can we avoid the warning? Or do we have a better solution?
Thank you for your suggestion.
I guess I'm not clear on what you're trying to achieve here.
The five lines you've listed above are enough, on their own, to get RTA working in CCS 4. You'll get all of the load, execution, and printf views available. Pulling in the RTA Agent sets all of the logging up for Load and BIOS, and you don't need to configure the logger for the Load module on your own.
To stop the warning, just remove the code you had to configure the logger for the Load module, and that should do it.