【轉(zhuǎn)載】嵌入式Linux的CAN總線配置 問(wèn)題背景:開(kāi)發(fā)板使用的是迅為iTOP4412精英版,額外購(gòu)買(mǎi)的CAN/485模塊,如下圖:
但是插上模塊之后,在終端使用ifconfig can0命令發(fā)現(xiàn)開(kāi)發(fā)板讀不到CAN設(shè)備,顯示“ifconfig: SIOCGIFFLAGS: No such device”。如下圖:
在重新配置內(nèi)核后,可以讀出CAN的設(shè)備來(lái)了。如下圖
配置方法如下: (1)打開(kāi)官方搭建好環(huán)境的Ubuntu,進(jìn)入內(nèi)核目錄 (2)在內(nèi)核目錄下輸入命令“make menuconfig”進(jìn)入內(nèi)核配置界面
(3)因?yàn)镃AN總線是GPIO上SPI的復(fù)用,所以首先要配置SPI。 首先進(jìn)入“Device Drivers”;
再進(jìn)入“SPI Support”
選中“GPIO-based Bitbanging SPI Master”和“Samsung S3C64XX series type SPI”兩項(xiàng)
取消選中“RC522 Module driver support”這一項(xiàng)(防止占用CAN端口)
(4)配置CAN 回到主界面,進(jìn)入“Networking Support”
進(jìn)入“CAN bus system support”
進(jìn)入“Can Device Drivers”
選中“Platform CAN drivers with Netlink support”,“CAN bit-timing calculation”,“Microchip MCP251x SPI CAN controllers”三項(xiàng)。
(5)退出內(nèi)核配置界面,詢(xún)問(wèn)是否保存對(duì)話框選擇“Yes”。 (6)使用“make zImage”編譯內(nèi)核后,將內(nèi)核燒寫(xiě)進(jìn)開(kāi)發(fā)板即可。
|