基于zynq的CAN接口移植

本文介绍了如何在基于Zynq的Linux系统中移植和测试CAN接口。首先,硬件设计中使用了SN65HVD23x物理芯片连接CAN总线。然后,在内核中添加了Xilinx的CAN驱动模块,并修改设备树文件以启用CAN0和CAN1。最后,通过cantest.c程序进行测试,确保CAN接口正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主机:Ubuntu 16.04

目标板:zynq + Linux内核4.4

一 硬件设计

    采用zynq的CAN接口,外面用物理芯片SN65HVD23x,挂载到CAN总线。开始感觉不用物理芯片也可以向串口一样进行回环测试,发现是不可能,查看CAN的协议可以发现原因。

    vivado生成相关文件,不在累述。

二 向内核中添加xilinx的can的驱动模块
[*] Networking support --->
    <*> CAN bus subsystem support --->
            CAN Device Drivers --->
                <*> Xilinx CAN
三 修改设备树文件
zynq-7000.dtsi文件中,已经包含CAN的设备树文件,只是status设置为了disabled
    can0: can@e0008000 {
        compatible = "xlnx,zynq-can-1.0";
        status = "disabled";
        clocks = <&clkc 19>, <&clkc 36>;
        clock-names = "can_clk", "pclk";
        reg = <0xe0008000 0x1000>;
        interrupts = <0 28 4>;
        int

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值