|
嵌入式Linux的CAN总线配置-基于iTOP-4412开发板【转载】
[复制链接]
问题背景:本人开发板使用的是迅为iTOP4412精英版,额外购买的CAN/485模块,如下图:
(, 下载次数: 0)
但是插上模块之后,在终端使用ifconfig can0命令发现开发板读不到CAN设备,显示“ifconfig: SIOCGIFFLAGS: No such device”。如下图:
(, 下载次数: 0)
在重新配置内核后,可以读出CAN的设备来了。如下图
(, 下载次数: 0)
配置方法如下:
(1)打开官方搭建好环境的Ubuntu,进入内核目录
(2)在内核目录下输入命令“make menuconfig”进入内核配置界面
(, 下载次数: 0)
(3)因为CAN总线是GPIO上SPI的复用,所以首先要配置SPI。
首先进入“Device Drivers”;
(, 下载次数: 0)
再进入“SPI Support”
(, 下载次数: 0)
选中“GPIO-based Bitbanging SPI Master”和“Samsung S3C64XX series type SPI”两项
(, 下载次数: 0)
取消选中“RC522 Module driver support”这一项(防止占用CAN端口)
(, 下载次数: 0)
(4)配置CAN
回到主界面,进入“Networking Support”
(, 下载次数: 0)
进入“CAN bus system support”
(, 下载次数: 0)
进入“Can Device Drivers”
(, 下载次数: 0)
选中“Platform CAN drivers with Netlink support”,“CAN bit-timing calculation”,“Microchip MCP251x SPI CAN controllers”三项。
(, 下载次数: 0)
(5)退出内核配置界面,询问是否保存对话框选择“Yes”。
(6)使用“make zImage”编译内核后,将内核烧写进开发板即可。
|
|