⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 can4linux-3.5.3.gz can4 linux
💻
字号:
## $Id: Readme,v 1.8 2008/11/23 12:06:37 oe Exp $#Where does it came from?=======================This driver is derived from the LLP projects can4linux driverwhich was started by Clausi Schr鰐er and later maintained by Heinz-J黵gen Oertelthe most of the ddl stuff is removedas is the support for supporting different chip-sets and i/o models.some useful macros are anyway used in this versionlike the Debug functions ( DBGin();DBGout();)or function parameters which do differ in different Linux kernel versions.Where is the documentation?===========================man/ - sub directoryAre examples available?=======================Look in your can4linux distribution for the can4linux-examplesdirectory.It is not possible to use the driver and application programs (fromthe can4linux-examples directory) compiled for different CPUs,e.g for 32 bit and 64 bit CPUs.Please compile your application and driver for always for the same CPUe.g all for x86_64. Selcet the correct cross compiler and library locations if youare cross compiling for at919263, mcf5282, BlackFin or wahtever.Currently you have to change the Make file in can4linux-examplesAdopting other boards, CAN controllers======================================the IO Model - is compiled in (that means it must be selected at compile time)CAN Chip functionsare coded in the files <CHIP>funcs.c, e.g. sja1000funcs.c,at9263funcs.cbf537funcs.ci82527funcs.c,mcf5282funcs.csja1000func.c,mcp2515funs.cBasic hardware access functions are defined in the chip related c files, like in sja1000funcs.c,the register definitions in header files like sja1000.hall I/O depencies are in the Macros    CANout(bd,adr,v)    CANin(bd,adr)    CANset(bd,adr,m)    CANreset(bd,adr,m)    CANtest(bd,adr,m)defined in can_defs.hBoard specific files, used if the CAN controller,e.g. SJA1000 is used on boards made by different manufacturers,are named <manuf>_something.c :cc_pci.c	- Contemporary Controls PCI boardcpc_104.c	- EMS W黱sche PC104ems_pci.c	- EMS W黱sche PCI boardkvaser_pci.c	- Kvaser 4 channel CAN PCIPlease have a look at the Makefile for correct namings.Does it work with PCI-Express?==============================We have tested the CPC-PCIe - an PCI Express  board for up to twoCAN channels based on the CPC-PCI. It works without any softwarechanges.  The board has its own PCI-Express to PCI Bridge, thats it.Behind this bridge, the standard PCI bus controller as on theCPC-PCI is used.lspci shows01:00.0 PCI bridge: Texas Instruments XIO2000(A)/XIO2200(A) PCI Express-to-PCI Bridge (rev 03)02:00.0 Network controller: Siemens Nixdorf AG Eicon Diva 2.02 compatible passive ISDN card (rev 02)lspci -v01:00.0 PCI bridge: Texas Instruments XIO2000(A)/XIO2200(A) PCI Express-to-PCI Bridge (rev 03) (prog-if 00 [Normal decode])        Flags: bus master, fast devsel, latency 0        Bus: primary=01, secondary=02, subordinate=02, sec-latency=0        Memory behind bridge: 90200000-902fffff        Capabilities: [50] Power Management version 2        Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/4 Enable-        Capabilities: [80] Subsystem: Gammagraphx, Inc. Unknown device 0000        Capabilities: [90] Express PCI/PCI-X Bridge IRQ 002:00.0 Network controller: Siemens Nixdorf AG Eicon Diva 2.02 compatible passive ISDN card (rev 02)        Flags: bus master, medium devsel, latency 0, IRQ 11        Memory at 90201000 (32-bit, non-prefetchable) [size=4K]        Memory at 90200000 (32-bit, non-prefetchable) [size=4K]        Capabilities: [40] Power Management version 2Unfortunately, the CAN interrupt is shared with some others(in our PC used for the test)cat /proc/interrupts           CPU0 11:      17856          XT-PIC  uhci_hcd:usb4, uhci_hcd:usb5, ohci1394, ehci_hcd:usb8, Can, Can/var/log/messagesJan  8 08:01:36 ursula kernel: PCI-PeliCAN-memory mapped CAN Driver 3.4.6_CPC_PCI (c) Jan  8 2008Jan  8 08:01:36 ursula kernel:  H.J. Oertel (oe@port.de)Jan  8 08:01:36 ursula kernel:   found CPC-PCI:Jan  8 08:01:36 ursula kernel:                : 0000:02:00.0Jan  8 08:01:36 ursula kernel:  CAN: 1. at pos 1Jan  8 08:01:36 ursula kernel:  CAN: 2. at pos 2We had problems on another PC. After installing the CPC-PCIe, theX server didn't find the additional graphic board. But this seemsto be a problem of the X-server configuration.Reference syslog created from can_sendloading with insmod Jun  9 10:38:43 uschi kernel: PCI-PeliCAN-memory mapped CAN Driver 3.5.2_CPC_PCI (c) Jun  9 2008 10:37:54Jun  9 10:38:43 uschi kernel:  H.J. Oertel (oe@port.de)Jun  9 10:38:43 uschi kernel:  MAX_CHANNELS 4Jun  9 10:38:43 uschi kernel:  CAN_MAX_OPEN 4Jun  9 10:38:43 uschi kernel:   found CPC-PCI:Jun  9 10:38:43 uschi kernel:                : 0000:00:0c.0Jun  9 10:38:43 uschi kernel:  CAN: 1. at pos 1Jun  9 10:38:43 uschi kernel:  CAN: 2. at pos 2The driver checks at this stage some registers. If the values are as expected, it says "CAN: 1. at pos x".Typically that means the base address is correct.$ sudo ./debug 7/proc/sys/Can/AccCode:-1        -1      -1      -1/proc/sys/Can/AccMask:-1        -1      -1      -1/proc/sys/Can/Base:-114539520   -114522624      0       0/proc/sys/Can/Baud:125  125     125     125/proc/sys/Can/Chipset:SJA1000/proc/sys/Can/IOModel:mmmm/proc/sys/Can/IRQ:209   209     0       0/proc/sys/Can/Outc:218  218     218     218/proc/sys/Can/Overrun:0 0       0       0/proc/sys/Can/RxErr:0   0       0       0/proc/sys/Can/Timeout:100       100     100     100/proc/sys/Can/TxErr:0   0       0       0/proc/sys/Can/dbgMask:7/proc/sys/Can/version:3.5.2_CPC_PCIcan_sendJun  9 10:40:38 uschi kernel: Can: - :in  can_openJun  9 10:40:38 uschi kernel: Can: - :in  CAN_VendorInitJun  9 10:40:38 uschi kernel: Can: - :in  Can_RequestIrqJun  9 10:40:38 uschi kernel: Can: - :Requested IRQ: 209 @ 0xf929445eJun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :in  Can_TxFifoInitJun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :in  Can_RxFifoInitJun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :in  CAN_ChipResetJun  9 10:40:38 uschi kernel: Can: - : INT 0x0Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :status=0x3c mode=0x1Jun  9 10:40:38 uschi kernel: Can: - :[1] CAN_mode 0x1Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :[1] CAN_mode 0x9Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :[1] CAN_mode 0x9Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :in  CAN_SetTimingJun  9 10:40:38 uschi kernel: Can: - :baud[1]=125Jun  9 10:40:38 uschi kernel: Can: - :tim0=0x3 tim1=0x1cJun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :[1] CAN_mode 0x9Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :in  CAN_SetMaskJun  9 10:40:38 uschi kernel: Can: - :[1] acc=0xffffffff mask=0xffffffffJun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :[1] CAN_mode 0x9Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :in  CAN_StartChipJun  9 10:40:38 uschi kernel: Can: - :[1] CAN_mode 0x9Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :start mode=0x8Jun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel:  MODE 0x8, STAT 0x3c, IRQE 0xf, INT 0x0Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :in  can_writeJun  9 10:40:38 uschi kernel: Can: - : -- write 1 msgJun  9 10:40:38 uschi kernel: Can: - :in  CAN_SendMessageJun  9 10:40:38 uschi kernel: Can: - :CAN[1]: tx.flags=0 tx.id=0x64 tx.length=8 stat=0xcJun  9 10:40:38 uschi kernel: Can: - :---> send std messageJun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :in  can_readJun  9 10:40:38 uschi kernel: Can: - : => got IRQ[1]: 0x2Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - : => leave IRQ[1]Jun  9 10:40:38 uschi kernel:Jun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :in  can_closeJun  9 10:40:38 uschi kernel: Can: - :in  CAN_StopChipJun  9 10:40:38 uschi kernel: Can: - :outJun  9 10:40:38 uschi kernel: Can: - :in  Can_FreeIrqJun  9 10:40:38 uschi kernel: Can: - :out

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -