ZHCU861A March 2021 – August 2022 TM4C1230C3PM , TM4C1230D5PM , TM4C1230E6PM , TM4C1230H6PM , TM4C1231C3PM , TM4C1231D5PM , TM4C1231D5PZ , TM4C1231E6PM , TM4C1231E6PZ , TM4C1231H6PGE , TM4C1231H6PM , TM4C1231H6PZ , TM4C1232C3PM , TM4C1232D5PM , TM4C1232E6PM , TM4C1232H6PM , TM4C1233C3PM , TM4C1233D5PM , TM4C1233D5PZ , TM4C1233E6PM , TM4C1233E6PZ , TM4C1233H6PGE , TM4C1233H6PM , TM4C1233H6PZ , TM4C1236D5PM , TM4C1236E6PM , TM4C1236H6PM , TM4C1237D5PM , TM4C1237D5PZ , TM4C1237E6PM , TM4C1237E6PZ , TM4C1237H6PGE , TM4C1237H6PM , TM4C1237H6PZ , TM4C123AE6PM , TM4C123AH6PM , TM4C123BE6PM , TM4C123BE6PZ , TM4C123BH6PGE , TM4C123BH6PM , TM4C123BH6PZ , TM4C123BH6ZRB , TM4C123FE6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PZ , TM4C123GH6ZRB , TM4C123GH6ZXR , TM4C1290NCPDT , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD
在本节中,将使用 examples/peripherals/adc 下的 single_ended 外设示例作为参考。
按照 Topic Link Label3.2中的步骤,将 EK-TM4C123GXL LaunchPad 的 project0 用作起始 TivaWare 工程。将工程名重命名为“single_ended”,以便后续能够重新导入 project0。将源代码复制到 project0.c 文件并尝试编译工程后,会出现图 4-1 中所示的构建错误。
如果在使用函数调用时没有在工程中添加合适的 .c 源文件,通常会出现“未解析的符号”错误。如果工程使用除了所提供的 TivaWare 库(DriverLib 或 UsbLib)以外的文件,通常会出现该错误。如果使用 #include 从 TivaWare 库目录中添加了头文件,那么应进行检查以确保已将相应的 .lib 文件添加到工程中。如果已添加,则无需执行进一步操作。Topic Link Label4.2将介绍在工程中缺失 .lib 文件的情况下如何添加该文件。
在本例中,以下两个 UART 相关函数导致了这个问题:UARTprintf 和 UARTStdioConfig。由于本示例用于现有 TivaWare 示例工程,了解缺少哪个文件的最快捷方式是向上滚动到代码工程顶部的 #include 语句。执行此操作后,可以找到与 UART 相关的以下行:
#include "driverlib/uart.h"
#include "utils/uartstdio.h"
如前文所述,由于 .lib 文件已经包含 driverlib 文件,接下来要检查是否缺少 uartstdio.c 文件。仔细查看工程中的文件列表后,发现工程中不包含 uartstdio.c 文件(图 4-2)。通过搜索 TivaWare 安装 utils 目录中 uartstdio.c 文件的内容,可以发现该文件中也有缺少的函数。
在识别出文件之后,需要通过以下步骤将文件链接到 CCS 工程。
可以在“Resources”→“Linked Resources”→“Path Variables”选项卡视图下的 CCS 工程属性中找到 SW_ROOT 定义。
现在,uartstdio.c 文件应显示在工程的文件列表中(图 4-5),现在将能够成功地重新构建工程!
检查是否已正确完成该过程的另一个方法是转至 CCS 工程属性,导航到“Resource”→“Linked Resources”页面,然后选择“Linked Resources”选项卡。在此选项卡下,找到所列的“Variable Relative Location”,如图 4-6 所示。