📄 target.nr
字号:
| Top of RAM | RAM_HIGH_ADRS 0x0040 0000 | | containing vxWorks| | | (VxWorks code is | | | copied here from | | | ROM) | RAM_LOW_ADRS 0x0001 0000 | |___________________|__________________________________________ | | | | | | | | Zeroed out | | | by boot code | | | | Start Of Interrupt Vectors 0x0000 0100 | | | Physical Start Of RAM 0x0000 0000 | |_______________________________________________________________|.bE.SS "Shared Memory"The Sandpoint does not currently support a shared memory driver..SS "Interrupts"The SandPoint BSP uses the MPC107 for PPMC750, PPMC755, PPMC7400 & PPMC7410PPMC7450, PPMC7455, PPMC7441 & PPMC7445 and EPIC interrupt controller integrated in the MPC8240micro-controller. Interrupt lines of PCI devices are connected to theEPIC module or the MPC107, while the interrupt lines of the serialport communications (COM1, COM2, AuxClock, Floppy, IDE) are connectedto the Winbond chip.Interrupt functions that initialize and support the interuptcontroller module are contained in the sysEpic.c and sysEpic.hfiles. Interrupt functions that initialize and support the serialcommunication are contained in the w83553PciIbc.c and w83553PciIbc.hfiles.Internally, the Winbond IRQs are numbered from 0x10 to 0x20, while theEPIC/MPC107 IRQs are numbered from 0x0 to 0x4 (0x4 is not brought outon the PPMC). The EPIC interrupt priorities are assigned according toIRQ numbers.COM1 is configured for IRQ4 and COM2 is configured for IRQ3 on theWinbond device. The winbond device is connected to IRQ2 of the EPICmodule.The two serial communication channels are defined in sp.h. The serialcommunications inclusion is determined by the macros INCLUDE_SERIALand NUM_TTY in config.h. The supported baud rates depend on thei8250Sio.c driver. The BSP has been verified with the following baudrates: 115200, 57600, 38400, 19200, and 9600 baud..SS "SandPoint Board Interrupt Architecture" .bS ______________________________________________________________________________________| || || || ____________________ | | | | || | POWER PMC CARD | | | | ______________ | | | | | EPIC/MPC107 | | | | | |______________| | | | | | | || | | | | | |_________|__________| | | IRQ 0 to | IRQ 3 PCI-SLOTS || | | | || | | | || | | | | | || | | | | | || |=================|==|==|==| | | | | | | | || | | | | | || | || | || | | | | | | _________|__________ || | Winbond 83553 | || | PCI/ISA Bridge | || |____________________| || | || IRQ 16 to |IRQ 31 | | | | | | | | | ON-BOARD I/O || |_______________ | | | | | | | | | || ______________|______________ || | | | | | | | | | | | | COM-1 COM-2 FLOPPY IDE | | | | | | | | | | | | | | | |______________________________________________________________________________________| .bEEPIC Interrupt Table.TS Eexpand,tab(|);lf3 lf3 lf3 l l l.IRQ | Priority | Description =0 | 0 | PCI Slot 1 1 | 1 | PCI Slot 2, shared with Winbond IRQ2 | 2 | PCI Slot 33 | 3 | PCI Slot 44 | 4 | unused.TESecondary Interrupt Controller Winbond IRQ Table.TS Eexpand,tab(|);lf3 lf3 lf3 l l l.IRQ | Priority | Description -16 | 2 | i8254 Timer17 | 2 | unused18 | 2 | cascade19 | 2 | COM2 / ttyb / tyCo 120 | 2 | COM1 / ttya / tyCo 021 | 2 | unused22 | 2 | unused 23 | 2 | unused24 | 2 | unused25 | 2 | unused26 | 2 | unused27 | 2 | unused28 | 2 | unused29 | 2 | unused30 | 2 | IDE controller 031 | 2 | IDE controller 1.TEThe sysLib.c routine sysIntConnect() will call the appropriateintConnect routines, pciIntConnect() for PCI INTs, and intConnect() forall others. See also, sysEpic.[ch], w83553PciIbc.[ch]..SS "Serial Configuration"The default kernel configuration, as delivered, includes two serialcommunication ports com1 and com2, the Wind debugger WDB,and one "dc" (DEC 2114x) ethernet port.Com1: is used for terminal display. The VxWorks banner, all VxWorkserror messages, and all output generated by printfs in applicationsprograms are displayed on this terminal. Either a vt100 type dumbterminal can be connected via a standard serial cable, or a vt100 typeterminal emulator program on a PC can be connected via a null modemtype serial cable.Com2: is used for the WDB communication port. A null modem serialcable can be connected to the com2 port of a PC or UNIX machine. TheTornado program uses host shells to communicate to VxWorks on thetarget.Com1 and com2 are interrupt driven drivers using the code insysSerial.c. Com1 is configured for IRQ4 and com2 is configured forIRQ3. The two serial communication channels are defined in sp.h asCOM1_ADR, COM1_INT_LEV, COM1_INT_VEC and corresponding com2macros. sysLib.c calls the serial driver initialization functionsduring sysHwInit calling sysSerialHwInit() and sysHwInit2() andsysSerialHwInit2(). The serial communications inclusion is determinedby the macros INCLUDE_SERIAL and NUM_TTY in config.h..SS "SCSI Configuration"This BSP does not support any SCSI devices at this time..SS "Network Configuration"Ethernet communication is determined by the macro INCLUDE_NET in config.h.Ethernet in the default version uses the DEC21140 ethernet chip set. Itis implemented by either the if_dc driver or an END driver. Othercards supported are:.CS 3COM 3C90x PCI Intel fei82557 DEC 21143 chipset AMD Ln97x .CE.SS "VME Access"No VME bus is present on the Sandpoint X2. .SS "PCI Access"PCI access is controlled via the MPC107 PCI Bridge/MemoryController. Although this device supports three address mappings, theSandPoint board supports only two.Address map A conforms to the PowerPC reference platform specification (PReP).Address map B conforms to the PowerPC microprocessor common hardwarereference platform (CHRP).Some processor modules may have the address map (A or B) selectionhardwired on the module, and need to be ordered for Address Map B.For details contact your Motorola sales office.The 7400/7410 MPMC rev X3 module allows switch selection of the addressmap via position 2 of SW2, which should be set to "off" to selectAddress Map B.Address map A or B selection is displayed upon booting with themanufacturer-supplied DINK32 bootrom.The function sysMemMapDetect() in sysLib.c detects the boardconfiguration for the memory maps. This function sets the system PCIConfiguration address and data address for Map B, MPC107_CFG_ADDR_CHRPand MPC107_CFG_DATA_CHRP, into the appropriate variables, sysPciConfAddrand sysPciConfData for the function sys107RegRead(). Then it callssys107RegRead which returns the value at that address. If the boardis configured for Address map B (CHRP), the value returned will bethe MPC107 vendor Id. If this is configured for Address map A (PREP),then the value returned will be garbage, i.e. will not be the correctVendor Id. Thus, sysMemMapDetect() compares the returned value to theVendor Id, and if it is not true, then the Map A PCI Configurationaddress and data addresses PREP_REG_ADDR and PREP_REG_DATA are placedinto the variables, sysPciConfAddr and sysPciConfData.A similar algorithm is used in romInit.s during startup in the codejust prior to the function startMemInit(). This code only detects Map Aversus Map B for startup code, which is why it is necessary to do itagain in sysMemMapDetect() after VxWorks (or bootrom) gains control.PCI Autoconfig is supported and is used to configure the resources foreach PCI device being used on the Sandpoint.For more details, see MPC107 PCI Bridge/Memory Controller User's Manual..SS "Boot Devices"Supported boot devices include:.IPfd=<ctrl>,<drive> - PS2 floppy device as boot device.(if INCLUDE_FD is defined).CS \f3fd=<drive number>,<diskette type>\f1 - Diskette drive number is one of: 0 = default; the first diskette drive (drive A:) 1 = the second diskette drive (drive B:) diskette type is one of: 0 = default; 3.5" diskette 1 = 5.25" diskette.CE.IPata=<ctrl>,<drive> - EIDE/ATA HDD as boot device.(if INCLUDE_ATA is defined).CS \f3ata=<controller number>,<drive number>\f1 - ATA/IDE drive controller number is one of: 0 = primary controller described in the first entry of the ataResources table 1 = secondary controller described in the second entry of the ataResources table drive number is one of: 0 = first drive on the controller 1 = second drive on the controller.CENote: By default, with INCLUDE_ATA, vxWorks is set up for one ATAhard disk device on the primary ATA controller. The 2nd hard disk onthe primary controller and the secondary controller are normallydisabled to prevent timeouts. If you have multiple controllers and/orhard disks you must modify config.h ATA_DEV[x]_STATE values. Seeconfig.h..LP.IPdc - DEC 21040/21140/21143 network device(if PRIMARY_ENDTYPE == DEC_END_DEVICE in config.h for bootrom).IPlnPci - AMD 79C970/79C971/79C972 network device(if PRIMARY_ENDTYPE == AMD_END_DEVICE in config.h for bootrom).IPfei - Intel 82557/82558/82559 network device(if PRIMARY_ENDTYPE == FEI_END_DEVICE in config.h for bootrom).IPelpci - 3Com 3c90X network device(if PRIMARY_ENDTYPE == ELPCI_END_DEVICE in config.h for bootrom).IPsl - SLIP network device(if included in image).LP.SS "Boot Methods"The network support available for booting includes:bootp, ftp, tftp, slip, and rsh. .SS "ROM Considerations"The sysLib.c routine sysUpdateFlash() will rewrite the 29F040 flashwith data from a binary file <filename>.This code allows the user to overwrite the flash device with data fromfile <filename> using the low level flash support routinessysFlashSet() and sysFlashGet() from src/drv/mem/flashMem.c. It writesdata to the flash device via sysFlashSet(), and verifies that the datawas written correctly. Writes to flash are wrapped within taskLock()and intLock(). The user should pass a binary bootrom file; forexample to update the bootrom with a VxWorks BSP bootrom image:.CS % make bootrom.bin -> sysUpdateFlash ("hostname:/tmp/bootrom.bin")The flash has been updated without error.->.CE.SS "ROM Programs" The ROM is a 29F040B, or equivalent, in position U6. Building any ofthe following targets will create a Motorola S-record file suitablefor downloading to most ROM programmers: .IP bootrom.hex .IPvxWorks.st_rom.hex .LP Note that the make will abort if the image will not fit in the 512K
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -