查看: 2101|回复: 1

[原创] 【经验分享】MIMXRT1064 CANFD受LPUART时钟影响

[复制链接]

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20015
最后登录
2024-4-25
发表于 2019-8-23 16:34:22 | 显示全部楼层 |阅读模式
    最近有客户在测试RT1064 CANFD的时候,发现如下特点的问题,如果LPUART的时钟使能,那么CANFD模块能正确使能工作,如果不使能LPUART的时钟,CANFD连初始化都不能完成。而官方的代码都带有UART的打印接口,所以是使能LPUART时钟了,直接测试不能发现这样的问题。如果关掉BOARD_InitDebugConsole();可以发现在运行CANFDSDK代码的时候,就卡在了CAN初始化中了。
1.jpg
如果仅仅加上使能LPUART的时钟代码:CLOCK_EnableClock(kCLOCK_Lpuart1);再次运行,不仅CANFD初始化可以完成,模块也能正常工作。所以后来内部咨询了下,的确是有这样的问题,暂时还没加入到勘误表文档中,后续会加进去。所以,这里为了防止在此期间有网友遇到类似问题,在这里分享出来对应的workaroud,一共有两种路径:
1.  CAN时钟选择的CAN_CLK_SEL设置为0 或者12.如果CAN_CLK_SEL设置为
2. 这时候CMM就必须打开任意一个UART的时钟门,在CCM_CCGRx寄存器中打开。



回复

使用道具 举报

该用户从未签到

14

主题

25

帖子

0

注册会员

Rank: 2

积分
160
最后登录
2022-1-11
发表于 2021-3-25 16:23:53 | 显示全部楼层
你好
   我的工程中串口5打开了,且可以正常使用,但是在调用函数FLEXCAN_Init()执行到
assert(CAN_CLOCK_CHECK_NO_AFFECTS)会死在里面的for循环里,sdk库使用的是2.7版本的,IDE使用keil5.33,请问是怎么回事?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-25 19:37 , Processed in 0.100945 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表