国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

i.MX8MPlus開發板實現SPI轉CAN,該如何操作?

飛凌嵌入式 ? 2023-09-04 16:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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


說明

OKMX8MP-C核心板有兩路原生的SPI總線,目前是將SPI1的引腳用作了LEDUART3的功能,SPI2做成了正常的SPI2接口。此處以SPI2轉CAN為例,移植SPI轉CAN芯片;

SPI轉CAN芯片型號為:MCP2518,這款芯片可轉出CAN-FD,若只需要CAN功能,可參照該方式移植MCP2515或其他芯片;

本次移植的MCP2518芯片驅動來源是i.MX8MQ的源碼(處理器中默認移植MCP2518芯片)。

wKgZomT5QKWABPCtAAGqeU6B1M0490.jpg

1、移植MC2518芯片驅動

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

2、補全對can_rx_offload_add_manual函數的定義

viOK8MQ-linux-kernel/include/linux/can/rx-offload.h

添加:

int can_rx_offload_add_manual(struct net_device *dev, struct can_rx_offload *offload, unsigned int weight)

viOK8MQ-linux-kernel/drivers/net/can/rx-offload.c

添加:

int can_rx_offload_add_manual(struct net_device *dev, struct can_rx_offload *offload, unsigned int weight) { if (offload->mailbox_read) return -EINVAL; return can_rx_offload_init_queue(dev, offload, weight); } EXPORT_SYMBOL_GPL(can_rx_offload_add_manual);

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

viOK8MP-linux-kernel/drivers/net/can/spi/Makefile

添加:

obj-y += mcp25xxfd/

viOK8MP-linux-kernel/drivers/net/can/spi/Kconfig

添加:

source "drivers/net/can/spi/mcp25xxfd/Kconfig"

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

viOK8MP-linux-kernel/arch/arm64/configs/OK8MP-C_defconfig

找到:CONFIG_CAN_MCP251X=y

改為:#CONFIG_CAN_MCP251X is not set

添加:CONFIG_CAN_MCP25XXFD=y

5、在設備樹中配置時鐘

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

添加:

clocks{ mcp2518fd_clock: mcp2518fd_clock{ compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <40000000>; }; };

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

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

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

添加:

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

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

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

從:

&ecspi2{ #address-cells= <1>; #size-cells= <0>; fsl,spi-num-chipselects= <1>; pinctrl-names= "default"; pinctrl-0= <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>; cs-gpios= <&gpio5 13 GPIO_ACTIVE_LOW>; status= "okay"; spidev1:spi@0 { reg= <0>; compatible= "rohm,dh2228fv"; spi-max-frequency= <500000>; }; };

改為:

&ecspi2{ #address-cells= <1>; #size-cells= <0>; fsl,spi-num-chipselects= <1>; pinctrl-names= "default"; pinctrl-0= <&pinctrl_ecspi2 &pinctrl_ecspi2_cs &pinctrl_ecspi2_can>; cs-gpios= <&gpio5 13 GPIO_ACTIVE_LOW>; status= "okay"; mcp1:mcp2518fd@0{ compatible= "microchip,mcp2518fd"; reg= <0>; spi-max-frequency= <20000000>; clocks= <&mcp2518fd_clock2>; interrupts-extended= <&gpio4 21 IRQ_TYPE_LEVEL_LOW>; }; };

完成上述修改后即可進行編譯,并用新生成的鏡像燒寫OKMX8MP-C開發板。

8、開發板驗證

將MCP2518芯片接到SPI2的接口上,啟動OKMX8MP-C開發板,啟動后使用ifconfig-a命令查看,即可看到多出了1個CAN節點。節點生成后,即可按照用戶使用手冊4.18FlexCAN測試】章節進行測試,驗證功能是否正常。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN
    CAN
    +關注

    關注

    59

    文章

    3067

    瀏覽量

    472753
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1885

    瀏覽量

    101258
  • 總線
    +關注

    關注

    10

    文章

    3040

    瀏覽量

    91660
  • 嵌入式開發
    +關注

    關注

    18

    文章

    1146

    瀏覽量

    50126
  • 開發板
    +關注

    關注

    26

    文章

    6291

    瀏覽量

    118129
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FRDM-i.MX 91開發板刷機指南

    FRDM-i.MX 91開發板刷機指南 在電子開發領域,開發板的刷機操作是一項基礎且關鍵的技能。今天,我們就來詳細探討NXP的FRDM-
    的頭像 發表于 12-24 11:30 ?700次閱讀

    探索FRDM - IMX8MPLUS開發板:開啟嵌入式開發新旅程

    : NXP Semiconductors FRDM i.MX 8M Plus開發板.pdf 一、開發板概述 FRDM - IMX8MPLUS
    的頭像 發表于 12-24 11:00 ?364次閱讀

    既要穩定性,還要性價比的工業級開發板 — 米爾i.MX91

    之前我介紹過NXPi.MX8系列的開發板,最近它的下一代產品i.MX9系列產品也有了,我就拿到了這個基于NXPi.MX9系列的米爾MYD-LMX91
    的頭像 發表于 11-20 08:05 ?2075次閱讀
    既要穩定性,還要性價比的工業級<b class='flag-5'>開發板</b> — 米爾<b class='flag-5'>i.MX</b>91

    簡單認識NXP FRDM i.MX 93開發板

    FRDM i.MX 93開發板是一款入門級、緊湊型開發板,采用i.MX93應用處理器。板配備板載IW612模塊,集成了恩智浦的三頻解決方案
    的頭像 發表于 11-17 09:45 ?1368次閱讀
    簡單認識NXP FRDM <b class='flag-5'>i.MX</b> 93<b class='flag-5'>開發板</b>

    【項目實戰】基于i.MX8M Plus的人工智能小車(AGV導航、視覺避障、自動跟隨、顏色識別、防跌落)有教程代碼

    今天給大家分享一款人工智能AGV自主導航小車,該款小車主要是基于NXPi.MX8MPlus主控。i.MX8MPlus應用處理器是NXP推出的一款致力于推動機器學習(ML),機器視覺,多媒體與工業邊緣
    的頭像 發表于 09-10 17:04 ?925次閱讀
    【項目實戰】基于<b class='flag-5'>i.MX8</b>M Plus的人工智能小車(AGV導航、視覺避障、自動跟隨、顏色識別、防跌落)有教程代碼

    在友晶DE1-SOC開發板實現Chirikov標準映射求解器

    該項目是在友晶DE1-SOC開發板實現Chirikov標準映射的求解器,并將其應用于圖像加密和解密的概念驗證。
    的頭像 發表于 07-07 15:22 ?1851次閱讀
    在友晶DE1-SOC<b class='flag-5'>開發板實現</b>Chirikov標準映射求解器

    618盛夏狂歡,米爾電子攜手恩智浦開啟年度技術盛宴!

    即日起-2025.06.30,米爾恩智浦多系列開發板限時折扣!米爾基于i.MX91、i.MX93、i.MX8MPlus、i.MX6UL/
    的頭像 發表于 06-13 08:03 ?905次閱讀
    618盛夏狂歡,米爾電子攜手恩智浦開啟年度技術盛宴!

    米爾NXP i.MX 91核心板發布,助力新一代入門級Linux應用開發

    93處理器實現引腳兼容。此外,這款處理器支持多種外設接口資源,2個千兆以太網接口、2個USB2.0接口、2個CAN-FD接口、8個UART接口,8
    發表于 05-30 11:20

    NXP i.MX 91開發板#支持快速創建基于Linux?的邊緣器件

    NXP Semiconductors FRDM i.MX 91開發板設計用于評估i.MX 91應用處理器,支持快速創建基于Linux ^?^ 的邊緣器件。
    的頭像 發表于 05-19 10:55 ?2884次閱讀
    NXP <b class='flag-5'>i.MX</b> 91<b class='flag-5'>開發板</b>#支持快速創建基于Linux?的邊緣器件

    「2025恩智浦創新技術峰會」飛凌嵌入式亮相上海首站

    ,展示其在低成本人工智能、工業物聯網等領域的創新成果。此次峰會,飛凌嵌入式帶來了基于恩智浦i.MX95xx、i.MX9352、i.MX8MPlusi.MX6ULL
    的頭像 發表于 05-15 13:38 ?1341次閱讀
    「2025恩智浦創新技術峰會」飛凌嵌入式亮相上海首站

    技術分享 | i.MX8MPlus Journal日志管理系統

    我司IAC-IMX8MP-Kit開發板搭載NXPi.MX8MPlusSOC,芯片采用4顆ArmCortex-A53核心以及1顆ArmCortex-M7核心。目前
    的頭像 發表于 05-08 17:23 ?691次閱讀
    技術分享 | <b class='flag-5'>i.MX8MPlus</b> Journal日志管理系統

    基于RV1126開發板實現人員檢測方案

    在RV1126開發板實現人員檢測:在圖像中找出人。 方案設計邏輯流程圖,方案代碼分為分為兩個業務流程,主體代碼負責抓取、合成圖像,算法代碼負責人員檢測功能。
    的頭像 發表于 04-18 17:14 ?220次閱讀
    基于RV1126<b class='flag-5'>開發板實現</b>人員檢測方案

    NXP基于i.MX 91應用處理器打造的FRDM i.MX 91開發板特性參數詳解

    FRDM i.MX 91開發板開發板基于i.MX 91應用處理器打造,專為加速工業與物聯網的開發
    的頭像 發表于 03-21 09:37 ?17.1w次閱讀
    NXP基于<b class='flag-5'>i.MX</b> 91應用處理器打造的FRDM <b class='flag-5'>i.MX</b> 91<b class='flag-5'>開發板</b>特性參數詳解

    如何實現i.MX8MPlus的rpmsg調試

    我司IAC-IMX8MP-Kit開發板搭載NXPi.MX8MPlusSOC,芯片采用4顆ArmCortex-A53核心以及1顆ArmCortex-M7核心。很多客戶需求在M核心運行實
    的頭像 發表于 03-20 17:26 ?1382次閱讀
    如何<b class='flag-5'>實現</b><b class='flag-5'>i.MX8MPlus</b>的rpmsg調試

    NXP i.MX 93 開發板#提供高效的機器學習 支持高能效的邊緣計算

    NXP Semiconductors FRDM-IMX93開發板i.MX 93應用處理器提供支持。NXP Semiconductors FRDM-IMX93板配備板載IW612模塊,支持NXP
    的頭像 發表于 03-10 15:30 ?3274次閱讀
    NXP <b class='flag-5'>i.MX</b> 93 <b class='flag-5'>開發板</b>#提供高效的機器學習 支持高能效的邊緣計算