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.

[参考译文] TMS320F280039C:在哪里可以找到器件技术参考手册中确定的"Driverlib 函数&quot 库?

Guru**** 1637200 points
Other Parts Discussed in Thread: C2000WARE, TMS320F280049C, LAUNCHXL-F280049C, TMS320F28377S, TMS320F2810
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1221918/tms320f280039c-where-can-i-find-the-libraries-of-driverlib-functions-which-have-been-identified-in-device-technical-reference-manual

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

在哪里可以找到器件技术参考手册中确定的"Driverlib 函数"库?

例如、查看与 Launchpad LAUNCHXL-F280049C 关联的 TI 给定的"led ex1_blinky.c"、可以看到以下功能、

GPIO_setPadConfig (DEVICE_GPIO_PIN_LED1、GPIO_PIN_TYPE_STD);

在上面的功能中、我可以在技术参考手册"TMS320F28004x_Technical Reference Manual_sprui33f.pdf"中找到"setPadConfig"。

现在、问题就出现在上面的函数行中的给定示例中、"GPIO_PIN_TYPE_STD"已编程。 那么、我如何知道其他类型取代"STD"?

也就是说、在哪里可以找到这些函数的所有其他可能的库?

以"adc_ex11_burst_mode_epwm.c"的另一个示例、请参阅以下函数、

EPWM_setADCTriggerSource (EPWM1_BASE、EPWM_SOC_A、EPWM_SOC_TBCTR_U_CMPA);

我可以在技术参考手册的"........ Driverlib 函数的寄存器"。

但是、如何找到"EPWM_SOC_TBCTR_U_CMPA"的库? 开发设备还有哪些其他可能?

我能够通过 TI 发布的示例学习这些库、但是、作为初学者、我如何学习针对不同应用中的许多其它可能性进行编程?

请在支持文档中建议如何在 TI 发布的 "........ Driverlib 函数的寄存器"。  

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

    您好!  

    您可以下载 C2000Ware 并浏览 f28003x 的"driverlib"文件夹。 您将在该文件夹中找到所有 driverlib 源代码。  

     https://dev.ti.com/tirex/explore/node?node=A__ALLvXv5ya93oQ1lAr1HRLQ__c2000ware_devices_package__coGQ502__LATEST 上还提供了 driverlib API 指南

    此致

    Siddharth

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

    尊敬的 Siddharth:

    非常感谢我正在寻找的链接。

    不过、对于初学者来说、有点困惑、因为您表示"您可以下载 C2000Ware 并探索 f28003x 的"driverlib"文件夹。 您将在这个文件夹中找到所有 driverlib 源代码。"

    我所做的是、在 CCS 中尝试在"driverlib"下为我的器件 f28004x 导入示例。 了解了所有示例。

    您的意思是否与我的理解相同、如上所述? 另外、请更详细地说明如何在这样的文件夹中找到 driverlib 源代码? 我的意思是、我缺少什么吗???

    此致、

    Venkatesh

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

    Venkatesh,

    您可以查看 driverlib\f28004x\driverlib 文件夹。 此文件夹中提供了 driverlib 源代码。

    此致

    Siddharth

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

    Siddharth、

    谢谢。 使用源代码找到该示例。 这些是 adc.c 或 gpio.c 源代码的典型函数 请确认。

    与此同时、我将使用全新的 CCS 将旧器件 TMS320F2810更新为具有相同功能的 TMS320F28377S。  

    请更正我、要更新到新器件、我要根据 driverlib 函数和相关库、复制更新版本的 CCS 中的所有函数。

    这是正确的方法吗? 还是建议任何其他替代方式? 之前、我是从旧版 CCV3.3版本工程迁移的、但其中有很多错误。

    此致、

    Venkatesh

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

    Venkatesh,

    TMS320F2810只支持位字段标头。  TMS320F28377S 支持 driverlib 和位字段标头。   TMS320F28377S 的位字段标头位于   \device_support\f2837xs\headers。 您可以查看它并决定采取哪种方法。  您也可以组合 driverlib 和位字段。

    此致

    Siddharth

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

    Siddharth、

    感谢您提供有用的提示/信息。

    是的、在 include 目录中找到了所有.h 文件。 从您的观点来看、我的旧器件 TMS320F2810基于位字段、 如所附的 CCS 项目屏幕截图中所示的几个.h 文件 时、在具有相似功能(可以进行修改以适应新器件 TMS320F28377S)的编程的位域模式中修改 CCS 功能将更加方便、其中包含从您的建议目录复制的.h 文件。

    是的、我的偏好也是相同的、只需较少的努力即可满足我的目的、即迁移到具有相同应用和功能的新器件。

    请确认并建议相同的策略。

    此致、

    Venkatesh

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

    Siddharth、

    进行上述操作后、我需要根据技术参考手册的寄存器添加 Files .h 并修改.c 文件以满足 TMS320F28377S 要求是正确的。

    如何处理其他文件.pp、.asm、.dat、.mak、.abs 等 但是、我发现.cmd 2文件也需要复制?

    请澄清、因为我是此活动的初学者、所以我需要学习阶段。

    此致、

    Venkatesh

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

    Siddharth、

    这是与上述迁移问题相关的附加问题:

    因为存在多个.c 文件、所以在 CCS 中如何链接它们。 请在我的理解下面注明:

    1. CCS 只允许一个包含"void main (void)"代码的.c 文件

    2.为了链接"void main(void)",需要将另一个.c 文件与所示的函数内容进行链接

    extern void file_name ();

    3.以后创建另一个包含代码的.c 文件...

    void file_name()


    }

    1.参考 import/device_support/f2837xs/examples/empty_projects/ccs/empty_bitfield_project 包含.c 文件、其中示例代码如所示

    空 main (void)

    }

    2.另一个.c 文件包含的代码如所示

    空隙

    函数 (例如...  GPIO_WritePin (UINT16 gpioNumber、UINT16 OutVal)

    }

    现在,我的查询是..

    根据上面的第2和3项或与 bitfield 样例 Example_projects 之后、哪个选项最好。

    我的偏好是根据 bitfield 的 sample example_projects。

    请确认。

    此致、

    Venkatesh

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

    Venkatesh,

    您可以在 CCS 项目中使用多个 C 文件。 您可以参考现有示例之一来了解如何添加 C 文件。

    另请参阅以下链接

    https://software-dl.ti.com/ccs/esd/documents/users_guide/index_project-management.html

    此致

    Siddharth  

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

    Siddharth、

    请回复此问题。

    此致、

    Venkatesh

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

    Siddharth、

    感谢这个回复非常有用的提示。

    同时请尽早回答以上两项问题。

    此致、

    Venkatesh

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

    Venkatesh,

    您指的是哪些查询?  

    如上所述,一个 CCS 项目中可以有多个 C 文件。  其中一个 C 文件将具有一个 main()函数。 其余函数可以在单独的 C 文件中。 结构化代码取决于所需的方式。

    此致

    Siddharth

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

    Siddharth、

    明白了您的观点。

    查看上面 CCS 旧3.3C 下我现有旧项目的共享屏幕截图、

    是否正确、我需要根据技术参考手册的寄存器添加 Files .h 并修改.c 文件、以满足 TMS320F28377S 要求。

    如何处理其他文件.pp、.asm、.dat、.mak、.abs 等 但是、我发现.cmd 2文件也需要复制? 我想、我需要从2000ware 的 device_support 目录中复制所有.h 和.cmd 文件。 猜测我现有的旧项目中的.pp、.asm 等文件与旧的3.3V CCS 相关。

    请澄清、因为我是此活动的初学者、所以我需要学习阶段。

    此致、

    Venkatesh

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

    Venkatesh,

    是的,您将需要为  TMS320F28377S 添加 C、Header、连接器命令文件(.cmd)。  如果有任何汇编文件(.asm)、您也需要添加它们。  编译 CCS 工程时会生成其他文件、如.pp.mak 等、不需要将其添加到工程中。

    此致

    Siddharth   

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

    Siddharth、

    非常感谢您提供满意和有用的建议。

    这是解决我的问题,再次非常感谢。

    此致、

    Venkatesh

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

    Siddharth、

    您可以在 CCS 项目中使用多个 C 文件。 您可以参考现有示例之一来了解如何添加 C 文件。

    另请参阅以下链接

    https://software-dl.ti.com/ccs/esd/documents/users_guide/index_project-management.html

    根据您的说明,我无法找到" 了解如何添加 C 文件的现有示例。"

    请分享以下所有示例、以了解多个.c 文件具有适用于所有.c 文件的代码。

    此致、

    Venkatesh

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

    Venkatesh,  

    您可以 看看 I2C 示例"i2c_ex4_eeprom_Polling"( \driverlib\f2837xs\examples\cpu1\i2c\ccs)。  

    它使用多个 C 文件。

    此致

    Siddharth

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

    Siddharth、

    非常感谢…

    根据您的建议链接、内容无法导入 CCS、而 CCS 显示为"灰色"。 不理解原因。

    但是、(\C2000Ware_4_03_00_00\device_support\f28004x\examples\i2c)链接可以导入包含多个.c 文件的2个示例。 这些有…

    使用"void main (void)"和其他.c 文件的"i2C_ex1_master.c"  

    在"f28004x_gpio.c"中、通常例如...

    空隙
    InitGpio()  

    空隙
    GPIO_SetupPinOptions (UINT16 gpioNumber、UINT16输出、UINT16标志)

    在"f28004x_dma.c"中、通常例如...

    void StartDMACH1 (void)

    void DMACH2AddrConfig (volatile Uint16 * dma_Dest、volatile Uint16 * dma_Source)

    希望这些示例能让我在旧工程中考虑使用多个.c 文件、并以类似的方式进行管理。

    请确认...

    此致、

    Venkatesh

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

    Venkatesh,  

    该项目可能已经导入 CCS 工作区,因此显示为"灰色"。  您可以检查项目资源管理器并查看这些项目是否已列出。

    您可以引用使用多个 C 文件的任何示例。

    此致

    Siddharth

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

    Siddharth、

    继续我关于单个项目中多个.c 文件的查询。

    我已尝试在单个项目中构建 LED1和 LED2闪烁。

    "ex4_led_ex1_blinky"工作正常。 但是、"ex5_led_ex2_blinky_dcsm"不基于您的示例中提出的原则。 但是、同一个 "ex5_lead_ex2_blinky_dcsm"工程在 LED1闪烁时运行良好、并且它不关心 LED2闪烁、尽管工程中提供了此类.c 文件。 具有 driverlib 模式的 CCS 12版本只接受一个 "void main (void)"吗?

    我的错在哪里? 需要在"ex5_leed_ex2_blinky_dcsm"中更正哪些内容、以便 LED2也可以闪烁? 如何将 LED2 .c 文件链接到项目?

    这些是与"LAUNCHXL-F280049C"关联的项目

    e2e.ti.com/.../3632.ex4_5F00_led_5F00_ex1_5F00_blinky.zipe2e.ti.com/.../Ex5_5F00_led_5F00_ex2_5F00_blinky_5F00_dcsm.zip

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

    Venkatesh,

    CCS 项目可以有一个入口点函数 或 main(),并且可以调用其他 C 文件中的函数。

    在 "ex5_led_ex2_blinky_dcsm"项目中、从未调用函数"My_LED2"。 应该从 main()函数调用它才能正常工作。  

     由于 Togg_My_LED2 函数是从主函数调用的,因此"ex4_led ex1_blinky"起作用。 这是你应该采取的方法。

    此致

    Siddharth

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

    Siddharth、

    非常感谢… 这同样的概念适用于位域类型吗

    一直在

    从 \C2000Ware_4_03_00\device_support\f28004x\examples\led "led_ex1_blinky"导入工程后、无法构建显示错误、如下所示:

    "连接到目标时出错:(ERROR -716 @ 0x0)无法找到所需的动态库 jscserdes。 该库不在搜索路径上。 (仿真软件包9.11.0.00128)"

    工程没有选择"Build Configurations\Set Active\CPU1_LAUNCHXL_RAM"的工具、并且在 targetConfigs 下没有选择"TMS320F280049C_LaunchPad.ccxml"的选项、因此会发生此类错误。

    但是、同一个 LED 项目能够在\C2000Ware_4_03_00_00\driverlib\f28004x\examples\led 下导入和构建"没有任何错误"

    如何消除误差?

    LED 项目的 PFA 屏幕截图,标题中有错误...

    此致、

    Venkatesh

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

    Venkatesh,

    是的、相同的概念也适用于位字段。

    对于上述错误、看起来工程没有"TMS320F280049C_LaunchPad.ccxml"、可看到该错误。  您可以在 targetConfigs 下进行选中、然后查看项目的可用 CCXML 文件。  CCXML 文件用于启动调试会话并连接到电路板。

    此致

    Siddharth