UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 32607

12.1 EDK - How do I set up my peripherals in VxWorks to use Real Time Process (RTP) projects and cache?

Description

How do I set up my peripherals in VxWorks to use Real Time Process projects?

解决方案


PowerPC 405

After generating the board support package, open the "sysCache.c" and "xparamaters.h" files and add an entry in the PHYS_MEM_DESC sysPhysMemDesc [] table for every peripheral listed in the "xparameters.h" file. There cannot be any overlap of memory, nor duplicate memory entries. Also, the entries must span a page size (4k). The entries will use the instance names defined in the "xparameters.h" file and take a form similar to the following:
#ifdef XPAR_RS232_UART_0_BASEADDR

/* UART 0 */

{

(void *) XPAR_RS232_UART_0_BASEADDR,

(void *) XPAR_RS232_UART_0_BASEADDR,

XPAR_RS232_UART_0_HIGHADDR - XPAR_RS232_UART_0_BASEADDR + 1,

VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,

VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT

},

#endif



#ifdef XPAR_RS232_UART_1_BASEADDR

/* UART 1 */

{

(void *) XPAR_RS232_UART_1_BASEADDR,

(void *) XPAR_RS232_UART_1_BASEADDR,

XPAR_RS232_UART_1_HIGHADDR - XPAR_RS232_UART_1_BASEADDR + 1,

VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,

VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT

},

#endif


PowerPC 440

After generating the board support package, open the "sysMmu.c" and "xparamaters.h" files and add an entry in the PHYS_MEM_DESC sysPhysMemDesc [] table for every peripheral listed in the "xparameters.h" file. There cannot be any overlap of memory, nor duplicate memory entries. Also, the entries must span a page size (4k). The entries will use the instance names defined in the "xparameters.h" file and take a form similar to the following:
#ifdef XPAR_RS232_UART_1_BASEADDR

/* UART 1 */

{

(VIRT_ADDR) XPAR_RS232_UART_1_BASEADDR,

(PHYS_ADDR) XPAR_RS232_UART_1_BASEADDR,

XPAR_RS232_UART_1_HIGHADDR - XPAR_RS232_UART_1_BASEADDR + 1,

VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,

VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT

},

#endif

#ifdef XPAR_INTC_SINGLE_BASEADDR

/* INTC */

{

(VIRT_ADDR) XPAR_INTC_SINGLE_BASEADDR,

(PHYS_ADDR) XPAR_INTC_SINGLE_BASEADDR,

XPAR_INTC_SINGLE_HIGHADDR - XPAR_INTC_SINGLE_BASEADDR + 1,

VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,

VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT

},

#endif


The "sysMmu.c" file generated in EDK 11.2 contains a couple of example cores. EDK 11.2 is available at:
http://www.xilinx.com/support/download/index.htm



AR# 32607
创建日期 04/24/2009
Last Updated 01/10/2011
状态 Active
Type 综合文章
Tools
  • EDK - 12.1