Thursday, September 9, 2010

Socket CAN

Socket CAN uses the Berkeley socket API, the Linux  network stack and implements the CAN device drivers as network interface.
一般皆使用Character-device方式實作CAN driver.
若以Character-device實作CAN device driver,其限制:只有一個Process可以使用;更換不同的CAN Controller時,可能需要動到App。
以Socket CAN的方式操作,同時有多個Process可以存取CAN device,且可以同時Listening相同ID的訊息。以Character-device的方式並非無法達成,只是成品看起來會很醜,而且不好用。
對於Application來說,透過一個已定義好的Abstraction layer存取device。和硬體相關的介面也有定義,所以只要實作這些API即可。

No comments: