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/EK-TM4C1294XL:utils 函数 UARTStdio 虽然包含在工程中、但无法链接

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/599963/ccs-ek-tm4c1294xl-utils-functions-uartstdio-fail-to-link-although-included-in-the-project

器件型号:EK-TM4C1294XL

工具/软件:Code Composer Studio

我首先在 EEPROM 上尝试一个示例程序、以便稍后设计自己的库。  

/
********** 读写 EEPROM 的基本程序
*

#include
#include
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_gpio.h"
#include "inc/hw_ints.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/interrupt.h"
#include "driverlib/EEPROM.h"
#include "utils/uartstdio.h"

/
*
*变量
*
**
*

#define E2PROM_TEST_ADDRESS 0x0000

结构 E2PROM

uint8_t value1;
uint8_t 值2;
uint16_t value3;
uint8_t value4[12];
};


/
* main.c
(二 /

int main (void){
uint32_t e2size、e2block;
// 80 MHz 系统时钟
SysCtlClockSet (SYSCTL_SYSDIV_2_5|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHz);

/* EEPROM 设置*/
SysCtlPeripheralEnable (SYSCTL_Periph_EEPROM0);// EEPROM 激活
EEPROMInit();// EEPROM 启动

/* UART 设置*/
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
GPIOPinConfigure (GPIO_PA0_U0RX);
GPIOPinConfigure (GPIO_PA1_U0TX);
GPIOPinTypeUART (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_1);
UARTStdioConfig (GPIO_Porta_base、115200、SysCtlClockGet ());

/********* 主要行动 /

// UARTprintf ("EEPROM 测试程序\r\n");


e2size = EEPROMSizeGet ();//获取 EEPROM 大小
// UARTprintf ("EEPROM 大小%d 字节\n"、e2size);

e2block = EEPROMBlockCountGet ();//获取 EEPROM 块计数
// UARTprintf ("EEPROM Blok Count:%d\n"、e2block);
返回0;

但我在构建时得到以下符号错误

未定义的首次引用
符号
------ --------
UARTStdioConfig ./main.obj

错误#10234-D:未解析的符号仍然存在
错误#10010:链接期间遇到错误;未生成"EEPPROMBASIC.OUT"

driverlib.lib 包含链接器、构建路径中的 Tivaware 库可见。

谢谢你

此致

帕维特拉

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavitra、
    UARTStdio 不是 driverlib.lib 的一部分。 您需要将 uartstdio.c 文件与其他 C 文件放在项目目录中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但这些不是用户添加的文件。 是否有方法将其链接起来?

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

    您好!

    1.右键点击您的项目

    2.选择“添加文件”

    3.选择中的 uartstdio.c 实用程序

    4.然后您将看到下面的弹出窗口,并选择“链接到文件”