1. 程式人生 > >嵌入式Linux下CAN匯流排配置

嵌入式Linux下CAN匯流排配置

題背景:本人開發板使用的是迅為iTOP4412精英版,額外購買的CAN/485模組,如下圖:

 

但是插上模組之後,在終端使用ifconfig can0命令發現開發板讀不到CAN裝置,顯示“ifconfig: SIOCGIFFLAGS: No such device”。如下圖:

 

在重新配置核心後,可以讀出CAN的裝置來了。如下圖

 

配置方法如下:

(1)     開啟官方搭建好環境的Ubuntu,進入核心目錄

(2)     在核心目錄下輸入命令“make menuconfig”進入核心配置介面

 

(3)     因為CAN匯流排是GPIO上SPI的複用,所以首先要配置SPI。

首先進入“Device Drivers”;

 

再進入“SPI Support”

 

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

 

取消選中“RC522 Module driver support”(防止佔用CAN埠)

 

(4)回到主介面,進入“Networking Support”

 

進入“CAN bus system support”

 

進入“Can Device Drivers”

 

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

 

(5)退出核心配置介面,詢問是否儲存對話方塊選擇“Yes”。

(6)使用“make zImage”編譯核心後,將核心燒寫進開發板即可。

注:如果在編譯核心的過程中出現“recipe for target 'arch/arm/mach-exynos/cpu-exynos4.o' failed”的問題,請移步連結:https://www.cnblogs.com/UnfriendlyARM/p/9749144.html