Wednesday, September 15, 2010

Command-Line Conventions

command的參數傳遞可分為兩種,以 "-" 加上一個單一字母或 "--" 加上一字串。
例如:如下兩個參數對於command來說皆相同。
-h
--help

Monday, September 13, 2010

CAN-USB/2

Driver install (Linux kernel 2.6)
% cd socketcan-trunk-r1110/kernel/2.6
% make
% sudo make modules_install
% sudo /sbin/depmod -a

Check installation
% ls /sys/class/net/

There should be have an entry "can0".

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即可。