国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網(wǎng)

標(biāo)題: 在i.MX8MP開(kāi)發(fā)板上實(shí)現(xiàn)SPI轉(zhuǎn)CAN [打印本頁(yè)]

作者: 繁花之語(yǔ)    時(shí)間: 2023-9-11 15:27
標(biāo)題: 在i.MX8MP開(kāi)發(fā)板上實(shí)現(xiàn)SPI轉(zhuǎn)CAN

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

說(shuō)明





01移植MC2518芯片驅(qū)動(dòng)

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


02補(bǔ)全對(duì)can_rx_offload_add_manual函數(shù)的定義

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

添加:

[url=]復(fù)制[/url]


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


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

添加:

[url=]復(fù)制[/url]


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



03修改上一級(jí)目錄spi/下的Makefile和Kconfig

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

添加:

[url=]復(fù)制[/url]



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



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

添加:

[url=]復(fù)制[/url]


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



04修改驅(qū)動(dòng)配置文件,將MCP2518編譯進(jìn)內(nèi)核

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在設(shè)備樹(shù)中配置時(shí)鐘

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

添加:​​​​​​​

[url=]復(fù)制[/url]

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



06找一個(gè)引腳用作芯片的中斷引腳

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

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

添加:​​​​​​​

[url=]復(fù)制[/url]


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

07

在設(shè)備樹(shù)的ecspi2節(jié)點(diǎn)中進(jìn)行修改

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

從:​​​​​​​

[url=]復(fù)制[/url]



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