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.

[参考译文] ENET-AM263PX:合并 MCU-PLUS-SDK 和 MCAN 时中止异常问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1462906/mcu-plus-sdk-am263px-abort-exception-issue-when-merging-enet-and-mcan

器件型号:MCU-PLUS-SDK - AM263PX
主题中讨论的其他器件:SysConfig

工具与软件:

您好!

我们尝试在 AM263PCC 评估板项目中、使用 MCAN (mcan_external_read_write_am263px-cc_r5fss0-0_freertos_ti-arm-clang)和 Enet (enet_cpsw_socket_am263px-cc_r5fss0-0_freertos_ti-arm-clang)实现某种 CAN 转以太网关功能。 我使用的是 CCS 版本12.8.1、安装的 SDK 为 am263px_10_00_00_35。 每个项目都可以按预期进行编译和运行。

我们现在使用了 Enet 示例项目作为网关项目的基础、并添加了我们认为添加 CAN 功能(例如 syscfg 中的 EDMA、MCAN、MCSPI 和 PMIC 驱动程序)所必需的东西、以及 mcan_transceivers.c 和 mcan_external_read_write.c 文件(第二个文件稍微适应我们的需求)。 工程在内核 r5fss0-0上运行。

我们知道、要使多路复用器进入正确的状态、需要一些 I2C 通信、甚至需要设置 PMIC 来激活 CAN 收发器的电源。

我们甚至尝试了在 Enet 示例中不可用但在 MCAN 示例中可以找到的存储器段。

此项目编译无问题。 在 CC 板上运行时、在激活 DPL-Init 函数中的中断后、我们收到异常中断。 查看 CPSR、SPSR_ABT 和 DFSR 中的信息、我们转到引发问题的后台访问。

您有什么建议吗? 我们可以根据需要轻松提供项目。

提前感谢!

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

    您好、Wega、

    感谢您对当前实施情况的详细说明。

    您是否能够成功使用 MCAN 外部读取/写入示例?

    此示例应考虑必要的电路板配置(PMIC/I2CMux)。

    您能否提供发生中止异常的 DPL-Init 函数? 其他项目文件也将帮助我们继续调试该问题。

    此致、

    Zackary Fleenor

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

    尊敬的 Zackary:

    感谢您的答复。

    我们对 MCAN 工程(syscfg 和 mcan_external_read_write.c 中 MCAN 的比特率配置)进行了一些修改、以将其作为传统 CAN 工程运行、因为我的测试设备不支持 CAN FD 帧格式。 MCAN 工程按预期运行。 我们尝试合并修改过的 CAN 项目和 ENET。

    我和您分享修改后的 MCAN 项目和 CAN 以太网通信项目(HPSN_POC)。

    此致、

    就是这样

    /cfs-file/__key/communityserver-discussions-components-files/908/MCAN-_2D00_-Classic-CAN-frame-format.zip

    /cfs-file/__key/communityserver-discussions-components-files/908/HPSN_5F00_POC.zip

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

    嘿、Wega、

    很好理解、很高兴知道 MCAN 项目本身就在按预期工作。 这让我同意您关于存储器分配/访问的最初假设。

    在没有深入了解您共享的这些项目文件的情况下、最高级别的系统配置是什么? 所有内容是在单个内核上运行、还是分布在 R5实例中?

    此致、

    Zackary Fleenor

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

    尊敬的 Zackary:

    工程在单核 r5fss0-0上运行。

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

    您好!

    我将与 Zackary 一起帮助调试这个项目。
    请给我几天时间来设置和测试您的项目文件。 我会尽快让您知道任何问题/评论。

    谢谢!
    Susan  

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

    您好!

    我正在寻找正确的硬件来运行您的示例。  
    同时、您能否检查合并项目的 MCAN 多路复用器是否正确配置为 MCAN (IO 扩展器的 FSI_MUX_SEL GPIO 配置为逻辑低电平输出)?
    此外、对于合并项目、 在导入 MCAN 部分之前、您是否检查 enet_cpsw_socket_am263px 示例是否与您的设置一致?  
    此外、我知道您将使用 CCS 来构建和调试项目、对吗?
    此致、

    Susan  

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

    您好、Susan:

    感谢您的反馈。 让我来回答您的问题:

    1.我 无法在合并项目中检查 MCAN 多路复用器的正确配置。 我在运行代码时没有看到。 我卡在 System_init()中、可能是在 EDMA_init()中。

    2.在添加 MCAN 功能之前、我能够运行 enet_cpsw_socket_am263px。 我就是这样开始的。 导入 Enet 项目、根据我的需要进行修改并运行该项目。 首先、我添加了 MCAN。

    3.是的、我使用 CCS 进行构建和调试。

    此致、

    就是这样

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

    您好!

    我不知道这是否会立即解决您的问题、但您能否继续并确保将 UART0引脚设置为在 SysConfig 文件中使用 A7和 A6? 我注意到、将您的配置设置为任意模式、而不是设置为 UART0_RXD 和 UART0_TXD。 在上面的合并项目中。  

    我看到它们设置的方式:

    应如何设置它们:

    Zackary 和我今天正在查看您的内存配置、以了解我们是否可以为您解决该问题。 确认:您要使此项目在单个内核上保持运行、对吗?

    谢谢!

    Susan

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

    您好、Susan:

    您是对的、UART0引脚设置错误。 必须在故障排除过程中发生。 我现在已正确配置和测试了它们、但遗憾的是、这并没有解决问题。
    您很高兴看到这个。 可以从单个内核开始。
    我在 AM263x LP 上进行了相同的合并。 ENET 是相同的、只是 MCAN 的配置不那么复杂、因为您没有为 MCAN 收发器供电的 PMIC。 这意味着不需要 MCSPI 接口和 EDMA。 不过、它在 AM263x LP 上运行。

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

    您好!

    您是否能够提供适用于 AM263x LP 的版本的项目文件? 或至少是 SysConfig 文件(和版本)?
    它可能会帮助我们弄清内存配置发生了哪些变化。

    谢谢!

    Susan

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

    完全可以!

    /cfs-file/__key/communityserver-discussions-components-files/908/AM263xLP.zip

    它是使用 SDK 版本 mcu_plus_sdk_am263x_09_01_00_41生成的。

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

    大家好、Susan 和 Zackary、

    在 AM263Px CC 上运行 ENET-CAN 通信。初始化 PMIC 时发现信号量超时。 我从 PMIC_init ()开始逐步执行代码、一直到 MCSPI 读取/写入交互。 这最终会在 RTOS 中的某些函数中得到深入介绍。 似乎有人控制着与 PMIC 的通信。 可能是 ENET? 我有直觉、认为 PMIC、CAN、SPI 和 EDMA 的驱动程序功能应该在代码的后面部分执行。 因此、不是在 main 中初始化所有驱动程序

    我更改为只在 main 中初始化 i2c 和 UART、这也是 ENET 所需的。

    PMIC、CAN、SPI 和 EDMA 的其他驱动器功能移至 空洞 initCAN ( 空洞 *pvParameters)

    不确定我的结论是否正确、但现在它有效。 如果您有更好的建议、请告诉我。

    此致、

    就是这样

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

    您好!
    仔细查看您的项目、我们基本上能够跟踪驾驶员打开的问题。 我仔细查看了您的 AM263-LP 版本、发现 AM263P-CC 版本缺少 mcan_external_read_write.c 文件。 您是否在其他地方配置 MCAN 读写?

    谢谢!

    Susan  

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

    MCAN 所需的所有功能都位于 cantasks.h 中。不需要 mcan_external_read_write.c。 因此、我从工程中删除了该文件。

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

    您好!

    抱歉、在我询问 mcan_external_read_write.c 文件之前、我未能看到您关于驱动程序的回复。 我们已将该问题追踪到 Drivers_pmicOPEN ()内 MCSPI 读/写信标的内存损坏。  
    我咨询了我们的软件团队、可以肯定的是、以错误的顺序打开驱动程序可能会导致此类中止问题。 我想看看他们是否有比你在这里有更好的解决方案。

    此致、

    Susan