- 积分
- 295
贡献1408
飞刀561 FD
注册时间2015-12-21
在线时间50 小时

扫一扫,手机访问本帖 
|
全志A40i或者T3的CPU中无CAN控制器,而在实际使用过程中,会用到CAN,通常会采用SPI转CAN的方式。
0 v, f/ Z+ y( s' g" b, ^, [' i) q: a- D* `; R @
在OKA40i-C底板上,有一路SPI,但由于电压与mcp2515的电压不匹配,所以会采用串口2的这组复用为SPI外接mcp2515模块。 ?5 h* ?5 J( F) N* Z5 L
根据CPU手册第三章描述,可以将PI17-19复用为SPI1,采用PH08作为中断。
0 {% q5 a7 e+ b3 F8 p4 C 5 E( @+ ~1 Q+ X, e
A40i/T3采用sys_config.fex或者dts 配置引脚复用功能,下面我们采用dts 进行配置。 / y, i1 ^- N: `
% u9 S1 e. p/ O) D8 Q6 M2 x6 S
01-打开SPI1 修改sys_config.fex,将uart2的配置去掉,打开SPI1的配置。 % H* u& D8 `. g( y+ Q8 U
' \8 t6 d' z. m, {& A; i$ Z
4 X# S' E7 q" `' b( |1 ? 同时将PH08注释掉: 6 s0 S' [4 B& d9 \* Z% D/ h: Z
0 v4 d A7 T* X& r 同时修改设备树: ! Q- l( Y0 T4 ~8 W8 K' O6 Y" S
8 L) {% `* _, b+ a+ e
# }- A! `; L0 Z2 [2 w! d. s
x. H& ?5 s" C" k$ j7 ^
02-修改defconfig 采用通过其他平台验证,且适配设备树的驱动mcp251x.c,
! M; f2 r4 ^) ^$ w1 |! G$ x 修改defconfig 配置文件:
1 j( @' N9 ^: |) x: T) l0 L* UNetworking support ---> CAN bus subsystem support --->CAN Device Drivers --->Microchip MCP251x SPI CAN controllers选中。 , y/ G% A' U! Y" q. o J3 L
同时选中SPI配置,默认已支持,此处不再说明。
: k1 U* ^: D J4 ~5 O3 b3 _6 z0 o" V- H. s% c
03-配置iproute 文件系统:
4 x2 b' V- e# C7 [7 B' p8 k. |7 Cbuildroot-201611/configs/sun8iw11p1_hf_defconfig
. }" v% m6 r; L7 b需要配置上BR2_PACKAGE_IPROUTE2=y.
/ D6 |5 H3 D$ n0 \# M" t8 \# S重新编译,并打包镜像,烧录。
; y$ V, ]& V P# {% l4 \! A! C4 L
$ _8 K4 _7 W7 q) w9 K4 H% p. x04-测试can0节点 启动之后,ifconfig 查看出现can0节点。使用以下命令进行测试: / N" v, S: @- ] q
ifconfig can0 down ; f4 s, t7 L# v* R; D$ T' `
ip link set can0 up type can bitrate 125000 triple-sampling on
+ s2 P( ^( l% k) r1 D4 P ifconfig can0 up
' W; y- k- v% q cansend can0 123#12345678
- } B- j; U! J6 m9 _* g1 C candump can0 3 Z Y% d4 `9 Q5 K( m
如果有必要请联系飞凌技术服务人员,提供patch文件。
$ e8 C; y' T1 T0 S) i8 m+ r7 n
7 v9 {1 t1 i: R9 \( i; s+ N 注意事项 在设备树中,用作中断时,因A40i/T3只能使用PH组的引脚复用为中断,在设备树中设置中断时的如下: 3 @, q1 h$ {, `- a) p
interrupt-parent = <&pio>; - j9 S0 r* ^/ @$ v1 D1 d2 G
interrupts = <8 0>;
! Q" |3 H0 y h3 {0 z另外,需要注意驱动中的中断触发方式。
! r5 n Y: @3 l# E: U& q2 B" K5 k/ s5 C8 e6 d8 {/ Q
) @/ @9 L& X1 r
相关产品:
* i+ G! ]2 \6 W; @ L6 w) h8 N- H2 \
# f3 ^" z) E/ l |
|