纵有疾风起
人生不言弃

嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板

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

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图

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

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图1

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

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图2

配置方法如下:

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

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

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图3

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

首先进入“Device Drivers”;

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图4

再进入“SPI Support”

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图5

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

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图6

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

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图7

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

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图8

进入“CAN bus system support”

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图9

进入“Can Device Drivers”

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图10 

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

 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板插图11

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

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

 

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

文章转载于:https://www.cnblogs.com/UnfriendlyARM/p/9751353.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 嵌入式Linux下CAN总线配置——基于迅为iTOP-4412开发板
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录