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.

[参考译文] 编译器/MSP430FR5969:链接器错误__mspabi_srli_6

Guru**** 2589300 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/979377/compiler-msp430fr5969-linker-error-__mspabi_srli_6

器件型号:MSP430FR5969
主题中讨论的其他器件:MSP430WARE

工具/软件:TI C/C++编译器

我在 Debug 中收到此错误,但在 Release for CCS 10.2.0.00009、 MSP430_20.2.LTS/include 中没有收到此错误--include_path="C:/ti/msp/MSP430Ware_3_80_13_03/driverlib/driverlib/MSP430FR5xx_6xx --:

未解析的符号_mspabi_srli_6、首先在./src/inficon.obj 中引用

我在编译器(C11)或链接器设置中没有发现任何不同(除了指向我的调试和发布库)。

此错误不会发生在仅为最终可执行文件的库编译中。

我在另一台计算机上也会遇到此错误:CCS 10.1.1.00004、MSP430_20.2.3LTS 和 include "--include_path="C:/ti/msp/MSP430Ware_3_80_11_07/driverlib/driverlib/MSP430FR5xx_6xx --

让我觉得某处有不同的设置、但我看不到。

将其从桌面移动到笔记本电脑的同一项目、两者都是 Windows 10。

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

    您好!

    [引用用户="Stephen Simmons39"]

    我在 Debug 中收到此错误,但在 Release for CCS 10.2.0.00009、 MSP430_20.2.LTS/include 中没有收到此错误--include_path="C:/ti/msp/MSP430Ware_3_80_13_03/driverlib/driverlib/MSP430FR5xx_6xx --:

    未解析的符号_mspabi_srli_6、首先在./src/inficon.obj 中引用

    我在编译器(C11)或链接器设置中没有发现任何不同(除了指向我的调试和发布库)。

    [/报价]

    您能否为调试和发布版本提供出现在编译控制台中的完整编译输出? 您可以复制粘贴到文本文件并将文件附加到此线程。

    谢谢

    Ki

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

    Windows 10 Enterprise、Ver 1809、OS build 17763.1757

    插页看起来有点奇怪、但我不确定使用回形针应该是什么样子。

    e2e.ti.com/.../6354.Release.txt

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

    Debuge2e.ti.com/.../7608.Debug.txt

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

    谢谢。 除了某些优化设置之外、唯一的其他差异是被拉入的库。 您能否尝试引入 QPC681.lib 和 mymsp430Library.lib 的发布版本?

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

    我尝试将工程的调试版本与发布库链接在一起、并收到相同的错误。

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

    函数 _mspabi_srli_6来自运行时支持(RTS)库。  RTS 库是编译器安装的一部分。  您在链接命令中引用 RTS 库。  因此、该函数应位于该库中。  但它不是。

    请检查 RTS 库中是否存在函数__mspabi_srli_6。  请在链接器映射文件中搜索 rts430。  您将找到名称的重复实例、例如  rts430_eabi.lib 或  rts430x_lc_sd_eabi.lib。  使用名称实用程序 nm430搜索该库。  此实用程序与编译器 cl430位于相同的\bin 目录中。   MSP430汇编工具手册对此进行了说明。  从命令行运行类似于...的命令

    C:\work>nm430 C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-smsp430-msp_20.2.LTS \lib\rts430_eabi.lib | findstr __mspabi_srli_6
    00000000 U __mspabi_srli_6
    00000032 T __mspabi_sri_6_sri_sri_6 

    nm430命令转储该 RTS 库中定义或引用的所有符号。 将库名称更改为链接器映射文件中显示的库名称。 findstr 命令对输出进行筛选、以仅显示其中包含函数名称__mspabi_srli_6的行。 这里显示的输出是正确的。 我怀疑您会看到不同的输出。  请显示您获得的输出。

    谢谢、此致、

    乔治

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

    .data 0 00001fca 00000092未初始化
    00001fca 00000038 eus.obj (.data:euid)
    00002002 00000038 EUs.obj (.data:EUnits)
    0000203a 0000000a MSPSdmaSPI.obj (.data:DMAdestinationPSaddr2)
    00002044 0000000a MSPSdmaSPI.obj (.data:DMAsourceMSaddr$ 1)
    0000204e 00000008 c.obj (.data)
    00002056 00000004 rts430x_lc_rd_eabi.lib:strtok.c.obj (.data)
    0000205a 00000002 Msps.obj (.data)

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

    C:\users\smsimmo1>nm430 C:\ti\ccs1020\ccs\tools\compiler\ti-cgt-smsp430-msp_20.2.LTS \lib\rts430_eabi.lib | findstr __mspabi_srli_6
    00000000 U _mspabi_srli_6
    00000032 T _mspabi_srli_6

    C:\users\smsimmo1>nm430 C:\ti\ccs1020\ccs\tools\compiler\ti-cgt-smsp430_20.2.LTS \lib\rts430x_lc_rd_eabi.lib | findstr __mspabi_srli_6

    C:\Users\smsimmo1>

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

    感谢您提供更多信息。  不幸的是,我仍然无法重现问题。  现在我需要更好地理解这个...

    [引用 user="Stephen Simmons39"]未解析的符号__mspabi_srli_6,首先在./src/inficon.obj 中引用

    我不知道该源文件为何调用函数__mspabi_srli_6。  为了帮助我解决此问题、对于源文件 inficon.c、 请按照文章 How to Submit a Compiler Test Case中的说明进行操作。

    谢谢、此致、

    乔治

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

    其他版本。 当我附加文件时、我收到一个错误。

    ****为项目 MSPS20201014构建配置调试****

    "C:\\ti\\ccs1020\\ccs\\utils\\bin\\gmake"-k -j 12 src/inficon.obj -O

    编译文件:"../src/inficon.c
    调用:MSP430编译器
    "c:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/bin/cl430 -vmspx --data_model=restricted --use_hw_mpy=F5 --include_path="C:/ti/ccs1020/ccs/ccs_base/msp430/include --include_path="C:/Users/smsimmo1/git/MSPS20201014Local/MSPS20201014 /ti/msp/MSP430Ware_3_80_13_03/driverlib/driverlib/MSP430FR5xx_6xx/inc /Users/smsimmo1/git/QPC681Local/QPC681/include --include_path="C:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/include /Users/smsimmo1/git/MSPS20201014Local/MSPS20201014/hdr /Users/smsimmo1/git/QPC681Local/QPC681/ports/msp430/qk --include_display_warning=/ti/msp/MSP430Ware_3_80_13_03/driverlib/driverlib/MSP430FR5xx_6xx --exc_tal_define_support/caps=-cn_cn_support=/Users/smsimmo1/git/myMSP30LibraryLocal/mymsp430Library/hdr /Users/smsimmo1/git/QPC681Local/QPC681/src --excus_probe_premote_premote_premote_ine_premote_ine_pf-nate-cn=-cn=-cn_s=-cn_sensit_support=-cn_sense_pf-nate_pf-nat_cn_sensit_cn_sep-cn-cn-cn_sep-cn_sep-cn_sep-cn_sep-cn_support=-cn_sensit_support=-cn_cn_sensive-tine_pf-nat_cn_s=-cn_sep-cn_sep-cn_sep-cn_sep-cn_sep-cn_sep-cn_sep-cn_s=-cn_sep-cn_sensit_support=-cn_sens /src/inficon.c
    "./src/inficon.c "、第18行:备注#1544-D:(ULP 13.1)检测到循环递增计数。 建议对循环进行倒计数、因为检测零更容易
    "./src/inficon.c "、第37行:备注#1544-D:(ULP 13.1)检测到循环递增计数。 建议对循环进行倒计数、因为检测零更容易
    "./src/inficon.c "、第47行:备注#1544-D:(ULP 13.1)检测到循环递增计数。 建议对循环进行倒计数、因为检测零更容易
    "./src/inficon.c "、第47行:备注#1544-D:(ULP 13.1)检测到循环递增计数。 建议对循环进行倒计数、因为检测零更容易
    已完成构建:"./src/inficon.c

    ****生成

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

    [引用 user="Stephen Simmons39"]当我附加文件时,我收到错误。

    在发布之前添加文件扩展名.txt。  这将形成一个文件名、如 inficon.pp.txt。   

    谢谢、此致、

    乔治

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

    e2e.ti.com/.../inficon.pp.txt

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

    感谢您提交测试用例。 我可以重现相同的行为。  我提交了 EXT_EP-10255条目  以进行调查。  欢迎您通过该链接访问该链接。

    需要考虑的一种权变措施是使用临时变量递增名为 seq.的位字段  更改...

    AncMsgReply.slave.seq++;
    

    至...

    帧类型 temp;
    
    temp = AncMsgReply.slave.seq;
    temp++;
    AncMsgReply.slave.seq = temp;
    

    谢谢、此致、

    乔治