02.03.2014 Views

BSP Developer's Guide

BSP Developer's Guide

BSP Developer's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4<br />

Hardware <strong>Guide</strong>lines<br />

Such dedicated pools of memory are supported by the associated VxWorks<br />

Ethernet drivers. These pools of memory should fully support 32-bit data width<br />

accesses, or network performance is seriously compromised.<br />

Refer to the man page for the relevant driver code for information about<br />

configuring dedicated DMA memory pools.<br />

4<br />

4.3.4 NVRAM<br />

VxWorks can use 255 bytes of non-volatile RAM (NVRAM) for storing the<br />

boot-line information. Without NVRAM, the correct boot-line must either be<br />

burned into the boot ROMs or typed in after every reset/power-up during<br />

development.<br />

NVRAM can be implemented with battery-backed static RAM, EEPROM, or other<br />

technology. A number of boards use the Mostek MK48T02, which contains a<br />

time-of-day clock (also optional) in addition to 2040 bytes of battery-backed static<br />

RAM.<br />

Refer to the man page for the appropriate memory driver for more information on<br />

configuring a specific driver. Almost all drivers use the configuration macros<br />

NV_RAM_SIZE, NV_BOOT_OFFSET, and NV_RAM_ADRS. These macros are<br />

usually defined in config.h, bspname.h, or configAll.h. For more information, see<br />

2.2.1 <strong>BSP</strong> Source and Include Files, p.12.<br />

4.3.5 Parity Checking<br />

VxWorks makes no direct use of memory parity checking on the RAM. If parity<br />

checking is desired or needed, it is usually left to the <strong>BSP</strong> or the user to enable<br />

parity and to implement a parity error handling routine. Some architectures may<br />

specify an interrupt or exception vector to be used for parity error handling.<br />

4.3.6 Addressing<br />

The address map for VxWorks itself is not important; however, a complex<br />

distribution of code and data within memory might not be supported by the tool<br />

chain.<br />

The critical addresses in the memory map are: RAM_HIGH_ADRS,<br />

RAM_LOW_ADRS, and ROM_TEXT_ADRS. (See configuration macros for RAM,<br />

described above).<br />

69

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!