大家好
我使用的是am335x-evm-sdk-src-06.00.00.00这个SDK(内核是3.2.0),
在AM335x处理器的网络驱动中,文件driver/net/ethernet/ti/cpsw.c,这个文件中使用到了二个定时器,用于当作interrupt pacing,它所用的定时器编号分别是5和6 ,有如下的宏定义:
#define CPSW_RX_TIMER_REQ 5
#define CPSW_TX_TIMER_REQ 6
由于timer5和timer6在硬件设计时候已经被用来产生PWM信号了,导致和网络驱动中用的timer冲突。
我尝试改成4和7发现,网口是不通的。无法触发cpsw对应的93和95号中断。
请问能否将这两个timer改成4和7呢?或者有没有其它的解决方法呢?
yongqing wang:
这两个用来驱动网络的定时器最好用连续的两个定时器,也有网友遇到你这样的问题:e2echina.ti.com/…/82443
wenqi weng:
回复 yongqing wang:
谢谢yongqing wang的回复。你提的这个帖子我有看过了,我和他的问题是一样的:关键是硬件已经将timer5和timer6占用,现在想先看看有没有不改硬件的方法,或者确认下4和7不能使用的原因,因为从手册上看timer4~7是没有区别的,不知道是不是还需要修改其它地方。
这个帖子里面也没有看到这位朋友的最终解决方法呀。