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.

[参考译文] 编译器/LAUNCHXL-F280049C:如何添加 Driverlib 文件以正确使用 SCI 函数

Guru**** 2524550 points
Other Parts Discussed in Thread: LAUNCHXL-F280049C, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/921126/compiler-launchxl-f280049c-how-to-include-driverlib-files-in-order-to-proper-use-the-sci-functions

器件型号:LAUNCHXL-F280049C
主题中讨论的其他器件:C2000WARE

工具/软件:TI C/C++编译器

大家好、我叫 Iulian Popa。

我是´m 萨拉戈萨大学的学生。´m 使用您的开发板'LAUNCHXL-F280049C'、当我尝试使用 driverlib 中的一些示例项目时、我会遇到一些问题。

首先、我使用:

-  CodeComposer 版本9.3

-  C2000Ware 版本3.1.0.00

我 使用以下版本开始了我自己的项目(基于 C:\ti\c2000\C2000Ware_3_01_00_00\device_support\f28004x\examples\CLA):

- cla_ex1_background_task.c

- cla_ex1_background_task_cla.cla

cla_ex1_background_task_shared.h

我在使用此示例时没有遇到任何问题。

当我尝试将这些示例与另一个示例组合(C:\ti\c2000Ware_3_01_00_00\driverlib\f28004x\examples\sci)时,我的问题就会开始:

- sci_ex2_interrupts.c

我在空项目中使用了此示例、该示例工作正常。 我遇到的问题是、编译器在何时无法识别此库的所有头文件的包含路径 
我将我的项目与"sci_ex2_interrupts.c"示例的一些函数相结合。

我认为我没有正确地包含 driverlib 库的路径或相关的内容。
我将附加我的项目文件夹(我的项目和我要使用的 sci 示例、包括出现在示例中的一些函数)。 我还尝试将 driverlib 的路径包含在编译器选项中。
我尝试在项目属性中包含文件夹路径 OS 这些头文件/源代码 (在 Project Explorer > Properties > Resource > Linked Resource 中右键点击工程、然后 在 Project Explorer > Properties > Build > C2000 Compiler > Include options 中右键点击工程)、但无法修复问题。

因此、我需要一些帮助来确定我必须执行的操作、或者如何将依赖于"driverlib 或器件"的示例与其他示例进行组合。

可以帮帮我吗? 谢谢你。

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

    我没有附加这些文件、其中有: e2e.ti.com/.../1374.TI-forum-question.zip

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

    您好!

    您遇到什么错误? 这是编译错误还是链接错误?

    Driverlib.lib 应该已经位于第一个项目的路径中。

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

    大家好、我想快速响应一下。

    C:\ti\c2000Ware_3_01_00_00\device_support\f28004x\examples\cla 此项目是使用 Resource Explorer 离线工具并将其导入到 IDE 中的。我不使用 - cla_ex2_background_task.c、我使用 的是- cla_ex1_background_task.c、来自"Bitfield > F2800>F2800>CLA_examples > F2800_examples > F2800_line.c。

    当我打开此示例(或我在本示例中完成的项目)并从 View > Resource Explorer Oflline > Software > Devices > F28004X > F280049C > Driverlib > sci_ex2_interrupts 复制一个或多个函数时、 编译器告诉我 、sci_ex2_interrupts 函数中使用的定义未定义。 因此我尝试手动添加 device.h 的 inlcude 路径,driverlib.h…… 但它不能解决问题。

    我附加了一个包含6个图像的文件夹、这些图像描述了我尝试合并项目时会发生的情况。 我确信我理解了一些错误、但我不确定问题是什么。

    Ty for All、Iulian。

    e2e.ti.com/.../4452.TI-forum-question.zip

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

    您可能已经选择了特定于文件的选项来覆盖由顶级项目设置的默认路径。

    始终查看控制台上的日志、该日志指示编译每个文件时引用的参数、包括路径。 要重置特定文件选项、请右键单击特定文件"cla_ex1_background_task_cpu.c"、选择"属性"、然后转至 C2000编译器。

    在编译器选项上、单击 Restore Defaults (恢复默认值)、该选项应将其置于顶层设置(包括路径和其他编译器设置)。

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

    我已经尝试过你的观点。  

    在 cla_ex1_background_task_cpu.c 上、我从 sci_ex2_interrupts 项目示例中复制了 SCI-A 的 GPIO 设置。 然后、我按照您指示的步骤操作、我恢复了默认值。 然后、当我构建程序时、程序会显示"#20标识符"DEVICE_GPIO_CFG_SCIRXDA"未定义 CLA_ex1_background_task_cpu.c /cla_ex1_background_task line 119 C/C++ problem "

    我还尝试在程序顶部包括"#"include device.h"和#include "driverlib.h"、但它不起作用、并且显示了更多与 driverlib 文件夹相关的错误(请参阅上图)。

    Ty 为您提供答案。 Iulian

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

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

    你好、Lulian、

    您有两个项目- cla_ex1_background_task 和 sci_ex2_interrupts。

    CLA_ex1_background_task 是基于位域的工程、 而 sci_ex2_interrupts 是基于驱动程序库的。

    您需要按照以下步骤合并两个编译设置。

    1) 1)在工程中创建一个名为"device"的文件夹

    2) 2)将以下文件复制到"器件"文件夹  

       C2000ware_xxxxx>/device_support/f28004x/common/include/driverlib.h

       C2000ware_xxxxx>/device_support/f28004x/common/include/device.h

      C2000ware_xxxxx>/device_support/f28004x/common/source/device.c

      C2000ware_xxxxx>/device_support/f28004x/common/source/F28004x_CodeStartBranch.asm

    3) 3)右键单击项目、打开"Show Build Settings...(显示构建设置...)"

      在左侧窗格中、选择"常规"、在右侧窗格中、转到"产品"选项卡、然后选择 C2000ware 安装

      在左侧窗格中、选择"Build"、然后在右侧窗格中、转到"Variables"选项卡、然后按"Add"按钮

          C2000WARE_DLIB_ROOT ->${COM_TI_C2000WARE_SOFTWARE_PACKAGE_INSTALL_DIR}/driverlib/f28004x/driverlib

      在左侧窗格中、选择"Build -> C2000 Compiler -> Include Options"、按"+"图标进行添加、然后添加"${C2000WARE_DLIB_ROOT}"、然后按"Apply and Close"

     

    4) 4)右键单击"Project"、"New -> File"、然后将文件名添加为 driverlib.lib、按"Advanced"、选中"Linked File"、然后浏览到"C:\ti\c2000\C2000Ware_XXXX\driverlib\f28004x\driverlib\ccs\Debug\driverlib.lib"

     

    5) 5)重建项目。

    我为您创建了这些步骤。

    e2e.ti.com/.../cla_5F00_ex1_5F00_background_5F00_task.zip 

    现在、您可以将 sci_ex2_interrupts.c 添加到项目中。 您可能需要更新链接器命令文件以适应不同段的存储器需求。