当前位置: 首页 > news >正文

中国最好的网站制作公司做旅游网站

中国最好的网站制作公司,做旅游网站,广西网站设计欣赏,WordPress图片无缝飞凌嵌入式OKMX8MP-C核心板有两路原生CAN总线,但用户在开发产品时可能需要用到更多的CAN,这该如何解决呢?今天小编将为大家介绍一种SPI转CAN的方法,供各位工程师小伙伴参考。 说明 OKMX8MP-C核心板有两路原生的SPI总线&#xff0c…

飞凌嵌入式OKMX8MP-C核心板有两路原生CAN总线,但用户在开发产品时可能需要用到更多的CAN,这该如何解决呢?今天小编将为大家介绍一种SPI转CAN的方法,供各位工程师小伙伴参考。

说明

  • OKMX8MP-C核心板有两路原生的SPI总线,目前是将SPI1的引脚用作了LED和UART3的功能,SPI2做成了正常的SPI2接口。此处以SPI2转CAN为例,移植SPI转CAN芯片;

  • SPI转CAN芯片型号为:MCP2518,这款芯片可转出CAN-FD,若只需要CAN功能,可参照该方式移植MCP2515或其他芯片;

  • 本次移植的MCP2518芯片驱动来源是i.MX8MQ的源码(处理器中默认移植MCP2518芯片)。

图片

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

添加:

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

vi OK8MQ-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);

03 修改上一级目录spi/下的Makefile和Kconfig

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

添加 

obj-y     +=  mcp25xxfd/

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

添加:

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

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

添加:

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

06 找一个引脚用作芯片的中断引脚

此处是将GPIO4_IO21用作了中断引脚。

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

添加:​​​​​​​

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

从:​​​​​​​

&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开发板。

08 开发板验证

将MCP2518芯片接到SPI2的接口上,启动OKMX8MP-C开发板,启动后使用ifconfig -a命令查看,即可看到多出了1个CAN节点。节点生成后,即可按照用户使用手册4.18 FlexCAN测试】章节进行测试,验证功能是否正常。

用户使用手册下载链接:

https://pan.baidu.com/s/1TY4R5BrAnjAuTTJj9fNGWw 

提取码: 7qc8

http://www.yayakq.cn/news/446869/

相关文章:

  • 网站建设服务市场网站建设项目管理绩效情况分析
  • 杭州网站设计公司电话线上报名小程序怎么做
  • 襄阳手机网站建设公司公司的建设网站公司
  • 在建设局网站上怎么样总监解锁免费ppt模板免费网站
  • 超便宜的网站域名抢注哪个平台好
  • 沈阳网站seo排名优化网站未及时续费
  • 长沙seo推广百度seo优化软件
  • 贴心的广州网站建设园林景观设计公司
  • 福州火车站最新消息数字营销公司排名
  • 公司做的网站版权归谁所有建设简易电子商务网站流程图
  • 北京网站网站建设wordpress新增管理员
  • 查询网138网站域名沈阳男科医院哪家有名
  • 强比网站建设今天新闻联播
  • seo网站介绍郴州网站建设的公司
  • 网站制作前的图片路径物流网站建设目标
  • 付网站建设费用 会计科目专业的集团网站开发
  • 中元建设网站简历表格 个人简历电子版
  • 做网站用什么技术网站备案号在哪儿查询
  • 怎样把一个网站建设的更好西宁休闲娱乐场所
  • 企业网站建立哪定制版网站建设详细报价
  • 罗湖附近公司做网站建设茶叶网站建设费用明细
  • 交友类网站功能建设思路wordpress与商城
  • 网站做三方登陆需要注册公司不企业团建公司
  • 本地化网站建设40平小商铺装修
  • 表白视频制作网站响应式网站缺点
  • 安庆网站建设aqwzjswordpress主题lightsns
  • 广州企业网站马鞍山网站建设设计
  • 柳州做网站哪家好网页制作公司 软件
  • 相亲网站拉人做基金个人秀网站
  • 网站内容管理平台潍坊网站托管