This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMDSEVM6678:系统分析器记录程序包被覆盖或丢弃!

Guru**** 2609285 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/634886/ccs-tmdsevm6678-system-analyzer-logger-packets-are-being-overwritten-or-dropped

部件号:TMDSEVM6678

工具/软件:Code Composer Studio

您好,

我正在尝试对系统分析器上的事件日志进行故障排除,以解决错过的问题。  我有 LoggerType_JTAGRUNCODE。  系统分析器用户指南显示:"提高RTA的频率"或"如果这是多核应用,请增加非主处理器上的事件数据包数量。"  我想知道这些陈述中是否有任何一条适用于带JTAG的运行模式,或者是否仅适用于带以太网的运行模式?!

我已经没有运气地增加了LoggerSize,并且ROV显示DroppedEvents为零。

我还有什么可以尝试防止事件丢失的吗?!

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    MN,您好!

     能否发布您的.cfg文件?  它将帮助您阐明如何配置UIA。  此外,您使用的是什么版本的UIA和CCS?

    此致,

     Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Brian,

    我有CCS 6.2 和2.0。6.52。  我还将在此处附加.cfg文件。

    VAR默认值= xdc.useModule('xdc.runtime.Defaults');
    var Diags = xdc.useModule('xdc.runtime.Diags');
    var Err = xdc.useModule('xdc.runtime.Error');
    //var Log = xdc.useModule('xdc.runtime.Log');
    //var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
    var Main = xdc.useModule('xdc.runtime.Main');
    var Memory = xdc.useModule('xdc.runtime.Memory'
    var SYSMIN = xdc.useModule('xdc.runtime.SysMin');
    var System = xdc.useModule('xdc.runtime.System');
    var Text = xdc.useModule('xdc.runtime.Text');
    
    var BIOS = xdc.useModule('ti.sysbios.BIOS');
    var Swi = xdc.useModule('ti.sysbios.knl.Swi');
    VAR Task = xdc.useModule('ti.sysbios.knl.Task');
    var semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
    var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
    //var CpIntc = xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');
    var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
    var HeapIn = xdc.useModule('xdc.runtime.HeapMin');
    var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
    var core = xdc.useModule('ti.sysbios.hal.Core');
    var ti_SysBIOS_family_c64p_Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
    var Timer = xdc.useModule('ti.sysbios.hal.Timer');
    var Idle = xdc.useModule('ti.sysbios.knl.Idle');
    var Event = xdc.useModule('ti.sysbios.knl.Event');
    VAR LoggerRunMode = xdc.useModule('ti.uia.loggers.LoggerRunMode');
    /var setting = xdc.useModule('ti.csl.Settings');
    var devType ="c6678"
    var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
    
    /*使用LoggerRunMode进行实时JTAG上传*/
    LoggingSetup.loggerType = LoggingSetup.LoggerType_JTAGRmainDE;
    
    
    LoggingSetup.loadLoggerSize =5120; LoggingSetup.Loggesize*=
    loggargesize*s
    
    
    的设置.220.408s设置程序大小=秒本节的设置.220.17scalesgesize
    *示例不使用命令行参数,因此argSize设置为0。
    */
    Program.argSize = 0x0;
    
    /*
    最小化系统中的退出处理程序数组。 系统模块包括
    *在System_atexit()中注册的函数数数组,这些函数
    将被System_exit()调用。
    */
    System.maxAtexitHandlers = 4;
    
    /*
    BIOS模块将为系统创建默认堆。
    *指定此缺省堆的大小。
    */
    bios.heapSize = 0x1.8万;
    
    
    
    /*这是默认内存堆。
    Memory.defaultHeapInstance = Program.global.heap0;
    
    Program.sectMap["systemHeap"]= Program.platform.stackMemory;
    Program.sectMap[".fardata:benchmarking"]="DDR3";
    
    */*
    
    系统堆栈大小(由ISR和Swis使用)*/
    Program.stack = 5632;
    
    /* System_printf()*/
    SYSMIN.bufSize = 0x2000;
    
    
    /*
    为整个系统创建和安装记录器
    *//*ParloggerBufams.New Parfams.Pargerams(
    )
    loggerBufParams.numEntries = 16;
    var loggerBuf.create (loggerBufParams);
    Defaults.common$.logger
    
    
    
    
    
    
    
    heapMin0Params.sectionName
    
    
    
    
    Task.defaultStackSize = logger0;Main.common$.diags_INFO Program.sectMap[".myHeap"]= Diags.always;*/ System.SupportProxy = MSMMIN;var heapMin0Params = new HeapMinmin.Params();heapMin0Params.instance.name ="heapmin0";Program.sectMap[".myHeap"].runSegment == mpheapm.Params.40";= mspheappheapm.Params.phe=
    //Memory.defaultHeapSize = 4096;
    Task.idleTaskStackSize = 4096;
    var task1Params = new Task.Params();
    task1Params.instance.name ="Task1";
    task1Params.priority = 10;
    Program.global.Task1 = Task.create("&master_main",task1Params);
    
    /*启用实例名称*/
    Task.common$.namedInstance = true;
    /*定义并添加一个任务钩子集*/
    Task.addHookSet({exitFxn:
    
    	'&myExit',
    
    });
    
    
    //Program.sectMap[".myHeap"].loadSegment ="MSMCSRAM";
    Program.sectMap[".dropletSection"]= new Program.MSMsemtionSpec();
    Program.sectMap[".dropletSection"].loadSegment
    
    
    
    Task.deleteTerminatedTasks ="MSMCSRAM";Program.sectMap[".testData"]= new Program.SectionSpecs= Program.sectMap[".testData"].loadSegment
    =====
    heapMin1Params.instance.name ="heapMin1";
    heapMin1Params.size = 2.048万;
    heapMin1Params.align = 16;
    heapMin1Params.sectionName =".myHeap";
    program.global.heapMin1 = heapMin.create(heapMin1Params);
    var heapMin2Params = new HeapMin.Params();
    heapMin2Params.instance.name ="heapMin2";
    heapMin2Params.size = 2.048万;
    heapMin2Params.sectionName =".myHeapMin2Params.align
    = 16;
    program.global.heapMin2 = heapMin.create(heapMin2Params);
    var heapMin3Params = new HeapMin.Params();
    heapMin3Params.instance.name ="heapMin3";
    heapMin3Params.size = 2.048万;
    heapMin3Params.align = 16;
    heapMin3Params.sectionName =".myHeapMin3";
    program.global.heapMin3 = heapMin.create(heapMin3Params);
    var heapMin4Params = new HeapMin.Params();
    heapMin4Params.instance.name ="heapMin4";
    heapMin4Params.size = 2.048万;
    heapMin4Params.align = 16;
    heapMin4Params.sectionName =".myHeapMin4Params";
    program.global.heapMin4 = heapMin.create(heapMin4Params);
    var heapMin5Params = new HeapMin.Params();
    heapMin5Params.instance.name ="heapMin5";
    heapMin5Params.size = 2.048万;
    heapMin5Params.align = 16;
    heapMin5Params.sectionName =".myHeapMin5";
    program.global.heapMin5 = heapMin.create(heapMin5Params);
    var heapMin6Params = new HeapMin.Params();
    heapMin6Params.instance.name ="heapMin6";
    heapMin6Params.size = 2.048万;
    heapMin6Params.align = 16;
    heapMin6Params.sectionName =".myHeapMin6";
    program.global.heapMin6 = heapMin.create(heapMin6Params);
    var heapMin7Params = new HeapMin.Params();
    heapMin7Params.instance.name ="heapMin7";
    heapMin7Params.size = 2.048万;
    heapMin7Params.align = 16;
    heapMin7Params.sectionName =".myHeapMin7";
    program.global.heapMin7 = heapMin.create(heapMin7Params);
    Idle.idleFxns[0]= null;
    LoggingSetup.countingAndGraphingLogging = true;
    Program.sectMap[".outputSectionDDR"]= new Program.SectionSpec();
    Program.sectMap[".outputSectionDDR"].loadSegment ="DDR3";
    

    非常感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为我记录了太多事件,而我甚至不需要。  因此,我在.cfg文件中添加了以下两行,现在我可以看到所有的printf日志:

    LoggingSetup.sysbiosTaskLogging = FALSE;
    LoggingSetup.loadLogging = FALSE;