Atmel sam9x25的CAN1口调试

本文介绍了Atmel sam9x25芯片的CAN1口在Linux下的使用方法。默认情况下,CAN1未在内核中注册,需要通过修改`arch/arm/mach-at91/board-sam9x5ek.c`文件启用。CAN1的中断号为30,而CAN0为29。要使can0设备在`ifconfig`中可见,需编辑`/etc/network/interfaces`文件并重启系统。调试CAN设备时,推荐使用`iproute2`和`canutils`工具进行通信验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查阅sam9x25的Datasheet了解到: sam9x25有两个CAN口, can0和DEBUG串口是复用的, can1是一个单独的串口;本文只讲CAN1的使用。


默认can1设备是没有在linux内核中注册的;所以需要修改kernel中一些代码; 只需要将arch/arm/mach-at91/board-sam9x5ek.c 文件中can1注册的代码放开就可以了!


-#if 0
+#if 1
 	if (cpu_is_at91sam9x25() || cpu_is_at91sam9x35())
 		/*
 		 * open jumper/solderdrop JP11 to activate CAN0

重新编译kernel后,输入ifconfig -a的命令就可以看到can设备, 当只有一个can口默认标识就是can0, 实际硬件使用的是can1口。


我这里是两个can口都有了;可以根据can口Interrupt的编号来区分can0和can1, can1的中断号为:30, can0的中断号:29。


can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          UP RUNNING NOARP  MTU:16  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值