国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

電子工程網

標題: 在i.MX8MP開發板上實現SPI轉CAN [打印本頁]

作者: 繁花之語    時間: 2023-9-11 15:27
標題: 在i.MX8MP開發板上實現SPI轉CAN

飛凌嵌入式OKMX8MP-C開發板有兩路原生CAN總線,但用戶在開發產品時可能需要用到更多的CAN,這該如何解決呢?今天小編將為大家介紹一種SPI轉CAN的方法,供各位工程師小伙伴參考。

說明





01移植MC2518芯片驅動

在OK8MP-linux-kernel/drivers/net/can/spi/路徑下創建一個文件夾——mcp25xxfd,將相關文件(包含.c文件、.h文件、Makefile、Kconfig等)放置到此文件夾中。


02補全對can_rx_offload_add_manual函數的定義

vi OK8MQ-linux-kernel/include/linux/can/rx-offload.h

添加:

[url=]復制[/url]


[color=rgb(51, 102, 153) !important]復制代碼


vi OK8MQ-linux-kernel/drivers/net/can/rx-offload.c

添加:

[url=]復制[/url]


[color=rgb(51, 102, 153) !important]復制代碼



03修改上一級目錄spi/下的Makefile和Kconfig

vi OK8MP-linux-kernel/drivers/net/can/spi/Makefile

添加:

[url=]復制[/url]



[color=rgb(51, 102, 153) !important]復制代碼



vi OK8MP-linux-kernel/drivers/net/can/spi/Kconfig

添加:

[url=]復制[/url]


[color=rgb(51, 102, 153) !important]復制代碼



04修改驅動配置文件,將MCP2518編譯進內核

vi OK8MP-linux-kernel/arch/ARM64/configs/OK8MP-C_defconfig

找到:CONFIG_CAN_MCP251X=y

改為:# CONFIG_CAN_MCP251X is not set

添加:CONFIG_CAN_MCP25XXFD=y


05在設備樹中配置時鐘

vi OK8MP-linux-kernel/arch/arm64/boot/dts/freescale/OK8MP-C.dts

添加:​​​​​​​

[url=]復制[/url]

[color=rgb(51, 102, 153) !important]復制代碼



06找一個引腳用作芯片的中斷引腳

此處是將GPIO4_IO21用作了中斷引腳。

vi OK8MP-linux-kernel/arch/arm64/boot/dts/freescale/OK8MP-C.dts

添加:​​​​​​​

[url=]復制[/url]


pinctrl_ecspi2_can: ecspi2can{
  fsl,pins = <
  MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21   0x40000
  >;
};

07

在設備樹的ecspi2節點中進行修改

vi OK8MP-linux-kernel/arch/arm64/boot/dts/freescale/OK8MP-C.dts

從:​​​​​​​

[url=]復制[/url]



[color=rgb(51, 102, 153) !important]復制代碼