TI E2E Community
[BIOS6] Adding ti.sysbios.rta.Agent and assignment something.common$.logger confict
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: 126.96.36.199XDCtools: 188.8.131.52RTSC Target: ti.targets.C64PRTSC Platform: ti.platforms.sim64Pxx
Any suggestion would be helpful.
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.
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;
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.
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.