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.

[参考译文] CC3200:错误#1965:无法打开源文件"ti/grlib/grlib.h"

Guru**** 2571305 points
Other Parts Discussed in Thread: CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/875719/cc3200-error-1965-cannot-open-source-file-ti-grlib-grlib-h

器件型号:CC3200

您好!

我目前正在尝试根据 https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/p/862625/3191210#3191210提供的指南将 CC3200与 BOOSTXL-K35QVG-S1连接

我在 尝试包含时遇到错误提示错误#1965:无法打开源文件"ti/grlib/grlib.h" 。

如何解决此问题? 谢谢你。

下面是构建输出

***"Build of configuration Debug for project Kentec_display **"C

:\\ccs920\\ccs\\utils\\bin\\gmake"-k -j 8 all -O

building file:"./lcd.c"
调用:ARM Compiler
"C:/TI/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/bin/armcl /Users/mikhw/workspace_v9_2/Kentec_display /TI/CC3200SDK_1.4.0/cc3200-sdk/inc /TI/CC3200SDK_1.4.0/cc3200-sdk/simplelink/source /TI/CC3200SDK_1.4.0/cc3200-sdk/example/common -mv7M4 -code_state=16 ---j 8 all -O building 文件:"../lcd.-cn=cn"-board-example.com -cn"-ccs_cn=cn"-ccs_path=cn=cn-cn-cn=cn-cn-cn-cn-cn-cn-board-board-cn=cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-ines=/TI/CC3200SDK_1.4.0/cc3200-sdk/driverlib /TI/CC3200SDK_1.4.0/cc3200-sdk/simplelink/include /TI/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/include -cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependence="lcd.d_ray""./lcd.c"

>>编译失败
subdir_rules.mk:9:目标'lcd.obj 的配方失败
"..\lcdti/kitix.42
:无法在源代码中检测到0x24tex/dx.1中出现灾难性错误。
编译已终止。
gmake:***[LCD.obj]错误1
生成文件:"../LcdDriver/kitronix320x240x16_ssd2119_spi.c

/TI/CC3200SDK_1.4.0/cc3200-sdk/driverlib /TI/CC3200SDK_1.4.0/cc3200-sdk/simplelink/include "调用:ARM 编译器"C:/TI/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/bin/armcl /TI/CC3200SDK_1.4.0/cc3200-sdk/inc /TI/CC3200SDK_1.4.0/cc3200-sdk/example/common -mv7M4 -code_state=16 -float_support=none -me -include_path="C:/Users/mikhw/workspace_v9_2/Kentec_display /TI/CC3200SDK_1.4.0/cc3200-sdk/simplelink/source /TI/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/include -include_path="C:ctrab_support=none -example_remote_botion-sprit_example.comprit_bati=-ctrab-ctran_guide-s=-code_display_guide-ex-cn_guide-be-bad_guide-d_be-be-bad_guard_ex-ex-cn=-ex-ctrad_guide-be-be-bi-from-ctrad_bi-from-ex-codest_guide-bi-from-ex-ctran_guide-bi-from-ine-bi-from-ine-bi-from-ine-bi-from-ine-bi-from-ex-ex obj_directory="LcdDriver""../LcdDriver/kitronix320x240x16_ssd2119_spi.c

>>编译失败
LcdDriver/subdir_rules.mk:9:目标'LcdDriver/kitronix320x240x16_ssd2119_spi.obj'的配方失败"..\LcdDriver\kitronix320x240x16_ssd2119_spi.obj"无法
在
"/LcdDriver/kitronix320x240x16_ssd2119_spi.c 中打开灾难性的源代码行"1.mblu./compility/lib"。
编译已终止。
gmake:***[LcdDriver/kitronix320x240x16_ssd2119_spi.obj]错误1
生成文件:"../LcdDriver/HAL_CC3200_KITRONIX320X240_SSD2119_SPI.c

/Users/mikhw/workspace_v9_2/Kentec_display /TI/CC3200SDK_1.4.0/cc3200-sdk/driverlib /TI/CC3200SDK_1.4.0/cc3200-sdk/simplelink/source /TI/CC3200SDK_1.4.0/cc3200-sdk/simplelink/include 调用:ARM 编译器"C:/TI/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/bin/armcl -mv7M4 --code_state=16 --float_support=none --include_path="ccs_example="ctrab_example.com_rom-cn=/TI/CC3200SDK_1.4.0/cc3200-sdk/inc /TI/CC3200SDK_1.4.0/cc3200-sdk/example/common --exccs_example_intrab_example_bate-board-cn_ex-cn_example.com-cn=ccs_guid_define-board-cn=-cn_ex-cn_example_bi-from-cn=intrab-cn_ex-cn_guide-bi-from-cn_guide-ine-cn_guide-ine-ine-cn_ex-cn=-cn_ex-cn_ex-cn=intrab-cn_guide-bi-from_define-ine-inateg-cn_ex-cn_guest-cn=-cn_ex-cn_ex-cn_ex-cn_example_/TI/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/include obj_directory="LcdDriver""../LcdDriver/HAL_CC3200_KITRONIX320X240_SSD2119_SPI.c

>>编译失败
LcdDriver/subdir_rules.mk:9:目标'LcdDriver/HAL_CC3200_KITRONIX320X240_SSD2119_SPI.obj'的配方失败
"..\LcdDriver\kitronix320x240x16_ssd2119"
:无法在"spi.lib_1.m"源代码行中检测到灾难性错误:/LcdDriver/HAL_CC3200_KITRONIX320X240_SSD2119_SPI.c。
编译已终止。
gmake:***[LcdDriver/HAL_CC3200_KITRONIX320X240_SSD2119_SPI.obj]错误1
gmake:目标'all'不会由于错误而重制。

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

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

    您好!

    您的编译器包含路径是什么样的? 如果您要构建 CC3200项目、则可能不会包含所需的 CC3220 SDK 路径。 要解决此问题、您需要添加  您的编译器的/source/ti 路径包括或将整套所需的 grlib 头文件复制到您的 CC3200项目中。 如果添加 CC32xx SDK 路径、请确保其优先级低于 CC3200 include 路径。

    如果您需要更多澄清或对如何让 BOOSTXL-K35QVG-S1与 CC3200协同工作有进一步的问题、请告诉我。

    此致、

    Michael

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

    大家好、Michael Reymond、  

    感谢您的建议。 它现在通过将整套头文件复制到我的项目中来工作。

    我还有一个问题。 不确定是应该在新帖子中询问还是仅在此处询问。

    基本上,我尝试运行 LCD_setup(),但它会给我一条消息:

    Cortex_M4_0:无法运行目标 CPU
    Cortex_M4_0:错误
    Cortex_M4_0:20次尝试后无法确定目标状态

    这是因为我移植 HAL 的方式是错误的吗? 在上一篇文章中、您要求我将 HAL 从 MSP432移植到 CC3200。 但我不知道如何做到这一点。 但我尝试通过调整 SPI 和 GPIO 的演示示示例。

    非常感谢。

    e2e.ti.com/.../HAL_5F00_CC3200_5F00_KITRONIX320X240_5F00_SSD2119_5F00_SPI.c

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

    大家好、Michael Reymond、  

    感谢您的建议。 它现在通过将整套头文件复制到我的项目中来工作。

    我还有一个问题。 不确定是应该在新帖子中询问还是仅在此处询问。

    基本上,我尝试运行 LCD_setup(),但它会给我一条消息:

    Cortex_M4_0:无法运行目标 CPU
    Cortex_M4_0:错误
    Cortex_M4_0:20次尝试后无法确定目标状态

    这是因为我移植 HAL 的方式是错误的吗? 在上一篇文章中、您要求我将 HAL 从 MSP432移植到 CC3200。 但我不知道如何做到这一点。 但我尝试通过调整 SPI 和 GPIO 的演示示示例。

    非常感谢。

    /*-版权所有-、BSD
    *版权所有(c) 2017、德州仪器(TI)公司
    *保留所有权利。
    *
    *
    只要
    符合以下条件*、允许以源代码和二进制形式重新分发和使用:
    *
    *源代码的重新分发必须保留上述版权
    声明*、此条件列表和以下免责声明。
    *
    ***二进制形式的再发行必须在
    
    *随发行提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
    *
    ***未经
    
    事先书面许可、不得使用德州仪器公司的名称或*其贡献者的名称认可或推广从本软件衍生的产品*。
    *
    *本软件由版权所有者和贡献者"按原样"提供
    *、
    
    不承担任何明示或暗示的保证、包括但不限于*适销性和特定用途适用性的暗示保证*。 在任何情况下、版权所有者或
    *贡献者都不对任何直接、间接、偶然、特殊、
    *模范、 或相应的损害(包括但不限于
    *采购替代产品或服务;丧失使用、数据或利润;
    *或业务中断)、但出于任何责任理论
    、*无论是在合同中、严格责任还是由于
    使用本软件而以任何方式产生的侵权行为(包括疏忽或*其他)
    、*即使已获悉可能会发生此类损坏。
    *--/版权--*//*********
    
    
    //
    //! \addtogroup display_API
    //! @{
    //
    //*********
    
    //#include 
    #include "hw_types.h"
    
    #include "spi.h"
    #include "hw_types.h"
    #include "hw_memmap.h"
    #include "hw_gpio.h"
    #include "pin.h"
    #include "rom_map.h"
    #include
    "sprcm.h"
    
    
    
    
    
    
    
    
    #include "sprnateg_in.h"#include "spr_spi_rom.h"#include "#xts"#include "#xts"#include "spr_inch_inspi.h.#x320.h"#include "#include "#x24nat_pr_insh.#include "#x_inch_inspi.h"#include "#x_inspi_pr_in.#.#.#.sdkit_in.000#include "#include "#include "#.sdkit_in.sdk.#include "#include "#include "#.#.
    
    
    
    
    
    
    unsigned int addr1=0、addr2=0、addr3=0、Addr4=0;
    unsigned char pin1、PIN2、pin3、pin4;
    
    
    
    //*********
    //
    //! 初始化显示驱动程序。
    //!
    //! 此函数用于初始化 KITRONIX320X240显示。 此函数
    //! 配置用于控制 LCD 显示屏的 GPIO 引脚、当出现 BASIC
    //! GPIO 接口正在使用中。 退出时、LCD 已复位并准备
    好//! 接收命令和数据写入。
    //!
    //! \无返回。
    ////
    *****************
    
    //
    //! SPI 从机中断处理程序
    //!
    //! 当 SPI 从器件的接收寄存器已满或
    //! 发送寄存器为空。
    //!
    //! \无返回。
    ////
    *****************
    
    
    void HAL_LCD_initLCD (void)
    {
    
    //启用外设时钟
    //
    
    MAP_PRCMPeripheralClkEnable (PRCM_GSPI、PRCM_RUN_MODE_CLK);
    
    //
    //为 SPI0 GSPI_CLK 配置 PIN_05
    //
    MAP_PinTypeSPI (LCD_SCL_PIN、PIN_MODE_7);
    
    //
    //为 SPI0 GSPI_MOSI 配置 PIN_07
    //
    MAP_PinTypeSPI (LCD_SDI_PIN、PIN_MODE_7);
    
    //
    //为 SPI0 GSPI_CS 配置 PIN_08
    //
    MAP_PinTypeSPI (LCD_SCS_PIN、PIN_MODE_7);
    
    //启用 SPI 模块时钟
    MAP_PRCMPeripheralClkEnable (PRCM_GSPI、PRCM_RUN_MODE_CLK);
    
    //
    //重置外设
    //
    MAP_PRCMPeripheralReset (PRCM_GSPI);
    
    
    //
    //重置 SPI
    //
    MAP_SPIReset (GSPI_base);
    
    //
    //配置 SPI 接口
    //
    MAP_SPIConfigSetExpClk (GSPI_base、MAP_PRCMPeripheralClockGet (PRCM_GSPI)、
    SPI_IF_bit_rate、SPI_MODE_MASTER、SPI_SUB_MODE_0、
    (SPI_SW_CTRL_CS |
    SPI_4PIN_MODE |
    SPI_Turbo_off |
    SPI_CS_ACTIVEHIGH |
    SPI_WL_8));
    
    
    //
    //启用 SPI 进行通信
    //
    MAP_SPIEnable (GSPI_BASE);
    
    //启用外设时钟
    //
    MAP_PRCMPeripheralClkEnable (PRCM_GPIOA1、PRCM_RUN_MODE_CLK);
    
    //
    //为 GPIO 输出配置 PIN_02 (GPIO11)
    //
    MAP_PinTypeGPIO (LCD_PWM_PIN、PIN_MODE_0、false);
    MAP_GPIODirModeSet (GPIOA1_base、0x8、GPIO_DIR_MODE_OUT);
    
    
    GPIO_IF_GetPortNPB (11、&addr1、&pin1);
    GPIO_IF_SET (11、addr1、pin1、1);//"1"表示高电平;"0"表示低电平
    
    //
    //将 LCD 控制引脚设置为其默认值。
    //
    
    //将 SDC 设置为高电平
    MAP_PRCMPeripheralClkEnable (PRCM_GPIOA0、PRCM_RUN_MODE_CLK);
    MAP_PRCMPeripheralClkEnable (PRCM_GPIOA2、PRCM_RUN_MODE_CLK);
    
    MAP_PinTypeGPIO (LCD_SDC_PIN、PIN_MODE_0、false);
    MAP_GPIODirModeSet (GPIOA0_BASE、0x80、GPIO_DIR_MODE_IN);
    
    GPIO_IF_GetPortNPB (7、&addr2、&PIN2);
    GPIO_IF_SET (7、addr2、PIN2、1);//'1'表示高电平;'0'表示低电平
    
    //将 SCS 设置为低电平
    //
    //为 GPIO 输入配置 PIN_63
    //
    MAP_PinTypeGPIO (LCD_SCS_PIN、PIN_MODE_0、false);
    MAP_GPIODirModeSet (GPIOA1_base、0x1、GPIO_DIR_MODE_IN);
    
    GPIO_IF_GetPortNPB (8、&addr3、&pin3);
    GPIO_IF_SET (8、addr3、pin3、0);//"1"表示高电平;"0"表示低电平
    
    //
    //延迟1ms。
    //
    HAL_LCD_DELAY (1);
    
    
    //将 RESET 设置为高电平
    //
    //为 GPIO 输入配置 PIN_16
    //
    PinTypeGPIO (LCD_RESET_PIN、PIN_MODE_0、false);
    GPIODirModeSet (GPIOA2_base、0x80、GPIO_DIR_MODE_IN);
    
    GPIO_IF_GetPortNPB (23、&Addr4、&pin4);
    GPIO_IF_SET (23、ADDR4、引脚4、1);//"1"表示高电平;"0"表示低电平
    
    
    //
    // LCD 复位后延迟1ms。
    //
    HAL_LCD_DELAY (1);
    }
    
    //*********
    //
    //将命令写入 SSD2119。 此函数实现
    LCD 显示屏的基本 SPI //接口。
    ////
    *****************
    void HAL_LCD_writeCommand (uint8_t 命令)
    {
    uint8_t ui8Data[1];
    ui8Data[0]=命令;
    //
    //在设置 LCD_SDC 信号之前等待任何 SPI 传输完成。
    //
    
    
    //
    //将 LCD_SDC 信号设置为低电平,表示以下写入是命令。
    //
    GPIO_IF_SET (7、addr2、PIN2、0);//'1'表示高电平;'0'表示低电平
    
    //
    //发送命令。
    //
    //
    //将字符串发送到从设备。 需要选择芯片(CS)
    //在传输开始时生效,在传输结束时失效
    //
    MAP_SPITransfer (GSPI_base、ui8数据、0、1、
    SPI_CS_ENABLE|SPI_CS_DISABLE);
    
    //
    //在设置 LCD_SDC 信号之前等待 SPI 传输完成。
    //
    
    //
    //将 LCD_SDC 信号设置为高电平,表示以下写入是数据。
    GPIO_IF_SET (7、addr2、PIN2、1);//'1'表示高电平;'0'表示低
    
    
    电平}
    
    //*********
    //
    //将数据字写入 SSD2119。 此函数实现
    LCD 显示屏的基本 SPI //接口。
    ////
    *****************
    void HAL_LCD_writeData (uint16_t data)
    {
    uint8_t ui8Data[2];
    
    //计算要发送的高字节。
    ui8Data[0]=(uint8_t)(data >> 8);
    //计算要发送的低字节。
    ui8Data[1]=(uint8_t)(data & 0xff);
    
    //在 ui8Data[2]中同时传输高字节和低字节
    MAP_SPITransfer (GSPI_base、ui8数据、0、2、
    SPI_CS_ENABLE|SPI_CS_DISABLE);
    
    }
    
    //*********
    //
    //清除 CS 行
    //
    此宏允许清除芯片选择(CS)行
    //
    返回无
    //
    //*********
    
    void HAL_LCD_selectLCD (){
    //
    //在设置 LCD_SCS 信号之前等待任何 SPI 传输完成。
    //
    
    unsigned long ulStatus;
    
    ulStatus=SPIIntStatus (GSPI_base、true);
    
    //等待 TX 为空
    if (ulStatus 和 SPI_INT_TX_EMPTY)
    {
    ;
    }
    
    //将 LCD_SCS 信号设置为低电平
    GPIO_IF_SET (8、addr3、pin3、0);//'1'表示高电平;'0'表示低
    电平}
    
    //*********
    //
    //设置 CS 线路
    //
    此宏允许设置芯片选择(CS)线路
    //
    \Return None
    //
    //*********
    
    void HAL_LCD_deselectLCD (){
    //
    //在设置 LCD_SCS 信号之前等待任何 SPI 传输完成。
    //
    
    unsigned long ulStatus;
    
    ulStatus=SPIIntStatus (GSPI_base、true);
    
    //等待 TX 为空
    if (ulStatus 和 SPI_INT_TX_EMPTY)
    {
    ;
    }
    
    //将 LCD_SCS 信号设置为低电平
    GPIO_IF_SET (8、addr3、pin3、1);//"1"表示高电平;"0"表示低电平
    
    //
    //禁用芯片选择
    //
    MAP_SPICSDisable (GSPI_base);
    
    }
    
    //*********
    //
    ////生成//
    
    //\param 周期延迟数
    //
    //返回无
    //
    ////
    void HAL_LCD_delay (uint16_t msec)
    {
    uint32_t i = 0;
    uint32_t 时间=(msec / 1000)*(system_clock_speed / 15);
    
    对于(i = 0;i <时间;i++)
    {
    ;
    }
    }
    
    //*********
    //
    //关闭 Doxygen 组。
    //! @}
    //
    //*********
    

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

    您好!

    如果您的移植代码有任何问题、我不会立即发现您的移植代码不正确的地方。 如果您单步执行代码, LCD_setup()中是否有特定的函数调用会导致调试器出现该错误?

    此致、

    Michael

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

    大家好、Michael Reymond、

    感谢您提出如何找到此问题的原因的建议。 问题的原因似乎是从将 PIN_16配置为输出的线路上产生的。  

    我尝试更改为几个其他引脚、其中一些引脚不起作用、但 PIN_08似乎对我有效。 我不知道这背后的原因是什么。 如果您知道发生这种情况的原因、我很高兴知道。 顺便说一下、我在纠正了几个错误后设法使 LCD 工作。 感谢你的帮助。 我真的很感激。  

    祝你一切顺利、

    Ikhwan

    MAP_PinTypeGPIO (LCD_PWM_PIN、PIN_MODE_0、false);
    MAP_GPIODirModeSet (GPIOA1_base、0x8、GPIO_DIR_MODE_OUT);
    
    MAP_PinTypeGPIO (LCD_SDC_PIN、PIN_MODE_0、false);
    MAP_GPIODirModeSet (GPIOA0_BASE、0x80、GPIO_DIR_MODE_OUT);
    
    //为 GPIO 输入配置 PIN_16
    //
    MAP_PinTypeGPIO (LCD_RESET_PIN、PIN_MODE_0、false);//此处出现错误
    MAP_GPIODirModeSet (GPIOA2_base、0x80、GPIO_DIR_MODE_OUT); 


    
    
    
    

      MAasdasdasdasdasdasdasdP_PinTypeGPIO (LCD_PWM_PIN、PIN_MODE_0、false);  MAP_GPIODirModeSet (GPIOA1_base、0x8、 GPIO_DIR_MODE_OUT);
      MAP_PinTypeGPIO (LCD_SDC_PIN、PIN_MODE_0、false);  MAP_GPIODirModeSet (GPIOA0_BASE、0x80、 GPIO_DIR_MODE_OUT);  //为 GPIO 输入配置 PIN_63  //  MAP_PinTypeGPIO (LCD_SCS_PIN、PIN_MODE_0、false);  MAP_GPIODirModeSet (GPIOA1_BASE、0x1、 GPIO_DIR_MODE_OUT);  //为 GPIO 输入配置 PIN_16  //  MAP_PinTypeGPIO (LCD_RESET_PIN、PIN_MODE_0、false);  //此处出现错误  // MAP_GPIODirModeSet (GPIOA2_base、0x80、GPIO_DIR_MODE_OUT);

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

    您好 Ikhwan、

    我很高兴听到您让 LCD 在 CC3200上工作。

    至于 pin16不起作用的原因、您是否在 pinmux.c 中将时钟解锁到 GPIOA2外设? 您需要调用 MAP_PRCMPeripheralClkEnable (PRCM_GPIOA2、PRCM_RUN_MODE_CLK)。

    此外、默认情况下、该引脚用于 JTAG TDI。 因此、如果您使用 CCS 调试器加载代码、那么如果您尝试使用该引脚、则会遇到问题。

    此致、
    Michael