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

📄 target.nr

📁 WINDRIVER SBC7410 BSP
💻 NR
📖 第 1 页 / 共 5 页
字号:
.TSexpand tab(|);l lw(4i)l lw(4i) .sysNvRam.c|non-volatile RAM library for parallel eepromsysFlash.c|Flash access routines - StrataFlashsysGt64260IntrCtl.c|GT64260 interrupt controller driversysGt64260Pci.c|GT64260 PCI bus driversysGt64260Timer.c|GT64260 aux and timestamp timer driversysSerial.c|prepares serial driver ns16550siosysLed.c|system LED driversysNet.c|prepares PCI Ethernet driver "fei", "gei" and "wancom"sysTffs.c|system TFFS integration modulestrataFlash.c|Intel StrataFlash MTD for TFFS.sysACache.s|PowerPC 750/755/7400/7410 L2 cache librarysysFei82557End.c|"fei" driver glue modulesysGei82543End.c|"gei" driver glue modulesysWancomEnd.c|"wancom" driver glue module, plus LXT972 PHY MII register driverwancomEnd.c|GT64260 fast ethernet END driver.TEThe BSP configures an NS 16550 compatible UART to implement a console device and the GT64260 ethernet 0/1 ports as an Ethernet devices. An Intel 8255x PCI card can optionallybe configured as well..SS "Support for L1 Cache Locking"L1 cache locking is available for MPC750, MPC755, MPC7400 andMPC7410. The cache lock routine can be used to lock the entire dataor instruction cache with a specified memory region. .SS "Support for L2 Cache"L2 Cache is available for MPC750, MPC755, MPC7400 and MPC7410. Callback functionpointers for L2 cache Global Invalidation, L2 Cache Enable, L2 CacheFlush and L2 Cache Disable are intialized in sysHwInit()..SS "Support for L2 Cache Locking"L2 cache locking is supported on MPC750, MPC755, MPC7400 and MPC7410. On theseCPUs L2 is implemented as an unified cache. The L2 cache lock librarycan be used to lock data or instructions in the L2 cache..SS "Support for AltiVec"MPC7400 and MPC 7410 support an altiVec sub-system that implementsvector processing. Support for altiVec is now available, but analtiVec aware compiler must be used to create applications thatuse altiVec instructions. The altiVec support can be enabled bydefining INCLUDE_ALTIVEC in config.h.SS "Default Memory Map"The default memory map is enforced by the GT64260..CS        Memory Map from CPU point of viewChip Select	    Start               Size         Access to---------------------------------------------------------------------SCS0 (R/W)	0x0                256MB (min)   SDRAM SODIMMSCS1 		Not usedSCS2 		Not usedSCS3 		Not usedInternal Regs  	0x14000000	    64KB	 Internal RegistersCPCI PCI interface: (INCLUDE_PCI_CARD_IN_BACKPLANE)PCI0 MEM0	0x12000000	    32MB	 PCI memoryPCI0 MEM1	0xF2000000	    32MB	 PCI memoryPCI0 MEM2	0xF4000000	    32MB	 PCI memoryPCI0 MEM3	0xF6000000	    32MB	 PCI memoryPCI0 I/O	0x10000000	    32MB	 PCI I/OOn-board (local) PCI interface: (INCLUDE_PCI_STANDALONE)PCI1 MEM0	0x22000000	    32MB	 PCI memoryPCI1 MEM1	0x24000000	    32MB	 PCI memoryPCI1 MEM2	0x26000000	    32MB	 PCI memoryPCI1 MEM3	0x28000000	    32MB	 PCI memoryPCI1 I/O	0x20000000	    32MB 	 PCI I/OCS0  (R/W)	0x1C000000	     8MB	 EEPROM, LEDs and GP CS1  (R/W)	0x1C800000	     8MB	 MailboxCS2  (R/W)	0x1D000000	    16MB	 UARTCS3  (R/W)	0x1E000000	    16MB         CPIOBOOTCS (R/W)    0xFF000000	    16MB      	 Boot Flash.CE.SS "Shared Memory".PPN/A.SS "Using the vPROBE/vICE to download the vxWorks image directly to RAM"when using vPROBE/vICE to download the vxWorks image directly to RAM you needto remember that the CS & main CPU initialization are done by the emulator and not by the bootrom (romInit.s), because the reset symbol is "sysInit" and notthe reset vector (0xFFF00100). Because this the code will execute only the module "sysALib.s", and it will not execute the module "romInit.s". If you will not use the correct register file the vxWorks image will not run correctly.NOTE: romInit.s will need to be modified accordingly to support this capability.				 .SS "SDRAM Size".PPBoards and bsp are supplied with a 256Meg SDRAM SODIMM.The BSP divides the 256Meg SDRAM into a 32Meg section and a (256-32) USER_RESERVED_MEMsection. The reason for this has to do with the EABI compilation option of a 24 bit address. The default compilation options generates a 'bl' for branch instructions. This increases performance, but places a 32Meg address limit on the code.  There are two 'work arounds' to this limitation.     1.) recompile all the source with the -mlongcall compilation flag    2.) add remaining 32Meg to the memory pool vi the memAddToPool() function.  Option #1 would require all the libraries, driver, and the BSP to be recompiled with the -mlongcall compiler option. This results in a numberof code changes; the most obvious code change is branches are implementedvia brlr instruction verses the bl instruction.  Option #2, the perferred option, requires the USER_RESERVED_MEM andthe memAddToPool() constructs be used to specify the remaining 32Megto be added to the memory pool. Consult WindTech Note WTN41 for details on specifying user memory..SS "Network Configuration"All boards come with two on-board 10/100 ethernet ports via the GT64260.The BSP should be configured with INCLUDE_WANCOMEND to initialize thesetwo ports. In addition, the BSP supports an Intel fei NIC in the localPCI slot via the PCI-1 interface of the GT64260. In order to configurethe BSP for this use INCLUDE_FEI82557END. The Ethernet drivers automatically senses and configures the port as 10baseT or 100baseT..SS " NVRAM Support" The wrSbc7410 board contains a CAT28LV64 64K-Bit CMOS PARALLEL EEPROM; boot parameters are stored on this device. Ethernet MAC addresses for wancom0 andwancom1 are also stored in the EEPROM. Use the boorom 'N' commandto modify the ethernet MAC address for wancom0..SS "Ethernet Address"If an Intel 55x PCI NIC is used, the Media Access Control (Ethernet) address for each port is obtained from a serial ROM contained in the Intel 82557/9 NIC. The ethernet MAC addresses for the on-board GT64260 ports must be set by modifyingbspEnetAdrs[] in sysWancomEnd.c or by using the bootrom program and the 'N'command to modify the MAC address for wancom0.  Note that a deficiency in bootConfig.cprevents use of the 'N 1' command to modify the MAC address for wancom1.  sysEnetAddrSetUnit()may be used to set the address for wancom1.Notes on use of the 'N' command:1) The current ethernet address will be displayed in reverse order.2) The actual values of the last three bytes won't be displayed when you're prompted to change them, but the values shown are the defaults that will be saved if you don't  provide a new value. 3) The new ethernet address is displayed correctly after you modify the 3 bytes. Example:.bS[VxWorks Boot]: NCurrent Ethernet Address is: 03:02:01:a0:1e:00Modify only the last 3 bytes (board unique portion) of Ethernet Address.The first 3 bytes are fixed at manufacturer's default address block.00- 00a0- a01e- 1e1e- 4a0- 500- 6New Ethernet Address is: 00:a0:1e:04:05:06.bEThe first three bytes of the MAC address (0x00, 0xa0, 0x1e) are a Wind River specific prefixthat should be kept as-is. If for some reason you need to change them, change the  macro in config.h:.bS    #define	ENET_DEFAULT 0x1ea00000    /* 00:a0:1e:xx:xx:xx */.bENote that this macro only sets the first 3 bytes when the 'N' command is used.If it is changed, the bootrom must be rebuilt and the flash must be reprogrammed (see items 2 and 3 under Introduction).The user must change the last three bytes to three unique bytes (i.e., bytes not used by any other Wind River Ethernet connection on your network). Check with your system administrator if you do not know this information.The wrSbc7410 has 2 builtin ethernet ports.  The 'N' command describedabove sets the MAC address of unit0, the first ethernet port.  The MACaddress for unit1, the second ethernet port, is automatically definedas unit0 MAC address plus 1.Beginning in 2003, all Wind River hardware development boardswith builtin ethernet interfaces will have pre-programmed MAC addresses..SS "ROM Considerations"bootrom.bin and bootrom_uncmp.bin are provided with this BSP. The bootrom is configured to a ROM base address of 0x0. When programing the bootrom to the FLASH an offset of 0xFFF00100 needs to be given, also it's configured to use the 16 MByte on board Flash ROM and the on-board GT64260 wancom END driver as theboot devices and the RS232 as console device. The bootrom takes approximately 10 seconds to boot..SS "BOOT FLASH"The BSP is configured to use the 1MByte of the 16MB flash at 0xFF000000 as bootflash. Up to the remainder of flash is configured for the use of TFFS by usingthe constants INCLUDE_TFFS_VOLn where n = 0,1,2 or 3. Volume 0 is 8MB, Volume1 is 4MB, Volume 2 is 2MB and Volume 1 is 1MB for a maximum of 15MB. If anyTFFS bank is not configured it can be used for general flash and can be accessedwith the Stratflash driver in sysFlash.c..SS "Serial Configuration"The NS 16550 UART is configured as UART devices with 8 data bits, 1 stopbit, hardware handshaking, and parity disabled and is available via J22. J22 uses HSI's standard 4-wire connection..SS "Serial Connections"This VxWorks wrSbc7410 board uses a simple 3 wire connection and standard phone jacks where pin 1 = RIN, pin 2 = TOUT, pin 3 = NC, and pin 4 = GND..SS "SCSI Configuration"There is no direct SCSI interface on this board. SCSI, if desired, canbe available via the PCI slot / PMC connector on the board. Addingthis capability will require integration of the appropriate SCSI driverto this BSP..SS "VME Access"N/A.SS "PCI Access"Two 32/64-bit address, 32/64-bit data interfaces are availableon the wrSbc7410 board and they comply with PCI Local Bus Specification, Revision 2.x. PCI-0 is used when the wrSbc7410 is plugged into the I/O expand unit and in the CPCI connector.  PCI-1 is used when the board is used in a standalone mode of operation. Either the 32/64 bitPCI connector -or- the 32/64 bit PMC connector on the board may be used.  JP51 must be installed when using the local PCI connectors.JP51 must be removed when the board is used in the I/O expand unit.See the memory map for the default PCI memory map.Note that this BSP manually configures either PCI-0 or PCI-1. TheBSP does not use auto configuration. This may be added in a laterrelease of this BSP..SS "Interrupts"The GT64260/GT64260A interrupt controller is an extremely limitedand primitive interrupt controller. The interrupt controller driversupplied with this BSP is simple in concept: it services 1 interruptat a time and then exits. Interrupts are locked out during processingof any system interrupt.  This is because interrupts are not savedor queued by the processor.  This simple design has been exercisedbut may cause problems with designs utilizing more of the GT64260internal units. An upgrade design for the interrupt controller is toimplement a handler that sends all interrupt events to a messagequeue (e.g., similar to our network drivers and tNetTask) so thatinterrupt events can be handled in task time.  This upgrade has the advantage of "pending" interrupt events via the message queueand is a more robust design.Example code for the interrupt controller perused looped throughinterrupt cause bits in the CPU mask register in the interrupthandler thereby causing massive blocking of interrupts (mostnotably the decrementer or system clock interrupt). The currentdesign was chosen to eliminate this problem.  See the filesysGt64260IntrCtl.c for specific details.Finally, some interrupt events are multiplexed on single interruptvectors (timers, dma and GPP interrupts). In these instances the muxed interrupt in the CPU Mask register is enabled duringsetup and the local interrupt mask register is used by the variousdrivers to enable / disable the interrupts. Note that the interrupt handler uses the intPrioTbl[] structure in the interruptcontroller driver to know how to handle each type of interrupt inthe system. Please read the comments there in order to add newinterrupts to the BSP.Interrupts from the General Purpose Port, Timers and DMA are handleddifferently by the interrupt controller as they are muxed interruptsand share vectors. For example GPP bits 0-7 share one interruptvector.  The interrupt controller's intConnect routine will chainmuxed interrupts to the shared interrupt vector.  The user has thechoice of having the interrupt controller handler clearing the interrupts (see intPrioTbl[] in sysGt64260IntrCtl.c) or clearingthe interrupts in the interrupt service routine.  The interrupt

⌨️ 快捷键说明

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