vxworks-6.9driver-code

所属分类:驱动编程
开发工具:C/C++
文件大小:10357KB
下载次数:62
上传日期:2014-10-09 19:49:08
上 传 者gggfan123@
说明:  workbench 中常用驱动,针对6.9版本
(useful driver in workbench for vxworks 6.9)

文件列表:
hwif\busCtlr\g64120aPci.c (34227, 2010-11-09)
hwif\busCtlr\g64120aPci.mk (478, 2008-08-22)
hwif\busCtlr\ixp4xxPci.c (89243, 2011-01-27)
hwif\busCtlr\ixp4xxPci.mk (325, 2008-08-22)
hwif\busCtlr\m83xxPci.c (38941, 2011-01-27)
hwif\busCtlr\m83xxPci.mk (394, 2008-08-22)
hwif\busCtlr\m83xxPciEx.c (63326, 2010-11-09)
hwif\busCtlr\m83xxPciEx.mk (529, 2008-12-11)
hwif\busCtlr\m85xxPci.c (71969, 2011-06-10)
hwif\busCtlr\m85xxPci.mk (320, 2008-08-22)
hwif\busCtlr\m85xxRio.c (74415, 2009-10-18)
hwif\busCtlr\Makefile (1845, 2011-07-26)
hwif\busCtlr\mcf5475Pci.c (39912, 2010-11-09)
hwif\busCtlr\mcf5475Pci.mk (330, 2008-08-22)
hwif\busCtlr\pentiumPci.c (60897, 2010-11-09)
hwif\busCtlr\pentiumPci.mk (657, 2010-11-09)
hwif\busCtlr\ppc440gpPci.c (43790, 2007-11-29)
hwif\busCtlr\usb\hcd\ehcd\Makefile (1211, 2009-08-20)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdBandwidth.c (26098, 2011-08-19)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdConfig.h (2409, 2010-11-09)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdDataStructures.h (68539, 2011-08-19)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdDebug.h (1987, 2010-11-09)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdEventHandler.c (100790, 2010-12-29)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdEventHandler.h (2308, 2010-11-09)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdHal.h (155847, 2011-09-19)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdInitExit.c (145969, 2011-06-10)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdInterfaces.h (3814, 2010-11-09)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdRhEmulation.c (95780, 2011-06-27)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdRhEmulation.h (5790, 2010-11-09)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdTransferManagement.c (175145, 2011-09-19)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdUtil.c (185610, 2011-09-19)
hwif\busCtlr\usb\hcd\ehcd\usbEhcdUtil.h (63155, 2011-09-19)
hwif\busCtlr\usb\hcd\Makefile (311, 2007-09-22)
hwif\busCtlr\usb\hcd\mhcd\Makefile (1408, 2011-04-12)
hwif\busCtlr\usb\hcd\mhcd\usbMhci.c (53170, 2010-10-14)
hwif\busCtlr\usb\hcd\mhcd\usbMhci.h (1837, 2010-10-14)
hwif\busCtlr\usb\hcd\mhcd\usbMhciCommonRegister.h (12749, 2010-10-14)
hwif\busCtlr\usb\hcd\mhcd\usbMhciDataStructures.h (19806, 2010-10-14)
hwif\busCtlr\usb\hcd\mhcd\usbMhciDavinci.c (11663, 2010-10-14)
hwif\busCtlr\usb\hcd\mhcd\usbMhciDavinci.h (6818, 2010-10-14)
... ...

README: Cavium SDK This directory contains the the Cavium SDK. The various versions of SDK used by Wind River are located in version encoded sub-directories within this directory. CN3XXX-SDK-1.5.0_p1-195 - legacy - no longer used as of 6.9 OCTEON-SDK-1.7.2_244 - used for CN3xxx, CN5xxx OCTEON-SDK - used for CN6xxx boards. This directory does not contain a version in it's name because clearcase is used to import and manage SDK versions, from 2.0 forward. Wind River BSPs and drivers do not reference SDK functions directly. Instead, they reference the Wind River Cavium API. This API is prototyped by the headers target/h/arch/mips/cav*.h, and is implemented by target/src/arch/mips/cav* and target/src/vendor/octeon/cav*. The Wind River Cavium API modules in target/src/arch/mips do not make any reference to the SDK. However, the modules in target/src/vendor/octeon do reference the SDK. These modules are built into target libraries - one library for each supported processor. Each Cavium BSP links with one of these libraries, depending on the processor it supports. Wind River Cavium Octeon drivers under /wind/river/target/src/hwif (especially end and end2 drivers) do include some SDK header files in order to use bit-mapped structure data types that correspond to hardware registers. In these cases, the header files are include via one of the cav*.h headers, which in turn includes the SDK header. See cavFpa.h for an example of how this is done. It includes cvmx-fpa-defs.h and aliases the needed data types. The version of SDK used by each of the Wind River Cavium support libraries is selected by the Makefile in target/src/vendor/octeon. See target/src/vendor/octeon/Makefile and target/config/cav_*/Makefile for more details. SDK Import procedure ------------------------ SDK updates from Cavium from 2.0 forward are checked into a special branch that contains only unmodified code from Cavium. The updates are then merged to the current development branch, so that Wind River changes can be cleanly and conveniently merged with Cavium updates. The procedure for importing a new SDK version/build from Cavium is outlined below. --- Log into a Beaverton server (where import branch is mastered). EXAMPLE $ telnet pdx-cc-fs01l.beaverton.windriver.com --- Create a Beaverton development view for the current development stream you are working on. Modify the cspec as follows, where /cspecs/whatever/...is your development cspec. element * CHECKEDOUT element * .../octeon_sdk_import/LATEST mkbranch octeon_sdk_import include /cspecs/whatever/... end mkbranch --- Install SDK RPM from Cavium to it's default location (/usr/local). EXAMPLE $ cd $ sudo su $ rpm -i OCTEON-SDK-2.0.0-349.i386.rpm # or if you already have the SDK installed and are updating: $ rpm -U OCTEON-SDK-2.0.0-349.i386.rpm --- Compare exising directory tree in clearcase with the new SDK install. EXAMPLE $ cd /wind/river/target/src/hwif/fw/cavium_sdk/OCTEON-SDK/executive $ find . | sort >~/ccTree $ cd /usr/local/Cavium_Networks/OCTEON-SDK/executive $ find . | sort >~/sdkTree366 $ ct diff -ser ~/ccTree ~/sdkTree366 | less --- Check out and make any new elements required by the new install. EXAMPLE $ cd /wind/river/target/src/hwif/fw/cavium_sdk/OCTEON-SDK/executive $ ct co -c 'import SDK 2.0 build 366' $(ct find . -print -nxn) $ ct mkelem -elt text_file -c 'new elements for sdk 2.0 build 366' \ cvmx-app-hotplug.c cvmx-app-hotplug.h cvmx-power-throttle.c \ cvmx-power-throttle.h perfzilla_screen.png $ ct mkdir -c 'new elements for sdk 2.0 build 366' cvmx-malloc $ ct mkelem -elt text_file -c 'new elements for sdk 2.0 build 366' \ cvmx-malloc/arena.c cvmx-malloc/malloc.c cvmx-malloc/malloc.h \ cvmx-malloc/README-malloc cvmx-malloc/thread-m.h --- Copy the new SDK into clearcase and check in EXAMPLE $ cd /wind/river/target/src/hwif/fw/cavium_sdk/OCTEON-SDK/executive $ (cd /usr/local/Cavium_Networks/OCTEON-SDK/executive; tar cf - .) | tar xf - --- Compare the two directories to be sure it all came across correctly. EXAMPLE $ cd $ diff -sr /usr/local/Cavium_Networks/OCTEON-SDK/executive /wind/river/target/src/hwif/fw/cavium_sdk/OCTEON-SDK/executive --- Check it in. EXAMPLE $ cd /wind/river/target/src/hwif/fw/cavium_sdk/OCTEON-SDK/executive $ ct ci -nc $(ct find . -print -nxn) At this point, you'll get cleartool errors for the stuff that is unchanged. But it should have checked in the files that did change. Now simply uncheckout everything that is left. EXAMPLE $ cd /wind/river/target/src/hwif/fw/cavium_sdk/OCTEON-SDK/executive $ ct unco -rm $(ct lsco -s -r) --- Label checked in files/dirs with OCTEON_SDK_v_w_x_bbb, where v is the first digite of the version, w is the second, x is the third, and bbb is the build number: EXAMPLE $ cd /wind/river/target/src/hwif/fw/cavium_sdk/OCTEON-SDK/executive $ ct mklbtype -c 'Cavium Octeon SDK 2.0 Build 366' OCTEON_SDK_2_0_0_366 $ ct mklabel -c 'Cavium Octeon SDK 2.0 Build 366' OCTEON_SDK_2_0_0_366 $(ct find . -print -nxn) --- Remove special rules from cspec, restoring to your default development cspec and merge the new SDK version with the development stream. EXAMPLE $ cd /wind/river/target/src/hwif/fw/cavium_sdk/OCTEON-SDK/executive $ ct edcs (remove special rules selecting the octeon_sdk_20 branch) $ ct findm . -fver .../octeon_sdk_20/LATEST \ -c 'Merge SDK 2.0 build 366 into development stream' -merge -gmerge --- Verify the merge. 1) Compare all merged files in executive directory in merge view with unmodified SDK from Cavium 2) Compare all files in executive directory in unmodified development view with prior (already merged) version of SDK. 3) Compare the differences produced in 1 and 2 above to verify that the merge correctly re-inserted Wind River changes. Manually correct and add updates as needed. 4) Build all MIPSI***R2 soft float libraries 5) Build all supported Cavium BSPs using development profile with UP and SMP, sfdiab and sfgnu and the bootrom profile, sfdiab and sfgnu. 6) Test all network interfaces, including RGMII, SGMII, SPI4000, and MIX/Mgmt (63xx). 7) Test PCI and PCIe interfaces using a supported network interface card. --- Check in to development branch.

近期下载者

相关文件


收藏者