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/CCStudio:移植工程中的链接器错误

Guru**** 2540720 points
Other Parts Discussed in Thread: TM4C1290NCPDT

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/669839/ccs-ccstudio-linker-errors-in-ported-project

器件型号:CCStudio
主题中讨论的其他器件:TM4C1290NCPDT

工具/软件:Code Composer Studio

CCS 7.2.0.00013

TI v16.9.6.LTS

目标 TM4C1290NCPDT

e2e.ti.com/.../4834.errors.txt

我在此项目上遇到链接器错误。 我已附加控制台日志和错误列表。 您能帮助解释这些错误是什么吗?

谢谢、

Priya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Priya、
    其中有很多注释、但需要关注的主要问题是文件顶部附近未解析的符号链接器错误。 这是一个常见错误、如以下链接所述:
    software-dl.ti.com/.../sdto_ccs_build-errors.html

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

    e2e.ti.com/.../console16.9.6.LTS.txtOk。我现在遇到3个错误。

    说明资源路径位置类型

    无法打开文件"C:/ti/TivaWare_C_Series-2.1.4.178: 拒绝权限无法打开文件"C:/ti/TivaWare_C_Series-2.1.4.178: 拒绝权限 REPM_firmware_BULK_validation_TM4C1290NCPDT C/C++问题

    Gmake:***[All]错误2 REPM_firmware_BULK_VALICATION _TM4C1290NCPDT C/C++问题

    gmake[1]:***[REPM_firmware_bulate_validation_TM4C1290NCPDT.out]错误1 REPM_firmware_BULK_validation_TM4C1290NCPDT C/C++问题

    我通过注释掉只读、更改了 C:\ti 和项目目录的权限。 它没有产生影响。 我还附加了控制台日志。

    谢谢、

    Priya

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

    看起来您在目录上使用-l 选项。 l 选项应引用文件。 i 选项用于库搜索路径:

    '调用:ARM 链接器'
    "c /ti/ccsv7/tools/compiler/lib:/ti/ccsv7/tools/compiler/bin/armcl /ti/ccsv7/tools/compiler/include -mv7M4 -code_state=16 --float_support=FPv4SPD16 -me -off --opt_for_speed=2 --advice:pow="2、4、5、10"--define =_120_MHz --define =ccs=part_TM4bot_speed=2 --ise-size-remote_display-/ti/TivaWare_C_Series-2.1.4.178 -cature=12bad_bad_time-regulation_die_display-cn=-cn_bulation=-cn_bulation_bad_bad_bulation-regulation=-cn-cn_bad_bad_bad_bulation-regulation-regulation-cn-cn-cn-cn-cn-cn_bad_bad_bad-regulation-cn-cn-cn-cn-cn-cn-regulation-cn-cn-region-cn-cn-region-region-regulation-cn-cn-cn-cn-cn-cn-cn-cn_ WARN_SECTIONS --xml_link_info="rePM_firmware_BULK_validation_TM4C1290NCPDT_linkInfo.xml"-- rom_model -o "REPM_firmware_bulate_validation_TM4C1290NCPDT.out""./tm4c1290ncppdt_startup_ccs.obj ""./REPMFirmware/ARCNET_Interface.obj "./REPMFirmware/ARCNET_MessageProcessor.obj /REPMFirmware/BezelLED_Interface.obj /REPMFirmware/I2CInterface.obj /REPMFirmware/LinearMotor_Interface.obj /REPMFirmware/Printhead_Interface.obj /REPMFirmware/Sensor_Interface.obj /REPMFirmware/Switch_Interface.obj /REPMFirmware/Watchdog_LED_Interface.obj /REPMFirmware/arcinit.obj /REPMFirmware/arcsend.obj /REPMFirmware/usb_dev_serial.obj /REPMFirmware/xMailLog.obj /driverlib/aes.obj /driverlib/cpu.obj /driverlib/eeprom.obj "./REPMFirmware/ARCdata.obj "./REPMFirmware/FeedDetect_Interface.obj "./REPMFirmware/ARCmain.obj "./REPMFirmware/Interrupt_Control.obj "./REPMFirmware/Motor_Common.obj "./REPMFirmware/Firmware_Updater.obj "./REPMFirmware/REPM_Control.obj /REPMFirmware/SolenoidInterface.obj /REPMFirmware/TestFile.obj /REPMFirmware/arccom19.obj /REPMFirmware/arcirq.obj /REPMFirmware/com_area.obj /REPMFirmware/usb_serial_structs.obj /REPMFirmware/xTimer.obj /driverlib/can.obj /driverlib/crc.obj /driverlib/emac.obj "./REPMFirmware/LevelShift_Interface.obj /REPMFirmware/Printhead_Control.obj /REPMFirmware/RotaryMotor_Interface.obj /REPMFirmware/StatusData.obj /REPMFirmware/TickTimer.obj /REPMFirmware/arcerror.obj /REPMFirmware/arcrecon.obj /REPMFirmware/main.obj /REPMFirmware/xMail.obj /driverlib/adc.obj /driverlib/comp.obj /driverlib/des.obj /driverlib/epi.obj "./driverlib/epi_workaround_ccs.obj "./driverlib/flash.obj "./driverlib/fpu.obj "./driverlib/gpio.obj "./driverlib/ssi.obj "./driverlib/hibernate.obj "./driverlib/i2c.obj "./driverlib/shamd5.obj "./driverlib/interrupt.obj "./driverlib/lcd.obj "./driverlib/mpu.obj "./driverlib/onewire.obj /driverlib/sysctl.obj /driverlib/timer.obj /driverlib/usb.obj /drivers/pinout.obj /usblib/device/usbdcdc.obj /usblib/device/usbdconfig.obj /usblib/device/usbdhandler.obj /usblib/device/usbdhidkeyb.obj /usblib/host/usbhaudio.obj /usblib/host/usbhhidmouse.obj /usblib/host/usbhostenum.obj /usblib/usbdesc.obj "./driverlib/pwm.obj "./driverlib/sysexc.obj "./driverlib/qei.obj "./driverlib/uart.obj "./driverlib/sw_crc.obj "./driverlib/systick.obj "./driverlib/udma.obj "./drivers/http.obj "./driverlib/watchdog.obj "./usblib/device/usbdaudio.obj /usblib/device/usbdcdesc.obj /usblib/device/usbddfu-rt.obj /usblib/device/usbdhid.obj /usblib/device/usbdhidmouse.obj /usblib/host/usbhhid.obj /usblib/host/usbhhub.obj /usblib/host/usbhscsi.obj /usblib/usbdma.obj "./usblib/device/usbdbulk.obj "./usblib/device/usbdcomp.obj "./usblib/device/usbdenum.obj /usblib/device/usbdhidgamepad.obj /usblib/device/usbdmsc.obj /usblib/host/usbhhidkeyboard.obj /usblib/host/usbhmsc.obj /usblib/usbbuffer.obj "./usblib/usbkeyboardmap.obj "./usblib/usbmode.obj "./usblib/usbringbuf.obj "./usblib/usbtick.obj "./usblib/usbulpi.obj "./utils/uartstdio.obj "./driverlib/gcc/libdriver.a "./utils/ustdlib.obj "..tm4c1290ncppdt.cmd""../driverlib/ccs/Debug/driverlib.lib "../driverlib/rvmdk/driverlib.lib "../usblib/ccs/Debug/usblib.lib "../usblib/rvmdk/usblib.lib /ti/TivaWare_C_Series-2.1.4.178/usblib/ccs/Debug/usblib.lib /usblib/ewarm/Exe/usblib.a -l"C:/ti/TivaWare_C_Series-2.1.4.178 -l"C:/TFS/RD_10_SOURCE/REPM/05_REPM_FIRMWARE_SOURCE_CODE/TI_Code_Composer_BulkValidatorFirmware-TM4C1290NCPDT/REPM_FIRMWARE_BULK_VALIDATION_TM4C1290NCPDT/driverlib/ccs/Debug/driverlib.lib -l"C:-l.c:/driverlib/ewarm/Exe/driverlib.a ./usblib/gcc/libusb.a

    致命错误#6001:无法打开文件"C:/ti/TivaWare_C_Series-2.1.4.178:权限被拒绝

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法在 CCS 项目设置中跟踪-l 选项。 我正在查看 ARM 链接器标志和 ARM 编译器标志。 从哪里可以找到它?
    谢谢、
    Priya
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

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

    这就是我在基本选项 ARM 连接器下拥有的内容。 这种情况缺少什么?

    谢谢、

    Priya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的屏幕截图与您提供的构建输出不一致。 在屏幕截图中、我看到使用-l 选项指定的三个库- driverlib.lib、usblib.lib 和 libc.a

    您的构建输出显示:

    -l"C:/ti/TivaWare_C_Series-2.1.4.178
    -l"C:/TFS/RD_10_SOURCE/REPM/05_REPM_FIRMWARE_SOURCE_CODE/TI_Code_Composer_BulkValidatorFirmware-TM4C1290NCPDT/REPM_FIRMWARE_BULK_VALIDATION_TM4C1290NCPDT/driverlib/ccs/Debug/driverlib.lib
    -l"C:/ti/TivaWare_C_Series-2.1.4.178/usblib/ccs/Debug/usblib.lib
    -llibc.a

    您可以看到、有四个-l 选项。

    第一个-l 选项来自哪里? 这是一件令人困惑的事情。 您在屏幕截图中圈出的路径是搜索路径(-i 选项)且不相关。

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

    e2e.ti.com/.../8551.console16.9.6.LTS.txt

    e2e.ti.com/.../7802.errors.txt

    Ki、

    感谢您的回复。 我将当前使用的文件搜索路径选项、控制台日志和错误列表附加到此帖子。 请告诉我还可以尝试什么。 我认为-l 问题现在已经解决了、但我在 pinout.c 文件中的 ROM 函数遇到了问题。 为什么以隐式方式声明这些 ROM 函数?

    编辑为提及:

    我打开 ULP Advisor 以从控制台日志中删除警告。

    谢谢、

    Priya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、这看起来更好。 指向 TivaWare 根目录的奇数-l 选项已消失。

    现在、您将返回到更多未解析的符号。 我不知道它们的定义位置、但您需要为它们添加库/目标文件。 如果他们来自 TivaWare、或许 TM4C 论坛中的专家可以提供更多见解。

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

    [引用 user="Priya Nadathur70">我认为-l 问题现在已解决,但我在 pinout.c 文件中的 ROM 函数遇到问题。 为什么以隐式方式声明这些 ROM 函数?[/quot]使用 ROM 函数 A target_IS_TM4C129_ 需要定义来选择器件。 请参阅   TivaWare 外设驱动程序库用户指南的直接 ROM 调用部分。