Forum: Mikrocontroller und Digitale Elektronik CAN und BananaPi / A20


von Karl R. (Gast)


Lesenswert?

Hi,
auf dem 26 poligen Pin Header vom bPi liegen ja auf Pin 16/18 
CAN_TX/CAN_RX.

Mich würde mal interessieren wie aufwändig es ist das CAN Interface von 
der Software Seite aus in Betrieb zu nehmen - also dass unter dev ein 
nutzbares CAN Gerät auftaucht.

Gibt es so was wie ein defakto Standard für die CAN Register?

von Noch einer (Gast)


Lesenswert?

Da scheint sich was geändert zu haben! Gestern behauptete jemand, es 
würde inzwischen laufen.

http://forum.lemaker.org/209-4-1-4.html

von Steffen R. (steffen_rose)


Lesenswert?


von Heinz-Jürgen O. (Firma: emtas) (hjo)


Lesenswert?

can4linux from sourceforge works.
The sources are not integrated into the kernel sources (drivers/char/..)
You have to store it somewhere and you have to have the kernel sources 
to compile against it.

on the mentioned lemaker forum
http://forum.lemaker.org/209-4-1-4.html
user paja gives exact instructions how to perform the process. Thanks to 
paja.

von Heinz-Jürgen O. (Firma: emtas) (hjo)


Lesenswert?

Karl R. schrieb:
> Gibt es so was wie ein defakto Standard für die CAN Register?

Leider nicht. Das macht auch die Treiberentwicklung für verschiedene 
Prozessoren bzw. CAN Controller immer wieder kompliziert.
Der verwendete CAN im A20 ist aber sehr stark an den NXP SJA1000 
angelehnt.

von Gerd B. (bertr2d2) Benutzerseite


Lesenswert?

Mittlerweile existiert auch ein SocketCAN Modul:

https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/drivers/net/can/sun4i_can.c

der Bestandteil von Linux 4.4 werden wird.

Voraussetzung: aktueller Kernel 4.x

von Karl R. (Gast)


Lesenswert?

Gerhard,
vielen Dank für das SocketCAN Modul! bye bye can4linux..

von Gerd B. (bertr2d2) Benutzerseite


Lesenswert?

Hallo Karl,

Karl R. schrieb:
> Gerhard,
> vielen Dank für das SocketCAN Modul! bye bye can4linux..

bei SocketCAN ist auch nicht alles Gold was glänzt - der Protokoll 
Overhead ist nicht unerheblich. Der can4linux Treiber von Heinz-Jürgen 
Oertel dürfte aufgrund des Aufbaus geringere Latenzen haben.


Gruß

Gerd

von Karl R (Gast)


Lesenswert?

Moin!

So,
der neue Kernel 4.4.0 wurde nach Rezepten von
https://sunxi.org/Mainline_Kernel_Howto
gebacken.

Ein 'modprobe sun4i_can' scheint aber nicht zu reichen.

Es scheint eine kleine Priese 'device tree' im offiziellen Kernel zu 
fehlen.

Oder seh ich mal wieder den Wald vor lauter Bäumen nicht?

von Gerd B. (bertr2d2) Benutzerseite


Lesenswert?


von Arne123 (Gast)


Angehängte Dateien:

Lesenswert?

Ich brauchte ein paar versuche um das mit aktuellem mainline kernel 
(4.10.0-rc1) zum laufen zu bekommen

Im Anhang die Ergänzungen im Device Tree, die bei mir das CAN Modul zum 
sprechen gebracht haben.

Im dmesg erscheint dann das:
sun4i_can 1c2bc00.can: device registered (base=f08e9c00, irq=50)

Gruß
   Arne

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.