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/TM4C123GH6PM:未解析的符号UART和UART指示器(错误#1.0234万-D)

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/631074/ccs-tm4c123gh6pm-unresolved-symbol-uartprintf-and-uartstdioinit-error-10234-d

部件号:TM4C123GH6PM

工具/软件:Code Composer Studio

您好,

我尝试使用UART printf函数,但收到未解决的符号错误。

对于背面参考,我正在从步骤20开始进行TIVA-C车间实验12 (https://engineering.purdue.edu/ece477/Archive/2014/Spring/S14-Grp1/docs/software/LM4F-LaunchPad-12 % 20-%20UART.pdf)。

我的当前软件版本:

  • CCS v 6.2 .0.0.005万  
  • 编译器版本:TI v 15.12 .6.LTS
  • TivaC版本:2.16。1.14
  • XDCtools版本:3.32 .1.22_core

这是我的main.c文件: /CfS-file/__key/communityserver-discussionse-components-files/81/2043.main.c

**************** 生成配置调试项目lab12_part2 ************************

"C:\\ti\\ccsv6\\utils\\bin\\gmake "-k all
'建筑文件:../main.c'
'调用:ARM编译器'
c:\ti/ccsv6/tools/compiler/ti-CGT-arm_cls.6.lts/bin/armcl" 15.12 -mv7m4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:\ti/cc_trab_6/tools/ti-CGtgv-gv_arm_reb_sp_reb -from_sp_dob_sp_sp_reb -mc_sp_sp_sp_reb -mc_包括-sp_sp_sp_sp_1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1bf_d_ 15.12 路-f_d_ 2.1 d_ d_ d_ d_ d_ d_ 2.1 d_ d_ d_-1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1brbrb_c=c:\d_ d_ d_
"../main.c",第82行:警告#225-D:函数"UARTStdioInit"隐式声明
'完成的建筑:../主楼C
''
'构建文件:../tm4c123gh6p_startup_cs.c'
'调用:ARM编译器'
c:\ti/ccsv6/tools/compiler/ti-CGT-arm_cls.6.lts/bin/armcl" 15.12 -mv7m4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:\ti/cc_trab_6/tools/ti-CGtgv-gv_arm_reb_sp_reb -from_sp_dob_sp_sp_reb -mc_sp_sp_sp_reb -mc_包括-sp_sp_sp_sp_1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1bf_d_ 15.12 路-f_d_ 2.1 d_ d_ d_ d_ d_ d_ 2.1 d_ d_ d_-1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1brbrb_c=c:\d_ d_ d_
'完工时间:../tm4c123gh6p_startup_ccs.c'
''
'正在构建目标:lab12_part2.out '
'调用:ARM链接器'
c:\ti/ccssv6/tools/compiler/ti-CGT-arm_lack.6.ls/bin/armcl" 15.12 -mv7m4 --code_state=16 --fpv4spd16 -me -g --gcc --define=debug --define=part_tm4cglibs=16 --glip_sup_fav_spdip_-me -g -g -g -g -g -gcps--gcc -clip_lip_clip_clip_lip_dip_reb_lip_reb_reb_-f_-f_lip_--gb -f_dip_dip_-f_----gb_rema_rb_reb_reb_-f_reb_--f_-f_-f_-f_---gb_rbsp_reb_---f_-f_--rbz_rb_re_------rabti_rabti_rbz_re_-- 15.12 15.12 2.1
链接>

未定义的第一个引用
文件中的符号
------------------- --------
UARTStdioInit ./main.obj
UART打印f ./main.obj

错误#1.0234万-D:仍存在未解析的符号
错误#1.001万:链接时遇到错误;未生成"lab12_part2.out

>>编译失败
Makefile:142:目标'lab12_part2.out的配方失败
gmake:***[lab12_part2.out错误1
gmake:由于错误,目标'all'没有重制。

****构建已完成****

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请参阅Aarti的以下帖子:
    e2e.ti.com/.../19.7468万

    请注意,在您的环境中,uartstdio.c的位置是:
    C:2.1 \tirtos_tivac_2_16_01_14\products\TivaWare_C_Series-Tiv.1.71b\utils

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

    感谢您这么快的回复。

    我将uartsdio. c文件复制到我的项目中,但我收到了类似的错误(下面是生成日志)。 我甚至尝试将"utils"文件夹的地址添加到我的include Options (ARM编译器)和File Search Path (ARM链接器),但这些都不起作用。

    我确实要注意,我在uartsdio.c文件中找不到UARTStdioInit(),这意味着它可能没有调用任何东西。 我以前从未编辑过该文件,并且在网上看到过示例中使用的函数。 TI是否更改了UART功能的启用方式?


    ****配置构建调试项目lab12_part2 ****

    "C:\\ti\\ccsv6\\utils\\bin\\gmake "-k all
    '建筑文件:../main.c'
    '调用:ARM编译器'
    c:\ti/ccsv6/tools/compiler/ti-CGT-arm_cls.6.lts/bin/armcl" 15.12 -mv7m4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:\ti/cc_trab_6/tools/ti-CGtgv-gv_arm_reb_sp_reb -from_sp_dob_sp_sp_reb -mc_sp_sp_sp_reb -mc_包括-sp_sp_sp_sp_1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1bf_d_ 15.12 路-f_d_ 2.1 d_ d_ d_ d_ d_ d_ 2.1 d_ d_ d_-1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1brbrb_c=c:\d_ d_ d_
    "../main.c",第82行:警告#225-D:函数"UARTStdioInit"隐式声明
    '完成的建筑:../主楼C
    ''
    '构建文件:../tm4c123gh6p_startup_cs.c'
    '调用:ARM编译器'
    c:\ti/ccsv6/tools/compiler/ti-CGT-arm_cls.6.lts/bin/armcl" 15.12 -mv7m4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:\ti/cc_trab_6/tools/ti-CGtgv-gv_arm_reb_sp_reb -from_sp_dob_sp_sp_reb -mc_sp_sp_sp_reb -mc_包括-sp_sp_sp_sp_1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1bf_d_ 15.12 路-f_d_ 2.1 d_ d_ d_ d_ d_ d_ 2.1 d_ d_ d_-1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1brbrb_c=c:\d_ d_ d_
    '完工时间:../tm4c123gh6p_startup_ccs.c'
    ''
    '正在构建文件:../uartstdio.c'
    '调用:ARM编译器'
    c:\ti/ccsv6/tools/compiler/ti-CGT-arm_cls.6.lts/bin/armcl" 15.12 -mv7m4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:\ti/cc_trab_6/tools/ti-CGtgv-gv_arm_reb_sp_reb -from_sp_dob_sp_sp_reb -mc_sp_sp_sp_reb -mc_包括-sp_sp_sp_sp_1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1bf_d_ 15.12 路-f_d_ 2.1 d_ d_ d_ d_ d_ d_ 2.1 d_ d_ d_-1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1brbrb_c=c:\d_ d_ d_
    '完成的建筑:../uartstdio.c'
    ''
    '正在构建目标:lab12_part2.out '
    '调用:ARM链接器'
    c:\ti/ccsv6/tools/compiler/ti-CGT-arm_cls.6.lts/bin/armcl" 15.12 -mv7m4 --code_state=16 --float_support=fpv4spd16 -me -g --gcc --define=debug --define=part_tm4cgb_gh6PM --fav_spdi_tools/sp堆 栈-1gb_glk_k_sp-gb_r2c/rabti_glk_l_sp_tools="-f_gb_gb_gb_k_k_rabti_k_k_k_l_k_gb_f_f_f_-f_gb -f_lik_gb_gb_gb_-f_-f_-f_gb_gb_f_-f_-f_f_gb_-f_gb_gb_-f_-f_-f_gb_-f_gb_gb_f_rabi_f_-f_l_ 15.12 2.1 15.12 2.1
    链接>

    未定义 首次引用
    符号 在文件中
    ------------------- --------
    UARTStdioInit ./main.obj
    __ERROR__ /uartstdio.obj

    错误#1.0234万-D:仍存在未解析的符号
    错误#1.001万:链接时遇到错误;未生成"lab12_part2.out

    >>编译失败
    Makefile:143:目标'lab12_part2.out的配方失败
    gmake:***[lab12_part2.out错误1
    gmake:由于错误,目标'all'没有重制。

    ****构建已完成****
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯,是的,我也看不到它在uartstdio.c中的定义。 我搜索了tivaware目录,但找不到它。 TM4C论坛的专家会知道。 我建议在那里开始新的线程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阅读uartstdio.c中的文档后,我发现调用UARTStdioConfig()是我如何启用UART并能够使用UARTprintf()的方法。 我的代码已经调用了此配置,因此现在我留下了一个未解出的符号:"__error__"。

    我更新的main.c文件: /CfS-file/__key/communityserver-discussions-组件文件/81/8420.main.c

    ****配置构建调试项目lab12_part2 ****

    "C:\\ti\\ccsv6\\utils\\bin\\gmake "-k all

    '建筑文件:../main.c'

    '调用:ARM编译器'

    c:\ti/ccsv6/tools/compiler/ti-CGT-arm_cls.6.lts/bin/armcl" 15.12 -mv7m4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:\ti/cc_trab_6/tools/ti-CGtgv-gv_arm_reb_sp_reb -from_sp_dob_sp_sp_reb -mc_sp_sp_sp_reb -mc_包括-sp_sp_sp_sp_1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1bf_d_ 15.12 路-f_d_ 2.1 d_ d_ d_ d_ d_ d_ 2.1 d_ d_ d_-1b_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_sp_1brbrb_c=c:\d_ d_ d_  

    '完成的建筑:../主楼C

    ''

    '正在构建目标:lab12_part2.out '

    '调用:ARM链接器'

    c:\ti/ccsv6/tools/compiler/ti-CGT-arm_cls.6.lts/bin/armcl" 15.12 -mv7m4 --code_state=16 --float_support=fpv4spd16 -me -g --gcc --define=debug --define=part_tm4cgb_gh6PM --fav_spdi_tools/sp堆 栈-1gb_glk_k_sp-gb_r2c/rabti_glk_l_sp_tools="-f_gb_gb_gb_k_k_rabti_k_k_k_l_k_gb_f_f_f_-f_gb -f_lik_gb_gb_gb_-f_-f_-f_gb_gb_f_-f_-f_f_gb_-f_gb_gb_-f_-f_-f_gb_-f_gb_gb_f_rabi_f_-f_l_ 15.12 2.1 15.12 2.1  

    链接>

    未定义的第一个引用

     文件中的符号      

    ------------------- --------

    __ERROR_./uartstdio.obj

    错误#1.0234万-D:仍存在未解析的符号

    错误#1.001万:链接时遇到错误;未生成"lab12_part2.out

    >>编译失败

    Makefile:143:目标'lab12_part2.out的配方失败

    gmake:***[lab12_part2.out错误1

    gmake:由于错误,目标'all'没有重制。

    ****构建已完成****

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通过使用资源管理器中的示例并复制和粘贴代码,我可以打印字符串和其他数据,从而找到替代解决方案。 这是从我在TM4C论坛上开始的另一个主题中提取的: e2e.ti.com/.../233.2153万