linux内核 can总线,嵌入式Linux下CAN总线配置

问题背景:本人开发板使用的是迅为iTOP4412精英版,额外购买的CAN/485模块,如下图:

750fcaca52ce9d2388a2eecc8b8b1f68.png

但是插上模块之后,在终端使用ifconfig can0命令发现开发板读不到CAN设备,显示“ifconfig: SIOCGIFFLAGS: No such device”。如下图:

5b8bb309a652a8e318c386da440afb27.png

在重新配置内核后,可以读出CAN的设备来了。如下图

963bb493b26cd1edc9437f8c50fa6f73.png

配置方法如下:

(1)打开官方搭建好环境的Ubuntu,进入内核目录

(2)在内核目录下输入命令“make menuconfig”进入内核配置界面

a042175e25289f13676ae3670c4388b5.png

(3)因为CAN总线是GPIO上SPI的复用,所以首先要配置SPI。

首先进入“Device Drivers”;

87df47becbcc53f7fa2d02f0e00160e0.png

再进入“SPI Support”

24ffb7242a16c8d0c3463df6cd1419cd.png

选中“GPIO-based Bitbanging SPI Master”和“Samsung S3C64XX series type SPI”

424c39bcabe25252bc4a5925e1294722.png

取消选中“RC522 Module driver support”(防止占用CAN端口)

cf8831d61efa688334bff55d6136d604.png

(4)回到主界面,进入“Networking Support”

a08ed648359868df2ba6cfac8f729ae9.png

进入“CAN bus system support”

f4f70483f0cf43d911a22e2ac17993d3.png

进入“Can Device Drivers”

07c0b9e19b37d6d6295127d2ba6a13bc.png

选中“Platform CAN drivers with Netlink support”,“CAN bit-timing calculation”,“Microchip MCP251x SPI CAN controllers”三项。

b76b6472719090f13a4899b528c3f632.png

(5)退出内核配置界面,询问是否保存对话框选择“Yes”。

(6)使用“make zImage”编译内核后,将内核烧写进开发板即可。

注:如果在编译内核的过程中出现“recipe for target 'arch/arm/mach-exynos/cpu-exynos4.o' failed”的问题,请移步链接:https://www.cnblogs.com/UnfriendlyARM/p/9749144.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值