You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CONFIG_RT_USING_CAN=y
CONFIG_RT_CAN_USING_HDR=y
CONFIG_RT_CAN_USING_CANFD=y
CONFIG_RT_CANMSG_BOX_SZ=16
CONFIG_RT_CANSND_BOX_NUM=1
CONFIG_RT_CANSND_MSG_TIMEOUT=100
CONFIG_RT_CAN_NB_TX_FIFO_SIZE=1024
# CONFIG_RT_CAN_MALLOC_NB_TX_BUFFER is not set
CONFIG_BSP_USING_CAN=y
CONFIG_BSP_USING_CAN0=y
CONFIG_BSP_USING_CAN1=y
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread!
为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。
To ensure your code complies with RT-Thread's coding style, please run the code formatting workflow by following the steps below (If the formatting of CI fails to run).
设置需排除的文件/目录(目录请以"/"结尾)
Set files/directories to exclude (directories should end with "/")
将目标分支设置为 \ Set the target branch to:feature/dual_canfd
设置PR number为 \ Set the PR number to:11609
等待工作流完成 | Wait for the workflow to complete
格式化后的代码将自动推送至你的分支。
The formatted code will be automatically pushed to your branch.
完成后,提交将自动更新至 feature/dual_canfd 分支,关联的 Pull Request 也会同步更新。
Once completed, commits will be pushed to the feature/dual_canfd branch automatically, and the related Pull Request will be updated.
如有问题欢迎联系我们,再次感谢您的贡献!💐
If you have any questions, feel free to reach out. Thanks again for your contribution!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
FRDM-MCXA366(MCXA366)板载 FlexCAN0/1 与 TJA1057 收发器,但当前 MCXA BSP 的 CAN 驱动仅覆盖经典 CAN 基础能力,存在以下缺口:
RT_CAN_USING_CANFD、FD 帧收发及 Loopback 验证。drv_can.c缺少 CAN1 完整初始化、错误恢复与 Normal 模式收发逻辑;pin_mux.c未配置 CAN1 引脚(P1_17 TX / P1_12 RX),can1无法在硬件上工作。MCXA366_flash.scf默认堆仅 1KB,双路 CAN 开启RT_CAN_USING_HDR时rt_can_open()易因堆不足触发断言;GCC 侧rtconfig.py已为 32KB,Keil 需对齐。本 PR 补齐 MCXA 共用 CAN 驱动与 FRDM-MCXA366 板级支持,使社区用户可在该板上进行 CAN-FD 片内回环及 CAN0↔CAN1 外总线互测。
你的解决方案是什么 (what is your solution)
1. 驱动层(
bsp/nxp/mcx/mcxa/Libraries/drivers/drv_can.c)FLEXCAN_FDInit、FD 帧编解码、Loopback / Normal / Listen 模式。_can_recover_bus(),TX 后_can_start_rx()保证双向通信;enableIndividMask = false+ 全局 RX 掩码 0,接受标准帧;_can_dump_err()输出 ESR1/ACKERR,避免无应答时死等。MDIS断言问题。2. 板级引脚(
frdm-mcxa366/board/MCUX_Config/board/pin_mux.c)在
#ifdef BSP_USING_CAN1下增加 CAN1 引脚复用,与 NXP SDKBOARD_InitCANPins一致:3. Keil 链接脚本(
board/linker_scripts/MCXA366_flash.scf)将默认堆由
0x0400(1KB)调整为0x8000(32KB),与 GCCrtconfig.py中__heap_size__=0x8000一致,满足双路 CAN 设备打开时的动态内存需求。4. 使用方式(需在 menuconfig 中启用)
修改
.config后执行:5. 建议验证步骤
canfd_loopback_testcanfd_dual_diagcanfd_dual_test请提供验证的bsp和config (provide the config and bsp)
验证截图
CAN0与CAN1直接短接
PIN-3是电源,不用接。
FDCAN0 环回测试

经典CAN 8字节通信

FDCAN0 <---> FDCAN1

]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up