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.
工具/软件: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 最终解决了问题:
#include