|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
全志A40i或者T3的CPU中无CAN控制器,而在实际使用过程中,会用到CAN,通常会采用SPI转CAN的方式。4 R$ X- r: {0 p- z1 ^
本文基于飞凌嵌入式OKA40i-C开发板进行操作,其他品牌开发板可视情况参考。
- d- o K2 S) t在OKA40i-C底板上,有一路SPI,但由于电压与mcp2515的电压不匹配,所以会采用串口2的这组复用为SPI外接mcp2515模块。
$ Q3 W( ~4 s$ S根据CPU手册第三章描述,可以将PI17-19复用为SPI1,采用PH08作为中断。
2 V% @; E3 h s# h! _' {1 _![]() 编辑) G$ N- p! ?' ^# C |1 u
A40i/T3采用sys_config.fex或者dts 配置引脚复用功能,下面我们采用dts 进行配置。: v; E6 J. W: E' ?
01-打开SPI1修改sys_config.fex,将uart2的配置去掉,打开SPI1的配置。9 ?7 b" H. p- V; ]
![]() 编辑; V2 G3 J1 i4 u* W
同时将PH08注释掉:
( U, M% f4 k" Z0 z![]() 编辑
' n; g7 {: R7 Z1 |同时修改设备树:$ H6 m3 M2 U# g6 M$ q2 J
![]() 编辑8 I; q2 b5 r: r" i0 X) d) O3 c- d2 q5 M
02-修改defconfig采用通过其他平台验证,且适配设备树的驱动mcp251x.c,
. n: s* k+ {1 V' k. L! ~" N修改defconfig 配置文件:9 M0 z; Q( y: E( e! p
Networking support ---> CAN bus subsystem support --->CAN Device Drivers --->Microchip MCP251x SPI CAN controllers选中。
; ~3 V( [6 {/ X9 Q同时选中SPI配置,默认已支持,此处不再说明。
' F, Y4 x, s! _$ c03-配置iproute文件系统:% \/ d7 `- L' T+ P( A( i
buildroot-201611/configs/sun8iw11p1_hf_defconfig5 Z+ V: O) M4 g& K* r9 {' P
需要配置上BR2_PACKAGE_IPROUTE2=y.2 ]3 f& v: b' i4 g8 B1 k- a
重新编译,并打包镜像,烧录。
) v7 d( f, p0 O7 Y- K7 m04-测试can0节点启动之后,ifconfig 查看出现can0节点。使用以下命令进行测试:
% ], }6 P, I" k$ tifconfig can0 downip link set can0 up type can bitrate 125000 triple-sampling onifconfig can0 upcansend can0 123#12345678candump can0如果有必要请联系飞凌技术服务人员,提供patch文件。8 \( `) p% p; w
注意事项在设备树中,用作中断时,因A40i/T3只能使用PH组的引脚复用为中断,在设备树中设置中断时的如下:
, e# W9 V2 v& \, d4 t* @# J& h8 Xinterrupt-parent = <&pio>;interrupts = <8 0>;另外,需要注意驱动中的中断触发方式。
. a, U+ M% q- V0 e0 c! o q9 O W, Z2 k9 g; b2 E! f
|
|