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.

[参考译文] RTOS/AM3358:DCAN 示例项目问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/667309/rtos-am3358-dcan-example-project-issue

器件型号:AM3358

工具/软件:TI-RTOS

您好!

我正在构建一个使用 AM335x 几乎所有外设的项目。  我从 Processor SDK TIRTOS 4.02.00.09中提供的"rtos_template_app_AM335x_A8"项目开始、并且除 DCAN 和 ADC 外、所有外设都在该项目中工作。   

由于 DCAN 是我现在开始工作的首要任务、我想重点介绍 DCAN。

首先、 我在做了一些魔术(和 e2e 帮助)之后成功导入和构建了 DCAN 回送 Example_evmAM335x_armTestProject、以确定 DAL 错误。

其次、我开始尝试获取示例代码并将其放入 RTOS_TEMPLICE_APP_AM335x_A8项目中、我正在运行大量问题。   

DCAN 示例似乎利用了许多我不想使用的 Starerware 驱动程序、因为它们不受支持、我的项目最终将投入生产。  我还尝试将 PDK 的 CSL 文件夹中的一些文件和电路板中的文件--> diag --> dcan 文件夹中的文件引入,但它们只是没有编译。  所有这些似乎都与 Starterware 有着巨大的联系。

我真正需要的是一个基本帧 Tx/Rx DCAN 示例、该示例在 RTOS_TEMPLE_APP_AM335x_A8基础应用中工作、因此我可以将其集成到不使用 Starterware 的项目中。   

有人做过这样的事情吗?

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    作为我尝试过的其他一些东西的示例、我尝试在1.0.9 PDK 中使用 DCAN 环回 CSL 示例(尽管我确实需要一个帧示例)、并得到以下.cfg 错误、表示"不支持目标 A8F "。  在使用 Xbar 的中断配置中、它似乎挂起。:

    此示例虽然包含在 AM335处理器 SDK 中、但实际上并不适用于 AM335。

    同样 、非常感谢在 RTOS_TEMPLICE_APP_AM335x_A8项目中运行 DCAN 帧示例所提供的任何帮助。

    谢谢!

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

    您查找端口的 diag CSL 示例适用于 AM57x 而不是 AM335x。
    遗憾的是、除了使用 Starterware 的版本、我们没有针对 AM335x 的 DCAN 实现。

    我正在尝试了解您对 RTOS_TEMPLE_APP_AM335x_A8的引用、并获取使用此模板的 DCAN 示例。
    DCAN LoopbackExample_evmAM335x_armTestProject 是使用此模板构建的,其中 main ()有一个针对 dcanTestTask 的任务。

    如果您可以让 DCDAN_LoopbackExample_evmAM335x_armTestProject 在 BBB 上工作、那会有帮助吗? (我知道您已经尝试过这种方法,但只是想了解我们如何帮助您向前迈进)。

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lali、
    我需要您获取 DCDAN_LoopbackExample_evmAM335x_armTestProject 中的代码、并将其放置在 RTOS_TEMPLE_APP_AM335x_A8项目中、以 BBB 作为目标作为"新"示例。 这将允许我直接获取您创建的这个"新"示例、并将其放入我的项目中。 您将快速了解获取 DCDAN_LoopbackExample_evmAM335x_armTestProject 代码并使其在 RTOS_TEMPLE_APP_AM335x_A8项目中工作的难度。

    此外、如果在创建此项目时需要执行任何特殊项目(例如使用命令行 gmake 重新编译 dal)、请告知我们。

    谢谢!

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

    Alex、

    我假设您已经完成了以下步骤来构建 XDC 软件包(假设您之前提到过您有示例构建)?

    对于 DCDAN_LoopbackExample_evmAM335x_armTestProject、
    以下命令可用于为特定 Starterware 库构建 XDC 软件包

    $ CD
    $ xdc.exe -P /
    示例:若要构建 Starterware al Library、请使用以下命令
    $CD
    $ xdc.exe -P /dal

    同样、也可以为其他 Starterware 库构建 XDC 软件包。

    Lali

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

    Lali、

    是的、我们可以运行 EVM 示例、这样我就完成了。  我们遇到的问题是如何在 RTOS 示例项目中运行该示例代码。  有一个很好的示例、但我需要代码才能在我的项目中运行。  

    如果您能够让 EVM 示例代码在 RTOS 示例中运行-只需在 peripheralInit 函数中设置 DCAN 外设、我们就应该能够从那里获取该代码。  这实际上是一个问题、就是尝试找到所有必需的文件和路径、以便 EVM 示例代码在 RTOS 示例项目中正常工作。  我们在使用 CAN 方面有丰富的经验、因此、如果我们已初始化外设并正确编译程序、我们可以设置其他所有内容以使用 DCAN 外设。   

    您可以为此提供的任何帮助都将是极好的。  

    Alex

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

    Lali、

    我真的在努力让这项工作完成、因为我需要在几周内完成这项工作。  为了开始将 EVM 示例移植到我的代码中、我采用了主"loopback_app_main.c"文件并将其放置在我的项目中、同时将我的实际主文件从编译中排除。  

    然后、我进入并添加了所有 starterware 文件夹目录、并将所有 starterware 调用添加到.cfg 文件中。  

    我刚走进了一个看起来很大的障碍: CSL 和 DAL 图书馆不是很开心。  我正在将 CSL 库用于运行良好的关键 PWM 代码。  DCAN 环回示例使用 DAL 进行其调用、因此现在我需要它。  当您同时拥有它们时、它们似乎不起作用。  请参阅我的构建日志的附加文件-大量"多定义"内容正在进行...

    我在这里有哪些选择???

    CSL 实现的问题似乎主要在于中断的设置-对吗?  是否有办法使 CSL 示例与 DCAN 一起工作?  它不必是漂亮的-只是在此时可以正常工作。

    e2e.ti.com/.../Build-Errors.txt

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

    感觉就像我在这里和自己交谈,但我*可能*正在取得进展。  

    我发现 PDK1.0.9->packages ->ti->board->diag->dcann->src 中的文件具有基于 CSL 的文件,并尝试使这些文件正常工作。

    我从上述文件夹中引入了"dCAN_loopback_app_main.c"、并将"dCAN.c"文件放入 我正在使用的沙盒 RTOS 项目中(即使该示例主文件不是和 RTOS 文件)。

    我设置指向上述文件夹的编译器目录路径并尝试编译。  

    缺少一些#defines、因此我不得不添加这3个项目(它们可能是错误的、但我现在只是尝试一些东西):

    #define DCAN1_APP_INST 0

    #define DCAN2_APP_INST 1.

    #define SOC_I_DRM_base 0

    然后、当我进行编译时、我会得到附加的编译错误。

    e2e.ti.com/.../Build-errors-CSL.txt

    有什么想法吗?  这是一个比 Starterware 示例更好的起点吗?

    Alex

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

    我向您保证、您不会在这里与自己交谈、因为团队会密切关注您在 E2E 上的更新。 Mark 和团队正在离线跟进此问题。 目前、DCAN RTOS 项目和 Starterware 示例似乎是我们目前唯一能够共享的软件。 n`t 有一个 LLD、如您指向我们的 Tiva 上的 DCAN 驱动程序。 Lali 还向开发团队提出了这个问题、以尝试了解我们如何在短期内帮助您。

    构建问题。 请查看下面讨论此问题的 wiki 链接中的 Processor SDK RTOS 常见问题解答链接。 您可能需要链接正确的运行时 GCC 库以解决此问题:
    processors.wiki.ti.com/.../Processor_SDK_RTOS_FAQ

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

    正如 Rahul 提到的、您不是在与自己交谈。 我们一直在幕后努力寻找解决方案。
    我们目前没有 LLD 示例。 但是、我正在获取一个基于 RTOS 模板的可构建示例以帮助解决问题。

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

    Lali -我有来自电路板/diag/dCAN/src 编译的代码、在我的 RTOS 模板项目中。 它未经过测试、但会进行编译(我认为这是一个成功)。

    但是、为了使其编译、我必须 手动设置以下#defines、以便您能帮助我了解这些值应该是什么以及是否需要它们吗?

    #define DCAN1_APP_INST 0
    #define DCAN2_APP_INST 1.
    #define SOC_I_DRM_base 0

    这仍然是未经测试的、所以让我知道您的示例是如何出现的。

    如果您需要任何其他信息、请告诉我。 一个很大的区别是、这似乎是用于运行 DCAN1、而我使用的是 DCAN0外设。 我还不知道 电路板/diag/dCAN/src 中的所有其他#defines 和变量设置是否适用于 AM335x。

    谢谢!

    Alex
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lali、
    作为更新-我的代码会编译、但当我尝试在 BBB 上运行时、它会崩溃、因为它命中了第一个 DCAN 调用"DCAN Reset"。

    因此、您的示例仍然非常需要!

    感谢您在这方面的持续帮助!

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

    Alex、

    您尝试为 DCAN 配置 BBB 上的哪些引脚?

    D15、D16?

    Lali

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

    否、我们使用引脚 D17和 D18。


    D17为 Dcan0 Rx

    D18是 Dcan0 TX



    谢谢!

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

    Alex、

    请尝试附加的项目。

    这肯定会经过 DCANRESET()。 我无法使它完全运行、但它构建良好。 此外还附加了一些引脚多路复用更改。

    运行时 UART 打印将通过 BBB FTD 接头 J1上的 UART0进行。

    您必须在几个文件中链接才能构建项目。 项目属性中还必须添加一些符号。

    希望这对您有所帮助。

    Lali

    /cfs-file/__key/communityserver-discussions-components-files/791/DCAN_5F00_LoopbackExample_5F00_bbbAM335x_5F00_armTestProject.zip

    /cfs-file/__key/communityserver-discussions-components-files/791/am335x_5F00_beagleboneblack_5F00_pinmux_5F00_data.c

    /cfs-file/__key/communityserver-discussions-components-files/791/2604.am335x_5F00_pinmux.h

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

    Lali、

    我下载了项目、但大量主文件缺失-它们似乎是链接文件、但未压缩。

    DCAN_app.c

    DCAN.c

    loopback_app_main.c

    am335x_app_dcan_evmam335x.cfg

    此外-我的 BBB 板已经使用完整的引脚多路复用器(包括 DCAN0)构建、因此我不必对引脚多路复用器执行任何额外的操作、对吧?

    我很高兴尝试这个!

    Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、我希望您构建的项目不仅仅是使用 Starterware 和 Dal 的 AM335x DCAN 环回示例、因为这在我们的应用中不起作用、因为 CSL 库的使用。

    谢谢!

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

    Alex、

    我这次使用所需文件的副本而不是链接重新附加了项目。

    该项目确实依赖于对函数的 Starterware DCAN API 调用。 这是 AM335x BBB DCAN 示例当前可用的功能。

    Lali

    /cfs-file/__key/communityserver-discussions-components-files/791/0763.DCAN_5F00_LoopbackExample_5F00_bbbAM335x_5F00_armTestProject.zip

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

    Lali、

    我想我们不在这里的同一页上。

    首先、您在3月2日的帖子中提到:

    "正如 Rahul 提到的、您不是在与自己交谈。 我们一直在幕后努力寻找解决方案。

    我们目前没有 LLD 示例。 但是、我正在努力获取一个基于 RTOS 模板的可构建示例以帮助解决问题。"

    我询问链接文件的原因是、我假设您已更改其中的内容。  正如我在之前的帖子中所提到的、我已经在 BBB 上工作过这个示例。  您实际上并不像您所说的那样做、因为您只是制作了另一个独立示例、而不是让它在 RTOS 模板中工作。

    其次、当我尝试将 Starterware 示例代码(我在它自己的独立项目中运行)放入使用 CSL 库(对于 PWM 等其他驱动程序)的主 RTOS 模板时、它失败、因为 DAL 和 CSL 库不能协同工作。  

    第三、我关于不通过"DCANReset"函数的评论是当我尝试使用 DCAN CSL 库函数调用时、因为 Starterware 示例在我的项目中不起作用。

    为了获得帮助、我附加了一 个小型 DCAN CSL 示例、我已经在主 RTOS 模板应用程序中进行了整合并正在进行编译、但 DCANReset 函数调用失败。  我还应该注意的是、这个示例有一些需要解决的 RTOS 链接错误、或者你可以将文件放入一个不同的项目中-我不想复制我的整个主项目、我没有时间让这个小示例完美工作、但是 这是我尝试做的事情的一个很好的例子。

    希望您可以使用我的示例使 CSL 示例正常工作(也许您会发现我的#defines 或注释掉的代码是它不起作用的原因、这是一个简单的修复)。  

    Alex

    e2e.ti.com/.../NIMU_5F00_BasicExample_5F00_bbbAM335x_5F00_armExampleproject.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    伙计们、
    我有一个使用 CSL 调用处理项目的示例、因此我现在可以去了。

    谢谢!

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

    感谢您回帖、您找到了一个前进的解决方案。
    非常感谢您分享一些有关如何启用 DCAN CSL 示例的详细信息。

    谢谢。

    Lali