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/K2GICE:键入未解析的符号 Log_write1:要添加的库

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/858168/ccs-k2gice-type-unresolved-symbol-log_write1-what-libruary-to-add

部件号:K2GICE
Thread 中讨论的其他器件:SYSBIOS

工具/软件:Code Composer Studio

你(们)好

IM 获取错误: 在我要使用 UIABenchmarks 的位置键入未解析的符号 Log_write1。 对于代码:

log_write1 (UIABenchmark_start、(XDC_IArg"正在运行");
while (i < 5000000){
x=(2*A-B-C)*sqr6;
y =(B - C)*sqr2;
z =(A + B + C)*sqr3;

CO = cosdp (theta);
Si =信德 p (theta);

D = CO*X + SI*Y;
q = co*Y- si*X;
i++;
}
log_write1 (UIABenchmark_stop、(XDC_IArg"正在运行"); 

似乎我需要一些代码库、但我无法找到我需要的代码库。 此信息在哪里提供?

Tommi

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

    您好、Tommi、

    您能否共享项目的.cfg 文件?

    您是否具有 LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');和 UIABenchmark = xdc.useModule('ti.uia.events.UIABenchmark');?

    此致、
    Yordan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我在文档末尾处有这些行。
    
    
    VAR Defaults = xdc.useModule('xdc.runtime.Defaults');
    var Diags = xdc.useModule('xdc.runtime.Diags');
    var Error = 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 Clock = xdc.useModule('ti.sysbios.knl.Clock');
    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');
    
    //
    *取消注释此行以全局禁用断言。
    *所有模块继承'库'模块的默认值。 您
    *可以使用 Module.common$按模块覆盖这些默认值。
    *禁用断言将节省代码空间并提高运行时性能。
    Defaults.common$.diags_ASSERT = Diags.always_off;
    */
    
    *
    取消注释此行以防止模块名称加载到目标上。
    *模块名称字符串放置在.const 段中。 将此
    *参数设置为 false 将节省.const 段中的空间。 错误和
    *断言消息将包含"未知模块"前缀、而
    不是*实际模块名称。
    Defaults.common$.namedModule = false;
    */
    
    /*
    将系统中的 exit 处理程序数组最小化。 System 模块包括
    *一组函数,这些函数在 System_atexit()中注册,
    *由 System_exit()调用。
    //
    System.maxAtexitHandlers = 4;
    
    /*
    取消注释此行以禁用错误打印功能。
    *禁用时,我们会丢失错误信息,因为
    *不打印错误。 如果
    *由于 Error_print()函数
    *调用 System_printf(),禁用 raiseHook 将节省一些代码空间。
    error.raiseHook =空;
    */
    
    /*
    取消注释此行以防止*在
    目标上加载错误、断言和日志字符串。 这些字符串放置在.const 段中。
    *将此参数设置为 false 将节省.const 段中的空间。
    *错误、断言和日志消息将打印原始 ID 和 args、而不是
    *格式化的消息。
    text.isLoaded = false;
    */
    
    /*
    取消注释此行以在
    程序退出时禁用 SysMin *的字符输出。 SysMin 向循环缓冲区写入字符。
    *可以使用 ROV 中的 SysMin Output 视图查看该缓冲器。
    SysMin.flushAtExit = false;
    */
    
    /*
    BIOS 模块将为系统创建默认堆。
    *指定此默认堆的大小。
    //
    BIOS.heapSize = 0x1000;
    
    //
    *从源代码构建自定义 SYS/BIOS 库。
    //
    BIOS.libType = BIOS.LibType_Custom;
    
    //系统堆栈大小(由 ISR 和 Swi 使用)*/
    Program.stack = 0x2000;
    
    // System_printf ()的循环缓冲区大小*/
    SYSMIN.bufSize = 0x200;
    var 内存 = xdc.useModule('xdc.runtime.Memory');
    var BIOS = xdc.useModule('ti.sysbios.BIOS');
    var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
    var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf');
    var 日志 = xdc.useModule('xdc.runtime.Log');
    var 任务 = xdc.useModule('ti.sysbios.knl.Task');
    var 信号量 = xdc.useModule('ti.sysbios.knl.Semaphore');
    var CpIntc = xdc.useModule('ti.sysbios.family.c66.tci66xx.CpIntc');
    var Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
    var ECM = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
    var core = xdc.useModule('ti.sysbios.hal.Core');
    
    var devType ="k2g"
    
    /*加载 OSAL 软件包*/
    var osType ="tirtos"
    var OSAL = xdc.useModule('ti.osal.Settings');
    OSAL.osType = osType;
    OSAL.socType = devType;
    
    /*使用 CSL 软件包*/
    var devl = XDC.loadPackage ('ti.CSL');
    Csl.Settings.deviceType = CSType;
    
    //加载板包并设置板名称*/
    var Board = XDC.loadPackage ('ti.board');
    board.Settings.boardName ="iceK2G";
    
    //加载性能评测包*/
    var Utils = XDC.loadPackage ('ti.utils.profiling');
    
    //加载 GPIO 包*/
    var GPIO = XDC.Package ('ti.logic.devType');enable.gpio
    
    Settings = true.load.gpio Settings;ture.load.gpio Settings;
    
    /*加载 UART 软件包*/
    var UART = xdc.useModule('ti.drv.uart.Settings');
    UART.socType = devType;
    
    var System = xdc.useModule('xdc.runtime.System');
    SysStd = xdc.useModule('xdc.runtime.SysStd');
    System.SupportProxy = SysStd;
    
    //加载并使用 CSL 软件包*/
    var CSl = xdc.useModule('ti.csl.Settings');
    Csl.deviceType = devType;
    
    //使用 ti.BIOS.HeapMem 创建默认系统堆。 */
    var heapMemParams1 =新 HeapMem.Params;
    heapMemParams1.size = 8192 * 25;
    heapMemParams1.sectionName ="systemHeap";
    Program.global.heap0 = HeapMem.create (heapMemParams1);
    
    
    //不执行运行时堆栈检查*/
    Task.checkStackFlag = false;
    
    
    /*减少任务优先级的数量*/
    Task.numPriorities = 4;
    
    /*这是默认的内存堆。 *
    Memory.defaultHeapInstance = Program.global.heap0;
    
    Program.sectMap["systemHeap"]= Program.platform.stackMemory;
    Program.sectMap[".fardata:benchmarking"]="DDR3";
    
    /*=========== 任务配置=================== */
    var task0Params =新建 Task.Params();
    task0Params.instance.name ="ECHO";
    task0Params.STACKSIZE = 0x1000;
    Program.global.echo = Task.create ("&GPIO_test"、task0Params);
    
    //
    *为整个系统创建并安装记录器
    var swierBufParams = new LoggerBuf.Params ();
    var logerBufParams.numEntry = 16;
    var logger0 = LoggBuf.create (logerBufParams);
    Defaults.common$.logger
    
    
    var logbiosBufParams.Params = Main.common$.diags_INFO = xdc.useModule('ti.uia.sysbios.LoggingSetup');
    
    true;xdc.useModule('ti.uia.events.UIABenchmark');
    
    var loggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoads = xdc.useModule('ti.sysbios.utils.Load');= true;var LoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoggLoad/sys=
    
    System.SupportProxy = SysMin;
    
    

    链接器文件搜索路径页面如下:

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

    是否可以尝试在 include 库文件中添加 rdimon 和 gcc 作为输入?

    我在一些 PDK 项目中看到有 COM_TI_UIA_libraries 变量、但现在尝试使用 rdimon 和 gcc。

    此致、
    Yordan

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

    通过添加这些内容、我只会遇到以下错误:

    这些库的位置、至少现在它们不在我拥有的 include 文件夹中。

    Tommi

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

    通过添加缺失的 include 最终解决了问题:

    #include