Это старая версия документа!
Драйвер CAN собирается как модуль ядра .ko с помощью buildroot-external. Исходники взяты из ядра 4.19, которое предоставляется Rockchip. Модуль ядра подгружается в /etc/init.d/S49CANinit.
Терминальные резисторы выставлены в dts:
... leds { /*CAN A config pins*/ CAN_A_therm { gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>; default-state = "on"; //on - enable 120 Ohm resistor }; }; ... /*CAN B config pins*/ CAN_B_therm { gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>; default-state = "on"; //on - enable 120 Ohm resistor };
Пример настройки интерфейса и проверки в режиме loopback CAN0↔CAN1:
#configure ip link set dev can0 down ip link set dev can1 down ip link set can0 up type can bitrate 1000000 dbitrate 1000000 fd on ip link set can1 up type can bitrate 1000000 dbitrate 1000000 fd on #test candump -T 1000 can0 > /tmp/1.txt& usleep 100000 cansend can1 500 sleep 2 cat /tmp/1.txt