devcan-flexcan
CAN driver for FlexCAN Controller
Syntax:
devcan-flexcan [options] ["can#"[,sysirq[,sysirq[,sysirq]]]]
can# is can0|1|2|3
sysirq is CAN system interrupt number, up to 3 IRQ numbers
[-a]
[-b string]
[-B presdiv,propseg,pseg1,pseg2,rjw]
[-c number]
[-d string]
[-D presdiv,propseg,pseg1,pseg2,rjw]
[-f]
[-h]
[-i midrx[,midtx]]
[-I]
[-k clksrc[,freq]]
[-l]
[-m number]
[-M]
[-n number]
[-o]
[-p port]
[-q number]
[-r number[,number[,number]]
[-R]
[-s]
[-S]
[-t]
[-u number]
[-v]
[-w]
[-x]
[-z]
Runs on:
QNX OS
Options:
These are the options available for this driver.
- can#
- The CAN number to use, which can be
can0
,can1
,can2
,can3
. - sysirq
- The CAN system interrupt number, up to 3 IRQ numbers
- -a
- Disable the AUTOBUS. By default, the AUTOBUS is enabled.
- -b bitrate
- Use a predefined bitrate. The valid values you can specify are
50K, 125K, 250K, 1Mor 500K.
The default is
50K
. - -B presdiv,propseg,pseg1,pseg2,rjw
- Manually define the bitrate rate as a hexadecimal value. For each value, these conditions
apply:
- presdiv, specifies the bitrate prescaler.
- propseg specifies the propagation segment time.
- pseg1 specifies the bitrate time segment 1 must be less than or equal to 0x7.
- pseg2 specifies the bitrate time segment 2 must be less than or equal to 0x7 but can't be zero (0x0).
- rjw specifies the sync jump rate must be less than or equal to 0x3.
- -c
- Set and enable TDC offset (available for CAN-FD drivers)
- -d
- Predefined data bitrate for CAN-FD (50K, 125K, 250K, 500K, 1M, 5M, default 50K)
- -D presdiv,propseg,pseg1,pseg2,rjw
- Manually define the bitrate rate for CAN-FD as a hexadecimal value. For each value, these conditions
apply:
- presdiv, specifies the bitrate prescaler.
- propseg specifies the propagation segment time.
- pseg1 specifies the bitrate time segment 1 must be less than or equal to 0x7.
- pseg2 specifies the bitrate time segment 2 must be less than or equal to 0x7 but can't be zero (0x0).
- rjw specifies the sync jump rate must be less than or equal to 0x3.
- -f
- CAN-FD mode
- -h
- Single message buffer[14MB], default dual buffer[28MB]
- -i midrx[,midtx]
- The starting receive and transmit message ID. The starting default ID is 0x100C0000.
- -I
- Enable IO privity
- -k clksrc[,freq]
- Set clock source (ref_clk|ext_clk) and frequency. The default is ref_clk,80000000
- -l
- Listen only Mode
- -m timestamp
- Set the initial local timestamp as a hexadecimal number. The initial timestamp is 0x00000008.
- -M
- Disable MECR
- -n number
- Number of each device mailbox message buffer (default 128 for CAN, 28 for CAN-FD).
- -o
- Enable CAN FD ISO
- -p port
- Base address of Flexcan
- -q number
- Client wait queue length for each mailbox
- -r number[,number[,number]]
- IRQ number, up to 3 IRQ numbers
- -R
- Enable raw mode, send and receive both standard and extended messages (doesn't require the -x option).
- -s
- Enable triple bitrate sample (default single sample).
- -S
- Message data endian swap
- -t
- Enable the self-test loopback mode. By default, the self-test loopback mode is disabled.
- -u can_unit_num
- CAN unit number. The default is 1.
- -v
- Increase driver verbosity
- -w
- The lowest buffer is transmitted first.
- -x
- Enable extended 29-bit CAN message ID. The default is 11-bit MID.
- -z
- Enable the timer synchronization. By default, it's disabled.
Examples:
- S32g in loopback mode:
devcan-flexcan -t -I -S can0,0x45,0x47,0x48
- i.MX8 in loopback mode:
devcan-flexcan -t -h can0
- i.MX8MP using 80MHz ref clock:
devcan-flexcan -h -M -b250K -k ref_clk,80000000 -u1 can0
Page updated: