Specifications

Embedded System Tools Guide (EDK 6.2i) www.xilinx.com 125
UG111 (v1.4) January 30, 2004 1-800-255-7778
OS
R
should have the targets “include and “libs”. Each library must also contain an MLD file
and a Tcl file in the data subdirectory. Refer to the existing EDK libraries to get an
understanding of the structure of the libraries. Refer to Chapter 20, “Microprocessor
Library Definition (MLD)” for details on how to write an MLD and its corresponding Tcl
file.
OS
The MSS file now includes an OS block for each processor instance. The OS block contains
a reference to the OS name (OS_NAME parameter), and the OS version (OS_VER). There is
no default value for these parameters. The bsp directory contains C source and header
files and a makefile for the OS.
The MLD file for each OS specifies all configurable options for the OS. Each MLD file has
a corresponding Tcl file associated with it. Refer to Chapter 20, “Microprocessor Library
Definition (MLD)” and Chapter 19, “Microprocessor Software Specification (MSS)” for
more information.
Users can write their own OS’s. These OS’s must be in a specific directory under
USER_PROJECT/bsp or library_name/bsp as shown in Figure 7-1, page 120. The
OS_NAME attribute allows the user to specify any name for an OS, which is also the name
of the OS directory. The source files and makefile for the OS must be in the src
subdirectory under the os_name directory. The makefile should have the targets “include
and “libs”. Each OS must also contain an MLD file and a Tcl file in the data subdirectory.
Refer to the existing EDK OS’s to get an understanding of the structure of the OS’s. Refer to
Chapter 20, “Microprocessor Library Definition (MLD)” for details on how to write an
MLD and its corresponding Tcl file.
Interrupts and Interrupt Controller
An interrupt controller peripheral must be instantiated if the MHS file has multiple
interrupt ports connected. LibGen statically configures interrupts and interrupt handlers
through the Tcl file for the interrupt controller. Alternately, users can dynamically register
interrupt handlers in the user code. Interrupts for the peripherals needs to be enabled in
the user code.
Interrupt Controller Driver Customization
In the MSS file, the INT_HANDLER parameter allows an interrupt handler routine to be
associated with the interrupt signal. The Interrupt Controller’s Tcl file uses this parameter
to configure the interrupt controller handler to call the appropriate peripheral handlers on
an interrupt. The functionality of these handler routines is left to the user to implement. If
the INT_HANDLER parameter is not specified, a default dummy handler routine for the
peripheral is used.
For MicroBlaze: if there is only one interrupt driven peripheral, an interrupt controller
need not be used. However, the peripheral should still have an interrupt handler routine
specified. Otherwise a default one is used.
When MicroBlaze is the processor to which the interrupt controller is connected, and when
mb-gcc is the compiler used to compile drivers, the Tcl file associated with the MicroBlaze
driver MDD designates the interrupt controller handler as the main interrupt handler.
For the PowerPC processor, the user is responsible for setting up the exception table. Refer
to Chapter 23, “Interrupt Management for more information.