📄 readme
字号:
## $Id: README,v 1.3 2000/08/25 17:24:49 joel Exp $#This is a README file for the MBX860/MBX821 port of RTEMS 4.5.0Please send any comments, improvements, or bug reports to:Charles-Antoine Gauthiercharles.gauthier@nrc.caorDarlene StewartDarlene.Stewart@nrc.ca Software Engineering GroupInstitute for Information TechnologyNational Research Council of CanadaOttawa, ON, K1A 0R6Canada Disclaimer----------The National Research Council of Canada is distributing this RTEMSboard support package for the Motorola MBX860 and MBX821 as freesoftware; you can redistribute it and/or modify it under terms ofthe GNU General Public License as published by the Free SoftwareFoundation; either version 2, or (at your option) any later version.This software is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNUGeneral Public License for more details. You should have received acopy of the GNU General Public License along with RTEMS; see fileCOPYING. If not, write to the Free Software Foundation, 675 Mass Ave,Cambridge, MA 02139, USA.Under no circumstances will the National Research Council of Canadanor Her Majesty the Queen in right of Canada assume any liablilityfor the use this software, nor any responsibility for its quality orits support.Summary-------BSP NAME: mbx8xxBOARD: Motorola MBX860 and MBX821 Embedded ControllersBUS: No backplane. On-board ISA, PCI, PC/104 and PCMCIA.CPU FAMILY: PowerPCCPU: PowerPC MPC860 or MPC821COPROCESSORS: Built-in Motorola QUICCMODE: 32 bit modeDEBUG MONITOR: EPPC-BugPERIPHERALS===========TIMERS: PIT / Timebase RESOLUTION: 1 microsecond / frequency = clock-speed / 16SERIAL PORTS: 2 or 4 SCCs (SCC1 is hardwired for Ethernet) 2 SMC 1 SIOREAL-TIME CLOCK: Many. Look at documentation.DMA: Each SCC and SMC.VIDEO: None on-board. MPC821 has a built-in LCD panel driver.SCSI: None on-board.NETWORKING: Ethernet (10 Mbps) on SCC1 DRIVER INFORMATION==================CLOCK DRIVER: yesCONSOLE DRIVER: yesSHMSUPP: N/ATIMER DRIVER: yesNETWORK DRIVER: yesNOTES=====On-chip resources: SCC1 network or console SCC2 serial port SMC1 gdb debug console/application console SMC2 application console CLK1 network CLK2 network CLK3 CLK4 CLK5 CLK6 CLK7 CLK8 BRG1 console BRG2 console BRG3 console BRG4 console RTC PIT clock TB DEC SWT *CS0 FLASH *CS1 DRAM bank (onboard) *CS2 DRAM bank 0 (1st half of DIMM) *CS3 DRAM bank 1 (2nd half of DIMM) *CS4 Battery-Backed SRAM *CS5 QSPAN PCI *CS6 QSPAN *CS7 Boot ROM UPMA UPMB IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 IRQ_LVL0 IRQ_LVL1 IRQ_LVL2 IRQ_LVL3 IRQ_LVL4 IRQ_LVL5 IRQ_LVL6 IRQ_LVL7 Board description-----------------Clock rate: 50MHz Entry level boards, 40 MHz others.Bus width: 8/32 bit Flash, 32 bit DRAMFLASH: 2-4MB, 120nsRAM: 4-16MB EDO, 60ns DRAM DIMMInstallation------------All MBX821/MBX860 ports share the same source code base. The MPC821 doesnot have SCC3 and SCC4. Instead, it has an LCD panel driver. Otherwise,the MBX821 and MBX860 boards are essentially identical. Entry level boardsdo not have all connectors and peripheral devices present. This has noimpact on the source code base; it merely means that some functionalityis not available on these entry level boards. For the most part, the portuses the standard build process for powerpc targets. However, you mustspecify the EXACT model of MBX board that you are building for as theargument to the RTEMS_BSP make variable. If you do not, the build processwill build for a MBX860-002. Look at rtems/make/custom/mbx8xx.cfg for thespecific list of boards supported and their corresponding names. Anexample build command is: make RTEMS_BSP=mbx821_001 VARIANT=DEBUGThis will build the debug version of all RTEMS libraries, samples and tests(if the latter are enabled).The Software Engineering Group of the Institute for Information Technologyonly owns an MBX821-001 and MBX86-002. The only provided config files arembx821_001.cfg and mbx860_002.cfg. A SPECIFIC CONFIG FILE IS REQUIRED. Useone of the provided files as a template to create a specific config file foranother model. We rely on EPPC-BUG to download to the targets. We use the "PLH" command.We enabled a TFTP deamon on our development host.Port DescriptionConsole driver---------------This BSP includes an termios-capable asynchronous serial line driver thatsupports SMC1, SMC2, SCC2, and SCC3 and SCC4 if present. The RTEMS console isselected in rtems/make/custom/mbx8xx.cfg with the CONSOLE_MINOR variable, orin NVRAM if that option is enabled in the rtems/make/custom/mbx8xx.cfg file.We normally run with the RTEMS application console on SMC2. SMC1 is used bythe debugger.Support is provided for five different modes of operation: 1. polled I/O done by EPPC-Bug with termios support, 2. polled I/O done by EPPC-Bug without termios support, 3. polled I/O done by the supplied device driver with termios support, 4. polled I/O done by the supplied device driver without termios support, 5. interrupt-driven I/O done by the supplied device driver with termios support. If NVRAM_CONFIGURE is set to 1 in rtems/make/custom/mbx8xx.cfg, the mode ofoperation of the driver is determined at boot time from the values storedin the user area in NVRAM. See the Configuration Parameters section below forinstructions on setting up NVRAM. Otherwise, the mode of operation of theserial driver is determined at build time in part by the value of theUARTS_IO_MODE constant in rtems/make/custom/mbx8xx.cfg. Edit the file to selectthe type of I/O desired before building RTEMS. The choices are: 0 - polled I/O done by the supplied device driver, 1 - interrupt-driven I/O done by the supplied device driver, 2 - polled I/O done by EPPC-Bug. Also, if NVRAM_CONFIGURE is not set to 1 in rtems/make/custom/mbx8xx.cfg, setthe value of UARTS_USE_TERMIOS to select whether termios should be used toperform buffering and input/output processing. Without termios support, inputprocessing is limited to the substitution of LF for a received CR, and outputprocessing is limited to the transmission of a CR following the transmission ofa LF. The choices for UARTS_USE_TERMIOS are: 0 - do not use termios 1 - use termiosIn most real-time applications, the driver should be configured to usetermios and interrupt-driven I/O. Special requirements may dictate otherwise.Polled I/O must be used when running the timing tests. It must also be usedto run some other tests and some samples, such as the cdtest. Some testschange the interrupt mask and will hang interrupt-driven I/O indefinitely.Others, such as cdtest, perform console output from the static constructorsbefore the console is opened, causing the test to hang. Still other testsproduce output that is supposed to be in some specific order. For thesetests, termios should not be used, as termios buffers output and thetransmission of the buffers occur at somewhat unpredictable times.The real solution is to fix the tests so that they work with interrupt-drivenI/O and termios.printk() and debug output-----------------------The implementation of printk() in RTEMS is mostly independent of most systemservices. The printk() function can therefore be used to print messages to adebug console, particularly when debugging startup code or device drivers,i.e. code that runs before the console driver is opened or that runs withinterrupts disabled.Support is provided to send printk output to any port. Specify the desiredport at build time in rtems/make/custom/mbx8xx.cfg by setting the valueof PRINTK_MINOR to one of SMC1_MINOR, SMC2_MINOR, SCC2_MINOR, SCC3_MINOR,or SCC4_MINOR. Alternatively, if NVRAM_CONFIGURE is set to 1 inrtems/make/custom/mbx8xx.cfg, the printk port is selected based on data thatis stored in the user area in NVRAM. See the Configuration Parameters sectionbelow for instructions on setting up NVRAM. Select the type of output desired for printk() by setting the value ofPRINTK_IO_MODE in rtems/make/custom/mbx8xx.cfg. The choices are: 0 - polled I/O done by the supplied device driver, 1 - polled I/O done by the supplied device driver, 2 - polled I/O done by EPPC-Bug. printk() does not use termios.If the printk() port is opened by RTEMS, then PRINK_IO_MODE mode must havethe same value as UARTS_IO_MODE, otherwise the I/O functions will be inconflict. Interrupt-driven printk() output did not work, although we thinkthat it should have. It would have been of dubious value anyways. Ifinterrupt-driven I/O is selected (value of 1), the driver defaults to usingpolled I/O through the RTEMS driver.IMPORTANT: Polled I/O through the RTEMS driver requires that the driver be
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -