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:未解析的符号错误/CCSv7

Guru**** 2589265 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/612411/ccs-ek-tm4c1294xl-unresolved-symbol-errors-ccsv7

器件型号:EK-TM4C1294XL

工具/软件:Code Composer Studio

大家好!

我在构建项目时遇到了问题、我尝试为链接器添加 TivaWare 库搜索路径、但错误仍然存在。

你们中的任何人都遇到过同样的问题吗?  我该怎么办?

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

    您好!

    在您的第一个屏幕截图中、我可以看到您将 driverlib 文件夹的路径添加到了 include 搜索路径中。 这不是您需要做的事情。

    您需要将实际库添加到项目中。 您可以将文件显式添加到工程中、也可以在链接器选项中进行设置。 请看下面的一些 TivaWare 示例:

    谢谢

    Ki

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

    您好 Ki、

    感谢你的帮助。  

    我在链接器选项中设置 TivaWare 库、很明显、它可以正常工作!  但我还有另一个问题  

    对如何解决此问题有什么想法吗?  

    谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    第二个问题是、driverlib 是为小端字节序编译的、而您的项目是为大端字节序配置的。 Tiva 应用通常是小端字节序。 请仔细检查您需要的字节序。

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

    您好 Ki、

    很抱歉、如果我打扰您、但我仍然有问题

    即使在我开始构建项目时、我没有收到任何错误、但收到一些警告、当我移动到调试代码时(这是 Tiva C TM4C1294和 Arduino 之间的 I2C 通信)、它也不起作用  

    您对如何解决此问题有什么想法吗?

    #include 
    #include 
    
    #include "i2c.h"
    #include "sysctl.h"
    #include "pin_map.h"
    
    
    #include "hw_i2c.h"
    #include "hw_memmap.h"
    #include "hw_types.h"
    #include "hw_gpio.h"
    
    
    volatile uint32_t data ='v';
    
    void I2C0 (void)
    
    
    //启用包含 I2C 0的 GPIO 外设
    SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
    while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOB));
    
    //启用 I2C 模块0
    SysCtlPeripheralEnable (SYSCTL_Periph_I2C0);
    //复位模块
    SysCtlPeripheralReset (SYSCTL_Periph_I2C0);
    
    //为端口 B2和 B3上的 I2C0功能配置引脚复用。
    GPIOPinConfigure (0x00010803);// GPIOPinConfigure (GPIO_PB2_I2C0SCL);
    GPIOPinConfigure (0x00010C03);// GPIOPinConfigure (GPIO_PB3_I2C0SDA);
    
    //为这些引脚选择 I2C 功能。
    GPIOPinTypeI2CSCL (GPIO_PORTB_BASE、GPIO_PIN_2);
    GPIOPinTypeI2C (GPIO_PORTB_BASE、GPIO_PIN_3);
    
    //启用和初始化 I2C0主机模块。 使用的系统时钟
    // I2C0模块。 最后一个参数设置 I2C 数据传输速率。
    //如果为 false,则数据速率设置为100kbps,如果为 true,则数据速率将设置为
    //设置为400kbps。
    I2CMasterInitExpClk (I2C0_BASE、SysCtlClockGet ()、false);
    
    }
    
    
    //*
    main.c
    */
    int main (void){
    
    SysCtlClockSet (SYSCTL_SYSDIV_1| SYSCTL_USE_OSC| SYSCTL_OSC_MAIN| SYSCTL_XTAL_16MHz);
    
    I2C0_Master_Init();
    
    while (1)
    {
    //指定从机地址
    I2CMasterSlaveAddrSet (I2C0_BASE、0x3B、false);
    
    //开始从主机到从机发送字符
    I2CMasterControl (I2C0_BASE、I2C_MASTER_CMD_SINGLE_SEND);
    
    //指示 I2C 主设备是否忙。
    while (I2CMasterBusy (I2C0_BASE));
    
    //将要发送的字符放在数据寄存器中
    I2CMasterDataPut (I2C0_BASE、DATA);
    
    SysCtlDelay (SysCtlClockGet ()/6);
    }
    
    
    }
    

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

    您是否从头开始创建 CCS 项目? 我建议您使用 Tivaware 示例程序作为基础,然后添加您的代码。

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

    [引用用户="Mohamed El Farissi"]

    即使在我开始构建项目时、我没有收到任何错误、但收到一些警告、当我移动到调试代码时(这是 Tiva C TM4C1294和 Arduino 之间的 I2C 通信)、它也不起作用  

    您对如何解决此问题有什么想法吗?

    [/报价]

    这些警告只是表示您的链接器命令文件没有为上述生成的段明确定义存储器范围、因此它将使用默认规范。

    如果您想了解有关链接器命令文件以及如何清除这些警告的更多信息、请参阅:

    http://processors.wiki.ti.com/index.php/Linker_Command_File_Primer

    [引用用户="Mohamed El Farissi"]这是 Tiva C TM4C1294和 Arduino 之间的 I2C 通信)它不起作用 

    至于您的代码无法正常工作的原因、最好由 TM4C 论坛中的专家进行调查。 我建议在这里开始另一个线程。

    谢谢

    Ki