The driver must contain the following functions:
· XXX_Init INITIALIZE CAN CONTROLLER
· XXX_Open LOCK A CAN CONTROLLER DEVICE
· XXX_Close RELEASE A CAN CONTROLLER DEVICE
· XXX_IoCtl CONTROL THE CAN CONTROLLER DEVICE
· XXX_Read READ DATA FROM A CAN CONTROLLER DEVICE
· XXX_Write WRITE DATA TO A CAN CONTROLLER DEVICE
Where XXX is the exact chip identification.
Examples:
A device driver for an external SJA1000 chip, the init function is labeled “SJA1000_Init”
A device driver for the internal CAN controllers #0..#2 of the TriCore 1796, the init function is labeled “TC1796_Init”.
(Note: the three CAN controllers within the chip are addressed via the “device name”. Details are described later in this chapter).