]> git.sur5r.net Git - freertos/commitdiff
Preparing for V9.0.0 formal release:
authorrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 20 May 2016 12:18:59 +0000 (12:18 +0000)
committerrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 20 May 2016 12:18:59 +0000 (12:18 +0000)
+ Update various projects to use the latest versions of their build tools.

git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2461 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

266 files changed:
FreeRTOS/Demo/CORTEX_AT91SAM3U256_IAR/RTOSDemo.ewd
FreeRTOS/Demo/CORTEX_AT91SAM3U256_IAR/RTOSDemo.ewp
FreeRTOS/Demo/CORTEX_AT91SAM3U256_IAR/settings/RTOSDemo.dni
FreeRTOS/Demo/CORTEX_AT91SAM3U256_IAR/settings/RTOSDemo.wsdt
FreeRTOS/Demo/CORTEX_ATSAM3X_Atmel_Studio/RTOSDemo.cproj
FreeRTOS/Demo/CORTEX_M0+_Atmel_SAMD20_XPlained/RTOSDemo/RTOSDemo.cproj
FreeRTOS/Demo/CORTEX_M0+_Atmel_SAMD20_XPlained/RTOSDemo/src/main.c
FreeRTOS/Demo/CORTEX_M4_ATSAM4S_Atmel_Studio/RTOSDemo.cproj
FreeRTOS/Demo/CORTEX_M7_SAME70_Xplained_AtmelStudio/.vs/RTOSDemo/v14/.atsuo
FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/RTE/RTE_Components.h
FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/RTOSDemo.ewd
FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/RTOSDemo.ewp
FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/RTOSDemo.ewt
FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/RTOSDemo.uvoptx
FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/RTOSDemo.uvprojx
FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/settings/RTOSDemo.Debug.cspy.bat
FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/settings/RTOSDemo.dni
FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained_IAR_Keil/settings/RTOSDemo.wsdt
FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/RTOSDemo.ewd
FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/RTOSDemo.ewp
FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/RTOSDemo.uvproj [deleted file]
FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/RTOSDemo.uvprojx [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/settings/RTOSDemo.Debug.cspy.bat
FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/settings/RTOSDemo.dni
FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/settings/RTOSDemo.wsdt
FreeRTOS/Demo/Common/Minimal/blocktim.c
FreeRTOS/Demo/MSP430X_MSP430FR5969_LaunchPad_IAR_CCS/.settings/org.eclipse.core.resources.prefs
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.c [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.h [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop.c [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/main.c [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/ReadMe.txt [new file with mode: 0644]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_BifShapes.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Colors.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Diagrams.css [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_BusLaneSpaces.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Busses.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Calculations.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Dimensions.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_IOPorts.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Main.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Peripherals.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Processors.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/system_shapes.xml [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/bitinit.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/libgen.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/platgen.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/simgen.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/system.gui [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/system_routed [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/vpgen.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/xplorer.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/system.css [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/system.html [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/system.svg [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/data/system.ucf [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/bitgen.ut [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/download.cmd [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/fast_runtime.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/platgen.opt [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.bsb [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.make [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.mhs [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.mss [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.xmp [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system_incl.make [deleted file]
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/wizlog [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.c [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.h [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop.c [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/ReadMe.txt [new file with mode: 0644]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_BifShapes.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Colors.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Diagrams.css [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_BusLaneSpaces.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Busses.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Calculations.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Dimensions.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_IOPorts.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Main.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Peripherals.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Processors.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/system_shapes.xml [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/bitinit.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/libgen.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/platgen.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/simgen.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system.gui [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system_routed [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/vpgen.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xplorer.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.css [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.html [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.svg [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/data/system.ucf [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/bitgen.ut [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/download.cmd [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/fast_runtime.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/platgen.opt [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.bsb [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.make [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.mhs [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.mss [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make [deleted file]
FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/wizlog [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/EMAC/EMAClISR.s79 [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/ParTest/ParTest.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/ReadMe.txt [new file with mode: 0644]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Board.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup.s [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup_SAM7.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Emac.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/dbgu.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/dbgu.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/init.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/ioat91sam7x128.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/ioat91sam7x256.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/mii.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/main.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/SAM7.mac [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/SAM7_RAM.mac [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/at91SAM7X256_FLASH.icf [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/at91sam7x-ek-flash.mac [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewd [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewp [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/rtosdemo.eww [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/Basic.dbgdt [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/Basic.dni [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/BasicSAM7.wsdt [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/rtosdemo.dbgdt [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/rtosdemo.dni [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/rtosdemo.wsdt [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uIP_Task.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uIP_Task.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/Makefile [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/cgi.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/cgi.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/crt0.asm [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/404.html [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/files [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/rtos [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/stats [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/tcp [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/control.html [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/files_footer.plain [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/files_header.html [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/img/logo.png [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/index.html [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/stats_footer.plain [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/stats_header.html [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/tcp_footer.plain [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/tcp_header.html [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fsdata.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fsdata.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/httpd.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/httpd.c_ [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/httpd.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/main_led [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/makefsdata [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/memb.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/memb.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/setarp.bat [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/slipdev.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/slipdev.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/tapdev.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/tapdev.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/telnetd-shell.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/telnetd.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/telnetd.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arch.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arch.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arp.c [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arp.h [deleted file]
FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uipopt.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/FreeRTOSConfig.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/Philips_LPC210X_Startup.s [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/ReadMe.txt [new file with mode: 0644]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/flash_placement.xml [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/lpc210x.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/main.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/rtosdemo.hzp [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/rtosdemo.hzs [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/Makefile [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cgi.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cgi.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/crt0.asm [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cs8900a.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cs8900a.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/404.html [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/about.html [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/cgi/files [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/cgi/stats [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/cgi/tcp [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/control.html [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/files_footer.plain [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/files_header.html [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/img/bg.png [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/index.html [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/stats_footer.plain [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/stats_header.html [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/tcp_footer.plain [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/tcp_header.html [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fsdata.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fsdata.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/httpd.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/httpd.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/main_led [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/makefsdata [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/memb.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/memb.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/slipdev.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/slipdev.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/tapdev.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/tapdev.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/telnetd-shell.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/telnetd.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/telnetd.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uIP_Task.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arch.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arch.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arp.c [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arp.h [deleted file]
FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uipopt.h [deleted file]

index 0611d71eef0d3eab003344201b7df47a8e0388ed..5be853f8da67b856bcb71cdf5485ee9d75f264c6 100644 (file)
@@ -12,7 +12,7 @@
       <name>C-SPY</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>22</version>\r
+        <version>28</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
@@ -45,7 +45,7 @@
         </option>\r
         <option>\r
           <name>MemFile</name>\r
-          <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ioAT91SAM3U4.ddf</state>\r
+          <state></state>\r
         </option>\r
         <option>\r
           <name>RunToEnable</name>\r
         </option>\r
         <option>\r
           <name>OCLastSavedByProductVersion</name>\r
-          <state>6.20.1.52589</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDownloadAttachToProgram</name>\r
-          <state>0</state>\r
+          <state>7.60.1.11206</state>\r
         </option>\r
         <option>\r
           <name>UseFlashLoader</name>\r
         </option>\r
         <option>\r
           <name>FlashLoadersV3</name>\r
-          <state>$TOOLKIT_DIR$\config\flashloader\Atmel\AT91SAM3U4-EK\at91sam3u4-flash.board</state>\r
+          <state>$TOOLKIT_DIR$\config\flashloader\</state>\r
         </option>\r
         <option>\r
           <name>OCImagesSuppressCheck1</name>\r
           <name>OCImagesUse3</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>OCDeviceConfigMacroFile</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCDebuggerExtraOption</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCAllMTBOptions</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCMulticoreNrOfCores</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCMulticoreMaster</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCMulticorePort</name>\r
+          <state>53461</state>\r
+        </option>\r
+        <option>\r
+          <name>OCMulticoreWorkspace</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCMulticoreSlaveProject</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCMulticoreSlaveConfiguration</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCDownloadExtraImage</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCAttachSlave</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>GDBSERVER_ID</name>\r
+      <name>CMSISDAP_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>0</version>\r
+        <version>4</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>TCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
-        </option>\r
-        <option>\r
-          <name>DoLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>LogFile</name>\r
-          <state>$PROJ_DIR$\cspycomm.log</state>\r
+          <name>OCIarProbeScriptFile</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCJTagBreakpointRadio</name>\r
-          <state>0</state>\r
+          <name>CMSISDAPResetList</name>\r
+          <version>1</version>\r
+          <state>10</state>\r
         </option>\r
         <option>\r
-          <name>CCJTagDoUpdateBreakpoints</name>\r
-          <state>0</state>\r
+          <name>CMSISDAPHWResetDuration</name>\r
+          <state>300</state>\r
         </option>\r
         <option>\r
-          <name>CCJTagUpdateBreakpoints</name>\r
-          <state>main</state>\r
+          <name>CMSISDAPHWResetDelay</name>\r
+          <state>200</state>\r
         </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>IARROM_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>1</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
         <option>\r
-          <name>CRomLogFileCheck</name>\r
+          <name>CMSISDAPDoLogfile</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CRomLogFileEditB</name>\r
+          <name>CMSISDAPLogFile</name>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
         <option>\r
-          <name>CRomCommPort</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CRomCommBaud</name>\r
-          <version>0</version>\r
-          <state>7</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>JLINK_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>13</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>JLinkSpeed</name>\r
-          <state>32</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkDoLogfile</name>\r
+          <name>CMSISDAPInterfaceRadio</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkLogFile</name>\r
-          <state>$PROJ_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkHWResetDelay</name>\r
+          <name>CMSISDAPInterfaceCmdLine</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>JLinkInitialSpeed</name>\r
-          <state>32</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDoJlinkMultiTarget</name>\r
+          <name>CMSISDAPMultiTargetEnable</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCScanChainNonARMDevices</name>\r
+          <name>CMSISDAPMultiTarget</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkMultiTarget</name>\r
+          <name>CMSISDAPJtagSpeedList</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkIRLength</name>\r
+          <name>CMSISDAPBreakpointRadio</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkCommRadio</name>\r
+          <name>CMSISDAPRestoreBreakpointsCheck</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkTCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
+          <name>CMSISDAPUpdateBreakpointsEdit</name>\r
+          <state>_call_main</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkSpeedRadioV2</name>\r
+          <name>RDICatchReset</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCUSBDevice</name>\r
-          <version>1</version>\r
+          <name>RDICatchUndef</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchReset</name>\r
+          <name>RDICatchSWI</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchUndef</name>\r
-          <state>0</state>\r
+          <name>RDICatchData</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchSWI</name>\r
-          <state>0</state>\r
+          <name>RDICatchPrefetch</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchData</name>\r
+          <name>RDICatchIRQ</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchPrefetch</name>\r
+          <name>RDICatchFIQ</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchIRQ</name>\r
+          <name>CatchCORERESET</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchFIQ</name>\r
-          <state>0</state>\r
+          <name>CatchMMERR</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkBreakpointRadio</name>\r
-          <state>0</state>\r
+          <name>CatchNOCPERR</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkDoUpdateBreakpoints</name>\r
-          <state>0</state>\r
+          <name>CatchCHKERR</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkUpdateBreakpoints</name>\r
-          <state>main</state>\r
+          <name>CatchSTATERR</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkInterfaceRadio</name>\r
+          <name>CatchBUSERR</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>OCJLinkAttachSlave</name>\r
+          <name>CatchINTERR</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkResetList</name>\r
-          <version>5</version>\r
-          <state>7</state>\r
+          <name>CatchHARDERR</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkInterfaceCmdLine</name>\r
+          <name>CatchDummy</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCCatchCORERESET</name>\r
+          <name>CMSISDAPMultiCPUEnable</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCCatchMMERR</name>\r
+          <name>CMSISDAPMultiCPUNumber</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCCatchNOCPERR</name>\r
+          <name>OCProbeCfgOverride</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCCatchCHRERR</name>\r
-          <state>0</state>\r
+          <name>OCProbeConfig</name>\r
+          <state></state>\r
         </option>\r
         <option>\r
-          <name>CCCatchSTATERR</name>\r
+          <name>CMSISDAPProbeConfigRadio</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCCatchBUSERR</name>\r
+          <name>CMSISDAPSelectedCPUBehaviour</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCCatchINTERR</name>\r
-          <state>0</state>\r
+          <name>ICpuName</name>\r
+          <state></state>\r
         </option>\r
         <option>\r
-          <name>CCCatchHARDERR</name>\r
-          <state>0</state>\r
+          <name>OCJetEmuParams</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCCatchDummy</name>\r
+          <name>CCCMSISDAPUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCCMSISDAPUsbSerialNoSelect</name>\r
           <state>0</state>\r
         </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>GDBSERVER_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>0</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
         <option>\r
-          <name>OCJLinkScriptFile</name>\r
+          <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkUsbSerialNo</name>\r
-          <state></state>\r
+          <name>TCPIP</name>\r
+          <state>aaa.bbb.ccc.ddd</state>\r
         </option>\r
         <option>\r
-          <name>CCTcpIpAlt</name>\r
-          <version>0</version>\r
+          <name>DoLogfile</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJLinkTcpIpSerialNo</name>\r
-          <state></state>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
         <option>\r
-          <name>CCCpuClockEdit</name>\r
-          <state>72.0</state>\r
+          <name>CCJTagBreakpointRadio</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCSwoClockAuto</name>\r
+          <name>CCJTagDoUpdateBreakpoints</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCSwoClockEdit</name>\r
-          <state>2000</state>\r
+          <name>CCJTagUpdateBreakpoints</name>\r
+          <state>main</state>\r
         </option>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>LMIFTDI_ID</name>\r
+      <name>IARROM_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>1</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>LmiftdiSpeed</name>\r
-          <state>500</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLmiftdiDoLogfile</name>\r
+          <name>CRomLogFileCheck</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCLmiftdiLogFile</name>\r
+          <name>CRomLogFileEditB</name>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
         <option>\r
-          <name>CCLmiFtdiInterfaceRadio</name>\r
+          <name>CRomCommPort</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCLmiFtdiInterfaceCmdLine</name>\r
-          <state>0</state>\r
+          <name>CRomCommBaud</name>\r
+          <version>0</version>\r
+          <state>7</state>\r
+        </option>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
         </option>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>MACRAIGOR_ID</name>\r
+      <name>IJET_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>3</version>\r
+        <version>8</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
-          <name>jtag</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>EmuSpeed</name>\r
+          <name>OCIarProbeScriptFile</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>TCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
+          <name>IjetResetList</name>\r
+          <version>1</version>\r
+          <state>10</state>\r
         </option>\r
         <option>\r
-          <name>DoLogfile</name>\r
-          <state>0</state>\r
+          <name>IjetHWResetDuration</name>\r
+          <state>300</state>\r
         </option>\r
         <option>\r
-          <name>LogFile</name>\r
-          <state>$PROJ_DIR$\cspycomm.log</state>\r
+          <name>IjetHWResetDelay</name>\r
+          <state>200</state>\r
         </option>\r
         <option>\r
-          <name>DoEmuMultiTarget</name>\r
-          <state>0</state>\r
+          <name>IjetPowerFromProbe</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>EmuMultiTarget</name>\r
-          <state>0@ARM7TDMI</state>\r
+          <name>IjetPowerRadio</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>EmuHWReset</name>\r
+          <name>IjetDoLogfile</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CEmuCommBaud</name>\r
-          <version>0</version>\r
-          <state>4</state>\r
+          <name>IjetLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
         <option>\r
-          <name>CEmuCommPort</name>\r
-          <version>0</version>\r
+          <name>IjetInterfaceRadio</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>jtago</name>\r
-          <version>0</version>\r
+          <name>IjetInterfaceCmdLine</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
+          <name>IjetMultiTargetEnable</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetMultiTarget</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetScanChainNonARMDevices</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetIRLength</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetJtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetProtocolRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetSwoPin</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetCpuClockEdit</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>IjetSwoPrescalerList</name>\r
+          <version>1</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetBreakpointRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetRestoreBreakpointsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetUpdateBreakpointsEdit</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>RDICatchReset</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RDICatchUndef</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>RDICatchSWI</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RDICatchData</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>RDICatchPrefetch</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>RDICatchIRQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RDICatchFIQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CatchMMERR</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CatchNOCPERR</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CatchCHKERR</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CatchSTATERR</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CatchBUSERR</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CatchINTERR</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CatchHARDERR</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCProbeCfgOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCProbeConfig</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>IjetProbeConfigRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetMultiCPUEnable</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetMultiCPUNumber</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetSelectedCPUBehaviour</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ICpuName</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCJetEmuParams</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetPreferETB</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetTraceSettingsList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IjetTraceSizeList</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>FlashBoardPathSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>JLINK_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>16</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>JLinkSpeed</name>\r
+          <state>32</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkHWResetDelay</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>JLinkInitialSpeed</name>\r
+          <state>32</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDoJlinkMultiTarget</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCScanChainNonARMDevices</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkMultiTarget</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkIRLength</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkCommRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkTCPIP</name>\r
+          <state>aaa.bbb.ccc.ddd</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkSpeedRadioV2</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCUSBDevice</name>\r
+          <version>1</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchReset</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchUndef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchSWI</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchData</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchPrefetch</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchIRQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchFIQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkBreakpointRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkDoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkUpdateBreakpoints</name>\r
+          <state>main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkInterfaceRadio</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkResetList</name>\r
+          <version>6</version>\r
+          <state>5</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkInterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCJLinkScriptFile</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCTcpIpAlt</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJLinkTcpIpSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCCpuClockEdit</name>\r
+          <state>72.0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSwoClockAuto</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSwoClockEdit</name>\r
+          <state>2000</state>\r
+        </option>\r
+        <option>\r
+          <name>OCJLinkTraceSource</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCJLinkTraceSourceDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCJLinkDeviceName</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>LMIFTDI_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>2</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>LmiftdiSpeed</name>\r
+          <state>500</state>\r
+        </option>\r
+        <option>\r
+          <name>CCLmiftdiDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCLmiftdiLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCLmiFtdiInterfaceRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCLmiFtdiInterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>MACRAIGOR_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>3</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>jtag</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuSpeed</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>TCPIP</name>\r
+          <state>aaa.bbb.ccc.ddd</state>\r
+        </option>\r
+        <option>\r
+          <name>DoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>DoEmuMultiTarget</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuMultiTarget</name>\r
+          <state>0@ARM7TDMI</state>\r
+        </option>\r
+        <option>\r
+          <name>EmuHWReset</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CEmuCommBaud</name>\r
+          <version>0</version>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>CEmuCommPort</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>jtago</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
           <name>UnusedAddr</name>\r
           <state>0x00800000</state>\r
         </option>\r
         <option>\r
-          <name>CCMacraigorHWResetDelay</name>\r
-          <state></state>\r
+          <name>CCMacraigorHWResetDelay</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCJTagBreakpointRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJTagDoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJTagUpdateBreakpoints</name>\r
+          <state>main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMacraigorInterfaceRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMacraigorInterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>PEMICRO_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>3</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCJPEMicroShowSettings</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>RDI_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>2</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CRDIDriverDll</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>CRDILogFileCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CRDILogFileEdit</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDIHWReset</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchReset</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchUndef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRDICatchSWI</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJTagBreakpointRadio</name>\r
+          <name>CCRDICatchData</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJTagDoUpdateBreakpoints</name>\r
+          <name>CCRDICatchPrefetch</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJTagUpdateBreakpoints</name>\r
-          <state>main</state>\r
+          <name>CCRDICatchIRQ</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCMacraigorInterfaceRadio</name>\r
+          <name>CCRDICatchFIQ</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCMacraigorInterfaceCmdLine</name>\r
-          <state>0</state>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
         </option>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>PEMICRO_ID</name>\r
+      <name>STLINK_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>0</version>\r
+        <version>3</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>OCPEMicroAttachSlave</name>\r
-          <state>1</state>\r
+          <name>CCSTLinkInterfaceRadio</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCPEMicroInterfaceList</name>\r
-          <version>0</version>\r
+          <name>CCSTLinkInterfaceCmdLine</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCPEMicroResetDelay</name>\r
-          <state></state>\r
+          <name>CCSTLinkResetList</name>\r
+          <version>1</version>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCPEMicroJtagSpeed</name>\r
-          <state>#UNINITIALIZED#</state>\r
+          <name>CCCpuClockEdit</name>\r
+          <state>72.0</state>\r
         </option>\r
         <option>\r
-          <name>CCJPEMicroShowSettings</name>\r
+          <name>CCSwoClockAuto</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>CCSwoClockEdit</name>\r
+          <state>2000</state>\r
+        </option>\r
         <option>\r
           <name>DoLogfile</name>\r
           <state>0</state>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
         <option>\r
-          <name>CCPEMicroUSBDevice</name>\r
-          <version>0</version>\r
+          <name>CCSTLinkDoUpdateBreakpoints</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCPEMicroSerialPort</name>\r
-          <version>0</version>\r
+          <name>CCSTLinkUpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCORERESET</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCJPEMicroTCPIPAutoScanNetwork</name>\r
-          <state>1</state>\r
+          <name>CCSTLinkCatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchHARDERR</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCPEMicroTCPIP</name>\r
-          <state>10.0.0.1</state>\r
+          <name>CCSTLinkCatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUsbSerialNo</name>\r
+          <state></state>\r
         </option>\r
         <option>\r
-          <name>CCPEMicroCommCmdLineProducer</name>\r
+          <name>CCSTLinkUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkJtagSpeedList</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>RDI_ID</name>\r
+      <name>THIRDPARTY_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>0</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
-          <name>CRDIDriverDll</name>\r
+          <name>CThirdPartyDriverDll</name>\r
           <state>###Uninitialized###</state>\r
         </option>\r
         <option>\r
-          <name>CRDILogFileCheck</name>\r
+          <name>CThirdPartyLogFileCheck</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CRDILogFileEdit</name>\r
+          <name>CThirdPartyLogFileEditB</name>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
         <option>\r
-          <name>CCRDIHWReset</name>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>TIFET_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>1</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetResetList</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchReset</name>\r
+          <name>CCMSPFetInterfaceRadio</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchUndef</name>\r
+          <name>CCMSPFetInterfaceCmdLine</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchSWI</name>\r
+          <name>CCMSPFetTargetVccTypeDefault</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchData</name>\r
+          <name>CCMSPFetTargetVoltage</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetVCCDefault</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetTargetSettlingtime</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchPrefetch</name>\r
+          <name>CCMSPFetRadioJtagSpeedType</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetConnection</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchIRQ</name>\r
+          <name>CCMSPFetUsbComPort</name>\r
+          <state>Automatic</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetAllowAccessToBSL</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCRDICatchFIQ</name>\r
+          <name>CCMSPFetDoLogfile</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>OCDriverInfo</name>\r
+          <name>CCMSPFetLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetRadioEraseFlash</name>\r
           <state>1</state>\r
         </option>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>STLINK_ID</name>\r
+      <name>XDS100_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>5</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCSTLinkInterfaceRadio</name>\r
+          <name>TIPackageOverride</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCSTLinkInterfaceCmdLine</name>\r
+          <name>TIPackage</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>BoardFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DoLogfile</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCSTLinkResetList</name>\r
-          <version>1</version>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100BreakpointRadio</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCCpuClockEdit</name>\r
-          <state>72.0</state>\r
+          <name>CCXds100DoUpdateBreakpoints</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCSwoClockAuto</name>\r
+          <name>CCXds100UpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchReset</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CCSwoClockEdit</name>\r
-          <state>2000</state>\r
+          <name>CCXds100CatchUndef</name>\r
+          <state>0</state>\r
         </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>THIRDPARTY_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
         <option>\r
-          <name>CThirdPartyDriverDll</name>\r
-          <state>###Uninitialized###</state>\r
+          <name>CCXds100CatchSWI</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CThirdPartyLogFileCheck</name>\r
+          <name>CCXds100CatchData</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CThirdPartyLogFileEditB</name>\r
-          <state>$PROJ_DIR$\cspycomm.log</state>\r
+          <name>CCXds100CatchPrefetch</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
+          <name>CCXds100CatchIRQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchFIQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CpuClockEdit</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockAuto</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockEdit</name>\r
+          <state>1000</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100HWResetDelay</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ResetList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100JtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceRadio</name>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ProbeList</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
         </option>\r
       </data>\r
     </settings>\r
     <debuggerPlugins>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\middleware\PercepioTraceExporter\PercepioTraceExportPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
       <plugin>\r
         <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
       <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB7_Plugin.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
       <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
       <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
       <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
       <plugin>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
       <plugin>\r
-        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\FreeRTOS\FreeRTOSPlugin.ewplugin</file>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
       <plugin>\r
-        <file>$EW_DIR$\common\plugins\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
+        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
       </plugin>\r
       <plugin>\r
         <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
       <plugin>\r
-        <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
+        <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
       </plugin>\r
     </debuggerPlugins>\r
   </configuration>\r
index 18b54fbc043f54c4dc54c1d2061d15f05dd0f9f7..af590ddc0519f5686f81ffe12571beb7ba1a65b5 100644 (file)
@@ -12,7 +12,7 @@
       <name>General</name>\r
       <archiveVersion>3</archiveVersion>\r
       <data>\r
-        <version>21</version>\r
+        <version>24</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>ListPath</name>\r
           <state>Debug\List</state>\r
         </option>\r
-        <option>\r
-          <name>Variant</name>\r
-          <version>19</version>\r
-          <state>37</state>\r
-        </option>\r
         <option>\r
           <name>GEndianMode</name>\r
           <state>0</state>\r
           <name>GOutputBinary</name>\r
           <state>0</state>\r
         </option>\r
-        <option>\r
-          <name>FPU</name>\r
-          <version>2</version>\r
-          <state>0</state>\r
-        </option>\r
         <option>\r
           <name>OGCoreOrChip</name>\r
           <state>1</state>\r
@@ -87,7 +77,7 @@
         </option>\r
         <option>\r
           <name>OGLastSavedByProductVersion</name>\r
-          <state>6.20.1.52589</state>\r
+          <state>7.60.1.11206</state>\r
         </option>\r
         <option>\r
           <name>GeneralEnableMisra</name>\r
@@ -99,7 +89,7 @@
         </option>\r
         <option>\r
           <name>OGChipSelectEditMenu</name>\r
-          <state>AT91SAM3U4    Atmel AT91SAM3U4</state>\r
+          <state>ATSAM3U4E     Atmel ATSAM3U4E</state>\r
         </option>\r
         <option>\r
           <name>GenLowLevelInterface</name>\r
         </option>\r
         <option>\r
           <name>GenStdoutInterface</name>\r
-          <state>1</state>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
           <name>GeneralMisraRules98</name>\r
           <name>RTConfigPath2</name>\r
           <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>\r
         </option>\r
-        <option>\r
-          <name>GFPUCoreSlave</name>\r
-          <version>19</version>\r
-          <state>37</state>\r
-        </option>\r
         <option>\r
           <name>GBECoreSlave</name>\r
-          <version>19</version>\r
-          <state>37</state>\r
+          <version>24</version>\r
+          <state>38</state>\r
         </option>\r
         <option>\r
           <name>OGUseCmsis</name>\r
-          <state>1</state>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
           <name>OGUseCmsisDspLib</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>GRuntimeLibThreads</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CoreVariant</name>\r
+          <version>24</version>\r
+          <state>38</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUDeviceSlave</name>\r
+          <state>ATSAM3U4E     Atmel ATSAM3U4E</state>\r
+        </option>\r
+        <option>\r
+          <name>FPU2</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NrRegs</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NEON</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUCoreSlave2</name>\r
+          <version>24</version>\r
+          <state>38</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>ICCARM</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>28</version>\r
+        <version>31</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
+        <option>\r
+          <name>CCOptimizationNoSizeConstraints</name>\r
+          <state>0</state>\r
+        </option>\r
         <option>\r
           <name>CCDefines</name>\r
           <state>at91sam3u4</state>\r
         <option>\r
           <name>CCAllowList</name>\r
           <version>1</version>\r
-          <state>0000000</state>\r
+          <state>00000000</state>\r
         </option>\r
         <option>\r
           <name>CCDebugInfo</name>\r
           <name>IccFloatSemantics</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>CCNoLiteralPool</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptStrategySlave</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCGuardCalls</name>\r
+          <state>1</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>AARM</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>8</version>\r
+        <version>9</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>AExtraOptionsV2</name>\r
           <state></state>\r
         </option>\r
+        <option>\r
+          <name>AsmNoLiteralPool</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
         <debug>1</debug>\r
         <option>\r
           <name>OOCOutputFormat</name>\r
-          <version>2</version>\r
+          <version>3</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
       <data>\r
         <extensions></extensions>\r
         <cmdline></cmdline>\r
+        <hasPrio>0</hasPrio>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>ILINK</name>\r
       <archiveVersion>0</archiveVersion>\r
       <data>\r
-        <version>13</version>\r
+        <version>17</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>CrcAlign</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>CrcAlgo</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>CrcPoly</name>\r
           <state>0x11021</state>\r
           <name>IlinkOptForceVfe</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>IlinkStackAnalysisEnable</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IlinkStackControlFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>IlinkStackCallGraphFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CrcAlgorithm</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcUnitSize</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IlinkThreadsSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IlinkLogCallGraph</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
index 5c96ed1be9da655e00ee35c428ef922bdbd9c67b..12be697e997ee4b24f202fa7ae52596a2a405c1e 100644 (file)
@@ -55,6 +55,11 @@ SWOInfo_ITMPortsEnabled=0x00000001
 SWOInfo_ITMPortsTermIO=0x00000001\r
 SWOInfo_ITMPortsLogFile=0x00000000\r
 SWOInfo_ITMLogFile=$PROJ_DIR$\ITM.log\r
+WatchCond=_ 0\r
+Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0\r
+Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0\r
+CStepIntDis=_ 0\r
+LeaveTargetRunning=_ 0\r
 [DataLog]\r
 LogEnabled=0\r
 SumEnabled=0\r
index d91c7387794bb51a95cf15e90084a342b2ae45b2..c8ac51d796f258c369908eb956cd4cc3d7c65fec 100644 (file)
@@ -12,7 +12,7 @@
           \r
           \r
           \r
-        <Column0>258</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
+        <Column0>306</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
       </Workspace>\r
     <Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1216</ColumnWidth1><ColumnWidth2>324</ColumnWidth2><ColumnWidth3>81</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1622</ColumnWidth1></Debug-Log><Find-in-Files><ColumnWidth0>580</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>994</ColumnWidth2></Find-in-Files></Static>\r
     <Windows>\r
       \r
       \r
       \r
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>47</YPos><SelStart>8010</SelStart><SelEnd>8010</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
+    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>63</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
     <Positions>\r
       \r
       \r
       \r
       \r
       \r
-    <Top><Row0><Sizes><Toolbar-01336218><key>iaridepm.enu1</key></Toolbar-01336218></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>670</Bottom><Right>332</Right><x>-2</x><y>-2</y><xscreen>240</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>198810</sizeVertCX><sizeVertCY>684318</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>268</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>270</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>274949</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
+    <Top><Row0><Sizes><Toolbar-00DA1BB8><key>iaridepm.enu1</key></Toolbar-00DA1BB8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>780</Bottom><Right>380</Right><x>-2</x><y>-2</y><xscreen>274</xscreen><yscreen>231</yscreen><sizeHorzCX>142708</sizeHorzCX><sizeHorzCY>203704</sizeHorzCY><sizeVertCX>198958</sizeVertCX><sizeVertCY>689594</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>310</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>312</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>275132</sizeHorzCY><sizeVertCX>142708</sizeVertCX><sizeVertCY>203704</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
   </Desktop>\r
 </Workspace>\r
 \r
index 386dc42e9806f137d44dc2feb4c14ccd6cfa562d..2a07538dec18ae8026d77674181f3868f340d01c 100644 (file)
@@ -2,7 +2,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">\r
   <PropertyGroup>\r
     <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectVersion>6.0</ProjectVersion>\r
+    <ProjectVersion>7.0</ProjectVersion>\r
     <ProjectGuid>{1a1a7c6e-bd59-4e82-8371-7f51ae9a4bd9}</ProjectGuid>\r
     <Name>$(MSBuildProjectName)</Name>\r
     <AssemblyName>$(MSBuildProjectName)</AssemblyName>\r
     <AsfVersion>3.3.0</AsfVersion>\r
     <AsfFrameworkConfig>\r
       <framework-data>\r
-        <options>\r
-          <option id="common.boards" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="common.services.basic.clock" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="common.services.basic.gpio" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="sam.drivers.pio" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="sam.drivers.usart" value="Add" config="" content-id="Atmel.ASF" />\r
-        </options>\r
-        <configurations>\r
-          <configuration key="config.sam.pio.pio_handler" value="yes" default="yes" content-id="Atmel.ASF" />\r
-        </configurations>\r
-        <files>\r
-          <file path="src/asf.h" framework="" version="3.3.0" source="./common/applications/user_application/sam3x8h_sam3x_ek/as5_arm_template/asf.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/main.c" framework="" version="3.3.0" source="common/applications/user_application/main.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/config/conf_board.h" framework="" version="3.3.0" source="common/applications/user_application/sam3x8h_sam3x_ek/conf_board.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/boards/board.h" framework="" version="3.3.0" source="common/boards/board.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/gpio/gpio.h" framework="" version="3.3.0" source="common/services/gpio/gpio.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/gpio/sam_ioport/sam_gpio.h" framework="" version="3.3.0" source="common/services/gpio/sam_ioport/sam_gpio.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/utils/interrupt.h" framework="" version="3.3.0" source="common/utils/interrupt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/utils/interrupt/interrupt_sam_nvic.c" framework="" version="3.3.0" source="common/utils/interrupt/interrupt_sam_nvic.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/utils/interrupt/interrupt_sam_nvic.h" framework="" version="3.3.0" source="common/utils/interrupt/interrupt_sam_nvic.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/utils/parts.h" framework="" version="3.3.0" source="common/utils/parts.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/boards/sam3x_ek/init.c" framework="" version="3.3.0" source="sam/boards/sam3x_ek/init.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/boards/sam3x_ek/led.h" framework="" version="3.3.0" source="sam/boards/sam3x_ek/led.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/boards/sam3x_ek/sam3x_ek.h" framework="" version="3.3.0" source="sam/boards/sam3x_ek/sam3x_ek.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pio/pio.c" framework="" version="3.3.0" source="sam/drivers/pio/pio.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pio/pio.h" framework="" version="3.3.0" source="sam/drivers/pio/pio.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pio/pio_handler.c" framework="" version="3.3.0" source="sam/drivers/pio/pio_handler.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pio/pio_handler.h" framework="" version="3.3.0" source="sam/drivers/pio/pio_handler.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_adc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_adc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_can.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_can.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_chipid.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_chipid.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_dacc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_dacc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_dmac.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_dmac.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_efc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_efc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_emac.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_emac.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_gpbr.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_gpbr.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_hsmci.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_hsmci.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_matrix.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_matrix.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_pdc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_pdc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_pio.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_pio.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_pmc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_pmc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_pwm.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_pwm.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_rstc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_rstc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_rtc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_rtc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_rtt.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_rtt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_sdramc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_sdramc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_smc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_smc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_spi.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_spi.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_ssc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_ssc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_supc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_supc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_tc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_tc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_trng.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_trng.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_twi.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_twi.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_uart.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_uart.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_uotghs.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_uotghs.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_usart.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_usart.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_wdt.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_wdt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_adc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_adc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_can0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_can0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_can1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_can1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_chipid.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_chipid.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_dacc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_dacc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_dmac.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_dmac.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_efc0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_efc0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_efc1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_efc1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_emac.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_emac.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_gpbr.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_gpbr.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_hsmci.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_hsmci.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_matrix.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_matrix.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pioa.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pioa.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_piob.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_piob.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pioc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pioc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_piod.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_piod.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pioe.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pioe.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_piof.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_piof.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pmc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pmc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pwm.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pwm.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_rstc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_rstc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_rtc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_rtc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_rtt.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_rtt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_sdramc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_sdramc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_smc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_smc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_spi0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_spi0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_spi1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_spi1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_ssc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_ssc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_supc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_supc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_tc0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_tc0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_tc1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_tc1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_tc2.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_tc2.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_trng.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_trng.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_twi0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_twi0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_twi1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_twi1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_uart.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_uart.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_uotghs.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_uotghs.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_usart0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_usart0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_usart1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_usart1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_usart2.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_usart2.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_usart3.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_usart3.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_wdt.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_wdt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3a4c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3a4c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3a8c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3a8c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x4c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x4c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x4e.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x4e.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x8c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x8c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x8e.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x8e.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x8h.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x8h.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3a4c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3a4c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3a8c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3a8c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x4c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x4c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x4e.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x4e.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x8c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x8c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x8e.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x8e.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x8h.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x8h.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3xa.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3xa.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/exceptions.c" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/exceptions.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/exceptions.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/exceptions.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/gcc/startup_sam3x.c" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/gcc/startup_sam3x.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/system_sam3x.c" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/system_sam3x.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/system_sam3x.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/system_sam3x.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/compiler.h" framework="" version="3.3.0" source="sam/utils/compiler.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/header_files/io.h" framework="" version="3.3.0" source="sam/utils/header_files/io.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/linker_scripts/sam3x/sam3x8/gcc/flash.ld" framework="" version="3.3.0" source="sam/utils/linker_scripts/sam3x/sam3x8/gcc/flash.ld" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/make/Makefile.in" framework="" version="3.3.0" source="sam/utils/make/Makefile.in" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/preprocessor/mrepeat.h" framework="" version="3.3.0" source="sam/utils/preprocessor/mrepeat.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/preprocessor/preprocessor.h" framework="" version="3.3.0" source="sam/utils/preprocessor/preprocessor.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/preprocessor/stringz.h" framework="" version="3.3.0" source="sam/utils/preprocessor/stringz.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/preprocessor/tpaste.h" framework="" version="3.3.0" source="sam/utils/preprocessor/tpaste.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/status_codes.h" framework="" version="3.3.0" source="sam/utils/status_codes.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" framework="" version="3.3.0" source="thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/Include/core_cm3.h" framework="" version="3.3.0" source="thirdparty/CMSIS/Include/core_cm3.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/Include/core_cmFunc.h" framework="" version="3.3.0" source="thirdparty/CMSIS/Include/core_cmFunc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/Include/core_cmInstr.h" framework="" version="3.3.0" source="thirdparty/CMSIS/Include/core_cmInstr.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/README.txt" framework="" version="3.3.0" source="thirdparty/CMSIS/README.txt" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/license.txt" framework="" version="3.3.0" source="thirdparty/CMSIS/license.txt" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pmc/pmc.c" framework="" version="" source="sam\drivers\pmc\pmc.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pmc/pmc.h" framework="" version="" source="sam\drivers\pmc\pmc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pmc/sleep.h" framework="" version="" source="sam\drivers\pmc\sleep.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam3x/sysclk.c" framework="" version="" source="common\services\clock\sam3x\sysclk.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/genclk.h" framework="" version="" source="common\services\clock\genclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/osc.h" framework="" version="" source="common\services\clock\osc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam3x/pll.h" framework="" version="" source="common\services\clock\sam3x\pll.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam3x/sysclk.h" framework="" version="" source="common\services\clock\sam3x\sysclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam3x/osc.h" framework="" version="" source="common\services\clock\sam3x\osc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam3x/genclk.h" framework="" version="" source="common\services\clock\sam3x\genclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sysclk.h" framework="" version="" source="common\services\clock\sysclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/pll.h" framework="" version="" source="common\services\clock\pll.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/config/conf_clock.h" framework="" version="" source="common\services\clock\sam3x\module_config\conf_clock.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/usart/usart.c" framework="" version="" source="sam\drivers\usart\usart.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/usart/usart.h" framework="" version="" source="sam\drivers\usart\usart.h" changed="False" content-id="Atmel.ASF" />\r
-        </files>\r
-        <documentation help="http://asf.atmel.com/docs/3.3.0/common.applications.user_application.sam3x_ek/html/index.html" />\r
-      </framework-data>\r
+  <options>\r
+    <option id="common.boards" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="common.services.basic.clock" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="common.services.basic.gpio" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="sam.drivers.pio" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="sam.drivers.usart" value="Add" config="" content-id="Atmel.ASF" />\r
+  </options>\r
+  <configurations>\r
+    <configuration key="config.sam.pio.pio_handler" value="yes" default="yes" content-id="Atmel.ASF" />\r
+  </configurations>\r
+  <files>\r
+    <file path="src/asf.h" framework="" version="3.3.0" source="./common/applications/user_application/sam3x8h_sam3x_ek/as5_arm_template/asf.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/main.c" framework="" version="3.3.0" source="common/applications/user_application/main.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/config/conf_board.h" framework="" version="3.3.0" source="common/applications/user_application/sam3x8h_sam3x_ek/conf_board.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/boards/board.h" framework="" version="3.3.0" source="common/boards/board.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/gpio/gpio.h" framework="" version="3.3.0" source="common/services/gpio/gpio.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/gpio/sam_ioport/sam_gpio.h" framework="" version="3.3.0" source="common/services/gpio/sam_ioport/sam_gpio.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/utils/interrupt.h" framework="" version="3.3.0" source="common/utils/interrupt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/utils/interrupt/interrupt_sam_nvic.c" framework="" version="3.3.0" source="common/utils/interrupt/interrupt_sam_nvic.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/utils/interrupt/interrupt_sam_nvic.h" framework="" version="3.3.0" source="common/utils/interrupt/interrupt_sam_nvic.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/utils/parts.h" framework="" version="3.3.0" source="common/utils/parts.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/boards/sam3x_ek/init.c" framework="" version="3.3.0" source="sam/boards/sam3x_ek/init.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/boards/sam3x_ek/led.h" framework="" version="3.3.0" source="sam/boards/sam3x_ek/led.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/boards/sam3x_ek/sam3x_ek.h" framework="" version="3.3.0" source="sam/boards/sam3x_ek/sam3x_ek.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pio/pio.c" framework="" version="3.3.0" source="sam/drivers/pio/pio.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pio/pio.h" framework="" version="3.3.0" source="sam/drivers/pio/pio.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pio/pio_handler.c" framework="" version="3.3.0" source="sam/drivers/pio/pio_handler.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pio/pio_handler.h" framework="" version="3.3.0" source="sam/drivers/pio/pio_handler.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_adc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_adc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_can.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_can.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_chipid.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_chipid.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_dacc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_dacc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_dmac.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_dmac.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_efc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_efc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_emac.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_emac.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_gpbr.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_gpbr.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_hsmci.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_hsmci.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_matrix.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_matrix.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_pdc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_pdc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_pio.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_pio.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_pmc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_pmc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_pwm.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_pwm.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_rstc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_rstc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_rtc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_rtc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_rtt.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_rtt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_sdramc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_sdramc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_smc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_smc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_spi.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_spi.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_ssc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_ssc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_supc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_supc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_tc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_tc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_trng.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_trng.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_twi.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_twi.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_uart.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_uart.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_uotghs.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_uotghs.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_usart.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_usart.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/component/component_wdt.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/component/component_wdt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_adc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_adc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_can0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_can0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_can1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_can1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_chipid.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_chipid.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_dacc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_dacc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_dmac.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_dmac.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_efc0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_efc0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_efc1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_efc1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_emac.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_emac.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_gpbr.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_gpbr.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_hsmci.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_hsmci.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_matrix.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_matrix.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pioa.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pioa.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_piob.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_piob.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pioc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pioc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_piod.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_piod.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pioe.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pioe.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_piof.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_piof.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pmc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pmc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_pwm.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_pwm.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_rstc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_rstc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_rtc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_rtc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_rtt.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_rtt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_sdramc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_sdramc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_smc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_smc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_spi0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_spi0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_spi1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_spi1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_ssc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_ssc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_supc.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_supc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_tc0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_tc0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_tc1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_tc1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_tc2.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_tc2.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_trng.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_trng.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_twi0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_twi0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_twi1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_twi1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_uart.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_uart.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_uotghs.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_uotghs.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_usart0.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_usart0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_usart1.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_usart1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_usart2.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_usart2.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_usart3.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_usart3.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/instance/instance_wdt.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/instance/instance_wdt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3a4c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3a4c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3a8c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3a8c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x4c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x4c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x4e.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x4e.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x8c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x8c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x8e.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x8e.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/pio/pio_sam3x8h.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/pio/pio_sam3x8h.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3a4c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3a4c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3a8c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3a8c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x4c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x4c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x4e.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x4e.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x8c.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x8c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x8e.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x8e.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3x8h.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3x8h.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/include/sam3xa.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/include/sam3xa.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/exceptions.c" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/exceptions.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/exceptions.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/exceptions.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/gcc/startup_sam3x.c" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/gcc/startup_sam3x.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/system_sam3x.c" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/system_sam3x.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam3x/source/templates/system_sam3x.h" framework="" version="3.3.0" source="sam/utils/cmsis/sam3x/source/templates/system_sam3x.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/compiler.h" framework="" version="3.3.0" source="sam/utils/compiler.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/header_files/io.h" framework="" version="3.3.0" source="sam/utils/header_files/io.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/linker_scripts/sam3x/sam3x8/gcc/flash.ld" framework="" version="3.3.0" source="sam/utils/linker_scripts/sam3x/sam3x8/gcc/flash.ld" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/make/Makefile.in" framework="" version="3.3.0" source="sam/utils/make/Makefile.in" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/preprocessor/mrepeat.h" framework="" version="3.3.0" source="sam/utils/preprocessor/mrepeat.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/preprocessor/preprocessor.h" framework="" version="3.3.0" source="sam/utils/preprocessor/preprocessor.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/preprocessor/stringz.h" framework="" version="3.3.0" source="sam/utils/preprocessor/stringz.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/preprocessor/tpaste.h" framework="" version="3.3.0" source="sam/utils/preprocessor/tpaste.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/status_codes.h" framework="" version="3.3.0" source="sam/utils/status_codes.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" framework="" version="3.3.0" source="thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/Include/core_cm3.h" framework="" version="3.3.0" source="thirdparty/CMSIS/Include/core_cm3.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/Include/core_cmFunc.h" framework="" version="3.3.0" source="thirdparty/CMSIS/Include/core_cmFunc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/Include/core_cmInstr.h" framework="" version="3.3.0" source="thirdparty/CMSIS/Include/core_cmInstr.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/README.txt" framework="" version="3.3.0" source="thirdparty/CMSIS/README.txt" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/license.txt" framework="" version="3.3.0" source="thirdparty/CMSIS/license.txt" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pmc/pmc.c" framework="" version="" source="sam\drivers\pmc\pmc.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pmc/pmc.h" framework="" version="" source="sam\drivers\pmc\pmc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pmc/sleep.h" framework="" version="" source="sam\drivers\pmc\sleep.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam3x/sysclk.c" framework="" version="" source="common\services\clock\sam3x\sysclk.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/genclk.h" framework="" version="" source="common\services\clock\genclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/osc.h" framework="" version="" source="common\services\clock\osc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam3x/pll.h" framework="" version="" source="common\services\clock\sam3x\pll.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam3x/sysclk.h" framework="" version="" source="common\services\clock\sam3x\sysclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam3x/osc.h" framework="" version="" source="common\services\clock\sam3x\osc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam3x/genclk.h" framework="" version="" source="common\services\clock\sam3x\genclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sysclk.h" framework="" version="" source="common\services\clock\sysclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/pll.h" framework="" version="" source="common\services\clock\pll.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/config/conf_clock.h" framework="" version="" source="common\services\clock\sam3x\module_config\conf_clock.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/usart/usart.c" framework="" version="" source="sam\drivers\usart\usart.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/usart/usart.h" framework="" version="" source="sam\drivers\usart\usart.h" changed="False" content-id="Atmel.ASF" />\r
+  </files>\r
+  <documentation help="" />\r
+  <offline-documentation help="" />\r
+  <dependencies>\r
+    <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.20.1" />\r
+  </dependencies>\r
+</framework-data>\r
     </AsfFrameworkConfig>\r
     <avrdevice>ATSAM3X8H</avrdevice>\r
     <avrdeviceseries>sam3x</avrdeviceseries>\r
     <Language>C</Language>\r
-    <ToolchainName>com.Atmel.ARMGCC</ToolchainName>\r
+    <ToolchainName>com.Atmel.ARMGCC.C</ToolchainName>\r
     <ArmGccProjectExtensions />\r
     <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>\r
     <OutputFileName>$(MSBuildProjectName)</OutputFileName>\r
         </InterfaceProperties>\r
       </ToolOptions>\r
     </com_atmel_avrdbg_tool_samice>\r
+    <CacheFlash>true</CacheFlash>\r
+    <ProgFlashFromRam>true</ProgFlashFromRam>\r
+    <RamSnippetAddress />\r
+    <UncachedRange />\r
+    <preserveEEPROM>true</preserveEEPROM>\r
+    <BootSegment>2</BootSegment>\r
   </PropertyGroup>\r
   <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">\r
-    <ToolchainSettings>\r
-      <ArmGcc>\r
-        <armgcc.common.general.symbols>__SAM3X8H__</armgcc.common.general.symbols>\r
-        <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>\r
-        <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>\r
-        <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>\r
-        <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>\r
-        <armgcc.compiler.symbols.DefSymbols>\r
-          <ListValues>\r
-            <Value>BOARD=SAM3X_EK</Value>\r
-            <Value>__SAM3X8H__</Value>\r
-          </ListValues>\r
-        </armgcc.compiler.symbols.DefSymbols>\r
-        <armgcc.compiler.directories.IncludePaths>\r
-          <ListValues>\r
-            <Value>../src</Value>\r
-            <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
-            <Value>../src/asf/common/boards</Value>\r
-            <Value>../src/asf/common/services/gpio</Value>\r
-            <Value>../src/asf/common/utils</Value>\r
-            <Value>../src/asf/sam/boards</Value>\r
-            <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
-            <Value>../src/asf/sam/drivers/pio</Value>\r
-            <Value>../src/asf/sam/utils</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
-            <Value>../src/asf/sam/utils/header_files</Value>\r
-            <Value>../src/asf/sam/utils/preprocessor</Value>\r
-            <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
-            <Value>../src/config</Value>\r
-            <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles</Value>\r
-            <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\CMSIS\Include</Value>\r
-            <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\Device\ATMEL</Value>\r
-            <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\Device\ATMEL\sam3xa\include</Value>\r
-            <Value>../src/asf/sam/drivers/pmc</Value>\r
-            <Value>../src/asf/common/services/clock</Value>\r
-            <Value>../src/asf/sam/drivers/usart</Value>\r
-          </ListValues>\r
-        </armgcc.compiler.directories.IncludePaths>\r
-        <armgcc.compiler.optimization.level>Optimize for size (-Os)</armgcc.compiler.optimization.level>\r
-        <armgcc.compiler.optimization.OtherFlags>-fdata-sections</armgcc.compiler.optimization.OtherFlags>\r
-        <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>\r
-        <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>\r
-        <armgcc.compiler.miscellaneous.OtherFlags>-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return  -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -Dprintf=iprintf</armgcc.compiler.miscellaneous.OtherFlags>\r
-        <armgcc.linker.general.DoNotUseStandardStartFiles />\r
-        <armgcc.linker.general.DoNotUseDefaultLibraries />\r
-        <armgcc.linker.general.NoStartupOrDefaultLibs />\r
-        <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>\r
-        <armgcc.linker.miscellaneous.LinkerFlags>-T../src/asf/sam/utils/linker_scripts/sam3x/sam3x8/gcc/flash.ld -Wl,--cref -Wl,--entry=Reset_Handler -mthumb</armgcc.linker.miscellaneous.LinkerFlags>\r
-        <armgcc.assembler.general.IncludePaths>\r
-          <ListValues>\r
-            <Value>../src</Value>\r
-            <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
-            <Value>../src/asf/common/boards</Value>\r
-            <Value>../src/asf/common/services/gpio</Value>\r
-            <Value>../src/asf/common/utils</Value>\r
-            <Value>../src/asf/sam/boards</Value>\r
-            <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
-            <Value>../src/asf/sam/drivers/pio</Value>\r
-            <Value>../src/asf/sam/utils</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
-            <Value>../src/asf/sam/utils/header_files</Value>\r
-            <Value>../src/asf/sam/utils/preprocessor</Value>\r
-            <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
-            <Value>../src/config</Value>\r
-            <Value>../src/asf/sam/drivers/pmc</Value>\r
-            <Value>../src/asf/common/services/clock</Value>\r
-            <Value>../src/asf/sam/drivers/usart</Value>\r
-          </ListValues>\r
-        </armgcc.assembler.general.IncludePaths>\r
-        <armgcc.preprocessingassembler.general.AssemblerFlags>-DBOARD=SAM3X_EK -D__SAM3X8H__</armgcc.preprocessingassembler.general.AssemblerFlags>\r
-        <armgcc.preprocessingassembler.general.IncludePaths>\r
-          <ListValues>\r
-            <Value>../src</Value>\r
-            <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
-            <Value>../src/asf/common/boards</Value>\r
-            <Value>../src/asf/common/services/gpio</Value>\r
-            <Value>../src/asf/common/utils</Value>\r
-            <Value>../src/asf/sam/boards</Value>\r
-            <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
-            <Value>../src/asf/sam/drivers/pio</Value>\r
-            <Value>../src/asf/sam/utils</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
-            <Value>../src/asf/sam/utils/header_files</Value>\r
-            <Value>../src/asf/sam/utils/preprocessor</Value>\r
-            <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
-            <Value>../src/config</Value>\r
-            <Value>../src/asf/sam/drivers/pmc</Value>\r
-            <Value>../src/asf/common/services/clock</Value>\r
-            <Value>../src/asf/sam/drivers/usart</Value>\r
-          </ListValues>\r
-        </armgcc.preprocessingassembler.general.IncludePaths>\r
-      </ArmGcc>\r
-    </ToolchainSettings>\r
     <GenerateHexFile>True</GenerateHexFile>\r
     <GenerateMapFile>True</GenerateMapFile>\r
     <GenerateListFile>True</GenerateListFile>\r
     <GenerateEepFile>True</GenerateEepFile>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">\r
     <ToolchainSettings>\r
-      <ArmGcc>\r
-        <armgcc.common.general.symbols>__SAM3X8H__</armgcc.common.general.symbols>\r
-        <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>\r
-        <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>\r
-        <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>\r
-        <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>\r
-        <armgcc.compiler.symbols.DefSymbols>\r
-          <ListValues>\r
-            <Value>BOARD=SAM3X_EK</Value>\r
-            <Value>__SAM3X8H__</Value>\r
-          </ListValues>\r
-        </armgcc.compiler.symbols.DefSymbols>\r
-        <armgcc.compiler.directories.IncludePaths>\r
-          <ListValues>\r
-            <Value>../src</Value>\r
-            <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
-            <Value>../src/asf/common/boards</Value>\r
-            <Value>../src/asf/common/services/gpio</Value>\r
-            <Value>../src/asf/common/utils</Value>\r
-            <Value>../src/asf/sam/boards</Value>\r
-            <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
-            <Value>../src/asf/sam/drivers/pio</Value>\r
-            <Value>../src/asf/sam/utils</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
-            <Value>../src/asf/sam/utils/header_files</Value>\r
-            <Value>../src/asf/sam/utils/preprocessor</Value>\r
-            <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
-            <Value>../src/config</Value>\r
-            <Value>../src/asf/thirdparty/FreeRTOS/include</Value>\r
-            <Value>../src/asf/thirdparty/FreeRTOS/portable/GCC/ARM_CM3</Value>\r
-            <Value>../src/Common-Demo-Source/include</Value>\r
-            <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles</Value>\r
-            <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\CMSIS\Include</Value>\r
-            <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\Device\ATMEL</Value>\r
-            <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\Device\ATMEL\sam3xa\include</Value>\r
-            <Value>../src/asf/sam/drivers/pmc</Value>\r
-            <Value>../src/asf/common/services/clock</Value>\r
-            <Value>../src/asf/sam/drivers/usart</Value>\r
-          </ListValues>\r
-        </armgcc.compiler.directories.IncludePaths>\r
-        <armgcc.compiler.optimization.OtherFlags>-fdata-sections</armgcc.compiler.optimization.OtherFlags>\r
-        <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>\r
-        <armgcc.compiler.optimization.DebugLevel>Maximum (-g3)</armgcc.compiler.optimization.DebugLevel>\r
-        <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>\r
-        <armgcc.compiler.miscellaneous.OtherFlags>-pipe -Wall -Wextra -std=gnu99 -ffunction-sections -fdata-sections --param max-inline-insns-single=500 -Dprintf=iprintf</armgcc.compiler.miscellaneous.OtherFlags>\r
-        <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>\r
-        <armgcc.linker.miscellaneous.LinkerFlags>-T../src/asf/sam/utils/linker_scripts/sam3x/sam3x8/gcc/flash.ld -Wl,--cref -Wl,--entry=Reset_Handler -mthumb</armgcc.linker.miscellaneous.LinkerFlags>\r
-        <armgcc.assembler.general.IncludePaths>\r
-          <ListValues>\r
-            <Value>../src</Value>\r
-            <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
-            <Value>../src/asf/common/boards</Value>\r
-            <Value>../src/asf/common/services/gpio</Value>\r
-            <Value>../src/asf/common/utils</Value>\r
-            <Value>../src/asf/sam/boards</Value>\r
-            <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
-            <Value>../src/asf/sam/drivers/pio</Value>\r
-            <Value>../src/asf/sam/utils</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
-            <Value>../src/asf/sam/utils/header_files</Value>\r
-            <Value>../src/asf/sam/utils/preprocessor</Value>\r
-            <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
-            <Value>../src/config</Value>\r
-            <Value>../src/asf/sam/drivers/pmc</Value>\r
-            <Value>../src/asf/common/services/clock</Value>\r
-            <Value>../src/asf/sam/drivers/usart</Value>\r
-          </ListValues>\r
-        </armgcc.assembler.general.IncludePaths>\r
-        <armgcc.preprocessingassembler.general.AssemblerFlags>-DBOARD=SAM3X_EK -D__SAM3X8H__</armgcc.preprocessingassembler.general.AssemblerFlags>\r
-        <armgcc.preprocessingassembler.general.IncludePaths>\r
-          <ListValues>\r
-            <Value>../src</Value>\r
-            <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
-            <Value>../src/asf/common/boards</Value>\r
-            <Value>../src/asf/common/services/gpio</Value>\r
-            <Value>../src/asf/common/utils</Value>\r
-            <Value>../src/asf/sam/boards</Value>\r
-            <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
-            <Value>../src/asf/sam/drivers/pio</Value>\r
-            <Value>../src/asf/sam/utils</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
-            <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
-            <Value>../src/asf/sam/utils/header_files</Value>\r
-            <Value>../src/asf/sam/utils/preprocessor</Value>\r
-            <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
-            <Value>../src/config</Value>\r
-            <Value>../src/asf/sam/drivers/pmc</Value>\r
-            <Value>../src/asf/common/services/clock</Value>\r
-            <Value>../src/asf/sam/drivers/usart</Value>\r
-          </ListValues>\r
-        </armgcc.preprocessingassembler.general.IncludePaths>\r
-      </ArmGcc>\r
+      <ArmGcc xmlns="">\r
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>\r
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>\r
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>\r
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>\r
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>\r
+  <armgcc.compiler.symbols.DefSymbols>\r
+    <ListValues>\r
+      <Value>BOARD=SAM3X_EK</Value>\r
+      <Value>__SAM3X8H__</Value>\r
+    </ListValues>\r
+  </armgcc.compiler.symbols.DefSymbols>\r
+  <armgcc.compiler.directories.IncludePaths>\r
+    <ListValues>\r
+      <Value>../src</Value>\r
+      <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
+      <Value>../src/asf/common/boards</Value>\r
+      <Value>../src/asf/common/services/gpio</Value>\r
+      <Value>../src/asf/common/utils</Value>\r
+      <Value>../src/asf/sam/boards</Value>\r
+      <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
+      <Value>../src/asf/sam/drivers/pio</Value>\r
+      <Value>../src/asf/sam/utils</Value>\r
+      <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
+      <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
+      <Value>../src/asf/sam/utils/header_files</Value>\r
+      <Value>../src/asf/sam/utils/preprocessor</Value>\r
+      <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
+      <Value>../src/config</Value>\r
+      <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles</Value>\r
+      <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\CMSIS\Include</Value>\r
+      <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\Device\ATMEL</Value>\r
+      <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\Device\ATMEL\sam3xa\include</Value>\r
+      <Value>../src/asf/sam/drivers/pmc</Value>\r
+      <Value>../src/asf/common/services/clock</Value>\r
+      <Value>../src/asf/sam/drivers/usart</Value>\r
+    </ListValues>\r
+  </armgcc.compiler.directories.IncludePaths>\r
+  <armgcc.compiler.optimization.level>Optimize for size (-Os)</armgcc.compiler.optimization.level>\r
+  <armgcc.compiler.optimization.OtherFlags>-fdata-sections</armgcc.compiler.optimization.OtherFlags>\r
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>\r
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>\r
+  <armgcc.compiler.miscellaneous.OtherFlags>-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 -ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -Wshadow -Wbad-function-cast -Wwrite-strings -Wsign-compare -Waggregate-return  -Wmissing-declarations -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long -Wunreachable-code -Wcast-align --param max-inline-insns-single=500 -Dprintf=iprintf</armgcc.compiler.miscellaneous.OtherFlags>\r
+  <armgcc.linker.general.DoNotUseStandardStartFiles />\r
+  <armgcc.linker.general.DoNotUseDefaultLibraries />\r
+  <armgcc.linker.general.NoStartupOrDefaultLibs />\r
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>\r
+  <armgcc.linker.miscellaneous.LinkerFlags>-T../src/asf/sam/utils/linker_scripts/sam3x/sam3x8/gcc/flash.ld -Wl,--cref -Wl,--entry=Reset_Handler -mthumb</armgcc.linker.miscellaneous.LinkerFlags>\r
+  <armgcc.preprocessingassembler.general.AssemblerFlags>-DBOARD=SAM3X_EK -D__SAM3X8H__</armgcc.preprocessingassembler.general.AssemblerFlags>\r
+  <armgcc.preprocessingassembler.general.IncludePaths>\r
+    <ListValues>\r
+      <Value>../src</Value>\r
+      <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
+      <Value>../src/asf/common/boards</Value>\r
+      <Value>../src/asf/common/services/gpio</Value>\r
+      <Value>../src/asf/common/utils</Value>\r
+      <Value>../src/asf/sam/boards</Value>\r
+      <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
+      <Value>../src/asf/sam/drivers/pio</Value>\r
+      <Value>../src/asf/sam/utils</Value>\r
+      <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
+      <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
+      <Value>../src/asf/sam/utils/header_files</Value>\r
+      <Value>../src/asf/sam/utils/preprocessor</Value>\r
+      <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
+      <Value>../src/config</Value>\r
+      <Value>../src/asf/sam/drivers/pmc</Value>\r
+      <Value>../src/asf/common/services/clock</Value>\r
+      <Value>../src/asf/sam/drivers/usart</Value>\r
+    </ListValues>\r
+  </armgcc.preprocessingassembler.general.IncludePaths>\r
+</ArmGcc>\r
     </ToolchainSettings>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">\r
     <GenerateHexFile>True</GenerateHexFile>\r
     <GenerateMapFile>True</GenerateMapFile>\r
     <GenerateListFile>True</GenerateListFile>\r
     <GenerateEepFile>True</GenerateEepFile>\r
+    <ToolchainSettings>\r
+      <ArmGcc xmlns="">\r
+  <armgcc.common.outputfiles.hex>True</armgcc.common.outputfiles.hex>\r
+  <armgcc.common.outputfiles.lss>True</armgcc.common.outputfiles.lss>\r
+  <armgcc.common.outputfiles.eep>True</armgcc.common.outputfiles.eep>\r
+  <armgcc.common.outputfiles.bin>True</armgcc.common.outputfiles.bin>\r
+  <armgcc.common.outputfiles.srec>True</armgcc.common.outputfiles.srec>\r
+  <armgcc.compiler.symbols.DefSymbols>\r
+    <ListValues>\r
+      <Value>BOARD=SAM3X_EK</Value>\r
+      <Value>__SAM3X8H__</Value>\r
+    </ListValues>\r
+  </armgcc.compiler.symbols.DefSymbols>\r
+  <armgcc.compiler.directories.IncludePaths>\r
+    <ListValues>\r
+      <Value>../src</Value>\r
+      <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
+      <Value>../src/asf/common/boards</Value>\r
+      <Value>../src/asf/common/services/gpio</Value>\r
+      <Value>../src/asf/common/utils</Value>\r
+      <Value>../src/asf/sam/boards</Value>\r
+      <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
+      <Value>../src/asf/sam/drivers/pio</Value>\r
+      <Value>../src/asf/sam/utils</Value>\r
+      <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
+      <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
+      <Value>../src/asf/sam/utils/header_files</Value>\r
+      <Value>../src/asf/sam/utils/preprocessor</Value>\r
+      <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
+      <Value>../src/config</Value>\r
+      <Value>../src/asf/thirdparty/FreeRTOS/include</Value>\r
+      <Value>../src/asf/thirdparty/FreeRTOS/portable/GCC/ARM_CM3</Value>\r
+      <Value>../src/Common-Demo-Source/include</Value>\r
+      <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles</Value>\r
+      <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\CMSIS\Include</Value>\r
+      <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\Device\ATMEL</Value>\r
+      <Value>C:\devtools\Atmel\Atmel Studio 6.0\extensions\Atmel\ARMGCC\3.3.1.83\ARMSupportFiles\Device\ATMEL\sam3xa\include</Value>\r
+      <Value>../src/asf/sam/drivers/pmc</Value>\r
+      <Value>../src/asf/common/services/clock</Value>\r
+      <Value>../src/asf/sam/drivers/usart</Value>\r
+    </ListValues>\r
+  </armgcc.compiler.directories.IncludePaths>\r
+  <armgcc.compiler.optimization.OtherFlags>-fdata-sections</armgcc.compiler.optimization.OtherFlags>\r
+  <armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>True</armgcc.compiler.optimization.PrepareFunctionsForGarbageCollection>\r
+  <armgcc.compiler.optimization.DebugLevel>Maximum (-g3)</armgcc.compiler.optimization.DebugLevel>\r
+  <armgcc.compiler.warnings.AllWarnings>True</armgcc.compiler.warnings.AllWarnings>\r
+  <armgcc.compiler.miscellaneous.OtherFlags>-pipe -Wall -Wextra -std=gnu99 -ffunction-sections -fdata-sections --param max-inline-insns-single=500 -Dprintf=iprintf</armgcc.compiler.miscellaneous.OtherFlags>\r
+  <armgcc.linker.optimization.GarbageCollectUnusedSections>True</armgcc.linker.optimization.GarbageCollectUnusedSections>\r
+  <armgcc.linker.miscellaneous.LinkerFlags>-T../src/asf/sam/utils/linker_scripts/sam3x/sam3x8/gcc/flash.ld -Wl,--cref -Wl,--entry=Reset_Handler -mthumb</armgcc.linker.miscellaneous.LinkerFlags>\r
+  <armgcc.preprocessingassembler.general.AssemblerFlags>-DBOARD=SAM3X_EK -D__SAM3X8H__</armgcc.preprocessingassembler.general.AssemblerFlags>\r
+  <armgcc.preprocessingassembler.general.IncludePaths>\r
+    <ListValues>\r
+      <Value>../src</Value>\r
+      <Value>../src/asf/common/applications/user_application/sam3x8h_sam3x_ek</Value>\r
+      <Value>../src/asf/common/boards</Value>\r
+      <Value>../src/asf/common/services/gpio</Value>\r
+      <Value>../src/asf/common/utils</Value>\r
+      <Value>../src/asf/sam/boards</Value>\r
+      <Value>../src/asf/sam/boards/sam3x_ek</Value>\r
+      <Value>../src/asf/sam/drivers/pio</Value>\r
+      <Value>../src/asf/sam/utils</Value>\r
+      <Value>../src/asf/sam/utils/cmsis/sam3x/include</Value>\r
+      <Value>../src/asf/sam/utils/cmsis/sam3x/source/templates</Value>\r
+      <Value>../src/asf/sam/utils/header_files</Value>\r
+      <Value>../src/asf/sam/utils/preprocessor</Value>\r
+      <Value>../src/asf/thirdparty/CMSIS/Include</Value>\r
+      <Value>../src/config</Value>\r
+      <Value>../src/asf/sam/drivers/pmc</Value>\r
+      <Value>../src/asf/common/services/clock</Value>\r
+      <Value>../src/asf/sam/drivers/usart</Value>\r
+    </ListValues>\r
+  </armgcc.preprocessingassembler.general.IncludePaths>\r
+</ArmGcc>\r
+    </ToolchainSettings>\r
   </PropertyGroup>\r
   <ItemGroup>\r
     <None Include="src\asf\common\services\clock\genclk.h">\r
index 8f0de0298c10e2bc54daf70a49cba129029553bf..0e475e7e3f2f40cb69ea094528288e4162dc48fa 100644 (file)
     <RootNamespace>$(MSBuildProjectName)</RootNamespace>\r
     <AsfFrameworkConfig>\r
       <framework-data>\r
-        <options>\r
-          <option id="common.boards" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="sam0.drivers.port" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="sam0.drivers.system" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="common.services.basic.serial" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="common.applications.user_application.xplained_pro2" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="common.utils" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="sam0.utils.cmsis.samd20.source.template" value="Add" config="" content-id="Atmel.ASF" />\r
-        </options>\r
-        <configurations>\r
-          <configuration key="config.sam0.drivers.sercom.usart" value="callback" default="callback" content-id="Atmel.ASF" />\r
-        </configurations>\r
-        <files>\r
-          <file path="src/main.c" framework="" version="" source="common2/applications/xplained_pro_user_application/main.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/config/conf_board.h" framework="" version="" source="common2/applications/xplained_pro_user_application/samd20j18_samd20_xplained_pro/config/conf_board.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/config/conf_clocks.h" framework="" version="" source="common2/applications/xplained_pro_user_application/samd20j18_samd20_xplained_pro/config/conf_clocks.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/common/boards/board.h" framework="" version="" source="common/boards/board.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/common/utils/interrupt.h" framework="" version="" source="common/utils/interrupt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/common/utils/interrupt/interrupt_sam_nvic.c" framework="" version="" source="common/utils/interrupt/interrupt_sam_nvic.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/common/utils/interrupt/interrupt_sam_nvic.h" framework="" version="" source="common/utils/interrupt/interrupt_sam_nvic.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/common/utils/parts.h" framework="" version="" source="common/utils/parts.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/boards/samd20_xplained_pro/board_init.c" framework="" version="" source="sam0/boards/samd20_xplained_pro/board_init.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/boards/samd20_xplained_pro/samd20_xplained_pro.h" framework="" version="" source="sam0/boards/samd20_xplained_pro/samd20_xplained_pro.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/port/port.c" framework="" version="" source="sam0/drivers/port/port.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/port/port.h" framework="" version="" source="sam0/drivers/port/port.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/port/quick_start/qs_port_basic.h" framework="" version="" source="sam0/drivers/port/quick_start/qs_port_basic.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/clock/clock.c" framework="" version="" source="sam0/drivers/system/clock/clock.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/clock/clock.h" framework="" version="" source="sam0/drivers/system/clock/clock.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/clock/clock_config_check.h" framework="" version="" source="sam0/drivers/system/clock/clock_config_check.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/clock/gclk.c" framework="" version="" source="sam0/drivers/system/clock/gclk.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/clock/gclk.h" framework="" version="" source="sam0/drivers/system/clock/gclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/clock/quick_start_clock/qs_clock_source.h" framework="" version="" source="sam0/drivers/system/clock/quick_start_clock/qs_clock_source.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/clock/quick_start_gclk/qs_gclk_basic.h" framework="" version="" source="sam0/drivers/system/clock/quick_start_gclk/qs_gclk_basic.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/interrupt/quick_start/qs_system_interrupt.h" framework="" version="" source="sam0/drivers/system/interrupt/quick_start/qs_system_interrupt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/interrupt/system_interrupt.c" framework="" version="" source="sam0/drivers/system/interrupt/system_interrupt.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/interrupt/system_interrupt.h" framework="" version="" source="sam0/drivers/system/interrupt/system_interrupt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/pinmux/pinmux.c" framework="" version="" source="sam0/drivers/system/pinmux/pinmux.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/pinmux/pinmux.h" framework="" version="" source="sam0/drivers/system/pinmux/pinmux.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/pinmux/quick_start/qs_pinmux_basic.h" framework="" version="" source="sam0/drivers/system/pinmux/quick_start/qs_pinmux_basic.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/system.c" framework="" version="" source="sam0/drivers/system/system.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/system/system.h" framework="" version="" source="sam0/drivers/system/system.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_ac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_ac.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_adc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_adc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_dac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_dac.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_dsu.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_dsu.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_eic.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_eic.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_evsys.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_evsys.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_gclk.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_gclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_nvmctrl.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_nvmctrl.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_pac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_pac.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_pm.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_pm.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_port.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_port.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_rtc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_rtc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_sercom.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_sercom.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_sysctrl.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_sysctrl.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_tc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_tc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_wdt.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_wdt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_ac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_ac.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_adc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_adc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_dac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_dac.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_dsu.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_dsu.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_eic.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_eic.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_evsys.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_evsys.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_gclk.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_gclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_nvmctrl.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_nvmctrl.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_pac0.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_pac0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_pac1.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_pac1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_pac2.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_pac2.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_pm.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_pm.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_port.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_port.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_rtc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_rtc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom0.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom1.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom2.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom2.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom3.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom3.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom4.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom4.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom5.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom5.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sysctrl.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sysctrl.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc0.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc1.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc2.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc2.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc3.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc3.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc4.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc4.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc5.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc5.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc6.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc6.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc7.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc7.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_wdt.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_wdt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e14.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e15.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e16.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e17.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e18.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g14.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g15.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g16.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g17.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g18.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j14.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j15.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j16.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j17.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j18.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e14.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e15.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e16.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e17.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e18.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g14.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g15.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g16.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g17.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g18.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j14.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j15.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j16.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j17.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j18.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/source/gcc/startup_samd20.c" framework="" version="" source="sam0/utils/cmsis/samd20/source/gcc/startup_samd20.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/source/system_samd20.c" framework="" version="" source="sam0/utils/cmsis/samd20/source/system_samd20.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/cmsis/samd20/source/system_samd20.h" framework="" version="" source="sam0/utils/cmsis/samd20/source/system_samd20.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/compiler.h" framework="" version="" source="sam0/utils/compiler.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/header_files/io.h" framework="" version="" source="sam0/utils/header_files/io.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/linker_scripts/samd20/gcc/samd20j18_flash.ld" framework="" version="" source="sam0/utils/linker_scripts/samd20/gcc/samd20j18_flash.ld" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/make/Makefile.sam.in" framework="" version="" source="sam0/utils/make/Makefile.sam.in" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/preprocessor/mrepeat.h" framework="" version="" source="sam0/utils/preprocessor/mrepeat.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/preprocessor/preprocessor.h" framework="" version="" source="sam0/utils/preprocessor/preprocessor.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/preprocessor/stringz.h" framework="" version="" source="sam0/utils/preprocessor/stringz.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/preprocessor/tpaste.h" framework="" version="" source="sam0/utils/preprocessor/tpaste.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/status_codes.h" framework="" version="" source="sam0/utils/status_codes.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/utils/syscalls/gcc/syscalls.c" framework="" version="" source="sam0/utils/syscalls/gcc/syscalls.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" framework="" version="" source="thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/thirdparty/CMSIS/Include/arm_math.h" framework="" version="" source="thirdparty/CMSIS/Include/arm_math.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/thirdparty/CMSIS/Include/core_cm0plus.h" framework="" version="" source="thirdparty/CMSIS/Include/core_cm0plus.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/thirdparty/CMSIS/Include/core_cmFunc.h" framework="" version="" source="thirdparty/CMSIS/Include/core_cmFunc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/thirdparty/CMSIS/Include/core_cmInstr.h" framework="" version="" source="thirdparty/CMSIS/Include/core_cmInstr.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM0l_math.a" framework="" version="" source="thirdparty/CMSIS/Lib/GCC/libarm_cortexM0l_math.a" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/thirdparty/CMSIS/README.txt" framework="" version="" source="thirdparty/CMSIS/README.txt" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/thirdparty/CMSIS/license.txt" framework="" version="" source="thirdparty/CMSIS/license.txt" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/common/services/serial/sam0_usart/usart_serial.h" framework="" version="3.11.0" source="common\services\serial\sam0_usart\usart_serial.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/common/services/serial/serial.h" framework="" version="3.11.0" source="common\services\serial\serial.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/sercom_interrupt.c" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom_interrupt.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/sercom.c" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/sercom_interrupt.h" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom_interrupt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/sercom_pinout.h" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom_pinout.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/sercom.h" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/usart/usart.c" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\usart.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/usart/usart_interrupt.c" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\usart_interrupt.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/usart/quick_start/qs_usart_basic_use.h" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\quick_start\qs_usart_basic_use.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/usart/usart_interrupt.h" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\usart_interrupt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/usart/quick_start_callback/qs_usart_callback.h" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\quick_start_callback\qs_usart_callback.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam0/drivers/sercom/usart/usart.h" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\usart.h" changed="False" content-id="Atmel.ASF" />\r
-        </files>\r
-        <documentation help="http://asf.atmel.com/docs/3.11.0/common.applications.user_application.xplained_pro2.samd20_xplained_pro/html/index.html" />\r
-        <offline-documentation help="" />\r
-        <dependencies>\r
-          <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.18.1" />\r
-        </dependencies>\r
-        <project id="common.applications.user_application.xplained_pro2.samd20_xplained_pro" value="Add" config="" content-id="Atmel.ASF" />\r
-        <board id="board.samd20_xplained_pro" value="Add" config="" content-id="Atmel.ASF" />\r
-      </framework-data>\r
+  <options>\r
+    <option id="common.boards" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="sam0.drivers.port" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="sam0.drivers.system" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="common.services.basic.serial" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="common.applications.user_application.xplained_pro2" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="common.utils" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="sam0.utils.cmsis.samd20.source.template" value="Add" config="" content-id="Atmel.ASF" />\r
+  </options>\r
+  <configurations>\r
+    <configuration key="config.sam0.drivers.sercom.usart" value="callback" default="callback" content-id="Atmel.ASF" />\r
+  </configurations>\r
+  <files>\r
+    <file path="src/main.c" framework="" version="" source="common2/applications/xplained_pro_user_application/main.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/config/conf_board.h" framework="" version="" source="common2/applications/xplained_pro_user_application/samd20j18_samd20_xplained_pro/config/conf_board.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/config/conf_clocks.h" framework="" version="" source="common2/applications/xplained_pro_user_application/samd20j18_samd20_xplained_pro/config/conf_clocks.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/common/boards/board.h" framework="" version="" source="common/boards/board.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/common/utils/interrupt.h" framework="" version="" source="common/utils/interrupt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/common/utils/interrupt/interrupt_sam_nvic.c" framework="" version="" source="common/utils/interrupt/interrupt_sam_nvic.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/common/utils/interrupt/interrupt_sam_nvic.h" framework="" version="" source="common/utils/interrupt/interrupt_sam_nvic.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/common/utils/parts.h" framework="" version="" source="common/utils/parts.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/boards/samd20_xplained_pro/board_init.c" framework="" version="" source="sam0/boards/samd20_xplained_pro/board_init.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/boards/samd20_xplained_pro/samd20_xplained_pro.h" framework="" version="" source="sam0/boards/samd20_xplained_pro/samd20_xplained_pro.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/port/port.c" framework="" version="" source="sam0/drivers/port/port.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/port/port.h" framework="" version="" source="sam0/drivers/port/port.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/port/quick_start/qs_port_basic.h" framework="" version="" source="sam0/drivers/port/quick_start/qs_port_basic.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/clock/clock.c" framework="" version="" source="sam0/drivers/system/clock/clock.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/clock/clock.h" framework="" version="" source="sam0/drivers/system/clock/clock.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/clock/clock_config_check.h" framework="" version="" source="sam0/drivers/system/clock/clock_config_check.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/clock/gclk.c" framework="" version="" source="sam0/drivers/system/clock/gclk.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/clock/gclk.h" framework="" version="" source="sam0/drivers/system/clock/gclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/clock/quick_start_clock/qs_clock_source.h" framework="" version="" source="sam0/drivers/system/clock/quick_start_clock/qs_clock_source.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/clock/quick_start_gclk/qs_gclk_basic.h" framework="" version="" source="sam0/drivers/system/clock/quick_start_gclk/qs_gclk_basic.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/interrupt/quick_start/qs_system_interrupt.h" framework="" version="" source="sam0/drivers/system/interrupt/quick_start/qs_system_interrupt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/interrupt/system_interrupt.c" framework="" version="" source="sam0/drivers/system/interrupt/system_interrupt.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/interrupt/system_interrupt.h" framework="" version="" source="sam0/drivers/system/interrupt/system_interrupt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/pinmux/pinmux.c" framework="" version="" source="sam0/drivers/system/pinmux/pinmux.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/pinmux/pinmux.h" framework="" version="" source="sam0/drivers/system/pinmux/pinmux.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/pinmux/quick_start/qs_pinmux_basic.h" framework="" version="" source="sam0/drivers/system/pinmux/quick_start/qs_pinmux_basic.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/system.c" framework="" version="" source="sam0/drivers/system/system.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/system/system.h" framework="" version="" source="sam0/drivers/system/system.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_ac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_ac.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_adc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_adc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_dac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_dac.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_dsu.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_dsu.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_eic.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_eic.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_evsys.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_evsys.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_gclk.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_gclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_nvmctrl.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_nvmctrl.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_pac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_pac.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_pm.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_pm.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_port.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_port.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_rtc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_rtc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_sercom.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_sercom.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_sysctrl.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_sysctrl.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_tc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_tc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/component/component_wdt.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/component/component_wdt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_ac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_ac.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_adc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_adc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_dac.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_dac.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_dsu.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_dsu.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_eic.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_eic.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_evsys.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_evsys.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_gclk.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_gclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_nvmctrl.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_nvmctrl.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_pac0.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_pac0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_pac1.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_pac1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_pac2.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_pac2.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_pm.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_pm.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_port.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_port.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_rtc.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_rtc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom0.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom1.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom2.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom2.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom3.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom3.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom4.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom4.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sercom5.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sercom5.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_sysctrl.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_sysctrl.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc0.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc1.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc2.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc2.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc3.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc3.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc4.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc4.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc5.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc5.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc6.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc6.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_tc7.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_tc7.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_wdt.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/instance/instance_wdt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e14.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e15.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e16.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e17.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20e18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20e18.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g14.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g15.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g16.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g17.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20g18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20g18.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j14.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j15.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j16.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j17.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/pio/pio_samd20j18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/pio/pio_samd20j18.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e14.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e15.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e16.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e17.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20e18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20e18.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g14.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g15.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g16.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g17.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20g18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20g18.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j14.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j14.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j15.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j15.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j16.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j16.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j17.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j17.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/include/samd20j18.h" framework="" version="" source="sam0/utils/cmsis/samd20/include/samd20j18.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/source/gcc/startup_samd20.c" framework="" version="" source="sam0/utils/cmsis/samd20/source/gcc/startup_samd20.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/source/system_samd20.c" framework="" version="" source="sam0/utils/cmsis/samd20/source/system_samd20.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/cmsis/samd20/source/system_samd20.h" framework="" version="" source="sam0/utils/cmsis/samd20/source/system_samd20.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/compiler.h" framework="" version="" source="sam0/utils/compiler.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/header_files/io.h" framework="" version="" source="sam0/utils/header_files/io.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/linker_scripts/samd20/gcc/samd20j18_flash.ld" framework="" version="" source="sam0/utils/linker_scripts/samd20/gcc/samd20j18_flash.ld" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/make/Makefile.sam.in" framework="" version="" source="sam0/utils/make/Makefile.sam.in" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/preprocessor/mrepeat.h" framework="" version="" source="sam0/utils/preprocessor/mrepeat.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/preprocessor/preprocessor.h" framework="" version="" source="sam0/utils/preprocessor/preprocessor.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/preprocessor/stringz.h" framework="" version="" source="sam0/utils/preprocessor/stringz.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/preprocessor/tpaste.h" framework="" version="" source="sam0/utils/preprocessor/tpaste.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/status_codes.h" framework="" version="" source="sam0/utils/status_codes.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/utils/syscalls/gcc/syscalls.c" framework="" version="" source="sam0/utils/syscalls/gcc/syscalls.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" framework="" version="" source="thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/thirdparty/CMSIS/Include/arm_math.h" framework="" version="" source="thirdparty/CMSIS/Include/arm_math.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/thirdparty/CMSIS/Include/core_cm0plus.h" framework="" version="" source="thirdparty/CMSIS/Include/core_cm0plus.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/thirdparty/CMSIS/Include/core_cmFunc.h" framework="" version="" source="thirdparty/CMSIS/Include/core_cmFunc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/thirdparty/CMSIS/Include/core_cmInstr.h" framework="" version="" source="thirdparty/CMSIS/Include/core_cmInstr.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM0l_math.a" framework="" version="" source="thirdparty/CMSIS/Lib/GCC/libarm_cortexM0l_math.a" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/thirdparty/CMSIS/README.txt" framework="" version="" source="thirdparty/CMSIS/README.txt" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/thirdparty/CMSIS/license.txt" framework="" version="" source="thirdparty/CMSIS/license.txt" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/common/services/serial/sam0_usart/usart_serial.h" framework="" version="3.11.0" source="common\services\serial\sam0_usart\usart_serial.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/common/services/serial/serial.h" framework="" version="3.11.0" source="common\services\serial\serial.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/sercom_interrupt.c" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom_interrupt.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/sercom.c" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/sercom_interrupt.h" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom_interrupt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/sercom_pinout.h" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom_pinout.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/sercom.h" framework="" version="3.11.0" source="sam0\drivers\sercom\sercom.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/usart/usart.c" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\usart.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/usart/usart_interrupt.c" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\usart_interrupt.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/usart/quick_start/qs_usart_basic_use.h" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\quick_start\qs_usart_basic_use.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/usart/usart_interrupt.h" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\usart_interrupt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/usart/quick_start_callback/qs_usart_callback.h" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\quick_start_callback\qs_usart_callback.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam0/drivers/sercom/usart/usart.h" framework="" version="3.11.0" source="sam0\drivers\sercom\usart\usart.h" changed="False" content-id="Atmel.ASF" />\r
+  </files>\r
+  <documentation help="http://asf.atmel.com/docs/3.11.0/common.applications.user_application.xplained_pro2.samd20_xplained_pro/html/index.html" />\r
+  <offline-documentation help="" />\r
+  <dependencies>\r
+    <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.20.1" />\r
+  </dependencies>\r
+  <project id="common.applications.user_application.xplained_pro2.samd20_xplained_pro" value="Add" config="" content-id="Atmel.ASF" />\r
+  <board id="board.samd20_xplained_pro" value="Add" config="" content-id="Atmel.ASF" />\r
+</framework-data>\r
     </AsfFrameworkConfig>\r
     <avrdevice>ATSAMD20J18</avrdevice>\r
     <avrdeviceseries>samd20</avrdeviceseries>\r
index e8d1955062fe564902bf155bc2fb128969998278..56fbe59e1a9849467f192a7ec0fcc75d7f792adc 100644 (file)
@@ -98,7 +98,7 @@
 \r
 /* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo,\r
 or 0 to run the more comprehensive test and demo application. */\r
-#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY     0\r
+#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY     1\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
index 922bb614c8d9f9df9c0b761f6aad852abce9e438..daf4a9e43439758e0cdbf28d91bd84818fd6f84e 100644 (file)
@@ -2,7 +2,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">\r
   <PropertyGroup>\r
     <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectVersion>6.2</ProjectVersion>\r
+    <ProjectVersion>7.0</ProjectVersion>\r
     <ProjectGuid>{3d8959cd-73ca-4147-9c1b-cfcf2ee40326}</ProjectGuid>\r
     <Name>$(MSBuildProjectName)</Name>\r
     <AssemblyName>$(MSBuildProjectName)</AssemblyName>\r
     <AsfVersion>2.11.1</AsfVersion>\r
     <AsfFrameworkConfig>\r
       <framework-data>\r
-        <options>\r
-          <option id="common.boards" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="common.services.basic.clock" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="common.services.basic.gpio" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="sam.drivers.pio" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="sam.drivers.usart" value="Add" config="" content-id="Atmel.ASF" />\r
-          <option id="sam.drivers.tc" value="Add" config="" content-id="Atmel.ASF" />\r
-        </options>\r
-        <configurations>\r
-          <configuration key="config.sam.pio.pio_handler" value="yes" default="yes" content-id="Atmel.ASF" />\r
-        </configurations>\r
-        <files>\r
-          <file path="src/asf.h" framework="" version="3.1.3" source="./common/applications/user_application/sam4s16c_sam4s_ek/as5_arm_template/asf.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/main.c" framework="" version="3.1.3" source="common/applications/user_application/main.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/config/conf_board.h" framework="" version="3.1.3" source="common/applications/user_application/sam4s16c_sam4s_ek/conf_board.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/boards/board.h" framework="" version="3.1.3" source="common/boards/board.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/gpio/gpio.h" framework="" version="3.1.3" source="common/services/gpio/gpio.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/gpio/sam_ioport/sam_gpio.h" framework="" version="3.1.3" source="common/services/gpio/sam_ioport/sam_gpio.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/utils/interrupt.h" framework="" version="3.1.3" source="common/utils/interrupt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/utils/interrupt/interrupt_sam_nvic.c" framework="" version="3.1.3" source="common/utils/interrupt/interrupt_sam_nvic.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/utils/interrupt/interrupt_sam_nvic.h" framework="" version="3.1.3" source="common/utils/interrupt/interrupt_sam_nvic.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/boards/sam4s_ek/init.c" framework="" version="3.1.3" source="sam/boards/sam4s_ek/init.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/boards/sam4s_ek/sam4s_ek.h" framework="" version="3.1.3" source="sam/boards/sam4s_ek/sam4s_ek.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pio/pio.c" framework="" version="3.1.3" source="sam/drivers/pio/pio.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pio/pio.h" framework="" version="3.1.3" source="sam/drivers/pio/pio.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pio/pio_handler.c" framework="" version="3.1.3" source="sam/drivers/pio/pio_handler.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pio/pio_handler.h" framework="" version="3.1.3" source="sam/drivers/pio/pio_handler.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_acc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_acc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_adc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_adc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_chipid.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_chipid.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_crccu.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_crccu.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_dacc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_dacc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_efc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_efc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_gpbr.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_gpbr.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_hsmci.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_hsmci.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_matrix.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_matrix.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_pdc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_pdc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_pio.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_pio.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_pmc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_pmc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_pwm.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_pwm.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_rstc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_rstc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_rtc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_rtc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_rtt.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_rtt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_smc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_smc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_spi.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_spi.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_ssc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_ssc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_supc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_supc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_tc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_tc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_twi.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_twi.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_uart.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_uart.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_udp.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_udp.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_usart.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_usart.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_wdt.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_wdt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_acc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_acc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_adc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_adc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_chipid.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_chipid.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_crccu.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_crccu.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_dacc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_dacc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_efc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_efc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_gpbr.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_gpbr.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_hsmci.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_hsmci.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_matrix.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_matrix.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_pioa.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_pioa.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_piob.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_piob.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_pioc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_pioc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_pmc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_pmc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_pwm.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_pwm.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_rstc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_rstc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_rtc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_rtc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_rtt.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_rtt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_smc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_smc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_spi.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_spi.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_ssc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_ssc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_supc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_supc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_tc0.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_tc0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_tc1.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_tc1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_twi0.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_twi0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_twi1.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_twi1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_uart0.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_uart0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_uart1.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_uart1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_udp.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_udp.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_usart0.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_usart0.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_usart1.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_usart1.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_wdt.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_wdt.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/pio/pio_sam4s16c.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/pio/pio_sam4s16c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/sam4s.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/sam4s.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/include/sam4s16c.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/sam4s16c.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/exceptions.c" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/exceptions.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/exceptions.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/exceptions.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/gcc/startup_sam4s.c" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/gcc/startup_sam4s.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/system_sam4s.c" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/system_sam4s.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/system_sam4s.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/system_sam4s.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/compiler.h" framework="" version="3.1.3" source="sam/utils/compiler.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/header_files/io.h" framework="" version="3.1.3" source="sam/utils/header_files/io.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/linker_scripts/sam4s/sam4s16/gcc/flash.ld" framework="" version="3.1.3" source="sam/utils/linker_scripts/sam4s/sam4s16/gcc/flash.ld" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/make/Makefile.in" framework="" version="3.1.3" source="sam/utils/make/Makefile.in" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/parts.h" framework="" version="3.1.3" source="sam/utils/parts.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/preprocessor/mrepeat.h" framework="" version="3.1.3" source="sam/utils/preprocessor/mrepeat.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/preprocessor/preprocessor.h" framework="" version="3.1.3" source="sam/utils/preprocessor/preprocessor.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/preprocessor/stringz.h" framework="" version="3.1.3" source="sam/utils/preprocessor/stringz.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/preprocessor/tpaste.h" framework="" version="3.1.3" source="sam/utils/preprocessor/tpaste.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/utils/status_codes.h" framework="" version="3.1.3" source="sam/utils/status_codes.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" framework="" version="3.1.3" source="thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/Include/arm_math.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/arm_math.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/Include/core_cm4.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/core_cm4.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/Include/core_cm4_simd.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/core_cm4_simd.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/Include/core_cmFunc.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/core_cmFunc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/Include/core_cmInstr.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/core_cmInstr.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/Lib/GCC/libarm_cortexM4l_math.a" framework="" version="3.1.3" source="thirdparty/CMSIS/Lib/GCC/libarm_cortexM4l_math.a" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/README.txt" framework="" version="3.1.3" source="thirdparty/CMSIS/README.txt" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/thirdparty/CMSIS/license.txt" framework="" version="3.1.3" source="thirdparty/CMSIS/license.txt" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pmc/pmc.c" framework="" version="" source="sam\drivers\pmc\pmc.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pmc/pmc.h" framework="" version="" source="sam\drivers\pmc\pmc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/pmc/sleep.h" framework="" version="" source="sam\drivers\pmc\sleep.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam4s/sysclk.c" framework="" version="" source="common\services\clock\sam4s\sysclk.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam4s/pll.h" framework="" version="" source="common\services\clock\sam4s\pll.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam4s/osc.h" framework="" version="" source="common\services\clock\sam4s\osc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/genclk.h" framework="" version="" source="common\services\clock\genclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/osc.h" framework="" version="" source="common\services\clock\osc.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam4s/sysclk.h" framework="" version="" source="common\services\clock\sam4s\sysclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sam4s/genclk.h" framework="" version="" source="common\services\clock\sam4s\genclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/sysclk.h" framework="" version="" source="common\services\clock\sysclk.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/common/services/clock/pll.h" framework="" version="" source="common\services\clock\pll.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/config/conf_clock.h" framework="" version="" source="common\services\clock\sam4s\module_config\conf_clock.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/usart/usart.c" framework="" version="" source="sam\drivers\usart\usart.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/asf/sam/drivers/usart/usart.h" framework="" version="" source="sam\drivers\usart\usart.h" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam/drivers/tc/tc.c" framework="" version="3.6.0" source="sam\drivers\tc\tc.c" changed="False" content-id="Atmel.ASF" />\r
-          <file path="src/ASF/sam/drivers/tc/tc.h" framework="" version="3.6.0" source="sam\drivers\tc\tc.h" changed="False" content-id="Atmel.ASF" />\r
-        </files>\r
-        <documentation help="" />\r
-        <offline-documentation help="" />\r
-        <dependencies>\r
-          <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.10.1" />\r
-        </dependencies>\r
-      </framework-data>\r
+  <options>\r
+    <option id="common.boards" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="common.services.basic.clock" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="common.services.basic.gpio" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="sam.drivers.pio" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="sam.drivers.usart" value="Add" config="" content-id="Atmel.ASF" />\r
+    <option id="sam.drivers.tc" value="Add" config="" content-id="Atmel.ASF" />\r
+  </options>\r
+  <configurations>\r
+    <configuration key="config.sam.pio.pio_handler" value="yes" default="yes" content-id="Atmel.ASF" />\r
+  </configurations>\r
+  <files>\r
+    <file path="src/asf.h" framework="" version="3.1.3" source="./common/applications/user_application/sam4s16c_sam4s_ek/as5_arm_template/asf.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/main.c" framework="" version="3.1.3" source="common/applications/user_application/main.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/config/conf_board.h" framework="" version="3.1.3" source="common/applications/user_application/sam4s16c_sam4s_ek/conf_board.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/boards/board.h" framework="" version="3.1.3" source="common/boards/board.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/gpio/gpio.h" framework="" version="3.1.3" source="common/services/gpio/gpio.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/gpio/sam_ioport/sam_gpio.h" framework="" version="3.1.3" source="common/services/gpio/sam_ioport/sam_gpio.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/utils/interrupt.h" framework="" version="3.1.3" source="common/utils/interrupt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/utils/interrupt/interrupt_sam_nvic.c" framework="" version="3.1.3" source="common/utils/interrupt/interrupt_sam_nvic.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/utils/interrupt/interrupt_sam_nvic.h" framework="" version="3.1.3" source="common/utils/interrupt/interrupt_sam_nvic.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/boards/sam4s_ek/init.c" framework="" version="3.1.3" source="sam/boards/sam4s_ek/init.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/boards/sam4s_ek/sam4s_ek.h" framework="" version="3.1.3" source="sam/boards/sam4s_ek/sam4s_ek.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pio/pio.c" framework="" version="3.1.3" source="sam/drivers/pio/pio.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pio/pio.h" framework="" version="3.1.3" source="sam/drivers/pio/pio.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pio/pio_handler.c" framework="" version="3.1.3" source="sam/drivers/pio/pio_handler.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pio/pio_handler.h" framework="" version="3.1.3" source="sam/drivers/pio/pio_handler.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_acc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_acc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_adc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_adc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_chipid.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_chipid.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_crccu.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_crccu.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_dacc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_dacc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_efc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_efc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_gpbr.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_gpbr.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_hsmci.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_hsmci.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_matrix.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_matrix.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_pdc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_pdc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_pio.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_pio.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_pmc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_pmc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_pwm.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_pwm.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_rstc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_rstc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_rtc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_rtc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_rtt.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_rtt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_smc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_smc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_spi.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_spi.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_ssc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_ssc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_supc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_supc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_tc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_tc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_twi.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_twi.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_uart.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_uart.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_udp.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_udp.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_usart.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_usart.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/component/component_wdt.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/component/component_wdt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_acc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_acc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_adc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_adc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_chipid.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_chipid.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_crccu.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_crccu.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_dacc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_dacc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_efc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_efc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_gpbr.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_gpbr.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_hsmci.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_hsmci.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_matrix.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_matrix.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_pioa.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_pioa.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_piob.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_piob.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_pioc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_pioc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_pmc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_pmc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_pwm.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_pwm.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_rstc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_rstc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_rtc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_rtc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_rtt.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_rtt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_smc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_smc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_spi.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_spi.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_ssc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_ssc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_supc.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_supc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_tc0.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_tc0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_tc1.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_tc1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_twi0.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_twi0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_twi1.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_twi1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_uart0.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_uart0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_uart1.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_uart1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_udp.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_udp.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_usart0.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_usart0.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_usart1.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_usart1.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/instance/instance_wdt.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/instance/instance_wdt.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/pio/pio_sam4s16c.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/pio/pio_sam4s16c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/sam4s.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/sam4s.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/include/sam4s16c.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/include/sam4s16c.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/exceptions.c" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/exceptions.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/exceptions.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/exceptions.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/gcc/startup_sam4s.c" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/gcc/startup_sam4s.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/system_sam4s.c" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/system_sam4s.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/cmsis/sam4s/source/templates/system_sam4s.h" framework="" version="3.1.3" source="sam/utils/cmsis/sam4s/source/templates/system_sam4s.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/compiler.h" framework="" version="3.1.3" source="sam/utils/compiler.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/header_files/io.h" framework="" version="3.1.3" source="sam/utils/header_files/io.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/linker_scripts/sam4s/sam4s16/gcc/flash.ld" framework="" version="3.1.3" source="sam/utils/linker_scripts/sam4s/sam4s16/gcc/flash.ld" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/make/Makefile.in" framework="" version="3.1.3" source="sam/utils/make/Makefile.in" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/parts.h" framework="" version="3.1.3" source="sam/utils/parts.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/preprocessor/mrepeat.h" framework="" version="3.1.3" source="sam/utils/preprocessor/mrepeat.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/preprocessor/preprocessor.h" framework="" version="3.1.3" source="sam/utils/preprocessor/preprocessor.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/preprocessor/stringz.h" framework="" version="3.1.3" source="sam/utils/preprocessor/stringz.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/preprocessor/tpaste.h" framework="" version="3.1.3" source="sam/utils/preprocessor/tpaste.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/utils/status_codes.h" framework="" version="3.1.3" source="sam/utils/status_codes.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" framework="" version="3.1.3" source="thirdparty/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/Include/arm_math.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/arm_math.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/Include/core_cm4.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/core_cm4.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/Include/core_cm4_simd.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/core_cm4_simd.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/Include/core_cmFunc.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/core_cmFunc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/Include/core_cmInstr.h" framework="" version="3.1.3" source="thirdparty/CMSIS/Include/core_cmInstr.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/Lib/GCC/libarm_cortexM4l_math.a" framework="" version="3.1.3" source="thirdparty/CMSIS/Lib/GCC/libarm_cortexM4l_math.a" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/README.txt" framework="" version="3.1.3" source="thirdparty/CMSIS/README.txt" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/thirdparty/CMSIS/license.txt" framework="" version="3.1.3" source="thirdparty/CMSIS/license.txt" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pmc/pmc.c" framework="" version="" source="sam\drivers\pmc\pmc.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pmc/pmc.h" framework="" version="" source="sam\drivers\pmc\pmc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/pmc/sleep.h" framework="" version="" source="sam\drivers\pmc\sleep.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam4s/sysclk.c" framework="" version="" source="common\services\clock\sam4s\sysclk.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam4s/pll.h" framework="" version="" source="common\services\clock\sam4s\pll.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam4s/osc.h" framework="" version="" source="common\services\clock\sam4s\osc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/genclk.h" framework="" version="" source="common\services\clock\genclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/osc.h" framework="" version="" source="common\services\clock\osc.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam4s/sysclk.h" framework="" version="" source="common\services\clock\sam4s\sysclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sam4s/genclk.h" framework="" version="" source="common\services\clock\sam4s\genclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/sysclk.h" framework="" version="" source="common\services\clock\sysclk.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/common/services/clock/pll.h" framework="" version="" source="common\services\clock\pll.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/config/conf_clock.h" framework="" version="" source="common\services\clock\sam4s\module_config\conf_clock.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/usart/usart.c" framework="" version="" source="sam\drivers\usart\usart.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/asf/sam/drivers/usart/usart.h" framework="" version="" source="sam\drivers\usart\usart.h" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam/drivers/tc/tc.c" framework="" version="3.6.0" source="sam\drivers\tc\tc.c" changed="False" content-id="Atmel.ASF" />\r
+    <file path="src/ASF/sam/drivers/tc/tc.h" framework="" version="3.6.0" source="sam\drivers\tc\tc.h" changed="False" content-id="Atmel.ASF" />\r
+  </files>\r
+  <documentation help="" />\r
+  <offline-documentation help="" />\r
+  <dependencies>\r
+    <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.20.1" />\r
+  </dependencies>\r
+</framework-data>\r
     </AsfFrameworkConfig>\r
     <avrdevice>ATSAM4S16C</avrdevice>\r
     <avrdeviceseries>sam4s</avrdeviceseries>\r
     <RamSnippetAddress>0x20000000</RamSnippetAddress>\r
     <UncachedRange />\r
     <BootSegment>2</BootSegment>\r
+    <preserveEEPROM>true</preserveEEPROM>\r
   </PropertyGroup>\r
   <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">\r
     <GenerateHexFile>True</GenerateHexFile>\r
index 802b182e613bb0d4cf74bd0ef2aa153066e27fcb..777c177f03318c601454d1a52b0474900f159059 100644 (file)
Binary files a/FreeRTOS/Demo/CORTEX_M7_SAME70_Xplained_AtmelStudio/.vs/RTOSDemo/v14/.atsuo and b/FreeRTOS/Demo/CORTEX_M7_SAME70_Xplained_AtmelStudio/.vs/RTOSDemo/v14/.atsuo differ
index d1d509ed59e3a1442bf76773dd48b86381540f13..a1663c2cb35cb3a8d60f9fd41816d3f071964111 100644 (file)
 #define RTE_COMPONENTS_H\r
 \r
 \r
+/*\r
+ * Define the Device Header File: \r
+ */\r
+#define CMSIS_device_header "sam.h"\r
+\r
+\r
 #endif /* RTE_COMPONENTS_H */\r
index 7495986d0f4c96aae480cacbd47069b0622ee93a..46060692a47c6201ffcf825e8cd1057ec88c4728 100644 (file)
@@ -12,7 +12,7 @@
       <name>C-SPY</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>26</version>\r
+        <version>28</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
@@ -45,7 +45,7 @@
         </option>\r
         <option>\r
           <name>MemFile</name>\r
-          <state></state>\r
+          <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAMV71Q21.ddf</state>\r
         </option>\r
         <option>\r
           <name>RunToEnable</name>\r
         </option>\r
         <option>\r
           <name>OCLastSavedByProductVersion</name>\r
-          <state>7.30.4.8186</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDownloadAttachToProgram</name>\r
-          <state>0</state>\r
+          <state>7.60.1.11206</state>\r
         </option>\r
         <option>\r
           <name>UseFlashLoader</name>\r
         </option>\r
         <option>\r
           <name>FlashLoadersV3</name>\r
-          <state>$TOOLKIT_DIR$\config\flashloader\</state>\r
+          <state>$TOOLKIT_DIR$\config\flashloader\Atmel\samv71q21\samv71q21-flash.board</state>\r
         </option>\r
         <option>\r
           <name>OCImagesSuppressCheck1</name>\r
           <name>OCMulticoreSlaveConfiguration</name>\r
           <state></state>\r
         </option>\r
+        <option>\r
+          <name>OCDownloadExtraImage</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCAttachSlave</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>CMSISDAP_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>4</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>CMSISDAPAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>OCIarProbeScriptFile</name>\r
           <state>1</state>\r
           <name>OCJetEmuParams</name>\r
           <state>1</state>\r
         </option>\r
+        <option>\r
+          <name>CCCMSISDAPUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCCMSISDAPUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>IJET_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>5</version>\r
+        <version>8</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>IjetAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>OCIarProbeScriptFile</name>\r
           <state>1</state>\r
           <version>0</version>\r
           <state>2</state>\r
         </option>\r
+        <option>\r
+          <name>FlashBoardPathSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>JLINK_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>15</version>\r
+        <version>16</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>CCJLinkInterfaceRadio</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>OCJLinkAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>CCJLinkResetList</name>\r
           <version>6</version>\r
         </option>\r
         <option>\r
           <name>CCCpuClockEdit</name>\r
-          <state></state>\r
+          <state>300.0</state>\r
         </option>\r
         <option>\r
           <name>CCSwoClockAuto</name>\r
       <name>PEMICRO_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>1</version>\r
+        <version>3</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>OCPEMicroAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroInterfaceList</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroResetDelay</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroJtagSpeed</name>\r
-          <state>#UNINITIALIZED#</state>\r
-        </option>\r
         <option>\r
           <name>CCJPEMicroShowSettings</name>\r
           <state>0</state>\r
           <name>LogFile</name>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
-        <option>\r
-          <name>CCPEMicroUSBDevice</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroSerialPort</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJPEMicroTCPIPAutoScanNetwork</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroTCPIP</name>\r
-          <state>10.0.0.1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroCommCmdLineProducer</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSTLinkInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSTLinkInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>STLINK_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>3</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>CCSwoClockEdit</name>\r
           <state>2000</state>\r
         </option>\r
+        <option>\r
+          <name>DoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkDoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkJtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>XDS100_ID</name>\r
+      <name>TIFET_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>1</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>OCXDS100AttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>TIPackageOverride</name>\r
+          <name>CCMSPFetResetList</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>TIPackage</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCXds100InterfaceList</name>\r
-          <version>2</version>\r
+          <name>CCMSPFetInterfaceRadio</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>BoardFile</name>\r
-          <state></state>\r
+          <name>CCMSPFetInterfaceCmdLine</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>DoLogfile</name>\r
+          <name>CCMSPFetTargetVccTypeDefault</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>LogFile</name>\r
-          <state>$PROJ_DIR$\cspycomm.log</state>\r
+          <name>CCMSPFetTargetVoltage</name>\r
+          <state>###Uninitialized###</state>\r
         </option>\r
-      </data>\r
-    </settings>\r
-    <debuggerPlugins>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB7_Plugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-    </debuggerPlugins>\r
-  </configuration>\r
-  <configuration>\r
-    <name>Release</name>\r
-    <toolchain>\r
-      <name>ARM</name>\r
-    </toolchain>\r
-    <debug>0</debug>\r
-    <settings>\r
-      <name>C-SPY</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>26</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
         <option>\r
-          <name>CInput</name>\r
+          <name>CCMSPFetVCCDefault</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CEndian</name>\r
-          <state>1</state>\r
+          <name>CCMSPFetTargetSettlingtime</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CProcessor</name>\r
+          <name>CCMSPFetRadioJtagSpeedType</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>OCVariant</name>\r
+          <name>CCMSPFetConnection</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>MacOverride</name>\r
-          <state>0</state>\r
+          <name>CCMSPFetUsbComPort</name>\r
+          <state>Automatic</state>\r
         </option>\r
         <option>\r
-          <name>MacFile</name>\r
-          <state></state>\r
+          <name>CCMSPFetAllowAccessToBSL</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>MemOverride</name>\r
+          <name>CCMSPFetDoLogfile</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>MemFile</name>\r
-          <state></state>\r
+          <name>CCMSPFetLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
         <option>\r
-          <name>RunToEnable</name>\r
+          <name>CCMSPFetRadioEraseFlash</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>RunToName</name>\r
-          <state>main</state>\r
-        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XDS100_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>5</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>TIPackageOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>TIPackage</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>BoardFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100BreakpointRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100DoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchReset</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchUndef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchSWI</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchData</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchPrefetch</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchIRQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchFIQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CpuClockEdit</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockAuto</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockEdit</name>\r
+          <state>1000</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100HWResetDelay</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ResetList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100JtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ProbeList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <debuggerPlugins>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\middleware\PercepioTraceExporter\PercepioTraceExportPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB7_Plugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+    </debuggerPlugins>\r
+  </configuration>\r
+  <configuration>\r
+    <name>Release</name>\r
+    <toolchain>\r
+      <name>ARM</name>\r
+    </toolchain>\r
+    <debug>0</debug>\r
+    <settings>\r
+      <name>C-SPY</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>28</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CInput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CEndian</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CProcessor</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCVariant</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>MemOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MemFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RunToEnable</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>RunToName</name>\r
+          <state>main</state>\r
+        </option>\r
         <option>\r
           <name>CExtraOptionsCheck</name>\r
           <state>0</state>\r
           <name>OCLastSavedByProductVersion</name>\r
           <state></state>\r
         </option>\r
-        <option>\r
-          <name>OCDownloadAttachToProgram</name>\r
-          <state>0</state>\r
-        </option>\r
         <option>\r
           <name>UseFlashLoader</name>\r
           <state>0</state>\r
           <name>OCMulticoreSlaveConfiguration</name>\r
           <state></state>\r
         </option>\r
+        <option>\r
+          <name>OCDownloadExtraImage</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCAttachSlave</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>CMSISDAP_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>4</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>CMSISDAPAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>OCIarProbeScriptFile</name>\r
           <state>1</state>\r
           <name>OCJetEmuParams</name>\r
           <state>1</state>\r
         </option>\r
+        <option>\r
+          <name>CCCMSISDAPUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCCMSISDAPUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>IJET_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>5</version>\r
+        <version>8</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>IjetAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>OCIarProbeScriptFile</name>\r
           <state>1</state>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>IjetTraceSizeList</name>\r
-          <version>0</version>\r
-          <state>2</state>\r
+          <name>IjetTraceSizeList</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>FlashBoardPathSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNoSelect</name>\r
+          <state>0</state>\r
         </option>\r
       </data>\r
     </settings>\r
       <name>JLINK_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>15</version>\r
+        <version>16</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>CCJLinkInterfaceRadio</name>\r
           <state>0</state>\r
         </option>\r
-        <option>\r
-          <name>OCJLinkAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>CCJLinkResetList</name>\r
           <version>6</version>\r
       <name>PEMICRO_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>1</version>\r
+        <version>3</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>OCPEMicroAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroInterfaceList</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroResetDelay</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroJtagSpeed</name>\r
-          <state>#UNINITIALIZED#</state>\r
-        </option>\r
         <option>\r
           <name>CCJPEMicroShowSettings</name>\r
           <state>0</state>\r
           <name>LogFile</name>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
-        <option>\r
-          <name>CCPEMicroUSBDevice</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroSerialPort</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJPEMicroTCPIPAutoScanNetwork</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroTCPIP</name>\r
-          <state>10.0.0.1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroCommCmdLineProducer</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSTLinkInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSTLinkInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>STLINK_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>3</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>CCSwoClockEdit</name>\r
           <state>2000</state>\r
         </option>\r
+        <option>\r
+          <name>DoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkDoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkJtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>XDS100_ID</name>\r
+      <name>TIFET_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>1</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>OCXDS100AttachSlave</name>\r
+          <name>CCMSPFetResetList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetInterfaceRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetInterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetTargetVccTypeDefault</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetTargetVoltage</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetVCCDefault</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetTargetSettlingtime</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetRadioJtagSpeedType</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>TIPackageOverride</name>\r
+          <name>CCMSPFetConnection</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>TIPackage</name>\r
-          <state></state>\r
+          <name>CCMSPFetUsbComPort</name>\r
+          <state>Automatic</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetAllowAccessToBSL</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetRadioEraseFlash</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XDS100_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>5</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCXds100InterfaceList</name>\r
-          <version>2</version>\r
+          <name>TIPackageOverride</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>TIPackage</name>\r
+          <state></state>\r
+        </option>\r
         <option>\r
           <name>BoardFile</name>\r
           <state></state>\r
           <name>LogFile</name>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
+        <option>\r
+          <name>CCXds100BreakpointRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100DoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchReset</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchUndef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchSWI</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchData</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchPrefetch</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchIRQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchFIQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CpuClockEdit</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockAuto</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockEdit</name>\r
+          <state>1000</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100HWResetDelay</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ResetList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100JtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ProbeList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <debuggerPlugins>\r
         <file>$TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\middleware\PercepioTraceExporter\PercepioTraceExportPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
       <plugin>\r
         <file>$TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
         <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
       <plugin>\r
         <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
index 3e2aa464758624a4a3332c52bc8689998493e041..93c6f0236de5a6be65918d6e351cc0c8cea9da04 100644 (file)
@@ -12,7 +12,7 @@
       <name>General</name>\r
       <archiveVersion>3</archiveVersion>\r
       <data>\r
-        <version>22</version>\r
+        <version>24</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>ListPath</name>\r
           <state>Debug\List</state>\r
         </option>\r
-        <option>\r
-          <name>Variant</name>\r
-          <version>21</version>\r
-          <state>41</state>\r
-        </option>\r
         <option>\r
           <name>GEndianMode</name>\r
           <state>0</state>\r
           <name>GOutputBinary</name>\r
           <state>0</state>\r
         </option>\r
-        <option>\r
-          <name>FPU</name>\r
-          <version>4</version>\r
-          <state>9</state>\r
-        </option>\r
         <option>\r
           <name>OGCoreOrChip</name>\r
           <state>1</state>\r
@@ -87,7 +77,7 @@
         </option>\r
         <option>\r
           <name>OGLastSavedByProductVersion</name>\r
-          <state>7.40.1.8463</state>\r
+          <state>7.60.1.11206</state>\r
         </option>\r
         <option>\r
           <name>GeneralEnableMisra</name>\r
           <name>RTConfigPath2</name>\r
           <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>\r
         </option>\r
-        <option>\r
-          <name>GFPUCoreSlave</name>\r
-          <version>21</version>\r
-          <state>41</state>\r
-        </option>\r
         <option>\r
           <name>GBECoreSlave</name>\r
-          <version>21</version>\r
+          <version>24</version>\r
           <state>41</state>\r
         </option>\r
         <option>\r
           <name>GRuntimeLibThreads</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>CoreVariant</name>\r
+          <version>24</version>\r
+          <state>41</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUDeviceSlave</name>\r
+          <state>ATSAMV71Q21   Atmel ATSAMV71Q21</state>\r
+        </option>\r
+        <option>\r
+          <name>FPU2</name>\r
+          <version>0</version>\r
+          <state>6</state>\r
+        </option>\r
+        <option>\r
+          <name>NrRegs</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>NEON</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUCoreSlave2</name>\r
+          <version>24</version>\r
+          <state>41</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
         <debug>1</debug>\r
         <option>\r
           <name>OOCOutputFormat</name>\r
-          <version>2</version>\r
-          <state>2</state>\r
+          <version>3</version>\r
+          <state>3</state>\r
         </option>\r
         <option>\r
           <name>OCOutputOverride</name>\r
       <name>ILINK</name>\r
       <archiveVersion>0</archiveVersion>\r
       <data>\r
-        <version>16</version>\r
+        <version>17</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>IlinkThreadsSlave</name>\r
           <state>1</state>\r
         </option>\r
+        <option>\r
+          <name>IlinkLogCallGraph</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>General</name>\r
       <archiveVersion>3</archiveVersion>\r
       <data>\r
-        <version>22</version>\r
+        <version>24</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>ListPath</name>\r
           <state>Release\List</state>\r
         </option>\r
-        <option>\r
-          <name>Variant</name>\r
-          <version>21</version>\r
-          <state>0</state>\r
-        </option>\r
         <option>\r
           <name>GEndianMode</name>\r
           <state>0</state>\r
           <name>GOutputBinary</name>\r
           <state>0</state>\r
         </option>\r
-        <option>\r
-          <name>FPU</name>\r
-          <version>4</version>\r
-          <state>0</state>\r
-        </option>\r
         <option>\r
           <name>OGCoreOrChip</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
           <name>OGLastSavedByProductVersion</name>\r
-          <state>6.30.1.53141</state>\r
+          <state>7.60.1.11206</state>\r
         </option>\r
         <option>\r
           <name>GeneralEnableMisra</name>\r
           <name>RTConfigPath2</name>\r
           <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>\r
         </option>\r
-        <option>\r
-          <name>GFPUCoreSlave</name>\r
-          <version>21</version>\r
-          <state>0</state>\r
-        </option>\r
         <option>\r
           <name>GBECoreSlave</name>\r
-          <version>21</version>\r
+          <version>24</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
           <name>GRuntimeLibThreads</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>CoreVariant</name>\r
+          <version>24</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUDeviceSlave</name>\r
+          <state>default       None</state>\r
+        </option>\r
+        <option>\r
+          <name>FPU2</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NrRegs</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NEON</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUCoreSlave2</name>\r
+          <version>24</version>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
         <debug>0</debug>\r
         <option>\r
           <name>OOCOutputFormat</name>\r
-          <version>2</version>\r
+          <version>3</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
       <name>ILINK</name>\r
       <archiveVersion>0</archiveVersion>\r
       <data>\r
-        <version>16</version>\r
+        <version>17</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>IlinkThreadsSlave</name>\r
           <state>1</state>\r
         </option>\r
+        <option>\r
+          <name>IlinkLogCallGraph</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
index cf404a77f9a6b2d561b00227603cbf77b038d1ab..2779981fda610b9f396c2dcc6a9b3ee1d649262c 100644 (file)
       <name>ARM</name>\r
     </toolchain>\r
     <debug>1</debug>\r
+    <settings>\r
+      <name>C-STAT</name>\r
+      <archiveVersion>259</archiveVersion>\r
+      <data>\r
+        <version>259</version>\r
+        <cstatargs>\r
+          <useExtraArgs>0</useExtraArgs>\r
+          <extraArgs></extraArgs>\r
+          <analyzeTimeoutEnabled>1</analyzeTimeoutEnabled>\r
+          <analyzeTimeout>600</analyzeTimeout>\r
+          <enableParallel>0</enableParallel>\r
+          <parallelThreads>2</parallelThreads>\r
+          <enableFalsePositives>0</enableFalsePositives>\r
+          <messagesLimitEnabled>1</messagesLimitEnabled>\r
+          <messagesLimit>100</messagesLimit>\r
+        </cstatargs>\r
+        <cstat_settings>\r
+          <cstat_version>1.3.2</cstat_version>\r
+          <checks_tree>\r
+            <package enabled="true" name="STDCHECKS">\r
+              <group enabled="true" name="ARR">\r
+                <check enabled="true" name="ARR-inv-index-pos"/>\r
+                <check enabled="true" name="ARR-inv-index-ptr-pos"/>\r
+                <check enabled="true" name="ARR-inv-index-ptr"/>\r
+                <check enabled="true" name="ARR-inv-index"/>\r
+                <check enabled="true" name="ARR-neg-index"/>\r
+                <check enabled="true" name="ARR-uninit-index"/>\r
+              </group>\r
+              <group enabled="true" name="ATH">\r
+                <check enabled="true" name="ATH-cmp-float"/>\r
+                <check enabled="true" name="ATH-cmp-unsign-neg"/>\r
+                <check enabled="true" name="ATH-cmp-unsign-pos"/>\r
+                <check enabled="true" name="ATH-div-0-assign"/>\r
+                <check enabled="false" name="ATH-div-0-cmp-aft"/>\r
+                <check enabled="true" name="ATH-div-0-cmp-bef"/>\r
+                <check enabled="true" name="ATH-div-0-interval"/>\r
+                <check enabled="true" name="ATH-div-0-pos"/>\r
+                <check enabled="true" name="ATH-div-0-unchk-global"/>\r
+                <check enabled="true" name="ATH-div-0-unchk-local"/>\r
+                <check enabled="true" name="ATH-div-0-unchk-param"/>\r
+                <check enabled="true" name="ATH-div-0"/>\r
+                <check enabled="true" name="ATH-inc-bool"/>\r
+                <check enabled="true" name="ATH-malloc-overrun"/>\r
+                <check enabled="true" name="ATH-neg-check-nonneg"/>\r
+                <check enabled="true" name="ATH-neg-check-pos"/>\r
+                <check enabled="true" name="ATH-new-overrun"/>\r
+                <check enabled="false" name="ATH-overflow-cast"/>\r
+                <check enabled="true" name="ATH-overflow"/>\r
+                <check enabled="true" name="ATH-shift-bounds"/>\r
+                <check enabled="true" name="ATH-shift-neg"/>\r
+                <check enabled="true" name="ATH-sizeof-by-sizeof"/>\r
+              </group>\r
+              <group enabled="true" name="CAST">\r
+                <check enabled="false" name="CAST-old-style"/>\r
+              </group>\r
+              <group enabled="true" name="CATCH">\r
+                <check enabled="true" name="CATCH-object-slicing"/>\r
+                <check enabled="false" name="CATCH-xtor-bad-member"/>\r
+              </group>\r
+              <group enabled="true" name="COMMA">\r
+                <check enabled="false" name="COMMA-overload"/>\r
+              </group>\r
+              <group enabled="true" name="COMMENT">\r
+                <check enabled="true" name="COMMENT-nested"/>\r
+              </group>\r
+              <group enabled="true" name="CONST">\r
+                <check enabled="true" name="CONST-member-ret"/>\r
+              </group>\r
+              <group enabled="true" name="COP">\r
+                <check enabled="false" name="COP-alloc-ctor"/>\r
+                <check enabled="true" name="COP-assign-op-ret"/>\r
+                <check enabled="true" name="COP-assign-op-self"/>\r
+                <check enabled="true" name="COP-assign-op"/>\r
+                <check enabled="true" name="COP-copy-ctor"/>\r
+                <check enabled="false" name="COP-dealloc-dtor"/>\r
+                <check enabled="true" name="COP-dtor-throw"/>\r
+                <check enabled="true" name="COP-dtor"/>\r
+                <check enabled="true" name="COP-init-order"/>\r
+                <check enabled="true" name="COP-init-uninit"/>\r
+                <check enabled="true" name="COP-member-uninit"/>\r
+              </group>\r
+              <group enabled="true" name="CPU">\r
+                <check enabled="true" name="CPU-ctor-call-virt"/>\r
+                <check enabled="false" name="CPU-ctor-implicit"/>\r
+                <check enabled="true" name="CPU-delete-throw"/>\r
+                <check enabled="true" name="CPU-delete-void"/>\r
+                <check enabled="true" name="CPU-dtor-call-virt"/>\r
+                <check enabled="true" name="CPU-malloc-class"/>\r
+                <check enabled="true" name="CPU-nonvirt-dtor"/>\r
+                <check enabled="true" name="CPU-return-ref-to-class-data"/>\r
+              </group>\r
+              <group enabled="true" name="DECL">\r
+                <check enabled="false" name="DECL-implicit-int"/>\r
+              </group>\r
+              <group enabled="true" name="DEFINE">\r
+                <check enabled="true" name="DEFINE-hash-multiple"/>\r
+              </group>\r
+              <group enabled="true" name="ENUM">\r
+                <check enabled="false" name="ENUM-bounds"/>\r
+              </group>\r
+              <group enabled="true" name="EXP">\r
+                <check enabled="true" name="EXP-cond-assign"/>\r
+                <check enabled="true" name="EXP-dangling-else"/>\r
+                <check enabled="true" name="EXP-loop-exit"/>\r
+                <check enabled="false" name="EXP-main-ret-int"/>\r
+                <check enabled="false" name="EXP-null-stmt"/>\r
+                <check enabled="false" name="EXP-stray-semicolon"/>\r
+              </group>\r
+              <group enabled="true" name="EXPR">\r
+                <check enabled="true" name="EXPR-const-overflow"/>\r
+              </group>\r
+              <group enabled="true" name="FPT">\r
+                <check enabled="true" name="FPT-cmp-null"/>\r
+                <check enabled="false" name="FPT-literal"/>\r
+                <check enabled="true" name="FPT-misuse"/>\r
+              </group>\r
+              <group enabled="true" name="FUNC">\r
+                <check enabled="false" name="FUNC-implicit-decl"/>\r
+                <check enabled="false" name="FUNC-unprototyped-all"/>\r
+                <check enabled="true" name="FUNC-unprototyped-used"/>\r
+              </group>\r
+              <group enabled="true" name="INCLUDE">\r
+                <check enabled="false" name="INCLUDE-c-file"/>\r
+              </group>\r
+              <group enabled="true" name="INT">\r
+                <check enabled="false" name="INT-use-signed-as-unsigned-pos"/>\r
+                <check enabled="true" name="INT-use-signed-as-unsigned"/>\r
+              </group>\r
+              <group enabled="true" name="ITR">\r
+                <check enabled="true" name="ITR-end-cmp-aft"/>\r
+                <check enabled="true" name="ITR-end-cmp-bef"/>\r
+                <check enabled="true" name="ITR-invalidated"/>\r
+                <check enabled="false" name="ITR-mismatch-alg"/>\r
+                <check enabled="false" name="ITR-store"/>\r
+                <check enabled="true" name="ITR-uninit"/>\r
+              </group>\r
+              <group enabled="true" name="LIB">\r
+                <check enabled="false" name="LIB-bsearch-overrun-pos"/>\r
+                <check enabled="false" name="LIB-bsearch-overrun"/>\r
+                <check enabled="false" name="LIB-fn-unsafe"/>\r
+                <check enabled="false" name="LIB-fread-overrun-pos"/>\r
+                <check enabled="true" name="LIB-fread-overrun"/>\r
+                <check enabled="false" name="LIB-memchr-overrun-pos"/>\r
+                <check enabled="true" name="LIB-memchr-overrun"/>\r
+                <check enabled="false" name="LIB-memcpy-overrun-pos"/>\r
+                <check enabled="true" name="LIB-memcpy-overrun"/>\r
+                <check enabled="false" name="LIB-memset-overrun-pos"/>\r
+                <check enabled="true" name="LIB-memset-overrun"/>\r
+                <check enabled="false" name="LIB-putenv"/>\r
+                <check enabled="false" name="LIB-qsort-overrun-pos"/>\r
+                <check enabled="false" name="LIB-qsort-overrun"/>\r
+                <check enabled="true" name="LIB-return-const"/>\r
+                <check enabled="true" name="LIB-return-error"/>\r
+                <check enabled="true" name="LIB-return-leak"/>\r
+                <check enabled="true" name="LIB-return-neg"/>\r
+                <check enabled="true" name="LIB-return-null"/>\r
+                <check enabled="false" name="LIB-sprintf-overrun"/>\r
+                <check enabled="false" name="LIB-std-sort-overrun-pos"/>\r
+                <check enabled="true" name="LIB-std-sort-overrun"/>\r
+                <check enabled="false" name="LIB-strcat-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strcat-overrun"/>\r
+                <check enabled="false" name="LIB-strcpy-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strcpy-overrun"/>\r
+                <check enabled="false" name="LIB-strncat-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strncat-overrun"/>\r
+                <check enabled="false" name="LIB-strncmp-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strncmp-overrun"/>\r
+                <check enabled="false" name="LIB-strncpy-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strncpy-overrun"/>\r
+              </group>\r
+              <group enabled="true" name="LOGIC">\r
+                <check enabled="false" name="LOGIC-overload"/>\r
+              </group>\r
+              <group enabled="true" name="MEM">\r
+                <check enabled="true" name="MEM-delete-array-op"/>\r
+                <check enabled="true" name="MEM-delete-op"/>\r
+                <check enabled="true" name="MEM-double-free-alias"/>\r
+                <check enabled="true" name="MEM-double-free-some"/>\r
+                <check enabled="true" name="MEM-double-free"/>\r
+                <check enabled="true" name="MEM-free-field"/>\r
+                <check enabled="true" name="MEM-free-fptr"/>\r
+                <check enabled="false" name="MEM-free-no-alloc-struct"/>\r
+                <check enabled="false" name="MEM-free-no-alloc"/>\r
+                <check enabled="true" name="MEM-free-no-use"/>\r
+                <check enabled="true" name="MEM-free-op"/>\r
+                <check enabled="true" name="MEM-free-struct-field"/>\r
+                <check enabled="true" name="MEM-free-variable-alias"/>\r
+                <check enabled="true" name="MEM-free-variable"/>\r
+                <check enabled="true" name="MEM-leak-alias"/>\r
+                <check enabled="false" name="MEM-leak"/>\r
+                <check enabled="false" name="MEM-malloc-arith"/>\r
+                <check enabled="true" name="MEM-malloc-diff-type"/>\r
+                <check enabled="true" name="MEM-malloc-sizeof-ptr"/>\r
+                <check enabled="true" name="MEM-malloc-sizeof"/>\r
+                <check enabled="false" name="MEM-malloc-strlen"/>\r
+                <check enabled="true" name="MEM-realloc-diff-type"/>\r
+                <check enabled="true" name="MEM-return-free"/>\r
+                <check enabled="true" name="MEM-return-no-assign"/>\r
+                <check enabled="true" name="MEM-stack-global-field"/>\r
+                <check enabled="true" name="MEM-stack-global"/>\r
+                <check enabled="true" name="MEM-stack-param-ref"/>\r
+                <check enabled="true" name="MEM-stack-param"/>\r
+                <check enabled="true" name="MEM-stack-pos"/>\r
+                <check enabled="true" name="MEM-stack-ref"/>\r
+                <check enabled="true" name="MEM-stack"/>\r
+                <check enabled="true" name="MEM-use-free-all"/>\r
+                <check enabled="true" name="MEM-use-free-some"/>\r
+              </group>\r
+              <group enabled="true" name="PTR">\r
+                <check enabled="true" name="PTR-arith-field"/>\r
+                <check enabled="true" name="PTR-arith-stack"/>\r
+                <check enabled="true" name="PTR-arith-var"/>\r
+                <check enabled="true" name="PTR-cmp-str-lit"/>\r
+                <check enabled="false" name="PTR-null-assign-fun-pos"/>\r
+                <check enabled="false" name="PTR-null-assign-pos"/>\r
+                <check enabled="true" name="PTR-null-assign"/>\r
+                <check enabled="true" name="PTR-null-cmp-aft"/>\r
+                <check enabled="true" name="PTR-null-cmp-bef-fun"/>\r
+                <check enabled="true" name="PTR-null-cmp-bef"/>\r
+                <check enabled="true" name="PTR-null-fun-pos"/>\r
+                <check enabled="false" name="PTR-null-literal-pos"/>\r
+                <check enabled="false" name="PTR-overload"/>\r
+                <check enabled="false" name="PTR-singleton-arith-pos"/>\r
+                <check enabled="true" name="PTR-singleton-arith"/>\r
+                <check enabled="true" name="PTR-unchk-param-some"/>\r
+                <check enabled="false" name="PTR-unchk-param"/>\r
+                <check enabled="false" name="PTR-uninit-pos"/>\r
+                <check enabled="true" name="PTR-uninit"/>\r
+              </group>\r
+              <group enabled="true" name="RED">\r
+                <check enabled="false" name="RED-alloc-zero-bytes"/>\r
+                <check enabled="false" name="RED-case-reach"/>\r
+                <check enabled="false" name="RED-cmp-always"/>\r
+                <check enabled="false" name="RED-cmp-never"/>\r
+                <check enabled="false" name="RED-cond-always"/>\r
+                <check enabled="true" name="RED-cond-const-assign"/>\r
+                <check enabled="false" name="RED-cond-const-expr"/>\r
+                <check enabled="false" name="RED-cond-const"/>\r
+                <check enabled="false" name="RED-cond-never"/>\r
+                <check enabled="true" name="RED-dead"/>\r
+                <check enabled="false" name="RED-expr"/>\r
+                <check enabled="false" name="RED-func-no-effect"/>\r
+                <check enabled="true" name="RED-local-hides-global"/>\r
+                <check enabled="false" name="RED-local-hides-local"/>\r
+                <check enabled="false" name="RED-local-hides-member"/>\r
+                <check enabled="true" name="RED-local-hides-param"/>\r
+                <check enabled="false" name="RED-no-effect"/>\r
+                <check enabled="true" name="RED-self-assign"/>\r
+                <check enabled="true" name="RED-unused-assign"/>\r
+                <check enabled="false" name="RED-unused-param"/>\r
+                <check enabled="false" name="RED-unused-return-val"/>\r
+                <check enabled="false" name="RED-unused-val"/>\r
+                <check enabled="true" name="RED-unused-var-all"/>\r
+              </group>\r
+              <group enabled="true" name="RESOURCE">\r
+                <check enabled="false" name="RESOURCE-deref-file"/>\r
+                <check enabled="true" name="RESOURCE-double-close"/>\r
+                <check enabled="true" name="RESOURCE-file-no-close-all"/>\r
+                <check enabled="false" name="RESOURCE-file-pos-neg"/>\r
+                <check enabled="true" name="RESOURCE-file-use-after-close"/>\r
+                <check enabled="false" name="RESOURCE-implicit-deref-file"/>\r
+                <check enabled="true" name="RESOURCE-write-ronly-file"/>\r
+              </group>\r
+              <group enabled="true" name="SIZEOF">\r
+                <check enabled="true" name="SIZEOF-side-effect"/>\r
+              </group>\r
+              <group enabled="true" name="SPC">\r
+                <check enabled="true" name="SPC-order"/>\r
+                <check enabled="false" name="SPC-uninit-arr-all"/>\r
+                <check enabled="true" name="SPC-uninit-struct-field-heap"/>\r
+                <check enabled="false" name="SPC-uninit-struct-field"/>\r
+                <check enabled="true" name="SPC-uninit-struct"/>\r
+                <check enabled="true" name="SPC-uninit-var-all"/>\r
+                <check enabled="true" name="SPC-uninit-var-some"/>\r
+                <check enabled="false" name="SPC-volatile-reads"/>\r
+                <check enabled="false" name="SPC-volatile-writes"/>\r
+              </group>\r
+              <group enabled="true" name="STRUCT">\r
+                <check enabled="false" name="STRUCT-signed-bit"/>\r
+              </group>\r
+              <group enabled="true" name="SWITCH">\r
+                <check enabled="true" name="SWITCH-fall-through"/>\r
+              </group>\r
+              <group enabled="true" name="THROW">\r
+                <check enabled="false" name="THROW-empty"/>\r
+                <check enabled="false" name="THROW-main"/>\r
+                <check enabled="true" name="THROW-null"/>\r
+                <check enabled="true" name="THROW-ptr"/>\r
+                <check enabled="true" name="THROW-static"/>\r
+                <check enabled="true" name="THROW-unhandled"/>\r
+              </group>\r
+              <group enabled="true" name="UNION">\r
+                <check enabled="true" name="UNION-overlap-assign"/>\r
+                <check enabled="true" name="UNION-type-punning"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="CERT">\r
+              <group enabled="true" name="CERT-EXP">\r
+                <check enabled="true" name="CERT-EXP19-C"/>\r
+              </group>\r
+              <group enabled="true" name="CERT-FIO">\r
+                <check enabled="true" name="CERT-FIO37-C"/>\r
+                <check enabled="true" name="CERT-FIO38-C"/>\r
+              </group>\r
+              <group enabled="true" name="CERT-SIG">\r
+                <check enabled="true" name="CERT-SIG31-C"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="SECURITY">\r
+              <group enabled="true" name="SEC-BUFFER">\r
+                <check enabled="true" name="SEC-BUFFER-memory-leak-alias"/>\r
+                <check enabled="false" name="SEC-BUFFER-memory-leak"/>\r
+                <check enabled="false" name="SEC-BUFFER-memset-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-memset-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-qsort-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-qsort-overrun"/>\r
+                <check enabled="true" name="SEC-BUFFER-sprintf-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-std-sort-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-std-sort-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strcat-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strcat-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strcpy-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strcpy-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strncat-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strncat-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strncmp-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strncmp-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strncpy-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strncpy-overrun"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-alloc-size"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-copy-length"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-copy"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-index"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-offset"/>\r
+                <check enabled="true" name="SEC-BUFFER-use-after-free-all"/>\r
+                <check enabled="true" name="SEC-BUFFER-use-after-free-some"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-DIV-0">\r
+                <check enabled="true" name="SEC-DIV-0-compare-after"/>\r
+                <check enabled="true" name="SEC-DIV-0-compare-before"/>\r
+                <check enabled="true" name="SEC-DIV-0-tainted"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-FILEOP">\r
+                <check enabled="true" name="SEC-FILEOP-open-no-close"/>\r
+                <check enabled="false" name="SEC-FILEOP-path-traversal"/>\r
+                <check enabled="true" name="SEC-FILEOP-use-after-close"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-INJECTION">\r
+                <check enabled="false" name="SEC-INJECTION-sql"/>\r
+                <check enabled="false" name="SEC-INJECTION-xpath"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-LOOP">\r
+                <check enabled="true" name="SEC-LOOP-tainted-bound"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-NULL">\r
+                <check enabled="false" name="SEC-NULL-assignment-fun-pos"/>\r
+                <check enabled="true" name="SEC-NULL-assignment"/>\r
+                <check enabled="true" name="SEC-NULL-cmp-aft"/>\r
+                <check enabled="true" name="SEC-NULL-cmp-bef-fun"/>\r
+                <check enabled="true" name="SEC-NULL-cmp-bef"/>\r
+                <check enabled="false" name="SEC-NULL-literal-pos"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-STRING">\r
+                <check enabled="true" name="SEC-STRING-format-string"/>\r
+                <check enabled="false" name="SEC-STRING-hard-coded-credentials"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="MISRAC2004">\r
+              <group enabled="true" name="MISRAC2004-1">\r
+                <check enabled="true" name="MISRAC2004-1.1"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_a"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_b"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_c"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_d"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_e"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_f"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_g"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_h"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_i"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_j"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-2">\r
+                <check enabled="true" name="MISRAC2004-2.1"/>\r
+                <check enabled="true" name="MISRAC2004-2.2"/>\r
+                <check enabled="true" name="MISRAC2004-2.3"/>\r
+                <check enabled="false" name="MISRAC2004-2.4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-5">\r
+                <check enabled="true" name="MISRAC2004-5.2"/>\r
+                <check enabled="true" name="MISRAC2004-5.3"/>\r
+                <check enabled="true" name="MISRAC2004-5.4"/>\r
+                <check enabled="false" name="MISRAC2004-5.5"/>\r
+                <check enabled="false" name="MISRAC2004-5.6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-6">\r
+                <check enabled="true" name="MISRAC2004-6.1"/>\r
+                <check enabled="false" name="MISRAC2004-6.3"/>\r
+                <check enabled="true" name="MISRAC2004-6.4"/>\r
+                <check enabled="true" name="MISRAC2004-6.5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-7">\r
+                <check enabled="true" name="MISRAC2004-7.1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-8">\r
+                <check enabled="true" name="MISRAC2004-8.1"/>\r
+                <check enabled="true" name="MISRAC2004-8.2"/>\r
+                <check enabled="true" name="MISRAC2004-8.5_a"/>\r
+                <check enabled="true" name="MISRAC2004-8.5_b"/>\r
+                <check enabled="true" name="MISRAC2004-8.12"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-9">\r
+                <check enabled="true" name="MISRAC2004-9.1_a"/>\r
+                <check enabled="true" name="MISRAC2004-9.1_b"/>\r
+                <check enabled="true" name="MISRAC2004-9.1_c"/>\r
+                <check enabled="true" name="MISRAC2004-9.2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-10">\r
+                <check enabled="true" name="MISRAC2004-10.1_a"/>\r
+                <check enabled="true" name="MISRAC2004-10.1_b"/>\r
+                <check enabled="true" name="MISRAC2004-10.1_c"/>\r
+                <check enabled="true" name="MISRAC2004-10.1_d"/>\r
+                <check enabled="true" name="MISRAC2004-10.2_a"/>\r
+                <check enabled="true" name="MISRAC2004-10.2_b"/>\r
+                <check enabled="true" name="MISRAC2004-10.2_c"/>\r
+                <check enabled="true" name="MISRAC2004-10.2_d"/>\r
+                <check enabled="true" name="MISRAC2004-10.3"/>\r
+                <check enabled="true" name="MISRAC2004-10.4"/>\r
+                <check enabled="true" name="MISRAC2004-10.5"/>\r
+                <check enabled="true" name="MISRAC2004-10.6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-11">\r
+                <check enabled="true" name="MISRAC2004-11.1"/>\r
+                <check enabled="false" name="MISRAC2004-11.3"/>\r
+                <check enabled="false" name="MISRAC2004-11.4"/>\r
+                <check enabled="true" name="MISRAC2004-11.5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-12">\r
+                <check enabled="false" name="MISRAC2004-12.1"/>\r
+                <check enabled="true" name="MISRAC2004-12.2_a"/>\r
+                <check enabled="true" name="MISRAC2004-12.2_b"/>\r
+                <check enabled="true" name="MISRAC2004-12.2_c"/>\r
+                <check enabled="true" name="MISRAC2004-12.3"/>\r
+                <check enabled="true" name="MISRAC2004-12.4"/>\r
+                <check enabled="false" name="MISRAC2004-12.6_a"/>\r
+                <check enabled="false" name="MISRAC2004-12.6_b"/>\r
+                <check enabled="true" name="MISRAC2004-12.7"/>\r
+                <check enabled="true" name="MISRAC2004-12.8"/>\r
+                <check enabled="true" name="MISRAC2004-12.9"/>\r
+                <check enabled="true" name="MISRAC2004-12.10"/>\r
+                <check enabled="false" name="MISRAC2004-12.11"/>\r
+                <check enabled="true" name="MISRAC2004-12.12_a"/>\r
+                <check enabled="true" name="MISRAC2004-12.12_b"/>\r
+                <check enabled="false" name="MISRAC2004-12.13"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-13">\r
+                <check enabled="true" name="MISRAC2004-13.1"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_a"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_b"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_c"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_d"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_e"/>\r
+                <check enabled="true" name="MISRAC2004-13.3"/>\r
+                <check enabled="true" name="MISRAC2004-13.4"/>\r
+                <check enabled="true" name="MISRAC2004-13.5"/>\r
+                <check enabled="true" name="MISRAC2004-13.6"/>\r
+                <check enabled="true" name="MISRAC2004-13.7_a"/>\r
+                <check enabled="true" name="MISRAC2004-13.7_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-14">\r
+                <check enabled="true" name="MISRAC2004-14.1"/>\r
+                <check enabled="true" name="MISRAC2004-14.2"/>\r
+                <check enabled="true" name="MISRAC2004-14.3"/>\r
+                <check enabled="true" name="MISRAC2004-14.4"/>\r
+                <check enabled="true" name="MISRAC2004-14.5"/>\r
+                <check enabled="true" name="MISRAC2004-14.6"/>\r
+                <check enabled="true" name="MISRAC2004-14.7"/>\r
+                <check enabled="true" name="MISRAC2004-14.8_a"/>\r
+                <check enabled="true" name="MISRAC2004-14.8_b"/>\r
+                <check enabled="true" name="MISRAC2004-14.8_c"/>\r
+                <check enabled="true" name="MISRAC2004-14.8_d"/>\r
+                <check enabled="true" name="MISRAC2004-14.9"/>\r
+                <check enabled="true" name="MISRAC2004-14.10"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-15">\r
+                <check enabled="true" name="MISRAC2004-15.0"/>\r
+                <check enabled="true" name="MISRAC2004-15.1"/>\r
+                <check enabled="true" name="MISRAC2004-15.2"/>\r
+                <check enabled="true" name="MISRAC2004-15.3"/>\r
+                <check enabled="true" name="MISRAC2004-15.4"/>\r
+                <check enabled="true" name="MISRAC2004-15.5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-16">\r
+                <check enabled="true" name="MISRAC2004-16.1"/>\r
+                <check enabled="true" name="MISRAC2004-16.2_a"/>\r
+                <check enabled="true" name="MISRAC2004-16.2_b"/>\r
+                <check enabled="true" name="MISRAC2004-16.3"/>\r
+                <check enabled="true" name="MISRAC2004-16.5"/>\r
+                <check enabled="true" name="MISRAC2004-16.7"/>\r
+                <check enabled="true" name="MISRAC2004-16.8"/>\r
+                <check enabled="true" name="MISRAC2004-16.9"/>\r
+                <check enabled="true" name="MISRAC2004-16.10"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-17">\r
+                <check enabled="true" name="MISRAC2004-17.1_a"/>\r
+                <check enabled="true" name="MISRAC2004-17.1_b"/>\r
+                <check enabled="true" name="MISRAC2004-17.1_c"/>\r
+                <check enabled="true" name="MISRAC2004-17.4_a"/>\r
+                <check enabled="true" name="MISRAC2004-17.4_b"/>\r
+                <check enabled="true" name="MISRAC2004-17.5"/>\r
+                <check enabled="true" name="MISRAC2004-17.6_a"/>\r
+                <check enabled="true" name="MISRAC2004-17.6_b"/>\r
+                <check enabled="true" name="MISRAC2004-17.6_c"/>\r
+                <check enabled="true" name="MISRAC2004-17.6_d"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-18">\r
+                <check enabled="true" name="MISRAC2004-18.1"/>\r
+                <check enabled="true" name="MISRAC2004-18.2"/>\r
+                <check enabled="true" name="MISRAC2004-18.4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-19">\r
+                <check enabled="false" name="MISRAC2004-19.2"/>\r
+                <check enabled="true" name="MISRAC2004-19.6"/>\r
+                <check enabled="false" name="MISRAC2004-19.7"/>\r
+                <check enabled="true" name="MISRAC2004-19.12"/>\r
+                <check enabled="false" name="MISRAC2004-19.13"/>\r
+                <check enabled="true" name="MISRAC2004-19.15"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-20">\r
+                <check enabled="true" name="MISRAC2004-20.1"/>\r
+                <check enabled="true" name="MISRAC2004-20.4"/>\r
+                <check enabled="true" name="MISRAC2004-20.5"/>\r
+                <check enabled="true" name="MISRAC2004-20.6"/>\r
+                <check enabled="true" name="MISRAC2004-20.7"/>\r
+                <check enabled="true" name="MISRAC2004-20.8"/>\r
+                <check enabled="true" name="MISRAC2004-20.9"/>\r
+                <check enabled="true" name="MISRAC2004-20.10"/>\r
+                <check enabled="true" name="MISRAC2004-20.11"/>\r
+                <check enabled="true" name="MISRAC2004-20.12"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="MISRAC2012">\r
+              <group enabled="true" name="MISRAC2012-Dir-4">\r
+                <check enabled="true" name="MISRAC2012-Dir-4.3"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.4"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.5"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.6_a"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.6_b"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.7_a"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.7_b"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.7_c"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.8"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.9"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.10"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_a"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_b"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_c"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_d"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_e"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_f"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_g"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_h"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_i"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.12"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_b"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_c"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_d"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_e"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_f"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_g"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.13_h"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-1">\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_e"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_f"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_g"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_h"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_i"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_j"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_k"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_m"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_n"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_o"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_p"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_q"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_r"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_s"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_t"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_u"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_v"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_w"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-2">\r
+                <check enabled="true" name="MISRAC2012-Rule-2.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-2.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-2.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-2.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-2.2_c"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.3"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.5"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.6"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.7"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-3">\r
+                <check enabled="true" name="MISRAC2012-Rule-3.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-3.2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-5">\r
+                <check enabled="true" name="MISRAC2012-Rule-5.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.2_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.2_c99"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.3_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.3_c99"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.4_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.4_c99"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.5_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.5_c99"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.8"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-5.9"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-6">\r
+                <check enabled="true" name="MISRAC2012-Rule-6.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-6.2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-7">\r
+                <check enabled="true" name="MISRAC2012-Rule-7.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-7.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-7.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-7.4_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-7.4_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-8">\r
+                <check enabled="true" name="MISRAC2012-Rule-8.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.3_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.5_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.5_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.6"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.7"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.9_a"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.9_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.10"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.11"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.12"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.13"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.14"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-9">\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_e"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_f"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.5_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.5_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-10">\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R8"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.4_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.4_b"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-10.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.8"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-11">\r
+                <check enabled="true" name="MISRAC2012-Rule-11.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.3"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-11.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-11.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.8"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.9"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-12">\r
+                <check enabled="false" name="MISRAC2012-Rule-12.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-12.2"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-12.3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-13">\r
+                <check enabled="true" name="MISRAC2012-Rule-13.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.2_c"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-13.3"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-13.4_a"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-13.4_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-14">\r
+                <check enabled="true" name="MISRAC2012-Rule-14.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.3_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.3_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.4_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.4_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.4_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.4_d"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-15">\r
+                <check enabled="false" name="MISRAC2012-Rule-15.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.3"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-15.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-15.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_e"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.7"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-16">\r
+                <check enabled="true" name="MISRAC2012-Rule-16.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.7"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-17">\r
+                <check enabled="true" name="MISRAC2012-Rule-17.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-17.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.7"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-17.8"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-18">\r
+                <check enabled="true" name="MISRAC2012-Rule-18.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.1_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.1_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-18.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.6_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.6_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.6_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.6_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.8"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-19">\r
+                <check enabled="true" name="MISRAC2012-Rule-19.1"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-19.2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-20">\r
+                <check enabled="false" name="MISRAC2012-Rule-20.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-20.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-20.4_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-20.4_c99"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-20.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-20.7"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-20.10"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-21">\r
+                <check enabled="true" name="MISRAC2012-Rule-21.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.8"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.9"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.10"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.11"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-21.12_a"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-21.12_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-22">\r
+                <check enabled="true" name="MISRAC2012-Rule-22.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.2_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.5_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.5_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.6"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="MISRAC++2008">\r
+              <group enabled="true" name="MISRAC++2008-0-1">\r
+                <check enabled="true" name="MISRAC++2008-0-1-1"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-2_a"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-2_b"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-2_c"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-3"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-4_a"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-4_b"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-6"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-7"/>\r
+                <check enabled="false" name="MISRAC++2008-0-1-8"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-9"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-11"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-0-2">\r
+                <check enabled="true" name="MISRAC++2008-0-2-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-0-3">\r
+                <check enabled="true" name="MISRAC++2008-0-3-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-2-7">\r
+                <check enabled="true" name="MISRAC++2008-2-7-1"/>\r
+                <check enabled="true" name="MISRAC++2008-2-7-2"/>\r
+                <check enabled="false" name="MISRAC++2008-2-7-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-2-10">\r
+                <check enabled="true" name="MISRAC++2008-2-10-1"/>\r
+                <check enabled="true" name="MISRAC++2008-2-10-2"/>\r
+                <check enabled="true" name="MISRAC++2008-2-10-3"/>\r
+                <check enabled="true" name="MISRAC++2008-2-10-4"/>\r
+                <check enabled="false" name="MISRAC++2008-2-10-5"/>\r
+                <check enabled="true" name="MISRAC++2008-2-10-6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-2-13">\r
+                <check enabled="true" name="MISRAC++2008-2-13-2"/>\r
+                <check enabled="true" name="MISRAC++2008-2-13-3"/>\r
+                <check enabled="true" name="MISRAC++2008-2-13-4_a"/>\r
+                <check enabled="true" name="MISRAC++2008-2-13-4_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-3-1">\r
+                <check enabled="true" name="MISRAC++2008-3-1-1"/>\r
+                <check enabled="true" name="MISRAC++2008-3-1-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-3-9">\r
+                <check enabled="false" name="MISRAC++2008-3-9-2"/>\r
+                <check enabled="true" name="MISRAC++2008-3-9-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-4-5">\r
+                <check enabled="true" name="MISRAC++2008-4-5-1"/>\r
+                <check enabled="true" name="MISRAC++2008-4-5-2"/>\r
+                <check enabled="true" name="MISRAC++2008-4-5-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-0">\r
+                <check enabled="true" name="MISRAC++2008-5-0-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-1_c"/>\r
+                <check enabled="false" name="MISRAC++2008-5-0-2"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-3"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-4"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-5"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-6"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-7"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-8"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-9"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-10"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-13_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-13_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-13_c"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-13_d"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-14"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-15_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-15_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_c"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_d"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_e"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_f"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-19"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-21"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-2">\r
+                <check enabled="true" name="MISRAC++2008-5-2-4"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-5"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-6"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-7"/>\r
+                <check enabled="false" name="MISRAC++2008-5-2-9"/>\r
+                <check enabled="false" name="MISRAC++2008-5-2-10"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-11_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-11_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-3">\r
+                <check enabled="true" name="MISRAC++2008-5-3-1"/>\r
+                <check enabled="true" name="MISRAC++2008-5-3-2_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-3-2_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-3-3"/>\r
+                <check enabled="true" name="MISRAC++2008-5-3-4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-8">\r
+                <check enabled="true" name="MISRAC++2008-5-8-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-14">\r
+                <check enabled="true" name="MISRAC++2008-5-14-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-18">\r
+                <check enabled="true" name="MISRAC++2008-5-18-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-19">\r
+                <check enabled="false" name="MISRAC++2008-5-19-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-2">\r
+                <check enabled="true" name="MISRAC++2008-6-2-1"/>\r
+                <check enabled="true" name="MISRAC++2008-6-2-2"/>\r
+                <check enabled="false" name="MISRAC++2008-6-2-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-3">\r
+                <check enabled="true" name="MISRAC++2008-6-3-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-6-3-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-6-3-1_c"/>\r
+                <check enabled="true" name="MISRAC++2008-6-3-1_d"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-4">\r
+                <check enabled="true" name="MISRAC++2008-6-4-1"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-2"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-3"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-4"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-5"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-6"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-7"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-8"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-5">\r
+                <check enabled="true" name="MISRAC++2008-6-5-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-6-5-2"/>\r
+                <check enabled="true" name="MISRAC++2008-6-5-3"/>\r
+                <check enabled="true" name="MISRAC++2008-6-5-4"/>\r
+                <check enabled="true" name="MISRAC++2008-6-5-6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-6">\r
+                <check enabled="true" name="MISRAC++2008-6-6-1"/>\r
+                <check enabled="true" name="MISRAC++2008-6-6-2"/>\r
+                <check enabled="true" name="MISRAC++2008-6-6-4"/>\r
+                <check enabled="true" name="MISRAC++2008-6-6-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-7-1">\r
+                <check enabled="true" name="MISRAC++2008-7-1-1"/>\r
+                <check enabled="true" name="MISRAC++2008-7-1-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-7-2">\r
+                <check enabled="true" name="MISRAC++2008-7-2-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-7-4">\r
+                <check enabled="true" name="MISRAC++2008-7-4-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-7-5">\r
+                <check enabled="true" name="MISRAC++2008-7-5-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-2_a"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-2_b"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-2_c"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-2_d"/>\r
+                <check enabled="false" name="MISRAC++2008-7-5-4_a"/>\r
+                <check enabled="false" name="MISRAC++2008-7-5-4_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-8-0">\r
+                <check enabled="true" name="MISRAC++2008-8-0-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-8-4">\r
+                <check enabled="true" name="MISRAC++2008-8-4-1"/>\r
+                <check enabled="true" name="MISRAC++2008-8-4-3"/>\r
+                <check enabled="true" name="MISRAC++2008-8-4-4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-8-5">\r
+                <check enabled="true" name="MISRAC++2008-8-5-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-8-5-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-8-5-1_c"/>\r
+                <check enabled="true" name="MISRAC++2008-8-5-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-9-3">\r
+                <check enabled="true" name="MISRAC++2008-9-3-1"/>\r
+                <check enabled="true" name="MISRAC++2008-9-3-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-9-5">\r
+                <check enabled="true" name="MISRAC++2008-9-5-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-9-6">\r
+                <check enabled="true" name="MISRAC++2008-9-6-2"/>\r
+                <check enabled="true" name="MISRAC++2008-9-6-3"/>\r
+                <check enabled="true" name="MISRAC++2008-9-6-4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-12-1">\r
+                <check enabled="true" name="MISRAC++2008-12-1-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-12-1-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-12-1-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-15-0">\r
+                <check enabled="false" name="MISRAC++2008-15-0-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-15-1">\r
+                <check enabled="true" name="MISRAC++2008-15-1-2"/>\r
+                <check enabled="true" name="MISRAC++2008-15-1-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-15-3">\r
+                <check enabled="true" name="MISRAC++2008-15-3-1"/>\r
+                <check enabled="false" name="MISRAC++2008-15-3-2"/>\r
+                <check enabled="true" name="MISRAC++2008-15-3-3"/>\r
+                <check enabled="true" name="MISRAC++2008-15-3-4"/>\r
+                <check enabled="true" name="MISRAC++2008-15-3-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-15-5">\r
+                <check enabled="true" name="MISRAC++2008-15-5-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-16-0">\r
+                <check enabled="true" name="MISRAC++2008-16-0-3"/>\r
+                <check enabled="true" name="MISRAC++2008-16-0-4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-16-2">\r
+                <check enabled="true" name="MISRAC++2008-16-2-2"/>\r
+                <check enabled="true" name="MISRAC++2008-16-2-3"/>\r
+                <check enabled="true" name="MISRAC++2008-16-2-4"/>\r
+                <check enabled="false" name="MISRAC++2008-16-2-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-16-3">\r
+                <check enabled="true" name="MISRAC++2008-16-3-1"/>\r
+                <check enabled="false" name="MISRAC++2008-16-3-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-17-0">\r
+                <check enabled="true" name="MISRAC++2008-17-0-1"/>\r
+                <check enabled="true" name="MISRAC++2008-17-0-3"/>\r
+                <check enabled="true" name="MISRAC++2008-17-0-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-18-0">\r
+                <check enabled="true" name="MISRAC++2008-18-0-1"/>\r
+                <check enabled="true" name="MISRAC++2008-18-0-2"/>\r
+                <check enabled="true" name="MISRAC++2008-18-0-3"/>\r
+                <check enabled="true" name="MISRAC++2008-18-0-4"/>\r
+                <check enabled="true" name="MISRAC++2008-18-0-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-18-2">\r
+                <check enabled="true" name="MISRAC++2008-18-2-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-18-4">\r
+                <check enabled="true" name="MISRAC++2008-18-4-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-18-7">\r
+                <check enabled="true" name="MISRAC++2008-18-7-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-19-3">\r
+                <check enabled="true" name="MISRAC++2008-19-3-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-27-0">\r
+                <check enabled="true" name="MISRAC++2008-27-0-1"/>\r
+              </group>\r
+            </package>\r
+          </checks_tree>\r
+        </cstat_settings>\r
+      </data>\r
+    </settings>\r
     <settings>\r
       <name>RuntimeChecking</name>\r
       <archiveVersion>0</archiveVersion>\r
       <name>ARM</name>\r
     </toolchain>\r
     <debug>0</debug>\r
+    <settings>\r
+      <name>C-STAT</name>\r
+      <archiveVersion>259</archiveVersion>\r
+      <data>\r
+        <version>259</version>\r
+        <cstatargs>\r
+          <useExtraArgs>0</useExtraArgs>\r
+          <extraArgs></extraArgs>\r
+          <analyzeTimeoutEnabled>1</analyzeTimeoutEnabled>\r
+          <analyzeTimeout>600</analyzeTimeout>\r
+          <enableParallel>0</enableParallel>\r
+          <parallelThreads>2</parallelThreads>\r
+          <enableFalsePositives>0</enableFalsePositives>\r
+          <messagesLimitEnabled>1</messagesLimitEnabled>\r
+          <messagesLimit>100</messagesLimit>\r
+        </cstatargs>\r
+        <cstat_settings>\r
+          <cstat_version>1.3.2</cstat_version>\r
+          <checks_tree>\r
+            <package enabled="true" name="STDCHECKS">\r
+              <group enabled="true" name="ARR">\r
+                <check enabled="true" name="ARR-inv-index-pos"/>\r
+                <check enabled="true" name="ARR-inv-index-ptr-pos"/>\r
+                <check enabled="true" name="ARR-inv-index-ptr"/>\r
+                <check enabled="true" name="ARR-inv-index"/>\r
+                <check enabled="true" name="ARR-neg-index"/>\r
+                <check enabled="true" name="ARR-uninit-index"/>\r
+              </group>\r
+              <group enabled="true" name="ATH">\r
+                <check enabled="true" name="ATH-cmp-float"/>\r
+                <check enabled="true" name="ATH-cmp-unsign-neg"/>\r
+                <check enabled="true" name="ATH-cmp-unsign-pos"/>\r
+                <check enabled="true" name="ATH-div-0-assign"/>\r
+                <check enabled="false" name="ATH-div-0-cmp-aft"/>\r
+                <check enabled="true" name="ATH-div-0-cmp-bef"/>\r
+                <check enabled="true" name="ATH-div-0-interval"/>\r
+                <check enabled="true" name="ATH-div-0-pos"/>\r
+                <check enabled="true" name="ATH-div-0-unchk-global"/>\r
+                <check enabled="true" name="ATH-div-0-unchk-local"/>\r
+                <check enabled="true" name="ATH-div-0-unchk-param"/>\r
+                <check enabled="true" name="ATH-div-0"/>\r
+                <check enabled="true" name="ATH-inc-bool"/>\r
+                <check enabled="true" name="ATH-malloc-overrun"/>\r
+                <check enabled="true" name="ATH-neg-check-nonneg"/>\r
+                <check enabled="true" name="ATH-neg-check-pos"/>\r
+                <check enabled="true" name="ATH-new-overrun"/>\r
+                <check enabled="false" name="ATH-overflow-cast"/>\r
+                <check enabled="true" name="ATH-overflow"/>\r
+                <check enabled="true" name="ATH-shift-bounds"/>\r
+                <check enabled="true" name="ATH-shift-neg"/>\r
+                <check enabled="true" name="ATH-sizeof-by-sizeof"/>\r
+              </group>\r
+              <group enabled="true" name="CAST">\r
+                <check enabled="false" name="CAST-old-style"/>\r
+              </group>\r
+              <group enabled="true" name="CATCH">\r
+                <check enabled="true" name="CATCH-object-slicing"/>\r
+                <check enabled="false" name="CATCH-xtor-bad-member"/>\r
+              </group>\r
+              <group enabled="true" name="COMMA">\r
+                <check enabled="false" name="COMMA-overload"/>\r
+              </group>\r
+              <group enabled="true" name="COMMENT">\r
+                <check enabled="true" name="COMMENT-nested"/>\r
+              </group>\r
+              <group enabled="true" name="CONST">\r
+                <check enabled="true" name="CONST-member-ret"/>\r
+              </group>\r
+              <group enabled="true" name="COP">\r
+                <check enabled="false" name="COP-alloc-ctor"/>\r
+                <check enabled="true" name="COP-assign-op-ret"/>\r
+                <check enabled="true" name="COP-assign-op-self"/>\r
+                <check enabled="true" name="COP-assign-op"/>\r
+                <check enabled="true" name="COP-copy-ctor"/>\r
+                <check enabled="false" name="COP-dealloc-dtor"/>\r
+                <check enabled="true" name="COP-dtor-throw"/>\r
+                <check enabled="true" name="COP-dtor"/>\r
+                <check enabled="true" name="COP-init-order"/>\r
+                <check enabled="true" name="COP-init-uninit"/>\r
+                <check enabled="true" name="COP-member-uninit"/>\r
+              </group>\r
+              <group enabled="true" name="CPU">\r
+                <check enabled="true" name="CPU-ctor-call-virt"/>\r
+                <check enabled="false" name="CPU-ctor-implicit"/>\r
+                <check enabled="true" name="CPU-delete-throw"/>\r
+                <check enabled="true" name="CPU-delete-void"/>\r
+                <check enabled="true" name="CPU-dtor-call-virt"/>\r
+                <check enabled="true" name="CPU-malloc-class"/>\r
+                <check enabled="true" name="CPU-nonvirt-dtor"/>\r
+                <check enabled="true" name="CPU-return-ref-to-class-data"/>\r
+              </group>\r
+              <group enabled="true" name="DECL">\r
+                <check enabled="false" name="DECL-implicit-int"/>\r
+              </group>\r
+              <group enabled="true" name="DEFINE">\r
+                <check enabled="true" name="DEFINE-hash-multiple"/>\r
+              </group>\r
+              <group enabled="true" name="ENUM">\r
+                <check enabled="false" name="ENUM-bounds"/>\r
+              </group>\r
+              <group enabled="true" name="EXP">\r
+                <check enabled="true" name="EXP-cond-assign"/>\r
+                <check enabled="true" name="EXP-dangling-else"/>\r
+                <check enabled="true" name="EXP-loop-exit"/>\r
+                <check enabled="false" name="EXP-main-ret-int"/>\r
+                <check enabled="false" name="EXP-null-stmt"/>\r
+                <check enabled="false" name="EXP-stray-semicolon"/>\r
+              </group>\r
+              <group enabled="true" name="EXPR">\r
+                <check enabled="true" name="EXPR-const-overflow"/>\r
+              </group>\r
+              <group enabled="true" name="FPT">\r
+                <check enabled="true" name="FPT-cmp-null"/>\r
+                <check enabled="false" name="FPT-literal"/>\r
+                <check enabled="true" name="FPT-misuse"/>\r
+              </group>\r
+              <group enabled="true" name="FUNC">\r
+                <check enabled="false" name="FUNC-implicit-decl"/>\r
+                <check enabled="false" name="FUNC-unprototyped-all"/>\r
+                <check enabled="true" name="FUNC-unprototyped-used"/>\r
+              </group>\r
+              <group enabled="true" name="INCLUDE">\r
+                <check enabled="false" name="INCLUDE-c-file"/>\r
+              </group>\r
+              <group enabled="true" name="INT">\r
+                <check enabled="false" name="INT-use-signed-as-unsigned-pos"/>\r
+                <check enabled="true" name="INT-use-signed-as-unsigned"/>\r
+              </group>\r
+              <group enabled="true" name="ITR">\r
+                <check enabled="true" name="ITR-end-cmp-aft"/>\r
+                <check enabled="true" name="ITR-end-cmp-bef"/>\r
+                <check enabled="true" name="ITR-invalidated"/>\r
+                <check enabled="false" name="ITR-mismatch-alg"/>\r
+                <check enabled="false" name="ITR-store"/>\r
+                <check enabled="true" name="ITR-uninit"/>\r
+              </group>\r
+              <group enabled="true" name="LIB">\r
+                <check enabled="false" name="LIB-bsearch-overrun-pos"/>\r
+                <check enabled="false" name="LIB-bsearch-overrun"/>\r
+                <check enabled="false" name="LIB-fn-unsafe"/>\r
+                <check enabled="false" name="LIB-fread-overrun-pos"/>\r
+                <check enabled="true" name="LIB-fread-overrun"/>\r
+                <check enabled="false" name="LIB-memchr-overrun-pos"/>\r
+                <check enabled="true" name="LIB-memchr-overrun"/>\r
+                <check enabled="false" name="LIB-memcpy-overrun-pos"/>\r
+                <check enabled="true" name="LIB-memcpy-overrun"/>\r
+                <check enabled="false" name="LIB-memset-overrun-pos"/>\r
+                <check enabled="true" name="LIB-memset-overrun"/>\r
+                <check enabled="false" name="LIB-putenv"/>\r
+                <check enabled="false" name="LIB-qsort-overrun-pos"/>\r
+                <check enabled="false" name="LIB-qsort-overrun"/>\r
+                <check enabled="true" name="LIB-return-const"/>\r
+                <check enabled="true" name="LIB-return-error"/>\r
+                <check enabled="true" name="LIB-return-leak"/>\r
+                <check enabled="true" name="LIB-return-neg"/>\r
+                <check enabled="true" name="LIB-return-null"/>\r
+                <check enabled="false" name="LIB-sprintf-overrun"/>\r
+                <check enabled="false" name="LIB-std-sort-overrun-pos"/>\r
+                <check enabled="true" name="LIB-std-sort-overrun"/>\r
+                <check enabled="false" name="LIB-strcat-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strcat-overrun"/>\r
+                <check enabled="false" name="LIB-strcpy-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strcpy-overrun"/>\r
+                <check enabled="false" name="LIB-strncat-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strncat-overrun"/>\r
+                <check enabled="false" name="LIB-strncmp-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strncmp-overrun"/>\r
+                <check enabled="false" name="LIB-strncpy-overrun-pos"/>\r
+                <check enabled="true" name="LIB-strncpy-overrun"/>\r
+              </group>\r
+              <group enabled="true" name="LOGIC">\r
+                <check enabled="false" name="LOGIC-overload"/>\r
+              </group>\r
+              <group enabled="true" name="MEM">\r
+                <check enabled="true" name="MEM-delete-array-op"/>\r
+                <check enabled="true" name="MEM-delete-op"/>\r
+                <check enabled="true" name="MEM-double-free-alias"/>\r
+                <check enabled="true" name="MEM-double-free-some"/>\r
+                <check enabled="true" name="MEM-double-free"/>\r
+                <check enabled="true" name="MEM-free-field"/>\r
+                <check enabled="true" name="MEM-free-fptr"/>\r
+                <check enabled="false" name="MEM-free-no-alloc-struct"/>\r
+                <check enabled="false" name="MEM-free-no-alloc"/>\r
+                <check enabled="true" name="MEM-free-no-use"/>\r
+                <check enabled="true" name="MEM-free-op"/>\r
+                <check enabled="true" name="MEM-free-struct-field"/>\r
+                <check enabled="true" name="MEM-free-variable-alias"/>\r
+                <check enabled="true" name="MEM-free-variable"/>\r
+                <check enabled="true" name="MEM-leak-alias"/>\r
+                <check enabled="false" name="MEM-leak"/>\r
+                <check enabled="false" name="MEM-malloc-arith"/>\r
+                <check enabled="true" name="MEM-malloc-diff-type"/>\r
+                <check enabled="true" name="MEM-malloc-sizeof-ptr"/>\r
+                <check enabled="true" name="MEM-malloc-sizeof"/>\r
+                <check enabled="false" name="MEM-malloc-strlen"/>\r
+                <check enabled="true" name="MEM-realloc-diff-type"/>\r
+                <check enabled="true" name="MEM-return-free"/>\r
+                <check enabled="true" name="MEM-return-no-assign"/>\r
+                <check enabled="true" name="MEM-stack-global-field"/>\r
+                <check enabled="true" name="MEM-stack-global"/>\r
+                <check enabled="true" name="MEM-stack-param-ref"/>\r
+                <check enabled="true" name="MEM-stack-param"/>\r
+                <check enabled="true" name="MEM-stack-pos"/>\r
+                <check enabled="true" name="MEM-stack-ref"/>\r
+                <check enabled="true" name="MEM-stack"/>\r
+                <check enabled="true" name="MEM-use-free-all"/>\r
+                <check enabled="true" name="MEM-use-free-some"/>\r
+              </group>\r
+              <group enabled="true" name="PTR">\r
+                <check enabled="true" name="PTR-arith-field"/>\r
+                <check enabled="true" name="PTR-arith-stack"/>\r
+                <check enabled="true" name="PTR-arith-var"/>\r
+                <check enabled="true" name="PTR-cmp-str-lit"/>\r
+                <check enabled="false" name="PTR-null-assign-fun-pos"/>\r
+                <check enabled="false" name="PTR-null-assign-pos"/>\r
+                <check enabled="true" name="PTR-null-assign"/>\r
+                <check enabled="true" name="PTR-null-cmp-aft"/>\r
+                <check enabled="true" name="PTR-null-cmp-bef-fun"/>\r
+                <check enabled="true" name="PTR-null-cmp-bef"/>\r
+                <check enabled="true" name="PTR-null-fun-pos"/>\r
+                <check enabled="false" name="PTR-null-literal-pos"/>\r
+                <check enabled="false" name="PTR-overload"/>\r
+                <check enabled="false" name="PTR-singleton-arith-pos"/>\r
+                <check enabled="true" name="PTR-singleton-arith"/>\r
+                <check enabled="true" name="PTR-unchk-param-some"/>\r
+                <check enabled="false" name="PTR-unchk-param"/>\r
+                <check enabled="false" name="PTR-uninit-pos"/>\r
+                <check enabled="true" name="PTR-uninit"/>\r
+              </group>\r
+              <group enabled="true" name="RED">\r
+                <check enabled="false" name="RED-alloc-zero-bytes"/>\r
+                <check enabled="false" name="RED-case-reach"/>\r
+                <check enabled="false" name="RED-cmp-always"/>\r
+                <check enabled="false" name="RED-cmp-never"/>\r
+                <check enabled="false" name="RED-cond-always"/>\r
+                <check enabled="true" name="RED-cond-const-assign"/>\r
+                <check enabled="false" name="RED-cond-const-expr"/>\r
+                <check enabled="false" name="RED-cond-const"/>\r
+                <check enabled="false" name="RED-cond-never"/>\r
+                <check enabled="true" name="RED-dead"/>\r
+                <check enabled="false" name="RED-expr"/>\r
+                <check enabled="false" name="RED-func-no-effect"/>\r
+                <check enabled="true" name="RED-local-hides-global"/>\r
+                <check enabled="false" name="RED-local-hides-local"/>\r
+                <check enabled="false" name="RED-local-hides-member"/>\r
+                <check enabled="true" name="RED-local-hides-param"/>\r
+                <check enabled="false" name="RED-no-effect"/>\r
+                <check enabled="true" name="RED-self-assign"/>\r
+                <check enabled="true" name="RED-unused-assign"/>\r
+                <check enabled="false" name="RED-unused-param"/>\r
+                <check enabled="false" name="RED-unused-return-val"/>\r
+                <check enabled="false" name="RED-unused-val"/>\r
+                <check enabled="true" name="RED-unused-var-all"/>\r
+              </group>\r
+              <group enabled="true" name="RESOURCE">\r
+                <check enabled="false" name="RESOURCE-deref-file"/>\r
+                <check enabled="true" name="RESOURCE-double-close"/>\r
+                <check enabled="true" name="RESOURCE-file-no-close-all"/>\r
+                <check enabled="false" name="RESOURCE-file-pos-neg"/>\r
+                <check enabled="true" name="RESOURCE-file-use-after-close"/>\r
+                <check enabled="false" name="RESOURCE-implicit-deref-file"/>\r
+                <check enabled="true" name="RESOURCE-write-ronly-file"/>\r
+              </group>\r
+              <group enabled="true" name="SIZEOF">\r
+                <check enabled="true" name="SIZEOF-side-effect"/>\r
+              </group>\r
+              <group enabled="true" name="SPC">\r
+                <check enabled="true" name="SPC-order"/>\r
+                <check enabled="false" name="SPC-uninit-arr-all"/>\r
+                <check enabled="true" name="SPC-uninit-struct-field-heap"/>\r
+                <check enabled="false" name="SPC-uninit-struct-field"/>\r
+                <check enabled="true" name="SPC-uninit-struct"/>\r
+                <check enabled="true" name="SPC-uninit-var-all"/>\r
+                <check enabled="true" name="SPC-uninit-var-some"/>\r
+                <check enabled="false" name="SPC-volatile-reads"/>\r
+                <check enabled="false" name="SPC-volatile-writes"/>\r
+              </group>\r
+              <group enabled="true" name="STRUCT">\r
+                <check enabled="false" name="STRUCT-signed-bit"/>\r
+              </group>\r
+              <group enabled="true" name="SWITCH">\r
+                <check enabled="true" name="SWITCH-fall-through"/>\r
+              </group>\r
+              <group enabled="true" name="THROW">\r
+                <check enabled="false" name="THROW-empty"/>\r
+                <check enabled="false" name="THROW-main"/>\r
+                <check enabled="true" name="THROW-null"/>\r
+                <check enabled="true" name="THROW-ptr"/>\r
+                <check enabled="true" name="THROW-static"/>\r
+                <check enabled="true" name="THROW-unhandled"/>\r
+              </group>\r
+              <group enabled="true" name="UNION">\r
+                <check enabled="true" name="UNION-overlap-assign"/>\r
+                <check enabled="true" name="UNION-type-punning"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="CERT">\r
+              <group enabled="true" name="CERT-EXP">\r
+                <check enabled="true" name="CERT-EXP19-C"/>\r
+              </group>\r
+              <group enabled="true" name="CERT-FIO">\r
+                <check enabled="true" name="CERT-FIO37-C"/>\r
+                <check enabled="true" name="CERT-FIO38-C"/>\r
+              </group>\r
+              <group enabled="true" name="CERT-SIG">\r
+                <check enabled="true" name="CERT-SIG31-C"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="SECURITY">\r
+              <group enabled="true" name="SEC-BUFFER">\r
+                <check enabled="true" name="SEC-BUFFER-memory-leak-alias"/>\r
+                <check enabled="false" name="SEC-BUFFER-memory-leak"/>\r
+                <check enabled="false" name="SEC-BUFFER-memset-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-memset-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-qsort-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-qsort-overrun"/>\r
+                <check enabled="true" name="SEC-BUFFER-sprintf-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-std-sort-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-std-sort-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strcat-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strcat-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strcpy-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strcpy-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strncat-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strncat-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strncmp-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strncmp-overrun"/>\r
+                <check enabled="false" name="SEC-BUFFER-strncpy-overrun-pos"/>\r
+                <check enabled="true" name="SEC-BUFFER-strncpy-overrun"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-alloc-size"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-copy-length"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-copy"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-index"/>\r
+                <check enabled="true" name="SEC-BUFFER-tainted-offset"/>\r
+                <check enabled="true" name="SEC-BUFFER-use-after-free-all"/>\r
+                <check enabled="true" name="SEC-BUFFER-use-after-free-some"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-DIV-0">\r
+                <check enabled="true" name="SEC-DIV-0-compare-after"/>\r
+                <check enabled="true" name="SEC-DIV-0-compare-before"/>\r
+                <check enabled="true" name="SEC-DIV-0-tainted"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-FILEOP">\r
+                <check enabled="true" name="SEC-FILEOP-open-no-close"/>\r
+                <check enabled="false" name="SEC-FILEOP-path-traversal"/>\r
+                <check enabled="true" name="SEC-FILEOP-use-after-close"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-INJECTION">\r
+                <check enabled="false" name="SEC-INJECTION-sql"/>\r
+                <check enabled="false" name="SEC-INJECTION-xpath"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-LOOP">\r
+                <check enabled="true" name="SEC-LOOP-tainted-bound"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-NULL">\r
+                <check enabled="false" name="SEC-NULL-assignment-fun-pos"/>\r
+                <check enabled="true" name="SEC-NULL-assignment"/>\r
+                <check enabled="true" name="SEC-NULL-cmp-aft"/>\r
+                <check enabled="true" name="SEC-NULL-cmp-bef-fun"/>\r
+                <check enabled="true" name="SEC-NULL-cmp-bef"/>\r
+                <check enabled="false" name="SEC-NULL-literal-pos"/>\r
+              </group>\r
+              <group enabled="true" name="SEC-STRING">\r
+                <check enabled="true" name="SEC-STRING-format-string"/>\r
+                <check enabled="false" name="SEC-STRING-hard-coded-credentials"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="MISRAC2004">\r
+              <group enabled="true" name="MISRAC2004-1">\r
+                <check enabled="true" name="MISRAC2004-1.1"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_a"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_b"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_c"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_d"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_e"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_f"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_g"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_h"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_i"/>\r
+                <check enabled="true" name="MISRAC2004-1.2_j"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-2">\r
+                <check enabled="true" name="MISRAC2004-2.1"/>\r
+                <check enabled="true" name="MISRAC2004-2.2"/>\r
+                <check enabled="true" name="MISRAC2004-2.3"/>\r
+                <check enabled="false" name="MISRAC2004-2.4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-5">\r
+                <check enabled="true" name="MISRAC2004-5.2"/>\r
+                <check enabled="true" name="MISRAC2004-5.3"/>\r
+                <check enabled="true" name="MISRAC2004-5.4"/>\r
+                <check enabled="false" name="MISRAC2004-5.5"/>\r
+                <check enabled="false" name="MISRAC2004-5.6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-6">\r
+                <check enabled="true" name="MISRAC2004-6.1"/>\r
+                <check enabled="false" name="MISRAC2004-6.3"/>\r
+                <check enabled="true" name="MISRAC2004-6.4"/>\r
+                <check enabled="true" name="MISRAC2004-6.5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-7">\r
+                <check enabled="true" name="MISRAC2004-7.1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-8">\r
+                <check enabled="true" name="MISRAC2004-8.1"/>\r
+                <check enabled="true" name="MISRAC2004-8.2"/>\r
+                <check enabled="true" name="MISRAC2004-8.5_a"/>\r
+                <check enabled="true" name="MISRAC2004-8.5_b"/>\r
+                <check enabled="true" name="MISRAC2004-8.12"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-9">\r
+                <check enabled="true" name="MISRAC2004-9.1_a"/>\r
+                <check enabled="true" name="MISRAC2004-9.1_b"/>\r
+                <check enabled="true" name="MISRAC2004-9.1_c"/>\r
+                <check enabled="true" name="MISRAC2004-9.2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-10">\r
+                <check enabled="true" name="MISRAC2004-10.1_a"/>\r
+                <check enabled="true" name="MISRAC2004-10.1_b"/>\r
+                <check enabled="true" name="MISRAC2004-10.1_c"/>\r
+                <check enabled="true" name="MISRAC2004-10.1_d"/>\r
+                <check enabled="true" name="MISRAC2004-10.2_a"/>\r
+                <check enabled="true" name="MISRAC2004-10.2_b"/>\r
+                <check enabled="true" name="MISRAC2004-10.2_c"/>\r
+                <check enabled="true" name="MISRAC2004-10.2_d"/>\r
+                <check enabled="true" name="MISRAC2004-10.3"/>\r
+                <check enabled="true" name="MISRAC2004-10.4"/>\r
+                <check enabled="true" name="MISRAC2004-10.5"/>\r
+                <check enabled="true" name="MISRAC2004-10.6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-11">\r
+                <check enabled="true" name="MISRAC2004-11.1"/>\r
+                <check enabled="false" name="MISRAC2004-11.3"/>\r
+                <check enabled="false" name="MISRAC2004-11.4"/>\r
+                <check enabled="true" name="MISRAC2004-11.5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-12">\r
+                <check enabled="false" name="MISRAC2004-12.1"/>\r
+                <check enabled="true" name="MISRAC2004-12.2_a"/>\r
+                <check enabled="true" name="MISRAC2004-12.2_b"/>\r
+                <check enabled="true" name="MISRAC2004-12.2_c"/>\r
+                <check enabled="true" name="MISRAC2004-12.3"/>\r
+                <check enabled="true" name="MISRAC2004-12.4"/>\r
+                <check enabled="false" name="MISRAC2004-12.6_a"/>\r
+                <check enabled="false" name="MISRAC2004-12.6_b"/>\r
+                <check enabled="true" name="MISRAC2004-12.7"/>\r
+                <check enabled="true" name="MISRAC2004-12.8"/>\r
+                <check enabled="true" name="MISRAC2004-12.9"/>\r
+                <check enabled="true" name="MISRAC2004-12.10"/>\r
+                <check enabled="false" name="MISRAC2004-12.11"/>\r
+                <check enabled="true" name="MISRAC2004-12.12_a"/>\r
+                <check enabled="true" name="MISRAC2004-12.12_b"/>\r
+                <check enabled="false" name="MISRAC2004-12.13"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-13">\r
+                <check enabled="true" name="MISRAC2004-13.1"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_a"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_b"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_c"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_d"/>\r
+                <check enabled="false" name="MISRAC2004-13.2_e"/>\r
+                <check enabled="true" name="MISRAC2004-13.3"/>\r
+                <check enabled="true" name="MISRAC2004-13.4"/>\r
+                <check enabled="true" name="MISRAC2004-13.5"/>\r
+                <check enabled="true" name="MISRAC2004-13.6"/>\r
+                <check enabled="true" name="MISRAC2004-13.7_a"/>\r
+                <check enabled="true" name="MISRAC2004-13.7_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-14">\r
+                <check enabled="true" name="MISRAC2004-14.1"/>\r
+                <check enabled="true" name="MISRAC2004-14.2"/>\r
+                <check enabled="true" name="MISRAC2004-14.3"/>\r
+                <check enabled="true" name="MISRAC2004-14.4"/>\r
+                <check enabled="true" name="MISRAC2004-14.5"/>\r
+                <check enabled="true" name="MISRAC2004-14.6"/>\r
+                <check enabled="true" name="MISRAC2004-14.7"/>\r
+                <check enabled="true" name="MISRAC2004-14.8_a"/>\r
+                <check enabled="true" name="MISRAC2004-14.8_b"/>\r
+                <check enabled="true" name="MISRAC2004-14.8_c"/>\r
+                <check enabled="true" name="MISRAC2004-14.8_d"/>\r
+                <check enabled="true" name="MISRAC2004-14.9"/>\r
+                <check enabled="true" name="MISRAC2004-14.10"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-15">\r
+                <check enabled="true" name="MISRAC2004-15.0"/>\r
+                <check enabled="true" name="MISRAC2004-15.1"/>\r
+                <check enabled="true" name="MISRAC2004-15.2"/>\r
+                <check enabled="true" name="MISRAC2004-15.3"/>\r
+                <check enabled="true" name="MISRAC2004-15.4"/>\r
+                <check enabled="true" name="MISRAC2004-15.5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-16">\r
+                <check enabled="true" name="MISRAC2004-16.1"/>\r
+                <check enabled="true" name="MISRAC2004-16.2_a"/>\r
+                <check enabled="true" name="MISRAC2004-16.2_b"/>\r
+                <check enabled="true" name="MISRAC2004-16.3"/>\r
+                <check enabled="true" name="MISRAC2004-16.5"/>\r
+                <check enabled="true" name="MISRAC2004-16.7"/>\r
+                <check enabled="true" name="MISRAC2004-16.8"/>\r
+                <check enabled="true" name="MISRAC2004-16.9"/>\r
+                <check enabled="true" name="MISRAC2004-16.10"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-17">\r
+                <check enabled="true" name="MISRAC2004-17.1_a"/>\r
+                <check enabled="true" name="MISRAC2004-17.1_b"/>\r
+                <check enabled="true" name="MISRAC2004-17.1_c"/>\r
+                <check enabled="true" name="MISRAC2004-17.4_a"/>\r
+                <check enabled="true" name="MISRAC2004-17.4_b"/>\r
+                <check enabled="true" name="MISRAC2004-17.5"/>\r
+                <check enabled="true" name="MISRAC2004-17.6_a"/>\r
+                <check enabled="true" name="MISRAC2004-17.6_b"/>\r
+                <check enabled="true" name="MISRAC2004-17.6_c"/>\r
+                <check enabled="true" name="MISRAC2004-17.6_d"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-18">\r
+                <check enabled="true" name="MISRAC2004-18.1"/>\r
+                <check enabled="true" name="MISRAC2004-18.2"/>\r
+                <check enabled="true" name="MISRAC2004-18.4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-19">\r
+                <check enabled="false" name="MISRAC2004-19.2"/>\r
+                <check enabled="true" name="MISRAC2004-19.6"/>\r
+                <check enabled="false" name="MISRAC2004-19.7"/>\r
+                <check enabled="true" name="MISRAC2004-19.12"/>\r
+                <check enabled="false" name="MISRAC2004-19.13"/>\r
+                <check enabled="true" name="MISRAC2004-19.15"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2004-20">\r
+                <check enabled="true" name="MISRAC2004-20.1"/>\r
+                <check enabled="true" name="MISRAC2004-20.4"/>\r
+                <check enabled="true" name="MISRAC2004-20.5"/>\r
+                <check enabled="true" name="MISRAC2004-20.6"/>\r
+                <check enabled="true" name="MISRAC2004-20.7"/>\r
+                <check enabled="true" name="MISRAC2004-20.8"/>\r
+                <check enabled="true" name="MISRAC2004-20.9"/>\r
+                <check enabled="true" name="MISRAC2004-20.10"/>\r
+                <check enabled="true" name="MISRAC2004-20.11"/>\r
+                <check enabled="true" name="MISRAC2004-20.12"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="MISRAC2012">\r
+              <group enabled="true" name="MISRAC2012-Dir-4">\r
+                <check enabled="true" name="MISRAC2012-Dir-4.3"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.4"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.5"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.6_a"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.6_b"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.7_a"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.7_b"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.7_c"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.8"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.9"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.10"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_a"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_b"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_c"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_d"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_e"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_f"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_g"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_h"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.11_i"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.12"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_b"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_c"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_d"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_e"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_f"/>\r
+                <check enabled="true" name="MISRAC2012-Dir-4.13_g"/>\r
+                <check enabled="false" name="MISRAC2012-Dir-4.13_h"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-1">\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_e"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_f"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_g"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_h"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_i"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_j"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_k"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_m"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_n"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_o"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_p"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_q"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_r"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_s"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_t"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_u"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_v"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-1.3_w"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-2">\r
+                <check enabled="true" name="MISRAC2012-Rule-2.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-2.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-2.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-2.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-2.2_c"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.3"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.5"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.6"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-2.7"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-3">\r
+                <check enabled="true" name="MISRAC2012-Rule-3.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-3.2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-5">\r
+                <check enabled="true" name="MISRAC2012-Rule-5.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.2_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.2_c99"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.3_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.3_c99"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.4_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.4_c99"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.5_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.5_c99"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-5.8"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-5.9"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-6">\r
+                <check enabled="true" name="MISRAC2012-Rule-6.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-6.2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-7">\r
+                <check enabled="true" name="MISRAC2012-Rule-7.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-7.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-7.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-7.4_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-7.4_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-8">\r
+                <check enabled="true" name="MISRAC2012-Rule-8.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.3_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.5_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.5_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.6"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.7"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.9_a"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.9_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.10"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.11"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.12"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-8.13"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-8.14"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-9">\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_e"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.1_f"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.5_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-9.5_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-10">\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.1_R8"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.4_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.4_b"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-10.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-10.8"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-11">\r
+                <check enabled="true" name="MISRAC2012-Rule-11.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.3"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-11.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-11.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.8"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-11.9"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-12">\r
+                <check enabled="false" name="MISRAC2012-Rule-12.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-12.2"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-12.3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-13">\r
+                <check enabled="true" name="MISRAC2012-Rule-13.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.2_c"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-13.3"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-13.4_a"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-13.4_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-13.6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-14">\r
+                <check enabled="true" name="MISRAC2012-Rule-14.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.3_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.3_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.4_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.4_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.4_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-14.4_d"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-15">\r
+                <check enabled="false" name="MISRAC2012-Rule-15.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.3"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-15.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-15.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.6_e"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-15.7"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-16">\r
+                <check enabled="true" name="MISRAC2012-Rule-16.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-16.7"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-17">\r
+                <check enabled="true" name="MISRAC2012-Rule-17.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-17.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-17.7"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-17.8"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-18">\r
+                <check enabled="true" name="MISRAC2012-Rule-18.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.1_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.1_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.4"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-18.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.6_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.6_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.6_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.6_d"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-18.8"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-19">\r
+                <check enabled="true" name="MISRAC2012-Rule-19.1"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-19.2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-20">\r
+                <check enabled="false" name="MISRAC2012-Rule-20.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-20.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-20.4_c89"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-20.4_c99"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-20.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-20.7"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-20.10"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-21">\r
+                <check enabled="true" name="MISRAC2012-Rule-21.1"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.2"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.5"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.6"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.7"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.8"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.9"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.10"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-21.11"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-21.12_a"/>\r
+                <check enabled="false" name="MISRAC2012-Rule-21.12_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC2012-Rule-22">\r
+                <check enabled="true" name="MISRAC2012-Rule-22.1_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.1_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.2_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.2_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.2_c"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.3"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.4"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.5_a"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.5_b"/>\r
+                <check enabled="true" name="MISRAC2012-Rule-22.6"/>\r
+              </group>\r
+            </package>\r
+            <package enabled="false" name="MISRAC++2008">\r
+              <group enabled="true" name="MISRAC++2008-0-1">\r
+                <check enabled="true" name="MISRAC++2008-0-1-1"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-2_a"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-2_b"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-2_c"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-3"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-4_a"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-4_b"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-6"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-7"/>\r
+                <check enabled="false" name="MISRAC++2008-0-1-8"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-9"/>\r
+                <check enabled="true" name="MISRAC++2008-0-1-11"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-0-2">\r
+                <check enabled="true" name="MISRAC++2008-0-2-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-0-3">\r
+                <check enabled="true" name="MISRAC++2008-0-3-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-2-7">\r
+                <check enabled="true" name="MISRAC++2008-2-7-1"/>\r
+                <check enabled="true" name="MISRAC++2008-2-7-2"/>\r
+                <check enabled="false" name="MISRAC++2008-2-7-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-2-10">\r
+                <check enabled="true" name="MISRAC++2008-2-10-1"/>\r
+                <check enabled="true" name="MISRAC++2008-2-10-2"/>\r
+                <check enabled="true" name="MISRAC++2008-2-10-3"/>\r
+                <check enabled="true" name="MISRAC++2008-2-10-4"/>\r
+                <check enabled="false" name="MISRAC++2008-2-10-5"/>\r
+                <check enabled="true" name="MISRAC++2008-2-10-6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-2-13">\r
+                <check enabled="true" name="MISRAC++2008-2-13-2"/>\r
+                <check enabled="true" name="MISRAC++2008-2-13-3"/>\r
+                <check enabled="true" name="MISRAC++2008-2-13-4_a"/>\r
+                <check enabled="true" name="MISRAC++2008-2-13-4_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-3-1">\r
+                <check enabled="true" name="MISRAC++2008-3-1-1"/>\r
+                <check enabled="true" name="MISRAC++2008-3-1-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-3-9">\r
+                <check enabled="false" name="MISRAC++2008-3-9-2"/>\r
+                <check enabled="true" name="MISRAC++2008-3-9-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-4-5">\r
+                <check enabled="true" name="MISRAC++2008-4-5-1"/>\r
+                <check enabled="true" name="MISRAC++2008-4-5-2"/>\r
+                <check enabled="true" name="MISRAC++2008-4-5-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-0">\r
+                <check enabled="true" name="MISRAC++2008-5-0-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-1_c"/>\r
+                <check enabled="false" name="MISRAC++2008-5-0-2"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-3"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-4"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-5"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-6"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-7"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-8"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-9"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-10"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-13_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-13_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-13_c"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-13_d"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-14"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-15_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-15_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_c"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_d"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_e"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-16_f"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-19"/>\r
+                <check enabled="true" name="MISRAC++2008-5-0-21"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-2">\r
+                <check enabled="true" name="MISRAC++2008-5-2-4"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-5"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-6"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-7"/>\r
+                <check enabled="false" name="MISRAC++2008-5-2-9"/>\r
+                <check enabled="false" name="MISRAC++2008-5-2-10"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-11_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-2-11_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-3">\r
+                <check enabled="true" name="MISRAC++2008-5-3-1"/>\r
+                <check enabled="true" name="MISRAC++2008-5-3-2_a"/>\r
+                <check enabled="true" name="MISRAC++2008-5-3-2_b"/>\r
+                <check enabled="true" name="MISRAC++2008-5-3-3"/>\r
+                <check enabled="true" name="MISRAC++2008-5-3-4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-8">\r
+                <check enabled="true" name="MISRAC++2008-5-8-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-14">\r
+                <check enabled="true" name="MISRAC++2008-5-14-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-18">\r
+                <check enabled="true" name="MISRAC++2008-5-18-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-5-19">\r
+                <check enabled="false" name="MISRAC++2008-5-19-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-2">\r
+                <check enabled="true" name="MISRAC++2008-6-2-1"/>\r
+                <check enabled="true" name="MISRAC++2008-6-2-2"/>\r
+                <check enabled="false" name="MISRAC++2008-6-2-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-3">\r
+                <check enabled="true" name="MISRAC++2008-6-3-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-6-3-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-6-3-1_c"/>\r
+                <check enabled="true" name="MISRAC++2008-6-3-1_d"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-4">\r
+                <check enabled="true" name="MISRAC++2008-6-4-1"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-2"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-3"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-4"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-5"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-6"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-7"/>\r
+                <check enabled="true" name="MISRAC++2008-6-4-8"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-5">\r
+                <check enabled="true" name="MISRAC++2008-6-5-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-6-5-2"/>\r
+                <check enabled="true" name="MISRAC++2008-6-5-3"/>\r
+                <check enabled="true" name="MISRAC++2008-6-5-4"/>\r
+                <check enabled="true" name="MISRAC++2008-6-5-6"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-6-6">\r
+                <check enabled="true" name="MISRAC++2008-6-6-1"/>\r
+                <check enabled="true" name="MISRAC++2008-6-6-2"/>\r
+                <check enabled="true" name="MISRAC++2008-6-6-4"/>\r
+                <check enabled="true" name="MISRAC++2008-6-6-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-7-1">\r
+                <check enabled="true" name="MISRAC++2008-7-1-1"/>\r
+                <check enabled="true" name="MISRAC++2008-7-1-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-7-2">\r
+                <check enabled="true" name="MISRAC++2008-7-2-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-7-4">\r
+                <check enabled="true" name="MISRAC++2008-7-4-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-7-5">\r
+                <check enabled="true" name="MISRAC++2008-7-5-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-2_a"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-2_b"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-2_c"/>\r
+                <check enabled="true" name="MISRAC++2008-7-5-2_d"/>\r
+                <check enabled="false" name="MISRAC++2008-7-5-4_a"/>\r
+                <check enabled="false" name="MISRAC++2008-7-5-4_b"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-8-0">\r
+                <check enabled="true" name="MISRAC++2008-8-0-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-8-4">\r
+                <check enabled="true" name="MISRAC++2008-8-4-1"/>\r
+                <check enabled="true" name="MISRAC++2008-8-4-3"/>\r
+                <check enabled="true" name="MISRAC++2008-8-4-4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-8-5">\r
+                <check enabled="true" name="MISRAC++2008-8-5-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-8-5-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-8-5-1_c"/>\r
+                <check enabled="true" name="MISRAC++2008-8-5-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-9-3">\r
+                <check enabled="true" name="MISRAC++2008-9-3-1"/>\r
+                <check enabled="true" name="MISRAC++2008-9-3-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-9-5">\r
+                <check enabled="true" name="MISRAC++2008-9-5-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-9-6">\r
+                <check enabled="true" name="MISRAC++2008-9-6-2"/>\r
+                <check enabled="true" name="MISRAC++2008-9-6-3"/>\r
+                <check enabled="true" name="MISRAC++2008-9-6-4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-12-1">\r
+                <check enabled="true" name="MISRAC++2008-12-1-1_a"/>\r
+                <check enabled="true" name="MISRAC++2008-12-1-1_b"/>\r
+                <check enabled="true" name="MISRAC++2008-12-1-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-15-0">\r
+                <check enabled="false" name="MISRAC++2008-15-0-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-15-1">\r
+                <check enabled="true" name="MISRAC++2008-15-1-2"/>\r
+                <check enabled="true" name="MISRAC++2008-15-1-3"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-15-3">\r
+                <check enabled="true" name="MISRAC++2008-15-3-1"/>\r
+                <check enabled="false" name="MISRAC++2008-15-3-2"/>\r
+                <check enabled="true" name="MISRAC++2008-15-3-3"/>\r
+                <check enabled="true" name="MISRAC++2008-15-3-4"/>\r
+                <check enabled="true" name="MISRAC++2008-15-3-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-15-5">\r
+                <check enabled="true" name="MISRAC++2008-15-5-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-16-0">\r
+                <check enabled="true" name="MISRAC++2008-16-0-3"/>\r
+                <check enabled="true" name="MISRAC++2008-16-0-4"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-16-2">\r
+                <check enabled="true" name="MISRAC++2008-16-2-2"/>\r
+                <check enabled="true" name="MISRAC++2008-16-2-3"/>\r
+                <check enabled="true" name="MISRAC++2008-16-2-4"/>\r
+                <check enabled="false" name="MISRAC++2008-16-2-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-16-3">\r
+                <check enabled="true" name="MISRAC++2008-16-3-1"/>\r
+                <check enabled="false" name="MISRAC++2008-16-3-2"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-17-0">\r
+                <check enabled="true" name="MISRAC++2008-17-0-1"/>\r
+                <check enabled="true" name="MISRAC++2008-17-0-3"/>\r
+                <check enabled="true" name="MISRAC++2008-17-0-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-18-0">\r
+                <check enabled="true" name="MISRAC++2008-18-0-1"/>\r
+                <check enabled="true" name="MISRAC++2008-18-0-2"/>\r
+                <check enabled="true" name="MISRAC++2008-18-0-3"/>\r
+                <check enabled="true" name="MISRAC++2008-18-0-4"/>\r
+                <check enabled="true" name="MISRAC++2008-18-0-5"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-18-2">\r
+                <check enabled="true" name="MISRAC++2008-18-2-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-18-4">\r
+                <check enabled="true" name="MISRAC++2008-18-4-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-18-7">\r
+                <check enabled="true" name="MISRAC++2008-18-7-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-19-3">\r
+                <check enabled="true" name="MISRAC++2008-19-3-1"/>\r
+              </group>\r
+              <group enabled="true" name="MISRAC++2008-27-0">\r
+                <check enabled="true" name="MISRAC++2008-27-0-1"/>\r
+              </group>\r
+            </package>\r
+          </checks_tree>\r
+        </cstat_settings>\r
+      </data>\r
+    </settings>\r
     <settings>\r
       <name>RuntimeChecking</name>\r
       <archiveVersion>0</archiveVersion>\r
index ce0173f726ed93a0e067e26fda387e2fd50a5594..16325826bbb3ea0b83d5eb448ba4d019490659ed 100644 (file)
         <IsCurrentTarget>1</IsCurrentTarget>
       </OPTFL>
       <CpuCode>16</CpuCode>
+      <Books>
+        <Book>
+          <Number>0</Number>
+          <Title>User Manual (SAMV71-XULTRA)</Title>
+          <Path>C:\devtools\Keil_v520\ARM\PACK\Keil\SAM-ESV7_SFP\2.3.1\Boards\Atmel\SAMV71-XULTRA\Documents\Atmel-42408-SAMV71-Xplained-Ultra_User-Guide.pdf</Path>
+        </Book>
+        <Book>
+          <Number>1</Number>
+          <Title>Blinky Lab (SAMV71-XULTRA)</Title>
+          <Path>C:\devtools\Keil_v520\ARM\PACK\Keil\SAM-ESV7_SFP\2.3.1\Boards\Atmel\SAMV71-XULTRA\Documents\Atmel_Blinky_Lab.pdf</Path>
+        </Book>
+        <Book>
+          <Number>2</Number>
+          <Title>Bill of Materials (SAMV71-XULTRA)</Title>
+          <Path>C:\devtools\Keil_v520\ARM\PACK\Keil\SAM-ESV7_SFP\2.3.1\Boards\Atmel\SAMV71-XULTRA\Documents\Bill of Materials Fitted- SAM V71 Xplained Ultra_release_rev3.zip</Path>
+        </Book>
+        <Book>
+          <Number>3</Number>
+          <Title>Gerber Files (SAMV71-XULTRA)</Title>
+          <Path>C:\devtools\Keil_v520\ARM\PACK\Keil\SAM-ESV7_SFP\2.3.1\Boards\Atmel\SAMV71-XULTRA\Documents\Gerber.zip</Path>
+        </Book>
+        <Book>
+          <Number>4</Number>
+          <Title>Quick Start Guide (SAMV71-XULTRA)</Title>
+          <Path>C:\devtools\Keil_v520\ARM\PACK\Keil\SAM-ESV7_SFP\2.3.1\Boards\Atmel\SAMV71-XULTRA\Documents\SAMV71_XUltra_QSG.pdf</Path>
+        </Book>
+        <Book>
+          <Number>5</Number>
+          <Title>Schematics (SAMV71-XULTRA)</Title>
+          <Path>C:\devtools\Keil_v520\ARM\PACK\Keil\SAM-ESV7_SFP\2.3.1\Boards\Atmel\SAMV71-XULTRA\Documents\SAM_V71_Xplained_Ultra_design_documentation_release_rev8.pdf</Path>
+        </Book>
+        <Book>
+          <Number>6</Number>
+          <Title>SAMV71 Xplained Ultra Web Page (SAMV71-XULTRA)</Title>
+          <Path>http://www.atmel.com/tools/ATSAMV71-XULT.aspx</Path>
+        </Book>
+      </Books>
       <DebugOpt>
         <uSim>0</uSim>
         <uTrg>1</uTrg>
         <tRSysVw>1</tRSysVw>
         <sRunDeb>0</sRunDeb>
         <sLrtime>0</sLrtime>
-        <nTsel>6</nTsel>
+        <nTsel>0</nTsel>
         <sDll></sDll>
         <sDllPa></sDllPa>
         <sDlgDll></sDlgDll>
         <tDlgDll></tDlgDll>
         <tDlgPa></tDlgPa>
         <tIfile>.\libboard_samv7-ek\resources\mdk\samv7-sram.ini</tIfile>
-        <pMon>Segger\JL2CM3.dll</pMon>
+        <pMon>BIN\UL2CM3.DLL</pMon>
       </DebugOpt>
       <TargetDriverDllRegistry>
         <SetRegEntry>
           <Key>ARMDBGFLAGS</Key>
           <Name>-T0</Name>
         </SetRegEntry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>DLGUARM</Key>
-        </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
           <Key>CMSIS_AGDI</Key>
         <SetRegEntry>
           <Number>0</Number>
           <Key>UL2CM3</Key>
-          <Name>-S0 -C0 -P0 -FD20400000 -FC1000)</Name>
+          <Name>-S0 -C0 -P0  -FN1 -FC1000 -FD20400000 -FF0ATSAMV7x_2048 -FL0200000 -FS0400000 -FP0($$Device:ATSAMV71Q21$flash\ATSAMV7x_2048.FLM)</Name>
         </SetRegEntry>
       </TargetDriverDllRegistry>
       <Breakpoint/>
       </DebugFlag>
       <LintExecutable></LintExecutable>
       <LintConfigFile></LintConfigFile>
+      <bLintAuto>0</bLintAuto>
+      <Lin2Executable></Lin2Executable>
+      <Lin2ConfigFile></Lin2ConfigFile>
+      <bLin2Auto>0</bLin2Auto>
+      <DebugDescription>
+        <Enable>1</Enable>
+        <EnableLog>0</EnableLog>
+        <Protocol>2</Protocol>
+        <DbgClock>10000000</DbgClock>
+      </DebugDescription>
     </TargetOption>
   </Target>
 
       <FileNumber>1</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libboard_samv7-ek\source\board_lowlevel.c</PathWithFileName>
       <FileNumber>2</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libboard_samv7-ek\source\led.c</PathWithFileName>
       <FileNumber>3</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libboard_samv7-ek\resources\mdk\startup_sam.c</PathWithFileName>
       <FileNumber>4</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libboard_samv7-ek\source\dbg_console.c</PathWithFileName>
       <FileNumber>5</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libboard_samv7-ek\resources\mdk\workaround.s</PathWithFileName>
       <FileNumber>6</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libboard_samv7-ek\resources\system_sam.c</PathWithFileName>
 
   <Group>
     <GroupName>Source</GroupName>
-    <tvExp>1</tvExp>
+    <tvExp>0</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
       <FileNumber>7</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\main.c</PathWithFileName>
       <FileNumber>8</FileNumber>
       <FileType>5</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\FreeRTOSConfig.h</PathWithFileName>
       <FileNumber>9</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\Full_Demo\main_full.c</PathWithFileName>
       <FileNumber>10</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\Blinky_Demo\main_blinky.c</PathWithFileName>
       <FileNumber>11</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\Full_Demo\RegTest.c</PathWithFileName>
       <FileNumber>12</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\Full_Demo\IntQueueTimer.c</PathWithFileName>
       <FileNumber>13</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libchip_samv7\source\pio.c</PathWithFileName>
       <FileNumber>14</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libchip_samv7\source\pmc.c</PathWithFileName>
       <FileNumber>15</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libchip_samv7\source\tc.c</PathWithFileName>
       <FileNumber>16</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libchip_samv7\source\wdt.c</PathWithFileName>
       <FileNumber>17</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libchip_samv7\source\supc.c</PathWithFileName>
       <FileNumber>18</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>.\libchip_samv7\source\pio_capture.c</PathWithFileName>
       <FileNumber>19</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\Source\event_groups.c</PathWithFileName>
       <FileNumber>20</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\Source\list.c</PathWithFileName>
       <FileNumber>21</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\Source\queue.c</PathWithFileName>
       <FileNumber>22</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\Source\tasks.c</PathWithFileName>
       <FileNumber>23</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\Source\timers.c</PathWithFileName>
       <FileNumber>24</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\Source\portable\MemMang\heap_4.c</PathWithFileName>
       <FileNumber>25</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\Source\portable\RVDS\ARM_CM7\r0p1\port.c</PathWithFileName>
       <FileNumber>26</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\BlockQ.c</PathWithFileName>
       <FileNumber>27</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\blocktim.c</PathWithFileName>
       <FileNumber>28</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\countsem.c</PathWithFileName>
       <FileNumber>29</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\death.c</PathWithFileName>
       <FileNumber>30</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\dynamic.c</PathWithFileName>
       <FileNumber>31</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\EventGroupsDemo.c</PathWithFileName>
       <FileNumber>32</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\flop.c</PathWithFileName>
       <FileNumber>33</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\GenQTest.c</PathWithFileName>
       <FileNumber>34</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\QueueOverwrite.c</PathWithFileName>
       <FileNumber>35</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\QueueSet.c</PathWithFileName>
       <FileNumber>36</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\recmutex.c</PathWithFileName>
       <FileNumber>37</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\semtest.c</PathWithFileName>
       <FileNumber>38</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\TaskNotify.c</PathWithFileName>
       <FileNumber>39</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\TimerDemo.c</PathWithFileName>
       <FileNumber>40</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\IntQueue.c</PathWithFileName>
       <FileNumber>41</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
-      <Focus>0</Focus>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\Common\Minimal\IntSemTest.c</PathWithFileName>
index 25ddcf2e1a8d4e01cb8dbb30978ed19eeaf372cb..d06a3b2a5a65aaec3478cc6e579605c534488003 100644 (file)
       <TargetName>SRAM</TargetName>
       <ToolsetNumber>0x4</ToolsetNumber>
       <ToolsetName>ARM-ADS</ToolsetName>
+      <pCCUsed>5060183::V5.06 update 2 (build 183)::ARMCC</pCCUsed>
       <TargetOption>
         <TargetCommonOption>
-          <Device>SAMV71Q21</Device>
+          <Device>ATSAMV71Q21</Device>
           <Vendor>Atmel</Vendor>
-          <PackID>Atmel.SAMV7.1.0.0</PackID>
-          <Cpu>IROM(0x00000000,0x200000) IRAM(0x20400000,0x60000) CPUTYPE("Cortex-M7") FPU2 CLOCK(12000000) ELITTLE</Cpu>
+          <PackID>Keil.SAM-V_DFP.2.3.0</PackID>
+          <PackURL>http://www.keil.com/pack/</PackURL>
+          <Cpu>IRAM(0x20400000,0x00060000) IROM(0x00400000,0x00200000) IROM2(0x00800000,0x00004000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE</Cpu>
           <FlashUtilSpec></FlashUtilSpec>
           <StartupFile></StartupFile>
-          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20400000 -FC1000)</FlashDriverDll>
+          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20400000 -FC1000 -FN1 -FF0ATSAMV7x_2048 -FS0400000 -FL0200000 -FP0($$Device:ATSAMV71Q21$flash\ATSAMV7x_2048.FLM))</FlashDriverDll>
           <DeviceId>0</DeviceId>
-          <RegisterFile></RegisterFile>
+          <RegisterFile>$$Device:ATSAMV71Q21$SAMV71\include\sam.h</RegisterFile>
           <MemoryEnv></MemoryEnv>
           <Cmp></Cmp>
           <Asm></Asm>
@@ -30,7 +32,7 @@
           <SLE66CMisc></SLE66CMisc>
           <SLE66AMisc></SLE66AMisc>
           <SLE66LinkerMisc></SLE66LinkerMisc>
-          <SFDFile></SFDFile>
+          <SFDFile>$$Device:ATSAMV71Q21$svd\ATSAMV71Q21.svd</SFDFile>
           <bCustSvd>0</bCustSvd>
           <UseEnv>0</UseEnv>
           <BinPath></BinPath>
@@ -83,6 +85,8 @@
             <UserProg2Name></UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopA1X>0</nStopA1X>
+            <nStopA2X>0</nStopA2X>
           </AfterMake>
           <SelectedForBatchBuild>0</SelectedForBatchBuild>
           <SVCSIdString></SVCSIdString>
         </CommonProperty>
         <DllOption>
           <SimDllName>SARMCM3.DLL</SimDllName>
-          <SimDllArguments> </SimDllArguments>
+          <SimDllArguments> -REMAP -MPU</SimDllArguments>
           <SimDlgDll>DCM.DLL</SimDlgDll>
           <SimDlgDllArguments>-pCM7</SimDlgDllArguments>
           <TargetDllName>SARMCM3.DLL</TargetDllName>
-          <TargetDllArguments></TargetDllArguments>
+          <TargetDllArguments> -MPU</TargetDllArguments>
           <TargetDlgDll>TCM.DLL</TargetDlgDll>
           <TargetDlgDllArguments>-pCM7</TargetDlgDllArguments>
         </DllOption>
             <HexOffset>0</HexOffset>
             <Oh166RecLen>16</Oh166RecLen>
           </OPTHX>
-          <Simulator>
-            <UseSimulator>0</UseSimulator>
-            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
-            <RunToMain>1</RunToMain>
-            <RestoreBreakpoints>1</RestoreBreakpoints>
-            <RestoreWatchpoints>1</RestoreWatchpoints>
-            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
-            <RestoreFunctions>1</RestoreFunctions>
-            <RestoreToolbox>1</RestoreToolbox>
-            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
-            <RestoreSysVw>1</RestoreSysVw>
-          </Simulator>
-          <Target>
-            <UseTarget>1</UseTarget>
-            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
-            <RunToMain>1</RunToMain>
-            <RestoreBreakpoints>1</RestoreBreakpoints>
-            <RestoreWatchpoints>1</RestoreWatchpoints>
-            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
-            <RestoreFunctions>0</RestoreFunctions>
-            <RestoreToolbox>1</RestoreToolbox>
-            <RestoreTracepoints>1</RestoreTracepoints>
-            <RestoreSysVw>1</RestoreSysVw>
-          </Target>
-          <RunDebugAfterBuild>0</RunDebugAfterBuild>
-          <TargetSelection>6</TargetSelection>
-          <SimDlls>
-            <CpuDll></CpuDll>
-            <CpuDllArguments></CpuDllArguments>
-            <PeripheralDll></PeripheralDll>
-            <PeripheralDllArguments></PeripheralDllArguments>
-            <InitializationFile></InitializationFile>
-          </SimDlls>
-          <TargetDlls>
-            <CpuDll></CpuDll>
-            <CpuDllArguments></CpuDllArguments>
-            <PeripheralDll></PeripheralDll>
-            <PeripheralDllArguments></PeripheralDllArguments>
-            <InitializationFile>.\libboard_samv7-ek\resources\mdk\samv7-sram.ini</InitializationFile>
-            <Driver>Segger\JL2CM3.dll</Driver>
-          </TargetDlls>
         </DebugOption>
         <Utilities>
           <Flash1>
           </Flash1>
           <bUseTDR>1</bUseTDR>
           <Flash2>BIN\UL2CM3.DLL</Flash2>
-          <Flash3>"" ()</Flash3>
+          <Flash3></Flash3>
           <Flash4></Flash4>
           <pFcarmOut></pFcarmOut>
           <pFcarmGrp>Source</pFcarmGrp>
             <hadIRAM>1</hadIRAM>
             <hadXRAM>0</hadXRAM>
             <uocXRam>0</uocXRam>
-            <RvdsVP>2</RvdsVP>
+            <RvdsVP>3</RvdsVP>
             <hadIRAM2>0</hadIRAM2>
-            <hadIROM2>0</hadIROM2>
+            <hadIROM2>1</hadIROM2>
             <StupSel>8</StupSel>
             <useUlib>1</useUlib>
             <EndSel>0</EndSel>
             <uLtcg>0</uLtcg>
+            <nSecure>0</nSecure>
             <RoSelD>3</RoSelD>
             <RwSelD>3</RwSelD>
             <CodeSel>0</CodeSel>
               </IRAM>
               <IROM>
                 <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
+                <StartAddress>0x400000</StartAddress>
                 <Size>0x200000</Size>
               </IROM>
               <XRAM>
               </OCR_RVCT3>
               <OCR_RVCT4>
                 <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
+                <StartAddress>0x400000</StartAddress>
                 <Size>0x200000</Size>
               </OCR_RVCT4>
               <OCR_RVCT5>
                 <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
+                <StartAddress>0x800000</StartAddress>
+                <Size>0x4000</Size>
               </OCR_RVCT5>
               <OCR_RVCT6>
                 <Type>0</Type>
               <OCR_RVCT9>
                 <Type>0</Type>
                 <StartAddress>0x20400000</StartAddress>
-                <Size>0x40000</Size>
+                <Size>0x60000</Size>
               </OCR_RVCT9>
               <OCR_RVCT10>
                 <Type>0</Type>
             <uSurpInc>0</uSurpInc>
             <uC99>1</uC99>
             <useXO>0</useXO>
+            <v6Lang>1</v6Lang>
+            <v6LangP>1</v6LangP>
+            <vShortEn>1</vShortEn>
+            <vShortWch>1</vShortWch>
+            <v6Lto>0</v6Lto>
+            <v6WtE>0</v6WtE>
             <VariousControls>
               <MiscControls></MiscControls>
               <Define>__SAMV71Q21__, NDEBUG</Define>
   <RTE>
     <apis/>
     <components>
-      <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="3.40.0" condition="CMSIS Core">
-        <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.2.0"/>
+      <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.3.0" condition="Cortex-M Device">
+        <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.5.0"/>
         <targetInfos>
           <targetInfo name="SRAM"/>
         </targetInfos>
index 031884d9e07c7c53ec8bd8cc52463c8479852594..c41e3c071058af998c5ecd1430e5c51eeffa11a9 100644 (file)
 \r
 @echo off \r
 \r
-if not "%1" == "" goto debugFile \r
+if not "%~1" == "" goto debugFile \r
 \r
 @echo on \r
 \r
-"C:\DevTools\IAR Systems\Embedded Workbench 7.2\common\bin\cspybat" -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_SAMV71_Xplained_IAR_Keil\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_SAMV71_Xplained_IAR_Keil\settings\RTOSDemo.Debug.driver.xcl" \r
+"C:\DevTools\IAR Systems\Embedded Workbench 7.4\common\bin\cspybat" -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_SAMV71_Xplained_IAR_Keil\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_SAMV71_Xplained_IAR_Keil\settings\RTOSDemo.Debug.driver.xcl" \r
 \r
 @echo off \r
 goto end \r
@@ -34,7 +34,7 @@ goto end
 \r
 @echo on \r
 \r
-"C:\DevTools\IAR Systems\Embedded Workbench 7.2\common\bin\cspybat" -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_SAMV71_Xplained_IAR_Keil\settings\RTOSDemo.Debug.general.xcl" "--debug_file=%1" --backend -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_SAMV71_Xplained_IAR_Keil\settings\RTOSDemo.Debug.driver.xcl" \r
+"C:\DevTools\IAR Systems\Embedded Workbench 7.4\common\bin\cspybat" -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_SAMV71_Xplained_IAR_Keil\settings\RTOSDemo.Debug.general.xcl" "--debug_file=%~1" --backend -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_SAMV71_Xplained_IAR_Keil\settings\RTOSDemo.Debug.driver.xcl" \r
 \r
 @echo off \r
 :end
\ No newline at end of file
index 5a44c98b07790d7cdb4c4e7191f6d2f2f6daafe4..193f3ae478058d4f364b9c5af7ffb1cf8e59acec 100644 (file)
@@ -35,6 +35,7 @@ MultiCoreRunAll=0
 EnableCache=1\r
 [JLinkDriver]\r
 CStepIntDis=_ 0\r
+LeaveTargetRunning=_ 0\r
 [SWOTraceHWSettings]\r
 OverrideDefaultClocks=0\r
 CpuClock=72000000\r
index 3646f889799262d3292f3ad6a35a27687cdb6ac4..9e8aa43904ab48bf79ed7b2da96c1d386f2adb98 100644 (file)
@@ -12,7 +12,7 @@
           \r
           \r
           \r
-        <Column0>198</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
+        <Column0>237</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
       </Workspace>\r
       <Build>\r
         \r
@@ -28,7 +28,7 @@
     <Windows>\r
       \r
       \r
-    <Wnd0>\r
+    <Wnd1>\r
         <Tabs>\r
           <Tab>\r
             <Identity>TabID-23288-9694</Identity>\r
@@ -40,7 +40,7 @@
           </Tab>\r
         </Tabs>\r
         \r
-      <SelectedTab>0</SelectedTab></Wnd0><Wnd2>\r
+      <SelectedTab>0</SelectedTab></Wnd1><Wnd3>\r
         <Tabs>\r
           <Tab>\r
             <Identity>TabID-13649-20313</Identity>\r
@@ -56,7 +56,7 @@
           </Tab>\r
         <Tab><Identity>TabID-30315-19856</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs>\r
         \r
-      <SelectedTab>0</SelectedTab></Wnd2></Windows>\r
+      <SelectedTab>0</SelectedTab></Wnd3></Windows>\r
     <Editor>\r
       \r
       \r
@@ -69,7 +69,7 @@
       \r
       \r
       \r
-    <Top><Row0><Sizes><Toolbar-00F27AD8><key>iaridepm.enu1</key></Toolbar-00F27AD8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>770</Bottom><Right>272</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>174</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>176829</sizeHorzCY><sizeVertCX>163095</sizeVertCX><sizeVertCY>784553</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>170</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>172</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>174797</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>176829</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
+    <Top><Row0><Sizes><Toolbar-00DC1998><key>iaridepm.enu1</key></Toolbar-00DC1998></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>894</Bottom><Right>311</Right><x>-2</x><y>-2</y><xscreen>229</xscreen><yscreen>201</yscreen><sizeHorzCX>119271</sizeHorzCX><sizeHorzCY>177249</sizeHorzCY><sizeVertCX>163021</sizeVertCX><sizeVertCY>790123</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>196</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>198</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>174603</sizeHorzCY><sizeVertCX>119271</sizeVertCX><sizeVertCY>177249</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
   </Desktop>\r
 </Workspace>\r
 \r
index b41c36ab4cf5829a1a018057acd18e5675989383..3caaacbe68e173f96e2dd24c5f37d3ec6bf74903 100644 (file)
@@ -12,7 +12,7 @@
       <name>C-SPY</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>26</version>\r
+        <version>28</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
@@ -45,7 +45,7 @@
         </option>\r
         <option>\r
           <name>MemFile</name>\r
-          <state>$TOOLKIT_DIR$\CONFIG\debugger\ST\STM32F7xxx.ddf</state>\r
+          <state>$TOOLKIT_DIR$\CONFIG\debugger\ST\STM32F756NG.ddf</state>\r
         </option>\r
         <option>\r
           <name>RunToEnable</name>\r
         </option>\r
         <option>\r
           <name>OCLastSavedByProductVersion</name>\r
-          <state>7.30.4.8186</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDownloadAttachToProgram</name>\r
-          <state>0</state>\r
+          <state>7.60.1.11206</state>\r
         </option>\r
         <option>\r
           <name>UseFlashLoader</name>\r
         </option>\r
         <option>\r
           <name>FlashLoadersV3</name>\r
-          <state>$TOOLKIT_DIR$\config\flashloader\ST\FlashSTM32F7xxx.board</state>\r
+          <state>$TOOLKIT_DIR$\config\flashloader\ST\FlashSTM32F74xxG.board</state>\r
         </option>\r
         <option>\r
           <name>OCImagesSuppressCheck1</name>\r
           <name>OCMulticoreSlaveConfiguration</name>\r
           <state></state>\r
         </option>\r
+        <option>\r
+          <name>OCDownloadExtraImage</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCAttachSlave</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>CMSISDAP_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>4</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>CMSISDAPAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>OCIarProbeScriptFile</name>\r
           <state>1</state>\r
           <name>OCJetEmuParams</name>\r
           <state>1</state>\r
         </option>\r
+        <option>\r
+          <name>CCCMSISDAPUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCCMSISDAPUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>IJET_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>5</version>\r
+        <version>8</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>IjetAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>OCIarProbeScriptFile</name>\r
           <state>1</state>\r
           <version>0</version>\r
           <state>2</state>\r
         </option>\r
+        <option>\r
+          <name>FlashBoardPathSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>JLINK_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>15</version>\r
+        <version>16</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>CCJLinkInterfaceRadio</name>\r
           <state>0</state>\r
         </option>\r
-        <option>\r
-          <name>OCJLinkAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>CCJLinkResetList</name>\r
           <version>6</version>\r
         </option>\r
         <option>\r
           <name>CCCpuClockEdit</name>\r
-          <state></state>\r
+          <state>216.0</state>\r
         </option>\r
         <option>\r
           <name>CCSwoClockAuto</name>\r
       <name>PEMICRO_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>1</version>\r
+        <version>3</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>OCPEMicroAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroInterfaceList</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroResetDelay</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroJtagSpeed</name>\r
-          <state>#UNINITIALIZED#</state>\r
-        </option>\r
         <option>\r
           <name>CCJPEMicroShowSettings</name>\r
           <state>0</state>\r
           <name>LogFile</name>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
-        <option>\r
-          <name>CCPEMicroUSBDevice</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroSerialPort</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJPEMicroTCPIPAutoScanNetwork</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroTCPIP</name>\r
-          <state>10.0.0.1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroCommCmdLineProducer</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSTLinkInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSTLinkInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>STLINK_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>3</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>CCSwoClockEdit</name>\r
           <state>2000</state>\r
         </option>\r
+        <option>\r
+          <name>DoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkDoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkJtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>XDS100_ID</name>\r
+      <name>TIFET_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>1</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>OCXDS100AttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>TIPackageOverride</name>\r
+          <name>CCMSPFetResetList</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>TIPackage</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCXds100InterfaceList</name>\r
-          <version>2</version>\r
+          <name>CCMSPFetInterfaceRadio</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>BoardFile</name>\r
-          <state></state>\r
+          <name>CCMSPFetInterfaceCmdLine</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>DoLogfile</name>\r
+          <name>CCMSPFetTargetVccTypeDefault</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>LogFile</name>\r
-          <state>$PROJ_DIR$\cspycomm.log</state>\r
+          <name>CCMSPFetTargetVoltage</name>\r
+          <state>###Uninitialized###</state>\r
         </option>\r
-      </data>\r
-    </settings>\r
-    <debuggerPlugins>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB7_Plugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-    </debuggerPlugins>\r
-  </configuration>\r
-  <configuration>\r
-    <name>Release</name>\r
-    <toolchain>\r
-      <name>ARM</name>\r
-    </toolchain>\r
-    <debug>0</debug>\r
-    <settings>\r
-      <name>C-SPY</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>26</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
         <option>\r
-          <name>CInput</name>\r
+          <name>CCMSPFetVCCDefault</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CEndian</name>\r
-          <state>1</state>\r
+          <name>CCMSPFetTargetSettlingtime</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>CProcessor</name>\r
+          <name>CCMSPFetRadioJtagSpeedType</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>OCVariant</name>\r
+          <name>CCMSPFetConnection</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>MacOverride</name>\r
-          <state>0</state>\r
+          <name>CCMSPFetUsbComPort</name>\r
+          <state>Automatic</state>\r
         </option>\r
         <option>\r
-          <name>MacFile</name>\r
-          <state></state>\r
+          <name>CCMSPFetAllowAccessToBSL</name>\r
+          <state>0</state>\r
         </option>\r
         <option>\r
-          <name>MemOverride</name>\r
+          <name>CCMSPFetDoLogfile</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>MemFile</name>\r
-          <state></state>\r
+          <name>CCMSPFetLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
         <option>\r
-          <name>RunToEnable</name>\r
+          <name>CCMSPFetRadioEraseFlash</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>RunToName</name>\r
-          <state>main</state>\r
-        </option>\r
-        <option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XDS100_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>5</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>TIPackageOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>TIPackage</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>BoardFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100BreakpointRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100DoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchReset</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchUndef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchSWI</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchData</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchPrefetch</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchIRQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchFIQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CpuClockEdit</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockAuto</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockEdit</name>\r
+          <state>1000</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100HWResetDelay</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ResetList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100JtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ProbeList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <debuggerPlugins>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\middleware\PercepioTraceExporter\PercepioTraceExportPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB7_Plugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+    </debuggerPlugins>\r
+  </configuration>\r
+  <configuration>\r
+    <name>Release</name>\r
+    <toolchain>\r
+      <name>ARM</name>\r
+    </toolchain>\r
+    <debug>0</debug>\r
+    <settings>\r
+      <name>C-SPY</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>28</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CInput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CEndian</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CProcessor</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCVariant</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>MemOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MemFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RunToEnable</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>RunToName</name>\r
+          <state>main</state>\r
+        </option>\r
+        <option>\r
           <name>CExtraOptionsCheck</name>\r
           <state>0</state>\r
         </option>\r
           <name>OCLastSavedByProductVersion</name>\r
           <state></state>\r
         </option>\r
-        <option>\r
-          <name>OCDownloadAttachToProgram</name>\r
-          <state>0</state>\r
-        </option>\r
         <option>\r
           <name>UseFlashLoader</name>\r
           <state>0</state>\r
           <name>OCMulticoreSlaveConfiguration</name>\r
           <state></state>\r
         </option>\r
+        <option>\r
+          <name>OCDownloadExtraImage</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCAttachSlave</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>CMSISDAP_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>4</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>CMSISDAPAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>OCIarProbeScriptFile</name>\r
           <state>1</state>\r
           <name>OCJetEmuParams</name>\r
           <state>1</state>\r
         </option>\r
+        <option>\r
+          <name>CCCMSISDAPUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCCMSISDAPUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>IJET_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>5</version>\r
+        <version>8</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>IjetAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>OCIarProbeScriptFile</name>\r
           <state>1</state>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>IjetTraceSizeList</name>\r
-          <version>0</version>\r
-          <state>2</state>\r
+          <name>IjetTraceSizeList</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>FlashBoardPathSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCIjetUsbSerialNoSelect</name>\r
+          <state>0</state>\r
         </option>\r
       </data>\r
     </settings>\r
       <name>JLINK_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>15</version>\r
+        <version>16</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>CCJLinkInterfaceRadio</name>\r
           <state>0</state>\r
         </option>\r
-        <option>\r
-          <name>OCJLinkAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>CCJLinkResetList</name>\r
           <version>6</version>\r
       <name>PEMICRO_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>1</version>\r
+        <version>3</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>OCDriverInfo</name>\r
           <state>1</state>\r
         </option>\r
-        <option>\r
-          <name>OCPEMicroAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroInterfaceList</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroResetDelay</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroJtagSpeed</name>\r
-          <state>#UNINITIALIZED#</state>\r
-        </option>\r
         <option>\r
           <name>CCJPEMicroShowSettings</name>\r
           <state>0</state>\r
           <name>LogFile</name>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
-        <option>\r
-          <name>CCPEMicroUSBDevice</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroSerialPort</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJPEMicroTCPIPAutoScanNetwork</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroTCPIP</name>\r
-          <state>10.0.0.1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPEMicroCommCmdLineProducer</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSTLinkInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSTLinkInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>STLINK_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>3</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>CCSwoClockEdit</name>\r
           <state>2000</state>\r
         </option>\r
+        <option>\r
+          <name>DoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkDoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkCatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkUsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCSTLinkJtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       </data>\r
     </settings>\r
     <settings>\r
-      <name>XDS100_ID</name>\r
+      <name>TIFET_ID</name>\r
       <archiveVersion>2</archiveVersion>\r
       <data>\r
-        <version>2</version>\r
+        <version>1</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>OCXDS100AttachSlave</name>\r
+          <name>CCMSPFetResetList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetInterfaceRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetInterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetTargetVccTypeDefault</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetTargetVoltage</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetVCCDefault</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetTargetSettlingtime</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetRadioJtagSpeedType</name>\r
           <state>1</state>\r
         </option>\r
         <option>\r
-          <name>TIPackageOverride</name>\r
+          <name>CCMSPFetConnection</name>\r
+          <version>0</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
-          <name>TIPackage</name>\r
-          <state></state>\r
+          <name>CCMSPFetUsbComPort</name>\r
+          <state>Automatic</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetAllowAccessToBSL</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetDoLogfile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetLogFile</name>\r
+          <state>$PROJ_DIR$\cspycomm.log</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMSPFetRadioEraseFlash</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XDS100_ID</name>\r
+      <archiveVersion>2</archiveVersion>\r
+      <data>\r
+        <version>5</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>OCDriverInfo</name>\r
+          <state>1</state>\r
         </option>\r
         <option>\r
-          <name>CCXds100InterfaceList</name>\r
-          <version>2</version>\r
+          <name>TIPackageOverride</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>TIPackage</name>\r
+          <state></state>\r
+        </option>\r
         <option>\r
           <name>BoardFile</name>\r
           <state></state>\r
           <name>LogFile</name>\r
           <state>$PROJ_DIR$\cspycomm.log</state>\r
         </option>\r
+        <option>\r
+          <name>CCXds100BreakpointRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100DoUpdateBreakpoints</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UpdateBreakpoints</name>\r
+          <state>_call_main</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchReset</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchUndef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchSWI</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchData</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchPrefetch</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchIRQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchFIQ</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCORERESET</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchMMERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchNOCPERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchCHRERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchSTATERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchBUSERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchINTERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchHARDERR</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CatchDummy</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100CpuClockEdit</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockAuto</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100SwoClockEdit</name>\r
+          <state>1000</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100HWResetDelay</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ResetList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNo</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100UsbSerialNoSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100JtagSpeedList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceRadio</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100InterfaceCmdLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCXds100ProbeList</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <debuggerPlugins>\r
         <file>$TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\middleware\PercepioTraceExporter\PercepioTraceExportPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
       <plugin>\r
         <file>$TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
         <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
       </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
       <plugin>\r
         <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>\r
         <loadFlag>0</loadFlag>\r
index 49159e030fc4b6434f25a43918c5ca31845bbaf0..13d94943b11a7362ca48b5ab0d90145c1c96a374 100644 (file)
@@ -12,7 +12,7 @@
       <name>General</name>\r
       <archiveVersion>3</archiveVersion>\r
       <data>\r
-        <version>22</version>\r
+        <version>24</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>ListPath</name>\r
           <state>Debug\List</state>\r
         </option>\r
-        <option>\r
-          <name>Variant</name>\r
-          <version>21</version>\r
-          <state>41</state>\r
-        </option>\r
         <option>\r
           <name>GEndianMode</name>\r
           <state>0</state>\r
           <name>GOutputBinary</name>\r
           <state>0</state>\r
         </option>\r
-        <option>\r
-          <name>FPU</name>\r
-          <version>4</version>\r
-          <state>9</state>\r
-        </option>\r
         <option>\r
           <name>OGCoreOrChip</name>\r
           <state>1</state>\r
@@ -87,7 +77,7 @@
         </option>\r
         <option>\r
           <name>OGLastSavedByProductVersion</name>\r
-          <state>7.40.1.8463</state>\r
+          <state>7.60.1.11206</state>\r
         </option>\r
         <option>\r
           <name>GeneralEnableMisra</name>\r
           <name>RTConfigPath2</name>\r
           <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>\r
         </option>\r
-        <option>\r
-          <name>GFPUCoreSlave</name>\r
-          <version>21</version>\r
-          <state>41</state>\r
-        </option>\r
         <option>\r
           <name>GBECoreSlave</name>\r
-          <version>21</version>\r
+          <version>24</version>\r
           <state>41</state>\r
         </option>\r
         <option>\r
           <name>GRuntimeLibThreads</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>CoreVariant</name>\r
+          <version>24</version>\r
+          <state>41</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUDeviceSlave</name>\r
+          <state>STM32F756NG   ST STM32F756NG</state>\r
+        </option>\r
+        <option>\r
+          <name>FPU2</name>\r
+          <version>0</version>\r
+          <state>6</state>\r
+        </option>\r
+        <option>\r
+          <name>NrRegs</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>NEON</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUCoreSlave2</name>\r
+          <version>24</version>\r
+          <state>41</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
         <debug>1</debug>\r
         <option>\r
           <name>OOCOutputFormat</name>\r
-          <version>2</version>\r
-          <state>2</state>\r
+          <version>3</version>\r
+          <state>3</state>\r
         </option>\r
         <option>\r
           <name>OCOutputOverride</name>\r
       <name>ILINK</name>\r
       <archiveVersion>0</archiveVersion>\r
       <data>\r
-        <version>16</version>\r
+        <version>17</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>1</debug>\r
         <option>\r
           <name>IlinkThreadsSlave</name>\r
           <state>1</state>\r
         </option>\r
+        <option>\r
+          <name>IlinkLogCallGraph</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
       <name>General</name>\r
       <archiveVersion>3</archiveVersion>\r
       <data>\r
-        <version>22</version>\r
+        <version>24</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>ListPath</name>\r
           <state>Release\List</state>\r
         </option>\r
-        <option>\r
-          <name>Variant</name>\r
-          <version>21</version>\r
-          <state>0</state>\r
-        </option>\r
         <option>\r
           <name>GEndianMode</name>\r
           <state>0</state>\r
           <name>GOutputBinary</name>\r
           <state>0</state>\r
         </option>\r
-        <option>\r
-          <name>FPU</name>\r
-          <version>4</version>\r
-          <state>0</state>\r
-        </option>\r
         <option>\r
           <name>OGCoreOrChip</name>\r
           <state>0</state>\r
         </option>\r
         <option>\r
           <name>OGLastSavedByProductVersion</name>\r
-          <state></state>\r
+          <state>7.60.1.11206</state>\r
         </option>\r
         <option>\r
           <name>GeneralEnableMisra</name>\r
         </option>\r
         <option>\r
           <name>OGChipSelectEditMenu</name>\r
-          <state></state>\r
+          <state>Default       None</state>\r
         </option>\r
         <option>\r
           <name>GenLowLevelInterface</name>\r
           <name>RTConfigPath2</name>\r
           <state></state>\r
         </option>\r
-        <option>\r
-          <name>GFPUCoreSlave</name>\r
-          <version>21</version>\r
-          <state>1</state>\r
-        </option>\r
         <option>\r
           <name>GBECoreSlave</name>\r
-          <version>21</version>\r
+          <version>24</version>\r
           <state>1</state>\r
         </option>\r
         <option>\r
           <name>GRuntimeLibThreads</name>\r
           <state>0</state>\r
         </option>\r
+        <option>\r
+          <name>CoreVariant</name>\r
+          <version>24</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUDeviceSlave</name>\r
+          <state>Default       None</state>\r
+        </option>\r
+        <option>\r
+          <name>FPU2</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NrRegs</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NEON</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GFPUCoreSlave2</name>\r
+          <version>24</version>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
         <debug>0</debug>\r
         <option>\r
           <name>OOCOutputFormat</name>\r
-          <version>2</version>\r
+          <version>3</version>\r
           <state>0</state>\r
         </option>\r
         <option>\r
       <name>ILINK</name>\r
       <archiveVersion>0</archiveVersion>\r
       <data>\r
-        <version>16</version>\r
+        <version>17</version>\r
         <wantNonLocal>1</wantNonLocal>\r
         <debug>0</debug>\r
         <option>\r
           <name>IlinkThreadsSlave</name>\r
           <state>1</state>\r
         </option>\r
+        <option>\r
+          <name>IlinkLogCallGraph</name>\r
+          <state>0</state>\r
+        </option>\r
       </data>\r
     </settings>\r
     <settings>\r
diff --git a/FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/RTOSDemo.uvproj b/FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/RTOSDemo.uvproj
deleted file mode 100644 (file)
index ac704bd..0000000
+++ /dev/null
@@ -1,650 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">
-
-  <SchemaVersion>1.1</SchemaVersion>
-
-  <Header>### uVision Project, (C) Keil Software</Header>
-
-  <Targets>
-    <Target>
-      <TargetName>STM32756G_EVAL</TargetName>
-      <ToolsetNumber>0x4</ToolsetNumber>
-      <ToolsetName>ARM-ADS</ToolsetName>
-      <TargetOption>
-        <TargetCommonOption>
-          <Device>STM32F7x</Device>
-          <Vendor>STMicroelectronics</Vendor>
-          <Cpu>IROM(0x08000000,0x100000) IRAM(0x20000000,0x10000)  CLOCK(12000000) CPUTYPE("Pelican") ESEL ELITTLE FPU3(SFPU)</Cpu>
-          <FlashUtilSpec></FlashUtilSpec>
-          <StartupFile></StartupFile>
-          <FlashDriverDll>UL2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F7x  -FS08000000 -FL100000)</FlashDriverDll>
-          <DeviceId>0</DeviceId>
-          <RegisterFile></RegisterFile>
-          <MemoryEnv></MemoryEnv>
-          <Cmp></Cmp>
-          <Asm></Asm>
-          <Linker></Linker>
-          <OHString></OHString>
-          <InfinionOptionDll></InfinionOptionDll>
-          <SLE66CMisc></SLE66CMisc>
-          <SLE66AMisc></SLE66AMisc>
-          <SLE66LinkerMisc></SLE66LinkerMisc>
-          <SFDFile></SFDFile>
-          <bCustSvd>0</bCustSvd>
-          <UseEnv>0</UseEnv>
-          <BinPath></BinPath>
-          <IncludePath></IncludePath>
-          <LibPath></LibPath>
-          <RegisterFilePath>ST\STM32F4xx\</RegisterFilePath>
-          <DBRegisterFilePath>ST\STM32F4xx\</DBRegisterFilePath>
-          <TargetStatus>
-            <Error>0</Error>
-            <ExitCodeStop>0</ExitCodeStop>
-            <ButtonStop>0</ButtonStop>
-            <NotGenerated>0</NotGenerated>
-            <InvalidFlash>1</InvalidFlash>
-          </TargetStatus>
-          <OutputDirectory>.\STM32F7xx\</OutputDirectory>
-          <OutputName>RTOSDemo</OutputName>
-          <CreateExecutable>1</CreateExecutable>
-          <CreateLib>0</CreateLib>
-          <CreateHexFile>0</CreateHexFile>
-          <DebugInformation>1</DebugInformation>
-          <BrowseInformation>1</BrowseInformation>
-          <ListingPath>.\STM32F7xx\</ListingPath>
-          <HexFormatSelection>1</HexFormatSelection>
-          <Merge32K>0</Merge32K>
-          <CreateBatchFile>0</CreateBatchFile>
-          <BeforeCompile>
-            <RunUserProg1>0</RunUserProg1>
-            <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
-            <UserProg2Name></UserProg2Name>
-            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
-            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
-            <nStopU1X>0</nStopU1X>
-            <nStopU2X>0</nStopU2X>
-          </BeforeCompile>
-          <BeforeMake>
-            <RunUserProg1>0</RunUserProg1>
-            <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
-            <UserProg2Name></UserProg2Name>
-            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
-            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
-            <nStopB1X>0</nStopB1X>
-            <nStopB2X>0</nStopB2X>
-          </BeforeMake>
-          <AfterMake>
-            <RunUserProg1>0</RunUserProg1>
-            <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
-            <UserProg2Name></UserProg2Name>
-            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
-            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
-          </AfterMake>
-          <SelectedForBatchBuild>0</SelectedForBatchBuild>
-          <SVCSIdString></SVCSIdString>
-        </TargetCommonOption>
-        <CommonProperty>
-          <UseCPPCompiler>0</UseCPPCompiler>
-          <RVCTCodeConst>0</RVCTCodeConst>
-          <RVCTZI>0</RVCTZI>
-          <RVCTOtherData>0</RVCTOtherData>
-          <ModuleSelection>0</ModuleSelection>
-          <IncludeInBuild>1</IncludeInBuild>
-          <AlwaysBuild>0</AlwaysBuild>
-          <GenerateAssemblyFile>0</GenerateAssemblyFile>
-          <AssembleAssemblyFile>0</AssembleAssemblyFile>
-          <PublicsOnly>0</PublicsOnly>
-          <StopOnExitCode>3</StopOnExitCode>
-          <CustomArgument></CustomArgument>
-          <IncludeLibraryModules></IncludeLibraryModules>
-          <ComprImg>1</ComprImg>
-        </CommonProperty>
-        <DllOption>
-          <SimDllName>SARMCM3.DLL</SimDllName>
-          <SimDllArguments></SimDllArguments>
-          <SimDlgDll>DARMCM1.DLL</SimDlgDll>
-          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>
-          <TargetDllName>SARMCM3.DLL</TargetDllName>
-          <TargetDllArguments></TargetDllArguments>
-          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
-          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>
-        </DllOption>
-        <DebugOption>
-          <OPTHX>
-            <HexSelection>1</HexSelection>
-            <HexRangeLowAddress>0</HexRangeLowAddress>
-            <HexRangeHighAddress>0</HexRangeHighAddress>
-            <HexOffset>0</HexOffset>
-            <Oh166RecLen>16</Oh166RecLen>
-          </OPTHX>
-          <Simulator>
-            <UseSimulator>0</UseSimulator>
-            <LoadApplicationAtStartup>0</LoadApplicationAtStartup>
-            <RunToMain>0</RunToMain>
-            <RestoreBreakpoints>1</RestoreBreakpoints>
-            <RestoreWatchpoints>1</RestoreWatchpoints>
-            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
-            <RestoreFunctions>1</RestoreFunctions>
-            <RestoreToolbox>1</RestoreToolbox>
-            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
-            <RestoreSysVw>1</RestoreSysVw>
-          </Simulator>
-          <Target>
-            <UseTarget>1</UseTarget>
-            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
-            <RunToMain>1</RunToMain>
-            <RestoreBreakpoints>1</RestoreBreakpoints>
-            <RestoreWatchpoints>1</RestoreWatchpoints>
-            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
-            <RestoreFunctions>0</RestoreFunctions>
-            <RestoreToolbox>1</RestoreToolbox>
-            <RestoreTracepoints>0</RestoreTracepoints>
-            <RestoreSysVw>1</RestoreSysVw>
-          </Target>
-          <RunDebugAfterBuild>0</RunDebugAfterBuild>
-          <TargetSelection>11</TargetSelection>
-          <SimDlls>
-            <CpuDll></CpuDll>
-            <CpuDllArguments></CpuDllArguments>
-            <PeripheralDll></PeripheralDll>
-            <PeripheralDllArguments></PeripheralDllArguments>
-            <InitializationFile></InitializationFile>
-          </SimDlls>
-          <TargetDlls>
-            <CpuDll></CpuDll>
-            <CpuDllArguments></CpuDllArguments>
-            <PeripheralDll></PeripheralDll>
-            <PeripheralDllArguments></PeripheralDllArguments>
-            <InitializationFile></InitializationFile>
-            <Driver>STLink\ST-LINKIII-KEIL_SWO.dll</Driver>
-          </TargetDlls>
-        </DebugOption>
-        <Utilities>
-          <Flash1>
-            <UseTargetDll>1</UseTargetDll>
-            <UseExternalTool>0</UseExternalTool>
-            <RunIndependent>0</RunIndependent>
-            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
-            <Capability>1</Capability>
-            <DriverSelection>4096</DriverSelection>
-          </Flash1>
-          <bUseTDR>1</bUseTDR>
-          <Flash2>BIN\UL2CM3.DLL</Flash2>
-          <Flash3>"" ()</Flash3>
-          <Flash4></Flash4>
-          <pFcarmOut></pFcarmOut>
-          <pFcarmGrp></pFcarmGrp>
-          <pFcArmRoot></pFcArmRoot>
-          <FcArmLst>0</FcArmLst>
-        </Utilities>
-        <TargetArmAds>
-          <ArmAdsMisc>
-            <GenerateListings>0</GenerateListings>
-            <asHll>1</asHll>
-            <asAsm>1</asAsm>
-            <asMacX>1</asMacX>
-            <asSyms>1</asSyms>
-            <asFals>1</asFals>
-            <asDbgD>1</asDbgD>
-            <asForm>1</asForm>
-            <ldLst>0</ldLst>
-            <ldmm>1</ldmm>
-            <ldXref>1</ldXref>
-            <BigEnd>0</BigEnd>
-            <AdsALst>1</AdsALst>
-            <AdsACrf>1</AdsACrf>
-            <AdsANop>0</AdsANop>
-            <AdsANot>0</AdsANot>
-            <AdsLLst>1</AdsLLst>
-            <AdsLmap>1</AdsLmap>
-            <AdsLcgr>1</AdsLcgr>
-            <AdsLsym>1</AdsLsym>
-            <AdsLszi>1</AdsLszi>
-            <AdsLtoi>1</AdsLtoi>
-            <AdsLsun>1</AdsLsun>
-            <AdsLven>1</AdsLven>
-            <AdsLsxf>1</AdsLsxf>
-            <RvctClst>0</RvctClst>
-            <GenPPlst>0</GenPPlst>
-            <AdsCpuType>"Pelican"</AdsCpuType>
-            <RvctDeviceName></RvctDeviceName>
-            <mOS>0</mOS>
-            <uocRom>0</uocRom>
-            <uocRam>0</uocRam>
-            <hadIROM>1</hadIROM>
-            <hadIRAM>1</hadIRAM>
-            <hadXRAM>0</hadXRAM>
-            <uocXRam>0</uocXRam>
-            <RvdsVP>2</RvdsVP>
-            <hadIRAM2>0</hadIRAM2>
-            <hadIROM2>0</hadIROM2>
-            <StupSel>8</StupSel>
-            <useUlib>1</useUlib>
-            <EndSel>1</EndSel>
-            <uLtcg>0</uLtcg>
-            <RoSelD>3</RoSelD>
-            <RwSelD>3</RwSelD>
-            <CodeSel>0</CodeSel>
-            <OptFeed>0</OptFeed>
-            <NoZi1>0</NoZi1>
-            <NoZi2>0</NoZi2>
-            <NoZi3>0</NoZi3>
-            <NoZi4>0</NoZi4>
-            <NoZi5>0</NoZi5>
-            <Ro1Chk>0</Ro1Chk>
-            <Ro2Chk>0</Ro2Chk>
-            <Ro3Chk>0</Ro3Chk>
-            <Ir1Chk>1</Ir1Chk>
-            <Ir2Chk>0</Ir2Chk>
-            <Ra1Chk>0</Ra1Chk>
-            <Ra2Chk>0</Ra2Chk>
-            <Ra3Chk>0</Ra3Chk>
-            <Im1Chk>1</Im1Chk>
-            <Im2Chk>0</Im2Chk>
-            <OnChipMemories>
-              <Ocm1>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm1>
-              <Ocm2>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm2>
-              <Ocm3>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm3>
-              <Ocm4>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm4>
-              <Ocm5>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm5>
-              <Ocm6>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm6>
-              <IRAM>
-                <Type>0</Type>
-                <StartAddress>0x20000000</StartAddress>
-                <Size>0x10000</Size>
-              </IRAM>
-              <IROM>
-                <Type>1</Type>
-                <StartAddress>0x8000000</StartAddress>
-                <Size>0x100000</Size>
-              </IROM>
-              <XRAM>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </XRAM>
-              <OCR_RVCT1>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT1>
-              <OCR_RVCT2>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT2>
-              <OCR_RVCT3>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT3>
-              <OCR_RVCT4>
-                <Type>1</Type>
-                <StartAddress>0x8000000</StartAddress>
-                <Size>0x100000</Size>
-              </OCR_RVCT4>
-              <OCR_RVCT5>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT5>
-              <OCR_RVCT6>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT6>
-              <OCR_RVCT7>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT7>
-              <OCR_RVCT8>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT8>
-              <OCR_RVCT9>
-                <Type>0</Type>
-                <StartAddress>0x20000000</StartAddress>
-                <Size>0xffff</Size>
-              </OCR_RVCT9>
-              <OCR_RVCT10>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT10>
-            </OnChipMemories>
-            <RvctStartVector></RvctStartVector>
-          </ArmAdsMisc>
-          <Cads>
-            <interw>1</interw>
-            <Optim>1</Optim>
-            <oTime>0</oTime>
-            <SplitLS>0</SplitLS>
-            <OneElfS>0</OneElfS>
-            <Strict>0</Strict>
-            <EnumInt>0</EnumInt>
-            <PlainCh>0</PlainCh>
-            <Ropi>0</Ropi>
-            <Rwpi>0</Rwpi>
-            <wLevel>2</wLevel>
-            <uThumb>0</uThumb>
-            <uSurpInc>0</uSurpInc>
-            <uC99>0</uC99>
-            <useXO>0</useXO>
-            <VariousControls>
-              <MiscControls></MiscControls>
-              <Define>STM32F756xx, CORE_CM7,USE_HAL_DRIVER</Define>
-              <Undefine></Undefine>
-              <IncludePath>.\CMSIS\Device\ST\STM32F7xx\Include;.\CMSIS\Include;.\ST_Library\include;.;..\..\Source\include;..\..\Source\portable\RVDS\ARM_CM7\r0p1;..\Common\include;.\Full_Demo</IncludePath>
-            </VariousControls>
-          </Cads>
-          <Aads>
-            <interw>1</interw>
-            <Ropi>0</Ropi>
-            <Rwpi>0</Rwpi>
-            <thumb>0</thumb>
-            <SplitLS>0</SplitLS>
-            <SwStkChk>0</SwStkChk>
-            <NoWarn>0</NoWarn>
-            <uSurpInc>0</uSurpInc>
-            <useXO>0</useXO>
-            <VariousControls>
-              <MiscControls></MiscControls>
-              <Define></Define>
-              <Undefine></Undefine>
-              <IncludePath></IncludePath>
-            </VariousControls>
-          </Aads>
-          <LDads>
-            <umfTarg>1</umfTarg>
-            <Ropi>0</Ropi>
-            <Rwpi>0</Rwpi>
-            <noStLib>0</noStLib>
-            <RepFail>1</RepFail>
-            <useFile>0</useFile>
-            <TextAddressRange>0x08000000</TextAddressRange>
-            <DataAddressRange>0x20000000</DataAddressRange>
-            <pXoBase></pXoBase>
-            <ScatterFile>.\STM32L4xx\Project.sct</ScatterFile>
-            <IncludeLibs></IncludeLibs>
-            <IncludeLibsPath></IncludeLibsPath>
-            <Misc></Misc>
-            <LinkerInputFile></LinkerInputFile>
-            <DisabledWarnings></DisabledWarnings>
-          </LDads>
-        </TargetArmAds>
-      </TargetOption>
-      <Groups>
-        <Group>
-          <GroupName>User</GroupName>
-          <Files>
-            <File>
-              <FileName>main_blinky.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\Blinky_Demo\main_blinky.c</FilePath>
-            </File>
-            <File>
-              <FileName>main.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\main.c</FilePath>
-            </File>
-            <File>
-              <FileName>main_full.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\Full_Demo\main_full.c</FilePath>
-            </File>
-            <File>
-              <FileName>FreeRTOSConfig.h</FileName>
-              <FileType>5</FileType>
-              <FilePath>.\FreeRTOSConfig.h</FilePath>
-            </File>
-            <File>
-              <FileName>IntQueueTimer.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\Full_Demo\IntQueueTimer.c</FilePath>
-            </File>
-            <File>
-              <FileName>RegTest_Keil.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\Full_Demo\RegTest_Keil.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>ST Library</GroupName>
-          <Files>
-            <File>
-              <FileName>stm32f7xx_hal.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\ST_Library\stm32f7xx_hal.c</FilePath>
-            </File>
-            <File>
-              <FileName>stm32f7xx_hal_cortex.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\ST_Library\stm32f7xx_hal_cortex.c</FilePath>
-            </File>
-            <File>
-              <FileName>stm32f7xx_hal_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\ST_Library\stm32f7xx_hal_gpio.c</FilePath>
-            </File>
-            <File>
-              <FileName>stm32f7xx_hal_rcc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\ST_Library\stm32f7xx_hal_rcc.c</FilePath>
-            </File>
-            <File>
-              <FileName>stm32f7xx_hal_tim.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\ST_Library\stm32f7xx_hal_tim.c</FilePath>
-            </File>
-            <File>
-              <FileName>stm32f7xx_hal_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\ST_Library\stm32f7xx_hal_dma.c</FilePath>
-            </File>
-            <File>
-              <FileName>stm32f7xx_hal_tim_ex.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\ST_Library\stm32f7xx_hal_tim_ex.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>System</GroupName>
-          <Files>
-            <File>
-              <FileName>system_stm32f7xx.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\System_Keil\system_stm32f7xx.c</FilePath>
-            </File>
-            <File>
-              <FileName>stm32f7xx_it.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\System_Keil\stm32f7xx_it.c</FilePath>
-            </File>
-            <File>
-              <FileName>stm32f7xx_hal_msp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\System_Keil\stm32f7xx_hal_msp.c</FilePath>
-            </File>
-            <File>
-              <FileName>startup_stm32f756xx.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>.\System_Keil\startup_stm32f756xx.s</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>FreeRTOS Source</GroupName>
-          <Files>
-            <File>
-              <FileName>event_groups.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\Source\event_groups.c</FilePath>
-            </File>
-            <File>
-              <FileName>list.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\Source\list.c</FilePath>
-            </File>
-            <File>
-              <FileName>queue.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\Source\queue.c</FilePath>
-            </File>
-            <File>
-              <FileName>tasks.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\Source\tasks.c</FilePath>
-            </File>
-            <File>
-              <FileName>timers.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\Source\timers.c</FilePath>
-            </File>
-            <File>
-              <FileName>heap_4.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\Source\portable\MemMang\heap_4.c</FilePath>
-            </File>
-            <File>
-              <FileName>port.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\Source\portable\RVDS\ARM_CM7\r0p1\port.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>Common Demo Tasks</GroupName>
-          <Files>
-            <File>
-              <FileName>BlockQ.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\BlockQ.c</FilePath>
-            </File>
-            <File>
-              <FileName>blocktim.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\blocktim.c</FilePath>
-            </File>
-            <File>
-              <FileName>countsem.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\countsem.c</FilePath>
-            </File>
-            <File>
-              <FileName>death.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\death.c</FilePath>
-            </File>
-            <File>
-              <FileName>dynamic.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\dynamic.c</FilePath>
-            </File>
-            <File>
-              <FileName>EventGroupsDemo.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\EventGroupsDemo.c</FilePath>
-            </File>
-            <File>
-              <FileName>flop.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\flop.c</FilePath>
-            </File>
-            <File>
-              <FileName>GenQTest.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\GenQTest.c</FilePath>
-            </File>
-            <File>
-              <FileName>integer.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\integer.c</FilePath>
-            </File>
-            <File>
-              <FileName>IntQueue.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\IntQueue.c</FilePath>
-            </File>
-            <File>
-              <FileName>IntSemTest.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\IntSemTest.c</FilePath>
-            </File>
-            <File>
-              <FileName>PollQ.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\PollQ.c</FilePath>
-            </File>
-            <File>
-              <FileName>QPeek.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\QPeek.c</FilePath>
-            </File>
-            <File>
-              <FileName>QueueOverwrite.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\QueueOverwrite.c</FilePath>
-            </File>
-            <File>
-              <FileName>QueueSet.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\QueueSet.c</FilePath>
-            </File>
-            <File>
-              <FileName>recmutex.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\recmutex.c</FilePath>
-            </File>
-            <File>
-              <FileName>semtest.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\semtest.c</FilePath>
-            </File>
-            <File>
-              <FileName>TaskNotify.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\TaskNotify.c</FilePath>
-            </File>
-            <File>
-              <FileName>TimerDemo.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Common\Minimal\TimerDemo.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-      </Groups>
-    </Target>
-  </Targets>
-
-</Project>
diff --git a/FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/RTOSDemo.uvprojx b/FreeRTOS/Demo/CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil/RTOSDemo.uvprojx
new file mode 100644 (file)
index 0000000..ab72190
--- /dev/null
@@ -0,0 +1,637 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
+  <SchemaVersion>2.1</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Targets>
+    <Target>
+      <TargetName>STM32756G_EVAL</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <pCCUsed>5060183::V5.06 update 2 (build 183)::ARMCC</pCCUsed>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>STM32F756NGHx</Device>
+          <Vendor>STMicroelectronics</Vendor>
+          <PackID>Keil.STM32F7xx_DFP.2.5.0</PackID>
+          <PackURL>http://www.keil.com/pack</PackURL>
+          <Cpu>IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile></StartupFile>
+          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM))</FlashDriverDll>
+          <DeviceId>0</DeviceId>
+          <RegisterFile>$$Device:STM32F756NGHx$Drivers\CMSIS\Device\ST\STM32F7xx\Include\stm32f7xx.h</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile>$$Device:STM32F756NGHx$CMSIS\SVD\STM32F7x.svd</SFDFile>
+          <bCustSvd>0</bCustSvd>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath></RegisterFilePath>
+          <DBRegisterFilePath></DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\STM32F7xx\</OutputDirectory>
+          <OutputName>RTOSDemo</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>0</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\STM32F7xx\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>0</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopB1X>0</nStopB1X>
+            <nStopB2X>0</nStopB2X>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopA1X>0</nStopA1X>
+            <nStopA2X>0</nStopA2X>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+          <ComprImg>1</ComprImg>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments> -REMAP -MPU</SimDllArguments>
+          <SimDlgDll>DCM.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM7</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments> -MPU</TargetDllArguments>
+          <TargetDlgDll>TCM.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM7</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>0</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4096</DriverSelection>
+          </Flash1>
+          <bUseTDR>1</bUseTDR>
+          <Flash2>BIN\UL2CM3.DLL</Flash2>
+          <Flash3></Flash3>
+          <Flash4></Flash4>
+          <pFcarmOut></pFcarmOut>
+          <pFcarmGrp></pFcarmGrp>
+          <pFcArmRoot></pFcArmRoot>
+          <FcArmLst>0</FcArmLst>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M7"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>2</RvdsVP>
+            <hadIRAM2>1</hadIRAM2>
+            <hadIROM2>1</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>1</useUlib>
+            <EndSel>0</EndSel>
+            <uLtcg>0</uLtcg>
+            <nSecure>0</nSecure>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>0</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>1</Im1Chk>
+            <Im2Chk>0</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x20010000</StartAddress>
+                <Size>0x40000</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x8000000</StartAddress>
+                <Size>0x100000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x8000000</StartAddress>
+                <Size>0x100000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x200000</StartAddress>
+                <Size>0x100000</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x20010000</StartAddress>
+                <Size>0x40000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x10000</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>1</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>0</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>2</wLevel>
+            <uThumb>0</uThumb>
+            <uSurpInc>0</uSurpInc>
+            <uC99>0</uC99>
+            <useXO>0</useXO>
+            <v6Lang>1</v6Lang>
+            <v6LangP>1</v6LangP>
+            <vShortEn>1</vShortEn>
+            <vShortWch>1</vShortWch>
+            <v6Lto>0</v6Lto>
+            <v6WtE>0</v6WtE>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define>STM32F756xx, CORE_CM7,USE_HAL_DRIVER</Define>
+              <Undefine></Undefine>
+              <IncludePath>.\CMSIS\Device\ST\STM32F7xx\Include;.\CMSIS\Include;.\ST_Library\include;.;..\..\Source\include;..\..\Source\portable\RVDS\ARM_CM7\r0p1;..\Common\include;.\Full_Demo</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <uSurpInc>0</uSurpInc>
+            <useXO>0</useXO>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>1</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x08000000</TextAddressRange>
+            <DataAddressRange>0x20000000</DataAddressRange>
+            <pXoBase></pXoBase>
+            <ScatterFile>.\STM32L4xx\Project.sct</ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>User</GroupName>
+          <Files>
+            <File>
+              <FileName>main_blinky.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\Blinky_Demo\main_blinky.c</FilePath>
+            </File>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\main.c</FilePath>
+            </File>
+            <File>
+              <FileName>main_full.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\Full_Demo\main_full.c</FilePath>
+            </File>
+            <File>
+              <FileName>FreeRTOSConfig.h</FileName>
+              <FileType>5</FileType>
+              <FilePath>.\FreeRTOSConfig.h</FilePath>
+            </File>
+            <File>
+              <FileName>IntQueueTimer.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\Full_Demo\IntQueueTimer.c</FilePath>
+            </File>
+            <File>
+              <FileName>RegTest_Keil.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\Full_Demo\RegTest_Keil.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>ST Library</GroupName>
+          <Files>
+            <File>
+              <FileName>stm32f7xx_hal.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\ST_Library\stm32f7xx_hal.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f7xx_hal_cortex.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\ST_Library\stm32f7xx_hal_cortex.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f7xx_hal_gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\ST_Library\stm32f7xx_hal_gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f7xx_hal_rcc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\ST_Library\stm32f7xx_hal_rcc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f7xx_hal_tim.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\ST_Library\stm32f7xx_hal_tim.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f7xx_hal_dma.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\ST_Library\stm32f7xx_hal_dma.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f7xx_hal_tim_ex.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\ST_Library\stm32f7xx_hal_tim_ex.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>System</GroupName>
+          <Files>
+            <File>
+              <FileName>system_stm32f7xx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\System_Keil\system_stm32f7xx.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f7xx_it.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\System_Keil\stm32f7xx_it.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f7xx_hal_msp.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\System_Keil\stm32f7xx_hal_msp.c</FilePath>
+            </File>
+            <File>
+              <FileName>startup_stm32f756xx.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>.\System_Keil\startup_stm32f756xx.s</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>FreeRTOS Source</GroupName>
+          <Files>
+            <File>
+              <FileName>event_groups.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\Source\event_groups.c</FilePath>
+            </File>
+            <File>
+              <FileName>list.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\Source\list.c</FilePath>
+            </File>
+            <File>
+              <FileName>queue.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\Source\queue.c</FilePath>
+            </File>
+            <File>
+              <FileName>tasks.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\Source\tasks.c</FilePath>
+            </File>
+            <File>
+              <FileName>timers.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\Source\timers.c</FilePath>
+            </File>
+            <File>
+              <FileName>heap_4.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\Source\portable\MemMang\heap_4.c</FilePath>
+            </File>
+            <File>
+              <FileName>port.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\Source\portable\RVDS\ARM_CM7\r0p1\port.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>Common Demo Tasks</GroupName>
+          <Files>
+            <File>
+              <FileName>BlockQ.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\BlockQ.c</FilePath>
+            </File>
+            <File>
+              <FileName>blocktim.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\blocktim.c</FilePath>
+            </File>
+            <File>
+              <FileName>countsem.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\countsem.c</FilePath>
+            </File>
+            <File>
+              <FileName>death.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\death.c</FilePath>
+            </File>
+            <File>
+              <FileName>dynamic.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\dynamic.c</FilePath>
+            </File>
+            <File>
+              <FileName>EventGroupsDemo.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\EventGroupsDemo.c</FilePath>
+            </File>
+            <File>
+              <FileName>flop.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\flop.c</FilePath>
+            </File>
+            <File>
+              <FileName>GenQTest.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\GenQTest.c</FilePath>
+            </File>
+            <File>
+              <FileName>integer.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\integer.c</FilePath>
+            </File>
+            <File>
+              <FileName>IntQueue.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\IntQueue.c</FilePath>
+            </File>
+            <File>
+              <FileName>IntSemTest.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\IntSemTest.c</FilePath>
+            </File>
+            <File>
+              <FileName>PollQ.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\PollQ.c</FilePath>
+            </File>
+            <File>
+              <FileName>QPeek.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\QPeek.c</FilePath>
+            </File>
+            <File>
+              <FileName>QueueOverwrite.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\QueueOverwrite.c</FilePath>
+            </File>
+            <File>
+              <FileName>QueueSet.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\QueueSet.c</FilePath>
+            </File>
+            <File>
+              <FileName>recmutex.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\recmutex.c</FilePath>
+            </File>
+            <File>
+              <FileName>semtest.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\semtest.c</FilePath>
+            </File>
+            <File>
+              <FileName>TaskNotify.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\TaskNotify.c</FilePath>
+            </File>
+            <File>
+              <FileName>TimerDemo.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Common\Minimal\TimerDemo.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>::CMSIS</GroupName>
+        </Group>
+      </Groups>
+    </Target>
+  </Targets>
+
+  <RTE>
+    <apis/>
+    <components>
+      <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.3.0" condition="Cortex-M Device">
+        <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.5.0"/>
+        <targetInfos>
+          <targetInfo name="STM32756G_EVAL"/>
+        </targetInfos>
+      </component>
+    </components>
+    <files/>
+  </RTE>
+
+</Project>
index 4503386b2dc9a94819048a34f8ac19401e46b7e3..6a01213e08cd7ec1c63d250728c0aa1b7ee17785 100644 (file)
 \r
 @echo off \r
 \r
-if not "%1" == "" goto debugFile \r
+if not "%~1" == "" goto debugFile \r
 \r
 @echo on \r
 \r
-"C:\DevTools\IAR Systems\Embedded Workbench 7.2\common\bin\cspybat" -f "C:\E\temp\FreeRTOSv8.2.1\clean\FreeRTOS\Demo\CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\E\temp\FreeRTOSv8.2.1\clean\FreeRTOS\Demo\CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil\settings\RTOSDemo.Debug.driver.xcl" \r
+"C:\DevTools\IAR Systems\Embedded Workbench 7.4\common\bin\cspybat" -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil\settings\RTOSDemo.Debug.driver.xcl" \r
 \r
 @echo off \r
 goto end \r
@@ -34,7 +34,7 @@ goto end
 \r
 @echo on \r
 \r
-"C:\DevTools\IAR Systems\Embedded Workbench 7.2\common\bin\cspybat" -f "C:\E\temp\FreeRTOSv8.2.1\clean\FreeRTOS\Demo\CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil\settings\RTOSDemo.Debug.general.xcl" "--debug_file=%1" --backend -f "C:\E\temp\FreeRTOSv8.2.1\clean\FreeRTOS\Demo\CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil\settings\RTOSDemo.Debug.driver.xcl" \r
+"C:\DevTools\IAR Systems\Embedded Workbench 7.4\common\bin\cspybat" -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil\settings\RTOSDemo.Debug.general.xcl" "--debug_file=%~1" --backend -f "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_M7_STM32F7_STM32756G-EVAL_IAR_Keil\settings\RTOSDemo.Debug.driver.xcl" \r
 \r
 @echo off \r
 :end
\ No newline at end of file
index cf2595eb3d5b1c50480a0ccb2e29c87a69c44050..fc17c8eb2e74d41e977ddeb8f48dbf64687e7af9 100644 (file)
@@ -58,6 +58,7 @@ CStepIntDis=_ 0
 WatchCond=_ 0\r
 Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0\r
 Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0\r
+LeaveTargetRunning=_ 0\r
 [Trace2]\r
 Enabled=0\r
 ShowSource=0\r
index c57c9bf00dcc7c07ccc72534355db463d6379f93..5de027cf30af67f0f2f585e91341df41e08dce96 100644 (file)
@@ -12,7 +12,7 @@
           \r
           \r
           \r
-        <Column0>303</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
+        <Column0>357</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
       </Workspace>\r
       <Build>\r
         \r
@@ -29,7 +29,7 @@
     <Windows>\r
       \r
       \r
-    <Wnd2>\r
+    <Wnd0>\r
         <Tabs>\r
           <Tab>\r
             <Identity>TabID-18739-8840</Identity>\r
@@ -41,7 +41,7 @@
           </Tab>\r
         </Tabs>\r
         \r
-      <SelectedTab>0</SelectedTab></Wnd2><Wnd3>\r
+      <SelectedTab>0</SelectedTab></Wnd0><Wnd1>\r
         <Tabs>\r
           <Tab>\r
             <Identity>TabID-19869-16187</Identity>\r
@@ -57,7 +57,7 @@
           </Tab>\r
         </Tabs>\r
         \r
-      <SelectedTab>0</SelectedTab></Wnd3></Windows>\r
+      <SelectedTab>0</SelectedTab></Wnd1></Windows>\r
     <Editor>\r
       \r
       \r
@@ -70,7 +70,7 @@
       \r
       \r
       \r
-    <Top><Row0><Sizes><Toolbar-028190F0><key>iaridepm.enu1</key></Toolbar-028190F0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>619</Bottom><Right>377</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>225595</sizeVertCX><sizeVertCY>631098</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>321</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>323</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>328252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
+    <Top><Row0><Sizes><Toolbar-02691C38><key>iaridepm.enu1</key></Toolbar-02691C38></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>720</Bottom><Right>431</Right><x>-2</x><y>-2</y><xscreen>229</xscreen><yscreen>230</yscreen><sizeHorzCX>119271</sizeHorzCX><sizeHorzCY>202822</sizeHorzCY><sizeVertCX>225521</sizeVertCX><sizeVertCY>636684</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>370</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>372</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>328042</sizeHorzCY><sizeVertCX>119271</sizeVertCX><sizeVertCY>202822</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
   </Desktop>\r
 </Workspace>\r
 \r
index f06fe24544f96365b961900bec6a0d089c4911bd..883a1c5a886569ec116eb3183674fccc67c84e82 100644 (file)
 #define bktDONT_BLOCK                          ( ( TickType_t ) 0 )\r
 #define bktRUN_INDICATOR                       ( ( UBaseType_t ) 0x55 )\r
 \r
+/* In case the demo does not have software timers enabled, as this file uses\r
+the configTIMER_TASK_PRIORITY setting. */\r
+#ifndef configTIMER_TASK_PRIORITY\r
+       #define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 )\r
+#endif\r
+\r
 /*-----------------------------------------------------------*/\r
 \r
 /*\r
index a9e5b95c6ddc6c9d8bc8e254ef879101d346b2fa..efd217d754cf7ad03ad20b7500c6c67d09d70210 100644 (file)
@@ -45,26 +45,3 @@ encoding//Large_Data/objects.mk=UTF-8
 encoding//Large_Data/sources.mk=UTF-8\r
 encoding//Large_Data/subdir_rules.mk=UTF-8\r
 encoding//Large_Data/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/Blinky_Demo/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/Blinky_Demo/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/CCS_Only/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/CCS_Only/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/FreeRTOS_Source/portable/CCS/MSP430X/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/FreeRTOS_Source/portable/CCS/MSP430X/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/FreeRTOS_Source/portable/MemMang/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/FreeRTOS_Source/portable/MemMang/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/FreeRTOS_Source/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/FreeRTOS_Source/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/Full_Demo/FreeRTOS+CLI/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/Full_Demo/FreeRTOS+CLI/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/Full_Demo/Standard_Demo_Tasks/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/Full_Demo/Standard_Demo_Tasks/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/Full_Demo/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/Full_Demo/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/driverlib/MSP430FR5xx_6xx/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/driverlib/MSP430FR5xx_6xx/subdir_vars.mk=UTF-8\r
-encoding//Small_Data/makefile=UTF-8\r
-encoding//Small_Data/objects.mk=UTF-8\r
-encoding//Small_Data/sources.mk=UTF-8\r
-encoding//Small_Data/subdir_rules.mk=UTF-8\r
-encoding//Small_Data/subdir_vars.mk=UTF-8\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h
deleted file mode 100644 (file)
index 6ef0bed..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-#ifndef FREERTOS_CONFIG_H\r
-#define FREERTOS_CONFIG_H\r
-\r
-/*-----------------------------------------------------------\r
- * Application specific definitions.\r
- *\r
- * These definitions should be adjusted for your particular hardware and\r
- * application requirements.\r
- *\r
- * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
- * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. \r
- *\r
- * See http://www.freertos.org/a00110.html.\r
- *----------------------------------------------------------*/\r
-\r
-#define configUSE_PREEMPTION                   1\r
-#define configUSE_IDLE_HOOK                            0\r
-#define configUSE_TICK_HOOK                            0\r
-#define configMINIMAL_STACK_SIZE               ( ( unsigned short ) 250 )\r
-#define configCPU_CLOCK_HZ                             ( ( unsigned long ) 200000000 ) /* Clock setup from start.asm in the demo application. */\r
-#define configTICK_RATE_HZ                             ( (TickType_t) 1000 )\r
-#define configMAX_PRIORITIES                   ( 6 )\r
-#define configTOTAL_HEAP_SIZE                  ( (size_t) (80 * 1024) )\r
-#define configMAX_TASK_NAME_LEN                        ( 20 )\r
-#define configUSE_16_BIT_TICKS                 0\r
-#define configIDLE_SHOULD_YIELD                        1\r
-#define configUSE_MUTEXES                              1\r
-#define configUSE_TRACE_FACILITY               0\r
-#define configCHECK_FOR_STACK_OVERFLOW 2\r
-#define configUSE_COUNTING_SEMAPHORES  1\r
-#define configUSE_APPLICATION_TASK_TAG 1\r
-#define configUSE_FPU                                  1\r
-\r
-\r
-/* Co-routine definitions. */\r
-#define configUSE_CO_ROUTINES                  0\r
-#define configMAX_CO_ROUTINE_PRIORITIES ( 4 )\r
-\r
-/* Set the following definitions to 1 to include the API function, or zero\r
-to exclude the API function. */\r
-#define INCLUDE_vTaskPrioritySet                       1\r
-#define INCLUDE_uxTaskPriorityGet                      1\r
-#define INCLUDE_vTaskDelete                                    1\r
-#define INCLUDE_vTaskCleanUpResources          1\r
-#define INCLUDE_vTaskSuspend                           1\r
-#define INCLUDE_vResumeFromISR                         1\r
-#define INCLUDE_vTaskDelayUntil                                1\r
-#define INCLUDE_vTaskDelay                                     1\r
-#define INCLUDE_xTaskGetSchedulerState         1\r
-#define INCLUDE_xTaskGetCurrentTaskHandle      1\r
-#define INCLUDE_uxTaskGetStackHighWaterMark    1\r
-#define configUSE_RECURSIVE_MUTEXES                    1\r
-\r
-\r
-#if configUSE_FPU == 1\r
-       /* Include the header that define the traceTASK_SWITCHED_IN() and\r
-       traceTASK_SWITCHED_OUT() macros to save and restore the floating\r
-       point registers for tasks that have requested this behaviour. */\r
-       #include "FPU_Macros.h"\r
-#endif\r
-\r
-#endif /* FREERTOS_CONFIG_H */\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld
deleted file mode 100644 (file)
index 0a5bdac..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************/\r
-/*                                                                 */\r
-/* This file is automatically generated by linker script generator.*/\r
-/*                                                                 */\r
-/* Version: Xilinx EDK 10.1.01 EDK_K_SP1.3                                */\r
-/*                                                                 */\r
-/* Copyright (c) 2004 Xilinx, Inc.  All rights reserved.           */\r
-/*                                                                 */\r
-/* Description : PowerPC405 Linker Script                          */\r
-/*                                                                 */\r
-/*******************************************************************/\r
-\r
-_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400;\r
-_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x100;\r
-\r
-/* Define Memories in the system */\r
-\r
-MEMORY\r
-{\r
-   SRAM_C_MEM0_BASEADDR : ORIGIN = 0xFFF00000, LENGTH = 0x000FFFEC\r
-}\r
-\r
-/* Specify the default entry point to the program */\r
-\r
-ENTRY(_boot)\r
-STARTUP(boot.o)\r
-\r
-/* Define the sections, and where they are mapped in memory */\r
-\r
-SECTIONS\r
-{\r
-.vectors : {\r
-   __vectors_start = .;\r
-   *(.vectors)\r
-   __vectors_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.text : {\r
-   *(.text)\r
-   *(.text.*)\r
-   *(.gnu.linkonce.t.*)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.init : {\r
-   KEEP (*(.init))\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.fini : {\r
-   KEEP (*(.fini))\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.rodata : {\r
-   __rodata_start = .;\r
-   *(.rodata)\r
-   *(.rodata.*)\r
-   *(.gnu.linkonce.r.*)\r
-   __rodata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sdata2 : {\r
-   __sdata2_start = .;\r
-   *(.sdata2)\r
-   *(.sdata2.*)\r
-   *(.gnu.linkonce.s2.*)\r
-   __sdata2_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sbss2 : {\r
-   __sbss2_start = .;\r
-   *(.sbss2)\r
-   *(.sbss2.*)\r
-   *(.gnu.linkonce.sb2.*)\r
-   __sbss2_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.data : {\r
-   __data_start = .;\r
-   *(.data)\r
-   *(.data.*)\r
-   *(.gnu.linkonce.d.*)\r
-   __data_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got : {\r
-   *(.got)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got1 : {\r
-   *(.got1)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got2 : {\r
-   *(.got2)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.ctors : {\r
-   __CTOR_LIST__ = .;\r
-   ___CTORS_LIST___ = .;\r
-   KEEP (*crtbegin.o(.ctors))\r
-   KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors))\r
-   KEEP (*(SORT(.ctors.*)))\r
-   KEEP (*(.ctors))\r
-   __CTOR_END__ = .;\r
-   ___CTORS_END___ = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.dtors : {\r
-   __DTOR_LIST__ = .;\r
-   ___DTORS_LIST___ = .;\r
-   KEEP (*crtbegin.o(.dtors))\r
-   KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors))\r
-   KEEP (*(SORT(.dtors.*)))\r
-   KEEP (*(.dtors))\r
-   __DTOR_END__ = .;\r
-   ___DTORS_END___ = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.fixup : {\r
-   __fixup_start = .;\r
-   *(.fixup)\r
-   __fixup_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.eh_frame : {\r
-   *(.eh_frame)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.jcr : {\r
-   *(.jcr)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.gcc_except_table : {\r
-   *(.gcc_except_table)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sdata : {\r
-   __sdata_start = .;\r
-   *(.sdata)\r
-   *(.sdata.*)\r
-   *(.gnu.linkonce.s.*)\r
-   __sdata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sbss : {\r
-   __sbss_start = .;\r
-   *(.sbss)\r
-   *(.sbss.*)\r
-   *(.gnu.linkonce.sb.*)\r
-   __sbss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.tdata : {\r
-   __tdata_start = .;\r
-   *(.tdata)\r
-   *(.tdata.*)\r
-   *(.gnu.linkonce.td.*)\r
-   __tdata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.tbss : {\r
-   __tbss_start = .;\r
-   *(.tbss)\r
-   *(.tbss.*)\r
-   *(.gnu.linkonce.tb.*)\r
-   __tbss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.bss : {\r
-   __bss_start = .;\r
-   *(.bss)\r
-   *(.bss.*)\r
-   *(.gnu.linkonce.b.*)\r
-   *(COMMON)\r
-   . = ALIGN(4);\r
-   __bss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.boot0 0xFFFFFFEC : {\r
-   __boot0_start = .;\r
-   *(.boot0)\r
-   __boot0_end = .;\r
-} \r
-\r
-.boot 0xFFFFFFFC : {\r
-   __boot_start = .;\r
-   *(.boot)\r
-   __boot_end = .;\r
-} \r
-\r
-/* Generate Stack and Heap Sections */\r
-\r
-.stack : {\r
-   _stack_end = .;\r
-   . += _STACK_SIZE;\r
-   . = ALIGN(16);\r
-   __stack = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.heap : {\r
-   . = ALIGN(16);\r
-   _heap_start = .;\r
-   . += _HEAP_SIZE;\r
-   . = ALIGN(16);\r
-   _heap_end = .;\r
-   _end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-}\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.c b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.c
deleted file mode 100644 (file)
index 1d2d19d..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-/*\r
- * Tests the floating point context save and restore mechanism.\r
- *\r
- * Two tasks are created - each of which is allocated a buffer of \r
- * portNO_FLOP_REGISTERS_TO_SAVE 32bit variables into which the flop context\r
- * of the task is saved when the task is switched out, and from which the\r
- * flop context of the task is restored when the task is switch in.  Prior to \r
- * the tasks being created each position in the two buffers is filled with a \r
- * unique value - this way the flop context of each task is different.\r
- *\r
- * The two test tasks never block so are always in either the Running or\r
- * Ready state.  They execute at the lowest priority so will get pre-empted\r
- * regularly, although the yield frequently so will not get much execution\r
- * time.  The lack of execution time is not a problem as its only the \r
- * switching in and out that is being tested.\r
- *\r
- * Whenever a task is moved from the Ready to the Running state its flop \r
- * context will be loaded from the buffer, but while the task is in the\r
- * Running state the buffer is not used and can contain any value - in this\r
- * case and for test purposes the task itself clears the buffer to zero.  \r
- * The next time the task is moved out of the Running state into the\r
- * Ready state the flop context will once more get saved to the buffer - \r
- * overwriting the zeros.\r
- *\r
- * Therefore whenever the task is not in the Running state its buffer contains\r
- * the most recent values of its floating point registers - the zeroing out\r
- * of the buffer while the task was executing being used to ensure the values \r
- * the buffer contains are not stale.\r
- *\r
- * When neither test task is in the Running state the buffers should contain\r
- * the unique values allocated before the tasks were created.  If so then\r
- * the floating point context has been maintained.  This check is performed\r
- * by the 'check' task (defined in main.c) by calling \r
- * xAreFlopRegisterTestsStillRunning().\r
- *\r
- * The test tasks also increment a value each time they execute.\r
- * xAreFlopRegisterTestsStillRunning() also checks that this value has changed\r
- * since it last ran to ensure the test tasks are still getting processing time.\r
- */\r
-\r
-/* Standard includes files. */\r
-#include <string.h>\r
-\r
-/* Scheduler include files. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-#define flopNUMBER_OF_TASKS            2\r
-#define flopSTART_VALUE ( 0x1 )\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* The two test tasks as described at the top of this file. */\r
-static void vFlopTest1( void *pvParameters );\r
-static void vFlopTest2( void *pvParameters );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Buffers into which the flop registers will be saved.  There is a buffer for \r
-both tasks. */\r
-static volatile unsigned long ulFlopRegisters[ flopNUMBER_OF_TASKS ][ portNO_FLOP_REGISTERS_TO_SAVE ];\r
-\r
-/* Variables that are incremented by the tasks to indicate that they are still\r
-running. */\r
-static volatile unsigned long ulFlop1CycleCount = 0, ulFlop2CycleCount = 0;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-void vStartFlopRegTests( void )\r
-{\r
-TaskHandle_t xTaskJustCreated;\r
-unsigned portBASE_TYPE x, y, z = flopSTART_VALUE;\r
-\r
-       /* Fill the arrays into which the flop registers are to be saved with \r
-       known values.  These are the values that will be written to the flop\r
-       registers when the tasks start, and as the tasks do not perform any\r
-       flop operations the values should never change.  Each position in the\r
-       buffer contains a different value so the flop context of each task\r
-       will be different. */\r
-       for( x = 0; x < flopNUMBER_OF_TASKS; x++ )\r
-       {\r
-               for( y = 0; y < ( portNO_FLOP_REGISTERS_TO_SAVE - 1); y++ )\r
-               {\r
-                       ulFlopRegisters[ x ][ y ] = z;\r
-                       z++;\r
-               }\r
-       }\r
-\r
-\r
-       /* Create the first task. */\r
-       xTaskCreate( vFlopTest1, "flop1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, &xTaskJustCreated );\r
-\r
-       /* The task     tag value is a value that can be associated with a task, but \r
-       is not used by the scheduler itself.  Its use is down to the application so\r
-       it makes a convenient place in this case to store the pointer to the buffer\r
-       into which the flop context of the task will be stored.  The first created\r
-       task uses ulFlopRegisters[ 0 ], the second ulFlopRegisters[ 1 ]. */\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 0 ][ 0 ] ) );\r
-\r
-       /* Do the same for the second task. */\r
-       xTaskCreate( vFlopTest2, "flop2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, &xTaskJustCreated );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 1 ][ 0 ] ) );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vFlopTest1( void *pvParameters )\r
-{\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       for( ;; )\r
-       {\r
-               /* The values from the buffer should have now been written to the flop\r
-               registers.  Clear the buffer to ensure the same values then get written\r
-               back the next time the task runs.  Being preempted during this memset\r
-               could cause the test to fail, hence the critical section. */\r
-               portENTER_CRITICAL();\r
-                       memset( ( void * ) ulFlopRegisters[ 0 ], 0x00, ( portNO_FLOP_REGISTERS_TO_SAVE * sizeof( unsigned portBASE_TYPE ) ) );\r
-               portEXIT_CRITICAL();\r
-\r
-               /* We don't have to do anything other than indicate that we are \r
-               still running. */\r
-               ulFlop1CycleCount++;\r
-               taskYIELD();\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vFlopTest2( void *pvParameters )\r
-{\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       for( ;; )\r
-       {\r
-               /* The values from the buffer should have now been written to the flop\r
-               registers.  Clear the buffer to ensure the same values then get written\r
-               back the next time the task runs. */\r
-               portENTER_CRITICAL();\r
-                       memset( ( void * ) ulFlopRegisters[ 1 ], 0x00, ( portNO_FLOP_REGISTERS_TO_SAVE * sizeof( unsigned portBASE_TYPE ) ) );\r
-               portEXIT_CRITICAL();\r
-\r
-               /* We don't have to do anything other than indicate that we are \r
-               still running. */\r
-               ulFlop2CycleCount++;\r
-               taskYIELD();\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-portBASE_TYPE xAreFlopRegisterTestsStillRunning( void )\r
-{\r
-portBASE_TYPE xReturn = pdPASS;\r
-unsigned portBASE_TYPE x, y, z = flopSTART_VALUE;\r
-static unsigned long ulLastFlop1CycleCount = 0, ulLastFlop2CycleCount = 0;\r
-\r
-       /* Called from the 'check' task.\r
-       \r
-       The flop tasks cannot be currently running, check their saved registers\r
-       are as expected.  The tests tasks do not perform any flop operations so\r
-       their registers should be as per their initial setting. */\r
-       for( x = 0; x < flopNUMBER_OF_TASKS; x++ )\r
-       {\r
-               for( y = 0; y < ( portNO_FLOP_REGISTERS_TO_SAVE - 1 ); y++ )\r
-               {\r
-                       if( ulFlopRegisters[ x ][ y ] != z )\r
-                       {\r
-                               xReturn = pdFAIL;\r
-                               break;\r
-                       }\r
-\r
-                       z++;\r
-               }\r
-       }\r
-\r
-       /* Check both tasks have actually been swapped in and out since this function\r
-       last executed. */\r
-       if( ulFlop1CycleCount == ulLastFlop1CycleCount )\r
-       {\r
-               xReturn = pdFAIL;\r
-       }\r
-\r
-       if( ulFlop2CycleCount == ulLastFlop2CycleCount )\r
-       {\r
-               xReturn = pdFAIL;\r
-       }\r
-\r
-       ulLastFlop1CycleCount = ulFlop1CycleCount;\r
-       ulLastFlop2CycleCount = ulFlop2CycleCount;\r
-\r
-       return xReturn;\r
-}\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.h b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.h
deleted file mode 100644 (file)
index ee587f0..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-#ifndef FLOP_REG_TEST_H\r
-#define FLOP_REG_TEST_H\r
-\r
-void vStartFlopRegTests( void );\r
-portBASE_TYPE xAreFlopRegisterTestsStillRunning( void );\r
-\r
-#endif\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop.c b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop.c
deleted file mode 100644 (file)
index 32b4485..0000000
+++ /dev/null
@@ -1,420 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-/*\r
- * Creates eight tasks, each of which loops continuously performing a\r
- * floating point calculation.\r
- *\r
- * All the tasks run at the idle priority and never block or yield.  This causes \r
- * all eight tasks to time slice with the idle task.  Running at the idle priority \r
- * means that these tasks will get pre-empted any time another task is ready to run\r
- * or a time slice occurs.  More often than not the pre-emption will occur mid \r
- * calculation, creating a good test of the schedulers context switch mechanism - a \r
- * calculation producing an unexpected result could be a symptom of a corruption in \r
- * the context of a task.\r
- *\r
- * This file demonstrates the use of the task tag and traceTASK_SWITCHED_IN and\r
- * traceTASK_SWITCHED_OUT macros to save and restore the floating point context.\r
- */\r
-\r
-#include <stdlib.h>\r
-#include <math.h>\r
-\r
-/* Scheduler include files. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Demo program include files. */\r
-#include "flop.h"\r
-\r
-/* Misc. definitions. */\r
-#define mathSTACK_SIZE         configMINIMAL_STACK_SIZE\r
-#define mathNUMBER_OF_TASKS  ( 8 )\r
-\r
-/* Four tasks, each of which performs a different floating point calculation.  \r
-Each of the four is created twice. */\r
-static portTASK_FUNCTION_PROTO( vCompetingMathTask1, pvParameters );\r
-static portTASK_FUNCTION_PROTO( vCompetingMathTask2, pvParameters );\r
-static portTASK_FUNCTION_PROTO( vCompetingMathTask3, pvParameters );\r
-static portTASK_FUNCTION_PROTO( vCompetingMathTask4, pvParameters );\r
-\r
-/* These variables are used to check that all the tasks are still running.  If a \r
-task gets a calculation wrong it will stop incrementing its check variable. */\r
-static volatile unsigned short usTaskCheck[ mathNUMBER_OF_TASKS ] = { ( unsigned short ) 0 };\r
-\r
-/* Buffers into which the flop registers will be saved.  There is a buffer for \r
-each task created within this file.  Zeroing out this array is the normal and\r
-safe option as this will cause the task to start with all zeros in its flop\r
-context. */\r
-static unsigned long ulFlopRegisters[ mathNUMBER_OF_TASKS ][ portNO_FLOP_REGISTERS_TO_SAVE ];\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-void vStartMathTasks( unsigned portBASE_TYPE uxPriority )\r
-{\r
-TaskHandle_t xTaskJustCreated;\r
-portBASE_TYPE x, y;\r
-\r
-       /* Place known values into the buffers into which the flop registers are \r
-       to be saved.  This is for debug purposes only, it is not normally\r
-       required.  The last position in each array is left at zero as the status\r
-       register will be loaded from there. \r
-       \r
-       It is intended that these values can be viewed being loaded into the\r
-       flop registers when a task is started - however the Insight debugger\r
-       does not seem to want to show the flop register values. */\r
-       for( x = 0; x < mathNUMBER_OF_TASKS; x++ )\r
-       {\r
-               for( y = 0; y < ( portNO_FLOP_REGISTERS_TO_SAVE - 1 ); y++ )\r
-               {\r
-                       ulFlopRegisters[ x ][ y ] = ( x + 1 );\r
-               }\r
-       }\r
-\r
-       /* Create the first task - passing it the address of the check variable\r
-       that it is going to increment.  This check variable is used as an \r
-       indication that the task is still running. */\r
-       xTaskCreate( vCompetingMathTask1, "Math1", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 0 ] ), uxPriority, &xTaskJustCreated );\r
-\r
-       /* The task     tag value is a value that can be associated with a task, but \r
-       is not used by the scheduler itself.  Its use is down to the application so\r
-       it makes a convenient place in this case to store the pointer to the buffer\r
-       into which the flop context of the task will be stored.  The first created\r
-       task uses ulFlopRegisters[ 0 ], the second ulFlopRegisters[ 1 ], etc. */\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 0 ][ 0 ] ) );\r
-\r
-       /* Create another 7 tasks, allocating a buffer for each. */\r
-       xTaskCreate( vCompetingMathTask2, "Math2", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 1 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 1 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask3, "Math3", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 2 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 2 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask4, "Math4", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 3 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 3 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask1, "Math5", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 4 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 4 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask2, "Math6", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 5 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 5 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask3, "Math7", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 6 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 6 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask4, "Math8", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 7 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 7 ][ 0 ] ) );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portTASK_FUNCTION( vCompetingMathTask1, pvParameters )\r
-{\r
-volatile portFLOAT ff1, ff2, ff3, ff4;\r
-volatile unsigned short *pusTaskCheckVariable;\r
-volatile portFLOAT fAnswer;\r
-short sError = pdFALSE;\r
-\r
-       ff1 = 123.4567F;\r
-       ff2 = 2345.6789F;\r
-       ff3 = -918.222F;\r
-\r
-       fAnswer = ( ff1 + ff2 ) * ff3;\r
-\r
-       /* The variable this task increments to show it is still running is passed in \r
-       as the parameter. */\r
-       pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
-\r
-       /* Keep performing a calculation and checking the result against a constant. */\r
-       for(;;)\r
-       {\r
-               ff1 = 123.4567F;\r
-               ff2 = 2345.6789F;\r
-               ff3 = -918.222F;\r
-\r
-               ff4 = ( ff1 + ff2 ) * ff3;\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               /* If the calculation does not match the expected constant, stop the \r
-               increment of the check variable. */\r
-               if( fabs( ff4 - fAnswer ) > 0.001F )\r
-               {\r
-                       sError = pdTRUE;\r
-               }\r
-\r
-               if( sError == pdFALSE )\r
-               {\r
-                       /* If the calculation has always been correct, increment the check \r
-                       variable so we know this task is still running okay. */\r
-                       ( *pusTaskCheckVariable )++;\r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portTASK_FUNCTION( vCompetingMathTask2, pvParameters )\r
-{\r
-volatile portFLOAT ff1, ff2, ff3, ff4;\r
-volatile unsigned short *pusTaskCheckVariable;\r
-volatile portFLOAT fAnswer;\r
-short sError = pdFALSE;\r
-\r
-       ff1 = -389.38F;\r
-       ff2 = 32498.2F;\r
-       ff3 = -2.0001F;\r
-\r
-       fAnswer = ( ff1 / ff2 ) * ff3;\r
-\r
-\r
-       /* The variable this task increments to show it is still running is passed in \r
-       as the parameter. */\r
-       pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
-\r
-       /* Keep performing a calculation and checking the result against a constant. */\r
-       for( ;; )\r
-       {\r
-               ff1 = -389.38F;\r
-               ff2 = 32498.2F;\r
-               ff3 = -2.0001F;\r
-\r
-               ff4 = ( ff1 / ff2 ) * ff3;\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-               \r
-               /* If the calculation does not match the expected constant, stop the \r
-               increment of the check variable. */\r
-               if( fabs( ff4 - fAnswer ) > 0.001F )\r
-               {\r
-                       sError = pdTRUE;\r
-               }\r
-\r
-               if( sError == pdFALSE )\r
-               {\r
-                       /* If the calculation has always been correct, increment the check \r
-                       variable so we know\r
-                       this task is still running okay. */\r
-                       ( *pusTaskCheckVariable )++;\r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portTASK_FUNCTION( vCompetingMathTask3, pvParameters )\r
-{\r
-volatile portFLOAT *pfArray, fTotal1, fTotal2, fDifference;\r
-volatile unsigned short *pusTaskCheckVariable;\r
-const size_t xArraySize = 10;\r
-size_t xPosition;\r
-short sError = pdFALSE;\r
-\r
-       /* The variable this task increments to show it is still running is passed in \r
-       as the parameter. */\r
-       pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
-\r
-       pfArray = ( portFLOAT * ) pvPortMalloc( xArraySize * sizeof( portFLOAT ) );\r
-\r
-       /* Keep filling an array, keeping a running total of the values placed in the \r
-       array.  Then run through the array adding up all the values.  If the two totals \r
-       do not match, stop the check variable from incrementing. */\r
-       for( ;; )\r
-       {\r
-               fTotal1 = 0.0F;\r
-               fTotal2 = 0.0F;\r
-\r
-               for( xPosition = 0; xPosition < xArraySize; xPosition++ )\r
-               {\r
-                       pfArray[ xPosition ] = ( portFLOAT ) xPosition + 5.5F;\r
-                       fTotal1 += ( portFLOAT ) xPosition + 5.5F;      \r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               for( xPosition = 0; xPosition < xArraySize; xPosition++ )\r
-               {\r
-                       fTotal2 += pfArray[ xPosition ];\r
-               }\r
-\r
-               fDifference = fTotal1 - fTotal2;\r
-               if( fabs( fDifference ) > 0.001F )\r
-               {\r
-                       sError = pdTRUE;\r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               if( sError == pdFALSE )\r
-               {\r
-                       /* If the calculation has always been correct, increment the check \r
-                       variable so we know     this task is still running okay. */\r
-                       ( *pusTaskCheckVariable )++;\r
-               }\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portTASK_FUNCTION( vCompetingMathTask4, pvParameters )\r
-{\r
-volatile portFLOAT *pfArray, fTotal1, fTotal2, fDifference;\r
-volatile unsigned short *pusTaskCheckVariable;\r
-const size_t xArraySize = 10;\r
-size_t xPosition;\r
-short sError = pdFALSE;\r
-\r
-       /* The variable this task increments to show it is still running is passed in \r
-       as the parameter. */\r
-       pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
-\r
-       pfArray = ( portFLOAT * ) pvPortMalloc( xArraySize * sizeof( portFLOAT ) );\r
-\r
-       /* Keep filling an array, keeping a running total of the values placed in the \r
-       array.  Then run through the array adding up all the values.  If the two totals \r
-       do not match, stop the check variable from incrementing. */\r
-       for( ;; )\r
-       {\r
-               fTotal1 = 0.0F;\r
-               fTotal2 = 0.0F;\r
-\r
-               for( xPosition = 0; xPosition < xArraySize; xPosition++ )\r
-               {\r
-                       pfArray[ xPosition ] = ( portFLOAT ) xPosition * 12.123F;\r
-                       fTotal1 += ( portFLOAT ) xPosition * 12.123F;   \r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               for( xPosition = 0; xPosition < xArraySize; xPosition++ )\r
-               {\r
-                       fTotal2 += pfArray[ xPosition ];\r
-               }\r
-\r
-               fDifference = fTotal1 - fTotal2;\r
-               if( fabs( fDifference ) > 0.001F )\r
-               {\r
-                       sError = pdTRUE;\r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               if( sError == pdFALSE )\r
-               {\r
-                       /* If the calculation has always been correct, increment the check \r
-                       variable so we know     this task is still running okay. */\r
-                       ( *pusTaskCheckVariable )++;\r
-               }\r
-       }\r
-}                               \r
-/*-----------------------------------------------------------*/\r
-\r
-/* This is called to check that all the created tasks are still running. */\r
-portBASE_TYPE xAreMathsTaskStillRunning( void )\r
-{\r
-/* Keep a history of the check variables so we know if they have been incremented \r
-since the last call. */\r
-static unsigned short usLastTaskCheck[ mathNUMBER_OF_TASKS ] = { ( unsigned short ) 0 };\r
-portBASE_TYPE xReturn = pdTRUE, xTask;\r
-\r
-       /* Check the maths tasks are still running by ensuring their check variables \r
-       are still incrementing. */\r
-       for( xTask = 0; xTask < mathNUMBER_OF_TASKS; xTask++ )\r
-       {\r
-               if( usTaskCheck[ xTask ] == usLastTaskCheck[ xTask ] )\r
-               {\r
-                       /* The check has not incremented so an error exists. */\r
-                       xReturn = pdFALSE;\r
-               }\r
-\r
-               usLastTaskCheck[ xTask ] = usTaskCheck[ xTask ];\r
-       }\r
-\r
-       return xReturn;\r
-}\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/main.c b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/main.c
deleted file mode 100644 (file)
index 0e919ae..0000000
+++ /dev/null
@@ -1,719 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-/*\r
- * Creates all the demo application tasks, then starts the scheduler.  The WEB\r
- * documentation provides more details of the demo application tasks.\r
- * \r
- * In addition to the standard demo tasks, the follow demo specific tasks are\r
- * create:\r
- *\r
- * The "Check" task.  This only executes every three seconds but has the highest \r
- * priority so is guaranteed to get processor time.  Its main function is to \r
- * check that all the other tasks are still operational.  Most tasks maintain \r
- * a unique count that is incremented each time the task successfully completes \r
- * its function.  Should any error occur within such a task the count is \r
- * permanently halted.  The check task inspects the count of each task to ensure \r
- * it has changed since the last time the check task executed.  If all the count \r
- * variables have changed all the tasks are still executing error free, and the \r
- * check task toggles the onboard LED.  Should any task contain an error at any time \r
- * the LED toggle rate will change from 3 seconds to 500ms.\r
- *\r
- * The "Register Check" tasks.  These tasks fill the CPU registers with known\r
- * values, then check that each register still contains the expected value, the\r
- * discovery of an unexpected value being indicative of an error in the RTOS\r
- * context switch mechanism.  The register check tasks operate at low priority\r
- * so are switched in and out frequently.\r
- *\r
- */\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Xilinx library includes. */\r
-#include "xcache_l.h"\r
-#include "xintc.h"\r
-\r
-/* Demo application includes. */\r
-#include "flash.h"\r
-#include "integer.h"\r
-#include "comtest2.h"\r
-#include "semtest.h"\r
-#include "BlockQ.h"\r
-#include "dynamic.h"\r
-#include "GenQTest.h"\r
-#include "QPeek.h"\r
-#include "blocktim.h"\r
-#include "death.h"\r
-#include "partest.h"\r
-#include "countsem.h"\r
-#include "recmutex.h"\r
-#include "flop.h"\r
-#include "flop-reg-test.h"\r
-\r
-/* Priorities assigned to the demo tasks. */\r
-#define mainCHECK_TASK_PRIORITY                        ( tskIDLE_PRIORITY + 4 )\r
-#define mainSEM_TEST_PRIORITY                  ( tskIDLE_PRIORITY + 2 )\r
-#define mainCOM_TEST_PRIORITY                  ( tskIDLE_PRIORITY + 1 )\r
-#define mainQUEUE_BLOCK_PRIORITY               ( tskIDLE_PRIORITY + 1 )\r
-#define mainDEATH_PRIORITY                             ( tskIDLE_PRIORITY + 1 )\r
-#define mainLED_TASK_PRIORITY                  ( tskIDLE_PRIORITY + 1 )\r
-#define mainGENERIC_QUEUE_PRIORITY             ( tskIDLE_PRIORITY )\r
-#define mainQUEUE_POLL_PRIORITY                        ( tskIDLE_PRIORITY + 1 )\r
-#define mainFLOP_PRIORITY                              ( tskIDLE_PRIORITY )\r
-\r
-/* The first LED used by the COM test and check tasks respectively. */\r
-#define mainCOM_TEST_LED                               ( 4 )\r
-#define mainCHECK_TEST_LED                             ( 3 )\r
-\r
-/* The baud rate used by the comtest tasks is set by the hardware, so the\r
-baud rate parameters passed into the comtest initialisation has no effect. */\r
-#define mainBAUD_SET_IN_HARDWARE               ( 0 )\r
-\r
-/* Delay periods used by the check task.  If no errors have been found then\r
-the check LED will toggle every mainNO_ERROR_CHECK_DELAY milliseconds.  If an\r
-error has been found at any time then the toggle rate will increase to \r
-mainERROR_CHECK_DELAY milliseconds. */\r
-#define mainNO_ERROR_CHECK_DELAY               ( ( TickType_t ) 3000 / portTICK_PERIOD_MS  )\r
-#define mainERROR_CHECK_DELAY                  ( ( TickType_t ) 500 / portTICK_PERIOD_MS  )\r
-\r
-\r
-/* \r
- * The tasks defined within this file - described within the comments at the\r
- * head of this page. \r
- */\r
-static void prvRegTestTask1( void *pvParameters );\r
-static void prvRegTestTask2( void *pvParameters );\r
-static void prvErrorChecks( void *pvParameters );\r
-\r
-/*\r
- * Called by the 'check' task to inspect all the standard demo tasks within\r
- * the system, as described within the comments at the head of this page.\r
- */\r
-static portBASE_TYPE prvCheckOtherTasksAreStillRunning( void );\r
-\r
-/*\r
- * Perform any hardware initialisation required by the demo application.\r
- */\r
-static void prvSetupHardware( void );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* xRegTestStatus will get set to pdFAIL by the regtest tasks if they\r
-discover an unexpected value. */\r
-static volatile unsigned portBASE_TYPE xRegTestStatus = pdPASS;\r
-\r
-/* Counters used to ensure the regtest tasks are still running. */\r
-static volatile unsigned long ulRegTest1Counter = 0UL, ulRegTest2Counter = 0UL;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-int main( void )\r
-{\r
-\r
-       /* Must be called prior to installing any interrupt handlers! */\r
-       vPortSetupInterruptController();\r
-\r
-       /* In this case prvSetupHardware() just enables the caches and and\r
-       configures the IO ports for the LED outputs. */\r
-       prvSetupHardware();\r
-\r
-       /* Start the standard demo application tasks.  Note that the baud rate used\r
-       by the comtest tasks is set by the hardware, so the baud rate parameter\r
-       passed has no effect. */\r
-       vStartLEDFlashTasks( mainLED_TASK_PRIORITY );   \r
-       vStartIntegerMathTasks( tskIDLE_PRIORITY );\r
-       vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainBAUD_SET_IN_HARDWARE, mainCOM_TEST_LED );\r
-       vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );\r
-       vStartBlockingQueueTasks ( mainQUEUE_BLOCK_PRIORITY );  \r
-       vStartDynamicPriorityTasks();   \r
-       vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY );\r
-       vStartQueuePeekTasks();\r
-       vCreateBlockTimeTasks();\r
-       vStartCountingSemaphoreTasks();\r
-       vStartRecursiveMutexTasks();\r
-\r
-       #if ( configUSE_FPU == 1 )\r
-               vStartMathTasks( mainFLOP_PRIORITY );\r
-               vStartFlopRegTests();\r
-       #endif\r
-\r
-       /* Create the tasks defined within this file. */\r
-       xTaskCreate( prvRegTestTask1, "Regtest1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
-       xTaskCreate( prvRegTestTask2, "Regtest2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
-       xTaskCreate( prvErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );\r
-\r
-       /* The suicide tasks must be started last as they record the number of other\r
-       tasks that exist within the system.  The value is then used to ensure at run\r
-       time the number of tasks that exists is within expected bounds. */\r
-       vCreateSuicidalTasks( mainDEATH_PRIORITY );\r
-\r
-       /* Now start the scheduler.  Following this call the created tasks should\r
-       be executing. */        \r
-       vTaskStartScheduler();\r
-\r
-       /* vTaskStartScheduler() will only return if an error occurs while the \r
-       idle task is being created. */\r
-       for( ;; );\r
-\r
-       return 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portBASE_TYPE prvCheckOtherTasksAreStillRunning( void )\r
-{\r
-portBASE_TYPE lReturn = pdPASS;\r
-static unsigned long ulLastRegTest1Counter= 0UL, ulLastRegTest2Counter = 0UL;\r
-\r
-       /* The demo tasks maintain a count that increments every cycle of the task\r
-       provided that the task has never encountered an error.  This function \r
-       checks the counts maintained by the tasks to ensure they are still being\r
-       incremented.  A count remaining at the same value between calls therefore\r
-       indicates that an error has been detected. */\r
-\r
-       if( xAreIntegerMathsTaskStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       if( xAreComTestTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreSemaphoreTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreBlockingQueuesStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xIsCreateTaskStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreGenericQueueTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreQueuePeekTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       #if ( configUSE_FPU == 1 )\r
-               if( xAreMathsTaskStillRunning() != pdTRUE )\r
-               {\r
-                       lReturn = pdFAIL;\r
-               }\r
-\r
-               if( xAreFlopRegisterTestsStillRunning() != pdTRUE )\r
-               {\r
-                       lReturn = pdFAIL;\r
-               }\r
-       #endif\r
-\r
-       /* Have the register test tasks found any errors? */\r
-       if( xRegTestStatus != pdPASS )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       /* Are the register test tasks still looping? */\r
-       if( ulLastRegTest1Counter == ulRegTest1Counter )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       else\r
-       {\r
-               ulLastRegTest1Counter = ulRegTest1Counter;\r
-       }\r
-\r
-       if( ulLastRegTest2Counter == ulRegTest2Counter )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       else\r
-       {\r
-               ulLastRegTest2Counter = ulRegTest2Counter;\r
-       }\r
-\r
-       return lReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvErrorChecks( void *pvParameters )\r
-{\r
-TickType_t xDelayPeriod = mainNO_ERROR_CHECK_DELAY, xLastExecutionTime;\r
-volatile unsigned portBASE_TYPE uxFreeStack;\r
-\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       /* This call is just to demonstrate the use of the function - nothing is\r
-       done with the value.  You would expect the stack high water mark to be\r
-       lower (the function to return a larger value) here at function entry than\r
-       later following calls to other functions. */\r
-       uxFreeStack = uxTaskGetStackHighWaterMark( NULL );\r
-\r
-       /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil()\r
-       works correctly. */\r
-       xLastExecutionTime = xTaskGetTickCount();\r
-\r
-       /* Cycle for ever, delaying then checking all the other tasks are still\r
-       operating without error. */\r
-       for( ;; )\r
-       {\r
-               /* Again just for demo purposes - uxFreeStack should have a lower value\r
-               here than following the call to uxTaskGetStackHighWaterMark() on the\r
-               task entry. */\r
-               uxFreeStack = uxTaskGetStackHighWaterMark( NULL );\r
-\r
-               /* Wait until it is time to check again.  The time we wait here depends\r
-               on whether an error has been detected or not.  When an error is \r
-               detected the time is shortened resulting in a faster LED flash rate. */\r
-               vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod );\r
-\r
-               /* See if the other tasks are all ok. */\r
-               if( prvCheckOtherTasksAreStillRunning() != pdPASS )\r
-               {\r
-                       /* An error occurred in one of the tasks so shorten the delay \r
-                       period - which has the effect of increasing the frequency of the\r
-                       LED toggle. */\r
-                       xDelayPeriod = mainERROR_CHECK_DELAY;\r
-               }\r
-\r
-               /* Flash! */\r
-               vParTestToggleLED( mainCHECK_TEST_LED );\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvSetupHardware( void )\r
-{\r
-       XCache_EnableICache( 0x80000000 );\r
-       XCache_EnableDCache( 0x80000000 );\r
-\r
-       /* Setup the IO port for use with the LED outputs. */\r
-       vParTestInitialise();\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvRegTest1Pass( void )\r
-{\r
-       /* Called from the inline assembler - this cannot be static\r
-       otherwise it can get optimised away. */\r
-       ulRegTest1Counter++;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvRegTest2Pass( void )\r
-{\r
-       /* Called from the inline assembler - this cannot be static\r
-       otherwise it can get optimised away. */\r
-       ulRegTest2Counter++;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvRegTestFail( void )\r
-{\r
-       /* Called from the inline assembler - this cannot be static\r
-       otherwise it can get optimised away. */\r
-       xRegTestStatus = pdFAIL;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvRegTestTask1( void *pvParameters )\r
-{\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       /* The first register test task as described at the top of this file.  The\r
-       values used in the registers are different to those use in the second \r
-       register test task.  Also, unlike the second register test task, this task\r
-       yields between setting the register values and subsequently checking the\r
-       register values. */\r
-       asm volatile\r
-       (\r
-               "RegTest1Start:                                 \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 301                          \n\t" \\r
-               "       mtspr   256, 0  #USPRG0         \n\t" \\r
-               "       li              0, 501                          \n\t" \\r
-               "       mtspr   8, 0    #LR                     \n\t" \\r
-               "       li              0, 4                            \n\t" \\r
-               "       mtspr   1, 0    #XER            \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 1                            \n\t" \\r
-               "       li              2, 2                            \n\t" \\r
-               "       li              3, 3                            \n\t" \\r
-               "       li              4,      4                               \n\t" \\r
-               "       li              5,      5                               \n\t" \\r
-               "       li              6,      6                               \n\t" \\r
-               "       li              7,      7                               \n\t" \\r
-               "       li              8,      8                               \n\t" \\r
-               "       li              9,      9                               \n\t" \\r
-               "       li              10,     10                              \n\t" \\r
-               "       li              11,     11                              \n\t" \\r
-               "       li              12,     12                              \n\t" \\r
-               "       li              13,     13                              \n\t" \\r
-               "       li              14,     14                              \n\t" \\r
-               "       li              15,     15                              \n\t" \\r
-               "       li              16,     16                              \n\t" \\r
-               "       li              17,     17                              \n\t" \\r
-               "       li              18,     18                              \n\t" \\r
-               "       li              19,     19                              \n\t" \\r
-               "       li              20,     20                              \n\t" \\r
-               "       li              21,     21                              \n\t" \\r
-               "       li              22,     22                              \n\t" \\r
-               "       li              23,     23                              \n\t" \\r
-               "       li              24,     24                              \n\t" \\r
-               "       li              25,     25                              \n\t" \\r
-               "       li              26,     26                              \n\t" \\r
-               "       li              27,     27                              \n\t" \\r
-               "       li              28,     28                              \n\t" \\r
-               "       li              29,     29                              \n\t" \\r
-               "       li              30,     30                              \n\t" \\r
-               "       li              31,     31                              \n\t" \\r
-               "                                                               \n\t" \\r
-               "       sc                                                      \n\t" \\r
-               "       nop                                                     \n\t" \\r
-               "                                                               \n\t" \\r
-               "       cmpwi   0, 1                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   2, 2                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   3, 3                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   4, 4                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   5, 5                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   6, 6                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   7, 7                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   8, 8                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   9, 9                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   10, 10                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   11, 11                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   12, 12                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   13, 13                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   14, 14                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   15, 15                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   16, 16                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   17, 17                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   18, 18                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   19, 19                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   20, 20                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   21, 21                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   22, 22                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   23, 23                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   24, 24                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   25, 25                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   26, 26                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   27, 27                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   28, 28                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   29, 29                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   30, 30                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   31, 31                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       mfspr   0, 256  #USPRG0         \n\t" \\r
-               "       cmpwi   0, 301                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       mfspr   0, 8    #LR                     \n\t" \\r
-               "       cmpwi   0, 501                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       mfspr   0, 1    #XER            \n\t" \\r
-               "       cmpwi   0, 4                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTest1Pass                      \n\t" \\r
-               "       b RegTest1Start                         \n\t" \\r
-               "                                                               \n\t" \\r
-               "RegTest1Fail:                                  \n\t" \\r
-               "                                                               \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTestFail                       \n\t" \\r
-               "       b RegTest1Start                         \n\t" \\r
-       );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvRegTestTask2( void *pvParameters )\r
-{\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       /* The second register test task as described at the top of this file.  \r
-       Note that this task fills the registers with different values to the\r
-       first register test task. */\r
-       asm volatile\r
-       (\r
-               "RegTest2Start:                                 \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 300                          \n\t" \\r
-               "       mtspr   256, 0  #USPRG0         \n\t" \\r
-               "       li              0, 500                          \n\t" \\r
-               "       mtspr   8, 0    #LR                     \n\t" \\r
-               "       li              0, 4                            \n\t" \\r
-               "       mtspr   1, 0    #XER            \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 11                           \n\t" \\r
-               "       li              2, 12                           \n\t" \\r
-               "       li              3, 13                           \n\t" \\r
-               "       li              4,      14                              \n\t" \\r
-               "       li              5,      15                              \n\t" \\r
-               "       li              6,      16                              \n\t" \\r
-               "       li              7,      17                              \n\t" \\r
-               "       li              8,      18                              \n\t" \\r
-               "       li              9,      19                              \n\t" \\r
-               "       li              10,     110                             \n\t" \\r
-               "       li              11,     111                             \n\t" \\r
-               "       li              12,     112                             \n\t" \\r
-               "       li              13,     113                             \n\t" \\r
-               "       li              14,     114                             \n\t" \\r
-               "       li              15,     115                             \n\t" \\r
-               "       li              16,     116                             \n\t" \\r
-               "       li              17,     117                             \n\t" \\r
-               "       li              18,     118                             \n\t" \\r
-               "       li              19,     119                             \n\t" \\r
-               "       li              20,     120                             \n\t" \\r
-               "       li              21,     121                             \n\t" \\r
-               "       li              22,     122                             \n\t" \\r
-               "       li              23,     123                             \n\t" \\r
-               "       li              24,     124                             \n\t" \\r
-               "       li              25,     125                             \n\t" \\r
-               "       li              26,     126                             \n\t" \\r
-               "       li              27,     127                             \n\t" \\r
-               "       li              28,     128                             \n\t" \\r
-               "       li              29,     129                             \n\t" \\r
-               "       li              30,     130                             \n\t" \\r
-               "       li              31,     131                             \n\t" \\r
-               "                                                               \n\t" \\r
-               "       cmpwi   0, 11                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   2, 12                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   3, 13                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   4, 14                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   5, 15                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   6, 16                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   7, 17                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   8, 18                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   9, 19                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   10, 110                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   11, 111                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   12, 112                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   13, 113                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   14, 114                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   15, 115                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   16, 116                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   17, 117                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   18, 118                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   19, 119                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   20, 120                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   21, 121                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   22, 122                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   23, 123                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   24, 124                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   25, 125                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   26, 126                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   27, 127                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   28, 128                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   29, 129                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   30, 130                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   31, 131                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       mfspr   0, 256  #USPRG0         \n\t" \\r
-               "       cmpwi   0, 300                          \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       mfspr   0, 8    #LR                     \n\t" \\r
-               "       cmpwi   0, 500                          \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       mfspr   0, 1    #XER            \n\t" \\r
-               "       cmpwi   0, 4                            \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTest2Pass                      \n\t" \\r
-               "       b RegTest2Start                         \n\t" \\r
-               "                                                               \n\t" \\r
-               "RegTest2Fail:                                  \n\t" \\r
-               "                                                               \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTestFail                       \n\t" \\r
-               "       b RegTest2Start                         \n\t" \\r
-       );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-/* This hook function will get called if there is a suspected stack overflow.\r
-An overflow can cause the task name to be corrupted, in which case the task\r
-handle needs to be used to determine the offending task. */\r
-void vApplicationStackOverflowHook( TaskHandle_t xTask, signed char *pcTaskName );\r
-void vApplicationStackOverflowHook( TaskHandle_t xTask, signed char *pcTaskName )\r
-{\r
-/* To prevent the optimiser removing the variables. */\r
-volatile TaskHandle_t xTaskIn = xTask;\r
-volatile signed char *pcTaskNameIn = pcTaskName;\r
-\r
-       /* Remove compiler warnings. */\r
-       ( void ) xTaskIn;\r
-       ( void ) pcTaskNameIn;\r
-\r
-       /* The following three calls are simply to stop compiler warnings about the\r
-       functions not being used - they are called from the inline assembly. */\r
-       prvRegTest1Pass();\r
-       prvRegTest2Pass();\r
-       prvRegTestFail();\r
-\r
-       for( ;; );\r
-}\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c
deleted file mode 100644 (file)
index 6311f14..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-\r
-/* Demo application includes. */\r
-#include "partest.h"\r
-\r
-/* Library includes. */\r
-#include "xparameters.h"\r
-#include "xgpio_l.h"\r
-\r
-/* Misc hardware specific definitions. */\r
-#define partstALL_AS_OUTPUT    0x00\r
-#define partstCHANNEL_1                0x01\r
-#define partstMAX_4BIT_LED     0x03\r
-\r
-/* The outputs are split into two IO sections, these variables maintain the \r
-current value of either section. */\r
-static unsigned portBASE_TYPE uxCurrentOutput4Bit, uxCurrentOutput5Bit;\r
-\r
-/*-----------------------------------------------------------*/\r
-/*\r
- * Setup the IO for the LED outputs.\r
- */\r
-void vParTestInitialise( void )\r
-{\r
-       /* Set both sets of LED's on the demo board to outputs. */\r
-       XGpio_mSetDataDirection( XPAR_LEDS_4BIT_BASEADDR, partstCHANNEL_1, partstALL_AS_OUTPUT );\r
-       XGpio_mSetDataDirection( XPAR_LEDS_POSITIONS_BASEADDR, partstCHANNEL_1, partstALL_AS_OUTPUT );\r
-\r
-       /* Start with all outputs off. */\r
-       uxCurrentOutput4Bit = 0;\r
-       XGpio_mSetDataReg( XPAR_LEDS_4BIT_BASEADDR, partstCHANNEL_1, 0x00 );\r
-       uxCurrentOutput5Bit = 0;\r
-       XGpio_mSetDataReg( XPAR_LEDS_POSITIONS_BASEADDR, partstCHANNEL_1, 0x00 );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
-{\r
-unsigned portBASE_TYPE uxBaseAddress, *puxCurrentValue;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* Which IO section does the LED being set/cleared belong to?  The\r
-               4 bit or 5 bit outputs? */\r
-               if( uxLED <= partstMAX_4BIT_LED )\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_4BIT_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput5Bit;\r
-               }       \r
-               else\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_POSITIONS_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput4Bit;\r
-                       uxLED -= partstMAX_4BIT_LED;\r
-               }\r
-\r
-               /* Setup the bit mask accordingly. */\r
-               uxLED = 0x01 << uxLED;\r
-\r
-               /* Maintain the current output value. */\r
-               if( xValue )\r
-               {\r
-                       *puxCurrentValue |= uxLED;\r
-               }\r
-               else\r
-               {\r
-                       *puxCurrentValue &= ~uxLED;\r
-               }\r
-\r
-               /* Write the value to the port. */\r
-               XGpio_mSetDataReg( uxBaseAddress, partstCHANNEL_1, *puxCurrentValue );\r
-       }\r
-       portEXIT_CRITICAL();\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
-{\r
-unsigned portBASE_TYPE uxBaseAddress, *puxCurrentValue;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* Which IO section does the LED being toggled belong to?  The\r
-               4 bit or 5 bit outputs? */\r
-               if( uxLED <= partstMAX_4BIT_LED )\r
-               {\r
-\r
-                       uxBaseAddress = XPAR_LEDS_4BIT_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput5Bit;\r
-               }       \r
-               else\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_POSITIONS_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput4Bit;\r
-                       uxLED -= partstMAX_4BIT_LED;\r
-               }\r
-\r
-               /* Setup the bit mask accordingly. */\r
-               uxLED = 0x01 << uxLED;\r
-\r
-               /* Maintain the current output value. */\r
-               if( *puxCurrentValue & uxLED )\r
-               {\r
-                       *puxCurrentValue &= ~uxLED;\r
-               }\r
-               else\r
-               {\r
-                       *puxCurrentValue |= uxLED;\r
-               }\r
-\r
-               /* Write the value to the port. */\r
-               XGpio_mSetDataReg(uxBaseAddress, partstCHANNEL_1, *puxCurrentValue );\r
-       }\r
-       portEXIT_CRITICAL();\r
-}\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c
deleted file mode 100644 (file)
index 5e390a6..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-\r
-/* \r
-       BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR UART\r
-*/\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "queue.h"\r
-#include "task.h"\r
-\r
-/* Demo application includes. */\r
-#include "serial.h"\r
-\r
-/* Library includes. */\r
-#include "xparameters.h"\r
-#include "xuartlite.h"\r
-#include "xuartlite_l.h"\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Queues used to hold received characters, and characters waiting to be\r
-transmitted. */\r
-static QueueHandle_t xRxedChars; \r
-static QueueHandle_t xCharsForTx; \r
-\r
-/* Structure that maintains information on the UART being used. */\r
-static XUartLite xUART;\r
-\r
-/*\r
- * Sample UART interrupt handler.  Note this is used to demonstrate the kernel\r
- * features and test the port - it is not intended to represent an efficient\r
- * implementation.\r
- */\r
-static void vSerialISR( XUartLite *pxUART );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )\r
-{\r
-       /* NOTE: The baud rate used by this driver is determined by the hardware\r
-       parameterization of the UART Lite peripheral, and the baud value passed to\r
-       this function has no effect. */\r
-       ( void ) ulWantedBaud;\r
-\r
-       /* Create the queues used to hold Rx and Tx characters. */\r
-       xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );\r
-       xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );\r
-\r
-       /* Only initialise the UART if the queues were created correctly. */\r
-       if( ( xRxedChars != NULL ) && ( xCharsForTx != NULL ) )\r
-       {\r
-\r
-               XUartLite_Initialize( &xUART, XPAR_RS232_UART_DEVICE_ID );\r
-               XUartLite_ResetFifos( &xUART );\r
-               XUartLite_DisableInterrupt( &xUART );\r
-\r
-               if( xPortInstallInterruptHandler( XPAR_XPS_INTC_0_RS232_UART_INTERRUPT_INTR, ( XInterruptHandler )vSerialISR, (void *)&xUART ) == pdPASS )\r
-               {\r
-                       /* xPortInstallInterruptHandler() could fail if \r
-                       vPortSetupInterruptController() has not been called prior to this \r
-                       function. */\r
-                       XUartLite_EnableInterrupt( &xUART );\r
-               }\r
-       }\r
-       \r
-       /* There is only one port so the handle is not used. */\r
-       return ( xComPortHandle ) 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )\r
-{\r
-       /* The port handle is not required as this driver only supports one UART. */\r
-       ( void ) pxPort;\r
-\r
-       /* Get the next character from the buffer.  Return false if no characters\r
-       are available, or arrive before xBlockTime expires. */\r
-       if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )\r
-       {\r
-               return pdTRUE;\r
-       }\r
-       else\r
-       {\r
-               return pdFALSE;\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )\r
-{\r
-portBASE_TYPE xReturn = pdTRUE;\r
-\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pxPort;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* If the UART FIFO is full we can block posting the new data on the\r
-               Tx queue. */\r
-               if( XUartLite_mIsTransmitFull( XPAR_RS232_UART_BASEADDR ) )\r
-               {\r
-                       if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )\r
-                       {\r
-                               xReturn = pdFAIL;\r
-                       }\r
-               }\r
-               /* Otherwise, if there is data already in the queue we should add the\r
-               new data to the back of the queue to ensure the sequencing is \r
-               maintained. */\r
-               else if( uxQueueMessagesWaiting( xCharsForTx ) )\r
-               {\r
-                       if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )\r
-                       {\r
-                               xReturn = pdFAIL;\r
-                       }                       \r
-               }\r
-               /* If the UART FIFO is not full and there is no data already in the\r
-               queue we can write directly to the FIFO without disrupting the \r
-               sequence. */\r
-               else\r
-               {\r
-                       XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cOutChar );\r
-               }\r
-       }\r
-       portEXIT_CRITICAL();\r
-\r
-       return xReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vSerialClose( xComPortHandle xPort )\r
-{\r
-       /* Not supported as not required by the demo application. */\r
-       ( void ) xPort;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vSerialISR( XUartLite *pxUART )\r
-{\r
-unsigned long ulISRStatus;\r
-portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE, lDidSomething;\r
-char cChar;\r
-\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pxUART;\r
-\r
-       do\r
-       {\r
-               lDidSomething = pdFALSE;\r
-\r
-               ulISRStatus = XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_STATUS_REG_OFFSET );\r
-\r
-               if( ( ulISRStatus & XUL_SR_RX_FIFO_VALID_DATA ) != 0 )\r
-               {\r
-                       /* A character is available - place it in the queue of received\r
-                       characters.  This might wake a task that was blocked waiting for \r
-                       data. */\r
-                       cChar = ( char ) XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_RX_FIFO_OFFSET );\r
-                       xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );\r
-                       lDidSomething = pdTRUE;\r
-               }\r
-               \r
-               if( ( ulISRStatus & XUL_SR_TX_FIFO_EMPTY ) != 0 )\r
-               {\r
-                       /* There is space in the FIFO - if there are any characters queue for\r
-                       transmission they can be sent to the UART now.  This might unblock a\r
-                       task that was waiting for space to become available on the Tx queue. */\r
-                       if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )\r
-                       {\r
-                               XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cChar );\r
-                               lDidSomething = pdTRUE;\r
-                       }                       \r
-               }\r
-       } while( lDidSomething == pdTRUE );\r
-\r
-       /* If we woke any tasks we may require a context switch. */\r
-       if( xHigherPriorityTaskWoken )\r
-       {\r
-               portYIELD_FROM_ISR();\r
-       }\r
-}\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/ReadMe.txt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/ReadMe.txt
new file mode 100644 (file)
index 0000000..ad84b27
--- /dev/null
@@ -0,0 +1,3 @@
+If you need the demo that used to be in this directory then download FreeRTOS V8.2.3\r
+from http://sourceforge.net/projects/freertos/files/FreeRTOS/\r
+\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_BifShapes.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_BifShapes.xsl
deleted file mode 100644 (file)
index e3f4c3f..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-<!-- ======================= DEF BLOCK =================================== -->
-       
-<xsl:template name="Define_BifTypes">
-       
-       <xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
-               
-               <xsl:call-template name="Define_BifType"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-               <xsl:call-template name="Define_BifBusConnectors"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-       </xsl:for-each>
-       
-<!--   
-       <xsl:message>The color of bus  <xsl:value-of select="@BUSSTD"/> is <xsl:value-of select="@RGB"/></xsl:message>
-       <xsl:message>The OPB Bus color is  <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[@BUSSTD = 'OPB']/@RGB"/> </xsl:message>
--->    
-</xsl:template>        
-       
-
-<xsl:template name="Define_BifType"> 
-       
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-                       
-    <symbol id="{$iBusType}_Bif">
-               <rect x="0"  
-                         y="0" 
-                         rx="3"
-                         ry="3"
-                         width= "{$BIF_W}" 
-                         height="{$BIF_H}" 
-                         style="fill:{$busColor_}; stroke:black; stroke-width:1"/> 
-       </symbol>
-       
-</xsl:template>
-
-<xsl:template name="Define_BifBusConnectors"> 
-       
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="busColor_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bifc_wi_" select="ceiling($BIFC_W div 3)"/>
-       <xsl:variable name="bifc_hi_" select="ceiling($BIFC_H div 3)"/>
-       
-    <symbol id="{$iBusType}_busconn_MASTER">
-               <rect x="0"  
-                         y="0" 
-                         width= "{$BIFC_W}" 
-                         height="{$BIFC_H}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <rect x="{$BIFC_dx + 0.5}"  
-                         y="{$BIFC_dy}" 
-                         width= "{$BIFC_Wi}" 
-                         height="{$BIFC_Hi}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_INITIATOR">
-               <rect x="0"  
-                         y="0" 
-                         width= "{$BIFC_W}" 
-                         height="{$BIFC_H}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <rect x="{$BIFC_dx + 0.5}"  
-                         y="{$BIFC_dy}" 
-                         width= "{$BIFC_Wi}" 
-                         height="{$BIFC_Hi}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_SLAVE">
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_TARGET">
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-       </symbol>
-       
-       
-    <symbol id="{$iBusType}_busconn_MASTER_SLAVE">
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-                         
-               <rect x="0"  
-                         y="{ceiling($BIFC_H div 2)}" 
-                         width= "{$BIFC_W}" 
-                         height="{ceiling($BIFC_H div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <rect x="{$BIFC_dx + 0.5}"  
-                         y="{ceiling($BIFC_H div 2)}" 
-                         width= "{$BIFC_Wi}" 
-                         height="{ceiling($BIFC_Hi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-                         
-       </symbol>
-
-    <symbol id="{$iBusType}_busconn_MONITOR">
-               
-               <rect x="0"  
-                         y="0.5" 
-                         width= "{$BIFC_W}" 
-                         height="{ceiling($BIFC_Hi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-                         
-               <rect x="0"  
-                         y="{ceiling($BIFC_H div 2) + 4}" 
-                         width= "{$BIFC_W}" 
-                         height="{ceiling($BIFC_Hi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-                         
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_TRANSPARENT">
-    
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-               
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_">
-    
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$COL_WHITE}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$COL_WHITE}; stroke:none;"/> 
-               
-       </symbol>
-       
-       
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Colors.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Colors.xsl
deleted file mode 100644 (file)
index a4efce5..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-           
-<xsl:variable name="COL_RED"        select="'#AA0000'"/>
-<xsl:variable name="COL_GRAY"       select="'#E1E1E1'"/>
-<xsl:variable name="COL_BLACK"      select="'#000000'"/>
-<xsl:variable name="COL_WHITE"      select="'#FFFFFF'"/>
-<xsl:variable name="COL_YELLOW"     select="'#FFFFDD'"/>
-<xsl:variable name="COL_YELLOW_LT"  select="'#FFFFEE'"/>                               
-                               
-<xsl:variable name="COL_BG"          select="'#CCCCCC'"/>                              
-<xsl:variable name="COL_BG_LT"       select="'#EEEEEE'"/>                              
-<xsl:variable name="COL_BG_UNK"      select="'#DDDDDD'"/>                              
-       
-<xsl:variable name="COL_PROC_BG"     select="'#FFCCCC'"/>                              
-<xsl:variable name="COL_PROC_BG_MB"  select="'#222222'"/>                              
-<xsl:variable name="COL_PROC_BG_PP"  select="'#90001C'"/>                              
-<xsl:variable name="COL_PROC_BG_USR" select="'#666699'"/>                              
-       
-<xsl:variable name="COL_MPMC_BG"     select="'#8B0800'"/>
-       
-<xsl:variable name="COL_MOD_BG"      select="'#F0F0F0'"/>                              
-<xsl:variable name="COL_MOD_SPRT"    select="'#888888'"/>
-<xsl:variable name="COL_MOD_MPRT"    select="'#888888'"/>
-
-<xsl:variable name="COL_INTR_0"      select="'#FF9900'"/>
-<xsl:variable name="COL_INTR_1"      select="'#00CCCC'"/>
-<xsl:variable name="COL_INTR_2"      select="'#33FF33'"/>
-<xsl:variable name="COL_INTR_3"      select="'#FF00CC'"/>
-<xsl:variable name="COL_INTR_4"      select="'#99FF33'"/>
-<xsl:variable name="COL_INTR_5"      select="'#0066CC'"/>
-<xsl:variable name="COL_INTR_6"      select="'#9933FF'"/>
-<xsl:variable name="COL_INTR_7"      select="'#3300FF'"/>
-<xsl:variable name="COL_INTR_8"      select="'#00FF33'"/>
-<xsl:variable name="COL_INTR_9"      select="'#FF3333'"/>
-
-
-<xsl:variable name="COL_IORING"     select="'#000088'"/>                               
-<xsl:variable name="COL_IORING_LT"  select="'#CCCCFF'"/>                               
-<xsl:variable name="COL_SYSPRT"     select="'#0000BB'"/>                       
-       
-       
-<xsl:variable name="COL_BUSSTDS">
-       
-       <BUSCOLOR BUSSTD="XIL"        RGB="#990066" RGB_LT="#CC3399"/>
-       <BUSCOLOR BUSSTD="OCM"            RGB="#0000DD" RGB_LT="#9999DD"/>
-       <BUSCOLOR BUSSTD="OPB"        RGB="#339900" RGB_LT="#CCDDCC"/>
-       <BUSCOLOR BUSSTD="LMB"        RGB="#7777FF" RGB_LT="#DDDDFF"/>
-       <BUSCOLOR BUSSTD="FSL"        RGB="#CC00CC" RGB_LT="#FFBBFF"/>
-       <BUSCOLOR BUSSTD="DCR"        RGB="#6699FF" RGB_LT="#BBDDFF"/>
-       <BUSCOLOR BUSSTD="FCB"        RGB="#8C00FF" RGB_LT="#CCCCFF"/>
-       <BUSCOLOR BUSSTD="PLB"        RGB="#FF5500" RGB_LT="#FFBB00"/>
-       <BUSCOLOR BUSSTD="PLBV46"     RGB="#BB9955" RGB_LT="#FFFFDD"/>
-       <BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#BB9955" RGB_LT="#FFFFDD"/>
-       
-<!--   
-       <BUSCOLOR BUSSTD="PLBV46"     RGB="#9966FF" RGB_LT="#CCCCFF"/>
-       <BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#9966FF" RGB_LT="#CCCCFF"/>
-       <BUSCOLOR BUSSTD="PLB"        RGB="#FFAA33" RGB_LT="#FFEE33"/>
-       <BUSCOLOR BUSSTD="PLBV46"     RGB="#FF5500" RGB_LT="#FFBB00"/>
-       <BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#FF5500" RGB_LT="#FFBB00"/>
--->    
-       
-       <BUSCOLOR BUSSTD="TRS"         RGB="#009999" RGB_LT="#00CCCC"/>
-       <BUSCOLOR BUSSTD="TRANS"       RGB="#009999" RGB_LT="#00CCCC"/>
-       <BUSCOLOR BUSSTD="TRANSPARENT" RGB="#009999" RGB_LT="#00CCCC"/>
-
-       <BUSCOLOR BUSSTD="TARGET"      RGB="#009999" RGB_LT="#00CCCC"/>
-       <BUSCOLOR BUSSTD="INITIATOR"   RGB="#009999" RGB_LT="#00CCCC"/>
-       
-       <BUSCOLOR BUSSTD="KEY"             RGB="#444444" RGB_LT="#888888"/>
-       
-</xsl:variable>
-       
-<xsl:template name="BusType2Color">
-       <xsl:param name="iBusType"  select="'OPB'"/>
-       
-       <xsl:choose>
-               <xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB">
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'TRS')]/@RGB"/>
-               </xsl:otherwise>
-       </xsl:choose>           
-</xsl:template>        
-       
-       
-<xsl:template name="BusType2LightColor">
-       <xsl:param name="iBusType"  select="'OPB'"/>
-       
-<!--   
-       <xsl:message>The color of bus  <xsl:value-of select="$busType"/> is <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@RGB"/>
--->    
-               
-       <xsl:choose>
-               <xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB_LT">
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB_LT"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'TRS')]/@RGB_LT"/>
-               </xsl:otherwise>
-       </xsl:choose>           
-</xsl:template>        
-               
-
-<xsl:template name="intcIdx2Color">
-       <xsl:param name="iIntcIdx"  select="'0'"/>
-
-       <xsl:variable name="idx_" select="$iIntcIdx mod 9"/>
-       
-       <xsl:choose>
-               <xsl:when test="$idx_ = '0'"><xsl:value-of select="$COL_INTR_0"/></xsl:when>
-               <xsl:when test="$idx_ = '1'"><xsl:value-of select="$COL_INTR_1"/></xsl:when>
-               <xsl:when test="$idx_ = '2'"><xsl:value-of select="$COL_INTR_2"/></xsl:when>
-               <xsl:when test="$idx_ = '3'"><xsl:value-of select="$COL_INTR_3"/></xsl:when>
-               <xsl:when test="$idx_ = '4'"><xsl:value-of select="$COL_INTR_4"/></xsl:when>
-               <xsl:when test="$idx_ = '5'"><xsl:value-of select="$COL_INTR_5"/></xsl:when>
-               <xsl:when test="$idx_ = '6'"><xsl:value-of select="$COL_INTR_6"/></xsl:when>
-               <xsl:when test="$idx_ = '7'"><xsl:value-of select="$COL_INTR_7"/></xsl:when>
-               <xsl:when test="$idx_ = '8'"><xsl:value-of select="$COL_INTR_8"/></xsl:when>
-               <xsl:when test="$idx_ = '9'"><xsl:value-of select="$COL_INTR_9"/></xsl:when>
-               <xsl:otherwise>
-                       <xsl:value-of select="$COL_INTR_0"/>    
-               </xsl:otherwise>
-       </xsl:choose>
-</xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Diagrams.css b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Diagrams.css
deleted file mode 100644 (file)
index bde7995..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-       text.busintlabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpmctitle {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   16pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Verdana Helvetica sans-serif;
-       }
-       
-       text.mpmcbiflabel {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.buslabel {
-               fill:        #CC3333;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-                       
-       text.iplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: 800;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.iptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.procclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-               
-               
-       text.portlabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipdbiflbl {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.mmMHeader {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mmSHeader {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.dbglabel {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.iopnumb {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ioplblgrp {
-               fill:        #000088;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-       tspan.iopgrp {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               baseline-shift:super;
-               font-family: Arial Courier san-serif;
-       }
-
-
-       text.biflabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.p2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.sharedbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.bciplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.bciptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.splitbustxt {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: sans-serif;
-       }
-
-       text.horizp2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.keytitle {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   12pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keyheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keylabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.keylblul {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               text-decoration: underline;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.specsvalue {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsvaluemid {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.intrsymbol {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_BusLaneSpaces.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_BusLaneSpaces.xsl
deleted file mode 100644 (file)
index 90ba612..0000000
+++ /dev/null
@@ -1,2774 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-       
-       
-<!-- 
-                ===========================================================
-                       Handle Bucket connections to the shared busses.
-                ===========================================================
--->            
-       
-<xsl:template name="BCLaneSpace_BucketToSharedBus">    
-       
-       <xsl:param name="iBusStd"           select="'NONE'"/>   
-       <xsl:param name="iBusName"          select="'NONE'"/>   
-       <xsl:param name="iBifRank"          select="'NONE'"/>   
-       <xsl:param name="iStackToEast"      select="'NONE'"/>   
-       <xsl:param name="iStackToWest"      select="'NONE'"/>   
-       <xsl:param name="iStackToEast_W"    select="0"/>        
-       <xsl:param name="iStackToWest_W"    select="0"/>        
-       <xsl:param name="iLaneInSpace_X"    select="0"/>        
-       <xsl:param name="iSpaceSharedBus_Y" select="0"/>        
-       
-<!--   
-       <xsl:message>Stack To East <xsl:value-of select="$iStackToEast"/></xsl:message>
-       <xsl:message>Stack to West <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message>Stack to East Width <xsl:value-of select="$iStackToEast_W"/></xsl:message>
-       <xsl:message>Stack to West Width <xsl:value-of select="$iStackToWest_W"/></xsl:message>
-       <xsl:message>Shared Bus Y <xsl:value-of select="$iSpaceSharedBus_Y"/></xsl:message>
-       <xsl:message>Lane in space X <xsl:value-of select="$iLaneInSpace_X"/></xsl:message>
--->    
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="sbs_idx_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE= $iBusName)]/@BUSINDEX"/>
-       <xsl:variable name="sbs_name_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $sbs_idx_)]/@BUSNAME"/>
-                                       
-       <xsl:variable name="sbs_bc_y_" select="($iSpaceSharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H))"/>
-                                       
-       <xsl:variable name="bktshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $sbs_idx_)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="bktshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $sbs_idx_)]/@SHAPE_VERTI_INDEX"/>
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>
-       
-<!--   
-       <xsl:message>Ext Shape to West <xsl:value-of select="$extSpaceWest_W_"/></xsl:message>
-       <xsl:message>Ext Shape to East <xsl:value-of select="$extSpaceEast_W_"/></xsl:message>
--->    
-       <xsl:variable name="bktshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$bktshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$bktshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                                               
-       <xsl:variable name="sbsStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:if test="($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_)">
-                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                               </xsl:if>       
-                               
-                               <xsl:if test="not($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_)">0</xsl:if>       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="vert_line_x_"   select="($iLaneInSpace_X  +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y1_"  select="($iSpaceSharedBus_Y   + ($sbs_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y2_"  select="($bktshp_Y_ + ceiling($BLKD_MOD_W div 2) + $sbsStack_H_diff_)"/>
-       <xsl:variable name="bcInSpace_X_"   select="($iLaneInSpace_X  +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-       
-       
-<!--   
-       <xsl:message>Shared Bus Y <xsl:value-of select="$G_SharedBus_Y"/></xsl:message>
-       <xsl:message>Vert Bus Y <xsl:value-of select="$vert_line_y1_"/></xsl:message>
-       <xsl:message>vert y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>
-       <xsl:message>vert y2 <xsl:value-of select="$vert_line_y2_"/></xsl:message>
--->    
-       
-       <xsl:variable name="horz_line_y_"   select="$vert_line_y2_"/>
-       <xsl:variable name="horz_line_x1_"  select="$vert_line_x_"/>
-       <xsl:variable name="horz_line_x2_"  select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_)"/>
-       
-       <xsl:variable name="v_bus_ul_x_"   select="$vert_line_x_"/>
-       <xsl:variable name="v_bus_ul_y_"   select="$vert_line_y1_"/>
-       <xsl:variable name="v_bus_width_"  select="$BLKD_P2P_BUS_W"/>
-               
-       <xsl:variable name="v_bus_height_" select="(($vert_line_y2_ - $vert_line_y1_) - ceiling($BLKD_BIFC_H div 2))"/>
-       
-       <xsl:variable name="h_bus_ul_x_"   select="$v_bus_ul_x_"/>
-       <xsl:variable name="h_bus_ul_y_"   select="$vert_line_y2_   - $BLKD_BIFC_H + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-       <xsl:variable name="h_bus_width_"  select="ceiling($space_W_ div 2) + $extSpaceEast_W_"/>
-       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-       
-<!--   
-       <xsl:variable name="h_bus_width_"  select="($space_W_ + ceiling(($extSpaceWest_W_ + $extSpaceEast_W_) div 2) - $BLKD_BIFC_W)"/>
-       <xsl:message>v bus x <xsl:value-of select="$v_bus_ul_x_"/></xsl:message>
-       <xsl:message>v bus y <xsl:value-of select="$v_bus_ul_y_"/></xsl:message>
-       <xsl:message>v bus w <xsl:value-of select="$v_bus_width_"/></xsl:message>
-       <xsl:message>v bus y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>
-       <xsl:message>v bus y2 <xsl:value-of select="$vert_line_y2_"/></xsl:message>
-       <xsl:message>v bus h <xsl:value-of select="$v_bus_height_"/></xsl:message>
-       <xsl:message>h bus w <xsl:value-of select="$h_bus_width_"/></xsl:message>
--->    
-       
-       
-       <!-- Draw rectangular parts of the bus -->
-       <rect x="{$v_bus_ul_x_}" 
-                 y="{$v_bus_ul_y_ - 2}"  
-                 width= "{$v_bus_width_}" 
-                 height="{$v_bus_height_}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-       
-       <rect x="{$h_bus_ul_x_}" 
-                 y="{$h_bus_ul_y_ - 5}"  
-                 width= "{$h_bus_width_}" 
-                 height="{$h_bus_height_}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-<!--   
--->
-               
-</xsl:template>                                        
-       
-<!--
-                ===========================================================
-                       Handle Processor's Shared bus connections.
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_ProcBifToSharedBus">   
-       
-       <xsl:param name="iBusStd"           select="'NONE'"/>   
-       <xsl:param name="iBusName"          select="'NONE'"/>   
-       <xsl:param name="iBifRank"          select="'NONE'"/>   
-       <xsl:param name="iStackToEast"      select="'NONE'"/>   
-       <xsl:param name="iStackToWest"      select="'NONE'"/>   
-       <xsl:param name="iStackToEast_W"    select="0"/>        
-       <xsl:param name="iStackToWest_W"    select="0"/>        
-       <xsl:param name="iLaneInSpace_X"    select="0"/>        
-       <xsl:param name="iSpaceSharedBus_Y" select="0"/>        
-       
-<!--                                           
-       <xsl:message>Proc diff  <xsl:value-of select="$procStack_H_diff_"/></xsl:message>
-       <xsl:message>Proc inst  <xsl:value-of select="$procInst_"/></xsl:message>
-       <xsl:message>Proc Bif Name <xsl:value-of select="$procBifName_"/></xsl:message>
-       <xsl:message>Proc Bif Rank <xsl:value-of select="$procBifRank_"/></xsl:message>
--->
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="sbs_idx_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE= $iBusName)]/@BUSINDEX"/>
-       <xsl:variable name="sbs_bc_y_" select="($iSpaceSharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H))"/>
-       <xsl:variable name="procInst_" select="BUSCONN/@INSTANCE"/>
-       
-       
-<!--   
-       <xsl:message>Shared Bus Idx <xsl:value-of select="$sbs_idx_"/></xsl:message>
-       <xsl:message>Proc inst  <xsl:value-of select="$procInst_"/></xsl:message>
--->                                            
-       
-       <xsl:variable name="procBif_Y_"    select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * BUSCONN/@BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-       <xsl:variable name="procBifName_"  select="BUSCONN/@BUSINTERFACE"/>
-       <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInst_)]/BUSINTERFACE[(@NAME = $procBifName_)]/@BIF_X"/>
-       <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInst_)]/BUSINTERFACE[(@NAME = $procBifName_)]/@BIFRANK"/>
-                                               
-       <xsl:variable name="procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInst_)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInst_)]/@SHAPE_VERTI_INDEX"/>
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>
-       
-                                               
-<!--                                           
-       <xsl:message>Stack horiz  <xsl:value-of select="$procshp_hori_idx_"/></xsl:message>
-       <xsl:message>Stack verti  <xsl:value-of select="$procshp_vert_idx_"/></xsl:message>
-       <xsl:message>Proc Bif Y   <xsl:value-of select="$procBif_Y_"/></xsl:message>
--->                                            
-                                               
-       <xsl:variable name="procshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$procshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$procshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                                               
-       
-       <xsl:variable name="procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($procshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($procshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="bc_Y_"  select="($procshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) + $procStack_H_diff_) - ceiling($BLKD_BIFC_H div 2)"/>
-<!--   
-       <xsl:variable name="bc_x_"  select="($laneInSpace_X +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="bc_x_"  select="0"/>
--->    
-       <xsl:variable name="bc_X_">
-               <xsl:choose>
-                       <xsl:when test="$procBifSide_ = '0'">
-                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-<!--                           
-                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($BLKD_MOD_W div 2))"/>
-                               <xsl:value-of select="($space_W_ -  ceiling($BLKD_MOD_W div 2))"/>
--->                            
-                       </xsl:when>
-                       <xsl:when test="$procBifSide_ = '1'">
-                               <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       <!-- Place the bus connection -->
-       <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{$iBusStd}_busconn_{$procBifRank_}"/>
-                                               
-       
-       <xsl:variable name="vert_line_x_"   select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y1_"  select="($procshp_Y_ + $procBif_Y_ + ceiling($BLKD_BIF_H div 2) + $procStack_H_diff_)"/>
-       <xsl:variable name="vert_line_y2_"  select="($iSpaceSharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_BIFC_W div 2))"/>
-       
-<!--   
-       <xsl:message>Vert line Y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>
-       <xsl:message>Vert line Y2 <xsl:value-of select="$vert_line_y2_"/></xsl:message>
--->            
-       
-       <xsl:variable name="v_bus_ul_y_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="$vert_line_y2_"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="$vert_line_y1_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="v_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($vert_line_x_ + $BLKD_MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="($vert_line_x_ - $BLKD_MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-               
-       <xsl:variable name="v_bus_width_" select="$BLKD_P2P_BUS_W"/>
-       <xsl:variable name="v_bus_height_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_) - $BLKD_P2P_BUS_W"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="($vert_line_y2_ - $vert_line_y1_) - $BLKD_P2P_BUS_W"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="h_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($bc_X_ + $BLKD_BIFC_W - ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2))"/>
-<!--                           
-                               <xsl:value-of select="$v_bus_ul_x_"/>
--->    
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="$v_bus_ul_x_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_y_">
-                       <xsl:choose>
-                               <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                                       <xsl:value-of select="$vert_line_y2_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               </xsl:when>
-                               <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                                       <xsl:value-of select="$vert_line_y1_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-       
-       
-               <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-               <xsl:variable name="h_bus_width_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="$v_bus_ul_x_ - $h_bus_ul_x_ + $BLKD_P2P_BUS_W"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($bc_X_ - $v_bus_ul_x_) + ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2) + 1"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-                       
-<!--                   
-               <xsl:if test="(@ORIENTED = 'WEST')">
-               </xsl:if>
-                       
-               <xsl:message>bc_X_  <xsl:value-of select="$bc_X_"/></xsl:message>
-               <xsl:message>v_bus_ul_x  <xsl:value-of select="$v_bus_ul_x_"/></xsl:message>
-               <xsl:message>h_bus_width <xsl:value-of select="$h_bus_width_"/></xsl:message>
-               <xsl:message>h_bus_ul_y  <xsl:value-of select="$h_bus_ul_y_"/></xsl:message>
--->    
-                       
-               <rect x="{$v_bus_ul_x_}" 
-                         y="{$v_bus_ul_y_ + 2}"  
-                         width= "{$v_bus_width_}" 
-                         height="{$v_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-               
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-               
-<!--                                           
-               <xsl:message>Proc diff  <xsl:value-of select="$procStack_H_diff_"/></xsl:message>
-               <xsl:message>Proc inst  <xsl:value-of select="$procInst_"/></xsl:message>
-               <xsl:message>Proc Bif Name <xsl:value-of select="$procBifName_"/></xsl:message>
-               <xsl:message>Proc Bif Rank <xsl:value-of select="$procBifRank_"/></xsl:message>
--->
-       
-</xsl:template>                                        
-       
-                                       
-<!--
-                ===========================================================
-                       Handle non Processor Sharedebus connections.
-                ===========================================================
--->
-                               
-<xsl:template name="BCLaneSpace_NonProcBifToSharedBus">        
-       
-       <xsl:param name="iBusStd"           select="'NONE'"/>   
-       <xsl:param name="iBusName"          select="'NONE'"/>   
-       <xsl:param name="iBifRank"          select="'NONE'"/>   
-       <xsl:param name="iStackToEast"      select="'NONE'"/>   
-       <xsl:param name="iStackToWest"      select="'NONE'"/>   
-       <xsl:param name="iStackToEast_W"    select="0"/>        
-       <xsl:param name="iStackToWest_W"    select="0"/>        
-       <xsl:param name="iLaneInSpace_X"    select="0"/>        
-       <xsl:param name="iSpaceSharedBus_Y" select="0"/>        
-       
-                                               
-       <xsl:variable name="sbs_idx_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE= $iBusName)]/@BUSINDEX"/>
-       <xsl:variable name="sbs_bc_y_" select="($iSpaceSharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H))"/>
-<!--   
-       <xsl:variable name="sbs_bc_y_" select="($G_SharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H))"/>
--->    
-                                               
-       <xsl:variable name="cmplxInst_" select="BUSCONN/@INSTANCE"/>
-                                               
-       <xsl:variable name="cmplxBif_Y_"    select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * BUSCONN/@BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-       <xsl:variable name="cmplxBifName_"  select="BUSCONN/@BUSINTERFACE"/>
-       <xsl:variable name="cmplxBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $cmplxInst_)]/BUSINTERFACE[(@NAME = $cmplxBifName_)]/@BIF_X"/>
-       <xsl:variable name="cmplxBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $cmplxInst_)]/BUSINTERFACE[(@NAME = $cmplxBifName_)]/@BIFRANK"/>
-                                               
-       <xsl:variable name="cmplxshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $cmplxInst_)])]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="cmplxshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $cmplxInst_)])]/@SHAPE_VERTI_INDEX"/>
-                                               
-       <xsl:variable name="is_abvSbs_" select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $cmplxInst_)]]/@IS_ABVSBS)"/>
-       <xsl:variable name="is_blwSbs_" select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $cmplxInst_)]]/@IS_BLWSBS)"/>
-       
-       
-<!--                                           
-       <xsl:message>iStackToEast <xsl:value-of select="$iStackToEast"/></xsl:message>
-       <xsl:message>iStackToWest <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_blwSbs_"/></xsl:message>
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_abvSbs_"/></xsl:message>
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_blwSbs_"/></xsl:message>
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_abvSbs_"/></xsl:message>
-       <xsl:message>Stack horiz  <xsl:value-of select="$cmplxshp_hori_idx_"/></xsl:message>
-       <xsl:message>Stack verti  <xsl:value-of select="$cmplxshp_vert_idx_"/></xsl:message>
-       <xsl:message>Proc Bif Y   <xsl:value-of select="$procBif_Y_"/></xsl:message>
--->                                            
-       
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                         
-       
-       <xsl:variable name="cmplxshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$cmplxshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$cmplxshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Complex shape Y <xsl:value-of select="$cmplxshp_Y_"/></xsl:message>
--->    
-       
-       <xsl:variable name="stackToEast_">
-               <xsl:choose>
-                       <xsl:when test="not($iStackToEast = 'NONE')"><xsl:value-of select="$iStackToEast"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="stackToWest_">
-               <xsl:choose>
-                       <xsl:when test=" not($iStackToWest = 'NONE')"><xsl:value-of select="$iStackToWest"/></xsl:when>
-                       <xsl:when test="(not($iStackToEast = 'NONE') and not($iStackToEast = '0'))"><xsl:value-of select="($iStackToEast - 1)"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-                                               
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($stackToEast_ = 'NONE') or ($stackToWest_ = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($stackToEast_ = 'NONE') or ($stackToWest_ = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$stackToWest_"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$stackToEast_"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($cmplxshp_hori_idx_ = $stackToEast_) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($cmplxshp_hori_idx_ = $stackToWest_) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       
-       <xsl:variable name="bc_Y_"  select="($cmplxshp_Y_ + $cmplxBif_Y_ + ceiling($BIF_H div 2) + $cmplxStack_H_diff_) - ceiling($BLKD_BIFC_H div 2)"/>
-       
-       
-<!--   
-       <xsl:message>Sstack H Diff  <xsl:value-of select="$cmplxStack_H_diff_"/></xsl:message>
-       <xsl:message>BC Y <xsl:value-of select="$bc_Y_"/></xsl:message>
-       <xsl:variable name="bc_x_"  select="($laneInSpace_X +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="bc_x_"  select="0"/>
--->    
-       <xsl:variable name="bc_X_">
-               <xsl:choose>
-                       <xsl:when test="$cmplxBifSide_ = '0'">
-                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                       </xsl:when>
-                       <xsl:when test="$cmplxBifSide_ = '1'">
-                               <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{$iBusStd}_busconn_{$cmplxBifRank_}"/>
-       
-<!--   
-       <xsl:message>Bif Rank <xsl:value-of select="$cmplxBifRank_"/></xsl:message>
--->    
-       <xsl:variable name="vert_line_x_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y1_" select="($cmplxshp_Y_ + $cmplxBif_Y_ + ceiling($BLKD_BIF_H div 2) + $cmplxStack_H_diff_)"/>
-       <xsl:variable name="vert_line_y2_"  select="($iSpaceSharedBus_Y  + ($sbs_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_BIFC_W div 2))"/>
-<!--   
-       <xsl:variable name="vert_line_y2_"  select="($G_SharedBus_Y  + ($sbs_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_BIFC_W div 2))"/>
--->    
-       
-       <xsl:variable name="v_bus_ul_y_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="$vert_line_y2_"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="$vert_line_y1_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="v_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($vert_line_x_ + $BLKD_MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="($vert_line_x_ - $BLKD_MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="v_bus_width_" select="$BLKD_P2P_BUS_W"/>
-       <xsl:variable name="v_bus_height_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_) - $BLKD_P2P_BUS_W + 8"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="($vert_line_y2_ - $vert_line_y1_) - $BLKD_P2P_BUS_W + 8"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="h_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($bc_X_ + $BLKD_BIFC_W - ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2))"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="$v_bus_ul_x_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="h_bus_ul_y_">
-               <xsl:choose>
-                       
-                       <xsl:when test="($is_blwSbs_ = 'TRUE') and ($vert_line_y1_ &gt; $vert_line_y2_)">
-                               <xsl:value-of select="$vert_line_y1_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       <xsl:when test="($is_blwSbs_ = 'TRUE') and ($vert_line_y2_ &gt; $vert_line_y1_)">
-                               <xsl:value-of select="$vert_line_y2_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       
-                       <xsl:when test="($is_abvSbs_ = 'TRUE') and ($vert_line_y1_ &gt; $vert_line_y2_)">
-                               <xsl:value-of select="$vert_line_y2_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       <xsl:when test="($is_abvSbs_ = 'TRUE') and ($vert_line_y2_ &gt; $vert_line_y1_)">
-                               <xsl:value-of select="$vert_line_y1_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       
-               </xsl:choose>
-       </xsl:variable> 
-       
-       
-       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-       <xsl:variable name="h_bus_width_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="$v_bus_ul_x_ - $h_bus_ul_x_ + $BLKD_P2P_BUS_W"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="($bc_X_ - $v_bus_ul_x_) + ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2) + 1"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-       
-                       
-       <rect x="{$v_bus_ul_x_}" 
-                 y="{$v_bus_ul_y_ - 2}"  
-                 width= "{$v_bus_width_}" 
-                 height="{$v_bus_height_}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-               
-       <rect x="{$h_bus_ul_x_}" 
-                 y="{$h_bus_ul_y_}"  
-                 width= "{$h_bus_width_}" 
-                 height="{$h_bus_height_}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-               
-</xsl:template>                                        
-       
-<!-- 
-                ===========================================================
-                       Handle connections from processors to Memory UNITs
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_ProcBifToMemoryUnit">  
-       
-       <xsl:param name="iBusStd"        select="'NONE'"/>      
-       <xsl:param name="iBusName"       select="'NONE'"/>      
-       <xsl:param name="iBifRank"       select="'NONE'"/>      
-       <xsl:param name="iStackToEast"   select="'NONE'"/>      
-       <xsl:param name="iStackToWest"   select="'NONE'"/>      
-       <xsl:param name="iStackToEast_W" select="0"/>   
-       <xsl:param name="iStackToWest_W" select="0"/>   
-       <xsl:param name="iLaneInSpace_X" select="0"/>   
-       
-                                               
-<!--   
-       <xsl:message>Stack To East <xsl:value-of select="$iStackToEast"/></xsl:message>
-       <xsl:message>Stack to West <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message>Stack to East Width <xsl:value-of select="$iStackToEast_W"/></xsl:message>
-       <xsl:message>Stack to West Width <xsl:value-of select="$iStackToWest_W"/></xsl:message>
-       <xsl:message>Shared Bus Y <xsl:value-of select="$iSpaceSharedBus_Y"/></xsl:message>
-       <xsl:message>Lane in space X <xsl:value-of select="$iLaneInSpace_X"/></xsl:message>
-       <xsl:variable name="bcInSpace_X_"  select="($laneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-       
--->    
-       
-       
-       <xsl:variable name="bcInSpace_X_"  select="$iLaneInSpace_X"/>
-       <xsl:variable name="procInstance_" select="BUSCONN[@IS_PROCCONN]/@INSTANCE"/>
-       <xsl:variable name="mem_procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="mem_procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>
-                                               
-       <xsl:variable name="mem_procshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$mem_procshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$mem_procshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-       
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($mem_procshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($mem_procshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       <xsl:variable name="mem_procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-       
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                       <xsl:choose>
-                               <xsl:when test="(($mem_procshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                               </xsl:when>     
-                               <xsl:when test="(($mem_procshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                               </xsl:when>     
-                               <xsl:otherwise>0</xsl:otherwise>        
-                       </xsl:choose>   
-                                                                       
-               </xsl:when>
-       </xsl:choose>
-  </xsl:variable>
-                                               
-       <!-- Store the conns in a variable -->  
-       <xsl:variable name="memConn_heights_">
-
-               <xsl:for-each select="BUSCONN">
-                                                               
-                       <xsl:variable name="bifName_"       select="@BUSINTERFACE"/>
-                       
-                                                       
-                       <xsl:choose>
-                               <xsl:when test="@IS_PROCCONN and @BIF_Y">
-                                                       
-                                       <xsl:variable name="procBif_Y_"    select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                       <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                       <xsl:variable name="bcProc_Y_"     select="($mem_procshp_Y_ + $procBif_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $mem_procStack_H_diff_)"/>
-                                       <xsl:variable name="bcProc_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$procBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$procBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>0</xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       <MEMCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME="{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                                                                               
-                               </xsl:when>
-                                                                       
-                               <xsl:otherwise>
-                                                                       
-                                       <xsl:variable name="memcInstance_"  select="@INSTANCE"/>
-                                       <xsl:variable name="memcshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@SHAPE_VERTI_INDEX"/>
-                                       <xsl:variable name="memcBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                       <xsl:variable name="memcBif_Y_"    select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                                                               
-                                       <xsl:variable name="memshp_Y_">
-                                               <xsl:call-template name="_calc_Stack_Shape_Y">
-                                                       <xsl:with-param name="iHorizIdx"  select="$mem_procshp_hori_idx_"/>
-                                                       <xsl:with-param name="iVertiIdx"  select="$memcshp_vert_idx_"/>
-                                               </xsl:call-template>
-                                   </xsl:variable>
-                                       
-                                       <xsl:variable name="memcMOD_W_" select="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@MODS_W) * $BLKD_MOD_W)"/>
-                                                                               
-                                       <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                       
-                                       <xsl:variable name="memcConn_Y_">
-                                               <xsl:choose>
-                                                       <xsl:when test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@MODS_H = 1)">
-                                                               <xsl:value-of  select="($memshp_Y_ + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V) +  ($memcBif_Y_ * ($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V)) + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>
-                                                               <xsl:value-of  select="($memshp_Y_ + $BLKD_MOD_H + $BLKD_MOD_LANE_H + ($memcBif_Y_ * ($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V)) + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                                       </xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                       
-                                       <xsl:variable name="memcConn_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$memcBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($memcMOD_W_ div 2) + $BLKD_BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$memcBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($memcMOD_W_ div 2)"/>
-                                                       </xsl:when>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       <xsl:variable name="memcBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="memcBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       
-                                       <MEMCONN X="{$memcConn_X_}" Y="{$memcConn_Y_}" BUSNAME="{$memcBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$memcBifRank_}" BIFSIDE="{$memcBifSide_}"/>
-<!--                                   
--->                                    
-                                       
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:for-each>
-       </xsl:variable>
-                                               
-                                               
-       <!-- Draw the busconnection and horizontal lines.-->                                            
-       <xsl:for-each select="exsl:node-set($memConn_heights_)/MEMCONN">
-                                                       
-               <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-               <xsl:variable name="bus_y_" select="@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               
-               <xsl:variable name="h_bus_ul_x_">
-                       <xsl:choose>
-                               <xsl:when test="@BIFSIDE='0'">
-                                       <xsl:value-of select="$bus_x_"/>
-                               </xsl:when>
-                               <xsl:when test="@BIFSIDE='1'">
-                                       <xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-               <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-               <xsl:variable name="h_bus_width_">
-                       <xsl:choose>
-                               <xsl:when test="@BIFSIDE='0'">
-                                       <xsl:value-of select="(@X - $bus_x_ - $BLKD_BUS_ARROW_W)"/>
-                               </xsl:when>
-                               <xsl:when test="@BIFSIDE='1'">
-                                       <xsl:value-of select="$bus_x_ - $h_bus_ul_x_"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-<!--           
-               <xsl:message>bc_X_       <xsl:value-of select="@X"/></xsl:message>
-               <xsl:message>h_bus_ul_x  <xsl:value-of select="$h_bus_ul_x_"/></xsl:message>
-               <xsl:message>h_bus_ul_y  <xsl:value-of select="$h_bus_ul_y_"/></xsl:message>
-               <xsl:message>h_bus_width <xsl:value-of select="$h_bus_width_"/></xsl:message>
--->            
-               
-               <!-- Place the bus connection -->
-               <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               
-               <!-- Draw the arrow -->
-               <xsl:choose>
-                       <xsl:when test="@BIFSIDE='0'">
-                               <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                       </xsl:when>
-                       <xsl:when test="@BIFSIDE='1'">
-                               <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                       </xsl:when>
-               </xsl:choose>
-               
-               
-               <!-- Draw the horizontal part of the bus -->
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-<!--           
--->    
-               
-       </xsl:for-each>
-                                               
-       <xsl:variable name="busTop_"  select="math:min(exsl:node-set($memConn_heights_)/MEMCONN/@Y)"/>
-       <xsl:variable name="busBot_"  select="math:max(exsl:node-set($memConn_heights_)/MEMCONN/@Y)"/>
-       <xsl:variable name="busName_" select="exsl:node-set($memConn_heights_)/MEMCONN/@BUSNAME"/>
-       
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-       
-       
-       <!-- Draw the vertical part of the bus -->      
-       <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$BLKD_P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-<!--   
--->    
-       <!-- Place the bus label.-->    
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
-       
-                                               
-</xsl:template>                                        
-       
-       
-<!-- 
-                ===========================================================
-                       Handle generic Point to Point connections
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_PointToPoint"> 
-       
-       <xsl:param name="iBusStd"        select="'NONE'"/>      
-       <xsl:param name="iBusName"       select="'NONE'"/>      
-       <xsl:param name="iBifRank"       select="'NONE'"/>      
-       <xsl:param name="iStackToEast"   select="'NONE'"/>      
-       <xsl:param name="iStackToWest"   select="'NONE'"/>      
-       <xsl:param name="iStackToEast_W" select="0"/>   
-       <xsl:param name="iStackToWest_W" select="0"/>   
-       <xsl:param name="iLaneInSpace_X" select="0"/>   
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="busColor_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-       
-       <xsl:variable name="bcInSpace_X_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-       <xsl:variable name="p2pInstance_" select="BUSCONN[(@BIF_Y)]/@INSTANCE"/>
-                                       
-       <xsl:variable name="p2pshp_hori_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@STACK_HORIZ_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@STACK_HORIZ_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-       <xsl:variable name="p2pshp_vert_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-<!--                                   
-                                       <xsl:variable name="p2pshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>
-                                       <xsl:variable name="p2pshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>
--->                                    
-                                               
-       <xsl:variable name="p2pshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$p2pshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                       
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-                                                                                                                                                               
-       <xsl:variable name="procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                       
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       
-       
-       <!-- Store the conns in a variable -->  
-       <xsl:variable name="p2pConn_heights_">
-       
-               <xsl:for-each select="BUSCONN">
-                                                                       
-                       <xsl:variable name="bifName_" select="@BUSINTERFACE"/>
-                                                       
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCCONN and @BIF_Y">
-                                                                               
-<!--                                                                           
-                                                                               <xsl:message>Proc <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                               <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                               
-                                               <xsl:variable name="bcProc_Y_"     select="($p2pshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $procStack_H_diff_)"/>
-                                               <xsl:variable name="bcProc_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$procBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$procBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-                                               <P2PCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME= "{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                                                                               
-<!--                                           
-                                               <xsl:message>bcProc_X_ <xsl:value-of select="$bcProc_X_"/></xsl:message>
-                                               <xsl:message>bcProc_Y_ <xsl:value-of select="$bcProc_Y_"/></xsl:message>
-                                               <P2PCONN X="{$bcInSpace_X_}" Y="{$bcProc_Y_}" BUSSTD="{$busStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}" STACK_ID=""/>
--->                                            
-                                       </xsl:when>
-                                                                       
-                                       <xsl:otherwise>
-                                                                               
-                                               <xsl:variable name="modInstance_"     select="@INSTANCE"/>
-                                               <xsl:variable name="modshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $modInstance_)]]/@SHAPE_VERTI_INDEX"/>
-                                               <xsl:variable name="modBifSide_"      select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                               <xsl:variable name="modBif_Y_"        select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                               <xsl:variable name="modBc_Y_"         select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $modBif_Y_) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                                               
-<!--                                                                           
-                                               <xsl:message>Memory Instance <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               
-                                               <xsl:variable name="modshp_Y_">
-                                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                                               <xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>
-                                                               <xsl:with-param name="iVertiIdx"  select="$modshp_vert_idx_"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                                                                               
-                                               <xsl:variable name="modBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="modBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="bcMod_Y_"     select="($modshp_Y_ + $modBc_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                               <xsl:variable name="bcMod_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$modBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$modBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-<!--                                                                           
-                                               <xsl:message>Bc Bif Y <xsl:value-of select="$modBif_Y_"/></xsl:message> 
-                                               <xsl:message>Bc Mod Y <xsl:value-of select="$modBc_Y_"/></xsl:message>  
-                                               <xsl:message>Bc Mod X <xsl:value-of select="$bcMod_X_"/></xsl:message>  
-                                               <P2PCONN X="{$bcInSpace_X_}" Y="{$bcMod_Y_}" BUSSTD="{$busStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
--->                                                                            
-                                               <P2PCONN X="{$bcMod_X_}" Y="{$bcMod_Y_}" BUSNAME="{$modBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
-                                               
-                                       </xsl:otherwise>
-                                                                       
-                               </xsl:choose>
-                       </xsl:for-each>
-               </xsl:variable>
-       
-       
-       <xsl:variable name="busTop_"  select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="busBot_"  select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-       <xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>
-       <xsl:variable name="busStd_"  select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSSTD"/>
-<!--   
--->    
-       <!-- Draw the vertical part of the bus -->      
-       
-       <xsl:if test="$busStd_ = 'PLBV46_P2P'">
-       <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$BLKD_P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 
-                 style="stroke:{$COL_WHITE};stroke-width:1.5;fill:{$busColor_}"/>
-       </xsl:if>
-       
-       <xsl:if test="not($busStd_ = 'PLBV46_P2P')">
-       <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$BLKD_P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 
-                 style="stroke:none;fill:{$busColor_}"/>
-       </xsl:if>
-       
-<!--   
--->    
-       
-<!--   
-                 style="stroke:{$busColor_lt_};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$busColor_}"/>
--->    
-       <!-- Place the bus label.-->    
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
-                                               
-               <!-- Draw the busconnection and horizontal lines.-->                                            
-               <xsl:for-each select="exsl:node-set($p2pConn_heights_)/P2PCONN">
-                                                       
-                       <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-                       <xsl:variable name="bus_y_" select="@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               
-                       <xsl:variable name="h_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="$bus_x_"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W) - 1"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable> 
-               
-                       <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-                       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-                       <xsl:variable name="h_bus_width_">
-<!--                           
-                               <xsl:message>BIFSIDE <xsl:value-of select="@BIFSIDE"/></xsl:message>
-                               <xsl:message>BUSSTD  <xsl:value-of select="@BUSSTD"/></xsl:message>
-                               <xsl:message>BIFRANK <xsl:value-of select="@BIFRANK"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="(@X - $bus_x_ - $BLKD_BUS_ARROW_W)"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="$bus_x_ - $h_bus_ul_x_ + 1"/>
-                                       </xsl:when>
-                                       
-                               </xsl:choose>
-                       </xsl:variable> 
-                       
-                       <!-- Draw Bus connection-->
-                       <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-                       
-                       <!-- Draw the arrow -->
-                       <xsl:choose>
-                               <xsl:when test="((@BIFSIDE='0') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                               </xsl:when>
-                               <xsl:when test="((@BIFSIDE='1') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='0') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='1') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                                       
-                       </xsl:choose>
-               
-                       <!-- Draw the horizontal part of the bus -->
-                       <rect x="{$h_bus_ul_x_}" 
-                                 y="{$h_bus_ul_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$h_bus_height_}" 
-                             style="stroke:none; fill:{$busColor_}"/>
-               
-       </xsl:for-each>
-                                               
-<!--   
-       <xsl:variable name="busTop_" select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="busBot_" select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-       <xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>
--->    
-       <!-- Draw the vertical part of the bus -->      
-<!--   
-       <rect x="{$bcInSpace_X_ + $P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $P2P_BUS_W}" 
-                 style="stroke:{$COL_WHITE};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$busColor_}"/>
--->    
-       
-<!--   
-                 style="stroke:{$busColor_lt_};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$busColor_}"/>
--->    
-       <!-- Place the bus label.-->    
-<!--   
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
--->    
-       
-                                               
-</xsl:template>        
-       
-       
-                                       
-<!-- 
-                ===========================================================
-                       Handle MultiStack Point to Point connections
-                ===========================================================
--->
-                                       
-<xsl:template name="BCLaneSpace_MultiStack_PointToPoint">      
-       
-       <xsl:param name="iBusStd"          select="'NONE'"/>    
-       <xsl:param name="iBusName"         select="'NONE'"/>    
-       <xsl:param name="iBifRank"         select="'NONE'"/>    
-       <xsl:param name="iStackToEast"     select="'NONE'"/>    
-       <xsl:param name="iStackToWest"     select="'NONE'"/>    
-       <xsl:param name="iStackToEast_W"   select="0"/> 
-       <xsl:param name="iStackToWest_W"   select="0"/> 
-       <xsl:param name="iLaneInSpace_X"   select="0"/> 
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-       
-       <!-- Store the connections in a variable -->
-       <xsl:variable name="bcInSpace_X_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-                                       
-       <xsl:variable name="multiConns_">
-                                               
-               <xsl:for-each select="BUSCONN">
-                                                       
-                       <xsl:variable name="bifName_"      select="@BUSINTERFACE"/>
-                       <xsl:variable name="multiInstance_" select="@INSTANCE"/>
-                       <xsl:variable name="mulshp_hori_idx_">
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCCONN">
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $multiInstance_)]/@STACK_HORIZ_INDEX"/>
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $multiInstance_)])]/@STACK_HORIZ_INDEX"/>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable> 
-                                                       
-                       <xsl:variable name="mulshp_vert_idx_">
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCCONN">
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $multiInstance_)]/@SHAPE_VERTI_INDEX"/>
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $multiInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable> 
-                               
-<!--                                                   
-                       <xsl:message>Shape Horiz <xsl:value-of select="$mulshp_hori_idx_"/></xsl:message>
-                       <xsl:message>Shape Verti <xsl:value-of select="$mulshp_vert_idx_"/></xsl:message>
--->    
-                                                       
-                       <xsl:variable name="mulshp_Y_">
-                               <xsl:call-template name="_calc_Stack_Shape_Y">
-                                       <xsl:with-param name="iHorizIdx"  select="$mulshp_hori_idx_"/>
-                                       <xsl:with-param name="iVertiIdx"  select="$mulshp_vert_idx_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                                               
-                       <xsl:variable name="cmplxStack_H_diff_">
-                               <xsl:choose>
-                                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                                               
-                                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                       
-                                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                               <xsl:choose>
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:otherwise>0</xsl:otherwise>        
-                                               </xsl:choose>   
-                                                                       
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>
-                                               
-                                                                                                                                                               
-                       <xsl:variable name="procStack_H_diff_">
-                               <xsl:choose>
-                                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                       
-                                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                               
-                                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                               <xsl:choose>
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:otherwise>0</xsl:otherwise>        
-                                               </xsl:choose>   
-                                                                       
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>
-                                                       
-                       <xsl:choose>
-                                                       
-                               <xsl:when test="@IS_PROCCONN and @BIF_Y">
-                                                                               
-                                       <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                                               
-                                       <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                               
-                                       <xsl:variable name="bcProc_Y_"     select="($mulshp_Y_ + $procBif_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $procStack_H_diff_)"/>
-                                       
-                                       <xsl:variable name="bcProc_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$procBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$procBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>0</xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       <MULTICONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME="{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                               </xsl:when>
-                                                                       
-                               <xsl:otherwise>
-                                                                                       
-                                       <xsl:variable name="modType_"     select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/@MODCLASS"/>
-                                       <xsl:variable name="modBif_Y_"    select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                       <xsl:variable name="modBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                       <xsl:variable name="modBusStd_"   select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSSTD"/>
-                                       <xsl:variable name="memcMOD_W_"   select="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $multiInstance_)]]/@MODS_W) * $BLKD_MOD_W)"/>
-                                                               
-                                       <xsl:variable name="modBc_Y_">
-                                               <xsl:choose>
-                                                       <xsl:when test="($modType_ = 'MEMORY_CNTLR') and (($modBusStd_ = 'LMB') or ($modBusStd_= 'OCM'))">
-                                                       <xsl:value-of select="$BLKD_MOD_H + $BLKD_MOD_LANE_H + ((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $modBif_Y_))"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>
-                                                       <xsl:value-of select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $modBif_Y_) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                       </xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>   
-<!--                                   
-                                       <xsl:message><xsl:value-of select="$multiInstance_"/>.<xsl:value-of select="$bifName_"/>:Y = <xsl:value-of select="$modBif_Y_"/></xsl:message>
-                                       <xsl:message><xsl:value-of select="$multiInstance_"/>.<xsl:value-of select="$bifName_"/>:BcY = <xsl:value-of select="$modBc_Y_"/></xsl:message>
-                                       <xsl:message><xsl:value-of select="$multiInstance_"/>.<xsl:value-of select="$bifName_"/>:TcY = <xsl:value-of select="($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V)"/></xsl:message>
--->    
-                                       
-                                       <xsl:variable name="modBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="modBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       
-<!--                                   
-                                       <xsl:variable name="bcMod_Y_"     select="($mulshp_Y_ + $modBc_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2))"/>
--->                                    
-                                       <xsl:variable name="bcMod_Y_"     select="($mulshp_Y_ + $modBc_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                       
-                                       <xsl:variable name="bcMod_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$modBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($memcMOD_W_ div 2) + $BLKD_BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$modBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($memcMOD_W_ div 2)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>0</xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       
-                                       <MULTICONN X="{$bcMod_X_}" Y="{$bcMod_Y_}" BUSNAME="{$modBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
-<!--                                   
-                                       <MULTICONN X="{$bcInSpace_X_}" Y="{$bcMod_Y_}" BUSSTD="{$busStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
--->                                    
-                                               
-                                       </xsl:otherwise>
-                               </xsl:choose>   
-                       </xsl:for-each>
-               </xsl:variable>
-                                       
-               <!-- Draw the busconnection and horizontal lines.-->                                            
-               <xsl:for-each select="exsl:node-set($multiConns_)/MULTICONN">
-                                                       
-                       <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-                       <xsl:variable name="bus_y_" select="@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               
-                       <xsl:variable name="h_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="$bus_x_"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable> 
-               
-                       <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-                       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-                       <xsl:variable name="h_bus_width_">
-<!--                           
-                               <xsl:message>BUSSTD  <xsl:value-of select="@BUSSTD"/></xsl:message>
-                               <xsl:message>BIFSIDE <xsl:value-of select="@BIFSIDE"/></xsl:message>
-                               <xsl:message>BIFRANK <xsl:value-of select="@BIFRANK"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="(@X - $bus_x_ - $BLKD_BUS_ARROW_W)"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="$bus_x_ - $h_bus_ul_x_"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>         
-                       
-                       
-                       <!-- Draw the horizontal part of the bus -->
-                       <rect x="{$h_bus_ul_x_}" 
-                                 y="{$h_bus_ul_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$h_bus_height_}" 
-                             style="stroke:none; fill:{$busColor_}"/>
-               
-                       
-                       <!-- Draw the arrow -->
-                       <xsl:choose>
-                               <xsl:when test="((@BIFSIDE='0') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                               </xsl:when>
-                               <xsl:when test="((@BIFSIDE='1') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='0') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='1') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                                       
-                       </xsl:choose>
-               
-                       <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-                       
-                                                       
-               </xsl:for-each>
-                                               
-               <xsl:variable name="busTop_" select="math:min(exsl:node-set($multiConns_)/MULTICONN/@Y)"/>
-               <xsl:variable name="busBot_" select="math:max(exsl:node-set($multiConns_)/MULTICONN/@Y)"/>
-<!--   
-               <xsl:variable name="topRnk_" select="(exsl:node-set($multiConns_)/MULTICONN[(@Y = $busTop_)]/@BIFRANK)"/>
-               <xsl:variable name="botRnk_" select="(exsl:node-set($multiConns_)/MULTICONN[(@Y = $busBot_)]/@BIFRANK)"/>
--->    
-       
-               <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               <xsl:variable name="busName_" select="exsl:node-set($multiConns_)/MULTICONN/@BUSNAME"/>
-       
-               <!-- Draw the vertical part of the bus -->      
-               <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                         y="{$v_bus_y_}"  
-                     width= "{$BLKD_P2P_BUS_W}" 
-                     height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 
-                     style="stroke:none; fill:{$busColor_}"/>
-                                               
-       <!-- Place the bus label.-->    
-               <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-               </text> 
-       
-<!--                                           
-               <xsl:message>Bot Rank  <xsl:value-of select="$botRnk_"/></xsl:message>  
--->                                            
-                                               
-<!--   
-               <xsl:call-template name="Draw_P2PBus">
-                       <xsl:with-param name="busX"    select="$bcInSpace_X_"/>
-                       <xsl:with-param name="busTop"  select="$busTop_"/>
-                       <xsl:with-param name="busBot"  select="$busBot_"/>
-                       <xsl:with-param name="topRnk"  select="$topRnk_"/>
-                       <xsl:with-param name="botRnk"  select="$botRnk_"/>
-                       <xsl:with-param name="busStd"  select="$busStd"/>
-                       <xsl:with-param name="busName" select="$busName"/>
-               </xsl:call-template>
--->    
-                                       
-</xsl:template>        
-       
-       
-<!-- 
-                ===========================================================
-                       Handle Processor to processor connections
-                ===========================================================
--->
-<xsl:template name="BCLaneSpace_ProcToProc">   
-       
-       <xsl:param name="iBusStd"         select="'NONE'"/>     
-       <xsl:param name="iBusName"        select="'NONE'"/>     
-       <xsl:param name="iBifRank"        select="'NONE'"/>     
-       <xsl:param name="iStackToEast"    select="'NONE'"/>     
-       <xsl:param name="iStackToWest"    select="'NONE'"/>     
-       <xsl:param name="iStackToEast_W"  select="0"/>  
-       <xsl:param name="iStackToWest_W"  select="0"/>  
-       <xsl:param name="iLaneInSpace_X"  select="0"/>  
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-               
-       <xsl:variable name="pr2pr_StackToWest_"   select="math:min(BUSCONN/@STACK_HORIZ_INDEX)"/>
-       <xsl:variable name="pr2pr_StackToEast_"   select="math:max(BUSCONN/@STACK_HORIZ_INDEX)"/>
-       <xsl:variable name="proc2procConn_heights_">
-       
-       <xsl:for-each select="BUSCONN">
-                                       
-               <xsl:variable name="procInstance_" select="@INSTANCE"/>
-               <xsl:variable name="bifName_"      select="@BUSINTERFACE"/>
-               <xsl:variable name="procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>
-               <xsl:variable name="procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>
-               <xsl:variable name="procshp_Y_">
-                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                               <xsl:with-param name="iHorizIdx"  select="$procshp_hori_idx_"/>
-                               <xsl:with-param name="iVertiIdx"  select="$procshp_vert_idx_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                               
-               <xsl:variable name="procStack_H_diff_">
-                       <xsl:choose>
-                               <xsl:when test="   (($pr2pr_StackToEast_ = 'NONE') or ($pr2pr_StackToWest_ = 'NONE'))">0</xsl:when>
-                               <xsl:when test="not(($pr2pr_StackToEast_ = 'NONE') or ($pr2pr_StackToWest_ = 'NONE'))">
-                       
-                                       <xsl:variable name="stackToWest_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="iStackIdx"  select="$pr2pr_StackToWest_"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                               
-                                       <xsl:variable name="stackToEast_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="iStackIdx"  select="$pr2pr_StackToEast_"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                       <xsl:choose>
-                                               <xsl:when test="(($procshp_hori_idx_ = $pr2pr_StackToEast_) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:when test="(($procshp_hori_idx_ = $pr2pr_StackToWest_) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:otherwise>0</xsl:otherwise>        
-                                       </xsl:choose>   
-                                                                               
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-                                               
-               <!-- Store the conns in a variable -->  
-               <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                                                       
-               <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-               <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                       
-               <xsl:variable name="bcInSpace_X_">
-                       <xsl:choose>
-                               <xsl:when test="$procBifSide_ = '1'"><xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/></xsl:when>
-                               <xsl:when test="$procBifSide_ = '0'"><xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-                                                       
-               <xsl:variable name="bcProc_Y_"     select="($procshp_Y_ + $procBif_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $procStack_H_diff_)"/>
-<!--                                                   
-               <xsl:message>Conn X <xsl:value-of select="$bcInSpace_X_"/></xsl:message>
-               <xsl:message>Conn Y <xsl:value-of select="$bcProc_Y_"/></xsl:message>
--->                                                    
-                                                                               
-                               <PR2PRCONN X="{$bcInSpace_X_}" Y="{$bcProc_Y_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}" SHAPE_ID="{$procshp_hori_idx_}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-                                       
-               <xsl:variable name="pr2prLeft_"   select="math:min(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@SHAPE_ID)"/>
-               <xsl:variable name="pr2prRght_"   select="math:max(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@SHAPE_ID)"/>
-                               
-               <xsl:variable name="pr2pr_stack_Left_X_">
-                       <xsl:call-template name="_calc_Stack_X"> 
-                               <xsl:with-param name="iStackIdx"  select="$pr2prLeft_"/>
-                       </xsl:call-template>            
-               </xsl:variable> 
-                                       
-               <xsl:variable name="pr2pr_stack_Rght_X_">
-                       <xsl:call-template name="_calc_Stack_X"> 
-                               <xsl:with-param name="iStackIdx"  select="$pr2prRght_"/>
-                       </xsl:call-template>            
-               </xsl:variable> 
-                                       
-<!--                                   
-                                       <xsl:message>Left stack X <xsl:value-of select="$pr2pr_stack_Left_X_"/></xsl:message>
-                                       <xsl:message>Rght stack X <xsl:value-of select="$pr2pr_stack_Rght_X_"/></xsl:message>
--->                                    
-               <xsl:variable name="pr2pr_space_W_" select="($pr2pr_stack_Rght_X_ - $pr2pr_stack_Left_X_)"/>
-                                               
-                                       
-               <xsl:variable name="pr2pr_extStackEast_W_">
-                       <xsl:call-template name="_calc_Stack_Width">
-                               <xsl:with-param name="iStackIdx"  select="$pr2prRght_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                       
-               <xsl:variable name="pr2pr_extStackWest_W_">
-                       <xsl:call-template name="_calc_Stack_Width">
-                               <xsl:with-param name="iStackIdx"  select="$pr2prLeft_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                       
-<!--                                   
-                                       <xsl:message>Space W <xsl:value-of select="$pr2pr_space_W_"/></xsl:message>
-                                       <xsl:message>Rght stack <xsl:value-of select="$pr2pr_extStackEast_W_"/></xsl:message>
-                                       <xsl:message>Left stack <xsl:value-of select="$pr2pr_extStackWest_W_"/></xsl:message>
--->                                    
-       
-               <xsl:variable name="connLeft_X_" select="ceiling($BLKD_MOD_W div 2)"/>
-               <xsl:variable name="connRght_X_" select="($pr2pr_space_W_ - ceiling($pr2pr_extStackWest_W_ div 2) + ceiling($pr2pr_extStackEast_W_ div 2) - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/>
-                                       
-                                       <!-- Draw the busconnections .-->                                               
-               <xsl:for-each select="exsl:node-set($proc2procConn_heights_)/PR2PRCONN">
-                       <xsl:variable name="conn_X_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE = '1'"><xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/></xsl:when>
-                                       <xsl:when test="@BIFSIDE = '0'"><xsl:value-of select="($pr2pr_space_W_ - ceiling($pr2pr_extStackWest_W_ div 2) + ceiling($pr2pr_extStackEast_W_ div 2) - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/></xsl:when>
-<!--                                                                   
-                                                                       <xsl:when test="@BIFSIDE = '0'"><xsl:value-of select="($pr2pr_space_W_ + $pr2pr_extStackWest_W_ + $pr2pr_extStackEast_W_ - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/></xsl:when>
--->    
-                               </xsl:choose>
-                       </xsl:variable> 
-                                                       
-                                               
-                       <use   x="{$conn_X_}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               </xsl:for-each>
-                                       
-               <xsl:variable name="bc_Y_"     select="math:min(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@Y)"/>
-               <xsl:variable name="bcLeft_"   select="math:min(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@X)"/>
-               <xsl:variable name="bcRght_"   select="math:max(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@X)"/>
-                                       
-               <xsl:variable name="leftRnk_"  select="(exsl:node-set($proc2procConn_heights_)/PR2PRCONN[(@X = $bcLeft_)]/@BIFRANK)"/>
-               <xsl:variable name="rghtRnk_"  select="(exsl:node-set($proc2procConn_heights_)/PR2PRCONN[(@X = $bcRght_)]/@BIFRANK)"/>
-                                               
-               <xsl:call-template name="Draw_Proc2ProcBus">
-                       <xsl:with-param name="iBc_Y"     select="$bc_Y_"/>
-                       <xsl:with-param name="iBusStd"   select="$iBusStd"/>
-                       <xsl:with-param name="iBusName"  select="$iBusName"/>
-                       <xsl:with-param name="iLeftRnk"  select="$leftRnk_"/>
-                       <xsl:with-param name="iRghtRnk"  select="$rghtRnk_"/>
-                       <xsl:with-param name="iBcLeft_X" select="$connLeft_X_ + $BLKD_BIFC_W"/>
-                       <xsl:with-param name="iBcRght_X" select="$connRght_X_"/>
-               </xsl:call-template>
-                               
-</xsl:template>        
-       
-<!-- 
-                ===========================================================
-                       Handle connections to the MPMC
-                ===========================================================
--->
-<xsl:template name="BCLaneSpace_ToStandAloneMPMC">     
-       
-       <xsl:param name="iBusStd"        select="'NONE'"/>      
-       <xsl:param name="iBusName"       select="'NONE'"/>      
-       <xsl:param name="iBifRank"       select="'NONE'"/>      
-       <xsl:param name="iStackToEast"   select="'NONE'"/>      
-       <xsl:param name="iStackToWest"   select="'NONE'"/>      
-       <xsl:param name="iStackToEast_W" select="0"/>   
-       <xsl:param name="iStackToWest_W" select="0"/>   
-       <xsl:param name="iLaneInSpace_X" select="0"/>   
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="busColor_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-       
-       <xsl:variable name="bcInSpace_X_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-       <xsl:variable name="p2pInstance_" select="BUSCONN[(@BIF_Y)]/@INSTANCE"/>
-                                       
-       <xsl:variable name="p2pshp_hori_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@STACK_HORIZ_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@STACK_HORIZ_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-       <xsl:variable name="p2pshp_vert_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-       <xsl:variable name="p2pshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$p2pshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                       
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       <xsl:variable name="procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                       
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       
-       
-       <!-- Store the conns in a variable -->  
-       <xsl:variable name="p2pConn_heights_">
-       
-               <xsl:for-each select="BUSCONN">
-                                                                       
-                       <xsl:variable name="bifName_" select="@BUSINTERFACE"/>
-                                                       
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCCONN and @BIF_Y">
-                                                                               
-<!--                                                                           
-                                                                               <xsl:message>Proc <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                               <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                               
-                                               <xsl:variable name="bcProc_Y_"     select="($p2pshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $procStack_H_diff_)"/>
-                                               <xsl:variable name="bcProc_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$procBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$procBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-                                               <P2PCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME= "{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                                                                               
-                                       </xsl:when>
-                                                                       
-                                       <xsl:otherwise>
-                                                                               
-                                               <xsl:variable name="modInstance_"     select="@INSTANCE"/>
-                                               <xsl:variable name="modshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $modInstance_)]]/@SHAPE_VERTI_INDEX"/>
-                                               <xsl:variable name="modBifSide_"      select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                               <xsl:variable name="modBif_Y_"        select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                               <xsl:variable name="modBc_Y_"         select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $modBif_Y_) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                                               
-<!--                                                                           
-                                               <xsl:message>Memory Instance <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               
-                                               <xsl:variable name="modshp_Y_">
-                                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                                               <xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>
-                                                               <xsl:with-param name="iVertiIdx"  select="$modshp_vert_idx_"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                                                                               
-                                               <xsl:variable name="modBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="modBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="bcMod_Y_"     select="($modshp_Y_ + $modBc_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                               <xsl:variable name="bcMod_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$modBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$modBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-                                               <P2PCONN X="{$bcMod_X_}" Y="{$bcMod_Y_}" BUSNAME="{$modBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
-                                               
-                                       </xsl:otherwise>
-                                                                       
-                               </xsl:choose>
-                       </xsl:for-each>
-               </xsl:variable>
-       
-       
-       <xsl:variable name="busTop_"  select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="busBot_"  select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-       
-       <xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>
-       <xsl:variable name="busStd_"  select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSSTD"/>
-       
-<!--   
-       <xsl:message>BUS TOP <xsl:value-of select="$busTop_"/></xsl:message>
-       <xsl:message>BUS BOT <xsl:value-of select="$busBot_"/></xsl:message>
--->
-       
-       <!-- Draw the vertical part of the bus -->      
-<!--   
-       <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                 y="0"  
-                 width= "{$BLKD_P2P_BUS_W}" 
-                 height="{200 + $BLKD_P2P_BUS_W}" 
-                 style="stroke:none;fill:{$busColor_}"/>
--->    
-       
-       <!-- Place the bus label.-->    
-<!--   
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
--->    
-                                               
-               <!-- Draw the busconnection and horizontal lines.-->                                            
-               <xsl:for-each select="exsl:node-set($p2pConn_heights_)/P2PCONN">
-                                                       
-                       <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-                       <xsl:variable name="bus_y_" select="@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               
-                       <xsl:variable name="h_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="$bus_x_"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W) - 1"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable> 
-               
-                       <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-                       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-                       <xsl:variable name="h_bus_width_">
-<!--                           
-                               <xsl:message>BIFSIDE <xsl:value-of select="@BIFSIDE"/></xsl:message>
-                               <xsl:message>BUSSTD  <xsl:value-of select="@BUSSTD"/></xsl:message>
-                               <xsl:message>BIFRANK <xsl:value-of select="@BIFRANK"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="(@X - $bus_x_ - $BLKD_BUS_ARROW_W)"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="$bus_x_ - $h_bus_ul_x_ + 1"/>
-                                       </xsl:when>
-                                       
-                               </xsl:choose>
-                       </xsl:variable> 
-                       
-                       <!-- Draw Bus connection-->
-                       <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-                       
-                       <!-- Draw the arrow -->
-                       <xsl:choose>
-                               <xsl:when test="((@BIFSIDE='0') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                               </xsl:when>
-                               <xsl:when test="((@BIFSIDE='1') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='0') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='1') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                                       
-                       </xsl:choose>
-               
-                       <!-- Draw the horizontal part of the bus -->
-                       <rect x="{$h_bus_ul_x_}" 
-                                 y="{$h_bus_ul_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$h_bus_height_}" 
-                               
-                             style="stroke:none; fill:{$busColor_}"/>
-                       
-                       <!-- 
-                               Draw the vertical part of the bus. The MPMC BIF and the top arrow will
-                               be added later when the main drawing happens.
-                       -->
-                       <xsl:variable name="v_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'"><xsl:value-of select="($h_bus_ul_x_)"/></xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'"><xsl:value-of select="($h_bus_ul_x_ + $h_bus_width_ - $BLKD_P2P_BUS_W)"/></xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <rect x="{$v_bus_ul_x_}" 
-                                 y="0"  
-                                 width= "{$BLKD_P2P_BUS_W}" 
-                                 height="{$h_bus_ul_y_}"  
-                             style="stroke:none; fill:{$busColor_}"/>
-                       
-<!--                   
-                       <text class="p2pbuslabel" 
-                                 x="{$v_bus_ul_x_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4)}"
-                                 y="{($BLKD_BUS_ARROW_H * 3)}"><xsl:value-of select="$busName_"/></text>       
--->    
-               
-       </xsl:for-each>
-                                               
-                                               
-</xsl:template>        
-       
-       
-                               
-<!-- 
-        ======================================================================
-     Handle Split connections, (connections that go between adjacent stacks)
-        ======================================================================
--->
-       
-<xsl:template name="BCLaneSpace_SplitConn">    
-       
-       <xsl:param name="iBusStd"          select="'NONE'"/>    
-       <xsl:param name="iBusName"         select="'NONE'"/>    
-       <xsl:param name="iBifRank"         select="'NONE'"/>    
-       <xsl:param name="iStackToEast"     select="'NONE'"/>    
-       <xsl:param name="iStackToWest"     select="'NONE'"/>    
-       <xsl:param name="iStackToEast_W"   select="0"/> 
-       <xsl:param name="iStackToWest_W"   select="0"/> 
-       <xsl:param name="iLaneInSpace_X"   select="0"/> 
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-                       
-                                       
-       <xsl:variable name="bifName_"      select="BUSCONN/@BUSINTERFACE"/>
-       <xsl:variable name="shpInstance_"  select="BUSCONN/@INSTANCE"/>
-                                       
-<!--                                   
-                       <xsl:message>Found a split connection on <xsl:value-of select="$shpInstance_"/></xsl:message>   
--->                                    
-                                               
-                                       
-               <xsl:variable name="shp_hori_idx_">
-                                               
-                       <xsl:choose>
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]/@STACK_HORIZ_INDEX"/>
-                               </xsl:when>
-                                                       
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@STACK_HORIZ_INDEX"/>
-                               </xsl:when>
-                               <xsl:otherwise>_unknown_</xsl:otherwise>
-                       </xsl:choose>           
-                                               
-               </xsl:variable> 
-                                       
-               <xsl:variable name="shp_vert_idx_">
-                                               
-                       <xsl:choose>
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]/@SHAPE_VERTI_INDEX"/>
-                               </xsl:when>
-                                                       
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                               </xsl:when>
-                               <xsl:otherwise>_unknown_</xsl:otherwise>
-                       </xsl:choose>           
-                                               
-               </xsl:variable> 
-                                       
-               <xsl:variable name="splitshp_Width_">
-                                               
-                       <xsl:choose>
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]">
-                                       <xsl:value-of select="$BLKD_MOD_W"/>
-                               </xsl:when>
-                                               
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@MODS_W">
-<!--                                                           
-                                                               <xsl:message>Using mods width on <xsl:value-of select="$shpInstance_"/></xsl:message>
--->                                                            
-                                       <xsl:value-of select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@MODS_W * $BLKD_MOD_W)"/>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="$BLKD_MOD_W"/>
-                               </xsl:otherwise>
-                       </xsl:choose>           
-                                               
-               </xsl:variable> 
-                                       
-<!--                                   
-                                       <xsl:message>Found width of <xsl:value-of select="$splitshp_Width_"/></xsl:message>
--->                                    
-       
-                                       
-               <xsl:variable name="splitshp_Y_">
-                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                               <xsl:with-param name="iHorizIdx"  select="$shp_hori_idx_"/>
-                               <xsl:with-param name="iVertiIdx"  select="$shp_vert_idx_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                       
-                                               
-               <xsl:variable name="splitStack_H_diff_">
-                       <xsl:choose>
-                               <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                               <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-       
-                                       <xsl:variable name="stackToWest_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                               
-                                       <xsl:variable name="stackToEast_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                       <xsl:choose>
-                                               <xsl:when test="(($shp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:when test="(($shp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:otherwise>0</xsl:otherwise>        
-                                       </xsl:choose>   
-                                                                               
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-                                               
-                                       
-               <xsl:variable name="splitBif_Y_"    select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * BUSCONN/@BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-               <xsl:variable name="splitBusStd_"   select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $shpInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSSTD"/>
-               <xsl:variable name="splitBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $shpInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-               <xsl:variable name="splitBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $shpInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                       
-               <xsl:variable name="bcInSpace_X_">
-                       <xsl:choose>
-                               <xsl:when test="$splitBifSide_ = '1'"><xsl:value-of select="ceiling($splitshp_Width_ div 2)"/></xsl:when>
-                               <xsl:when test="$splitBifSide_ = '0'"><xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($splitshp_Width_ div 2) - $BLKD_BIFC_W)"/></xsl:when>
-                       </xsl:choose>
-                                                               
-               </xsl:variable> 
-                                       
-               <xsl:variable name="bcBus_X_">
-                       <xsl:choose>
-                               <xsl:when test="$splitBifSide_ = '1'"><xsl:value-of select="$bcInSpace_X_"/></xsl:when>
-                               <xsl:when test="$splitBifSide_ = '0'"><xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-                                                       
-               <xsl:variable name="bcSplit_Y_">
-                       <xsl:choose>
-                               <xsl:when test="(BUSCONN/@IS_MEMCONN) and (($splitBusStd_ = 'LMB') or ($splitBusStd_ = 'OCM'))">
-<!--                                                           
-                                       <xsl:message>Found memory conn split connection on <xsl:value-of select="$shpInstance_"/> </xsl:message>
--->    
-                                       <xsl:value-of select="($splitshp_Y_ + $BLKD_MOD_H + $BLKD_MOD_BIF_GAP_V + (BUSCONN/@BIF_Y * ($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V)) + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $splitStack_H_diff_)"/>
-                               </xsl:when>     
-                               <xsl:otherwise>
-                                       <xsl:value-of select="($splitshp_Y_ + $splitBif_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $splitStack_H_diff_)"/>
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>    
-<!--                                                           
-                                                               <xsl:value-of select="($splitshp_Y_ + $splitBif_Y_ + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $splitStack_H_diff_)"/>
--->                                                            
-<!--                                   
-                                       <xsl:message>VERTI INDEX <xsl:value-of select="$shp_vert_idx_"/></xsl:message>  
-                                       <xsl:message>BIF Y <xsl:value-of select="$splitBif_Y_"/></xsl:message>  
-                                       <xsl:message>HORIZ INDEX <xsl:value-of select="$shp_hori_idx_"/></xsl:message>  
--->                                    
-                                       
-       <use   x="{$bcInSpace_X_}"   y="{$bcSplit_Y_}"  xlink:href="#{@BUSSTD}_busconn_{$splitBifRank_}"/>
-                                       
-                       
-       <xsl:call-template name="Draw_SplitConnBus">
-               <xsl:with-param name="iBc_Y"    select="$bcSplit_Y_"/>
-               <xsl:with-param name="iBc_X"    select="$bcInSpace_X_"/>
-               <xsl:with-param name="iBc_Rnk"  select="$splitBifRank_"/>
-               <xsl:with-param name="iBc_Side" select="$splitBifSide_"/>
-               <xsl:with-param name="iBusStd"  select="$iBusStd"/>
-               <xsl:with-param name="iBusName" select="$iBusName"/>
-       </xsl:call-template>
-                                       
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_BusLaneSpace"> 
-       
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-       
-<!--   
-       <xsl:message>Input Stack to West <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message>Input Stack to East <xsl:value-of select="$iStackToEast"/></xsl:message>
--->
-       
-       <xsl:variable name="stackToEast_">
-               <xsl:choose>
-                       <xsl:when test="not($iStackToEast = 'NONE')"><xsl:value-of select="$iStackToEast"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="stackToWest_">
-               <xsl:choose>
-                       <xsl:when test=" not($iStackToWest = 'NONE')"><xsl:value-of select="$iStackToWest"/></xsl:when>
-                       <xsl:when test="(not($iStackToEast = 'NONE') and not($iStackToEast = '0'))"><xsl:value-of select="($iStackToEast - 1)"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>Stack to West <xsl:value-of select="$stackToWest_"/></xsl:message>
-       <xsl:message>Stack to East <xsl:value-of select="$stackToEast_"/></xsl:message>
-       <xsl:message>Stack abv diff  <xsl:value-of select="$stack_H_diff_"/></xsl:message>
--->    
-       
-       <xsl:variable name="spaceAbvSbs_H_">
-               <xsl:call-template name="_calc_Space_AbvSbs_Height">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       <xsl:variable name="spaceBlwSbs_H_">
-               <xsl:call-template name="_calc_Space_BlwSbs_Height">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       
-       <xsl:variable name="space_H_" select="($spaceAbvSbs_H_ + $BLKD_PROC2SBS_GAP + $G_total_SharedBus_H + $spaceBlwSbs_H_)"/>
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name="spaceSharedBus_Y_" select="$spaceAbvSbs_H_ + $BLKD_PROC2SBS_GAP"/>
-       
-       <xsl:variable name="space_name_">
-               <xsl:call-template name="_gen_Space_Name"> 
-                       <xsl:with-param name="iStackToEast"  select="$stackToEast_"/>
-                       <xsl:with-param name="iStackToWest"  select="$stackToWest_"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Stack Width <xsl:value-of select="$space_W_"/></xsl:message>
-       <xsl:message>Space Name <xsl:value-of select="$space_name_"/></xsl:message>
-       <xsl:message>Stack Abv <xsl:value-of select="$spaceAbvSbs_H_"/></xsl:message>
-       <xsl:message>Stack Blw <xsl:value-of select="$spaceBlwSbs_H_"/></xsl:message>
-       <xsl:message>Total Sbs <xsl:value-of select="$totalSbs_H_"/></xsl:message>
--->    
-       
-       <xsl:variable name = "stackToWest_W_">
-               <xsl:choose>
-                       <xsl:when test="(($iStackToEast = '0')    and    ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($iStackToEast = 'NONE') and not($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($iStackToEast = '0') and not($iStackToEast = 'NONE') and ($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="($iStackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name = "stackToEast_W_">
-               <xsl:call-template name="_calc_Stack_Width">
-                       <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stackToWest_W_ div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stackToEast_W_ div 2)"/>
-       
-<!--   
-       <xsl:message>Stack To West <xsl:value-of select="$stackToWest_W_"/></xsl:message>
-       <xsl:message>Stack To East <xsl:value-of select="$stackToEast_W_"/></xsl:message>
--->    
-       
-       <symbol id="{$space_name_}">
-
-<!--   
-               <rect x="0" 
-                         y="0"  
-                         width= "100" 
-                         height="200" 
-                         style="stroke:none; fill:{$COL_WHITE}"/>
--->            
-               
-                <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST = $iStackToEast) or (($iStackToEast = 'NONE') and (@WEST = $iStackToWest)))]/BUSCONNLANE[@BUSSTD and @BUSNAME]">
-                               
-                               <xsl:variable name="busStd_"          select="@BUSSTD"/>
-                               <xsl:variable name="busName_"         select="@BUSNAME"/>
-                               <xsl:variable name="lane_X_"          select="@BUSLANE_X"/>
-<!--                    
-                               <xsl:variable name="laneInSpace_X_"   select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/>
-                               <xsl:message>Oriented <xsl:value-of select="@ORIENTED"/></xsl:message>
-                               <xsl:message>laneInSpace_XY <xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/></xsl:message>
-                               <xsl:message>Lane in space X <xsl:value-of select="$laneInSpace_X_"/></xsl:message>
--->    
-                        
-                               <xsl:variable name="laneInSpace_X_">
-                                       <xsl:choose>
-                                          <xsl:when test="(@ORIENTED = 'EAST')">
-                                                  <xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W) - $BLKD_BUS_ARROW_W - $BLKD_P2P_BUS_W)"/>
-                                          </xsl:when>
-                                          <xsl:otherwise><xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/></xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable> 
-                                               
-                        
-                               <xsl:variable name="busColor_">
-                                       <xsl:call-template name="BusType2Color">
-                                               <xsl:with-param name="iBusType" select="@BUSSTD"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <xsl:choose>
-<!-- 
-                ===========================================================
-                       Handle Bucket connections to the shared busses.
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and @IS_BKTCONN and BUSCONN[@BIFRANK] and /EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX">
-                                               <xsl:call-template name="BCLaneSpace_BucketToSharedBus">
-                                                       <xsl:with-param name="iBusName"           select="$busName_"/>
-                                                       <xsl:with-param name="iBusStd"            select="$busStd_"/>
-                                                       <xsl:with-param name="iBifRank"           select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"       select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"       select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"     select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"     select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"     select="$laneInSpace_X_"/>
-                                                       <xsl:with-param name="iSpaceSharedBus_Y"  select="$spaceSharedBus_Y_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->                                            
-                                       </xsl:when>
-                                       
-<!--
-                ===========================================================
-                       Handle Processor's Shared bus connections.
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and @IS_SBSCONN and not(@IS_MPMCCONN) and BUSCONN[@BIF_Y and @IS_PROCCONN and @INSTANCE and @BUSINTERFACE] and /EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX">
-                                               <xsl:call-template name="BCLaneSpace_ProcBifToSharedBus">
-                                                       <xsl:with-param name="iBusStd"            select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"           select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"           select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"       select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"       select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"     select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"     select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"     select="$laneInSpace_X_"/>
-                                                       <xsl:with-param name="iSpaceSharedBus_Y"  select="$spaceSharedBus_Y_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->    
-                                       </xsl:when>     
-                                       
-<!--
-                ===========================================================
-                       Handle non Processor Shared Bus connections.
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and @IS_SBSCONN and not(@IS_MPMCCONN) and BUSCONN[@BIF_Y and not(@IS_PROCCONN) and @INSTANCE and @BUSINTERFACE] and /EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX">
-                                               <xsl:call-template name="BCLaneSpace_NonProcBifToSharedBus">
-                                                       <xsl:with-param name="iBusStd"            select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"           select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"           select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"       select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"       select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"     select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"     select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"     select="$laneInSpace_X_"/>
-                                                       <xsl:with-param name="iSpaceSharedBus_Y"  select="$spaceSharedBus_Y_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->    
-                                       </xsl:when>                                     
-                                       
-<!-- 
-                ===========================================================
-                       Handle connections from processors to Memory UNITs
-                ===========================================================
--->                    
-                                       <xsl:when test="@BUSLANE_X and @IS_MEMCONN and not(@IS_MULTISTK) and BUSCONN[@BIF_Y and @IS_PROCCONN and not(@IS_SPLITCONN) and @INSTANCE and @BUSINTERFACE]">
-                                               <xsl:call-template name="BCLaneSpace_ProcBifToMemoryUnit">
-                                                       <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"        select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->    
-                                       </xsl:when>                             
-                               
-                                       
-<!-- 
-                ===========================================================
-                       Handle generic Point to Point connections
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and not(@IS_MULTISTK) and not(@IS_MPMCCONN) and not(@IS_MEMCONN) and not(@IS_SBSCONN) and BUSCONN[@BIF_Y and @INSTANCE and @BUSINTERFACE and not(@IS_SPLITCONN)]">
-                                               <xsl:call-template name="BCLaneSpace_PointToPoint">
-                                                       <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"        select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->    
-                                       </xsl:when>                             
-                                       
-<!-- 
-                ===========================================================
-                       Handle MultiStack Point to Point connections
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and (@IS_MULTISTK) and not(@IS_SBSCONN) and BUSCONN[@BIF_Y and @IS_PROCCONN and @INSTANCE and @BUSINTERFACE]">
-                                               <xsl:call-template name="BCLaneSpace_MultiStack_PointToPoint">
-                                                       <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"        select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-                                       </xsl:when>                             
-                                               
-                                       
-<!-- 
-                ===========================================================
-                       Handle Processor to processor connections
-                ===========================================================
--->
-<!--                                   
--->    
-                               <xsl:when test="(@IS_PROC2PROC and (count(BUSCONN[@BIF_Y and @INSTANCE and @BUSINTERFACE]) = 2))">
-                                       <xsl:call-template name="BCLaneSpace_ProcToProc">
-                                               <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                               <xsl:with-param name="iBusName"        select="$busName_"/>
-                                               <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                               <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                               <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                               <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                               <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                               <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                       </xsl:call-template>    
-                               </xsl:when>
-                                       
-<!-- 
-                ===========================================================
-                       Handle connections to the StandAlone MPMC
-                ===========================================================
--->
-                       <xsl:when test="@BUSLANE_X and (@IS_MPMCCONN) and not(@IS_SBSCONN) and BUSCONN[(@BIF_Y and @INSTANCE and @BUSINTERFACE)]">
-<!--                           
--->                            
-                                       <xsl:call-template name="BCLaneSpace_ToStandAloneMPMC">
-                                               <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                               <xsl:with-param name="iBusName"        select="$busName_"/>
-                                               <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                               <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                               <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                               <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                               <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                               <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                       </xsl:call-template>    
-                       </xsl:when>
-                                       
-<!-- 
-                ===========================================================
-                       Handle Split connections, (connections that go between non adjacent stacks)
-                ===========================================================
--->
-                       <xsl:when test="(BUSCONN[@BIF_Y and @INSTANCE and @BUSINTERFACE and @IS_SPLITCONN])">
-                               <xsl:call-template name="BCLaneSpace_SplitConn">
-                                       <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                       <xsl:with-param name="iBusName"        select="$busName_"/>
-                                       <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                       <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                       <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                       <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                       <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                       <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                               </xsl:call-template>    
-<!--                           
--->    
-                       </xsl:when>
-                                       
-               </xsl:choose>
-                                                               
-       </xsl:for-each>
-               
-       </symbol>
-                       
-</xsl:template>        
-       
-<xsl:template name="Define_BusLaneSpaces"> 
-       
-       <xsl:variable name="lastStack_" select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH) - 1"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[@EAST]">
-               <xsl:sort select="@EAST" data-type="number"/>
-                       
-               <xsl:call-template name="Define_BusLaneSpace">
-                       <xsl:with-param name="iStackToEast"  select="@EAST"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-       
-<!--   
-       <xsl:message>Last Stack <xsl:value-of select="$lastStack_"/></xsl:message>
--->    
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@WEST = $lastStack_)]">
-               <xsl:call-template name="Define_BusLaneSpace">
-                       <xsl:with-param name="iStackToWest"  select="$lastStack_"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-                       
-</xsl:template>
-               
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Busses.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Busses.xsl
deleted file mode 100644 (file)
index 41a472e..0000000
+++ /dev/null
@@ -1,495 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-               
-
-       
-<xsl:template name="Define_Busses">
-<!--   
-       <xsl:param name="drawarea_w"  select="500"/>
-       <xsl:param name="drawarea_h"  select="500"/>
--->    
-       
-       <xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
-               
-               <xsl:call-template name="Define_BusArrowsEastWest"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-               <xsl:call-template name="Define_BusArrowsNorthSouth"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-               <xsl:call-template name="Define_SplitBusses"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-       </xsl:for-each>
-       
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="iBusType"    select="'PLB'"/>
-       </xsl:call-template>
-       
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="iBusType"    select="'PLBV46'"/>
-       </xsl:call-template>
-       
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="iBusType"    select="'OPB'"/>
-       </xsl:call-template>
-       
-       <xsl:call-template name="Define_SharedBus_Group"/> 
-       
-</xsl:template>
-
-<xsl:template name="Define_BusArrowsEastWest"> 
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bus_col_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <symbol id="{$iBusType}_BusArrowEast">
-               <path class="bus"
-                         d="M   0,0
-                                L     {$BLKD_BUS_ARROW_W}, {ceiling($BLKD_BUS_ARROW_H div 2)}
-                                L   0,{$BLKD_BUS_ARROW_H}, 
-                                Z" style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-       
-       <symbol id="{$iBusType}_BusArrowWest">
-               <use   x="0"   y="0"  xlink:href="#{$iBusType}_BusArrowEast" transform="scale(-1,1) translate({$BLKD_BUS_ARROW_W * -1},0)"/>
-       </symbol>
-       
-       <symbol id="{$iBusType}_BusArrowHInitiator">
-               <rect x="0" 
-                         y="{$BLKD_BUS_ARROW_G}"  
-                         width= "{$BLKD_BUS_ARROW_W}" 
-                         height="{$BLKD_P2P_BUS_W}" 
-                        style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-       
-</xsl:template>
-
-<!--   
-       <xsl:param name="bus_col"     select="'OPB'"/>
--->    
-
-<xsl:template name="Define_BusArrowsNorthSouth">
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="busColor_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <symbol id="{$iBusType}_BusArrowSouth">
-               <path class="bus"
-                         d="M   0,0
-                                L   {$BLKD_BUS_ARROW_H},0
-                                L   {ceiling($BLKD_BUS_ARROW_H div 2)}, {$BLKD_BUS_ARROW_W}
-                                Z" style="stroke:none; fill:{$busColor_}"/>
-       </symbol>
-       
-       <symbol id="{$iBusType}_BusArrowNorth">
-               <use   x="0"   y="0"  xlink:href="#{$iBusType}_BusArrowSouth" transform="scale(1,-1) translate(0,{$BLKD_BUS_ARROW_H * -1})"/>
-       </symbol>
-       
-       <symbol id="{$iBusType}_BusArrowInitiator">
-               <rect x="{$BLKD_BUS_ARROW_G}" 
-                         y="0"  
-                         width= "{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}" 
-                         height="{$BLKD_BUS_ARROW_H}" 
-                        style="stroke:none; fill:{$busColor_}"/>
-       </symbol>
-       
-</xsl:template>
-       
-
-<xsl:template name="Draw_P2PBus">
-       
-       <xsl:param name="iBusX"    select="0"/>
-       <xsl:param name="iBusTop"  select="0"/>
-       <xsl:param name="iBusBot"  select="0"/>
-       <xsl:param name="iBotRnk"  select="'_unk_'"/>
-       <xsl:param name="iTopRnk"  select="'_unk_'"/>
-       <xsl:param name="iBusStd"  select="'_bstd_'"/>
-       <xsl:param name="iBusName" select="'_p2pbus_'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:choose>
-                       
-                       <xsl:when test="@BUSSTD">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="@BUSSTD"/>
-                               </xsl:call-template>    
-                       </xsl:when>
-                       
-                       <xsl:when test="not($iBusStd = '_bstd_')">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-                               </xsl:call-template>    
-                       </xsl:when>
-                       
-                       <xsl:otherwise>
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="'TRS'"/>
-                               </xsl:call-template>    
-                       </xsl:otherwise>
-                       
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="p2pH_" select="($iBusBot - $iBusTop) - ($BLKD_BUS_ARROW_H * 2)"/>
-
-       <xsl:variable name="botArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iBotRnk = 'INITIATOR') or ($iBotRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowSouth</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:variable name="topArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iTopRnk = 'INITIATOR') or ($iTopRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowNorth</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:if test="@BUSSTD">         
-               <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
-                     y="{$iBusTop + ($BLKD_BIFC_H  - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"  
-                     xlink:href="#{@BUSSTD}_{$topArrow_}"/>    
-                 
-               <use  x="{($busX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
-                     y="{$busBot - $BLKD_BUS_ARROW_H}"  
-                     xlink:href="#{@BUSSTD}_{$botArrow_}"/>    
-       </xsl:if>                 
-       
-       <xsl:if test="(not(@BUSSTD) and not($busStd = '_bstd_'))">              
-               <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
-                     y="{$iBusTop + ($BLKD_BIFC_H  - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"  
-                     xlink:href="#{$iBusStd}_{$topArrow_}"/>   
-                 
-               <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
-                     y="{$iBusBot - $BLKD_BUS_ARROW_H}"  
-                     xlink:href="#{$iBusStd}_{$botArrow_}"/>   
-       </xsl:if>                 
-       
-       
-       <rect x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2) + $BLKD_BUS_ARROW_G}"  
-                 y="{$iBusTop + $BLKD_BIFC_H + $BLKD_BUS_ARROW_H}"  
-                 height= "{$p2pH_  - ($BLKD_BUS_ARROW_H * 2)}" 
-                 width="{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-                 
-       <text class="p2pbuslabel" 
-                         x="{$iBusX   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
-                         y="{$iBusTop + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$iBusName"/>
-       </text>
-       
-       <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP">
-               
-          <text class="ioplblgrp" 
-                 x="{$iBusX   +  $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                 y="{$iBusTop + ($BLKD_BUS_ARROW_H * 10)}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iBusName)]/@GROUP"/>
-               </text>
-          
-       </xsl:if>       
-               
-</xsl:template>
-
-       
-<xsl:template name="Draw_Proc2ProcBus">
-       
-       <xsl:param name="iBc_Y"     select="0"/>
-       <xsl:param name="iBcLeft_X" select="0"/>
-       <xsl:param name="iBcRght_X" select="0"/>
-       <xsl:param name="iLeftRnk"  select="'_unk_'"/>
-       <xsl:param name="iRghtRnk"  select="'_unk_'"/>
-       <xsl:param name="iBusStd"   select="'_bstd_'"/>
-       <xsl:param name="iBusName"  select="'_p2pbus_'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="pr2pr_W_" select="($iBcRght_X - $iBcLeft_X)"/>
-
-       <xsl:variable name="leftArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iLeftRnk = 'INITIATOR') or ($iLeftRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowWest</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:variable name="rghtArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iRghtRnk = 'INITIATOR') or ($iRghtRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowEast</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       
-       <xsl:variable name="bus_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
-       
-       <use  x="{$iBcLeft_X}"                     y="{$bus_Y_}"  xlink:href="#{$iBusStd}_{$leftArrow_}"/>      
-       <use  x="{$iBcRght_X - $BLKD_BUS_ARROW_W}" y="{$bus_Y_}"  xlink:href="#{$iBusStd}_{$rghtArrow_}"/>      
-       
-       <rect x="{$iBcLeft_X + $BLKD_BUS_ARROW_W}" 
-                 y="{$bus_Y_    + $BLKD_BUS_ARROW_G}"  
-                 width= "{$pr2pr_W_    -      (2 * $BLKD_BUS_ARROW_W)}" 
-                 height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busColor_}"/>
-       
-       <text class="horizp2pbuslabel" 
-                         x="{$iBcLeft_X  + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
-                         y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
-       
-       <text class="horizp2pbuslabel" 
-                         x="{$iBcRght_X - (string-length($iBusName) * 8)}"
-                         y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
-       
-</xsl:template>
-       
-       
-<xsl:template name="Draw_SplitConnBus">
-       
-       <xsl:param name="iBc_X"     select="0"/>
-       <xsl:param name="iBc_Y"     select="0"/>
-       <xsl:param name="iBc_Rnk"   select="'_unk_'"/>
-       <xsl:param name="iBc_Side"  select="'_unk_'"/>
-       
-       <xsl:param name="iBusStd"   select="'_bstd_'"/>
-       <xsl:param name="iBusName"  select="'_p2pbus_'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="connArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iBc_Rnk = 'INITIATOR') or ($iBc_Rnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowEast</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:variable name="arrow_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
-       
-       <xsl:variable name="bus_X_">
-               <xsl:choose>
-                       <xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - ($BLKD_BUS_ARROW_W * 2))"/></xsl:when>
-                       <xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/></xsl:when>
-               </xsl:choose>           
-       </xsl:variable> 
-       
-<!--   
-       <use  x="{$bus_X_}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_BusArrowHInitiator"/>      
--->    
-       
-       <xsl:variable name="arrow_X_">
-               <xsl:choose>
-                       <xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - $BLKD_BUS_ARROW_W)"/></xsl:when>
-                       <xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W)"/></xsl:when>
-               </xsl:choose>           
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>The bus name is <xsl:value-of select="$busName"/></xsl:message>
-       <xsl:message>The bif side is <xsl:value-of select="$bc_Side"/></xsl:message>
-       <xsl:message>The bif rank is <xsl:value-of select="$bc_Rnk"/></xsl:message>
--->    
-       <xsl:choose>
-               <xsl:when test="(($iBusStd = 'FSL') and (($iBc_Rnk = 'MASTER') or ($iBc_Rnk = 'INITIATOR')))">
-                       <use  x="{$arrow_X_}"  y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_{$connArrow_}"/>        
-                       <use  x="{$bus_X_}"    y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_BusArrowHInitiator"/>   
-               </xsl:when>
-               <xsl:when test="(($iBc_Side = '1') and not($iBusStd = 'FSL') and (($iBc_Rnk = 'MASTER') or ($iBc_Rnk = 'INITIATOR')))">
-                       <use  x="{$arrow_X_ - $BLKD_BIFC_W}"  y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_SplitBus_WEST"/>
-               </xsl:when>
-               <xsl:when test="(($iBc_Side = '1') and (($iBc_Rnk = 'SLAVE') or ($iBc_Rnk = 'TARGET') or ($iBc_Rnk = 'TRANSPARENT')))">
-                       <use  x="{$arrow_X_}"  y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_SplitBus_EAST"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <use  x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_{$connArrow_}"/>  
-                       <use  x="{$bus_X_}"   y="{$arrow_Y_}"   xlink:href="#{$iBusStd}_BusArrowHInitiator"/>   
-               </xsl:otherwise>
-       </xsl:choose>
-       
-       <xsl:variable name="text_X_">
-               <xsl:choose>
-                       <xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($bus_X_ - $BLKD_BUS_ARROW_W - (string-length($iBusName) * 5))"/></xsl:when>
-                       <xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($bus_X_ + $BLKD_BUS_ARROW_W)"/></xsl:when>
-               </xsl:choose>           
-       </xsl:variable> 
-               
-       
-       <text class="horizp2pbuslabel" 
-                         x="{$text_X_}"
-                         y="{($arrow_Y_)}">
-                       <xsl:value-of select="$iBusName"/>
-       </text>
-       
-</xsl:template>
-       
-       
-<xsl:template name="Define_SharedBus"> 
-       
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="sharedbus_w_"  select="($G_total_drawarea_W - ($BLKD_INNER_GAP * 2))"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bus_col_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-        <symbol id="{$iBusType}_SharedBus">
-               <use  x="0"                                   y="0"  xlink:href="#{$iBusType}_BusArrowWest"/>   
-               <use  x="{$sharedbus_w_ - $BLKD_BUS_ARROW_W}" y="0"  xlink:href="#{$iBusType}_BusArrowEast"/>   
-               
-               <rect x="{$BLKD_BUS_ARROW_W}" 
-                         y="{$BLKD_BUS_ARROW_G}"  
-                         width= "{$sharedbus_w_  - ($BLKD_BUS_ARROW_W * 2)}" 
-                         height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-</xsl:template>
-
-       
-<xsl:template name="Define_SplitBusses"> 
-       
-       <xsl:param name="iBusType"    sselect="'FSL'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bifc_r_" select="ceiling($BLKD_BIFC_W div 3)"/>
-       
-        <symbol id="{$iBusType}_SplitBus_EAST">
-               <use  x="0"  y="0"    xlink:href="#{$iBusType}_BusArrowWest"/>  
-               
-               <rect x="{$BLKD_BUS_ARROW_W}" 
-                         y="{$BLKD_BUS_ARROW_G}"  
-                         width= "{$BLKD_BIFC_W}" 
-                         height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busColor_}"/>
-                
-       </symbol>
-       
-       <xsl:variable name="splbus_w_" select="($BLKD_BUS_ARROW_W + $BLKD_BIFC_W + $BLKD_BIFC_Wi)"/>
-       
-        <symbol id="{$iBusType}_SplitBus_WEST">
-               <use   x="0"   y="0"  xlink:href="#{$iBusType}_SplitBus_EAST" transform="scale(-1,1) translate({$splbus_w_ * -1},0)"/>
-       </symbol>
-       
-        <symbol id="{$iBusType}_SplitBus_OneWay">
-                
-               <rect x="0" 
-                         y="{$BLKD_BUS_ARROW_G}"  
-                         width= "{($BLKD_BUS_ARROW_W * 2)}" 
-                         height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busColor_}"/>
-                
-               <rect x="{($BLKD_BUS_ARROW_W * 2)}"
-                         y="0"  
-                         width= "{$BLKD_BUS_ARROW_H}" 
-                         height="{$BLKD_BUS_ARROW_H}" style="stroke:none; fill:{$busColor_}"/>
-                
-       </symbol>
-       
-       
-</xsl:template>
-
-
-<xsl:template name="Define_SharedBus_Group"> 
-
-<!-- The Bridges go into the shared bus shape -->
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE">       
-       
-               <xsl:variable name="modInst_" select="@INSTANCE"/>
-               <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
-               
-               <xsl:call-template name="Define_Peripheral"> 
-                       <xsl:with-param name="iModVori"  select="'normal'"/>
-                       <xsl:with-param name="iModInst"  select="$modInst_"/>
-                       <xsl:with-param name="iModType"  select="$modType_"/>
-               </xsl:call-template>
-       
-       </xsl:for-each>
-       
- <symbol id="group_sharedBusses">
-       
-       <!-- Draw the shared bus shapes first -->       
-       <xsl:for-each select="BLKDSHAPES/SBSSHAPES/MODULE">     
-               <xsl:variable name="instance_"  select="@INSTANCE"/>
-               
-               <xsl:variable name="busStd_"   select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUSSTD"/>   
-               <xsl:variable name="busIndex_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUSINDEX"/> 
-               
-               <xsl:variable name="busY_"  select="($busIndex_ * $BLKD_SBS_LANE_H)"/>  
-               
-               <use  x="0"  y="{$busY_}"  xlink:href="#{$busStd_}_SharedBus"/> 
-               
-               <text class="sharedbuslabel" 
-                         x="8"
-                         y="{$busY_ + $BLKD_BUS_ARROW_H + 10}">
-                       <xsl:value-of select="$instance_"/>
-               </text>
-               
-       </xsl:for-each>
-</symbol>      
-
- <symbol id="KEY_SharedBus">
-       <use  x="0"  y="0"  xlink:href="#KEY_BusArrowWest"/>    
-       <use  x="30" y="0"  xlink:href="#KEY_BusArrowEast"/>    
-        
-       <xsl:variable name="key_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-               
-       <rect x="{$BLKD_BUS_ARROW_W}" 
-                 y="{$BLKD_BUS_ARROW_G}"  
-                 width= "{30 - $BLKD_BUS_ARROW_W}" 
-                 height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$key_col_}"/>
-</symbol>
-       
-</xsl:template>
-       
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Calculations.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Calculations.xsl
deleted file mode 100644 (file)
index fcff090..0000000
+++ /dev/null
@@ -1,1080 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-       
-<xsl:template name="_calc_Proc_Height">
-       <xsl:param name="iProcInst"  select="_processor_"/>
-       
-       <xsl:variable name="tot_bifs_h_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iProcInst)]/@BIFS_H)">0</xsl:if>
-               
-               <xsl:if test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iProcInst)]/@BIFS_H">
-                       <xsl:variable name="bifs_h_" select="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iProcInst)]/@BIFS_H)"/>
-                       <xsl:value-of select="(($BLKD_BIF_H + $BLKD_BIF_GAP) * $bifs_h_)"/>     
-               </xsl:if>
-       </xsl:variable> 
-       
-       <xsl:value-of select="(($BLKD_MOD_LANE_H * 2) + $tot_bifs_h_ + ($BLKD_MOD_LABEL_H + $BLKD_BIF_GAP))"/>  
-</xsl:template>
-
-<xsl:template name="_calc_Max_Proc_Height">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="proc_heights_">
-       
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <PROC HEIGHT="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE">
-                       <xsl:variable name="procInst_" select="@INSTANCE"/> 
-                       <xsl:variable name="proc_height_">
-                               <xsl:call-template name="_calc_Proc_Height">    
-                                       <xsl:with-param name="iProcInst" select="$procInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found Proc height as <xsl:value-of select="$proc_height_"/></xsl:message>
--->                    
-                       <PROC HEIGHT="{$proc_height_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-       <!-- Return the max of them --> 
-<!--   
-       <xsl:message>Found Proc ax as <xsl:value-of select="math:max(exsl:node-set($proc_heights_)/PROC/@HEIGHT)"/></xsl:message>
--->    
-
-       <xsl:value-of select="math:max(exsl:node-set($proc_heights_)/PROC/@HEIGHT)"/>
-</xsl:template>
-
-
-<xsl:template name="_calc_Proc_MemoryUnits_Height">
-       <xsl:param name="iProcInst"  select="_processor_"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and (@MODCLASS = 'MEMORY_UNIT'))])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and (@MODCLASS='MEMORY_UNIT'))]">
-               
-       <xsl:variable name="peri_gap_">
-               <xsl:choose>
-                       <xsl:when test="not(@CSTACK_INDEX)">
-                               <xsl:value-of select="$BLKD_BIF_H"/>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>   
-       </xsl:variable> 
-                       
-               
-               <!-- Store the all memory unit heights in a variable -->
-               <xsl:variable name="memU_heights_">
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and (@MODCLASS='MEMORY_UNIT'))]">
-<!--                           
-                               <xsl:variable name="unitId_" select="@PSTACK_MODS_Y"/>
--->                            
-                               <xsl:variable name="unitHeight_">
-                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                               <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <MEM_UNIT HEIGHT="{$unitHeight_ + $peri_gap_}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($memU_heights_)/MEM_UNIT/@HEIGHT)"/>
-       </xsl:if>
-</xsl:template>
-       
-
-<xsl:template name="_calc_Proc_Peripherals_Height">
-       <xsl:param name="iProcInst"  select="_processor_"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and not(@MODCLASS = 'MEMORY_UNIT'))])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and not(@MODCLASS='MEMORY_UNIT'))]">
-       
-               <xsl:variable name="peri_gap_">
-                       <xsl:if test="@CSTACK_INDEX">
-                               <xsl:value-of select="$BLKD_BIF_H"/>
-                       </xsl:if>
-                       <xsl:if test="not(@IS_CSTACK)">0</xsl:if>
-               </xsl:variable>
-       
-               <!-- Store the all peripheral heights in a variable -->
-               <xsl:variable name="peri_heights_">
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and not(@MODCLASS='MEMORY_UNIT'))]">
-                               <xsl:for-each select="MODULE">
-<!--                                   
-                                       <xsl:message><xsl:value-of select="@INSTANCE"/></xsl:message>           
--->                                    
-                                       <xsl:variable name="peri_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                                       <PERI HEIGHT="{$peri_height_ + $peri_gap_}"/>
-                               </xsl:for-each>         
-                       </xsl:for-each>
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($peri_heights_)/PERI/@HEIGHT)"/>
-       </xsl:if>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Space_AbvSbs_Height">
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-       
-       
-       <xsl:variable name = "stackAbvSbs_West_H_">
-               <xsl:choose>
-                       <xsl:when test="(($iStackToEast = '0')   and     ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($iStackToEast = 'NONE') and not($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($iStackToEast = '0') and ($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="($iStackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name = "stackAbvSbs_East_H_">
-               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                       <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="stackAbvSbs_heights_">
-               <STACK HEIGHT="{$stackAbvSbs_East_H_}"/>
-               <STACK HEIGHT="{$stackAbvSbs_West_H_}"/>
-       </xsl:variable>
-       
-       <xsl:value-of select="math:max(exsl:node-set($stackAbvSbs_heights_)/STACK/@HEIGHT)"/>
-</xsl:template>
-
-       
-<xsl:template name="_calc_Space_BlwSbs_Height">
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-               
-       <xsl:variable name = "stackBlwSbs_West_H_">
-               <xsl:choose>
-                       <xsl:when test="(($iStackToEast = '0')    and    ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($iStackToEast = 'NONE') and not($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($iStackToEast = '0') and    ($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="($iStackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       
-       <xsl:variable name = "stackBlwSbs_East_H_">
-               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                       <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="stackBlwSbs_heights_">
-               <STACK HEIGHT="{$stackBlwSbs_East_H_}"/>
-               <STACK HEIGHT="{$stackBlwSbs_West_H_}"/>
-       </xsl:variable>
-       
-       <xsl:value-of select="math:max(exsl:node-set($stackBlwSbs_heights_)/STACK/@HEIGHT)"/>
-</xsl:template>
-       
-
-       
-<xsl:template name="_calc_Stack_AbvSbs_Height">
-       <xsl:param name="iStackIdx"  select="100"/>
-<!--   
-       <xsl:message>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</xsl:message>
--->    
-       
-       <xsl:if test="(not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_ABVSBS))]) and
-                                  not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]))"><xsl:value-of select="$BLKD_PROC2SBS_GAP"/></xsl:if>
-       
-       <xsl:if test="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_ABVSBS))]) or
-                                  (/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[      (@STACK_HORIZ_INDEX = $iStackIdx)]))">
-               
-<!--                   
-               <xsl:variable name="peri_gap_">
-                       <xsl:value-of select="$BLKD_BIF_H"/>
-                       <xsl:choose>
-                               <xsl:when test="(@SHAPE_VERTI_INDEX)">
-                               </xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable> 
--->                    
-                       
-<!--           
-               <xsl:message>The gap is <xsl:value-of select="$peri_gap_"/></xsl:message>
-               <xsl:message>The gap is <xsl:value-of select="$peri_gap_"/></xsl:message>
-               <xsl:message>================================</xsl:message>
-               <xsl:message>================================</xsl:message>
-               <xsl:message>This is above <xsl:value-of select="@INSTANCE"/></xsl:message>
-               <xsl:message><xsl:value-of select="@INSTANCE"/> : <xsl:value-of select="$peri_height_"/></xsl:message>
--->    
-       
-       
-               <!-- Store the all peripheral heights in a variable -->
-               <xsl:variable name="peri_heights_">
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and not(@MODCLASS = 'MEMORY_UNIT') and (@IS_ABVSBS))]">
-                               <xsl:for-each select="MODULE">
-<!--                                   
-                                       <xsl:message>This is above <xsl:value-of select="@INSTANCE"/></xsl:message>
--->                                    
-                                       
-                                       <xsl:variable name="peri_height_">
-<!--                                           
-                                               <xsl:call-template name="_calc_Shape_Height">   
-                                                       <xsl:with-param name="shapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
--->     
-       
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                                       
-                                       <PERI HEIGHT="{$peri_height_ + $BLKD_BIF_H}"/>
-                               </xsl:for-each>
-                       </xsl:for-each>
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@MODCLASS = 'MEMORY_UNIT') and (@IS_ABVSBS))]">
-                       
-                               <xsl:variable name="memu_height_">
-                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                               <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                       
-<!--                           
-                               <xsl:message>Mem_Unit : <xsl:value-of select="@SHAPE_ID"/> : <xsl:value-of select="$memu_height_ + $peri_gap_"/></xsl:message>
--->                            
-                               <PERI HEIGHT="{$memu_height_ + $BLKD_BIF_H}"/>
-                       
-                       </xsl:for-each>
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_ABVSBS))]">
-                                       
-                               <xsl:variable name="proc_height_">
-                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                               <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-<!--                           
-               <xsl:message>===================================</xsl:message>
-               <xsl:message>Processor : <xsl:value-of select="@INSTANCE"/> : <xsl:value-of select="$peri_height_ + $peri_gap_"/></xsl:message>
-                               <PERI HEIGHT="{$proc_height_ + $BLKD_PROC2SBS_GAP }"/>
--->                                    
-                               <PERI HEIGHT="{$proc_height_ + $BLKD_BIF_H}"/>
-                               
-                       </xsl:for-each>
-               
-               </xsl:variable>
-               
-<!--           
-       <xsl:message><xsl:value-of select="@INSTANCE"/> : <xsl:value-of select="$peri_height_ + $peri_gap_"/></xsl:message>
-       <xsl:message>================================</xsl:message>
--->
-               
-<!--           
-       <xsl:message>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</xsl:message>
--->            
-               <xsl:value-of select="sum(exsl:node-set($peri_heights_)/PERI/@HEIGHT)"/>
-       </xsl:if>
-       
-</xsl:template>
-       
-<xsl:template name="_calc_Stack_BlwSbs_Height">
-       <xsl:param name="iStackIdx"  select="100"/>
-       
-               <!-- Store the all peripheral heights in a variable -->
-               <xsl:variable name="stack_heights_">
-                       
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_BLWSBS))])">
-                               <STACKSHAPE HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_BLWSBS))]">
-       
-                               <xsl:variable name="peri_gap_">
-                                       <xsl:choose>
-                                               <xsl:when test="(@SHAPE_VERTI_INDEX)">
-                                                       <xsl:value-of select="$BLKD_BIF_H"/>
-                                               </xsl:when>
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                       </xsl:choose>   
-                               </xsl:variable> 
-                               
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and not(@MODCLASS = 'MEMORY_UNIT') and (@IS_BLWSBS))]">
-                                       <xsl:for-each select="MODULE">
-<!--                                   
-                                       <xsl:message>This is below <xsl:value-of select="@INSTANCE"/></xsl:message>
--->    
-                                               <xsl:variable name="peri_height_">
-                                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                                               <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                                       </xsl:call-template>    
-                                               </xsl:variable>
-                                               
-                                               <STACKSHAPE HEIGHT="{$peri_height_ + $peri_gap_}"/>
-                                       </xsl:for-each>
-                               </xsl:for-each>
-               
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@MODCLASS = 'MEMORY_UNIT') and (@IS_BLWSBS))]">
-                       
-                                       <xsl:variable name="memu_height_">
-                                               <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                       <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                       
-                                       <STACKSHAPE HEIGHT="{$memu_height_ + $peri_gap_}"/>
-                               
-<!--                           
-                               <xsl:message>Mem_Unit : <xsl:value-of select="@SHAPE_ID"/> : <xsl:value-of select="$memu_height_ + $peri_gap_"/></xsl:message>
--->    
-                       
-                       </xsl:for-each>
-               </xsl:if>
-                       
-               <xsl:variable name="sbsBuckets_H_">
-                       <xsl:call-template name="_calc_Stack_SbsBuckets_Height">
-                               <xsl:with-param name="iStackIdx" select="$iStackIdx"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                       
-                       <STACKSHAPE HEIGHT="{$sbsBuckets_H_}"/>
-<!--                   
-                       <xsl:message>Sbs Bucket H : <xsl:value-of select="$sbsBuckets_H_"/></xsl:message>
--->
-               </xsl:variable>
-               
-<!--           
-               <xsl:message>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv</xsl:message>
--->            
-               <xsl:value-of select="sum(exsl:node-set($stack_heights_)/STACKSHAPE/@HEIGHT)"/>
-       
-</xsl:template>
-       
-
-<xsl:template name="_calc_Stack_SbsBuckets_Height">
-       <xsl:param name="iStackIdx"  select="1000"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-       
-               <!-- Store the all buckets heights in a variable -->
-               <xsl:variable name="bkt_heights_">
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-               
-                               <xsl:variable name="bkt_height_">
-                                       <xsl:call-template name="_calc_SbsBucket_Height">       
-                                               <xsl:with-param name="iBucketId" select="@BUSINDEX"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-<!--                           
-                               <xsl:message>Found shared buckets height as <xsl:value-of select="$bkt_height_"/></xsl:message>
--->                            
-                               <BKT HEIGHT="{$bkt_height_ + $BLKD_BIF_H}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($bkt_heights_)/BKT/@HEIGHT)"/>
-       </xsl:if>
-</xsl:template>
-
-       
-<xsl:template name="_calc_Max_Stack_BlwSbs_Height">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="blwSbs_heights_">
-               
-               <!-- Default, in case there are no modules or ports -->         
-               <BLW HEIGHT="0"/>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-       
-<!--                   
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="stack_height_">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-                       
-                       <BLW HEIGHT="{$stack_height_}"/>
-                       
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@WEST = (/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH -1))]">
-                       
-<!--                   
-                       <xsl:message>Last stack of index <xsl:value-of select="@WEST"/></xsl:message>
--->                    
-                       
-                       <xsl:variable name="stack_height_">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="@WEST"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-                       
-                       <BLW HEIGHT="{$stack_height_}"/>
-                       
-               </xsl:for-each>
-               
-               
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Blw Sbs max as <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/></xsl:message>
--->    
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Max_Stack_AbvSbs_Height">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="abvSbs_heights_">
-               
-               <!-- Default, in case there are no modules or ports -->         
-               <ABV HEIGHT="0"/>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-                       
-<!--                   
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="stack_height_">
-                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found stack of width <xsl:value-of select="$stack_width_"/></xsl:message>
-                       <xsl:message>==============================</xsl:message>
--->                    
-                       
-                       <ABV HEIGHT="{$stack_height_}"/>
-                       
-               </xsl:for-each>
-               
-               
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Blw Sbs max as <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/></xsl:message>
--->    
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($abvSbs_heights_)/ABV/@HEIGHT)"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Max_Proc_PerisAbvSbs_Height">
-       <xsl:param name="iProcInst"  select="_processor_"/>
-       
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="abvSbs_heights_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <ABV HEIGHT="0"/>
-               </xsl:if>
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE">
-                       <xsl:variable name="procInst_" select="@INSTANCE"/> 
-<!--                   
-                       <xsl:message>Found Blw Sbs height as <xsl:value-of select="$blwSbs_"/></xsl:message>
-                       <ABV HEIGHT="{$pAbvSbs_}"/>
--->                    
-                       
-                       <xsl:variable name="pAbvSbs_">
-                               <xsl:call-template name="_calc_Proc_PerisAbvSbs_Height">        
-                                       <xsl:with-param name="iProcInst" select="$iProcInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:variable name="memUs_">
-                               <xsl:call-template name="_calc_Proc_MemoryUnits_Height">        
-                                       <xsl:with-param name="iProcInst" select="$iProcInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found Peris Above height as <xsl:value-of select="$pAbvSbs_"/></xsl:message>
-                       <xsl:message>Found MemUs Above height as <xsl:value-of select="$memUs_"/></xsl:message>
-                       <xsl:message>Found PAbv Above height as <xsl:value-of select="($pAbvSbs_ + $memUs_)"/></xsl:message>
--->                    
-                       <ABV HEIGHT="{$pAbvSbs_ + $memUs_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Abv Sbs max as <xsl:value-of select="math:max(exsl:node-set($abvSbs_heights_)/ABV/@HEIGHT)"/></xsl:message>
--->    
-       
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($abvSbs_heights_)/ABV/@HEIGHT)"/>
-</xsl:template>
-       
-
-<xsl:template name="_calc_MultiProc_Stack_Height">
-       <xsl:param name="iMPStack_Blkd_X"  select="100"/>
-       
-               <xsl:variable name="mpStk_ShpHeights_">
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@HAS_MULTIPROCCONNS) and (@PSTACK_BLKD_X = $iMPStack_Blkd_X))])">
-                               <MPSHAPE HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@HAS_MULTIPROCCONNS) and (@PSTACK_BLKD_X = $iMPStack_Blkd_X))]">
-                               <xsl:variable name="shpClass_" select="@MODCLASS"/> 
-                               <xsl:variable name="shpHeight_">
-                                       <xsl:choose>
-                                               <xsl:when test="$shpClass_ = 'PERIPHERAL'">
-<!--                                                   
-                                                       <xsl:message>Found Multi Proc Peripheral</xsl:message> 
--->    
-                                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                                               <xsl:with-param name="iShapeInst" select="MODULE/@INSTANCE"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               <xsl:when test="$shpClass_ = 'MEMORY_UNIT'">
-<!--                                                   
-                                                       <xsl:message>Found Multi Proc Memory Unit</xsl:message> 
--->    
-                                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                               <xsl:with-param name="iShapeIndex"  select="@CSHAPE_INDEX"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Found <xsl:value-of select="$shpHeight_"/></xsl:message>
--->                            
-                               
-                               <MPSHAPE HEIGHT="{$shpHeight_}"/>
-                       </xsl:for-each>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found stack of height <xsl:value-of select="sum(exsl:node-set($mpStk_ShpHeights_)/MPSHAPE/@HEIGHT)"/></xsl:message>
--->    
-       
-       <xsl:value-of select="sum(exsl:node-set($mpStk_ShpHeights_)/MPSHAPE/@HEIGHT)"/>
-</xsl:template>
-
-<xsl:template name="_calc_Max_MultiProc_Stack_Height">
-       
-       <!-- Store the heights in a variable -->        
-       
-       <xsl:variable name="mpStks_Heights_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <MPSTK HEIGHT="0"/>
-               </xsl:if>
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@PSTACK_BLKD_X)]">
-                       <xsl:variable name="mpstack_height_">
-                               <xsl:call-template name="_calc_MultiProc_Stack_Height">
-                                       <xsl:with-param name="iMPStack_Blkd_X" select="(@PSTACK_BLKD_X + 1)"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found <xsl:value-of select="$mpstack_height_"/></xsl:message>
--->                    
-                       <MPSTK HEIGHT="{$mpstack_height_}"/>
-               </xsl:for-each>
-               
-       </xsl:variable>
-
-               <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($mpStks_Heights_)/MPSTK/@HEIGHT)"/>
-       
-</xsl:template>
-
-
-
-<xsl:template name="_calc_Stack_Shape_Y">
-       
-       <xsl:param name="iHorizIdx"  select="100"/>
-       <xsl:param name="iVertiIdx"  select="100"/>
-       
-       
-<!--   
-       <xsl:message>Y at H index <xsl:value-of select="$iHorizIdx"/></xsl:message>
-       <xsl:message>Y at V index <xsl:value-of select="$iVertiIdx"/></xsl:message>
-       <xsl:param name="sbsGap"    select="0"/>
-       <xsl:variable name="numSBSs_"     select="count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE)"/>      
-       <xsl:variable name="sbs_LANE_H_"    select="($numSBSs_ * $BLKD_SBS_LANE_H)"/>
-       <xsl:variable name="sbsGap_"   select="($BLKD_PROC2SBS_GAP + $sbs_LANE_H_)"/>
--->    
-       
-       <xsl:variable name="sbsGap_" select="((count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE) * $BLKD_SBS_LANE_H) + $BLKD_PROC2SBS_GAP)"/>       
-       
-       <xsl:if test="(not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]) and  
-                          not(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(  (@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]) and
-                          not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(     (@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]))">0</xsl:if>
-       
-       
-       <xsl:if test="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))])   or  
-                          (/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(  (@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))])   or
-                          (/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(     (@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]))">
-               <!-- Store the spaces above this one in a variable -->
-               <xsl:variable name="spaces_above_">
-               
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX &lt; $iVertiIdx))])">
-                               <SPACE HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <!-- Store the height of all peripherals and memory units above this one-->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx)  and (@SHAPE_VERTI_INDEX &lt; $iVertiIdx))]">
-                               
-                               <xsl:if test="not(@MODCLASS='MEMORY_UNIT')">    
-                                       <xsl:variable name="peri_height_">
-                                               <xsl:call-template name="_calc_Shape_Height">   
-                                                       <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-<!--                                   
-                                       <xsl:message>Found peri height <xsl:value-of select="$peri_height_"/></xsl:message>
--->    
-                                       <SPACE HEIGHT="{$peri_height_ + $BLKD_BIF_H}"/>
-                               </xsl:if>
-                               
-                               <xsl:if test="(@MODCLASS='MEMORY_UNIT')">       
-                                       <xsl:variable name="memu_height_">
-                                               <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                       <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-<!--                                   
-                                       <xsl:message>Found unit height <xsl:value-of select="$memu_height_"/></xsl:message>
--->                                    
-                                       <SPACE HEIGHT="{$memu_height_ + $BLKD_BIF_H}"/>
-                               </xsl:if>
-                               
-                       </xsl:for-each>
-                       
-                       <!-- Store the height of all the processors above this one-->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[((@STACK_HORIZ_INDEX = $iHorizIdx)  and (@SHAPE_VERTI_INDEX &lt; $iVertiIdx))]">
-                               <xsl:variable name="proc_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <SPACE HEIGHT="{$proc_height_ + $BLKD_BIF_H}"/>
-                       </xsl:for-each>
-                       
-                       <!-- If its a peripheral that is below the shared busses, or its a shared bus bucket -->
-                       <!-- add the height of the shared busses and the processor.                           -->
-                       <xsl:if  test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]/@IS_BLWSBS)">
-                               <SPACE HEIGHT="{$sbsGap_}"/>
-                       </xsl:if>
-                       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))])">
-                               <SPACE HEIGHT="{$sbsGap_}"/>
-                       </xsl:if>
-                       
-                       <!-- Store the height of all shared bus buckets above this one-->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[((@STACK_HORIZ_INDEX = $iHorizIdx)  and (@SHAPE_VERTI_INDEX &lt; $iVertiIdx))]">
-                               <xsl:variable name="bkt_height_">
-                                       <xsl:call-template name="_calc_SbsBucket_Height">
-                                               <xsl:with-param name="iBucketId" select="@BUSINDEX"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <SPACE HEIGHT="{$bkt_height_ + $BLKD_BIF_H}"/>
-                       </xsl:for-each>
-                       
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($spaces_above_)/SPACE/@HEIGHT)"/>
-       </xsl:if>
-       
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Max_BusConnLane_BifY">
-       
-       <xsl:param name="iBusName" select="'_busname_'"/>
-       
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="busConnYs_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE/BUSCONN)">
-                       <BUSCONNY HEIGHT="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE[(@BUSNAME = $iBusName)]/BUSCONN">
-                       
-                       <xsl:variable name="peri_cstk_y_">
-                               <xsl:call-template name="_calc_CStackShapesAbv_Height">
-                                       <xsl:with-param name="iCStackIndex"  select="../@CSTACK_INDEX"/>
-                                       <xsl:with-param name="ICStackModY"   select="@CSTACK_MODS_Y"/>
-                               </xsl:call-template>    
-                       </xsl:variable> 
-                               
-                               <xsl:variable name="peri_bif_dy_">
-                                       <xsl:value-of select="(($BLKD_BIF_H + $BLKD_BIF_GAP)  * @BIF_Y)"/>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="peri_bc_y_">
-                                       <xsl:value-of select="($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_BIF_GAP + $peri_bif_dy_ + ceiling($BLKD_BIF_H div 2)) - ceiling($BLKD_BIFC_H div 2)"/>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found a busconn lane</xsl:message>
--->                    
-                       <BUSCONNY HEIGHT="{$peri_cstk_y_ + $peri_bif_dy_ + $peri_bc_y_}"/>
-               </xsl:for-each>
-               
-       </xsl:variable>
-
-               <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($busConnYs_)/BUSCONNY/@HEIGHT)"/>
-       
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Min_BusConnLane_BifY">
-       
-       <xsl:param name="iBusName" select="'_busname_'"/>
-       
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="busConnYs_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE/BUSCONN)">
-                       <BUSCONNY HEIGHT="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE[(@BUSNAME = $iBusName)]/BUSCONN">
-                       
-                       <xsl:variable name="peri_cstk_y_">
-                               <xsl:call-template name="_calc_CStackShapesAbv_Height">
-                                       <xsl:with-param name="iCStackIndex"  select="../@CSTACK_INDEX"/>
-                                       <xsl:with-param name="iCStackModY"   select="@CSTACK_MODS_Y"/>
-                               </xsl:call-template>    
-                       </xsl:variable> 
-                               
-                               <xsl:variable name="peri_bif_dy_">
-                                       <xsl:value-of select="(($BLKD_BIF_H + $BLKD_BIF_GAP)  * @BIF_Y)"/>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="peri_bc_y_">
-                                       <xsl:value-of select="($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_BIF_GAP + $peri_bif_dy_ + ceiling($BLKD_BIF_H div 2)) - ceiling($BLKD_BIFC_H div 2)"/>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found a busconn lane</xsl:message>
--->                    
-                       <BUSCONNY HEIGHT="{$peri_cstk_y_ + $peri_bc_y_}"/>
-               </xsl:for-each>
-               
-       </xsl:variable>
-
-               <!-- Return the min of them --> 
-       <xsl:value-of select="math:min(exsl:node-set($busConnYs_)/BUSCONNY/@HEIGHT)"/>
-       
-</xsl:template>
-       
-<xsl:template name="_calc_Stack_Height">
-       <xsl:param name="iStackIdx"  select="100"/>
-       
-       <xsl:variable name="stack_height_">
-               <!-- if this is called with no vert index of a shape 
-                        it defaults to the total height of the stack -->
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$iStackIdx"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:value-of select="$stack_height_"/>
-</xsl:template>
-       
-<!--   
--->    
-       
-       
-<xsl:template name="_calc_Stack_Width">
-       <xsl:param name="iStackIdx"  select="100"/>
-       
-<!--   
-       <xsl:message>=============Stack Idx <xsl:value-of select="$iStackIdx"/>====</xsl:message>                       
--->    
-       <xsl:variable name="shape_widths_">     
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[@STACK_HORIZ_INDEX = $iStackIdx])">
-                       <SHAPE WIDTH="0"/>
-               </xsl:if>
-                       
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@STACK_HORIZ_INDEX = $iStackIdx])">
-                       <SHAPE WIDTH="0"/>
-               </xsl:if>
-                       
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-<!--                   
-                       <xsl:variable name="proc_w_">
-                               <xsl:value-of select="$BLKD_MOD_W"/>
-                       </xsl:variable>
-                       <xsl:message>Found processor of width <xsl:value-of select="$proc_w_"/></xsl:message>
--->    
-                       <SHAPE WIDTH="{$BLKD_MOD_W}"/>
-               </xsl:for-each>
-                       
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-                               
-                       <xsl:variable name="shpClass_" select="@MODCLASS"/> 
-                       <xsl:variable name="shape_w_">
-                               <xsl:choose>
-                                               
-                                               <xsl:when test="$shpClass_ = 'PERIPHERAL'">
-                                                       <xsl:value-of select="$BLKD_MOD_W"/>
-                                               </xsl:when>
-                                               
-                                               <xsl:when test="$shpClass_ = 'MEMORY_UNIT'">
-                                                       <xsl:value-of select="($BLKD_MOD_W * @MODS_W)"/>
-                                               </xsl:when>
-                                               
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                               
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--           
-                       <xsl:message>Found shape width <xsl:value-of select="$shape_w_"/></xsl:message>
--->                            
-                               
-                       <SHAPE WIDTH="{$shape_w_}"/>
-               </xsl:for-each>
-                       
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-                       <xsl:variable name="bucket_w_">
-                                 <xsl:value-of select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       </xsl:variable>
-                       
-<!--                           
-                       <xsl:message>Found bucket of width <xsl:value-of select="$bucket_w_"/></xsl:message>
--->                            
-                       <SHAPE WIDTH="{$bucket_w_}"/>
-               </xsl:for-each>
-                       
-       </xsl:variable>
-       
-       <xsl:value-of select="math:max(exsl:node-set($shape_widths_)/SHAPE/@WIDTH)"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Stack_X">
-       <xsl:param name="iStackIdx"  select="0"/>
-<!--   
-       <xsl:message>Looking for stack indexes less than <xsl:value-of select="$iStackIdx"/></xsl:message>
--->    
-       
-       <!-- Store the stack widths in a variable -->   
-       <xsl:variable name="stackspace_widths_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES[(@STACK_HORIZ_INDEX &lt; $iStackIdx)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES[(@STACK_HORIZ_INDEX &lt; $iStackIdx)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX &lt; $iStackIdx)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt;= $iStackIdx)]">
-                       
-<!--           
-                       <xsl:message>==============================</xsl:message>
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
-                       <xsl:message>Bus lane space width <xsl:value-of select="@BUSLANES_W"/></xsl:message>
-                       <xsl:message>Bus lane space is <xsl:value-of select="$space_width_"/></xsl:message>
--->    
-                       <xsl:variable name="space_width_" select="($BLKD_BUS_LANE_W * @BUSLANES_W)"/>
-                       <xsl:variable name="stack_width_">
-                               <xsl:if test="not(@EAST = $iStackIdx)">
-                                       <xsl:call-template name="_calc_Stack_Width">
-                                               <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                                       </xsl:call-template>
-                               </xsl:if>
-                               <xsl:if test="(@EAST = $iStackIdx)">0</xsl:if>
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found stack of width <xsl:value-of select="$stack_width_"/></xsl:message>
-                       <xsl:message>==============================</xsl:message>
--->                    
-                       
-                       <STACKSPACE WIDTH="{$stack_width_ + $space_width_}"/>
-                       
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(not(@EAST) and (@WEST = ($iStackIdx -1)))]">
-                       <xsl:variable name="space_width_" select="($BLKD_BUS_LANE_W * @BUSLANES_W)"/>
-                       
-<!--                   
-                       <xsl:message>Found end space of <xsl:value-of select="$space_width_"/></xsl:message>
--->                    
-                       <STACKSPACE WIDTH="{$space_width_}"/>
-               </xsl:for-each>
-               
-               
-       </xsl:variable>
-       
-       <xsl:value-of select="sum(exsl:node-set($stackspace_widths_)/STACKSPACE/@WIDTH)"/>
-       
-</xsl:template>        
-       
-<xsl:template name="_calc_Space_Width">
-       
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       
-<!--   
-       <xsl:message>Stack to West <xsl:value-of select="$stackToWest"/></xsl:message>
-       <xsl:message>Stack to East <xsl:value-of select="$stackToEast"/></xsl:message>
--->    
-       
-       <xsl:variable name="spaceWidth_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST = $iStackToEast) or (not($iStackToWest = 'NONE') and (@WEST = $iStackToWest)))]">
-                               <xsl:value-of select="((/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST = $iStackToEast) or (not($iStackToWest = 'NONE') and (@WEST = $iStackToWest)))]/@BUSLANES_W) * $BLKD_BUS_LANE_W)"/>
-                       </xsl:when>     
-                       <xsl:otherwise>0</xsl:otherwise>        
-               </xsl:choose>   
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>Space width <xsl:value-of select="$spaceWidth_"/></xsl:message>
--->    
-       
-       <xsl:value-of select="$spaceWidth_"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Space_X">
-       
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       
-<!--   
-       <xsl:message>Stack East <xsl:value-of select="$stackToEast"/></xsl:message>
-       <xsl:message>Stack West <xsl:value-of select="$stackToWest"/></xsl:message>
--->    
-       
-       <!-- Store the stack widths in a variable -->   
-       
-<!--   
-       <xsl:message>Looking for stack indexes less than <xsl:value-of select="$stackIdx"/></xsl:message>
--->    
-       
-       <xsl:variable name="stackspace_widths_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES[(@STACK_HORIZ_INDEX &lt; $iStackToEast)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES[(@STACK_HORIZ_INDEX &lt; $iStackToEast)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX &lt; $iStackToEast)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST &lt; $iStackToEast) or (not($iStackToWest = 'NONE') and (@EAST &lt;= $iStackToWest)))]">
-                       
-<!--           
-                       <xsl:message>==============================</xsl:message>
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="space_width_" select="($BLKD_BUS_LANE_W * @BUSLANES_W)"/>
-<!--                   
-                       <xsl:message>Bus lane space width <xsl:value-of select="@BUSLANES_W"/></xsl:message>
-                       <xsl:message>Bus lane space is <xsl:value-of select="$space_width_"/></xsl:message>
--->    
-                               <xsl:variable name="stack_width_">
-                                       <xsl:call-template name="_calc_Stack_Width">
-                                               <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found stack of width <xsl:value-of select="$stack_width_"/></xsl:message>
-                       <xsl:message>==============================</xsl:message>
--->                    
-                       
-                       <STACKSPACE WIDTH="{$stack_width_ + $space_width_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-       <xsl:variable name = "stackToWest_W_">
-               <xsl:choose>
-                       <xsl:when test="(($iStackToEast = '0')   and     ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($iStackToEast = 'NONE') and not($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($iStackToEast = '0') and ($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="($iStackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-<!--   
-       <xsl:variable name = "stackToEast_W_">
-               <xsl:call-template name="_calc_Stack_Width">
-                       <xsl:with-param name="stackIdx"  select="$stackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stackToEast_W_ div 2)"/>
--->    
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stackToWest_W_ div 2)"/>
-        
-       <xsl:value-of select="sum(exsl:node-set($stackspace_widths_)/STACKSPACE/@WIDTH) - $extSpaceWest_W_"/>
-</xsl:template>        
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Dimensions.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Dimensions.xsl
deleted file mode 100644 (file)
index bf9bf94..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-       
-<!-- 
-       ======================================================
-                       BUS INTERFACE DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_BIF_H"     select="16"/>                              
-<xsl:variable name="BLKD_BIF_W"     select="32"/>                              
-       
-<xsl:variable name="BLKD_BIFC_H"    select="24"/>                              
-<xsl:variable name="BLKD_BIFC_W"    select="24"/>                              
-
-<xsl:variable name="BLKD_BIFC_dx"   select="ceiling($BLKD_BIFC_W div 5)"/>
-<xsl:variable name="BLKD_BIFC_dy"   select="ceiling($BLKD_BIFC_H div 5)"/>
-<xsl:variable name="BLKD_BIFC_Hi"   select="($BLKD_BIFC_H - ($BLKD_BIFC_dy * 2))"/>    
-<xsl:variable name="BLKD_BIFC_Wi"   select="($BLKD_BIFC_W - ($BLKD_BIFC_dx * 2))"/>
-
-<xsl:variable name="BLKD_BIF_TYPE_ONEWAY"  select="'OneWay'"/>
-       
-<!-- 
-       ======================================================
-                       GLOLBAL BUS INTERFACE DIMENSIONS
-               (Define for global MdtSVG_BifShapes.xsl which is used across all
-            diagrams to define the shapes of bifs the same across all diagrams)
-       ======================================================
--->    
-       
-<xsl:variable name="BIF_H"     select="$BLKD_BIF_H"/>                          
-<xsl:variable name="BIF_W"     select="$BLKD_BIF_W"/>
-       
-<xsl:variable name="BIFC_H"    select="$BLKD_BIFC_H"/>
-<xsl:variable name="BIFC_W"    select="$BLKD_BIFC_W"/>
-       
-<xsl:variable name="BIFC_dx"   select="$BLKD_BIFC_dx"/>
-<xsl:variable name="BIFC_dy"   select="$BLKD_BIFC_dy"/>
-       
-<xsl:variable name="BIFC_Hi"   select="$BLKD_BIFC_Hi"/>        
-<xsl:variable name="BIFC_Wi"   select="$BLKD_BIFC_Wi"/>
-
-
-<!-- 
-       ======================================================
-                       BUS DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_P2P_BUS_W"     select="($BLKD_BUS_ARROW_H - ($BLKD_BUS_ARROW_G * 2))"/>       
-<xsl:variable name="BLKD_SBS_LANE_H"    select="($BLKD_MOD_H + ($BLKD_BIF_H * 2))"/>   
-<xsl:variable name="BLKD_BUS_LANE_W"    select="($BLKD_BIF_W + ($BLKD_MOD_BIF_GAP_H * 2))"/>
-<xsl:variable name="BLKD_BUS_ARROW_W"   select="ceiling($BLKD_BIFC_W div 3)"/> 
-<xsl:variable name="BLKD_BUS_ARROW_H"   select="ceiling($BLKD_BIFC_H div 2)"/>
-<xsl:variable name="BLKD_BUS_ARROW_G"   select="ceiling($BLKD_BIFC_W div 12)"/>
-       
-       
-<!-- 
-       ======================================================
-                       IO PORT DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_IOP_H"   select="16"/>                                
-<xsl:variable name="BLKD_IOP_W"   select="16"/>                                
-<xsl:variable name="BLKD_IOP_SPC" select="12"/>                                
-
-       
-<!-- 
-       ======================================================
-                       INTERRUPT NOTATION DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_INTR_W"  select="18"/>
-<xsl:variable name="BLKD_INTR_H"  select="18"/>
-       
-<!-- 
-       ======================================================
-                       MODULE DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_MOD_IO_GAP"   select="8"/>    
-       
-<xsl:variable name="BLKD_MOD_W"  select="(                    ($BLKD_BIF_W * 2) + ($BLKD_MOD_BIF_GAP_H * 1) + ($BLKD_MOD_LANE_W * 2))"/>
-<xsl:variable name="BLKD_MOD_H"  select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * 1) + ($BLKD_MOD_BIF_GAP_V * 1) + ($BLKD_MOD_LANE_H * 2))"/>
-       
-<xsl:variable name="BLKD_MOD_BIF_GAP_H" select="ceiling($BLKD_BIF_H div 4)"/>                          
-<xsl:variable name="BLKD_MOD_BIF_GAP_V" select="ceiling($BLKD_BIFC_H div 2)"/>                         
-       
-<xsl:variable name="BLKD_MOD_LABEL_W"   select="(($BLKD_BIF_W * 2) + $BLKD_MOD_BIF_GAP_H)"/>
-<xsl:variable name="BLKD_MOD_LABEL_H"   select="(($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 3))"/>
-       
-<xsl:variable name="BLKD_MOD_LANE_W"    select="ceiling($BLKD_BIF_W div 3)"/>
-<xsl:variable name="BLKD_MOD_LANE_H"    select="ceiling($BLKD_BIF_H div 4)"/>
-       
-<xsl:variable name="BLKD_MOD_EDGE_W"    select="ceiling($BLKD_MOD_LANE_W div 2)"/>
-<xsl:variable name="BLKD_MOD_SHAPES_G"  select="($BLKD_BIF_W + $BLKD_BIF_W)"/>
-       
-<xsl:variable name="BLKD_MOD_BKTLANE_H" select="$BLKD_BIF_H"/>
-<xsl:variable name="BLKD_MOD_BKTLANE_W" select="$BLKD_BIF_H"/>
-       
-<xsl:variable name="BLKD_MOD_BUCKET_G"  select="ceiling($BLKD_BIF_W div 2)"/>
-       
-<xsl:variable name="BLKD_MPMC_MOD_H"    select="(($BLKD_BIF_H * 1) + ($BLKD_MOD_BIF_GAP_V * 2) + ($BLKD_MOD_LANE_H * 2))"/>
-       
-       
-<!-- 
-       ======================================================
-                       GLOBAL DIAGRAM DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_IORCHAN_H"      select="$BLKD_BIF_H"/>
-<xsl:variable name="BLKD_IORCHAN_W"      select="$BLKD_BIF_H"/>
-       
-<xsl:variable name="BLKD_PRTCHAN_H"      select="($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 2)"/>
-<xsl:variable name="BLKD_PRTCHAN_W"      select="($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 2) + 8"/>
-       
-<xsl:variable name="BLKD_DRAWAREA_MIN_W" select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * 3) + ($BLKD_MOD_BUCKET_G * 2)))"/>
-       
-<xsl:variable name="BLKD_INNER_X"               select="($BLKD_PRTCHAN_W  + $BLKD_IORCHAN_W + $BLKD_INNER_GAP)"/>
-<xsl:variable name="BLKD_INNER_Y"               select="($BLKD_PRTCHAN_H  + $BLKD_IORCHAN_H + $BLKD_INNER_GAP)"/>
-<xsl:variable name="BLKD_INNER_GAP"      select="ceiling($BLKD_MOD_W div 2)"/>
-       
-<xsl:variable name="BLKD_SBS2IP_GAP"    select="$BLKD_MOD_H"/>
-<xsl:variable name="BLKD_BRIDGE_GAP"    select="($BLKD_BUS_LANE_W * 4)"/>
-<xsl:variable name="BLKD_IP2UNK_GAP"    select="$BLKD_MOD_H"/>
-<xsl:variable name="BLKD_PROC2SBS_GAP"  select="($BLKD_BIF_H * 2)"/>
-<xsl:variable name="BLKD_IOR2PROC_GAP"  select="$BLKD_BIF_W"/>
-<xsl:variable name="BLKD_MPMC2PROC_GAP" select="($BLKD_BIF_H * 2)"/>
-<xsl:variable name="BLKD_SPECS2KEY_GAP" select="$BLKD_BIF_W"/>
-<xsl:variable name="BLKD_DRAWAREA2KEY_GAP"  select="ceiling($BLKD_BIF_W div 3)"/>
-       
-<xsl:variable name="BLKD_KEY_H"         select="250"/>
-<xsl:variable name="BLKD_KEY_W"         select="($BLKD_DRAWAREA_MIN_W + ceiling($BLKD_DRAWAREA_MIN_W div 2.5))"/>
-       
-       
-<xsl:variable name="BLKD_SPECS_H"       select="100"/>
-<xsl:variable name="BLKD_SPECS_W"       select="300"/>
-       
-       
-       
-<xsl:variable name="BLKD_BKT_MODS_PER_ROW"   select="3"/>
-       
-<!--           
-<xsl:template name="Print_Dimensions">
-       <xsl:message>MOD_LABEL_W  : <xsl:value-of select="$MOD_LABEL_W"/></xsl:message>
-       <xsl:message>MOD_LABEL_H  : <xsl:value-of select="$MOD_LABEL_H"/></xsl:message>
-       
-       <xsl:message>MOD_LANE_W   : <xsl:value-of select="$MOD_LANE_W"/></xsl:message>
-       <xsl:message>MOD_LANE_H   : <xsl:value-of select="$MOD_LANE_H"/></xsl:message>
-       
-       <xsl:message>MOD_EDGE_W   : <xsl:value-of select="$MOD_EDGE_W"/></xsl:message>
-       <xsl:message>MOD_SHAPES_G : <xsl:value-of select="$MOD_SHAPES_G"/></xsl:message>
-       
-       <xsl:message>MOD_BKTLANE_W   : <xsl:value-of select="$MOD_BKTLANE_W"/></xsl:message>
-       <xsl:message>MOD_BKTLANE_H   : <xsl:value-of select="$MOD_BKTLANE_H"/></xsl:message>
-       <xsl:message>MOD_BUCKET_G    : <xsl:value-of select="$MOD_BUCKET_G"/></xsl:message>
-       
-</xsl:template>                
--->    
-       
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_IOPorts.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_IOPorts.xsl
deleted file mode 100644 (file)
index 9a53158..0000000
+++ /dev/null
@@ -1,498 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-<!--   
-<xsl:param name="BLKD_IOP_H"   select="16"/>                           
-<xsl:param name="BLKD_IOP_W"   select="16"/>                           
-<xsl:param name="BLKD_IOP_SPC" select="12"/>                           
-<xsl:param name="MOD_IO_GAP"   select="8"/>                            
--->
-       
-
-<!-- ======================= DEF BLOCK =============================== -->
-<xsl:template name="Define_IOPorts">
-       
-       <xsl:variable name="key_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-               <xsl:variable name="key_lt_col_">
-                       <xsl:call-template name="BusType2LightColor">
-                               <xsl:with-param name="iBusType" select="'KEY'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-
-        <symbol id="G_IOPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$BLKD_IOP_W}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/> 
-                       
-               <path class="ioport"
-                         d="M   0,0
-                                L   {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                L   0,{$BLKD_IOP_H}
-                                Z" style="stroke:none; fill:{$COL_SYSPRT}"/>   
-       </symbol>
-
-        <symbol id="G_BIPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$BLKD_IOP_W}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/> 
-                       
-               <path class="btop"
-                         d="M 0,{ceiling($BLKD_IOP_H div 2)}
-                                {ceiling($BLKD_IOP_W div 2)},0
-                                {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$COL_SYSPRT}"/>   
-                                
-               <path class="bbot"
-                         d="M 0,{ceiling($BLKD_IOP_H div 2)}
-                                {ceiling($BLKD_IOP_W div 2)},{$BLKD_IOP_H}
-                                {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$COL_SYSPRT}"/>   
-                                
-       </symbol>
-
-        <symbol id="KEY_IOPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$BLKD_IOP_W}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/> 
-                       
-               <path class="ioport"
-                         d="M   0,0
-                                L   {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                L   0,{$BLKD_IOP_H}
-                                Z" style="stroke:none; fill:{$key_col_}"/>     
-       </symbol>
-       
-        <symbol id="KEY_BIPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$BLKD_IOP_W}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/> 
-                       
-               <path class="btop"
-                         d="M 0,{ceiling($BLKD_IOP_H div 2)}
-                                {ceiling($BLKD_IOP_W div 2)},0
-                                {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$key_col_}"/>     
-                                
-               <path class="bbot"
-                         d="M 0,{ceiling($BLKD_IOP_H div 2)}
-                                {ceiling($BLKD_IOP_W div 2)},{$BLKD_IOP_H}
-                                {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$key_col_}"/>
-       </symbol>
-       
-        <symbol id="KEY_INPort">
-               <use   x="0"   y="0"   xlink:href="#KEY_IOPort"/>
-               <rect  
-                       x="{$BLKD_IOP_W}"  
-                       y="0" 
-                       width= "{ceiling($BLKD_IOP_W div 2)}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/> 
-       </symbol>
-       
-        <symbol id="KEY_OUTPort">
-               <use   x="0"   y="0"   xlink:href="#KEY_IOPort" transform="scale(-1,1) translate({$BLKD_IOP_W * -1},0)"/>
-               <rect  
-                       x="{$BLKD_IOP_W}"  
-                       y="0" 
-                       width= "{ceiling($BLKD_IOP_W div 2)}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/> 
-       </symbol>
-
-        <symbol id="KEY_INOUTPort">
-               <use   x="0"   y="0"   xlink:href="#KEY_BIPort"/>
-               <rect  
-                       x="{$BLKD_IOP_W}"  
-                       y="0" 
-                       width= "{ceiling($BLKD_IOP_W div 2)}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/> 
-       </symbol>
-
-
-</xsl:template>
-
-<!-- ======================= DRAW BLOCK =============================== -->
-
-<xsl:template name="Draw_IOPorts"> 
-       
-       <xsl:variable name="ports_count_"    select="count(EXTERNALPORTS/PORT)"/>
-       
-       <xsl:if test="($ports_count_ &gt; 30)">
-               <xsl:call-template name="Draw_IOPorts_4Sides"/> 
-       </xsl:if>
-       
-       <xsl:if test="($ports_count_ &lt;= 30)">
-               <xsl:call-template name="Draw_IOPorts_2Sides"/> 
-       </xsl:if>
-</xsl:template>
-
-<xsl:template name="Draw_IOPorts_2Sides"> 
-       
-       <xsl:variable name="ports_count_"    select="count(EXTERNALPORTS/PORT)"/>
-       <xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 2)"/>
-       
-       <xsl:variable name="h_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($G_total_drawarea_W  - (($ports_per_side_ * $BLKD_IOP_W) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-       <xsl:variable name="v_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($G_total_drawarea_H  - (($ports_per_side_ * $BLKD_IOP_H) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-
-       <xsl:for-each select="EXTERNALPORTS/PORT">
-               <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-               
-               <xsl:variable name="poffset_" select="0"/>
-               <xsl:variable name="pcount_"  select="$poffset_ + (position() -1)"/>
-               
-               <xsl:variable name="pdir_">
-                       <xsl:choose>
-                               <xsl:when test="(@DIR='I'  or @DIR='IN'  or @DIR='INPUT')">I</xsl:when>
-                               <xsl:when test="(@DIR='O'  or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
-                               <xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
-                               <xsl:otherwise>I</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pside_">
-                       <xsl:choose>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 0) and ($pcount_ &lt; ($ports_per_side_ * 1)))">W</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 1) and ($pcount_ &lt; ($ports_per_side_ * 2)))">E</xsl:when>
-                               <xsl:otherwise>D</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pdec_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="px_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $BLKD_IOP_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)) - 2)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $G_total_drawarea_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)))"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="py_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $G_total_drawarea_H)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $BLKD_IOP_H)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-       
-               <xsl:variable name="prot_">
-                       <xsl:choose>
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               
-               <xsl:variable name="txo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_  = 'W')">-10</xsl:when>
-                               <xsl:when test="($pside_  = 'S')">6</xsl:when>
-                                <xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($BLKD_IOP_W * 2) - 4)"/></xsl:when>
-                               <xsl:when test="($pside_  = 'N')">6</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="tyo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_IOP_H * 2) + 4"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')">-2</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-
-               <xsl:if test="$pdir_ = 'B'">       
-                       <use   x="{$px_}"  
-                              y="{$py_}"  
-                                  id="{@NAME}"
-                              xlink:href="#G_BIPort" 
-                              transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">    
-                       <rect  
-                               x="{$px_}"  
-                               y="{$py_}" 
-                               width= "{$BLKD_IOP_W}" 
-                               height="{$BLKD_IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/> 
-               </xsl:if>
-               
-               <xsl:if test="not($pdir_ = 'B')">          
-                       <use   x="{$px_}"  
-                              y="{$py_}"  
-                                  id="{@NAME}"
-                              xlink:href="#G_IOPort" 
-                              transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <text class="iopnumb"
-                       x="{$px_ + $txo_}" 
-                       y="{$py_ + $tyo_}">
-                       <xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
-               </text>
-               
-       </xsl:for-each>
-       
-</xsl:template>
-
-
-<xsl:template name="Draw_IOPorts_4Sides"> 
-       
-       <xsl:variable name="ports_count_"    select="count(EXTERNALPORTS/PORT)"/>
-       <xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 4)"/>
-       
-       <xsl:variable name="h_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($G_total_drawarea_W  - (($ports_per_side_ * $BLKD_IOP_W) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-       <xsl:variable name="v_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($G_total_drawarea_H  - (($ports_per_side_ * $BLKD_IOP_H) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-
-       <xsl:for-each select="EXTERNALPORTS/PORT">
-               <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-               
-               <xsl:variable name="poffset_" select="0"/>
-               <xsl:variable name="pcount_"  select="$poffset_ + (position() -1)"/>
-               
-               <xsl:variable name="pdir_">
-                       <xsl:choose>
-                               <xsl:when test="(@DIR='I'  or @DIR='IN'  or @DIR='INPUT')">I</xsl:when>
-                               <xsl:when test="(@DIR='O'  or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
-                               <xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
-                               <xsl:otherwise>I</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pside_">
-                       <xsl:choose>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 0) and ($pcount_ &lt; ($ports_per_side_ * 1)))">W</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 1) and ($pcount_ &lt; ($ports_per_side_ * 2)))">S</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 2) and ($pcount_ &lt; ($ports_per_side_ * 3)))">E</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 3) and ($pcount_ &lt; ($ports_per_side_ * 4)))">N</xsl:when>
-                               <xsl:otherwise>D</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pdec_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 2)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($ports_per_side_ * 3)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="px_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $BLKD_IOP_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)) - 2)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $G_total_drawarea_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)))"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="py_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $G_total_drawarea_H)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $BLKD_IOP_H)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-       
-               <xsl:variable name="prot_">
-                       <xsl:choose>
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="txo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_  = 'W')">-14</xsl:when>
-                               <xsl:when test="($pside_  = 'S')">8</xsl:when>
-                                <xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($BLKD_IOP_W * 2) - 4)"/></xsl:when>
-                               <xsl:when test="($pside_  = 'N')">8</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="tyo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_IOP_H * 2) + 4"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')">-2</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-
-               <xsl:if test="$pdir_ = 'B'">       
-                       <use   x="{$px_}"
-                              y="{$py_}"
-                                  id="{@NAME}"
-                              xlink:href="#G_BIPort" 
-                              transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">    
-                       <rect  
-                               x="{$px_}"
-                               y="{$py_}"
-                               width= "{$BLKD_IOP_W}"
-                               height="{$BLKD_IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/> 
-               </xsl:if>
-               
-               <xsl:if test="not($pdir_ = 'B')">          
-                       <use   x="{$px_}"
-                              y="{$py_}"
-                                  id="{@NAME}"
-                              xlink:href="#G_IOPort"
-                              transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <text class="iopnumb"
-                       x="{$px_ + $txo_}" 
-                       y="{$py_ + $tyo_}"><xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
-               </text>
-
-       </xsl:for-each>
-       
-</xsl:template>
-       
-<xsl:template name="Define_ExtPortsTable">
-       
-<!--   
-               <xsl:if test="$oriented_= 'WEST'"><xsl:value-of select="$proc2procX_ - (string-length(@BUSNAME) * 6)"/></xsl:if>        
-               <xsl:variable name="max_name_" select="math:max(string-length(/EDKSYSTEM/EXTERNALPORTS/PORT/@NAME))"/>
-               <xsl:variable name="max_sgnm_" select="math:max(string-length(/EDKSYSTEM/EXTERNALPORTS/PORT/@SIGNAME))"/>
-       
-               <xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
-               <xsl:message>MAX SIG  <xsl:value-of select="$max_sgnm_"/></xsl:message>
--->    
-       
-               <xsl:variable name="ext_ports_">        
-                       <xsl:if test="not(/EDKSYSTEM/EXTERNALPORTS/PORT)">
-                               <EXTPORT NAME="__none__" SIGNAME="__none_" NAMELEN="0" SIGLEN="0"/>
-                       </xsl:if>
-                       <xsl:if test="/EDKSYSTEM/EXTERNALPORTS/PORT">
-                               <xsl:for-each select="/EDKSYSTEM/EXTERNALPORTS/PORT">
-                                       <EXTPORT  NAME="{@NAME}" SIGNAME="{@SIGNAME}" NAMELEN="{string-length(@NAME)}" SIGLEN="{string-length(@SIGNAME)}"/>
-                               </xsl:for-each>
-                       </xsl:if>
-               </xsl:variable>
-       
-               <xsl:variable name="max_name_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@NAMELEN)"/>
-               <xsl:variable name="max_sign_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@SIGLEN)"/>
-       
-               <xsl:variable name="h_font_" select="12"/>
-               <xsl:variable name="w_font_" select="12"/>
-       
-               <xsl:variable name="w_num_"    select="($w_font_ * 5)"/>
-               <xsl:variable name="w_dir_"    select="($w_font_ * 3)"/>
-               <xsl:variable name="w_lsbmsb_" select="($w_font_ * 9)"/>
-               <xsl:variable name="w_attr_"   select="($w_font_ * 4)"/>
-               <xsl:variable name="w_name_"   select="($w_font_ * $max_name_)"/>
-               <xsl:variable name="w_sign_"   select="($w_font_ * $max_sign_)"/>
-       
-               <xsl:variable name="w_table_" select="($w_num_ + $w_name_ + $w_dir_ + $w_sign_ + $w_attr_)"/>
-       
-<!--   
-               <xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
-               <xsl:message>MAX SIG  <xsl:value-of select="$max_sign_"/></xsl:message>
-       
-               <xsl:message>W NUM  <xsl:value-of select="$w_num_"/></xsl:message>
-               <xsl:message>W DIR  <xsl:value-of select="$w_dir_"/></xsl:message>
-               <xsl:message>W NAM  <xsl:value-of select="$w_name_"/></xsl:message>
-               <xsl:message>W SIG  <xsl:value-of select="$w_sign_"/></xsl:message>
-               <xsl:message>W ATT  <xsl:value-of select="$w_attr_"/></xsl:message>
-       
-               <xsl:message>W TABLE  <xsl:value-of select="$w_table_"/></xsl:message>
--->    
-       
-        <symbol id="BlkDiagram_ExtPortsTable">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$w_table_}" 
-                       height="{$h_font_}"  style="fill:{$COL_RED}; stroke:none; stroke-width:1"/> 
-       </symbol>        
-       
-       
-       
-</xsl:template>
-
-<!-- ======================= END MAIN BLOCK =========================== -->
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Main.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Main.xsl
deleted file mode 100644 (file)
index 55c9b85..0000000
+++ /dev/null
@@ -1,1391 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:math="http://exslt.org/math"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-           extension-element-prefixes="math">
-                  
-<xsl:include href="MdtSVG_Colors.xsl"/>
-<xsl:include href="MdtSVG_BifShapes.xsl"/>
-       
-<xsl:include href="MdtSvgBLKD_Busses.xsl"/>
-<xsl:include href="MdtSvgBLKD_IOPorts.xsl"/>
-<xsl:include href="MdtSvgBLKD_Dimensions.xsl"/>
-<xsl:include href="MdtSvgBLKD_Processors.xsl"/>
-<xsl:include href="MdtSvgBLKD_Peripherals.xsl"/>
-<xsl:include href="MdtSvgBLKD_Calculations.xsl"/>
-<xsl:include href="MdtSvgBLKD_BusLaneSpaces.xsl"/>
-       
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="svg10.dtd"/>
-       
-<xsl:param    name="ADD_VIEWBOX"        select="'FALSE'"/>                
-<xsl:param    name="IN_TESTMODE"        select="'FALSE'"/>
-
-<xsl:param    name="CSS_SVG_DIAGRAMS"   select="'MdtSVG_Diagrams.css'"/>
-       
-<!-- 
-   ===========================================================================
-                       CALCULATE GLOBAL DIMENSIONS BASED ON BLKDSHAPES DEF IN INPUT XML        
-   ===========================================================================
--->
-       
-<xsl:variable name="G_total_StandAloneMpmc_H">
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE">
-               <xsl:value-of select="($BLKD_MPMC_MOD_H + $BLKD_MPMC2PROC_GAP)"/>       
-       </xsl:if>
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE)">0</xsl:if>
-</xsl:variable>
-       
-<xsl:variable name="G_max_Stack_BlwSbs_H">
-       <xsl:call-template name="_calc_Max_Stack_BlwSbs_Height"/>
-</xsl:variable>
-
-<xsl:variable name="G_max_Stack_AbvSbs_H">
-       <xsl:call-template name="_calc_Max_Stack_AbvSbs_Height"/>
-</xsl:variable>
-       
-<xsl:variable name="G_total_Stacks_W">
-       <xsl:call-template name="_calc_Stack_X">
-               <xsl:with-param name="iStackIdx"    select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)"/>
-       </xsl:call-template>
-</xsl:variable>
-       
-<xsl:variable name="G_NumOfSharedBusses"   select="count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE)"/>
-<xsl:variable name="G_total_SharedBus_H"   select="($G_NumOfSharedBusses * $BLKD_SBS_LANE_H)"/>
-
-<xsl:variable name="G_NumOfBridges"        select="count(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE)"/>
-<xsl:variable name="G_total_Bridges_W"     select="(($G_NumOfBridges * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))) + $BLKD_BRIDGE_GAP)"/>
-       
-<xsl:variable name="G_total_drawarea_CLC"  select="($G_total_Stacks_W + $G_total_Bridges_W + ($BLKD_INNER_GAP * 2))"/>
-       
-<xsl:variable name="G_total_drawarea_W">
-       <xsl:if test="$G_total_drawarea_CLC &gt; ($BLKD_KEY_W + $BLKD_SPECS_W + $BLKD_SPECS2KEY_GAP)">
-               <xsl:value-of select="$G_total_drawarea_CLC"/>
-       </xsl:if>
-       <xsl:if test="not($G_total_drawarea_CLC &gt; ($BLKD_KEY_W + $BLKD_SPECS2KEY_GAP + $BLKD_SPECS_W))">
-               <xsl:value-of select="($BLKD_KEY_W + $BLKD_SPECS_W + $BLKD_SPECS2KEY_GAP)"/>
-       </xsl:if>
-</xsl:variable>
-       
-<xsl:variable name="G_IpBucketMods_H">
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/IPBUCKET/@MODS_H"><xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/IPBUCKET/@MODS_H"/></xsl:if>
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/IPBUCKET/@MODS_H)">0</xsl:if>
-</xsl:variable>
-<xsl:variable name="G_total_IpBucket_H"   select="($G_IpBucketMods_H * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
-       
-<xsl:variable name="G_total_UnkBucket_H">
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET">
-       
-               <xsl:variable name="unkBucketMods_H_">
-                       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@MODS_H"><xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@MODS_H"/></xsl:if>
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@MODS_H)">0</xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="total_UnkMod_H_"       select="($unkBucketMods_H_ * ($BLKD_MOD_H + $BLKD_BIF_H))"/>                 <xsl:variable name="unkBucketBifs_H_"> <xsl:if test="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@BIFS_H"><xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@BIFS_H"/></xsl:if>
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@BIFS_H)">0</xsl:if>
-               </xsl:variable>
-               <xsl:variable name="total_UnkBif_H_"       select="($unkBucktBifs_H_ * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
-               
-               <xsl:value-of select="($total_UnkBif_H_ + $G_totalUnkMod_H_)"/> 
-       </xsl:if>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/UNKBUCKET)">0</xsl:if>
-</xsl:variable>
-       
-<xsl:variable name="G_SharedBus_Y"    select="($BLKD_INNER_Y + $G_total_StandAloneMpmc_H + $G_max_Stack_AbvSbs_H + $BLKD_PROC2SBS_GAP)"/>
-       
-<!-- ===========================================================================
-    Calculate the width of the Block Diagram based on the total number of      
-    buslanes and modules in the design. If there are no buslanes or modules,
-       a default width, just wide enough to display the KEY and SPECS is used
-   =========================================================================== -->
-<xsl:variable name="G_total_blkd_W"  select="($G_total_drawarea_W + (($BLKD_PRTCHAN_W  + $BLKD_IORCHAN_W)* 2))"/>
-<xsl:variable name="G_total_diag_W"    select="$G_total_blkd_W"/>
-       
-<!-- =========================================================================== -->
-<!-- Calculate the height of the Block Diagram based on the total number of      -->
-<!-- buslanes and modules in the design. Take into account special shapes such   -->
-<!-- as MultiProc shapes.                                                                                                           -->
-<!-- =========================================================================== -->
-       
-       
-<xsl:variable name="G_total_drawarea_H"  select="($G_total_StandAloneMpmc_H + $G_max_Stack_AbvSbs_H + $BLKD_PROC2SBS_GAP + $G_total_SharedBus_H + $G_max_Stack_BlwSbs_H + $BLKD_SBS2IP_GAP + $G_total_IpBucket_H + $BLKD_IP2UNK_GAP + $G_total_UnkBucket_H + ($BLKD_INNER_GAP * 2))"/>
-<xsl:variable name="G_total_blkd_H"      select="($G_total_drawarea_H + (($BLKD_PRTCHAN_H  + $BLKD_IORCHAN_H)* 2))"/>
-       
-<xsl:variable name="G_total_diag_H">
-       <xsl:if test="($IN_TESTMODE = 'TRUE')">
-               <xsl:message>Generating Blkdiagram in TestMode </xsl:message>
-       <xsl:value-of select="$G_total_blkd_H"/>
-       </xsl:if>
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-       <xsl:value-of select="($G_total_blkd_H + $BLKD_DRAWAREA2KEY_GAP + $BLKD_KEY_H)"/>
-       </xsl:if>
-</xsl:variable>
-               
-<!-- ======================= MAIN SVG BLOCK =============================== -->
-<xsl:template match="EDKSYSTEM">
-       
-<!--
-<xsl:message>STCK_W is <xsl:value-of select="$G_total_Stacks_W"/></xsl:message>
-<xsl:message>BRDG_W is <xsl:value-of select="$G_total_Bridges_W"/></xsl:message>
-<xsl:message>MPMC is <xsl:value-of select="$G_total_StandAloneMpmc_H"/></xsl:message>
-<xsl:message>MPMC is <xsl:value-of select="$G_total_StandAloneMpmc_H"/></xsl:message>
-<xsl:message>MABV is <xsl:value-of select="$G_max_Stack_AbvSbs_H"/></xsl:message>
-<xsl:message>MBLW is <xsl:value-of select="$G_max_Stack_BlwSbs_H"/></xsl:message>
-<xsl:message>IPBK is <xsl:value-of select="$G_total_IpBucket_H"/></xsl:message>
-<xsl:message>Blkd Total is <xsl:value-of select="$blkd_H_"/></xsl:message>
-<xsl:message>max abv is <xsl:value-of select="$max_Stack_AbvSbs_H_"/></xsl:message>
-<xsl:message>max blw is <xsl:value-of select="$max_Stack_BlwSbs_H_"/></xsl:message>
-<xsl:message>Ip Bkt is <xsl:value-of select="$totalIpBkt_H_"/></xsl:message>
-<xsl:message>Sbs is <xsl:value-of select="$totalSbs_H_"/></xsl:message>
-<xsl:message>Unk Bkt is <xsl:value-of select="$totalUnkBkt_H_"/></xsl:message>
-<xsl:message>Blkd DrawArea height as <xsl:value-of select="$total_drawarea_H_"/></xsl:message>
--->
-
-<!--specify a css for the file -->
-<xsl:processing-instruction name="xml-stylesheet">href="<xsl:value-of select="$CSS_SVG_DIAGRAMS"/>" type="text/css"</xsl:processing-instruction>
-
-<xsl:variable name="BLKD_ZOOM_Y">
-       <xsl:choose>
-               <xsl:when test="($ADD_VIEWBOX = 'TRUE')">
-                       <xsl:value-of select="($G_total_diag_H * 2)"/>
-               </xsl:when>
-               <xsl:otherwise>0</xsl:otherwise>                
-       </xsl:choose>
-</xsl:variable>
-       
-<xsl:text>&#10;</xsl:text>
-<svg width="{$G_total_diag_W}" height="{$G_total_diag_H}" viewBox="0 0 0 {$BLKD_ZOOM_Y}">      
-<!-- 
-        =============================================== 
-              Layout All the various definitions       
-        =============================================== 
--->
-       <defs>
-               <!-- Diagram Key Definition -->
-               <xsl:call-template name="Define_BlkDiagram_Key"/>               
-               
-               <!-- Diagram Specs Definition -->
-               <xsl:call-template name="Define_BlkDiagram_Specs">              
-                       <xsl:with-param name="iArch"       select="@ARCH"/>
-                       <xsl:with-param name="iPart"       select="@PART"/>
-                       <xsl:with-param name="iTimeStamp"  select="@TIMESTAMP"/>
-                       <xsl:with-param name="iEdkVersion" select="@EDKVERSION"/>
-               </xsl:call-template>            
-               
-               <!-- IO Port Defs -->
-               <xsl:call-template name="Define_IOPorts"/>              
-               
-               <!-- BIF Defs -->
-               <xsl:call-template name="Define_BifTypes"/>             
-               
-               <!-- Bus Defs -->
-               <xsl:call-template name="Define_Busses"/>               
-               
-               <!-- Shared Bus Buckets Defs -->
-               <xsl:call-template name="Define_SBSBuckets"/>           
-               
-               <!-- IP Bucket Defs -->
-               <xsl:call-template name="Define_IPBucket"/>             
-               
-               <!-- Stack Defs -->
-               <xsl:call-template name="Define_AllStacks"/>            
-               
-               <!-- Space Defs -->
-               <xsl:call-template name="Define_BusLaneSpaces"/>                
-               
-               <!-- Main MPMC Defs -->
-               <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE">
-                       <xsl:call-template name="Define_StandAlone_MPMC"/>      
-               </xsl:if>
-       </defs>
-       
-<!-- =============================================== -->
-<!--             Draw Outlines                       -->
-<!-- =============================================== -->
-       
-        <!-- The surrounding black liner -->
-     <rect x="0"  
-                  y="0" 
-                  width ="{$G_total_diag_W}"
-                  height="{$G_total_diag_H}" style="fill:{$COL_WHITE}; stroke:{$COL_BLACK};stroke-width:4"/>
-                  
-        <!-- The outer IO channel -->
-     <rect x="{$BLKD_PRTCHAN_W}"  
-                  y="{$BLKD_PRTCHAN_H}" 
-                  width= "{$G_total_blkd_W - ($BLKD_PRTCHAN_W * 2)}" 
-                  height="{$G_total_blkd_H - ($BLKD_PRTCHAN_H * 2)}" style="fill:{$COL_IORING}"/>
-                  
-        <!-- The Diagram's drawing area -->
-     <rect x="{$BLKD_PRTCHAN_W + $BLKD_IORCHAN_W}"  
-                  y="{$BLKD_PRTCHAN_H + $BLKD_IORCHAN_H}" 
-                  width= "{$G_total_drawarea_W}"
-                  height="{$G_total_drawarea_H}" rx="8" ry="8" style="fill:{$COL_BG}"/>
-                  
-<!-- =============================================== -->
-<!--        Draw All the various components          -->
-<!-- =============================================== -->
-       
-       <!--   Layout the IO Ports    -->       
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-               <xsl:call-template name="Draw_IOPorts"/>        
-       </xsl:if>
-       
-       <!--   Layout the Shapes      -->       
-       <xsl:call-template name="Draw_BlkDiagram_Shapes"/>              
-       
-</svg>
-       
-<!-- ======================= END MAIN SVG BLOCK =============================== -->
-</xsl:template>
-       
-<xsl:template name="Draw_BlkDiagram_Shapes">
-       
-       <!-- 
-                ===========================================================
-                                               Draw the shared busses 
-                ===========================================================
-       -->
-       <use   x="{$BLKD_INNER_X}"      y="{$G_SharedBus_Y}"  xlink:href="#group_sharedBusses"/> 
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Bus Lane Spaces 
-                ===========================================================
-       -->
-       <xsl:call-template name="Draw_BlkDiagram_BusLaneSpaces"/>       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Bridges
-                ===========================================================
-       -->
-       <xsl:call-template name="Draw_BlkDiagram_Bridges"/>     
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Stacks
-                ===========================================================
-       -->
-       <xsl:call-template name="Draw_BlkDiagram_Stacks"/>      
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Stand Alone MPMC, (if any)
-                ===========================================================
-       -->
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE">
-               <xsl:variable name="mpmc_inst_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE/@INSTANCE"/>
-               <use   x="{$BLKD_INNER_X}"  y="{$BLKD_INNER_Y}"  xlink:href="#mpmcmodule_{$mpmc_inst_}"/> 
-       
-       <!-- 
-                ===========================================================
-                                               Draw the connections to the Stand Alone MPMC
-                ===========================================================
-       -->
-               <xsl:call-template name="Draw_BlkDiagram_StandAloneMpmcConnections"/>   
-       </xsl:if>       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Ip Bucket
-                ===========================================================
-       -->
-       
-       <xsl:call-template name="Draw_BlkDiagram_IPBucket"/>
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Key
-                ===========================================================
-       -->
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-               <use   x="{$G_total_blkd_W - $BLKD_KEY_W - $BLKD_PRTCHAN_W}" y="{$G_total_blkd_H + $BLKD_DRAWAREA2KEY_GAP - 8}"  xlink:href="#BlkDiagram_Key"/> 
-       </xsl:if>
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Specs
-                ===========================================================
-       -->
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-               <use   x="{$BLKD_PRTCHAN_W}"  y="{$G_total_blkd_H + $BLKD_DRAWAREA2KEY_GAP - 8}"  xlink:href="#BlkDiagram_Specs"/> 
-       </xsl:if>
-       
-       <!-- 
-               ************************************************************ 
-               ***************  DONE DRAWING BLOCK DIAGRAM   ************** 
-               ************************************************************ 
-       -->     
-       
-</xsl:template>        
-       
-       
-<!-- ======================================================================= -->
-<!--                         FUNCTION TEMPLATE                               -->
-<!--                                                                                                                                            -->
-<!--  Draw stacks on the Block Diagram                                                                          -->
-<!-- ======================================================================= -->
-<xsl:template name="Draw_BlkDiagram_Stacks">
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-                       
-               <xsl:variable name="stack_line_x_">
-                       <xsl:call-template name="_calc_Stack_X">
-                               <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="stack_abv_sbs_">
-                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                               <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="bridges_w_"    select="(($G_NumOfBridges * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))) + $BLKD_BRIDGE_GAP)"/>
-               
-               <xsl:variable name="stack_y_" select="($G_SharedBus_Y - $stack_abv_sbs_ - $BLKD_PROC2SBS_GAP)"/>
-               <xsl:variable name="stack_x_" select="($BLKD_INNER_X + $stack_line_x_ + $bridges_w_)"/>
-               
-               <xsl:variable name="stack_name_">
-                       <xsl:call-template name="_gen_Stack_Name"> 
-                               <xsl:with-param name="iHorizIdx" select="@EAST"/>
-                       </xsl:call-template>            
-               </xsl:variable> 
-               
-               <use   x="{$stack_x_}"    y="{$stack_y_}"  xlink:href="#{$stack_name_}"/> 
-       
-       </xsl:for-each> 
-                       
-</xsl:template>
-       
-<xsl:template name="Draw_BlkDiagram_StandAloneMpmcConnections">
-       
-       <xsl:variable name="mpmcInst_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE/@INSTANCE"/>
-       <xsl:variable name="lastStack_" select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH) - 1"/>
-       
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE">
-               <xsl:variable name="currentLane_" select="position()"/>
-<!--           
-               <xsl:message>Looking in space <xsl:value-of select="$currentLane_"/></xsl:message>
--->    
-               <xsl:variable name="stackToEast_">
-                       <xsl:choose>
-                               <xsl:when test="not(@WEST = $lastStack_)"><xsl:value-of select="@EAST"/></xsl:when>
-                               <xsl:when test="   (@WEST = $lastStack_)"><xsl:value-of select="'NONE'"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-               
-               <xsl:variable name="stackToWest_">
-                       <xsl:choose>
-                               <xsl:when test="not(@WEST = $lastStack_)"><xsl:value-of select="'NONE'"/></xsl:when>
-                               <xsl:when test="   (@WEST = $lastStack_)"><xsl:value-of select="@WEST"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-               
-               <xsl:variable name="spaceAbvSbs_H_">
-                       <xsl:call-template name="_calc_Space_AbvSbs_Height">
-                               <xsl:with-param name="iStackToEast"  select="$stackToEast_"/>
-                               <xsl:with-param name="iStackToWest"  select="$stackToWest_"/>
-                       </xsl:call-template>
-               </xsl:variable> 
-               
-               <xsl:variable name="space_y_"   select="($G_SharedBus_Y - $spaceAbvSbs_H_ - $BLKD_PROC2SBS_GAP)"/>
-       
-<!--           
-               <xsl:message>Stack To East <xsl:value-of select="$stackToEast_"/></xsl:message>
-               <xsl:message>Stack To West <xsl:value-of select="$stackToWest_"/></xsl:message>
-               <xsl:variable name="space_X_">
-                       <xsl:call-template name="_calc_Space_X"> 
-                               <xsl:with-param name="iStackToEast" select="$stackToEast_"/>
-                               <xsl:with-param name="iStackToWest" select="$stackToWest_"/>
-                       </xsl:call-template>            
-               </xsl:variable>
-               <xsl:variable name="space_y_"   select="($G_SharedBus_Y - $spaceAbvSbs_H_ - $BLKD_PROC2SBS_GAP)"/>
-               <xsl:variable name="space_x_"   select="($BLKD_INNER_X + $G_total_Bridges_W + $space_line_x_)"/>
--->            
-               
-       
-               <xsl:for-each select="BUSCONNLANE[@IS_MPMCCONN]">
-                       
-<!--                   
-                       <xsl:variable name="bifSide_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = BUSCONN/@INSTANCE)]/BUSINTERFACE[(@BUSNAME = @BUSNAME)]/@BIF_X"/>
--->    
-                       <xsl:variable name="bifInst_"     select="BUSCONN/@INSTANCE"/>
-                       <xsl:variable name="busName_"     select="@BUSNAME"/>
-                       <xsl:variable name="bifSide_"     select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $bifInst_)]/BUSINTERFACE[(@BUSNAME = $busName_)]/@BIF_X"/>
-                       
-                       <xsl:variable name="mpmcBifName_">
-                               <xsl:choose>
-                                       <xsl:when test="   (@IS_SBSCONN)"><xsl:value-of select="BUSCONN/@BUSINTERFACE"/></xsl:when>
-                                       <xsl:when test="not(@IS_SBSCONN)"><xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $mpmcInst_)]/BUSINTERFACE[(@BUSNAME = $busName_)]/@NAME"/></xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $mpmcInst_)]/BUSINTERFACE[(@BUSNAME = $busName_)]/@NAME"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-<!--                   
-                       <xsl:message>MPMC Bif Name <xsl:value-of select="$mpmcBifName_"/></xsl:message>
-                       <xsl:message>Bif Side <xsl:value-of select="$bifSide_"/></xsl:message>
-                       <xsl:message>Bus Name <xsl:value-of select="@BUSNAME"/></xsl:message>
-                       <xsl:message>Instance <xsl:value-of select="$bifInst_"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="space_line_X_">
-                               <xsl:call-template name="_calc_Space_X">
-                                       <xsl:with-param name="iStackToEast"  select="$stackToEast_"/>
-                                       <xsl:with-param name="iStackToWest"  select="$stackToWest_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="space_X_"   select="($BLKD_INNER_X + $G_total_Bridges_W + $space_line_X_)"/>
-                       
-                       <xsl:variable name = "stackToWest_W_">
-                               <xsl:choose>
-                                       <xsl:when test="(($stackToEast_ = '0')   and     ($stackToWest_ = 'NONE'))">0</xsl:when>
-                                       <xsl:when test="(($stackToEast_ = 'NONE') and not($stackToWest_ = 'NONE'))">
-                                               <xsl:call-template name="_calc_Stack_Width">
-                                                       <xsl:with-param name="iStackIdx"  select="$stackToWest_"/>
-                                               </xsl:call-template>
-                                       </xsl:when>
-                                       <xsl:when test="(not($stackToEast_ = '0') and not($stackToEast_ = 'NONE') and ($stackToWest_ = 'NONE'))">
-                                               <xsl:call-template name="_calc_Stack_Width">
-                                                       <xsl:with-param name="iStackIdx"  select="($stackToEast_ - 1)"/>
-                                               </xsl:call-template>
-                                       </xsl:when>
-                                       <xsl:otherwise>0</xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-       
-                       <xsl:variable name = "stackToEast_W_">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="$stackToEast_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-       
-                       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stackToWest_W_ div 2)"/>
-                       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stackToEast_W_ div 2)"/>
-<!--                   
-                       <xsl:message>extSpaceWest_W_ <xsl:value-of select="$extSpaceWest_W_"/></xsl:message>
-                       <xsl:message>extSpaceEast_W_ <xsl:value-of select="$extSpaceEast_W_"/></xsl:message>
-                       <xsl:message>Found a MPMC lane in space <xsl:value-of select="$currentLane_"/> at X <xsl:value-of select="$lane_X_"/></xsl:message>
-                       <xsl:message>mpmcBifRank <xsl:value-of select="$mpmcBifRank_"/></xsl:message>
--->                    
-                       
-<!--                   
-                       <xsl:variable name="laneInSpace_X_" select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/>
--->                    
-                       <xsl:variable name="laneInSpace_X_">
-                               <xsl:choose>
-                                  <xsl:when test="(@ORIENTED = 'EAST')">
-                                          <xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W) - $BLKD_BUS_ARROW_W - $BLKD_P2P_BUS_W)"/>
-                                  </xsl:when>
-                                  <xsl:otherwise><xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable> 
-                                               
-                       
-                       
-                       <xsl:variable name="lane_X_"        select="($space_X_ + $laneInSpace_X_)"/>
-                       
-                       <xsl:variable name="mpmcBifRank_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $mpmcInst_)]/BUSINTERFACE[(@BUSNAME = @BUSNAME)]/@BIFRANK"/>
-                       
-               <!--    
-                       <xsl:variable name="bc_X_" select="($lane_X_ +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-                       <xsl:variable name="bc_X_" select="($lane_X_ +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-                       <xsl:variable name="bc_X_" select="($lane_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-               -->     
-                       
-                       <xsl:variable name="bc_Y_" select="($BLKD_INNER_Y + $BLKD_MPMC_MOD_H)"/>
-                       <xsl:variable name="bc_X_" >
-                               <xsl:choose>
-                                       <xsl:when test="($bifSide_ = '0')"><xsl:value-of select="($lane_X_ + ceiling($BLKD_BIFC_W div 2))"/></xsl:when>
-                                       <xsl:when test="($bifSide_ = '1')"><xsl:value-of select="($lane_X_ + $BLKD_BIFC_dx)"/></xsl:when>
-                                       <xsl:otherwise>                    <xsl:value-of select="($lane_X_ + ceiling($BLKD_BIFC_W div 2))"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="busColor_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="@BUSSTD"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-               
-                       <!-- Place the MPMC bif label -->
-                       <xsl:variable name="bcl_X_" select="($bc_X_ + ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BIF_W div 2))"/>
-                       <xsl:variable name="bcl_Y_" select="($bc_Y_ - $BLKD_BIF_H - $BLKD_MOD_BIF_GAP_H)"/>
-                       <use  x="{$bcl_X_}"   y="{$bcl_Y_}"  xlink:href="#{@BUSSTD}_Bif"/>
-                       <text class="mpmcbiflabel" 
-                                 x="{$bcl_X_ + ceiling($BLKD_BIF_W div 2)}"
-                                 y="{$bcl_Y_ + ceiling($BLKD_BIF_H div 2) + 3}"><xsl:value-of select="$mpmcBifName_"/></text>
-                       
-                       <!-- Place the MPMC bif -->
-                       <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{@BUSSTD}_busconn_{$mpmcBifRank_}"/>
-                       
-                       <xsl:variable name="bcArrow_X_" select="($bc_X_ +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
-                       <xsl:variable name="bcArrow_Y_" select="($bc_Y_ + $BLKD_BIFC_H - 3)"/>
-                       
-                       <!-- Place the MPMC Arrow -->
-                       <use   x="{$bcArrow_X_}"   y="{$bcArrow_Y_}"  xlink:href="#{@BUSSTD}_BusArrowNorth"/>
-                       
-                       <!-- 
-                               Place a block to cover the gap btw MPMC and top of Bus Lane Space, or to the correct SBS 
-                               For non SBS connections a vertical block will already have been drawn to the top of the
-                               space.
-                       -->
-                       
-                       <xsl:variable name="sbsDy_">
-                               <xsl:choose>
-                                       <xsl:when test="@IS_SBSCONN"><xsl:value-of select="2 + (/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX * $BLKD_SBS_LANE_H)"/></xsl:when>
-                                       <xsl:when test="not(@IS_SBSCONN)">0</xsl:when>
-                                       <xsl:otherwise>0></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="mpmcBusHeight_">
-                               <xsl:choose>
-                                       <xsl:when    test="(@IS_SBSCONN)"><xsl:value-of select="($G_SharedBus_Y - ($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4) + $sbsDy_)"/></xsl:when>
-                                       <xsl:when test="not(@IS_SBSCONN)">
-                                               <xsl:choose>
-                                                       <xsl:when test="($space_y_ &gt;= ($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4 + $sbsDy_))">
-                                                               <xsl:value-of select="($space_y_ - ($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4 + $sbsDy_))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="($space_y_ &lt; ($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4 + $sbsDy_))">
-                                                               <xsl:value-of select="(($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4 + $sbsDy_) - $space_y_)"/>
-                                                       </xsl:when>
-                                               </xsl:choose>
-                                       </xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="$BLKD_BIFC_H"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <rect x="{$bcArrow_X_ + $BLKD_BUS_ARROW_G}" 
-                                 y="{$bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4}"  
-                                 width= "{$BLKD_P2P_BUS_W}" 
-                                 height="{$mpmcBusHeight_}"  
-                             style="stroke:none; fill:{$busColor_}"/>  
-                       
-                       <!-- place the bus label here -->
-                       <text class="p2pbuslabel" 
-                                 x="{$bcArrow_X_ + $BLKD_BUS_ARROW_W + 6}"
-                                 y="{$bcArrow_Y_ + ceiling($mpmcBusHeight_ div 2) + 6}"><xsl:value-of select="$busName_"/></text>      
-                       
-                       
-               </xsl:for-each>                         
-       </xsl:for-each> 
-       
-</xsl:template>
-       
-       
-<!-- ======================================================================= -->
-<!--                         FUNCTION TEMPLATE                               -->
-<!--                                                                                                                                            -->
-<!--  Draw bus lane spaces on the Block Diagram                                                                 -->
-<!-- ======================================================================= -->
-<xsl:template name="Draw_BlkDiagram_BusLaneSpaces">
-       
-       <xsl:variable name="lastStack_" select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH) - 1"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[@EAST]">
-               <xsl:sort select="@EAST" data-type="number"/>
-                       
-               <xsl:call-template name="Draw_BlkDiagram_BusLaneSpace">
-                       <xsl:with-param name="iStackToEast"  select="@EAST"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@WEST = $lastStack_)]">
-               <xsl:call-template name="Draw_BlkDiagram_BusLaneSpace">
-                       <xsl:with-param name="iStackToWest"  select="$lastStack_"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-                       
-</xsl:template>
-       
-<xsl:template name="Draw_BlkDiagram_BusLaneSpace">
-       
-       <xsl:param name="iStackToEast" select="'NONE'"/>
-       <xsl:param name="iStackToWest" select="'NONE'"/>
-       
-       <xsl:variable name="spaceAbvSbs_H_">
-               <xsl:call-template name="_calc_Space_AbvSbs_Height">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       <xsl:variable name="spaceBlwSbs_H_">
-               <xsl:call-template name="_calc_Space_BlwSbs_Height">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       <xsl:variable name="space_line_x_">
-               <xsl:call-template name="_calc_Space_X">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="space_y_"   select="($G_SharedBus_Y - $spaceAbvSbs_H_ - $BLKD_PROC2SBS_GAP)"/>
-       <xsl:variable name="space_x_"   select="($BLKD_INNER_X + $G_total_Bridges_W + $space_line_x_)"/>
-       
-       <xsl:variable name="stackToEast_">
-               <xsl:choose>
-                       <xsl:when test="not($iStackToEast = 'NONE')"><xsl:value-of select="$iStackToEast"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="stackToWest_">
-               <xsl:choose>
-                       <xsl:when test=" not($iStackToWest = 'NONE')"><xsl:value-of select="$iStackToWest"/></xsl:when>
-                       <xsl:when test="(not($iStackToEast = 'NONE') and not($iStackToEast = '0'))"><xsl:value-of select="($iStackToEast - 1)"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-               
-       <xsl:variable name="space_Name_">
-               <xsl:call-template name="_gen_Space_Name"> 
-                       <xsl:with-param name="iStackToEast" select="$stackToEast_"/>
-                       <xsl:with-param name="iStackToWest" select="$stackToWest_"/>
-               </xsl:call-template>            
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>StackToEast is <xsl:value-of select="$iStackToEast"/></xsl:message>
-       <xsl:message>StackToWest is <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message>SpaceName is <xsl:value-of select="$space_Name_"/></xsl:message>
--->    
-               
-       <use   x="{$space_x_}"    y="{$space_y_}"  xlink:href="#{$space_Name_}"/> 
-       
-</xsl:template>
-       
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!--  Draw Bridges on the Block Diagram                                                                                         -->
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_Bridges">
-       
-       <!-- First save all the bridge indexs in a variable      -->
-       <xsl:variable name="bridgeShapes_">
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE/BUSCONNS[(@ORIENTED = 'WEST')]/BUSCONN">        
-                       <BRIDGE BUSINDEX="{@BUSINDEX}" INSTANCE="{../../@INSTANCE}" POSITION="{(position() -1)}"/>
-                       <BRIDGECONN BUSINDEX="{@BUSINDEX}" INSTANCE="{../../@INSTANCE}" ORIENTED="{../@ORIENTED}" POSITION="{(position()  - 1)}" BUSSTD="{@BUSSTD}" BIFRANK="{@BIFRANK}"/>
-                       <!-- So both bus conns have same position.... -->
-                       <xsl:if test="../../BUSCONNS[(@ORIENTED = 'EAST')]">
-                               <BRIDGECONN BUSINDEX="{../../BUSCONNS[(@ORIENTED ='EAST')]/BUSCONN/@BUSINDEX}" INSTANCE="{../../@INSTANCE}" ORIENTED="EAST" POSITION="{(position()  - 1)}"   BUSSTD="{../../BUSCONNS[(@ORIENTED = 'EAST')]/BUSCONN/@BUSSTD}" BIFRANK="{../../BUSCONNS[(@ORIENTED = 'EAST')]/BUSCONN/@BIFRANK}"/>
-                       </xsl:if>
-               </xsl:for-each>
-       </xsl:variable>
-<!--                           
-                       <xsl:message>Found an east connection on <xsl:value-of select="../../@INSTANCE"/></xsl:message>
--->                            
-       <!-- Now layout the bridge shapes between the shared busses      -->
-       <xsl:for-each select="exsl:node-set($bridgeShapes_)/BRIDGE">
-               <xsl:sort select="@POSITION" data-type="number"/>
-               
-               <xsl:variable name="brdgPosition_"  select="@POSITION"/>
-               <xsl:variable name="brdgInstance_"  select="@INSTANCE"/>
-               
-               <xsl:variable name="min_bus_idx_" select="math:min(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>
-<!--           
-               <xsl:variable name="max_bus_idx_" select="math:max(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>
-               
-       <xsl:message>Maximum index <xsl:value-of select="$max_bus_idx_"/></xsl:message>
-       <xsl:message>Minimum index <xsl:value-of select="$min_bus_idx_"/></xsl:message>
--->
-               
-               
-               <xsl:variable name="brdg_X_"  select="($BLKD_INNER_X + $BLKD_BRIDGE_GAP + $BLKD_BUS_LANE_W + (@POSITION * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))))"/>   
-               <xsl:variable name="brdg_Y_"  select="($G_SharedBus_Y  + ($min_bus_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_SBS_LANE_H div 2) - ceiling($BLKD_MOD_H div 2))"/>
-               
-               <use  x="{$brdg_X_}"  y="{$brdg_Y_}"  xlink:href="#symbol_{$brdgInstance_}"/>   
-       </xsl:for-each> 
-       
-               
-       
-<!--   
-       <xsl:message>Found <xsl:value-of select="count(exsl:node-set($bridgeShapes_)/BRIDGECONN)"/> busconns </xsl:message>
-               <xsl:message>Drawing connection for bridge <xsl:value-of select="$brdgInstance_"/> at <xsl:value-of select="@POSITION"/> </xsl:message>
--->    
-       
-       <xsl:for-each select="exsl:node-set($bridgeShapes_)/BRIDGECONN">
-               <xsl:sort select="@POSITION" data-type="number"/>
-               
-               <xsl:variable name="brdgInstance_"  select="@INSTANCE"/>
-               <xsl:variable name="brdgPosition_"  select="@POSITION"/>
-               
-               <xsl:variable name="busColor_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="@BUSSTD"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <xsl:variable name="min_bus_idx_" select="math:min(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>
-               <xsl:variable name="brdg_Y1_"     select="($G_SharedBus_Y  + ($min_bus_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_SBS_LANE_H div 2) - ceiling($BLKD_MOD_H div 2))"/>
-               <xsl:variable name="brdg_X_"      select="($BLKD_INNER_X   + $BLKD_BRIDGE_GAP + $BLKD_BUS_LANE_W + (@POSITION * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))))"/>     
-               
-               <xsl:variable name="bc_Y_"        select="$brdg_Y1_ + $BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2)"/>  
-               <xsl:variable name="bc_X_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($brdg_X_ - $BLKD_BIFC_W)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($brdg_X_ + $BLKD_MOD_W)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <!-- Layout the bus conn -->
-               <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               
-               <!-- Figure out the positions of the lines -->
-               
-<!--           
-               <xsl:variable name="vert_line_x_"  select="$bc_X_    + ceiling($BLKD_BIFC_W div 2)"/>
-               <xsl:message>vert line x <xsl:value-of select="$vert_line_x_"/></xsl:message>
-               <xsl:message>bus index <xsl:value-of select="@BUSINDEX"/></xsl:message>
--->            
-               
-               <xsl:variable name="vert_line_x_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($bc_X_ - ($BLKD_BUS_LANE_W - $BLKD_BIFC_W))"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($bc_X_ + ($BLKD_BUS_LANE_W - $BLKD_P2P_BUS_W))"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <!-- At least one of the points is going to be the bus -->
-<!--           
-               <xsl:variable name="vert_line_y1_" select="($G_SharedBus_Y  + $BLKD_PROC2SBS_GAP + (@BUSINDEX * $BLKD_SBS_LANE_H))"/>
--->            
-               <xsl:variable name="vert_line_y1_" select="($G_SharedBus_Y  + (@BUSINDEX * $BLKD_SBS_LANE_H))"/>
-               <xsl:variable name="vert_line_y2_" select="$bc_Y_ + ceiling($BLKD_BIFC_H div 2)"/>
-               
-               <xsl:variable name="v_bus_ul_y_">
-                       <xsl:choose>
-                               <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                                       <xsl:value-of select="$vert_line_y2_"/>
-                               </xsl:when>
-                               <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                                       <xsl:value-of select="$vert_line_y1_"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-<!--           
-               <xsl:variable name="v_bus_ul_x_" select="$vert_line_x_"/>
--->    
-               <xsl:variable name="v_bus_ul_x_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($vert_line_x_ + $BLKD_MOD_BIF_GAP_H)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($vert_line_x_ - $BLKD_MOD_BIF_GAP_H)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               
-               <xsl:variable name="v_bus_width_" select="$BLKD_P2P_BUS_W"/>
-               <xsl:variable name="v_bus_height_">
-                       <xsl:choose>
-                               <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                                       <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_)"/>
-                               </xsl:when>
-                               <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                                       <xsl:value-of select="($vert_line_y2_ - $vert_line_y1_)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_x_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($bc_X_ - ($BLKD_BUS_LANE_W - $BLKD_BIFC_W) + $BLKD_MOD_BIF_GAP_H)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($bc_X_ + $BLKD_BIFC_W - ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2))"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_y_" select="$bc_Y_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-               
-               <xsl:variable name="h_bus_width_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="(($bc_X_ + ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2)) - $h_bus_ul_x_ + 1)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="(($v_bus_ul_x_ + $BLKD_P2P_BUS_W) - $h_bus_ul_x_)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               
-<!--           
-               <xsl:message>vert line y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>
--->            
-               
-               <rect x="{$v_bus_ul_x_}" 
-                         y="{$v_bus_ul_y_ + 2}"  
-                         width= "{$v_bus_width_}" 
-                         height="{$v_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-               
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-               
-       </xsl:for-each> 
-       
-</xsl:template>
-       
-       
-       
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!-- Draw the IP Bucket                                                                                                         -->
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_IPBucket">
-       
-       <!-- Draw IP Bucket --> 
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/IPBUCKET">
-       
-               <xsl:variable name="bucket_w_"  select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-               <xsl:variable name="bucket_h_"  select="(($BLKD_MOD_BKTLANE_H * 2) + (($BLKD_MOD_H * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <xsl:variable name="bucket_x_"  select="(ceiling($G_total_blkd_W div 2) - ceiling($bucket_w_ div 2))"/>
-               <xsl:variable name="bucket_y_"  select="($G_SharedBus_Y + $G_total_SharedBus_H + $G_max_Stack_BlwSbs_H + $BLKD_SBS2IP_GAP)"/>
-               
-               <text class="ipclass"
-                       x="{$bucket_x_}" 
-                       y="{$bucket_y_ - 4}">IP</text>
-               
-               <use   x="{$bucket_x_}"   y="{$bucket_y_}"  xlink:href="#ipbucket"/>
-               
-       </xsl:for-each>
-       
-</xsl:template>
-       
-       
-<xsl:template name="Draw_BlkDiagram_Key">
-       <use   x="{ceiling($G_blkd_W div 2) - ceiling($BLKD_KEY_W div 2)}"   y="0"  xlink:href="#BlkDiagram_Key"/> 
-</xsl:template>
-
-<xsl:template name="Define_BlkDiagram_Key">
-       
-       <xsl:variable name="key_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="key_lt_col_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <symbol id="KEY_IntrCntrl">
-               <rect  
-                       x="0"
-                       y="0"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($BLKD_INTR_W div 2)}" 
-                       height="{$BLKD_INTR_H}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="0" 
-                         y1="{ceiling($BLKD_INTR_H div 4)}"
-                         x2="{ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{ceiling($BLKD_INTR_H div 4)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:2"/>
-                         
-               <text class="intrsymbol" 
-                         x="1.5"
-                         y="{7 + ceiling($BLKD_INTR_H div 2)}">x</text>
-                       
-       </symbol>
-               
-       <symbol id="KEY_IntrdProc">
-               <rect  
-                       x="0"
-                       y="0"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($BLKD_INTR_W div 2)}" 
-                       height="{$BLKD_INTR_H}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="0" 
-                         y1="{ceiling($BLKD_INTR_H div 4) - 2}"
-                         x2="{ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{ceiling($BLKD_INTR_H div 4) - 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <line x1="0" 
-                         y1="{ceiling($BLKD_INTR_H div 4) + 2}"
-                         x2="{ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{ceiling($BLKD_INTR_H div 4) + 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <text class="intrsymbol" 
-                         x="1.5"
-                         y="{7 + ceiling($BLKD_INTR_H div 2)}">x</text>
-       </symbol>
-       
-       <symbol id="KEY_IntrSrc">
-               <rect  
-                       x="0"
-                       y="0"
-                       rx="3"
-                       ry="3"
-                       width= "{$BLKD_INTR_W}" 
-                       height="{ceiling($BLKD_INTR_H div 2)}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{ceiling($BLKD_INTR_W div 2)}" 
-                         y1="0"
-                         x2="{ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{ceiling($BLKD_INTR_H div 2)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <text class="intrsymbol" 
-                         x="2"
-                         y="7">y</text>
-                       
-               <text class="intrsymbol" 
-                         x="{2 + ceiling($BLKD_INTR_W div 2)}"
-                         y="7">x</text>
-       </symbol>
-       
-       
-       <symbol id="BlkDiagram_Key">
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_KEY_W}"
-                     height="{$BLKD_KEY_H}"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_KEY_W}"
-                     height="16"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <text class="keytitle"
-              x="{ceiling($BLKD_KEY_W div 2)} "
-                         y="14">KEY</text>               
-                         
-               <rect 
-              x="0"
-                         y="16"
-                     width= "{$BLKD_KEY_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="keyheader"
-              x="{ceiling($BLKD_KEY_W div 2)} "
-                         y="30">SYMBOLS</text>           
-                         
-               <use  x="32"  y="47"  xlink:href="#KEY_Bif" transform="scale(0.75)"/> 
-               <text class="keylabel"
-              x="12"
-                         y="60">bus interface</text>             
-                         
-               <use   x="20"  y="68"  xlink:href="#KEY_SharedBus"/> 
-               <text class="keylabel"
-              x="12"
-                         y="85">shared bus</text>                
-                         
-               <text class="keylblul"
-              x="110"
-                         y="47">Bus connections</text>           
-                         
-               <use   x="110"  y="58"  xlink:href="#KEY_busconn_MASTER"/> 
-               <text class="keylabel"
-              x="140"
-                         y="72">master or initiator</text>               
-                         
-               <use   x="110"  y="{58 + (($BLKD_BIFC_H  + 4) * 1)}"  xlink:href="#KEY_busconn_SLAVE"/> 
-               <text class="keylabel"
-              x="140"
-                         y="{72 + (($BLKD_BIFC_H + 4) * 1)}">slave or target</text>              
-                         
-               <use   x="110"  y="{58 + (($BLKD_BIFC_H  + 4) * 2)}"  xlink:href="#KEY_busconn_MASTER_SLAVE"/> 
-               <text class="keylabel"
-              x="140"
-                         y="{72 + (($BLKD_BIFC_H + 4) * 2)}">master slave</text>                 
-                         
-               <use   x="110"  y="{58 + (($BLKD_BIFC_H  + 4) * 3)}"  xlink:href="#KEY_busconn_MONITOR"/>
-               <text class="keylabel"
-              x="140"
-                         y="{72 + (($BLKD_BIFC_H + 4) * 3)}">monitor</text>              
-                         
-               <text class="keylblul"
-              x="258"
-                         y="47">External Ports</text>            
-               
-               <use   x="258"  y="58"  xlink:href="#KEY_INPort"/> 
-               <text class="keylabel"
-              x="288"
-                         y="72">input</text>             
-                         
-               <use   x="258"  y="{58 + ($BLKD_IOP_H * 1) + 4}"  xlink:href="#KEY_OUTPort"/> 
-               <text class="keylabel"
-              x="288"
-                         y="{72 + ($BLKD_IOP_H * 1) + 4}">output</text>                  
-                         
-               <use   x="258" y="{58 + ($BLKD_IOP_H * 2) + 8}"  xlink:href="#KEY_INOUTPort"/> 
-               <text class="keylabel"
-              x="288"
-                         y="{72 + ($BLKD_IOP_H * 2) + 8}">inout</text>           
-               
-               
-               <text class="keylblul"
-              x="380"
-                         y="47">Interrupts</text>
-               
-               <use   x="380"  y="58"  xlink:href="#KEY_IntrCntrl"/> 
-               <text class="keylabel"
-              x="396"
-                         y="64">interrupt</text>                 
-               <text class="keylabel"
-              x="396"
-                         y="74">controller</text>                
-                         
-               
-               <use   x="380"  y="88"  xlink:href="#KEY_IntrdProc"/> 
-               <text class="keylabel"
-              x="396"
-                         y="94">interrupted</text>               
-               <text class="keylabel"
-              x="396"
-                         y="104">processor</text>                
-                         
-               
-               <use   x="380"  y="118"  xlink:href="#KEY_IntrSrc"/> 
-               <text class="keylabel"
-              x="400"
-                         y="124">interrupt</text>                
-               <text class="keylabel"
-              x="400"
-                         y="134">source</text>           
-               
-               <text class="keylabel"
-              x="360"
-                         y="146">x = controller ID</text>                
-               
-               <text class="keylabel"
-              x="360"
-                         y="156">y = priority</text>             
-<!--           
-               <text class="keylabel"
-              x="400"
-                         y="134">source</text>           
-       
--->
-               <rect 
-              x="0"
-                         y="160"
-                     width= "{$BLKD_KEY_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="keyheader"
-              x="{ceiling($BLKD_KEY_W div 2)} "
-                         y="172">COLORS</text>           
-               
-                         
-               <text class="keylblul"
-              x="110"
-                         y="190">Bus Standards</text>            
-                         
-               <xsl:variable name="dcr_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'DCR'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 0)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$dcr_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + $BLKD_BIFC_W + 4}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">DCR</text>                  
-                         
-               <xsl:variable name="fcb_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'FCB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <rect 
-              x="{12  + ((12 + $BLKD_BIFC_W + 36) * 0)}"
-                         y="{200 + (($BLKD_BIFC_H + 4) * 1)}"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$fcb_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + $BLKD_BIFC_W + 4}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 2)}">FCB</text>                  
-               
-               <xsl:variable name="fsl_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'FSL'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 1)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$fsl_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  +  ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 1)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">FSL</text>                  
-               
-               <xsl:variable name="col_lmb_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'LMB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 1)}"
-                         y="{200 + (($BLKD_BIFC_H + 4) * 1)}"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$col_lmb_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 1)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 2)}">LMB</text>                  
-                         
-               
-               <xsl:variable name="opb_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'OPB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 2)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$opb_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  +  ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 2)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">OPB</text>                  
-               
-               <xsl:variable name="plb_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'PLB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 2)}"
-                         y="{200 + (($BLKD_BIFC_H + 4) * 1)}"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$plb_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  +  ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 2)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 2)}">PLB</text>                  
-               
-                        
-               <xsl:variable name="ocm_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'OCM'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 3)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$ocm_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 3)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">SOCM</text>
-               
-               
-               <xsl:variable name="xil_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'XIL'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 3)}"
-                         y="{200 + (($BLKD_BIFC_H + 4) * 1)}"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$xil_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 3)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 2)}">XIL (prefix) P2P</text>             
-                        
-                         
-               <xsl:variable name="trs_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'TRS'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 4)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$trs_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 4)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">GEN. P2P, USER, etc</text>                  
-                         
-</symbol>      
-</xsl:template>
-
-<xsl:template name="Define_BlkDiagram_Specs">
-
-       <xsl:param name="iArch"       select="'NA'"/>
-       <xsl:param name="iPart"       select="'NA'"/>
-       <xsl:param name="iTimeStamp"  select="'NA'"/>
-       <xsl:param name="iEdkVersion" select="'NA'"/>
-                       
-       <symbol id="BlkDiagram_Specs">
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_SPECS_W}"
-                     height="{$BLKD_SPECS_H}"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <text class="keytitle"
-              x="{ceiling($BLKD_SPECS_W div 2)} "
-                         y="14">SPECS</text>
-                         
-               <rect 
-              x="0"
-                         y="20"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="32">EDK VERSION</text>
-                         
-<!--           
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W + 1) - (string-length($blkd_edkver) * 6.5)}"
-                         y="32"><xsl:value-of select="$blkd_edkver"/></text>
--->            
-               <text class="specsvaluemid"
-              x="{($BLKD_SPECS_W + 1) - ceiling($BLKD_SPECS_W div 5)}"
-                         y="32"><xsl:value-of select="$iEdkVersion"/></text>
-                         
-               <rect 
-              x="0"
-                         y="40"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="52">ARCH</text>
-                         
-<!--           
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W + 1) - (string-length($blkd_arch) * 6.5)}"
-                         y="52"><xsl:value-of select="$blkd_arch"/></text>
--->            
-               <text class="specsvaluemid"
-              x="{($BLKD_SPECS_W + 1) - ceiling($BLKD_SPECS_W div 5)}"
-                         y="52"><xsl:value-of select="$iArch"/></text>
-                         
-               <rect 
-              x="0"
-                         y="60"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="72">PART</text>
-                         
-<!--           
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W  + 1) - ((string-length($blkd_part) + 2) * 6.5)}"
-                         y="72"><xsl:value-of select="$blkd_part"/></text>
--->            
-               <text class="specsvaluemid"
-              x="{($BLKD_SPECS_W + 1) - ceiling($BLKD_SPECS_W div 5)}"
-                         y="72"><xsl:value-of select="$iPart"/></text>
-                         
-               <rect 
-              x="0"
-                         y="80"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="92">GENERATED</text>
-                         
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W  + 1) - (string-length($iTimeStamp) * 6.5)}"
-                         y="92"><xsl:value-of select="$iTimeStamp"/></text>
-                         
-                         
-       </symbol>       
-</xsl:template>
-       
-
-       
-
-</xsl:stylesheet>
-
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!-- =========================================================================== -->
\ No newline at end of file
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Peripherals.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Peripherals.xsl
deleted file mode 100644 (file)
index 7498fe3..0000000
+++ /dev/null
@@ -1,1499 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-                       
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:math="http://exslt.org/math"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink"
-           extension-element-prefixes="math">
-                               
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-<!--   
-<xsl:variable name="INF_H"   select="$BIF_H       + ceiling($BIF_H div 2)"/>                           
-<xsl:variable name="INF_W"   select="($BIF_W * 2) + $BIF_GAP"/>
--->    
-
-
-<!-- ======================= DEF FUNCTIONS =================================== -->
-
-<xsl:template name="Define_FreeCmplxModules">
-       
-       <xsl:for-each select="BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and not(@IS_PENALIZED) and not(@STACK_INDEX))]">  
-               
-               <xsl:variable name="cmplxId_" select="position()"/>
-               
-               <xsl:if test="@MODCLASS='MEMORY_UNIT'">
-                       <xsl:call-template name="Define_PeripheralMemory">
-                               <xsl:with-param name="iPeriId" select="$cmplxId_"/>
-                       </xsl:call-template>
-               </xsl:if>
-               
-               <xsl:if test="((@MODCLASS='MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">
-                       <xsl:variable name="modInst_" select="MODULE/@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-                       <xsl:call-template name="Define_Peripheral">
-                               <xsl:with-param name="iModInst"  select="$modInst_"/>
-                               <xsl:with-param name="iModType"  select="$modType_"/>
-                       </xsl:call-template>            
-               </xsl:if>
-               
-       </xsl:for-each>         
-</xsl:template>        
-
-
-<xsl:template name="Define_PenalizedModules">
-       
-       <xsl:for-each select="BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and @IS_PENALIZED)]">     
-               
-               <xsl:variable name="penalId_">unkmodule_<xsl:value-of select="@BKTROW"/>_<xsl:value-of select="@MODS_X"/></xsl:variable>
-               
-<!--           
-               <xsl:message>Drawing penalized module <xsl:value-of select="$penalId_"/></xsl:message>
--->            
-               
-               <xsl:if test="@MODCLASS='MEMORY_UNIT'">
-                       <xsl:call-template name="Define_PeripheralMemory">
-                               <xsl:with-param name="iPeriId" select="$penalId_"/>
-                       </xsl:call-template>
-               </xsl:if>
-               
-<!--           
-               <xsl:if test="((@MODCLASS='MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">
--->            
-                       <xsl:variable name="modInst_" select="MODULE/@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
-                       <xsl:call-template name="Define_Peripheral">
-                               <xsl:with-param name="iModInst"  select="$modInst_"/>
-                               <xsl:with-param name="iModType"  select="$modType_"/>
-                               <xsl:with-param name="iUnkInst"  select="$penalId_"/>
-                       </xsl:call-template>            
-<!--                   
-               </xsl:if>
--->            
-               
-       </xsl:for-each>         
-</xsl:template>        
-
-
-<xsl:template name="Define_IPBucket">
-                       
-       <xsl:for-each select="BLKDSHAPES/IPBUCKET">
-               
-               <xsl:for-each select="MODULE">  
-                       
-                       <xsl:call-template name="Define_IPBucketModule">
-                               <xsl:with-param name="iIPType"   select="@MODTYPE"/>
-                               <xsl:with-param name="iIPName"   select="@INSTANCE"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>         
-               
-               <symbol id="ipbucket">
-                       <xsl:variable name="bucket_w_"  select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       <xsl:variable name="bucket_h_"  select="(($BLKD_MOD_BKTLANE_H * 2) + (($BLKD_MOD_H * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <rect x="0" 
-                     y="0"  
-                         rx="4"
-                         ry="4"
-                     width= "{$bucket_w_}" 
-                     height="{$bucket_h_}" 
-                     style="stroke-width:2; stroke:{$COL_BLACK}; fill:{$COL_IORING_LT}"/>
-                                
-                       <xsl:variable name="bkt_mods_w_" select="@MODS_W"/>
-                       
-                       <xsl:for-each select="MODULE">  
-                               
-                               <xsl:variable name="clm_"   select="((     position() - 1)  mod $bkt_mods_w_)"/>
-                               <xsl:variable name="row_"   select="floor((position() - 1)  div $bkt_mods_w_)"/>
-                               
-                               <xsl:variable name="bk_x_"  select="$BLKD_MOD_BKTLANE_W + ($clm_ * ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G))"/>
-                               <xsl:variable name="bk_y_"  select="$BLKD_MOD_BKTLANE_H + ($row_ * ($BLKD_MOD_H + $BLKD_MOD_BUCKET_G))"/>
-                               
-                                        
-                               <use x="{$bk_x_}"   
-                                        y="{$bk_y_}" 
-                                        xlink:href="#ipbktmodule_{@INSTANCE}"/>                                  
-                                        
-                                        
-                       </xsl:for-each>          
-                                        
-       </symbol>               
-       
-</xsl:for-each>        
-</xsl:template>        
-
-
-<xsl:template name="Define_UNKBucket">
-                       
-       <xsl:for-each select="BLKDSHAPES/UNKBUCKET">
-       
-               <symbol id="unkbucket">
-                       <xsl:variable name="bucket_w_"  select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       <xsl:variable name="bucket_h_"  select="(($BLKD_MOD_BKTLANE_H * 2) + (($BLKD_MOD_H * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <rect x="0" 
-                     y="0"  
-                         rx="4"
-                         ry="4"
-                     width= "{$bucket_w_}" 
-                     height="{$bucket_h_}" 
-                     style="stroke-width:2; stroke:{$COL_BLACK}; fill:{$COL_BG_UNK}"/>
-                                
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and @IS_PENALIZED)]">  
-                       
-                       <xsl:variable name="bkt_mods_w_" select="@MODS_W"/>
-                               
-                               <xsl:variable name="mod_row_"    select="@BKTROW"/>     
-                               <xsl:variable name="row_mods_h_" select="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/BKTROW[(@INDEX = $mod_row_)]/@MODS_H"/>        
-
-<!--                           
-                               <xsl:message>The row module is <xsl:value-of select="@BKTROW"/></xsl:message>
-                               <xsl:message>The height of the module is <xsl:value-of select="$row_mods_h_"/></xsl:message>
--->                            
-                               
-                               
-                               <xsl:variable name="bk_x_"  select="$BLKD_MOD_BKTLANE_W + (@MODS_X * ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G))"/>
-                               <xsl:variable name="bk_y_"  select="$BLKD_MOD_BKTLANE_H + ($row_mods_h_ * ($BLKD_MOD_H + $BLKD_MOD_BUCKET_G))"/>
-                               
-                               <use x="{$bk_x_}"   
-                                        y="{$bk_y_}" 
-                                        xlink:href="#symbol_unkmodule_{@BKTROW}_{@MODS_X}"/>                             
-<!--                            
--->                             
-
-                       </xsl:for-each>          
-
-                       
-               </symbol>               
-               
-       </xsl:for-each> 
-</xsl:template>        
-
-               
-<xsl:template name="Define_SBSBuckets">
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET">      
-               
-               <xsl:variable name="bus_name_"   select="@BUSNAME"/>
-               <xsl:variable name="bus_std_"    select="@BUSSTD"/>
-<!--           
-               <xsl:variable name="bus_std_"    select="BUSCONNS/BUSCONN/@BUSSTD"/>
--->    
-               <xsl:variable name="bus_conn_w_" select="BUSCONNS/@BUSLANE_W"/>
-               
-               <xsl:variable name="bucket_bg_col_">
-                       <xsl:call-template name="BusType2LightColor">
-                               <xsl:with-param name="iBusType" select="$bus_std_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="bucket_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="$bus_std_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               
-               <xsl:for-each select="MODULE">  
-                       
-                       <xsl:sort data-type="text" select="@INSTANCE" order="ascending"/>
-               
-                       <xsl:call-template name="Define_SBSBucketModule">
-                               <xsl:with-param name="iBifType"  select="$bus_std_"/>
-                               <xsl:with-param name="iIPType"   select="@MODTYPE"/>
-                               <xsl:with-param name="iIPName"   select="@INSTANCE"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>         
-               
-               <symbol id="sbsbucket_{$bus_name_}">
-                       <xsl:variable name="bucket_w_"  select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       <xsl:variable name="bucket_h_"  select="(($BLKD_MOD_BKTLANE_H * 2) + ((($BLKD_MOD_H + $BLKD_BIFC_H) * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>
-                       
-                       <rect x="0"
-                             y="0"  
-                                 rx="4"
-                                 ry="4"
-                             width= "{$bucket_w_}" 
-                             height="{$bucket_h_}" 
-                             style="stroke-width:2; stroke:{$bucket_col_}; fill:{$bucket_bg_col_}"/>
-                                
-                       <xsl:variable name="bkt_mods_w_" select="@MODS_W"/>
-                       
-                       <xsl:for-each select="MODULE">  
-                               
-                               <xsl:sort data-type="text" select="@INSTANCE" order="ascending"/>
-                               
-                               <xsl:variable name="clm_"   select="((     position() - 1)  mod $bkt_mods_w_)"/>
-                               <xsl:variable name="row_"   select="floor((position() - 1)  div $bkt_mods_w_)"/>
-                               
-                               <xsl:variable name="bk_x_"  select="$BLKD_MOD_BKTLANE_W + ($clm_ * ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G))"/>
-                               <xsl:variable name="bk_y_"  select="$BLKD_MOD_BKTLANE_H + ($row_ * ($BLKD_MOD_H + $BLKD_BIFC_H + $BLKD_MOD_BUCKET_G))"/>
-                                        
-                               <!-- Lay out the module in the bucket -->
-                                <use x="{$bk_x_}" y="{$bk_y_}"  xlink:href="#sbsbktmodule_{@INSTANCE}"/>                 
-                               
-                               <!-- Add its connection to the piece shared bus -->
-                               <xsl:variable name="h_bus_y_" select="$bk_y_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               
-<!--                           
-                               <xsl:variable name="h_bus_x_" select="$bk_x_ - ($BLKD_MOD_BUCKET_G + ceiling($BLKD_MOD_W div 2))"/>
--->    
-                               <xsl:variable name="h_bus_x_">
-                                       <xsl:choose>
-                                               <xsl:when test="($clm_ = '0')">0</xsl:when>
-                                       
-                                               <xsl:when test="not($clm_ = '0')">
-                                                       <xsl:value-of select="$bk_x_ - ($BLKD_MOD_BUCKET_G + ceiling($BLKD_MOD_W div 2))"/>
-                                               </xsl:when>
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:variable name="h_bus_y_" select="$bk_y_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W)"/>
-                               <xsl:message>h bus x <xsl:value-of select="$h_bus_x_"/></xsl:message>
-                               <xsl:message>h bus y <xsl:value-of select="$h_bus_y_"/></xsl:message>
--->    
-                               <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-                               <xsl:variable name="h_bus_width_"  select="($bk_x_ - $h_bus_x_ + ceiling($BLKD_MOD_W div 2))"/> 
-                               
-                               <rect x="{$h_bus_x_}" 
-                                 y="{$h_bus_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$BLKD_P2P_BUS_W}" 
-                                 style="fill:{$bucket_col_}"/>
-                               
-                       </xsl:for-each>
-                       
-                       <xsl:variable name="num_sbsbktmods_" select="count(MODULE)"/>
-                       <xsl:variable name="num_sbsbktrows_" select="ceiling($num_sbsbktmods_ div $BLKD_BKT_MODS_PER_ROW)"/>
-                       
-                       <!-- If there is more than one row, connect the rows with a vertical bar -->            
-                       <xsl:if test="($num_sbsbktrows_ &gt; 1)">
-                               
-                               <xsl:variable name="v_bus_x_"    select="$BLKD_MOD_BKTLANE_W + ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G)"/>
-                               
-                               <xsl:variable name="bkt_top_"    select="$BLKD_MOD_BKTLANE_H + (0                      * ($BLKD_MOD_H + $BLKD_BIFC_H + $BLKD_MOD_BUCKET_G))"/>
-                               <xsl:variable name="bkt_bot_"    select="$BLKD_MOD_BKTLANE_H + (($num_sbsbktrows_ - 1) * ($BLKD_MOD_H + $BLKD_BIFC_H + $BLKD_MOD_BUCKET_G))"/>
-                               
-                               <xsl:variable name="v_bus_y_top_" select="$bkt_top_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               <xsl:variable name="v_bus_y_bot_" select="$bkt_bot_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               
-                               <xsl:variable name="v_bus_width_"   select="$BLKD_P2P_BUS_W"/>
-                               <xsl:variable name="v_bus_height_"  select="($v_bus_y_bot_ - $v_bus_y_top_)"/>
-                               <rect x="0" 
-                                 y="{$v_bus_y_top_}"  
-                                 width= "{$v_bus_width_}" 
-                                 height="{$v_bus_height_}" 
-                                 style="fill:{$bucket_col_}"/>
-                       </xsl:if>
-                       
-               </symbol>
-               
-       </xsl:for-each>         
-       
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_SBSBucketModule">
-       
-       <xsl:param name="iBifType"  select="'OPB'"/>
-       <xsl:param name="iIPName"   select="'_ipType_'"/>
-       <xsl:param name="iIPType"   select="'_ipName_'"/>
-       
-<!--   
-       <xsl:message>The IPType is <xsl:value-of select="$iIPType"/> </xsl:message>
--->    
-       <xsl:variable name="bif_y_">
-               <xsl:value-of select="$BLKD_MOD_LANE_H + $BLKD_BIFC_H"/>        
-       </xsl:variable>
-
-       <xsl:variable name="label_y_">
-               <xsl:value-of select="$BLKD_MOD_LANE_H + $BLKD_BIF_H + $BLKD_BIFC_H +  $BLKD_MOD_BIF_GAP_V"/>   
-       </xsl:variable>
-       
-       <xsl:variable name="modBg_Col_">
-               <xsl:choose>
-                       <xsl:when test="$iIPType = 'mpmc'"><xsl:value-of select="$COL_MPMC_BG"/></xsl:when>
-                       <xsl:otherwise><xsl:value-of select="$COL_BG"/></xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-    <symbol id="sbsbktmodule_{$iIPName}">
-               
-               <rect x="0"
-                     y="{$BLKD_BIFC_H}"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$BLKD_MOD_W}"
-                     height= "{$BLKD_MOD_H}"
-                         style="fill:{$modBg_Col_}; stroke:{$COL_WHITE}; stroke-width:2"/>             
-                         
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-               
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@GROUP">
-               
-                       <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                         y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) - 2}"
-                             rx="3" 
-                             ry="3" 
-                         width= "{$BLKD_MOD_LABEL_W}"
-                         height="{$BLKD_BIF_H}"
-                                 style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-       
-                  <text class="ioplblgrp" 
-                                 x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-          
-               <text class="bciptype" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 8}">
-                               <xsl:value-of select="$iIPType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 16}">
-                               <xsl:value-of select="$iIPName"/>
-          </text>
-          
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iIPName)]/BUSINTERFACE[not(@BUSNAME = '__NOC__')]">
-                       
-                       <xsl:variable name="bif_busstd_">
-                               <xsl:choose>
-                                       <xsl:when test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>        
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="'TRS'"/>  
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_name_">
-                               <xsl:choose>
-                                       <xsl:when test="string-length(@NAME) &lt;= 5">
-                                               <xsl:value-of select="@NAME"/>  
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="substring(@NAME,0,5)"/>   
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-       
-                   <xsl:variable name="bif_x_"  select="ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_BIF_W div 2)"/>
-                       
-                       <!-- Draw the BIF -->
-                       <use  x="{$bif_x_}"   y="{$bif_y_}"  xlink:href="#{$bif_busstd_}_Bif"/>
-                       
-<!--                   
-                       <symbol id="{$bus_type}_busconn_SLAVE"> 
--->             
-        
-                       <!-- Draw the BIF connection -->
-                       <use  x="{$bif_x_ + ceiling($BLKD_BIF_W div 2) - ceiling($BLKD_BIFC_W div 2)}"   y="{$bif_y_ - $BLKD_BIFC_H - $BLKD_MOD_LANE_H}"  xlink:href="#{$bif_busstd_}_busconn_{@BIFRANK}"/>
-                               
-                       <text class="biflabel" 
-                                 x="{$bif_x_ + ceiling($BLKD_BIF_W div 2)}"
-                                 y="{$bif_y_ + ceiling($BLKD_BIF_H div 2) + 3}">
-                                       <xsl:value-of select="$bif_name_"/>
-                       </text>
-                       
-               </xsl:for-each>
-               
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@INTCINDEX">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptCntrl">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
-                               <xsl:with-param name="iIntr_Y"   select="3 + $BLKD_BIFC_H"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_IDX" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
-               
-                     
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/INTCCNTLRTRGS/INTCTRG">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptSource">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - $BLKD_INTR_W)"/>
-                               <xsl:with-param name="iIntr_Y"   select="((position() - 1) * (ceiling($BLKD_INTR_H div 2) + 3)) + $BLKD_BIFC_H"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_PRI" select="@PRIORITY"/>
-                               <xsl:with-param name="iIntr_IDX" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>
-               
-       </symbol>                         
-       
-</xsl:template>        
-
-<xsl:template name="Define_IPBucketModule">
-       
-       <xsl:param name="iIPType"   select="'_ip_type_'"/>
-       <xsl:param name="iIPName"   select="'_ip_name_'"/>
-       
-       <xsl:variable name="bif_y_">
-               <xsl:value-of select="$BLKD_MOD_LANE_H"/>       
-       </xsl:variable>
-
-       <xsl:variable name="label_y_">
-               <xsl:value-of select="(ceiling($BLKD_MOD_H div 2) - ceiling($BLKD_MOD_LABEL_H div 2))"/>        
-       </xsl:variable>
-       
-    <symbol id="ipbktmodule_{$iIPName}">
-
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$BLKD_MOD_W}"
-                     height= "{$BLKD_MOD_H}"
-                         style="fill:{$COL_BG}; stroke:{$COL_BLACK}; stroke-width:2"/>         
-                         
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-                         
-<!--
-                         y="{$label_y_ + ceiling($BLKD_MOD_LABEL_H div 2) - 4}"
-                         y="{$label_y_ + ceiling($BLKD_MOD_LABEL_H div 2) + 4}"
--->                      
-
-               <text class="bciptype" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 8}">
-                               <xsl:value-of select="$iIPType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 16}">
-                               <xsl:value-of select="$iIPName"/>
-          </text>
-          
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iIPName)]/@GROUP">
-               
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) - 2}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_BIF_H}"
-                         style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-       
-                  <text class="ioplblgrp" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                     y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iIPName]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-               
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/INTCCNTLRTRGS/INTCTRG">
-                       
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptSource">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - $BLKD_INTR_W)"/>
-                               <xsl:with-param name="iIntr_Y"   select="((position() - 1) * (ceiling($BLKD_INTR_H div 2) + 3))"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_PRI" select="@PRIORITY"/>
-                               <xsl:with-param name="iIntr_IDX" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>
-          
-       </symbol>                         
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_Peripheral"> 
-<!-- 
-       when the module is oriented normal its label goes above the bifs 
-    when the module is oriented rot180, (part of a processor memory  
-       controller for example) its label goes below the bifs 
--->    
-
-       <xsl:param name="iModVori"    select="'normal'"/>
-       <xsl:param name="iModInst"    select="'_instance_'"/>
-       <xsl:param name="iModType"    select="'_modtype_'"/>
-       <xsl:param name="iUnkInst"    select="'_unknown_'"/>
-       <xsl:param name="iHorizIdx"   select="'_unknown_'"/>
-       <xsl:param name="iVertiIdx"   select="'_unknown_'"/>
-       
-<!--   
-       <xsl:message>Stack       Y <xsl:value-of select="$cstkMods_Y"/></xsl:message>
-       <xsl:message>Stack Index Y <xsl:value-of select="$cstkIndex"/></xsl:message>
--->    
-       
-       <xsl:variable name="modName_">
-               <xsl:choose>
-                       <xsl:when test="$iUnkInst = '_unknown_'">
-                               <xsl:value-of select="$iModInst"/>      
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$iUnkInst"/>      
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="modSymbolName_">
-               <xsl:choose>
-                       <xsl:when test="(not($iHorizIdx = '_unknown_') and not($iVertiIdx = '_unknown_'))">
-                               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                                       <xsl:with-param name="iHorizIdx"  select="$iHorizIdx"/>
-                                       <xsl:with-param name="iVertiIdx"  select="$iVertiIdx"/>
-                               </xsl:call-template>            
-                       </xsl:when>
-                       <xsl:otherwise>symbol_<xsl:value-of select="$modName_"/></xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="modTypeName_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/@MODTYPE"/>
-       
-       
-<!--   
-       <xsl:message>The symbol type of the module is <xsl:value-of select="$modTypeName_"/></xsl:message>
-       <xsl:message>The symbol name of the module is <xsl:value-of select="$modSymbolName_"/></xsl:message>
--->    
-       
-       <xsl:variable name="bifs_h_">   
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H) and not(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H)">0</xsl:if>
-       
-               <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H)">
-                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H"/>
-               </xsl:if>
-       
-               <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H)">
-                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H"/>
-               </xsl:if>
-       </xsl:variable>         
-       
-       <xsl:variable name="label_y_">
-               <xsl:choose>
-                       <xsl:when test="$iModVori = 'rot180'">
-                               <xsl:value-of select="($BLKD_MOD_LANE_H + (($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $bifs_h_))"/>  
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$BLKD_MOD_LANE_H"/>       
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="bif_dy_">
-               <xsl:choose>
-                       <xsl:when test="$iModVori = 'rot180'">
-                               <xsl:value-of select="$BLKD_MOD_LANE_H"/>       
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V)"/>   
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="peri_stroke_col_">
-               <xsl:choose>
-                       <xsl:when test="((@MODCLASS = 'MASTER_SLAVE') or (@MODCLASS = 'MONITOR')) and BUSCONNS/BUSCONN">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="BUSCONNS/BUSCONN/@BUSSTD"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       
-                       <xsl:otherwise>
-                               <xsl:value-of select="$COL_WHITE"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="modHeight_">
-               <xsl:call-template name="_calc_PeriShape_Height">
-                       <xsl:with-param name="iShapeInst"  select="$modName_"/>
-               </xsl:call-template>    
-       </xsl:variable>         
-       
-    <symbol id="{$modSymbolName_}">
-               
-               <xsl:if test="$modTypeName_ = 'mpmc'">
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$BLKD_MOD_W}"
-                     height= "{$modHeight_}"
-                         style="fill:{$COL_MPMC_BG}; stroke:{$peri_stroke_col_}; stroke-width:2"/>             
-               </xsl:if>       
-               
-               <xsl:if test="not($modTypeName_ = 'mpmc')">
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$BLKD_MOD_W}"
-                     height= "{$modHeight_}"
-                         style="fill:{$COL_BG}; stroke:{$peri_stroke_col_}; stroke-width:2"/>          
-               </xsl:if>       
-               
-                                         
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-                         
-<!--                     
-                         y="{$label_y_ + ceiling($BLKD_MOD_LABEL_H div 2) - 4}">
-                         y="{$label_y_ + ceiling($BLKD_MOD_LABEL_H div 2) + 4}">
--->
-                         
-               <text class="bciptype" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 8}">
-                               <xsl:value-of select="$iModType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 16}">
-                               <xsl:value-of select="$iModInst"/>
-          </text>
-          
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iModInst]/@GROUP">
-               
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) - 2}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_BIF_H}"
-                         style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-                  <text class="ioplblgrp" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                     y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iModInst]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-          
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iModInst]/BUSINTERFACE[(@BIF_X and @BIF_Y and not(@BUSNAME = '__NOC__'))]">
-                       
-                       <xsl:variable name="bif_busstd_">
-                               <xsl:choose>
-                                       <xsl:when test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>        
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="'TRS'"/>  
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_y_">
-                               <xsl:value-of select="(($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V)  * @BIF_Y)"/>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_buscol_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="$bif_busstd_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-               
-                       
-                       <xsl:variable name="bif_name_">
-                               <xsl:choose>
-                                       <xsl:when test="not(@NAME)">'UNK'</xsl:when>
-                                       <xsl:when test="string-length(@NAME) &lt;= 5">
-                                               <xsl:value-of select="@NAME"/>  
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="substring(@NAME,0,5)"/>   
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-       
-                       <xsl:variable name="bif_x_" >
-                               <xsl:if test="not(@ORIENTED='CENTER')">
-                                       <xsl:value-of select="(($BLKD_BIF_W * @BIF_X) + ($BLKD_MOD_BIF_GAP_H * @BIF_X) + ($BLKD_MOD_LANE_W * 1))"/>
-                               </xsl:if>
-                               <xsl:if test="(@ORIENTED='CENTER')">
-                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_BIF_W div 2)"/>
-                               </xsl:if>
-                       </xsl:variable> 
-                       
-                       <xsl:if test="not(@IS_INTCONN)">
-                               <xsl:variable name="horz_line_y_" select="($bif_y_  + $bif_dy_ + ceiling($BLKD_BIFC_H div 2))"/>
-                       
-                               <xsl:variable name="horz_line_x1_">
-                                       <xsl:choose>
-                                               <xsl:when test="@BIF_X = '0'">0</xsl:when>
-                                               <xsl:otherwise><xsl:value-of select="($BLKD_MOD_W - $BLKD_MOD_LANE_W)"/></xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                       
-                               <xsl:variable name="horz_line_x2_">
-                                       <xsl:choose>
-                                               <xsl:when test="@BIF_X = '0'"><xsl:value-of select="$BLKD_MOD_LANE_W"/></xsl:when>
-                                               <xsl:otherwise><xsl:value-of select="$BLKD_MOD_W + 1"/></xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                       
-                       
-                               <line x1="{$horz_line_x1_}" 
-                                         y1="{$horz_line_y_ - 2}"
-                                 x2="{$horz_line_x2_}" 
-                                 y2="{$horz_line_y_ - 2}" 
-                                style="stroke:{$bif_buscol_};stroke-width:1"/>
-                         
-                       </xsl:if>
-                       
-                       <use  x="{$bif_x_}"   y="{$bif_y_ + $bif_dy_}"  xlink:href="#{$bif_busstd_}_Bif"/>
-                               
-                       <text class="biflabel" 
-                                 x="{$bif_x_  + ceiling($BLKD_BIF_W div 2)}"
-                                 y="{$bif_y_ + $bif_dy_ + ceiling($BLKD_BIF_H div 2) + 3}">
-                                       <xsl:value-of select="$bif_name_"/>
-                       </text>
-                       
-               </xsl:for-each>
-               
-<!--           
-               <xsl:if test="@INTCINDEX">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptCntrl">
-                               <xsl:with-param name="intr_col" select="$intr_col_"/>
-                               <xsl:with-param name="intr_x"   select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
-                               <xsl:with-param name="intr_y"   select="3"/>
-                               <xsl:with-param name="intr_idx" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
--->            
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/@INTCINDEX">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptCntrl">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
-                               <xsl:with-param name="iIntr_Y"   select="3"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_IDX" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
-               
-               
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/INTCCNTLRTRGS/INTCTRG">
-                       
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptSource">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - $BLKD_INTR_W)"/>
-                               <xsl:with-param name="iIntr_Y"   select="((position() - 1) * (ceiling($BLKD_INTR_H div 2) + 3))"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_PRI" select="@PRIORITY"/>
-                               <xsl:with-param name="iIntr_IDX" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>
-               
-       </symbol>                         
-</xsl:template>        
-       
-<xsl:template name="Define_MemoryUnit"> 
-       <xsl:param name="iShapeId"  select="1000"/>
-       
-       <xsl:variable name="horiz_idx_"   select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="is_multistk_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/@IS_MULTISTK"/>
-       
-       <xsl:choose>
-               <xsl:when test="(($is_multistk_ = 'TRUE') or (/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $horiz_idx_)]))">
-                       <xsl:call-template name="Define_Processor_MemoryUnit"> 
-                               <xsl:with-param name="iShapeId"  select="$iShapeId"/>
-                       </xsl:call-template>
-               </xsl:when>
-               
-               <xsl:otherwise>
-                       <xsl:call-template name="Define_StandAlone_MemoryUnit"> 
-                               <xsl:with-param name="iShapeId"  select="$iShapeId"/>
-                       </xsl:call-template>
-               </xsl:otherwise>
-               
-       </xsl:choose>
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_Processor_MemoryUnit"> 
-       <xsl:param name="iShapeId"  select="1000"/>
-       
-<!--   
-       <xsl:param name="cstkIndex"    select="'_processor_'"/>
--->    
-       
-       <xsl:variable name="mods_h_"  select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/@MODS_H"/>
-       <xsl:variable name="mods_w_"  select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/@MODS_W"/>
-       <xsl:variable name="memW_" select="($BLKD_MOD_W * $mods_w_)"/>
-       <xsl:variable name="memH_" select="($BLKD_MOD_H * $mods_h_)"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]">
-               
-               <!-- first define its symbols as individual modules --> 
-               <xsl:for-each select="MODULE[@MODCLASS='MEMORY']">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-               
-                       <xsl:call-template name="Define_Peripheral"> 
-                               <xsl:with-param name="iModVori"  select="'normal'"/>
-                               <xsl:with-param name="iModInst"  select="$modInst_"/>
-                               <xsl:with-param name="iModType"  select="$modType_"/>
-                       </xsl:call-template>            
-               </xsl:for-each> 
-       
-               <xsl:for-each select="MODULE[@MODCLASS='MEMORY_CNTLR']">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-               
-                       <xsl:call-template name="Define_Peripheral"> 
-                               <xsl:with-param name="iModVori"  select="'rot180'"/>
-                               <xsl:with-param name="iModInst"  select="$modInst_"/>
-                               <xsl:with-param name="iModType"  select="$modType_"/>
-                       </xsl:call-template>            
-               </xsl:for-each> 
-       </xsl:for-each>
-       
-<!--   
--->    
-       
-       <xsl:variable name="symbol_name_">
-               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                       <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                       <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>The mp stack name is <xsl:value-of select="$mp_stack_name_"/></xsl:message>
--->    
-               
-    <symbol id="{$symbol_name_}">
-
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$memW_}"
-                     height= "{$memH_}"
-                         style="fill:{$COL_BG}; stroke:{$COL_WHITE}; stroke-width:2"/>         
-                         
-               <!-- Draw the memory block-->             
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY')]">
-                       
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="{ceiling($memW_ div 2) - ($BLKD_MOD_W div 2)}"  
-                                  y="0"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[((@MODCLASS='MEMORY_CNTLR') and (@ORIENTED = 'WEST'))]">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="0"  
-                                  y="{$BLKD_MOD_H}"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[((@MODCLASS='MEMORY_CNTLR') and (@ORIENTED = 'EAST'))]">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="{$BLKD_MOD_W}"  
-                                  y="{$BLKD_MOD_H}"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[((@MODCLASS='MEMORY_CNTLR') and (@ORIENTED = 'CENTER'))]">   
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="{ceiling($memW_ div 2) - ($BLKD_MOD_W div 2)}"  
-                                  y="{$BLKD_MOD_H}"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-       </symbol>                         
-       
-</xsl:template>        
-
-       
-<xsl:template name="Define_StandAlone_MemoryUnit"> 
-       
-       <xsl:param name="iShapeId" select="0"/>
-       
-       <xsl:variable name="mods_h_"  select="@MODS_H"/>
-       <xsl:variable name="mods_w_"  select="@MODS_W"/>
-       
-       <xsl:variable name="memc_name_" select="MODULE[not(@MODCLASS = 'MEMORY')]/@INSTANCE"/>
-       <xsl:variable name="memc_busstd_" select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE/BUSCONNLANE[(BUSCONN[(@INSTANCE = $memc_name_)])]/@BUSSTD"/>
-       
-<!--   
-       <xsl:variable name="memc_busstd_" select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE/BUSCONNLANE/@BUSSTD"/>
-       <xsl:variable name="memc_busstd_" select="/EDKSYSTEM/BCLANESPACES/BCLANESPACE/BUSCONNLANE[(BUSCONN[(@INSTANCE)])]/@BUSSTD"/>
-       <xsl:message>Memory cntlr name <xsl:value-of select="$memc_name_"/></xsl:message>
-       <xsl:message>Memory cntlr name <xsl:value-of select="$memc_name_"/></xsl:message>
-       <xsl:message>Memory cntlr busstd <xsl:value-of select="$memc_busstd_"/></xsl:message>
--->    
-       
-       <xsl:variable name="peri_col_">
-               
-               <xsl:choose>
-                       <xsl:when test="$mods_w_ &gt; 1">
-                               <xsl:value-of select="$COL_BG"/>
-                       </xsl:when>
-                       
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE/BUSCONNLANE[(BUSCONN[(@INSTANCE = $memc_name_)])]/@BUSSTD">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="$memc_busstd_"/>
-                               </xsl:call-template>
-                       </xsl:when>
-               
-                       <xsl:otherwise>
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="'TRS'"/>
-                               </xsl:call-template>
-                       </xsl:otherwise>
-               </xsl:choose>           
-               
-       </xsl:variable>  
-       
-       <!-- first define its symbols as individual modules --> 
-       <xsl:for-each select="MODULE[(@MODCLASS = 'MEMORY')]">
-               <xsl:variable name="modInst_" select="@INSTANCE"/>
-               <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$modInst_]/@MODTYPE"/>
-               
-               <xsl:call-template name="Define_Peripheral"> 
-                       <xsl:with-param name="iModVori"  select="'rot180'"/>
-                       <xsl:with-param name="iModInst"  select="$modInst_"/>
-                       <xsl:with-param name="iModType"  select="$modType_"/>
-               </xsl:call-template>            
-       </xsl:for-each> 
-       
-       <xsl:for-each select="MODULE[not(@MODCLASS='MEMORY')]">
-               <xsl:variable name="modInst_" select="@INSTANCE"/>
-               <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$modInst_]/@MODTYPE"/>
-               
-<!--           
-               <xsl:message>Memory cntlr inst <xsl:value-of select="$modInst_"/></xsl:message>
--->            
-               <xsl:call-template name="Define_Peripheral"> 
-                       <xsl:with-param name="iModVori"  select="'normal'"/>
-                       <xsl:with-param name="iModInst"  select="$modInst_"/>
-                       <xsl:with-param name="iModType"  select="$modType_"/>
-               </xsl:call-template>            
-       </xsl:for-each> 
-       
-       <xsl:variable name="memW_" select="($BLKD_MOD_W * $mods_w_)"/>
-       <xsl:variable name="memH_" select="($BLKD_MOD_H * $mods_h_)"/>
-       
-       <xsl:variable name="symbol_name_">
-               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                       <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                       <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-               
-    <symbol id="{$symbol_name_}">
-               
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$memW_ + 4}"
-                     height= "{$memH_ + 4}"
-                         style="fill:{$peri_col_}; stroke:{$peri_col_}; stroke-width:2"/>              
-                         
-
-               <!-- Draw the memory block-->             
-               <xsl:choose>
-                       
-               <xsl:when test="$mods_w_ = 1">
-                       
-                       <xsl:for-each select="MODULE[(@MODCLASS='MEMORY')]">    
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="2"  
-                                     y="{$BLKD_MOD_H + 2}"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-               
-               <!-- Draw the memory controllers-->               
-                       <xsl:for-each select="MODULE[not(@MODCLASS='MEMORY')]"> 
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="2"  
-                                         y="0"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               </xsl:when>     
-               
-               <xsl:when test="$mods_w_ &gt; 1">
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY')]">
-                       
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                                <use  x="{ceiling($memW_ div 2) - ($BLKD_MOD_W div 2)}"  
-                                          y="{$BLKD_MOD_H + 2}"  
-                                          xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(not(@MODCLASS='MEMORY') and (@ORIENTED = 'WEST'))]">
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="0"  
-                                     y="0"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(not(@MODCLASS='MEMORY') and (@ORIENTED = 'EAST'))]">
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="{$BLKD_MOD_W}"  
-                                     y="0"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(not(@MODCLASS='MEMORY') and (@ORIENTED = 'CENTER'))]">      
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="{ceiling($memW_ div 2) - ($BLKD_MOD_W div 2)}"  
-                                     y="0"  
-                                         xlink:href="#symbol_{$modInst_}"/> 
-                   </xsl:for-each>
-                       
-               </xsl:when>     
-               </xsl:choose>
-                         
-       </symbol>                         
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_StandAlone_MPMC"> 
-       
-<!--   
-       <xsl:param name="drawarea_w"  select="500"/>
-       <xsl:param name="drawarea_h"  select="500"/>
--->    
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE">
-               
-               <xsl:variable name="mpmcInst_" select="@INSTANCE"/>
-               <xsl:variable name="mpmcType_" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$mpmcInst_]/@MODTYPE"/>
-<!--           
-               <xsl:message>Drawing instance <xsl:value-of select="$mpmcInst_"/></xsl:message>
--->            
-               
-               <xsl:variable name="mpmc_w_"  select="($G_total_drawarea_W - ($BLKD_INNER_GAP * 2))"/>
-               <xsl:variable name="label_y_"  select="ceiling($BLKD_MPMC_MOD_H div 2) - ceiling($BLKD_MOD_LABEL_H div 2)"/>
-               
-               <symbol id="mpmcmodule_{$mpmcInst_}">
-                       <rect x="0"
-                         y="0"
-                         width = "{$mpmc_w_}"
-                         height= "{$BLKD_MPMC_MOD_H}"
-                             style="fill:{$COL_MPMC_BG}; stroke:{$COL_BLACK}; stroke-width:2"/>
-                         
-                   <rect x="{$BLKD_MOD_LANE_H}"
-                         y="{$label_y_}"
-                             rx="3"
-                             ry="3"
-                         width= "{$BLKD_MOD_LABEL_W}"
-                         height="{$BLKD_MOD_LABEL_H}"
-                             style="fill:{$COL_WHITE}; stroke:none;"/>
-                       
-                       <text class="bciptype" 
-                                 x="{ceiling(($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_W) div 2)}"
-                                 y="{$label_y_ + 8}">
-                                       <xsl:value-of select="$mpmcType_"/>
-                       </text>
-                               
-                       <text class="bciplabel" 
-                                 x="{ceiling(($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_W) div 2)}"
-                                 y="{$label_y_ + 16}">
-                                       <xsl:value-of select="$mpmcInst_"/>
-                  </text>
-                       
-                       <text class="mpmctitle" 
-                                 x="{ceiling($mpmc_w_ div 2)}"
-                                 y="{$label_y_ + 16}">MPMC Module Interface</text>
-<!--                   
--->    
-          
-               </symbol>       
-               
-       </xsl:for-each>
-       
-</xsl:template>        
-       
-
-<!-- ======================= END DEF FUNCTIONS ============================ -->
-
-<!-- ======================= UTILITY FUNCTIONS ============================ -->
-
-<xsl:template name="_draw_InterruptSource">
-
-       <xsl:param name="iIntr_X"   select="0"/>
-       <xsl:param name="iIntr_Y"   select="0"/>
-       <xsl:param name="iIntr_PRI" select="0"/>
-       <xsl:param name="iIntr_IDX" select="0"/>
-       <xsl:param name="iIntr_COL" select="$COL_BLKD_INTR_0"/>
-       
-               <rect  
-                       x="{$iIntr_X}"
-                       y="{$iIntr_Y}"
-                       rx="3"
-                       ry="3"
-                       width= "{$BLKD_INTR_W}" 
-                       height="{ceiling($BLKD_INTR_H div 2)}" style="fill:{$iIntr_COL}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y1="{$iIntr_Y}"
-                         x2="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{$iIntr_Y + ceiling($BLKD_INTR_H div 2)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <xsl:variable name="txt_ofs_">
-                       <xsl:if test="($iIntr_PRI &gt; 9)">4.5</xsl:if>
-                       <xsl:if test="not($iIntr_PRI &gt; 9)">0</xsl:if>
-               </xsl:variable>   
-               
-               <text class="intrsymbol" 
-                         x="{$iIntr_X + 2 - $txt_ofs_}"
-                         y="{$iIntr_Y + 8}">
-                               <xsl:value-of select="$iIntr_PRI"/>
-               </text>
-                       
-               <text class="intrsymbol" 
-                         x="{$iIntr_X + 2 + ceiling($BLKD_INTR_W div 2)}"
-                         y="{$iIntr_Y + 8}">
-                               <xsl:value-of select="$iIntr_IDX"/>
-               </text>
-                       
-</xsl:template>
-
-<xsl:template name="_draw_InterruptCntrl">
-
-       <xsl:param name="iIntr_X"   select="0"/>
-       <xsl:param name="iIntr_Y"   select="0"/>
-       <xsl:param name="iIntr_IDX" select="0"/>
-       <xsl:param name="iIntr_COL" select="$COL_BLKD_INTR_0"/>
-       
-               <rect  
-                       x="{$iIntr_X}"
-                       y="{$iIntr_Y}"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($BLKD_INTR_W div 2)}" 
-                       height="{$BLKD_INTR_H}" style="fill:{$iIntr_COL}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{$iIntr_X}" 
-                         y1="{$iIntr_Y + ceiling($BLKD_INTR_H div 4)}"
-                         x2="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{$iIntr_Y + ceiling($BLKD_INTR_H div 4)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:2"/>
-                         
-               <text class="intrsymbol" 
-                         x="{$iIntr_X + 2}"
-                         y="{$iIntr_Y + 8 + ceiling($BLKD_INTR_H div 2)}">
-                               <xsl:value-of select="$iIntr_IDX"/>
-               </text>
-                       
-</xsl:template>
-
-
-<xsl:template name="_draw_InterruptedProc">
-
-       <xsl:param name="iIntr_X"   select="0"/>
-       <xsl:param name="iIntr_Y"   select="0"/>
-       <xsl:param name="iIntr_IDX" select="0"/>
-       <xsl:param name="iIntr_COL" select="$COL_BLKD_INTR_0"/>
-       
-               <rect  
-                       x="{$iIntr_X}"
-                       y="{$iIntr_Y}"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($BLKD_INTR_W div 2)}" 
-                       height="{$BLKD_INTR_H}" style="fill:{$iIntr_COL}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{$iIntr_X}" 
-                         y1="{$iIntr_Y + ceiling($BLKD_INTR_H div 4) - 2}"
-                         x2="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{$iIntr_Y + ceiling($BLKD_INTR_H div 4) - 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <line x1="{$iIntr_X}" 
-                         y1="{$iIntr_Y + ceiling($BLKD_INTR_H div 4) + 2}"
-                         x2="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{$iIntr_Y + ceiling($BLKD_INTR_H div 4) + 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <text class="intrsymbol" 
-                         x="{$iIntr_X + 2}"
-                         y="{$iIntr_Y + 8 + ceiling($BLKD_INTR_H div 2)}">
-                               <xsl:value-of select="$iIntr_IDX"/>
-               </text>
-                       
-</xsl:template>
-
-<xsl:template name="_calc_CStackShapesAbv_Height">
-       <xsl:param name="iCStackIndex"  select="100"/>
-       <xsl:param name="iCSactkMods_Y" select="1000"/>
-       
-<!--   
-       <xsl:message>Stack Index <xsl:value-of select="$cstackIndex"/></xsl:message>
-       
-       <xsl:message>Stack Y <xsl:value-of select="$cstackModY"/></xsl:message>
--->    
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@CSTACK_INDEX = $iCStackIndex)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@CSTACK_INDEX = $iCStackIndex)]">
-       
-               <xsl:variable name="shapesAbv_Heights_">
-                       <CSTACK_MOD HEIGHT="0"/>
-                       
-                       <!-- Store the heights of all the peripherals above this one heights in a variable -->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@CSTACK_INDEX = $iCStackIndex) and (@CSTACK_MODS_Y &lt; $iCStackMods_Y))]">
-                               
-                               <xsl:variable name="shapeHeight_">
-                                       
-                                       <xsl:choose>
-                                               
-                                               <xsl:when test="@MODCLASS = 'PERIPHERAL'">
-                                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                                               <xsl:with-param name="iShapeInst" select="MODULE/@INSTANCE"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               
-                                               <xsl:when test="@MODCLASS = 'MEMORY_UNIT'">
-                                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                               <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Calculated height of cstack shape of type <xsl:value-of select="@MODCLASS"/> as <xsl:value-of select="$shapeHeight_"/></xsl:message>
--->                    
-                               
-                               <CSTACK_MOD HEIGHT="{$shapeHeight_ + $BLKD_BIF_H}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-               
-<!--           
-               <xsl:message>Calculated height of cstack as <xsl:value-of select="sum(exsl:node-set($shapesAbv_Heights_)/CSTACK_MOD/@HEIGHT)"/></xsl:message>
--->            
-               
-               <xsl:value-of select="sum(exsl:node-set($shapesAbv_Heights_)/CSTACK_MOD/@HEIGHT)"/>
-       </xsl:if>
-       
-</xsl:template>
-
-
-<xsl:template name="_calc_PeriShape_Height">
-       <xsl:param name="iShapeInst"  select="'_shape_'"/>
-       
-<!--   
-       <xsl:message>Calculating height of <xsl:value-of select="$shapeInst"/></xsl:message>
--->    
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H) and not(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H)">0</xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H"/>
-               
-               <xsl:value-of select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * $bifs_h_) + ($BLKD_MOD_BIF_GAP_V * $bifs_h_) + ($BLKD_MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H"/>
-               
-               <xsl:value-of select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * $bifs_h_) + ($BLKD_MOD_BIF_GAP_V * $bifs_h_) + ($BLKD_MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H"/>
-               
-               <xsl:value-of select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * $bifs_h_) + ($BLKD_MOD_BIF_GAP_V * $bifs_h_) + ($BLKD_MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-</xsl:template>
-       
-<xsl:template name="_calc_Shape_Height">
-       <xsl:param name="iShapeId"  select="_shape_"/>
-       
-<!--   
-       <xsl:message>Calculating height of <xsl:value-of select="$shapeId"/></xsl:message>
--->    
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)])">0</xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE/@BIFS_H"/>
-               
-               <xsl:value-of select="($BLKD_MOD_LABEL_H + ($BIF_H * $bifs_h_) + ($BLKD_MOD_BIF_GAP_V * $bifs_h_) + ($BLKD_MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-</xsl:template>
-
-
-<xsl:template name="_calc_MemoryUnit_Height">
-       <xsl:param name="iShapeId"  select="1000"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]">
-       
-               <!-- Store the memory controller heights in a variable -->      
-               <xsl:variable name="memC_heights_">     
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY_CNTLR')])">
-                               <MEM_CNTLR INSTANCE="{@INSTANCE}" HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY_CNTLR')])">
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY_CNTLR')]">
-                                       <xsl:variable name="memC_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                                       <MEM_CNTLR INSTANCE="{@INSTANCE}" HEIGHT="{$memC_height_}"/>
-                               </xsl:for-each>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <!-- Store the bram heights in a variable -->   
-               <xsl:variable name="bram_heights_">     
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[not(@MODCLASS = 'MEMORY_CNTLR')])">
-                               <BRAM INSTANCE="{@INSTANCE}" HEIGHT="0"/>
-                       </xsl:if>
-                       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[not(@MODCLASS = 'MEMORY_CNTLR')]">
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[not(@MODCLASS = 'MEMORY_CNTLR')]">
-                                       <xsl:variable name="bram_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                                       <BRAM INSTANCE="{@INSTANCE}" HEIGHT="{$bram_height_}"/>
-                               </xsl:for-each>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <!-- Select the maximum of them -->
-               <xsl:variable name="max_bram_height_" select="math:max(exsl:node-set($bram_heights_)/BRAM/@HEIGHT)"/>
-               <xsl:variable name="max_memC_height_" select="math:max(exsl:node-set($memC_heights_)/MEM_CNTLR/@HEIGHT)"/>
-               
-               <xsl:value-of select="$max_bram_height_ + $max_memC_height_"/>
-       </xsl:if>
-
-</xsl:template>
-
-
-<xsl:template name="_calc_SbsBucket_Height">
-       <xsl:param name="iBucketId"  select="100"/>
-       
-<!--   
-       <xsl:message>Looking of height of bucket <xsl:value-of select="$bucketId"/></xsl:message>
--->    
-       <xsl:variable name="bkt_gap_" select="$BLKD_BIF_H"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $iBucketId)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $iBucketId)]">
-               <xsl:variable name="mods_h_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $iBucketId)]/@MODS_H"/>
-               
-               <xsl:value-of select="((($BLKD_MOD_BKTLANE_H * 2) + ((($BLKD_MOD_H + $BLKD_BIFC_H) * $mods_h_) + ($BLKD_MOD_BUCKET_G * ($mods_h_ - 1)))) + $bkt_gap_)"/>
-       </xsl:if>
-</xsl:template>
-       
-<!--
-       ===============================================
-       
-               Symbol Naming Functions
-       
-       ===============================================
--->            
-       
-       
-<xsl:template name="_gen_Proc_StackName">
-<xsl:param name="iProcInst"  select="'_unknown_'"/>
-symbol_STACK_<xsl:value-of select="$iProcInst"/>
-</xsl:template>
-       
-<xsl:template name="_gen_Proc_GroupName">
-<xsl:param name="iProcInst"  select="'_unknown_'"/>
-symbol_GROUP_<xsl:value-of select="$iProcInst"/>
-</xsl:template>
-       
-       
-<xsl:template name="_gen_Space_Name"><xsl:param name="iStackToEast"    select="'NONE'"/><xsl:param name="iStackToWest"  select="'NONE'"/>symbol_SPACE_WEST_<xsl:value-of select="$iStackToWest"/>_EAST_<xsl:value-of select="$iStackToEast"/></xsl:template>
-<xsl:template name="_gen_Stack_Name"><xsl:param name="iHorizIdx"       select="'_unknown_'"/>symbol_STACK_<xsl:value-of select="$iHorizIdx"/></xsl:template>
-<xsl:template name="_gen_Stack_SymbolName"><xsl:param name="iHorizIdx" select="'_unknown_'"/><xsl:param name="iVertiIdx" select="'_unknown_'"/>symbol_STACK_<xsl:value-of select="$iHorizIdx"/>_SHAPE_<xsl:value-of select="$iVertiIdx"/></xsl:template>
-       
-
-<!-- ======================= END UTILITY FUNCTIONS  ======================= -->
-</xsl:stylesheet>
-
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Processors.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Processors.xsl
deleted file mode 100644 (file)
index 9e35694..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:math="http://exslt.org/math"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink"
-           extension-element-prefixes="math">
-           
-<xsl:output method="xml" 
-                       version="1.0" 
-                       encoding="UTF-8" 
-                       indent="yes"
-               doctype-public="-//W3C//DTD SVG 1.0//EN"
-                   doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-
-<!-- ======================= DEF BLOCK =================================== -->
-<xsl:template name="Define_AllStacks"> 
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-                       
-               <xsl:call-template name="Define_Stack">
-                       <xsl:with-param name="iStackIdx"  select="@EAST"/>
-               </xsl:call-template>
-               
-       </xsl:for-each> 
-</xsl:template>
-       
-       
-<xsl:template name="Define_Stack"> 
-       <xsl:param name="iStackIdx"  select="100"/>
-       
-       <!-- Define the stack's peripheral shapes-->    
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and not(@MODCLASS = 'MEMORY_UNIT'))]"> 
-                       
-               <xsl:for-each select="MODULE">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-                       <xsl:call-template name="Define_Peripheral"> 
-                               <xsl:with-param name="iModInst"    select="$modInst_"/>
-                               <xsl:with-param name="iModType"    select="$modType_"/>
-                               <xsl:with-param name="iShapeId"    select="../@SHAPE_ID"/>
-                               <xsl:with-param name="iHorizIdx"   select="../@STACK_HORIZ_INDEX"/>
-                               <xsl:with-param name="iVertiIdx"   select="../@SHAPE_VERTI_INDEX"/>
-                       </xsl:call-template>            
-               </xsl:for-each> 
-               
-       </xsl:for-each>
-       
-       <!-- Define the stack's memory shapes-->        
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@MODCLASS='MEMORY_UNIT'))]">
-               <xsl:call-template name="Define_MemoryUnit"> 
-                       <xsl:with-param name="iShapeId"  select="@SHAPE_ID"/>
-               </xsl:call-template>
-       </xsl:for-each>
-       
-       
-       <!-- Define the stack's processors-->   
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE and @BIFS_W and @BIFS_H and (@STACK_HORIZ_INDEX = $iStackIdx)]">        
-               <xsl:call-template name="Define_Processor"/>            
-       </xsl:for-each> 
-               
-       <!-- Make an inventory of all the things in this processor's stack -->
-       <xsl:variable name="pstackW_">
-               <xsl:call-template name="_calc_Stack_Width"> 
-                       <xsl:with-param name="iStackIdx"  select="$iStackIdx"/>
-               </xsl:call-template>            
-       </xsl:variable>
-               
-       <xsl:variable name="pstackH_">
-               <xsl:call-template name="_calc_Stack_Height"> 
-                       <xsl:with-param name="iStackIdx"  select="$iStackIdx"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name="procW_"    select="$BLKD_MOD_W"/>
-       <xsl:variable name="procX_"    select="(ceiling($pstackW_ div 2) - ceiling($procW_ div 2))"/>
-       
-       
-       <xsl:variable name="sbsGap_"   select="($BLKD_PROC2SBS_GAP + $G_total_SharedBus_H)"/>
-
-       <xsl:variable name="stack_name_">
-               <xsl:call-template name="_gen_Stack_Name"> 
-                       <xsl:with-param name="iHorizIdx" select="$iStackIdx"/>
-               </xsl:call-template>            
-       </xsl:variable> 
-       
-<!--   
-               <xsl:message>Horiz index<xsl:value-of select="$stackIdx"/></xsl:message>
-               <xsl:message>Drawing stack <xsl:value-of select="$stack_name_"/></xsl:message>
--->    
-               
-               <!-- Now use all this stuff to draw the stack-->        
-               <symbol id="{$stack_name_}">
-                       <rect x="0"
-                                 y="0"
-                             rx="6" 
-                             ry="6" 
-                         width = "{$pstackW_}"
-                         height= "{$pstackH_}"
-                             style="fill:{$COL_BG}; stroke:none;"/>
-                       
-               
-                       <!-- First draw the the processor's peripherals-->      
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-                               <xsl:sort select="@STACK_VERTI_INDEX" data-type="number"/>
-                               
-                               
-                               <xsl:variable name="shapeW_"    select="(@MODS_W * $BLKD_MOD_W)"/>
-                               <xsl:variable name="shapeX_"    select="(ceiling($pstackW_ div 2) - ceiling($shapeW_ div 2))"/>
-                               
-                               <xsl:variable name="stack_SymName_">
-                                       <xsl:call-template name="_gen_Stack_SymbolName"> 
-                                               <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>            
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Drawing stack peripheral <xsl:value-of select="$stack_SymName_"/></xsl:message>
--->                            
-                               <xsl:variable name="shapeY_">
-                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                               <xsl:with-param name="iHorizIdx"  select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx"  select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>
-                               </xsl:variable>  
-                               
-                               <use   x="{$shapeX_}"  y="{$shapeY_}"  xlink:href="#{$stack_SymName_}"/> 
-                       
-                       </xsl:for-each>
-                       
-                       
-                       <!-- Then draw the slave buckets for the shared busses that this processor is master to -->     
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">   
-                               <xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
-                       
-                               <xsl:variable name="bucketW_"   select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                               <xsl:variable name="bucketX_"   select="(ceiling($pstackW_ div 2) - ceiling($bucketW_ div 2))"/>
-                               
-                               <xsl:variable name="bucketY_">
-                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                               <xsl:with-param name="iHorizIdx"  select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx"  select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>
-                               </xsl:variable>  
-                               
-<!--                           
-                               <xsl:message>SBS Bucket Y <xsl:value-of select="$bucketY_"/></xsl:message>
--->                            
-                               
-                                <use  x="{$bucketX_}"  y="{$bucketY_}"  xlink:href="#sbsbucket_{@BUSNAME}"/> 
-                                
-                                <text class="ipclass"
-                                          x="{$bucketX_}" 
-                                          y="{$bucketY_ - 4}">SLAVES OF <xsl:value-of select="@BUSNAME"/></text>       
-                       </xsl:for-each>
-                       
-                       <!-- Then draw the the processor itself -->     
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-                               <xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
-                               
-                               <xsl:variable name="procY_">
-                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                               <xsl:with-param name="iHorizIdx"  select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx"  select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>
-                               </xsl:variable>  
-                               
-                               <xsl:variable name="stack_SymName_">
-                                       <xsl:call-template name="_gen_Stack_SymbolName"> 
-                                               <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>            
-                               </xsl:variable>
-                               
-                               <use   x="{$procX_}"  y="{$procY_}"  xlink:href="#{$stack_SymName_}"/> 
-                               
-                               <xsl:if test = "not(@IS_LIKEPROC)">
-                                       <text class="ipclass"
-                                               x="{$procX_}" 
-                                               y="{$procY_ - 4}">PROCESSOR</text>              
-                               </xsl:if>                       
-                                 
-                               <xsl:if test = "@IS_LIKEPROC = 'TRUE'">
-                                       <text class="ipclass"
-                                               x="{$procX_}" 
-                                               y="{$procY_ - 4}">USER MODULE</text>            
-                               </xsl:if>                       
-                       
-                       </xsl:for-each>
-               </symbol>
-</xsl:template>        
-
-
-<xsl:template name="Define_Processor">
-       <xsl:param name="iProcInst"  select="@INSTANCE"/>
-       <xsl:param name="iModType"   select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iProcInst]/@MODTYPE"/>
-<!--   
-       <xsl:param name="procType"  select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@PROCTYPE"/>
--->    
-       
-       <xsl:variable name="label_y_">
-               <xsl:value-of select="$BLKD_MOD_LANE_H"/>       
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>The proctype is <xsl:value-of select="$procType"/></xsl:message>   
--->
-       
-       <xsl:variable name="procH_" select="(($BLKD_MOD_LANE_H * 2) + (($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIFS_H) + ($BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>   
-       <xsl:variable name="procW_" select="(($BLKD_MOD_LANE_W * 2) + (($BLKD_BIF_W                        * @BIFS_W) + $BLKD_MOD_BIF_GAP_H))"/>        
-       
-       <xsl:variable name="procColor_">
-               <xsl:choose>
-                       <xsl:when test="contains($iModType,'microblaze')"><xsl:value-of select="$COL_PROC_BG_MB"/></xsl:when>
-                       <xsl:when test="contains($iModType,'ppc')"><xsl:value-of select="$COL_PROC_BG_PP"/></xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$COL_PROC_BG_USR"/>       
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>The proc color is <xsl:value-of select="$procColor"/></xsl:message>        
--->    
-       
-
-       <xsl:variable name="procName_">
-               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                       <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                       <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-               </xsl:call-template>            
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>The proc name is <xsl:value-of select="$procName_"/></xsl:message> 
--->    
-       
-    <symbol id="{$procName_}">
-
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$procW_}"
-                     height= "{$procH_}"
-                         style="fill:{$procColor_}; stroke:{$COL_WHITE}; stroke-width:2"/>             
-                         
-                         
-               <rect x="{ceiling($procW_ div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$BLKD_MOD_LANE_H}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-                         
-               <text class="bciptype" 
-                         x="{ceiling($procW_ div 2)}"
-                         y="{$BLKD_MOD_LANE_H + 8}">
-                               <xsl:value-of select="$iModType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($procW_ div 2)}"
-                         y="{$BLKD_MOD_LANE_H + 16}">
-                               <xsl:value-of select="$iProcInst"/>
-          </text>
-          
-          
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iProcInst]/@GROUP">
-               
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$BLKD_MOD_LANE_H + $BIF_H  + ceiling($BLKD_BIF_H div 3) - 2}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_BIF_H}"
-                         style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-       
-                  <text class="ioplblgrp"  x="{ceiling($BLKD_MOD_W div 2)}" y="{$BLKD_MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE = $iProcInst]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-          
-          
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/BUSINTERFACE[(@BIF_X and @BIF_Y)]">
-                       
-                       <xsl:variable name="bif_busstd_">
-                               <xsl:choose>
-                                       <xsl:when test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>        
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="'TRS'"/>  
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_buscol_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="$bif_busstd_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-               
-                       
-                       <xsl:variable name="bif_name_">
-                               <xsl:choose>
-                                       <xsl:when test="string-length(@NAME) &lt;= 5">
-                                               <xsl:value-of select="@NAME"/>  
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="substring(@NAME,0,5)"/>   
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_x_"  select="(( $BLKD_BIF_W * @BIF_X) + ($BLKD_MOD_BIF_GAP_H * @BIF_X) + ($BLKD_MOD_LANE_W * 1))"/>
-                       <xsl:variable name="bif_y_"  select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                       
-                       <xsl:variable name="horz_line_y_" select="($bif_y_ + ceiling($BLKD_BIFC_H div 2))"/>
-                       
-                       <xsl:variable name="horz_line_x1_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIF_X = '0'">0</xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="($BLKD_MOD_W - $BLKD_MOD_LANE_W)"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="horz_line_x2_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIF_X = '0'"><xsl:value-of select="$BLKD_MOD_LANE_W"/></xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="$BLKD_MOD_W + 1"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       
-                       <line x1="{$horz_line_x1_}" 
-                                 y1="{$horz_line_y_ - 2}"
-                             x2="{$horz_line_x2_}" 
-                             y2="{$horz_line_y_ - 2}" 
-                             style="stroke:{$bif_buscol_};stroke-width:1"/>
-                         
-                       <use  x="{$bif_x_}"   y="{$bif_y_}"  xlink:href="#{$bif_busstd_}_Bif"/>
-                               
-                       <text class="biflabel" 
-                                 x="{$bif_x_ + ceiling($BIF_W div 2)}"
-                                 y="{$bif_y_ + ceiling($BIF_H div 2) + 3}">
-                                       <xsl:value-of select="$bif_name_"/>
-                       </text>
-                       
-               </xsl:for-each>
-               
-               <xsl:variable name="interrupt_cntlr_">
-                       <xsl:choose>
-                               <xsl:when test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iProcInst)]/@INTERRUPT_CNTLR">
-                                       <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iProcInst)]/@INTERRUPT_CNTLR"/>
-                               </xsl:when>
-                               <xsl:otherwise>"_no_interrupt_cntlr_"</xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>
-                       
-<!--           
-               <xsl:message> The intc index should <xsl:value-of select="$interrupt_cntlr_"/></xsl:message>
-               <xsl:message> The intc index is <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/></xsl:message>
--->            
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX">
-                       
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptedProc">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
-                               <xsl:with-param name="iIntr_Y"   select="3"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_IDX" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
-               
-       </symbol>                         
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css
deleted file mode 100644 (file)
index c1b40cf..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-       text.busintlabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-       
-       text.buslabel {
-               fill:        #CC3333;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-                       
-       text.iplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-               
-       text.iptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.portlabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.mmMHeader {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mmSHeader {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.proclabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   14pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.opblabel {
-               fill:        #339900;
-               stroke:      none;
-               font-size:   11pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.lmblabel {
-               fill:        #9999FF;
-               stroke:      none;
-               font-size:   11pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.dbglabel {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.iopnumb {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl
deleted file mode 100644 (file)
index f914153..0000000
+++ /dev/null
@@ -1,1211 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-
-<xsl:include href="MdtXdsGen_HTMLIPSection.xsl"/>
-<xsl:include href="MdtXdsGen_HTMLMemoryMap.xsl"/>
-<xsl:include href="MdtXdsGen_HTMLTOCTree.xsl"/>
-
-<xsl:param name="DS_TYPE"      select="'NOFRAMES'"/>                   
-<xsl:param name="DS_PART"      select="'TOC_TREE'"/>                   
-
-<xsl:param name="DS_WIDTH"     select="850"/>                  
-<xsl:param name="DS_TOC_WIDTH" select="200"/>                  
-
-<xsl:param name="DS_FRAME_TOC"  select="'DS_TOC'"/>                    
-<xsl:param name="DS_FRAME_SELF" select="'_self'"/>                     
-<xsl:param name="DS_FRAME_MAIN" select="'DS_FMAIN'"/>                  
-
-<xsl:param name="DS_HTML_BLKD"    select="'ds_Blkd.html'"/>                    
-
-<xsl:param name="DS_HTML_MAIN"    select="'ds_Main.html'"/>
-<xsl:param name="DS_HTML_TOC"     select="'ds_TOC.html'"/>
-<xsl:param name="DS_HTML_TOCTREE" select="'ds_TOCTree.html'"/>
-
-<xsl:param name="DS_BLKD_NAME"   select="'system_blkd.jpg'"/>
-<xsl:param name="DS_BLKD_TYPE"   select="'svg'"/>
-<xsl:param name="DS_BLKD_WIDTH"  select="800"/>
-<xsl:param name="DS_BLKD_HEIGHT" select="600"/>
-
-<xsl:param name="DS_COL_OPB"     select="'#339900'"/>
-
-<xsl:param name="DS_COL_INFO"    select="'#2233FF'"/>
-<xsl:param name="DS_COL_ASH"     select="'#DEDEDE'"/>
-<xsl:param name="DS_COL_ASH1"    select="'#F0F0F8'"/>
-<xsl:param name="DS_COL_GREY"    select="'#BBBBBB'"/>
-<xsl:param name="DS_COL_LGRY"    select="'#F1F1F1'"/>
-<xsl:param name="DS_COL_XPRP"    select="'#810017'"/>
-<xsl:param name="DS_COL_RED"     select="'#FF1010'"/>
-<xsl:param name="DS_COL_GREEN"   select="'#33CC33'"/>
-<xsl:param name="DS_COL_BLACK"   select="'#000000'"/>
-<xsl:param name="DS_COL_WHITE"   select="'#FFFFFF'"/>
-
-<!--
-<xsl:param name="DS_COL_ATTR_RD"   select="'#FF5555'"/>
-<xsl:param name="DS_COL_ATTR_GREN" select="'#55FF55'"/>
-<xsl:param name="DS_COL_ATTR_BLE"  select="'#5555FF'"/>
--->
-
-<xsl:param name="DS_COL_ATTR_BUF"   select="'#FF5555'"/>
-<xsl:param name="DS_COL_ATTR_CLK"   select="'#55FF55'"/>
-<xsl:param name="DS_COL_ATTR_INT"   select="'#5555FF'"/>
-<xsl:param name="DS_COL_ATTR_RST"   select="'#FFCC00'"/>
-
-
-<xsl:param name="DS_COL_MODUSR" select="'#FFFFAA'"/>
-<xsl:param name="DS_COL_MODSYS" select="'#AAAAFF'"/>
-<xsl:param name="DS_COL_MODSYSNW" select="'#000099'"/>
-
-<!-- ======================= MAIN DATASHEET SECTION  =============================== -->
-<xsl:template match="EDKSYSTEM">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:call-template name="Write_Main"/>  
-       </xsl:if>
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:call-template name="Write_Frames"/>        
-       </xsl:if>
-</xsl:template>        
-
-<xsl:template name="Write_Frames">
-<!--   
-       <xsl:if test="$DS_PART='TOC'">
-               <xsl:call-template name="Write_TOC"/>   
-       </xsl:if>
--->    
-       
-       <xsl:if test="$DS_PART='TOC'">
-               <xsl:call-template name="Write_TOCTree"/>       
-       </xsl:if>
-       
-       <xsl:if test="$DS_PART='INDEX'">
-               <xsl:call-template name="Write_Index"/> 
-       </xsl:if>
-       
-       <xsl:if test="$DS_PART='MAIN'">
-               <xsl:call-template name="Write_Main"/>  
-       </xsl:if>
-       
-       <xsl:if test="$DS_PART='BLKD'">
-               <xsl:call-template name="Write_BLKD"/>  
-       </xsl:if>
-       
-</xsl:template>        
-
-<xsl:template name="Write_TOC">
-<HTML>
-<HEAD>
-       <TITLE>Table of Contents</TITLE>
-       <BASE target="{$DS_FRAME_MAIN}"/>
-</HEAD>
-
-       <!--Layout Table of contents   -->
-       <BODY class="main_body">
-               <xsl:call-template name="Layout_TOC"/>
-       </BODY>         
-       
-</HTML>
-</xsl:template>
-
-<xsl:template name="Write_Index">
-<HTML>
-<HEAD><TITLE>EDK Project Report</TITLE></HEAD>
-       <FRAMESET COLS="20%,80%" BORDER="0" FRAMESPACING="0">
-               <FRAME SRC="{$DS_HTML_TOC}"
-                  MARGINWIDTH="0" 
-                  MARINHEIGHT="0" 
-                  FRAMEBORDER="NO"
-                  BORDER="NO"
-                  NAME="{$DS_FRAME_TOC}"
-                  SCROLLING="YES"/>
-               <FRAME SRC="{$DS_HTML_MAIN}"
-                  MARGINWIDTH="0" 
-                  MARINHEIGHT="0"
-                  FRAMEBORDER="NO"
-                  BORDER="NO"
-                  NAME="{$DS_FRAME_MAIN}" 
-                  SCROLLING="YES"/>
-       </FRAMESET>
-</HTML>
-</xsl:template>        
-
-<xsl:template name="Write_BLKD">
-<HTML>
-       
-<HEAD><TITLE>Block Diagram</TITLE></HEAD>
-       
-<!--
-       <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
-       <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
-       <xsl:message> Embedded image type <xsl:value-of select="$DS_BLKD_TYPE"/></xsl:message>
-       <xsl:message> Embedded image width <xsl:value-of select="$DS_BLKD_WIDTH"/></xsl:message>
-       <xsl:message> Embedded image height <xsl:value-of select="$DS_BLKD_HEIGHT"/></xsl:message>
--->    
-       
-       <BODY class="main_body">
-               
-       <xsl:if test="$DS_BLKD_TYPE = 'svg'">
-               <EMBED src="{$DS_BLKD_NAME}" width="{$DS_BLKD_WIDTH}" height="{$DS_BLKD_HEIGHT}" type="image/svg+xml"/>
-       </xsl:if>
-       
-       <xsl:if test="not($DS_BLKD_TYPE = 'svg')">
-               <IMG SRC="{$DS_BLKD_NAME}" alt="BlockDiagram" width="{$DS_BLKD_WIDTH}" height="{$DS_BLKD_HEIGHT}" border="0" vspace="0" hspace="0"/>
-       </xsl:if>
-               <BR></BR>
-               <BR></BR>
-               <xsl:call-template name="Layout_ExternalPorts"/>
-               <BR></BR>
-       </BODY>         
-</HTML>
-</xsl:template>
-
-       
-<xsl:template name="Write_Main">
-<html>
-       <!--Layout head -->
-       <head>
-               <title>EDK PROJECT REPORT</title>
-               
-               <!--specify a css for the file -->
-           <meta http-equiv="PRAGMA" content="NO-CACHE"/>
-           <meta http-equiv="content-Type" content="text/html; charset=iso-8859-1"/>
-           
-       </head> 
-       
-       <body bgcolor="#FFFFFF">
-       
-               <!--Layout Table of contents   -->
-               <xsl:if test="not($DS_TYPE='FRAMES')">
-                       <xsl:call-template name="Layout_TOC"/>
-               </xsl:if>       
-               
-               <TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="1" cellspacing="0" cellpadding="3" border="0">
-               
-<!--  ==========================Overview Section ============== -->
-                       <TR></TR>
-                       <TR></TR>
-                       <TR></TR>
-                       <xsl:if test="$DS_TYPE='FRAMES'">
-                               <TD COLSPAN="1" ALIGN="LEFT">
-                                       <A HREF="ds_MainNF.html" target="_top" style="text-decoration:none"><SPAN style="color:{$DS_COL_GREEN}; font: normal 14px Verdana Arial,Helvetica,sans-serif">Printable Version</SPAN></A>
-                               </TD>
-                               <TR></TR>
-                       </xsl:if>
-                       <TD COLSPAN="1" WIDTH="100%">
-                               <A name="_Overview"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Overview'"/>
-                               </xsl:call-template>    
-                               <BR></BR>
-                               <BR></BR>
-                               <xsl:call-template name="Layout_Overview"/>
-                       </TD>
-                       
-<!--  ==========================Block Diagram section ============== -->
-<!--
-       <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
--->    
-                       <TR></TR>
-                       <TD COLSPAN="1">
-                               <A name="_BlockDiagram"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Block Diagram'"/>
-                               </xsl:call-template>
-                               <BR></BR>
-                               <BR></BR>
-                               <IMG SRC="imgs/{$DS_BLKD_NAME}" alt="BlockDiagram" border="0" vspace="0" hspace="0"/>
-                       </TD>
-                       
-<!--                   
--->                    
-
-<!--  ========================== External Ports ======================= -->
-
-                       <TR></TR>
-                       <TD COLSPAN="1" WIDTH="100%">
-                               <A name="_ExternalPorts"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'External Ports'"/>
-                               </xsl:call-template>
-                               <BR></BR>
-                               <BR></BR>
-                               <xsl:call-template name="Layout_ExternalPorts"/>
-                       </TD>
-                       
-<!--  ========================== Memory Map Section ======================= -->
-<!---
-                       <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR']/MEMORYMAP">
-                               <TR></TR>
-                               <TD COLSPAN="1">
-                                       <A name="_MemoryMap"/>
-                                       <xsl:call-template name="Layout_NavigateHeader">
-                                               <xsl:with-param name="header_name" select="'MEMORY MAP'"/>
-                                       </xsl:call-template>
-                                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR']">
-                                               <xsl:sort select="@INSTANCE"/>
-                                               <xsl:call-template name="Layout_MemoryMap"/>
-                                       </xsl:for-each>
-                               </TD>
-                       </xsl:if>
--->            
-                       
-<!--  ========================== Processor Information Section ================== -->
-                       <TR></TR>
-                       <TD COLSPAN="1" WIDTH="100%">
-                               <A name="_Processor"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                               <xsl:with-param name="header_name" select="'Processors'"/>
-                               </xsl:call-template>
-                               <BR></BR>
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[((@MODCLASS='PROCESSOR') and (contains(@MODTYPE,'microblaze')))]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                                       
-                                       <xsl:for-each select="MODULES/MODULE[((@MODCLASS='PROCESSOR') and (contains(@MODTYPE,'ppc')))]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-                                       
-<!--                                           
-                       <TR></TR>
-                       <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                               <A name="_Debug"/>
-                                               <xsl:call-template name="Layout_NavigateHeader">
-                                                       <xsl:with-param name="header_name" select="'Debuggers'"/>
-                                               </xsl:call-template>
-                                               <BR></BR>
-                                               
-                                               <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                                               <xsl:sort select="@INSTANCE"/>
-                                                       <TR/>
-                                                       <TD COLSPAN="1" align="left">
-                                                               <xsl:call-template name="Layout_IPSection"/>
-                                                       </TD>
-                                               </xsl:for-each>
-                                       </xsl:if>
--->                                    
-                                       
-<!--                                           
-                                       <xsl:if test="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                                       <A name="_Intc"/>
-                                       <xsl:call-template name="Layout_NavigateHeader">
-                                               <xsl:with-param name="header_name" select="'Interrupt Controllers'"/>
-                                       </xsl:call-template>
-                                       <BR></BR>
-                                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                                                       <xsl:sort select="@INSTANCE"/>
-                                                               <TR/>
-                                                               <TD COLSPAN="1" align="left">
-                                                               <xsl:call-template name="Layout_IPSection"/>
-                                                               </TD>
-                                                       </xsl:for-each>
-                                               </TABLE>
-                                               
-                                       </xsl:if>
-                               </TABLE>
-                       </TD>
-                       
-                                               <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                                               <xsl:sort select="@INSTANCE"/>
-                                                       <TR/>
-                                                       <TD COLSPAN="1" align="left">
-                                                               <xsl:call-template name="Layout_IPSection"/>
-                                                       </TD>
-                                               </xsl:for-each>
--->                            
-
-<!--  ========================== Debugger Section ================== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_Debug"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Debuggers'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-               </xsl:if>       
-
-<!--  ========================== Interrupt Controllers Section ================== -->
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_Intc"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Interrupt Controllers'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-               </xsl:if>       
-                               
-
-<!--  ========================== Bus Information Section ================== -->
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_BusModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Busses'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[((@MODCLASS='BUS') or (@MODCLASS='BUS_ARBITER'))]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-                               
-<!--  ========================== Bridge Information Section ================== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='BUS_BRIDGE')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <BR></BR>
-                               <A name="_BridgeModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Bus Bridges'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='BUS_BRIDGE')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       
-                       </TD>
-                       </xsl:if>                                       
-                       
-<!--  ========================== Memory Information Section ============== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='MEMORY')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_MemoryModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Memory'"/>
-                               </xsl:call-template>    
-                               
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='MEMORY')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-                       </xsl:if>
-<!--  ========================== Memory Controller Information Section ============== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='MEMORY_CNTLR')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_MemCntlrModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Memory Controllers'"/>
-                               </xsl:call-template>    
-                               
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='MEMORY_CNTLR')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-               </xsl:if>       
-                       
-<!--  ========================== Peripheral Information Section ============== -->
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='PERIPHERAL')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1" align="left">
-                               <A name="_Peripherals"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Peripherals'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" COLS="1" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PERIPHERAL')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>   
-               </xsl:if>       
-                       
-<!--  ========================== IP Information Section ====================== -->
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='IP')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1" align="left">
-                               <A name="_IPModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'IP'"/>
-                               </xsl:call-template>    
-                               <BR></BR>
-                               <TABLE align="left" COLS="1" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='IP')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>   
-               </xsl:if>
-                       
-               <!--Timing Information section -->
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_TimingInfo"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Timing Information'"/>
-                               </xsl:call-template>    
-                               <BR></BR>
-                               <BR></BR>
-                               <xsl:call-template name="Layout_TimingInfo"/>
-                       </TD>
-                       <TR></TR>
-                       <TD COLSPAN="1" align="left">
-                               <BR></BR>
-                               <BR></BR>
-                               <TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="3" cellspacing="0" cellpadding="0" border="0">
-                                       <TD COLSPAN="3" width="100%" align="middle" BGCOLOR="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 5px Verdana,Arial,Helvetica,sans-serif">line</SPAN></TD>
-                                       <TR></TR>
-                                       <TD COLSPAN="1" width="25%" align="left">
-                                               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TIMESTAMP"/></SPAN>
-                                       </TD>
-                                       <TD COLSPAN="2" width="75%" align="middle">
-                                               <A HREF="http://www.xilinx.com" style="text-decoration:none"><SPAN style="color:{$DS_COL_INFO}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">www.xilinx.com</SPAN></A>
-                                               <BR></BR>
-                                               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">1-800-255-7778</SPAN>
-                                       </TD>
-                               </TABLE>
-                       </TD>
-                       
-                       
-               </TABLE>                
-</body>
-</html>
-
-</xsl:template>
-
-<!-- ======================= LAYOUT TABLE OF CONTENTS ====================================== -->
-<xsl:template name="Layout_TOC">
-       
-<xsl:variable name="toc_col_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_COL_LGRY"/>   
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_COL_WHITE"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_width_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_WIDTH"/>      
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_TOC_WIDTH"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_target_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_FRAME_SELF"/> 
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_FRAME_MAIN"/> 
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="trg_html_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="''"/>     
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_HTML_MAIN"/>  
-       </xsl:if>
-</xsl:variable>
-       
-       
-<A name="_TOC"/>
-<TABLE BGCOLOR="{$toc_col_}" WIDTH="{$toc_width_}" COLS="2" cellspacing="0" cellpadding="3" border="0">
-
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <TH COLSPAN="2" width="100%" align="middle"><SPAN style="color:{$DS_COL_XPRP}; font: bold 20px Arial,Helvetica,sans-serif">TABLE OF CONTENTS</SPAN></TH>
-       </xsl:if>
-       
-       <TR></TR>
-       <TD COLSPAN="1" width="40%" align="left">
-               <BR></BR>
-               <A HREF="{$trg_html_}#_Overview" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Overview</SPAN></A>
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_BlockDiagram" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Block Diagram</SPAN></A>
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_ExternalPorts" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">External Ports</SPAN></A>
-               
-<!--           
-               <BR></BR>
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR']/MEMORYMAP">
-                       <A HREF="{$trg_html_}#_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Map</SPAN></A>
-               </xsl:if>
--->            
-               
-               <BR></BR>
-               <xsl:variable name="proc_CNT" select="count(MODULES/MODULE[@MODCLASS = 'PROCESSOR'])"/>
-               <xsl:if test="$proc_CNT &gt; 1">
-                       <A HREF="{$trg_html_}#_Processor" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processors</SPAN></A>
-               </xsl:if>       
-               <xsl:if test="not($proc_CNT &gt; 1)">
-                       <A HREF="{$trg_html_}#_Processor" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processor</SPAN></A>
-               </xsl:if>       
-               
-               <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
-                       <xsl:sort select="@INSTANCE"/>
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;memory map</SPAN></A>
-                       </xsl:if>
-               </xsl:for-each>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_Debug" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana Arial,Helvetica,sans-serif">Debuggers</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_Intc" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana Arial,Helvetica,sans-serif">Interrupt Controllers</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_BusModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Busses</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_BridgeModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Bridges</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_MemoryModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY_CONTROLLER']">
-                               <BR></BR>       
-                               <A HREF="{$trg_html_}#_MemCntlrModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Controllers</SPAN></A>
-                               <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY_CONTROLLER']">
-                                       <xsl:sort select="@INSTANCE"/>
-                                       <BR></BR>
-                                       <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                               </xsl:for-each>
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_Peripherals" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Peripherals</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='IP']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_IPModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">IP</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='IP']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>                       
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_TimingInfo" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Timing Information</SPAN></A>
-       </TD>
-       
-</TABLE>
-</xsl:template>
-<!-- ======================= END LAYOUT TABLE OF CONTENT =================================== -->
-
-<!-- ==============================  LAYOUT SNAPSHOT  ====================================== -->
-<xsl:template name="Layout_Overview">
-       
-<xsl:variable name="cnt_ip_"      select="count(MODULES/MODULE)"/>
-<xsl:variable name="cnt_proc_"    select="count(MODULES/MODULE[@MODCLASS = 'PROCESSOR'])"/>
-<xsl:variable name="cnt_busses_"  select="count(MODULES/MODULE[@MODCLASS = 'BUS'])"/>
-<TABLE width="{$DS_WIDTH}" valign="top" align="left" border="0" cellpadding="0" cellspacing="1" COLS="2" BGCOLOR="{$DS_COL_BLACK}"> 
-
-       <TD COLSPAN="2" ALIGN="middle" BGCOLOR="{$DS_COL_XPRP}">
-               <SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Overview</SPAN>
-       </TD>
-       <TR/>
-       
-       <xsl:if test="@TIMESTAMP">
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Generated on</SPAN>
-               </TD>
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TIMESTAMP"/></SPAN>
-               </TD>
-               <TR></TR>
-       </xsl:if>       
-       
-       <xsl:if test="@PROJECTSRC">
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Source</SPAN>
-               </TD>
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-<!--                           
-                               <A HREF="{@PROJECTSRC}" style="text-decoration:none; color:{$DS_COL_XPRP}"><xsl:value-of select="@PROJECTSRC"/></A>
--->                            
-                               <xsl:value-of select="@PROJECTSRC"/>
-                       </SPAN>
-               </TD>
-               <TR></TR>
-       </xsl:if>       
-
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">EDK Version</SPAN>
-       </TD>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <xsl:if test="@EDKVERSION">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@EDKVERSION"/></SPAN>
-               </xsl:if>
-               <xsl:if test="not(@EDKVERSION)">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">NA</SPAN>
-               </xsl:if>
-       </TD>
-       <TR/>
-
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">FPGA Family</SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <xsl:if test="@ARCH">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@ARCH"/></SPAN>
-               </xsl:if>
-               <xsl:if test="not(@ARCH)">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 10px Verdana,Arial,Helvetica,sans-serif">NA</SPAN>
-               </xsl:if>
-       </TD>
-       <TR/>
-
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Device</SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <xsl:if test="@PART">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PART"/></SPAN>
-               </xsl:if>
-               <xsl:if test="not(@PART)">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">-</SPAN>
-               </xsl:if>
-       </TD>
-       <TR/>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: Normal 12px Verdana,Arial,Helvetica,sans-serif"># IP Instantiated </SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_ip_"/></SPAN>
-       </TD>
-       <TR/>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"># Processors </SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_proc_"/></SPAN>
-       </TD>
-       <TR/>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"># Busses </SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_busses_"/></SPAN>
-       </TD>
-       <TR/>
-       
-       
-</TABLE>
-
-</xsl:template>
-
-<!-- ==============================  END LAYOUT SNAPSHOT  =================================== -->
-
-<!-- ==============================  LAYOUT INTRODUCTION  =================================== -->
-<xsl:template name="Layout_Introduction">
-</xsl:template>
-<!-- ==============================  END INTRODUCTION    ==================================== -->
-
-<!-- ==============================  External Ports      ==================================== -->
-<xsl:template name="Layout_ExternalPorts">
-       
-       <xsl:variable name="gpin_CNT_"  select="count(EXTERNALPORTS/PORT)"/>
-       <xsl:variable name="ipin_CNT_"  select="count(EXTERNALPORTS/PORT[@DIR='I'])"/>
-       <xsl:variable name="opin_CNT_"  select="count(EXTERNALPORTS/PORT[@DIR='O'])"/>
-       <xsl:variable name="iopin_CNT_" select="count(EXTERNALPORTS/PORT[@DIR='IO'])"/>
-       
-       <xsl:variable name="table_width_">
-               <xsl:if test="$gpin_CNT_ &gt;  16"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
-               <xsl:if test="$gpin_CNT_ &lt;= 16"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
-               
-       </xsl:variable>
-       
-       <xsl:variable name="left_extra_">
-               <xsl:if test="($gpin_CNT_ mod 2)     = 1">1</xsl:if>
-               <xsl:if test="not(($gpin_CNT_ mod 2) = 1)">0</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="num_left_" select="floor($gpin_CNT_ div 2) + $left_extra_"/>
-       <xsl:variable name="num_rhgt_" select="floor($gpin_CNT_ div 2)"/>
-       
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="8" cellspacing="1" cellpadding="1" border="0">
-               
-               <TD COLSPAN="8" ALIGN="middle" BGCOLOR="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">EXTERNAL PORTS</SPAN></TD>
-               <TR></TR>       
-               <TD COLSPAN="8" ALIGN="middle" bgcolor="{$DS_COL_WHITE}">
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               These are the external ports defined in the MHS file.
-                       </SPAN>
-               </TD>
-               
-               <TR></TR>
-               <TD COLSPAN="8" ALIGN="left" bgcolor="{$DS_COL_WHITE}">
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Attributes Key</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_BLACK}; font: italic 9px Verdana,Arial,Helvetica,sans-serif">The attributes are obtained from the SIGIS and IOB_STATE parameters set on the PORT in the MHS file </SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_CLK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">CLK</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Clock ports, (SIGIS = CLK)&#160;</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">INTR</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Interrupt ports,(SIGIS = INTR)&#160;</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">RESET</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Reset ports, (SIGIS = RST)&#160;</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">BUF or REG</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;Indicates ports that instantiate or infer IOB primitives, (IOB_STATE = BUF or REG)&#160;</SPAN>
-               </TD>
-               
-               <xsl:if test="$gpin_CNT_ &lt;= 16">
-                       
-               <TR></TR>
-               
-               <TD COLSPAN="7" ALIGN="left" bgcolor="{$DS_COL_WHITE}">
-                       
-               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-                       
-               <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-               <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-               <TD COLSPAN="1" width="5%"  align="left"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-               <TD COLSPAN="1" width="5%"  align="left"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-               <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-               <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-               
-               <xsl:for-each select="EXTERNALPORTS/PORT">
-                       <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
-                       
-<!--                   
-                       <xsl:message>The end of the string is <xsl:value-of select="substring(@GROUP,(string-length(@GROUP) -string-length(@GROUP)) + 1)"/></xsl:message>                       
-                       <xsl:message>The letter is <xsl:value-of select="$groupLetter_"/></xsl:message>                 
-                       <xsl:message>The color is <xsl:value-of select="$glb_bg_col_"/></xsl:message>                   
-                       <xsl:variable name="glb_bg_col_">
-                               <xsl:choose>
-                                       <xsl:when test="(@GROUP mod 2) = 1">
-                                               <xsl:value-of select="$DS_COL_ASH"/>
-                                       </xsl:when>             
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="$DS_COL_WHITE"/>
-                                       </xsl:otherwise>                
-                               </xsl:choose>   
-                       </xsl:variable> 
--->                    
-
-                       <xsl:variable name="glb_bg_col_">
-                               <xsl:call-template name="Group2Color">
-                                       <xsl:with-param name="group" select="@GROUP"/>
-                               </xsl:call-template>
-                       </xsl:variable> 
-                       
-                       <TR></TR>       
-                       <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN><SPAN style="color:{$DS_COL_BLACK}; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"><xsl:value-of select="@GROUP"/></SPAN>
-                       </TD>
-                       <TD COLSPAN="2" width="30%" align="left"   bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                       <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold   10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
-                       <xsl:if test="@MSB and @LSB">
-                               <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
-                       </xsl:if>                       
-                       <xsl:if test="not(@MSB and @LSB)">
-                               <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-                       </xsl:if>                       
-                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
-                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
-                               <xsl:if test="@SIGIS='CLK'"><SPAN style="color:{$DS_COL_ATTR_CLK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;CLK&#160;</SPAN></xsl:if>
-                               <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;RESET&#160;</SPAN></xsl:if>
-                               <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;INTR&#160;</SPAN></xsl:if>
-                               <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;BUF&#160;</SPAN></xsl:if>
-                               <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;REG&#160;</SPAN></xsl:if>
-                       </TD>
-               </xsl:for-each>
-               
-               </TABLE>
-               </TD>
-               </xsl:if>       
-               
-               <xsl:if test="$gpin_CNT_ &gt; 16">
-                       
-                       <TR></TR>       
-                       
-                       <TD COLSPAN="3" WIDTH="49%">
-                               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-                                       <TD COLSPAN="1" width="5"   align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-                                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-                                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-                                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-                       
-                                       <xsl:for-each select="EXTERNALPORTS/PORT">
-                                       <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
-                                       
-                                       <xsl:if test="position() &lt;= $num_left_">
-                                       
-                                               <xsl:variable name="glb_bg_col_">
-                                                       <xsl:call-template name="Group2Color">  
-                                                               <xsl:with-param name="group" select="@GROUP"/>
-                                                       </xsl:call-template>            
-                                               </xsl:variable> 
-<!--
-                                               <xsl:message>NAME: <xsl:value-of select="@NAME"/></xsl:message>                                         
-                                               <xsl:message>SIGIS: <xsl:value-of select="@SIGIS"/></xsl:message>                                               
--->    
-                                           
-                                               <TR></TR>       
-                                               <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
-                                                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN><SPAN style="color:{$DS_COL_BLACK}; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"><xsl:value-of select="@GROUP"/></SPAN>
-                                               </TD>
-                                               <TD COLSPAN="2" width="30%" align="left"   bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                                               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
-                                               <xsl:if test="@MSB and @LSB">
-                                                       <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
-                                               </xsl:if>                       
-                                               <xsl:if test="not(@MSB and @LSB)">
-                                                       <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-                                               </xsl:if>                       
-                                               <TD COLSPAN="2" width="30%" align="left" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
-                                               <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
-                                                       <xsl:if test="@SIGIS='CLK'"><SPAN style="color:{$DS_COL_GREEN}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;CLK&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;RESET&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;INTR&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;BUF&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;REG&#160;</SPAN></xsl:if>
-                                               </TD>
-                                       </xsl:if>       
-                                       </xsl:for-each>
-
-                                       
-                               </TABLE>        
-                       </TD>   
-                       
-                       <TD COLSPAN="1" WIDTH="2%" BGCOLOR="{$DS_COL_GREY}">
-                               <SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN>
-                       </TD> 
-                       
-                       <TD COLSPAN="3" WIDTH="49%">
-                               
-                               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-                                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-                                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-                                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-                                       
-                                       <xsl:for-each select="EXTERNALPORTS/PORT">
-                                       <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
-                                       
-                                       <xsl:if test="position() &gt; $num_left_">
-<!--                                   
-                                               <xsl:variable name="glb_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="(@GROUP mod 2) = 1">
-                                                                       <xsl:value-of select="$DS_COL_ASH"/>
-                                                               </xsl:when>             
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable> 
--->                                            
-                                               
-                                               <xsl:variable name="glb_bg_col_">
-                                                       <xsl:call-template name="Group2Color">  
-                                                               <xsl:with-param name="group" select="@GROUP"/>
-                                                       </xsl:call-template>            
-                                               </xsl:variable> 
-                       
-                                               <TR></TR>       
-                                               <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
-                                                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN><SPAN style="color:{$DS_COL_BLACK}; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"><xsl:value-of select="@GROUP"/></SPAN>
-                                               </TD>
-                                               <TD COLSPAN="2" width="30%" align="left"   bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                                               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold   10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
-                                               
-                                               <xsl:if test="@MSB and @LSB">
-                                                       <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
-                                               </xsl:if>                       
-                                               <xsl:if test="not(@MSB and @LSB)">
-                                                       <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-                                               </xsl:if>                       
-                                               <TD COLSPAN="2" width="30%" align="left" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
-                                               <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
-                                                       <xsl:if test="@SIGIS='CLK'"><SPAN style="color:{$DS_COL_GREEN}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;CLK&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;RESET&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;INTR&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;BUF&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;REG&#160;</SPAN></xsl:if>
-                                               </TD>
-                                       </xsl:if>       
-                                       </xsl:for-each>
-                                       
-                                       <xsl:if test="$left_extra_ &gt; 0">
-                                               <TR></TR>       
-                                               <TD COLSPAN="9" WIDTH="100%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN></TD>
-                                       </xsl:if>
-                                       
-                               </TABLE>        
-                               
-                       </TD>   
-       
-               </xsl:if> 
-               
-       </TABLE>                
-
-</xsl:template>
-
-<xsl:template name="Group2Color">
-
-       <xsl:param name="group"  select="'A'"/>
-               
-       <xsl:variable name="letter">
-               <xsl:value-of select="substring($group,(string-length($group) -string-length($group)) + 1)"/>
-       </xsl:variable>
-       
-       <xsl:choose>
-               <xsl:when test="$group = 'GLB'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               
-               <xsl:when test="$letter = 'A'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'C'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'E'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'G'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'I'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'K'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'M'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'O'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'Q'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'S'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'U'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'W'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'Y'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               
-               <xsl:when test="$letter = 'B'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'D'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'F'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'H'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'J'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'L'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'N'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'P'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'R'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'T'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'V'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'X'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'Z'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               
-               <xsl:otherwise>
-                       <xsl:value-of select="$DS_COL_WHITE"/>  
-               </xsl:otherwise>
-       </xsl:choose>
-</xsl:template>
-
-
-
-
-
-<xsl:template name="Layout_TimingInfo">
-       
-       <xsl:variable name="mtiming_CNT_" select="count(MODULES/MODULE/TIMING)"/>
-        
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{ceiling($DS_WIDTH div 2)}" COLS="5" cellspacing="1" cellpadding="1" border="1">
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Post Synthesis Clock Limits</SPAN></TD>
-               <TR></TR>       
-               <xsl:if test="$mtiming_CNT_ &lt; 1">
-                       <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       No clocks could be identified in the design. Run platgen to generate synthesis information.
-                               </SPAN>
-                       </TD>
-               </xsl:if>
-               <xsl:if test="$mtiming_CNT_ &gt; 0">
-                       <TD COLSPAN="5" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       These are the post synthesis clock frequencies. The critical frequencies are marked with
-                               </SPAN>
-                               <SPAN style="color:{$DS_COL_GREEN}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       green.
-                               </SPAN>
-                               <BR></BR>
-                               <SPAN style="color:{$DS_COL_RED}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       The values reported here are post synthesis estimates calculated for each individual module. These values will change after place and route is performed on the entire system.
-                               </SPAN>
-                       </TD>
-                       <TR></TR>
-                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TD>
-                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">CLK Port</SPAN></TD>
-                       <TD COLSPAN="1" width="20%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MAX FREQ</SPAN></TD>
-                       
-                       <xsl:for-each select="MODULES/MODULE/TIMING">
-                       <xsl:sort data-type="number" select="@MAXFREQ" order="ascending"/>
-                               <xsl:variable name="maxFreq_"  select="@MAXFREQ"/>
-                               <xsl:variable name="freqUnit_" select="@FREQUNITS"/>
-                               <xsl:variable name="freqCol_">
-                                       <xsl:if test="position() = 1">  
-                                               <xsl:value-of select="$DS_COL_GREEN"/>
-                                       </xsl:if>
-                                       <xsl:if test="not(position() = 1)">     
-                                               <xsl:value-of select="$DS_COL_BLACK"/>
-                                       </xsl:if>
-                               </xsl:variable>
-                               
-                               <xsl:for-each select="TIMECLK">
-                                       <TR></TR>
-                                       
-                                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_WHITE}">
-                                                       <A HREF="#_{../../@INSTANCE}" style="text-decoration:none">
-                                                               <SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="../../@INSTANCE"/></SPAN>
-                                                       </A>
-                                       </TD>
-                                       
-                                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_WHITE}">
-                                               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@SIGNAME"/>
-                                               </SPAN>
-                                       </TD>
-                                       
-                                       <TD COLSPAN="1" width="20%" align="left" bgcolor="{$DS_COL_WHITE}">
-                                               <SPAN style="color:{$freqCol_}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="$maxFreq_"/><xsl:value-of select="$freqUnit_"/>
-                                               </SPAN>
-                                       </TD>
-                                       
-                           </xsl:for-each>
-                       </xsl:for-each>
-               </xsl:if>
-               
-       </TABLE>        
-</xsl:template>
-
-<!-- ==============================  END GLOBAL PINOUT      ==================================== -->
-
-<xsl:template name="Layout_NavigateHeader">
-       <xsl:param name="header_name" select="HEADER"/>
-       <BR></BR>
-       <BR></BR>
-       <BR></BR>
-       <TABLE BGCOLOR="{$DS_COL_XPRP}" WIDTH="{$DS_WIDTH}" COLS="3" cellspacing="0" cellpadding="0" border="0">
-               <TH COLSPAN="1" width="90%" align="left">  <SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$header_name"/></SPAN></TH>
-               <xsl:if test="$DS_TYPE='NOFRAMES'">
-                       <TH COLSPAN="1" width="10%"  align="middle"><A HREF="#_TOC" style="text-decoration:none"><SPAN style="color:{$DS_COL_LGRY}; font: bold 14px Verdana Arial,Helvetica,sans-serif">TOC</SPAN></A></TH>
-               </xsl:if>       
-               <xsl:if test="$DS_TYPE='FRAMES'">
-                       <TH COLSPAN="1" width="10%"  align="middle"><A HREF="#_Overview" style="text-decoration:none"><SPAN style="color:{$DS_COL_LGRY}; font: bold 14px Verdana Arial,Helvetica,sans-serif">TOP</SPAN></A></TH>
-               </xsl:if>       
-       </TABLE>
-</xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl
deleted file mode 100644 (file)
index 4e7beaa..0000000
+++ /dev/null
@@ -1,611 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-
-<!--
-<xsl:param name="DS_COL_OPB"    select="'#339900'"/>
-<xsl:param name="DS_COL_WHITE"   select="'#FFFFFF'"/>
-<xsl:param name="DS_COL_INFO"   select="'#2233FF'"/>
-<xsl:param name="DS_COL_BLACK"   select="'#000000'"/>
-<xsl:param name="DS_COL_GREY"   select="'#CCCCCC'"/>
-<xsl:param name="DS_COL_XPRP"   select="'#810017'"/>
-<xsl:param name="DS_COL_DOCLNK" select="'#FF9900'"/>
--->
-               
-<!-- ======================= MAIN PERIPHERAL SECTION =============================== -->
-<xsl:template name="Layout_IPSection">
-
-<TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="4" cellspacing="0" cellpadding="0" border="0">
-       
-       <TD COLSPAN="4" width="5%" align="LEFT" valign="BOTTOM">
-               <A name="_{@INSTANCE}"/>
-               <xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if>             
-               <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN>
-               <xsl:if test="DESCRIPTION[(@TYPE = 'SHORT')]">
-                       <SPAN style="color:{$DS_COL_XPRP}; font: normal italic 12px Verdana,Arial,Helvetica,sans-serif">
-                               &#160;&#160;<xsl:value-of select="DESCRIPTION[(@TYPE = 'SHORT')]"/>
-                       </SPAN>
-               </xsl:if>
-               <BR></BR>
-               <xsl:if test="DESCRIPTION[(@TYPE = 'LONG')]">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal italic 12px Verdana,Arial,Helvetica,sans-serif">
-                               <xsl:value-of select="DESCRIPTION[(@TYPE = 'LONG')]" disable-output-escaping="yes"/>
-                       </SPAN>
-               </xsl:if>
-               <BR></BR>
-               <BR></BR>
-               <BR></BR>
-       </TD>   
-       
-       <TR></TR>
-       
-       <!-- Layout the Module information table-->
-       <TD COLSPAN="2" width="40%" align="LEFT" valign="TOP">
-               <IMG SRC="imgs/{@INSTANCE}.jpg" alt="{@INSTANCE} IP Image" border="0" vspace="0" hspace="0"/>
-       </TD>
-       <TD COLSPAN="2" width="60%" align="MIDDLE" valign="TOP">
-               <xsl:call-template name="Peri_PortListTable"/>
-               <BR></BR>
-               <BR></BR>
-       </TD>
-       
-       <TR></TR>
-                               
-       <TD COLSPAN="4" width="100%" align="LEFT" valign="BOTTOM">
-               <xsl:call-template name="Peri_InfoTable"/>
-       </TD>
-       
-<!--   
-       <TD COLSPAN="1" width="5%" align="LEFT"     valign="BOTTOM">
-               <SPAN style="color:{$DS_COL_XPRP}; font: bold normal 16px Verdana,Arial,Helvetica,sans-serif">&#8970;</SPAN>
-       </TD>
-       <TD COLSPAN="2" width="90%" align="MIDDLE"  valign="BOTTOM">
-               <SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN>
-       </TD>
-       <TD COLSPAN="1" width="5%" align="RIGHT"    valign="BOTTOM">
-               <SPAN style="color:{$DS_COL_XPRP}; font: bold normal 16px Verdana,Arial,Helvetica,sans-serif">&#8971;</SPAN>
-       </TD>
--->    
-</TABLE>       
-
-<BR></BR>
-<BR></BR>
-
-</xsl:template>
-
-<!-- ======================= PERIHERAL TABLE PARTS   =============================== -->
-<!-- Layout the Module's Information table -->
-<xsl:template name="Peri_InfoTable">
-       
-       <xsl:variable name="mhsParamCNT_" select="count(PARAMETER)"/>
-       
-       <xsl:variable name="table_is_split_">
-               <xsl:if test="$mhsParamCNT_     &gt;  10">1</xsl:if>
-               <xsl:if test="not($mhsParamCNT_ &gt;  10)">0</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="table_width_">
-               <xsl:if test="$mhsParamCNT_  &gt;  10"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
-               <xsl:if test="$mhsParamCNT_  &lt;= 10"><xsl:value-of select="ceiling($DS_WIDTH div 2)"/></xsl:if>
-       </xsl:variable>
-       
-       
-       <xsl:variable name="left_extra_">
-               <xsl:if test="($mhsParamCNT_ mod 2)     = 1">1</xsl:if>
-               <xsl:if test="not(($mhsParamCNT_ mod 2) = 1)">0</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="num_left_" select="floor($mhsParamCNT_ div 2) + $left_extra_"/>
-       <xsl:variable name="num_rhgt_" select="floor($mhsParamCNT_ div 2)"/>
-       
-       <xsl:variable name="mdr_main_col_">
-               <xsl:if test="$mhsParamCNT_  &gt;  10">4</xsl:if>
-               <xsl:if test="$mhsParamCNT_  &lt;= 10">2</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="mdr_othr_col_">
-               <xsl:if test="$mhsParamCNT_  &gt;  10">2</xsl:if>
-               <xsl:if test="$mhsParamCNT_  &lt;= 10">1</xsl:if>
-       </xsl:variable>
-       
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="5" cellspacing="1" cellpadding="1" border="1">
-               <TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">General</SPAN></TD>
-               <TR></TR>
-               <TD COLSPAN="2" WIDTH="40%" align="middle"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IP Core</SPAN></TD>
-               <TD COLSPAN="3" WIDTH="60%" align="middle"  bgcolor="{$DS_COL_WHITE}">
-                       <xsl:if test="@DOC_IP">
-                               <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 10px Verdana,Arial,Helvetica,sans-serif">
-                                       <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"><xsl:value-of select="@MODTYPE"/></A>
-                               </SPAN>
-                       </xsl:if>
-                       <xsl:if test="not(@DOC_IP)">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">
-                                       <xsl:value-of select="@MODTYPE"/>
-                               </SPAN>
-                       </xsl:if>
-               </TD>
-               
-               <TR></TR>       
-               
-               <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Version</SPAN></TD>
-               <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@HWVERSION"/></SPAN></TD>
-               
-               <xsl:if test="@DOC_DRIVER">
-                       <TR></TR>       
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Driver</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 10px Verdana,Arial,Helvetica,sans-serif">
-                                       <A HREF="{@DOC_DRIVER}" style="text-decoration:none; color:{$DS_COL_XPRP}">API</A>
-                               </SPAN>
-                       </TD>   
-               </xsl:if>       
-               
-               <TR></TR>       
-               
-               <xsl:if test="LICENSEINFO">
-                       <TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">License</SPAN></TD>
-                       
-                       <TR></TR>
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">TYPE</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@TYPE"/></SPAN>
-                       </TD>   
-<!--                   
-                       <TR></TR>
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">CURRENT STATUS</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@STATE"/></SPAN>
-                       </TD>   
--->                    
-                       <xsl:if test="LICENSEINFO/@EXPIRESON">
-                               <TR></TR>
-                               <TD COLSPAN="2" WIDTH="40%" align="middle"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">EXPIRES ON</SPAN></TD>
-                               <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@EXPIRESON"/></SPAN>
-                               </TD>   
-                       </xsl:if>
-               </xsl:if>       
-               
-               <xsl:if test="$mhsParamCNT_ &gt; 0">
-               <TR></TR>       
-               <TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Parameters</SPAN></TD>
-                       <TR></TR>
-                       <TD COLSPAN="5" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       These are parameters set for this module.
-                                       <xsl:if test="@DOC_IP">
-                                                Refer to the IP <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_XPRP}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif"> documentation </SPAN></A>for complete information about module parameters.
-                                       </xsl:if>
-                               </SPAN>
-                               <BR></BR>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                               Parameters marked with 
-                               </SPAN>
-                               <SPAN style="color:#FFBB00; font: bold 9px Verdana,Arial,Helvetica,sans-serif">yellow</SPAN>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       indicate parameters set by the user.
-                               </SPAN>
-                               <BR></BR>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                               Parameters marked with 
-                               </SPAN>
-                               <SPAN style="color:{$DS_COL_MODSYSNW}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">blue</SPAN>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       indicate parameters set by the system.
-                               </SPAN>
-                       </TD>
-                       
-               <xsl:if test="$mhsParamCNT_ &lt;= 10">
-                       <TR></TR>       
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
-               
-                       <xsl:for-each select="PARAMETER">
-                               <xsl:sort select="@INDEX" data-type="number"/>
-                                       <xsl:variable name="name_bg_col_">
-                                               <xsl:choose>
-                                                       
-                                                       <xsl:when test="@CHANGEDBY='USER'">
-                                                               <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                       </xsl:when>             
-                                                               
-                                                       <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                               <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                       </xsl:when>             
-                                                       
-                                                       <xsl:when test="((position() - 1) mod 2) = 0">
-                                                               <xsl:value-of select="$DS_COL_ASH1"/>
-                                                       </xsl:when>             
-                                                       
-                                                       <xsl:otherwise>
-                                                               <xsl:value-of select="$DS_COL_WHITE"/>
-                                                       </xsl:otherwise>                
-                                               </xsl:choose>   
-                                       </xsl:variable>
-                                               
-                                       <xsl:variable name="value_bg_col_">
-                                               <xsl:choose>
-                                                       
-                                                       <xsl:when test="@CHANGEDBY='USER'">
-                                                               <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                       </xsl:when>             
-                                                               
-                                                       <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                               <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                       </xsl:when>     
-                                                       
-                                                       <xsl:when test="((position() - 1) mod 2) = 0">
-                                                               <xsl:value-of select="$DS_COL_ASH1"/>
-                                                       </xsl:when>             
-                                                       
-                                                       <xsl:otherwise>
-                                                               <xsl:value-of select="$DS_COL_WHITE"/>
-                                                       </xsl:otherwise>                
-                                                               
-                                               </xsl:choose>   
-                                       </xsl:variable>
-                                               
-                               <TR></TR>       
-                               <TD COLSPAN="2" WIDTH="40%" align="left"   bgcolor="{$name_bg_col_}">
-                                       <SPAN style="color:{$DS_COL_BLACK};  font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@NAME"/>
-                                       </SPAN>
-                                       <xsl:if test="DESCRIPTION">
-                                               <BR/>
-                                               <SPAN style="color:{$DS_COL_BLACK};  font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="DESCRIPTION"/>
-                                               </SPAN>
-                                       </xsl:if>       
-                               </TD>
-                               <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
-                       </xsl:for-each>
-       </xsl:if>                       
-       
-       <xsl:if test="$mhsParamCNT_ &gt; 10">
-       <TR></TR>       
-       <TD COLSPAN="5" WIDTH="100%">
-       <TABLE BGCOLOR="{$DS_COL_GREY}" WIDTH="100%" COLS="5" cellspacing="0" cellpadding="0" border="0">
-               
-               <TD COLSPAN="2" WIDTH="49%">
-                       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="2" cellspacing="1" cellpadding="0" border="0">
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
-                               
-                               <xsl:for-each select="PARAMETER">
-                                       <xsl:sort select="@INDEX" data-type="number"/>
-                                       <xsl:if test="position() &lt;= $num_left_">     
-                                               
-                                               <xsl:variable name="name_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                               
-                                               <xsl:variable name="value_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                               
-                                       <TR></TR>       
-                                       <TD COLSPAN="1" WIDTH="50%" align="left"   bgcolor="{$name_bg_col_}">
-                                               <SPAN style="color:{$DS_COL_BLACK};  font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@NAME"/>
-                                               </SPAN>
-                                               <xsl:if test="DESCRIPTION">
-                                                       <BR/>
-                                                       <SPAN style="color:{$DS_COL_BLACK};  font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
-                                                               <xsl:value-of select="DESCRIPTION"/>
-                                                       </SPAN>
-                                               </xsl:if>       
-                                       </TD>
-                                       <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
-                               </xsl:if>
-                       </xsl:for-each>
-                       </TABLE>
-               </TD> 
-       
-               <TD COLSPAN="1" WIDTH="2%">
-                       <TABLE BGCOLOR="{$DS_COL_GREY}"  WIDTH="100%" COLS="1" cellspacing="0" cellpadding="0" border="0">
-                               <TD COLSPAN="1" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN></TD>
-                       </TABLE>
-               </TD> 
-       
-               <TD COLSPAN="2" WIDTH="49%">
-                       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="2" cellspacing="1" cellpadding="0" border="0">
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
-                               <xsl:for-each select="PARAMETER">
-                                       <xsl:sort select="@INDEX" data-type="number"/>
-                                       <xsl:if test="position() &gt; $num_left_">      
-                                               
-                                               <xsl:variable name="name_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - $num_left_ - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                               
-                                               <xsl:variable name="value_bg_col_">
-                                                       <xsl:choose>
-                                                       
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - $num_left_ - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                       <TR></TR>       
-                                       <TD COLSPAN="1" WIDTH="50%" align="left"   bgcolor="{$name_bg_col_}">
-                                               <SPAN style="color:{$DS_COL_BLACK};  font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@NAME"/>
-                                               </SPAN>
-                                               <xsl:if test="DESCRIPTION">
-                                                       <BR/>
-                                                       <SPAN style="color:{$DS_COL_BLACK};  font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
-                                                               <xsl:value-of select="DESCRIPTION"/>
-                                                       </SPAN>
-                                               </xsl:if>       
-                                       </TD>
-                                       <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
-                                       
-                               </xsl:if>
-                       </xsl:for-each>
-                       
-                       <xsl:if test="$left_extra_ &gt; 0">
-                               <TR></TR>       
-                               <TD COLSPAN="2" WIDTH="100%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN></TD>
-                       </xsl:if>
-                       
-                       </TABLE>
-               </TD> 
-               
-       </TABLE>
-       </TD>   
-       </xsl:if>                       
-       </xsl:if>
-       </TABLE>
-<!--   
-               <BR></BR>       
--->            
-               <xsl:if test="(@MODCLASS = 'PROCESSOR') and MEMORYMAP">
-<!--                   
-                       <xsl:message>Found a memory map</xsl:message>
--->                    
-                       <xsl:call-template name="Layout_MemoryMap">
-                               <xsl:with-param name="table_width" select="$table_width_"/>
-                       </xsl:call-template>    
-               </xsl:if>
-<!--           
-               <BR></BR>
--->    
-               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="5" cellspacing="1" cellpadding="1" border="0">
-               <TD width="100%" COLSPAN="5" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Post Synthesis Device Utilization</SPAN></TD>
-               <xsl:choose>
-                       <xsl:when test="not(RESOURCES)">
-                               <TR></TR>
-                               <TD width="100%" COLSPAN="5" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       Device utilization information is not available for this IP. Run platgen to generate synthesis information.
-                               </SPAN>
-                               </TD>
-                       </xsl:when>     
-                       <xsl:otherwise>
-                               <TR></TR>
-                               <TD COLSPAN="2" width="55%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Resource Type</SPAN></TD>
-                               <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Used</SPAN></TD>
-                               <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Available</SPAN></TD>
-                               <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Percent</SPAN></TD>
-                               
-                               <xsl:for-each select="RESOURCES/RESOURCE">
-                                       <TR></TR>       
-                                       <TD COLSPAN="2" width="55%" align="left"   bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TYPE"/></SPAN></TD>
-                                       <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@USED"/></SPAN></TD>
-                                       <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TOTAL"/></SPAN></TD>
-                                       <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PERCENT"/></SPAN></TD>
-                               </xsl:for-each>
-                       </xsl:otherwise>
-               </xsl:choose>
-<!--           
-           <BR></BR>   
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"></SPAN></TD>
--->            
-       </TABLE>
-
-</xsl:template>
-
-<!-- Layout the Module's Port list table -->
-<xsl:template name="Peri_PortListTable">
-
-       
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{ceiling($DS_WIDTH div 2)}" COLS="7" cellspacing="1" cellpadding="1" border="0">
-               <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">PORT LIST</SPAN></TH>
-               <TR></TR>       
-               <TH COLSPAN="7" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               The ports listed here are only those connected in the MHS file. 
-                               <xsl:if test="@DOC_IP">
-                                       Refer to the IP <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"> <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif"> documentation </SPAN> </A>for complete information about module ports.
-                               </xsl:if>
-                       </SPAN>
-               </TH>
-               <TR></TR>
-               <TH COLSPAN="1" width="5%"  align="left"   bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TH>
-               <TH COLSPAN="2" width="25%" align="left"   bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TH>
-               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TH>
-               <TH COLSPAN="2" width="50%" align="left"   bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIGNAL</SPAN></TH>
-               <xsl:for-each select="PORT[(not(@SIGNAME = '__NOC__') and not(@SIGNAME = '__DEF__') and (@INMHS))]">
-                       <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-                       <TR></TR>       
-                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK};   font: normal 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN></TD>
-                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK};   font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                       <TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
-                       
-                       <xsl:if test="@MSB and @LSB">
-                               <TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
-                       </xsl:if>                       
-                       <xsl:if test="not(@MSB and @LSB)">
-                               <TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-                       </xsl:if>                       
-                       
-                       <TD COLSPAN="2" width="50%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
-               </xsl:for-each>
-               
-               <xsl:if test="BUSINTERFACE">
-                       <xsl:variable name="instance_"><xsl:value-of select="@INSTANCE"/></xsl:variable>
-                       <TR></TR>
-                       <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
-                               <SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Bus Interfaces</SPAN>
-                       </TH>   
-                       <TR></TR>
-                       
-                       <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MASTERSHIP</SPAN></TH>
-                       <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">STD</SPAN></TH>
-                       <TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BUS</SPAN></TH>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">P2P</SPAN></TH>
-                       <xsl:for-each select="BUSINTERFACE[(not(@BUSNAME = '__NOC__') and not(@BUSNAME = '__DEF__'))]">
-                       <xsl:sort select="@BIFRANK"/>
-                                       
-                               <xsl:variable name="busname_"><xsl:value-of select="@BUSNAME"/></xsl:variable>
-                                       
-                               <xsl:variable name="p2pname_">
-                                       <xsl:choose>
-                                               <xsl:when test="(@BUSSTD and not((@BUSSTD='PLB') or (@BUSSTD='OPB')) or (@BIFRANK='TRANSPARENT'))">
-                                                       <xsl:value-of select="../../MODULE[not(@INSTANCE = $instance_) and BUSINTERFACE[(@BUSNAME = $busname_)]]/@INSTANCE"/>
-                                               </xsl:when>
-                                               <xsl:when test="not(@BUSSTD) or (@BUSSTD='OPB') or (@BUSSTD='PLB') or (@BIFRANK='TRANSPARENT')">NA</xsl:when>
-                                  </xsl:choose>
-                               </xsl:variable>                                 
-                               
-                               <xsl:variable name="bus_std_">
-                                       <xsl:if test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>
-                                       </xsl:if>
-                                       <xsl:if test="not(@BUSSTD)">NA</xsl:if>
-                               </xsl:variable>                                 
-                               
-                               
-                               <TR></TR>
-                               <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BIFRANK"/></SPAN></TH>
-                               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TH>
-                               <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$bus_std_"/></SPAN></TH>
-                               <xsl:if test="$bus_std_ = 'NA'">
-                                       <TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BUSNAME"/></SPAN></TH>
-                               </xsl:if>       
-                               <xsl:if test="not($bus_std_ = 'NA')">
-                                       <TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{@BUSNAME}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BUSNAME"/></SPAN></A></TH>
-                               </xsl:if>       
-                               <xsl:if test="$p2pname_ = 'NA'">
-                                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$p2pname_"/></SPAN></TH>
-                               </xsl:if>
-                               <xsl:if test="not($p2pname_ = 'NA')">
-                                   <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{$p2pname_}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$p2pname_"/></SPAN></A></TH>
-                               </xsl:if>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="@MODCLASS='BUS'">
-                       <xsl:variable name="instance_"><xsl:value-of select="@INSTANCE"/></xsl:variable>
-                       <TR></TR>
-                       <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Bus Connections</SPAN></TH> 
-                       <TR></TR>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">TYPE</SPAN></TH>
-                       <TH COLSPAN="5" width="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BIF</SPAN></TH>
-                       <xsl:for-each select="../MODULE/BUSINTERFACE[(@BUSNAME = $instance_)]">
-                               <xsl:sort select="@BIFRANK"/>
-                               <xsl:variable name="buscName_"><xsl:value-of select="../@INSTANCE"/></xsl:variable>
-                               <TR></TR>
-                               <TD COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BIFRANK"/></SPAN></TD>
-                               <TD COLSPAN="5" width="50%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{$buscName_}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$buscName_"/></SPAN></A></TD>
-                               <TD COLSPAN="1" width="25%" align="left"   bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="INTERRUPTSRCS">
-                       <TR></TR>
-                       <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
-                               <SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Interrupt Priorities</SPAN>
-                               <TR></TR>
-                               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Priority</SPAN></TH>
-                               <TH COLSPAN="3" width="55%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TH>
-                               <TH COLSPAN="3" width="35%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TH>
-                               <TR></TR>
-                               <xsl:for-each select="INTERRUPTSRCS/INTRSRC">
-                               <xsl:sort data-type="number" select="@PRIORITY" order="ascending"/>
-                               
-                                       <xsl:variable name="intrsrc_"><xsl:value-of select="@SIGNAME"/></xsl:variable>
-                                       <xsl:variable name="intrpri_"><xsl:value-of select="@PRIORITY"/></xsl:variable>
-                                       
-                                       <xsl:for-each select="../../../MODULE[PORT[((@DIR='O') and (@SIGNAME = $intrsrc_))]]">
-                                               <TR></TR>
-                                               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$intrpri_"/></SPAN></TH>
-                                               <TH COLSPAN="3" width="55%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$intrsrc_"/></SPAN></TH>
-                                               <TH COLSPAN="3" width="35%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN></A></TH>
-                                       </xsl:for-each>
-                               </xsl:for-each>
-                       </TH>
-               </xsl:if>
-               
-       </TABLE>        
-       
-</xsl:template>
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl
deleted file mode 100644 (file)
index 96e9f0c..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE stylesheet [
-       <!ENTITY HEXUPPER "ABCDEFxx0123456789">
-       <!ENTITY HEXLOWER "abcdefxX0123456789">
-       <!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
-]>     
-<!--
--->
-
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-                       
-<!-- ======================= MAIN MEMORY MAP SECTION =============================== -->
-<xsl:template name="Layout_MemoryMap">
-<xsl:param name="table_width" select="600"/>
-
-<xsl:variable name="procName" select="@INSTANCE"/>
-<!--
-<BR></BR>
-<BR></BR>
--->
-       <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-               
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width}" COLS="5" cellspacing="1" cellpadding="2" border="0">
-               <TR></TR>       
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
-                       <A name="_{@INSTANCE}_MemoryMap"/>
-                       <SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MEMORY MAP</SPAN>
-               </TD>
-               <TR></TR>
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_INFO}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">D=DATA ADDRESSABLE &#160;&#160; I=INSTRUCTION ADDRESSABLE</SPAN></TD>
-               <TR></TR>
-               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">D</SPAN></TD>
-               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-               <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BASE</SPAN></TD>
-               <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">HIGH</SPAN></TD>
-               <TD COLSPAN="1" width="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TD>
-               <TR></TR>
-               
-               <xsl:for-each select="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-                       <xsl:sort data-type="number" select="@BASEVALUE" order="ascending"/>
-                       <TR></TR>
-                               <xsl:variable name="isdata">
-                                       <xsl:if test="@IS_DATA='TRUE'">&#9632;</xsl:if> 
-                                       <xsl:if test="not(@IS_DATA='TRUE')">&#160;</xsl:if>     
-                               </xsl:variable>
-                       
-                       <xsl:variable name="isinst">
-                               <xsl:if test="@IS_INSTRUCTION='TRUE'">
-                                       &#9632;
-                               </xsl:if>       
-                               <xsl:if test="not(@IS_INSTRUCTION='TRUE')">
-                                       &#160;
-                               </xsl:if>       
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bupper" select ="@BASE"/>
-                       <xsl:variable name="hupper" select ="@HIGH"/>
-                       <xsl:variable name="iname"  select ="@INSTANCE"/>
-                       <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,sans-serif"><xsl:value-of select="$isdata"/></SPAN></TD>
-                       <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,sans-serif"><xsl:value-of select="$isinst"/></SPAN></TD>
-                       <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="translate($bupper,&HEXU2L;)"/></SPAN></TD>
-                       <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="translate($hupper,&HEXU2L;)"/></SPAN></TD>
-                       <TD COLSPAN="1" width="50%" align="right"  bgcolor="{$DS_COL_WHITE}">
-                               <A HREF="#_{$iname}" style="text-decoration:none">
-                               <SPAN style="color:{$DS_COL_BLACK}; vertical-align:sub; font: normal 8px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></SPAN><SPAN style="color:{$DS_COL_XPRP}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN>
-                               </A>
-                       </TD>
-               </xsl:for-each>
-       </TABLE>                        
-       </xsl:if>
-</xsl:template>
-
-<xsl:template name="FindCorrectLocation">
-       <xsl:param name="ranges"/>
-       <xsl:param name="location"/>
-       <xsl:param name="instname"/>
-       
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl
deleted file mode 100644 (file)
index 862b710..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:template name="Write_TOCTree">
-<HTML>
-<HEAD>
-<TITLE>Table of Contents</TITLE>
-       
-       <BASE target="{$DS_FRAME_MAIN}"></BASE>
-       
-       <!--specify a css for the TOC -->
-       <link   rel="stylesheet"      href="ds_Report.css" type="text/css"></link>
-       
-       <!--specify the javascript for the TOC-->
-       <script src="ds_Report.js" type="text/javascript"></script>
-</HEAD>        
-
-       <!--Layout Table of contents   -->
-       <BODY class="main_body">
-               <xsl:call-template name="Layout_TOCTree"/>
-       </BODY>         
-       
-</HTML>
-</xsl:template>
-
-       
-<!-- ======================= LAYOUT TABLE OF CONTENTS ====================================== -->
-<xsl:template name="Layout_TOCTree">
-       
-<xsl:variable name="toc_col_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_COL_LGRY"/>   
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_COL_WHITE"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_width_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_WIDTH"/>      
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_TOC_WIDTH"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_target_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_FRAME_SELF"/> 
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_FRAME_MAIN"/> 
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="trg_html_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="''"/>     
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_HTML_MAIN"/>  
-       </xsl:if>
-</xsl:variable>
-       
-       
-<A name="_TOC"/>
-<TABLE BGCOLOR="{$toc_col_}" WIDTH="{$toc_width_}" COLS="2" cellspacing="0" cellpadding="3" border="0">
-
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <TH COLSPAN="2" width="100%" align="middle"><SPAN style="color:{$DS_COL_XPRP}; font: bold 20px Arial,Helvetica,sans-serif">TABLE OF CONTENTS</SPAN></TH>
-       </xsl:if>
-       
-       <TR></TR>
-       <TD COLSPAN="1" width="40%" align="left">
-               <BR></BR>
-               <A HREF="{$trg_html_}#_Overview" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Overview</SPAN></A>
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_BlockDiagram" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Block Diagram</SPAN></A>
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_ExternalPorts" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">External Ports</SPAN></A>
-               
-               <BR></BR>
-               <xsl:variable name="proc_CNT" select="count(MODULES/MODULE[(@MODCLASS = 'PROCESSOR')])"/>
-               
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
-               <DIV class="trigger" onClick="showBranch('Processors'); swapBranchImg('BranchImg_Processors');">
-                       <xsl:if test="$proc_CNT &gt; 1">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processors&#160;</SPAN>
-                       </xsl:if>       
-                       <xsl:if test="not($proc_CNT &gt; 1)">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processor&#160;</SPAN>
-                       </xsl:if>       
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Processors"></IMG>  
-               </DIV>
-               
-               <SPAN class="branch" id="Processors">           
-                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
-                               <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-                                       <A HREF="{$trg_html_}#_{@INSTANCE}_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;memory map</SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                               </xsl:if>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-               <DIV class="trigger" onClick="showBranch('Debuggers'); swapBranchImg('BranchImg_Debugger');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Debuggers&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Debugger"></IMG>    
-               </DIV>          
-               
-               <SPAN class="branch" id="Debuggers">            
-                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-               <DIV class="trigger" onClick="showBranch('Interrupts'); swapBranchImg('BranchImg_Interrupts');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Interrupt Controllers&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Interrupts"></IMG>  
-               </DIV>
-               
-               <SPAN class="branch" id="Interrupts">           
-                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-               <DIV class="trigger" onClick="showBranch('Busses'); swapBranchImg('BranchImg_Busses');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Busses&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Busses"></IMG>      
-               </DIV>          
-                       
-               <SPAN class="branch" id="Busses">               
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-               <DIV class="trigger" onClick="showBranch('Bridges'); swapBranchImg('BranchImg_Bridges');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Bridges&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Bridges"></IMG>     
-               </DIV>  
-               <SPAN class="branch" id="Bridges">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY']">
-               <DIV class="trigger" onClick="showBranch('Memory'); swapBranchImg('BranchImg_Memory');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Memory"></IMG>      
-               </DIV>          
-               <SPAN class="branch" id="Memory">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY_CNTLR']">
-               <DIV class="trigger" onClick="showBranch('MemoryCntlr'); swapBranchImg('BranchImg_MemoryCntlr');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Controllers&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_MemoryCntlr"></IMG> 
-               </DIV>          
-               <SPAN class="branch" id="MemoryCntlr">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY_CNTLR']">
-                       <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-               <DIV class="trigger" onClick="showBranch('Peripheral'); swapBranchImg('BranchImg_Peripheral');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Peripherals&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Peripheral"></IMG>  
-               </DIV>  
-               <SPAN class="branch" id="Peripheral">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='IP']">
-               <DIV class="trigger" onClick="showBranch('IP'); swapBranchImg('BranchImg_IP');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">IP&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_IP"></IMG>  
-               </DIV>
-               <SPAN class="branch" id="IP">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='IP']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>                       
-               
-               <A HREF="{$trg_html_}#_TimingInfo" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Timing Information</SPAN></A><BR></BR>
-<!--           
--->    
-
-       </TD>
-       
-</TABLE>
-</xsl:template>
-
-</xsl:stylesheet>
-<!-- ======================= END LAYOUT TABLE OF CONTENT TREE =================================== -->
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd
deleted file mode 100644 (file)
index 110f5ce..0000000
+++ /dev/null
@@ -1,1704 +0,0 @@
-<!-- =====================================================================
-  This is the DTD for SVG 1.0.
-
-  The specification for SVG that corresponds to this DTD is available at:
-
-    http://www.w3.org/TR/2001/REC-SVG-20010904/
-
-  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
-
-  For SVG 1.0:
-
-    Namespace:
-      http://www.w3.org/2000/svg  
-
-    Public identifier:
-      PUBLIC "-//W3C//DTD SVG 1.0//EN"
-
-    URI for the DTD:
-      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
-============================================================================= -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Data types 
-     ============================================================== -->
-
-<!ENTITY % BaselineShiftValue "CDATA">
-    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->
-
-<!ENTITY % Boolean "(false | true)">
-    <!-- feature specification -->
-
-<!ENTITY % ClassList "CDATA">
-    <!-- list of classes -->
-
-<!ENTITY % ClipValue "CDATA">
-    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
-
-<!ENTITY % ClipPathValue "CDATA">
-    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
-    <!-- 'clip-rule' or fill-rule property/attribute value -->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % Coordinate "CDATA">
-    <!-- a <coordinate> -->
-
-<!ENTITY % Coordinates "CDATA">
-    <!-- a list of <coordinate>s -->
-
-<!ENTITY % Color "CDATA">
-    <!-- a <color> value -->
-
-<!ENTITY % CursorValue "CDATA">
-    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
-
-<!ENTITY % EnableBackgroundValue "CDATA">
-    <!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->
-
-<!ENTITY % ExtensionList "CDATA">
-    <!-- extension list specification -->
-
-<!ENTITY % FeatureList "CDATA">
-    <!-- feature list specification -->
-
-<!ENTITY % FilterValue "CDATA">
-    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % FontFamilyValue "CDATA">
-    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
-
-<!ENTITY % FontSizeValue "CDATA">
-    <!-- 'font-size' property/attribute value -->
-
-<!ENTITY % FontSizeAdjustValue "CDATA">
-    <!-- 'font-size-adjust' property/attribute value -->
-
-<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
-    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->
-
-<!ENTITY % GlyphOrientationVerticalValue "CDATA">
-    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->
-
-<!ENTITY % Integer "CDATA">
-    <!-- a <integer> -->
-
-<!ENTITY % KerningValue "CDATA">
-    <!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % LanguageCodes "CDATA">
-    <!-- comma-separated list of language codes, as per [RFC3066] -->
-
-<!ENTITY % Length "CDATA">
-    <!-- a <length> -->
-
-<!ENTITY % Lengths "CDATA">
-    <!-- a list of <length>s -->
-
-<!ENTITY % LinkTarget "NMTOKEN">
-    <!-- link to this target -->
-
-<!ENTITY % MarkerValue "CDATA">
-    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MaskValue "CDATA">
-    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- comma-separated list of media descriptors. -->
-
-<!ENTITY % Number "CDATA">
-    <!-- a <number> -->
-
-<!ENTITY % NumberOptionalNumber "CDATA">
-    <!-- list of <number>s, but at least one and at most two -->
-
-<!ENTITY % NumberOrPercentage "CDATA">
-    <!-- a <number> or a  <percentage> -->
-
-<!ENTITY % Numbers "CDATA">
-    <!-- a list of <number>s -->
-
-<!ENTITY % OpacityValue "CDATA">
-    <!-- opacity value (e.g., <number>) -->
-
-<!ENTITY % Paint "CDATA">
-    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
-
-<!ENTITY % PathData "CDATA">
-    <!-- a path data specification -->
-
-<!ENTITY % Points "CDATA">
-    <!-- a list of points -->
-
-<!ENTITY % PreserveAspectRatioSpec "CDATA">
-    <!-- 'preserveAspectRatio' attribute specification -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % SpacingValue "CDATA">
-    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) -->
-
-<!ENTITY % StrokeDashArrayValue "CDATA">
-    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->
-
-<!ENTITY % StrokeDashOffsetValue "CDATA">
-    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->
-
-<!ENTITY % StrokeMiterLimitValue "CDATA">
-    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
-
-<!ENTITY % StrokeWidthValue "CDATA">
-    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
-
-<!ENTITY % StructuredText
-  "content CDATA #FIXED 'structured text'" >
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % SVGColor "CDATA">
-    <!-- An SVG color value (RGB plus optional ICC) -->
-
-<!ENTITY % Text "CDATA">
-    <!-- arbitrary text string -->
-
-<!ENTITY % TextDecorationValue "CDATA">
-    <!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->
-
-<!ENTITY % TransformList "CDATA">
-    <!-- list of transforms -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [URI] -->
-
-<!ENTITY % ViewBoxSpec "CDATA">
-    <!-- 'viewBox' attribute specification -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of common attributes 
-     ============================================================== -->
-
-<!-- All elements have an ID. -->
-<!ENTITY % stdAttrs
- "id ID #IMPLIED
-  xml:base %URI; #IMPLIED" >
-
-<!-- Common attributes for elements that might contain character data content. -->
-<!ENTITY % langSpaceAttrs
- "xml:lang %LanguageCode; #IMPLIED
-  xml:space (default|preserve) #IMPLIED" >
-
-<!-- Common attributes to check for system capabilities. -->
-<!ENTITY % testAttrs
- "requiredFeatures %FeatureList; #IMPLIED
-  requiredExtensions %ExtensionList; #IMPLIED
-  systemLanguage %LanguageCodes; #IMPLIED" >
-
-<!-- For most uses of URI referencing:
-        standard XLink attributes other than xlink:href. -->
-<!ENTITY % xlinkRefAttrs
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (other) 'other'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->
-<!ENTITY % xlinkRefAttrsEmbed
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (embed) 'embed'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!ENTITY % graphicsElementEvents
-  "onfocusin %Script; #IMPLIED
-   onfocusout %Script; #IMPLIED
-   onactivate %Script; #IMPLIED
-   onclick %Script; #IMPLIED
-   onmousedown %Script; #IMPLIED
-   onmouseup %Script; #IMPLIED
-   onmouseover %Script; #IMPLIED
-   onmousemove %Script; #IMPLIED
-   onmouseout %Script; #IMPLIED
-   onload %Script; #IMPLIED" >
-
-<!ENTITY % documentEvents
-  "onunload %Script; #IMPLIED
-   onabort %Script; #IMPLIED
-   onerror %Script; #IMPLIED
-   onresize %Script; #IMPLIED
-   onscroll %Script; #IMPLIED
-   onzoom %Script; #IMPLIED" >
-
-<!ENTITY % animationEvents
-  "onbegin %Script; #IMPLIED
-   onend %Script; #IMPLIED
-   onrepeat %Script; #IMPLIED" >
-
-<!-- This entity allows for at most one of desc, title and metadata,
-     supplied in any order -->
-<!ENTITY % descTitleMetadata
-          "(((desc,((title,metadata?)|(metadata,title?))?)|
-          (title,((desc,metadata?)|(metadata,desc?))?)|
-          (metadata,((desc,title?)|(title,desc?))?))?)" >
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of presentation attributes 
-     ============================================================== -->
-
-<!-- The following presentation attributes have to do with specifying color. -->
-<!ENTITY % PresentationAttributes-Color
-  "color %Color; #IMPLIED
-   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
-   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to container elements. -->
-<!ENTITY % PresentationAttributes-Containers
-  "enable-background %EnableBackgroundValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'feFlood' elements. -->
-<!ENTITY % PresentationAttributes-feFlood
-  "flood-color %SVGColor; #IMPLIED
-   flood-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filling and stroking operations. -->
-<!ENTITY % PresentationAttributes-FillStroke
-  "fill %Paint; #IMPLIED
-   fill-opacity %OpacityValue; #IMPLIED
-   fill-rule %ClipFillRule; #IMPLIED
-   stroke %Paint; #IMPLIED
-   stroke-dasharray %StrokeDashArrayValue; #IMPLIED
-   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
-   stroke-linecap (butt | round | square | inherit) #IMPLIED
-   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
-   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
-   stroke-opacity %OpacityValue; #IMPLIED
-   stroke-width %StrokeWidthValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filter primitives. -->
-<!ENTITY % PresentationAttributes-FilterPrimitives
-  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes have to do with selecting a font to use. -->
-<!ENTITY % PresentationAttributes-FontSpecification
-  "font-family %FontFamilyValue; #IMPLIED
-   font-size %FontSizeValue; #IMPLIED
-   font-size-adjust %FontSizeAdjustValue; #IMPLIED
-   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |
-                 condensed | semi-condensed | semi-expanded | expanded |
-                 extra-expanded | ultra-expanded | inherit) #IMPLIED
-   font-style (normal | italic | oblique | inherit) #IMPLIED
-   font-variant (normal | small-caps | inherit) #IMPLIED
-   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
-               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to gradient 'stop' elements. -->
-<!ENTITY % PresentationAttributes-Gradients
-  "stop-color %SVGColor; #IMPLIED
-   stop-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to graphics elements. -->
-<!ENTITY % PresentationAttributes-Graphics
-  "clip-path %ClipPathValue; #IMPLIED
-   clip-rule %ClipFillRule; #IMPLIED
-   cursor %CursorValue; #IMPLIED
-   display (inline | block | list-item | run-in | compact | marker |
-            table | inline-table | table-row-group | table-header-group |
-            table-footer-group | table-row | table-column-group | table-column |
-            table-cell | table-caption | none | inherit) #IMPLIED
-   filter %FilterValue; #IMPLIED
-   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
-   mask %MaskValue; #IMPLIED
-   opacity %OpacityValue; #IMPLIED
-   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
-                   painted | fill | stroke | all | none | inherit) #IMPLIED
-   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED
-   text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED
-   visibility (visible | hidden | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'image' elements. -->
-<!ENTITY % PresentationAttributes-Images
-  "color-profile CDATA #IMPLIED " >
-
-<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->
-<!ENTITY % PresentationAttributes-LightingEffects
-  "lighting-color %SVGColor; #IMPLIED " >
-
-<!-- The following presentation attributes apply to marker operations. -->
-<!ENTITY % PresentationAttributes-Markers
-  "marker-start %MarkerValue; #IMPLIED
-   marker-mid %MarkerValue; #IMPLIED
-   marker-end %MarkerValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to text content elements. -->
-<!ENTITY % PresentationAttributes-TextContentElements
-  "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |
-                        middle | bottom | after-edge | text-bottom | text-after-edge |
-                        ideographic | lower | hanging | mathematical | inherit) #IMPLIED
-   baseline-shift %BaselineShiftValue; #IMPLIED
-   direction (ltr | rtl | inherit) #IMPLIED
-   dominant-baseline (auto | autosense-script | no-change | reset|
-                      ideographic | lower | hanging | mathematical | inherit ) #IMPLIED
-   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
-   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
-   kerning %KerningValue; #IMPLIED
-   letter-spacing %SpacingValue; #IMPLIED
-   text-anchor (start | middle | end | inherit) #IMPLIED
-   text-decoration %TextDecorationValue; #IMPLIED
-   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
-   word-spacing %SpacingValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'text' elements. -->
-<!ENTITY % PresentationAttributes-TextElements
-  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to elements that establish viewports. -->
-<!ENTITY % PresentationAttributes-Viewports
-  "clip %ClipValue; #IMPLIED
-   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
-
-<!--The following represents the complete list of presentation attributes. -->
-<!ENTITY % PresentationAttributes-All
-  "%PresentationAttributes-Color;
-   %PresentationAttributes-Containers;
-   %PresentationAttributes-feFlood;
-   %PresentationAttributes-FillStroke;
-   %PresentationAttributes-FilterPrimitives;
-   %PresentationAttributes-FontSpecification;
-   %PresentationAttributes-Gradients;
-   %PresentationAttributes-Graphics;
-   %PresentationAttributes-Images;
-   %PresentationAttributes-LightingEffects;
-   %PresentationAttributes-Markers;
-   %PresentationAttributes-TextContentElements;
-   %PresentationAttributes-TextElements;
-   %PresentationAttributes-Viewports;" >
-
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: DTD extensions 
-     ============================================================== -->
-
-<!-- Allow for extending the DTD with internal subset for 
-     container and graphics elements -->
-<!ENTITY % ceExt "" >
-<!ENTITY % geExt "" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Document Structure 
-     ============================================================== -->
-
-<!ENTITY % svgExt "" >
-<!ELEMENT svg (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%svgExt;)* >
-<!ATTLIST svg
-  xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED 
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify'
-  %graphicsElementEvents;
-  %documentEvents;
-  version %Number; #FIXED "1.0"
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  contentScriptType %ContentType; "text/ecmascript"
-  contentStyleType %ContentType; "text/css" >
-
-<!ENTITY % gExt "" >
-<!ELEMENT g (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%gExt;)* >
-<!ATTLIST g
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % defsExt "" >
-<!ELEMENT defs (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%defsExt;)* >
-<!ATTLIST defs
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % descExt "" >
-<!ELEMENT desc (#PCDATA %descExt;)* >
-<!ATTLIST desc
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % titleExt "" >
-<!ELEMENT title (#PCDATA %titleExt;)* >
-<!ATTLIST title
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % symbolExt "" >
-<!ELEMENT symbol (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%symbolExt;)* >
-<!ATTLIST symbol
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents; >
-
-<!ENTITY % useExt "" >
-<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%useExt;)*) >
-<!ATTLIST use
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-<!ENTITY % imageExt "" >
-<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%imageExt;)*) >
-<!ATTLIST image
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Images;
-  %PresentationAttributes-Viewports;
-  transform %TransformList; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED >
-
-<!ENTITY % switchExt "" >
-<!ELEMENT switch (%descTitleMetadata;,
-                  (path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|switch|a|foreignObject|
-                   animate|set|animateMotion|animateColor|animateTransform
-                   %ceExt;%switchExt;)*) >
-<!ATTLIST switch
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Styling 
-     ============================================================== -->
-
-<!ELEMENT style (#PCDATA) >
-<!ATTLIST style 
-  %stdAttrs;
-  xml:space (preserve) #FIXED "preserve"
-  type %ContentType; #REQUIRED
-  media %MediaDesc; #IMPLIED
-  title %Text; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Paths
-     ============================================================== -->
-
-<!ENTITY % pathExt "" >
-<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%pathExt;)*) >
-<!ATTLIST path
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  d %PathData; #REQUIRED
-  pathLength %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Basic Shapes
-     ============================================================== -->
-
-<!ENTITY % rectExt "" >
-<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%rectExt;)*) >
-<!ATTLIST rect
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  rx %Length; #IMPLIED
-  ry %Length; #IMPLIED >
-
-<!ENTITY % circleExt "" >
-<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%circleExt;)*) >
-<!ATTLIST circle
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #REQUIRED >
-
-<!ENTITY % ellipseExt "" >
-<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%ellipseExt;)*) >
-<!ATTLIST ellipse
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  rx %Length; #REQUIRED
-  ry %Length; #REQUIRED >
-
-<!ENTITY % lineExt "" >
-<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%lineExt;)*) >
-<!ATTLIST line
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED >
-
-<!ENTITY % polylineExt "" >
-<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polylineExt;)*) >
-<!ATTLIST polyline
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-<!ENTITY % polygonExt "" >
-<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polygonExt;)*) >
-<!ATTLIST polygon
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Text
-     ============================================================== -->
-
-<!ENTITY % textExt "" >
-<!ELEMENT text (#PCDATA|desc|title|metadata|
-                tspan|tref|textPath|altGlyph|a|animate|set|
-                animateMotion|animateColor|animateTransform
-                %geExt;%textExt;)* >
-<!ATTLIST text
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % tspanExt "" >
-<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %tspanExt;)* >
-<!ATTLIST tspan
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % trefExt "" >
-<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
-                %trefExt;)* >
-<!ATTLIST tref
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % textPathExt "" >
-<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %textPathExt;)* >
-<!ATTLIST textPath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  startOffset %Length; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED
-  method (align|stretch) #IMPLIED
-  spacing (auto|exact) #IMPLIED >
-
-<!ENTITY % altGlyphExt "" >
-<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
-<!ATTLIST altGlyph
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED 
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED >
-
-<!ENTITY % altGlyphDefExt "" >
-<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
-<!ATTLIST altGlyphDef
-  %stdAttrs; >
-
-<!ENTITY % altGlyphItemExt "" >
-<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
-<!ATTLIST altGlyphItem
-  %stdAttrs; >
-
-<!ELEMENT glyphRef EMPTY >
-<!ATTLIST glyphRef
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-FontSpecification;
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols 
-     ============================================================== -->
-
-<!ENTITY % markerExt "" >
-<!ELEMENT marker (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%markerExt;)* >
-<!ATTLIST marker
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  refX %Coordinate; #IMPLIED
-  refY %Coordinate; #IMPLIED
-  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
-  markerWidth  %Length; #IMPLIED
-  markerHeight %Length; #IMPLIED
-  orient CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Color 
-     ============================================================== -->
-
-<!ELEMENT color-profile (%descTitleMetadata;) >
-<!ATTLIST color-profile 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  local CDATA #IMPLIED  
-  name CDATA #REQUIRED
-  rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
-     ============================================================== -->
-
-<!ENTITY % linearGradientExt "" >
-<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %linearGradientExt;)*) >
-<!ATTLIST linearGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % radialGradientExt "" >
-<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %radialGradientExt;)*) >
-<!ATTLIST radialGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #IMPLIED
-  fx %Coordinate; #IMPLIED
-  fy %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % stopExt "" >
-<!ELEMENT stop (animate|set|animateColor
-                   %stopExt;)* >
-<!ATTLIST stop
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  offset %NumberOrPercentage; #REQUIRED >
-
-<!ENTITY % patternExt "" >
-<!ELEMENT pattern (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%patternExt;)* >
-<!ATTLIST pattern
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternTransform %TransformList; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
-     ============================================================== -->
-
-<!ENTITY % clipPathExt "" >
-<!ELEMENT clipPath (%descTitleMetadata;,
-                    (path|text|rect|circle|ellipse|line|polyline|polygon|
-                     use|animate|set|animateMotion|animateColor|animateTransform
-                     %ceExt;%clipPathExt;)*) >
-<!ATTLIST clipPath
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >
-
-<!ENTITY % maskExt "" >
-<!ELEMENT mask (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%maskExt;)*  >
-<!ATTLIST mask
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Filter Effects
-     ============================================================== -->
-
-<!ENTITY % filterExt "" >
-<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
-  feColorMatrix|feComponentTransfer|
-  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
-  feGaussianBlur|feImage|feMerge|
-  feMorphology|feOffset|feSpecularLighting|
-  feTile|feTurbulence|
-  animate|set
-  %filterExt;)*) >
-<!ATTLIST filter
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  filterRes %NumberOptionalNumber; #IMPLIED >
-
-<!ENTITY % filter_primitive_attributes
-  "x %Coordinate; #IMPLIED
-   y %Coordinate; #IMPLIED
-   width %Length; #IMPLIED
-   height %Length; #IMPLIED
-   result CDATA #IMPLIED" >
-
-<!ENTITY % filter_primitive_attributes_with_in
-  "%filter_primitive_attributes;
-   in CDATA #IMPLIED">
-
-<!ELEMENT feDistantLight (animate|set)* >
-<!ATTLIST feDistantLight
-  %stdAttrs;
-  azimuth %Number; #IMPLIED
-  elevation %Number; #IMPLIED >
-
-<!ELEMENT fePointLight (animate|set)* >
-<!ATTLIST fePointLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED >
-
-<!ELEMENT feSpotLight (animate|set)* >
-<!ATTLIST feSpotLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED
-  pointsAtX %Number; #IMPLIED
-  pointsAtY %Number; #IMPLIED
-  pointsAtZ %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED
-  limitingConeAngle %Number; #IMPLIED >
-
-<!ELEMENT feBlend (animate|set)* >
-<!ATTLIST feBlend
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  mode (normal | multiply | screen | darken | lighten) "normal" >
-
-<!ELEMENT feColorMatrix (animate|set)* >
-<!ATTLIST feColorMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
-  values CDATA #IMPLIED >
-
-<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
-<!ATTLIST feComponentTransfer
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ENTITY % component_transfer_function_attributes
-  "type (identity | table | discrete | linear | gamma) #REQUIRED
-   tableValues CDATA #IMPLIED
-   slope %Number; #IMPLIED
-   intercept %Number; #IMPLIED
-   amplitude %Number; #IMPLIED
-   exponent %Number; #IMPLIED
-   offset %Number; #IMPLIED" >
-
-<!ELEMENT feFuncR (animate|set)* >
-<!ATTLIST feFuncR
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncG (animate|set)* >
-<!ATTLIST feFuncG
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncB (animate|set)* >
-<!ATTLIST feFuncB
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncA (animate|set)* >
-<!ATTLIST feFuncA
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feComposite (animate|set)* >
-<!ATTLIST feComposite
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  operator (over | in | out | atop | xor | arithmetic) "over"
-  k1 %Number; #IMPLIED
-  k2 %Number; #IMPLIED
-  k3 %Number; #IMPLIED
-  k4 %Number; #IMPLIED >
-
-<!ELEMENT feConvolveMatrix (animate|set)* >
-<!ATTLIST feConvolveMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  order %NumberOptionalNumber; #REQUIRED
-  kernelMatrix CDATA #REQUIRED
-  divisor %Number; #IMPLIED
-  bias %Number; #IMPLIED
-  targetX %Integer; #IMPLIED
-  targetY %Integer; #IMPLIED
-  edgeMode (duplicate|wrap|none) "duplicate" 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED 
-  preserveAlpha %Boolean; #IMPLIED >
-
-<!ELEMENT feDiffuseLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feDiffuseLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  diffuseConstant %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feDisplacementMap (animate|set)* >
-<!ATTLIST feDisplacementMap
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  scale %Number; #IMPLIED
-  xChannelSelector (R | G | B | A) "A"
-  yChannelSelector (R | G | B | A) "A" >
-
-<!ELEMENT feFlood (animate|set|animateColor)* >
-<!ATTLIST feFlood
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-feFlood;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feGaussianBlur (animate|set)* >
-<!ATTLIST feGaussianBlur
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  stdDeviation %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feImage (animate|set|animateTransform)* >
-<!ATTLIST feImage
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  %filter_primitive_attributes;
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' >
-
-<!ELEMENT feMerge (feMergeNode)* >
-<!ATTLIST feMerge
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes; >
-
-<!ELEMENT feMergeNode (animate|set)* >
-<!ATTLIST feMergeNode
-  %stdAttrs;
-  in CDATA #IMPLIED >
-
-<!ELEMENT feMorphology (animate|set)* >
-<!ATTLIST feMorphology
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  operator (erode | dilate) "erode"
-  radius %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feOffset (animate|set)* >
-<!ATTLIST feOffset
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-<!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feSpecularLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  specularConstant %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feTile (animate|set)* >
-<!ATTLIST feTile
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feTurbulence (animate|set)* >
-<!ATTLIST feTurbulence
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes;
-  baseFrequency %NumberOptionalNumber; #IMPLIED
-  numOctaves %Integer; #IMPLIED
-  seed %Number; #IMPLIED
-  stitchTiles (stitch | noStitch) "noStitch"
-  type (fractalNoise | turbulence) "turbulence" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Interactivity 
-     ============================================================== -->
-
-<!ELEMENT cursor (%descTitleMetadata;) >
-<!ATTLIST cursor
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Linking
-     ============================================================== -->
-
-<!ENTITY % aExt "" >
-<!ELEMENT a       (#PCDATA|desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%aExt;)* >
-<!ATTLIST a
-  %stdAttrs;
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  xlink:type (simple) #FIXED "simple" 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (new|replace) 'replace'
-  xlink:actuate (onRequest) #FIXED 'onRequest'
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  target %LinkTarget; #IMPLIED >
-
-<!ENTITY % viewExt "" >
-<!ELEMENT view (%descTitleMetadata;%viewExt;) >
-<!ATTLIST view
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify' 
-  viewTarget CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Scripting 
-     ============================================================== -->
-
-<!ELEMENT script (#PCDATA) >
-<!ATTLIST script
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  type %ContentType; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Animation 
-     ============================================================== -->
-
-<!ENTITY % animElementAttrs
- "%xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED" >
-
-<!ENTITY % animAttributeAttrs
- "attributeName  CDATA  #REQUIRED
-  attributeType  CDATA  #IMPLIED" >
-
-<!ENTITY % animTimingAttrs
- "begin CDATA #IMPLIED 
-  dur CDATA #IMPLIED
-  end CDATA #IMPLIED
-  min CDATA #IMPLIED
-  max CDATA #IMPLIED
-  restart (always | never | whenNotActive) 'always'
-  repeatCount CDATA #IMPLIED 
-  repeatDur CDATA #IMPLIED
-  fill (remove | freeze) 'remove'" >
-
-<!ENTITY % animValueAttrs
- "calcMode (discrete | linear | paced | spline) 'linear'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED" >
-
-<!ENTITY % animAdditionAttrs
- "additive       (replace | sum) 'replace'
-  accumulate     (none | sum) 'none'" >
-
-<!ENTITY % animateExt "" >
-<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
-<!ATTLIST animate
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % setExt "" >
-<!ELEMENT set (%descTitleMetadata;%setExt;) >
-<!ATTLIST set
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  to CDATA #IMPLIED >
-
-<!ENTITY % animateMotionExt "" >
-<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
-<!ATTLIST animateMotion
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animTimingAttrs;
-  calcMode (discrete | linear | paced | spline) 'paced'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED
-  %animAdditionAttrs;
-  path CDATA #IMPLIED
-  keyPoints CDATA #IMPLIED
-  rotate CDATA #IMPLIED
-  origin CDATA #IMPLIED >
-
-<!ENTITY % mpathExt "" >
-<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
-<!ATTLIST mpath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  externalResourcesRequired %Boolean; #IMPLIED >
-
-<!ENTITY % animateColorExt "" >
-<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
-<!ATTLIST animateColor
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % animateTransformExt "" >
-<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
-<!ATTLIST animateTransform
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs;
-  type (translate | scale | rotate | skewX | skewY) "translate" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Fonts 
-     ============================================================== -->
-
-<!ENTITY % fontExt "" >
-<!ELEMENT font (%descTitleMetadata;,font-face,
-                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
-<!ATTLIST font
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  horiz-origin-x %Number; #IMPLIED
-  horiz-origin-y %Number; #IMPLIED
-  horiz-adv-x %Number; #REQUIRED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % glyphExt "" >
-<!ELEMENT glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %glyphExt;)* >
-<!ATTLIST glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  unicode CDATA #IMPLIED
-  glyph-name CDATA #IMPLIED
-  d %PathData; #IMPLIED
-  orientation CDATA #IMPLIED
-  arabic-form CDATA #IMPLIED
-  lang %LanguageCodes; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % missing-glyphExt "" >
-<!ELEMENT missing-glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %missing-glyphExt;)* >
-<!ATTLIST missing-glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  d %PathData; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ELEMENT hkern EMPTY >
-<!ATTLIST hkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT vkern EMPTY >
-<!ATTLIST vkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT font-face (%descTitleMetadata;,font-face-src?,definition-src?) >
-<!ATTLIST font-face 
-  %stdAttrs;
-  font-family CDATA #IMPLIED
-  font-style CDATA #IMPLIED
-  font-variant CDATA #IMPLIED
-  font-weight CDATA #IMPLIED
-  font-stretch CDATA #IMPLIED
-  font-size CDATA #IMPLIED
-  unicode-range CDATA #IMPLIED
-  units-per-em %Number; #IMPLIED
-  panose-1 CDATA #IMPLIED
-  stemv %Number; #IMPLIED
-  stemh %Number; #IMPLIED
-  slope %Number; #IMPLIED
-  cap-height %Number; #IMPLIED
-  x-height %Number; #IMPLIED
-  accent-height %Number; #IMPLIED
-  ascent %Number; #IMPLIED
-  descent %Number; #IMPLIED
-  widths CDATA #IMPLIED
-  bbox CDATA #IMPLIED
-  ideographic %Number; #IMPLIED
-  alphabetic %Number; #IMPLIED
-  mathematical %Number; #IMPLIED
-  hanging %Number; #IMPLIED
-  v-ideographic %Number; #IMPLIED
-  v-alphabetic %Number; #IMPLIED
-  v-mathematical %Number; #IMPLIED
-  v-hanging %Number; #IMPLIED
-  underline-position %Number; #IMPLIED
-  underline-thickness %Number; #IMPLIED
-  strikethrough-position %Number; #IMPLIED
-  strikethrough-thickness %Number; #IMPLIED
-  overline-position %Number; #IMPLIED
-  overline-thickness %Number; #IMPLIED >
-
-<!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
-<!ATTLIST font-face-src 
-  %stdAttrs; >
-
-<!ELEMENT font-face-uri (font-face-format*) >
-<!ATTLIST font-face-uri 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-<!ELEMENT font-face-format EMPTY >
-<!ATTLIST font-face-format 
-  %stdAttrs;
-  string CDATA #IMPLIED >
-
-<!ELEMENT font-face-name EMPTY >
-<!ATTLIST font-face-name 
-  %stdAttrs;
-  name CDATA #IMPLIED >
-
-<!ELEMENT definition-src EMPTY >
-<!ATTLIST definition-src 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Metadata 
-     ============================================================== -->
-
-<!ENTITY % metadataExt "" >
-<!ELEMENT metadata (#PCDATA %metadataExt;)* >
-<!ATTLIST metadata
-  %stdAttrs; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Extensibility 
-     ============================================================== -->
-
-<!ENTITY % foreignObjectExt "" >
-<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
-<!ATTLIST foreignObject
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  %StructuredText; >
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/system_shapes.xml b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/.dswkshop/system_shapes.xml
deleted file mode 100644 (file)
index 132e36c..0000000
+++ /dev/null
@@ -1,1821 +0,0 @@
-
-<EDKSYSTEM ARCH="virtex4" EDKVERSION="10.1.01" PART="xc4vfx12ff668-10" SRC="C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.xmp" TIMESTAMP="Sun May 11 14:31:02 2008&#xA;">
-
-  <MODULES>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/cpu_ppc405_v1_10_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/ppc405_virtex4_v2_01_a/doc/ppc405_virtex4.pdf" HWVERSION="2.01.a" INSTANCE="ppc405_0" INTERRUPT_CNTLR="xps_intc_0" IPTYPE="PROCESSOR" IS_PLACED="TRUE" MHS_INDEX="0" MODCLASS="PROCESSOR" MODTYPE="ppc405_virtex4" SAV_INDEX="0">
-      <DESCRIPTION TYPE="SHORT">PowerPC 405 Virtex-4</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">A wrapper to instantiate the PowerPC 405 Processor Block primitive</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_DPLB0_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_DPLB0_NATIVE_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_IPLB0_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_IPLB0_NATIVE_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_DPLB1_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_DPLB1_NATIVE_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_IPLB1_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_IPLB1_NATIVE_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_DPLB1_ADDR_BASE" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_DPLB1_ADDR_HIGH" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_IPLB1_ADDR_BASE" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_IPLB1_ADDR_HIGH" VALUE="0x00000000"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="12" NAME="C_FASTEST_PLB_CLOCK" VALUE="DPLB0"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_GENERATE_PLB_TIMESPECS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_DPLB0_P2P" VALUE="1"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_DPLB1_P2P" VALUE="1"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_IPLB0_P2P" VALUE="1"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_IPLB1_P2P" VALUE="1"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="18" NAME="C_IDCR_BASEADDR" VALUE="0b0100000000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="19" NAME="C_IDCR_HIGHADDR" VALUE="0b0111111111"/>
-      <PARAMETER MPD_INDEX="20" NAME="C_DISABLE_OPERAND_FORWARDING" VALUE="1"/>
-      <PARAMETER MPD_INDEX="21" NAME="C_MMU_ENABLE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="22" NAME="C_DETERMINISTIC_MULT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="23" NAME="C_PLBSYNCBYPASS" VALUE="1"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="24" NAME="C_APU_CONTROL" VALUE="0b0000000000000001"/>
-      <PARAMETER MPD_INDEX="25" NAME="C_APU_UDI_1" VALUE="0b101000011000100110000011"/>
-      <PARAMETER MPD_INDEX="26" NAME="C_APU_UDI_2" VALUE="0b101000111000100110000011"/>
-      <PARAMETER MPD_INDEX="27" NAME="C_APU_UDI_3" VALUE="0b101001011000100111000011"/>
-      <PARAMETER MPD_INDEX="28" NAME="C_APU_UDI_4" VALUE="0b101001111000100111000011"/>
-      <PARAMETER MPD_INDEX="29" NAME="C_APU_UDI_5" VALUE="0b101010011000110000000011"/>
-      <PARAMETER MPD_INDEX="30" NAME="C_APU_UDI_6" VALUE="0b101010111000110000000011"/>
-      <PARAMETER MPD_INDEX="31" NAME="C_APU_UDI_7" VALUE="0b101011011000110001000011"/>
-      <PARAMETER MPD_INDEX="32" NAME="C_APU_UDI_8" VALUE="0b101011111000110001000011"/>
-      <PARAMETER MPD_INDEX="33" NAME="C_PVR_HIGH" VALUE="0b0000"/>
-      <PARAMETER MPD_INDEX="34" NAME="C_PVR_LOW" VALUE="0b0000"/>
-      <BUSINTERFACE BIFRANK="TARGET" BIF_X="0" BIF_Y="0" BUSNAME="jtagppc_0_0" BUSSTD="XIL" BUS_STD="XIL_JTAGPPC" MPD_INDEX="10" NAME="JTAGPPC" ORIENTED="WEST"/>
-      <BUSINTERFACE BIFRANK="MASTER" BIF_X="1" BIF_Y="2" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="2" NAME="IPLB0" ORIENTED="EAST"/>
-      <BUSINTERFACE BIFRANK="MASTER" BIF_X="0" BIF_Y="2" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="1" NAME="DPLB0" ORIENTED="WEST"/>
-      <BUSINTERFACE BIFRANK="TARGET" BIF_X="1" BIF_Y="1" BUSNAME="ppc_reset_bus" BUSSTD="XIL" BUS_STD="XIL_RESETPPC" MPD_INDEX="11" NAME="RESETPPC" ORIENTED="EAST"/>
-      <BUSINTERFACE BIFRANK="MASTER" BIF_X="1" BIF_Y="0" BUSNAME="fcb_v10_0" BUSSTD="FCB" BUS_STD="FCB" MPD_INDEX="7" NAME="MFCB" ORIENTED="EAST"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="6" NAME="CPMC405CLOCK" SIGIS="CLK" SIGNAME="proc_clk_s"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="237" NAME="EICC405EXTINPUTIRQ" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="EICC405EXTINPUTIRQ"/>
-      <PORT DIR="O" MPD_INDEX="0" NAME="C405CPMCORESLEEPREQ" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="1" NAME="C405CPMMSRCE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="2" NAME="C405CPMMSREE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="3" NAME="C405CPMTIMERIRQ" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="4" NAME="C405CPMTIMERRESETREQ" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="5" NAME="C405XXXMACHINECHECK" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="CPMC405CORECLKINACTIVE" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="CPMC405CPUCLKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="CPMC405JTAGCLKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="CPMC405TIMERCLKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="CPMC405TIMERTICK" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="MCBCPUCLKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="MCBTIMEREN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="MCPPCRST" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="CPMDCRCLK" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="CPMFCMCLK" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="17" NAME="C405RSTCHIPRESETREQ" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="18" NAME="C405RSTCORERESETREQ" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="19" NAME="C405RSTSYSRESETREQ" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="RSTC405RESETCHIP" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="RSTC405RESETCORE" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="RSTC405RESETSYS" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="23" NAME="APUFCMDECODED" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="24" NAME="APUFCMDECUDI" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="25" NAME="APUFCMDECUDIVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="APUFCMENDIAN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="APUFCMFLUSH" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="APUFCMINSTRUCTION" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="APUFCMINSTRVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="APUFCMLOADBYTEEN" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="APUFCMLOADDATA" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="APUFCMLOADDVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="APUFCMOPERANDVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="APUFCMRADATA" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="APUFCMRBDATA" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="APUFCMWRITEBACKOK" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="APUFCMXERCA" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="38" NAME="FCMAPUCR" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="39" NAME="FCMAPUDCDCREN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="40" NAME="FCMAPUDCDFORCEALIGN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="41" NAME="FCMAPUDCDFORCEBESTEERING" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="42" NAME="FCMAPUDCDFPUOP" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="43" NAME="FCMAPUDCDGPRWRITE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="44" NAME="FCMAPUDCDLDSTBYTE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="45" NAME="FCMAPUDCDLDSTDW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="46" NAME="FCMAPUDCDLDSTHW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="47" NAME="FCMAPUDCDLDSTQW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="48" NAME="FCMAPUDCDLDSTWD" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="49" NAME="FCMAPUDCDLOAD" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="50" NAME="FCMAPUDCDPRIVOP" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="51" NAME="FCMAPUDCDRAEN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="52" NAME="FCMAPUDCDRBEN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="53" NAME="FCMAPUDCDSTORE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="54" NAME="FCMAPUDCDTRAPBE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="55" NAME="FCMAPUDCDTRAPLE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="56" NAME="FCMAPUDCDUPDATE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="57" NAME="FCMAPUDCDXERCAEN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="58" NAME="FCMAPUDCDXEROVEN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="59" NAME="FCMAPUDECODEBUSY" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="60" NAME="FCMAPUDONE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="61" NAME="FCMAPUEXCEPTION" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="62" NAME="FCMAPUEXEBLOCKINGMCO" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="63" NAME="FCMAPUEXECRFIELD" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="64" NAME="FCMAPUEXENONBLOCKINGMCO" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="65" NAME="FCMAPUINSTRACK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="66" NAME="FCMAPULOADWAIT" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="67" NAME="FCMAPURESULT" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="68" NAME="FCMAPURESULTVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="69" NAME="FCMAPUSLEEPNOTREADY" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="70" NAME="FCMAPUXERCA" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="71" NAME="FCMAPUXEROV" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="72" NAME="IPLB0_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="73" NAME="IPLB0_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="74" NAME="IPLB0_PLB_MBusy" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="75" NAME="IPLB0_PLB_MRdErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="76" NAME="IPLB0_PLB_MWrErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="77" NAME="IPLB0_PLB_MWrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="78" NAME="IPLB0_PLB_MWrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="79" NAME="IPLB0_PLB_MAddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="80" NAME="IPLB0_PLB_MRdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="81" NAME="IPLB0_PLB_MRdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="82" NAME="IPLB0_PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_IPLB0_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="83" NAME="IPLB0_PLB_MRearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="84" NAME="IPLB0_PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="85" NAME="IPLB0_PLB_MTimeout" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="86" NAME="IPLB0_PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="87" NAME="IPLB0_M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="88" NAME="IPLB0_M_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_IPLB0_DWIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="89" NAME="IPLB0_M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="90" NAME="IPLB0_M_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="91" NAME="IPLB0_M_request" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="92" NAME="IPLB0_M_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="93" NAME="IPLB0_M_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="94" NAME="IPLB0_M_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="95" NAME="IPLB0_M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_IPLB0_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="96" NAME="IPLB0_M_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="97" NAME="IPLB0_M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="98" NAME="IPLB0_M_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="99" NAME="IPLB0_M_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="100" NAME="IPLB0_M_priority" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="101" NAME="IPLB0_M_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="102" NAME="IPLB0_M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="I" MPD_INDEX="103" NAME="DPLB0_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="104" NAME="DPLB0_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="105" NAME="DPLB0_PLB_MBusy" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="106" NAME="DPLB0_PLB_MRdErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="107" NAME="DPLB0_PLB_MWrErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="108" NAME="DPLB0_PLB_MWrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="109" NAME="DPLB0_PLB_MWrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="110" NAME="DPLB0_PLB_MAddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="111" NAME="DPLB0_PLB_MRdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="112" NAME="DPLB0_PLB_MRdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="113" NAME="DPLB0_PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_DPLB0_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="114" NAME="DPLB0_PLB_MRearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="115" NAME="DPLB0_PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="116" NAME="DPLB0_PLB_MTimeout" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="117" NAME="DPLB0_PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="118" NAME="DPLB0_M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="119" NAME="DPLB0_M_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_DPLB0_DWIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="120" NAME="DPLB0_M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="121" NAME="DPLB0_M_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="122" NAME="DPLB0_M_request" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="123" NAME="DPLB0_M_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="124" NAME="DPLB0_M_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="125" NAME="DPLB0_M_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="126" NAME="DPLB0_M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_DPLB0_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="127" NAME="DPLB0_M_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="128" NAME="DPLB0_M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="129" NAME="DPLB0_M_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="130" NAME="DPLB0_M_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="131" NAME="DPLB0_M_priority" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="132" NAME="DPLB0_M_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="133" NAME="DPLB0_M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="I" MPD_INDEX="134" NAME="IPLB1_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="135" NAME="IPLB1_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="136" NAME="IPLB1_PLB_MBusy" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="137" NAME="IPLB1_PLB_MRdErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="138" NAME="IPLB1_PLB_MWrErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="139" NAME="IPLB1_PLB_MWrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="140" NAME="IPLB1_PLB_MWrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="141" NAME="IPLB1_PLB_MAddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="142" NAME="IPLB1_PLB_MRdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="143" NAME="IPLB1_PLB_MRdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="144" NAME="IPLB1_PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_IPLB1_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="145" NAME="IPLB1_PLB_MRearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="146" NAME="IPLB1_PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="147" NAME="IPLB1_PLB_MTimeout" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="148" NAME="IPLB1_PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="149" NAME="IPLB1_M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="150" NAME="IPLB1_M_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_IPLB1_DWIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="151" NAME="IPLB1_M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="152" NAME="IPLB1_M_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="153" NAME="IPLB1_M_request" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="154" NAME="IPLB1_M_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="155" NAME="IPLB1_M_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="156" NAME="IPLB1_M_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="157" NAME="IPLB1_M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_IPLB1_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="158" NAME="IPLB1_M_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="159" NAME="IPLB1_M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="160" NAME="IPLB1_M_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="161" NAME="IPLB1_M_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="162" NAME="IPLB1_M_priority" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="163" NAME="IPLB1_M_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="164" NAME="IPLB1_M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="I" MPD_INDEX="165" NAME="DPLB1_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="166" NAME="DPLB1_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="167" NAME="DPLB1_PLB_MBusy" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="168" NAME="DPLB1_PLB_MRdErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="169" NAME="DPLB1_PLB_MWrErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="170" NAME="DPLB1_PLB_MWrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="171" NAME="DPLB1_PLB_MWrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="172" NAME="DPLB1_PLB_MAddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="173" NAME="DPLB1_PLB_MRdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="174" NAME="DPLB1_PLB_MRdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="175" NAME="DPLB1_PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_DPLB1_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="176" NAME="DPLB1_PLB_MRearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="177" NAME="DPLB1_PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="178" NAME="DPLB1_PLB_MTimeout" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="179" NAME="DPLB1_PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="180" NAME="DPLB1_M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="181" NAME="DPLB1_M_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_DPLB1_DWIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="182" NAME="DPLB1_M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="183" NAME="DPLB1_M_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="184" NAME="DPLB1_M_request" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="185" NAME="DPLB1_M_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="186" NAME="DPLB1_M_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="187" NAME="DPLB1_M_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="188" NAME="DPLB1_M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_DPLB1_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="189" NAME="DPLB1_M_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="190" NAME="DPLB1_M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="191" NAME="DPLB1_M_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="192" NAME="DPLB1_M_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="193" NAME="DPLB1_M_priority" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="194" NAME="DPLB1_M_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="195" NAME="DPLB1_M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="I" MPD_INDEX="196" NAME="BRAMDSOCMCLK" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="197" NAME="BRAMDSOCMRDDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="198" NAME="DSARCVALUE" SIGNAME="__DEF__" VECFORMULA="[0:7]"/>
-      <PORT DIR="I" MPD_INDEX="199" NAME="DSCNTLVALUE" SIGNAME="__DEF__" VECFORMULA="[0:7]"/>
-      <PORT DIR="O" MPD_INDEX="200" NAME="DSOCMBRAMABUS" SIGNAME="__DEF__" VECFORMULA="[8:29]"/>
-      <PORT DIR="O" MPD_INDEX="201" NAME="DSOCMBRAMBYTEWRITE" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="202" NAME="DSOCMBRAMEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="203" NAME="DSOCMBRAMWRDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="204" NAME="DSOCMBUSY" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="205" NAME="DSOCMRDADDRVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="206" NAME="DSOCMWRADDRVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="207" NAME="DSOCMRWCOMPLETE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="208" NAME="BRAMISOCMCLK" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="209" NAME="BRAMISOCMRDDBUS" SIGNAME="__DEF__" VECFORMULA="[0:63]"/>
-      <PORT DIR="I" MPD_INDEX="210" NAME="BRAMISOCMDCRRDDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="211" NAME="ISARCVALUE" SIGNAME="__DEF__" VECFORMULA="[0:7]"/>
-      <PORT DIR="I" MPD_INDEX="212" NAME="ISCNTLVALUE" SIGNAME="__DEF__" VECFORMULA="[0:7]"/>
-      <PORT DIR="O" MPD_INDEX="213" NAME="ISOCMBRAMEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="214" NAME="ISOCMBRAMEVENWRITEEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="215" NAME="ISOCMBRAMODDWRITEEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="216" NAME="ISOCMBRAMRDABUS" SIGNAME="__DEF__" VECFORMULA="[8:28]"/>
-      <PORT DIR="O" MPD_INDEX="217" NAME="ISOCMBRAMWRABUS" SIGNAME="__DEF__" VECFORMULA="[8:28]"/>
-      <PORT DIR="O" MPD_INDEX="218" NAME="ISOCMBRAMWRDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="219" NAME="ISOCMDCRBRAMEVENEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="220" NAME="ISOCMDCRBRAMODDEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="221" NAME="ISOCMDCRBRAMRDSELECT" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="222" NAME="DCREMACABUS" SIGNAME="__DEF__" VECFORMULA="[8:9]"/>
-      <PORT DIR="O" MPD_INDEX="223" NAME="DCREMACCLK" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="224" NAME="DCREMACDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="225" NAME="DCREMACENABLER" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="226" NAME="DCREMACREAD" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="227" NAME="DCREMACWRITE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="228" NAME="EMACDCRACK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="229" NAME="EMACDCRDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="230" NAME="EXTDCRABUS" SIGNAME="__DEF__" VECFORMULA="[0:9]"/>
-      <PORT DIR="O" MPD_INDEX="231" NAME="EXTDCRDBUSOUT" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="232" NAME="EXTDCRREAD" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="233" NAME="EXTDCRWRITE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="234" NAME="EXTDCRACK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="235" NAME="EXTDCRDBUSIN" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="236" NAME="EICC405CRITINPUTIRQ" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="238" NAME="C405JTGCAPTUREDR" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="239" NAME="C405JTGEXTEST" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="240" NAME="C405JTGPGMOUT" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="241" NAME="C405JTGSHIFTDR" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="242" NAME="C405JTGTDO" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="243" NAME="C405JTGTDOEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="244" NAME="C405JTGUPDATEDR" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="245" NAME="MCBJTAGEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="246" NAME="JTGC405BNDSCANTDO" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="247" NAME="JTGC405TCK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="248" NAME="JTGC405TDI" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="249" NAME="JTGC405TMS" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="250" NAME="JTGC405TRSTNEG" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="251" NAME="C405DBGMSRWE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="252" NAME="C405DBGSTOPACK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="253" NAME="C405DBGWBCOMPLETE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="254" NAME="C405DBGWBFULL" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="255" NAME="C405DBGWBIAR" SIGNAME="__NOC__" VECFORMULA="[0:29]"/>
-      <PORT DIR="I" MPD_INDEX="256" NAME="DBGC405DEBUGHALT" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="257" NAME="DBGC405DEBUGHALTNEG" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="258" NAME="DBGC405EXTBUSHOLDACK" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="259" NAME="DBGC405UNCONDDEBUGEVENT" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="260" NAME="C405DBGLOADDATAONAPUDBUS" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="261" NAME="C405TRCCYCLE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="262" NAME="C405TRCEVENEXECUTIONSTATUS" SIGNAME="__NOC__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="263" NAME="C405TRCODDEXECUTIONSTATUS" SIGNAME="__NOC__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="264" NAME="C405TRCTRACESTATUS" SIGNAME="__NOC__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="265" NAME="C405TRCTRIGGEREVENTOUT" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="266" NAME="C405TRCTRIGGEREVENTTYPE" SIGNAME="__NOC__" VECFORMULA="[0:10]"/>
-      <PORT DIR="I" MPD_INDEX="267" NAME="TRCC405TRACEDISABLE" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="268" NAME="TRCC405TRIGGEREVENTIN" SIGNAME="__NOC__"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="DCR" BUS_STD="DCR" MPD_INDEX="0" NAME="MDCR"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="3" NAME="DPLB1"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="4" NAME="IPLB1"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="OCM" BUS_STD="DSOCM" IS_DATA="TRUE" MPD_INDEX="5" NAME="DSOCM"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="OCM" BUS_STD="ISOCM" IS_INSTRUCTION="TRUE" MPD_INDEX="6" NAME="ISOCM"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_FCM" MPD_INDEX="8" NAME="MFCM"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_EMACDCR" MPD_INDEX="9" NAME="EMACDCR"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0b0100000000" BASENAME="C_IDCR_BASEADDR" BASEVALUE="256" HIGH="0b0111111111" HIGHNAME="C_IDCR_HIGHADDR" HIGHVALUE="511" MINSIZE="16" SIZE="256" SIZEABRV="256">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="MDCR"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/generic_v1_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/jtagppc_cntlr_v2_01_a/doc/jtagppc_cntlr.pdf" HWVERSION="2.01.a" INSTANCE="jtagppc_0" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="1" MODCLASS="PERIPHERAL" MODTYPE="jtagppc_cntlr" SAV_INDEX="5">
-      <DESCRIPTION TYPE="SHORT">PowerPC JTAG Controller</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">JTAGPPC wrapper allows the PowerPC to connect to the JTAG chain of the FPGA.</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_DEVICE" VALUE="X2VP4"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_NUM_PPC_USED" VALUE="0"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BIF_X="0" BIF_Y="0" BUSNAME="jtagppc_0_0" BUSSTD="XIL" BUS_STD="XIL_JTAGPPC" MPD_INDEX="0" NAME="JTAGPPC0"/>
-      <PORT DIR="I" MPD_INDEX="0" NAME="TRSTNEG" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="HALTNEG0" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="2" NAME="DBGC405DEBUGHALT0" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="HALTNEG1" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="4" NAME="DBGC405DEBUGHALT1" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="C405JTGTDO0" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="C405JTGTDOEN0" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="7" NAME="JTGC405TCK0" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="8" NAME="JTGC405TDI0" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="9" NAME="JTGC405TMS0" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="10" NAME="JTGC405TRSTNEG0" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="C405JTGTDO1" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="C405JTGTDOEN1" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="13" NAME="JTGC405TCK1" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="14" NAME="JTGC405TDI1" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="15" NAME="JTGC405TMS1" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="16" NAME="JTGC405TRSTNEG1" SIGNAME="__DEF__"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_JTAGPPC" MPD_INDEX="1" NAME="JTAGPPC1"/>
-    </MODULE>
-    <MODULE BUSINDEX="0" BUSSTD="PLBV46" BUS_STD="PLBV46" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/plb_v46_v1_02_a/doc/plb_v46.pdf" HWVERSION="1.02.a" INSTANCE="plb" IPTYPE="BUS" IS_PLACED="TRUE" MHS_INDEX="2" MODCLASS="BUS" MODTYPE="plb_v46" SAV_INDEX="2">
-      <DESCRIPTION TYPE="SHORT">Processor Local Bus (PLB) 4.6</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">'Xilinx 64-bit Processor Local Bus (PLB) consists of a bus control unit, a watchdog timer, and separate address, write, and read data path units with a a three-cycle only arbitration feature'</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_PLBV46_NUM_MASTERS" VALUE="4"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_PLBV46_NUM_SLAVES" VALUE="8"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_PLBV46_MID_WIDTH" VALUE="2"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_PLBV46_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_PLBV46_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_DCR_INTFCE" VALUE="0"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" MPD_INDEX="6" NAME="C_BASEADDR" VALUE="0b1111111111"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" MPD_INDEX="7" NAME="C_HIGHADDR" VALUE="0b0000000000"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_DCR_AWIDTH" VALUE="10"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_DCR_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_IRQ_ACTIVE" VALUE="1"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="12" NAME="C_NUM_CLK_PLB2OPB_REARB" VALUE="100"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_ADDR_PIPELINING_TYPE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_ARB_TYPE" VALUE="0"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="0" NAME="PLB_Clk" SIGIS="CLK" SIGNAME="sys_clk_s"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="1" NAME="SYS_Rst" SIGIS="RST" SIGNAME="sys_bus_reset"/>
-      <PORT DIR="O" MPD_INDEX="2" NAME="PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="3" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="O" MPD_INDEX="4" NAME="MPLB_Rst" SIGIS="RST" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="5" NAME="PLB_dcrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="6" NAME="PLB_dcrDBus" SIGNAME="__DEF__" VECFORMULA="[0:C_DCR_DWIDTH-1]"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="DCR_ABus" SIGNAME="__DEF__" VECFORMULA="[0:C_DCR_AWIDTH-1]"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="DCR_DBus" SIGNAME="__DEF__" VECFORMULA="[0:C_DCR_DWIDTH-1]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="DCR_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="DCR_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*32)-1]"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*32)-1]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="M_BE" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*(C_PLBV46_DWIDTH/8))-1]"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="M_RNW" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="M_abort" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="M_busLock" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*16)-1]"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="M_lockErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*2)-1]"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="M_priority" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*2)-1]"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="M_rdBurst" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="M_request" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="M_size" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*4)-1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="M_type" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*3)-1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="M_wrBurst" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="26" NAME="M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*C_PLBV46_DWIDTH)-1]"/>
-      <PORT DIR="I" MPD_INDEX="27" NAME="Sl_addrAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="28" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_SLAVES*C_PLBV46_NUM_MASTERS)-1]"/>
-      <PORT DIR="I" MPD_INDEX="29" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_SLAVES*C_PLBV46_NUM_MASTERS)-1]"/>
-      <PORT DIR="I" MPD_INDEX="30" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*C_PLBV46_NUM_MASTERS - 1 ]"/>
-      <PORT DIR="I" MPD_INDEX="31" NAME="Sl_rdBTerm" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="32" NAME="Sl_rdComp" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="33" NAME="Sl_rdDAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="34" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*C_PLBV46_DWIDTH-1]"/>
-      <PORT DIR="I" MPD_INDEX="35" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*4-1]"/>
-      <PORT DIR="I" MPD_INDEX="36" NAME="Sl_rearbitrate" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="37" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*2-1]"/>
-      <PORT DIR="I" MPD_INDEX="38" NAME="Sl_wait" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="39" NAME="Sl_wrBTerm" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="40" NAME="Sl_wrComp" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="41" NAME="Sl_wrDAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="42" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="43" NAME="PLB_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="44" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="45" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="46" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_DWIDTH/8)-1]"/>
-      <PORT DIR="O" MPD_INDEX="47" NAME="PLB_MAddrAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="PLB_MTimeout" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="49" NAME="PLB_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="50" NAME="PLB_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="51" NAME="PLB_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="52" NAME="PLB_MRdBTerm" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="53" NAME="PLB_MRdDAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="54" NAME="PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*C_PLBV46_DWIDTH)-1]"/>
-      <PORT DIR="O" MPD_INDEX="55" NAME="PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*4)-1]"/>
-      <PORT DIR="O" MPD_INDEX="56" NAME="PLB_MRearbitrate" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="57" NAME="PLB_MWrBTerm" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="58" NAME="PLB_MWrDAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="59" NAME="PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*2)-1]"/>
-      <PORT DIR="O" MPD_INDEX="60" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="61" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="62" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="63" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="64" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="65" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="66" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="67" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_MID_WIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="68" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="69" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="70" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="71" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="72" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="73" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="74" NAME="PLB_rdPrim" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="O" MPD_INDEX="75" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="76" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="77" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="78" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="79" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_DWIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="80" NAME="PLB_wrPrim" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="O" MPD_INDEX="81" NAME="PLB_SaddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="82" NAME="PLB_SMRdErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="83" NAME="PLB_SMWrErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="84" NAME="PLB_SMBusy" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="85" NAME="PLB_SrdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="86" NAME="PLB_SrdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="87" NAME="PLB_SrdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="88" NAME="PLB_SrdDBus" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_DWIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="89" NAME="PLB_SrdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="90" NAME="PLB_Srearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="91" NAME="PLB_Sssize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="92" NAME="PLB_Swait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="93" NAME="PLB_SwrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="94" NAME="PLB_SwrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="95" NAME="PLB_SwrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="96" NAME="Bus_Error_Det" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="__NOC__" BUSSTD="DCR" BUS_STD="DCR" ISVALID="FALSE" MPD_INDEX="0" NAME="SDCR"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0b1111111111" BASENAME="C_BASEADDR" BASEVALUE="1023" HIGH="0b0000000000" HIGHNAME="C_HIGHADDR" HIGHVALUE="0" ISVALID="FALSE" MINSIZE="0x08" SIZE="0" SIZEABRV="U">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SDCR"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/uartlite_v1_13_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_uartlite_v1_00_a/doc/xps_uartlite.pdf" GROUP="C" HWVERSION="1.00.a" INSTANCE="RS232_Uart" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="3" MODCLASS="PERIPHERAL" MODTYPE="xps_uartlite" SAV_INDEX="11">
-      <DESCRIPTION TYPE="SHORT">XPS UART (Lite)</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Generic UART (Universal Asynchronous Receiver/Transmitter) for PLBV46 bus.</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_SPLB_CLK_FREQ_HZ" VALUE="100000000"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="2" NAME="C_BASEADDR" VALUE="0x84000000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="3" NAME="C_HIGHADDR" VALUE="0x8400ffff"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_BAUDRATE" VALUE="9600"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_DATA_BITS" VALUE="8"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="13" NAME="C_USE_PARITY" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="14" NAME="C_ODD_PARITY" VALUE="0"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="42" NAME="RX" SIGNAME="fpga_0_RS232_Uart_RX">
-        <DESCRIPTION>Serial Data In</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="43" NAME="TX" SIGNAME="fpga_0_RS232_Uart_TX">
-        <DESCRIPTION>Serial Data Out</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="44" NAME="Interrupt" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="RS232_Uart_Interrupt"/>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <INTCCNTLRTRGS>
-        <INTCTRG INTCINDEX="0" PRIORITY="0"/>
-      </INTCCNTLRTRGS>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x84000000" BASENAME="C_BASEADDR" BASEVALUE="2214592512" HIGH="0x8400ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2214658047" MINSIZE="0x10" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/gpio_v2_12_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_gpio_v1_00_a/doc/xps_gpio.pdf" GROUP="A" HWVERSION="1.00.a" INSTANCE="LEDs_4Bit" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="4" MODCLASS="PERIPHERAL" MODTYPE="xps_gpio" SAV_INDEX="7">
-      <DESCRIPTION TYPE="SHORT">XPS General Purpose IO</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">General Purpose Input/Output (GPIO) core for the PLBV46 bus.</DESCRIPTION>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="0" NAME="C_BASEADDR" VALUE="0x81400000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="1" NAME="C_HIGHADDR" VALUE="0x8140ffff"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="10" NAME="C_GPIO_WIDTH" VALUE="4"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_ALL_INPUTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_INTERRUPT_PRESENT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_IS_BIDIR" VALUE="1"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_DOUT_DEFAULT" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_TRI_DEFAULT" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_IS_DUAL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_ALL_INPUTS_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="18" NAME="C_IS_BIDIR_2" VALUE="1"/>
-      <PARAMETER MPD_INDEX="19" NAME="C_DOUT_DEFAULT_2" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="20" NAME="C_TRI_DEFAULT_2" VALUE="0xffffffff"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="IO" INMHS="TRUE" MPD_INDEX="43" NAME="GPIO_IO" SIGNAME="fpga_0_LEDs_4Bit_GPIO_IO" VECFORMULA="[0:(C_GPIO_WIDTH-1)]">
-        <DESCRIPTION>GPIO1 Data IO</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="42" NAME="IP2INTC_Irpt" SENSITIVITY="LEVEL_HIGH" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="44" NAME="GPIO_IO_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="45" NAME="GPIO_IO_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="46" NAME="GPIO_IO_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="47" NAME="GPIO_in" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="GPIO_d_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="49" NAME="GPIO_t_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="IO" ISVALID="FALSE" MPD_INDEX="50" NAME="GPIO2_IO" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="51" NAME="GPIO2_IO_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="52" NAME="GPIO2_IO_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="53" NAME="GPIO2_IO_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="54" NAME="GPIO2_in" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="55" NAME="GPIO2_d_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="56" NAME="GPIO2_t_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x81400000" BASENAME="C_BASEADDR" BASEVALUE="2168455168" HIGH="0x8140ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2168520703" MINSIZE="0x200" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/gpio_v2_12_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_gpio_v1_00_a/doc/xps_gpio.pdf" GROUP="B" HWVERSION="1.00.a" INSTANCE="LEDs_Positions" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="5" MODCLASS="PERIPHERAL" MODTYPE="xps_gpio" SAV_INDEX="8">
-      <DESCRIPTION TYPE="SHORT">XPS General Purpose IO</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">General Purpose Input/Output (GPIO) core for the PLBV46 bus.</DESCRIPTION>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="0" NAME="C_BASEADDR" VALUE="0x81420000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="1" NAME="C_HIGHADDR" VALUE="0x8142ffff"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="10" NAME="C_GPIO_WIDTH" VALUE="5"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_ALL_INPUTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_INTERRUPT_PRESENT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_IS_BIDIR" VALUE="1"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_DOUT_DEFAULT" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_TRI_DEFAULT" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_IS_DUAL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_ALL_INPUTS_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="18" NAME="C_IS_BIDIR_2" VALUE="1"/>
-      <PARAMETER MPD_INDEX="19" NAME="C_DOUT_DEFAULT_2" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="20" NAME="C_TRI_DEFAULT_2" VALUE="0xffffffff"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="IO" INMHS="TRUE" MPD_INDEX="43" NAME="GPIO_IO" SIGNAME="fpga_0_LEDs_Positions_GPIO_IO" VECFORMULA="[0:(C_GPIO_WIDTH-1)]">
-        <DESCRIPTION>GPIO1 Data IO</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="42" NAME="IP2INTC_Irpt" SENSITIVITY="LEVEL_HIGH" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="44" NAME="GPIO_IO_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="45" NAME="GPIO_IO_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="46" NAME="GPIO_IO_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="47" NAME="GPIO_in" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="GPIO_d_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="49" NAME="GPIO_t_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="IO" ISVALID="FALSE" MPD_INDEX="50" NAME="GPIO2_IO" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="51" NAME="GPIO2_IO_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="52" NAME="GPIO2_IO_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="53" NAME="GPIO2_IO_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="54" NAME="GPIO2_in" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="55" NAME="GPIO2_d_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="56" NAME="GPIO2_t_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x81420000" BASENAME="C_BASEADDR" BASEVALUE="2168586240" HIGH="0x8142ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2168651775" MINSIZE="0x200" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/sysace_v1_11_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_sysace_v1_00_a/doc/xps_sysace.pdf" GROUP="F" HWVERSION="1.00.a" INSTANCE="SysACE_CompactFlash" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="6" MODCLASS="PERIPHERAL" MODTYPE="xps_sysace" SAV_INDEX="10">
-      <DESCRIPTION TYPE="SHORT">XPS System ACE Interface Controller(Compact Flash)</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Interface between the PLBV46 and the Microprocessor Interface (MPU) of the System ACE Compact Flash solution peripheral</DESCRIPTION>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="0" NAME="C_BASEADDR" VALUE="0x83600000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="1" NAME="C_HIGHADDR" VALUE="0x8360ffff"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_MEM_WIDTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_MID_WIDTH" VALUE="3"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_NUM_MASTERS" VALUE="8"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_FAMILY" VALUE="virtex5"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="43" NAME="SysACE_CLK" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_CLK">
-        <DESCRIPTION>Clock Input</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="42" NAME="SysACE_MPA" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPA &amp; SysACE_CompactFlash_SysACE_MPA" VECFORMULA="[6:0]">
-        <DESCRIPTION>Address Input</DESCRIPTION>
-      </PORT>
-      <PORT DIR="IO" INMHS="TRUE" MPD_INDEX="45" NAME="SysACE_MPD" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPD" VECFORMULA="[(C_MEM_WIDTH-1):0]">
-        <DESCRIPTION>Data Input/Output</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="49" NAME="SysACE_CEN" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_CEN">
-        <DESCRIPTION>Active LOW Chip Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="50" NAME="SysACE_OEN" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_OEN">
-        <DESCRIPTION>Active LOW Output Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="51" NAME="SysACE_WEN" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_WEN">
-        <DESCRIPTION>Active LOW Write Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="44" NAME="SysACE_MPIRQ" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPIRQ">
-        <DESCRIPTION>Active high Interrupt Output</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="46" NAME="SysACE_MPD_I" SIGNAME="__NOC__" VECFORMULA="[(C_MEM_WIDTH-1):0]"/>
-      <PORT DIR="O" MPD_INDEX="47" NAME="SysACE_MPD_O" SIGNAME="__NOC__" VECFORMULA="[(C_MEM_WIDTH-1):0]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="SysACE_MPD_T" SIGNAME="__NOC__" VECFORMULA="[(C_MEM_WIDTH-1):0]"/>
-      <PORT DIR="O" MPD_INDEX="52" NAME="SysACE_IRQ" SENSITIVITY="LEVEL_HIGH" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x83600000" BASENAME="C_BASEADDR" BASEVALUE="2204106752" HIGH="0x8360ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2204172287" MINSIZE="0x80" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/emc_v2_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_mch_emc_v1_01_a/doc/xps_mch_emc.pdf" GROUP="D" HWVERSION="1.01.a" INSTANCE="SRAM" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="7" MODCLASS="MEMORY_CNTLR" MODTYPE="xps_mch_emc" SAV_INDEX="3">
-      <DESCRIPTION TYPE="SHORT">XPS Multi-Channel External Memory Controller(SRAM/Flash)</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Xilinx Multi-CHannel (MCH) PLBV46 external memory controller</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_NUM_BANKS_MEM" VALUE="1"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_NUM_CHANNELS" VALUE="2"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_PRIORITY_MODE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_INCLUDE_PLB_IPIF" VALUE="1"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_INCLUDE_WRBUF" VALUE="1"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_MCH_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_SPLB_SMALLEST_MASTER" VALUE="32"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_MCH_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_MCH_PLB_CLK_PERIOD_PS" VALUE="10000"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="MEMORY" CHANGEDBY="USER" MPD_INDEX="14" NAME="C_MEM0_BASEADDR" VALUE="0xfff00000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="MEMORY" CHANGEDBY="USER" MPD_INDEX="15" NAME="C_MEM0_HIGHADDR" VALUE="0xffffffff"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="MEMORY" MPD_INDEX="16" NAME="C_MEM1_BASEADDR" VALUE="0xffffffff"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="MEMORY" MPD_INDEX="17" NAME="C_MEM1_HIGHADDR" VALUE="0x00000000"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="MEMORY" MPD_INDEX="18" NAME="C_MEM2_BASEADDR" VALUE="0xffffffff"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="MEMORY" MPD_INDEX="19" NAME="C_MEM2_HIGHADDR" VALUE="0x00000000"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="MEMORY" MPD_INDEX="20" NAME="C_MEM3_BASEADDR" VALUE="0xffffffff"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="MEMORY" MPD_INDEX="21" NAME="C_MEM3_HIGHADDR" VALUE="0x00000000"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="22" NAME="C_INCLUDE_NEGEDGE_IOREGS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="23" NAME="C_MEM0_WIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="24" NAME="C_MEM1_WIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="25" NAME="C_MEM2_WIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="26" NAME="C_MEM3_WIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="27" NAME="C_MAX_MEM_WIDTH" VALUE="32"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="28" NAME="C_INCLUDE_DATAWIDTH_MATCHING_0" VALUE="1"/>
-      <PARAMETER MPD_INDEX="29" NAME="C_INCLUDE_DATAWIDTH_MATCHING_1" VALUE="0"/>
-      <PARAMETER MPD_INDEX="30" NAME="C_INCLUDE_DATAWIDTH_MATCHING_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="31" NAME="C_INCLUDE_DATAWIDTH_MATCHING_3" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="32" NAME="C_SYNCH_MEM_0" VALUE="1"/>
-      <PARAMETER MPD_INDEX="33" NAME="C_SYNCH_PIPEDELAY_0" VALUE="2"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="34" NAME="C_TCEDV_PS_MEM_0" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="35" NAME="C_TAVDV_PS_MEM_0" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="36" NAME="C_THZCE_PS_MEM_0" VALUE="0"/>
-      <PARAMETER MPD_INDEX="37" NAME="C_THZOE_PS_MEM_0" VALUE="7000"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="38" NAME="C_TWC_PS_MEM_0" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="39" NAME="C_TWP_PS_MEM_0" VALUE="0"/>
-      <PARAMETER MPD_INDEX="40" NAME="C_TLZWE_PS_MEM_0" VALUE="0"/>
-      <PARAMETER MPD_INDEX="41" NAME="C_SYNCH_MEM_1" VALUE="0"/>
-      <PARAMETER MPD_INDEX="42" NAME="C_SYNCH_PIPEDELAY_1" VALUE="2"/>
-      <PARAMETER MPD_INDEX="43" NAME="C_TCEDV_PS_MEM_1" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="44" NAME="C_TAVDV_PS_MEM_1" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="45" NAME="C_THZCE_PS_MEM_1" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="46" NAME="C_THZOE_PS_MEM_1" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="47" NAME="C_TWC_PS_MEM_1" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="48" NAME="C_TWP_PS_MEM_1" VALUE="12000"/>
-      <PARAMETER MPD_INDEX="49" NAME="C_TLZWE_PS_MEM_1" VALUE="0"/>
-      <PARAMETER MPD_INDEX="50" NAME="C_SYNCH_MEM_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="51" NAME="C_SYNCH_PIPEDELAY_2" VALUE="2"/>
-      <PARAMETER MPD_INDEX="52" NAME="C_TCEDV_PS_MEM_2" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="53" NAME="C_TAVDV_PS_MEM_2" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="54" NAME="C_THZCE_PS_MEM_2" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="55" NAME="C_THZOE_PS_MEM_2" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="56" NAME="C_TWC_PS_MEM_2" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="57" NAME="C_TWP_PS_MEM_2" VALUE="12000"/>
-      <PARAMETER MPD_INDEX="58" NAME="C_TLZWE_PS_MEM_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="59" NAME="C_SYNCH_MEM_3" VALUE="0"/>
-      <PARAMETER MPD_INDEX="60" NAME="C_SYNCH_PIPEDELAY_3" VALUE="2"/>
-      <PARAMETER MPD_INDEX="61" NAME="C_TCEDV_PS_MEM_3" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="62" NAME="C_TAVDV_PS_MEM_3" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="63" NAME="C_THZCE_PS_MEM_3" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="64" NAME="C_THZOE_PS_MEM_3" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="65" NAME="C_TWC_PS_MEM_3" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="66" NAME="C_TWP_PS_MEM_3" VALUE="12000"/>
-      <PARAMETER MPD_INDEX="67" NAME="C_TLZWE_PS_MEM_3" VALUE="0"/>
-      <PARAMETER MPD_INDEX="68" NAME="C_MCH0_PROTOCOL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="69" NAME="C_MCH0_ACCESSBUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="70" NAME="C_MCH0_RDDATABUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="71" NAME="C_MCH1_PROTOCOL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="72" NAME="C_MCH1_ACCESSBUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="73" NAME="C_MCH1_RDDATABUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="74" NAME="C_MCH2_PROTOCOL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="75" NAME="C_MCH2_ACCESSBUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="76" NAME="C_MCH2_RDDATABUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="77" NAME="C_MCH3_PROTOCOL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="78" NAME="C_MCH3_ACCESSBUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="79" NAME="C_MCH3_RDDATABUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="80" NAME="C_XCL0_LINESIZE" VALUE="4"/>
-      <PARAMETER MPD_INDEX="81" NAME="C_XCL0_WRITEXFER" VALUE="1"/>
-      <PARAMETER MPD_INDEX="82" NAME="C_XCL1_LINESIZE" VALUE="4"/>
-      <PARAMETER MPD_INDEX="83" NAME="C_XCL1_WRITEXFER" VALUE="1"/>
-      <PARAMETER MPD_INDEX="84" NAME="C_XCL2_LINESIZE" VALUE="4"/>
-      <PARAMETER MPD_INDEX="85" NAME="C_XCL2_WRITEXFER" VALUE="1"/>
-      <PARAMETER MPD_INDEX="86" NAME="C_XCL3_LINESIZE" VALUE="4"/>
-      <PARAMETER MPD_INDEX="87" NAME="C_XCL3_WRITEXFER" VALUE="1"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="79" NAME="Mem_A" SIGNAME="fpga_0_SRAM_Mem_A_split" VECFORMULA="[0:(C_MCH_SPLB_AWIDTH-1)]">
-        <DESCRIPTION>Memory Address Bus</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="85" NAME="Mem_BEN" SIGNAME="fpga_0_SRAM_Mem_BEN" VECFORMULA="[0:((C_MAX_MEM_WIDTH/8)-1)]">
-        <DESCRIPTION>Memory Byte Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="83" NAME="Mem_WEN" SIGNAME="fpga_0_SRAM_Mem_WEN">
-        <DESCRIPTION>Memory Write Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="IO" INMHS="TRUE" MPD_INDEX="75" NAME="Mem_DQ" SIGNAME="fpga_0_SRAM_Mem_DQ" VECFORMULA="[0:(C_MAX_MEM_WIDTH-1)]">
-        <DESCRIPTION>Memory Data Bus</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="82" NAME="Mem_OEN" SIGNAME="fpga_0_SRAM_Mem_OEN" VECFORMULA="[0:(C_NUM_BANKS_MEM-1)]">
-        <DESCRIPTION>Memory Output Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="81" NAME="Mem_CEN" SIGNAME="fpga_0_SRAM_Mem_CEN" VECFORMULA="[0:(C_NUM_BANKS_MEM-1)]">
-        <DESCRIPTION>Memory Chip Enable Active Low</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="87" NAME="Mem_ADV_LDN" SIGNAME="fpga_0_SRAM_Mem_ADV_LDN">
-        <DESCRIPTION>Memory Advanced Burst Address/Load New Address</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="1" NAME="RdClk" SIGIS="CLK" SIGNAME="sys_clk_s"/>
-      <PORT DIR="I" MPD_INDEX="0" NAME="MCH_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="MCH_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="MCH0_Access_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="MCH0_Access_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="MCH0_Access_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="6" NAME="MCH0_Access_Full" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="7" NAME="MCH0_ReadData_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="8" NAME="MCH0_ReadData_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="MCH0_ReadData_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="10" NAME="MCH0_ReadData_Exists" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="MCH1_Access_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="MCH1_Access_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="MCH1_Access_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="14" NAME="MCH1_Access_Full" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="15" NAME="MCH1_ReadData_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="16" NAME="MCH1_ReadData_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="MCH1_ReadData_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="18" NAME="MCH1_ReadData_Exists" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="MCH2_Access_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="MCH2_Access_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="MCH2_Access_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="22" NAME="MCH2_Access_Full" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="23" NAME="MCH2_ReadData_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="24" NAME="MCH2_ReadData_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="MCH2_ReadData_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="MCH2_ReadData_Exists" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="27" NAME="MCH3_Access_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="28" NAME="MCH3_Access_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="29" NAME="MCH3_Access_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="MCH3_Access_Full" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="MCH3_ReadData_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="MCH3_ReadData_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="33" NAME="MCH3_ReadData_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="MCH3_ReadData_Exists" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="35" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="36" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="37" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="38" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="39" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="40" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="41" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="42" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="43" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="44" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="45" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="46" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="47" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="48" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="49" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="50" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="51" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="52" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="53" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="54" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="55" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="56" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="57" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="58" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="59" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="60" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="61" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="62" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="63" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="64" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="65" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="66" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="67" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="68" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="69" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="70" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="71" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="72" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="73" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="74" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="76" NAME="Mem_DQ_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_MAX_MEM_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="77" NAME="Mem_DQ_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_MAX_MEM_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="78" NAME="Mem_DQ_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_MAX_MEM_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="80" NAME="Mem_RPN" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="84" NAME="Mem_QWEN" SIGNAME="__NOC__" VECFORMULA="[0:((C_MAX_MEM_WIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="86" NAME="Mem_CE" SIGNAME="__NOC__" VECFORMULA="[0:(C_NUM_BANKS_MEM-1)]"/>
-      <PORT DIR="O" MPD_INDEX="88" NAME="Mem_LBON" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="89" NAME="Mem_CKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="90" NAME="Mem_RNW" SIGNAME="__NOC__"/>
-      <BUSINTERFACE BIFRANK="TARGET" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_MEMORY_CHANNEL" MPD_INDEX="1" NAME="MCH0"/>
-      <BUSINTERFACE BIFRANK="TARGET" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_MEMORY_CHANNEL" MPD_INDEX="2" NAME="MCH1"/>
-      <BUSINTERFACE BIFRANK="TARGET" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_MEMORY_CHANNEL" ISVALID="FALSE" MPD_INDEX="3" NAME="MCH2"/>
-      <BUSINTERFACE BIFRANK="TARGET" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_MEMORY_CHANNEL" ISVALID="FALSE" MPD_INDEX="4" NAME="MCH3"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0xfff00000" BASENAME="C_MEM0_BASEADDR" BASEVALUE="4293918720" HIGH="0xffffffff" HIGHNAME="C_MEM0_HIGHADDR" HIGHVALUE="4294967295" IS_CACHEABLE="TRUE" SIZE="1048576" SIZEABRV="1M">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-            <MEMBUSINTERFACE NAME="MCH0"/>
-            <MEMBUSINTERFACE NAME="MCH1"/>
-            <MEMBUSINTERFACE NAME="MCH2"/>
-            <MEMBUSINTERFACE NAME="MCH3"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-        <MEMRANGE BASE="0xffffffff" BASENAME="C_MEM1_BASEADDR" BASEVALUE="4294967295" HIGH="0x00000000" HIGHNAME="C_MEM1_HIGHADDR" HIGHVALUE="0" ISVALID="FALSE" IS_CACHEABLE="TRUE" SIZE="0" SIZEABRV="U">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-            <MEMBUSINTERFACE NAME="MCH0"/>
-            <MEMBUSINTERFACE NAME="MCH1"/>
-            <MEMBUSINTERFACE NAME="MCH2"/>
-            <MEMBUSINTERFACE NAME="MCH3"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-        <MEMRANGE BASE="0xffffffff" BASENAME="C_MEM2_BASEADDR" BASEVALUE="4294967295" HIGH="0x00000000" HIGHNAME="C_MEM2_HIGHADDR" HIGHVALUE="0" ISVALID="FALSE" IS_CACHEABLE="TRUE" SIZE="0" SIZEABRV="U">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-            <MEMBUSINTERFACE NAME="MCH0"/>
-            <MEMBUSINTERFACE NAME="MCH1"/>
-            <MEMBUSINTERFACE NAME="MCH2"/>
-            <MEMBUSINTERFACE NAME="MCH3"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-        <MEMRANGE BASE="0xffffffff" BASENAME="C_MEM3_BASEADDR" BASEVALUE="4294967295" HIGH="0x00000000" HIGHNAME="C_MEM3_HIGHADDR" HIGHVALUE="0" ISVALID="FALSE" IS_CACHEABLE="TRUE" SIZE="0" SIZEABRV="U">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-            <MEMBUSINTERFACE NAME="MCH0"/>
-            <MEMBUSINTERFACE NAME="MCH1"/>
-            <MEMBUSINTERFACE NAME="MCH2"/>
-            <MEMBUSINTERFACE NAME="MCH3"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/generic_v1_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/util_bus_split_v1_00_a/doc/util_bus_split.pdf" GROUP="E" HWVERSION="1.00.a" INSTANCE="SRAM_util_bus_split_0" IPTYPE="PERIPHERAL" MHS_INDEX="8" MODCLASS="IP" MODTYPE="util_bus_split" SAV_INDEX="13">
-      <DESCRIPTION TYPE="SHORT">Utility Bus Split</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Bus splitting primitive</DESCRIPTION>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="0" NAME="C_SIZE_IN" VALUE="32"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="1" NAME="C_LEFT_POS" VALUE="9"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="2" NAME="C_SPLIT" VALUE="30"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="0" NAME="Sig" SIGNAME="fpga_0_SRAM_Mem_A_split" VECFORMULA="[0:C_SIZE_IN-1]"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="1" NAME="Out1" SIGNAME="fpga_0_SRAM_Mem_A" VECFORMULA="[C_LEFT_POS:C_SPLIT-1]"/>
-      <PORT DIR="O" MPD_INDEX="2" NAME="Out2" SIGNAME="__NOC__" VECFORMULA="[C_SPLIT:C_SIZE_IN-1]"/>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/generic_v1_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/clock_generator_v2_01_a/doc/html.pdf" GROUP="G" HWVERSION="2.01.a" INSTANCE="clock_generator_0" IPTYPE="PERIPHERAL" MHS_INDEX="9" MODCLASS="IP" MODTYPE="clock_generator" SAV_INDEX="12">
-      <DESCRIPTION TYPE="SHORT">Clock Generator</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Clock generator for processor system.</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_CLK_GEN" VALUE="0"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_NUM_PLL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_NUM_DCM" VALUE="0"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_CLKOUT0_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_CLKOUT0_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_CLKOUT1_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_CLKOUT1_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_CLKOUT2_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_CLKOUT2_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_CLKOUT3_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_CLKOUT3_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_CLKOUT4_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_CLKOUT4_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_CLKOUT5_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_CLKOUT5_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_CLKOUT6_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="18" NAME="C_CLKOUT6_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="19" NAME="C_CLKOUT7_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="20" NAME="C_CLKOUT7_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="21" NAME="C_CLKOUT8_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="22" NAME="C_CLKOUT8_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="23" NAME="C_CLKOUT9_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="24" NAME="C_CLKOUT9_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="25" NAME="C_CLKOUT10_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="26" NAME="C_CLKOUT10_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="27" NAME="C_CLKOUT11_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="28" NAME="C_CLKOUT11_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="29" NAME="C_CLKOUT12_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="30" NAME="C_CLKOUT12_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="31" NAME="C_CLKOUT13_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="32" NAME="C_CLKOUT13_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="33" NAME="C_CLKOUT14_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="34" NAME="C_CLKOUT14_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="35" NAME="C_CLKOUT15_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="36" NAME="C_CLKOUT15_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="37" NAME="C_CLKFBOUT_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="38" NAME="C_CLKFBOUT_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="39" NAME="C_PLL0_DIVCLK_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="40" NAME="C_PLL0_CLKFBOUT_MULT" VALUE="1"/>
-      <PARAMETER MPD_INDEX="41" NAME="C_PLL0_CLKFBOUT_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="42" NAME="C_PLL0_CLKIN1_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="43" NAME="C_PLL0_CLKOUT0_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="44" NAME="C_PLL0_CLKOUT0_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="45" NAME="C_PLL0_CLKOUT0_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="46" NAME="C_PLL0_CLKOUT1_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="47" NAME="C_PLL0_CLKOUT1_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="48" NAME="C_PLL0_CLKOUT1_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="49" NAME="C_PLL0_CLKOUT2_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="50" NAME="C_PLL0_CLKOUT2_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="51" NAME="C_PLL0_CLKOUT2_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="52" NAME="C_PLL0_CLKOUT3_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="53" NAME="C_PLL0_CLKOUT3_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="54" NAME="C_PLL0_CLKOUT3_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="55" NAME="C_PLL0_CLKOUT4_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="56" NAME="C_PLL0_CLKOUT4_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="57" NAME="C_PLL0_CLKOUT4_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="58" NAME="C_PLL0_CLKOUT5_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="59" NAME="C_PLL0_CLKOUT5_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="60" NAME="C_PLL0_CLKOUT5_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="61" NAME="C_PLL0_BANDWIDTH" VALUE="OPTIMIZED"/>
-      <PARAMETER MPD_INDEX="62" NAME="C_PLL0_COMPENSATION" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="63" NAME="C_PLL0_REF_JITTER" VALUE="0.100000"/>
-      <PARAMETER MPD_INDEX="64" NAME="C_PLL0_RESET_ON_LOSS_OF_LOCK" VALUE="false"/>
-      <PARAMETER MPD_INDEX="65" NAME="C_PLL0_RST_DEASSERT_CLK" VALUE="CLKIN1"/>
-      <PARAMETER MPD_INDEX="66" NAME="C_PLL0_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="67" NAME="C_PLL0_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="68" NAME="C_PLL0_CLKOUT0_DESKEW_ADJUST" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="69" NAME="C_PLL0_CLKOUT1_DESKEW_ADJUST" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="70" NAME="C_PLL0_CLKOUT2_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="71" NAME="C_PLL0_CLKOUT3_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="72" NAME="C_PLL0_CLKOUT4_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="73" NAME="C_PLL0_CLKOUT5_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="74" NAME="C_PLL0_CLKFBOUT_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="75" NAME="C_PLL0_CLKIN1_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="76" NAME="C_PLL0_CLKFBOUT_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="77" NAME="C_PLL0_CLKOUT0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="78" NAME="C_PLL0_CLKOUT1_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="79" NAME="C_PLL0_CLKOUT2_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="80" NAME="C_PLL0_CLKOUT3_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="81" NAME="C_PLL0_CLKOUT4_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="82" NAME="C_PLL0_CLKOUT5_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="83" NAME="C_PLL0_CLKIN1_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="84" NAME="C_PLL0_CLKIN1_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="85" NAME="C_PLL0_CLKFBIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="86" NAME="C_PLL0_CLKFBIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="87" NAME="C_PLL0_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="88" NAME="C_PLL1_DIVCLK_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="89" NAME="C_PLL1_CLKFBOUT_MULT" VALUE="1"/>
-      <PARAMETER MPD_INDEX="90" NAME="C_PLL1_CLKFBOUT_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="91" NAME="C_PLL1_CLKIN1_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="92" NAME="C_PLL1_CLKOUT0_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="93" NAME="C_PLL1_CLKOUT0_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="94" NAME="C_PLL1_CLKOUT0_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="95" NAME="C_PLL1_CLKOUT1_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="96" NAME="C_PLL1_CLKOUT1_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="97" NAME="C_PLL1_CLKOUT1_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="98" NAME="C_PLL1_CLKOUT2_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="99" NAME="C_PLL1_CLKOUT2_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="100" NAME="C_PLL1_CLKOUT2_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="101" NAME="C_PLL1_CLKOUT3_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="102" NAME="C_PLL1_CLKOUT3_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="103" NAME="C_PLL1_CLKOUT3_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="104" NAME="C_PLL1_CLKOUT4_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="105" NAME="C_PLL1_CLKOUT4_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="106" NAME="C_PLL1_CLKOUT4_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="107" NAME="C_PLL1_CLKOUT5_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="108" NAME="C_PLL1_CLKOUT5_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="109" NAME="C_PLL1_CLKOUT5_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="110" NAME="C_PLL1_BANDWIDTH" VALUE="OPTIMIZED"/>
-      <PARAMETER MPD_INDEX="111" NAME="C_PLL1_COMPENSATION" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="112" NAME="C_PLL1_REF_JITTER" VALUE="0.100000"/>
-      <PARAMETER MPD_INDEX="113" NAME="C_PLL1_RESET_ON_LOSS_OF_LOCK" VALUE="false"/>
-      <PARAMETER MPD_INDEX="114" NAME="C_PLL1_RST_DEASSERT_CLK" VALUE="CLKIN1"/>
-      <PARAMETER MPD_INDEX="115" NAME="C_PLL1_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="116" NAME="C_PLL1_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="117" NAME="C_PLL1_CLKOUT0_DESKEW_ADJUST" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="118" NAME="C_PLL1_CLKOUT1_DESKEW_ADJUST" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="119" NAME="C_PLL1_CLKOUT2_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="120" NAME="C_PLL1_CLKOUT3_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="121" NAME="C_PLL1_CLKOUT4_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="122" NAME="C_PLL1_CLKOUT5_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="123" NAME="C_PLL1_CLKFBOUT_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="124" NAME="C_PLL1_CLKIN1_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="125" NAME="C_PLL1_CLKFBOUT_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="126" NAME="C_PLL1_CLKOUT0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="127" NAME="C_PLL1_CLKOUT1_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="128" NAME="C_PLL1_CLKOUT2_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="129" NAME="C_PLL1_CLKOUT3_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="130" NAME="C_PLL1_CLKOUT4_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="131" NAME="C_PLL1_CLKOUT5_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="132" NAME="C_PLL1_CLKIN1_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="133" NAME="C_PLL1_CLKIN1_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="134" NAME="C_PLL1_CLKFBIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="135" NAME="C_PLL1_CLKFBIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="136" NAME="C_PLL1_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="137" NAME="C_DCM0_DFS_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="138" NAME="C_DCM0_DLL_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="139" NAME="C_DCM0_DUTY_CYCLE_CORRECTION" VALUE="true"/>
-      <PARAMETER MPD_INDEX="140" NAME="C_DCM0_CLKIN_DIVIDE_BY_2" VALUE="false"/>
-      <PARAMETER MPD_INDEX="141" NAME="C_DCM0_CLK_FEEDBACK" VALUE="1X"/>
-      <PARAMETER MPD_INDEX="142" NAME="C_DCM0_CLKOUT_PHASE_SHIFT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="143" NAME="C_DCM0_DSS_MODE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="144" NAME="C_DCM0_STARTUP_WAIT" VALUE="false"/>
-      <PARAMETER MPD_INDEX="145" NAME="C_DCM0_PHASE_SHIFT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="146" NAME="C_DCM0_CLKFX_MULTIPLY" VALUE="4"/>
-      <PARAMETER MPD_INDEX="147" NAME="C_DCM0_CLKFX_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="148" NAME="C_DCM0_CLKDV_DIVIDE" VALUE="2.000000"/>
-      <PARAMETER MPD_INDEX="149" NAME="C_DCM0_CLKIN_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="150" NAME="C_DCM0_DESKEW_ADJUST" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="151" NAME="C_DCM0_CLKIN_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="152" NAME="C_DCM0_CLKFB_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="153" NAME="C_DCM0_CLK0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="154" NAME="C_DCM0_CLK90_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="155" NAME="C_DCM0_CLK180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="156" NAME="C_DCM0_CLK270_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="157" NAME="C_DCM0_CLKDV_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="158" NAME="C_DCM0_CLKDV180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="159" NAME="C_DCM0_CLK2X_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="160" NAME="C_DCM0_CLK2X180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="161" NAME="C_DCM0_CLKFX_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="162" NAME="C_DCM0_CLKFX180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="163" NAME="C_DCM0_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="164" NAME="C_DCM0_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="165" NAME="C_DCM0_CLKIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="166" NAME="C_DCM0_CLKIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="167" NAME="C_DCM0_CLKFB_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="168" NAME="C_DCM0_CLKFB_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="169" NAME="C_DCM0_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="170" NAME="C_DCM1_DFS_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="171" NAME="C_DCM1_DLL_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="172" NAME="C_DCM1_DUTY_CYCLE_CORRECTION" VALUE="true"/>
-      <PARAMETER MPD_INDEX="173" NAME="C_DCM1_CLKIN_DIVIDE_BY_2" VALUE="false"/>
-      <PARAMETER MPD_INDEX="174" NAME="C_DCM1_CLK_FEEDBACK" VALUE="1X"/>
-      <PARAMETER MPD_INDEX="175" NAME="C_DCM1_CLKOUT_PHASE_SHIFT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="176" NAME="C_DCM1_DSS_MODE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="177" NAME="C_DCM1_STARTUP_WAIT" VALUE="false"/>
-      <PARAMETER MPD_INDEX="178" NAME="C_DCM1_PHASE_SHIFT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="179" NAME="C_DCM1_CLKFX_MULTIPLY" VALUE="4"/>
-      <PARAMETER MPD_INDEX="180" NAME="C_DCM1_CLKFX_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="181" NAME="C_DCM1_CLKDV_DIVIDE" VALUE="2.000000"/>
-      <PARAMETER MPD_INDEX="182" NAME="C_DCM1_CLKIN_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="183" NAME="C_DCM1_DESKEW_ADJUST" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="184" NAME="C_DCM1_CLKIN_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="185" NAME="C_DCM1_CLKFB_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="186" NAME="C_DCM1_CLK0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="187" NAME="C_DCM1_CLK90_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="188" NAME="C_DCM1_CLK180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="189" NAME="C_DCM1_CLK270_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="190" NAME="C_DCM1_CLKDV_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="191" NAME="C_DCM1_CLKDV180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="192" NAME="C_DCM1_CLK2X_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="193" NAME="C_DCM1_CLK2X180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="194" NAME="C_DCM1_CLKFX_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="195" NAME="C_DCM1_CLKFX180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="196" NAME="C_DCM1_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="197" NAME="C_DCM1_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="198" NAME="C_DCM1_CLKIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="199" NAME="C_DCM1_CLKIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="200" NAME="C_DCM1_CLKFB_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="201" NAME="C_DCM1_CLKFB_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="202" NAME="C_DCM1_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="203" NAME="C_DCM2_DFS_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="204" NAME="C_DCM2_DLL_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="205" NAME="C_DCM2_DUTY_CYCLE_CORRECTION" VALUE="true"/>
-      <PARAMETER MPD_INDEX="206" NAME="C_DCM2_CLKIN_DIVIDE_BY_2" VALUE="false"/>
-      <PARAMETER MPD_INDEX="207" NAME="C_DCM2_CLK_FEEDBACK" VALUE="1X"/>
-      <PARAMETER MPD_INDEX="208" NAME="C_DCM2_CLKOUT_PHASE_SHIFT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="209" NAME="C_DCM2_DSS_MODE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="210" NAME="C_DCM2_STARTUP_WAIT" VALUE="false"/>
-      <PARAMETER MPD_INDEX="211" NAME="C_DCM2_PHASE_SHIFT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="212" NAME="C_DCM2_CLKFX_MULTIPLY" VALUE="4"/>
-      <PARAMETER MPD_INDEX="213" NAME="C_DCM2_CLKFX_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="214" NAME="C_DCM2_CLKDV_DIVIDE" VALUE="2.000000"/>
-      <PARAMETER MPD_INDEX="215" NAME="C_DCM2_CLKIN_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="216" NAME="C_DCM2_DESKEW_ADJUST" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="217" NAME="C_DCM2_CLKIN_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="218" NAME="C_DCM2_CLKFB_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="219" NAME="C_DCM2_CLK0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="220" NAME="C_DCM2_CLK90_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="221" NAME="C_DCM2_CLK180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="222" NAME="C_DCM2_CLK270_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="223" NAME="C_DCM2_CLKDV_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="224" NAME="C_DCM2_CLKDV180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="225" NAME="C_DCM2_CLK2X_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="226" NAME="C_DCM2_CLK2X180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="227" NAME="C_DCM2_CLKFX_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="228" NAME="C_DCM2_CLKFX180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="229" NAME="C_DCM2_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="230" NAME="C_DCM2_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="231" NAME="C_DCM2_CLKIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="232" NAME="C_DCM2_CLKIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="233" NAME="C_DCM2_CLKFB_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="234" NAME="C_DCM2_CLKFB_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="235" NAME="C_DCM2_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="236" NAME="C_DCM3_DFS_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="237" NAME="C_DCM3_DLL_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="238" NAME="C_DCM3_DUTY_CYCLE_CORRECTION" VALUE="true"/>
-      <PARAMETER MPD_INDEX="239" NAME="C_DCM3_CLKIN_DIVIDE_BY_2" VALUE="false"/>
-      <PARAMETER MPD_INDEX="240" NAME="C_DCM3_CLK_FEEDBACK" VALUE="1X"/>
-      <PARAMETER MPD_INDEX="241" NAME="C_DCM3_CLKOUT_PHASE_SHIFT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="242" NAME="C_DCM3_DSS_MODE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="243" NAME="C_DCM3_STARTUP_WAIT" VALUE="false"/>
-      <PARAMETER MPD_INDEX="244" NAME="C_DCM3_PHASE_SHIFT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="245" NAME="C_DCM3_CLKFX_MULTIPLY" VALUE="4"/>
-      <PARAMETER MPD_INDEX="246" NAME="C_DCM3_CLKFX_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="247" NAME="C_DCM3_CLKDV_DIVIDE" VALUE="2.000000"/>
-      <PARAMETER MPD_INDEX="248" NAME="C_DCM3_CLKIN_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="249" NAME="C_DCM3_DESKEW_ADJUST" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="250" NAME="C_DCM3_CLKIN_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="251" NAME="C_DCM3_CLKFB_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="252" NAME="C_DCM3_CLK0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="253" NAME="C_DCM3_CLK90_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="254" NAME="C_DCM3_CLK180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="255" NAME="C_DCM3_CLK270_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="256" NAME="C_DCM3_CLKDV_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="257" NAME="C_DCM3_CLKDV180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="258" NAME="C_DCM3_CLK2X_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="259" NAME="C_DCM3_CLK2X180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="260" NAME="C_DCM3_CLKFX_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="261" NAME="C_DCM3_CLKFX180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="262" NAME="C_DCM3_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="263" NAME="C_DCM3_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="264" NAME="C_DCM3_CLKIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="265" NAME="C_DCM3_CLKIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="266" NAME="C_DCM3_CLKFB_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="267" NAME="C_DCM3_CLKFB_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="268" NAME="C_DCM3_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="269" NAME="C_CLKIN_FREQ" VALUE="100000000"/>
-      <PARAMETER MPD_INDEX="270" NAME="C_CLKIN_BUF" VALUE="FALSE"/>
-      <PARAMETER MPD_INDEX="271" NAME="C_CLKFBIN_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="272" NAME="C_CLKFBIN_BUF" VALUE="FALSE"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="273" NAME="C_CLKOUT0_FREQ" VALUE="200000000"/>
-      <PARAMETER MPD_INDEX="274" NAME="C_CLKOUT0_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="275" NAME="C_CLKOUT0_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="276" NAME="C_CLKOUT0_BUF" VALUE="TRUE"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="277" NAME="C_CLKOUT1_FREQ" VALUE="100000000"/>
-      <PARAMETER MPD_INDEX="278" NAME="C_CLKOUT1_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="279" NAME="C_CLKOUT1_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="280" NAME="C_CLKOUT1_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="281" NAME="C_CLKOUT2_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="282" NAME="C_CLKOUT2_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="283" NAME="C_CLKOUT2_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="284" NAME="C_CLKOUT2_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="285" NAME="C_CLKOUT3_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="286" NAME="C_CLKOUT3_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="287" NAME="C_CLKOUT3_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="288" NAME="C_CLKOUT3_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="289" NAME="C_CLKOUT4_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="290" NAME="C_CLKOUT4_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="291" NAME="C_CLKOUT4_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="292" NAME="C_CLKOUT4_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="293" NAME="C_CLKOUT5_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="294" NAME="C_CLKOUT5_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="295" NAME="C_CLKOUT5_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="296" NAME="C_CLKOUT5_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="297" NAME="C_CLKOUT6_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="298" NAME="C_CLKOUT6_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="299" NAME="C_CLKOUT6_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="300" NAME="C_CLKOUT6_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="301" NAME="C_CLKOUT7_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="302" NAME="C_CLKOUT7_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="303" NAME="C_CLKOUT7_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="304" NAME="C_CLKOUT7_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="305" NAME="C_CLKOUT8_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="306" NAME="C_CLKOUT8_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="307" NAME="C_CLKOUT8_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="308" NAME="C_CLKOUT8_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="309" NAME="C_CLKOUT9_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="310" NAME="C_CLKOUT9_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="311" NAME="C_CLKOUT9_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="312" NAME="C_CLKOUT9_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="313" NAME="C_CLKOUT10_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="314" NAME="C_CLKOUT10_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="315" NAME="C_CLKOUT10_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="316" NAME="C_CLKOUT10_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="317" NAME="C_CLKOUT11_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="318" NAME="C_CLKOUT11_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="319" NAME="C_CLKOUT11_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="320" NAME="C_CLKOUT11_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="321" NAME="C_CLKOUT12_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="322" NAME="C_CLKOUT12_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="323" NAME="C_CLKOUT12_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="324" NAME="C_CLKOUT12_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="325" NAME="C_CLKOUT13_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="326" NAME="C_CLKOUT13_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="327" NAME="C_CLKOUT13_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="328" NAME="C_CLKOUT13_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="329" NAME="C_CLKOUT14_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="330" NAME="C_CLKOUT14_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="331" NAME="C_CLKOUT14_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="332" NAME="C_CLKOUT14_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="333" NAME="C_CLKOUT15_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="334" NAME="C_CLKOUT15_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="335" NAME="C_CLKOUT15_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="336" NAME="C_CLKOUT15_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="337" NAME="C_CLKFBOUT_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="338" NAME="C_CLKFBOUT_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="339" NAME="C_SPEEDGRADE" VALUE="DEFAULT"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="2" NAME="CLKOUT0" SIGIS="CLK" SIGNAME="proc_clk_s"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="3" NAME="CLKOUT1" SIGIS="CLK" SIGNAME="sys_clk_s"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="0" NAME="CLKIN" SIGIS="CLK" SIGNAME="dcm_clk_s"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="20" NAME="LOCKED" SIGNAME="Dcm_all_locked"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="19" NAME="RST" SIGIS="RST" SIGNAME="net_gnd"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="1" NAME="CLKFBIN" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="4" NAME="CLKOUT2" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="5" NAME="CLKOUT3" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="6" NAME="CLKOUT4" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="7" NAME="CLKOUT5" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="8" NAME="CLKOUT6" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="9" NAME="CLKOUT7" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="10" NAME="CLKOUT8" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="11" NAME="CLKOUT9" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="12" NAME="CLKOUT10" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="13" NAME="CLKOUT11" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="14" NAME="CLKOUT12" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="15" NAME="CLKOUT13" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="16" NAME="CLKOUT14" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="17" NAME="CLKOUT15" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="18" NAME="CLKFBOUT" SIGIS="CLK" SIGNAME="__NOC__"/>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/generic_v1_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/proc_sys_reset_v2_00_a/doc/proc_sys_reset.pdf" GROUP="H" HWVERSION="2.00.a" INSTANCE="proc_sys_reset_0" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="10" MODCLASS="PERIPHERAL" MODTYPE="proc_sys_reset" SAV_INDEX="6">
-      <DESCRIPTION TYPE="SHORT">Processor System Reset Module</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Reset management module</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_SUBFAMILY" VALUE="lx"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_EXT_RST_WIDTH" VALUE="4"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_AUX_RST_WIDTH" VALUE="4"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="3" NAME="C_EXT_RESET_HIGH" VALUE="0"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_AUX_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_NUM_BUS_RST" VALUE="1"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_NUM_PERP_RST" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_FAMILY" VALUE="virtex5"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BIF_X="1" BIF_Y="0" BUSNAME="ppc_reset_bus" BUSSTD="XIL" BUS_STD="XIL_RESETPPC" MPD_INDEX="0" NAME="RESETPPC0"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="0" NAME="Slowest_sync_clk" SIGIS="CLK" SIGNAME="sys_clk_s"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="10" NAME="Dcm_locked" SIGNAME="Dcm_all_locked"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="1" NAME="Ext_Reset_In" SIGIS="RST" SIGNAME="sys_rst_s"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="18" NAME="Bus_Struct_Reset" SIGIS="RST" SIGNAME="sys_bus_reset" VECFORMULA="[0:C_NUM_BUS_RST-1]"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="19" NAME="Peripheral_Reset" SIGIS="RST" SIGNAME="sys_periph_reset" VECFORMULA="[0:C_NUM_PERP_RST-1]"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="Aux_Reset_In" SIGIS="RST" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="MB_Debug_Sys_Rst" SIGIS="RST" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="Core_Reset_Req_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="Chip_Reset_Req_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="System_Reset_Req_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="Core_Reset_Req_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="Chip_Reset_Req_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="System_Reset_Req_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="11" NAME="RstcPPCresetcore_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="12" NAME="RstcPPCresetchip_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="13" NAME="RstcPPCresetsys_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="14" NAME="RstcPPCresetcore_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="15" NAME="RstcPPCresetchip_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="16" NAME="RstcPPCresetsys_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="17" NAME="MB_Reset" SIGIS="RST" SIGNAME="__NOC__"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_RESETPPC" MPD_INDEX="1" NAME="RESETPPC1"/>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/intc_v1_11_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_intc_v1_00_a/doc/xps_intc.pdf" HWVERSION="1.00.a" INSTANCE="xps_intc_0" INTCINDEX="0" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="11" MODCLASS="INTERRUPT_CNTLR" MODTYPE="xps_intc" PROCESSOR="ppc405_0" SAV_INDEX="9">
-      <DESCRIPTION TYPE="SHORT">XPS Interrupt Controller</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">intc core attached to the PLBV46</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="1" NAME="C_BASEADDR" VALUE="0x81800000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="2" NAME="C_HIGHADDR" VALUE="0x8180ffff"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_NUM_INTR_INPUTS" VALUE="2"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_KIND_OF_INTR" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_KIND_OF_EDGE" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_KIND_OF_LVL" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_HAS_IPR" VALUE="1"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_HAS_SIE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_HAS_CIE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_HAS_IVR" VALUE="1"/>
-      <PARAMETER MPD_INDEX="18" NAME="C_IRQ_ACTIVE" VALUE="1"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="43" NAME="Irq" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="EICC405EXTINPUTIRQ"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="42" NAME="Intr" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="RS232_Uart_Interrupt" VECFORMULA="[(C_NUM_INTR_INPUTS-1):0]"/>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <INTERRUPTSRCS>
-        <INTRSRC INSTANCE="RS232_Uart" PRIORITY="0" SIGNAME="RS232_Uart_Interrupt"/>
-      </INTERRUPTSRCS>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x81800000" BASENAME="C_BASEADDR" BASEVALUE="2172649472" HIGH="0x8180ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2172715007" MINSIZE="0x20" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE BUSSTD="FCB" BUS_STD="FCB" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/fcb_v10_v1_00_a/doc/fcb_v10.pdf" HWVERSION="1.00.a" INSTANCE="fcb_v10_0" IPTYPE="BUS" IS_PLACED="TRUE" MHS_INDEX="12" MODCLASS="BUS" MODTYPE="fcb_v10" SAV_INDEX="1">
-      <DESCRIPTION TYPE="SHORT">Fabric Co-processor Bus (FCB)</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Fabric Co-processor Bus (FCB) connects one or more FPGA fabric accelerator slaves to the Auxiliary Processor Unit (APU) controller in a Virtex-4 PowerPC 405.</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FCB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_FCB_NUM_SLAVES" VALUE="1"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_DATA_WIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_EXT_RESET_HIGH" VALUE="1"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="0" NAME="FCB_CLK" SIGIS="CLK" SIGNAME="proc_clk_s"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="1" NAME="SYS_RST" SIGIS="RST" SIGNAME="sys_bus_reset"/>
-      <PORT DIR="O" MPD_INDEX="2" NAME="FCB_RST" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="M_DECODED" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="M_DECUDI" SIGNAME="__DEF__" VECFORMULA="[0:((3*C_FCB_NUM_MASTERS)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="M_DECUDIVALID" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="M_ENDIAN" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="M_FLUSH" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="M_INSTRUCTION" SIGNAME="__DEF__" VECFORMULA="[0:((C_DATA_WIDTH*C_FCB_NUM_MASTERS)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="M_INSTRVALID" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="M_LOADBYTEEN" SIGNAME="__DEF__" VECFORMULA="[0:((C_DATA_WIDTH/8*C_FCB_NUM_MASTERS)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="M_LOADDATA" SIGNAME="__DEF__" VECFORMULA="[0:((C_DATA_WIDTH*C_FCB_NUM_MASTERS)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="M_LOADDVALID" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="M_OPERANDVALID" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="M_RADATA" SIGNAME="__DEF__" VECFORMULA="[0:((C_DATA_WIDTH*C_FCB_NUM_MASTERS)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="M_RBDATA" SIGNAME="__DEF__" VECFORMULA="[0:((C_DATA_WIDTH*C_FCB_NUM_MASTERS)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="M_WRITEBACKOK" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="M_XERCA" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="18" NAME="FCB_CR" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="19" NAME="FCB_DCDCREN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="20" NAME="FCB_DCDFORCEALIGN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="21" NAME="FCB_DCDFORCEBESTEERING" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="22" NAME="FCB_DCDFPUOP" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="23" NAME="FCB_DCDGPRWRITE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="24" NAME="FCB_DCDLDSTBYTE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="25" NAME="FCB_DCDLDSTDW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="FCB_DCDLDSTHW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="FCB_DCDLDSTQW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="FCB_DCDLDSTWD" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="FCB_DCDLOAD" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="FCB_DCDPRIVOP" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="FCB_DCDRAEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="FCB_DCDRBEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="FCB_DCDSTORE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="FCB_DCDTRAPBE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="FCB_DCDTRAPLE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="FCB_DCDUPDATE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="FCB_DCDXERCAEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="FCB_DCDXEROVEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="FCB_DECODEBUSY" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="FCB_DONE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="FCB_EXCEPTION" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="42" NAME="FCB_EXEBLOCKINGMCO" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="43" NAME="FCB_EXECRFIELD" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="44" NAME="FCB_EXENONBLOCKINGMCO" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="45" NAME="FCB_INSTRACK" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="46" NAME="FCB_LOADWAIT" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="47" NAME="FCB_RESULT" SIGNAME="__DEF__" VECFORMULA="[0:C_DATA_WIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="FCB_RESULTVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="49" NAME="FCB_SLEEPNOTREADY" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="50" NAME="FCB_FCM_XERCA" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="51" NAME="FCB_XEROV" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="52" NAME="FCB_DECODED" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="53" NAME="FCB_DECUDI" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="54" NAME="FCB_DECUDIVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="55" NAME="FCB_ENDIAN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="56" NAME="FCB_FLUSH" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="57" NAME="FCB_INSTRUCTION" SIGNAME="__DEF__" VECFORMULA="[0:C_DATA_WIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="58" NAME="FCB_INSTRVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="59" NAME="FCB_LOADBYTEEN" SIGNAME="__DEF__" VECFORMULA="[0:C_DATA_WIDTH/8-1]"/>
-      <PORT DIR="O" MPD_INDEX="60" NAME="FCB_LOADDATA" SIGNAME="__DEF__" VECFORMULA="[0:C_DATA_WIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="61" NAME="FCB_LOADDVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="62" NAME="FCB_OPERANDVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="63" NAME="FCB_RADATA" SIGNAME="__DEF__" VECFORMULA="[0:C_DATA_WIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="64" NAME="FCB_RBDATA" SIGNAME="__DEF__" VECFORMULA="[0:C_DATA_WIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="65" NAME="FCB_WRITEBACKOK" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="66" NAME="FCB_APU_XERCA" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="67" NAME="FCB_ABORTDECODE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="68" NAME="Sl_CR" SIGNAME="__DEF__" VECFORMULA="[0:((4*C_FCB_NUM_SLAVES)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="69" NAME="Sl_DCDCREN" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="70" NAME="Sl_DCDFORCEALIGN" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="71" NAME="Sl_DCDFORCEBESTEERING" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="72" NAME="Sl_DCDFPUOP" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="73" NAME="Sl_DCDGPRWRITE" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="74" NAME="Sl_DCDLDSTBYTE" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="75" NAME="Sl_DCDLDSTDW" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="76" NAME="Sl_DCDLDSTHW" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="77" NAME="Sl_DCDLDSTQW" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="78" NAME="Sl_DCDLDSTWD" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="79" NAME="Sl_DCDLOAD" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="80" NAME="Sl_DCDPRIVOP" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="81" NAME="Sl_DCDRAEN" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="82" NAME="Sl_DCDRBEN" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="83" NAME="Sl_DCDSTORE" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="84" NAME="Sl_DCDTRAPBE" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="85" NAME="Sl_DCDTRAPLE" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="86" NAME="Sl_DCDUPDATE" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="87" NAME="Sl_DCDXERCAEN" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="88" NAME="Sl_DCDXEROVEN" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="89" NAME="Sl_DECODEBUSY" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="90" NAME="Sl_DONE" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="91" NAME="Sl_EXCEPTION" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="92" NAME="Sl_EXEBLOCKINGMCO" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="93" NAME="Sl_EXECRFIELD" SIGNAME="__DEF__" VECFORMULA="[0:((3*C_FCB_NUM_SLAVES)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="94" NAME="Sl_EXENONBLOCKINGMCO" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="95" NAME="Sl_INSTRACK" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="96" NAME="Sl_LOADWAIT" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="97" NAME="Sl_RESULT" SIGNAME="__DEF__" VECFORMULA="[0:((C_DATA_WIDTH*C_FCB_NUM_SLAVES)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="98" NAME="Sl_RESULTVALID" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="99" NAME="Sl_SLEEPNOTREADY" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="100" NAME="Sl_XERCA" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-      <PORT DIR="I" MPD_INDEX="101" NAME="Sl_XEROV" SIGNAME="__DEF__" VECFORMULA="[0:(C_FCB_NUM_SLAVES-1)]"/>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/apu_fpu_v2_10_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/apu_fpu_v3_10_a/doc/apu_fpu_v3_10_a.pdf" HWVERSION="3.10.a" INSTANCE="apu_fpu_0" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="13" MODCLASS="PERIPHERAL" MODTYPE="apu_fpu" SAV_INDEX="4">
-      <DESCRIPTION TYPE="SHORT">APU Floating Point Unit</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Floating Point Unit via Auxilary Processor Unit.</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FULL_FEATURES" VALUE="1"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BIF_X="1" BIF_Y="0" BUSNAME="fcb_v10_0" BUSSTD="FCB" BUS_STD="FCB" MPD_INDEX="0" NAME="SFCB"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="2" NAME="FPU_CLK" SIGIS="CLK" SIGNAME="sys_clk_s"/>
-      <PORT DIR="I" MPD_INDEX="0" NAME="FCB_CLK" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="FCB_RST" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="APUFCMDECODED" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="APUFCMDECUDI" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="APUFCMDECUDIVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="APUFCMENDIAN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="APUFCMFLUSH" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="APUFCMINSTRUCTION" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="APUFCMINSTRVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="APUFCMLOADBYTEEN" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="APUFCMLOADDATA" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="APUFCMLOADDVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="APUFCMOPERANDVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="APUFCMRADATA" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="APUFCMRBDATA" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="APUFCMWRITEBACKOK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="APUFCMXERCA" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="18" NAME="FCMAPUCR" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="19" NAME="FCMAPUDCDCREN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="20" NAME="FCMAPUDCDFORCEALIGN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="21" NAME="FCMAPUDCDFORCEBESTEERING" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="22" NAME="FCMAPUDCDFPUOP" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="23" NAME="FCMAPUDCDGPRWRITE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="24" NAME="FCMAPUDCDLDSTBYTE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="25" NAME="FCMAPUDCDLDSTDW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="FCMAPUDCDLDSTHW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="FCMAPUDCDLDSTQW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="FCMAPUDCDLDSTWD" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="FCMAPUDCDLOAD" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="FCMAPUDCDPRIVOP" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="FCMAPUDCDRAEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="FCMAPUDCDRBEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="FCMAPUDCDSTORE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="FCMAPUDCDTRAPBE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="FCMAPUDCDTRAPLE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="FCMAPUDCDUPDATE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="FCMAPUDCDXERCAEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="FCMAPUDCDXEROVEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="FCMAPUDECODEBUSY" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="FCMAPUDONE" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="FCMAPUEXCEPTION" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="42" NAME="FCMAPUEXEBLOCKINGMCO" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="43" NAME="FCMAPUEXECRFIELD" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="44" NAME="FCMAPUEXENONBLOCKINGMCO" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="45" NAME="FCMAPUINSTRACK" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="46" NAME="FCMAPULOADWAIT" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="47" NAME="FCMAPURESULT" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="FCMAPURESULTVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="49" NAME="FCMAPUSLEEPNOTREADY" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="50" NAME="FCMAPUXERCA" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="51" NAME="FCMAPUXEROV" SIGNAME="__DEF__"/>
-    </MODULE>
-  </MODULES>
-
-  <EXTERNALPORTS>
-    <PORT DIR="I" MHS_INDEX="0" NAME="fpga_0_RS232_Uart_RX_pin" SIGNAME="fpga_0_RS232_Uart_RX"/>
-    <PORT DIR="O" MHS_INDEX="1" NAME="fpga_0_RS232_Uart_TX_pin" SIGNAME="fpga_0_RS232_Uart_TX"/>
-    <PORT DIR="IO" ENDIAN="BIG" LSB="0" MHS_INDEX="2" MSB="3" NAME="fpga_0_LEDs_4Bit_GPIO_IO_pin" SIGNAME="fpga_0_LEDs_4Bit_GPIO_IO"/>
-    <PORT DIR="IO" ENDIAN="LITTLE" LSB="0" MHS_INDEX="3" MSB="4" NAME="fpga_0_LEDs_Positions_GPIO_IO_pin" SIGNAME="fpga_0_LEDs_Positions_GPIO_IO"/>
-    <PORT DIR="I" MHS_INDEX="4" NAME="fpga_0_SysACE_CompactFlash_SysACE_CLK_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_CLK"/>
-    <PORT DIR="O" ENDIAN="BIG" LSB="6" MHS_INDEX="5" MSB="1" NAME="fpga_0_SysACE_CompactFlash_SysACE_MPA_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPA"/>
-    <PORT DIR="IO" ENDIAN="LITTLE" LSB="15" MHS_INDEX="6" MSB="0" NAME="fpga_0_SysACE_CompactFlash_SysACE_MPD_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPD"/>
-    <PORT DIR="O" MHS_INDEX="7" NAME="fpga_0_SysACE_CompactFlash_SysACE_CEN_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_CEN"/>
-    <PORT DIR="O" MHS_INDEX="8" NAME="fpga_0_SysACE_CompactFlash_SysACE_OEN_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_OEN"/>
-    <PORT DIR="O" MHS_INDEX="9" NAME="fpga_0_SysACE_CompactFlash_SysACE_WEN_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_WEN"/>
-    <PORT DIR="I" MHS_INDEX="10" NAME="fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPIRQ"/>
-    <PORT DIR="O" ENDIAN="BIG" LSB="9" MHS_INDEX="11" MSB="29" NAME="fpga_0_SRAM_Mem_A_pin" SIGNAME="fpga_0_SRAM_Mem_A"/>
-    <PORT DIR="O" ENDIAN="LITTLE" LSB="0" MHS_INDEX="12" MSB="3" NAME="fpga_0_SRAM_Mem_BEN_pin" SIGNAME="fpga_0_SRAM_Mem_BEN"/>
-    <PORT DIR="O" MHS_INDEX="13" NAME="fpga_0_SRAM_Mem_WEN_pin" SIGNAME="fpga_0_SRAM_Mem_WEN"/>
-    <PORT DIR="IO" ENDIAN="BIG" LSB="0" MHS_INDEX="14" MSB="31" NAME="fpga_0_SRAM_Mem_DQ_pin" SIGNAME="fpga_0_SRAM_Mem_DQ"/>
-    <PORT DIR="O" ENDIAN="LITTLE" LSB="0" MHS_INDEX="15" MSB="0" NAME="fpga_0_SRAM_Mem_OEN_pin" SIGNAME="fpga_0_SRAM_Mem_OEN"/>
-    <PORT DIR="O" ENDIAN="BIG" LSB="0" MHS_INDEX="16" MSB="0" NAME="fpga_0_SRAM_Mem_CEN_pin" SIGNAME="fpga_0_SRAM_Mem_CEN"/>
-    <PORT DIR="O" MHS_INDEX="17" NAME="fpga_0_SRAM_Mem_ADV_LDN_pin" SIGNAME="fpga_0_SRAM_Mem_ADV_LDN"/>
-    <PORT DIR="O" MHS_INDEX="18" NAME="fpga_0_SRAM_CLOCK" SIGNAME="sys_clk_s"/>
-    <PORT CLKFREQUENCY="100000000" DIR="I" MHS_INDEX="19" NAME="sys_clk_pin" SIGIS="CLK" SIGNAME="dcm_clk_s"/>
-    <PORT DIR="I" MHS_INDEX="20" NAME="sys_rst_pin" RSTPOLARITY="0" SIGIS="RST" SIGNAME="sys_rst_s"/>
-  </EXTERNALPORTS>
-
-  <BLKDSHAPES STACK_HORIZ_WIDTH="1">
-    <PROCSHAPES>
-      <MODULE BIFS_H="3" BIFS_W="2" INSTANCE="ppc405_0" IS_ABVSBS="TRUE" SHAPE_VERTI_INDEX="3" STACK_HORIZ_INDEX="0"/>
-    </PROCSHAPES>
-    <IPBUCKET MODS_H="1" MODS_W="2">
-      <MODULE INSTANCE="SRAM_util_bus_split_0" IS_PLACED="TRUE" MODTYPE="util_bus_split"/>
-      <MODULE INSTANCE="clock_generator_0" IS_PLACED="TRUE" MODTYPE="clock_generator"/>
-    </IPBUCKET>
-    <SBSSHAPES>
-      <MODULE INSTANCE="plb"/>
-    </SBSSHAPES>
-    <SBSBUCKETS>
-      <SBSBUCKET BUSINDEX="0" BUSNAME="plb" BUSSTD="PLBV46" IS_BLWSBS="TRUE" MODS_H="2" MODS_W="3" SHAPE_VERTI_INDEX="4" STACK_HORIZ_INDEX="0">
-        <MODULE INSTANCE="RS232_Uart" MODTYPE="xps_uartlite"/>
-        <MODULE INSTANCE="LEDs_4Bit" MODTYPE="xps_gpio"/>
-        <MODULE INSTANCE="LEDs_Positions" MODTYPE="xps_gpio"/>
-        <MODULE INSTANCE="SysACE_CompactFlash" MODTYPE="xps_sysace"/>
-        <MODULE INSTANCE="SRAM" MODTYPE="xps_mch_emc"/>
-        <MODULE INSTANCE="xps_intc_0" MODTYPE="xps_intc"/>
-      </SBSBUCKET>
-    </SBSBUCKETS>
-    <P2PSHAPES>
-      <MODULE INSTANCE="fcb_v10_0"/>
-    </P2PSHAPES>
-    <CMPLXSHAPES>
-      <CMPLXSHAPE IS_ABVSBS="TRUE" MODCLASS="PERIPHERAL" MODS_H="1" MODS_W="1" SHAPE_ID="0" SHAPE_VERTI_INDEX="1" STACK_HORIZ_INDEX="0">
-        <MODULE BIFS_H="1" BIFS_W="2" INSTANCE="jtagppc_0" MODCLASS="PERIPHERAL"/>
-      </CMPLXSHAPE>
-      <CMPLXSHAPE IS_ABVSBS="TRUE" MODCLASS="PERIPHERAL" MODS_H="1" MODS_W="1" SHAPE_ID="1" SHAPE_VERTI_INDEX="0" STACK_HORIZ_INDEX="0">
-        <MODULE BIFS_H="1" BIFS_W="2" INSTANCE="proc_sys_reset_0" MODCLASS="PERIPHERAL"/>
-      </CMPLXSHAPE>
-      <CMPLXSHAPE IS_ABVSBS="TRUE" MODCLASS="PERIPHERAL" MODS_H="1" MODS_W="1" SHAPE_ID="2" SHAPE_VERTI_INDEX="2" STACK_HORIZ_INDEX="0">
-        <MODULE BIFS_H="1" BIFS_W="2" INSTANCE="apu_fpu_0" MODCLASS="PERIPHERAL"/>
-      </CMPLXSHAPE>
-    </CMPLXSHAPES>
-    <BCLANESPACES>
-      <BCLANESPACE BUSLANES_W="4" EAST="0">
-        <BUSCONNLANE BUSLANE_X="2" BUSNAME="jtagppc_0_0" BUSSTD="XIL" IS_ABVSBS="TRUE" ORIENTED="EAST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIF_Y="0" BUSINTERFACE="JTAGPPC" INSTANCE="ppc405_0" IS_PROCCONN="TRUE"/>
-          <BUSCONN BUSINTERFACE="JTAGPPC0" BUSSTD="XIL" INSTANCE="jtagppc_0"/>
-        </BUSCONNLANE>
-        <BUSCONNLANE BUSLANE_X="2" BUSNAME="plb" BUSSTD="PLBV46" IS_BLWSBS="TRUE" IS_SBSCONN="TRUE" ORIENTED="EAST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIF_Y="2" BUSINTERFACE="DPLB0" INSTANCE="ppc405_0" IS_PROCCONN="TRUE"/>
-        </BUSCONNLANE>
-        <BUSCONNLANE BUSLANE_X="1" BUSNAME="plb" BUSSTD="PLBV46" IS_BKTCONN="TRUE" IS_BLWSBS="TRUE" ORIENTED="EAST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIFRANK="SLAVE" BUSINTERFACE="SPLBV46"/>
-        </BUSCONNLANE>
-      </BCLANESPACE>
-      <BCLANESPACE BUSLANES_W="4" WEST="0">
-        <BUSCONNLANE BUSLANE_X="1" BUSNAME="plb" BUSSTD="PLBV46" IS_BLWSBS="TRUE" IS_SBSCONN="TRUE" ORIENTED="WEST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIF_Y="2" BUSINTERFACE="IPLB0" INSTANCE="ppc405_0" IS_PROCCONN="TRUE"/>
-        </BUSCONNLANE>
-        <BUSCONNLANE BUSLANE_X="2" BUSNAME="ppc_reset_bus" BUSSTD="XIL" IS_ABVSBS="TRUE" ORIENTED="WEST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIF_Y="1" BUSINTERFACE="RESETPPC" INSTANCE="ppc405_0" IS_PROCCONN="TRUE"/>
-          <BUSCONN BUSINTERFACE="RESETPPC0" BUSSTD="XIL" INSTANCE="proc_sys_reset_0"/>
-        </BUSCONNLANE>
-        <BUSCONNLANE BUSLANE_X="1" BUSNAME="fcb_v10_0" BUSSTD="FCB" IS_ABVSBS="TRUE" ORIENTED="WEST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIF_Y="0" BUSINTERFACE="MFCB" INSTANCE="ppc405_0" IS_PROCCONN="TRUE"/>
-          <BUSCONN BUSINTERFACE="SFCB" BUSSTD="FCB" INSTANCE="apu_fpu_0"/>
-        </BUSCONNLANE>
-      </BCLANESPACE>
-    </BCLANESPACES>
-  </BLKDSHAPES>
-
-</EDKSYSTEM>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/bitinit.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/bitinit.opt
deleted file mode 100644 (file)
index 3645236..0000000
+++ /dev/null
@@ -1 +0,0 @@
-   -pe ppc405_0  $(PPC405_0_BOOTLOOP) \r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/libgen.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/libgen.opt
deleted file mode 100644 (file)
index 77b1548..0000000
+++ /dev/null
@@ -1 +0,0 @@
- -p virtex4\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/platgen.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/platgen.opt
deleted file mode 100644 (file)
index 25299b7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
- -p xc4vfx12ff668-10 -lang vhdl
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt
deleted file mode 100644 (file)
index 2979e43..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-ppc405_0\r
-RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c  RTOSDemo/flop/flop.c RTOSDemo/flop/flop-reg-test.c\r
-RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h \r
-RTOSDEMO_CC = powerpc-eabi-gcc\r
-RTOSDEMO_CC_SIZE = powerpc-eabi-size\r
-RTOSDEMO_CC_OPT = -O0\r
-RTOSDEMO_CFLAGS = -I./RTOSDemo/flop -I../../Source/portable/GCC/PPC405_Xilinx -I./ppc405_0/include/  -IRTOSDemo/   -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames -Wextra\r
-RTOSDEMO_CC_SEARCH = # -B\r
-RTOSDEMO_LIBPATH = -L./ppc405_0/lib/ # -L\r
-RTOSDEMO_INCLUDES = -I./ppc405_0/include/  -IRTOSDemo/ # -I\r
-RTOSDEMO_LFLAGS = # -l\r
-RTOSDEMO_LINKER_SCRIPT = RTOSDemo/RTOSDemo_linker_script.ld\r
-RTOSDEMO_CC_DEBUG_FLAG =  -g \r
-RTOSDEMO_CC_PROFILE_FLAG = # -pg\r
-RTOSDEMO_CC_GLOBPTR_FLAG= # -msdata=eabi\r
-RTOSDEMO_CC_INFERRED_FLAGS= -mfpu=sp_full \r
-RTOSDEMO_CC_START_ADDR_FLAG=  #  # -Wl,-defsym -Wl,_START_ADDR=\r
-RTOSDEMO_CC_STACK_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_STACK_SIZE=\r
-RTOSDEMO_CC_HEAP_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_HEAP_SIZE=\r
-                  $(RTOSDEMO_CC_INFERRED_FLAGS)  \\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/simgen.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/simgen.opt
deleted file mode 100644 (file)
index 970a4ea..0000000
+++ /dev/null
@@ -1 +0,0 @@
- -p virtex4 -lang vhdl   -pe ppc405_0  $(PPC405_0_BOOTLOOP)  -s mti -X C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/ -E C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/system.gui b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/system.gui
deleted file mode 100644 (file)
index 9ccbebe..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-
-<PRO_GUISETTING VIEWSTATUS="BIFS_TREE">
-
-  <GUISETTING HSCROLL="0" ID="BIFS_TREE" SPSIZE1="88" SPSIZE2="365" VSCROLL="0">
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="151"/>
-
-    <COLHDR INDEX="4" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="156"/>
-
-    <COLHDR INDEX="6" NAME="Bus Standard" VISIBLE="FALSE" WIDTH="0"/>
-
-    <COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
-
-    <COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>
-
-    <COLHDR INDEX="5" NAME="Mastership" VISIBLE="FALSE" WIDTH="0"/>
-
-    <COLHDR INDEX="3" NAME="IP CLASSIFICATION" VISIBLE="FALSE" WIDTH="0"/>
-
-    <EXPANDED/>
-
-</GUISETTING>
-  <GUISETTING HSCROLL="0" ID="PORTS_TREE" VSCROLL="0">
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="200"/>
-
-    <COLHDR INDEX="1" NAME="Net" VISIBLE="TRUE" WIDTH="200"/>
-
-    <COLHDR INDEX="2" NAME="Direction" VISIBLE="TRUE" WIDTH="98"/>
-
-    <COLHDR INDEX="4" NAME="Range" VISIBLE="TRUE" WIDTH="200"/>
-
-    <COLHDR INDEX="3" NAME="Class" VISIBLE="TRUE" WIDTH="81"/>
-
-    <COLHDR INDEX="5" NAME="Frequency" VISIBLE="TRUE" WIDTH="106"/>
-
-    <COLHDR INDEX="6" NAME="Reset Polarity" VISIBLE="TRUE" WIDTH="121"/>
-
-    <COLHDR INDEX="9" NAME="Sensitivity" VISIBLE="TRUE" WIDTH="103"/>
-
-    <COLHDR INDEX="7" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
-
-    <COLHDR INDEX="8" NAME="IP Version" VISIBLE="FALSE" WIDTH="0"/>
-
-    <EXPANDED/>
-
-</GUISETTING>
-  <GUISETTING HSCROLL="0" ID="ADDRESSES_TREE" VSCROLL="0">                        
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="153"/>                        
-
-    <COLHDR INDEX="3" NAME="Base Address" VISIBLE="TRUE" WIDTH="121"/>                        
-
-    <COLHDR INDEX="4" NAME="High Address" VISIBLE="TRUE" WIDTH="119"/>                        
-
-    <COLHDR INDEX="5" NAME="Size" VISIBLE="TRUE" WIDTH="76"/>                        
-
-    <COLHDR INDEX="7" NAME="Bus Interface(s)" VISIBLE="TRUE" WIDTH="130"/>                        
-
-    <COLHDR INDEX="10" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="131"/>                        
-
-    <COLHDR INDEX="6" NAME="Lock" VISIBLE="TRUE" WIDTH="80"/>                        
-
-    <COLHDR INDEX="9" NAME="ICache" VISIBLE="TRUE" WIDTH="90"/>                        
-
-    <COLHDR INDEX="8" NAME="DCache" VISIBLE="TRUE" WIDTH="95"/>                        
-
-    <COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>                        
-
-    <COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>                        
-
-    <EXPANDED/>
-
-</GUISETTING>
-  <GUISETTING COLSORT="0" HSCROLL="0" ID="ADDRESSES_FLAT" SORTORE="1" VSCROLL="0">
-
-    <COLHDR INDEX="11" NAME="Instance" VISIBLE="TRUE" WIDTH="115"/>
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="153"/>
-
-    <COLHDR INDEX="3" NAME="Base Address" VISIBLE="TRUE" WIDTH="121"/>
-
-    <COLHDR INDEX="4" NAME="High Address" VISIBLE="TRUE" WIDTH="119"/>
-
-    <COLHDR INDEX="5" NAME="Size" VISIBLE="TRUE" WIDTH="76"/>
-
-    <COLHDR INDEX="7" NAME="Bus Interface(s)" VISIBLE="TRUE" WIDTH="130"/>
-
-    <COLHDR INDEX="10" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="131"/>
-
-    <COLHDR INDEX="6" NAME="Lock" VISIBLE="TRUE" WIDTH="80"/>
-
-    <COLHDR INDEX="9" NAME="ICache" VISIBLE="TRUE" WIDTH="90"/>
-
-    <COLHDR INDEX="8" NAME="DCache" VISIBLE="TRUE" WIDTH="95"/>
-
-    <COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
-
-    <COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>
-
-</GUISETTING></PRO_GUISETTING>\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/system_routed b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/system_routed
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt
deleted file mode 100644 (file)
index 39ff0ed..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-ppc405_0\r
-TESTAPP_PERIPHERAL_SOURCES = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xintc_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_selftest_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_intr_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xgpio_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xsysace_selftest_example.c \r
-TESTAPP_PERIPHERAL_HEADERS = /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/intc_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_intr_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/gpio_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/sysace_header.h \r
-TESTAPP_PERIPHERAL_CC = powerpc-eabi-gcc\r
-TESTAPP_PERIPHERAL_CC_SIZE = powerpc-eabi-size\r
-TESTAPP_PERIPHERAL_CC_OPT = -O0\r
-TESTAPP_PERIPHERAL_CFLAGS = \r
-TESTAPP_PERIPHERAL_CC_SEARCH = # -B\r
-TESTAPP_PERIPHERAL_LIBPATH = -L./ppc405_0/lib/ # -L\r
-TESTAPP_PERIPHERAL_INCLUDES = -I./ppc405_0/include/  -ITestApp_Peripheral/src/ # -I\r
-TESTAPP_PERIPHERAL_LFLAGS = # -l\r
-TESTAPP_PERIPHERAL_LINKER_SCRIPT = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral_LinkScr.ld\r
-TESTAPP_PERIPHERAL_CC_DEBUG_FLAG =  -g \r
-TESTAPP_PERIPHERAL_CC_PROFILE_FLAG = # -pg\r
-TESTAPP_PERIPHERAL_CC_GLOBPTR_FLAG= # -msdata=eabi\r
-TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS= -mfpu=sp_full \r
-TESTAPP_PERIPHERAL_CC_START_ADDR_FLAG=  #  # -Wl,-defsym -Wl,_START_ADDR=\r
-TESTAPP_PERIPHERAL_CC_STACK_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_STACK_SIZE=\r
-TESTAPP_PERIPHERAL_CC_HEAP_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_HEAP_SIZE=\r
-                  $(TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS)  \\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/vpgen.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/vpgen.opt
deleted file mode 100644 (file)
index 8ea8f66..0000000
+++ /dev/null
@@ -1 +0,0 @@
- -p xc4vfx12ff668-10\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/xplorer.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/xplorer.opt
deleted file mode 100644 (file)
index 37e5b11..0000000
+++ /dev/null
@@ -1 +0,0 @@
--device xc4vfx12ff668-10data/system.ucf7 0\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt
deleted file mode 100644 (file)
index 33391f0..0000000
+++ /dev/null
@@ -1 +0,0 @@
--device xc4vfx12ff668-10data/system.ucf 0\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd
deleted file mode 100644 (file)
index 110f5ce..0000000
+++ /dev/null
@@ -1,1704 +0,0 @@
-<!-- =====================================================================
-  This is the DTD for SVG 1.0.
-
-  The specification for SVG that corresponds to this DTD is available at:
-
-    http://www.w3.org/TR/2001/REC-SVG-20010904/
-
-  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
-
-  For SVG 1.0:
-
-    Namespace:
-      http://www.w3.org/2000/svg  
-
-    Public identifier:
-      PUBLIC "-//W3C//DTD SVG 1.0//EN"
-
-    URI for the DTD:
-      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
-============================================================================= -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Data types 
-     ============================================================== -->
-
-<!ENTITY % BaselineShiftValue "CDATA">
-    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->
-
-<!ENTITY % Boolean "(false | true)">
-    <!-- feature specification -->
-
-<!ENTITY % ClassList "CDATA">
-    <!-- list of classes -->
-
-<!ENTITY % ClipValue "CDATA">
-    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
-
-<!ENTITY % ClipPathValue "CDATA">
-    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
-    <!-- 'clip-rule' or fill-rule property/attribute value -->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % Coordinate "CDATA">
-    <!-- a <coordinate> -->
-
-<!ENTITY % Coordinates "CDATA">
-    <!-- a list of <coordinate>s -->
-
-<!ENTITY % Color "CDATA">
-    <!-- a <color> value -->
-
-<!ENTITY % CursorValue "CDATA">
-    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
-
-<!ENTITY % EnableBackgroundValue "CDATA">
-    <!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->
-
-<!ENTITY % ExtensionList "CDATA">
-    <!-- extension list specification -->
-
-<!ENTITY % FeatureList "CDATA">
-    <!-- feature list specification -->
-
-<!ENTITY % FilterValue "CDATA">
-    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % FontFamilyValue "CDATA">
-    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
-
-<!ENTITY % FontSizeValue "CDATA">
-    <!-- 'font-size' property/attribute value -->
-
-<!ENTITY % FontSizeAdjustValue "CDATA">
-    <!-- 'font-size-adjust' property/attribute value -->
-
-<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
-    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->
-
-<!ENTITY % GlyphOrientationVerticalValue "CDATA">
-    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->
-
-<!ENTITY % Integer "CDATA">
-    <!-- a <integer> -->
-
-<!ENTITY % KerningValue "CDATA">
-    <!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % LanguageCodes "CDATA">
-    <!-- comma-separated list of language codes, as per [RFC3066] -->
-
-<!ENTITY % Length "CDATA">
-    <!-- a <length> -->
-
-<!ENTITY % Lengths "CDATA">
-    <!-- a list of <length>s -->
-
-<!ENTITY % LinkTarget "NMTOKEN">
-    <!-- link to this target -->
-
-<!ENTITY % MarkerValue "CDATA">
-    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MaskValue "CDATA">
-    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- comma-separated list of media descriptors. -->
-
-<!ENTITY % Number "CDATA">
-    <!-- a <number> -->
-
-<!ENTITY % NumberOptionalNumber "CDATA">
-    <!-- list of <number>s, but at least one and at most two -->
-
-<!ENTITY % NumberOrPercentage "CDATA">
-    <!-- a <number> or a  <percentage> -->
-
-<!ENTITY % Numbers "CDATA">
-    <!-- a list of <number>s -->
-
-<!ENTITY % OpacityValue "CDATA">
-    <!-- opacity value (e.g., <number>) -->
-
-<!ENTITY % Paint "CDATA">
-    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
-
-<!ENTITY % PathData "CDATA">
-    <!-- a path data specification -->
-
-<!ENTITY % Points "CDATA">
-    <!-- a list of points -->
-
-<!ENTITY % PreserveAspectRatioSpec "CDATA">
-    <!-- 'preserveAspectRatio' attribute specification -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % SpacingValue "CDATA">
-    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) -->
-
-<!ENTITY % StrokeDashArrayValue "CDATA">
-    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->
-
-<!ENTITY % StrokeDashOffsetValue "CDATA">
-    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->
-
-<!ENTITY % StrokeMiterLimitValue "CDATA">
-    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
-
-<!ENTITY % StrokeWidthValue "CDATA">
-    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
-
-<!ENTITY % StructuredText
-  "content CDATA #FIXED 'structured text'" >
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % SVGColor "CDATA">
-    <!-- An SVG color value (RGB plus optional ICC) -->
-
-<!ENTITY % Text "CDATA">
-    <!-- arbitrary text string -->
-
-<!ENTITY % TextDecorationValue "CDATA">
-    <!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->
-
-<!ENTITY % TransformList "CDATA">
-    <!-- list of transforms -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [URI] -->
-
-<!ENTITY % ViewBoxSpec "CDATA">
-    <!-- 'viewBox' attribute specification -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of common attributes 
-     ============================================================== -->
-
-<!-- All elements have an ID. -->
-<!ENTITY % stdAttrs
- "id ID #IMPLIED
-  xml:base %URI; #IMPLIED" >
-
-<!-- Common attributes for elements that might contain character data content. -->
-<!ENTITY % langSpaceAttrs
- "xml:lang %LanguageCode; #IMPLIED
-  xml:space (default|preserve) #IMPLIED" >
-
-<!-- Common attributes to check for system capabilities. -->
-<!ENTITY % testAttrs
- "requiredFeatures %FeatureList; #IMPLIED
-  requiredExtensions %ExtensionList; #IMPLIED
-  systemLanguage %LanguageCodes; #IMPLIED" >
-
-<!-- For most uses of URI referencing:
-        standard XLink attributes other than xlink:href. -->
-<!ENTITY % xlinkRefAttrs
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (other) 'other'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->
-<!ENTITY % xlinkRefAttrsEmbed
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (embed) 'embed'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!ENTITY % graphicsElementEvents
-  "onfocusin %Script; #IMPLIED
-   onfocusout %Script; #IMPLIED
-   onactivate %Script; #IMPLIED
-   onclick %Script; #IMPLIED
-   onmousedown %Script; #IMPLIED
-   onmouseup %Script; #IMPLIED
-   onmouseover %Script; #IMPLIED
-   onmousemove %Script; #IMPLIED
-   onmouseout %Script; #IMPLIED
-   onload %Script; #IMPLIED" >
-
-<!ENTITY % documentEvents
-  "onunload %Script; #IMPLIED
-   onabort %Script; #IMPLIED
-   onerror %Script; #IMPLIED
-   onresize %Script; #IMPLIED
-   onscroll %Script; #IMPLIED
-   onzoom %Script; #IMPLIED" >
-
-<!ENTITY % animationEvents
-  "onbegin %Script; #IMPLIED
-   onend %Script; #IMPLIED
-   onrepeat %Script; #IMPLIED" >
-
-<!-- This entity allows for at most one of desc, title and metadata,
-     supplied in any order -->
-<!ENTITY % descTitleMetadata
-          "(((desc,((title,metadata?)|(metadata,title?))?)|
-          (title,((desc,metadata?)|(metadata,desc?))?)|
-          (metadata,((desc,title?)|(title,desc?))?))?)" >
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of presentation attributes 
-     ============================================================== -->
-
-<!-- The following presentation attributes have to do with specifying color. -->
-<!ENTITY % PresentationAttributes-Color
-  "color %Color; #IMPLIED
-   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
-   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to container elements. -->
-<!ENTITY % PresentationAttributes-Containers
-  "enable-background %EnableBackgroundValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'feFlood' elements. -->
-<!ENTITY % PresentationAttributes-feFlood
-  "flood-color %SVGColor; #IMPLIED
-   flood-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filling and stroking operations. -->
-<!ENTITY % PresentationAttributes-FillStroke
-  "fill %Paint; #IMPLIED
-   fill-opacity %OpacityValue; #IMPLIED
-   fill-rule %ClipFillRule; #IMPLIED
-   stroke %Paint; #IMPLIED
-   stroke-dasharray %StrokeDashArrayValue; #IMPLIED
-   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
-   stroke-linecap (butt | round | square | inherit) #IMPLIED
-   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
-   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
-   stroke-opacity %OpacityValue; #IMPLIED
-   stroke-width %StrokeWidthValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filter primitives. -->
-<!ENTITY % PresentationAttributes-FilterPrimitives
-  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes have to do with selecting a font to use. -->
-<!ENTITY % PresentationAttributes-FontSpecification
-  "font-family %FontFamilyValue; #IMPLIED
-   font-size %FontSizeValue; #IMPLIED
-   font-size-adjust %FontSizeAdjustValue; #IMPLIED
-   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |
-                 condensed | semi-condensed | semi-expanded | expanded |
-                 extra-expanded | ultra-expanded | inherit) #IMPLIED
-   font-style (normal | italic | oblique | inherit) #IMPLIED
-   font-variant (normal | small-caps | inherit) #IMPLIED
-   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
-               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to gradient 'stop' elements. -->
-<!ENTITY % PresentationAttributes-Gradients
-  "stop-color %SVGColor; #IMPLIED
-   stop-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to graphics elements. -->
-<!ENTITY % PresentationAttributes-Graphics
-  "clip-path %ClipPathValue; #IMPLIED
-   clip-rule %ClipFillRule; #IMPLIED
-   cursor %CursorValue; #IMPLIED
-   display (inline | block | list-item | run-in | compact | marker |
-            table | inline-table | table-row-group | table-header-group |
-            table-footer-group | table-row | table-column-group | table-column |
-            table-cell | table-caption | none | inherit) #IMPLIED
-   filter %FilterValue; #IMPLIED
-   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
-   mask %MaskValue; #IMPLIED
-   opacity %OpacityValue; #IMPLIED
-   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
-                   painted | fill | stroke | all | none | inherit) #IMPLIED
-   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED
-   text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED
-   visibility (visible | hidden | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'image' elements. -->
-<!ENTITY % PresentationAttributes-Images
-  "color-profile CDATA #IMPLIED " >
-
-<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->
-<!ENTITY % PresentationAttributes-LightingEffects
-  "lighting-color %SVGColor; #IMPLIED " >
-
-<!-- The following presentation attributes apply to marker operations. -->
-<!ENTITY % PresentationAttributes-Markers
-  "marker-start %MarkerValue; #IMPLIED
-   marker-mid %MarkerValue; #IMPLIED
-   marker-end %MarkerValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to text content elements. -->
-<!ENTITY % PresentationAttributes-TextContentElements
-  "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |
-                        middle | bottom | after-edge | text-bottom | text-after-edge |
-                        ideographic | lower | hanging | mathematical | inherit) #IMPLIED
-   baseline-shift %BaselineShiftValue; #IMPLIED
-   direction (ltr | rtl | inherit) #IMPLIED
-   dominant-baseline (auto | autosense-script | no-change | reset|
-                      ideographic | lower | hanging | mathematical | inherit ) #IMPLIED
-   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
-   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
-   kerning %KerningValue; #IMPLIED
-   letter-spacing %SpacingValue; #IMPLIED
-   text-anchor (start | middle | end | inherit) #IMPLIED
-   text-decoration %TextDecorationValue; #IMPLIED
-   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
-   word-spacing %SpacingValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'text' elements. -->
-<!ENTITY % PresentationAttributes-TextElements
-  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to elements that establish viewports. -->
-<!ENTITY % PresentationAttributes-Viewports
-  "clip %ClipValue; #IMPLIED
-   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
-
-<!--The following represents the complete list of presentation attributes. -->
-<!ENTITY % PresentationAttributes-All
-  "%PresentationAttributes-Color;
-   %PresentationAttributes-Containers;
-   %PresentationAttributes-feFlood;
-   %PresentationAttributes-FillStroke;
-   %PresentationAttributes-FilterPrimitives;
-   %PresentationAttributes-FontSpecification;
-   %PresentationAttributes-Gradients;
-   %PresentationAttributes-Graphics;
-   %PresentationAttributes-Images;
-   %PresentationAttributes-LightingEffects;
-   %PresentationAttributes-Markers;
-   %PresentationAttributes-TextContentElements;
-   %PresentationAttributes-TextElements;
-   %PresentationAttributes-Viewports;" >
-
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: DTD extensions 
-     ============================================================== -->
-
-<!-- Allow for extending the DTD with internal subset for 
-     container and graphics elements -->
-<!ENTITY % ceExt "" >
-<!ENTITY % geExt "" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Document Structure 
-     ============================================================== -->
-
-<!ENTITY % svgExt "" >
-<!ELEMENT svg (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%svgExt;)* >
-<!ATTLIST svg
-  xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED 
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify'
-  %graphicsElementEvents;
-  %documentEvents;
-  version %Number; #FIXED "1.0"
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  contentScriptType %ContentType; "text/ecmascript"
-  contentStyleType %ContentType; "text/css" >
-
-<!ENTITY % gExt "" >
-<!ELEMENT g (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%gExt;)* >
-<!ATTLIST g
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % defsExt "" >
-<!ELEMENT defs (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%defsExt;)* >
-<!ATTLIST defs
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % descExt "" >
-<!ELEMENT desc (#PCDATA %descExt;)* >
-<!ATTLIST desc
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % titleExt "" >
-<!ELEMENT title (#PCDATA %titleExt;)* >
-<!ATTLIST title
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % symbolExt "" >
-<!ELEMENT symbol (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%symbolExt;)* >
-<!ATTLIST symbol
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents; >
-
-<!ENTITY % useExt "" >
-<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%useExt;)*) >
-<!ATTLIST use
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-<!ENTITY % imageExt "" >
-<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%imageExt;)*) >
-<!ATTLIST image
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Images;
-  %PresentationAttributes-Viewports;
-  transform %TransformList; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED >
-
-<!ENTITY % switchExt "" >
-<!ELEMENT switch (%descTitleMetadata;,
-                  (path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|switch|a|foreignObject|
-                   animate|set|animateMotion|animateColor|animateTransform
-                   %ceExt;%switchExt;)*) >
-<!ATTLIST switch
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Styling 
-     ============================================================== -->
-
-<!ELEMENT style (#PCDATA) >
-<!ATTLIST style 
-  %stdAttrs;
-  xml:space (preserve) #FIXED "preserve"
-  type %ContentType; #REQUIRED
-  media %MediaDesc; #IMPLIED
-  title %Text; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Paths
-     ============================================================== -->
-
-<!ENTITY % pathExt "" >
-<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%pathExt;)*) >
-<!ATTLIST path
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  d %PathData; #REQUIRED
-  pathLength %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Basic Shapes
-     ============================================================== -->
-
-<!ENTITY % rectExt "" >
-<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%rectExt;)*) >
-<!ATTLIST rect
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  rx %Length; #IMPLIED
-  ry %Length; #IMPLIED >
-
-<!ENTITY % circleExt "" >
-<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%circleExt;)*) >
-<!ATTLIST circle
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #REQUIRED >
-
-<!ENTITY % ellipseExt "" >
-<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%ellipseExt;)*) >
-<!ATTLIST ellipse
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  rx %Length; #REQUIRED
-  ry %Length; #REQUIRED >
-
-<!ENTITY % lineExt "" >
-<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%lineExt;)*) >
-<!ATTLIST line
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED >
-
-<!ENTITY % polylineExt "" >
-<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polylineExt;)*) >
-<!ATTLIST polyline
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-<!ENTITY % polygonExt "" >
-<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polygonExt;)*) >
-<!ATTLIST polygon
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Text
-     ============================================================== -->
-
-<!ENTITY % textExt "" >
-<!ELEMENT text (#PCDATA|desc|title|metadata|
-                tspan|tref|textPath|altGlyph|a|animate|set|
-                animateMotion|animateColor|animateTransform
-                %geExt;%textExt;)* >
-<!ATTLIST text
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % tspanExt "" >
-<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %tspanExt;)* >
-<!ATTLIST tspan
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % trefExt "" >
-<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
-                %trefExt;)* >
-<!ATTLIST tref
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % textPathExt "" >
-<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %textPathExt;)* >
-<!ATTLIST textPath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  startOffset %Length; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED
-  method (align|stretch) #IMPLIED
-  spacing (auto|exact) #IMPLIED >
-
-<!ENTITY % altGlyphExt "" >
-<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
-<!ATTLIST altGlyph
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED 
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED >
-
-<!ENTITY % altGlyphDefExt "" >
-<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
-<!ATTLIST altGlyphDef
-  %stdAttrs; >
-
-<!ENTITY % altGlyphItemExt "" >
-<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
-<!ATTLIST altGlyphItem
-  %stdAttrs; >
-
-<!ELEMENT glyphRef EMPTY >
-<!ATTLIST glyphRef
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-FontSpecification;
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols 
-     ============================================================== -->
-
-<!ENTITY % markerExt "" >
-<!ELEMENT marker (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%markerExt;)* >
-<!ATTLIST marker
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  refX %Coordinate; #IMPLIED
-  refY %Coordinate; #IMPLIED
-  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
-  markerWidth  %Length; #IMPLIED
-  markerHeight %Length; #IMPLIED
-  orient CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Color 
-     ============================================================== -->
-
-<!ELEMENT color-profile (%descTitleMetadata;) >
-<!ATTLIST color-profile 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  local CDATA #IMPLIED  
-  name CDATA #REQUIRED
-  rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
-     ============================================================== -->
-
-<!ENTITY % linearGradientExt "" >
-<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %linearGradientExt;)*) >
-<!ATTLIST linearGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % radialGradientExt "" >
-<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %radialGradientExt;)*) >
-<!ATTLIST radialGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #IMPLIED
-  fx %Coordinate; #IMPLIED
-  fy %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % stopExt "" >
-<!ELEMENT stop (animate|set|animateColor
-                   %stopExt;)* >
-<!ATTLIST stop
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  offset %NumberOrPercentage; #REQUIRED >
-
-<!ENTITY % patternExt "" >
-<!ELEMENT pattern (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%patternExt;)* >
-<!ATTLIST pattern
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternTransform %TransformList; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
-     ============================================================== -->
-
-<!ENTITY % clipPathExt "" >
-<!ELEMENT clipPath (%descTitleMetadata;,
-                    (path|text|rect|circle|ellipse|line|polyline|polygon|
-                     use|animate|set|animateMotion|animateColor|animateTransform
-                     %ceExt;%clipPathExt;)*) >
-<!ATTLIST clipPath
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >
-
-<!ENTITY % maskExt "" >
-<!ELEMENT mask (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%maskExt;)*  >
-<!ATTLIST mask
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Filter Effects
-     ============================================================== -->
-
-<!ENTITY % filterExt "" >
-<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
-  feColorMatrix|feComponentTransfer|
-  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
-  feGaussianBlur|feImage|feMerge|
-  feMorphology|feOffset|feSpecularLighting|
-  feTile|feTurbulence|
-  animate|set
-  %filterExt;)*) >
-<!ATTLIST filter
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  filterRes %NumberOptionalNumber; #IMPLIED >
-
-<!ENTITY % filter_primitive_attributes
-  "x %Coordinate; #IMPLIED
-   y %Coordinate; #IMPLIED
-   width %Length; #IMPLIED
-   height %Length; #IMPLIED
-   result CDATA #IMPLIED" >
-
-<!ENTITY % filter_primitive_attributes_with_in
-  "%filter_primitive_attributes;
-   in CDATA #IMPLIED">
-
-<!ELEMENT feDistantLight (animate|set)* >
-<!ATTLIST feDistantLight
-  %stdAttrs;
-  azimuth %Number; #IMPLIED
-  elevation %Number; #IMPLIED >
-
-<!ELEMENT fePointLight (animate|set)* >
-<!ATTLIST fePointLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED >
-
-<!ELEMENT feSpotLight (animate|set)* >
-<!ATTLIST feSpotLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED
-  pointsAtX %Number; #IMPLIED
-  pointsAtY %Number; #IMPLIED
-  pointsAtZ %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED
-  limitingConeAngle %Number; #IMPLIED >
-
-<!ELEMENT feBlend (animate|set)* >
-<!ATTLIST feBlend
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  mode (normal | multiply | screen | darken | lighten) "normal" >
-
-<!ELEMENT feColorMatrix (animate|set)* >
-<!ATTLIST feColorMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
-  values CDATA #IMPLIED >
-
-<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
-<!ATTLIST feComponentTransfer
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ENTITY % component_transfer_function_attributes
-  "type (identity | table | discrete | linear | gamma) #REQUIRED
-   tableValues CDATA #IMPLIED
-   slope %Number; #IMPLIED
-   intercept %Number; #IMPLIED
-   amplitude %Number; #IMPLIED
-   exponent %Number; #IMPLIED
-   offset %Number; #IMPLIED" >
-
-<!ELEMENT feFuncR (animate|set)* >
-<!ATTLIST feFuncR
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncG (animate|set)* >
-<!ATTLIST feFuncG
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncB (animate|set)* >
-<!ATTLIST feFuncB
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncA (animate|set)* >
-<!ATTLIST feFuncA
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feComposite (animate|set)* >
-<!ATTLIST feComposite
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  operator (over | in | out | atop | xor | arithmetic) "over"
-  k1 %Number; #IMPLIED
-  k2 %Number; #IMPLIED
-  k3 %Number; #IMPLIED
-  k4 %Number; #IMPLIED >
-
-<!ELEMENT feConvolveMatrix (animate|set)* >
-<!ATTLIST feConvolveMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  order %NumberOptionalNumber; #REQUIRED
-  kernelMatrix CDATA #REQUIRED
-  divisor %Number; #IMPLIED
-  bias %Number; #IMPLIED
-  targetX %Integer; #IMPLIED
-  targetY %Integer; #IMPLIED
-  edgeMode (duplicate|wrap|none) "duplicate" 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED 
-  preserveAlpha %Boolean; #IMPLIED >
-
-<!ELEMENT feDiffuseLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feDiffuseLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  diffuseConstant %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feDisplacementMap (animate|set)* >
-<!ATTLIST feDisplacementMap
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  scale %Number; #IMPLIED
-  xChannelSelector (R | G | B | A) "A"
-  yChannelSelector (R | G | B | A) "A" >
-
-<!ELEMENT feFlood (animate|set|animateColor)* >
-<!ATTLIST feFlood
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-feFlood;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feGaussianBlur (animate|set)* >
-<!ATTLIST feGaussianBlur
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  stdDeviation %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feImage (animate|set|animateTransform)* >
-<!ATTLIST feImage
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  %filter_primitive_attributes;
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' >
-
-<!ELEMENT feMerge (feMergeNode)* >
-<!ATTLIST feMerge
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes; >
-
-<!ELEMENT feMergeNode (animate|set)* >
-<!ATTLIST feMergeNode
-  %stdAttrs;
-  in CDATA #IMPLIED >
-
-<!ELEMENT feMorphology (animate|set)* >
-<!ATTLIST feMorphology
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  operator (erode | dilate) "erode"
-  radius %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feOffset (animate|set)* >
-<!ATTLIST feOffset
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-<!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feSpecularLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  specularConstant %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feTile (animate|set)* >
-<!ATTLIST feTile
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feTurbulence (animate|set)* >
-<!ATTLIST feTurbulence
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes;
-  baseFrequency %NumberOptionalNumber; #IMPLIED
-  numOctaves %Integer; #IMPLIED
-  seed %Number; #IMPLIED
-  stitchTiles (stitch | noStitch) "noStitch"
-  type (fractalNoise | turbulence) "turbulence" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Interactivity 
-     ============================================================== -->
-
-<!ELEMENT cursor (%descTitleMetadata;) >
-<!ATTLIST cursor
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Linking
-     ============================================================== -->
-
-<!ENTITY % aExt "" >
-<!ELEMENT a       (#PCDATA|desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%aExt;)* >
-<!ATTLIST a
-  %stdAttrs;
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  xlink:type (simple) #FIXED "simple" 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (new|replace) 'replace'
-  xlink:actuate (onRequest) #FIXED 'onRequest'
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  target %LinkTarget; #IMPLIED >
-
-<!ENTITY % viewExt "" >
-<!ELEMENT view (%descTitleMetadata;%viewExt;) >
-<!ATTLIST view
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify' 
-  viewTarget CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Scripting 
-     ============================================================== -->
-
-<!ELEMENT script (#PCDATA) >
-<!ATTLIST script
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  type %ContentType; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Animation 
-     ============================================================== -->
-
-<!ENTITY % animElementAttrs
- "%xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED" >
-
-<!ENTITY % animAttributeAttrs
- "attributeName  CDATA  #REQUIRED
-  attributeType  CDATA  #IMPLIED" >
-
-<!ENTITY % animTimingAttrs
- "begin CDATA #IMPLIED 
-  dur CDATA #IMPLIED
-  end CDATA #IMPLIED
-  min CDATA #IMPLIED
-  max CDATA #IMPLIED
-  restart (always | never | whenNotActive) 'always'
-  repeatCount CDATA #IMPLIED 
-  repeatDur CDATA #IMPLIED
-  fill (remove | freeze) 'remove'" >
-
-<!ENTITY % animValueAttrs
- "calcMode (discrete | linear | paced | spline) 'linear'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED" >
-
-<!ENTITY % animAdditionAttrs
- "additive       (replace | sum) 'replace'
-  accumulate     (none | sum) 'none'" >
-
-<!ENTITY % animateExt "" >
-<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
-<!ATTLIST animate
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % setExt "" >
-<!ELEMENT set (%descTitleMetadata;%setExt;) >
-<!ATTLIST set
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  to CDATA #IMPLIED >
-
-<!ENTITY % animateMotionExt "" >
-<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
-<!ATTLIST animateMotion
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animTimingAttrs;
-  calcMode (discrete | linear | paced | spline) 'paced'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED
-  %animAdditionAttrs;
-  path CDATA #IMPLIED
-  keyPoints CDATA #IMPLIED
-  rotate CDATA #IMPLIED
-  origin CDATA #IMPLIED >
-
-<!ENTITY % mpathExt "" >
-<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
-<!ATTLIST mpath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  externalResourcesRequired %Boolean; #IMPLIED >
-
-<!ENTITY % animateColorExt "" >
-<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
-<!ATTLIST animateColor
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % animateTransformExt "" >
-<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
-<!ATTLIST animateTransform
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs;
-  type (translate | scale | rotate | skewX | skewY) "translate" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Fonts 
-     ============================================================== -->
-
-<!ENTITY % fontExt "" >
-<!ELEMENT font (%descTitleMetadata;,font-face,
-                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
-<!ATTLIST font
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  horiz-origin-x %Number; #IMPLIED
-  horiz-origin-y %Number; #IMPLIED
-  horiz-adv-x %Number; #REQUIRED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % glyphExt "" >
-<!ELEMENT glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %glyphExt;)* >
-<!ATTLIST glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  unicode CDATA #IMPLIED
-  glyph-name CDATA #IMPLIED
-  d %PathData; #IMPLIED
-  orientation CDATA #IMPLIED
-  arabic-form CDATA #IMPLIED
-  lang %LanguageCodes; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % missing-glyphExt "" >
-<!ELEMENT missing-glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %missing-glyphExt;)* >
-<!ATTLIST missing-glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  d %PathData; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ELEMENT hkern EMPTY >
-<!ATTLIST hkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT vkern EMPTY >
-<!ATTLIST vkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT font-face (%descTitleMetadata;,font-face-src?,definition-src?) >
-<!ATTLIST font-face 
-  %stdAttrs;
-  font-family CDATA #IMPLIED
-  font-style CDATA #IMPLIED
-  font-variant CDATA #IMPLIED
-  font-weight CDATA #IMPLIED
-  font-stretch CDATA #IMPLIED
-  font-size CDATA #IMPLIED
-  unicode-range CDATA #IMPLIED
-  units-per-em %Number; #IMPLIED
-  panose-1 CDATA #IMPLIED
-  stemv %Number; #IMPLIED
-  stemh %Number; #IMPLIED
-  slope %Number; #IMPLIED
-  cap-height %Number; #IMPLIED
-  x-height %Number; #IMPLIED
-  accent-height %Number; #IMPLIED
-  ascent %Number; #IMPLIED
-  descent %Number; #IMPLIED
-  widths CDATA #IMPLIED
-  bbox CDATA #IMPLIED
-  ideographic %Number; #IMPLIED
-  alphabetic %Number; #IMPLIED
-  mathematical %Number; #IMPLIED
-  hanging %Number; #IMPLIED
-  v-ideographic %Number; #IMPLIED
-  v-alphabetic %Number; #IMPLIED
-  v-mathematical %Number; #IMPLIED
-  v-hanging %Number; #IMPLIED
-  underline-position %Number; #IMPLIED
-  underline-thickness %Number; #IMPLIED
-  strikethrough-position %Number; #IMPLIED
-  strikethrough-thickness %Number; #IMPLIED
-  overline-position %Number; #IMPLIED
-  overline-thickness %Number; #IMPLIED >
-
-<!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
-<!ATTLIST font-face-src 
-  %stdAttrs; >
-
-<!ELEMENT font-face-uri (font-face-format*) >
-<!ATTLIST font-face-uri 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-<!ELEMENT font-face-format EMPTY >
-<!ATTLIST font-face-format 
-  %stdAttrs;
-  string CDATA #IMPLIED >
-
-<!ELEMENT font-face-name EMPTY >
-<!ATTLIST font-face-name 
-  %stdAttrs;
-  name CDATA #IMPLIED >
-
-<!ELEMENT definition-src EMPTY >
-<!ATTLIST definition-src 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Metadata 
-     ============================================================== -->
-
-<!ENTITY % metadataExt "" >
-<!ELEMENT metadata (#PCDATA %metadataExt;)* >
-<!ATTLIST metadata
-  %stdAttrs; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Extensibility 
-     ============================================================== -->
-
-<!ENTITY % foreignObjectExt "" >
-<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
-<!ATTLIST foreignObject
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  %StructuredText; >
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/system.css b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/system.css
deleted file mode 100644 (file)
index bde7995..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-       text.busintlabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpmctitle {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   16pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Verdana Helvetica sans-serif;
-       }
-       
-       text.mpmcbiflabel {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.buslabel {
-               fill:        #CC3333;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-                       
-       text.iplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: 800;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.iptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.procclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-               
-               
-       text.portlabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipdbiflbl {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.mmMHeader {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mmSHeader {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.dbglabel {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.iopnumb {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ioplblgrp {
-               fill:        #000088;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-       tspan.iopgrp {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               baseline-shift:super;
-               font-family: Arial Courier san-serif;
-       }
-
-
-       text.biflabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.p2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.sharedbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.bciplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.bciptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.splitbustxt {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: sans-serif;
-       }
-
-       text.horizp2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.keytitle {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   12pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keyheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keylabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.keylblul {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               text-decoration: underline;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.specsvalue {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsvaluemid {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.intrsymbol {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/system.html b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/system.html
deleted file mode 100644 (file)
index 0f88d62..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-<HTML xmlns:exsl="http://exslt.org/common" xmlns:xlink="http://www.w3.org/1999/xlink">
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<TITLE>Block Diagram</TITLE>
-</HEAD>
-<BODY class="main_body">
-<EMBED src="system.svg" width="1032" height="1531" type="image/svg+xml"></EMBED><BR><BR><TABLE BGCOLOR="#000000" WIDTH="850" COLS="8" cellspacing="1" cellpadding="1" border="0">
-<TD COLSPAN="8" ALIGN="middle" BGCOLOR="#810017"><SPAN style="color:#FFFFFF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">EXTERNAL PORTS</SPAN></TD>
-<TR></TR>
-<TD COLSPAN="8" ALIGN="middle" bgcolor="#FFFFFF"><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               These are the external ports defined in the MHS file.
-                       </SPAN></TD>
-<TR></TR>
-<TD COLSPAN="8" ALIGN="left" bgcolor="#FFFFFF">
-<SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Attributes Key</SPAN><BR><SPAN style="color:#000000; font: italic 9px Verdana,Arial,Helvetica,sans-serif">The attributes are obtained from the SIGIS and IOB_STATE parameters set on the PORT in the MHS file </SPAN><BR><SPAN style="color:#55FF55; font: bold 12px Verdana,Arial,Helvetica,sans-serif">CLK</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  indicates Clock ports, (SIGIS = CLK) </SPAN><BR><SPAN style="color:#5555FF; font: bold 12px Verdana,Arial,Helvetica,sans-serif">INTR</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  indicates Interrupt ports,(SIGIS = INTR) </SPAN><BR><SPAN style="color:#FFCC00; font: bold 12px Verdana,Arial,Helvetica,sans-serif">RESET</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  indicates Reset ports, (SIGIS = RST) </SPAN><BR><SPAN style="color:#FF5555; font: bold 12px Verdana,Arial,Helvetica,sans-serif">BUF or REG</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  Indicates ports that instantiate or infer IOB primitives, (IOB_STATE = BUF or REG) </SPAN>
-</TD>
-<TR></TR>
-<TD COLSPAN="3" WIDTH="49%"><TABLE BGCOLOR="#000000" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-<TD COLSPAN="1" width="5" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_RX_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_RX</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_TX_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_TX</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_4Bit_GPIO_IO_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:3</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_4Bit_GPIO_IO</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_Positions_GPIO_IO_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:4</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_Positions_GPIO_IO</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_CLK_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_CLK</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPA_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">6:1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPA</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPD_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">15:0</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPD</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_CEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_CEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_OEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_OEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_WEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_WEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPIRQ</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-</TABLE></TD>
-<TD COLSPAN="1" WIDTH="2%" BGCOLOR="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> </SPAN></TD>
-<TD COLSPAN="3" WIDTH="49%"><TABLE BGCOLOR="#000000" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_A_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">9:29</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_A</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_BEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:3</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_BEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_WEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_WEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_DQ_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:31</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_DQ</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_OEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:0</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_OEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_CEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:0</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_CEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_ADV_LDN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_ADV_LDN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_CLOCK</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_clk_s</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_clk_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">dcm_clk_s</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#33CC33; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> CLK </SPAN></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_rst_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_rst_s</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#FFCC00; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> RESET </SPAN></TD>
-<TR></TR>
-<TD COLSPAN="9" WIDTH="100%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#FFFFFF; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> </SPAN></TD>
-</TABLE></TD>
-</TABLE>
-<BR>
-</BODY>
-</HTML>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/system.svg b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/blkdiagram/system.svg
deleted file mode 100644 (file)
index 5991ebf..0000000
+++ /dev/null
@@ -1,1473 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "svg10.dtd">
-<?xml-stylesheet href="system.css" type="text/css"?>
-<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:exsl="http://exslt.org/common" xmlns:xlink="http://www.w3.org/1999/xlink" width="1032" height="1531" viewBox="0 0 0 3062">
-  <defs>
-    <symbol id="KEY_IntrCntrl">
-      <rect x="0" y="0" rx="3" ry="3" width="9" height="18" style="fill:#888888; stroke:none; stroke-width:1"/>
-      <line x1="0" y1="5" x2="9" y2="5" style="stroke:#000000;stroke-width:2"/>
-      <text class="intrsymbol" x="1.5" y="16">x</text>
-    </symbol>
-    <symbol id="KEY_IntrdProc">
-      <rect x="0" y="0" rx="3" ry="3" width="9" height="18" style="fill:#888888; stroke:none; stroke-width:1"/>
-      <line x1="0" y1="3" x2="9" y2="3" style="stroke:#000000;stroke-width:1"/>
-      <line x1="0" y1="7" x2="9" y2="7" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="1.5" y="16">x</text>
-    </symbol>
-    <symbol id="KEY_IntrSrc">
-      <rect x="0" y="0" rx="3" ry="3" width="18" height="9" style="fill:#888888; stroke:none; stroke-width:1"/>
-      <line x1="9" y1="0" x2="9" y2="9" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="2" y="7">y</text>
-      <text class="intrsymbol" x="11" y="7">x</text>
-    </symbol>
-    <symbol id="BlkDiagram_Key">
-      <rect x="0" y="0" width="468" height="250" style="fill:#CCCCCC; stroke:none;"/>
-      <rect x="0" y="0" width="468" height="16" style="fill:#CCCCCC; stroke:none;"/>
-      <text class="keytitle" x="234 " y="14">KEY</text>
-      <rect x="0" y="16" width="468" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="keyheader" x="234 " y="30">SYMBOLS</text>
-      <use x="32" y="47" xlink:href="#KEY_Bif" transform="scale(0.75)"/>
-      <text class="keylabel" x="12" y="60">bus interface</text>
-      <use x="20" y="68" xlink:href="#KEY_SharedBus"/>
-      <text class="keylabel" x="12" y="85">shared bus</text>
-      <text class="keylblul" x="110" y="47">Bus connections</text>
-      <use x="110" y="58" xlink:href="#KEY_busconn_MASTER"/>
-      <text class="keylabel" x="140" y="72">master or initiator</text>
-      <use x="110" y="86" xlink:href="#KEY_busconn_SLAVE"/>
-      <text class="keylabel" x="140" y="100">slave or target</text>
-      <use x="110" y="114" xlink:href="#KEY_busconn_MASTER_SLAVE"/>
-      <text class="keylabel" x="140" y="128">master slave</text>
-      <use x="110" y="142" xlink:href="#KEY_busconn_MONITOR"/>
-      <text class="keylabel" x="140" y="156">monitor</text>
-      <text class="keylblul" x="258" y="47">External Ports</text>
-      <use x="258" y="58" xlink:href="#KEY_INPort"/>
-      <text class="keylabel" x="288" y="72">input</text>
-      <use x="258" y="78" xlink:href="#KEY_OUTPort"/>
-      <text class="keylabel" x="288" y="92">output</text>
-      <use x="258" y="98" xlink:href="#KEY_INOUTPort"/>
-      <text class="keylabel" x="288" y="112">inout</text>
-      <text class="keylblul" x="380" y="47">Interrupts</text>
-      <use x="380" y="58" xlink:href="#KEY_IntrCntrl"/>
-      <text class="keylabel" x="396" y="64">interrupt</text>
-      <text class="keylabel" x="396" y="74">controller</text>
-      <use x="380" y="88" xlink:href="#KEY_IntrdProc"/>
-      <text class="keylabel" x="396" y="94">interrupted</text>
-      <text class="keylabel" x="396" y="104">processor</text>
-      <use x="380" y="118" xlink:href="#KEY_IntrSrc"/>
-      <text class="keylabel" x="400" y="124">interrupt</text>
-      <text class="keylabel" x="400" y="134">source</text>
-      <text class="keylabel" x="360" y="146">x = controller ID</text>
-      <text class="keylabel" x="360" y="156">y = priority</text>
-      <rect x="0" y="160" width="468" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="keyheader" x="234 " y="172">COLORS</text>
-      <text class="keylblul" x="110" y="190">Bus Standards</text>
-      <rect x="12" y="200" width="24" height="24" style="fill:#6699FF; stroke:none;"/>
-      <text class="keylabel" x="40" y="220">DCR</text>
-      <rect x="12" y="228" width="24" height="24" style="fill:#8C00FF; stroke:none;"/>
-      <text class="keylabel" x="40" y="240">FCB</text>
-      <rect x="84" y="200" width="24" height="24" style="fill:#CC00CC; stroke:none;"/>
-      <text class="keylabel" x="112" y="220">FSL</text>
-      <rect x="84" y="228" width="24" height="24" style="fill:#7777FF; stroke:none;"/>
-      <text class="keylabel" x="112" y="240">LMB</text>
-      <rect x="156" y="200" width="24" height="24" style="fill:#339900; stroke:none;"/>
-      <text class="keylabel" x="184" y="220">OPB</text>
-      <rect x="156" y="228" width="24" height="24" style="fill:#FF5500; stroke:none;"/>
-      <text class="keylabel" x="184" y="240">PLB</text>
-      <rect x="228" y="200" width="24" height="24" style="fill:#0000DD; stroke:none;"/>
-      <text class="keylabel" x="256" y="220">SOCM</text>
-      <rect x="228" y="228" width="24" height="24" style="fill:#990066; stroke:none;"/>
-      <text class="keylabel" x="256" y="240">XIL (prefix) P2P</text>
-      <rect x="300" y="200" width="24" height="24" style="fill:#009999; stroke:none;"/>
-      <text class="keylabel" x="328" y="220">GEN. P2P, USER, etc</text>
-    </symbol>
-    <symbol id="BlkDiagram_Specs">
-      <rect x="0" y="0" width="300" height="100" style="fill:#CCCCCC; stroke:none;"/>
-      <rect x="0" y="0" width="300" height="16" style="fill:#CCCCCC; stroke:none;"/>
-      <text class="keytitle" x="150 " y="14">SPECS</text>
-      <rect x="0" y="20" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="32">EDK VERSION</text>
-      <text class="specsvaluemid" x="241" y="32">10.1.01</text>
-      <rect x="0" y="40" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="52">ARCH</text>
-      <text class="specsvaluemid" x="241" y="52">virtex4</text>
-      <rect x="0" y="60" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="72">PART</text>
-      <text class="specsvaluemid" x="241" y="72">xc4vfx12ff668-10</text>
-      <rect x="0" y="80" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="92">GENERATED</text>
-      <text class="specsvalue" x="138.5" y="92">Sun May 11 14:31:02 2008
-</text>
-    </symbol>
-    <symbol id="G_IOPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#CCCCFF; stroke:#000088; stroke-width:1"/>
-      <path class="ioport" d="M   0,0      L   16,8      L   0,16      Z" style="stroke:none; fill:#0000BB"/>
-    </symbol>
-    <symbol id="G_BIPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#CCCCFF; stroke:#000088; stroke-width:1"/>
-      <path class="btop" d="M 0,8      8,0      16,8      Z" style="stroke:none; fill:#0000BB"/>
-      <path class="bbot" d="M 0,8      8,16      16,8      Z" style="stroke:none; fill:#0000BB"/>
-    </symbol>
-    <symbol id="KEY_IOPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#888888; stroke:none;"/>
-      <path class="ioport" d="M   0,0      L   16,8      L   0,16      Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BIPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#888888; stroke:none;"/>
-      <path class="btop" d="M 0,8      8,0      16,8      Z" style="stroke:none; fill:#444444"/>
-      <path class="bbot" d="M 0,8      8,16      16,8      Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_INPort">
-      <use x="0" y="0" xlink:href="#KEY_IOPort"/>
-      <rect x="16" y="0" width="8" height="16" style="fill:#0000BB; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_OUTPort">
-      <use x="0" y="0" xlink:href="#KEY_IOPort" transform="scale(-1,1) translate(-16,0)"/>
-      <rect x="16" y="0" width="8" height="16" style="fill:#0000BB; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_INOUTPort">
-      <use x="0" y="0" xlink:href="#KEY_BIPort"/>
-      <rect x="16" y="0" width="8" height="16" style="fill:#0000BB; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#990066; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="XIL_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#990066; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#0000DD; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="OCM_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#0000DD; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#339900; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="OPB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#339900; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#7777FF; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="LMB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#7777FF; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#CC00CC; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="FSL_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#CC00CC; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#6699FF; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="DCR_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#6699FF; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#8C00FF; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="FCB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#8C00FF; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#FF5500; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="PLB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#FF5500; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#BB9955; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#BB9955; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TRS_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TRANS_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TARGET_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#444444; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="KEY_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#444444; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_BusArrowWest">
-      <use x="0" y="0" xlink:href="#XIL_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="XIL_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#XIL_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="XIL_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#XIL_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#XIL_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="XIL_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#990066"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="OCM_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_BusArrowWest">
-      <use x="0" y="0" xlink:href="#OCM_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="OCM_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#OCM_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="OCM_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#OCM_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#OCM_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="OCM_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#0000DD"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OPB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="OPB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="OPB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#OPB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="OPB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#339900"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="LMB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#LMB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="LMB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#LMB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="LMB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#LMB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#LMB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="LMB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#7777FF"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="FSL_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_BusArrowWest">
-      <use x="0" y="0" xlink:href="#FSL_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="FSL_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#FSL_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="FSL_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#FSL_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#FSL_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="FSL_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#CC00CC"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="DCR_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_BusArrowWest">
-      <use x="0" y="0" xlink:href="#DCR_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="DCR_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#DCR_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="DCR_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#DCR_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#DCR_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="DCR_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#6699FF"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#FCB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="FCB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#FCB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="FCB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#FCB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#FCB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="FCB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#8C00FF"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="PLB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="PLB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="PLB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#PLB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="PLB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#FF5500"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowWest">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#PLBV46_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="PLBV46_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowWest">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="TRS_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TRS_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TRS_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TRS_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TRS_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TRS_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TRS_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TRS_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TRANS_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TRANS_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TRANS_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TRANS_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TRANS_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TRANSPARENT_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TARGET_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TARGET_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TARGET_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TARGET_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TARGET_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowWest">
-      <use x="0" y="0" xlink:href="#INITIATOR_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#INITIATOR_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#INITIATOR_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#INITIATOR_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="INITIATOR_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="KEY_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BusArrowWest">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="KEY_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="KEY_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#KEY_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="KEY_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#444444"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="PLB_SharedBus">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowWest"/>
-      <use x="806" y="0" xlink:href="#PLB_BusArrowEast"/>
-      <rect x="8" y="2" width="798" height="8" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLBV46_SharedBus">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowWest"/>
-      <use x="806" y="0" xlink:href="#PLBV46_BusArrowEast"/>
-      <rect x="8" y="2" width="798" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="OPB_SharedBus">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowWest"/>
-      <use x="806" y="0" xlink:href="#OPB_BusArrowEast"/>
-      <rect x="8" y="2" width="798" height="8" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="group_sharedBusses">
-      <use x="0" y="0" xlink:href="#PLBV46_SharedBus"/>
-      <text class="sharedbuslabel" x="8" y="22">plb</text>
-    </symbol>
-    <symbol id="KEY_SharedBus">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowWest"/>
-      <use x="30" y="0" xlink:href="#KEY_BusArrowEast"/>
-      <rect x="8" y="2" width="22" height="8" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="sbsbktmodule_LEDs_4Bit">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">A</text>
-      <text class="bciptype" x="45" y="64">xps_gpio</text>
-      <text class="bciplabel" x="45" y="72">LEDs_4Bit</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_LEDs_Positions">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">B</text>
-      <text class="bciptype" x="45" y="64">xps_gpio</text>
-      <text class="bciplabel" x="45" y="72">LEDs_Positions</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_RS232_Uart">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">C</text>
-      <text class="bciptype" x="45" y="64">xps_uartlite</text>
-      <text class="bciplabel" x="45" y="72">RS232_Uart</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-      <rect x="72" y="24" rx="3" ry="3" width="18" height="9" style="fill:#FF9900; stroke:none; stroke-width:1"/>
-      <line x1="81" y1="24" x2="81" y2="33" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="74" y="32">0</text>
-      <text class="intrsymbol" x="83" y="32">0</text>
-    </symbol>
-    <symbol id="sbsbktmodule_SRAM">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">D</text>
-      <text class="bciptype" x="45" y="64">xps_mch_emc</text>
-      <text class="bciplabel" x="45" y="72">SRAM</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_SysACE_CompactFlash">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">F</text>
-      <text class="bciptype" x="45" y="64">xps_sysace</text>
-      <text class="bciplabel" x="45" y="72">SysACE_CompactFlash</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_xps_intc_0">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="64">xps_intc</text>
-      <text class="bciplabel" x="45" y="72">xps_intc_0</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-      <rect x="81" y="27" rx="3" ry="3" width="9" height="18" style="fill:#FF9900; stroke:none; stroke-width:1"/>
-      <line x1="81" y1="32" x2="90" y2="32" style="stroke:#000000;stroke-width:2"/>
-      <text class="intrsymbol" x="83" y="44">0</text>
-    </symbol>
-    <symbol id="sbsbucket_plb">
-      <rect x="0" y="0" rx="4" ry="4" width="334" height="244" style="stroke-width:2; stroke:#BB9955; fill:#FFFFDD"/>
-      <use x="16" y="16" xlink:href="#sbsbktmodule_LEDs_4Bit"/>
-      <rect x="0" y="24" width="61" height="8" style="fill:#BB9955"/>
-      <use x="122" y="16" xlink:href="#sbsbktmodule_LEDs_Positions"/>
-      <rect x="61" y="24" width="106" height="8" style="fill:#BB9955"/>
-      <use x="228" y="16" xlink:href="#sbsbktmodule_RS232_Uart"/>
-      <rect x="167" y="24" width="106" height="8" style="fill:#BB9955"/>
-      <use x="16" y="130" xlink:href="#sbsbktmodule_SRAM"/>
-      <rect x="0" y="138" width="61" height="8" style="fill:#BB9955"/>
-      <use x="122" y="130" xlink:href="#sbsbktmodule_SysACE_CompactFlash"/>
-      <rect x="61" y="138" width="106" height="8" style="fill:#BB9955"/>
-      <use x="228" y="130" xlink:href="#sbsbktmodule_xps_intc_0"/>
-      <rect x="167" y="138" width="106" height="8" style="fill:#BB9955"/>
-      <rect x="0" y="24" width="8" height="114" style="fill:#BB9955"/>
-    </symbol>
-    <symbol id="ipbktmodule_SRAM_util_bus_split_0">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#000000; stroke-width:2"/>
-      <rect x="11" y="18" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="26">util_bus_split</text>
-      <text class="bciplabel" x="45" y="34">SRAM_util_bus_split_0</text>
-      <rect x="11" y="38" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="52">E</text>
-    </symbol>
-    <symbol id="ipbktmodule_clock_generator_0">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#000000; stroke-width:2"/>
-      <rect x="11" y="18" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="26">clock_generator</text>
-      <text class="bciplabel" x="45" y="34">clock_generator_0</text>
-      <rect x="11" y="38" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="52">G</text>
-    </symbol>
-    <symbol id="ipbucket">
-      <rect x="0" y="0" rx="4" ry="4" width="228" height="106" style="stroke-width:2; stroke:#000000; fill:#CCCCFF"/>
-      <use x="16" y="16" xlink:href="#ipbktmodule_SRAM_util_bus_split_0"/>
-      <use x="122" y="16" xlink:href="#ipbktmodule_clock_generator_0"/>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_1">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">jtagppc_cntlr</text>
-      <text class="bciplabel" x="45" y="20">jtagppc_0</text>
-      <line x1="0" y1="64" x2="11" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="11" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="27" y="65">JTAG</text>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_0">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">proc_sys_reset</text>
-      <text class="bciplabel" x="45" y="20">proc_sys_reset_0</text>
-      <rect x="11" y="24" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="38">H</text>
-      <line x1="79" y1="64" x2="91" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="47" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="63" y="65">RESE</text>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_2">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">apu_fpu</text>
-      <text class="bciplabel" x="45" y="20">apu_fpu_0</text>
-      <line x1="79" y1="64" x2="91" y2="64" style="stroke:#8C00FF;stroke-width:1"/>
-      <use x="47" y="54" xlink:href="#FCB_Bif"/>
-      <text class="biflabel" x="63" y="65">SFCB</text>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_3">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="142" style="fill:#90001C; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">ppc405_virtex4</text>
-      <text class="bciplabel" x="45" y="20">ppc405_0</text>
-      <line x1="0" y1="64" x2="11" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="11" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="27" y="65">JTAG</text>
-      <line x1="79" y1="120" x2="91" y2="120" style="stroke:#BB9955;stroke-width:1"/>
-      <use x="47" y="110" xlink:href="#PLBV46_Bif"/>
-      <text class="biflabel" x="63" y="121">IPLB0</text>
-      <line x1="0" y1="120" x2="11" y2="120" style="stroke:#BB9955;stroke-width:1"/>
-      <use x="11" y="110" xlink:href="#PLBV46_Bif"/>
-      <text class="biflabel" x="27" y="121">DPLB0</text>
-      <line x1="79" y1="92" x2="91" y2="92" style="stroke:#990066;stroke-width:1"/>
-      <use x="47" y="82" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="63" y="93">RESE</text>
-      <line x1="79" y1="64" x2="91" y2="64" style="stroke:#8C00FF;stroke-width:1"/>
-      <use x="47" y="54" xlink:href="#FCB_Bif"/>
-      <text class="biflabel" x="63" y="65">MFCB</text>
-      <rect x="81" y="3" rx="3" ry="3" width="9" height="18" style="fill:#FF9900; stroke:none; stroke-width:1"/>
-      <line x1="81" y1="6" x2="90" y2="6" style="stroke:#000000;stroke-width:1"/>
-      <line x1="81" y1="10" x2="90" y2="10" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="83" y="20">0</text>
-    </symbol>
-    <symbol id="symbol_STACK_0">
-      <rect x="0" y="0" rx="6" ry="6" width="334" height="0" style="fill:#CCCCCC; stroke:none;"/>
-      <use x="122" y="90" xlink:href="#symbol_STACK_0_SHAPE_1"/>
-      <use x="122" y="0" xlink:href="#symbol_STACK_0_SHAPE_0"/>
-      <use x="122" y="180" xlink:href="#symbol_STACK_0_SHAPE_2"/>
-      <use x="0" y="554" xlink:href="#sbsbucket_plb"/>
-      <text class="ipclass" x="0" y="550">SLAVES OF plb</text>
-      <use x="122" y="270" xlink:href="#symbol_STACK_0_SHAPE_3"/>
-      <text class="ipclass" x="122" y="266">PROCESSOR</text>
-    </symbol>
-    <symbol id="symbol_SPACE_WEST_NONE_EAST_0">
-      <rect x="80" y="148" width="8" height="188" style="stroke:none;fill:#990066"/>
-      <text class="p2pbuslabel" x="92" y="176">jtagppc_0_0</text>
-      <use x="258" y="320" xlink:href="#XIL_busconn_TARGET"/>
-      <use x="250" y="326" xlink:href="#XIL_BusArrowEast"/>
-      <rect x="84" y="328" width="166" height="8" style="stroke:none; fill:#990066"/>
-      <use x="258" y="140" xlink:href="#XIL_busconn_INITIATOR"/>
-      <use x="250" y="146" xlink:href="#XIL_BusArrowEast"/>
-      <rect x="84" y="148" width="166" height="8" style="stroke:none; fill:#990066"/>
-      <use x="258" y="376" xlink:href="#PLBV46_busconn_MASTER"/>
-      <rect x="72" y="390" width="8" height="64" style="stroke:none; fill:#BB9955"/>
-      <rect x="72" y="384" width="192" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="36" y="458" width="8" height="127" style="stroke:none; fill:#BB9955"/>
-      <rect x="36" y="578" width="247" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="symbol_SPACE_WEST_0_EAST_NONE">
-      <use x="45" y="376" xlink:href="#PLBV46_busconn_MASTER"/>
-      <rect x="223" y="390" width="8" height="64" style="stroke:none; fill:#BB9955"/>
-      <rect x="64" y="384" width="167" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="263" y="58" width="8" height="306" style="stroke:none;fill:#990066"/>
-      <text class="p2pbuslabel" x="275" y="86">ppc_reset_bus</text>
-      <use x="45" y="348" xlink:href="#XIL_busconn_TARGET"/>
-      <use x="69" y="354" xlink:href="#XIL_BusArrowWest"/>
-      <rect x="76" y="356" width="192" height="8" style="stroke:none; fill:#990066"/>
-      <use x="45" y="50" xlink:href="#XIL_busconn_INITIATOR"/>
-      <use x="69" y="56" xlink:href="#XIL_BusArrowWest"/>
-      <rect x="76" y="58" width="192" height="8" style="stroke:none; fill:#990066"/>
-      <rect x="223" y="238" width="8" height="98" style="stroke:none;fill:#8C00FF"/>
-      <text class="p2pbuslabel" x="235" y="266">fcb_v10_0</text>
-      <use x="45" y="320" xlink:href="#FCB_busconn_MASTER"/>
-      <use x="69" y="326" xlink:href="#FCB_BusArrowWest"/>
-      <rect x="76" y="328" width="152" height="8" style="stroke:none; fill:#8C00FF"/>
-      <use x="45" y="230" xlink:href="#FCB_busconn_SLAVE"/>
-      <use x="69" y="236" xlink:href="#FCB_BusArrowWest"/>
-      <rect x="76" y="238" width="152" height="8" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-  </defs>
-  <rect x="0" y="0" width="1032" height="1531" style="fill:#FFFFFF; stroke:#000000;stroke-width:4"/>
-  <rect x="48" y="40" width="936" height="1190" style="fill:#000088"/>
-  <rect x="64" y="56" width="904" height="1158" rx="8" ry="8" style="fill:#CCCCCC"/>
-  <use x="32" y="471" id="fpga_0_RS232_Uart_RX_pin" xlink:href="#G_IOPort" transform="rotate(0,40,479)"/>
-  <text class="iopnumb" x="22" y="485"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="499" id="fpga_0_RS232_Uart_TX_pin" xlink:href="#G_IOPort" transform="rotate(180,40,507)"/>
-  <text class="iopnumb" x="22" y="513"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="527" id="fpga_0_LEDs_4Bit_GPIO_IO_pin" xlink:href="#G_BIPort" transform="rotate(0,40,535)"/>
-  <text class="iopnumb" x="22" y="541"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="555" id="fpga_0_LEDs_Positions_GPIO_IO_pin" xlink:href="#G_BIPort" transform="rotate(0,40,563)"/>
-  <text class="iopnumb" x="22" y="569"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="583" id="fpga_0_SysACE_CompactFlash_SysACE_CLK_pin" xlink:href="#G_IOPort" transform="rotate(0,40,591)"/>
-  <text class="iopnumb" x="22" y="597"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="611" id="fpga_0_SysACE_CompactFlash_SysACE_MPA_pin" xlink:href="#G_IOPort" transform="rotate(180,40,619)"/>
-  <text class="iopnumb" x="22" y="625"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="639" id="fpga_0_SysACE_CompactFlash_SysACE_MPD_pin" xlink:href="#G_BIPort" transform="rotate(0,40,647)"/>
-  <text class="iopnumb" x="22" y="653"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="667" id="fpga_0_SysACE_CompactFlash_SysACE_CEN_pin" xlink:href="#G_IOPort" transform="rotate(180,40,675)"/>
-  <text class="iopnumb" x="22" y="681"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="695" id="fpga_0_SysACE_CompactFlash_SysACE_OEN_pin" xlink:href="#G_IOPort" transform="rotate(180,40,703)"/>
-  <text class="iopnumb" x="22" y="709"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="723" id="fpga_0_SysACE_CompactFlash_SysACE_WEN_pin" xlink:href="#G_IOPort" transform="rotate(180,40,731)"/>
-  <text class="iopnumb" x="22" y="737"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="751" id="fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin" xlink:href="#G_IOPort" transform="rotate(0,40,759)"/>
-  <text class="iopnumb" x="22" y="765"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="471" id="fpga_0_SRAM_Mem_A_pin" xlink:href="#G_IOPort" transform="rotate(0,992,479)"/>
-  <text class="iopnumb" x="1012" y="485"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="499" id="fpga_0_SRAM_Mem_BEN_pin" xlink:href="#G_IOPort" transform="rotate(0,992,507)"/>
-  <text class="iopnumb" x="1012" y="513"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="527" id="fpga_0_SRAM_Mem_WEN_pin" xlink:href="#G_IOPort" transform="rotate(0,992,535)"/>
-  <text class="iopnumb" x="1012" y="541"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="555" id="fpga_0_SRAM_Mem_DQ_pin" xlink:href="#G_BIPort" transform="rotate(0,992,563)"/>
-  <text class="iopnumb" x="1012" y="569"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="583" id="fpga_0_SRAM_Mem_OEN_pin" xlink:href="#G_IOPort" transform="rotate(0,992,591)"/>
-  <text class="iopnumb" x="1012" y="597"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="611" id="fpga_0_SRAM_Mem_CEN_pin" xlink:href="#G_IOPort" transform="rotate(0,992,619)"/>
-  <text class="iopnumb" x="1012" y="625"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="639" id="fpga_0_SRAM_Mem_ADV_LDN_pin" xlink:href="#G_IOPort" transform="rotate(0,992,647)"/>
-  <text class="iopnumb" x="1012" y="653"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="667" id="fpga_0_SRAM_CLOCK" xlink:href="#G_IOPort" transform="rotate(0,992,675)"/>
-  <text class="iopnumb" x="1012" y="681"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="695" id="sys_clk_pin" xlink:href="#G_IOPort" transform="rotate(180,992,703)"/>
-  <text class="iopnumb" x="1012" y="709"><tspan class="iopgrp"></tspan></text>
-  <use x="984" y="723" id="sys_rst_pin" xlink:href="#G_IOPort" transform="rotate(180,992,731)"/>
-  <text class="iopnumb" x="1012" y="737"><tspan class="iopgrp"></tspan></text>
-  <use x="109" y="549" xlink:href="#group_sharedBusses"/>
-  <use x="269" y="101" xlink:href="#symbol_SPACE_WEST_NONE_EAST_0"/>
-  <use x="596" y="101" xlink:href="#symbol_SPACE_WEST_0_EAST_NONE"/>
-  <use x="429" y="101" xlink:href="#symbol_STACK_0"/>
-  <text class="ipclass" x="402" y="1001">IP</text>
-  <use x="402" y="1005" xlink:href="#ipbucket"/>
-  <use x="516" y="1273" xlink:href="#BlkDiagram_Key"/>
-  <use x="48" y="1273" xlink:href="#BlkDiagram_Specs"/>
-</svg>
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/data/system.ucf b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/data/system.ucf
deleted file mode 100644 (file)
index 0b81c8f..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-############################################################################\r
-## This system.ucf file is generated by Base System Builder based on the\r
-## settings in the selected Xilinx Board Definition file. Please add other\r
-## user constraints to this file based on customer design specifications.\r
-############################################################################\r
-\r
-Net sys_clk_pin LOC=AE14;\r
-Net sys_clk_pin IOSTANDARD = LVCMOS33;\r
-Net sys_rst_pin LOC=D6;\r
-Net sys_rst_pin PULLUP;\r
-## System level constraints\r
-Net sys_clk_pin TNM_NET = sys_clk_pin;\r
-TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 10000 ps;\r
-Net sys_rst_pin TIG;\r
-NET "ppc_reset_bus_Chip_Reset_Req" TPTHRU = "RST_GRP";\r
-NET "ppc_reset_bus_Core_Reset_Req" TPTHRU = "RST_GRP";\r
-NET "ppc_reset_bus_System_Reset_Req" TPTHRU = "RST_GRP";\r
-TIMESPEC "TS_RST1" = FROM CPUS THRU RST_GRP TO FFS  TIG;\r
-Net fpga_0_SRAM_CLOCK LOC=AF7;\r
-Net fpga_0_SRAM_CLOCK SLEW = FAST;\r
-Net fpga_0_SRAM_CLOCK IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_CLOCK DRIVE = 16;\r
-\r
-## IO Devices constraints\r
-\r
-#### Module RS232_Uart constraints\r
-\r
-Net fpga_0_RS232_Uart_RX_pin LOC=W2;\r
-Net fpga_0_RS232_Uart_RX_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_RS232_Uart_TX_pin LOC=W1;\r
-Net fpga_0_RS232_Uart_TX_pin IOSTANDARD = LVCMOS33;\r
-\r
-#### Module LEDs_4Bit constraints\r
-\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> LOC=G5;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> TIG;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> LOC=G6;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> TIG;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> LOC=A11;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> TIG;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> LOC=A12;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> TIG;\r
-\r
-#### Module LEDs_Positions constraints\r
-\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> LOC=C6;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> LOC=F9;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> LOC=A5;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> LOC=E10;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> LOC=E2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> TIG;\r
-\r
-#### Module SysACE_CompactFlash constraints\r
-\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CLK_pin LOC=AF11;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CLK_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CLK_pin PERIOD = 30000 ps;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<1> LOC=Y10;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<2> LOC=AA10;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<3> LOC=AC7;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<4> LOC=Y7;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<4> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<5> LOC=AA9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<5> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<6> LOC=Y9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<6> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<0> LOC=AB7;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<1> LOC=AC9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<2> LOC=AB9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<3> LOC=AE6;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<4> LOC=AD6;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<4> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<5> LOC=AF9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<5> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<6> LOC=AE9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<6> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<7> LOC=AD8;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<7> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<8> LOC=AC8;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<8> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<9> LOC=AF4;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<9> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<10> LOC=AE4;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<10> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<11> LOC=AD3;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<11> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<12> LOC=AC3;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<12> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<13> LOC=AF6;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<13> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<14> LOC=AF5;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<14> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<15> LOC=AA7;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<15> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CEN_pin LOC=AD5;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CEN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_OEN_pin LOC=AA8;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_OEN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_WEN_pin LOC=Y8;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_WEN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin LOC=AD4;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin TIG;\r
-\r
-#### Module SRAM constraints\r
-\r
-Net fpga_0_SRAM_Mem_A_pin<29> LOC=Y1;\r
-Net fpga_0_SRAM_Mem_A_pin<29> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<29> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<29> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<28> LOC=Y2;\r
-Net fpga_0_SRAM_Mem_A_pin<28> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<28> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<28> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<27> LOC=AA1;\r
-Net fpga_0_SRAM_Mem_A_pin<27> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<27> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<27> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<26> LOC=AB1;\r
-Net fpga_0_SRAM_Mem_A_pin<26> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<26> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<26> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<25> LOC=AB2;\r
-Net fpga_0_SRAM_Mem_A_pin<25> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<25> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<25> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<24> LOC=AC1;\r
-Net fpga_0_SRAM_Mem_A_pin<24> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<24> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<24> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<23> LOC=AC2;\r
-Net fpga_0_SRAM_Mem_A_pin<23> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<23> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<23> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<22> LOC=AD1;\r
-Net fpga_0_SRAM_Mem_A_pin<22> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<22> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<22> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<21> LOC=AD2;\r
-Net fpga_0_SRAM_Mem_A_pin<21> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<21> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<21> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<20> LOC=AE3;\r
-Net fpga_0_SRAM_Mem_A_pin<20> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<20> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<20> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<19> LOC=AF3;\r
-Net fpga_0_SRAM_Mem_A_pin<19> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<19> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<19> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<18> LOC=W3;\r
-Net fpga_0_SRAM_Mem_A_pin<18> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<18> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<18> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<17> LOC=W6;\r
-Net fpga_0_SRAM_Mem_A_pin<17> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<17> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<17> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<16> LOC=W5;\r
-Net fpga_0_SRAM_Mem_A_pin<16> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<16> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<16> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<15> LOC=AA3;\r
-Net fpga_0_SRAM_Mem_A_pin<15> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<15> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<15> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<14> LOC=AA4;\r
-Net fpga_0_SRAM_Mem_A_pin<14> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<14> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<14> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<13> LOC=AB3;\r
-Net fpga_0_SRAM_Mem_A_pin<13> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<13> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<13> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<12> LOC=AB4;\r
-Net fpga_0_SRAM_Mem_A_pin<12> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<12> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<12> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<11> LOC=AC4;\r
-Net fpga_0_SRAM_Mem_A_pin<11> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<11> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<11> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<10> LOC=AB5;\r
-Net fpga_0_SRAM_Mem_A_pin<10> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<10> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<10> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<9> LOC=AC5;\r
-Net fpga_0_SRAM_Mem_A_pin<9> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<9> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<9> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> LOC=Y6;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> LOC=Y5;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> LOC=Y4;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> LOC=Y3;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_WEN_pin LOC=AB6;\r
-Net fpga_0_SRAM_Mem_WEN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_WEN_pin SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_WEN_pin DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> LOC=AD13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> LOC=AC13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> LOC=AC15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> LOC=AC16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> LOC=AA11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> LOC=AA12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> LOC=AD14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> LOC=AC14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> LOC=AA13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> LOC=AB13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> LOC=AA15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> LOC=AA16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> LOC=AC11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> LOC=AC12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> LOC=AB14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> LOC=AA14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> LOC=D12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> LOC=E13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> LOC=C16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> LOC=D16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> LOC=D11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> LOC=C11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> LOC=E14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> LOC=D15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> LOC=D13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> LOC=D14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> LOC=F15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> LOC=F16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> LOC=F11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> LOC=F12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> LOC=F13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> LOC=F14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> LOC=AC6;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> LOC=V7;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin LOC=W4;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin DRIVE = 8;\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/bitgen.ut b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/bitgen.ut
deleted file mode 100644 (file)
index 9765363..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
--g CclkPin:PULLUP
--g TdoPin:PULLNONE
--g M1Pin:PULLDOWN
--g DonePin:PULLUP
--g DriveDone:No
--g StartUpClk:JTAGCLK
--g DONE_cycle:4
--g GTS_cycle:5
--g M0Pin:PULLUP
--g M2Pin:PULLUP
--g ProgPin:PULLUP
--g TckPin:PULLUP
--g TdiPin:PULLUP
--g TmsPin:PULLUP
--g DonePipe:No
--g GWE_cycle:6
--g LCK_cycle:NoWait
--g Security:NONE
-#-m
--g Persist:No
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/download.cmd b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/download.cmd
deleted file mode 100644 (file)
index 15728dc..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-setMode -bscan\r
-setCable -p auto\r
-identify\r
-assignfile -p 3 -file implementation/download.bit\r
-program -p 3\r
-quit\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/fast_runtime.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/fast_runtime.opt
deleted file mode 100644 (file)
index 6cc2599..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-FLOWTYPE = FPGA;
-###############################################################
-## Filename: fast_runtime.opt
-##
-## Option File For Xilinx FPGA Implementation Flow for Fast
-## Runtime.
-## 
-## Version: 4.1.1
-###############################################################
-#
-# Options for Translator
-#
-# Type "ngdbuild -h" for a detailed list of ngdbuild command line options
-#
-Program ngdbuild 
--p <partname>;        # Partname to use - picked from xflow commandline
--nt timestamp;        # NGO File generation. Regenerate only when
-                      # source netlist is newer than existing 
-                      # NGO file (default)
--bm <design>.bmm     # Block RAM memory map file
-<userdesign>;         # User design - pick from xflow command line
--uc <design>.ucf;     # ucf constraints
-<design>.ngd;         # Name of NGD file. Filebase same as design filebase
-End Program ngdbuild
-
-#
-# Options for Mapper
-#
-# Type "map -h <arch>" for a detailed list of map command line options
-#
-Program map
--o <design>_map.ncd;     # Output Mapped ncd file
--pr b;                   # Pack internal FF/latches into IOBs
-#-fp <design>.mfp;       # Floorplan file
--ol high;
--timing;
-<inputdir><design>.ngd;  # Input NGD file
-<inputdir><design>.pcf;  # Physical constraints file
-END Program map
-
-#
-# Options for Post Map Trace
-#
-# Type "trce -h" for a detailed list of trce command line options
-#
-Program post_map_trce
--e 3;                 # Produce error report limited to 3 items per constraint
-#-o <design>_map.twr;  # Output trace report file
--xml <design>_map.twx;     # Output XML version of the timing report
-#-tsi <design>_map.tsi; # Produce Timing Specification Interaction report
-<inputdir><design>_map.ncd;  # Input mapped ncd
-<inputdir><design>.pcf;      # Physical constraints file
-END Program post_map_trce
-
-#
-# Options for Place and Route
-#
-# Type "par -h" for a detailed list of par command line options
-#
-Program par
--w;                 # Overwrite existing placed and routed ncd
--ol high;              # Overall effort level
-<inputdir><design>_map.ncd;  # Input mapped NCD file
-<design>.ncd;                # Output placed and routed NCD
-<inputdir><design>.pcf;      # Input physical constraints file
-END Program par
-
-#
-# Options for Post Par Trace
-#
-# Type "trce -h" for a detailed list of trce command line options
-#
-Program post_par_trce
--e 3;                 # Produce error report limited to 3 items per constraint
-#-o <design>.twr;     # Output trace report file
--xml <design>.twx;    # Output XML version of the timing report
-#-tsi <design>.tsi;  # Produce Timing Specification Interaction report
-<inputdir><design>.ncd;   # Input placed and routed ncd
-<inputdir><design>.pcf;   # Physical constraints file
-END Program post_par_trce
-
-
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt
deleted file mode 100644 (file)
index 7adb1c0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-connect ppc hw -cable type xilinx_parallel port LPT1 frequency 2500000 -debugdevice cpunr 1 fpuType sp\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/platgen.opt b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/platgen.opt
deleted file mode 100644 (file)
index 1854735..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
--p\r
-xc4vfx12ff668-10\r
--lang\r
-vhdl\r
-system.mhs\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.bsb b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.bsb
deleted file mode 100644 (file)
index 12d83ba..0000000
+++ /dev/null
@@ -1 +0,0 @@
-\1d\84æÄ®Òôtt¦Êè¬ÊäæÒÞÜ@Db`\b\`bDvC\84æÄ®Òôtt¦Êè\84ÞÂäÈ@D°ÒØÒÜðD@D¬ÒäèÊð@h@\9a\98h`f@\8aìÂØêÂèÒÞÜ@ ØÂèÌÞäÚD@DbDv,\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D\82¤\86\90\92¨\8a\86¨ª¤\8aD@DìÒäèÊðhDv,\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D\88\8a¬\92\86\8a¾¦\92´\8aD@DðÆhìÌðbdDv%\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D \82\86\96\82\8e\8aD@DÌÌllpDv&\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D¦ \8a\8a\88\8e¤\82\88\8aD@DZb`Dv3\84æÄ®Òôtt¦Êè¦òæèÊÚ@DààÆh`j¾ìÒäèÊðh¾àØÄìhlD@Db\``\ÂDv,\84æÄ®ÒôttªàÈÂèÊ\86ØÞÆÖ@D\84ª¦¾\8c¤\8a¢D@Db``\``````Dv,\84æÄ®ÒôttªàÈÂèÊ\86ØÞÆÖ@D\86\98\96¾\8c¤\8a¢D@Db``\``````Dv-\84æÄ®ÒôttªàÈÂèÊ\86ØÞÆÖ@D ¤\9e\86¾\8c¤\8a¢D@Dd``\``````Dv(\84æÄ®ÒôttªàÈÂèʦòæèÊÚ@D¤¦¨¾ \9e\98\82¤\92¨²D@D`Dv1\84æÄ®Òôtt\82ÈÈ äÞÆÊææÞä@DààÆh`j¾`D@DààÆh`j¾ìÒäèÊðhDv/\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\86\82\86\90\8aD@DbDv3\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\86¾ª¦\8a¾\8c ªD@DbDv:\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\88\8a\84ª\8e¾\92\8cD@D\8c \8e\82@\94¨\82\8eDv6\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\88\9e\86\9a\92´\8aD@D\9c\9e\9c\8aDv6\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\92\9e\86\9a\92´\8aD@D\9c\9e\9c\8aDv2\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\9e\86\9a¾\9e\9c\98²D@D`Dv2\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D¤¦dfd¾ªÂäèD@Dðàæ¾êÂäèØÒèÊDv9\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾\84\82ª\88¤\82¨\8aD@Drl``Dv7\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾\88\82¨\82¾\84\92¨¦D@DpDv8\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾\9e\88\88¾ \82¤\92¨²D@D`Dv8\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾ª¦\8a¾ \82¤\92¨²D@D`Dv<\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\92\9e¨² \8aD@D°\92\98¾ª\82¤¨¾¬bDv<\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@Dª¦\8a¾\92\9c¨\8a¤¤ª ¨D@D¨¤ª\8aDv-\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D\98\8a\88æ¾h\84ÒèD@Dðàæ¾ÎàÒÞDv;\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D\98\8a\88æ¾h\84ÒèD@D\92\9e¨² \8aD@D°\92\98¾\8e \92\9e¾¬bDv2\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D\98\8a\88æ¾ ÞæÒèÒÞÜæD@Dðàæ¾ÎàÒÞDv@\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D\98\8a\88æ¾ ÞæÒèÒÞÜæD@D\92\9e¨² \8aD@D°\92\98¾\8e \92\9e¾¬bDv9\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D¦òæ\82\86\8a¾\86ÞÚàÂÆè\8cØÂæÐD@Dðàæ¾æòæÂÆÊDvG\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¦òæ\82\86\8a¾\86ÞÚàÂÆè\8cØÂæÐD@D\92\9e¨² \8aD@D°\92\98¾¦²¦\82\86\8a¾¬bDv+\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D¦¤\82\9aD@Dðàæ¾ÚÆоÊÚÆDv5\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¦¤\82\9aD@D\92\9e¨² \8aD@D°\92\98¾\8a\9a\86¾¬bDv:\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\86\82\86\90\8a¾\86\82\9c\88\92\88\82¨\8a¦D@D¦¤\82\9avDv8\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\86¾\86\82\86\90\8a¾\84²¨\8a¾¦\92´\8aD@DblDv9\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\86¾\88\86\82\86\90\8a¾\84²¨\8a¾¦\92´\8aD@DblDv9\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\88\86\82\86\90\8a¾\86\9e¤\8a\98\92¦¨D@Dv¦¤\82\9aDv9\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\92\86\82\86\90\8a¾\86\9e¤\8a\98\92¦¨D@Dv¦¤\82\9aDv:\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\92\9c¦¨\82\9c\86\8a¾\9c\82\9a\8aD@DààÆh`j¾`Dv/\84æÄ®ÒôttªàÈÂèʦ®@D¦®¾\8e\8a\9c\8a¤\82¨\8a¾\9a\8a\9a¨\8a¦¨D@D\8c\82\98¦\8aDv1\84æÄ®ÒôttªàÈÂèʦ®@D¦®¾\8e\8a\9c\8a¤\82¨\8a¾ \8a¤\92 \90¨\8a¦¨D@D¨¤ª\8aDv)\84æÄ®ÒôttªàÈÂèʦ®@D¦®¾\8e\8a\9c\8a¤\82¨\8a¾¦®\82  ¦D@DDv7\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D\92\9c¦¨\82\9c\86\8a¾\9c\82\9a\8aD@DààÆh`j¾`Dv0\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾\84\9e\9e¨\9a\8a\9aD@D¦¤\82\9aDv.\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾¦¨\88\92\9cD@D\9cÞÜÊDv/\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾¦¨\88\9eª¨D@D\9cÞÜÊDv@\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾\88\82¨\82¾\92\9c¦D@D¦¤\82\9aDvK\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾\88\82¨\82¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤DvC\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾ ¤\9e\8e¤\82\9a¾\92\9c¦D@D¦¤\82\9aDvN\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾ ¤\9e\8e¤\82\9a¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤DvA\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¦¨\82\86\96¾\92\9c¦D@D¦¤\82\9aDvL\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¦¨\82\86\96¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤DvC\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¬\8a\86¨\9e¤¦¾\92\9c¦D@D¦¤\82\9aDvN\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¬\8a\86¨\9e¤¦¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤Dv
\ No newline at end of file
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.make b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.make
deleted file mode 100644 (file)
index 492fe88..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-#################################################################\r
-# Makefile generated by Xilinx Platform Studio \r
-# Project:C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_FPU_Xilinx_Virtex4_GCC\system.xmp\r
-#\r
-# WARNING : This file will be re-generated every time a command\r
-# to run a make target is invoked. So, any changes made to this  \r
-# file manually, will be lost when make is invoked next. \r
-#################################################################\r
-\r
-# Name of the Microprocessor system\r
-# The hardware specification of the system is in file :\r
-# C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_FPU_Xilinx_Virtex4_GCC\system.mhs\r
-# The software specification of the system is in file :\r
-# C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_FPU_Xilinx_Virtex4_GCC\system.mss\r
-\r
-include system_incl.make\r
-\r
-#################################################################\r
-# PHONY TARGETS\r
-#################################################################\r
-.PHONY: dummy\r
-.PHONY: netlistclean\r
-.PHONY: bitsclean\r
-.PHONY: simclean\r
-.PHONY: vpclean\r
-\r
-#################################################################\r
-# EXTERNAL TARGETS\r
-#################################################################\r
-all:\r
-       @echo "Makefile to build a Microprocessor system :"\r
-       @echo "Run make with any of the following targets"\r
-       @echo " "\r
-       @echo "  netlist  : Generates the netlist for the given MHS "\r
-       @echo "  bits     : Runs Implementation tools to generate the bitstream"\r
-       @echo " "\r
-       @echo "  libs     : Configures the sw libraries for this system"\r
-       @echo "  program  : Compiles the program sources for all the processor instances"\r
-       @echo " "\r
-       @echo "  init_bram: Initializes bitstream with BRAM data"\r
-       @echo "  ace      : Generate ace file from bitstream and elf"\r
-       @echo "  download : Downloads the bitstream onto the board"\r
-       @echo " "\r
-       @echo "  sim      : Generates HDL simulation models and runs simulator for chosen simulation mode"\r
-       @echo "  simmodel : Generates HDL simulation models for chosen simulation mode"\r
-       @echo "  behavioral_model : Generates behavioral HDL models with BRAM initialization"\r
-       @echo "  structural_model : Generates structural simulation HDL models with BRAM initialization"\r
-       @echo "  timing   : Generates timing simulation HDL models with BRAM initialization"\r
-       @echo "  vp       : Generates virtual platform model"\r
-       @echo " "\r
-       @echo "  netlistclean: Deletes netlist"\r
-       @echo "  bitsclean: Deletes bit, ncd, bmm files"\r
-       @echo "  hwclean  : Deletes implementation dir"\r
-       @echo "  libsclean: Deletes sw libraries"\r
-       @echo "  programclean: Deletes compiled ELF files"\r
-       @echo "  swclean  : Deletes sw libraries and ELF files"\r
-       @echo "  simclean : Deletes simulation dir"\r
-       @echo "  vpclean  : Deletes virtualplatform dir"\r
-       @echo "  clean    : Deletes all generated files/directories"\r
-       @echo " "\r
-       @echo "  make <target> : (Default)"\r
-       @echo "      Creates a Microprocessor system using default initializations"\r
-       @echo "      specified for each processor in MSS file"\r
-\r
-\r
-bits: $(SYSTEM_BIT)\r
-\r
-ace: $(SYSTEM_ACE)\r
-\r
-netlist: $(POSTSYN_NETLIST)\r
-\r
-libs: $(LIBRARIES)\r
-\r
-program: $(ALL_USER_ELF_FILES)\r
-\r
-download: $(DOWNLOAD_BIT) dummy\r
-       @echo "*********************************************"\r
-       @echo "Downloading Bitstream onto the target board"\r
-       @echo "*********************************************"\r
-       impact -batch etc/download.cmd\r
-\r
-init_bram: $(DOWNLOAD_BIT)\r
-\r
-sim: $(DEFAULT_SIM_SCRIPT)\r
-       cd simulation/behavioral; \\r
-       $(SIM_CMD)  &\r
-\r
-simmodel: $(DEFAULT_SIM_SCRIPT)\r
-\r
-behavioral_model: $(BEHAVIORAL_SIM_SCRIPT)\r
-\r
-structural_model: $(STRUCTURAL_SIM_SCRIPT)\r
-\r
-vp: $(VPEXEC)\r
-\r
-clean: hwclean libsclean programclean simclean vpclean\r
-       rm -f _impact.cmd\r
-       rm -f *.log\r
-\r
-hwclean: netlistclean bitsclean\r
-       rm -rf implementation synthesis xst hdl\r
-       rm -rf xst.srp $(SYSTEM).srp\r
-\r
-netlistclean:\r
-       rm -f $(POSTSYN_NETLIST)\r
-       rm -f platgen.log\r
-       rm -f $(BMM_FILE)\r
-\r
-bitsclean:\r
-       rm -f $(SYSTEM_BIT)\r
-       rm -f implementation/$(SYSTEM).ncd\r
-       rm -f implementation/$(SYSTEM)_bd.bmm \r
-       rm -f implementation/$(SYSTEM)_map.ncd \r
-\r
-simclean: \r
-       rm -rf simulation/behavioral\r
-       rm -f simgen.log\r
-\r
-swclean: libsclean programclean\r
-       @echo ""\r
-\r
-libsclean: $(LIBSCLEAN_TARGETS)\r
-       rm -f libgen.log\r
-\r
-programclean: $(PROGRAMCLEAN_TARGETS)\r
-\r
-vpclean:\r
-       rm -rf virtualplatform\r
-       rm -f vpgen.log\r
-\r
-#################################################################\r
-# SOFTWARE PLATFORM FLOW\r
-#################################################################\r
-\r
-\r
-$(LIBRARIES): $(MHSFILE) $(MSSFILE) __xps/libgen.opt\r
-       @echo "*********************************************"\r
-       @echo "Creating software libraries..."\r
-       @echo "*********************************************"\r
-       libgen $(LIBGEN_OPTIONS) $(MSSFILE)\r
-\r
-\r
-ppc405_0_libsclean:\r
-       rm -rf ppc405_0/\r
-\r
-#################################################################\r
-# SOFTWARE APPLICATION RTOSDEMO\r
-#################################################################\r
-\r
-RTOSDemo_program: $(RTOSDEMO_OUTPUT) \r
-\r
-$(RTOSDEMO_OUTPUT) : $(RTOSDEMO_SOURCES) $(RTOSDEMO_HEADERS) $(RTOSDEMO_LINKER_SCRIPT) \\r
-                    $(LIBRARIES) __xps/rtosdemo_compiler.opt\r
-       @mkdir -p $(RTOSDEMO_OUTPUT_DIR) \r
-       $(RTOSDEMO_CC) $(RTOSDEMO_CC_OPT) $(RTOSDEMO_SOURCES) -o $(RTOSDEMO_OUTPUT) \\r
-       $(RTOSDEMO_OTHER_CC_FLAGS) $(RTOSDEMO_INCLUDES) $(RTOSDEMO_LIBPATH) \\r
-       $(RTOSDEMO_CFLAGS) $(RTOSDEMO_LFLAGS) \r
-       $(RTOSDEMO_CC_SIZE) $(RTOSDEMO_OUTPUT) \r
-       @echo ""\r
-\r
-RTOSDemo_programclean:\r
-       rm -f $(RTOSDEMO_OUTPUT) \r
-\r
-#################################################################\r
-# BOOTLOOP ELF FILES\r
-#################################################################\r
-\r
-\r
-\r
-$(PPC405_0_BOOTLOOP): $(PPC405_BOOTLOOP)\r
-       @mkdir -p $(BOOTLOOP_DIR)\r
-       cp -f $(PPC405_BOOTLOOP) $(PPC405_0_BOOTLOOP)\r
-\r
-#################################################################\r
-# HARDWARE IMPLEMENTATION FLOW\r
-#################################################################\r
-\r
-\r
-$(BMM_FILE) \\r
-$(WRAPPER_NGC_FILES): $(MHSFILE) __xps/platgen.opt \\r
-                      $(CORE_STATE_DEVELOPMENT_FILES)\r
-       @echo "****************************************************"\r
-       @echo "Creating system netlist for hardware specification.."\r
-       @echo "****************************************************"\r
-       platgen $(PLATGEN_OPTIONS) $(MHSFILE)\r
-\r
-$(POSTSYN_NETLIST): $(WRAPPER_NGC_FILES)\r
-       @echo "Running synthesis..."\r
-       bash -c "cd synthesis; ./synthesis.sh"\r
-\r
-__xps/$(SYSTEM)_routed: $(FPGA_IMP_DEPENDENCY)\r
-       @echo "*********************************************"\r
-       @echo "Running Xilinx Implementation tools.."\r
-       @echo "*********************************************"\r
-       @cp -f $(UCF_FILE) implementation/$(SYSTEM).ucf\r
-       xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/manage_fastruntime_opt.pl $(MANAGE_FASTRT_OPTIONS)\r
-       xflow -wd implementation -p $(DEVICE) -implement xflow.opt $(SYSTEM).ngc\r
-       touch __xps/$(SYSTEM)_routed\r
-\r
-$(SYSTEM_BIT): __xps/$(SYSTEM)_routed\r
-       xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/observe_par.pl $(OBSERVE_PAR_OPTIONS) implementation/$(SYSTEM).par\r
-       @echo "*********************************************"\r
-       @echo "Running Bitgen.."\r
-       @echo "*********************************************"\r
-       @cp -f $(BITGEN_UT_FILE) implementation/bitgen.ut\r
-       cd implementation; bitgen -w -f bitgen.ut $(SYSTEM)\r
-\r
-$(DOWNLOAD_BIT): $(SYSTEM_BIT) $(BRAMINIT_ELF_FILES) __xps/bitinit.opt\r
-       # @cp -f implementation/$(SYSTEM)_bd.bmm .\r
-       @echo "*********************************************"\r
-       @echo "Initializing BRAM contents of the bitstream"\r
-       @echo "*********************************************"\r
-       bitinit $(MHSFILE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) \\r
-       -bt $(SYSTEM_BIT) -o $(DOWNLOAD_BIT)\r
-       @rm -f $(SYSTEM)_bd.bmm\r
-\r
-$(SYSTEM_ACE): $(DOWNLOAD_BIT) $(RTOSDEMO_OUTPUT) \r
-       @echo "*********************************************"\r
-       @echo "Creating system ace file"\r
-       @echo "*********************************************"\r
-       xmd -tcl genace.tcl -jprog -hw $(DOWNLOAD_BIT) -elf $(RTOSDEMO_OUTPUT)  -target ppc_hw  -ace $(SYSTEM_ACE)\r
-\r
-#################################################################\r
-# SIMULATION FLOW\r
-#################################################################\r
-\r
-\r
-################## BEHAVIORAL SIMULATION ##################\r
-\r
-$(BEHAVIORAL_SIM_SCRIPT): $(MHSFILE) __xps/simgen.opt \\r
-                          $(BRAMINIT_ELF_FILES)\r
-       @echo "*********************************************"\r
-       @echo "Creating behavioral simulation models..."\r
-       @echo "*********************************************"\r
-       simgen $(SIMGEN_OPTIONS) -m behavioral $(MHSFILE)\r
-\r
-################## STRUCTURAL SIMULATION ##################\r
-\r
-$(STRUCTURAL_SIM_SCRIPT): $(WRAPPER_NGC_FILES) __xps/simgen.opt \\r
-                          $(BRAMINIT_ELF_FILES)\r
-       @echo "*********************************************"\r
-       @echo "Creating structural simulation models..."\r
-       @echo "*********************************************"\r
-       simgen $(SIMGEN_OPTIONS) -sd implementation -m structural $(MHSFILE)\r
-\r
-\r
-################## TIMING SIMULATION ##################\r
-\r
-$(TIMING_SIM_SCRIPT): $(SYSTEM_BIT) __xps/simgen.opt \\r
-                      $(BRAMINIT_ELF_FILES)\r
-       @echo "*********************************************"\r
-       @echo "Creating timing simulation models..."\r
-       @echo "*********************************************"\r
-       simgen $(SIMGEN_OPTIONS) -sd implementation -m timing $(MHSFILE)\r
-\r
-#################################################################\r
-# VIRTUAL PLATFORM FLOW\r
-#################################################################\r
-\r
-\r
-$(VPEXEC): $(MHSFILE) __xps/vpgen.opt\r
-       @echo "****************************************************"\r
-       @echo "Creating virtual platform for hardware specification.."\r
-       @echo "****************************************************"\r
-       vpgen $(VPGEN_OPTIONS) $(MHSFILE)\r
-\r
-dummy:\r
-       @echo ""\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.mhs b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.mhs
deleted file mode 100644 (file)
index 640fae0..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-\r
-# ##############################################################################\r
-# Created by Base System Builder Wizard for Xilinx EDK 10.1.01 Build EDK_K_SP1.3\r
-# Fri May 09 11:01:33 2008\r
-# Target Board:  Xilinx Virtex 4 ML403 Evaluation Platform Rev 1\r
-# Family:    virtex4\r
-# Device:    xc4vfx12\r
-# Package:   ff668\r
-# Speed Grade:  -10\r
-# Processor: ppc405_0\r
-# Processor clock frequency: 200.00 MHz\r
-# Bus clock frequency: 100.00 MHz\r
-# Total Off Chip Memory :   1 MB\r
-# - SRAM =   1 MB\r
-# ##############################################################################\r
- PARAMETER VERSION = 2.1.0\r
-\r
-\r
- PORT fpga_0_RS232_Uart_RX_pin = fpga_0_RS232_Uart_RX, DIR = I\r
- PORT fpga_0_RS232_Uart_TX_pin = fpga_0_RS232_Uart_TX, DIR = O\r
- PORT fpga_0_LEDs_4Bit_GPIO_IO_pin = fpga_0_LEDs_4Bit_GPIO_IO, DIR = IO, VEC = [0:3]\r
- PORT fpga_0_LEDs_Positions_GPIO_IO_pin = fpga_0_LEDs_Positions_GPIO_IO, DIR = IO, VEC = [0:4]\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_CLK_pin = fpga_0_SysACE_CompactFlash_SysACE_CLK, DIR = I\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_MPA_pin = fpga_0_SysACE_CompactFlash_SysACE_MPA, DIR = O, VEC = [6:1]\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_MPD_pin = fpga_0_SysACE_CompactFlash_SysACE_MPD, DIR = IO, VEC = [15:0]\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_CEN_pin = fpga_0_SysACE_CompactFlash_SysACE_CEN, DIR = O\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_OEN_pin = fpga_0_SysACE_CompactFlash_SysACE_OEN, DIR = O\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_WEN_pin = fpga_0_SysACE_CompactFlash_SysACE_WEN, DIR = O\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin = fpga_0_SysACE_CompactFlash_SysACE_MPIRQ, DIR = I\r
- PORT fpga_0_SRAM_Mem_A_pin = fpga_0_SRAM_Mem_A, DIR = O, VEC = [9:29]\r
- PORT fpga_0_SRAM_Mem_BEN_pin = fpga_0_SRAM_Mem_BEN, DIR = O, VEC = [0:3]\r
- PORT fpga_0_SRAM_Mem_WEN_pin = fpga_0_SRAM_Mem_WEN, DIR = O\r
- PORT fpga_0_SRAM_Mem_DQ_pin = fpga_0_SRAM_Mem_DQ, DIR = IO, VEC = [0:31]\r
- PORT fpga_0_SRAM_Mem_OEN_pin = fpga_0_SRAM_Mem_OEN, DIR = O, VEC = [0:0]\r
- PORT fpga_0_SRAM_Mem_CEN_pin = fpga_0_SRAM_Mem_CEN, DIR = O, VEC = [0:0]\r
- PORT fpga_0_SRAM_Mem_ADV_LDN_pin = fpga_0_SRAM_Mem_ADV_LDN, DIR = O\r
- PORT fpga_0_SRAM_CLOCK = sys_clk_s, DIR = O\r
- PORT sys_clk_pin = dcm_clk_s, DIR = I, SIGIS = CLK, CLK_FREQ = 100000000\r
- PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 0, SIGIS = RST\r
-\r
-\r
-BEGIN ppc405_virtex4\r
- PARAMETER INSTANCE = ppc405_0\r
- PARAMETER HW_VER = 2.01.a\r
- PARAMETER C_FASTEST_PLB_CLOCK = DPLB0\r
- PARAMETER C_APU_CONTROL = 0b0000000000000001\r
- PARAMETER C_IDCR_BASEADDR = 0b0100000000\r
- PARAMETER C_IDCR_HIGHADDR = 0b0111111111\r
- BUS_INTERFACE JTAGPPC = jtagppc_0_0\r
- BUS_INTERFACE IPLB0 = plb\r
- BUS_INTERFACE DPLB0 = plb\r
- BUS_INTERFACE RESETPPC = ppc_reset_bus\r
- BUS_INTERFACE MFCB = fcb_v10_0\r
- PORT CPMC405CLOCK = proc_clk_s\r
- PORT EICC405EXTINPUTIRQ = EICC405EXTINPUTIRQ\r
-END\r
-\r
-BEGIN jtagppc_cntlr\r
- PARAMETER INSTANCE = jtagppc_0\r
- PARAMETER HW_VER = 2.01.a\r
- BUS_INTERFACE JTAGPPC0 = jtagppc_0_0\r
-END\r
-\r
-BEGIN plb_v46\r
- PARAMETER INSTANCE = plb\r
- PARAMETER C_DCR_INTFCE = 0\r
- PARAMETER C_NUM_CLK_PLB2OPB_REARB = 100\r
- PARAMETER HW_VER = 1.02.a\r
- PORT PLB_Clk = sys_clk_s\r
- PORT SYS_Rst = sys_bus_reset\r
-END\r
-\r
-BEGIN xps_uartlite\r
- PARAMETER INSTANCE = RS232_Uart\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_BAUDRATE = 9600\r
- PARAMETER C_DATA_BITS = 8\r
- PARAMETER C_ODD_PARITY = 0\r
- PARAMETER C_USE_PARITY = 0\r
- PARAMETER C_SPLB_CLK_FREQ_HZ = 100000000\r
- PARAMETER C_BASEADDR = 0x84000000\r
- PARAMETER C_HIGHADDR = 0x8400ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT RX = fpga_0_RS232_Uart_RX\r
- PORT TX = fpga_0_RS232_Uart_TX\r
- PORT Interrupt = RS232_Uart_Interrupt\r
-END\r
-\r
-BEGIN xps_gpio\r
- PARAMETER INSTANCE = LEDs_4Bit\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_GPIO_WIDTH = 4\r
- PARAMETER C_IS_DUAL = 0\r
- PARAMETER C_IS_BIDIR = 1\r
- PARAMETER C_ALL_INPUTS = 0\r
- PARAMETER C_BASEADDR = 0x81400000\r
- PARAMETER C_HIGHADDR = 0x8140ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT GPIO_IO = fpga_0_LEDs_4Bit_GPIO_IO\r
-END\r
-\r
-BEGIN xps_gpio\r
- PARAMETER INSTANCE = LEDs_Positions\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_GPIO_WIDTH = 5\r
- PARAMETER C_IS_DUAL = 0\r
- PARAMETER C_IS_BIDIR = 1\r
- PARAMETER C_ALL_INPUTS = 0\r
- PARAMETER C_BASEADDR = 0x81420000\r
- PARAMETER C_HIGHADDR = 0x8142ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT GPIO_IO = fpga_0_LEDs_Positions_GPIO_IO\r
-END\r
-\r
-BEGIN xps_sysace\r
- PARAMETER INSTANCE = SysACE_CompactFlash\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_MEM_WIDTH = 16\r
- PARAMETER C_BASEADDR = 0x83600000\r
- PARAMETER C_HIGHADDR = 0x8360ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT SysACE_CLK = fpga_0_SysACE_CompactFlash_SysACE_CLK\r
- PORT SysACE_MPA = fpga_0_SysACE_CompactFlash_SysACE_MPA & SysACE_CompactFlash_SysACE_MPA\r
- PORT SysACE_MPD = fpga_0_SysACE_CompactFlash_SysACE_MPD\r
- PORT SysACE_CEN = fpga_0_SysACE_CompactFlash_SysACE_CEN\r
- PORT SysACE_OEN = fpga_0_SysACE_CompactFlash_SysACE_OEN\r
- PORT SysACE_WEN = fpga_0_SysACE_CompactFlash_SysACE_WEN\r
- PORT SysACE_MPIRQ = fpga_0_SysACE_CompactFlash_SysACE_MPIRQ\r
-END\r
-\r
-BEGIN xps_mch_emc\r
- PARAMETER INSTANCE = SRAM\r
- PARAMETER HW_VER = 1.01.a\r
- PARAMETER C_MCH_PLB_CLK_PERIOD_PS = 10000\r
- PARAMETER C_NUM_BANKS_MEM = 1\r
- PARAMETER C_MAX_MEM_WIDTH = 32\r
- PARAMETER C_INCLUDE_NEGEDGE_IOREGS = 1\r
- PARAMETER C_INCLUDE_DATAWIDTH_MATCHING_0 = 1\r
- PARAMETER C_MEM0_WIDTH = 32\r
- PARAMETER C_SYNCH_MEM_0 = 1\r
- PARAMETER C_TCEDV_PS_MEM_0 = 0\r
- PARAMETER C_TWC_PS_MEM_0 = 0\r
- PARAMETER C_TAVDV_PS_MEM_0 = 0\r
- PARAMETER C_TWP_PS_MEM_0 = 0\r
- PARAMETER C_THZCE_PS_MEM_0 = 0\r
- PARAMETER C_TLZWE_PS_MEM_0 = 0\r
- PARAMETER C_MEM0_BASEADDR = 0xfff00000\r
- PARAMETER C_MEM0_HIGHADDR = 0xffffffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT Mem_A = fpga_0_SRAM_Mem_A_split\r
- PORT Mem_BEN = fpga_0_SRAM_Mem_BEN\r
- PORT Mem_WEN = fpga_0_SRAM_Mem_WEN\r
- PORT Mem_DQ = fpga_0_SRAM_Mem_DQ\r
- PORT Mem_OEN = fpga_0_SRAM_Mem_OEN\r
- PORT Mem_CEN = fpga_0_SRAM_Mem_CEN\r
- PORT Mem_ADV_LDN = fpga_0_SRAM_Mem_ADV_LDN\r
- PORT RdClk = sys_clk_s\r
-END\r
-\r
-BEGIN util_bus_split\r
- PARAMETER INSTANCE = SRAM_util_bus_split_0\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_SIZE_IN = 32\r
- PARAMETER C_LEFT_POS = 9\r
- PARAMETER C_SPLIT = 30\r
- PORT Sig = fpga_0_SRAM_Mem_A_split\r
- PORT Out1 = fpga_0_SRAM_Mem_A\r
-END\r
-\r
-BEGIN clock_generator\r
- PARAMETER INSTANCE = clock_generator_0\r
- PARAMETER HW_VER = 2.01.a\r
- PARAMETER C_EXT_RESET_HIGH = 1\r
- PARAMETER C_CLKIN_FREQ = 100000000\r
- PARAMETER C_CLKOUT0_FREQ = 200000000\r
- PARAMETER C_CLKOUT0_BUF = TRUE\r
- PARAMETER C_CLKOUT0_PHASE = 0\r
- PARAMETER C_CLKOUT0_GROUP = NONE\r
- PARAMETER C_CLKOUT1_FREQ = 100000000\r
- PARAMETER C_CLKOUT1_BUF = TRUE\r
- PARAMETER C_CLKOUT1_PHASE = 0\r
- PARAMETER C_CLKOUT1_GROUP = NONE\r
- PORT CLKOUT0 = proc_clk_s\r
- PORT CLKOUT1 = sys_clk_s\r
- PORT CLKIN = dcm_clk_s\r
- PORT LOCKED = Dcm_all_locked\r
- PORT RST = net_gnd\r
-END\r
-\r
-BEGIN proc_sys_reset\r
- PARAMETER INSTANCE = proc_sys_reset_0\r
- PARAMETER HW_VER = 2.00.a\r
- PARAMETER C_EXT_RESET_HIGH = 0\r
- BUS_INTERFACE RESETPPC0 = ppc_reset_bus\r
- PORT Slowest_sync_clk = sys_clk_s\r
- PORT Dcm_locked = Dcm_all_locked\r
- PORT Ext_Reset_In = sys_rst_s\r
- PORT Bus_Struct_Reset = sys_bus_reset\r
- PORT Peripheral_Reset = sys_periph_reset\r
-END\r
-\r
-BEGIN xps_intc\r
- PARAMETER INSTANCE = xps_intc_0\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_BASEADDR = 0x81800000\r
- PARAMETER C_HIGHADDR = 0x8180ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT Irq = EICC405EXTINPUTIRQ\r
- PORT Intr = RS232_Uart_Interrupt\r
-END\r
-\r
-BEGIN fcb_v10\r
- PARAMETER INSTANCE = fcb_v10_0\r
- PARAMETER HW_VER = 1.00.a\r
- PORT FCB_CLK = proc_clk_s\r
- PORT SYS_RST = sys_bus_reset\r
-END\r
-\r
-BEGIN apu_fpu\r
- PARAMETER INSTANCE = apu_fpu_0\r
- PARAMETER HW_VER = 3.10.a\r
- BUS_INTERFACE SFCB = fcb_v10_0\r
- PORT FPU_CLK = sys_clk_s\r
-END\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.mss b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.mss
deleted file mode 100644 (file)
index 737c308..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-\r
- PARAMETER VERSION = 2.2.0\r
-\r
-\r
-BEGIN OS\r
- PARAMETER OS_NAME = standalone\r
- PARAMETER OS_VER = 2.00.a\r
- PARAMETER PROC_INSTANCE = ppc405_0\r
-END\r
-\r
-\r
-BEGIN PROCESSOR\r
- PARAMETER DRIVER_NAME = cpu_ppc405\r
- PARAMETER DRIVER_VER = 1.10.a\r
- PARAMETER HW_INSTANCE = ppc405_0\r
- PARAMETER COMPILER = powerpc-eabi-gcc\r
- PARAMETER ARCHIVER = powerpc-eabi-ar\r
- PARAMETER CORE_CLOCK_FREQ_HZ = 200000000\r
-END\r
-\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = jtagppc_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = uartlite\r
- PARAMETER DRIVER_VER = 1.13.a\r
- PARAMETER HW_INSTANCE = RS232_Uart\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = gpio\r
- PARAMETER DRIVER_VER = 2.12.a\r
- PARAMETER HW_INSTANCE = LEDs_4Bit\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = gpio\r
- PARAMETER DRIVER_VER = 2.12.a\r
- PARAMETER HW_INSTANCE = LEDs_Positions\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = sysace\r
- PARAMETER DRIVER_VER = 1.11.a\r
- PARAMETER HW_INSTANCE = SysACE_CompactFlash\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = emc\r
- PARAMETER DRIVER_VER = 2.00.a\r
- PARAMETER HW_INSTANCE = SRAM\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = SRAM_util_bus_split_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = clock_generator_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = proc_sys_reset_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = intc\r
- PARAMETER DRIVER_VER = 1.11.a\r
- PARAMETER HW_INSTANCE = xps_intc_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = apu_fpu\r
- PARAMETER DRIVER_VER = 2.10.a\r
- PARAMETER HW_INSTANCE = apu_fpu_0\r
-END\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.xmp b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system.xmp
deleted file mode 100644 (file)
index 4a7a93c..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#Please do not modify this file by hand\r
-XmpVersion: 10.1.01\r
-VerMgmt: 10.1.01\r
-IntStyle: default\r
-MHS File: system.mhs\r
-MSS File: system.mss\r
-NPL File: projnav/system.ise\r
-Architecture: virtex4\r
-Device: xc4vfx12\r
-Package: ff668\r
-SpeedGrade: -10\r
-UserCmd1: \r
-UserCmd1Type: 0\r
-UserCmd2: \r
-UserCmd2Type: 0\r
-TopInst: system_i\r
-GenSimTB: 0\r
-InsertNoPads: 0\r
-WarnForEAArch: 1\r
-HdlLang: VHDL\r
-Simulator: mti\r
-SimModel: BEHAVIORAL\r
-MixLangSim: 1\r
-UcfFile: data/system.ucf\r
-FpgaImpMode: 0\r
-EnableParTimingError: 1\r
-EnableResetOptimization: 0\r
-ShowLicenseDialog: 1\r
-ICacheAddr: SRAM,\r
-DCacheAddr: SRAM,\r
-Processor: ppc405_0\r
-BootLoop: 1\r
-XmdStub: 0\r
-SwProj: RTOSDemo\r
-Processor: ppc405_0\r
-Executable: RTOSDemo/executable.elf\r
-Source: RTOSDemo/../../Common/Minimal/BlockQ.c\r
-Source: RTOSDemo/../../Common/Minimal/blocktim.c\r
-Source: RTOSDemo/../../Common/Minimal/comtest.c\r
-Source: RTOSDemo/../../Common/Minimal/countsem.c\r
-Source: RTOSDemo/../../Common/Minimal/death.c\r
-Source: RTOSDemo/../../Common/Minimal/dynamic.c\r
-Source: RTOSDemo/../../Common/Minimal/flash.c\r
-Source: RTOSDemo/../../Common/Minimal/GenQTest.c\r
-Source: RTOSDemo/../../Common/Minimal/integer.c\r
-Source: RTOSDemo/../../Common/Minimal/QPeek.c\r
-Source: RTOSDemo/../../Common/Minimal/recmutex.c\r
-Source: RTOSDemo/../../Common/Minimal/semtest.c\r
-Source: RTOSDemo/../../../Source/tasks.c\r
-Source: RTOSDemo/../../../Source/list.c\r
-Source: RTOSDemo/../../../Source/queue.c\r
-Source: RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c\r
-Source: RTOSDemo/main.c\r
-Source: RTOSDemo/serial/serial.c\r
-Source: RTOSDemo/partest/partest.c\r
-Source: RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S\r
-Source: RTOSDemo/../../../Source/portable/MemMang/heap_2.c\r
-Source: RTOSDemo/flop/flop.c\r
-Source: RTOSDemo/flop/flop-reg-test.c\r
-Header: RTOSDemo/FreeRTOSConfig.h\r
-DefaultInit: EXECUTABLE\r
-InitBram: 0\r
-Active: 1\r
-CompilerOptLevel: 0\r
-GlobPtrOpt: 0\r
-DebugSym: 1\r
-ProfileFlag: 0\r
-ProgStart: \r
-StackSize: \r
-HeapSize: \r
-LinkerScript: RTOSDemo/RTOSDemo_linker_script.ld\r
-ProgCCFlags: -I./RTOSDemo/flop -I../../Source/portable/GCC/PPC405_Xilinx -I./ppc405_0/include/  -IRTOSDemo/   -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames\r
-CompileInXps: 1\r
-NonXpsApp: 0\r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system_incl.make b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/system_incl.make
deleted file mode 100644 (file)
index 7f55869..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-#################################################################\r
-# Makefile generated by Xilinx Platform Studio \r
-# Project:C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_FPU_Xilinx_Virtex4_GCC\system.xmp\r
-#\r
-# WARNING : This file will be re-generated every time a command\r
-# to run a make target is invoked. So, any changes made to this  \r
-# file manually, will be lost when make is invoked next. \r
-#################################################################\r
-\r
-XILINX_EDK_DIR = /cygdrive/c/devtools/Xilinx/10.1/EDK\r
-NON_CYG_XILINX_EDK_DIR = C:/devtools/Xilinx/10.1/EDK\r
-\r
-SYSTEM = system\r
-\r
-MHSFILE = system.mhs\r
-\r
-MSSFILE = system.mss\r
-\r
-FPGA_ARCH = virtex4\r
-\r
-DEVICE = xc4vfx12ff668-10\r
-\r
-LANGUAGE = vhdl\r
-\r
-SEARCHPATHOPT = \r
-\r
-SUBMODULE_OPT = \r
-\r
-PLATGEN_OPTIONS = -p $(DEVICE) -lang $(LANGUAGE) $(SEARCHPATHOPT) $(SUBMODULE_OPT)\r
-\r
-LIBGEN_OPTIONS = -mhs $(MHSFILE) -p $(DEVICE) $(SEARCHPATHOPT)\r
-\r
-VPGEN_OPTIONS = -p $(DEVICE) $(SEARCHPATHOPT)\r
-\r
-MANAGE_FASTRT_OPTIONS = -reduce_fanout no\r
-\r
-OBSERVE_PAR_OPTIONS = -error yes\r
-\r
-RTOSDEMO_OUTPUT_DIR = RTOSDemo\r
-RTOSDEMO_OUTPUT = $(RTOSDEMO_OUTPUT_DIR)/executable.elf\r
-\r
-MICROBLAZE_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/microblaze/mb_bootloop.elf\r
-PPC405_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/ppc405/ppc_bootloop.elf\r
-PPC440_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/ppc440/ppc440_bootloop.elf\r
-BOOTLOOP_DIR = bootloops\r
-\r
-PPC405_0_BOOTLOOP = $(BOOTLOOP_DIR)/ppc405_0.elf\r
-\r
-BRAMINIT_ELF_FILES =  \r
-BRAMINIT_ELF_FILE_ARGS =  \r
-\r
-ALL_USER_ELF_FILES = $(RTOSDEMO_OUTPUT) \r
-\r
-SIM_CMD = vsim\r
-\r
-BEHAVIORAL_SIM_SCRIPT = simulation/behavioral/$(SYSTEM)_setup.do\r
-\r
-STRUCTURAL_SIM_SCRIPT = simulation/structural/$(SYSTEM)_setup.do\r
-\r
-TIMING_SIM_SCRIPT = simulation/timing/$(SYSTEM)_setup.do\r
-\r
-DEFAULT_SIM_SCRIPT = $(BEHAVIORAL_SIM_SCRIPT)\r
-\r
-MIX_LANG_SIM_OPT = -mixed yes\r
-\r
-SIMGEN_OPTIONS = -p $(DEVICE) -lang $(LANGUAGE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) $(MIX_LANG_SIM_OPT)  -s mti -X C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/ -E C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/\r
-\r
-\r
-LIBRARIES =  \\r
-       ppc405_0/lib/libxil.a \r
-VPEXEC = virtualplatform/vpexec.exe\r
-\r
-LIBSCLEAN_TARGETS = ppc405_0_libsclean \r
-\r
-PROGRAMCLEAN_TARGETS = RTOSDemo_programclean \r
-\r
-CORE_STATE_DEVELOPMENT_FILES = \r
-\r
-WRAPPER_NGC_FILES = implementation/ppc405_0_wrapper.ngc \
-implementation/jtagppc_0_wrapper.ngc \
-implementation/plb_wrapper.ngc \
-implementation/rs232_uart_wrapper.ngc \
-implementation/leds_4bit_wrapper.ngc \
-implementation/leds_positions_wrapper.ngc \
-implementation/sysace_compactflash_wrapper.ngc \
-implementation/sram_wrapper.ngc \
-implementation/sram_util_bus_split_0_wrapper.ngc \
-implementation/clock_generator_0_wrapper.ngc \
-implementation/proc_sys_reset_0_wrapper.ngc \
-implementation/xps_intc_0_wrapper.ngc \
-implementation/fcb_v10_0_wrapper.ngc \
-implementation/apu_fpu_0_wrapper.ngc\r
-\r
-POSTSYN_NETLIST = implementation/$(SYSTEM).ngc\r
-\r
-SYSTEM_BIT = implementation/$(SYSTEM).bit\r
-\r
-DOWNLOAD_BIT = implementation/download.bit\r
-\r
-SYSTEM_ACE = implementation/$(SYSTEM).ace\r
-\r
-UCF_FILE = data/system.ucf\r
-\r
-BMM_FILE = implementation/$(SYSTEM).bmm\r
-\r
-BITGEN_UT_FILE = etc/bitgen.ut\r
-\r
-XFLOW_OPT_FILE = etc/fast_runtime.opt\r
-XFLOW_DEPENDENCY = __xps/xpsxflow.opt $(XFLOW_OPT_FILE)\r
-\r
-XPLORER_DEPENDENCY = __xps/xplorer.opt\r
-XPLORER_OPTIONS = -p $(DEVICE) -uc $(SYSTEM).ucf -bm $(SYSTEM).bmm -max_runs 7\r
-\r
-FPGA_IMP_DEPENDENCY = $(BMM_FILE) $(POSTSYN_NETLIST) $(UCF_FILE) $(BITGEN_UT_FILE) $(XFLOW_DEPENDENCY)\r
-\r
-#################################################################\r
-# SOFTWARE APPLICATION RTOSDEMO\r
-#################################################################\r
-\r
-RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c RTOSDemo/flop/flop.c RTOSDemo/flop/flop-reg-test.c\r
-\r
-RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h \r
-\r
-RTOSDEMO_CC = powerpc-eabi-gcc\r
-RTOSDEMO_CC_SIZE = powerpc-eabi-size\r
-RTOSDEMO_CC_OPT = -O0\r
-RTOSDEMO_CFLAGS = -I./RTOSDemo/flop -I../../Source/portable/GCC/PPC405_Xilinx -I./ppc405_0/include/  -IRTOSDemo/   -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames\r
-RTOSDEMO_CC_SEARCH = # -B\r
-RTOSDEMO_LIBPATH = -L./ppc405_0/lib/ # -L\r
-RTOSDEMO_INCLUDES = -I./ppc405_0/include/  -IRTOSDemo/ # -I\r
-RTOSDEMO_LFLAGS = # -l\r
-RTOSDEMO_LINKER_SCRIPT = RTOSDemo/RTOSDemo_linker_script.ld\r
-RTOSDEMO_LINKER_SCRIPT_FLAG = -Wl,-T -Wl,$(RTOSDEMO_LINKER_SCRIPT) \r
-RTOSDEMO_CC_DEBUG_FLAG =  -g \r
-RTOSDEMO_CC_PROFILE_FLAG = # -pg\r
-RTOSDEMO_CC_GLOBPTR_FLAG= # -msdata=eabi\r
-RTOSDEMO_CC_INFERRED_FLAGS= -mfpu=sp_full \r
-RTOSDEMO_CC_START_ADDR_FLAG=  #  # -Wl,-defsym -Wl,_START_ADDR=\r
-RTOSDEMO_CC_STACK_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_STACK_SIZE=\r
-RTOSDEMO_CC_HEAP_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_HEAP_SIZE=\r
-RTOSDEMO_OTHER_CC_FLAGS= $(RTOSDEMO_CC_GLOBPTR_FLAG)  \\r
-                  $(RTOSDEMO_CC_START_ADDR_FLAG) $(RTOSDEMO_CC_STACK_SIZE_FLAG) $(RTOSDEMO_CC_HEAP_SIZE_FLAG)  \\r
-                  $(RTOSDEMO_CC_INFERRED_FLAGS)  \\r
-                  $(RTOSDEMO_LINKER_SCRIPT_FLAG) $(RTOSDEMO_CC_DEBUG_FLAG) $(RTOSDEMO_CC_PROFILE_FLAG) \r
diff --git a/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/wizlog b/FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/wizlog
deleted file mode 100644 (file)
index 3f4f483..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-WARNING:MDT - ppc405_virtex4 (ppc405_0) -\r
-   C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_FPU_Xilinx_Virtex4_GCC\dump.mhs\r
-   line 28 - ADDRESS specified by PARAMETER C_IDCR_BASEADDR is ignored
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h
deleted file mode 100644 (file)
index f2072a2..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-#ifndef FREERTOS_CONFIG_H\r
-#define FREERTOS_CONFIG_H\r
-\r
-/*-----------------------------------------------------------\r
- * Application specific definitions.\r
- *\r
- * These definitions should be adjusted for your particular hardware and\r
- * application requirements.\r
- *\r
- * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
- * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. \r
- *\r
- * See http://www.freertos.org/a00110.html.\r
- *----------------------------------------------------------*/\r
-\r
-#define configUSE_PREEMPTION                   1\r
-#define configUSE_IDLE_HOOK                            0\r
-#define configUSE_TICK_HOOK                            0\r
-#define configMINIMAL_STACK_SIZE               ( ( unsigned short ) 250 )\r
-#define configCPU_CLOCK_HZ                             ( ( unsigned long ) 200000000 ) /* Clock setup from start.asm in the demo application. */\r
-#define configTICK_RATE_HZ                             ( (TickType_t) 1000 )\r
-#define configMAX_PRIORITIES                   ( 6 )\r
-#define configTOTAL_HEAP_SIZE                  ( (size_t) (80 * 1024) )\r
-#define configMAX_TASK_NAME_LEN                        ( 20 )\r
-#define configUSE_16_BIT_TICKS                 0\r
-#define configIDLE_SHOULD_YIELD                        1\r
-#define configUSE_MUTEXES                              1\r
-#define configUSE_TRACE_FACILITY               0\r
-#define configCHECK_FOR_STACK_OVERFLOW 2\r
-#define configUSE_COUNTING_SEMAPHORES  1\r
-#define configUSE_APPLICATION_TASK_TAG 1\r
-#define configUSE_FPU                                  0\r
-\r
-\r
-/* Co-routine definitions. */\r
-#define configUSE_CO_ROUTINES                  0\r
-#define configMAX_CO_ROUTINE_PRIORITIES ( 4 )\r
-\r
-/* Set the following definitions to 1 to include the API function, or zero\r
-to exclude the API function. */\r
-#define INCLUDE_vTaskPrioritySet                       1\r
-#define INCLUDE_uxTaskPriorityGet                      1\r
-#define INCLUDE_vTaskDelete                                    1\r
-#define INCLUDE_vTaskCleanUpResources          1\r
-#define INCLUDE_vTaskSuspend                           1\r
-#define INCLUDE_vResumeFromISR                         1\r
-#define INCLUDE_vTaskDelayUntil                                1\r
-#define INCLUDE_vTaskDelay                                     1\r
-#define INCLUDE_xTaskGetSchedulerState         1\r
-#define INCLUDE_xTaskGetCurrentTaskHandle      1\r
-#define INCLUDE_uxTaskGetStackHighWaterMark    1\r
-#define configUSE_RECURSIVE_MUTEXES                    1\r
-\r
-\r
-#if configUSE_FPU == 1\r
-       /* Include the header that define the traceTASK_SWITCHED_IN() and\r
-       traceTASK_SWITCHED_OUT() macros to save and restore the floating\r
-       point registers for tasks that have requested this behaviour. */\r
-       #include "FPU_Macros.h"\r
-#endif\r
-\r
-#endif /* FREERTOS_CONFIG_H */\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld
deleted file mode 100644 (file)
index 0a5bdac..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************/\r
-/*                                                                 */\r
-/* This file is automatically generated by linker script generator.*/\r
-/*                                                                 */\r
-/* Version: Xilinx EDK 10.1.01 EDK_K_SP1.3                                */\r
-/*                                                                 */\r
-/* Copyright (c) 2004 Xilinx, Inc.  All rights reserved.           */\r
-/*                                                                 */\r
-/* Description : PowerPC405 Linker Script                          */\r
-/*                                                                 */\r
-/*******************************************************************/\r
-\r
-_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400;\r
-_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x100;\r
-\r
-/* Define Memories in the system */\r
-\r
-MEMORY\r
-{\r
-   SRAM_C_MEM0_BASEADDR : ORIGIN = 0xFFF00000, LENGTH = 0x000FFFEC\r
-}\r
-\r
-/* Specify the default entry point to the program */\r
-\r
-ENTRY(_boot)\r
-STARTUP(boot.o)\r
-\r
-/* Define the sections, and where they are mapped in memory */\r
-\r
-SECTIONS\r
-{\r
-.vectors : {\r
-   __vectors_start = .;\r
-   *(.vectors)\r
-   __vectors_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.text : {\r
-   *(.text)\r
-   *(.text.*)\r
-   *(.gnu.linkonce.t.*)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.init : {\r
-   KEEP (*(.init))\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.fini : {\r
-   KEEP (*(.fini))\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.rodata : {\r
-   __rodata_start = .;\r
-   *(.rodata)\r
-   *(.rodata.*)\r
-   *(.gnu.linkonce.r.*)\r
-   __rodata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sdata2 : {\r
-   __sdata2_start = .;\r
-   *(.sdata2)\r
-   *(.sdata2.*)\r
-   *(.gnu.linkonce.s2.*)\r
-   __sdata2_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sbss2 : {\r
-   __sbss2_start = .;\r
-   *(.sbss2)\r
-   *(.sbss2.*)\r
-   *(.gnu.linkonce.sb2.*)\r
-   __sbss2_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.data : {\r
-   __data_start = .;\r
-   *(.data)\r
-   *(.data.*)\r
-   *(.gnu.linkonce.d.*)\r
-   __data_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got : {\r
-   *(.got)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got1 : {\r
-   *(.got1)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got2 : {\r
-   *(.got2)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.ctors : {\r
-   __CTOR_LIST__ = .;\r
-   ___CTORS_LIST___ = .;\r
-   KEEP (*crtbegin.o(.ctors))\r
-   KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors))\r
-   KEEP (*(SORT(.ctors.*)))\r
-   KEEP (*(.ctors))\r
-   __CTOR_END__ = .;\r
-   ___CTORS_END___ = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.dtors : {\r
-   __DTOR_LIST__ = .;\r
-   ___DTORS_LIST___ = .;\r
-   KEEP (*crtbegin.o(.dtors))\r
-   KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors))\r
-   KEEP (*(SORT(.dtors.*)))\r
-   KEEP (*(.dtors))\r
-   __DTOR_END__ = .;\r
-   ___DTORS_END___ = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.fixup : {\r
-   __fixup_start = .;\r
-   *(.fixup)\r
-   __fixup_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.eh_frame : {\r
-   *(.eh_frame)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.jcr : {\r
-   *(.jcr)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.gcc_except_table : {\r
-   *(.gcc_except_table)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sdata : {\r
-   __sdata_start = .;\r
-   *(.sdata)\r
-   *(.sdata.*)\r
-   *(.gnu.linkonce.s.*)\r
-   __sdata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sbss : {\r
-   __sbss_start = .;\r
-   *(.sbss)\r
-   *(.sbss.*)\r
-   *(.gnu.linkonce.sb.*)\r
-   __sbss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.tdata : {\r
-   __tdata_start = .;\r
-   *(.tdata)\r
-   *(.tdata.*)\r
-   *(.gnu.linkonce.td.*)\r
-   __tdata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.tbss : {\r
-   __tbss_start = .;\r
-   *(.tbss)\r
-   *(.tbss.*)\r
-   *(.gnu.linkonce.tb.*)\r
-   __tbss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.bss : {\r
-   __bss_start = .;\r
-   *(.bss)\r
-   *(.bss.*)\r
-   *(.gnu.linkonce.b.*)\r
-   *(COMMON)\r
-   . = ALIGN(4);\r
-   __bss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.boot0 0xFFFFFFEC : {\r
-   __boot0_start = .;\r
-   *(.boot0)\r
-   __boot0_end = .;\r
-} \r
-\r
-.boot 0xFFFFFFFC : {\r
-   __boot_start = .;\r
-   *(.boot)\r
-   __boot_end = .;\r
-} \r
-\r
-/* Generate Stack and Heap Sections */\r
-\r
-.stack : {\r
-   _stack_end = .;\r
-   . += _STACK_SIZE;\r
-   . = ALIGN(16);\r
-   __stack = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.heap : {\r
-   . = ALIGN(16);\r
-   _heap_start = .;\r
-   . += _HEAP_SIZE;\r
-   . = ALIGN(16);\r
-   _heap_end = .;\r
-   _end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-}\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.c b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.c
deleted file mode 100644 (file)
index 1d2d19d..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-/*\r
- * Tests the floating point context save and restore mechanism.\r
- *\r
- * Two tasks are created - each of which is allocated a buffer of \r
- * portNO_FLOP_REGISTERS_TO_SAVE 32bit variables into which the flop context\r
- * of the task is saved when the task is switched out, and from which the\r
- * flop context of the task is restored when the task is switch in.  Prior to \r
- * the tasks being created each position in the two buffers is filled with a \r
- * unique value - this way the flop context of each task is different.\r
- *\r
- * The two test tasks never block so are always in either the Running or\r
- * Ready state.  They execute at the lowest priority so will get pre-empted\r
- * regularly, although the yield frequently so will not get much execution\r
- * time.  The lack of execution time is not a problem as its only the \r
- * switching in and out that is being tested.\r
- *\r
- * Whenever a task is moved from the Ready to the Running state its flop \r
- * context will be loaded from the buffer, but while the task is in the\r
- * Running state the buffer is not used and can contain any value - in this\r
- * case and for test purposes the task itself clears the buffer to zero.  \r
- * The next time the task is moved out of the Running state into the\r
- * Ready state the flop context will once more get saved to the buffer - \r
- * overwriting the zeros.\r
- *\r
- * Therefore whenever the task is not in the Running state its buffer contains\r
- * the most recent values of its floating point registers - the zeroing out\r
- * of the buffer while the task was executing being used to ensure the values \r
- * the buffer contains are not stale.\r
- *\r
- * When neither test task is in the Running state the buffers should contain\r
- * the unique values allocated before the tasks were created.  If so then\r
- * the floating point context has been maintained.  This check is performed\r
- * by the 'check' task (defined in main.c) by calling \r
- * xAreFlopRegisterTestsStillRunning().\r
- *\r
- * The test tasks also increment a value each time they execute.\r
- * xAreFlopRegisterTestsStillRunning() also checks that this value has changed\r
- * since it last ran to ensure the test tasks are still getting processing time.\r
- */\r
-\r
-/* Standard includes files. */\r
-#include <string.h>\r
-\r
-/* Scheduler include files. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-#define flopNUMBER_OF_TASKS            2\r
-#define flopSTART_VALUE ( 0x1 )\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* The two test tasks as described at the top of this file. */\r
-static void vFlopTest1( void *pvParameters );\r
-static void vFlopTest2( void *pvParameters );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Buffers into which the flop registers will be saved.  There is a buffer for \r
-both tasks. */\r
-static volatile unsigned long ulFlopRegisters[ flopNUMBER_OF_TASKS ][ portNO_FLOP_REGISTERS_TO_SAVE ];\r
-\r
-/* Variables that are incremented by the tasks to indicate that they are still\r
-running. */\r
-static volatile unsigned long ulFlop1CycleCount = 0, ulFlop2CycleCount = 0;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-void vStartFlopRegTests( void )\r
-{\r
-TaskHandle_t xTaskJustCreated;\r
-unsigned portBASE_TYPE x, y, z = flopSTART_VALUE;\r
-\r
-       /* Fill the arrays into which the flop registers are to be saved with \r
-       known values.  These are the values that will be written to the flop\r
-       registers when the tasks start, and as the tasks do not perform any\r
-       flop operations the values should never change.  Each position in the\r
-       buffer contains a different value so the flop context of each task\r
-       will be different. */\r
-       for( x = 0; x < flopNUMBER_OF_TASKS; x++ )\r
-       {\r
-               for( y = 0; y < ( portNO_FLOP_REGISTERS_TO_SAVE - 1); y++ )\r
-               {\r
-                       ulFlopRegisters[ x ][ y ] = z;\r
-                       z++;\r
-               }\r
-       }\r
-\r
-\r
-       /* Create the first task. */\r
-       xTaskCreate( vFlopTest1, "flop1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, &xTaskJustCreated );\r
-\r
-       /* The task     tag value is a value that can be associated with a task, but \r
-       is not used by the scheduler itself.  Its use is down to the application so\r
-       it makes a convenient place in this case to store the pointer to the buffer\r
-       into which the flop context of the task will be stored.  The first created\r
-       task uses ulFlopRegisters[ 0 ], the second ulFlopRegisters[ 1 ]. */\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 0 ][ 0 ] ) );\r
-\r
-       /* Do the same for the second task. */\r
-       xTaskCreate( vFlopTest2, "flop2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, &xTaskJustCreated );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 1 ][ 0 ] ) );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vFlopTest1( void *pvParameters )\r
-{\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       for( ;; )\r
-       {\r
-               /* The values from the buffer should have now been written to the flop\r
-               registers.  Clear the buffer to ensure the same values then get written\r
-               back the next time the task runs.  Being preempted during this memset\r
-               could cause the test to fail, hence the critical section. */\r
-               portENTER_CRITICAL();\r
-                       memset( ( void * ) ulFlopRegisters[ 0 ], 0x00, ( portNO_FLOP_REGISTERS_TO_SAVE * sizeof( unsigned portBASE_TYPE ) ) );\r
-               portEXIT_CRITICAL();\r
-\r
-               /* We don't have to do anything other than indicate that we are \r
-               still running. */\r
-               ulFlop1CycleCount++;\r
-               taskYIELD();\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vFlopTest2( void *pvParameters )\r
-{\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       for( ;; )\r
-       {\r
-               /* The values from the buffer should have now been written to the flop\r
-               registers.  Clear the buffer to ensure the same values then get written\r
-               back the next time the task runs. */\r
-               portENTER_CRITICAL();\r
-                       memset( ( void * ) ulFlopRegisters[ 1 ], 0x00, ( portNO_FLOP_REGISTERS_TO_SAVE * sizeof( unsigned portBASE_TYPE ) ) );\r
-               portEXIT_CRITICAL();\r
-\r
-               /* We don't have to do anything other than indicate that we are \r
-               still running. */\r
-               ulFlop2CycleCount++;\r
-               taskYIELD();\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-portBASE_TYPE xAreFlopRegisterTestsStillRunning( void )\r
-{\r
-portBASE_TYPE xReturn = pdPASS;\r
-unsigned portBASE_TYPE x, y, z = flopSTART_VALUE;\r
-static unsigned long ulLastFlop1CycleCount = 0, ulLastFlop2CycleCount = 0;\r
-\r
-       /* Called from the 'check' task.\r
-       \r
-       The flop tasks cannot be currently running, check their saved registers\r
-       are as expected.  The tests tasks do not perform any flop operations so\r
-       their registers should be as per their initial setting. */\r
-       for( x = 0; x < flopNUMBER_OF_TASKS; x++ )\r
-       {\r
-               for( y = 0; y < ( portNO_FLOP_REGISTERS_TO_SAVE - 1 ); y++ )\r
-               {\r
-                       if( ulFlopRegisters[ x ][ y ] != z )\r
-                       {\r
-                               xReturn = pdFAIL;\r
-                               break;\r
-                       }\r
-\r
-                       z++;\r
-               }\r
-       }\r
-\r
-       /* Check both tasks have actually been swapped in and out since this function\r
-       last executed. */\r
-       if( ulFlop1CycleCount == ulLastFlop1CycleCount )\r
-       {\r
-               xReturn = pdFAIL;\r
-       }\r
-\r
-       if( ulFlop2CycleCount == ulLastFlop2CycleCount )\r
-       {\r
-               xReturn = pdFAIL;\r
-       }\r
-\r
-       ulLastFlop1CycleCount = ulFlop1CycleCount;\r
-       ulLastFlop2CycleCount = ulFlop2CycleCount;\r
-\r
-       return xReturn;\r
-}\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.h b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop-reg-test.h
deleted file mode 100644 (file)
index ee587f0..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-#ifndef FLOP_REG_TEST_H\r
-#define FLOP_REG_TEST_H\r
-\r
-void vStartFlopRegTests( void );\r
-portBASE_TYPE xAreFlopRegisterTestsStillRunning( void );\r
-\r
-#endif\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop.c b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/flop/flop.c
deleted file mode 100644 (file)
index 32b4485..0000000
+++ /dev/null
@@ -1,420 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-/*\r
- * Creates eight tasks, each of which loops continuously performing a\r
- * floating point calculation.\r
- *\r
- * All the tasks run at the idle priority and never block or yield.  This causes \r
- * all eight tasks to time slice with the idle task.  Running at the idle priority \r
- * means that these tasks will get pre-empted any time another task is ready to run\r
- * or a time slice occurs.  More often than not the pre-emption will occur mid \r
- * calculation, creating a good test of the schedulers context switch mechanism - a \r
- * calculation producing an unexpected result could be a symptom of a corruption in \r
- * the context of a task.\r
- *\r
- * This file demonstrates the use of the task tag and traceTASK_SWITCHED_IN and\r
- * traceTASK_SWITCHED_OUT macros to save and restore the floating point context.\r
- */\r
-\r
-#include <stdlib.h>\r
-#include <math.h>\r
-\r
-/* Scheduler include files. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Demo program include files. */\r
-#include "flop.h"\r
-\r
-/* Misc. definitions. */\r
-#define mathSTACK_SIZE         configMINIMAL_STACK_SIZE\r
-#define mathNUMBER_OF_TASKS  ( 8 )\r
-\r
-/* Four tasks, each of which performs a different floating point calculation.  \r
-Each of the four is created twice. */\r
-static portTASK_FUNCTION_PROTO( vCompetingMathTask1, pvParameters );\r
-static portTASK_FUNCTION_PROTO( vCompetingMathTask2, pvParameters );\r
-static portTASK_FUNCTION_PROTO( vCompetingMathTask3, pvParameters );\r
-static portTASK_FUNCTION_PROTO( vCompetingMathTask4, pvParameters );\r
-\r
-/* These variables are used to check that all the tasks are still running.  If a \r
-task gets a calculation wrong it will stop incrementing its check variable. */\r
-static volatile unsigned short usTaskCheck[ mathNUMBER_OF_TASKS ] = { ( unsigned short ) 0 };\r
-\r
-/* Buffers into which the flop registers will be saved.  There is a buffer for \r
-each task created within this file.  Zeroing out this array is the normal and\r
-safe option as this will cause the task to start with all zeros in its flop\r
-context. */\r
-static unsigned long ulFlopRegisters[ mathNUMBER_OF_TASKS ][ portNO_FLOP_REGISTERS_TO_SAVE ];\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-void vStartMathTasks( unsigned portBASE_TYPE uxPriority )\r
-{\r
-TaskHandle_t xTaskJustCreated;\r
-portBASE_TYPE x, y;\r
-\r
-       /* Place known values into the buffers into which the flop registers are \r
-       to be saved.  This is for debug purposes only, it is not normally\r
-       required.  The last position in each array is left at zero as the status\r
-       register will be loaded from there. \r
-       \r
-       It is intended that these values can be viewed being loaded into the\r
-       flop registers when a task is started - however the Insight debugger\r
-       does not seem to want to show the flop register values. */\r
-       for( x = 0; x < mathNUMBER_OF_TASKS; x++ )\r
-       {\r
-               for( y = 0; y < ( portNO_FLOP_REGISTERS_TO_SAVE - 1 ); y++ )\r
-               {\r
-                       ulFlopRegisters[ x ][ y ] = ( x + 1 );\r
-               }\r
-       }\r
-\r
-       /* Create the first task - passing it the address of the check variable\r
-       that it is going to increment.  This check variable is used as an \r
-       indication that the task is still running. */\r
-       xTaskCreate( vCompetingMathTask1, "Math1", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 0 ] ), uxPriority, &xTaskJustCreated );\r
-\r
-       /* The task     tag value is a value that can be associated with a task, but \r
-       is not used by the scheduler itself.  Its use is down to the application so\r
-       it makes a convenient place in this case to store the pointer to the buffer\r
-       into which the flop context of the task will be stored.  The first created\r
-       task uses ulFlopRegisters[ 0 ], the second ulFlopRegisters[ 1 ], etc. */\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 0 ][ 0 ] ) );\r
-\r
-       /* Create another 7 tasks, allocating a buffer for each. */\r
-       xTaskCreate( vCompetingMathTask2, "Math2", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 1 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 1 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask3, "Math3", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 2 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 2 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask4, "Math4", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 3 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 3 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask1, "Math5", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 4 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 4 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask2, "Math6", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 5 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 5 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask3, "Math7", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 6 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 6 ][ 0 ] ) );\r
-\r
-       xTaskCreate( vCompetingMathTask4, "Math8", mathSTACK_SIZE, ( void * ) &( usTaskCheck[ 7 ] ), uxPriority, &xTaskJustCreated  );\r
-       vTaskSetApplicationTaskTag( xTaskJustCreated, ( void * ) &( ulFlopRegisters[ 7 ][ 0 ] ) );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portTASK_FUNCTION( vCompetingMathTask1, pvParameters )\r
-{\r
-volatile portFLOAT ff1, ff2, ff3, ff4;\r
-volatile unsigned short *pusTaskCheckVariable;\r
-volatile portFLOAT fAnswer;\r
-short sError = pdFALSE;\r
-\r
-       ff1 = 123.4567F;\r
-       ff2 = 2345.6789F;\r
-       ff3 = -918.222F;\r
-\r
-       fAnswer = ( ff1 + ff2 ) * ff3;\r
-\r
-       /* The variable this task increments to show it is still running is passed in \r
-       as the parameter. */\r
-       pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
-\r
-       /* Keep performing a calculation and checking the result against a constant. */\r
-       for(;;)\r
-       {\r
-               ff1 = 123.4567F;\r
-               ff2 = 2345.6789F;\r
-               ff3 = -918.222F;\r
-\r
-               ff4 = ( ff1 + ff2 ) * ff3;\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               /* If the calculation does not match the expected constant, stop the \r
-               increment of the check variable. */\r
-               if( fabs( ff4 - fAnswer ) > 0.001F )\r
-               {\r
-                       sError = pdTRUE;\r
-               }\r
-\r
-               if( sError == pdFALSE )\r
-               {\r
-                       /* If the calculation has always been correct, increment the check \r
-                       variable so we know this task is still running okay. */\r
-                       ( *pusTaskCheckVariable )++;\r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portTASK_FUNCTION( vCompetingMathTask2, pvParameters )\r
-{\r
-volatile portFLOAT ff1, ff2, ff3, ff4;\r
-volatile unsigned short *pusTaskCheckVariable;\r
-volatile portFLOAT fAnswer;\r
-short sError = pdFALSE;\r
-\r
-       ff1 = -389.38F;\r
-       ff2 = 32498.2F;\r
-       ff3 = -2.0001F;\r
-\r
-       fAnswer = ( ff1 / ff2 ) * ff3;\r
-\r
-\r
-       /* The variable this task increments to show it is still running is passed in \r
-       as the parameter. */\r
-       pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
-\r
-       /* Keep performing a calculation and checking the result against a constant. */\r
-       for( ;; )\r
-       {\r
-               ff1 = -389.38F;\r
-               ff2 = 32498.2F;\r
-               ff3 = -2.0001F;\r
-\r
-               ff4 = ( ff1 / ff2 ) * ff3;\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-               \r
-               /* If the calculation does not match the expected constant, stop the \r
-               increment of the check variable. */\r
-               if( fabs( ff4 - fAnswer ) > 0.001F )\r
-               {\r
-                       sError = pdTRUE;\r
-               }\r
-\r
-               if( sError == pdFALSE )\r
-               {\r
-                       /* If the calculation has always been correct, increment the check \r
-                       variable so we know\r
-                       this task is still running okay. */\r
-                       ( *pusTaskCheckVariable )++;\r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portTASK_FUNCTION( vCompetingMathTask3, pvParameters )\r
-{\r
-volatile portFLOAT *pfArray, fTotal1, fTotal2, fDifference;\r
-volatile unsigned short *pusTaskCheckVariable;\r
-const size_t xArraySize = 10;\r
-size_t xPosition;\r
-short sError = pdFALSE;\r
-\r
-       /* The variable this task increments to show it is still running is passed in \r
-       as the parameter. */\r
-       pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
-\r
-       pfArray = ( portFLOAT * ) pvPortMalloc( xArraySize * sizeof( portFLOAT ) );\r
-\r
-       /* Keep filling an array, keeping a running total of the values placed in the \r
-       array.  Then run through the array adding up all the values.  If the two totals \r
-       do not match, stop the check variable from incrementing. */\r
-       for( ;; )\r
-       {\r
-               fTotal1 = 0.0F;\r
-               fTotal2 = 0.0F;\r
-\r
-               for( xPosition = 0; xPosition < xArraySize; xPosition++ )\r
-               {\r
-                       pfArray[ xPosition ] = ( portFLOAT ) xPosition + 5.5F;\r
-                       fTotal1 += ( portFLOAT ) xPosition + 5.5F;      \r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               for( xPosition = 0; xPosition < xArraySize; xPosition++ )\r
-               {\r
-                       fTotal2 += pfArray[ xPosition ];\r
-               }\r
-\r
-               fDifference = fTotal1 - fTotal2;\r
-               if( fabs( fDifference ) > 0.001F )\r
-               {\r
-                       sError = pdTRUE;\r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               if( sError == pdFALSE )\r
-               {\r
-                       /* If the calculation has always been correct, increment the check \r
-                       variable so we know     this task is still running okay. */\r
-                       ( *pusTaskCheckVariable )++;\r
-               }\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portTASK_FUNCTION( vCompetingMathTask4, pvParameters )\r
-{\r
-volatile portFLOAT *pfArray, fTotal1, fTotal2, fDifference;\r
-volatile unsigned short *pusTaskCheckVariable;\r
-const size_t xArraySize = 10;\r
-size_t xPosition;\r
-short sError = pdFALSE;\r
-\r
-       /* The variable this task increments to show it is still running is passed in \r
-       as the parameter. */\r
-       pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
-\r
-       pfArray = ( portFLOAT * ) pvPortMalloc( xArraySize * sizeof( portFLOAT ) );\r
-\r
-       /* Keep filling an array, keeping a running total of the values placed in the \r
-       array.  Then run through the array adding up all the values.  If the two totals \r
-       do not match, stop the check variable from incrementing. */\r
-       for( ;; )\r
-       {\r
-               fTotal1 = 0.0F;\r
-               fTotal2 = 0.0F;\r
-\r
-               for( xPosition = 0; xPosition < xArraySize; xPosition++ )\r
-               {\r
-                       pfArray[ xPosition ] = ( portFLOAT ) xPosition * 12.123F;\r
-                       fTotal1 += ( portFLOAT ) xPosition * 12.123F;   \r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               for( xPosition = 0; xPosition < xArraySize; xPosition++ )\r
-               {\r
-                       fTotal2 += pfArray[ xPosition ];\r
-               }\r
-\r
-               fDifference = fTotal1 - fTotal2;\r
-               if( fabs( fDifference ) > 0.001F )\r
-               {\r
-                       sError = pdTRUE;\r
-               }\r
-\r
-               #if configUSE_PREEMPTION == 0\r
-                       taskYIELD();\r
-               #endif\r
-\r
-               if( sError == pdFALSE )\r
-               {\r
-                       /* If the calculation has always been correct, increment the check \r
-                       variable so we know     this task is still running okay. */\r
-                       ( *pusTaskCheckVariable )++;\r
-               }\r
-       }\r
-}                               \r
-/*-----------------------------------------------------------*/\r
-\r
-/* This is called to check that all the created tasks are still running. */\r
-portBASE_TYPE xAreMathsTaskStillRunning( void )\r
-{\r
-/* Keep a history of the check variables so we know if they have been incremented \r
-since the last call. */\r
-static unsigned short usLastTaskCheck[ mathNUMBER_OF_TASKS ] = { ( unsigned short ) 0 };\r
-portBASE_TYPE xReturn = pdTRUE, xTask;\r
-\r
-       /* Check the maths tasks are still running by ensuring their check variables \r
-       are still incrementing. */\r
-       for( xTask = 0; xTask < mathNUMBER_OF_TASKS; xTask++ )\r
-       {\r
-               if( usTaskCheck[ xTask ] == usLastTaskCheck[ xTask ] )\r
-               {\r
-                       /* The check has not incremented so an error exists. */\r
-                       xReturn = pdFALSE;\r
-               }\r
-\r
-               usLastTaskCheck[ xTask ] = usTaskCheck[ xTask ];\r
-       }\r
-\r
-       return xReturn;\r
-}\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c
deleted file mode 100644 (file)
index 4b002dd..0000000
+++ /dev/null
@@ -1,725 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-/*\r
- * Creates all the demo application tasks, then starts the scheduler.  The WEB\r
- * documentation provides more details of the demo application tasks.\r
- * \r
- * In addition to the standard demo tasks, the follow demo specific tasks are\r
- * create:\r
- *\r
- * The "Check" task.  This only executes every three seconds but has the highest \r
- * priority so is guaranteed to get processor time.  Its main function is to \r
- * check that all the other tasks are still operational.  Most tasks maintain \r
- * a unique count that is incremented each time the task successfully completes \r
- * its function.  Should any error occur within such a task the count is \r
- * permanently halted.  The check task inspects the count of each task to ensure \r
- * it has changed since the last time the check task executed.  If all the count \r
- * variables have changed all the tasks are still executing error free, and the \r
- * check task toggles the onboard LED.  Should any task contain an error at any time \r
- * the LED toggle rate will change from 3 seconds to 500ms.\r
- *\r
- * The "Register Check" tasks.  These tasks fill the CPU registers with known\r
- * values, then check that each register still contains the expected value, the\r
- * discovery of an unexpected value being indicative of an error in the RTOS\r
- * context switch mechanism.  The register check tasks operate at low priority\r
- * so are switched in and out frequently.\r
- *\r
- */\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Xilinx library includes. */\r
-#include "xcache_l.h"\r
-#include "xintc.h"\r
-\r
-/* Demo application includes. */\r
-#include "flash.h"\r
-#include "integer.h"\r
-#include "comtest2.h"\r
-#include "semtest.h"\r
-#include "BlockQ.h"\r
-#include "dynamic.h"\r
-#include "GenQTest.h"\r
-#include "QPeek.h"\r
-#include "blocktim.h"\r
-#include "death.h"\r
-#include "partest.h"\r
-#include "countsem.h"\r
-#include "recmutex.h"\r
-#include "flop.h"\r
-#include "flop-reg-test.h"\r
-\r
-/* Priorities assigned to the demo tasks. */\r
-#define mainCHECK_TASK_PRIORITY                        ( tskIDLE_PRIORITY + 4 )\r
-#define mainSEM_TEST_PRIORITY                  ( tskIDLE_PRIORITY + 2 )\r
-#define mainCOM_TEST_PRIORITY                  ( tskIDLE_PRIORITY + 1 )\r
-#define mainQUEUE_BLOCK_PRIORITY               ( tskIDLE_PRIORITY + 1 )\r
-#define mainDEATH_PRIORITY                             ( tskIDLE_PRIORITY + 1 )\r
-#define mainLED_TASK_PRIORITY                  ( tskIDLE_PRIORITY + 1 )\r
-#define mainGENERIC_QUEUE_PRIORITY             ( tskIDLE_PRIORITY )\r
-#define mainQUEUE_POLL_PRIORITY                        ( tskIDLE_PRIORITY + 1 )\r
-#define mainFLOP_PRIORITY                              ( tskIDLE_PRIORITY )\r
-\r
-/* The first LED used by the COM test and check tasks respectively. */\r
-#define mainCOM_TEST_LED                               ( 4 )\r
-#define mainCHECK_TEST_LED                             ( 3 )\r
-\r
-/* The baud rate used by the comtest tasks is set by the hardware, so the\r
-baud rate parameters passed into the comtest initialisation has no effect. */\r
-#define mainBAUD_SET_IN_HARDWARE               ( 0 )\r
-\r
-/* Delay periods used by the check task.  If no errors have been found then\r
-the check LED will toggle every mainNO_ERROR_CHECK_DELAY milliseconds.  If an\r
-error has been found at any time then the toggle rate will increase to \r
-mainERROR_CHECK_DELAY milliseconds. */\r
-#define mainNO_ERROR_CHECK_DELAY               ( ( TickType_t ) 3000 / portTICK_PERIOD_MS  )\r
-#define mainERROR_CHECK_DELAY                  ( ( TickType_t ) 500 / portTICK_PERIOD_MS  )\r
-\r
-\r
-/* \r
- * The tasks defined within this file - described within the comments at the\r
- * head of this page. \r
- */\r
-static void prvRegTestTask1( void *pvParameters );\r
-static void prvRegTestTask2( void *pvParameters );\r
-static void prvErrorChecks( void *pvParameters );\r
-\r
-/*\r
- * Called by the 'check' task to inspect all the standard demo tasks within\r
- * the system, as described within the comments at the head of this page.\r
- */\r
-static portBASE_TYPE prvCheckOtherTasksAreStillRunning( void );\r
-\r
-/*\r
- * Perform any hardware initialisation required by the demo application.\r
- */\r
-static void prvSetupHardware( void );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* xRegTestStatus will get set to pdFAIL by the regtest tasks if they\r
-discover an unexpected value. */\r
-static volatile unsigned portBASE_TYPE xRegTestStatus = pdPASS;\r
-\r
-/* Counters used to ensure the regtest tasks are still running. */\r
-static volatile unsigned long ulRegTest1Counter = 0UL, ulRegTest2Counter = 0UL;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-int main( void )\r
-{\r
-\r
-       /* Must be called prior to installing any interrupt handlers! */\r
-       vPortSetupInterruptController();\r
-\r
-       /* In this case prvSetupHardware() just enables the caches and and\r
-       configures the IO ports for the LED outputs. */\r
-       prvSetupHardware();\r
-\r
-       /* Start the standard demo application tasks.  Note that the baud rate used\r
-       by the comtest tasks is set by the hardware, so the baud rate parameter\r
-       passed has no effect. */\r
-       vStartLEDFlashTasks( mainLED_TASK_PRIORITY );   \r
-       vStartIntegerMathTasks( tskIDLE_PRIORITY );\r
-       vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainBAUD_SET_IN_HARDWARE, mainCOM_TEST_LED );\r
-       vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );\r
-       vStartBlockingQueueTasks ( mainQUEUE_BLOCK_PRIORITY );  \r
-       vStartDynamicPriorityTasks();   \r
-       vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY );\r
-       vStartQueuePeekTasks();\r
-       vCreateBlockTimeTasks();\r
-       vStartCountingSemaphoreTasks();\r
-       vStartRecursiveMutexTasks();\r
-\r
-       #if ( configUSE_FPU == 1 )\r
-       {\r
-               /* A different project is provided that has configUSE_FPU set to 1\r
-               in order to demonstrate all the settings required to use the floating\r
-               point unit.  If you wish to use the floating point unit do not start\r
-               with this project. */\r
-               vStartMathTasks( mainFLOP_PRIORITY );\r
-               vStartFlopRegTests();\r
-       }\r
-       #endif\r
-\r
-       /* Create the tasks defined within this file. */\r
-       xTaskCreate( prvRegTestTask1, "Regtest1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
-       xTaskCreate( prvRegTestTask2, "Regtest2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
-       xTaskCreate( prvErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );\r
-\r
-       /* The suicide tasks must be started last as they record the number of other\r
-       tasks that exist within the system.  The value is then used to ensure at run\r
-       time the number of tasks that exists is within expected bounds. */\r
-       vCreateSuicidalTasks( mainDEATH_PRIORITY );\r
-\r
-       /* Now start the scheduler.  Following this call the created tasks should\r
-       be executing. */        \r
-       vTaskStartScheduler();\r
-\r
-       /* vTaskStartScheduler() will only return if an error occurs while the \r
-       idle task is being created. */\r
-       for( ;; );\r
-\r
-       return 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portBASE_TYPE prvCheckOtherTasksAreStillRunning( void )\r
-{\r
-portBASE_TYPE lReturn = pdPASS;\r
-static unsigned long ulLastRegTest1Counter= 0UL, ulLastRegTest2Counter = 0UL;\r
-\r
-       /* The demo tasks maintain a count that increments every cycle of the task\r
-       provided that the task has never encountered an error.  This function \r
-       checks the counts maintained by the tasks to ensure they are still being\r
-       incremented.  A count remaining at the same value between calls therefore\r
-       indicates that an error has been detected. */\r
-\r
-       if( xAreIntegerMathsTaskStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       if( xAreComTestTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreSemaphoreTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreBlockingQueuesStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xIsCreateTaskStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreGenericQueueTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreQueuePeekTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       #if ( configUSE_FPU == 1 )\r
-               if( xAreMathsTaskStillRunning() != pdTRUE )\r
-               {\r
-                       lReturn = pdFAIL;\r
-               }\r
-\r
-               if( xAreFlopRegisterTestsStillRunning() != pdTRUE )\r
-               {\r
-                       lReturn = pdFAIL;\r
-               }\r
-       #endif\r
-\r
-       /* Have the register test tasks found any errors? */\r
-       if( xRegTestStatus != pdPASS )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       /* Are the register test tasks still looping? */\r
-       if( ulLastRegTest1Counter == ulRegTest1Counter )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       else\r
-       {\r
-               ulLastRegTest1Counter = ulRegTest1Counter;\r
-       }\r
-\r
-       if( ulLastRegTest2Counter == ulRegTest2Counter )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       else\r
-       {\r
-               ulLastRegTest2Counter = ulRegTest2Counter;\r
-       }\r
-\r
-       return lReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvErrorChecks( void *pvParameters )\r
-{\r
-TickType_t xDelayPeriod = mainNO_ERROR_CHECK_DELAY, xLastExecutionTime;\r
-volatile unsigned portBASE_TYPE uxFreeStack;\r
-\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       /* This call is just to demonstrate the use of the function - nothing is\r
-       done with the value.  You would expect the stack high water mark to be\r
-       lower (the function to return a larger value) here at function entry than\r
-       later following calls to other functions. */\r
-       uxFreeStack = uxTaskGetStackHighWaterMark( NULL );\r
-\r
-       /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil()\r
-       works correctly. */\r
-       xLastExecutionTime = xTaskGetTickCount();\r
-\r
-       /* Cycle for ever, delaying then checking all the other tasks are still\r
-       operating without error. */\r
-       for( ;; )\r
-       {\r
-               /* Again just for demo purposes - uxFreeStack should have a lower value\r
-               here than following the call to uxTaskGetStackHighWaterMark() on the\r
-               task entry. */\r
-               uxFreeStack = uxTaskGetStackHighWaterMark( NULL );\r
-\r
-               /* Wait until it is time to check again.  The time we wait here depends\r
-               on whether an error has been detected or not.  When an error is \r
-               detected the time is shortened resulting in a faster LED flash rate. */\r
-               vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod );\r
-\r
-               /* See if the other tasks are all ok. */\r
-               if( prvCheckOtherTasksAreStillRunning() != pdPASS )\r
-               {\r
-                       /* An error occurred in one of the tasks so shorten the delay \r
-                       period - which has the effect of increasing the frequency of the\r
-                       LED toggle. */\r
-                       xDelayPeriod = mainERROR_CHECK_DELAY;\r
-               }\r
-\r
-               /* Flash! */\r
-               vParTestToggleLED( mainCHECK_TEST_LED );\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvSetupHardware( void )\r
-{\r
-       XCache_EnableICache( 0x80000000 );\r
-       XCache_EnableDCache( 0x80000000 );\r
-\r
-       /* Setup the IO port for use with the LED outputs. */\r
-       vParTestInitialise();\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvRegTest1Pass( void )\r
-{\r
-       /* Called from the inline assembler - this cannot be static\r
-       otherwise it can get optimised away. */\r
-       ulRegTest1Counter++;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvRegTest2Pass( void )\r
-{\r
-       /* Called from the inline assembler - this cannot be static\r
-       otherwise it can get optimised away. */\r
-       ulRegTest2Counter++;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvRegTestFail( void )\r
-{\r
-       /* Called from the inline assembler - this cannot be static\r
-       otherwise it can get optimised away. */\r
-       xRegTestStatus = pdFAIL;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvRegTestTask1( void *pvParameters )\r
-{\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       /* The first register test task as described at the top of this file.  The\r
-       values used in the registers are different to those use in the second \r
-       register test task.  Also, unlike the second register test task, this task\r
-       yields between setting the register values and subsequently checking the\r
-       register values. */\r
-       asm volatile\r
-       (\r
-               "RegTest1Start:                                 \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 301                          \n\t" \\r
-               "       mtspr   256, 0  #USPRG0         \n\t" \\r
-               "       li              0, 501                          \n\t" \\r
-               "       mtspr   8, 0    #LR                     \n\t" \\r
-               "       li              0, 4                            \n\t" \\r
-               "       mtspr   1, 0    #XER            \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 1                            \n\t" \\r
-               "       li              2, 2                            \n\t" \\r
-               "       li              3, 3                            \n\t" \\r
-               "       li              4,      4                               \n\t" \\r
-               "       li              5,      5                               \n\t" \\r
-               "       li              6,      6                               \n\t" \\r
-               "       li              7,      7                               \n\t" \\r
-               "       li              8,      8                               \n\t" \\r
-               "       li              9,      9                               \n\t" \\r
-               "       li              10,     10                              \n\t" \\r
-               "       li              11,     11                              \n\t" \\r
-               "       li              12,     12                              \n\t" \\r
-               "       li              13,     13                              \n\t" \\r
-               "       li              14,     14                              \n\t" \\r
-               "       li              15,     15                              \n\t" \\r
-               "       li              16,     16                              \n\t" \\r
-               "       li              17,     17                              \n\t" \\r
-               "       li              18,     18                              \n\t" \\r
-               "       li              19,     19                              \n\t" \\r
-               "       li              20,     20                              \n\t" \\r
-               "       li              21,     21                              \n\t" \\r
-               "       li              22,     22                              \n\t" \\r
-               "       li              23,     23                              \n\t" \\r
-               "       li              24,     24                              \n\t" \\r
-               "       li              25,     25                              \n\t" \\r
-               "       li              26,     26                              \n\t" \\r
-               "       li              27,     27                              \n\t" \\r
-               "       li              28,     28                              \n\t" \\r
-               "       li              29,     29                              \n\t" \\r
-               "       li              30,     30                              \n\t" \\r
-               "       li              31,     31                              \n\t" \\r
-               "                                                               \n\t" \\r
-               "       sc                                                      \n\t" \\r
-               "       nop                                                     \n\t" \\r
-               "                                                               \n\t" \\r
-               "       cmpwi   0, 1                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   2, 2                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   3, 3                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   4, 4                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   5, 5                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   6, 6                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   7, 7                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   8, 8                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   9, 9                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   10, 10                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   11, 11                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   12, 12                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   13, 13                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   14, 14                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   15, 15                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   16, 16                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   17, 17                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   18, 18                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   19, 19                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   20, 20                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   21, 21                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   22, 22                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   23, 23                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   24, 24                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   25, 25                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   26, 26                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   27, 27                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   28, 28                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   29, 29                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   30, 30                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   31, 31                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       mfspr   0, 256  #USPRG0         \n\t" \\r
-               "       cmpwi   0, 301                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       mfspr   0, 8    #LR                     \n\t" \\r
-               "       cmpwi   0, 501                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       mfspr   0, 1    #XER            \n\t" \\r
-               "       cmpwi   0, 4                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTest1Pass                      \n\t" \\r
-               "       b RegTest1Start                         \n\t" \\r
-               "                                                               \n\t" \\r
-               "RegTest1Fail:                                  \n\t" \\r
-               "                                                               \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTestFail                       \n\t" \\r
-               "       b RegTest1Start                         \n\t" \\r
-       );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvRegTestTask2( void *pvParameters )\r
-{\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pvParameters;\r
-\r
-       /* The second register test task as described at the top of this file.  \r
-       Note that this task fills the registers with different values to the\r
-       first register test task. */\r
-       asm volatile\r
-       (\r
-               "RegTest2Start:                                 \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 300                          \n\t" \\r
-               "       mtspr   256, 0  #USPRG0         \n\t" \\r
-               "       li              0, 500                          \n\t" \\r
-               "       mtspr   8, 0    #LR                     \n\t" \\r
-               "       li              0, 4                            \n\t" \\r
-               "       mtspr   1, 0    #XER            \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 11                           \n\t" \\r
-               "       li              2, 12                           \n\t" \\r
-               "       li              3, 13                           \n\t" \\r
-               "       li              4,      14                              \n\t" \\r
-               "       li              5,      15                              \n\t" \\r
-               "       li              6,      16                              \n\t" \\r
-               "       li              7,      17                              \n\t" \\r
-               "       li              8,      18                              \n\t" \\r
-               "       li              9,      19                              \n\t" \\r
-               "       li              10,     110                             \n\t" \\r
-               "       li              11,     111                             \n\t" \\r
-               "       li              12,     112                             \n\t" \\r
-               "       li              13,     113                             \n\t" \\r
-               "       li              14,     114                             \n\t" \\r
-               "       li              15,     115                             \n\t" \\r
-               "       li              16,     116                             \n\t" \\r
-               "       li              17,     117                             \n\t" \\r
-               "       li              18,     118                             \n\t" \\r
-               "       li              19,     119                             \n\t" \\r
-               "       li              20,     120                             \n\t" \\r
-               "       li              21,     121                             \n\t" \\r
-               "       li              22,     122                             \n\t" \\r
-               "       li              23,     123                             \n\t" \\r
-               "       li              24,     124                             \n\t" \\r
-               "       li              25,     125                             \n\t" \\r
-               "       li              26,     126                             \n\t" \\r
-               "       li              27,     127                             \n\t" \\r
-               "       li              28,     128                             \n\t" \\r
-               "       li              29,     129                             \n\t" \\r
-               "       li              30,     130                             \n\t" \\r
-               "       li              31,     131                             \n\t" \\r
-               "                                                               \n\t" \\r
-               "       cmpwi   0, 11                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   2, 12                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   3, 13                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   4, 14                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   5, 15                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   6, 16                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   7, 17                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   8, 18                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   9, 19                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   10, 110                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   11, 111                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   12, 112                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   13, 113                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   14, 114                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   15, 115                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   16, 116                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   17, 117                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   18, 118                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   19, 119                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   20, 120                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   21, 121                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   22, 122                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   23, 123                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   24, 124                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   25, 125                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   26, 126                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   27, 127                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   28, 128                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   29, 129                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   30, 130                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   31, 131                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       mfspr   0, 256  #USPRG0         \n\t" \\r
-               "       cmpwi   0, 300                          \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       mfspr   0, 8    #LR                     \n\t" \\r
-               "       cmpwi   0, 500                          \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       mfspr   0, 1    #XER            \n\t" \\r
-               "       cmpwi   0, 4                            \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTest2Pass                      \n\t" \\r
-               "       b RegTest2Start                         \n\t" \\r
-               "                                                               \n\t" \\r
-               "RegTest2Fail:                                  \n\t" \\r
-               "                                                               \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTestFail                       \n\t" \\r
-               "       b RegTest2Start                         \n\t" \\r
-       );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-/* This hook function will get called if there is a suspected stack overflow.\r
-An overflow can cause the task name to be corrupted, in which case the task\r
-handle needs to be used to determine the offending task. */\r
-void vApplicationStackOverflowHook( TaskHandle_t xTask, signed char *pcTaskName );\r
-void vApplicationStackOverflowHook( TaskHandle_t xTask, signed char *pcTaskName )\r
-{\r
-/* To prevent the optimiser removing the variables. */\r
-volatile TaskHandle_t xTaskIn = xTask;\r
-volatile signed char *pcTaskNameIn = pcTaskName;\r
-\r
-       /* Remove compiler warnings. */\r
-       ( void ) xTaskIn;\r
-       ( void ) pcTaskNameIn;\r
-\r
-       /* The following three calls are simply to stop compiler warnings about the\r
-       functions not being used - they are called from the inline assembly. */\r
-       prvRegTest1Pass();\r
-       prvRegTest2Pass();\r
-       prvRegTestFail();\r
-\r
-       for( ;; );\r
-}\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c
deleted file mode 100644 (file)
index 6311f14..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-\r
-/* Demo application includes. */\r
-#include "partest.h"\r
-\r
-/* Library includes. */\r
-#include "xparameters.h"\r
-#include "xgpio_l.h"\r
-\r
-/* Misc hardware specific definitions. */\r
-#define partstALL_AS_OUTPUT    0x00\r
-#define partstCHANNEL_1                0x01\r
-#define partstMAX_4BIT_LED     0x03\r
-\r
-/* The outputs are split into two IO sections, these variables maintain the \r
-current value of either section. */\r
-static unsigned portBASE_TYPE uxCurrentOutput4Bit, uxCurrentOutput5Bit;\r
-\r
-/*-----------------------------------------------------------*/\r
-/*\r
- * Setup the IO for the LED outputs.\r
- */\r
-void vParTestInitialise( void )\r
-{\r
-       /* Set both sets of LED's on the demo board to outputs. */\r
-       XGpio_mSetDataDirection( XPAR_LEDS_4BIT_BASEADDR, partstCHANNEL_1, partstALL_AS_OUTPUT );\r
-       XGpio_mSetDataDirection( XPAR_LEDS_POSITIONS_BASEADDR, partstCHANNEL_1, partstALL_AS_OUTPUT );\r
-\r
-       /* Start with all outputs off. */\r
-       uxCurrentOutput4Bit = 0;\r
-       XGpio_mSetDataReg( XPAR_LEDS_4BIT_BASEADDR, partstCHANNEL_1, 0x00 );\r
-       uxCurrentOutput5Bit = 0;\r
-       XGpio_mSetDataReg( XPAR_LEDS_POSITIONS_BASEADDR, partstCHANNEL_1, 0x00 );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
-{\r
-unsigned portBASE_TYPE uxBaseAddress, *puxCurrentValue;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* Which IO section does the LED being set/cleared belong to?  The\r
-               4 bit or 5 bit outputs? */\r
-               if( uxLED <= partstMAX_4BIT_LED )\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_4BIT_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput5Bit;\r
-               }       \r
-               else\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_POSITIONS_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput4Bit;\r
-                       uxLED -= partstMAX_4BIT_LED;\r
-               }\r
-\r
-               /* Setup the bit mask accordingly. */\r
-               uxLED = 0x01 << uxLED;\r
-\r
-               /* Maintain the current output value. */\r
-               if( xValue )\r
-               {\r
-                       *puxCurrentValue |= uxLED;\r
-               }\r
-               else\r
-               {\r
-                       *puxCurrentValue &= ~uxLED;\r
-               }\r
-\r
-               /* Write the value to the port. */\r
-               XGpio_mSetDataReg( uxBaseAddress, partstCHANNEL_1, *puxCurrentValue );\r
-       }\r
-       portEXIT_CRITICAL();\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
-{\r
-unsigned portBASE_TYPE uxBaseAddress, *puxCurrentValue;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* Which IO section does the LED being toggled belong to?  The\r
-               4 bit or 5 bit outputs? */\r
-               if( uxLED <= partstMAX_4BIT_LED )\r
-               {\r
-\r
-                       uxBaseAddress = XPAR_LEDS_4BIT_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput5Bit;\r
-               }       \r
-               else\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_POSITIONS_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput4Bit;\r
-                       uxLED -= partstMAX_4BIT_LED;\r
-               }\r
-\r
-               /* Setup the bit mask accordingly. */\r
-               uxLED = 0x01 << uxLED;\r
-\r
-               /* Maintain the current output value. */\r
-               if( *puxCurrentValue & uxLED )\r
-               {\r
-                       *puxCurrentValue &= ~uxLED;\r
-               }\r
-               else\r
-               {\r
-                       *puxCurrentValue |= uxLED;\r
-               }\r
-\r
-               /* Write the value to the port. */\r
-               XGpio_mSetDataReg(uxBaseAddress, partstCHANNEL_1, *puxCurrentValue );\r
-       }\r
-       portEXIT_CRITICAL();\r
-}\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c
deleted file mode 100644 (file)
index 5e390a6..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-\r
-/* \r
-       BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR UART\r
-*/\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "queue.h"\r
-#include "task.h"\r
-\r
-/* Demo application includes. */\r
-#include "serial.h"\r
-\r
-/* Library includes. */\r
-#include "xparameters.h"\r
-#include "xuartlite.h"\r
-#include "xuartlite_l.h"\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Queues used to hold received characters, and characters waiting to be\r
-transmitted. */\r
-static QueueHandle_t xRxedChars; \r
-static QueueHandle_t xCharsForTx; \r
-\r
-/* Structure that maintains information on the UART being used. */\r
-static XUartLite xUART;\r
-\r
-/*\r
- * Sample UART interrupt handler.  Note this is used to demonstrate the kernel\r
- * features and test the port - it is not intended to represent an efficient\r
- * implementation.\r
- */\r
-static void vSerialISR( XUartLite *pxUART );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )\r
-{\r
-       /* NOTE: The baud rate used by this driver is determined by the hardware\r
-       parameterization of the UART Lite peripheral, and the baud value passed to\r
-       this function has no effect. */\r
-       ( void ) ulWantedBaud;\r
-\r
-       /* Create the queues used to hold Rx and Tx characters. */\r
-       xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );\r
-       xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );\r
-\r
-       /* Only initialise the UART if the queues were created correctly. */\r
-       if( ( xRxedChars != NULL ) && ( xCharsForTx != NULL ) )\r
-       {\r
-\r
-               XUartLite_Initialize( &xUART, XPAR_RS232_UART_DEVICE_ID );\r
-               XUartLite_ResetFifos( &xUART );\r
-               XUartLite_DisableInterrupt( &xUART );\r
-\r
-               if( xPortInstallInterruptHandler( XPAR_XPS_INTC_0_RS232_UART_INTERRUPT_INTR, ( XInterruptHandler )vSerialISR, (void *)&xUART ) == pdPASS )\r
-               {\r
-                       /* xPortInstallInterruptHandler() could fail if \r
-                       vPortSetupInterruptController() has not been called prior to this \r
-                       function. */\r
-                       XUartLite_EnableInterrupt( &xUART );\r
-               }\r
-       }\r
-       \r
-       /* There is only one port so the handle is not used. */\r
-       return ( xComPortHandle ) 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, TickType_t xBlockTime )\r
-{\r
-       /* The port handle is not required as this driver only supports one UART. */\r
-       ( void ) pxPort;\r
-\r
-       /* Get the next character from the buffer.  Return false if no characters\r
-       are available, or arrive before xBlockTime expires. */\r
-       if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )\r
-       {\r
-               return pdTRUE;\r
-       }\r
-       else\r
-       {\r
-               return pdFALSE;\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, TickType_t xBlockTime )\r
-{\r
-portBASE_TYPE xReturn = pdTRUE;\r
-\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pxPort;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* If the UART FIFO is full we can block posting the new data on the\r
-               Tx queue. */\r
-               if( XUartLite_mIsTransmitFull( XPAR_RS232_UART_BASEADDR ) )\r
-               {\r
-                       if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )\r
-                       {\r
-                               xReturn = pdFAIL;\r
-                       }\r
-               }\r
-               /* Otherwise, if there is data already in the queue we should add the\r
-               new data to the back of the queue to ensure the sequencing is \r
-               maintained. */\r
-               else if( uxQueueMessagesWaiting( xCharsForTx ) )\r
-               {\r
-                       if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )\r
-                       {\r
-                               xReturn = pdFAIL;\r
-                       }                       \r
-               }\r
-               /* If the UART FIFO is not full and there is no data already in the\r
-               queue we can write directly to the FIFO without disrupting the \r
-               sequence. */\r
-               else\r
-               {\r
-                       XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cOutChar );\r
-               }\r
-       }\r
-       portEXIT_CRITICAL();\r
-\r
-       return xReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vSerialClose( xComPortHandle xPort )\r
-{\r
-       /* Not supported as not required by the demo application. */\r
-       ( void ) xPort;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vSerialISR( XUartLite *pxUART )\r
-{\r
-unsigned long ulISRStatus;\r
-portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE, lDidSomething;\r
-char cChar;\r
-\r
-       /* Just to remove compiler warning. */\r
-       ( void ) pxUART;\r
-\r
-       do\r
-       {\r
-               lDidSomething = pdFALSE;\r
-\r
-               ulISRStatus = XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_STATUS_REG_OFFSET );\r
-\r
-               if( ( ulISRStatus & XUL_SR_RX_FIFO_VALID_DATA ) != 0 )\r
-               {\r
-                       /* A character is available - place it in the queue of received\r
-                       characters.  This might wake a task that was blocked waiting for \r
-                       data. */\r
-                       cChar = ( char ) XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_RX_FIFO_OFFSET );\r
-                       xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );\r
-                       lDidSomething = pdTRUE;\r
-               }\r
-               \r
-               if( ( ulISRStatus & XUL_SR_TX_FIFO_EMPTY ) != 0 )\r
-               {\r
-                       /* There is space in the FIFO - if there are any characters queue for\r
-                       transmission they can be sent to the UART now.  This might unblock a\r
-                       task that was waiting for space to become available on the Tx queue. */\r
-                       if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )\r
-                       {\r
-                               XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cChar );\r
-                               lDidSomething = pdTRUE;\r
-                       }                       \r
-               }\r
-       } while( lDidSomething == pdTRUE );\r
-\r
-       /* If we woke any tasks we may require a context switch. */\r
-       if( xHigherPriorityTaskWoken )\r
-       {\r
-               portYIELD_FROM_ISR();\r
-       }\r
-}\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/ReadMe.txt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/ReadMe.txt
new file mode 100644 (file)
index 0000000..ad84b27
--- /dev/null
@@ -0,0 +1,3 @@
+If you need the demo that used to be in this directory then download FreeRTOS V8.2.3\r
+from http://sourceforge.net/projects/freertos/files/FreeRTOS/\r
+\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_BifShapes.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_BifShapes.xsl
deleted file mode 100644 (file)
index e3f4c3f..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-<!-- ======================= DEF BLOCK =================================== -->
-       
-<xsl:template name="Define_BifTypes">
-       
-       <xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
-               
-               <xsl:call-template name="Define_BifType"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-               <xsl:call-template name="Define_BifBusConnectors"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-       </xsl:for-each>
-       
-<!--   
-       <xsl:message>The color of bus  <xsl:value-of select="@BUSSTD"/> is <xsl:value-of select="@RGB"/></xsl:message>
-       <xsl:message>The OPB Bus color is  <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[@BUSSTD = 'OPB']/@RGB"/> </xsl:message>
--->    
-</xsl:template>        
-       
-
-<xsl:template name="Define_BifType"> 
-       
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-                       
-    <symbol id="{$iBusType}_Bif">
-               <rect x="0"  
-                         y="0" 
-                         rx="3"
-                         ry="3"
-                         width= "{$BIF_W}" 
-                         height="{$BIF_H}" 
-                         style="fill:{$busColor_}; stroke:black; stroke-width:1"/> 
-       </symbol>
-       
-</xsl:template>
-
-<xsl:template name="Define_BifBusConnectors"> 
-       
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="busColor_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bifc_wi_" select="ceiling($BIFC_W div 3)"/>
-       <xsl:variable name="bifc_hi_" select="ceiling($BIFC_H div 3)"/>
-       
-    <symbol id="{$iBusType}_busconn_MASTER">
-               <rect x="0"  
-                         y="0" 
-                         width= "{$BIFC_W}" 
-                         height="{$BIFC_H}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <rect x="{$BIFC_dx + 0.5}"  
-                         y="{$BIFC_dy}" 
-                         width= "{$BIFC_Wi}" 
-                         height="{$BIFC_Hi}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_INITIATOR">
-               <rect x="0"  
-                         y="0" 
-                         width= "{$BIFC_W}" 
-                         height="{$BIFC_H}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <rect x="{$BIFC_dx + 0.5}"  
-                         y="{$BIFC_dy}" 
-                         width= "{$BIFC_Wi}" 
-                         height="{$BIFC_Hi}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_SLAVE">
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_TARGET">
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-       </symbol>
-       
-       
-    <symbol id="{$iBusType}_busconn_MASTER_SLAVE">
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-                         
-               <rect x="0"  
-                         y="{ceiling($BIFC_H div 2)}" 
-                         width= "{$BIFC_W}" 
-                         height="{ceiling($BIFC_H div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <rect x="{$BIFC_dx + 0.5}"  
-                         y="{ceiling($BIFC_H div 2)}" 
-                         width= "{$BIFC_Wi}" 
-                         height="{ceiling($BIFC_Hi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-                         
-       </symbol>
-
-    <symbol id="{$iBusType}_busconn_MONITOR">
-               
-               <rect x="0"  
-                         y="0.5" 
-                         width= "{$BIFC_W}" 
-                         height="{ceiling($BIFC_Hi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-                         
-               <rect x="0"  
-                         y="{ceiling($BIFC_H div 2) + 4}" 
-                         width= "{$BIFC_W}" 
-                         height="{ceiling($BIFC_Hi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-                         
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_TRANSPARENT">
-    
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$busColor_}; stroke:none;"/> 
-               
-       </symbol>
-       
-    <symbol id="{$iBusType}_busconn_">
-    
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$COL_WHITE}; stroke:{$busColor_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$COL_WHITE}; stroke:none;"/> 
-               
-       </symbol>
-       
-       
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Colors.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Colors.xsl
deleted file mode 100644 (file)
index a4efce5..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-           
-<xsl:variable name="COL_RED"        select="'#AA0000'"/>
-<xsl:variable name="COL_GRAY"       select="'#E1E1E1'"/>
-<xsl:variable name="COL_BLACK"      select="'#000000'"/>
-<xsl:variable name="COL_WHITE"      select="'#FFFFFF'"/>
-<xsl:variable name="COL_YELLOW"     select="'#FFFFDD'"/>
-<xsl:variable name="COL_YELLOW_LT"  select="'#FFFFEE'"/>                               
-                               
-<xsl:variable name="COL_BG"          select="'#CCCCCC'"/>                              
-<xsl:variable name="COL_BG_LT"       select="'#EEEEEE'"/>                              
-<xsl:variable name="COL_BG_UNK"      select="'#DDDDDD'"/>                              
-       
-<xsl:variable name="COL_PROC_BG"     select="'#FFCCCC'"/>                              
-<xsl:variable name="COL_PROC_BG_MB"  select="'#222222'"/>                              
-<xsl:variable name="COL_PROC_BG_PP"  select="'#90001C'"/>                              
-<xsl:variable name="COL_PROC_BG_USR" select="'#666699'"/>                              
-       
-<xsl:variable name="COL_MPMC_BG"     select="'#8B0800'"/>
-       
-<xsl:variable name="COL_MOD_BG"      select="'#F0F0F0'"/>                              
-<xsl:variable name="COL_MOD_SPRT"    select="'#888888'"/>
-<xsl:variable name="COL_MOD_MPRT"    select="'#888888'"/>
-
-<xsl:variable name="COL_INTR_0"      select="'#FF9900'"/>
-<xsl:variable name="COL_INTR_1"      select="'#00CCCC'"/>
-<xsl:variable name="COL_INTR_2"      select="'#33FF33'"/>
-<xsl:variable name="COL_INTR_3"      select="'#FF00CC'"/>
-<xsl:variable name="COL_INTR_4"      select="'#99FF33'"/>
-<xsl:variable name="COL_INTR_5"      select="'#0066CC'"/>
-<xsl:variable name="COL_INTR_6"      select="'#9933FF'"/>
-<xsl:variable name="COL_INTR_7"      select="'#3300FF'"/>
-<xsl:variable name="COL_INTR_8"      select="'#00FF33'"/>
-<xsl:variable name="COL_INTR_9"      select="'#FF3333'"/>
-
-
-<xsl:variable name="COL_IORING"     select="'#000088'"/>                               
-<xsl:variable name="COL_IORING_LT"  select="'#CCCCFF'"/>                               
-<xsl:variable name="COL_SYSPRT"     select="'#0000BB'"/>                       
-       
-       
-<xsl:variable name="COL_BUSSTDS">
-       
-       <BUSCOLOR BUSSTD="XIL"        RGB="#990066" RGB_LT="#CC3399"/>
-       <BUSCOLOR BUSSTD="OCM"            RGB="#0000DD" RGB_LT="#9999DD"/>
-       <BUSCOLOR BUSSTD="OPB"        RGB="#339900" RGB_LT="#CCDDCC"/>
-       <BUSCOLOR BUSSTD="LMB"        RGB="#7777FF" RGB_LT="#DDDDFF"/>
-       <BUSCOLOR BUSSTD="FSL"        RGB="#CC00CC" RGB_LT="#FFBBFF"/>
-       <BUSCOLOR BUSSTD="DCR"        RGB="#6699FF" RGB_LT="#BBDDFF"/>
-       <BUSCOLOR BUSSTD="FCB"        RGB="#8C00FF" RGB_LT="#CCCCFF"/>
-       <BUSCOLOR BUSSTD="PLB"        RGB="#FF5500" RGB_LT="#FFBB00"/>
-       <BUSCOLOR BUSSTD="PLBV46"     RGB="#BB9955" RGB_LT="#FFFFDD"/>
-       <BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#BB9955" RGB_LT="#FFFFDD"/>
-       
-<!--   
-       <BUSCOLOR BUSSTD="PLBV46"     RGB="#9966FF" RGB_LT="#CCCCFF"/>
-       <BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#9966FF" RGB_LT="#CCCCFF"/>
-       <BUSCOLOR BUSSTD="PLB"        RGB="#FFAA33" RGB_LT="#FFEE33"/>
-       <BUSCOLOR BUSSTD="PLBV46"     RGB="#FF5500" RGB_LT="#FFBB00"/>
-       <BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#FF5500" RGB_LT="#FFBB00"/>
--->    
-       
-       <BUSCOLOR BUSSTD="TRS"         RGB="#009999" RGB_LT="#00CCCC"/>
-       <BUSCOLOR BUSSTD="TRANS"       RGB="#009999" RGB_LT="#00CCCC"/>
-       <BUSCOLOR BUSSTD="TRANSPARENT" RGB="#009999" RGB_LT="#00CCCC"/>
-
-       <BUSCOLOR BUSSTD="TARGET"      RGB="#009999" RGB_LT="#00CCCC"/>
-       <BUSCOLOR BUSSTD="INITIATOR"   RGB="#009999" RGB_LT="#00CCCC"/>
-       
-       <BUSCOLOR BUSSTD="KEY"             RGB="#444444" RGB_LT="#888888"/>
-       
-</xsl:variable>
-       
-<xsl:template name="BusType2Color">
-       <xsl:param name="iBusType"  select="'OPB'"/>
-       
-       <xsl:choose>
-               <xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB">
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'TRS')]/@RGB"/>
-               </xsl:otherwise>
-       </xsl:choose>           
-</xsl:template>        
-       
-       
-<xsl:template name="BusType2LightColor">
-       <xsl:param name="iBusType"  select="'OPB'"/>
-       
-<!--   
-       <xsl:message>The color of bus  <xsl:value-of select="$busType"/> is <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@RGB"/>
--->    
-               
-       <xsl:choose>
-               <xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB_LT">
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB_LT"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'TRS')]/@RGB_LT"/>
-               </xsl:otherwise>
-       </xsl:choose>           
-</xsl:template>        
-               
-
-<xsl:template name="intcIdx2Color">
-       <xsl:param name="iIntcIdx"  select="'0'"/>
-
-       <xsl:variable name="idx_" select="$iIntcIdx mod 9"/>
-       
-       <xsl:choose>
-               <xsl:when test="$idx_ = '0'"><xsl:value-of select="$COL_INTR_0"/></xsl:when>
-               <xsl:when test="$idx_ = '1'"><xsl:value-of select="$COL_INTR_1"/></xsl:when>
-               <xsl:when test="$idx_ = '2'"><xsl:value-of select="$COL_INTR_2"/></xsl:when>
-               <xsl:when test="$idx_ = '3'"><xsl:value-of select="$COL_INTR_3"/></xsl:when>
-               <xsl:when test="$idx_ = '4'"><xsl:value-of select="$COL_INTR_4"/></xsl:when>
-               <xsl:when test="$idx_ = '5'"><xsl:value-of select="$COL_INTR_5"/></xsl:when>
-               <xsl:when test="$idx_ = '6'"><xsl:value-of select="$COL_INTR_6"/></xsl:when>
-               <xsl:when test="$idx_ = '7'"><xsl:value-of select="$COL_INTR_7"/></xsl:when>
-               <xsl:when test="$idx_ = '8'"><xsl:value-of select="$COL_INTR_8"/></xsl:when>
-               <xsl:when test="$idx_ = '9'"><xsl:value-of select="$COL_INTR_9"/></xsl:when>
-               <xsl:otherwise>
-                       <xsl:value-of select="$COL_INTR_0"/>    
-               </xsl:otherwise>
-       </xsl:choose>
-</xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Diagrams.css b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSVG_Diagrams.css
deleted file mode 100644 (file)
index bde7995..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-       text.busintlabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpmctitle {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   16pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Verdana Helvetica sans-serif;
-       }
-       
-       text.mpmcbiflabel {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.buslabel {
-               fill:        #CC3333;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-                       
-       text.iplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: 800;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.iptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.procclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-               
-               
-       text.portlabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipdbiflbl {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.mmMHeader {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mmSHeader {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.dbglabel {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.iopnumb {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ioplblgrp {
-               fill:        #000088;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-       tspan.iopgrp {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               baseline-shift:super;
-               font-family: Arial Courier san-serif;
-       }
-
-
-       text.biflabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.p2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.sharedbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.bciplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.bciptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.splitbustxt {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: sans-serif;
-       }
-
-       text.horizp2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.keytitle {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   12pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keyheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keylabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.keylblul {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               text-decoration: underline;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.specsvalue {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsvaluemid {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.intrsymbol {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_BusLaneSpaces.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_BusLaneSpaces.xsl
deleted file mode 100644 (file)
index 90ba612..0000000
+++ /dev/null
@@ -1,2774 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-       
-       
-<!-- 
-                ===========================================================
-                       Handle Bucket connections to the shared busses.
-                ===========================================================
--->            
-       
-<xsl:template name="BCLaneSpace_BucketToSharedBus">    
-       
-       <xsl:param name="iBusStd"           select="'NONE'"/>   
-       <xsl:param name="iBusName"          select="'NONE'"/>   
-       <xsl:param name="iBifRank"          select="'NONE'"/>   
-       <xsl:param name="iStackToEast"      select="'NONE'"/>   
-       <xsl:param name="iStackToWest"      select="'NONE'"/>   
-       <xsl:param name="iStackToEast_W"    select="0"/>        
-       <xsl:param name="iStackToWest_W"    select="0"/>        
-       <xsl:param name="iLaneInSpace_X"    select="0"/>        
-       <xsl:param name="iSpaceSharedBus_Y" select="0"/>        
-       
-<!--   
-       <xsl:message>Stack To East <xsl:value-of select="$iStackToEast"/></xsl:message>
-       <xsl:message>Stack to West <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message>Stack to East Width <xsl:value-of select="$iStackToEast_W"/></xsl:message>
-       <xsl:message>Stack to West Width <xsl:value-of select="$iStackToWest_W"/></xsl:message>
-       <xsl:message>Shared Bus Y <xsl:value-of select="$iSpaceSharedBus_Y"/></xsl:message>
-       <xsl:message>Lane in space X <xsl:value-of select="$iLaneInSpace_X"/></xsl:message>
--->    
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="sbs_idx_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE= $iBusName)]/@BUSINDEX"/>
-       <xsl:variable name="sbs_name_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $sbs_idx_)]/@BUSNAME"/>
-                                       
-       <xsl:variable name="sbs_bc_y_" select="($iSpaceSharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H))"/>
-                                       
-       <xsl:variable name="bktshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $sbs_idx_)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="bktshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $sbs_idx_)]/@SHAPE_VERTI_INDEX"/>
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>
-       
-<!--   
-       <xsl:message>Ext Shape to West <xsl:value-of select="$extSpaceWest_W_"/></xsl:message>
-       <xsl:message>Ext Shape to East <xsl:value-of select="$extSpaceEast_W_"/></xsl:message>
--->    
-       <xsl:variable name="bktshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$bktshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$bktshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                                               
-       <xsl:variable name="sbsStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:if test="($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_)">
-                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                               </xsl:if>       
-                               
-                               <xsl:if test="not($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_)">0</xsl:if>       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="vert_line_x_"   select="($iLaneInSpace_X  +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y1_"  select="($iSpaceSharedBus_Y   + ($sbs_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y2_"  select="($bktshp_Y_ + ceiling($BLKD_MOD_W div 2) + $sbsStack_H_diff_)"/>
-       <xsl:variable name="bcInSpace_X_"   select="($iLaneInSpace_X  +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-       
-       
-<!--   
-       <xsl:message>Shared Bus Y <xsl:value-of select="$G_SharedBus_Y"/></xsl:message>
-       <xsl:message>Vert Bus Y <xsl:value-of select="$vert_line_y1_"/></xsl:message>
-       <xsl:message>vert y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>
-       <xsl:message>vert y2 <xsl:value-of select="$vert_line_y2_"/></xsl:message>
--->    
-       
-       <xsl:variable name="horz_line_y_"   select="$vert_line_y2_"/>
-       <xsl:variable name="horz_line_x1_"  select="$vert_line_x_"/>
-       <xsl:variable name="horz_line_x2_"  select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_)"/>
-       
-       <xsl:variable name="v_bus_ul_x_"   select="$vert_line_x_"/>
-       <xsl:variable name="v_bus_ul_y_"   select="$vert_line_y1_"/>
-       <xsl:variable name="v_bus_width_"  select="$BLKD_P2P_BUS_W"/>
-               
-       <xsl:variable name="v_bus_height_" select="(($vert_line_y2_ - $vert_line_y1_) - ceiling($BLKD_BIFC_H div 2))"/>
-       
-       <xsl:variable name="h_bus_ul_x_"   select="$v_bus_ul_x_"/>
-       <xsl:variable name="h_bus_ul_y_"   select="$vert_line_y2_   - $BLKD_BIFC_H + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-       <xsl:variable name="h_bus_width_"  select="ceiling($space_W_ div 2) + $extSpaceEast_W_"/>
-       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-       
-<!--   
-       <xsl:variable name="h_bus_width_"  select="($space_W_ + ceiling(($extSpaceWest_W_ + $extSpaceEast_W_) div 2) - $BLKD_BIFC_W)"/>
-       <xsl:message>v bus x <xsl:value-of select="$v_bus_ul_x_"/></xsl:message>
-       <xsl:message>v bus y <xsl:value-of select="$v_bus_ul_y_"/></xsl:message>
-       <xsl:message>v bus w <xsl:value-of select="$v_bus_width_"/></xsl:message>
-       <xsl:message>v bus y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>
-       <xsl:message>v bus y2 <xsl:value-of select="$vert_line_y2_"/></xsl:message>
-       <xsl:message>v bus h <xsl:value-of select="$v_bus_height_"/></xsl:message>
-       <xsl:message>h bus w <xsl:value-of select="$h_bus_width_"/></xsl:message>
--->    
-       
-       
-       <!-- Draw rectangular parts of the bus -->
-       <rect x="{$v_bus_ul_x_}" 
-                 y="{$v_bus_ul_y_ - 2}"  
-                 width= "{$v_bus_width_}" 
-                 height="{$v_bus_height_}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-       
-       <rect x="{$h_bus_ul_x_}" 
-                 y="{$h_bus_ul_y_ - 5}"  
-                 width= "{$h_bus_width_}" 
-                 height="{$h_bus_height_}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-<!--   
--->
-               
-</xsl:template>                                        
-       
-<!--
-                ===========================================================
-                       Handle Processor's Shared bus connections.
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_ProcBifToSharedBus">   
-       
-       <xsl:param name="iBusStd"           select="'NONE'"/>   
-       <xsl:param name="iBusName"          select="'NONE'"/>   
-       <xsl:param name="iBifRank"          select="'NONE'"/>   
-       <xsl:param name="iStackToEast"      select="'NONE'"/>   
-       <xsl:param name="iStackToWest"      select="'NONE'"/>   
-       <xsl:param name="iStackToEast_W"    select="0"/>        
-       <xsl:param name="iStackToWest_W"    select="0"/>        
-       <xsl:param name="iLaneInSpace_X"    select="0"/>        
-       <xsl:param name="iSpaceSharedBus_Y" select="0"/>        
-       
-<!--                                           
-       <xsl:message>Proc diff  <xsl:value-of select="$procStack_H_diff_"/></xsl:message>
-       <xsl:message>Proc inst  <xsl:value-of select="$procInst_"/></xsl:message>
-       <xsl:message>Proc Bif Name <xsl:value-of select="$procBifName_"/></xsl:message>
-       <xsl:message>Proc Bif Rank <xsl:value-of select="$procBifRank_"/></xsl:message>
--->
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="sbs_idx_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE= $iBusName)]/@BUSINDEX"/>
-       <xsl:variable name="sbs_bc_y_" select="($iSpaceSharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H))"/>
-       <xsl:variable name="procInst_" select="BUSCONN/@INSTANCE"/>
-       
-       
-<!--   
-       <xsl:message>Shared Bus Idx <xsl:value-of select="$sbs_idx_"/></xsl:message>
-       <xsl:message>Proc inst  <xsl:value-of select="$procInst_"/></xsl:message>
--->                                            
-       
-       <xsl:variable name="procBif_Y_"    select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * BUSCONN/@BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-       <xsl:variable name="procBifName_"  select="BUSCONN/@BUSINTERFACE"/>
-       <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInst_)]/BUSINTERFACE[(@NAME = $procBifName_)]/@BIF_X"/>
-       <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInst_)]/BUSINTERFACE[(@NAME = $procBifName_)]/@BIFRANK"/>
-                                               
-       <xsl:variable name="procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInst_)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInst_)]/@SHAPE_VERTI_INDEX"/>
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>
-       
-                                               
-<!--                                           
-       <xsl:message>Stack horiz  <xsl:value-of select="$procshp_hori_idx_"/></xsl:message>
-       <xsl:message>Stack verti  <xsl:value-of select="$procshp_vert_idx_"/></xsl:message>
-       <xsl:message>Proc Bif Y   <xsl:value-of select="$procBif_Y_"/></xsl:message>
--->                                            
-                                               
-       <xsl:variable name="procshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$procshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$procshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                                               
-       
-       <xsl:variable name="procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($procshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($procshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="bc_Y_"  select="($procshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) + $procStack_H_diff_) - ceiling($BLKD_BIFC_H div 2)"/>
-<!--   
-       <xsl:variable name="bc_x_"  select="($laneInSpace_X +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="bc_x_"  select="0"/>
--->    
-       <xsl:variable name="bc_X_">
-               <xsl:choose>
-                       <xsl:when test="$procBifSide_ = '0'">
-                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-<!--                           
-                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($BLKD_MOD_W div 2))"/>
-                               <xsl:value-of select="($space_W_ -  ceiling($BLKD_MOD_W div 2))"/>
--->                            
-                       </xsl:when>
-                       <xsl:when test="$procBifSide_ = '1'">
-                               <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       <!-- Place the bus connection -->
-       <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{$iBusStd}_busconn_{$procBifRank_}"/>
-                                               
-       
-       <xsl:variable name="vert_line_x_"   select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y1_"  select="($procshp_Y_ + $procBif_Y_ + ceiling($BLKD_BIF_H div 2) + $procStack_H_diff_)"/>
-       <xsl:variable name="vert_line_y2_"  select="($iSpaceSharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_BIFC_W div 2))"/>
-       
-<!--   
-       <xsl:message>Vert line Y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>
-       <xsl:message>Vert line Y2 <xsl:value-of select="$vert_line_y2_"/></xsl:message>
--->            
-       
-       <xsl:variable name="v_bus_ul_y_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="$vert_line_y2_"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="$vert_line_y1_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="v_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($vert_line_x_ + $BLKD_MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="($vert_line_x_ - $BLKD_MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-               
-       <xsl:variable name="v_bus_width_" select="$BLKD_P2P_BUS_W"/>
-       <xsl:variable name="v_bus_height_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_) - $BLKD_P2P_BUS_W"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="($vert_line_y2_ - $vert_line_y1_) - $BLKD_P2P_BUS_W"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="h_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($bc_X_ + $BLKD_BIFC_W - ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2))"/>
-<!--                           
-                               <xsl:value-of select="$v_bus_ul_x_"/>
--->    
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="$v_bus_ul_x_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_y_">
-                       <xsl:choose>
-                               <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                                       <xsl:value-of select="$vert_line_y2_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               </xsl:when>
-                               <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                                       <xsl:value-of select="$vert_line_y1_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-       
-       
-               <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-               <xsl:variable name="h_bus_width_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="$v_bus_ul_x_ - $h_bus_ul_x_ + $BLKD_P2P_BUS_W"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($bc_X_ - $v_bus_ul_x_) + ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2) + 1"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-                       
-<!--                   
-               <xsl:if test="(@ORIENTED = 'WEST')">
-               </xsl:if>
-                       
-               <xsl:message>bc_X_  <xsl:value-of select="$bc_X_"/></xsl:message>
-               <xsl:message>v_bus_ul_x  <xsl:value-of select="$v_bus_ul_x_"/></xsl:message>
-               <xsl:message>h_bus_width <xsl:value-of select="$h_bus_width_"/></xsl:message>
-               <xsl:message>h_bus_ul_y  <xsl:value-of select="$h_bus_ul_y_"/></xsl:message>
--->    
-                       
-               <rect x="{$v_bus_ul_x_}" 
-                         y="{$v_bus_ul_y_ + 2}"  
-                         width= "{$v_bus_width_}" 
-                         height="{$v_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-               
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-               
-<!--                                           
-               <xsl:message>Proc diff  <xsl:value-of select="$procStack_H_diff_"/></xsl:message>
-               <xsl:message>Proc inst  <xsl:value-of select="$procInst_"/></xsl:message>
-               <xsl:message>Proc Bif Name <xsl:value-of select="$procBifName_"/></xsl:message>
-               <xsl:message>Proc Bif Rank <xsl:value-of select="$procBifRank_"/></xsl:message>
--->
-       
-</xsl:template>                                        
-       
-                                       
-<!--
-                ===========================================================
-                       Handle non Processor Sharedebus connections.
-                ===========================================================
--->
-                               
-<xsl:template name="BCLaneSpace_NonProcBifToSharedBus">        
-       
-       <xsl:param name="iBusStd"           select="'NONE'"/>   
-       <xsl:param name="iBusName"          select="'NONE'"/>   
-       <xsl:param name="iBifRank"          select="'NONE'"/>   
-       <xsl:param name="iStackToEast"      select="'NONE'"/>   
-       <xsl:param name="iStackToWest"      select="'NONE'"/>   
-       <xsl:param name="iStackToEast_W"    select="0"/>        
-       <xsl:param name="iStackToWest_W"    select="0"/>        
-       <xsl:param name="iLaneInSpace_X"    select="0"/>        
-       <xsl:param name="iSpaceSharedBus_Y" select="0"/>        
-       
-                                               
-       <xsl:variable name="sbs_idx_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE= $iBusName)]/@BUSINDEX"/>
-       <xsl:variable name="sbs_bc_y_" select="($iSpaceSharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H))"/>
-<!--   
-       <xsl:variable name="sbs_bc_y_" select="($G_SharedBus_Y + ($sbs_idx_ * $BLKD_SBS_LANE_H))"/>
--->    
-                                               
-       <xsl:variable name="cmplxInst_" select="BUSCONN/@INSTANCE"/>
-                                               
-       <xsl:variable name="cmplxBif_Y_"    select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * BUSCONN/@BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-       <xsl:variable name="cmplxBifName_"  select="BUSCONN/@BUSINTERFACE"/>
-       <xsl:variable name="cmplxBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $cmplxInst_)]/BUSINTERFACE[(@NAME = $cmplxBifName_)]/@BIF_X"/>
-       <xsl:variable name="cmplxBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $cmplxInst_)]/BUSINTERFACE[(@NAME = $cmplxBifName_)]/@BIFRANK"/>
-                                               
-       <xsl:variable name="cmplxshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $cmplxInst_)])]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="cmplxshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $cmplxInst_)])]/@SHAPE_VERTI_INDEX"/>
-                                               
-       <xsl:variable name="is_abvSbs_" select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $cmplxInst_)]]/@IS_ABVSBS)"/>
-       <xsl:variable name="is_blwSbs_" select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $cmplxInst_)]]/@IS_BLWSBS)"/>
-       
-       
-<!--                                           
-       <xsl:message>iStackToEast <xsl:value-of select="$iStackToEast"/></xsl:message>
-       <xsl:message>iStackToWest <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_blwSbs_"/></xsl:message>
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_abvSbs_"/></xsl:message>
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_blwSbs_"/></xsl:message>
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_abvSbs_"/></xsl:message>
-       <xsl:message>Stack horiz  <xsl:value-of select="$cmplxshp_hori_idx_"/></xsl:message>
-       <xsl:message>Stack verti  <xsl:value-of select="$cmplxshp_vert_idx_"/></xsl:message>
-       <xsl:message>Proc Bif Y   <xsl:value-of select="$procBif_Y_"/></xsl:message>
--->                                            
-       
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                         
-       
-       <xsl:variable name="cmplxshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$cmplxshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$cmplxshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Complex shape Y <xsl:value-of select="$cmplxshp_Y_"/></xsl:message>
--->    
-       
-       <xsl:variable name="stackToEast_">
-               <xsl:choose>
-                       <xsl:when test="not($iStackToEast = 'NONE')"><xsl:value-of select="$iStackToEast"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="stackToWest_">
-               <xsl:choose>
-                       <xsl:when test=" not($iStackToWest = 'NONE')"><xsl:value-of select="$iStackToWest"/></xsl:when>
-                       <xsl:when test="(not($iStackToEast = 'NONE') and not($iStackToEast = '0'))"><xsl:value-of select="($iStackToEast - 1)"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-                                               
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($stackToEast_ = 'NONE') or ($stackToWest_ = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($stackToEast_ = 'NONE') or ($stackToWest_ = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$stackToWest_"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$stackToEast_"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($cmplxshp_hori_idx_ = $stackToEast_) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($cmplxshp_hori_idx_ = $stackToWest_) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       
-       <xsl:variable name="bc_Y_"  select="($cmplxshp_Y_ + $cmplxBif_Y_ + ceiling($BIF_H div 2) + $cmplxStack_H_diff_) - ceiling($BLKD_BIFC_H div 2)"/>
-       
-       
-<!--   
-       <xsl:message>Sstack H Diff  <xsl:value-of select="$cmplxStack_H_diff_"/></xsl:message>
-       <xsl:message>BC Y <xsl:value-of select="$bc_Y_"/></xsl:message>
-       <xsl:variable name="bc_x_"  select="($laneInSpace_X +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="bc_x_"  select="0"/>
--->    
-       <xsl:variable name="bc_X_">
-               <xsl:choose>
-                       <xsl:when test="$cmplxBifSide_ = '0'">
-                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                       </xsl:when>
-                       <xsl:when test="$cmplxBifSide_ = '1'">
-                               <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{$iBusStd}_busconn_{$cmplxBifRank_}"/>
-       
-<!--   
-       <xsl:message>Bif Rank <xsl:value-of select="$cmplxBifRank_"/></xsl:message>
--->    
-       <xsl:variable name="vert_line_x_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y1_" select="($cmplxshp_Y_ + $cmplxBif_Y_ + ceiling($BLKD_BIF_H div 2) + $cmplxStack_H_diff_)"/>
-       <xsl:variable name="vert_line_y2_"  select="($iSpaceSharedBus_Y  + ($sbs_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_BIFC_W div 2))"/>
-<!--   
-       <xsl:variable name="vert_line_y2_"  select="($G_SharedBus_Y  + ($sbs_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_BIFC_W div 2))"/>
--->    
-       
-       <xsl:variable name="v_bus_ul_y_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="$vert_line_y2_"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="$vert_line_y1_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="v_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($vert_line_x_ + $BLKD_MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="($vert_line_x_ - $BLKD_MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="v_bus_width_" select="$BLKD_P2P_BUS_W"/>
-       <xsl:variable name="v_bus_height_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_) - $BLKD_P2P_BUS_W + 8"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="($vert_line_y2_ - $vert_line_y1_) - $BLKD_P2P_BUS_W + 8"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="h_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($bc_X_ + $BLKD_BIFC_W - ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2))"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="$v_bus_ul_x_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="h_bus_ul_y_">
-               <xsl:choose>
-                       
-                       <xsl:when test="($is_blwSbs_ = 'TRUE') and ($vert_line_y1_ &gt; $vert_line_y2_)">
-                               <xsl:value-of select="$vert_line_y1_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       <xsl:when test="($is_blwSbs_ = 'TRUE') and ($vert_line_y2_ &gt; $vert_line_y1_)">
-                               <xsl:value-of select="$vert_line_y2_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       
-                       <xsl:when test="($is_abvSbs_ = 'TRUE') and ($vert_line_y1_ &gt; $vert_line_y2_)">
-                               <xsl:value-of select="$vert_line_y2_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       <xsl:when test="($is_abvSbs_ = 'TRUE') and ($vert_line_y2_ &gt; $vert_line_y1_)">
-                               <xsl:value-of select="$vert_line_y1_ - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       
-               </xsl:choose>
-       </xsl:variable> 
-       
-       
-       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-       <xsl:variable name="h_bus_width_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="$v_bus_ul_x_ - $h_bus_ul_x_ + $BLKD_P2P_BUS_W"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="($bc_X_ - $v_bus_ul_x_) + ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2) + 1"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-       
-                       
-       <rect x="{$v_bus_ul_x_}" 
-                 y="{$v_bus_ul_y_ - 2}"  
-                 width= "{$v_bus_width_}" 
-                 height="{$v_bus_height_}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-               
-       <rect x="{$h_bus_ul_x_}" 
-                 y="{$h_bus_ul_y_}"  
-                 width= "{$h_bus_width_}" 
-                 height="{$h_bus_height_}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-               
-</xsl:template>                                        
-       
-<!-- 
-                ===========================================================
-                       Handle connections from processors to Memory UNITs
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_ProcBifToMemoryUnit">  
-       
-       <xsl:param name="iBusStd"        select="'NONE'"/>      
-       <xsl:param name="iBusName"       select="'NONE'"/>      
-       <xsl:param name="iBifRank"       select="'NONE'"/>      
-       <xsl:param name="iStackToEast"   select="'NONE'"/>      
-       <xsl:param name="iStackToWest"   select="'NONE'"/>      
-       <xsl:param name="iStackToEast_W" select="0"/>   
-       <xsl:param name="iStackToWest_W" select="0"/>   
-       <xsl:param name="iLaneInSpace_X" select="0"/>   
-       
-                                               
-<!--   
-       <xsl:message>Stack To East <xsl:value-of select="$iStackToEast"/></xsl:message>
-       <xsl:message>Stack to West <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message>Stack to East Width <xsl:value-of select="$iStackToEast_W"/></xsl:message>
-       <xsl:message>Stack to West Width <xsl:value-of select="$iStackToWest_W"/></xsl:message>
-       <xsl:message>Shared Bus Y <xsl:value-of select="$iSpaceSharedBus_Y"/></xsl:message>
-       <xsl:message>Lane in space X <xsl:value-of select="$iLaneInSpace_X"/></xsl:message>
-       <xsl:variable name="bcInSpace_X_"  select="($laneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-       
--->    
-       
-       
-       <xsl:variable name="bcInSpace_X_"  select="$iLaneInSpace_X"/>
-       <xsl:variable name="procInstance_" select="BUSCONN[@IS_PROCCONN]/@INSTANCE"/>
-       <xsl:variable name="mem_procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="mem_procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>
-                                               
-       <xsl:variable name="mem_procshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$mem_procshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$mem_procshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-       
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($mem_procshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($mem_procshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       <xsl:variable name="mem_procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-       
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                       <xsl:choose>
-                               <xsl:when test="(($mem_procshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                               </xsl:when>     
-                               <xsl:when test="(($mem_procshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                               </xsl:when>     
-                               <xsl:otherwise>0</xsl:otherwise>        
-                       </xsl:choose>   
-                                                                       
-               </xsl:when>
-       </xsl:choose>
-  </xsl:variable>
-                                               
-       <!-- Store the conns in a variable -->  
-       <xsl:variable name="memConn_heights_">
-
-               <xsl:for-each select="BUSCONN">
-                                                               
-                       <xsl:variable name="bifName_"       select="@BUSINTERFACE"/>
-                       
-                                                       
-                       <xsl:choose>
-                               <xsl:when test="@IS_PROCCONN and @BIF_Y">
-                                                       
-                                       <xsl:variable name="procBif_Y_"    select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                       <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                       <xsl:variable name="bcProc_Y_"     select="($mem_procshp_Y_ + $procBif_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $mem_procStack_H_diff_)"/>
-                                       <xsl:variable name="bcProc_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$procBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$procBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>0</xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       <MEMCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME="{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                                                                               
-                               </xsl:when>
-                                                                       
-                               <xsl:otherwise>
-                                                                       
-                                       <xsl:variable name="memcInstance_"  select="@INSTANCE"/>
-                                       <xsl:variable name="memcshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@SHAPE_VERTI_INDEX"/>
-                                       <xsl:variable name="memcBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                       <xsl:variable name="memcBif_Y_"    select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                                                               
-                                       <xsl:variable name="memshp_Y_">
-                                               <xsl:call-template name="_calc_Stack_Shape_Y">
-                                                       <xsl:with-param name="iHorizIdx"  select="$mem_procshp_hori_idx_"/>
-                                                       <xsl:with-param name="iVertiIdx"  select="$memcshp_vert_idx_"/>
-                                               </xsl:call-template>
-                                   </xsl:variable>
-                                       
-                                       <xsl:variable name="memcMOD_W_" select="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@MODS_W) * $BLKD_MOD_W)"/>
-                                                                               
-                                       <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                       
-                                       <xsl:variable name="memcConn_Y_">
-                                               <xsl:choose>
-                                                       <xsl:when test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@MODS_H = 1)">
-                                                               <xsl:value-of  select="($memshp_Y_ + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V) +  ($memcBif_Y_ * ($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V)) + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>
-                                                               <xsl:value-of  select="($memshp_Y_ + $BLKD_MOD_H + $BLKD_MOD_LANE_H + ($memcBif_Y_ * ($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V)) + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                                       </xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                       
-                                       <xsl:variable name="memcConn_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$memcBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($memcMOD_W_ div 2) + $BLKD_BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$memcBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($memcMOD_W_ div 2)"/>
-                                                       </xsl:when>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       <xsl:variable name="memcBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="memcBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       
-                                       <MEMCONN X="{$memcConn_X_}" Y="{$memcConn_Y_}" BUSNAME="{$memcBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$memcBifRank_}" BIFSIDE="{$memcBifSide_}"/>
-<!--                                   
--->                                    
-                                       
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:for-each>
-       </xsl:variable>
-                                               
-                                               
-       <!-- Draw the busconnection and horizontal lines.-->                                            
-       <xsl:for-each select="exsl:node-set($memConn_heights_)/MEMCONN">
-                                                       
-               <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-               <xsl:variable name="bus_y_" select="@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               
-               <xsl:variable name="h_bus_ul_x_">
-                       <xsl:choose>
-                               <xsl:when test="@BIFSIDE='0'">
-                                       <xsl:value-of select="$bus_x_"/>
-                               </xsl:when>
-                               <xsl:when test="@BIFSIDE='1'">
-                                       <xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-               <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-               <xsl:variable name="h_bus_width_">
-                       <xsl:choose>
-                               <xsl:when test="@BIFSIDE='0'">
-                                       <xsl:value-of select="(@X - $bus_x_ - $BLKD_BUS_ARROW_W)"/>
-                               </xsl:when>
-                               <xsl:when test="@BIFSIDE='1'">
-                                       <xsl:value-of select="$bus_x_ - $h_bus_ul_x_"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-<!--           
-               <xsl:message>bc_X_       <xsl:value-of select="@X"/></xsl:message>
-               <xsl:message>h_bus_ul_x  <xsl:value-of select="$h_bus_ul_x_"/></xsl:message>
-               <xsl:message>h_bus_ul_y  <xsl:value-of select="$h_bus_ul_y_"/></xsl:message>
-               <xsl:message>h_bus_width <xsl:value-of select="$h_bus_width_"/></xsl:message>
--->            
-               
-               <!-- Place the bus connection -->
-               <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               
-               <!-- Draw the arrow -->
-               <xsl:choose>
-                       <xsl:when test="@BIFSIDE='0'">
-                               <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                       </xsl:when>
-                       <xsl:when test="@BIFSIDE='1'">
-                               <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                       </xsl:when>
-               </xsl:choose>
-               
-               
-               <!-- Draw the horizontal part of the bus -->
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-<!--           
--->    
-               
-       </xsl:for-each>
-                                               
-       <xsl:variable name="busTop_"  select="math:min(exsl:node-set($memConn_heights_)/MEMCONN/@Y)"/>
-       <xsl:variable name="busBot_"  select="math:max(exsl:node-set($memConn_heights_)/MEMCONN/@Y)"/>
-       <xsl:variable name="busName_" select="exsl:node-set($memConn_heights_)/MEMCONN/@BUSNAME"/>
-       
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-       
-       
-       <!-- Draw the vertical part of the bus -->      
-       <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$BLKD_P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-<!--   
--->    
-       <!-- Place the bus label.-->    
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
-       
-                                               
-</xsl:template>                                        
-       
-       
-<!-- 
-                ===========================================================
-                       Handle generic Point to Point connections
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_PointToPoint"> 
-       
-       <xsl:param name="iBusStd"        select="'NONE'"/>      
-       <xsl:param name="iBusName"       select="'NONE'"/>      
-       <xsl:param name="iBifRank"       select="'NONE'"/>      
-       <xsl:param name="iStackToEast"   select="'NONE'"/>      
-       <xsl:param name="iStackToWest"   select="'NONE'"/>      
-       <xsl:param name="iStackToEast_W" select="0"/>   
-       <xsl:param name="iStackToWest_W" select="0"/>   
-       <xsl:param name="iLaneInSpace_X" select="0"/>   
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="busColor_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-       
-       <xsl:variable name="bcInSpace_X_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-       <xsl:variable name="p2pInstance_" select="BUSCONN[(@BIF_Y)]/@INSTANCE"/>
-                                       
-       <xsl:variable name="p2pshp_hori_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@STACK_HORIZ_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@STACK_HORIZ_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-       <xsl:variable name="p2pshp_vert_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-<!--                                   
-                                       <xsl:variable name="p2pshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>
-                                       <xsl:variable name="p2pshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>
--->                                    
-                                               
-       <xsl:variable name="p2pshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$p2pshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                       
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-                                                                                                                                                               
-       <xsl:variable name="procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                       
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       
-       
-       <!-- Store the conns in a variable -->  
-       <xsl:variable name="p2pConn_heights_">
-       
-               <xsl:for-each select="BUSCONN">
-                                                                       
-                       <xsl:variable name="bifName_" select="@BUSINTERFACE"/>
-                                                       
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCCONN and @BIF_Y">
-                                                                               
-<!--                                                                           
-                                                                               <xsl:message>Proc <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                               <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                               
-                                               <xsl:variable name="bcProc_Y_"     select="($p2pshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $procStack_H_diff_)"/>
-                                               <xsl:variable name="bcProc_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$procBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$procBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-                                               <P2PCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME= "{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                                                                               
-<!--                                           
-                                               <xsl:message>bcProc_X_ <xsl:value-of select="$bcProc_X_"/></xsl:message>
-                                               <xsl:message>bcProc_Y_ <xsl:value-of select="$bcProc_Y_"/></xsl:message>
-                                               <P2PCONN X="{$bcInSpace_X_}" Y="{$bcProc_Y_}" BUSSTD="{$busStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}" STACK_ID=""/>
--->                                            
-                                       </xsl:when>
-                                                                       
-                                       <xsl:otherwise>
-                                                                               
-                                               <xsl:variable name="modInstance_"     select="@INSTANCE"/>
-                                               <xsl:variable name="modshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $modInstance_)]]/@SHAPE_VERTI_INDEX"/>
-                                               <xsl:variable name="modBifSide_"      select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                               <xsl:variable name="modBif_Y_"        select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                               <xsl:variable name="modBc_Y_"         select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $modBif_Y_) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                                               
-<!--                                                                           
-                                               <xsl:message>Memory Instance <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               
-                                               <xsl:variable name="modshp_Y_">
-                                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                                               <xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>
-                                                               <xsl:with-param name="iVertiIdx"  select="$modshp_vert_idx_"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                                                                               
-                                               <xsl:variable name="modBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="modBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="bcMod_Y_"     select="($modshp_Y_ + $modBc_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                               <xsl:variable name="bcMod_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$modBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$modBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-<!--                                                                           
-                                               <xsl:message>Bc Bif Y <xsl:value-of select="$modBif_Y_"/></xsl:message> 
-                                               <xsl:message>Bc Mod Y <xsl:value-of select="$modBc_Y_"/></xsl:message>  
-                                               <xsl:message>Bc Mod X <xsl:value-of select="$bcMod_X_"/></xsl:message>  
-                                               <P2PCONN X="{$bcInSpace_X_}" Y="{$bcMod_Y_}" BUSSTD="{$busStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
--->                                                                            
-                                               <P2PCONN X="{$bcMod_X_}" Y="{$bcMod_Y_}" BUSNAME="{$modBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
-                                               
-                                       </xsl:otherwise>
-                                                                       
-                               </xsl:choose>
-                       </xsl:for-each>
-               </xsl:variable>
-       
-       
-       <xsl:variable name="busTop_"  select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="busBot_"  select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-       <xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>
-       <xsl:variable name="busStd_"  select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSSTD"/>
-<!--   
--->    
-       <!-- Draw the vertical part of the bus -->      
-       
-       <xsl:if test="$busStd_ = 'PLBV46_P2P'">
-       <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$BLKD_P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 
-                 style="stroke:{$COL_WHITE};stroke-width:1.5;fill:{$busColor_}"/>
-       </xsl:if>
-       
-       <xsl:if test="not($busStd_ = 'PLBV46_P2P')">
-       <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$BLKD_P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 
-                 style="stroke:none;fill:{$busColor_}"/>
-       </xsl:if>
-       
-<!--   
--->    
-       
-<!--   
-                 style="stroke:{$busColor_lt_};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$busColor_}"/>
--->    
-       <!-- Place the bus label.-->    
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
-                                               
-               <!-- Draw the busconnection and horizontal lines.-->                                            
-               <xsl:for-each select="exsl:node-set($p2pConn_heights_)/P2PCONN">
-                                                       
-                       <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-                       <xsl:variable name="bus_y_" select="@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               
-                       <xsl:variable name="h_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="$bus_x_"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W) - 1"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable> 
-               
-                       <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-                       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-                       <xsl:variable name="h_bus_width_">
-<!--                           
-                               <xsl:message>BIFSIDE <xsl:value-of select="@BIFSIDE"/></xsl:message>
-                               <xsl:message>BUSSTD  <xsl:value-of select="@BUSSTD"/></xsl:message>
-                               <xsl:message>BIFRANK <xsl:value-of select="@BIFRANK"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="(@X - $bus_x_ - $BLKD_BUS_ARROW_W)"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="$bus_x_ - $h_bus_ul_x_ + 1"/>
-                                       </xsl:when>
-                                       
-                               </xsl:choose>
-                       </xsl:variable> 
-                       
-                       <!-- Draw Bus connection-->
-                       <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-                       
-                       <!-- Draw the arrow -->
-                       <xsl:choose>
-                               <xsl:when test="((@BIFSIDE='0') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                               </xsl:when>
-                               <xsl:when test="((@BIFSIDE='1') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='0') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='1') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                                       
-                       </xsl:choose>
-               
-                       <!-- Draw the horizontal part of the bus -->
-                       <rect x="{$h_bus_ul_x_}" 
-                                 y="{$h_bus_ul_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$h_bus_height_}" 
-                             style="stroke:none; fill:{$busColor_}"/>
-               
-       </xsl:for-each>
-                                               
-<!--   
-       <xsl:variable name="busTop_" select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="busBot_" select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-       <xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>
--->    
-       <!-- Draw the vertical part of the bus -->      
-<!--   
-       <rect x="{$bcInSpace_X_ + $P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $P2P_BUS_W}" 
-                 style="stroke:{$COL_WHITE};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$busColor_}"/>
--->    
-       
-<!--   
-                 style="stroke:{$busColor_lt_};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$busColor_}"/>
--->    
-       <!-- Place the bus label.-->    
-<!--   
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
--->    
-       
-                                               
-</xsl:template>        
-       
-       
-                                       
-<!-- 
-                ===========================================================
-                       Handle MultiStack Point to Point connections
-                ===========================================================
--->
-                                       
-<xsl:template name="BCLaneSpace_MultiStack_PointToPoint">      
-       
-       <xsl:param name="iBusStd"          select="'NONE'"/>    
-       <xsl:param name="iBusName"         select="'NONE'"/>    
-       <xsl:param name="iBifRank"         select="'NONE'"/>    
-       <xsl:param name="iStackToEast"     select="'NONE'"/>    
-       <xsl:param name="iStackToWest"     select="'NONE'"/>    
-       <xsl:param name="iStackToEast_W"   select="0"/> 
-       <xsl:param name="iStackToWest_W"   select="0"/> 
-       <xsl:param name="iLaneInSpace_X"   select="0"/> 
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-       
-       <!-- Store the connections in a variable -->
-       <xsl:variable name="bcInSpace_X_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-                                       
-       <xsl:variable name="multiConns_">
-                                               
-               <xsl:for-each select="BUSCONN">
-                                                       
-                       <xsl:variable name="bifName_"      select="@BUSINTERFACE"/>
-                       <xsl:variable name="multiInstance_" select="@INSTANCE"/>
-                       <xsl:variable name="mulshp_hori_idx_">
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCCONN">
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $multiInstance_)]/@STACK_HORIZ_INDEX"/>
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $multiInstance_)])]/@STACK_HORIZ_INDEX"/>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable> 
-                                                       
-                       <xsl:variable name="mulshp_vert_idx_">
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCCONN">
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $multiInstance_)]/@SHAPE_VERTI_INDEX"/>
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $multiInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable> 
-                               
-<!--                                                   
-                       <xsl:message>Shape Horiz <xsl:value-of select="$mulshp_hori_idx_"/></xsl:message>
-                       <xsl:message>Shape Verti <xsl:value-of select="$mulshp_vert_idx_"/></xsl:message>
--->    
-                                                       
-                       <xsl:variable name="mulshp_Y_">
-                               <xsl:call-template name="_calc_Stack_Shape_Y">
-                                       <xsl:with-param name="iHorizIdx"  select="$mulshp_hori_idx_"/>
-                                       <xsl:with-param name="iVertiIdx"  select="$mulshp_vert_idx_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                                               
-                       <xsl:variable name="cmplxStack_H_diff_">
-                               <xsl:choose>
-                                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                                               
-                                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                       
-                                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                               <xsl:choose>
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:otherwise>0</xsl:otherwise>        
-                                               </xsl:choose>   
-                                                                       
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>
-                                               
-                                                                                                                                                               
-                       <xsl:variable name="procStack_H_diff_">
-                               <xsl:choose>
-                                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                       
-                                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                               
-                                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                               <xsl:choose>
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:otherwise>0</xsl:otherwise>        
-                                               </xsl:choose>   
-                                                                       
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>
-                                                       
-                       <xsl:choose>
-                                                       
-                               <xsl:when test="@IS_PROCCONN and @BIF_Y">
-                                                                               
-                                       <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                                               
-                                       <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                               
-                                       <xsl:variable name="bcProc_Y_"     select="($mulshp_Y_ + $procBif_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $procStack_H_diff_)"/>
-                                       
-                                       <xsl:variable name="bcProc_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$procBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$procBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>0</xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       <MULTICONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME="{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                               </xsl:when>
-                                                                       
-                               <xsl:otherwise>
-                                                                                       
-                                       <xsl:variable name="modType_"     select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/@MODCLASS"/>
-                                       <xsl:variable name="modBif_Y_"    select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                       <xsl:variable name="modBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                       <xsl:variable name="modBusStd_"   select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSSTD"/>
-                                       <xsl:variable name="memcMOD_W_"   select="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $multiInstance_)]]/@MODS_W) * $BLKD_MOD_W)"/>
-                                                               
-                                       <xsl:variable name="modBc_Y_">
-                                               <xsl:choose>
-                                                       <xsl:when test="($modType_ = 'MEMORY_CNTLR') and (($modBusStd_ = 'LMB') or ($modBusStd_= 'OCM'))">
-                                                       <xsl:value-of select="$BLKD_MOD_H + $BLKD_MOD_LANE_H + ((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $modBif_Y_))"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>
-                                                       <xsl:value-of select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $modBif_Y_) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                       </xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>   
-<!--                                   
-                                       <xsl:message><xsl:value-of select="$multiInstance_"/>.<xsl:value-of select="$bifName_"/>:Y = <xsl:value-of select="$modBif_Y_"/></xsl:message>
-                                       <xsl:message><xsl:value-of select="$multiInstance_"/>.<xsl:value-of select="$bifName_"/>:BcY = <xsl:value-of select="$modBc_Y_"/></xsl:message>
-                                       <xsl:message><xsl:value-of select="$multiInstance_"/>.<xsl:value-of select="$bifName_"/>:TcY = <xsl:value-of select="($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V)"/></xsl:message>
--->    
-                                       
-                                       <xsl:variable name="modBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="modBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       
-<!--                                   
-                                       <xsl:variable name="bcMod_Y_"     select="($mulshp_Y_ + $modBc_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2))"/>
--->                                    
-                                       <xsl:variable name="bcMod_Y_"     select="($mulshp_Y_ + $modBc_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                       
-                                       <xsl:variable name="bcMod_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$modBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($memcMOD_W_ div 2) + $BLKD_BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$modBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($memcMOD_W_ div 2)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>0</xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       
-                                       <MULTICONN X="{$bcMod_X_}" Y="{$bcMod_Y_}" BUSNAME="{$modBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
-<!--                                   
-                                       <MULTICONN X="{$bcInSpace_X_}" Y="{$bcMod_Y_}" BUSSTD="{$busStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
--->                                    
-                                               
-                                       </xsl:otherwise>
-                               </xsl:choose>   
-                       </xsl:for-each>
-               </xsl:variable>
-                                       
-               <!-- Draw the busconnection and horizontal lines.-->                                            
-               <xsl:for-each select="exsl:node-set($multiConns_)/MULTICONN">
-                                                       
-                       <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-                       <xsl:variable name="bus_y_" select="@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               
-                       <xsl:variable name="h_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="$bus_x_"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable> 
-               
-                       <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-                       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-                       <xsl:variable name="h_bus_width_">
-<!--                           
-                               <xsl:message>BUSSTD  <xsl:value-of select="@BUSSTD"/></xsl:message>
-                               <xsl:message>BIFSIDE <xsl:value-of select="@BIFSIDE"/></xsl:message>
-                               <xsl:message>BIFRANK <xsl:value-of select="@BIFRANK"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="(@X - $bus_x_ - $BLKD_BUS_ARROW_W)"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="$bus_x_ - $h_bus_ul_x_"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>         
-                       
-                       
-                       <!-- Draw the horizontal part of the bus -->
-                       <rect x="{$h_bus_ul_x_}" 
-                                 y="{$h_bus_ul_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$h_bus_height_}" 
-                             style="stroke:none; fill:{$busColor_}"/>
-               
-                       
-                       <!-- Draw the arrow -->
-                       <xsl:choose>
-                               <xsl:when test="((@BIFSIDE='0') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                               </xsl:when>
-                               <xsl:when test="((@BIFSIDE='1') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='0') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='1') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                                       
-                       </xsl:choose>
-               
-                       <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-                       
-                                                       
-               </xsl:for-each>
-                                               
-               <xsl:variable name="busTop_" select="math:min(exsl:node-set($multiConns_)/MULTICONN/@Y)"/>
-               <xsl:variable name="busBot_" select="math:max(exsl:node-set($multiConns_)/MULTICONN/@Y)"/>
-<!--   
-               <xsl:variable name="topRnk_" select="(exsl:node-set($multiConns_)/MULTICONN[(@Y = $busTop_)]/@BIFRANK)"/>
-               <xsl:variable name="botRnk_" select="(exsl:node-set($multiConns_)/MULTICONN[(@Y = $busBot_)]/@BIFRANK)"/>
--->    
-       
-               <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               <xsl:variable name="busName_" select="exsl:node-set($multiConns_)/MULTICONN/@BUSNAME"/>
-       
-               <!-- Draw the vertical part of the bus -->      
-               <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                         y="{$v_bus_y_}"  
-                     width= "{$BLKD_P2P_BUS_W}" 
-                     height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 
-                     style="stroke:none; fill:{$busColor_}"/>
-                                               
-       <!-- Place the bus label.-->    
-               <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-               </text> 
-       
-<!--                                           
-               <xsl:message>Bot Rank  <xsl:value-of select="$botRnk_"/></xsl:message>  
--->                                            
-                                               
-<!--   
-               <xsl:call-template name="Draw_P2PBus">
-                       <xsl:with-param name="busX"    select="$bcInSpace_X_"/>
-                       <xsl:with-param name="busTop"  select="$busTop_"/>
-                       <xsl:with-param name="busBot"  select="$busBot_"/>
-                       <xsl:with-param name="topRnk"  select="$topRnk_"/>
-                       <xsl:with-param name="botRnk"  select="$botRnk_"/>
-                       <xsl:with-param name="busStd"  select="$busStd"/>
-                       <xsl:with-param name="busName" select="$busName"/>
-               </xsl:call-template>
--->    
-                                       
-</xsl:template>        
-       
-       
-<!-- 
-                ===========================================================
-                       Handle Processor to processor connections
-                ===========================================================
--->
-<xsl:template name="BCLaneSpace_ProcToProc">   
-       
-       <xsl:param name="iBusStd"         select="'NONE'"/>     
-       <xsl:param name="iBusName"        select="'NONE'"/>     
-       <xsl:param name="iBifRank"        select="'NONE'"/>     
-       <xsl:param name="iStackToEast"    select="'NONE'"/>     
-       <xsl:param name="iStackToWest"    select="'NONE'"/>     
-       <xsl:param name="iStackToEast_W"  select="0"/>  
-       <xsl:param name="iStackToWest_W"  select="0"/>  
-       <xsl:param name="iLaneInSpace_X"  select="0"/>  
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-               
-       <xsl:variable name="pr2pr_StackToWest_"   select="math:min(BUSCONN/@STACK_HORIZ_INDEX)"/>
-       <xsl:variable name="pr2pr_StackToEast_"   select="math:max(BUSCONN/@STACK_HORIZ_INDEX)"/>
-       <xsl:variable name="proc2procConn_heights_">
-       
-       <xsl:for-each select="BUSCONN">
-                                       
-               <xsl:variable name="procInstance_" select="@INSTANCE"/>
-               <xsl:variable name="bifName_"      select="@BUSINTERFACE"/>
-               <xsl:variable name="procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>
-               <xsl:variable name="procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>
-               <xsl:variable name="procshp_Y_">
-                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                               <xsl:with-param name="iHorizIdx"  select="$procshp_hori_idx_"/>
-                               <xsl:with-param name="iVertiIdx"  select="$procshp_vert_idx_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                               
-               <xsl:variable name="procStack_H_diff_">
-                       <xsl:choose>
-                               <xsl:when test="   (($pr2pr_StackToEast_ = 'NONE') or ($pr2pr_StackToWest_ = 'NONE'))">0</xsl:when>
-                               <xsl:when test="not(($pr2pr_StackToEast_ = 'NONE') or ($pr2pr_StackToWest_ = 'NONE'))">
-                       
-                                       <xsl:variable name="stackToWest_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="iStackIdx"  select="$pr2pr_StackToWest_"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                               
-                                       <xsl:variable name="stackToEast_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="iStackIdx"  select="$pr2pr_StackToEast_"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                       <xsl:choose>
-                                               <xsl:when test="(($procshp_hori_idx_ = $pr2pr_StackToEast_) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:when test="(($procshp_hori_idx_ = $pr2pr_StackToWest_) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:otherwise>0</xsl:otherwise>        
-                                       </xsl:choose>   
-                                                                               
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-                                               
-               <!-- Store the conns in a variable -->  
-               <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                                                       
-               <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-               <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                       
-               <xsl:variable name="bcInSpace_X_">
-                       <xsl:choose>
-                               <xsl:when test="$procBifSide_ = '1'"><xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/></xsl:when>
-                               <xsl:when test="$procBifSide_ = '0'"><xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-                                                       
-               <xsl:variable name="bcProc_Y_"     select="($procshp_Y_ + $procBif_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $procStack_H_diff_)"/>
-<!--                                                   
-               <xsl:message>Conn X <xsl:value-of select="$bcInSpace_X_"/></xsl:message>
-               <xsl:message>Conn Y <xsl:value-of select="$bcProc_Y_"/></xsl:message>
--->                                                    
-                                                                               
-                               <PR2PRCONN X="{$bcInSpace_X_}" Y="{$bcProc_Y_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}" SHAPE_ID="{$procshp_hori_idx_}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-                                       
-               <xsl:variable name="pr2prLeft_"   select="math:min(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@SHAPE_ID)"/>
-               <xsl:variable name="pr2prRght_"   select="math:max(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@SHAPE_ID)"/>
-                               
-               <xsl:variable name="pr2pr_stack_Left_X_">
-                       <xsl:call-template name="_calc_Stack_X"> 
-                               <xsl:with-param name="iStackIdx"  select="$pr2prLeft_"/>
-                       </xsl:call-template>            
-               </xsl:variable> 
-                                       
-               <xsl:variable name="pr2pr_stack_Rght_X_">
-                       <xsl:call-template name="_calc_Stack_X"> 
-                               <xsl:with-param name="iStackIdx"  select="$pr2prRght_"/>
-                       </xsl:call-template>            
-               </xsl:variable> 
-                                       
-<!--                                   
-                                       <xsl:message>Left stack X <xsl:value-of select="$pr2pr_stack_Left_X_"/></xsl:message>
-                                       <xsl:message>Rght stack X <xsl:value-of select="$pr2pr_stack_Rght_X_"/></xsl:message>
--->                                    
-               <xsl:variable name="pr2pr_space_W_" select="($pr2pr_stack_Rght_X_ - $pr2pr_stack_Left_X_)"/>
-                                               
-                                       
-               <xsl:variable name="pr2pr_extStackEast_W_">
-                       <xsl:call-template name="_calc_Stack_Width">
-                               <xsl:with-param name="iStackIdx"  select="$pr2prRght_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                       
-               <xsl:variable name="pr2pr_extStackWest_W_">
-                       <xsl:call-template name="_calc_Stack_Width">
-                               <xsl:with-param name="iStackIdx"  select="$pr2prLeft_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                       
-<!--                                   
-                                       <xsl:message>Space W <xsl:value-of select="$pr2pr_space_W_"/></xsl:message>
-                                       <xsl:message>Rght stack <xsl:value-of select="$pr2pr_extStackEast_W_"/></xsl:message>
-                                       <xsl:message>Left stack <xsl:value-of select="$pr2pr_extStackWest_W_"/></xsl:message>
--->                                    
-       
-               <xsl:variable name="connLeft_X_" select="ceiling($BLKD_MOD_W div 2)"/>
-               <xsl:variable name="connRght_X_" select="($pr2pr_space_W_ - ceiling($pr2pr_extStackWest_W_ div 2) + ceiling($pr2pr_extStackEast_W_ div 2) - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/>
-                                       
-                                       <!-- Draw the busconnections .-->                                               
-               <xsl:for-each select="exsl:node-set($proc2procConn_heights_)/PR2PRCONN">
-                       <xsl:variable name="conn_X_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE = '1'"><xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/></xsl:when>
-                                       <xsl:when test="@BIFSIDE = '0'"><xsl:value-of select="($pr2pr_space_W_ - ceiling($pr2pr_extStackWest_W_ div 2) + ceiling($pr2pr_extStackEast_W_ div 2) - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/></xsl:when>
-<!--                                                                   
-                                                                       <xsl:when test="@BIFSIDE = '0'"><xsl:value-of select="($pr2pr_space_W_ + $pr2pr_extStackWest_W_ + $pr2pr_extStackEast_W_ - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/></xsl:when>
--->    
-                               </xsl:choose>
-                       </xsl:variable> 
-                                                       
-                                               
-                       <use   x="{$conn_X_}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               </xsl:for-each>
-                                       
-               <xsl:variable name="bc_Y_"     select="math:min(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@Y)"/>
-               <xsl:variable name="bcLeft_"   select="math:min(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@X)"/>
-               <xsl:variable name="bcRght_"   select="math:max(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@X)"/>
-                                       
-               <xsl:variable name="leftRnk_"  select="(exsl:node-set($proc2procConn_heights_)/PR2PRCONN[(@X = $bcLeft_)]/@BIFRANK)"/>
-               <xsl:variable name="rghtRnk_"  select="(exsl:node-set($proc2procConn_heights_)/PR2PRCONN[(@X = $bcRght_)]/@BIFRANK)"/>
-                                               
-               <xsl:call-template name="Draw_Proc2ProcBus">
-                       <xsl:with-param name="iBc_Y"     select="$bc_Y_"/>
-                       <xsl:with-param name="iBusStd"   select="$iBusStd"/>
-                       <xsl:with-param name="iBusName"  select="$iBusName"/>
-                       <xsl:with-param name="iLeftRnk"  select="$leftRnk_"/>
-                       <xsl:with-param name="iRghtRnk"  select="$rghtRnk_"/>
-                       <xsl:with-param name="iBcLeft_X" select="$connLeft_X_ + $BLKD_BIFC_W"/>
-                       <xsl:with-param name="iBcRght_X" select="$connRght_X_"/>
-               </xsl:call-template>
-                               
-</xsl:template>        
-       
-<!-- 
-                ===========================================================
-                       Handle connections to the MPMC
-                ===========================================================
--->
-<xsl:template name="BCLaneSpace_ToStandAloneMPMC">     
-       
-       <xsl:param name="iBusStd"        select="'NONE'"/>      
-       <xsl:param name="iBusName"       select="'NONE'"/>      
-       <xsl:param name="iBifRank"       select="'NONE'"/>      
-       <xsl:param name="iStackToEast"   select="'NONE'"/>      
-       <xsl:param name="iStackToWest"   select="'NONE'"/>      
-       <xsl:param name="iStackToEast_W" select="0"/>   
-       <xsl:param name="iStackToWest_W" select="0"/>   
-       <xsl:param name="iLaneInSpace_X" select="0"/>   
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="busColor_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-       
-       <xsl:variable name="bcInSpace_X_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-       <xsl:variable name="p2pInstance_" select="BUSCONN[(@BIF_Y)]/@INSTANCE"/>
-                                       
-       <xsl:variable name="p2pshp_hori_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@STACK_HORIZ_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@STACK_HORIZ_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-       <xsl:variable name="p2pshp_vert_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-       <xsl:variable name="p2pshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>
-                       <xsl:with-param name="iVertiIdx"  select="$p2pshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                       
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       <xsl:variable name="procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-                       
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       
-       
-       <!-- Store the conns in a variable -->  
-       <xsl:variable name="p2pConn_heights_">
-       
-               <xsl:for-each select="BUSCONN">
-                                                                       
-                       <xsl:variable name="bifName_" select="@BUSINTERFACE"/>
-                                                       
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCCONN and @BIF_Y">
-                                                                               
-<!--                                                                           
-                                                                               <xsl:message>Proc <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               <xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                               <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                               
-                                               <xsl:variable name="bcProc_Y_"     select="($p2pshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $procStack_H_diff_)"/>
-                                               <xsl:variable name="bcProc_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$procBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$procBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-                                               <P2PCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME= "{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                                                                               
-                                       </xsl:when>
-                                                                       
-                                       <xsl:otherwise>
-                                                                               
-                                               <xsl:variable name="modInstance_"     select="@INSTANCE"/>
-                                               <xsl:variable name="modshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $modInstance_)]]/@SHAPE_VERTI_INDEX"/>
-                                               <xsl:variable name="modBifSide_"      select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                               <xsl:variable name="modBif_Y_"        select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                               <xsl:variable name="modBc_Y_"         select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $modBif_Y_) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                                                                               
-<!--                                                                           
-                                               <xsl:message>Memory Instance <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               
-                                               <xsl:variable name="modshp_Y_">
-                                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                                               <xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>
-                                                               <xsl:with-param name="iVertiIdx"  select="$modshp_vert_idx_"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                                                                               
-                                               <xsl:variable name="modBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="modBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="bcMod_Y_"     select="($modshp_Y_ + $modBc_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                               <xsl:variable name="bcMod_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$modBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$modBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-                                               <P2PCONN X="{$bcMod_X_}" Y="{$bcMod_Y_}" BUSNAME="{$modBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
-                                               
-                                       </xsl:otherwise>
-                                                                       
-                               </xsl:choose>
-                       </xsl:for-each>
-               </xsl:variable>
-       
-       
-       <xsl:variable name="busTop_"  select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="busBot_"  select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-       
-       <xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>
-       <xsl:variable name="busStd_"  select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSSTD"/>
-       
-<!--   
-       <xsl:message>BUS TOP <xsl:value-of select="$busTop_"/></xsl:message>
-       <xsl:message>BUS BOT <xsl:value-of select="$busBot_"/></xsl:message>
--->
-       
-       <!-- Draw the vertical part of the bus -->      
-<!--   
-       <rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 
-                 y="0"  
-                 width= "{$BLKD_P2P_BUS_W}" 
-                 height="{200 + $BLKD_P2P_BUS_W}" 
-                 style="stroke:none;fill:{$busColor_}"/>
--->    
-       
-       <!-- Place the bus label.-->    
-<!--   
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
--->    
-                                               
-               <!-- Draw the busconnection and horizontal lines.-->                                            
-               <xsl:for-each select="exsl:node-set($p2pConn_heights_)/P2PCONN">
-                                                       
-                       <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-                       <xsl:variable name="bus_y_" select="@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               
-                       <xsl:variable name="h_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="$bus_x_"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W) - 1"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable> 
-               
-                       <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-                       <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-                       <xsl:variable name="h_bus_width_">
-<!--                           
-                               <xsl:message>BIFSIDE <xsl:value-of select="@BIFSIDE"/></xsl:message>
-                               <xsl:message>BUSSTD  <xsl:value-of select="@BUSSTD"/></xsl:message>
-                               <xsl:message>BIFRANK <xsl:value-of select="@BIFRANK"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="(@X - $bus_x_ - $BLKD_BUS_ARROW_W)"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="$bus_x_ - $h_bus_ul_x_ + 1"/>
-                                       </xsl:when>
-                                       
-                               </xsl:choose>
-                       </xsl:variable> 
-                       
-                       <!-- Draw Bus connection-->
-                       <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-                       
-                       <!-- Draw the arrow -->
-                       <xsl:choose>
-                               <xsl:when test="((@BIFSIDE='0') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                               </xsl:when>
-                               <xsl:when test="((@BIFSIDE='1') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='0') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='1') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                                       
-                       </xsl:choose>
-               
-                       <!-- Draw the horizontal part of the bus -->
-                       <rect x="{$h_bus_ul_x_}" 
-                                 y="{$h_bus_ul_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$h_bus_height_}" 
-                               
-                             style="stroke:none; fill:{$busColor_}"/>
-                       
-                       <!-- 
-                               Draw the vertical part of the bus. The MPMC BIF and the top arrow will
-                               be added later when the main drawing happens.
-                       -->
-                       <xsl:variable name="v_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'"><xsl:value-of select="($h_bus_ul_x_)"/></xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'"><xsl:value-of select="($h_bus_ul_x_ + $h_bus_width_ - $BLKD_P2P_BUS_W)"/></xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <rect x="{$v_bus_ul_x_}" 
-                                 y="0"  
-                                 width= "{$BLKD_P2P_BUS_W}" 
-                                 height="{$h_bus_ul_y_}"  
-                             style="stroke:none; fill:{$busColor_}"/>
-                       
-<!--                   
-                       <text class="p2pbuslabel" 
-                                 x="{$v_bus_ul_x_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4)}"
-                                 y="{($BLKD_BUS_ARROW_H * 3)}"><xsl:value-of select="$busName_"/></text>       
--->    
-               
-       </xsl:for-each>
-                                               
-                                               
-</xsl:template>        
-       
-       
-                               
-<!-- 
-        ======================================================================
-     Handle Split connections, (connections that go between adjacent stacks)
-        ======================================================================
--->
-       
-<xsl:template name="BCLaneSpace_SplitConn">    
-       
-       <xsl:param name="iBusStd"          select="'NONE'"/>    
-       <xsl:param name="iBusName"         select="'NONE'"/>    
-       <xsl:param name="iBifRank"         select="'NONE'"/>    
-       <xsl:param name="iStackToEast"     select="'NONE'"/>    
-       <xsl:param name="iStackToWest"     select="'NONE'"/>    
-       <xsl:param name="iStackToEast_W"   select="0"/> 
-       <xsl:param name="iStackToWest_W"   select="0"/> 
-       <xsl:param name="iLaneInSpace_X"   select="0"/> 
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>                                                 
-                       
-                                       
-       <xsl:variable name="bifName_"      select="BUSCONN/@BUSINTERFACE"/>
-       <xsl:variable name="shpInstance_"  select="BUSCONN/@INSTANCE"/>
-                                       
-<!--                                   
-                       <xsl:message>Found a split connection on <xsl:value-of select="$shpInstance_"/></xsl:message>   
--->                                    
-                                               
-                                       
-               <xsl:variable name="shp_hori_idx_">
-                                               
-                       <xsl:choose>
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]/@STACK_HORIZ_INDEX"/>
-                               </xsl:when>
-                                                       
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@STACK_HORIZ_INDEX"/>
-                               </xsl:when>
-                               <xsl:otherwise>_unknown_</xsl:otherwise>
-                       </xsl:choose>           
-                                               
-               </xsl:variable> 
-                                       
-               <xsl:variable name="shp_vert_idx_">
-                                               
-                       <xsl:choose>
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]/@SHAPE_VERTI_INDEX"/>
-                               </xsl:when>
-                                                       
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                               </xsl:when>
-                               <xsl:otherwise>_unknown_</xsl:otherwise>
-                       </xsl:choose>           
-                                               
-               </xsl:variable> 
-                                       
-               <xsl:variable name="splitshp_Width_">
-                                               
-                       <xsl:choose>
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]">
-                                       <xsl:value-of select="$BLKD_MOD_W"/>
-                               </xsl:when>
-                                               
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@MODS_W">
-<!--                                                           
-                                                               <xsl:message>Using mods width on <xsl:value-of select="$shpInstance_"/></xsl:message>
--->                                                            
-                                       <xsl:value-of select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@MODS_W * $BLKD_MOD_W)"/>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="$BLKD_MOD_W"/>
-                               </xsl:otherwise>
-                       </xsl:choose>           
-                                               
-               </xsl:variable> 
-                                       
-<!--                                   
-                                       <xsl:message>Found width of <xsl:value-of select="$splitshp_Width_"/></xsl:message>
--->                                    
-       
-                                       
-               <xsl:variable name="splitshp_Y_">
-                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                               <xsl:with-param name="iHorizIdx"  select="$shp_hori_idx_"/>
-                               <xsl:with-param name="iVertiIdx"  select="$shp_vert_idx_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                       
-                                               
-               <xsl:variable name="splitStack_H_diff_">
-                       <xsl:choose>
-                               <xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>
-                               <xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">
-       
-                                       <xsl:variable name="stackToWest_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                               
-                                       <xsl:variable name="stackToEast_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                       <xsl:choose>
-                                               <xsl:when test="(($shp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:when test="(($shp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:otherwise>0</xsl:otherwise>        
-                                       </xsl:choose>   
-                                                                               
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-                                               
-                                       
-               <xsl:variable name="splitBif_Y_"    select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * BUSCONN/@BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-               <xsl:variable name="splitBusStd_"   select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $shpInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSSTD"/>
-               <xsl:variable name="splitBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $shpInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-               <xsl:variable name="splitBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $shpInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                       
-               <xsl:variable name="bcInSpace_X_">
-                       <xsl:choose>
-                               <xsl:when test="$splitBifSide_ = '1'"><xsl:value-of select="ceiling($splitshp_Width_ div 2)"/></xsl:when>
-                               <xsl:when test="$splitBifSide_ = '0'"><xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($splitshp_Width_ div 2) - $BLKD_BIFC_W)"/></xsl:when>
-                       </xsl:choose>
-                                                               
-               </xsl:variable> 
-                                       
-               <xsl:variable name="bcBus_X_">
-                       <xsl:choose>
-                               <xsl:when test="$splitBifSide_ = '1'"><xsl:value-of select="$bcInSpace_X_"/></xsl:when>
-                               <xsl:when test="$splitBifSide_ = '0'"><xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($BLKD_MOD_W div 2) - $BLKD_BIFC_W)"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-                                                       
-               <xsl:variable name="bcSplit_Y_">
-                       <xsl:choose>
-                               <xsl:when test="(BUSCONN/@IS_MEMCONN) and (($splitBusStd_ = 'LMB') or ($splitBusStd_ = 'OCM'))">
-<!--                                                           
-                                       <xsl:message>Found memory conn split connection on <xsl:value-of select="$shpInstance_"/> </xsl:message>
--->    
-                                       <xsl:value-of select="($splitshp_Y_ + $BLKD_MOD_H + $BLKD_MOD_BIF_GAP_V + (BUSCONN/@BIF_Y * ($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V)) + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $splitStack_H_diff_)"/>
-                               </xsl:when>     
-                               <xsl:otherwise>
-                                       <xsl:value-of select="($splitshp_Y_ + $splitBif_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $splitStack_H_diff_)"/>
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>    
-<!--                                                           
-                                                               <xsl:value-of select="($splitshp_Y_ + $splitBif_Y_ + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $splitStack_H_diff_)"/>
--->                                                            
-<!--                                   
-                                       <xsl:message>VERTI INDEX <xsl:value-of select="$shp_vert_idx_"/></xsl:message>  
-                                       <xsl:message>BIF Y <xsl:value-of select="$splitBif_Y_"/></xsl:message>  
-                                       <xsl:message>HORIZ INDEX <xsl:value-of select="$shp_hori_idx_"/></xsl:message>  
--->                                    
-                                       
-       <use   x="{$bcInSpace_X_}"   y="{$bcSplit_Y_}"  xlink:href="#{@BUSSTD}_busconn_{$splitBifRank_}"/>
-                                       
-                       
-       <xsl:call-template name="Draw_SplitConnBus">
-               <xsl:with-param name="iBc_Y"    select="$bcSplit_Y_"/>
-               <xsl:with-param name="iBc_X"    select="$bcInSpace_X_"/>
-               <xsl:with-param name="iBc_Rnk"  select="$splitBifRank_"/>
-               <xsl:with-param name="iBc_Side" select="$splitBifSide_"/>
-               <xsl:with-param name="iBusStd"  select="$iBusStd"/>
-               <xsl:with-param name="iBusName" select="$iBusName"/>
-       </xsl:call-template>
-                                       
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_BusLaneSpace"> 
-       
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-       
-<!--   
-       <xsl:message>Input Stack to West <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message>Input Stack to East <xsl:value-of select="$iStackToEast"/></xsl:message>
--->
-       
-       <xsl:variable name="stackToEast_">
-               <xsl:choose>
-                       <xsl:when test="not($iStackToEast = 'NONE')"><xsl:value-of select="$iStackToEast"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="stackToWest_">
-               <xsl:choose>
-                       <xsl:when test=" not($iStackToWest = 'NONE')"><xsl:value-of select="$iStackToWest"/></xsl:when>
-                       <xsl:when test="(not($iStackToEast = 'NONE') and not($iStackToEast = '0'))"><xsl:value-of select="($iStackToEast - 1)"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>Stack to West <xsl:value-of select="$stackToWest_"/></xsl:message>
-       <xsl:message>Stack to East <xsl:value-of select="$stackToEast_"/></xsl:message>
-       <xsl:message>Stack abv diff  <xsl:value-of select="$stack_H_diff_"/></xsl:message>
--->    
-       
-       <xsl:variable name="spaceAbvSbs_H_">
-               <xsl:call-template name="_calc_Space_AbvSbs_Height">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       <xsl:variable name="spaceBlwSbs_H_">
-               <xsl:call-template name="_calc_Space_BlwSbs_Height">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       
-       <xsl:variable name="space_H_" select="($spaceAbvSbs_H_ + $BLKD_PROC2SBS_GAP + $G_total_SharedBus_H + $spaceBlwSbs_H_)"/>
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name="spaceSharedBus_Y_" select="$spaceAbvSbs_H_ + $BLKD_PROC2SBS_GAP"/>
-       
-       <xsl:variable name="space_name_">
-               <xsl:call-template name="_gen_Space_Name"> 
-                       <xsl:with-param name="iStackToEast"  select="$stackToEast_"/>
-                       <xsl:with-param name="iStackToWest"  select="$stackToWest_"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Stack Width <xsl:value-of select="$space_W_"/></xsl:message>
-       <xsl:message>Space Name <xsl:value-of select="$space_name_"/></xsl:message>
-       <xsl:message>Stack Abv <xsl:value-of select="$spaceAbvSbs_H_"/></xsl:message>
-       <xsl:message>Stack Blw <xsl:value-of select="$spaceBlwSbs_H_"/></xsl:message>
-       <xsl:message>Total Sbs <xsl:value-of select="$totalSbs_H_"/></xsl:message>
--->    
-       
-       <xsl:variable name = "stackToWest_W_">
-               <xsl:choose>
-                       <xsl:when test="(($iStackToEast = '0')    and    ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($iStackToEast = 'NONE') and not($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($iStackToEast = '0') and not($iStackToEast = 'NONE') and ($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="($iStackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name = "stackToEast_W_">
-               <xsl:call-template name="_calc_Stack_Width">
-                       <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stackToWest_W_ div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stackToEast_W_ div 2)"/>
-       
-<!--   
-       <xsl:message>Stack To West <xsl:value-of select="$stackToWest_W_"/></xsl:message>
-       <xsl:message>Stack To East <xsl:value-of select="$stackToEast_W_"/></xsl:message>
--->    
-       
-       <symbol id="{$space_name_}">
-
-<!--   
-               <rect x="0" 
-                         y="0"  
-                         width= "100" 
-                         height="200" 
-                         style="stroke:none; fill:{$COL_WHITE}"/>
--->            
-               
-                <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST = $iStackToEast) or (($iStackToEast = 'NONE') and (@WEST = $iStackToWest)))]/BUSCONNLANE[@BUSSTD and @BUSNAME]">
-                               
-                               <xsl:variable name="busStd_"          select="@BUSSTD"/>
-                               <xsl:variable name="busName_"         select="@BUSNAME"/>
-                               <xsl:variable name="lane_X_"          select="@BUSLANE_X"/>
-<!--                    
-                               <xsl:variable name="laneInSpace_X_"   select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/>
-                               <xsl:message>Oriented <xsl:value-of select="@ORIENTED"/></xsl:message>
-                               <xsl:message>laneInSpace_XY <xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/></xsl:message>
-                               <xsl:message>Lane in space X <xsl:value-of select="$laneInSpace_X_"/></xsl:message>
--->    
-                        
-                               <xsl:variable name="laneInSpace_X_">
-                                       <xsl:choose>
-                                          <xsl:when test="(@ORIENTED = 'EAST')">
-                                                  <xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W) - $BLKD_BUS_ARROW_W - $BLKD_P2P_BUS_W)"/>
-                                          </xsl:when>
-                                          <xsl:otherwise><xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/></xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable> 
-                                               
-                        
-                               <xsl:variable name="busColor_">
-                                       <xsl:call-template name="BusType2Color">
-                                               <xsl:with-param name="iBusType" select="@BUSSTD"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <xsl:choose>
-<!-- 
-                ===========================================================
-                       Handle Bucket connections to the shared busses.
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and @IS_BKTCONN and BUSCONN[@BIFRANK] and /EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX">
-                                               <xsl:call-template name="BCLaneSpace_BucketToSharedBus">
-                                                       <xsl:with-param name="iBusName"           select="$busName_"/>
-                                                       <xsl:with-param name="iBusStd"            select="$busStd_"/>
-                                                       <xsl:with-param name="iBifRank"           select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"       select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"       select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"     select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"     select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"     select="$laneInSpace_X_"/>
-                                                       <xsl:with-param name="iSpaceSharedBus_Y"  select="$spaceSharedBus_Y_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->                                            
-                                       </xsl:when>
-                                       
-<!--
-                ===========================================================
-                       Handle Processor's Shared bus connections.
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and @IS_SBSCONN and not(@IS_MPMCCONN) and BUSCONN[@BIF_Y and @IS_PROCCONN and @INSTANCE and @BUSINTERFACE] and /EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX">
-                                               <xsl:call-template name="BCLaneSpace_ProcBifToSharedBus">
-                                                       <xsl:with-param name="iBusStd"            select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"           select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"           select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"       select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"       select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"     select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"     select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"     select="$laneInSpace_X_"/>
-                                                       <xsl:with-param name="iSpaceSharedBus_Y"  select="$spaceSharedBus_Y_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->    
-                                       </xsl:when>     
-                                       
-<!--
-                ===========================================================
-                       Handle non Processor Shared Bus connections.
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and @IS_SBSCONN and not(@IS_MPMCCONN) and BUSCONN[@BIF_Y and not(@IS_PROCCONN) and @INSTANCE and @BUSINTERFACE] and /EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX">
-                                               <xsl:call-template name="BCLaneSpace_NonProcBifToSharedBus">
-                                                       <xsl:with-param name="iBusStd"            select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"           select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"           select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"       select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"       select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"     select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"     select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"     select="$laneInSpace_X_"/>
-                                                       <xsl:with-param name="iSpaceSharedBus_Y"  select="$spaceSharedBus_Y_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->    
-                                       </xsl:when>                                     
-                                       
-<!-- 
-                ===========================================================
-                       Handle connections from processors to Memory UNITs
-                ===========================================================
--->                    
-                                       <xsl:when test="@BUSLANE_X and @IS_MEMCONN and not(@IS_MULTISTK) and BUSCONN[@BIF_Y and @IS_PROCCONN and not(@IS_SPLITCONN) and @INSTANCE and @BUSINTERFACE]">
-                                               <xsl:call-template name="BCLaneSpace_ProcBifToMemoryUnit">
-                                                       <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"        select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->    
-                                       </xsl:when>                             
-                               
-                                       
-<!-- 
-                ===========================================================
-                       Handle generic Point to Point connections
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and not(@IS_MULTISTK) and not(@IS_MPMCCONN) and not(@IS_MEMCONN) and not(@IS_SBSCONN) and BUSCONN[@BIF_Y and @INSTANCE and @BUSINTERFACE and not(@IS_SPLITCONN)]">
-                                               <xsl:call-template name="BCLaneSpace_PointToPoint">
-                                                       <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"        select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-<!--                                           
--->    
-                                       </xsl:when>                             
-                                       
-<!-- 
-                ===========================================================
-                       Handle MultiStack Point to Point connections
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and (@IS_MULTISTK) and not(@IS_SBSCONN) and BUSCONN[@BIF_Y and @IS_PROCCONN and @INSTANCE and @BUSINTERFACE]">
-                                               <xsl:call-template name="BCLaneSpace_MultiStack_PointToPoint">
-                                                       <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                                       <xsl:with-param name="iBusName"        select="$busName_"/>
-                                                       <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                                       <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                                       <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-                                       </xsl:when>                             
-                                               
-                                       
-<!-- 
-                ===========================================================
-                       Handle Processor to processor connections
-                ===========================================================
--->
-<!--                                   
--->    
-                               <xsl:when test="(@IS_PROC2PROC and (count(BUSCONN[@BIF_Y and @INSTANCE and @BUSINTERFACE]) = 2))">
-                                       <xsl:call-template name="BCLaneSpace_ProcToProc">
-                                               <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                               <xsl:with-param name="iBusName"        select="$busName_"/>
-                                               <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                               <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                               <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                               <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                               <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                               <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                       </xsl:call-template>    
-                               </xsl:when>
-                                       
-<!-- 
-                ===========================================================
-                       Handle connections to the StandAlone MPMC
-                ===========================================================
--->
-                       <xsl:when test="@BUSLANE_X and (@IS_MPMCCONN) and not(@IS_SBSCONN) and BUSCONN[(@BIF_Y and @INSTANCE and @BUSINTERFACE)]">
-<!--                           
--->                            
-                                       <xsl:call-template name="BCLaneSpace_ToStandAloneMPMC">
-                                               <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                               <xsl:with-param name="iBusName"        select="$busName_"/>
-                                               <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                               <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                               <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                               <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                               <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                               <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                                       </xsl:call-template>    
-                       </xsl:when>
-                                       
-<!-- 
-                ===========================================================
-                       Handle Split connections, (connections that go between non adjacent stacks)
-                ===========================================================
--->
-                       <xsl:when test="(BUSCONN[@BIF_Y and @INSTANCE and @BUSINTERFACE and @IS_SPLITCONN])">
-                               <xsl:call-template name="BCLaneSpace_SplitConn">
-                                       <xsl:with-param name="iBusStd"         select="$busStd_"/>
-                                       <xsl:with-param name="iBusName"        select="$busName_"/>
-                                       <xsl:with-param name="iBifRank"        select="BUSCONN/@BIFRANK"/>
-                                       <xsl:with-param name="iStackToEast"    select="$stackToEast_"/>
-                                       <xsl:with-param name="iStackToWest"    select="$stackToWest_"/>
-                                       <xsl:with-param name="iStackToEast_W"  select="$stackToEast_W_"/>
-                                       <xsl:with-param name="iStackToWest_W"  select="$stackToWest_W_"/>
-                                       <xsl:with-param name="iLaneInSpace_X"  select="$laneInSpace_X_"/>
-                               </xsl:call-template>    
-<!--                           
--->    
-                       </xsl:when>
-                                       
-               </xsl:choose>
-                                                               
-       </xsl:for-each>
-               
-       </symbol>
-                       
-</xsl:template>        
-       
-<xsl:template name="Define_BusLaneSpaces"> 
-       
-       <xsl:variable name="lastStack_" select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH) - 1"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[@EAST]">
-               <xsl:sort select="@EAST" data-type="number"/>
-                       
-               <xsl:call-template name="Define_BusLaneSpace">
-                       <xsl:with-param name="iStackToEast"  select="@EAST"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-       
-<!--   
-       <xsl:message>Last Stack <xsl:value-of select="$lastStack_"/></xsl:message>
--->    
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@WEST = $lastStack_)]">
-               <xsl:call-template name="Define_BusLaneSpace">
-                       <xsl:with-param name="iStackToWest"  select="$lastStack_"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-                       
-</xsl:template>
-               
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Busses.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Busses.xsl
deleted file mode 100644 (file)
index 41a472e..0000000
+++ /dev/null
@@ -1,495 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-               
-
-       
-<xsl:template name="Define_Busses">
-<!--   
-       <xsl:param name="drawarea_w"  select="500"/>
-       <xsl:param name="drawarea_h"  select="500"/>
--->    
-       
-       <xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
-               
-               <xsl:call-template name="Define_BusArrowsEastWest"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-               <xsl:call-template name="Define_BusArrowsNorthSouth"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-               <xsl:call-template name="Define_SplitBusses"> 
-                       <xsl:with-param name="iBusType"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-       </xsl:for-each>
-       
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="iBusType"    select="'PLB'"/>
-       </xsl:call-template>
-       
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="iBusType"    select="'PLBV46'"/>
-       </xsl:call-template>
-       
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="iBusType"    select="'OPB'"/>
-       </xsl:call-template>
-       
-       <xsl:call-template name="Define_SharedBus_Group"/> 
-       
-</xsl:template>
-
-<xsl:template name="Define_BusArrowsEastWest"> 
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bus_col_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <symbol id="{$iBusType}_BusArrowEast">
-               <path class="bus"
-                         d="M   0,0
-                                L     {$BLKD_BUS_ARROW_W}, {ceiling($BLKD_BUS_ARROW_H div 2)}
-                                L   0,{$BLKD_BUS_ARROW_H}, 
-                                Z" style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-       
-       <symbol id="{$iBusType}_BusArrowWest">
-               <use   x="0"   y="0"  xlink:href="#{$iBusType}_BusArrowEast" transform="scale(-1,1) translate({$BLKD_BUS_ARROW_W * -1},0)"/>
-       </symbol>
-       
-       <symbol id="{$iBusType}_BusArrowHInitiator">
-               <rect x="0" 
-                         y="{$BLKD_BUS_ARROW_G}"  
-                         width= "{$BLKD_BUS_ARROW_W}" 
-                         height="{$BLKD_P2P_BUS_W}" 
-                        style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-       
-</xsl:template>
-
-<!--   
-       <xsl:param name="bus_col"     select="'OPB'"/>
--->    
-
-<xsl:template name="Define_BusArrowsNorthSouth">
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="busColor_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <symbol id="{$iBusType}_BusArrowSouth">
-               <path class="bus"
-                         d="M   0,0
-                                L   {$BLKD_BUS_ARROW_H},0
-                                L   {ceiling($BLKD_BUS_ARROW_H div 2)}, {$BLKD_BUS_ARROW_W}
-                                Z" style="stroke:none; fill:{$busColor_}"/>
-       </symbol>
-       
-       <symbol id="{$iBusType}_BusArrowNorth">
-               <use   x="0"   y="0"  xlink:href="#{$iBusType}_BusArrowSouth" transform="scale(1,-1) translate(0,{$BLKD_BUS_ARROW_H * -1})"/>
-       </symbol>
-       
-       <symbol id="{$iBusType}_BusArrowInitiator">
-               <rect x="{$BLKD_BUS_ARROW_G}" 
-                         y="0"  
-                         width= "{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}" 
-                         height="{$BLKD_BUS_ARROW_H}" 
-                        style="stroke:none; fill:{$busColor_}"/>
-       </symbol>
-       
-</xsl:template>
-       
-
-<xsl:template name="Draw_P2PBus">
-       
-       <xsl:param name="iBusX"    select="0"/>
-       <xsl:param name="iBusTop"  select="0"/>
-       <xsl:param name="iBusBot"  select="0"/>
-       <xsl:param name="iBotRnk"  select="'_unk_'"/>
-       <xsl:param name="iTopRnk"  select="'_unk_'"/>
-       <xsl:param name="iBusStd"  select="'_bstd_'"/>
-       <xsl:param name="iBusName" select="'_p2pbus_'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:choose>
-                       
-                       <xsl:when test="@BUSSTD">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="@BUSSTD"/>
-                               </xsl:call-template>    
-                       </xsl:when>
-                       
-                       <xsl:when test="not($iBusStd = '_bstd_')">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-                               </xsl:call-template>    
-                       </xsl:when>
-                       
-                       <xsl:otherwise>
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="'TRS'"/>
-                               </xsl:call-template>    
-                       </xsl:otherwise>
-                       
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="p2pH_" select="($iBusBot - $iBusTop) - ($BLKD_BUS_ARROW_H * 2)"/>
-
-       <xsl:variable name="botArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iBotRnk = 'INITIATOR') or ($iBotRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowSouth</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:variable name="topArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iTopRnk = 'INITIATOR') or ($iTopRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowNorth</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:if test="@BUSSTD">         
-               <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
-                     y="{$iBusTop + ($BLKD_BIFC_H  - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"  
-                     xlink:href="#{@BUSSTD}_{$topArrow_}"/>    
-                 
-               <use  x="{($busX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
-                     y="{$busBot - $BLKD_BUS_ARROW_H}"  
-                     xlink:href="#{@BUSSTD}_{$botArrow_}"/>    
-       </xsl:if>                 
-       
-       <xsl:if test="(not(@BUSSTD) and not($busStd = '_bstd_'))">              
-               <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
-                     y="{$iBusTop + ($BLKD_BIFC_H  - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"  
-                     xlink:href="#{$iBusStd}_{$topArrow_}"/>   
-                 
-               <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
-                     y="{$iBusBot - $BLKD_BUS_ARROW_H}"  
-                     xlink:href="#{$iBusStd}_{$botArrow_}"/>   
-       </xsl:if>                 
-       
-       
-       <rect x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2) + $BLKD_BUS_ARROW_G}"  
-                 y="{$iBusTop + $BLKD_BIFC_H + $BLKD_BUS_ARROW_H}"  
-                 height= "{$p2pH_  - ($BLKD_BUS_ARROW_H * 2)}" 
-                 width="{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}" 
-                 style="stroke:none; fill:{$busColor_}"/>
-                 
-       <text class="p2pbuslabel" 
-                         x="{$iBusX   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
-                         y="{$iBusTop + ($BLKD_BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$iBusName"/>
-       </text>
-       
-       <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP">
-               
-          <text class="ioplblgrp" 
-                 x="{$iBusX   +  $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
-                 y="{$iBusTop + ($BLKD_BUS_ARROW_H * 10)}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iBusName)]/@GROUP"/>
-               </text>
-          
-       </xsl:if>       
-               
-</xsl:template>
-
-       
-<xsl:template name="Draw_Proc2ProcBus">
-       
-       <xsl:param name="iBc_Y"     select="0"/>
-       <xsl:param name="iBcLeft_X" select="0"/>
-       <xsl:param name="iBcRght_X" select="0"/>
-       <xsl:param name="iLeftRnk"  select="'_unk_'"/>
-       <xsl:param name="iRghtRnk"  select="'_unk_'"/>
-       <xsl:param name="iBusStd"   select="'_bstd_'"/>
-       <xsl:param name="iBusName"  select="'_p2pbus_'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="pr2pr_W_" select="($iBcRght_X - $iBcLeft_X)"/>
-
-       <xsl:variable name="leftArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iLeftRnk = 'INITIATOR') or ($iLeftRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowWest</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:variable name="rghtArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iRghtRnk = 'INITIATOR') or ($iRghtRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowEast</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       
-       <xsl:variable name="bus_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
-       
-       <use  x="{$iBcLeft_X}"                     y="{$bus_Y_}"  xlink:href="#{$iBusStd}_{$leftArrow_}"/>      
-       <use  x="{$iBcRght_X - $BLKD_BUS_ARROW_W}" y="{$bus_Y_}"  xlink:href="#{$iBusStd}_{$rghtArrow_}"/>      
-       
-       <rect x="{$iBcLeft_X + $BLKD_BUS_ARROW_W}" 
-                 y="{$bus_Y_    + $BLKD_BUS_ARROW_G}"  
-                 width= "{$pr2pr_W_    -      (2 * $BLKD_BUS_ARROW_W)}" 
-                 height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busColor_}"/>
-       
-       <text class="horizp2pbuslabel" 
-                         x="{$iBcLeft_X  + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
-                         y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
-       
-       <text class="horizp2pbuslabel" 
-                         x="{$iBcRght_X - (string-length($iBusName) * 8)}"
-                         y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
-       
-</xsl:template>
-       
-       
-<xsl:template name="Draw_SplitConnBus">
-       
-       <xsl:param name="iBc_X"     select="0"/>
-       <xsl:param name="iBc_Y"     select="0"/>
-       <xsl:param name="iBc_Rnk"   select="'_unk_'"/>
-       <xsl:param name="iBc_Side"  select="'_unk_'"/>
-       
-       <xsl:param name="iBusStd"   select="'_bstd_'"/>
-       <xsl:param name="iBusName"  select="'_p2pbus_'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="connArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($iBc_Rnk = 'INITIATOR') or ($iBc_Rnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowEast</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:variable name="arrow_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
-       
-       <xsl:variable name="bus_X_">
-               <xsl:choose>
-                       <xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - ($BLKD_BUS_ARROW_W * 2))"/></xsl:when>
-                       <xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/></xsl:when>
-               </xsl:choose>           
-       </xsl:variable> 
-       
-<!--   
-       <use  x="{$bus_X_}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_BusArrowHInitiator"/>      
--->    
-       
-       <xsl:variable name="arrow_X_">
-               <xsl:choose>
-                       <xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - $BLKD_BUS_ARROW_W)"/></xsl:when>
-                       <xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W)"/></xsl:when>
-               </xsl:choose>           
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>The bus name is <xsl:value-of select="$busName"/></xsl:message>
-       <xsl:message>The bif side is <xsl:value-of select="$bc_Side"/></xsl:message>
-       <xsl:message>The bif rank is <xsl:value-of select="$bc_Rnk"/></xsl:message>
--->    
-       <xsl:choose>
-               <xsl:when test="(($iBusStd = 'FSL') and (($iBc_Rnk = 'MASTER') or ($iBc_Rnk = 'INITIATOR')))">
-                       <use  x="{$arrow_X_}"  y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_{$connArrow_}"/>        
-                       <use  x="{$bus_X_}"    y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_BusArrowHInitiator"/>   
-               </xsl:when>
-               <xsl:when test="(($iBc_Side = '1') and not($iBusStd = 'FSL') and (($iBc_Rnk = 'MASTER') or ($iBc_Rnk = 'INITIATOR')))">
-                       <use  x="{$arrow_X_ - $BLKD_BIFC_W}"  y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_SplitBus_WEST"/>
-               </xsl:when>
-               <xsl:when test="(($iBc_Side = '1') and (($iBc_Rnk = 'SLAVE') or ($iBc_Rnk = 'TARGET') or ($iBc_Rnk = 'TRANSPARENT')))">
-                       <use  x="{$arrow_X_}"  y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_SplitBus_EAST"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <use  x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_{$connArrow_}"/>  
-                       <use  x="{$bus_X_}"   y="{$arrow_Y_}"   xlink:href="#{$iBusStd}_BusArrowHInitiator"/>   
-               </xsl:otherwise>
-       </xsl:choose>
-       
-       <xsl:variable name="text_X_">
-               <xsl:choose>
-                       <xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($bus_X_ - $BLKD_BUS_ARROW_W - (string-length($iBusName) * 5))"/></xsl:when>
-                       <xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($bus_X_ + $BLKD_BUS_ARROW_W)"/></xsl:when>
-               </xsl:choose>           
-       </xsl:variable> 
-               
-       
-       <text class="horizp2pbuslabel" 
-                         x="{$text_X_}"
-                         y="{($arrow_Y_)}">
-                       <xsl:value-of select="$iBusName"/>
-       </text>
-       
-</xsl:template>
-       
-       
-<xsl:template name="Define_SharedBus"> 
-       
-       <xsl:param name="iBusType"    select="'OPB'"/>
-       
-       <xsl:variable name="sharedbus_w_"  select="($G_total_drawarea_W - ($BLKD_INNER_GAP * 2))"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bus_col_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-        <symbol id="{$iBusType}_SharedBus">
-               <use  x="0"                                   y="0"  xlink:href="#{$iBusType}_BusArrowWest"/>   
-               <use  x="{$sharedbus_w_ - $BLKD_BUS_ARROW_W}" y="0"  xlink:href="#{$iBusType}_BusArrowEast"/>   
-               
-               <rect x="{$BLKD_BUS_ARROW_W}" 
-                         y="{$BLKD_BUS_ARROW_G}"  
-                         width= "{$sharedbus_w_  - ($BLKD_BUS_ARROW_W * 2)}" 
-                         height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-</xsl:template>
-
-       
-<xsl:template name="Define_SplitBusses"> 
-       
-       <xsl:param name="iBusType"    sselect="'FSL'"/>
-       
-       <xsl:variable name="busColor_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="$iBusType"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bifc_r_" select="ceiling($BLKD_BIFC_W div 3)"/>
-       
-        <symbol id="{$iBusType}_SplitBus_EAST">
-               <use  x="0"  y="0"    xlink:href="#{$iBusType}_BusArrowWest"/>  
-               
-               <rect x="{$BLKD_BUS_ARROW_W}" 
-                         y="{$BLKD_BUS_ARROW_G}"  
-                         width= "{$BLKD_BIFC_W}" 
-                         height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busColor_}"/>
-                
-       </symbol>
-       
-       <xsl:variable name="splbus_w_" select="($BLKD_BUS_ARROW_W + $BLKD_BIFC_W + $BLKD_BIFC_Wi)"/>
-       
-        <symbol id="{$iBusType}_SplitBus_WEST">
-               <use   x="0"   y="0"  xlink:href="#{$iBusType}_SplitBus_EAST" transform="scale(-1,1) translate({$splbus_w_ * -1},0)"/>
-       </symbol>
-       
-        <symbol id="{$iBusType}_SplitBus_OneWay">
-                
-               <rect x="0" 
-                         y="{$BLKD_BUS_ARROW_G}"  
-                         width= "{($BLKD_BUS_ARROW_W * 2)}" 
-                         height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busColor_}"/>
-                
-               <rect x="{($BLKD_BUS_ARROW_W * 2)}"
-                         y="0"  
-                         width= "{$BLKD_BUS_ARROW_H}" 
-                         height="{$BLKD_BUS_ARROW_H}" style="stroke:none; fill:{$busColor_}"/>
-                
-       </symbol>
-       
-       
-</xsl:template>
-
-
-<xsl:template name="Define_SharedBus_Group"> 
-
-<!-- The Bridges go into the shared bus shape -->
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE">       
-       
-               <xsl:variable name="modInst_" select="@INSTANCE"/>
-               <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
-               
-               <xsl:call-template name="Define_Peripheral"> 
-                       <xsl:with-param name="iModVori"  select="'normal'"/>
-                       <xsl:with-param name="iModInst"  select="$modInst_"/>
-                       <xsl:with-param name="iModType"  select="$modType_"/>
-               </xsl:call-template>
-       
-       </xsl:for-each>
-       
- <symbol id="group_sharedBusses">
-       
-       <!-- Draw the shared bus shapes first -->       
-       <xsl:for-each select="BLKDSHAPES/SBSSHAPES/MODULE">     
-               <xsl:variable name="instance_"  select="@INSTANCE"/>
-               
-               <xsl:variable name="busStd_"   select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUSSTD"/>   
-               <xsl:variable name="busIndex_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUSINDEX"/> 
-               
-               <xsl:variable name="busY_"  select="($busIndex_ * $BLKD_SBS_LANE_H)"/>  
-               
-               <use  x="0"  y="{$busY_}"  xlink:href="#{$busStd_}_SharedBus"/> 
-               
-               <text class="sharedbuslabel" 
-                         x="8"
-                         y="{$busY_ + $BLKD_BUS_ARROW_H + 10}">
-                       <xsl:value-of select="$instance_"/>
-               </text>
-               
-       </xsl:for-each>
-</symbol>      
-
- <symbol id="KEY_SharedBus">
-       <use  x="0"  y="0"  xlink:href="#KEY_BusArrowWest"/>    
-       <use  x="30" y="0"  xlink:href="#KEY_BusArrowEast"/>    
-        
-       <xsl:variable name="key_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-               
-       <rect x="{$BLKD_BUS_ARROW_W}" 
-                 y="{$BLKD_BUS_ARROW_G}"  
-                 width= "{30 - $BLKD_BUS_ARROW_W}" 
-                 height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$key_col_}"/>
-</symbol>
-       
-</xsl:template>
-       
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Calculations.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Calculations.xsl
deleted file mode 100644 (file)
index fcff090..0000000
+++ /dev/null
@@ -1,1080 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-       
-<xsl:template name="_calc_Proc_Height">
-       <xsl:param name="iProcInst"  select="_processor_"/>
-       
-       <xsl:variable name="tot_bifs_h_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iProcInst)]/@BIFS_H)">0</xsl:if>
-               
-               <xsl:if test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iProcInst)]/@BIFS_H">
-                       <xsl:variable name="bifs_h_" select="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iProcInst)]/@BIFS_H)"/>
-                       <xsl:value-of select="(($BLKD_BIF_H + $BLKD_BIF_GAP) * $bifs_h_)"/>     
-               </xsl:if>
-       </xsl:variable> 
-       
-       <xsl:value-of select="(($BLKD_MOD_LANE_H * 2) + $tot_bifs_h_ + ($BLKD_MOD_LABEL_H + $BLKD_BIF_GAP))"/>  
-</xsl:template>
-
-<xsl:template name="_calc_Max_Proc_Height">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="proc_heights_">
-       
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <PROC HEIGHT="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE">
-                       <xsl:variable name="procInst_" select="@INSTANCE"/> 
-                       <xsl:variable name="proc_height_">
-                               <xsl:call-template name="_calc_Proc_Height">    
-                                       <xsl:with-param name="iProcInst" select="$procInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found Proc height as <xsl:value-of select="$proc_height_"/></xsl:message>
--->                    
-                       <PROC HEIGHT="{$proc_height_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-       <!-- Return the max of them --> 
-<!--   
-       <xsl:message>Found Proc ax as <xsl:value-of select="math:max(exsl:node-set($proc_heights_)/PROC/@HEIGHT)"/></xsl:message>
--->    
-
-       <xsl:value-of select="math:max(exsl:node-set($proc_heights_)/PROC/@HEIGHT)"/>
-</xsl:template>
-
-
-<xsl:template name="_calc_Proc_MemoryUnits_Height">
-       <xsl:param name="iProcInst"  select="_processor_"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and (@MODCLASS = 'MEMORY_UNIT'))])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and (@MODCLASS='MEMORY_UNIT'))]">
-               
-       <xsl:variable name="peri_gap_">
-               <xsl:choose>
-                       <xsl:when test="not(@CSTACK_INDEX)">
-                               <xsl:value-of select="$BLKD_BIF_H"/>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>   
-       </xsl:variable> 
-                       
-               
-               <!-- Store the all memory unit heights in a variable -->
-               <xsl:variable name="memU_heights_">
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and (@MODCLASS='MEMORY_UNIT'))]">
-<!--                           
-                               <xsl:variable name="unitId_" select="@PSTACK_MODS_Y"/>
--->                            
-                               <xsl:variable name="unitHeight_">
-                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                               <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <MEM_UNIT HEIGHT="{$unitHeight_ + $peri_gap_}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($memU_heights_)/MEM_UNIT/@HEIGHT)"/>
-       </xsl:if>
-</xsl:template>
-       
-
-<xsl:template name="_calc_Proc_Peripherals_Height">
-       <xsl:param name="iProcInst"  select="_processor_"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and not(@MODCLASS = 'MEMORY_UNIT'))])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and not(@MODCLASS='MEMORY_UNIT'))]">
-       
-               <xsl:variable name="peri_gap_">
-                       <xsl:if test="@CSTACK_INDEX">
-                               <xsl:value-of select="$BLKD_BIF_H"/>
-                       </xsl:if>
-                       <xsl:if test="not(@IS_CSTACK)">0</xsl:if>
-               </xsl:variable>
-       
-               <!-- Store the all peripheral heights in a variable -->
-               <xsl:variable name="peri_heights_">
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $iProcInst) and not(@MODCLASS='MEMORY_UNIT'))]">
-                               <xsl:for-each select="MODULE">
-<!--                                   
-                                       <xsl:message><xsl:value-of select="@INSTANCE"/></xsl:message>           
--->                                    
-                                       <xsl:variable name="peri_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                                       <PERI HEIGHT="{$peri_height_ + $peri_gap_}"/>
-                               </xsl:for-each>         
-                       </xsl:for-each>
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($peri_heights_)/PERI/@HEIGHT)"/>
-       </xsl:if>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Space_AbvSbs_Height">
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-       
-       
-       <xsl:variable name = "stackAbvSbs_West_H_">
-               <xsl:choose>
-                       <xsl:when test="(($iStackToEast = '0')   and     ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($iStackToEast = 'NONE') and not($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($iStackToEast = '0') and ($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="($iStackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name = "stackAbvSbs_East_H_">
-               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                       <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="stackAbvSbs_heights_">
-               <STACK HEIGHT="{$stackAbvSbs_East_H_}"/>
-               <STACK HEIGHT="{$stackAbvSbs_West_H_}"/>
-       </xsl:variable>
-       
-       <xsl:value-of select="math:max(exsl:node-set($stackAbvSbs_heights_)/STACK/@HEIGHT)"/>
-</xsl:template>
-
-       
-<xsl:template name="_calc_Space_BlwSbs_Height">
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-               
-       <xsl:variable name = "stackBlwSbs_West_H_">
-               <xsl:choose>
-                       <xsl:when test="(($iStackToEast = '0')    and    ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($iStackToEast = 'NONE') and not($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($iStackToEast = '0') and    ($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="($iStackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       
-       <xsl:variable name = "stackBlwSbs_East_H_">
-               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                       <xsl:with-param name="iStackIdx"  select="$iStackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="stackBlwSbs_heights_">
-               <STACK HEIGHT="{$stackBlwSbs_East_H_}"/>
-               <STACK HEIGHT="{$stackBlwSbs_West_H_}"/>
-       </xsl:variable>
-       
-       <xsl:value-of select="math:max(exsl:node-set($stackBlwSbs_heights_)/STACK/@HEIGHT)"/>
-</xsl:template>
-       
-
-       
-<xsl:template name="_calc_Stack_AbvSbs_Height">
-       <xsl:param name="iStackIdx"  select="100"/>
-<!--   
-       <xsl:message>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</xsl:message>
--->    
-       
-       <xsl:if test="(not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_ABVSBS))]) and
-                                  not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]))"><xsl:value-of select="$BLKD_PROC2SBS_GAP"/></xsl:if>
-       
-       <xsl:if test="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_ABVSBS))]) or
-                                  (/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[      (@STACK_HORIZ_INDEX = $iStackIdx)]))">
-               
-<!--                   
-               <xsl:variable name="peri_gap_">
-                       <xsl:value-of select="$BLKD_BIF_H"/>
-                       <xsl:choose>
-                               <xsl:when test="(@SHAPE_VERTI_INDEX)">
-                               </xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable> 
--->                    
-                       
-<!--           
-               <xsl:message>The gap is <xsl:value-of select="$peri_gap_"/></xsl:message>
-               <xsl:message>The gap is <xsl:value-of select="$peri_gap_"/></xsl:message>
-               <xsl:message>================================</xsl:message>
-               <xsl:message>================================</xsl:message>
-               <xsl:message>This is above <xsl:value-of select="@INSTANCE"/></xsl:message>
-               <xsl:message><xsl:value-of select="@INSTANCE"/> : <xsl:value-of select="$peri_height_"/></xsl:message>
--->    
-       
-       
-               <!-- Store the all peripheral heights in a variable -->
-               <xsl:variable name="peri_heights_">
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and not(@MODCLASS = 'MEMORY_UNIT') and (@IS_ABVSBS))]">
-                               <xsl:for-each select="MODULE">
-<!--                                   
-                                       <xsl:message>This is above <xsl:value-of select="@INSTANCE"/></xsl:message>
--->                                    
-                                       
-                                       <xsl:variable name="peri_height_">
-<!--                                           
-                                               <xsl:call-template name="_calc_Shape_Height">   
-                                                       <xsl:with-param name="shapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
--->     
-       
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                                       
-                                       <PERI HEIGHT="{$peri_height_ + $BLKD_BIF_H}"/>
-                               </xsl:for-each>
-                       </xsl:for-each>
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@MODCLASS = 'MEMORY_UNIT') and (@IS_ABVSBS))]">
-                       
-                               <xsl:variable name="memu_height_">
-                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                               <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                       
-<!--                           
-                               <xsl:message>Mem_Unit : <xsl:value-of select="@SHAPE_ID"/> : <xsl:value-of select="$memu_height_ + $peri_gap_"/></xsl:message>
--->                            
-                               <PERI HEIGHT="{$memu_height_ + $BLKD_BIF_H}"/>
-                       
-                       </xsl:for-each>
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_ABVSBS))]">
-                                       
-                               <xsl:variable name="proc_height_">
-                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                               <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-<!--                           
-               <xsl:message>===================================</xsl:message>
-               <xsl:message>Processor : <xsl:value-of select="@INSTANCE"/> : <xsl:value-of select="$peri_height_ + $peri_gap_"/></xsl:message>
-                               <PERI HEIGHT="{$proc_height_ + $BLKD_PROC2SBS_GAP }"/>
--->                                    
-                               <PERI HEIGHT="{$proc_height_ + $BLKD_BIF_H}"/>
-                               
-                       </xsl:for-each>
-               
-               </xsl:variable>
-               
-<!--           
-       <xsl:message><xsl:value-of select="@INSTANCE"/> : <xsl:value-of select="$peri_height_ + $peri_gap_"/></xsl:message>
-       <xsl:message>================================</xsl:message>
--->
-               
-<!--           
-       <xsl:message>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</xsl:message>
--->            
-               <xsl:value-of select="sum(exsl:node-set($peri_heights_)/PERI/@HEIGHT)"/>
-       </xsl:if>
-       
-</xsl:template>
-       
-<xsl:template name="_calc_Stack_BlwSbs_Height">
-       <xsl:param name="iStackIdx"  select="100"/>
-       
-               <!-- Store the all peripheral heights in a variable -->
-               <xsl:variable name="stack_heights_">
-                       
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_BLWSBS))])">
-                               <STACKSHAPE HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@IS_BLWSBS))]">
-       
-                               <xsl:variable name="peri_gap_">
-                                       <xsl:choose>
-                                               <xsl:when test="(@SHAPE_VERTI_INDEX)">
-                                                       <xsl:value-of select="$BLKD_BIF_H"/>
-                                               </xsl:when>
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                       </xsl:choose>   
-                               </xsl:variable> 
-                               
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and not(@MODCLASS = 'MEMORY_UNIT') and (@IS_BLWSBS))]">
-                                       <xsl:for-each select="MODULE">
-<!--                                   
-                                       <xsl:message>This is below <xsl:value-of select="@INSTANCE"/></xsl:message>
--->    
-                                               <xsl:variable name="peri_height_">
-                                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                                               <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                                       </xsl:call-template>    
-                                               </xsl:variable>
-                                               
-                                               <STACKSHAPE HEIGHT="{$peri_height_ + $peri_gap_}"/>
-                                       </xsl:for-each>
-                               </xsl:for-each>
-               
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@MODCLASS = 'MEMORY_UNIT') and (@IS_BLWSBS))]">
-                       
-                                       <xsl:variable name="memu_height_">
-                                               <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                       <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                       
-                                       <STACKSHAPE HEIGHT="{$memu_height_ + $peri_gap_}"/>
-                               
-<!--                           
-                               <xsl:message>Mem_Unit : <xsl:value-of select="@SHAPE_ID"/> : <xsl:value-of select="$memu_height_ + $peri_gap_"/></xsl:message>
--->    
-                       
-                       </xsl:for-each>
-               </xsl:if>
-                       
-               <xsl:variable name="sbsBuckets_H_">
-                       <xsl:call-template name="_calc_Stack_SbsBuckets_Height">
-                               <xsl:with-param name="iStackIdx" select="$iStackIdx"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                       
-                       <STACKSHAPE HEIGHT="{$sbsBuckets_H_}"/>
-<!--                   
-                       <xsl:message>Sbs Bucket H : <xsl:value-of select="$sbsBuckets_H_"/></xsl:message>
--->
-               </xsl:variable>
-               
-<!--           
-               <xsl:message>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv</xsl:message>
--->            
-               <xsl:value-of select="sum(exsl:node-set($stack_heights_)/STACKSHAPE/@HEIGHT)"/>
-       
-</xsl:template>
-       
-
-<xsl:template name="_calc_Stack_SbsBuckets_Height">
-       <xsl:param name="iStackIdx"  select="1000"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-       
-               <!-- Store the all buckets heights in a variable -->
-               <xsl:variable name="bkt_heights_">
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-               
-                               <xsl:variable name="bkt_height_">
-                                       <xsl:call-template name="_calc_SbsBucket_Height">       
-                                               <xsl:with-param name="iBucketId" select="@BUSINDEX"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-<!--                           
-                               <xsl:message>Found shared buckets height as <xsl:value-of select="$bkt_height_"/></xsl:message>
--->                            
-                               <BKT HEIGHT="{$bkt_height_ + $BLKD_BIF_H}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($bkt_heights_)/BKT/@HEIGHT)"/>
-       </xsl:if>
-</xsl:template>
-
-       
-<xsl:template name="_calc_Max_Stack_BlwSbs_Height">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="blwSbs_heights_">
-               
-               <!-- Default, in case there are no modules or ports -->         
-               <BLW HEIGHT="0"/>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-       
-<!--                   
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="stack_height_">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-                       
-                       <BLW HEIGHT="{$stack_height_}"/>
-                       
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@WEST = (/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH -1))]">
-                       
-<!--                   
-                       <xsl:message>Last stack of index <xsl:value-of select="@WEST"/></xsl:message>
--->                    
-                       
-                       <xsl:variable name="stack_height_">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="@WEST"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-                       
-                       <BLW HEIGHT="{$stack_height_}"/>
-                       
-               </xsl:for-each>
-               
-               
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Blw Sbs max as <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/></xsl:message>
--->    
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Max_Stack_AbvSbs_Height">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="abvSbs_heights_">
-               
-               <!-- Default, in case there are no modules or ports -->         
-               <ABV HEIGHT="0"/>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-                       
-<!--                   
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="stack_height_">
-                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                       <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found stack of width <xsl:value-of select="$stack_width_"/></xsl:message>
-                       <xsl:message>==============================</xsl:message>
--->                    
-                       
-                       <ABV HEIGHT="{$stack_height_}"/>
-                       
-               </xsl:for-each>
-               
-               
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Blw Sbs max as <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/></xsl:message>
--->    
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($abvSbs_heights_)/ABV/@HEIGHT)"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Max_Proc_PerisAbvSbs_Height">
-       <xsl:param name="iProcInst"  select="_processor_"/>
-       
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="abvSbs_heights_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <ABV HEIGHT="0"/>
-               </xsl:if>
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE">
-                       <xsl:variable name="procInst_" select="@INSTANCE"/> 
-<!--                   
-                       <xsl:message>Found Blw Sbs height as <xsl:value-of select="$blwSbs_"/></xsl:message>
-                       <ABV HEIGHT="{$pAbvSbs_}"/>
--->                    
-                       
-                       <xsl:variable name="pAbvSbs_">
-                               <xsl:call-template name="_calc_Proc_PerisAbvSbs_Height">        
-                                       <xsl:with-param name="iProcInst" select="$iProcInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:variable name="memUs_">
-                               <xsl:call-template name="_calc_Proc_MemoryUnits_Height">        
-                                       <xsl:with-param name="iProcInst" select="$iProcInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found Peris Above height as <xsl:value-of select="$pAbvSbs_"/></xsl:message>
-                       <xsl:message>Found MemUs Above height as <xsl:value-of select="$memUs_"/></xsl:message>
-                       <xsl:message>Found PAbv Above height as <xsl:value-of select="($pAbvSbs_ + $memUs_)"/></xsl:message>
--->                    
-                       <ABV HEIGHT="{$pAbvSbs_ + $memUs_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Abv Sbs max as <xsl:value-of select="math:max(exsl:node-set($abvSbs_heights_)/ABV/@HEIGHT)"/></xsl:message>
--->    
-       
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($abvSbs_heights_)/ABV/@HEIGHT)"/>
-</xsl:template>
-       
-
-<xsl:template name="_calc_MultiProc_Stack_Height">
-       <xsl:param name="iMPStack_Blkd_X"  select="100"/>
-       
-               <xsl:variable name="mpStk_ShpHeights_">
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@HAS_MULTIPROCCONNS) and (@PSTACK_BLKD_X = $iMPStack_Blkd_X))])">
-                               <MPSHAPE HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@HAS_MULTIPROCCONNS) and (@PSTACK_BLKD_X = $iMPStack_Blkd_X))]">
-                               <xsl:variable name="shpClass_" select="@MODCLASS"/> 
-                               <xsl:variable name="shpHeight_">
-                                       <xsl:choose>
-                                               <xsl:when test="$shpClass_ = 'PERIPHERAL'">
-<!--                                                   
-                                                       <xsl:message>Found Multi Proc Peripheral</xsl:message> 
--->    
-                                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                                               <xsl:with-param name="iShapeInst" select="MODULE/@INSTANCE"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               <xsl:when test="$shpClass_ = 'MEMORY_UNIT'">
-<!--                                                   
-                                                       <xsl:message>Found Multi Proc Memory Unit</xsl:message> 
--->    
-                                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                               <xsl:with-param name="iShapeIndex"  select="@CSHAPE_INDEX"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Found <xsl:value-of select="$shpHeight_"/></xsl:message>
--->                            
-                               
-                               <MPSHAPE HEIGHT="{$shpHeight_}"/>
-                       </xsl:for-each>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found stack of height <xsl:value-of select="sum(exsl:node-set($mpStk_ShpHeights_)/MPSHAPE/@HEIGHT)"/></xsl:message>
--->    
-       
-       <xsl:value-of select="sum(exsl:node-set($mpStk_ShpHeights_)/MPSHAPE/@HEIGHT)"/>
-</xsl:template>
-
-<xsl:template name="_calc_Max_MultiProc_Stack_Height">
-       
-       <!-- Store the heights in a variable -->        
-       
-       <xsl:variable name="mpStks_Heights_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <MPSTK HEIGHT="0"/>
-               </xsl:if>
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@PSTACK_BLKD_X)]">
-                       <xsl:variable name="mpstack_height_">
-                               <xsl:call-template name="_calc_MultiProc_Stack_Height">
-                                       <xsl:with-param name="iMPStack_Blkd_X" select="(@PSTACK_BLKD_X + 1)"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found <xsl:value-of select="$mpstack_height_"/></xsl:message>
--->                    
-                       <MPSTK HEIGHT="{$mpstack_height_}"/>
-               </xsl:for-each>
-               
-       </xsl:variable>
-
-               <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($mpStks_Heights_)/MPSTK/@HEIGHT)"/>
-       
-</xsl:template>
-
-
-
-<xsl:template name="_calc_Stack_Shape_Y">
-       
-       <xsl:param name="iHorizIdx"  select="100"/>
-       <xsl:param name="iVertiIdx"  select="100"/>
-       
-       
-<!--   
-       <xsl:message>Y at H index <xsl:value-of select="$iHorizIdx"/></xsl:message>
-       <xsl:message>Y at V index <xsl:value-of select="$iVertiIdx"/></xsl:message>
-       <xsl:param name="sbsGap"    select="0"/>
-       <xsl:variable name="numSBSs_"     select="count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE)"/>      
-       <xsl:variable name="sbs_LANE_H_"    select="($numSBSs_ * $BLKD_SBS_LANE_H)"/>
-       <xsl:variable name="sbsGap_"   select="($BLKD_PROC2SBS_GAP + $sbs_LANE_H_)"/>
--->    
-       
-       <xsl:variable name="sbsGap_" select="((count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE) * $BLKD_SBS_LANE_H) + $BLKD_PROC2SBS_GAP)"/>       
-       
-       <xsl:if test="(not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]) and  
-                          not(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(  (@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]) and
-                          not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(     (@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]))">0</xsl:if>
-       
-       
-       <xsl:if test="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))])   or  
-                          (/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(  (@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))])   or
-                          (/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(     (@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]))">
-               <!-- Store the spaces above this one in a variable -->
-               <xsl:variable name="spaces_above_">
-               
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX &lt; $iVertiIdx))])">
-                               <SPACE HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <!-- Store the height of all peripherals and memory units above this one-->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx)  and (@SHAPE_VERTI_INDEX &lt; $iVertiIdx))]">
-                               
-                               <xsl:if test="not(@MODCLASS='MEMORY_UNIT')">    
-                                       <xsl:variable name="peri_height_">
-                                               <xsl:call-template name="_calc_Shape_Height">   
-                                                       <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-<!--                                   
-                                       <xsl:message>Found peri height <xsl:value-of select="$peri_height_"/></xsl:message>
--->    
-                                       <SPACE HEIGHT="{$peri_height_ + $BLKD_BIF_H}"/>
-                               </xsl:if>
-                               
-                               <xsl:if test="(@MODCLASS='MEMORY_UNIT')">       
-                                       <xsl:variable name="memu_height_">
-                                               <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                       <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-<!--                                   
-                                       <xsl:message>Found unit height <xsl:value-of select="$memu_height_"/></xsl:message>
--->                                    
-                                       <SPACE HEIGHT="{$memu_height_ + $BLKD_BIF_H}"/>
-                               </xsl:if>
-                               
-                       </xsl:for-each>
-                       
-                       <!-- Store the height of all the processors above this one-->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[((@STACK_HORIZ_INDEX = $iHorizIdx)  and (@SHAPE_VERTI_INDEX &lt; $iVertiIdx))]">
-                               <xsl:variable name="proc_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <SPACE HEIGHT="{$proc_height_ + $BLKD_BIF_H}"/>
-                       </xsl:for-each>
-                       
-                       <!-- If its a peripheral that is below the shared busses, or its a shared bus bucket -->
-                       <!-- add the height of the shared busses and the processor.                           -->
-                       <xsl:if  test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))]/@IS_BLWSBS)">
-                               <SPACE HEIGHT="{$sbsGap_}"/>
-                       </xsl:if>
-                       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[((@STACK_HORIZ_INDEX = $iHorizIdx) and (@SHAPE_VERTI_INDEX = $iVertiIdx))])">
-                               <SPACE HEIGHT="{$sbsGap_}"/>
-                       </xsl:if>
-                       
-                       <!-- Store the height of all shared bus buckets above this one-->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[((@STACK_HORIZ_INDEX = $iHorizIdx)  and (@SHAPE_VERTI_INDEX &lt; $iVertiIdx))]">
-                               <xsl:variable name="bkt_height_">
-                                       <xsl:call-template name="_calc_SbsBucket_Height">
-                                               <xsl:with-param name="iBucketId" select="@BUSINDEX"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <SPACE HEIGHT="{$bkt_height_ + $BLKD_BIF_H}"/>
-                       </xsl:for-each>
-                       
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($spaces_above_)/SPACE/@HEIGHT)"/>
-       </xsl:if>
-       
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Max_BusConnLane_BifY">
-       
-       <xsl:param name="iBusName" select="'_busname_'"/>
-       
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="busConnYs_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE/BUSCONN)">
-                       <BUSCONNY HEIGHT="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE[(@BUSNAME = $iBusName)]/BUSCONN">
-                       
-                       <xsl:variable name="peri_cstk_y_">
-                               <xsl:call-template name="_calc_CStackShapesAbv_Height">
-                                       <xsl:with-param name="iCStackIndex"  select="../@CSTACK_INDEX"/>
-                                       <xsl:with-param name="ICStackModY"   select="@CSTACK_MODS_Y"/>
-                               </xsl:call-template>    
-                       </xsl:variable> 
-                               
-                               <xsl:variable name="peri_bif_dy_">
-                                       <xsl:value-of select="(($BLKD_BIF_H + $BLKD_BIF_GAP)  * @BIF_Y)"/>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="peri_bc_y_">
-                                       <xsl:value-of select="($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_BIF_GAP + $peri_bif_dy_ + ceiling($BLKD_BIF_H div 2)) - ceiling($BLKD_BIFC_H div 2)"/>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found a busconn lane</xsl:message>
--->                    
-                       <BUSCONNY HEIGHT="{$peri_cstk_y_ + $peri_bif_dy_ + $peri_bc_y_}"/>
-               </xsl:for-each>
-               
-       </xsl:variable>
-
-               <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($busConnYs_)/BUSCONNY/@HEIGHT)"/>
-       
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Min_BusConnLane_BifY">
-       
-       <xsl:param name="iBusName" select="'_busname_'"/>
-       
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="busConnYs_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE/BUSCONN)">
-                       <BUSCONNY HEIGHT="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE[(@BUSNAME = $iBusName)]/BUSCONN">
-                       
-                       <xsl:variable name="peri_cstk_y_">
-                               <xsl:call-template name="_calc_CStackShapesAbv_Height">
-                                       <xsl:with-param name="iCStackIndex"  select="../@CSTACK_INDEX"/>
-                                       <xsl:with-param name="iCStackModY"   select="@CSTACK_MODS_Y"/>
-                               </xsl:call-template>    
-                       </xsl:variable> 
-                               
-                               <xsl:variable name="peri_bif_dy_">
-                                       <xsl:value-of select="(($BLKD_BIF_H + $BLKD_BIF_GAP)  * @BIF_Y)"/>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="peri_bc_y_">
-                                       <xsl:value-of select="($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_BIF_GAP + $peri_bif_dy_ + ceiling($BLKD_BIF_H div 2)) - ceiling($BLKD_BIFC_H div 2)"/>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found a busconn lane</xsl:message>
--->                    
-                       <BUSCONNY HEIGHT="{$peri_cstk_y_ + $peri_bc_y_}"/>
-               </xsl:for-each>
-               
-       </xsl:variable>
-
-               <!-- Return the min of them --> 
-       <xsl:value-of select="math:min(exsl:node-set($busConnYs_)/BUSCONNY/@HEIGHT)"/>
-       
-</xsl:template>
-       
-<xsl:template name="_calc_Stack_Height">
-       <xsl:param name="iStackIdx"  select="100"/>
-       
-       <xsl:variable name="stack_height_">
-               <!-- if this is called with no vert index of a shape 
-                        it defaults to the total height of the stack -->
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="iHorizIdx"  select="$iStackIdx"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:value-of select="$stack_height_"/>
-</xsl:template>
-       
-<!--   
--->    
-       
-       
-<xsl:template name="_calc_Stack_Width">
-       <xsl:param name="iStackIdx"  select="100"/>
-       
-<!--   
-       <xsl:message>=============Stack Idx <xsl:value-of select="$iStackIdx"/>====</xsl:message>                       
--->    
-       <xsl:variable name="shape_widths_">     
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[@STACK_HORIZ_INDEX = $iStackIdx])">
-                       <SHAPE WIDTH="0"/>
-               </xsl:if>
-                       
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@STACK_HORIZ_INDEX = $iStackIdx])">
-                       <SHAPE WIDTH="0"/>
-               </xsl:if>
-                       
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-<!--                   
-                       <xsl:variable name="proc_w_">
-                               <xsl:value-of select="$BLKD_MOD_W"/>
-                       </xsl:variable>
-                       <xsl:message>Found processor of width <xsl:value-of select="$proc_w_"/></xsl:message>
--->    
-                       <SHAPE WIDTH="{$BLKD_MOD_W}"/>
-               </xsl:for-each>
-                       
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-                               
-                       <xsl:variable name="shpClass_" select="@MODCLASS"/> 
-                       <xsl:variable name="shape_w_">
-                               <xsl:choose>
-                                               
-                                               <xsl:when test="$shpClass_ = 'PERIPHERAL'">
-                                                       <xsl:value-of select="$BLKD_MOD_W"/>
-                                               </xsl:when>
-                                               
-                                               <xsl:when test="$shpClass_ = 'MEMORY_UNIT'">
-                                                       <xsl:value-of select="($BLKD_MOD_W * @MODS_W)"/>
-                                               </xsl:when>
-                                               
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                               
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--           
-                       <xsl:message>Found shape width <xsl:value-of select="$shape_w_"/></xsl:message>
--->                            
-                               
-                       <SHAPE WIDTH="{$shape_w_}"/>
-               </xsl:for-each>
-                       
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-                       <xsl:variable name="bucket_w_">
-                                 <xsl:value-of select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       </xsl:variable>
-                       
-<!--                           
-                       <xsl:message>Found bucket of width <xsl:value-of select="$bucket_w_"/></xsl:message>
--->                            
-                       <SHAPE WIDTH="{$bucket_w_}"/>
-               </xsl:for-each>
-                       
-       </xsl:variable>
-       
-       <xsl:value-of select="math:max(exsl:node-set($shape_widths_)/SHAPE/@WIDTH)"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Stack_X">
-       <xsl:param name="iStackIdx"  select="0"/>
-<!--   
-       <xsl:message>Looking for stack indexes less than <xsl:value-of select="$iStackIdx"/></xsl:message>
--->    
-       
-       <!-- Store the stack widths in a variable -->   
-       <xsl:variable name="stackspace_widths_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES[(@STACK_HORIZ_INDEX &lt; $iStackIdx)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES[(@STACK_HORIZ_INDEX &lt; $iStackIdx)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX &lt; $iStackIdx)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt;= $iStackIdx)]">
-                       
-<!--           
-                       <xsl:message>==============================</xsl:message>
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
-                       <xsl:message>Bus lane space width <xsl:value-of select="@BUSLANES_W"/></xsl:message>
-                       <xsl:message>Bus lane space is <xsl:value-of select="$space_width_"/></xsl:message>
--->    
-                       <xsl:variable name="space_width_" select="($BLKD_BUS_LANE_W * @BUSLANES_W)"/>
-                       <xsl:variable name="stack_width_">
-                               <xsl:if test="not(@EAST = $iStackIdx)">
-                                       <xsl:call-template name="_calc_Stack_Width">
-                                               <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                                       </xsl:call-template>
-                               </xsl:if>
-                               <xsl:if test="(@EAST = $iStackIdx)">0</xsl:if>
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found stack of width <xsl:value-of select="$stack_width_"/></xsl:message>
-                       <xsl:message>==============================</xsl:message>
--->                    
-                       
-                       <STACKSPACE WIDTH="{$stack_width_ + $space_width_}"/>
-                       
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(not(@EAST) and (@WEST = ($iStackIdx -1)))]">
-                       <xsl:variable name="space_width_" select="($BLKD_BUS_LANE_W * @BUSLANES_W)"/>
-                       
-<!--                   
-                       <xsl:message>Found end space of <xsl:value-of select="$space_width_"/></xsl:message>
--->                    
-                       <STACKSPACE WIDTH="{$space_width_}"/>
-               </xsl:for-each>
-               
-               
-       </xsl:variable>
-       
-       <xsl:value-of select="sum(exsl:node-set($stackspace_widths_)/STACKSPACE/@WIDTH)"/>
-       
-</xsl:template>        
-       
-<xsl:template name="_calc_Space_Width">
-       
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       
-<!--   
-       <xsl:message>Stack to West <xsl:value-of select="$stackToWest"/></xsl:message>
-       <xsl:message>Stack to East <xsl:value-of select="$stackToEast"/></xsl:message>
--->    
-       
-       <xsl:variable name="spaceWidth_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST = $iStackToEast) or (not($iStackToWest = 'NONE') and (@WEST = $iStackToWest)))]">
-                               <xsl:value-of select="((/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST = $iStackToEast) or (not($iStackToWest = 'NONE') and (@WEST = $iStackToWest)))]/@BUSLANES_W) * $BLKD_BUS_LANE_W)"/>
-                       </xsl:when>     
-                       <xsl:otherwise>0</xsl:otherwise>        
-               </xsl:choose>   
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>Space width <xsl:value-of select="$spaceWidth_"/></xsl:message>
--->    
-       
-       <xsl:value-of select="$spaceWidth_"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Space_X">
-       
-       <xsl:param name="iStackToWest"  select="'NONE'"/>
-       <xsl:param name="iStackToEast"  select="'NONE'"/>
-       
-<!--   
-       <xsl:message>Stack East <xsl:value-of select="$stackToEast"/></xsl:message>
-       <xsl:message>Stack West <xsl:value-of select="$stackToWest"/></xsl:message>
--->    
-       
-       <!-- Store the stack widths in a variable -->   
-       
-<!--   
-       <xsl:message>Looking for stack indexes less than <xsl:value-of select="$stackIdx"/></xsl:message>
--->    
-       
-       <xsl:variable name="stackspace_widths_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES[(@STACK_HORIZ_INDEX &lt; $iStackToEast)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES[(@STACK_HORIZ_INDEX &lt; $iStackToEast)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX &lt; $iStackToEast)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST &lt; $iStackToEast) or (not($iStackToWest = 'NONE') and (@EAST &lt;= $iStackToWest)))]">
-                       
-<!--           
-                       <xsl:message>==============================</xsl:message>
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="space_width_" select="($BLKD_BUS_LANE_W * @BUSLANES_W)"/>
-<!--                   
-                       <xsl:message>Bus lane space width <xsl:value-of select="@BUSLANES_W"/></xsl:message>
-                       <xsl:message>Bus lane space is <xsl:value-of select="$space_width_"/></xsl:message>
--->    
-                               <xsl:variable name="stack_width_">
-                                       <xsl:call-template name="_calc_Stack_Width">
-                                               <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found stack of width <xsl:value-of select="$stack_width_"/></xsl:message>
-                       <xsl:message>==============================</xsl:message>
--->                    
-                       
-                       <STACKSPACE WIDTH="{$stack_width_ + $space_width_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-       <xsl:variable name = "stackToWest_W_">
-               <xsl:choose>
-                       <xsl:when test="(($iStackToEast = '0')   and     ($iStackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($iStackToEast = 'NONE') and not($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="$iStackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($iStackToEast = '0') and ($iStackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="($iStackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-<!--   
-       <xsl:variable name = "stackToEast_W_">
-               <xsl:call-template name="_calc_Stack_Width">
-                       <xsl:with-param name="stackIdx"  select="$stackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stackToEast_W_ div 2)"/>
--->    
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stackToWest_W_ div 2)"/>
-        
-       <xsl:value-of select="sum(exsl:node-set($stackspace_widths_)/STACKSPACE/@WIDTH) - $extSpaceWest_W_"/>
-</xsl:template>        
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Dimensions.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Dimensions.xsl
deleted file mode 100644 (file)
index bf9bf94..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-       
-<!-- 
-       ======================================================
-                       BUS INTERFACE DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_BIF_H"     select="16"/>                              
-<xsl:variable name="BLKD_BIF_W"     select="32"/>                              
-       
-<xsl:variable name="BLKD_BIFC_H"    select="24"/>                              
-<xsl:variable name="BLKD_BIFC_W"    select="24"/>                              
-
-<xsl:variable name="BLKD_BIFC_dx"   select="ceiling($BLKD_BIFC_W div 5)"/>
-<xsl:variable name="BLKD_BIFC_dy"   select="ceiling($BLKD_BIFC_H div 5)"/>
-<xsl:variable name="BLKD_BIFC_Hi"   select="($BLKD_BIFC_H - ($BLKD_BIFC_dy * 2))"/>    
-<xsl:variable name="BLKD_BIFC_Wi"   select="($BLKD_BIFC_W - ($BLKD_BIFC_dx * 2))"/>
-
-<xsl:variable name="BLKD_BIF_TYPE_ONEWAY"  select="'OneWay'"/>
-       
-<!-- 
-       ======================================================
-                       GLOLBAL BUS INTERFACE DIMENSIONS
-               (Define for global MdtSVG_BifShapes.xsl which is used across all
-            diagrams to define the shapes of bifs the same across all diagrams)
-       ======================================================
--->    
-       
-<xsl:variable name="BIF_H"     select="$BLKD_BIF_H"/>                          
-<xsl:variable name="BIF_W"     select="$BLKD_BIF_W"/>
-       
-<xsl:variable name="BIFC_H"    select="$BLKD_BIFC_H"/>
-<xsl:variable name="BIFC_W"    select="$BLKD_BIFC_W"/>
-       
-<xsl:variable name="BIFC_dx"   select="$BLKD_BIFC_dx"/>
-<xsl:variable name="BIFC_dy"   select="$BLKD_BIFC_dy"/>
-       
-<xsl:variable name="BIFC_Hi"   select="$BLKD_BIFC_Hi"/>        
-<xsl:variable name="BIFC_Wi"   select="$BLKD_BIFC_Wi"/>
-
-
-<!-- 
-       ======================================================
-                       BUS DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_P2P_BUS_W"     select="($BLKD_BUS_ARROW_H - ($BLKD_BUS_ARROW_G * 2))"/>       
-<xsl:variable name="BLKD_SBS_LANE_H"    select="($BLKD_MOD_H + ($BLKD_BIF_H * 2))"/>   
-<xsl:variable name="BLKD_BUS_LANE_W"    select="($BLKD_BIF_W + ($BLKD_MOD_BIF_GAP_H * 2))"/>
-<xsl:variable name="BLKD_BUS_ARROW_W"   select="ceiling($BLKD_BIFC_W div 3)"/> 
-<xsl:variable name="BLKD_BUS_ARROW_H"   select="ceiling($BLKD_BIFC_H div 2)"/>
-<xsl:variable name="BLKD_BUS_ARROW_G"   select="ceiling($BLKD_BIFC_W div 12)"/>
-       
-       
-<!-- 
-       ======================================================
-                       IO PORT DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_IOP_H"   select="16"/>                                
-<xsl:variable name="BLKD_IOP_W"   select="16"/>                                
-<xsl:variable name="BLKD_IOP_SPC" select="12"/>                                
-
-       
-<!-- 
-       ======================================================
-                       INTERRUPT NOTATION DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_INTR_W"  select="18"/>
-<xsl:variable name="BLKD_INTR_H"  select="18"/>
-       
-<!-- 
-       ======================================================
-                       MODULE DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_MOD_IO_GAP"   select="8"/>    
-       
-<xsl:variable name="BLKD_MOD_W"  select="(                    ($BLKD_BIF_W * 2) + ($BLKD_MOD_BIF_GAP_H * 1) + ($BLKD_MOD_LANE_W * 2))"/>
-<xsl:variable name="BLKD_MOD_H"  select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * 1) + ($BLKD_MOD_BIF_GAP_V * 1) + ($BLKD_MOD_LANE_H * 2))"/>
-       
-<xsl:variable name="BLKD_MOD_BIF_GAP_H" select="ceiling($BLKD_BIF_H div 4)"/>                          
-<xsl:variable name="BLKD_MOD_BIF_GAP_V" select="ceiling($BLKD_BIFC_H div 2)"/>                         
-       
-<xsl:variable name="BLKD_MOD_LABEL_W"   select="(($BLKD_BIF_W * 2) + $BLKD_MOD_BIF_GAP_H)"/>
-<xsl:variable name="BLKD_MOD_LABEL_H"   select="(($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 3))"/>
-       
-<xsl:variable name="BLKD_MOD_LANE_W"    select="ceiling($BLKD_BIF_W div 3)"/>
-<xsl:variable name="BLKD_MOD_LANE_H"    select="ceiling($BLKD_BIF_H div 4)"/>
-       
-<xsl:variable name="BLKD_MOD_EDGE_W"    select="ceiling($BLKD_MOD_LANE_W div 2)"/>
-<xsl:variable name="BLKD_MOD_SHAPES_G"  select="($BLKD_BIF_W + $BLKD_BIF_W)"/>
-       
-<xsl:variable name="BLKD_MOD_BKTLANE_H" select="$BLKD_BIF_H"/>
-<xsl:variable name="BLKD_MOD_BKTLANE_W" select="$BLKD_BIF_H"/>
-       
-<xsl:variable name="BLKD_MOD_BUCKET_G"  select="ceiling($BLKD_BIF_W div 2)"/>
-       
-<xsl:variable name="BLKD_MPMC_MOD_H"    select="(($BLKD_BIF_H * 1) + ($BLKD_MOD_BIF_GAP_V * 2) + ($BLKD_MOD_LANE_H * 2))"/>
-       
-       
-<!-- 
-       ======================================================
-                       GLOBAL DIAGRAM DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BLKD_IORCHAN_H"      select="$BLKD_BIF_H"/>
-<xsl:variable name="BLKD_IORCHAN_W"      select="$BLKD_BIF_H"/>
-       
-<xsl:variable name="BLKD_PRTCHAN_H"      select="($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 2)"/>
-<xsl:variable name="BLKD_PRTCHAN_W"      select="($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 2) + 8"/>
-       
-<xsl:variable name="BLKD_DRAWAREA_MIN_W" select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * 3) + ($BLKD_MOD_BUCKET_G * 2)))"/>
-       
-<xsl:variable name="BLKD_INNER_X"               select="($BLKD_PRTCHAN_W  + $BLKD_IORCHAN_W + $BLKD_INNER_GAP)"/>
-<xsl:variable name="BLKD_INNER_Y"               select="($BLKD_PRTCHAN_H  + $BLKD_IORCHAN_H + $BLKD_INNER_GAP)"/>
-<xsl:variable name="BLKD_INNER_GAP"      select="ceiling($BLKD_MOD_W div 2)"/>
-       
-<xsl:variable name="BLKD_SBS2IP_GAP"    select="$BLKD_MOD_H"/>
-<xsl:variable name="BLKD_BRIDGE_GAP"    select="($BLKD_BUS_LANE_W * 4)"/>
-<xsl:variable name="BLKD_IP2UNK_GAP"    select="$BLKD_MOD_H"/>
-<xsl:variable name="BLKD_PROC2SBS_GAP"  select="($BLKD_BIF_H * 2)"/>
-<xsl:variable name="BLKD_IOR2PROC_GAP"  select="$BLKD_BIF_W"/>
-<xsl:variable name="BLKD_MPMC2PROC_GAP" select="($BLKD_BIF_H * 2)"/>
-<xsl:variable name="BLKD_SPECS2KEY_GAP" select="$BLKD_BIF_W"/>
-<xsl:variable name="BLKD_DRAWAREA2KEY_GAP"  select="ceiling($BLKD_BIF_W div 3)"/>
-       
-<xsl:variable name="BLKD_KEY_H"         select="250"/>
-<xsl:variable name="BLKD_KEY_W"         select="($BLKD_DRAWAREA_MIN_W + ceiling($BLKD_DRAWAREA_MIN_W div 2.5))"/>
-       
-       
-<xsl:variable name="BLKD_SPECS_H"       select="100"/>
-<xsl:variable name="BLKD_SPECS_W"       select="300"/>
-       
-       
-       
-<xsl:variable name="BLKD_BKT_MODS_PER_ROW"   select="3"/>
-       
-<!--           
-<xsl:template name="Print_Dimensions">
-       <xsl:message>MOD_LABEL_W  : <xsl:value-of select="$MOD_LABEL_W"/></xsl:message>
-       <xsl:message>MOD_LABEL_H  : <xsl:value-of select="$MOD_LABEL_H"/></xsl:message>
-       
-       <xsl:message>MOD_LANE_W   : <xsl:value-of select="$MOD_LANE_W"/></xsl:message>
-       <xsl:message>MOD_LANE_H   : <xsl:value-of select="$MOD_LANE_H"/></xsl:message>
-       
-       <xsl:message>MOD_EDGE_W   : <xsl:value-of select="$MOD_EDGE_W"/></xsl:message>
-       <xsl:message>MOD_SHAPES_G : <xsl:value-of select="$MOD_SHAPES_G"/></xsl:message>
-       
-       <xsl:message>MOD_BKTLANE_W   : <xsl:value-of select="$MOD_BKTLANE_W"/></xsl:message>
-       <xsl:message>MOD_BKTLANE_H   : <xsl:value-of select="$MOD_BKTLANE_H"/></xsl:message>
-       <xsl:message>MOD_BUCKET_G    : <xsl:value-of select="$MOD_BUCKET_G"/></xsl:message>
-       
-</xsl:template>                
--->    
-       
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_IOPorts.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_IOPorts.xsl
deleted file mode 100644 (file)
index 9a53158..0000000
+++ /dev/null
@@ -1,498 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-<!--   
-<xsl:param name="BLKD_IOP_H"   select="16"/>                           
-<xsl:param name="BLKD_IOP_W"   select="16"/>                           
-<xsl:param name="BLKD_IOP_SPC" select="12"/>                           
-<xsl:param name="MOD_IO_GAP"   select="8"/>                            
--->
-       
-
-<!-- ======================= DEF BLOCK =============================== -->
-<xsl:template name="Define_IOPorts">
-       
-       <xsl:variable name="key_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-               <xsl:variable name="key_lt_col_">
-                       <xsl:call-template name="BusType2LightColor">
-                               <xsl:with-param name="iBusType" select="'KEY'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-
-        <symbol id="G_IOPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$BLKD_IOP_W}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/> 
-                       
-               <path class="ioport"
-                         d="M   0,0
-                                L   {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                L   0,{$BLKD_IOP_H}
-                                Z" style="stroke:none; fill:{$COL_SYSPRT}"/>   
-       </symbol>
-
-        <symbol id="G_BIPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$BLKD_IOP_W}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/> 
-                       
-               <path class="btop"
-                         d="M 0,{ceiling($BLKD_IOP_H div 2)}
-                                {ceiling($BLKD_IOP_W div 2)},0
-                                {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$COL_SYSPRT}"/>   
-                                
-               <path class="bbot"
-                         d="M 0,{ceiling($BLKD_IOP_H div 2)}
-                                {ceiling($BLKD_IOP_W div 2)},{$BLKD_IOP_H}
-                                {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$COL_SYSPRT}"/>   
-                                
-       </symbol>
-
-        <symbol id="KEY_IOPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$BLKD_IOP_W}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/> 
-                       
-               <path class="ioport"
-                         d="M   0,0
-                                L   {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                L   0,{$BLKD_IOP_H}
-                                Z" style="stroke:none; fill:{$key_col_}"/>     
-       </symbol>
-       
-        <symbol id="KEY_BIPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$BLKD_IOP_W}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/> 
-                       
-               <path class="btop"
-                         d="M 0,{ceiling($BLKD_IOP_H div 2)}
-                                {ceiling($BLKD_IOP_W div 2)},0
-                                {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$key_col_}"/>     
-                                
-               <path class="bbot"
-                         d="M 0,{ceiling($BLKD_IOP_H div 2)}
-                                {ceiling($BLKD_IOP_W div 2)},{$BLKD_IOP_H}
-                                {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$key_col_}"/>
-       </symbol>
-       
-        <symbol id="KEY_INPort">
-               <use   x="0"   y="0"   xlink:href="#KEY_IOPort"/>
-               <rect  
-                       x="{$BLKD_IOP_W}"  
-                       y="0" 
-                       width= "{ceiling($BLKD_IOP_W div 2)}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/> 
-       </symbol>
-       
-        <symbol id="KEY_OUTPort">
-               <use   x="0"   y="0"   xlink:href="#KEY_IOPort" transform="scale(-1,1) translate({$BLKD_IOP_W * -1},0)"/>
-               <rect  
-                       x="{$BLKD_IOP_W}"  
-                       y="0" 
-                       width= "{ceiling($BLKD_IOP_W div 2)}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/> 
-       </symbol>
-
-        <symbol id="KEY_INOUTPort">
-               <use   x="0"   y="0"   xlink:href="#KEY_BIPort"/>
-               <rect  
-                       x="{$BLKD_IOP_W}"  
-                       y="0" 
-                       width= "{ceiling($BLKD_IOP_W div 2)}" 
-                       height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/> 
-       </symbol>
-
-
-</xsl:template>
-
-<!-- ======================= DRAW BLOCK =============================== -->
-
-<xsl:template name="Draw_IOPorts"> 
-       
-       <xsl:variable name="ports_count_"    select="count(EXTERNALPORTS/PORT)"/>
-       
-       <xsl:if test="($ports_count_ &gt; 30)">
-               <xsl:call-template name="Draw_IOPorts_4Sides"/> 
-       </xsl:if>
-       
-       <xsl:if test="($ports_count_ &lt;= 30)">
-               <xsl:call-template name="Draw_IOPorts_2Sides"/> 
-       </xsl:if>
-</xsl:template>
-
-<xsl:template name="Draw_IOPorts_2Sides"> 
-       
-       <xsl:variable name="ports_count_"    select="count(EXTERNALPORTS/PORT)"/>
-       <xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 2)"/>
-       
-       <xsl:variable name="h_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($G_total_drawarea_W  - (($ports_per_side_ * $BLKD_IOP_W) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-       <xsl:variable name="v_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($G_total_drawarea_H  - (($ports_per_side_ * $BLKD_IOP_H) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-
-       <xsl:for-each select="EXTERNALPORTS/PORT">
-               <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-               
-               <xsl:variable name="poffset_" select="0"/>
-               <xsl:variable name="pcount_"  select="$poffset_ + (position() -1)"/>
-               
-               <xsl:variable name="pdir_">
-                       <xsl:choose>
-                               <xsl:when test="(@DIR='I'  or @DIR='IN'  or @DIR='INPUT')">I</xsl:when>
-                               <xsl:when test="(@DIR='O'  or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
-                               <xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
-                               <xsl:otherwise>I</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pside_">
-                       <xsl:choose>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 0) and ($pcount_ &lt; ($ports_per_side_ * 1)))">W</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 1) and ($pcount_ &lt; ($ports_per_side_ * 2)))">E</xsl:when>
-                               <xsl:otherwise>D</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pdec_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="px_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $BLKD_IOP_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)) - 2)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $G_total_drawarea_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)))"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="py_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $G_total_drawarea_H)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $BLKD_IOP_H)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-       
-               <xsl:variable name="prot_">
-                       <xsl:choose>
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               
-               <xsl:variable name="txo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_  = 'W')">-10</xsl:when>
-                               <xsl:when test="($pside_  = 'S')">6</xsl:when>
-                                <xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($BLKD_IOP_W * 2) - 4)"/></xsl:when>
-                               <xsl:when test="($pside_  = 'N')">6</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="tyo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_IOP_H * 2) + 4"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')">-2</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-
-               <xsl:if test="$pdir_ = 'B'">       
-                       <use   x="{$px_}"  
-                              y="{$py_}"  
-                                  id="{@NAME}"
-                              xlink:href="#G_BIPort" 
-                              transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">    
-                       <rect  
-                               x="{$px_}"  
-                               y="{$py_}" 
-                               width= "{$BLKD_IOP_W}" 
-                               height="{$BLKD_IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/> 
-               </xsl:if>
-               
-               <xsl:if test="not($pdir_ = 'B')">          
-                       <use   x="{$px_}"  
-                              y="{$py_}"  
-                                  id="{@NAME}"
-                              xlink:href="#G_IOPort" 
-                              transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <text class="iopnumb"
-                       x="{$px_ + $txo_}" 
-                       y="{$py_ + $tyo_}">
-                       <xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
-               </text>
-               
-       </xsl:for-each>
-       
-</xsl:template>
-
-
-<xsl:template name="Draw_IOPorts_4Sides"> 
-       
-       <xsl:variable name="ports_count_"    select="count(EXTERNALPORTS/PORT)"/>
-       <xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 4)"/>
-       
-       <xsl:variable name="h_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($G_total_drawarea_W  - (($ports_per_side_ * $BLKD_IOP_W) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-       <xsl:variable name="v_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($G_total_drawarea_H  - (($ports_per_side_ * $BLKD_IOP_H) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-
-       <xsl:for-each select="EXTERNALPORTS/PORT">
-               <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-               
-               <xsl:variable name="poffset_" select="0"/>
-               <xsl:variable name="pcount_"  select="$poffset_ + (position() -1)"/>
-               
-               <xsl:variable name="pdir_">
-                       <xsl:choose>
-                               <xsl:when test="(@DIR='I'  or @DIR='IN'  or @DIR='INPUT')">I</xsl:when>
-                               <xsl:when test="(@DIR='O'  or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
-                               <xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
-                               <xsl:otherwise>I</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pside_">
-                       <xsl:choose>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 0) and ($pcount_ &lt; ($ports_per_side_ * 1)))">W</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 1) and ($pcount_ &lt; ($ports_per_side_ * 2)))">S</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 2) and ($pcount_ &lt; ($ports_per_side_ * 3)))">E</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 3) and ($pcount_ &lt; ($ports_per_side_ * 4)))">N</xsl:when>
-                               <xsl:otherwise>D</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pdec_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 2)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($ports_per_side_ * 3)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="px_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $BLKD_IOP_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)) - 2)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $G_total_drawarea_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)))"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="py_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $G_total_drawarea_H)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $BLKD_IOP_H)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-       
-               <xsl:variable name="prot_">
-                       <xsl:choose>
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="txo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_  = 'W')">-14</xsl:when>
-                               <xsl:when test="($pside_  = 'S')">8</xsl:when>
-                                <xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($BLKD_IOP_W * 2) - 4)"/></xsl:when>
-                               <xsl:when test="($pside_  = 'N')">8</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="tyo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_IOP_H * 2) + 4"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')">-2</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-
-               <xsl:if test="$pdir_ = 'B'">       
-                       <use   x="{$px_}"
-                              y="{$py_}"
-                                  id="{@NAME}"
-                              xlink:href="#G_BIPort" 
-                              transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">    
-                       <rect  
-                               x="{$px_}"
-                               y="{$py_}"
-                               width= "{$BLKD_IOP_W}"
-                               height="{$BLKD_IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/> 
-               </xsl:if>
-               
-               <xsl:if test="not($pdir_ = 'B')">          
-                       <use   x="{$px_}"
-                              y="{$py_}"
-                                  id="{@NAME}"
-                              xlink:href="#G_IOPort"
-                              transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <text class="iopnumb"
-                       x="{$px_ + $txo_}" 
-                       y="{$py_ + $tyo_}"><xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
-               </text>
-
-       </xsl:for-each>
-       
-</xsl:template>
-       
-<xsl:template name="Define_ExtPortsTable">
-       
-<!--   
-               <xsl:if test="$oriented_= 'WEST'"><xsl:value-of select="$proc2procX_ - (string-length(@BUSNAME) * 6)"/></xsl:if>        
-               <xsl:variable name="max_name_" select="math:max(string-length(/EDKSYSTEM/EXTERNALPORTS/PORT/@NAME))"/>
-               <xsl:variable name="max_sgnm_" select="math:max(string-length(/EDKSYSTEM/EXTERNALPORTS/PORT/@SIGNAME))"/>
-       
-               <xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
-               <xsl:message>MAX SIG  <xsl:value-of select="$max_sgnm_"/></xsl:message>
--->    
-       
-               <xsl:variable name="ext_ports_">        
-                       <xsl:if test="not(/EDKSYSTEM/EXTERNALPORTS/PORT)">
-                               <EXTPORT NAME="__none__" SIGNAME="__none_" NAMELEN="0" SIGLEN="0"/>
-                       </xsl:if>
-                       <xsl:if test="/EDKSYSTEM/EXTERNALPORTS/PORT">
-                               <xsl:for-each select="/EDKSYSTEM/EXTERNALPORTS/PORT">
-                                       <EXTPORT  NAME="{@NAME}" SIGNAME="{@SIGNAME}" NAMELEN="{string-length(@NAME)}" SIGLEN="{string-length(@SIGNAME)}"/>
-                               </xsl:for-each>
-                       </xsl:if>
-               </xsl:variable>
-       
-               <xsl:variable name="max_name_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@NAMELEN)"/>
-               <xsl:variable name="max_sign_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@SIGLEN)"/>
-       
-               <xsl:variable name="h_font_" select="12"/>
-               <xsl:variable name="w_font_" select="12"/>
-       
-               <xsl:variable name="w_num_"    select="($w_font_ * 5)"/>
-               <xsl:variable name="w_dir_"    select="($w_font_ * 3)"/>
-               <xsl:variable name="w_lsbmsb_" select="($w_font_ * 9)"/>
-               <xsl:variable name="w_attr_"   select="($w_font_ * 4)"/>
-               <xsl:variable name="w_name_"   select="($w_font_ * $max_name_)"/>
-               <xsl:variable name="w_sign_"   select="($w_font_ * $max_sign_)"/>
-       
-               <xsl:variable name="w_table_" select="($w_num_ + $w_name_ + $w_dir_ + $w_sign_ + $w_attr_)"/>
-       
-<!--   
-               <xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
-               <xsl:message>MAX SIG  <xsl:value-of select="$max_sign_"/></xsl:message>
-       
-               <xsl:message>W NUM  <xsl:value-of select="$w_num_"/></xsl:message>
-               <xsl:message>W DIR  <xsl:value-of select="$w_dir_"/></xsl:message>
-               <xsl:message>W NAM  <xsl:value-of select="$w_name_"/></xsl:message>
-               <xsl:message>W SIG  <xsl:value-of select="$w_sign_"/></xsl:message>
-               <xsl:message>W ATT  <xsl:value-of select="$w_attr_"/></xsl:message>
-       
-               <xsl:message>W TABLE  <xsl:value-of select="$w_table_"/></xsl:message>
--->    
-       
-        <symbol id="BlkDiagram_ExtPortsTable">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$w_table_}" 
-                       height="{$h_font_}"  style="fill:{$COL_RED}; stroke:none; stroke-width:1"/> 
-       </symbol>        
-       
-       
-       
-</xsl:template>
-
-<!-- ======================= END MAIN BLOCK =========================== -->
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Main.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Main.xsl
deleted file mode 100644 (file)
index 55c9b85..0000000
+++ /dev/null
@@ -1,1391 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:math="http://exslt.org/math"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-           extension-element-prefixes="math">
-                  
-<xsl:include href="MdtSVG_Colors.xsl"/>
-<xsl:include href="MdtSVG_BifShapes.xsl"/>
-       
-<xsl:include href="MdtSvgBLKD_Busses.xsl"/>
-<xsl:include href="MdtSvgBLKD_IOPorts.xsl"/>
-<xsl:include href="MdtSvgBLKD_Dimensions.xsl"/>
-<xsl:include href="MdtSvgBLKD_Processors.xsl"/>
-<xsl:include href="MdtSvgBLKD_Peripherals.xsl"/>
-<xsl:include href="MdtSvgBLKD_Calculations.xsl"/>
-<xsl:include href="MdtSvgBLKD_BusLaneSpaces.xsl"/>
-       
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="svg10.dtd"/>
-       
-<xsl:param    name="ADD_VIEWBOX"        select="'FALSE'"/>                
-<xsl:param    name="IN_TESTMODE"        select="'FALSE'"/>
-
-<xsl:param    name="CSS_SVG_DIAGRAMS"   select="'MdtSVG_Diagrams.css'"/>
-       
-<!-- 
-   ===========================================================================
-                       CALCULATE GLOBAL DIMENSIONS BASED ON BLKDSHAPES DEF IN INPUT XML        
-   ===========================================================================
--->
-       
-<xsl:variable name="G_total_StandAloneMpmc_H">
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE">
-               <xsl:value-of select="($BLKD_MPMC_MOD_H + $BLKD_MPMC2PROC_GAP)"/>       
-       </xsl:if>
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE)">0</xsl:if>
-</xsl:variable>
-       
-<xsl:variable name="G_max_Stack_BlwSbs_H">
-       <xsl:call-template name="_calc_Max_Stack_BlwSbs_Height"/>
-</xsl:variable>
-
-<xsl:variable name="G_max_Stack_AbvSbs_H">
-       <xsl:call-template name="_calc_Max_Stack_AbvSbs_Height"/>
-</xsl:variable>
-       
-<xsl:variable name="G_total_Stacks_W">
-       <xsl:call-template name="_calc_Stack_X">
-               <xsl:with-param name="iStackIdx"    select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)"/>
-       </xsl:call-template>
-</xsl:variable>
-       
-<xsl:variable name="G_NumOfSharedBusses"   select="count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE)"/>
-<xsl:variable name="G_total_SharedBus_H"   select="($G_NumOfSharedBusses * $BLKD_SBS_LANE_H)"/>
-
-<xsl:variable name="G_NumOfBridges"        select="count(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE)"/>
-<xsl:variable name="G_total_Bridges_W"     select="(($G_NumOfBridges * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))) + $BLKD_BRIDGE_GAP)"/>
-       
-<xsl:variable name="G_total_drawarea_CLC"  select="($G_total_Stacks_W + $G_total_Bridges_W + ($BLKD_INNER_GAP * 2))"/>
-       
-<xsl:variable name="G_total_drawarea_W">
-       <xsl:if test="$G_total_drawarea_CLC &gt; ($BLKD_KEY_W + $BLKD_SPECS_W + $BLKD_SPECS2KEY_GAP)">
-               <xsl:value-of select="$G_total_drawarea_CLC"/>
-       </xsl:if>
-       <xsl:if test="not($G_total_drawarea_CLC &gt; ($BLKD_KEY_W + $BLKD_SPECS2KEY_GAP + $BLKD_SPECS_W))">
-               <xsl:value-of select="($BLKD_KEY_W + $BLKD_SPECS_W + $BLKD_SPECS2KEY_GAP)"/>
-       </xsl:if>
-</xsl:variable>
-       
-<xsl:variable name="G_IpBucketMods_H">
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/IPBUCKET/@MODS_H"><xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/IPBUCKET/@MODS_H"/></xsl:if>
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/IPBUCKET/@MODS_H)">0</xsl:if>
-</xsl:variable>
-<xsl:variable name="G_total_IpBucket_H"   select="($G_IpBucketMods_H * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
-       
-<xsl:variable name="G_total_UnkBucket_H">
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET">
-       
-               <xsl:variable name="unkBucketMods_H_">
-                       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@MODS_H"><xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@MODS_H"/></xsl:if>
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@MODS_H)">0</xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="total_UnkMod_H_"       select="($unkBucketMods_H_ * ($BLKD_MOD_H + $BLKD_BIF_H))"/>                 <xsl:variable name="unkBucketBifs_H_"> <xsl:if test="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@BIFS_H"><xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@BIFS_H"/></xsl:if>
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/@BIFS_H)">0</xsl:if>
-               </xsl:variable>
-               <xsl:variable name="total_UnkBif_H_"       select="($unkBucktBifs_H_ * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
-               
-               <xsl:value-of select="($total_UnkBif_H_ + $G_totalUnkMod_H_)"/> 
-       </xsl:if>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/UNKBUCKET)">0</xsl:if>
-</xsl:variable>
-       
-<xsl:variable name="G_SharedBus_Y"    select="($BLKD_INNER_Y + $G_total_StandAloneMpmc_H + $G_max_Stack_AbvSbs_H + $BLKD_PROC2SBS_GAP)"/>
-       
-<!-- ===========================================================================
-    Calculate the width of the Block Diagram based on the total number of      
-    buslanes and modules in the design. If there are no buslanes or modules,
-       a default width, just wide enough to display the KEY and SPECS is used
-   =========================================================================== -->
-<xsl:variable name="G_total_blkd_W"  select="($G_total_drawarea_W + (($BLKD_PRTCHAN_W  + $BLKD_IORCHAN_W)* 2))"/>
-<xsl:variable name="G_total_diag_W"    select="$G_total_blkd_W"/>
-       
-<!-- =========================================================================== -->
-<!-- Calculate the height of the Block Diagram based on the total number of      -->
-<!-- buslanes and modules in the design. Take into account special shapes such   -->
-<!-- as MultiProc shapes.                                                                                                           -->
-<!-- =========================================================================== -->
-       
-       
-<xsl:variable name="G_total_drawarea_H"  select="($G_total_StandAloneMpmc_H + $G_max_Stack_AbvSbs_H + $BLKD_PROC2SBS_GAP + $G_total_SharedBus_H + $G_max_Stack_BlwSbs_H + $BLKD_SBS2IP_GAP + $G_total_IpBucket_H + $BLKD_IP2UNK_GAP + $G_total_UnkBucket_H + ($BLKD_INNER_GAP * 2))"/>
-<xsl:variable name="G_total_blkd_H"      select="($G_total_drawarea_H + (($BLKD_PRTCHAN_H  + $BLKD_IORCHAN_H)* 2))"/>
-       
-<xsl:variable name="G_total_diag_H">
-       <xsl:if test="($IN_TESTMODE = 'TRUE')">
-               <xsl:message>Generating Blkdiagram in TestMode </xsl:message>
-       <xsl:value-of select="$G_total_blkd_H"/>
-       </xsl:if>
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-       <xsl:value-of select="($G_total_blkd_H + $BLKD_DRAWAREA2KEY_GAP + $BLKD_KEY_H)"/>
-       </xsl:if>
-</xsl:variable>
-               
-<!-- ======================= MAIN SVG BLOCK =============================== -->
-<xsl:template match="EDKSYSTEM">
-       
-<!--
-<xsl:message>STCK_W is <xsl:value-of select="$G_total_Stacks_W"/></xsl:message>
-<xsl:message>BRDG_W is <xsl:value-of select="$G_total_Bridges_W"/></xsl:message>
-<xsl:message>MPMC is <xsl:value-of select="$G_total_StandAloneMpmc_H"/></xsl:message>
-<xsl:message>MPMC is <xsl:value-of select="$G_total_StandAloneMpmc_H"/></xsl:message>
-<xsl:message>MABV is <xsl:value-of select="$G_max_Stack_AbvSbs_H"/></xsl:message>
-<xsl:message>MBLW is <xsl:value-of select="$G_max_Stack_BlwSbs_H"/></xsl:message>
-<xsl:message>IPBK is <xsl:value-of select="$G_total_IpBucket_H"/></xsl:message>
-<xsl:message>Blkd Total is <xsl:value-of select="$blkd_H_"/></xsl:message>
-<xsl:message>max abv is <xsl:value-of select="$max_Stack_AbvSbs_H_"/></xsl:message>
-<xsl:message>max blw is <xsl:value-of select="$max_Stack_BlwSbs_H_"/></xsl:message>
-<xsl:message>Ip Bkt is <xsl:value-of select="$totalIpBkt_H_"/></xsl:message>
-<xsl:message>Sbs is <xsl:value-of select="$totalSbs_H_"/></xsl:message>
-<xsl:message>Unk Bkt is <xsl:value-of select="$totalUnkBkt_H_"/></xsl:message>
-<xsl:message>Blkd DrawArea height as <xsl:value-of select="$total_drawarea_H_"/></xsl:message>
--->
-
-<!--specify a css for the file -->
-<xsl:processing-instruction name="xml-stylesheet">href="<xsl:value-of select="$CSS_SVG_DIAGRAMS"/>" type="text/css"</xsl:processing-instruction>
-
-<xsl:variable name="BLKD_ZOOM_Y">
-       <xsl:choose>
-               <xsl:when test="($ADD_VIEWBOX = 'TRUE')">
-                       <xsl:value-of select="($G_total_diag_H * 2)"/>
-               </xsl:when>
-               <xsl:otherwise>0</xsl:otherwise>                
-       </xsl:choose>
-</xsl:variable>
-       
-<xsl:text>&#10;</xsl:text>
-<svg width="{$G_total_diag_W}" height="{$G_total_diag_H}" viewBox="0 0 0 {$BLKD_ZOOM_Y}">      
-<!-- 
-        =============================================== 
-              Layout All the various definitions       
-        =============================================== 
--->
-       <defs>
-               <!-- Diagram Key Definition -->
-               <xsl:call-template name="Define_BlkDiagram_Key"/>               
-               
-               <!-- Diagram Specs Definition -->
-               <xsl:call-template name="Define_BlkDiagram_Specs">              
-                       <xsl:with-param name="iArch"       select="@ARCH"/>
-                       <xsl:with-param name="iPart"       select="@PART"/>
-                       <xsl:with-param name="iTimeStamp"  select="@TIMESTAMP"/>
-                       <xsl:with-param name="iEdkVersion" select="@EDKVERSION"/>
-               </xsl:call-template>            
-               
-               <!-- IO Port Defs -->
-               <xsl:call-template name="Define_IOPorts"/>              
-               
-               <!-- BIF Defs -->
-               <xsl:call-template name="Define_BifTypes"/>             
-               
-               <!-- Bus Defs -->
-               <xsl:call-template name="Define_Busses"/>               
-               
-               <!-- Shared Bus Buckets Defs -->
-               <xsl:call-template name="Define_SBSBuckets"/>           
-               
-               <!-- IP Bucket Defs -->
-               <xsl:call-template name="Define_IPBucket"/>             
-               
-               <!-- Stack Defs -->
-               <xsl:call-template name="Define_AllStacks"/>            
-               
-               <!-- Space Defs -->
-               <xsl:call-template name="Define_BusLaneSpaces"/>                
-               
-               <!-- Main MPMC Defs -->
-               <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE">
-                       <xsl:call-template name="Define_StandAlone_MPMC"/>      
-               </xsl:if>
-       </defs>
-       
-<!-- =============================================== -->
-<!--             Draw Outlines                       -->
-<!-- =============================================== -->
-       
-        <!-- The surrounding black liner -->
-     <rect x="0"  
-                  y="0" 
-                  width ="{$G_total_diag_W}"
-                  height="{$G_total_diag_H}" style="fill:{$COL_WHITE}; stroke:{$COL_BLACK};stroke-width:4"/>
-                  
-        <!-- The outer IO channel -->
-     <rect x="{$BLKD_PRTCHAN_W}"  
-                  y="{$BLKD_PRTCHAN_H}" 
-                  width= "{$G_total_blkd_W - ($BLKD_PRTCHAN_W * 2)}" 
-                  height="{$G_total_blkd_H - ($BLKD_PRTCHAN_H * 2)}" style="fill:{$COL_IORING}"/>
-                  
-        <!-- The Diagram's drawing area -->
-     <rect x="{$BLKD_PRTCHAN_W + $BLKD_IORCHAN_W}"  
-                  y="{$BLKD_PRTCHAN_H + $BLKD_IORCHAN_H}" 
-                  width= "{$G_total_drawarea_W}"
-                  height="{$G_total_drawarea_H}" rx="8" ry="8" style="fill:{$COL_BG}"/>
-                  
-<!-- =============================================== -->
-<!--        Draw All the various components          -->
-<!-- =============================================== -->
-       
-       <!--   Layout the IO Ports    -->       
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-               <xsl:call-template name="Draw_IOPorts"/>        
-       </xsl:if>
-       
-       <!--   Layout the Shapes      -->       
-       <xsl:call-template name="Draw_BlkDiagram_Shapes"/>              
-       
-</svg>
-       
-<!-- ======================= END MAIN SVG BLOCK =============================== -->
-</xsl:template>
-       
-<xsl:template name="Draw_BlkDiagram_Shapes">
-       
-       <!-- 
-                ===========================================================
-                                               Draw the shared busses 
-                ===========================================================
-       -->
-       <use   x="{$BLKD_INNER_X}"      y="{$G_SharedBus_Y}"  xlink:href="#group_sharedBusses"/> 
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Bus Lane Spaces 
-                ===========================================================
-       -->
-       <xsl:call-template name="Draw_BlkDiagram_BusLaneSpaces"/>       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Bridges
-                ===========================================================
-       -->
-       <xsl:call-template name="Draw_BlkDiagram_Bridges"/>     
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Stacks
-                ===========================================================
-       -->
-       <xsl:call-template name="Draw_BlkDiagram_Stacks"/>      
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Stand Alone MPMC, (if any)
-                ===========================================================
-       -->
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE">
-               <xsl:variable name="mpmc_inst_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE/@INSTANCE"/>
-               <use   x="{$BLKD_INNER_X}"  y="{$BLKD_INNER_Y}"  xlink:href="#mpmcmodule_{$mpmc_inst_}"/> 
-       
-       <!-- 
-                ===========================================================
-                                               Draw the connections to the Stand Alone MPMC
-                ===========================================================
-       -->
-               <xsl:call-template name="Draw_BlkDiagram_StandAloneMpmcConnections"/>   
-       </xsl:if>       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Ip Bucket
-                ===========================================================
-       -->
-       
-       <xsl:call-template name="Draw_BlkDiagram_IPBucket"/>
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Key
-                ===========================================================
-       -->
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-               <use   x="{$G_total_blkd_W - $BLKD_KEY_W - $BLKD_PRTCHAN_W}" y="{$G_total_blkd_H + $BLKD_DRAWAREA2KEY_GAP - 8}"  xlink:href="#BlkDiagram_Key"/> 
-       </xsl:if>
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Specs
-                ===========================================================
-       -->
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-               <use   x="{$BLKD_PRTCHAN_W}"  y="{$G_total_blkd_H + $BLKD_DRAWAREA2KEY_GAP - 8}"  xlink:href="#BlkDiagram_Specs"/> 
-       </xsl:if>
-       
-       <!-- 
-               ************************************************************ 
-               ***************  DONE DRAWING BLOCK DIAGRAM   ************** 
-               ************************************************************ 
-       -->     
-       
-</xsl:template>        
-       
-       
-<!-- ======================================================================= -->
-<!--                         FUNCTION TEMPLATE                               -->
-<!--                                                                                                                                            -->
-<!--  Draw stacks on the Block Diagram                                                                          -->
-<!-- ======================================================================= -->
-<xsl:template name="Draw_BlkDiagram_Stacks">
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-                       
-               <xsl:variable name="stack_line_x_">
-                       <xsl:call-template name="_calc_Stack_X">
-                               <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="stack_abv_sbs_">
-                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                               <xsl:with-param name="iStackIdx"  select="@EAST"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="bridges_w_"    select="(($G_NumOfBridges * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))) + $BLKD_BRIDGE_GAP)"/>
-               
-               <xsl:variable name="stack_y_" select="($G_SharedBus_Y - $stack_abv_sbs_ - $BLKD_PROC2SBS_GAP)"/>
-               <xsl:variable name="stack_x_" select="($BLKD_INNER_X + $stack_line_x_ + $bridges_w_)"/>
-               
-               <xsl:variable name="stack_name_">
-                       <xsl:call-template name="_gen_Stack_Name"> 
-                               <xsl:with-param name="iHorizIdx" select="@EAST"/>
-                       </xsl:call-template>            
-               </xsl:variable> 
-               
-               <use   x="{$stack_x_}"    y="{$stack_y_}"  xlink:href="#{$stack_name_}"/> 
-       
-       </xsl:for-each> 
-                       
-</xsl:template>
-       
-<xsl:template name="Draw_BlkDiagram_StandAloneMpmcConnections">
-       
-       <xsl:variable name="mpmcInst_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE/@INSTANCE"/>
-       <xsl:variable name="lastStack_" select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH) - 1"/>
-       
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE">
-               <xsl:variable name="currentLane_" select="position()"/>
-<!--           
-               <xsl:message>Looking in space <xsl:value-of select="$currentLane_"/></xsl:message>
--->    
-               <xsl:variable name="stackToEast_">
-                       <xsl:choose>
-                               <xsl:when test="not(@WEST = $lastStack_)"><xsl:value-of select="@EAST"/></xsl:when>
-                               <xsl:when test="   (@WEST = $lastStack_)"><xsl:value-of select="'NONE'"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-               
-               <xsl:variable name="stackToWest_">
-                       <xsl:choose>
-                               <xsl:when test="not(@WEST = $lastStack_)"><xsl:value-of select="'NONE'"/></xsl:when>
-                               <xsl:when test="   (@WEST = $lastStack_)"><xsl:value-of select="@WEST"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-               
-               <xsl:variable name="spaceAbvSbs_H_">
-                       <xsl:call-template name="_calc_Space_AbvSbs_Height">
-                               <xsl:with-param name="iStackToEast"  select="$stackToEast_"/>
-                               <xsl:with-param name="iStackToWest"  select="$stackToWest_"/>
-                       </xsl:call-template>
-               </xsl:variable> 
-               
-               <xsl:variable name="space_y_"   select="($G_SharedBus_Y - $spaceAbvSbs_H_ - $BLKD_PROC2SBS_GAP)"/>
-       
-<!--           
-               <xsl:message>Stack To East <xsl:value-of select="$stackToEast_"/></xsl:message>
-               <xsl:message>Stack To West <xsl:value-of select="$stackToWest_"/></xsl:message>
-               <xsl:variable name="space_X_">
-                       <xsl:call-template name="_calc_Space_X"> 
-                               <xsl:with-param name="iStackToEast" select="$stackToEast_"/>
-                               <xsl:with-param name="iStackToWest" select="$stackToWest_"/>
-                       </xsl:call-template>            
-               </xsl:variable>
-               <xsl:variable name="space_y_"   select="($G_SharedBus_Y - $spaceAbvSbs_H_ - $BLKD_PROC2SBS_GAP)"/>
-               <xsl:variable name="space_x_"   select="($BLKD_INNER_X + $G_total_Bridges_W + $space_line_x_)"/>
--->            
-               
-       
-               <xsl:for-each select="BUSCONNLANE[@IS_MPMCCONN]">
-                       
-<!--                   
-                       <xsl:variable name="bifSide_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = BUSCONN/@INSTANCE)]/BUSINTERFACE[(@BUSNAME = @BUSNAME)]/@BIF_X"/>
--->    
-                       <xsl:variable name="bifInst_"     select="BUSCONN/@INSTANCE"/>
-                       <xsl:variable name="busName_"     select="@BUSNAME"/>
-                       <xsl:variable name="bifSide_"     select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $bifInst_)]/BUSINTERFACE[(@BUSNAME = $busName_)]/@BIF_X"/>
-                       
-                       <xsl:variable name="mpmcBifName_">
-                               <xsl:choose>
-                                       <xsl:when test="   (@IS_SBSCONN)"><xsl:value-of select="BUSCONN/@BUSINTERFACE"/></xsl:when>
-                                       <xsl:when test="not(@IS_SBSCONN)"><xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $mpmcInst_)]/BUSINTERFACE[(@BUSNAME = $busName_)]/@NAME"/></xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $mpmcInst_)]/BUSINTERFACE[(@BUSNAME = $busName_)]/@NAME"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-<!--                   
-                       <xsl:message>MPMC Bif Name <xsl:value-of select="$mpmcBifName_"/></xsl:message>
-                       <xsl:message>Bif Side <xsl:value-of select="$bifSide_"/></xsl:message>
-                       <xsl:message>Bus Name <xsl:value-of select="@BUSNAME"/></xsl:message>
-                       <xsl:message>Instance <xsl:value-of select="$bifInst_"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="space_line_X_">
-                               <xsl:call-template name="_calc_Space_X">
-                                       <xsl:with-param name="iStackToEast"  select="$stackToEast_"/>
-                                       <xsl:with-param name="iStackToWest"  select="$stackToWest_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="space_X_"   select="($BLKD_INNER_X + $G_total_Bridges_W + $space_line_X_)"/>
-                       
-                       <xsl:variable name = "stackToWest_W_">
-                               <xsl:choose>
-                                       <xsl:when test="(($stackToEast_ = '0')   and     ($stackToWest_ = 'NONE'))">0</xsl:when>
-                                       <xsl:when test="(($stackToEast_ = 'NONE') and not($stackToWest_ = 'NONE'))">
-                                               <xsl:call-template name="_calc_Stack_Width">
-                                                       <xsl:with-param name="iStackIdx"  select="$stackToWest_"/>
-                                               </xsl:call-template>
-                                       </xsl:when>
-                                       <xsl:when test="(not($stackToEast_ = '0') and not($stackToEast_ = 'NONE') and ($stackToWest_ = 'NONE'))">
-                                               <xsl:call-template name="_calc_Stack_Width">
-                                                       <xsl:with-param name="iStackIdx"  select="($stackToEast_ - 1)"/>
-                                               </xsl:call-template>
-                                       </xsl:when>
-                                       <xsl:otherwise>0</xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-       
-                       <xsl:variable name = "stackToEast_W_">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="iStackIdx"  select="$stackToEast_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-       
-                       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stackToWest_W_ div 2)"/>
-                       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stackToEast_W_ div 2)"/>
-<!--                   
-                       <xsl:message>extSpaceWest_W_ <xsl:value-of select="$extSpaceWest_W_"/></xsl:message>
-                       <xsl:message>extSpaceEast_W_ <xsl:value-of select="$extSpaceEast_W_"/></xsl:message>
-                       <xsl:message>Found a MPMC lane in space <xsl:value-of select="$currentLane_"/> at X <xsl:value-of select="$lane_X_"/></xsl:message>
-                       <xsl:message>mpmcBifRank <xsl:value-of select="$mpmcBifRank_"/></xsl:message>
--->                    
-                       
-<!--                   
-                       <xsl:variable name="laneInSpace_X_" select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/>
--->                    
-                       <xsl:variable name="laneInSpace_X_">
-                               <xsl:choose>
-                                  <xsl:when test="(@ORIENTED = 'EAST')">
-                                          <xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W) - $BLKD_BUS_ARROW_W - $BLKD_P2P_BUS_W)"/>
-                                  </xsl:when>
-                                  <xsl:otherwise><xsl:value-of select="($extSpaceWest_W_ + (@BUSLANE_X * $BLKD_BUS_LANE_W))"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable> 
-                                               
-                       
-                       
-                       <xsl:variable name="lane_X_"        select="($space_X_ + $laneInSpace_X_)"/>
-                       
-                       <xsl:variable name="mpmcBifRank_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $mpmcInst_)]/BUSINTERFACE[(@BUSNAME = @BUSNAME)]/@BIFRANK"/>
-                       
-               <!--    
-                       <xsl:variable name="bc_X_" select="($lane_X_ +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-                       <xsl:variable name="bc_X_" select="($lane_X_ +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>
-                       <xsl:variable name="bc_X_" select="($lane_X_ + ceiling($BLKD_BIFC_W div 2))"/>
-               -->     
-                       
-                       <xsl:variable name="bc_Y_" select="($BLKD_INNER_Y + $BLKD_MPMC_MOD_H)"/>
-                       <xsl:variable name="bc_X_" >
-                               <xsl:choose>
-                                       <xsl:when test="($bifSide_ = '0')"><xsl:value-of select="($lane_X_ + ceiling($BLKD_BIFC_W div 2))"/></xsl:when>
-                                       <xsl:when test="($bifSide_ = '1')"><xsl:value-of select="($lane_X_ + $BLKD_BIFC_dx)"/></xsl:when>
-                                       <xsl:otherwise>                    <xsl:value-of select="($lane_X_ + ceiling($BLKD_BIFC_W div 2))"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="busColor_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="@BUSSTD"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-               
-                       <!-- Place the MPMC bif label -->
-                       <xsl:variable name="bcl_X_" select="($bc_X_ + ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BIF_W div 2))"/>
-                       <xsl:variable name="bcl_Y_" select="($bc_Y_ - $BLKD_BIF_H - $BLKD_MOD_BIF_GAP_H)"/>
-                       <use  x="{$bcl_X_}"   y="{$bcl_Y_}"  xlink:href="#{@BUSSTD}_Bif"/>
-                       <text class="mpmcbiflabel" 
-                                 x="{$bcl_X_ + ceiling($BLKD_BIF_W div 2)}"
-                                 y="{$bcl_Y_ + ceiling($BLKD_BIF_H div 2) + 3}"><xsl:value-of select="$mpmcBifName_"/></text>
-                       
-                       <!-- Place the MPMC bif -->
-                       <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{@BUSSTD}_busconn_{$mpmcBifRank_}"/>
-                       
-                       <xsl:variable name="bcArrow_X_" select="($bc_X_ +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
-                       <xsl:variable name="bcArrow_Y_" select="($bc_Y_ + $BLKD_BIFC_H - 3)"/>
-                       
-                       <!-- Place the MPMC Arrow -->
-                       <use   x="{$bcArrow_X_}"   y="{$bcArrow_Y_}"  xlink:href="#{@BUSSTD}_BusArrowNorth"/>
-                       
-                       <!-- 
-                               Place a block to cover the gap btw MPMC and top of Bus Lane Space, or to the correct SBS 
-                               For non SBS connections a vertical block will already have been drawn to the top of the
-                               space.
-                       -->
-                       
-                       <xsl:variable name="sbsDy_">
-                               <xsl:choose>
-                                       <xsl:when test="@IS_SBSCONN"><xsl:value-of select="2 + (/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX * $BLKD_SBS_LANE_H)"/></xsl:when>
-                                       <xsl:when test="not(@IS_SBSCONN)">0</xsl:when>
-                                       <xsl:otherwise>0></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="mpmcBusHeight_">
-                               <xsl:choose>
-                                       <xsl:when    test="(@IS_SBSCONN)"><xsl:value-of select="($G_SharedBus_Y - ($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4) + $sbsDy_)"/></xsl:when>
-                                       <xsl:when test="not(@IS_SBSCONN)">
-                                               <xsl:choose>
-                                                       <xsl:when test="($space_y_ &gt;= ($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4 + $sbsDy_))">
-                                                               <xsl:value-of select="($space_y_ - ($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4 + $sbsDy_))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="($space_y_ &lt; ($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4 + $sbsDy_))">
-                                                               <xsl:value-of select="(($bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4 + $sbsDy_) - $space_y_)"/>
-                                                       </xsl:when>
-                                               </xsl:choose>
-                                       </xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="$BLKD_BIFC_H"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <rect x="{$bcArrow_X_ + $BLKD_BUS_ARROW_G}" 
-                                 y="{$bcArrow_Y_ + $BLKD_BUS_ARROW_W + 4}"  
-                                 width= "{$BLKD_P2P_BUS_W}" 
-                                 height="{$mpmcBusHeight_}"  
-                             style="stroke:none; fill:{$busColor_}"/>  
-                       
-                       <!-- place the bus label here -->
-                       <text class="p2pbuslabel" 
-                                 x="{$bcArrow_X_ + $BLKD_BUS_ARROW_W + 6}"
-                                 y="{$bcArrow_Y_ + ceiling($mpmcBusHeight_ div 2) + 6}"><xsl:value-of select="$busName_"/></text>      
-                       
-                       
-               </xsl:for-each>                         
-       </xsl:for-each> 
-       
-</xsl:template>
-       
-       
-<!-- ======================================================================= -->
-<!--                         FUNCTION TEMPLATE                               -->
-<!--                                                                                                                                            -->
-<!--  Draw bus lane spaces on the Block Diagram                                                                 -->
-<!-- ======================================================================= -->
-<xsl:template name="Draw_BlkDiagram_BusLaneSpaces">
-       
-       <xsl:variable name="lastStack_" select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH) - 1"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[@EAST]">
-               <xsl:sort select="@EAST" data-type="number"/>
-                       
-               <xsl:call-template name="Draw_BlkDiagram_BusLaneSpace">
-                       <xsl:with-param name="iStackToEast"  select="@EAST"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@WEST = $lastStack_)]">
-               <xsl:call-template name="Draw_BlkDiagram_BusLaneSpace">
-                       <xsl:with-param name="iStackToWest"  select="$lastStack_"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-                       
-</xsl:template>
-       
-<xsl:template name="Draw_BlkDiagram_BusLaneSpace">
-       
-       <xsl:param name="iStackToEast" select="'NONE'"/>
-       <xsl:param name="iStackToWest" select="'NONE'"/>
-       
-       <xsl:variable name="spaceAbvSbs_H_">
-               <xsl:call-template name="_calc_Space_AbvSbs_Height">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       <xsl:variable name="spaceBlwSbs_H_">
-               <xsl:call-template name="_calc_Space_BlwSbs_Height">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       <xsl:variable name="space_line_x_">
-               <xsl:call-template name="_calc_Space_X">
-                       <xsl:with-param name="iStackToEast"  select="$iStackToEast"/>
-                       <xsl:with-param name="iStackToWest"  select="$iStackToWest"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="space_y_"   select="($G_SharedBus_Y - $spaceAbvSbs_H_ - $BLKD_PROC2SBS_GAP)"/>
-       <xsl:variable name="space_x_"   select="($BLKD_INNER_X + $G_total_Bridges_W + $space_line_x_)"/>
-       
-       <xsl:variable name="stackToEast_">
-               <xsl:choose>
-                       <xsl:when test="not($iStackToEast = 'NONE')"><xsl:value-of select="$iStackToEast"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="stackToWest_">
-               <xsl:choose>
-                       <xsl:when test=" not($iStackToWest = 'NONE')"><xsl:value-of select="$iStackToWest"/></xsl:when>
-                       <xsl:when test="(not($iStackToEast = 'NONE') and not($iStackToEast = '0'))"><xsl:value-of select="($iStackToEast - 1)"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-               
-       <xsl:variable name="space_Name_">
-               <xsl:call-template name="_gen_Space_Name"> 
-                       <xsl:with-param name="iStackToEast" select="$stackToEast_"/>
-                       <xsl:with-param name="iStackToWest" select="$stackToWest_"/>
-               </xsl:call-template>            
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>StackToEast is <xsl:value-of select="$iStackToEast"/></xsl:message>
-       <xsl:message>StackToWest is <xsl:value-of select="$iStackToWest"/></xsl:message>
-       <xsl:message>SpaceName is <xsl:value-of select="$space_Name_"/></xsl:message>
--->    
-               
-       <use   x="{$space_x_}"    y="{$space_y_}"  xlink:href="#{$space_Name_}"/> 
-       
-</xsl:template>
-       
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!--  Draw Bridges on the Block Diagram                                                                                         -->
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_Bridges">
-       
-       <!-- First save all the bridge indexs in a variable      -->
-       <xsl:variable name="bridgeShapes_">
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE/BUSCONNS[(@ORIENTED = 'WEST')]/BUSCONN">        
-                       <BRIDGE BUSINDEX="{@BUSINDEX}" INSTANCE="{../../@INSTANCE}" POSITION="{(position() -1)}"/>
-                       <BRIDGECONN BUSINDEX="{@BUSINDEX}" INSTANCE="{../../@INSTANCE}" ORIENTED="{../@ORIENTED}" POSITION="{(position()  - 1)}" BUSSTD="{@BUSSTD}" BIFRANK="{@BIFRANK}"/>
-                       <!-- So both bus conns have same position.... -->
-                       <xsl:if test="../../BUSCONNS[(@ORIENTED = 'EAST')]">
-                               <BRIDGECONN BUSINDEX="{../../BUSCONNS[(@ORIENTED ='EAST')]/BUSCONN/@BUSINDEX}" INSTANCE="{../../@INSTANCE}" ORIENTED="EAST" POSITION="{(position()  - 1)}"   BUSSTD="{../../BUSCONNS[(@ORIENTED = 'EAST')]/BUSCONN/@BUSSTD}" BIFRANK="{../../BUSCONNS[(@ORIENTED = 'EAST')]/BUSCONN/@BIFRANK}"/>
-                       </xsl:if>
-               </xsl:for-each>
-       </xsl:variable>
-<!--                           
-                       <xsl:message>Found an east connection on <xsl:value-of select="../../@INSTANCE"/></xsl:message>
--->                            
-       <!-- Now layout the bridge shapes between the shared busses      -->
-       <xsl:for-each select="exsl:node-set($bridgeShapes_)/BRIDGE">
-               <xsl:sort select="@POSITION" data-type="number"/>
-               
-               <xsl:variable name="brdgPosition_"  select="@POSITION"/>
-               <xsl:variable name="brdgInstance_"  select="@INSTANCE"/>
-               
-               <xsl:variable name="min_bus_idx_" select="math:min(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>
-<!--           
-               <xsl:variable name="max_bus_idx_" select="math:max(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>
-               
-       <xsl:message>Maximum index <xsl:value-of select="$max_bus_idx_"/></xsl:message>
-       <xsl:message>Minimum index <xsl:value-of select="$min_bus_idx_"/></xsl:message>
--->
-               
-               
-               <xsl:variable name="brdg_X_"  select="($BLKD_INNER_X + $BLKD_BRIDGE_GAP + $BLKD_BUS_LANE_W + (@POSITION * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))))"/>   
-               <xsl:variable name="brdg_Y_"  select="($G_SharedBus_Y  + ($min_bus_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_SBS_LANE_H div 2) - ceiling($BLKD_MOD_H div 2))"/>
-               
-               <use  x="{$brdg_X_}"  y="{$brdg_Y_}"  xlink:href="#symbol_{$brdgInstance_}"/>   
-       </xsl:for-each> 
-       
-               
-       
-<!--   
-       <xsl:message>Found <xsl:value-of select="count(exsl:node-set($bridgeShapes_)/BRIDGECONN)"/> busconns </xsl:message>
-               <xsl:message>Drawing connection for bridge <xsl:value-of select="$brdgInstance_"/> at <xsl:value-of select="@POSITION"/> </xsl:message>
--->    
-       
-       <xsl:for-each select="exsl:node-set($bridgeShapes_)/BRIDGECONN">
-               <xsl:sort select="@POSITION" data-type="number"/>
-               
-               <xsl:variable name="brdgInstance_"  select="@INSTANCE"/>
-               <xsl:variable name="brdgPosition_"  select="@POSITION"/>
-               
-               <xsl:variable name="busColor_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="@BUSSTD"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <xsl:variable name="min_bus_idx_" select="math:min(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>
-               <xsl:variable name="brdg_Y1_"     select="($G_SharedBus_Y  + ($min_bus_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_SBS_LANE_H div 2) - ceiling($BLKD_MOD_H div 2))"/>
-               <xsl:variable name="brdg_X_"      select="($BLKD_INNER_X   + $BLKD_BRIDGE_GAP + $BLKD_BUS_LANE_W + (@POSITION * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))))"/>     
-               
-               <xsl:variable name="bc_Y_"        select="$brdg_Y1_ + $BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2)"/>  
-               <xsl:variable name="bc_X_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($brdg_X_ - $BLKD_BIFC_W)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($brdg_X_ + $BLKD_MOD_W)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <!-- Layout the bus conn -->
-               <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               
-               <!-- Figure out the positions of the lines -->
-               
-<!--           
-               <xsl:variable name="vert_line_x_"  select="$bc_X_    + ceiling($BLKD_BIFC_W div 2)"/>
-               <xsl:message>vert line x <xsl:value-of select="$vert_line_x_"/></xsl:message>
-               <xsl:message>bus index <xsl:value-of select="@BUSINDEX"/></xsl:message>
--->            
-               
-               <xsl:variable name="vert_line_x_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($bc_X_ - ($BLKD_BUS_LANE_W - $BLKD_BIFC_W))"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($bc_X_ + ($BLKD_BUS_LANE_W - $BLKD_P2P_BUS_W))"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <!-- At least one of the points is going to be the bus -->
-<!--           
-               <xsl:variable name="vert_line_y1_" select="($G_SharedBus_Y  + $BLKD_PROC2SBS_GAP + (@BUSINDEX * $BLKD_SBS_LANE_H))"/>
--->            
-               <xsl:variable name="vert_line_y1_" select="($G_SharedBus_Y  + (@BUSINDEX * $BLKD_SBS_LANE_H))"/>
-               <xsl:variable name="vert_line_y2_" select="$bc_Y_ + ceiling($BLKD_BIFC_H div 2)"/>
-               
-               <xsl:variable name="v_bus_ul_y_">
-                       <xsl:choose>
-                               <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                                       <xsl:value-of select="$vert_line_y2_"/>
-                               </xsl:when>
-                               <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                                       <xsl:value-of select="$vert_line_y1_"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-<!--           
-               <xsl:variable name="v_bus_ul_x_" select="$vert_line_x_"/>
--->    
-               <xsl:variable name="v_bus_ul_x_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($vert_line_x_ + $BLKD_MOD_BIF_GAP_H)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($vert_line_x_ - $BLKD_MOD_BIF_GAP_H)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               
-               <xsl:variable name="v_bus_width_" select="$BLKD_P2P_BUS_W"/>
-               <xsl:variable name="v_bus_height_">
-                       <xsl:choose>
-                               <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                                       <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_)"/>
-                               </xsl:when>
-                               <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                                       <xsl:value-of select="($vert_line_y2_ - $vert_line_y1_)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_x_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($bc_X_ - ($BLKD_BUS_LANE_W - $BLKD_BIFC_W) + $BLKD_MOD_BIF_GAP_H)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($bc_X_ + $BLKD_BIFC_W - ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2))"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_y_" select="$bc_Y_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-               <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-               
-               <xsl:variable name="h_bus_width_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="(($bc_X_ + ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2)) - $h_bus_ul_x_ + 1)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="(($v_bus_ul_x_ + $BLKD_P2P_BUS_W) - $h_bus_ul_x_)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               
-<!--           
-               <xsl:message>vert line y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>
--->            
-               
-               <rect x="{$v_bus_ul_x_}" 
-                         y="{$v_bus_ul_y_ + 2}"  
-                         width= "{$v_bus_width_}" 
-                         height="{$v_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-               
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$busColor_}"/>
-               
-       </xsl:for-each> 
-       
-</xsl:template>
-       
-       
-       
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!-- Draw the IP Bucket                                                                                                         -->
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_IPBucket">
-       
-       <!-- Draw IP Bucket --> 
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/IPBUCKET">
-       
-               <xsl:variable name="bucket_w_"  select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-               <xsl:variable name="bucket_h_"  select="(($BLKD_MOD_BKTLANE_H * 2) + (($BLKD_MOD_H * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <xsl:variable name="bucket_x_"  select="(ceiling($G_total_blkd_W div 2) - ceiling($bucket_w_ div 2))"/>
-               <xsl:variable name="bucket_y_"  select="($G_SharedBus_Y + $G_total_SharedBus_H + $G_max_Stack_BlwSbs_H + $BLKD_SBS2IP_GAP)"/>
-               
-               <text class="ipclass"
-                       x="{$bucket_x_}" 
-                       y="{$bucket_y_ - 4}">IP</text>
-               
-               <use   x="{$bucket_x_}"   y="{$bucket_y_}"  xlink:href="#ipbucket"/>
-               
-       </xsl:for-each>
-       
-</xsl:template>
-       
-       
-<xsl:template name="Draw_BlkDiagram_Key">
-       <use   x="{ceiling($G_blkd_W div 2) - ceiling($BLKD_KEY_W div 2)}"   y="0"  xlink:href="#BlkDiagram_Key"/> 
-</xsl:template>
-
-<xsl:template name="Define_BlkDiagram_Key">
-       
-       <xsl:variable name="key_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="iBusType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="key_lt_col_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="iBusType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <symbol id="KEY_IntrCntrl">
-               <rect  
-                       x="0"
-                       y="0"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($BLKD_INTR_W div 2)}" 
-                       height="{$BLKD_INTR_H}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="0" 
-                         y1="{ceiling($BLKD_INTR_H div 4)}"
-                         x2="{ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{ceiling($BLKD_INTR_H div 4)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:2"/>
-                         
-               <text class="intrsymbol" 
-                         x="1.5"
-                         y="{7 + ceiling($BLKD_INTR_H div 2)}">x</text>
-                       
-       </symbol>
-               
-       <symbol id="KEY_IntrdProc">
-               <rect  
-                       x="0"
-                       y="0"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($BLKD_INTR_W div 2)}" 
-                       height="{$BLKD_INTR_H}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="0" 
-                         y1="{ceiling($BLKD_INTR_H div 4) - 2}"
-                         x2="{ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{ceiling($BLKD_INTR_H div 4) - 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <line x1="0" 
-                         y1="{ceiling($BLKD_INTR_H div 4) + 2}"
-                         x2="{ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{ceiling($BLKD_INTR_H div 4) + 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <text class="intrsymbol" 
-                         x="1.5"
-                         y="{7 + ceiling($BLKD_INTR_H div 2)}">x</text>
-       </symbol>
-       
-       <symbol id="KEY_IntrSrc">
-               <rect  
-                       x="0"
-                       y="0"
-                       rx="3"
-                       ry="3"
-                       width= "{$BLKD_INTR_W}" 
-                       height="{ceiling($BLKD_INTR_H div 2)}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{ceiling($BLKD_INTR_W div 2)}" 
-                         y1="0"
-                         x2="{ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{ceiling($BLKD_INTR_H div 2)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <text class="intrsymbol" 
-                         x="2"
-                         y="7">y</text>
-                       
-               <text class="intrsymbol" 
-                         x="{2 + ceiling($BLKD_INTR_W div 2)}"
-                         y="7">x</text>
-       </symbol>
-       
-       
-       <symbol id="BlkDiagram_Key">
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_KEY_W}"
-                     height="{$BLKD_KEY_H}"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_KEY_W}"
-                     height="16"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <text class="keytitle"
-              x="{ceiling($BLKD_KEY_W div 2)} "
-                         y="14">KEY</text>               
-                         
-               <rect 
-              x="0"
-                         y="16"
-                     width= "{$BLKD_KEY_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="keyheader"
-              x="{ceiling($BLKD_KEY_W div 2)} "
-                         y="30">SYMBOLS</text>           
-                         
-               <use  x="32"  y="47"  xlink:href="#KEY_Bif" transform="scale(0.75)"/> 
-               <text class="keylabel"
-              x="12"
-                         y="60">bus interface</text>             
-                         
-               <use   x="20"  y="68"  xlink:href="#KEY_SharedBus"/> 
-               <text class="keylabel"
-              x="12"
-                         y="85">shared bus</text>                
-                         
-               <text class="keylblul"
-              x="110"
-                         y="47">Bus connections</text>           
-                         
-               <use   x="110"  y="58"  xlink:href="#KEY_busconn_MASTER"/> 
-               <text class="keylabel"
-              x="140"
-                         y="72">master or initiator</text>               
-                         
-               <use   x="110"  y="{58 + (($BLKD_BIFC_H  + 4) * 1)}"  xlink:href="#KEY_busconn_SLAVE"/> 
-               <text class="keylabel"
-              x="140"
-                         y="{72 + (($BLKD_BIFC_H + 4) * 1)}">slave or target</text>              
-                         
-               <use   x="110"  y="{58 + (($BLKD_BIFC_H  + 4) * 2)}"  xlink:href="#KEY_busconn_MASTER_SLAVE"/> 
-               <text class="keylabel"
-              x="140"
-                         y="{72 + (($BLKD_BIFC_H + 4) * 2)}">master slave</text>                 
-                         
-               <use   x="110"  y="{58 + (($BLKD_BIFC_H  + 4) * 3)}"  xlink:href="#KEY_busconn_MONITOR"/>
-               <text class="keylabel"
-              x="140"
-                         y="{72 + (($BLKD_BIFC_H + 4) * 3)}">monitor</text>              
-                         
-               <text class="keylblul"
-              x="258"
-                         y="47">External Ports</text>            
-               
-               <use   x="258"  y="58"  xlink:href="#KEY_INPort"/> 
-               <text class="keylabel"
-              x="288"
-                         y="72">input</text>             
-                         
-               <use   x="258"  y="{58 + ($BLKD_IOP_H * 1) + 4}"  xlink:href="#KEY_OUTPort"/> 
-               <text class="keylabel"
-              x="288"
-                         y="{72 + ($BLKD_IOP_H * 1) + 4}">output</text>                  
-                         
-               <use   x="258" y="{58 + ($BLKD_IOP_H * 2) + 8}"  xlink:href="#KEY_INOUTPort"/> 
-               <text class="keylabel"
-              x="288"
-                         y="{72 + ($BLKD_IOP_H * 2) + 8}">inout</text>           
-               
-               
-               <text class="keylblul"
-              x="380"
-                         y="47">Interrupts</text>
-               
-               <use   x="380"  y="58"  xlink:href="#KEY_IntrCntrl"/> 
-               <text class="keylabel"
-              x="396"
-                         y="64">interrupt</text>                 
-               <text class="keylabel"
-              x="396"
-                         y="74">controller</text>                
-                         
-               
-               <use   x="380"  y="88"  xlink:href="#KEY_IntrdProc"/> 
-               <text class="keylabel"
-              x="396"
-                         y="94">interrupted</text>               
-               <text class="keylabel"
-              x="396"
-                         y="104">processor</text>                
-                         
-               
-               <use   x="380"  y="118"  xlink:href="#KEY_IntrSrc"/> 
-               <text class="keylabel"
-              x="400"
-                         y="124">interrupt</text>                
-               <text class="keylabel"
-              x="400"
-                         y="134">source</text>           
-               
-               <text class="keylabel"
-              x="360"
-                         y="146">x = controller ID</text>                
-               
-               <text class="keylabel"
-              x="360"
-                         y="156">y = priority</text>             
-<!--           
-               <text class="keylabel"
-              x="400"
-                         y="134">source</text>           
-       
--->
-               <rect 
-              x="0"
-                         y="160"
-                     width= "{$BLKD_KEY_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="keyheader"
-              x="{ceiling($BLKD_KEY_W div 2)} "
-                         y="172">COLORS</text>           
-               
-                         
-               <text class="keylblul"
-              x="110"
-                         y="190">Bus Standards</text>            
-                         
-               <xsl:variable name="dcr_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'DCR'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 0)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$dcr_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + $BLKD_BIFC_W + 4}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">DCR</text>                  
-                         
-               <xsl:variable name="fcb_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'FCB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <rect 
-              x="{12  + ((12 + $BLKD_BIFC_W + 36) * 0)}"
-                         y="{200 + (($BLKD_BIFC_H + 4) * 1)}"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$fcb_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + $BLKD_BIFC_W + 4}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 2)}">FCB</text>                  
-               
-               <xsl:variable name="fsl_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'FSL'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 1)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$fsl_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  +  ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 1)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">FSL</text>                  
-               
-               <xsl:variable name="col_lmb_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'LMB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 1)}"
-                         y="{200 + (($BLKD_BIFC_H + 4) * 1)}"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$col_lmb_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 1)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 2)}">LMB</text>                  
-                         
-               
-               <xsl:variable name="opb_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'OPB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 2)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$opb_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  +  ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 2)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">OPB</text>                  
-               
-               <xsl:variable name="plb_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'PLB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 2)}"
-                         y="{200 + (($BLKD_BIFC_H + 4) * 1)}"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$plb_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  +  ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 2)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 2)}">PLB</text>                  
-               
-                        
-               <xsl:variable name="ocm_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'OCM'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 3)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$ocm_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 3)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">SOCM</text>
-               
-               
-               <xsl:variable name="xil_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'XIL'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 3)}"
-                         y="{200 + (($BLKD_BIFC_H + 4) * 1)}"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$xil_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 3)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 2)}">XIL (prefix) P2P</text>             
-                        
-                         
-               <xsl:variable name="trs_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="'TRS'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BLKD_BIFC_W + 36) * 4)}"
-                         y="200"
-                     width= "{$BLKD_BIFC_H}"
-                     height="{$BLKD_BIFC_W}"
-                         style="fill:{$trs_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BLKD_BIFC_W + 4) + ((12 + $BLKD_BIFC_W + 36) * 4)}"
-                         y="{200 + (($BLKD_BIF_H + 4) * 1)}">GEN. P2P, USER, etc</text>                  
-                         
-</symbol>      
-</xsl:template>
-
-<xsl:template name="Define_BlkDiagram_Specs">
-
-       <xsl:param name="iArch"       select="'NA'"/>
-       <xsl:param name="iPart"       select="'NA'"/>
-       <xsl:param name="iTimeStamp"  select="'NA'"/>
-       <xsl:param name="iEdkVersion" select="'NA'"/>
-                       
-       <symbol id="BlkDiagram_Specs">
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_SPECS_W}"
-                     height="{$BLKD_SPECS_H}"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <text class="keytitle"
-              x="{ceiling($BLKD_SPECS_W div 2)} "
-                         y="14">SPECS</text>
-                         
-               <rect 
-              x="0"
-                         y="20"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="32">EDK VERSION</text>
-                         
-<!--           
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W + 1) - (string-length($blkd_edkver) * 6.5)}"
-                         y="32"><xsl:value-of select="$blkd_edkver"/></text>
--->            
-               <text class="specsvaluemid"
-              x="{($BLKD_SPECS_W + 1) - ceiling($BLKD_SPECS_W div 5)}"
-                         y="32"><xsl:value-of select="$iEdkVersion"/></text>
-                         
-               <rect 
-              x="0"
-                         y="40"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="52">ARCH</text>
-                         
-<!--           
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W + 1) - (string-length($blkd_arch) * 6.5)}"
-                         y="52"><xsl:value-of select="$blkd_arch"/></text>
--->            
-               <text class="specsvaluemid"
-              x="{($BLKD_SPECS_W + 1) - ceiling($BLKD_SPECS_W div 5)}"
-                         y="52"><xsl:value-of select="$iArch"/></text>
-                         
-               <rect 
-              x="0"
-                         y="60"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="72">PART</text>
-                         
-<!--           
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W  + 1) - ((string-length($blkd_part) + 2) * 6.5)}"
-                         y="72"><xsl:value-of select="$blkd_part"/></text>
--->            
-               <text class="specsvaluemid"
-              x="{($BLKD_SPECS_W + 1) - ceiling($BLKD_SPECS_W div 5)}"
-                         y="72"><xsl:value-of select="$iPart"/></text>
-                         
-               <rect 
-              x="0"
-                         y="80"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="92">GENERATED</text>
-                         
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W  + 1) - (string-length($iTimeStamp) * 6.5)}"
-                         y="92"><xsl:value-of select="$iTimeStamp"/></text>
-                         
-                         
-       </symbol>       
-</xsl:template>
-       
-
-       
-
-</xsl:stylesheet>
-
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!-- =========================================================================== -->
\ No newline at end of file
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Peripherals.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Peripherals.xsl
deleted file mode 100644 (file)
index 7498fe3..0000000
+++ /dev/null
@@ -1,1499 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-                       
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:math="http://exslt.org/math"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink"
-           extension-element-prefixes="math">
-                               
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-<!--   
-<xsl:variable name="INF_H"   select="$BIF_H       + ceiling($BIF_H div 2)"/>                           
-<xsl:variable name="INF_W"   select="($BIF_W * 2) + $BIF_GAP"/>
--->    
-
-
-<!-- ======================= DEF FUNCTIONS =================================== -->
-
-<xsl:template name="Define_FreeCmplxModules">
-       
-       <xsl:for-each select="BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and not(@IS_PENALIZED) and not(@STACK_INDEX))]">  
-               
-               <xsl:variable name="cmplxId_" select="position()"/>
-               
-               <xsl:if test="@MODCLASS='MEMORY_UNIT'">
-                       <xsl:call-template name="Define_PeripheralMemory">
-                               <xsl:with-param name="iPeriId" select="$cmplxId_"/>
-                       </xsl:call-template>
-               </xsl:if>
-               
-               <xsl:if test="((@MODCLASS='MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">
-                       <xsl:variable name="modInst_" select="MODULE/@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-                       <xsl:call-template name="Define_Peripheral">
-                               <xsl:with-param name="iModInst"  select="$modInst_"/>
-                               <xsl:with-param name="iModType"  select="$modType_"/>
-                       </xsl:call-template>            
-               </xsl:if>
-               
-       </xsl:for-each>         
-</xsl:template>        
-
-
-<xsl:template name="Define_PenalizedModules">
-       
-       <xsl:for-each select="BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and @IS_PENALIZED)]">     
-               
-               <xsl:variable name="penalId_">unkmodule_<xsl:value-of select="@BKTROW"/>_<xsl:value-of select="@MODS_X"/></xsl:variable>
-               
-<!--           
-               <xsl:message>Drawing penalized module <xsl:value-of select="$penalId_"/></xsl:message>
--->            
-               
-               <xsl:if test="@MODCLASS='MEMORY_UNIT'">
-                       <xsl:call-template name="Define_PeripheralMemory">
-                               <xsl:with-param name="iPeriId" select="$penalId_"/>
-                       </xsl:call-template>
-               </xsl:if>
-               
-<!--           
-               <xsl:if test="((@MODCLASS='MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">
--->            
-                       <xsl:variable name="modInst_" select="MODULE/@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
-                       <xsl:call-template name="Define_Peripheral">
-                               <xsl:with-param name="iModInst"  select="$modInst_"/>
-                               <xsl:with-param name="iModType"  select="$modType_"/>
-                               <xsl:with-param name="iUnkInst"  select="$penalId_"/>
-                       </xsl:call-template>            
-<!--                   
-               </xsl:if>
--->            
-               
-       </xsl:for-each>         
-</xsl:template>        
-
-
-<xsl:template name="Define_IPBucket">
-                       
-       <xsl:for-each select="BLKDSHAPES/IPBUCKET">
-               
-               <xsl:for-each select="MODULE">  
-                       
-                       <xsl:call-template name="Define_IPBucketModule">
-                               <xsl:with-param name="iIPType"   select="@MODTYPE"/>
-                               <xsl:with-param name="iIPName"   select="@INSTANCE"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>         
-               
-               <symbol id="ipbucket">
-                       <xsl:variable name="bucket_w_"  select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       <xsl:variable name="bucket_h_"  select="(($BLKD_MOD_BKTLANE_H * 2) + (($BLKD_MOD_H * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <rect x="0" 
-                     y="0"  
-                         rx="4"
-                         ry="4"
-                     width= "{$bucket_w_}" 
-                     height="{$bucket_h_}" 
-                     style="stroke-width:2; stroke:{$COL_BLACK}; fill:{$COL_IORING_LT}"/>
-                                
-                       <xsl:variable name="bkt_mods_w_" select="@MODS_W"/>
-                       
-                       <xsl:for-each select="MODULE">  
-                               
-                               <xsl:variable name="clm_"   select="((     position() - 1)  mod $bkt_mods_w_)"/>
-                               <xsl:variable name="row_"   select="floor((position() - 1)  div $bkt_mods_w_)"/>
-                               
-                               <xsl:variable name="bk_x_"  select="$BLKD_MOD_BKTLANE_W + ($clm_ * ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G))"/>
-                               <xsl:variable name="bk_y_"  select="$BLKD_MOD_BKTLANE_H + ($row_ * ($BLKD_MOD_H + $BLKD_MOD_BUCKET_G))"/>
-                               
-                                        
-                               <use x="{$bk_x_}"   
-                                        y="{$bk_y_}" 
-                                        xlink:href="#ipbktmodule_{@INSTANCE}"/>                                  
-                                        
-                                        
-                       </xsl:for-each>          
-                                        
-       </symbol>               
-       
-</xsl:for-each>        
-</xsl:template>        
-
-
-<xsl:template name="Define_UNKBucket">
-                       
-       <xsl:for-each select="BLKDSHAPES/UNKBUCKET">
-       
-               <symbol id="unkbucket">
-                       <xsl:variable name="bucket_w_"  select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       <xsl:variable name="bucket_h_"  select="(($BLKD_MOD_BKTLANE_H * 2) + (($BLKD_MOD_H * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <rect x="0" 
-                     y="0"  
-                         rx="4"
-                         ry="4"
-                     width= "{$bucket_w_}" 
-                     height="{$bucket_h_}" 
-                     style="stroke-width:2; stroke:{$COL_BLACK}; fill:{$COL_BG_UNK}"/>
-                                
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and @IS_PENALIZED)]">  
-                       
-                       <xsl:variable name="bkt_mods_w_" select="@MODS_W"/>
-                               
-                               <xsl:variable name="mod_row_"    select="@BKTROW"/>     
-                               <xsl:variable name="row_mods_h_" select="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/BKTROW[(@INDEX = $mod_row_)]/@MODS_H"/>        
-
-<!--                           
-                               <xsl:message>The row module is <xsl:value-of select="@BKTROW"/></xsl:message>
-                               <xsl:message>The height of the module is <xsl:value-of select="$row_mods_h_"/></xsl:message>
--->                            
-                               
-                               
-                               <xsl:variable name="bk_x_"  select="$BLKD_MOD_BKTLANE_W + (@MODS_X * ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G))"/>
-                               <xsl:variable name="bk_y_"  select="$BLKD_MOD_BKTLANE_H + ($row_mods_h_ * ($BLKD_MOD_H + $BLKD_MOD_BUCKET_G))"/>
-                               
-                               <use x="{$bk_x_}"   
-                                        y="{$bk_y_}" 
-                                        xlink:href="#symbol_unkmodule_{@BKTROW}_{@MODS_X}"/>                             
-<!--                            
--->                             
-
-                       </xsl:for-each>          
-
-                       
-               </symbol>               
-               
-       </xsl:for-each> 
-</xsl:template>        
-
-               
-<xsl:template name="Define_SBSBuckets">
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET">      
-               
-               <xsl:variable name="bus_name_"   select="@BUSNAME"/>
-               <xsl:variable name="bus_std_"    select="@BUSSTD"/>
-<!--           
-               <xsl:variable name="bus_std_"    select="BUSCONNS/BUSCONN/@BUSSTD"/>
--->    
-               <xsl:variable name="bus_conn_w_" select="BUSCONNS/@BUSLANE_W"/>
-               
-               <xsl:variable name="bucket_bg_col_">
-                       <xsl:call-template name="BusType2LightColor">
-                               <xsl:with-param name="iBusType" select="$bus_std_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="bucket_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="iBusType" select="$bus_std_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               
-               <xsl:for-each select="MODULE">  
-                       
-                       <xsl:sort data-type="text" select="@INSTANCE" order="ascending"/>
-               
-                       <xsl:call-template name="Define_SBSBucketModule">
-                               <xsl:with-param name="iBifType"  select="$bus_std_"/>
-                               <xsl:with-param name="iIPType"   select="@MODTYPE"/>
-                               <xsl:with-param name="iIPName"   select="@INSTANCE"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>         
-               
-               <symbol id="sbsbucket_{$bus_name_}">
-                       <xsl:variable name="bucket_w_"  select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       <xsl:variable name="bucket_h_"  select="(($BLKD_MOD_BKTLANE_H * 2) + ((($BLKD_MOD_H + $BLKD_BIFC_H) * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>
-                       
-                       <rect x="0"
-                             y="0"  
-                                 rx="4"
-                                 ry="4"
-                             width= "{$bucket_w_}" 
-                             height="{$bucket_h_}" 
-                             style="stroke-width:2; stroke:{$bucket_col_}; fill:{$bucket_bg_col_}"/>
-                                
-                       <xsl:variable name="bkt_mods_w_" select="@MODS_W"/>
-                       
-                       <xsl:for-each select="MODULE">  
-                               
-                               <xsl:sort data-type="text" select="@INSTANCE" order="ascending"/>
-                               
-                               <xsl:variable name="clm_"   select="((     position() - 1)  mod $bkt_mods_w_)"/>
-                               <xsl:variable name="row_"   select="floor((position() - 1)  div $bkt_mods_w_)"/>
-                               
-                               <xsl:variable name="bk_x_"  select="$BLKD_MOD_BKTLANE_W + ($clm_ * ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G))"/>
-                               <xsl:variable name="bk_y_"  select="$BLKD_MOD_BKTLANE_H + ($row_ * ($BLKD_MOD_H + $BLKD_BIFC_H + $BLKD_MOD_BUCKET_G))"/>
-                                        
-                               <!-- Lay out the module in the bucket -->
-                                <use x="{$bk_x_}" y="{$bk_y_}"  xlink:href="#sbsbktmodule_{@INSTANCE}"/>                 
-                               
-                               <!-- Add its connection to the piece shared bus -->
-                               <xsl:variable name="h_bus_y_" select="$bk_y_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               
-<!--                           
-                               <xsl:variable name="h_bus_x_" select="$bk_x_ - ($BLKD_MOD_BUCKET_G + ceiling($BLKD_MOD_W div 2))"/>
--->    
-                               <xsl:variable name="h_bus_x_">
-                                       <xsl:choose>
-                                               <xsl:when test="($clm_ = '0')">0</xsl:when>
-                                       
-                                               <xsl:when test="not($clm_ = '0')">
-                                                       <xsl:value-of select="$bk_x_ - ($BLKD_MOD_BUCKET_G + ceiling($BLKD_MOD_W div 2))"/>
-                                               </xsl:when>
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:variable name="h_bus_y_" select="$bk_y_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W)"/>
-                               <xsl:message>h bus x <xsl:value-of select="$h_bus_x_"/></xsl:message>
-                               <xsl:message>h bus y <xsl:value-of select="$h_bus_y_"/></xsl:message>
--->    
-                               <xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>
-                               <xsl:variable name="h_bus_width_"  select="($bk_x_ - $h_bus_x_ + ceiling($BLKD_MOD_W div 2))"/> 
-                               
-                               <rect x="{$h_bus_x_}" 
-                                 y="{$h_bus_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$BLKD_P2P_BUS_W}" 
-                                 style="fill:{$bucket_col_}"/>
-                               
-                       </xsl:for-each>
-                       
-                       <xsl:variable name="num_sbsbktmods_" select="count(MODULE)"/>
-                       <xsl:variable name="num_sbsbktrows_" select="ceiling($num_sbsbktmods_ div $BLKD_BKT_MODS_PER_ROW)"/>
-                       
-                       <!-- If there is more than one row, connect the rows with a vertical bar -->            
-                       <xsl:if test="($num_sbsbktrows_ &gt; 1)">
-                               
-                               <xsl:variable name="v_bus_x_"    select="$BLKD_MOD_BKTLANE_W + ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G)"/>
-                               
-                               <xsl:variable name="bkt_top_"    select="$BLKD_MOD_BKTLANE_H + (0                      * ($BLKD_MOD_H + $BLKD_BIFC_H + $BLKD_MOD_BUCKET_G))"/>
-                               <xsl:variable name="bkt_bot_"    select="$BLKD_MOD_BKTLANE_H + (($num_sbsbktrows_ - 1) * ($BLKD_MOD_H + $BLKD_BIFC_H + $BLKD_MOD_BUCKET_G))"/>
-                               
-                               <xsl:variable name="v_bus_y_top_" select="$bkt_top_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               <xsl:variable name="v_bus_y_bot_" select="$bkt_bot_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>
-                               
-                               <xsl:variable name="v_bus_width_"   select="$BLKD_P2P_BUS_W"/>
-                               <xsl:variable name="v_bus_height_"  select="($v_bus_y_bot_ - $v_bus_y_top_)"/>
-                               <rect x="0" 
-                                 y="{$v_bus_y_top_}"  
-                                 width= "{$v_bus_width_}" 
-                                 height="{$v_bus_height_}" 
-                                 style="fill:{$bucket_col_}"/>
-                       </xsl:if>
-                       
-               </symbol>
-               
-       </xsl:for-each>         
-       
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_SBSBucketModule">
-       
-       <xsl:param name="iBifType"  select="'OPB'"/>
-       <xsl:param name="iIPName"   select="'_ipType_'"/>
-       <xsl:param name="iIPType"   select="'_ipName_'"/>
-       
-<!--   
-       <xsl:message>The IPType is <xsl:value-of select="$iIPType"/> </xsl:message>
--->    
-       <xsl:variable name="bif_y_">
-               <xsl:value-of select="$BLKD_MOD_LANE_H + $BLKD_BIFC_H"/>        
-       </xsl:variable>
-
-       <xsl:variable name="label_y_">
-               <xsl:value-of select="$BLKD_MOD_LANE_H + $BLKD_BIF_H + $BLKD_BIFC_H +  $BLKD_MOD_BIF_GAP_V"/>   
-       </xsl:variable>
-       
-       <xsl:variable name="modBg_Col_">
-               <xsl:choose>
-                       <xsl:when test="$iIPType = 'mpmc'"><xsl:value-of select="$COL_MPMC_BG"/></xsl:when>
-                       <xsl:otherwise><xsl:value-of select="$COL_BG"/></xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-    <symbol id="sbsbktmodule_{$iIPName}">
-               
-               <rect x="0"
-                     y="{$BLKD_BIFC_H}"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$BLKD_MOD_W}"
-                     height= "{$BLKD_MOD_H}"
-                         style="fill:{$modBg_Col_}; stroke:{$COL_WHITE}; stroke-width:2"/>             
-                         
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-               
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@GROUP">
-               
-                       <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                         y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) - 2}"
-                             rx="3" 
-                             ry="3" 
-                         width= "{$BLKD_MOD_LABEL_W}"
-                         height="{$BLKD_BIF_H}"
-                                 style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-       
-                  <text class="ioplblgrp" 
-                                 x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-          
-               <text class="bciptype" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 8}">
-                               <xsl:value-of select="$iIPType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 16}">
-                               <xsl:value-of select="$iIPName"/>
-          </text>
-          
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iIPName)]/BUSINTERFACE[not(@BUSNAME = '__NOC__')]">
-                       
-                       <xsl:variable name="bif_busstd_">
-                               <xsl:choose>
-                                       <xsl:when test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>        
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="'TRS'"/>  
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_name_">
-                               <xsl:choose>
-                                       <xsl:when test="string-length(@NAME) &lt;= 5">
-                                               <xsl:value-of select="@NAME"/>  
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="substring(@NAME,0,5)"/>   
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-       
-                   <xsl:variable name="bif_x_"  select="ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_BIF_W div 2)"/>
-                       
-                       <!-- Draw the BIF -->
-                       <use  x="{$bif_x_}"   y="{$bif_y_}"  xlink:href="#{$bif_busstd_}_Bif"/>
-                       
-<!--                   
-                       <symbol id="{$bus_type}_busconn_SLAVE"> 
--->             
-        
-                       <!-- Draw the BIF connection -->
-                       <use  x="{$bif_x_ + ceiling($BLKD_BIF_W div 2) - ceiling($BLKD_BIFC_W div 2)}"   y="{$bif_y_ - $BLKD_BIFC_H - $BLKD_MOD_LANE_H}"  xlink:href="#{$bif_busstd_}_busconn_{@BIFRANK}"/>
-                               
-                       <text class="biflabel" 
-                                 x="{$bif_x_ + ceiling($BLKD_BIF_W div 2)}"
-                                 y="{$bif_y_ + ceiling($BLKD_BIF_H div 2) + 3}">
-                                       <xsl:value-of select="$bif_name_"/>
-                       </text>
-                       
-               </xsl:for-each>
-               
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@INTCINDEX">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptCntrl">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
-                               <xsl:with-param name="iIntr_Y"   select="3 + $BLKD_BIFC_H"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_IDX" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
-               
-                     
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/INTCCNTLRTRGS/INTCTRG">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptSource">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - $BLKD_INTR_W)"/>
-                               <xsl:with-param name="iIntr_Y"   select="((position() - 1) * (ceiling($BLKD_INTR_H div 2) + 3)) + $BLKD_BIFC_H"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_PRI" select="@PRIORITY"/>
-                               <xsl:with-param name="iIntr_IDX" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>
-               
-       </symbol>                         
-       
-</xsl:template>        
-
-<xsl:template name="Define_IPBucketModule">
-       
-       <xsl:param name="iIPType"   select="'_ip_type_'"/>
-       <xsl:param name="iIPName"   select="'_ip_name_'"/>
-       
-       <xsl:variable name="bif_y_">
-               <xsl:value-of select="$BLKD_MOD_LANE_H"/>       
-       </xsl:variable>
-
-       <xsl:variable name="label_y_">
-               <xsl:value-of select="(ceiling($BLKD_MOD_H div 2) - ceiling($BLKD_MOD_LABEL_H div 2))"/>        
-       </xsl:variable>
-       
-    <symbol id="ipbktmodule_{$iIPName}">
-
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$BLKD_MOD_W}"
-                     height= "{$BLKD_MOD_H}"
-                         style="fill:{$COL_BG}; stroke:{$COL_BLACK}; stroke-width:2"/>         
-                         
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-                         
-<!--
-                         y="{$label_y_ + ceiling($BLKD_MOD_LABEL_H div 2) - 4}"
-                         y="{$label_y_ + ceiling($BLKD_MOD_LABEL_H div 2) + 4}"
--->                      
-
-               <text class="bciptype" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 8}">
-                               <xsl:value-of select="$iIPType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 16}">
-                               <xsl:value-of select="$iIPName"/>
-          </text>
-          
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iIPName)]/@GROUP">
-               
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) - 2}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_BIF_H}"
-                         style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-       
-                  <text class="ioplblgrp" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                     y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iIPName]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-               
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/INTCCNTLRTRGS/INTCTRG">
-                       
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptSource">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - $BLKD_INTR_W)"/>
-                               <xsl:with-param name="iIntr_Y"   select="((position() - 1) * (ceiling($BLKD_INTR_H div 2) + 3))"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_PRI" select="@PRIORITY"/>
-                               <xsl:with-param name="iIntr_IDX" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>
-          
-       </symbol>                         
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_Peripheral"> 
-<!-- 
-       when the module is oriented normal its label goes above the bifs 
-    when the module is oriented rot180, (part of a processor memory  
-       controller for example) its label goes below the bifs 
--->    
-
-       <xsl:param name="iModVori"    select="'normal'"/>
-       <xsl:param name="iModInst"    select="'_instance_'"/>
-       <xsl:param name="iModType"    select="'_modtype_'"/>
-       <xsl:param name="iUnkInst"    select="'_unknown_'"/>
-       <xsl:param name="iHorizIdx"   select="'_unknown_'"/>
-       <xsl:param name="iVertiIdx"   select="'_unknown_'"/>
-       
-<!--   
-       <xsl:message>Stack       Y <xsl:value-of select="$cstkMods_Y"/></xsl:message>
-       <xsl:message>Stack Index Y <xsl:value-of select="$cstkIndex"/></xsl:message>
--->    
-       
-       <xsl:variable name="modName_">
-               <xsl:choose>
-                       <xsl:when test="$iUnkInst = '_unknown_'">
-                               <xsl:value-of select="$iModInst"/>      
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$iUnkInst"/>      
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="modSymbolName_">
-               <xsl:choose>
-                       <xsl:when test="(not($iHorizIdx = '_unknown_') and not($iVertiIdx = '_unknown_'))">
-                               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                                       <xsl:with-param name="iHorizIdx"  select="$iHorizIdx"/>
-                                       <xsl:with-param name="iVertiIdx"  select="$iVertiIdx"/>
-                               </xsl:call-template>            
-                       </xsl:when>
-                       <xsl:otherwise>symbol_<xsl:value-of select="$modName_"/></xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="modTypeName_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/@MODTYPE"/>
-       
-       
-<!--   
-       <xsl:message>The symbol type of the module is <xsl:value-of select="$modTypeName_"/></xsl:message>
-       <xsl:message>The symbol name of the module is <xsl:value-of select="$modSymbolName_"/></xsl:message>
--->    
-       
-       <xsl:variable name="bifs_h_">   
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H) and not(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H)">0</xsl:if>
-       
-               <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H)">
-                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H"/>
-               </xsl:if>
-       
-               <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H)">
-                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iModInst)]/@BIFS_H"/>
-               </xsl:if>
-       </xsl:variable>         
-       
-       <xsl:variable name="label_y_">
-               <xsl:choose>
-                       <xsl:when test="$iModVori = 'rot180'">
-                               <xsl:value-of select="($BLKD_MOD_LANE_H + (($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * $bifs_h_))"/>  
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$BLKD_MOD_LANE_H"/>       
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="bif_dy_">
-               <xsl:choose>
-                       <xsl:when test="$iModVori = 'rot180'">
-                               <xsl:value-of select="$BLKD_MOD_LANE_H"/>       
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V)"/>   
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="peri_stroke_col_">
-               <xsl:choose>
-                       <xsl:when test="((@MODCLASS = 'MASTER_SLAVE') or (@MODCLASS = 'MONITOR')) and BUSCONNS/BUSCONN">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="BUSCONNS/BUSCONN/@BUSSTD"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       
-                       <xsl:otherwise>
-                               <xsl:value-of select="$COL_WHITE"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="modHeight_">
-               <xsl:call-template name="_calc_PeriShape_Height">
-                       <xsl:with-param name="iShapeInst"  select="$modName_"/>
-               </xsl:call-template>    
-       </xsl:variable>         
-       
-    <symbol id="{$modSymbolName_}">
-               
-               <xsl:if test="$modTypeName_ = 'mpmc'">
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$BLKD_MOD_W}"
-                     height= "{$modHeight_}"
-                         style="fill:{$COL_MPMC_BG}; stroke:{$peri_stroke_col_}; stroke-width:2"/>             
-               </xsl:if>       
-               
-               <xsl:if test="not($modTypeName_ = 'mpmc')">
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$BLKD_MOD_W}"
-                     height= "{$modHeight_}"
-                         style="fill:{$COL_BG}; stroke:{$peri_stroke_col_}; stroke-width:2"/>          
-               </xsl:if>       
-               
-                                         
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-                         
-<!--                     
-                         y="{$label_y_ + ceiling($BLKD_MOD_LABEL_H div 2) - 4}">
-                         y="{$label_y_ + ceiling($BLKD_MOD_LABEL_H div 2) + 4}">
--->
-                         
-               <text class="bciptype" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 8}">
-                               <xsl:value-of select="$iModType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                         y="{$label_y_ + 16}">
-                               <xsl:value-of select="$iModInst"/>
-          </text>
-          
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iModInst]/@GROUP">
-               
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) - 2}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_BIF_H}"
-                         style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-                  <text class="ioplblgrp" 
-                         x="{ceiling($BLKD_MOD_W div 2)}"
-                     y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iModInst]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-          
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iModInst]/BUSINTERFACE[(@BIF_X and @BIF_Y and not(@BUSNAME = '__NOC__'))]">
-                       
-                       <xsl:variable name="bif_busstd_">
-                               <xsl:choose>
-                                       <xsl:when test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>        
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="'TRS'"/>  
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_y_">
-                               <xsl:value-of select="(($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V)  * @BIF_Y)"/>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_buscol_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="$bif_busstd_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-               
-                       
-                       <xsl:variable name="bif_name_">
-                               <xsl:choose>
-                                       <xsl:when test="not(@NAME)">'UNK'</xsl:when>
-                                       <xsl:when test="string-length(@NAME) &lt;= 5">
-                                               <xsl:value-of select="@NAME"/>  
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="substring(@NAME,0,5)"/>   
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-       
-                       <xsl:variable name="bif_x_" >
-                               <xsl:if test="not(@ORIENTED='CENTER')">
-                                       <xsl:value-of select="(($BLKD_BIF_W * @BIF_X) + ($BLKD_MOD_BIF_GAP_H * @BIF_X) + ($BLKD_MOD_LANE_W * 1))"/>
-                               </xsl:if>
-                               <xsl:if test="(@ORIENTED='CENTER')">
-                                       <xsl:value-of select="ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_BIF_W div 2)"/>
-                               </xsl:if>
-                       </xsl:variable> 
-                       
-                       <xsl:if test="not(@IS_INTCONN)">
-                               <xsl:variable name="horz_line_y_" select="($bif_y_  + $bif_dy_ + ceiling($BLKD_BIFC_H div 2))"/>
-                       
-                               <xsl:variable name="horz_line_x1_">
-                                       <xsl:choose>
-                                               <xsl:when test="@BIF_X = '0'">0</xsl:when>
-                                               <xsl:otherwise><xsl:value-of select="($BLKD_MOD_W - $BLKD_MOD_LANE_W)"/></xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                       
-                               <xsl:variable name="horz_line_x2_">
-                                       <xsl:choose>
-                                               <xsl:when test="@BIF_X = '0'"><xsl:value-of select="$BLKD_MOD_LANE_W"/></xsl:when>
-                                               <xsl:otherwise><xsl:value-of select="$BLKD_MOD_W + 1"/></xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                       
-                       
-                               <line x1="{$horz_line_x1_}" 
-                                         y1="{$horz_line_y_ - 2}"
-                                 x2="{$horz_line_x2_}" 
-                                 y2="{$horz_line_y_ - 2}" 
-                                style="stroke:{$bif_buscol_};stroke-width:1"/>
-                         
-                       </xsl:if>
-                       
-                       <use  x="{$bif_x_}"   y="{$bif_y_ + $bif_dy_}"  xlink:href="#{$bif_busstd_}_Bif"/>
-                               
-                       <text class="biflabel" 
-                                 x="{$bif_x_  + ceiling($BLKD_BIF_W div 2)}"
-                                 y="{$bif_y_ + $bif_dy_ + ceiling($BLKD_BIF_H div 2) + 3}">
-                                       <xsl:value-of select="$bif_name_"/>
-                       </text>
-                       
-               </xsl:for-each>
-               
-<!--           
-               <xsl:if test="@INTCINDEX">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptCntrl">
-                               <xsl:with-param name="intr_col" select="$intr_col_"/>
-                               <xsl:with-param name="intr_x"   select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
-                               <xsl:with-param name="intr_y"   select="3"/>
-                               <xsl:with-param name="intr_idx" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
--->            
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/@INTCINDEX">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptCntrl">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
-                               <xsl:with-param name="iIntr_Y"   select="3"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_IDX" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
-               
-               
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iModInst)]/INTCCNTLRTRGS/INTCTRG">
-                       
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptSource">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - $BLKD_INTR_W)"/>
-                               <xsl:with-param name="iIntr_Y"   select="((position() - 1) * (ceiling($BLKD_INTR_H div 2) + 3))"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_PRI" select="@PRIORITY"/>
-                               <xsl:with-param name="iIntr_IDX" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>
-               
-       </symbol>                         
-</xsl:template>        
-       
-<xsl:template name="Define_MemoryUnit"> 
-       <xsl:param name="iShapeId"  select="1000"/>
-       
-       <xsl:variable name="horiz_idx_"   select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="is_multistk_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/@IS_MULTISTK"/>
-       
-       <xsl:choose>
-               <xsl:when test="(($is_multistk_ = 'TRUE') or (/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $horiz_idx_)]))">
-                       <xsl:call-template name="Define_Processor_MemoryUnit"> 
-                               <xsl:with-param name="iShapeId"  select="$iShapeId"/>
-                       </xsl:call-template>
-               </xsl:when>
-               
-               <xsl:otherwise>
-                       <xsl:call-template name="Define_StandAlone_MemoryUnit"> 
-                               <xsl:with-param name="iShapeId"  select="$iShapeId"/>
-                       </xsl:call-template>
-               </xsl:otherwise>
-               
-       </xsl:choose>
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_Processor_MemoryUnit"> 
-       <xsl:param name="iShapeId"  select="1000"/>
-       
-<!--   
-       <xsl:param name="cstkIndex"    select="'_processor_'"/>
--->    
-       
-       <xsl:variable name="mods_h_"  select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/@MODS_H"/>
-       <xsl:variable name="mods_w_"  select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/@MODS_W"/>
-       <xsl:variable name="memW_" select="($BLKD_MOD_W * $mods_w_)"/>
-       <xsl:variable name="memH_" select="($BLKD_MOD_H * $mods_h_)"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]">
-               
-               <!-- first define its symbols as individual modules --> 
-               <xsl:for-each select="MODULE[@MODCLASS='MEMORY']">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-               
-                       <xsl:call-template name="Define_Peripheral"> 
-                               <xsl:with-param name="iModVori"  select="'normal'"/>
-                               <xsl:with-param name="iModInst"  select="$modInst_"/>
-                               <xsl:with-param name="iModType"  select="$modType_"/>
-                       </xsl:call-template>            
-               </xsl:for-each> 
-       
-               <xsl:for-each select="MODULE[@MODCLASS='MEMORY_CNTLR']">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-               
-                       <xsl:call-template name="Define_Peripheral"> 
-                               <xsl:with-param name="iModVori"  select="'rot180'"/>
-                               <xsl:with-param name="iModInst"  select="$modInst_"/>
-                               <xsl:with-param name="iModType"  select="$modType_"/>
-                       </xsl:call-template>            
-               </xsl:for-each> 
-       </xsl:for-each>
-       
-<!--   
--->    
-       
-       <xsl:variable name="symbol_name_">
-               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                       <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                       <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>The mp stack name is <xsl:value-of select="$mp_stack_name_"/></xsl:message>
--->    
-               
-    <symbol id="{$symbol_name_}">
-
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$memW_}"
-                     height= "{$memH_}"
-                         style="fill:{$COL_BG}; stroke:{$COL_WHITE}; stroke-width:2"/>         
-                         
-               <!-- Draw the memory block-->             
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY')]">
-                       
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="{ceiling($memW_ div 2) - ($BLKD_MOD_W div 2)}"  
-                                  y="0"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[((@MODCLASS='MEMORY_CNTLR') and (@ORIENTED = 'WEST'))]">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="0"  
-                                  y="{$BLKD_MOD_H}"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[((@MODCLASS='MEMORY_CNTLR') and (@ORIENTED = 'EAST'))]">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="{$BLKD_MOD_W}"  
-                                  y="{$BLKD_MOD_H}"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[((@MODCLASS='MEMORY_CNTLR') and (@ORIENTED = 'CENTER'))]">   
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="{ceiling($memW_ div 2) - ($BLKD_MOD_W div 2)}"  
-                                  y="{$BLKD_MOD_H}"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-       </symbol>                         
-       
-</xsl:template>        
-
-       
-<xsl:template name="Define_StandAlone_MemoryUnit"> 
-       
-       <xsl:param name="iShapeId" select="0"/>
-       
-       <xsl:variable name="mods_h_"  select="@MODS_H"/>
-       <xsl:variable name="mods_w_"  select="@MODS_W"/>
-       
-       <xsl:variable name="memc_name_" select="MODULE[not(@MODCLASS = 'MEMORY')]/@INSTANCE"/>
-       <xsl:variable name="memc_busstd_" select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE/BUSCONNLANE[(BUSCONN[(@INSTANCE = $memc_name_)])]/@BUSSTD"/>
-       
-<!--   
-       <xsl:variable name="memc_busstd_" select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE/BUSCONNLANE/@BUSSTD"/>
-       <xsl:variable name="memc_busstd_" select="/EDKSYSTEM/BCLANESPACES/BCLANESPACE/BUSCONNLANE[(BUSCONN[(@INSTANCE)])]/@BUSSTD"/>
-       <xsl:message>Memory cntlr name <xsl:value-of select="$memc_name_"/></xsl:message>
-       <xsl:message>Memory cntlr name <xsl:value-of select="$memc_name_"/></xsl:message>
-       <xsl:message>Memory cntlr busstd <xsl:value-of select="$memc_busstd_"/></xsl:message>
--->    
-       
-       <xsl:variable name="peri_col_">
-               
-               <xsl:choose>
-                       <xsl:when test="$mods_w_ &gt; 1">
-                               <xsl:value-of select="$COL_BG"/>
-                       </xsl:when>
-                       
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE/BUSCONNLANE[(BUSCONN[(@INSTANCE = $memc_name_)])]/@BUSSTD">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="$memc_busstd_"/>
-                               </xsl:call-template>
-                       </xsl:when>
-               
-                       <xsl:otherwise>
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="'TRS'"/>
-                               </xsl:call-template>
-                       </xsl:otherwise>
-               </xsl:choose>           
-               
-       </xsl:variable>  
-       
-       <!-- first define its symbols as individual modules --> 
-       <xsl:for-each select="MODULE[(@MODCLASS = 'MEMORY')]">
-               <xsl:variable name="modInst_" select="@INSTANCE"/>
-               <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$modInst_]/@MODTYPE"/>
-               
-               <xsl:call-template name="Define_Peripheral"> 
-                       <xsl:with-param name="iModVori"  select="'rot180'"/>
-                       <xsl:with-param name="iModInst"  select="$modInst_"/>
-                       <xsl:with-param name="iModType"  select="$modType_"/>
-               </xsl:call-template>            
-       </xsl:for-each> 
-       
-       <xsl:for-each select="MODULE[not(@MODCLASS='MEMORY')]">
-               <xsl:variable name="modInst_" select="@INSTANCE"/>
-               <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$modInst_]/@MODTYPE"/>
-               
-<!--           
-               <xsl:message>Memory cntlr inst <xsl:value-of select="$modInst_"/></xsl:message>
--->            
-               <xsl:call-template name="Define_Peripheral"> 
-                       <xsl:with-param name="iModVori"  select="'normal'"/>
-                       <xsl:with-param name="iModInst"  select="$modInst_"/>
-                       <xsl:with-param name="iModType"  select="$modType_"/>
-               </xsl:call-template>            
-       </xsl:for-each> 
-       
-       <xsl:variable name="memW_" select="($BLKD_MOD_W * $mods_w_)"/>
-       <xsl:variable name="memH_" select="($BLKD_MOD_H * $mods_h_)"/>
-       
-       <xsl:variable name="symbol_name_">
-               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                       <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                       <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-               
-    <symbol id="{$symbol_name_}">
-               
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$memW_ + 4}"
-                     height= "{$memH_ + 4}"
-                         style="fill:{$peri_col_}; stroke:{$peri_col_}; stroke-width:2"/>              
-                         
-
-               <!-- Draw the memory block-->             
-               <xsl:choose>
-                       
-               <xsl:when test="$mods_w_ = 1">
-                       
-                       <xsl:for-each select="MODULE[(@MODCLASS='MEMORY')]">    
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="2"  
-                                     y="{$BLKD_MOD_H + 2}"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-               
-               <!-- Draw the memory controllers-->               
-                       <xsl:for-each select="MODULE[not(@MODCLASS='MEMORY')]"> 
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="2"  
-                                         y="0"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               </xsl:when>     
-               
-               <xsl:when test="$mods_w_ &gt; 1">
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY')]">
-                       
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                                <use  x="{ceiling($memW_ div 2) - ($BLKD_MOD_W div 2)}"  
-                                          y="{$BLKD_MOD_H + 2}"  
-                                          xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(not(@MODCLASS='MEMORY') and (@ORIENTED = 'WEST'))]">
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="0"  
-                                     y="0"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(not(@MODCLASS='MEMORY') and (@ORIENTED = 'EAST'))]">
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="{$BLKD_MOD_W}"  
-                                     y="0"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(not(@MODCLASS='MEMORY') and (@ORIENTED = 'CENTER'))]">      
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="{ceiling($memW_ div 2) - ($BLKD_MOD_W div 2)}"  
-                                     y="0"  
-                                         xlink:href="#symbol_{$modInst_}"/> 
-                   </xsl:for-each>
-                       
-               </xsl:when>     
-               </xsl:choose>
-                         
-       </symbol>                         
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_StandAlone_MPMC"> 
-       
-<!--   
-       <xsl:param name="drawarea_w"  select="500"/>
-       <xsl:param name="drawarea_h"  select="500"/>
--->    
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/MPMCSHAPE">
-               
-               <xsl:variable name="mpmcInst_" select="@INSTANCE"/>
-               <xsl:variable name="mpmcType_" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$mpmcInst_]/@MODTYPE"/>
-<!--           
-               <xsl:message>Drawing instance <xsl:value-of select="$mpmcInst_"/></xsl:message>
--->            
-               
-               <xsl:variable name="mpmc_w_"  select="($G_total_drawarea_W - ($BLKD_INNER_GAP * 2))"/>
-               <xsl:variable name="label_y_"  select="ceiling($BLKD_MPMC_MOD_H div 2) - ceiling($BLKD_MOD_LABEL_H div 2)"/>
-               
-               <symbol id="mpmcmodule_{$mpmcInst_}">
-                       <rect x="0"
-                         y="0"
-                         width = "{$mpmc_w_}"
-                         height= "{$BLKD_MPMC_MOD_H}"
-                             style="fill:{$COL_MPMC_BG}; stroke:{$COL_BLACK}; stroke-width:2"/>
-                         
-                   <rect x="{$BLKD_MOD_LANE_H}"
-                         y="{$label_y_}"
-                             rx="3"
-                             ry="3"
-                         width= "{$BLKD_MOD_LABEL_W}"
-                         height="{$BLKD_MOD_LABEL_H}"
-                             style="fill:{$COL_WHITE}; stroke:none;"/>
-                       
-                       <text class="bciptype" 
-                                 x="{ceiling(($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_W) div 2)}"
-                                 y="{$label_y_ + 8}">
-                                       <xsl:value-of select="$mpmcType_"/>
-                       </text>
-                               
-                       <text class="bciplabel" 
-                                 x="{ceiling(($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_W) div 2)}"
-                                 y="{$label_y_ + 16}">
-                                       <xsl:value-of select="$mpmcInst_"/>
-                  </text>
-                       
-                       <text class="mpmctitle" 
-                                 x="{ceiling($mpmc_w_ div 2)}"
-                                 y="{$label_y_ + 16}">MPMC Module Interface</text>
-<!--                   
--->    
-          
-               </symbol>       
-               
-       </xsl:for-each>
-       
-</xsl:template>        
-       
-
-<!-- ======================= END DEF FUNCTIONS ============================ -->
-
-<!-- ======================= UTILITY FUNCTIONS ============================ -->
-
-<xsl:template name="_draw_InterruptSource">
-
-       <xsl:param name="iIntr_X"   select="0"/>
-       <xsl:param name="iIntr_Y"   select="0"/>
-       <xsl:param name="iIntr_PRI" select="0"/>
-       <xsl:param name="iIntr_IDX" select="0"/>
-       <xsl:param name="iIntr_COL" select="$COL_BLKD_INTR_0"/>
-       
-               <rect  
-                       x="{$iIntr_X}"
-                       y="{$iIntr_Y}"
-                       rx="3"
-                       ry="3"
-                       width= "{$BLKD_INTR_W}" 
-                       height="{ceiling($BLKD_INTR_H div 2)}" style="fill:{$iIntr_COL}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y1="{$iIntr_Y}"
-                         x2="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{$iIntr_Y + ceiling($BLKD_INTR_H div 2)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <xsl:variable name="txt_ofs_">
-                       <xsl:if test="($iIntr_PRI &gt; 9)">4.5</xsl:if>
-                       <xsl:if test="not($iIntr_PRI &gt; 9)">0</xsl:if>
-               </xsl:variable>   
-               
-               <text class="intrsymbol" 
-                         x="{$iIntr_X + 2 - $txt_ofs_}"
-                         y="{$iIntr_Y + 8}">
-                               <xsl:value-of select="$iIntr_PRI"/>
-               </text>
-                       
-               <text class="intrsymbol" 
-                         x="{$iIntr_X + 2 + ceiling($BLKD_INTR_W div 2)}"
-                         y="{$iIntr_Y + 8}">
-                               <xsl:value-of select="$iIntr_IDX"/>
-               </text>
-                       
-</xsl:template>
-
-<xsl:template name="_draw_InterruptCntrl">
-
-       <xsl:param name="iIntr_X"   select="0"/>
-       <xsl:param name="iIntr_Y"   select="0"/>
-       <xsl:param name="iIntr_IDX" select="0"/>
-       <xsl:param name="iIntr_COL" select="$COL_BLKD_INTR_0"/>
-       
-               <rect  
-                       x="{$iIntr_X}"
-                       y="{$iIntr_Y}"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($BLKD_INTR_W div 2)}" 
-                       height="{$BLKD_INTR_H}" style="fill:{$iIntr_COL}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{$iIntr_X}" 
-                         y1="{$iIntr_Y + ceiling($BLKD_INTR_H div 4)}"
-                         x2="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{$iIntr_Y + ceiling($BLKD_INTR_H div 4)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:2"/>
-                         
-               <text class="intrsymbol" 
-                         x="{$iIntr_X + 2}"
-                         y="{$iIntr_Y + 8 + ceiling($BLKD_INTR_H div 2)}">
-                               <xsl:value-of select="$iIntr_IDX"/>
-               </text>
-                       
-</xsl:template>
-
-
-<xsl:template name="_draw_InterruptedProc">
-
-       <xsl:param name="iIntr_X"   select="0"/>
-       <xsl:param name="iIntr_Y"   select="0"/>
-       <xsl:param name="iIntr_IDX" select="0"/>
-       <xsl:param name="iIntr_COL" select="$COL_BLKD_INTR_0"/>
-       
-               <rect  
-                       x="{$iIntr_X}"
-                       y="{$iIntr_Y}"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($BLKD_INTR_W div 2)}" 
-                       height="{$BLKD_INTR_H}" style="fill:{$iIntr_COL}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{$iIntr_X}" 
-                         y1="{$iIntr_Y + ceiling($BLKD_INTR_H div 4) - 2}"
-                         x2="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{$iIntr_Y + ceiling($BLKD_INTR_H div 4) - 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <line x1="{$iIntr_X}" 
-                         y1="{$iIntr_Y + ceiling($BLKD_INTR_H div 4) + 2}"
-                         x2="{$iIntr_X + ceiling($BLKD_INTR_W div 2)}" 
-                         y2="{$iIntr_Y + ceiling($BLKD_INTR_H div 4) + 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <text class="intrsymbol" 
-                         x="{$iIntr_X + 2}"
-                         y="{$iIntr_Y + 8 + ceiling($BLKD_INTR_H div 2)}">
-                               <xsl:value-of select="$iIntr_IDX"/>
-               </text>
-                       
-</xsl:template>
-
-<xsl:template name="_calc_CStackShapesAbv_Height">
-       <xsl:param name="iCStackIndex"  select="100"/>
-       <xsl:param name="iCSactkMods_Y" select="1000"/>
-       
-<!--   
-       <xsl:message>Stack Index <xsl:value-of select="$cstackIndex"/></xsl:message>
-       
-       <xsl:message>Stack Y <xsl:value-of select="$cstackModY"/></xsl:message>
--->    
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@CSTACK_INDEX = $iCStackIndex)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@CSTACK_INDEX = $iCStackIndex)]">
-       
-               <xsl:variable name="shapesAbv_Heights_">
-                       <CSTACK_MOD HEIGHT="0"/>
-                       
-                       <!-- Store the heights of all the peripherals above this one heights in a variable -->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@CSTACK_INDEX = $iCStackIndex) and (@CSTACK_MODS_Y &lt; $iCStackMods_Y))]">
-                               
-                               <xsl:variable name="shapeHeight_">
-                                       
-                                       <xsl:choose>
-                                               
-                                               <xsl:when test="@MODCLASS = 'PERIPHERAL'">
-                                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                                               <xsl:with-param name="iShapeInst" select="MODULE/@INSTANCE"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               
-                                               <xsl:when test="@MODCLASS = 'MEMORY_UNIT'">
-                                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                               <xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Calculated height of cstack shape of type <xsl:value-of select="@MODCLASS"/> as <xsl:value-of select="$shapeHeight_"/></xsl:message>
--->                    
-                               
-                               <CSTACK_MOD HEIGHT="{$shapeHeight_ + $BLKD_BIF_H}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-               
-<!--           
-               <xsl:message>Calculated height of cstack as <xsl:value-of select="sum(exsl:node-set($shapesAbv_Heights_)/CSTACK_MOD/@HEIGHT)"/></xsl:message>
--->            
-               
-               <xsl:value-of select="sum(exsl:node-set($shapesAbv_Heights_)/CSTACK_MOD/@HEIGHT)"/>
-       </xsl:if>
-       
-</xsl:template>
-
-
-<xsl:template name="_calc_PeriShape_Height">
-       <xsl:param name="iShapeInst"  select="'_shape_'"/>
-       
-<!--   
-       <xsl:message>Calculating height of <xsl:value-of select="$shapeInst"/></xsl:message>
--->    
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H) and not(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H)">0</xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H"/>
-               
-               <xsl:value-of select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * $bifs_h_) + ($BLKD_MOD_BIF_GAP_V * $bifs_h_) + ($BLKD_MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H"/>
-               
-               <xsl:value-of select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * $bifs_h_) + ($BLKD_MOD_BIF_GAP_V * $bifs_h_) + ($BLKD_MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $iShapeInst)]/@BIFS_H"/>
-               
-               <xsl:value-of select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * $bifs_h_) + ($BLKD_MOD_BIF_GAP_V * $bifs_h_) + ($BLKD_MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-</xsl:template>
-       
-<xsl:template name="_calc_Shape_Height">
-       <xsl:param name="iShapeId"  select="_shape_"/>
-       
-<!--   
-       <xsl:message>Calculating height of <xsl:value-of select="$shapeId"/></xsl:message>
--->    
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)])">0</xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE/@BIFS_H"/>
-               
-               <xsl:value-of select="($BLKD_MOD_LABEL_H + ($BIF_H * $bifs_h_) + ($BLKD_MOD_BIF_GAP_V * $bifs_h_) + ($BLKD_MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-</xsl:template>
-
-
-<xsl:template name="_calc_MemoryUnit_Height">
-       <xsl:param name="iShapeId"  select="1000"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]">
-       
-               <!-- Store the memory controller heights in a variable -->      
-               <xsl:variable name="memC_heights_">     
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY_CNTLR')])">
-                               <MEM_CNTLR INSTANCE="{@INSTANCE}" HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY_CNTLR')])">
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[(@MODCLASS = 'MEMORY_CNTLR')]">
-                                       <xsl:variable name="memC_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                                       <MEM_CNTLR INSTANCE="{@INSTANCE}" HEIGHT="{$memC_height_}"/>
-                               </xsl:for-each>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <!-- Store the bram heights in a variable -->   
-               <xsl:variable name="bram_heights_">     
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[not(@MODCLASS = 'MEMORY_CNTLR')])">
-                               <BRAM INSTANCE="{@INSTANCE}" HEIGHT="0"/>
-                       </xsl:if>
-                       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[not(@MODCLASS = 'MEMORY_CNTLR')]">
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $iShapeId)]/MODULE[not(@MODCLASS = 'MEMORY_CNTLR')]">
-                                       <xsl:variable name="bram_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="iShapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                                       <BRAM INSTANCE="{@INSTANCE}" HEIGHT="{$bram_height_}"/>
-                               </xsl:for-each>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <!-- Select the maximum of them -->
-               <xsl:variable name="max_bram_height_" select="math:max(exsl:node-set($bram_heights_)/BRAM/@HEIGHT)"/>
-               <xsl:variable name="max_memC_height_" select="math:max(exsl:node-set($memC_heights_)/MEM_CNTLR/@HEIGHT)"/>
-               
-               <xsl:value-of select="$max_bram_height_ + $max_memC_height_"/>
-       </xsl:if>
-
-</xsl:template>
-
-
-<xsl:template name="_calc_SbsBucket_Height">
-       <xsl:param name="iBucketId"  select="100"/>
-       
-<!--   
-       <xsl:message>Looking of height of bucket <xsl:value-of select="$bucketId"/></xsl:message>
--->    
-       <xsl:variable name="bkt_gap_" select="$BLKD_BIF_H"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $iBucketId)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $iBucketId)]">
-               <xsl:variable name="mods_h_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $iBucketId)]/@MODS_H"/>
-               
-               <xsl:value-of select="((($BLKD_MOD_BKTLANE_H * 2) + ((($BLKD_MOD_H + $BLKD_BIFC_H) * $mods_h_) + ($BLKD_MOD_BUCKET_G * ($mods_h_ - 1)))) + $bkt_gap_)"/>
-       </xsl:if>
-</xsl:template>
-       
-<!--
-       ===============================================
-       
-               Symbol Naming Functions
-       
-       ===============================================
--->            
-       
-       
-<xsl:template name="_gen_Proc_StackName">
-<xsl:param name="iProcInst"  select="'_unknown_'"/>
-symbol_STACK_<xsl:value-of select="$iProcInst"/>
-</xsl:template>
-       
-<xsl:template name="_gen_Proc_GroupName">
-<xsl:param name="iProcInst"  select="'_unknown_'"/>
-symbol_GROUP_<xsl:value-of select="$iProcInst"/>
-</xsl:template>
-       
-       
-<xsl:template name="_gen_Space_Name"><xsl:param name="iStackToEast"    select="'NONE'"/><xsl:param name="iStackToWest"  select="'NONE'"/>symbol_SPACE_WEST_<xsl:value-of select="$iStackToWest"/>_EAST_<xsl:value-of select="$iStackToEast"/></xsl:template>
-<xsl:template name="_gen_Stack_Name"><xsl:param name="iHorizIdx"       select="'_unknown_'"/>symbol_STACK_<xsl:value-of select="$iHorizIdx"/></xsl:template>
-<xsl:template name="_gen_Stack_SymbolName"><xsl:param name="iHorizIdx" select="'_unknown_'"/><xsl:param name="iVertiIdx" select="'_unknown_'"/>symbol_STACK_<xsl:value-of select="$iHorizIdx"/>_SHAPE_<xsl:value-of select="$iVertiIdx"/></xsl:template>
-       
-
-<!-- ======================= END UTILITY FUNCTIONS  ======================= -->
-</xsl:stylesheet>
-
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Processors.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtSvgBLKD_Processors.xsl
deleted file mode 100644 (file)
index 9e35694..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:math="http://exslt.org/math"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink"
-           extension-element-prefixes="math">
-           
-<xsl:output method="xml" 
-                       version="1.0" 
-                       encoding="UTF-8" 
-                       indent="yes"
-               doctype-public="-//W3C//DTD SVG 1.0//EN"
-                   doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-
-<!-- ======================= DEF BLOCK =================================== -->
-<xsl:template name="Define_AllStacks"> 
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-                       
-               <xsl:call-template name="Define_Stack">
-                       <xsl:with-param name="iStackIdx"  select="@EAST"/>
-               </xsl:call-template>
-               
-       </xsl:for-each> 
-</xsl:template>
-       
-       
-<xsl:template name="Define_Stack"> 
-       <xsl:param name="iStackIdx"  select="100"/>
-       
-       <!-- Define the stack's peripheral shapes-->    
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and not(@MODCLASS = 'MEMORY_UNIT'))]"> 
-                       
-               <xsl:for-each select="MODULE">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-                       <xsl:call-template name="Define_Peripheral"> 
-                               <xsl:with-param name="iModInst"    select="$modInst_"/>
-                               <xsl:with-param name="iModType"    select="$modType_"/>
-                               <xsl:with-param name="iShapeId"    select="../@SHAPE_ID"/>
-                               <xsl:with-param name="iHorizIdx"   select="../@STACK_HORIZ_INDEX"/>
-                               <xsl:with-param name="iVertiIdx"   select="../@SHAPE_VERTI_INDEX"/>
-                       </xsl:call-template>            
-               </xsl:for-each> 
-               
-       </xsl:for-each>
-       
-       <!-- Define the stack's memory shapes-->        
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@MODCLASS='MEMORY_UNIT'))]">
-               <xsl:call-template name="Define_MemoryUnit"> 
-                       <xsl:with-param name="iShapeId"  select="@SHAPE_ID"/>
-               </xsl:call-template>
-       </xsl:for-each>
-       
-       
-       <!-- Define the stack's processors-->   
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE and @BIFS_W and @BIFS_H and (@STACK_HORIZ_INDEX = $iStackIdx)]">        
-               <xsl:call-template name="Define_Processor"/>            
-       </xsl:for-each> 
-               
-       <!-- Make an inventory of all the things in this processor's stack -->
-       <xsl:variable name="pstackW_">
-               <xsl:call-template name="_calc_Stack_Width"> 
-                       <xsl:with-param name="iStackIdx"  select="$iStackIdx"/>
-               </xsl:call-template>            
-       </xsl:variable>
-               
-       <xsl:variable name="pstackH_">
-               <xsl:call-template name="_calc_Stack_Height"> 
-                       <xsl:with-param name="iStackIdx"  select="$iStackIdx"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name="procW_"    select="$BLKD_MOD_W"/>
-       <xsl:variable name="procX_"    select="(ceiling($pstackW_ div 2) - ceiling($procW_ div 2))"/>
-       
-       
-       <xsl:variable name="sbsGap_"   select="($BLKD_PROC2SBS_GAP + $G_total_SharedBus_H)"/>
-
-       <xsl:variable name="stack_name_">
-               <xsl:call-template name="_gen_Stack_Name"> 
-                       <xsl:with-param name="iHorizIdx" select="$iStackIdx"/>
-               </xsl:call-template>            
-       </xsl:variable> 
-       
-<!--   
-               <xsl:message>Horiz index<xsl:value-of select="$stackIdx"/></xsl:message>
-               <xsl:message>Drawing stack <xsl:value-of select="$stack_name_"/></xsl:message>
--->    
-               
-               <!-- Now use all this stuff to draw the stack-->        
-               <symbol id="{$stack_name_}">
-                       <rect x="0"
-                                 y="0"
-                             rx="6" 
-                             ry="6" 
-                         width = "{$pstackW_}"
-                         height= "{$pstackH_}"
-                             style="fill:{$COL_BG}; stroke:none;"/>
-                       
-               
-                       <!-- First draw the the processor's peripherals-->      
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-                               <xsl:sort select="@STACK_VERTI_INDEX" data-type="number"/>
-                               
-                               
-                               <xsl:variable name="shapeW_"    select="(@MODS_W * $BLKD_MOD_W)"/>
-                               <xsl:variable name="shapeX_"    select="(ceiling($pstackW_ div 2) - ceiling($shapeW_ div 2))"/>
-                               
-                               <xsl:variable name="stack_SymName_">
-                                       <xsl:call-template name="_gen_Stack_SymbolName"> 
-                                               <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>            
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Drawing stack peripheral <xsl:value-of select="$stack_SymName_"/></xsl:message>
--->                            
-                               <xsl:variable name="shapeY_">
-                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                               <xsl:with-param name="iHorizIdx"  select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx"  select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>
-                               </xsl:variable>  
-                               
-                               <use   x="{$shapeX_}"  y="{$shapeY_}"  xlink:href="#{$stack_SymName_}"/> 
-                       
-                       </xsl:for-each>
-                       
-                       
-                       <!-- Then draw the slave buckets for the shared busses that this processor is master to -->     
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">   
-                               <xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
-                       
-                               <xsl:variable name="bucketW_"   select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                               <xsl:variable name="bucketX_"   select="(ceiling($pstackW_ div 2) - ceiling($bucketW_ div 2))"/>
-                               
-                               <xsl:variable name="bucketY_">
-                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                               <xsl:with-param name="iHorizIdx"  select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx"  select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>
-                               </xsl:variable>  
-                               
-<!--                           
-                               <xsl:message>SBS Bucket Y <xsl:value-of select="$bucketY_"/></xsl:message>
--->                            
-                               
-                                <use  x="{$bucketX_}"  y="{$bucketY_}"  xlink:href="#sbsbucket_{@BUSNAME}"/> 
-                                
-                                <text class="ipclass"
-                                          x="{$bucketX_}" 
-                                          y="{$bucketY_ - 4}">SLAVES OF <xsl:value-of select="@BUSNAME"/></text>       
-                       </xsl:for-each>
-                       
-                       <!-- Then draw the the processor itself -->     
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
-                               <xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
-                               
-                               <xsl:variable name="procY_">
-                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                               <xsl:with-param name="iHorizIdx"  select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx"  select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>
-                               </xsl:variable>  
-                               
-                               <xsl:variable name="stack_SymName_">
-                                       <xsl:call-template name="_gen_Stack_SymbolName"> 
-                                               <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>            
-                               </xsl:variable>
-                               
-                               <use   x="{$procX_}"  y="{$procY_}"  xlink:href="#{$stack_SymName_}"/> 
-                               
-                               <xsl:if test = "not(@IS_LIKEPROC)">
-                                       <text class="ipclass"
-                                               x="{$procX_}" 
-                                               y="{$procY_ - 4}">PROCESSOR</text>              
-                               </xsl:if>                       
-                                 
-                               <xsl:if test = "@IS_LIKEPROC = 'TRUE'">
-                                       <text class="ipclass"
-                                               x="{$procX_}" 
-                                               y="{$procY_ - 4}">USER MODULE</text>            
-                               </xsl:if>                       
-                       
-                       </xsl:for-each>
-               </symbol>
-</xsl:template>        
-
-
-<xsl:template name="Define_Processor">
-       <xsl:param name="iProcInst"  select="@INSTANCE"/>
-       <xsl:param name="iModType"   select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iProcInst]/@MODTYPE"/>
-<!--   
-       <xsl:param name="procType"  select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@PROCTYPE"/>
--->    
-       
-       <xsl:variable name="label_y_">
-               <xsl:value-of select="$BLKD_MOD_LANE_H"/>       
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>The proctype is <xsl:value-of select="$procType"/></xsl:message>   
--->
-       
-       <xsl:variable name="procH_" select="(($BLKD_MOD_LANE_H * 2) + (($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIFS_H) + ($BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>   
-       <xsl:variable name="procW_" select="(($BLKD_MOD_LANE_W * 2) + (($BLKD_BIF_W                        * @BIFS_W) + $BLKD_MOD_BIF_GAP_H))"/>        
-       
-       <xsl:variable name="procColor_">
-               <xsl:choose>
-                       <xsl:when test="contains($iModType,'microblaze')"><xsl:value-of select="$COL_PROC_BG_MB"/></xsl:when>
-                       <xsl:when test="contains($iModType,'ppc')"><xsl:value-of select="$COL_PROC_BG_PP"/></xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$COL_PROC_BG_USR"/>       
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>The proc color is <xsl:value-of select="$procColor"/></xsl:message>        
--->    
-       
-
-       <xsl:variable name="procName_">
-               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                       <xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
-                       <xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
-               </xsl:call-template>            
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>The proc name is <xsl:value-of select="$procName_"/></xsl:message> 
--->    
-       
-    <symbol id="{$procName_}">
-
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$procW_}"
-                     height= "{$procH_}"
-                         style="fill:{$procColor_}; stroke:{$COL_WHITE}; stroke-width:2"/>             
-                         
-                         
-               <rect x="{ceiling($procW_ div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$BLKD_MOD_LANE_H}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-                         
-               <text class="bciptype" 
-                         x="{ceiling($procW_ div 2)}"
-                         y="{$BLKD_MOD_LANE_H + 8}">
-                               <xsl:value-of select="$iModType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($procW_ div 2)}"
-                         y="{$BLKD_MOD_LANE_H + 16}">
-                               <xsl:value-of select="$iProcInst"/>
-          </text>
-          
-          
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iProcInst]/@GROUP">
-               
-               <rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
-                     y="{$BLKD_MOD_LANE_H + $BIF_H  + ceiling($BLKD_BIF_H div 3) - 2}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$BLKD_MOD_LABEL_W}"
-                     height="{$BLKD_BIF_H}"
-                         style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-       
-                  <text class="ioplblgrp"  x="{ceiling($BLKD_MOD_W div 2)}" y="{$BLKD_MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE = $iProcInst]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-          
-          
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/BUSINTERFACE[(@BIF_X and @BIF_Y)]">
-                       
-                       <xsl:variable name="bif_busstd_">
-                               <xsl:choose>
-                                       <xsl:when test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>        
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="'TRS'"/>  
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_buscol_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="iBusType" select="$bif_busstd_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-               
-                       
-                       <xsl:variable name="bif_name_">
-                               <xsl:choose>
-                                       <xsl:when test="string-length(@NAME) &lt;= 5">
-                                               <xsl:value-of select="@NAME"/>  
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="substring(@NAME,0,5)"/>   
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_x_"  select="(( $BLKD_BIF_W * @BIF_X) + ($BLKD_MOD_BIF_GAP_H * @BIF_X) + ($BLKD_MOD_LANE_W * 1))"/>
-                       <xsl:variable name="bif_y_"  select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
-                       
-                       <xsl:variable name="horz_line_y_" select="($bif_y_ + ceiling($BLKD_BIFC_H div 2))"/>
-                       
-                       <xsl:variable name="horz_line_x1_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIF_X = '0'">0</xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="($BLKD_MOD_W - $BLKD_MOD_LANE_W)"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="horz_line_x2_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIF_X = '0'"><xsl:value-of select="$BLKD_MOD_LANE_W"/></xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="$BLKD_MOD_W + 1"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       
-                       <line x1="{$horz_line_x1_}" 
-                                 y1="{$horz_line_y_ - 2}"
-                             x2="{$horz_line_x2_}" 
-                             y2="{$horz_line_y_ - 2}" 
-                             style="stroke:{$bif_buscol_};stroke-width:1"/>
-                         
-                       <use  x="{$bif_x_}"   y="{$bif_y_}"  xlink:href="#{$bif_busstd_}_Bif"/>
-                               
-                       <text class="biflabel" 
-                                 x="{$bif_x_ + ceiling($BIF_W div 2)}"
-                                 y="{$bif_y_ + ceiling($BIF_H div 2) + 3}">
-                                       <xsl:value-of select="$bif_name_"/>
-                       </text>
-                       
-               </xsl:for-each>
-               
-               <xsl:variable name="interrupt_cntlr_">
-                       <xsl:choose>
-                               <xsl:when test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iProcInst)]/@INTERRUPT_CNTLR">
-                                       <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iProcInst)]/@INTERRUPT_CNTLR"/>
-                               </xsl:when>
-                               <xsl:otherwise>"_no_interrupt_cntlr_"</xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>
-                       
-<!--           
-               <xsl:message> The intc index should <xsl:value-of select="$interrupt_cntlr_"/></xsl:message>
-               <xsl:message> The intc index is <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/></xsl:message>
--->            
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX">
-                       
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="iIntcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptedProc">
-                               <xsl:with-param name="iIntr_X"   select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
-                               <xsl:with-param name="iIntr_Y"   select="3"/>
-                               <xsl:with-param name="iIntr_COL" select="$intr_col_"/>
-                               <xsl:with-param name="iIntr_IDX" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
-               
-       </symbol>                         
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css
deleted file mode 100644 (file)
index c1b40cf..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-       text.busintlabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-       
-       text.buslabel {
-               fill:        #CC3333;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-                       
-       text.iplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-               
-       text.iptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.portlabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.mmMHeader {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mmSHeader {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.proclabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   14pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.opblabel {
-               fill:        #339900;
-               stroke:      none;
-               font-size:   11pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.lmblabel {
-               fill:        #9999FF;
-               stroke:      none;
-               font-size:   11pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.dbglabel {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.iopnumb {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl
deleted file mode 100644 (file)
index f914153..0000000
+++ /dev/null
@@ -1,1211 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-
-<xsl:include href="MdtXdsGen_HTMLIPSection.xsl"/>
-<xsl:include href="MdtXdsGen_HTMLMemoryMap.xsl"/>
-<xsl:include href="MdtXdsGen_HTMLTOCTree.xsl"/>
-
-<xsl:param name="DS_TYPE"      select="'NOFRAMES'"/>                   
-<xsl:param name="DS_PART"      select="'TOC_TREE'"/>                   
-
-<xsl:param name="DS_WIDTH"     select="850"/>                  
-<xsl:param name="DS_TOC_WIDTH" select="200"/>                  
-
-<xsl:param name="DS_FRAME_TOC"  select="'DS_TOC'"/>                    
-<xsl:param name="DS_FRAME_SELF" select="'_self'"/>                     
-<xsl:param name="DS_FRAME_MAIN" select="'DS_FMAIN'"/>                  
-
-<xsl:param name="DS_HTML_BLKD"    select="'ds_Blkd.html'"/>                    
-
-<xsl:param name="DS_HTML_MAIN"    select="'ds_Main.html'"/>
-<xsl:param name="DS_HTML_TOC"     select="'ds_TOC.html'"/>
-<xsl:param name="DS_HTML_TOCTREE" select="'ds_TOCTree.html'"/>
-
-<xsl:param name="DS_BLKD_NAME"   select="'system_blkd.jpg'"/>
-<xsl:param name="DS_BLKD_TYPE"   select="'svg'"/>
-<xsl:param name="DS_BLKD_WIDTH"  select="800"/>
-<xsl:param name="DS_BLKD_HEIGHT" select="600"/>
-
-<xsl:param name="DS_COL_OPB"     select="'#339900'"/>
-
-<xsl:param name="DS_COL_INFO"    select="'#2233FF'"/>
-<xsl:param name="DS_COL_ASH"     select="'#DEDEDE'"/>
-<xsl:param name="DS_COL_ASH1"    select="'#F0F0F8'"/>
-<xsl:param name="DS_COL_GREY"    select="'#BBBBBB'"/>
-<xsl:param name="DS_COL_LGRY"    select="'#F1F1F1'"/>
-<xsl:param name="DS_COL_XPRP"    select="'#810017'"/>
-<xsl:param name="DS_COL_RED"     select="'#FF1010'"/>
-<xsl:param name="DS_COL_GREEN"   select="'#33CC33'"/>
-<xsl:param name="DS_COL_BLACK"   select="'#000000'"/>
-<xsl:param name="DS_COL_WHITE"   select="'#FFFFFF'"/>
-
-<!--
-<xsl:param name="DS_COL_ATTR_RD"   select="'#FF5555'"/>
-<xsl:param name="DS_COL_ATTR_GREN" select="'#55FF55'"/>
-<xsl:param name="DS_COL_ATTR_BLE"  select="'#5555FF'"/>
--->
-
-<xsl:param name="DS_COL_ATTR_BUF"   select="'#FF5555'"/>
-<xsl:param name="DS_COL_ATTR_CLK"   select="'#55FF55'"/>
-<xsl:param name="DS_COL_ATTR_INT"   select="'#5555FF'"/>
-<xsl:param name="DS_COL_ATTR_RST"   select="'#FFCC00'"/>
-
-
-<xsl:param name="DS_COL_MODUSR" select="'#FFFFAA'"/>
-<xsl:param name="DS_COL_MODSYS" select="'#AAAAFF'"/>
-<xsl:param name="DS_COL_MODSYSNW" select="'#000099'"/>
-
-<!-- ======================= MAIN DATASHEET SECTION  =============================== -->
-<xsl:template match="EDKSYSTEM">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:call-template name="Write_Main"/>  
-       </xsl:if>
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:call-template name="Write_Frames"/>        
-       </xsl:if>
-</xsl:template>        
-
-<xsl:template name="Write_Frames">
-<!--   
-       <xsl:if test="$DS_PART='TOC'">
-               <xsl:call-template name="Write_TOC"/>   
-       </xsl:if>
--->    
-       
-       <xsl:if test="$DS_PART='TOC'">
-               <xsl:call-template name="Write_TOCTree"/>       
-       </xsl:if>
-       
-       <xsl:if test="$DS_PART='INDEX'">
-               <xsl:call-template name="Write_Index"/> 
-       </xsl:if>
-       
-       <xsl:if test="$DS_PART='MAIN'">
-               <xsl:call-template name="Write_Main"/>  
-       </xsl:if>
-       
-       <xsl:if test="$DS_PART='BLKD'">
-               <xsl:call-template name="Write_BLKD"/>  
-       </xsl:if>
-       
-</xsl:template>        
-
-<xsl:template name="Write_TOC">
-<HTML>
-<HEAD>
-       <TITLE>Table of Contents</TITLE>
-       <BASE target="{$DS_FRAME_MAIN}"/>
-</HEAD>
-
-       <!--Layout Table of contents   -->
-       <BODY class="main_body">
-               <xsl:call-template name="Layout_TOC"/>
-       </BODY>         
-       
-</HTML>
-</xsl:template>
-
-<xsl:template name="Write_Index">
-<HTML>
-<HEAD><TITLE>EDK Project Report</TITLE></HEAD>
-       <FRAMESET COLS="20%,80%" BORDER="0" FRAMESPACING="0">
-               <FRAME SRC="{$DS_HTML_TOC}"
-                  MARGINWIDTH="0" 
-                  MARINHEIGHT="0" 
-                  FRAMEBORDER="NO"
-                  BORDER="NO"
-                  NAME="{$DS_FRAME_TOC}"
-                  SCROLLING="YES"/>
-               <FRAME SRC="{$DS_HTML_MAIN}"
-                  MARGINWIDTH="0" 
-                  MARINHEIGHT="0"
-                  FRAMEBORDER="NO"
-                  BORDER="NO"
-                  NAME="{$DS_FRAME_MAIN}" 
-                  SCROLLING="YES"/>
-       </FRAMESET>
-</HTML>
-</xsl:template>        
-
-<xsl:template name="Write_BLKD">
-<HTML>
-       
-<HEAD><TITLE>Block Diagram</TITLE></HEAD>
-       
-<!--
-       <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
-       <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
-       <xsl:message> Embedded image type <xsl:value-of select="$DS_BLKD_TYPE"/></xsl:message>
-       <xsl:message> Embedded image width <xsl:value-of select="$DS_BLKD_WIDTH"/></xsl:message>
-       <xsl:message> Embedded image height <xsl:value-of select="$DS_BLKD_HEIGHT"/></xsl:message>
--->    
-       
-       <BODY class="main_body">
-               
-       <xsl:if test="$DS_BLKD_TYPE = 'svg'">
-               <EMBED src="{$DS_BLKD_NAME}" width="{$DS_BLKD_WIDTH}" height="{$DS_BLKD_HEIGHT}" type="image/svg+xml"/>
-       </xsl:if>
-       
-       <xsl:if test="not($DS_BLKD_TYPE = 'svg')">
-               <IMG SRC="{$DS_BLKD_NAME}" alt="BlockDiagram" width="{$DS_BLKD_WIDTH}" height="{$DS_BLKD_HEIGHT}" border="0" vspace="0" hspace="0"/>
-       </xsl:if>
-               <BR></BR>
-               <BR></BR>
-               <xsl:call-template name="Layout_ExternalPorts"/>
-               <BR></BR>
-       </BODY>         
-</HTML>
-</xsl:template>
-
-       
-<xsl:template name="Write_Main">
-<html>
-       <!--Layout head -->
-       <head>
-               <title>EDK PROJECT REPORT</title>
-               
-               <!--specify a css for the file -->
-           <meta http-equiv="PRAGMA" content="NO-CACHE"/>
-           <meta http-equiv="content-Type" content="text/html; charset=iso-8859-1"/>
-           
-       </head> 
-       
-       <body bgcolor="#FFFFFF">
-       
-               <!--Layout Table of contents   -->
-               <xsl:if test="not($DS_TYPE='FRAMES')">
-                       <xsl:call-template name="Layout_TOC"/>
-               </xsl:if>       
-               
-               <TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="1" cellspacing="0" cellpadding="3" border="0">
-               
-<!--  ==========================Overview Section ============== -->
-                       <TR></TR>
-                       <TR></TR>
-                       <TR></TR>
-                       <xsl:if test="$DS_TYPE='FRAMES'">
-                               <TD COLSPAN="1" ALIGN="LEFT">
-                                       <A HREF="ds_MainNF.html" target="_top" style="text-decoration:none"><SPAN style="color:{$DS_COL_GREEN}; font: normal 14px Verdana Arial,Helvetica,sans-serif">Printable Version</SPAN></A>
-                               </TD>
-                               <TR></TR>
-                       </xsl:if>
-                       <TD COLSPAN="1" WIDTH="100%">
-                               <A name="_Overview"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Overview'"/>
-                               </xsl:call-template>    
-                               <BR></BR>
-                               <BR></BR>
-                               <xsl:call-template name="Layout_Overview"/>
-                       </TD>
-                       
-<!--  ==========================Block Diagram section ============== -->
-<!--
-       <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
--->    
-                       <TR></TR>
-                       <TD COLSPAN="1">
-                               <A name="_BlockDiagram"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Block Diagram'"/>
-                               </xsl:call-template>
-                               <BR></BR>
-                               <BR></BR>
-                               <IMG SRC="imgs/{$DS_BLKD_NAME}" alt="BlockDiagram" border="0" vspace="0" hspace="0"/>
-                       </TD>
-                       
-<!--                   
--->                    
-
-<!--  ========================== External Ports ======================= -->
-
-                       <TR></TR>
-                       <TD COLSPAN="1" WIDTH="100%">
-                               <A name="_ExternalPorts"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'External Ports'"/>
-                               </xsl:call-template>
-                               <BR></BR>
-                               <BR></BR>
-                               <xsl:call-template name="Layout_ExternalPorts"/>
-                       </TD>
-                       
-<!--  ========================== Memory Map Section ======================= -->
-<!---
-                       <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR']/MEMORYMAP">
-                               <TR></TR>
-                               <TD COLSPAN="1">
-                                       <A name="_MemoryMap"/>
-                                       <xsl:call-template name="Layout_NavigateHeader">
-                                               <xsl:with-param name="header_name" select="'MEMORY MAP'"/>
-                                       </xsl:call-template>
-                                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR']">
-                                               <xsl:sort select="@INSTANCE"/>
-                                               <xsl:call-template name="Layout_MemoryMap"/>
-                                       </xsl:for-each>
-                               </TD>
-                       </xsl:if>
--->            
-                       
-<!--  ========================== Processor Information Section ================== -->
-                       <TR></TR>
-                       <TD COLSPAN="1" WIDTH="100%">
-                               <A name="_Processor"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                               <xsl:with-param name="header_name" select="'Processors'"/>
-                               </xsl:call-template>
-                               <BR></BR>
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[((@MODCLASS='PROCESSOR') and (contains(@MODTYPE,'microblaze')))]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                                       
-                                       <xsl:for-each select="MODULES/MODULE[((@MODCLASS='PROCESSOR') and (contains(@MODTYPE,'ppc')))]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-                                       
-<!--                                           
-                       <TR></TR>
-                       <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                               <A name="_Debug"/>
-                                               <xsl:call-template name="Layout_NavigateHeader">
-                                                       <xsl:with-param name="header_name" select="'Debuggers'"/>
-                                               </xsl:call-template>
-                                               <BR></BR>
-                                               
-                                               <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                                               <xsl:sort select="@INSTANCE"/>
-                                                       <TR/>
-                                                       <TD COLSPAN="1" align="left">
-                                                               <xsl:call-template name="Layout_IPSection"/>
-                                                       </TD>
-                                               </xsl:for-each>
-                                       </xsl:if>
--->                                    
-                                       
-<!--                                           
-                                       <xsl:if test="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                                       <A name="_Intc"/>
-                                       <xsl:call-template name="Layout_NavigateHeader">
-                                               <xsl:with-param name="header_name" select="'Interrupt Controllers'"/>
-                                       </xsl:call-template>
-                                       <BR></BR>
-                                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                                                       <xsl:sort select="@INSTANCE"/>
-                                                               <TR/>
-                                                               <TD COLSPAN="1" align="left">
-                                                               <xsl:call-template name="Layout_IPSection"/>
-                                                               </TD>
-                                                       </xsl:for-each>
-                                               </TABLE>
-                                               
-                                       </xsl:if>
-                               </TABLE>
-                       </TD>
-                       
-                                               <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                                               <xsl:sort select="@INSTANCE"/>
-                                                       <TR/>
-                                                       <TD COLSPAN="1" align="left">
-                                                               <xsl:call-template name="Layout_IPSection"/>
-                                                       </TD>
-                                               </xsl:for-each>
--->                            
-
-<!--  ========================== Debugger Section ================== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_Debug"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Debuggers'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-               </xsl:if>       
-
-<!--  ========================== Interrupt Controllers Section ================== -->
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_Intc"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Interrupt Controllers'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-               </xsl:if>       
-                               
-
-<!--  ========================== Bus Information Section ================== -->
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_BusModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Busses'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[((@MODCLASS='BUS') or (@MODCLASS='BUS_ARBITER'))]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-                               
-<!--  ========================== Bridge Information Section ================== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='BUS_BRIDGE')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <BR></BR>
-                               <A name="_BridgeModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Bus Bridges'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='BUS_BRIDGE')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       
-                       </TD>
-                       </xsl:if>                                       
-                       
-<!--  ========================== Memory Information Section ============== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='MEMORY')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_MemoryModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Memory'"/>
-                               </xsl:call-template>    
-                               
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='MEMORY')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-                       </xsl:if>
-<!--  ========================== Memory Controller Information Section ============== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='MEMORY_CNTLR')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_MemCntlrModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Memory Controllers'"/>
-                               </xsl:call-template>    
-                               
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='MEMORY_CNTLR')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-               </xsl:if>       
-                       
-<!--  ========================== Peripheral Information Section ============== -->
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='PERIPHERAL')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1" align="left">
-                               <A name="_Peripherals"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Peripherals'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" COLS="1" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PERIPHERAL')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>   
-               </xsl:if>       
-                       
-<!--  ========================== IP Information Section ====================== -->
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='IP')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1" align="left">
-                               <A name="_IPModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'IP'"/>
-                               </xsl:call-template>    
-                               <BR></BR>
-                               <TABLE align="left" COLS="1" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='IP')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>   
-               </xsl:if>
-                       
-               <!--Timing Information section -->
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_TimingInfo"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Timing Information'"/>
-                               </xsl:call-template>    
-                               <BR></BR>
-                               <BR></BR>
-                               <xsl:call-template name="Layout_TimingInfo"/>
-                       </TD>
-                       <TR></TR>
-                       <TD COLSPAN="1" align="left">
-                               <BR></BR>
-                               <BR></BR>
-                               <TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="3" cellspacing="0" cellpadding="0" border="0">
-                                       <TD COLSPAN="3" width="100%" align="middle" BGCOLOR="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 5px Verdana,Arial,Helvetica,sans-serif">line</SPAN></TD>
-                                       <TR></TR>
-                                       <TD COLSPAN="1" width="25%" align="left">
-                                               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TIMESTAMP"/></SPAN>
-                                       </TD>
-                                       <TD COLSPAN="2" width="75%" align="middle">
-                                               <A HREF="http://www.xilinx.com" style="text-decoration:none"><SPAN style="color:{$DS_COL_INFO}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">www.xilinx.com</SPAN></A>
-                                               <BR></BR>
-                                               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">1-800-255-7778</SPAN>
-                                       </TD>
-                               </TABLE>
-                       </TD>
-                       
-                       
-               </TABLE>                
-</body>
-</html>
-
-</xsl:template>
-
-<!-- ======================= LAYOUT TABLE OF CONTENTS ====================================== -->
-<xsl:template name="Layout_TOC">
-       
-<xsl:variable name="toc_col_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_COL_LGRY"/>   
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_COL_WHITE"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_width_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_WIDTH"/>      
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_TOC_WIDTH"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_target_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_FRAME_SELF"/> 
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_FRAME_MAIN"/> 
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="trg_html_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="''"/>     
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_HTML_MAIN"/>  
-       </xsl:if>
-</xsl:variable>
-       
-       
-<A name="_TOC"/>
-<TABLE BGCOLOR="{$toc_col_}" WIDTH="{$toc_width_}" COLS="2" cellspacing="0" cellpadding="3" border="0">
-
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <TH COLSPAN="2" width="100%" align="middle"><SPAN style="color:{$DS_COL_XPRP}; font: bold 20px Arial,Helvetica,sans-serif">TABLE OF CONTENTS</SPAN></TH>
-       </xsl:if>
-       
-       <TR></TR>
-       <TD COLSPAN="1" width="40%" align="left">
-               <BR></BR>
-               <A HREF="{$trg_html_}#_Overview" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Overview</SPAN></A>
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_BlockDiagram" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Block Diagram</SPAN></A>
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_ExternalPorts" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">External Ports</SPAN></A>
-               
-<!--           
-               <BR></BR>
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR']/MEMORYMAP">
-                       <A HREF="{$trg_html_}#_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Map</SPAN></A>
-               </xsl:if>
--->            
-               
-               <BR></BR>
-               <xsl:variable name="proc_CNT" select="count(MODULES/MODULE[@MODCLASS = 'PROCESSOR'])"/>
-               <xsl:if test="$proc_CNT &gt; 1">
-                       <A HREF="{$trg_html_}#_Processor" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processors</SPAN></A>
-               </xsl:if>       
-               <xsl:if test="not($proc_CNT &gt; 1)">
-                       <A HREF="{$trg_html_}#_Processor" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processor</SPAN></A>
-               </xsl:if>       
-               
-               <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
-                       <xsl:sort select="@INSTANCE"/>
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;memory map</SPAN></A>
-                       </xsl:if>
-               </xsl:for-each>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_Debug" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana Arial,Helvetica,sans-serif">Debuggers</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_Intc" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana Arial,Helvetica,sans-serif">Interrupt Controllers</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_BusModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Busses</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_BridgeModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Bridges</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_MemoryModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY_CONTROLLER']">
-                               <BR></BR>       
-                               <A HREF="{$trg_html_}#_MemCntlrModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Controllers</SPAN></A>
-                               <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY_CONTROLLER']">
-                                       <xsl:sort select="@INSTANCE"/>
-                                       <BR></BR>
-                                       <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                               </xsl:for-each>
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_Peripherals" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Peripherals</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='IP']">
-                       <BR></BR>
-                       <A HREF="{$trg_html_}#_IPModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">IP</SPAN></A>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='IP']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
-                       </xsl:for-each>
-               </xsl:if>                       
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_TimingInfo" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Timing Information</SPAN></A>
-       </TD>
-       
-</TABLE>
-</xsl:template>
-<!-- ======================= END LAYOUT TABLE OF CONTENT =================================== -->
-
-<!-- ==============================  LAYOUT SNAPSHOT  ====================================== -->
-<xsl:template name="Layout_Overview">
-       
-<xsl:variable name="cnt_ip_"      select="count(MODULES/MODULE)"/>
-<xsl:variable name="cnt_proc_"    select="count(MODULES/MODULE[@MODCLASS = 'PROCESSOR'])"/>
-<xsl:variable name="cnt_busses_"  select="count(MODULES/MODULE[@MODCLASS = 'BUS'])"/>
-<TABLE width="{$DS_WIDTH}" valign="top" align="left" border="0" cellpadding="0" cellspacing="1" COLS="2" BGCOLOR="{$DS_COL_BLACK}"> 
-
-       <TD COLSPAN="2" ALIGN="middle" BGCOLOR="{$DS_COL_XPRP}">
-               <SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Overview</SPAN>
-       </TD>
-       <TR/>
-       
-       <xsl:if test="@TIMESTAMP">
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Generated on</SPAN>
-               </TD>
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TIMESTAMP"/></SPAN>
-               </TD>
-               <TR></TR>
-       </xsl:if>       
-       
-       <xsl:if test="@PROJECTSRC">
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Source</SPAN>
-               </TD>
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-<!--                           
-                               <A HREF="{@PROJECTSRC}" style="text-decoration:none; color:{$DS_COL_XPRP}"><xsl:value-of select="@PROJECTSRC"/></A>
--->                            
-                               <xsl:value-of select="@PROJECTSRC"/>
-                       </SPAN>
-               </TD>
-               <TR></TR>
-       </xsl:if>       
-
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">EDK Version</SPAN>
-       </TD>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <xsl:if test="@EDKVERSION">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@EDKVERSION"/></SPAN>
-               </xsl:if>
-               <xsl:if test="not(@EDKVERSION)">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">NA</SPAN>
-               </xsl:if>
-       </TD>
-       <TR/>
-
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">FPGA Family</SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <xsl:if test="@ARCH">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@ARCH"/></SPAN>
-               </xsl:if>
-               <xsl:if test="not(@ARCH)">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 10px Verdana,Arial,Helvetica,sans-serif">NA</SPAN>
-               </xsl:if>
-       </TD>
-       <TR/>
-
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Device</SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <xsl:if test="@PART">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PART"/></SPAN>
-               </xsl:if>
-               <xsl:if test="not(@PART)">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">-</SPAN>
-               </xsl:if>
-       </TD>
-       <TR/>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: Normal 12px Verdana,Arial,Helvetica,sans-serif"># IP Instantiated </SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_ip_"/></SPAN>
-       </TD>
-       <TR/>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"># Processors </SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_proc_"/></SPAN>
-       </TD>
-       <TR/>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"># Busses </SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_busses_"/></SPAN>
-       </TD>
-       <TR/>
-       
-       
-</TABLE>
-
-</xsl:template>
-
-<!-- ==============================  END LAYOUT SNAPSHOT  =================================== -->
-
-<!-- ==============================  LAYOUT INTRODUCTION  =================================== -->
-<xsl:template name="Layout_Introduction">
-</xsl:template>
-<!-- ==============================  END INTRODUCTION    ==================================== -->
-
-<!-- ==============================  External Ports      ==================================== -->
-<xsl:template name="Layout_ExternalPorts">
-       
-       <xsl:variable name="gpin_CNT_"  select="count(EXTERNALPORTS/PORT)"/>
-       <xsl:variable name="ipin_CNT_"  select="count(EXTERNALPORTS/PORT[@DIR='I'])"/>
-       <xsl:variable name="opin_CNT_"  select="count(EXTERNALPORTS/PORT[@DIR='O'])"/>
-       <xsl:variable name="iopin_CNT_" select="count(EXTERNALPORTS/PORT[@DIR='IO'])"/>
-       
-       <xsl:variable name="table_width_">
-               <xsl:if test="$gpin_CNT_ &gt;  16"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
-               <xsl:if test="$gpin_CNT_ &lt;= 16"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
-               
-       </xsl:variable>
-       
-       <xsl:variable name="left_extra_">
-               <xsl:if test="($gpin_CNT_ mod 2)     = 1">1</xsl:if>
-               <xsl:if test="not(($gpin_CNT_ mod 2) = 1)">0</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="num_left_" select="floor($gpin_CNT_ div 2) + $left_extra_"/>
-       <xsl:variable name="num_rhgt_" select="floor($gpin_CNT_ div 2)"/>
-       
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="8" cellspacing="1" cellpadding="1" border="0">
-               
-               <TD COLSPAN="8" ALIGN="middle" BGCOLOR="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">EXTERNAL PORTS</SPAN></TD>
-               <TR></TR>       
-               <TD COLSPAN="8" ALIGN="middle" bgcolor="{$DS_COL_WHITE}">
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               These are the external ports defined in the MHS file.
-                       </SPAN>
-               </TD>
-               
-               <TR></TR>
-               <TD COLSPAN="8" ALIGN="left" bgcolor="{$DS_COL_WHITE}">
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Attributes Key</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_BLACK}; font: italic 9px Verdana,Arial,Helvetica,sans-serif">The attributes are obtained from the SIGIS and IOB_STATE parameters set on the PORT in the MHS file </SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_CLK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">CLK</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Clock ports, (SIGIS = CLK)&#160;</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">INTR</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Interrupt ports,(SIGIS = INTR)&#160;</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">RESET</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Reset ports, (SIGIS = RST)&#160;</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">BUF or REG</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;Indicates ports that instantiate or infer IOB primitives, (IOB_STATE = BUF or REG)&#160;</SPAN>
-               </TD>
-               
-               <xsl:if test="$gpin_CNT_ &lt;= 16">
-                       
-               <TR></TR>
-               
-               <TD COLSPAN="7" ALIGN="left" bgcolor="{$DS_COL_WHITE}">
-                       
-               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-                       
-               <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-               <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-               <TD COLSPAN="1" width="5%"  align="left"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-               <TD COLSPAN="1" width="5%"  align="left"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-               <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-               <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-               
-               <xsl:for-each select="EXTERNALPORTS/PORT">
-                       <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
-                       
-<!--                   
-                       <xsl:message>The end of the string is <xsl:value-of select="substring(@GROUP,(string-length(@GROUP) -string-length(@GROUP)) + 1)"/></xsl:message>                       
-                       <xsl:message>The letter is <xsl:value-of select="$groupLetter_"/></xsl:message>                 
-                       <xsl:message>The color is <xsl:value-of select="$glb_bg_col_"/></xsl:message>                   
-                       <xsl:variable name="glb_bg_col_">
-                               <xsl:choose>
-                                       <xsl:when test="(@GROUP mod 2) = 1">
-                                               <xsl:value-of select="$DS_COL_ASH"/>
-                                       </xsl:when>             
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="$DS_COL_WHITE"/>
-                                       </xsl:otherwise>                
-                               </xsl:choose>   
-                       </xsl:variable> 
--->                    
-
-                       <xsl:variable name="glb_bg_col_">
-                               <xsl:call-template name="Group2Color">
-                                       <xsl:with-param name="group" select="@GROUP"/>
-                               </xsl:call-template>
-                       </xsl:variable> 
-                       
-                       <TR></TR>       
-                       <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN><SPAN style="color:{$DS_COL_BLACK}; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"><xsl:value-of select="@GROUP"/></SPAN>
-                       </TD>
-                       <TD COLSPAN="2" width="30%" align="left"   bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                       <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold   10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
-                       <xsl:if test="@MSB and @LSB">
-                               <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
-                       </xsl:if>                       
-                       <xsl:if test="not(@MSB and @LSB)">
-                               <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-                       </xsl:if>                       
-                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
-                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
-                               <xsl:if test="@SIGIS='CLK'"><SPAN style="color:{$DS_COL_ATTR_CLK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;CLK&#160;</SPAN></xsl:if>
-                               <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;RESET&#160;</SPAN></xsl:if>
-                               <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;INTR&#160;</SPAN></xsl:if>
-                               <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;BUF&#160;</SPAN></xsl:if>
-                               <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;REG&#160;</SPAN></xsl:if>
-                       </TD>
-               </xsl:for-each>
-               
-               </TABLE>
-               </TD>
-               </xsl:if>       
-               
-               <xsl:if test="$gpin_CNT_ &gt; 16">
-                       
-                       <TR></TR>       
-                       
-                       <TD COLSPAN="3" WIDTH="49%">
-                               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-                                       <TD COLSPAN="1" width="5"   align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-                                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-                                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-                                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-                       
-                                       <xsl:for-each select="EXTERNALPORTS/PORT">
-                                       <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
-                                       
-                                       <xsl:if test="position() &lt;= $num_left_">
-                                       
-                                               <xsl:variable name="glb_bg_col_">
-                                                       <xsl:call-template name="Group2Color">  
-                                                               <xsl:with-param name="group" select="@GROUP"/>
-                                                       </xsl:call-template>            
-                                               </xsl:variable> 
-<!--
-                                               <xsl:message>NAME: <xsl:value-of select="@NAME"/></xsl:message>                                         
-                                               <xsl:message>SIGIS: <xsl:value-of select="@SIGIS"/></xsl:message>                                               
--->    
-                                           
-                                               <TR></TR>       
-                                               <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
-                                                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN><SPAN style="color:{$DS_COL_BLACK}; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"><xsl:value-of select="@GROUP"/></SPAN>
-                                               </TD>
-                                               <TD COLSPAN="2" width="30%" align="left"   bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                                               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
-                                               <xsl:if test="@MSB and @LSB">
-                                                       <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
-                                               </xsl:if>                       
-                                               <xsl:if test="not(@MSB and @LSB)">
-                                                       <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-                                               </xsl:if>                       
-                                               <TD COLSPAN="2" width="30%" align="left" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
-                                               <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
-                                                       <xsl:if test="@SIGIS='CLK'"><SPAN style="color:{$DS_COL_GREEN}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;CLK&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;RESET&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;INTR&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;BUF&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;REG&#160;</SPAN></xsl:if>
-                                               </TD>
-                                       </xsl:if>       
-                                       </xsl:for-each>
-
-                                       
-                               </TABLE>        
-                       </TD>   
-                       
-                       <TD COLSPAN="1" WIDTH="2%" BGCOLOR="{$DS_COL_GREY}">
-                               <SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN>
-                       </TD> 
-                       
-                       <TD COLSPAN="3" WIDTH="49%">
-                               
-                               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-                                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-                                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-                                       <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-                                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-                                       
-                                       <xsl:for-each select="EXTERNALPORTS/PORT">
-                                       <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
-                                       
-                                       <xsl:if test="position() &gt; $num_left_">
-<!--                                   
-                                               <xsl:variable name="glb_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="(@GROUP mod 2) = 1">
-                                                                       <xsl:value-of select="$DS_COL_ASH"/>
-                                                               </xsl:when>             
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable> 
--->                                            
-                                               
-                                               <xsl:variable name="glb_bg_col_">
-                                                       <xsl:call-template name="Group2Color">  
-                                                               <xsl:with-param name="group" select="@GROUP"/>
-                                                       </xsl:call-template>            
-                                               </xsl:variable> 
-                       
-                                               <TR></TR>       
-                                               <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
-                                                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN><SPAN style="color:{$DS_COL_BLACK}; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"><xsl:value-of select="@GROUP"/></SPAN>
-                                               </TD>
-                                               <TD COLSPAN="2" width="30%" align="left"   bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                                               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold   10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
-                                               
-                                               <xsl:if test="@MSB and @LSB">
-                                                       <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
-                                               </xsl:if>                       
-                                               <xsl:if test="not(@MSB and @LSB)">
-                                                       <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-                                               </xsl:if>                       
-                                               <TD COLSPAN="2" width="30%" align="left" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
-                                               <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
-                                                       <xsl:if test="@SIGIS='CLK'"><SPAN style="color:{$DS_COL_GREEN}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;CLK&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;RESET&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;INTR&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;BUF&#160;</SPAN></xsl:if>
-                                                       <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;REG&#160;</SPAN></xsl:if>
-                                               </TD>
-                                       </xsl:if>       
-                                       </xsl:for-each>
-                                       
-                                       <xsl:if test="$left_extra_ &gt; 0">
-                                               <TR></TR>       
-                                               <TD COLSPAN="9" WIDTH="100%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN></TD>
-                                       </xsl:if>
-                                       
-                               </TABLE>        
-                               
-                       </TD>   
-       
-               </xsl:if> 
-               
-       </TABLE>                
-
-</xsl:template>
-
-<xsl:template name="Group2Color">
-
-       <xsl:param name="group"  select="'A'"/>
-               
-       <xsl:variable name="letter">
-               <xsl:value-of select="substring($group,(string-length($group) -string-length($group)) + 1)"/>
-       </xsl:variable>
-       
-       <xsl:choose>
-               <xsl:when test="$group = 'GLB'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               
-               <xsl:when test="$letter = 'A'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'C'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'E'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'G'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'I'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'K'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'M'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'O'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'Q'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'S'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'U'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'W'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'Y'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               
-               <xsl:when test="$letter = 'B'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'D'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'F'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'H'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'J'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'L'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'N'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'P'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'R'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'T'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'V'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'X'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'Z'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               
-               <xsl:otherwise>
-                       <xsl:value-of select="$DS_COL_WHITE"/>  
-               </xsl:otherwise>
-       </xsl:choose>
-</xsl:template>
-
-
-
-
-
-<xsl:template name="Layout_TimingInfo">
-       
-       <xsl:variable name="mtiming_CNT_" select="count(MODULES/MODULE/TIMING)"/>
-        
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{ceiling($DS_WIDTH div 2)}" COLS="5" cellspacing="1" cellpadding="1" border="1">
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Post Synthesis Clock Limits</SPAN></TD>
-               <TR></TR>       
-               <xsl:if test="$mtiming_CNT_ &lt; 1">
-                       <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       No clocks could be identified in the design. Run platgen to generate synthesis information.
-                               </SPAN>
-                       </TD>
-               </xsl:if>
-               <xsl:if test="$mtiming_CNT_ &gt; 0">
-                       <TD COLSPAN="5" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       These are the post synthesis clock frequencies. The critical frequencies are marked with
-                               </SPAN>
-                               <SPAN style="color:{$DS_COL_GREEN}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       green.
-                               </SPAN>
-                               <BR></BR>
-                               <SPAN style="color:{$DS_COL_RED}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       The values reported here are post synthesis estimates calculated for each individual module. These values will change after place and route is performed on the entire system.
-                               </SPAN>
-                       </TD>
-                       <TR></TR>
-                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TD>
-                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">CLK Port</SPAN></TD>
-                       <TD COLSPAN="1" width="20%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MAX FREQ</SPAN></TD>
-                       
-                       <xsl:for-each select="MODULES/MODULE/TIMING">
-                       <xsl:sort data-type="number" select="@MAXFREQ" order="ascending"/>
-                               <xsl:variable name="maxFreq_"  select="@MAXFREQ"/>
-                               <xsl:variable name="freqUnit_" select="@FREQUNITS"/>
-                               <xsl:variable name="freqCol_">
-                                       <xsl:if test="position() = 1">  
-                                               <xsl:value-of select="$DS_COL_GREEN"/>
-                                       </xsl:if>
-                                       <xsl:if test="not(position() = 1)">     
-                                               <xsl:value-of select="$DS_COL_BLACK"/>
-                                       </xsl:if>
-                               </xsl:variable>
-                               
-                               <xsl:for-each select="TIMECLK">
-                                       <TR></TR>
-                                       
-                                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_WHITE}">
-                                                       <A HREF="#_{../../@INSTANCE}" style="text-decoration:none">
-                                                               <SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="../../@INSTANCE"/></SPAN>
-                                                       </A>
-                                       </TD>
-                                       
-                                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_WHITE}">
-                                               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@SIGNAME"/>
-                                               </SPAN>
-                                       </TD>
-                                       
-                                       <TD COLSPAN="1" width="20%" align="left" bgcolor="{$DS_COL_WHITE}">
-                                               <SPAN style="color:{$freqCol_}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="$maxFreq_"/><xsl:value-of select="$freqUnit_"/>
-                                               </SPAN>
-                                       </TD>
-                                       
-                           </xsl:for-each>
-                       </xsl:for-each>
-               </xsl:if>
-               
-       </TABLE>        
-</xsl:template>
-
-<!-- ==============================  END GLOBAL PINOUT      ==================================== -->
-
-<xsl:template name="Layout_NavigateHeader">
-       <xsl:param name="header_name" select="HEADER"/>
-       <BR></BR>
-       <BR></BR>
-       <BR></BR>
-       <TABLE BGCOLOR="{$DS_COL_XPRP}" WIDTH="{$DS_WIDTH}" COLS="3" cellspacing="0" cellpadding="0" border="0">
-               <TH COLSPAN="1" width="90%" align="left">  <SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$header_name"/></SPAN></TH>
-               <xsl:if test="$DS_TYPE='NOFRAMES'">
-                       <TH COLSPAN="1" width="10%"  align="middle"><A HREF="#_TOC" style="text-decoration:none"><SPAN style="color:{$DS_COL_LGRY}; font: bold 14px Verdana Arial,Helvetica,sans-serif">TOC</SPAN></A></TH>
-               </xsl:if>       
-               <xsl:if test="$DS_TYPE='FRAMES'">
-                       <TH COLSPAN="1" width="10%"  align="middle"><A HREF="#_Overview" style="text-decoration:none"><SPAN style="color:{$DS_COL_LGRY}; font: bold 14px Verdana Arial,Helvetica,sans-serif">TOP</SPAN></A></TH>
-               </xsl:if>       
-       </TABLE>
-</xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl
deleted file mode 100644 (file)
index 4e7beaa..0000000
+++ /dev/null
@@ -1,611 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-
-<!--
-<xsl:param name="DS_COL_OPB"    select="'#339900'"/>
-<xsl:param name="DS_COL_WHITE"   select="'#FFFFFF'"/>
-<xsl:param name="DS_COL_INFO"   select="'#2233FF'"/>
-<xsl:param name="DS_COL_BLACK"   select="'#000000'"/>
-<xsl:param name="DS_COL_GREY"   select="'#CCCCCC'"/>
-<xsl:param name="DS_COL_XPRP"   select="'#810017'"/>
-<xsl:param name="DS_COL_DOCLNK" select="'#FF9900'"/>
--->
-               
-<!-- ======================= MAIN PERIPHERAL SECTION =============================== -->
-<xsl:template name="Layout_IPSection">
-
-<TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="4" cellspacing="0" cellpadding="0" border="0">
-       
-       <TD COLSPAN="4" width="5%" align="LEFT" valign="BOTTOM">
-               <A name="_{@INSTANCE}"/>
-               <xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if>             
-               <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN>
-               <xsl:if test="DESCRIPTION[(@TYPE = 'SHORT')]">
-                       <SPAN style="color:{$DS_COL_XPRP}; font: normal italic 12px Verdana,Arial,Helvetica,sans-serif">
-                               &#160;&#160;<xsl:value-of select="DESCRIPTION[(@TYPE = 'SHORT')]"/>
-                       </SPAN>
-               </xsl:if>
-               <BR></BR>
-               <xsl:if test="DESCRIPTION[(@TYPE = 'LONG')]">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal italic 12px Verdana,Arial,Helvetica,sans-serif">
-                               <xsl:value-of select="DESCRIPTION[(@TYPE = 'LONG')]" disable-output-escaping="yes"/>
-                       </SPAN>
-               </xsl:if>
-               <BR></BR>
-               <BR></BR>
-               <BR></BR>
-       </TD>   
-       
-       <TR></TR>
-       
-       <!-- Layout the Module information table-->
-       <TD COLSPAN="2" width="40%" align="LEFT" valign="TOP">
-               <IMG SRC="imgs/{@INSTANCE}.jpg" alt="{@INSTANCE} IP Image" border="0" vspace="0" hspace="0"/>
-       </TD>
-       <TD COLSPAN="2" width="60%" align="MIDDLE" valign="TOP">
-               <xsl:call-template name="Peri_PortListTable"/>
-               <BR></BR>
-               <BR></BR>
-       </TD>
-       
-       <TR></TR>
-                               
-       <TD COLSPAN="4" width="100%" align="LEFT" valign="BOTTOM">
-               <xsl:call-template name="Peri_InfoTable"/>
-       </TD>
-       
-<!--   
-       <TD COLSPAN="1" width="5%" align="LEFT"     valign="BOTTOM">
-               <SPAN style="color:{$DS_COL_XPRP}; font: bold normal 16px Verdana,Arial,Helvetica,sans-serif">&#8970;</SPAN>
-       </TD>
-       <TD COLSPAN="2" width="90%" align="MIDDLE"  valign="BOTTOM">
-               <SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN>
-       </TD>
-       <TD COLSPAN="1" width="5%" align="RIGHT"    valign="BOTTOM">
-               <SPAN style="color:{$DS_COL_XPRP}; font: bold normal 16px Verdana,Arial,Helvetica,sans-serif">&#8971;</SPAN>
-       </TD>
--->    
-</TABLE>       
-
-<BR></BR>
-<BR></BR>
-
-</xsl:template>
-
-<!-- ======================= PERIHERAL TABLE PARTS   =============================== -->
-<!-- Layout the Module's Information table -->
-<xsl:template name="Peri_InfoTable">
-       
-       <xsl:variable name="mhsParamCNT_" select="count(PARAMETER)"/>
-       
-       <xsl:variable name="table_is_split_">
-               <xsl:if test="$mhsParamCNT_     &gt;  10">1</xsl:if>
-               <xsl:if test="not($mhsParamCNT_ &gt;  10)">0</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="table_width_">
-               <xsl:if test="$mhsParamCNT_  &gt;  10"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
-               <xsl:if test="$mhsParamCNT_  &lt;= 10"><xsl:value-of select="ceiling($DS_WIDTH div 2)"/></xsl:if>
-       </xsl:variable>
-       
-       
-       <xsl:variable name="left_extra_">
-               <xsl:if test="($mhsParamCNT_ mod 2)     = 1">1</xsl:if>
-               <xsl:if test="not(($mhsParamCNT_ mod 2) = 1)">0</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="num_left_" select="floor($mhsParamCNT_ div 2) + $left_extra_"/>
-       <xsl:variable name="num_rhgt_" select="floor($mhsParamCNT_ div 2)"/>
-       
-       <xsl:variable name="mdr_main_col_">
-               <xsl:if test="$mhsParamCNT_  &gt;  10">4</xsl:if>
-               <xsl:if test="$mhsParamCNT_  &lt;= 10">2</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="mdr_othr_col_">
-               <xsl:if test="$mhsParamCNT_  &gt;  10">2</xsl:if>
-               <xsl:if test="$mhsParamCNT_  &lt;= 10">1</xsl:if>
-       </xsl:variable>
-       
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="5" cellspacing="1" cellpadding="1" border="1">
-               <TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">General</SPAN></TD>
-               <TR></TR>
-               <TD COLSPAN="2" WIDTH="40%" align="middle"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IP Core</SPAN></TD>
-               <TD COLSPAN="3" WIDTH="60%" align="middle"  bgcolor="{$DS_COL_WHITE}">
-                       <xsl:if test="@DOC_IP">
-                               <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 10px Verdana,Arial,Helvetica,sans-serif">
-                                       <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"><xsl:value-of select="@MODTYPE"/></A>
-                               </SPAN>
-                       </xsl:if>
-                       <xsl:if test="not(@DOC_IP)">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">
-                                       <xsl:value-of select="@MODTYPE"/>
-                               </SPAN>
-                       </xsl:if>
-               </TD>
-               
-               <TR></TR>       
-               
-               <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Version</SPAN></TD>
-               <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@HWVERSION"/></SPAN></TD>
-               
-               <xsl:if test="@DOC_DRIVER">
-                       <TR></TR>       
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Driver</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 10px Verdana,Arial,Helvetica,sans-serif">
-                                       <A HREF="{@DOC_DRIVER}" style="text-decoration:none; color:{$DS_COL_XPRP}">API</A>
-                               </SPAN>
-                       </TD>   
-               </xsl:if>       
-               
-               <TR></TR>       
-               
-               <xsl:if test="LICENSEINFO">
-                       <TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">License</SPAN></TD>
-                       
-                       <TR></TR>
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">TYPE</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@TYPE"/></SPAN>
-                       </TD>   
-<!--                   
-                       <TR></TR>
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">CURRENT STATUS</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@STATE"/></SPAN>
-                       </TD>   
--->                    
-                       <xsl:if test="LICENSEINFO/@EXPIRESON">
-                               <TR></TR>
-                               <TD COLSPAN="2" WIDTH="40%" align="middle"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">EXPIRES ON</SPAN></TD>
-                               <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@EXPIRESON"/></SPAN>
-                               </TD>   
-                       </xsl:if>
-               </xsl:if>       
-               
-               <xsl:if test="$mhsParamCNT_ &gt; 0">
-               <TR></TR>       
-               <TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Parameters</SPAN></TD>
-                       <TR></TR>
-                       <TD COLSPAN="5" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       These are parameters set for this module.
-                                       <xsl:if test="@DOC_IP">
-                                                Refer to the IP <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_XPRP}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif"> documentation </SPAN></A>for complete information about module parameters.
-                                       </xsl:if>
-                               </SPAN>
-                               <BR></BR>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                               Parameters marked with 
-                               </SPAN>
-                               <SPAN style="color:#FFBB00; font: bold 9px Verdana,Arial,Helvetica,sans-serif">yellow</SPAN>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       indicate parameters set by the user.
-                               </SPAN>
-                               <BR></BR>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                               Parameters marked with 
-                               </SPAN>
-                               <SPAN style="color:{$DS_COL_MODSYSNW}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">blue</SPAN>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       indicate parameters set by the system.
-                               </SPAN>
-                       </TD>
-                       
-               <xsl:if test="$mhsParamCNT_ &lt;= 10">
-                       <TR></TR>       
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
-               
-                       <xsl:for-each select="PARAMETER">
-                               <xsl:sort select="@INDEX" data-type="number"/>
-                                       <xsl:variable name="name_bg_col_">
-                                               <xsl:choose>
-                                                       
-                                                       <xsl:when test="@CHANGEDBY='USER'">
-                                                               <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                       </xsl:when>             
-                                                               
-                                                       <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                               <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                       </xsl:when>             
-                                                       
-                                                       <xsl:when test="((position() - 1) mod 2) = 0">
-                                                               <xsl:value-of select="$DS_COL_ASH1"/>
-                                                       </xsl:when>             
-                                                       
-                                                       <xsl:otherwise>
-                                                               <xsl:value-of select="$DS_COL_WHITE"/>
-                                                       </xsl:otherwise>                
-                                               </xsl:choose>   
-                                       </xsl:variable>
-                                               
-                                       <xsl:variable name="value_bg_col_">
-                                               <xsl:choose>
-                                                       
-                                                       <xsl:when test="@CHANGEDBY='USER'">
-                                                               <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                       </xsl:when>             
-                                                               
-                                                       <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                               <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                       </xsl:when>     
-                                                       
-                                                       <xsl:when test="((position() - 1) mod 2) = 0">
-                                                               <xsl:value-of select="$DS_COL_ASH1"/>
-                                                       </xsl:when>             
-                                                       
-                                                       <xsl:otherwise>
-                                                               <xsl:value-of select="$DS_COL_WHITE"/>
-                                                       </xsl:otherwise>                
-                                                               
-                                               </xsl:choose>   
-                                       </xsl:variable>
-                                               
-                               <TR></TR>       
-                               <TD COLSPAN="2" WIDTH="40%" align="left"   bgcolor="{$name_bg_col_}">
-                                       <SPAN style="color:{$DS_COL_BLACK};  font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@NAME"/>
-                                       </SPAN>
-                                       <xsl:if test="DESCRIPTION">
-                                               <BR/>
-                                               <SPAN style="color:{$DS_COL_BLACK};  font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="DESCRIPTION"/>
-                                               </SPAN>
-                                       </xsl:if>       
-                               </TD>
-                               <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
-                       </xsl:for-each>
-       </xsl:if>                       
-       
-       <xsl:if test="$mhsParamCNT_ &gt; 10">
-       <TR></TR>       
-       <TD COLSPAN="5" WIDTH="100%">
-       <TABLE BGCOLOR="{$DS_COL_GREY}" WIDTH="100%" COLS="5" cellspacing="0" cellpadding="0" border="0">
-               
-               <TD COLSPAN="2" WIDTH="49%">
-                       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="2" cellspacing="1" cellpadding="0" border="0">
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
-                               
-                               <xsl:for-each select="PARAMETER">
-                                       <xsl:sort select="@INDEX" data-type="number"/>
-                                       <xsl:if test="position() &lt;= $num_left_">     
-                                               
-                                               <xsl:variable name="name_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                               
-                                               <xsl:variable name="value_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                               
-                                       <TR></TR>       
-                                       <TD COLSPAN="1" WIDTH="50%" align="left"   bgcolor="{$name_bg_col_}">
-                                               <SPAN style="color:{$DS_COL_BLACK};  font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@NAME"/>
-                                               </SPAN>
-                                               <xsl:if test="DESCRIPTION">
-                                                       <BR/>
-                                                       <SPAN style="color:{$DS_COL_BLACK};  font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
-                                                               <xsl:value-of select="DESCRIPTION"/>
-                                                       </SPAN>
-                                               </xsl:if>       
-                                       </TD>
-                                       <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
-                               </xsl:if>
-                       </xsl:for-each>
-                       </TABLE>
-               </TD> 
-       
-               <TD COLSPAN="1" WIDTH="2%">
-                       <TABLE BGCOLOR="{$DS_COL_GREY}"  WIDTH="100%" COLS="1" cellspacing="0" cellpadding="0" border="0">
-                               <TD COLSPAN="1" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN></TD>
-                       </TABLE>
-               </TD> 
-       
-               <TD COLSPAN="2" WIDTH="49%">
-                       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="2" cellspacing="1" cellpadding="0" border="0">
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
-                               <xsl:for-each select="PARAMETER">
-                                       <xsl:sort select="@INDEX" data-type="number"/>
-                                       <xsl:if test="position() &gt; $num_left_">      
-                                               
-                                               <xsl:variable name="name_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - $num_left_ - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                               
-                                               <xsl:variable name="value_bg_col_">
-                                                       <xsl:choose>
-                                                       
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - $num_left_ - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                       <TR></TR>       
-                                       <TD COLSPAN="1" WIDTH="50%" align="left"   bgcolor="{$name_bg_col_}">
-                                               <SPAN style="color:{$DS_COL_BLACK};  font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@NAME"/>
-                                               </SPAN>
-                                               <xsl:if test="DESCRIPTION">
-                                                       <BR/>
-                                                       <SPAN style="color:{$DS_COL_BLACK};  font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
-                                                               <xsl:value-of select="DESCRIPTION"/>
-                                                       </SPAN>
-                                               </xsl:if>       
-                                       </TD>
-                                       <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
-                                       
-                               </xsl:if>
-                       </xsl:for-each>
-                       
-                       <xsl:if test="$left_extra_ &gt; 0">
-                               <TR></TR>       
-                               <TD COLSPAN="2" WIDTH="100%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN></TD>
-                       </xsl:if>
-                       
-                       </TABLE>
-               </TD> 
-               
-       </TABLE>
-       </TD>   
-       </xsl:if>                       
-       </xsl:if>
-       </TABLE>
-<!--   
-               <BR></BR>       
--->            
-               <xsl:if test="(@MODCLASS = 'PROCESSOR') and MEMORYMAP">
-<!--                   
-                       <xsl:message>Found a memory map</xsl:message>
--->                    
-                       <xsl:call-template name="Layout_MemoryMap">
-                               <xsl:with-param name="table_width" select="$table_width_"/>
-                       </xsl:call-template>    
-               </xsl:if>
-<!--           
-               <BR></BR>
--->    
-               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="5" cellspacing="1" cellpadding="1" border="0">
-               <TD width="100%" COLSPAN="5" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Post Synthesis Device Utilization</SPAN></TD>
-               <xsl:choose>
-                       <xsl:when test="not(RESOURCES)">
-                               <TR></TR>
-                               <TD width="100%" COLSPAN="5" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       Device utilization information is not available for this IP. Run platgen to generate synthesis information.
-                               </SPAN>
-                               </TD>
-                       </xsl:when>     
-                       <xsl:otherwise>
-                               <TR></TR>
-                               <TD COLSPAN="2" width="55%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Resource Type</SPAN></TD>
-                               <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Used</SPAN></TD>
-                               <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Available</SPAN></TD>
-                               <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Percent</SPAN></TD>
-                               
-                               <xsl:for-each select="RESOURCES/RESOURCE">
-                                       <TR></TR>       
-                                       <TD COLSPAN="2" width="55%" align="left"   bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TYPE"/></SPAN></TD>
-                                       <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@USED"/></SPAN></TD>
-                                       <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TOTAL"/></SPAN></TD>
-                                       <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PERCENT"/></SPAN></TD>
-                               </xsl:for-each>
-                       </xsl:otherwise>
-               </xsl:choose>
-<!--           
-           <BR></BR>   
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"></SPAN></TD>
--->            
-       </TABLE>
-
-</xsl:template>
-
-<!-- Layout the Module's Port list table -->
-<xsl:template name="Peri_PortListTable">
-
-       
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{ceiling($DS_WIDTH div 2)}" COLS="7" cellspacing="1" cellpadding="1" border="0">
-               <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">PORT LIST</SPAN></TH>
-               <TR></TR>       
-               <TH COLSPAN="7" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               The ports listed here are only those connected in the MHS file. 
-                               <xsl:if test="@DOC_IP">
-                                       Refer to the IP <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"> <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif"> documentation </SPAN> </A>for complete information about module ports.
-                               </xsl:if>
-                       </SPAN>
-               </TH>
-               <TR></TR>
-               <TH COLSPAN="1" width="5%"  align="left"   bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TH>
-               <TH COLSPAN="2" width="25%" align="left"   bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TH>
-               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TH>
-               <TH COLSPAN="2" width="50%" align="left"   bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIGNAL</SPAN></TH>
-               <xsl:for-each select="PORT[(not(@SIGNAME = '__NOC__') and not(@SIGNAME = '__DEF__') and (@INMHS))]">
-                       <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-                       <TR></TR>       
-                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK};   font: normal 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN></TD>
-                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK};   font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                       <TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
-                       
-                       <xsl:if test="@MSB and @LSB">
-                               <TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
-                       </xsl:if>                       
-                       <xsl:if test="not(@MSB and @LSB)">
-                               <TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-                       </xsl:if>                       
-                       
-                       <TD COLSPAN="2" width="50%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
-               </xsl:for-each>
-               
-               <xsl:if test="BUSINTERFACE">
-                       <xsl:variable name="instance_"><xsl:value-of select="@INSTANCE"/></xsl:variable>
-                       <TR></TR>
-                       <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
-                               <SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Bus Interfaces</SPAN>
-                       </TH>   
-                       <TR></TR>
-                       
-                       <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MASTERSHIP</SPAN></TH>
-                       <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">STD</SPAN></TH>
-                       <TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BUS</SPAN></TH>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">P2P</SPAN></TH>
-                       <xsl:for-each select="BUSINTERFACE[(not(@BUSNAME = '__NOC__') and not(@BUSNAME = '__DEF__'))]">
-                       <xsl:sort select="@BIFRANK"/>
-                                       
-                               <xsl:variable name="busname_"><xsl:value-of select="@BUSNAME"/></xsl:variable>
-                                       
-                               <xsl:variable name="p2pname_">
-                                       <xsl:choose>
-                                               <xsl:when test="(@BUSSTD and not((@BUSSTD='PLB') or (@BUSSTD='OPB')) or (@BIFRANK='TRANSPARENT'))">
-                                                       <xsl:value-of select="../../MODULE[not(@INSTANCE = $instance_) and BUSINTERFACE[(@BUSNAME = $busname_)]]/@INSTANCE"/>
-                                               </xsl:when>
-                                               <xsl:when test="not(@BUSSTD) or (@BUSSTD='OPB') or (@BUSSTD='PLB') or (@BIFRANK='TRANSPARENT')">NA</xsl:when>
-                                  </xsl:choose>
-                               </xsl:variable>                                 
-                               
-                               <xsl:variable name="bus_std_">
-                                       <xsl:if test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>
-                                       </xsl:if>
-                                       <xsl:if test="not(@BUSSTD)">NA</xsl:if>
-                               </xsl:variable>                                 
-                               
-                               
-                               <TR></TR>
-                               <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BIFRANK"/></SPAN></TH>
-                               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TH>
-                               <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$bus_std_"/></SPAN></TH>
-                               <xsl:if test="$bus_std_ = 'NA'">
-                                       <TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BUSNAME"/></SPAN></TH>
-                               </xsl:if>       
-                               <xsl:if test="not($bus_std_ = 'NA')">
-                                       <TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{@BUSNAME}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BUSNAME"/></SPAN></A></TH>
-                               </xsl:if>       
-                               <xsl:if test="$p2pname_ = 'NA'">
-                                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$p2pname_"/></SPAN></TH>
-                               </xsl:if>
-                               <xsl:if test="not($p2pname_ = 'NA')">
-                                   <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{$p2pname_}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$p2pname_"/></SPAN></A></TH>
-                               </xsl:if>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="@MODCLASS='BUS'">
-                       <xsl:variable name="instance_"><xsl:value-of select="@INSTANCE"/></xsl:variable>
-                       <TR></TR>
-                       <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Bus Connections</SPAN></TH> 
-                       <TR></TR>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">TYPE</SPAN></TH>
-                       <TH COLSPAN="5" width="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BIF</SPAN></TH>
-                       <xsl:for-each select="../MODULE/BUSINTERFACE[(@BUSNAME = $instance_)]">
-                               <xsl:sort select="@BIFRANK"/>
-                               <xsl:variable name="buscName_"><xsl:value-of select="../@INSTANCE"/></xsl:variable>
-                               <TR></TR>
-                               <TD COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BIFRANK"/></SPAN></TD>
-                               <TD COLSPAN="5" width="50%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{$buscName_}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$buscName_"/></SPAN></A></TD>
-                               <TD COLSPAN="1" width="25%" align="left"   bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="INTERRUPTSRCS">
-                       <TR></TR>
-                       <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
-                               <SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Interrupt Priorities</SPAN>
-                               <TR></TR>
-                               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Priority</SPAN></TH>
-                               <TH COLSPAN="3" width="55%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TH>
-                               <TH COLSPAN="3" width="35%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TH>
-                               <TR></TR>
-                               <xsl:for-each select="INTERRUPTSRCS/INTRSRC">
-                               <xsl:sort data-type="number" select="@PRIORITY" order="ascending"/>
-                               
-                                       <xsl:variable name="intrsrc_"><xsl:value-of select="@SIGNAME"/></xsl:variable>
-                                       <xsl:variable name="intrpri_"><xsl:value-of select="@PRIORITY"/></xsl:variable>
-                                       
-                                       <xsl:for-each select="../../../MODULE[PORT[((@DIR='O') and (@SIGNAME = $intrsrc_))]]">
-                                               <TR></TR>
-                                               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$intrpri_"/></SPAN></TH>
-                                               <TH COLSPAN="3" width="55%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$intrsrc_"/></SPAN></TH>
-                                               <TH COLSPAN="3" width="35%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN></A></TH>
-                                       </xsl:for-each>
-                               </xsl:for-each>
-                       </TH>
-               </xsl:if>
-               
-       </TABLE>        
-       
-</xsl:template>
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl
deleted file mode 100644 (file)
index 96e9f0c..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE stylesheet [
-       <!ENTITY HEXUPPER "ABCDEFxx0123456789">
-       <!ENTITY HEXLOWER "abcdefxX0123456789">
-       <!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
-]>     
-<!--
--->
-
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-                       
-<!-- ======================= MAIN MEMORY MAP SECTION =============================== -->
-<xsl:template name="Layout_MemoryMap">
-<xsl:param name="table_width" select="600"/>
-
-<xsl:variable name="procName" select="@INSTANCE"/>
-<!--
-<BR></BR>
-<BR></BR>
--->
-       <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-               
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width}" COLS="5" cellspacing="1" cellpadding="2" border="0">
-               <TR></TR>       
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
-                       <A name="_{@INSTANCE}_MemoryMap"/>
-                       <SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MEMORY MAP</SPAN>
-               </TD>
-               <TR></TR>
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_INFO}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">D=DATA ADDRESSABLE &#160;&#160; I=INSTRUCTION ADDRESSABLE</SPAN></TD>
-               <TR></TR>
-               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">D</SPAN></TD>
-               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-               <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BASE</SPAN></TD>
-               <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">HIGH</SPAN></TD>
-               <TD COLSPAN="1" width="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TD>
-               <TR></TR>
-               
-               <xsl:for-each select="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-                       <xsl:sort data-type="number" select="@BASEVALUE" order="ascending"/>
-                       <TR></TR>
-                               <xsl:variable name="isdata">
-                                       <xsl:if test="@IS_DATA='TRUE'">&#9632;</xsl:if> 
-                                       <xsl:if test="not(@IS_DATA='TRUE')">&#160;</xsl:if>     
-                               </xsl:variable>
-                       
-                       <xsl:variable name="isinst">
-                               <xsl:if test="@IS_INSTRUCTION='TRUE'">
-                                       &#9632;
-                               </xsl:if>       
-                               <xsl:if test="not(@IS_INSTRUCTION='TRUE')">
-                                       &#160;
-                               </xsl:if>       
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bupper" select ="@BASE"/>
-                       <xsl:variable name="hupper" select ="@HIGH"/>
-                       <xsl:variable name="iname"  select ="@INSTANCE"/>
-                       <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,sans-serif"><xsl:value-of select="$isdata"/></SPAN></TD>
-                       <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,sans-serif"><xsl:value-of select="$isinst"/></SPAN></TD>
-                       <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="translate($bupper,&HEXU2L;)"/></SPAN></TD>
-                       <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="translate($hupper,&HEXU2L;)"/></SPAN></TD>
-                       <TD COLSPAN="1" width="50%" align="right"  bgcolor="{$DS_COL_WHITE}">
-                               <A HREF="#_{$iname}" style="text-decoration:none">
-                               <SPAN style="color:{$DS_COL_BLACK}; vertical-align:sub; font: normal 8px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></SPAN><SPAN style="color:{$DS_COL_XPRP}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN>
-                               </A>
-                       </TD>
-               </xsl:for-each>
-       </TABLE>                        
-       </xsl:if>
-</xsl:template>
-
-<xsl:template name="FindCorrectLocation">
-       <xsl:param name="ranges"/>
-       <xsl:param name="location"/>
-       <xsl:param name="instname"/>
-       
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl
deleted file mode 100644 (file)
index 862b710..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:template name="Write_TOCTree">
-<HTML>
-<HEAD>
-<TITLE>Table of Contents</TITLE>
-       
-       <BASE target="{$DS_FRAME_MAIN}"></BASE>
-       
-       <!--specify a css for the TOC -->
-       <link   rel="stylesheet"      href="ds_Report.css" type="text/css"></link>
-       
-       <!--specify the javascript for the TOC-->
-       <script src="ds_Report.js" type="text/javascript"></script>
-</HEAD>        
-
-       <!--Layout Table of contents   -->
-       <BODY class="main_body">
-               <xsl:call-template name="Layout_TOCTree"/>
-       </BODY>         
-       
-</HTML>
-</xsl:template>
-
-       
-<!-- ======================= LAYOUT TABLE OF CONTENTS ====================================== -->
-<xsl:template name="Layout_TOCTree">
-       
-<xsl:variable name="toc_col_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_COL_LGRY"/>   
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_COL_WHITE"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_width_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_WIDTH"/>      
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_TOC_WIDTH"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_target_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_FRAME_SELF"/> 
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_FRAME_MAIN"/> 
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="trg_html_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="''"/>     
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_HTML_MAIN"/>  
-       </xsl:if>
-</xsl:variable>
-       
-       
-<A name="_TOC"/>
-<TABLE BGCOLOR="{$toc_col_}" WIDTH="{$toc_width_}" COLS="2" cellspacing="0" cellpadding="3" border="0">
-
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <TH COLSPAN="2" width="100%" align="middle"><SPAN style="color:{$DS_COL_XPRP}; font: bold 20px Arial,Helvetica,sans-serif">TABLE OF CONTENTS</SPAN></TH>
-       </xsl:if>
-       
-       <TR></TR>
-       <TD COLSPAN="1" width="40%" align="left">
-               <BR></BR>
-               <A HREF="{$trg_html_}#_Overview" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Overview</SPAN></A>
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_BlockDiagram" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Block Diagram</SPAN></A>
-               
-               <BR></BR>
-               <A HREF="{$trg_html_}#_ExternalPorts" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">External Ports</SPAN></A>
-               
-               <BR></BR>
-               <xsl:variable name="proc_CNT" select="count(MODULES/MODULE[(@MODCLASS = 'PROCESSOR')])"/>
-               
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
-               <DIV class="trigger" onClick="showBranch('Processors'); swapBranchImg('BranchImg_Processors');">
-                       <xsl:if test="$proc_CNT &gt; 1">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processors&#160;</SPAN>
-                       </xsl:if>       
-                       <xsl:if test="not($proc_CNT &gt; 1)">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processor&#160;</SPAN>
-                       </xsl:if>       
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Processors"></IMG>  
-               </DIV>
-               
-               <SPAN class="branch" id="Processors">           
-                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
-                               <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-                                       <A HREF="{$trg_html_}#_{@INSTANCE}_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;memory map</SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                               </xsl:if>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-               <DIV class="trigger" onClick="showBranch('Debuggers'); swapBranchImg('BranchImg_Debugger');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Debuggers&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Debugger"></IMG>    
-               </DIV>          
-               
-               <SPAN class="branch" id="Debuggers">            
-                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-               <DIV class="trigger" onClick="showBranch('Interrupts'); swapBranchImg('BranchImg_Interrupts');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Interrupt Controllers&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Interrupts"></IMG>  
-               </DIV>
-               
-               <SPAN class="branch" id="Interrupts">           
-                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-               <DIV class="trigger" onClick="showBranch('Busses'); swapBranchImg('BranchImg_Busses');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Busses&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Busses"></IMG>      
-               </DIV>          
-                       
-               <SPAN class="branch" id="Busses">               
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-               <DIV class="trigger" onClick="showBranch('Bridges'); swapBranchImg('BranchImg_Bridges');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Bridges&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Bridges"></IMG>     
-               </DIV>  
-               <SPAN class="branch" id="Bridges">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY']">
-               <DIV class="trigger" onClick="showBranch('Memory'); swapBranchImg('BranchImg_Memory');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Memory"></IMG>      
-               </DIV>          
-               <SPAN class="branch" id="Memory">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY_CNTLR']">
-               <DIV class="trigger" onClick="showBranch('MemoryCntlr'); swapBranchImg('BranchImg_MemoryCntlr');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Controllers&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_MemoryCntlr"></IMG> 
-               </DIV>          
-               <SPAN class="branch" id="MemoryCntlr">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY_CNTLR']">
-                       <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-               <DIV class="trigger" onClick="showBranch('Peripheral'); swapBranchImg('BranchImg_Peripheral');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Peripherals&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Peripheral"></IMG>  
-               </DIV>  
-               <SPAN class="branch" id="Peripheral">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='IP']">
-               <DIV class="trigger" onClick="showBranch('IP'); swapBranchImg('BranchImg_IP');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">IP&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_IP"></IMG>  
-               </DIV>
-               <SPAN class="branch" id="IP">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='IP']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>                       
-               
-               <A HREF="{$trg_html_}#_TimingInfo" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Timing Information</SPAN></A><BR></BR>
-<!--           
--->    
-
-       </TD>
-       
-</TABLE>
-</xsl:template>
-
-</xsl:stylesheet>
-<!-- ======================= END LAYOUT TABLE OF CONTENT TREE =================================== -->
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd
deleted file mode 100644 (file)
index 110f5ce..0000000
+++ /dev/null
@@ -1,1704 +0,0 @@
-<!-- =====================================================================
-  This is the DTD for SVG 1.0.
-
-  The specification for SVG that corresponds to this DTD is available at:
-
-    http://www.w3.org/TR/2001/REC-SVG-20010904/
-
-  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
-
-  For SVG 1.0:
-
-    Namespace:
-      http://www.w3.org/2000/svg  
-
-    Public identifier:
-      PUBLIC "-//W3C//DTD SVG 1.0//EN"
-
-    URI for the DTD:
-      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
-============================================================================= -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Data types 
-     ============================================================== -->
-
-<!ENTITY % BaselineShiftValue "CDATA">
-    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->
-
-<!ENTITY % Boolean "(false | true)">
-    <!-- feature specification -->
-
-<!ENTITY % ClassList "CDATA">
-    <!-- list of classes -->
-
-<!ENTITY % ClipValue "CDATA">
-    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
-
-<!ENTITY % ClipPathValue "CDATA">
-    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
-    <!-- 'clip-rule' or fill-rule property/attribute value -->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % Coordinate "CDATA">
-    <!-- a <coordinate> -->
-
-<!ENTITY % Coordinates "CDATA">
-    <!-- a list of <coordinate>s -->
-
-<!ENTITY % Color "CDATA">
-    <!-- a <color> value -->
-
-<!ENTITY % CursorValue "CDATA">
-    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
-
-<!ENTITY % EnableBackgroundValue "CDATA">
-    <!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->
-
-<!ENTITY % ExtensionList "CDATA">
-    <!-- extension list specification -->
-
-<!ENTITY % FeatureList "CDATA">
-    <!-- feature list specification -->
-
-<!ENTITY % FilterValue "CDATA">
-    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % FontFamilyValue "CDATA">
-    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
-
-<!ENTITY % FontSizeValue "CDATA">
-    <!-- 'font-size' property/attribute value -->
-
-<!ENTITY % FontSizeAdjustValue "CDATA">
-    <!-- 'font-size-adjust' property/attribute value -->
-
-<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
-    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->
-
-<!ENTITY % GlyphOrientationVerticalValue "CDATA">
-    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->
-
-<!ENTITY % Integer "CDATA">
-    <!-- a <integer> -->
-
-<!ENTITY % KerningValue "CDATA">
-    <!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % LanguageCodes "CDATA">
-    <!-- comma-separated list of language codes, as per [RFC3066] -->
-
-<!ENTITY % Length "CDATA">
-    <!-- a <length> -->
-
-<!ENTITY % Lengths "CDATA">
-    <!-- a list of <length>s -->
-
-<!ENTITY % LinkTarget "NMTOKEN">
-    <!-- link to this target -->
-
-<!ENTITY % MarkerValue "CDATA">
-    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MaskValue "CDATA">
-    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- comma-separated list of media descriptors. -->
-
-<!ENTITY % Number "CDATA">
-    <!-- a <number> -->
-
-<!ENTITY % NumberOptionalNumber "CDATA">
-    <!-- list of <number>s, but at least one and at most two -->
-
-<!ENTITY % NumberOrPercentage "CDATA">
-    <!-- a <number> or a  <percentage> -->
-
-<!ENTITY % Numbers "CDATA">
-    <!-- a list of <number>s -->
-
-<!ENTITY % OpacityValue "CDATA">
-    <!-- opacity value (e.g., <number>) -->
-
-<!ENTITY % Paint "CDATA">
-    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
-
-<!ENTITY % PathData "CDATA">
-    <!-- a path data specification -->
-
-<!ENTITY % Points "CDATA">
-    <!-- a list of points -->
-
-<!ENTITY % PreserveAspectRatioSpec "CDATA">
-    <!-- 'preserveAspectRatio' attribute specification -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % SpacingValue "CDATA">
-    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) -->
-
-<!ENTITY % StrokeDashArrayValue "CDATA">
-    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->
-
-<!ENTITY % StrokeDashOffsetValue "CDATA">
-    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->
-
-<!ENTITY % StrokeMiterLimitValue "CDATA">
-    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
-
-<!ENTITY % StrokeWidthValue "CDATA">
-    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
-
-<!ENTITY % StructuredText
-  "content CDATA #FIXED 'structured text'" >
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % SVGColor "CDATA">
-    <!-- An SVG color value (RGB plus optional ICC) -->
-
-<!ENTITY % Text "CDATA">
-    <!-- arbitrary text string -->
-
-<!ENTITY % TextDecorationValue "CDATA">
-    <!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->
-
-<!ENTITY % TransformList "CDATA">
-    <!-- list of transforms -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [URI] -->
-
-<!ENTITY % ViewBoxSpec "CDATA">
-    <!-- 'viewBox' attribute specification -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of common attributes 
-     ============================================================== -->
-
-<!-- All elements have an ID. -->
-<!ENTITY % stdAttrs
- "id ID #IMPLIED
-  xml:base %URI; #IMPLIED" >
-
-<!-- Common attributes for elements that might contain character data content. -->
-<!ENTITY % langSpaceAttrs
- "xml:lang %LanguageCode; #IMPLIED
-  xml:space (default|preserve) #IMPLIED" >
-
-<!-- Common attributes to check for system capabilities. -->
-<!ENTITY % testAttrs
- "requiredFeatures %FeatureList; #IMPLIED
-  requiredExtensions %ExtensionList; #IMPLIED
-  systemLanguage %LanguageCodes; #IMPLIED" >
-
-<!-- For most uses of URI referencing:
-        standard XLink attributes other than xlink:href. -->
-<!ENTITY % xlinkRefAttrs
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (other) 'other'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->
-<!ENTITY % xlinkRefAttrsEmbed
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (embed) 'embed'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!ENTITY % graphicsElementEvents
-  "onfocusin %Script; #IMPLIED
-   onfocusout %Script; #IMPLIED
-   onactivate %Script; #IMPLIED
-   onclick %Script; #IMPLIED
-   onmousedown %Script; #IMPLIED
-   onmouseup %Script; #IMPLIED
-   onmouseover %Script; #IMPLIED
-   onmousemove %Script; #IMPLIED
-   onmouseout %Script; #IMPLIED
-   onload %Script; #IMPLIED" >
-
-<!ENTITY % documentEvents
-  "onunload %Script; #IMPLIED
-   onabort %Script; #IMPLIED
-   onerror %Script; #IMPLIED
-   onresize %Script; #IMPLIED
-   onscroll %Script; #IMPLIED
-   onzoom %Script; #IMPLIED" >
-
-<!ENTITY % animationEvents
-  "onbegin %Script; #IMPLIED
-   onend %Script; #IMPLIED
-   onrepeat %Script; #IMPLIED" >
-
-<!-- This entity allows for at most one of desc, title and metadata,
-     supplied in any order -->
-<!ENTITY % descTitleMetadata
-          "(((desc,((title,metadata?)|(metadata,title?))?)|
-          (title,((desc,metadata?)|(metadata,desc?))?)|
-          (metadata,((desc,title?)|(title,desc?))?))?)" >
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of presentation attributes 
-     ============================================================== -->
-
-<!-- The following presentation attributes have to do with specifying color. -->
-<!ENTITY % PresentationAttributes-Color
-  "color %Color; #IMPLIED
-   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
-   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to container elements. -->
-<!ENTITY % PresentationAttributes-Containers
-  "enable-background %EnableBackgroundValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'feFlood' elements. -->
-<!ENTITY % PresentationAttributes-feFlood
-  "flood-color %SVGColor; #IMPLIED
-   flood-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filling and stroking operations. -->
-<!ENTITY % PresentationAttributes-FillStroke
-  "fill %Paint; #IMPLIED
-   fill-opacity %OpacityValue; #IMPLIED
-   fill-rule %ClipFillRule; #IMPLIED
-   stroke %Paint; #IMPLIED
-   stroke-dasharray %StrokeDashArrayValue; #IMPLIED
-   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
-   stroke-linecap (butt | round | square | inherit) #IMPLIED
-   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
-   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
-   stroke-opacity %OpacityValue; #IMPLIED
-   stroke-width %StrokeWidthValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filter primitives. -->
-<!ENTITY % PresentationAttributes-FilterPrimitives
-  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes have to do with selecting a font to use. -->
-<!ENTITY % PresentationAttributes-FontSpecification
-  "font-family %FontFamilyValue; #IMPLIED
-   font-size %FontSizeValue; #IMPLIED
-   font-size-adjust %FontSizeAdjustValue; #IMPLIED
-   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |
-                 condensed | semi-condensed | semi-expanded | expanded |
-                 extra-expanded | ultra-expanded | inherit) #IMPLIED
-   font-style (normal | italic | oblique | inherit) #IMPLIED
-   font-variant (normal | small-caps | inherit) #IMPLIED
-   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
-               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to gradient 'stop' elements. -->
-<!ENTITY % PresentationAttributes-Gradients
-  "stop-color %SVGColor; #IMPLIED
-   stop-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to graphics elements. -->
-<!ENTITY % PresentationAttributes-Graphics
-  "clip-path %ClipPathValue; #IMPLIED
-   clip-rule %ClipFillRule; #IMPLIED
-   cursor %CursorValue; #IMPLIED
-   display (inline | block | list-item | run-in | compact | marker |
-            table | inline-table | table-row-group | table-header-group |
-            table-footer-group | table-row | table-column-group | table-column |
-            table-cell | table-caption | none | inherit) #IMPLIED
-   filter %FilterValue; #IMPLIED
-   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
-   mask %MaskValue; #IMPLIED
-   opacity %OpacityValue; #IMPLIED
-   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
-                   painted | fill | stroke | all | none | inherit) #IMPLIED
-   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED
-   text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED
-   visibility (visible | hidden | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'image' elements. -->
-<!ENTITY % PresentationAttributes-Images
-  "color-profile CDATA #IMPLIED " >
-
-<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->
-<!ENTITY % PresentationAttributes-LightingEffects
-  "lighting-color %SVGColor; #IMPLIED " >
-
-<!-- The following presentation attributes apply to marker operations. -->
-<!ENTITY % PresentationAttributes-Markers
-  "marker-start %MarkerValue; #IMPLIED
-   marker-mid %MarkerValue; #IMPLIED
-   marker-end %MarkerValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to text content elements. -->
-<!ENTITY % PresentationAttributes-TextContentElements
-  "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |
-                        middle | bottom | after-edge | text-bottom | text-after-edge |
-                        ideographic | lower | hanging | mathematical | inherit) #IMPLIED
-   baseline-shift %BaselineShiftValue; #IMPLIED
-   direction (ltr | rtl | inherit) #IMPLIED
-   dominant-baseline (auto | autosense-script | no-change | reset|
-                      ideographic | lower | hanging | mathematical | inherit ) #IMPLIED
-   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
-   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
-   kerning %KerningValue; #IMPLIED
-   letter-spacing %SpacingValue; #IMPLIED
-   text-anchor (start | middle | end | inherit) #IMPLIED
-   text-decoration %TextDecorationValue; #IMPLIED
-   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
-   word-spacing %SpacingValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'text' elements. -->
-<!ENTITY % PresentationAttributes-TextElements
-  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to elements that establish viewports. -->
-<!ENTITY % PresentationAttributes-Viewports
-  "clip %ClipValue; #IMPLIED
-   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
-
-<!--The following represents the complete list of presentation attributes. -->
-<!ENTITY % PresentationAttributes-All
-  "%PresentationAttributes-Color;
-   %PresentationAttributes-Containers;
-   %PresentationAttributes-feFlood;
-   %PresentationAttributes-FillStroke;
-   %PresentationAttributes-FilterPrimitives;
-   %PresentationAttributes-FontSpecification;
-   %PresentationAttributes-Gradients;
-   %PresentationAttributes-Graphics;
-   %PresentationAttributes-Images;
-   %PresentationAttributes-LightingEffects;
-   %PresentationAttributes-Markers;
-   %PresentationAttributes-TextContentElements;
-   %PresentationAttributes-TextElements;
-   %PresentationAttributes-Viewports;" >
-
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: DTD extensions 
-     ============================================================== -->
-
-<!-- Allow for extending the DTD with internal subset for 
-     container and graphics elements -->
-<!ENTITY % ceExt "" >
-<!ENTITY % geExt "" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Document Structure 
-     ============================================================== -->
-
-<!ENTITY % svgExt "" >
-<!ELEMENT svg (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%svgExt;)* >
-<!ATTLIST svg
-  xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED 
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify'
-  %graphicsElementEvents;
-  %documentEvents;
-  version %Number; #FIXED "1.0"
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  contentScriptType %ContentType; "text/ecmascript"
-  contentStyleType %ContentType; "text/css" >
-
-<!ENTITY % gExt "" >
-<!ELEMENT g (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%gExt;)* >
-<!ATTLIST g
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % defsExt "" >
-<!ELEMENT defs (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%defsExt;)* >
-<!ATTLIST defs
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % descExt "" >
-<!ELEMENT desc (#PCDATA %descExt;)* >
-<!ATTLIST desc
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % titleExt "" >
-<!ELEMENT title (#PCDATA %titleExt;)* >
-<!ATTLIST title
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % symbolExt "" >
-<!ELEMENT symbol (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%symbolExt;)* >
-<!ATTLIST symbol
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents; >
-
-<!ENTITY % useExt "" >
-<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%useExt;)*) >
-<!ATTLIST use
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-<!ENTITY % imageExt "" >
-<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%imageExt;)*) >
-<!ATTLIST image
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Images;
-  %PresentationAttributes-Viewports;
-  transform %TransformList; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED >
-
-<!ENTITY % switchExt "" >
-<!ELEMENT switch (%descTitleMetadata;,
-                  (path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|switch|a|foreignObject|
-                   animate|set|animateMotion|animateColor|animateTransform
-                   %ceExt;%switchExt;)*) >
-<!ATTLIST switch
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Styling 
-     ============================================================== -->
-
-<!ELEMENT style (#PCDATA) >
-<!ATTLIST style 
-  %stdAttrs;
-  xml:space (preserve) #FIXED "preserve"
-  type %ContentType; #REQUIRED
-  media %MediaDesc; #IMPLIED
-  title %Text; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Paths
-     ============================================================== -->
-
-<!ENTITY % pathExt "" >
-<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%pathExt;)*) >
-<!ATTLIST path
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  d %PathData; #REQUIRED
-  pathLength %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Basic Shapes
-     ============================================================== -->
-
-<!ENTITY % rectExt "" >
-<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%rectExt;)*) >
-<!ATTLIST rect
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  rx %Length; #IMPLIED
-  ry %Length; #IMPLIED >
-
-<!ENTITY % circleExt "" >
-<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%circleExt;)*) >
-<!ATTLIST circle
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #REQUIRED >
-
-<!ENTITY % ellipseExt "" >
-<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%ellipseExt;)*) >
-<!ATTLIST ellipse
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  rx %Length; #REQUIRED
-  ry %Length; #REQUIRED >
-
-<!ENTITY % lineExt "" >
-<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%lineExt;)*) >
-<!ATTLIST line
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED >
-
-<!ENTITY % polylineExt "" >
-<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polylineExt;)*) >
-<!ATTLIST polyline
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-<!ENTITY % polygonExt "" >
-<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polygonExt;)*) >
-<!ATTLIST polygon
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Text
-     ============================================================== -->
-
-<!ENTITY % textExt "" >
-<!ELEMENT text (#PCDATA|desc|title|metadata|
-                tspan|tref|textPath|altGlyph|a|animate|set|
-                animateMotion|animateColor|animateTransform
-                %geExt;%textExt;)* >
-<!ATTLIST text
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % tspanExt "" >
-<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %tspanExt;)* >
-<!ATTLIST tspan
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % trefExt "" >
-<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
-                %trefExt;)* >
-<!ATTLIST tref
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % textPathExt "" >
-<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %textPathExt;)* >
-<!ATTLIST textPath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  startOffset %Length; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED
-  method (align|stretch) #IMPLIED
-  spacing (auto|exact) #IMPLIED >
-
-<!ENTITY % altGlyphExt "" >
-<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
-<!ATTLIST altGlyph
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED 
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED >
-
-<!ENTITY % altGlyphDefExt "" >
-<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
-<!ATTLIST altGlyphDef
-  %stdAttrs; >
-
-<!ENTITY % altGlyphItemExt "" >
-<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
-<!ATTLIST altGlyphItem
-  %stdAttrs; >
-
-<!ELEMENT glyphRef EMPTY >
-<!ATTLIST glyphRef
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-FontSpecification;
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols 
-     ============================================================== -->
-
-<!ENTITY % markerExt "" >
-<!ELEMENT marker (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%markerExt;)* >
-<!ATTLIST marker
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  refX %Coordinate; #IMPLIED
-  refY %Coordinate; #IMPLIED
-  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
-  markerWidth  %Length; #IMPLIED
-  markerHeight %Length; #IMPLIED
-  orient CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Color 
-     ============================================================== -->
-
-<!ELEMENT color-profile (%descTitleMetadata;) >
-<!ATTLIST color-profile 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  local CDATA #IMPLIED  
-  name CDATA #REQUIRED
-  rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
-     ============================================================== -->
-
-<!ENTITY % linearGradientExt "" >
-<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %linearGradientExt;)*) >
-<!ATTLIST linearGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % radialGradientExt "" >
-<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %radialGradientExt;)*) >
-<!ATTLIST radialGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #IMPLIED
-  fx %Coordinate; #IMPLIED
-  fy %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % stopExt "" >
-<!ELEMENT stop (animate|set|animateColor
-                   %stopExt;)* >
-<!ATTLIST stop
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  offset %NumberOrPercentage; #REQUIRED >
-
-<!ENTITY % patternExt "" >
-<!ELEMENT pattern (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%patternExt;)* >
-<!ATTLIST pattern
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternTransform %TransformList; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
-     ============================================================== -->
-
-<!ENTITY % clipPathExt "" >
-<!ELEMENT clipPath (%descTitleMetadata;,
-                    (path|text|rect|circle|ellipse|line|polyline|polygon|
-                     use|animate|set|animateMotion|animateColor|animateTransform
-                     %ceExt;%clipPathExt;)*) >
-<!ATTLIST clipPath
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >
-
-<!ENTITY % maskExt "" >
-<!ELEMENT mask (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%maskExt;)*  >
-<!ATTLIST mask
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Filter Effects
-     ============================================================== -->
-
-<!ENTITY % filterExt "" >
-<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
-  feColorMatrix|feComponentTransfer|
-  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
-  feGaussianBlur|feImage|feMerge|
-  feMorphology|feOffset|feSpecularLighting|
-  feTile|feTurbulence|
-  animate|set
-  %filterExt;)*) >
-<!ATTLIST filter
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  filterRes %NumberOptionalNumber; #IMPLIED >
-
-<!ENTITY % filter_primitive_attributes
-  "x %Coordinate; #IMPLIED
-   y %Coordinate; #IMPLIED
-   width %Length; #IMPLIED
-   height %Length; #IMPLIED
-   result CDATA #IMPLIED" >
-
-<!ENTITY % filter_primitive_attributes_with_in
-  "%filter_primitive_attributes;
-   in CDATA #IMPLIED">
-
-<!ELEMENT feDistantLight (animate|set)* >
-<!ATTLIST feDistantLight
-  %stdAttrs;
-  azimuth %Number; #IMPLIED
-  elevation %Number; #IMPLIED >
-
-<!ELEMENT fePointLight (animate|set)* >
-<!ATTLIST fePointLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED >
-
-<!ELEMENT feSpotLight (animate|set)* >
-<!ATTLIST feSpotLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED
-  pointsAtX %Number; #IMPLIED
-  pointsAtY %Number; #IMPLIED
-  pointsAtZ %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED
-  limitingConeAngle %Number; #IMPLIED >
-
-<!ELEMENT feBlend (animate|set)* >
-<!ATTLIST feBlend
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  mode (normal | multiply | screen | darken | lighten) "normal" >
-
-<!ELEMENT feColorMatrix (animate|set)* >
-<!ATTLIST feColorMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
-  values CDATA #IMPLIED >
-
-<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
-<!ATTLIST feComponentTransfer
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ENTITY % component_transfer_function_attributes
-  "type (identity | table | discrete | linear | gamma) #REQUIRED
-   tableValues CDATA #IMPLIED
-   slope %Number; #IMPLIED
-   intercept %Number; #IMPLIED
-   amplitude %Number; #IMPLIED
-   exponent %Number; #IMPLIED
-   offset %Number; #IMPLIED" >
-
-<!ELEMENT feFuncR (animate|set)* >
-<!ATTLIST feFuncR
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncG (animate|set)* >
-<!ATTLIST feFuncG
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncB (animate|set)* >
-<!ATTLIST feFuncB
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncA (animate|set)* >
-<!ATTLIST feFuncA
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feComposite (animate|set)* >
-<!ATTLIST feComposite
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  operator (over | in | out | atop | xor | arithmetic) "over"
-  k1 %Number; #IMPLIED
-  k2 %Number; #IMPLIED
-  k3 %Number; #IMPLIED
-  k4 %Number; #IMPLIED >
-
-<!ELEMENT feConvolveMatrix (animate|set)* >
-<!ATTLIST feConvolveMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  order %NumberOptionalNumber; #REQUIRED
-  kernelMatrix CDATA #REQUIRED
-  divisor %Number; #IMPLIED
-  bias %Number; #IMPLIED
-  targetX %Integer; #IMPLIED
-  targetY %Integer; #IMPLIED
-  edgeMode (duplicate|wrap|none) "duplicate" 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED 
-  preserveAlpha %Boolean; #IMPLIED >
-
-<!ELEMENT feDiffuseLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feDiffuseLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  diffuseConstant %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feDisplacementMap (animate|set)* >
-<!ATTLIST feDisplacementMap
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  scale %Number; #IMPLIED
-  xChannelSelector (R | G | B | A) "A"
-  yChannelSelector (R | G | B | A) "A" >
-
-<!ELEMENT feFlood (animate|set|animateColor)* >
-<!ATTLIST feFlood
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-feFlood;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feGaussianBlur (animate|set)* >
-<!ATTLIST feGaussianBlur
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  stdDeviation %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feImage (animate|set|animateTransform)* >
-<!ATTLIST feImage
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  %filter_primitive_attributes;
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' >
-
-<!ELEMENT feMerge (feMergeNode)* >
-<!ATTLIST feMerge
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes; >
-
-<!ELEMENT feMergeNode (animate|set)* >
-<!ATTLIST feMergeNode
-  %stdAttrs;
-  in CDATA #IMPLIED >
-
-<!ELEMENT feMorphology (animate|set)* >
-<!ATTLIST feMorphology
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  operator (erode | dilate) "erode"
-  radius %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feOffset (animate|set)* >
-<!ATTLIST feOffset
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-<!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feSpecularLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  specularConstant %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feTile (animate|set)* >
-<!ATTLIST feTile
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feTurbulence (animate|set)* >
-<!ATTLIST feTurbulence
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes;
-  baseFrequency %NumberOptionalNumber; #IMPLIED
-  numOctaves %Integer; #IMPLIED
-  seed %Number; #IMPLIED
-  stitchTiles (stitch | noStitch) "noStitch"
-  type (fractalNoise | turbulence) "turbulence" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Interactivity 
-     ============================================================== -->
-
-<!ELEMENT cursor (%descTitleMetadata;) >
-<!ATTLIST cursor
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Linking
-     ============================================================== -->
-
-<!ENTITY % aExt "" >
-<!ELEMENT a       (#PCDATA|desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%aExt;)* >
-<!ATTLIST a
-  %stdAttrs;
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  xlink:type (simple) #FIXED "simple" 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (new|replace) 'replace'
-  xlink:actuate (onRequest) #FIXED 'onRequest'
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  target %LinkTarget; #IMPLIED >
-
-<!ENTITY % viewExt "" >
-<!ELEMENT view (%descTitleMetadata;%viewExt;) >
-<!ATTLIST view
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify' 
-  viewTarget CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Scripting 
-     ============================================================== -->
-
-<!ELEMENT script (#PCDATA) >
-<!ATTLIST script
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  type %ContentType; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Animation 
-     ============================================================== -->
-
-<!ENTITY % animElementAttrs
- "%xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED" >
-
-<!ENTITY % animAttributeAttrs
- "attributeName  CDATA  #REQUIRED
-  attributeType  CDATA  #IMPLIED" >
-
-<!ENTITY % animTimingAttrs
- "begin CDATA #IMPLIED 
-  dur CDATA #IMPLIED
-  end CDATA #IMPLIED
-  min CDATA #IMPLIED
-  max CDATA #IMPLIED
-  restart (always | never | whenNotActive) 'always'
-  repeatCount CDATA #IMPLIED 
-  repeatDur CDATA #IMPLIED
-  fill (remove | freeze) 'remove'" >
-
-<!ENTITY % animValueAttrs
- "calcMode (discrete | linear | paced | spline) 'linear'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED" >
-
-<!ENTITY % animAdditionAttrs
- "additive       (replace | sum) 'replace'
-  accumulate     (none | sum) 'none'" >
-
-<!ENTITY % animateExt "" >
-<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
-<!ATTLIST animate
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % setExt "" >
-<!ELEMENT set (%descTitleMetadata;%setExt;) >
-<!ATTLIST set
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  to CDATA #IMPLIED >
-
-<!ENTITY % animateMotionExt "" >
-<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
-<!ATTLIST animateMotion
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animTimingAttrs;
-  calcMode (discrete | linear | paced | spline) 'paced'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED
-  %animAdditionAttrs;
-  path CDATA #IMPLIED
-  keyPoints CDATA #IMPLIED
-  rotate CDATA #IMPLIED
-  origin CDATA #IMPLIED >
-
-<!ENTITY % mpathExt "" >
-<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
-<!ATTLIST mpath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  externalResourcesRequired %Boolean; #IMPLIED >
-
-<!ENTITY % animateColorExt "" >
-<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
-<!ATTLIST animateColor
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % animateTransformExt "" >
-<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
-<!ATTLIST animateTransform
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs;
-  type (translate | scale | rotate | skewX | skewY) "translate" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Fonts 
-     ============================================================== -->
-
-<!ENTITY % fontExt "" >
-<!ELEMENT font (%descTitleMetadata;,font-face,
-                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
-<!ATTLIST font
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  horiz-origin-x %Number; #IMPLIED
-  horiz-origin-y %Number; #IMPLIED
-  horiz-adv-x %Number; #REQUIRED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % glyphExt "" >
-<!ELEMENT glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %glyphExt;)* >
-<!ATTLIST glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  unicode CDATA #IMPLIED
-  glyph-name CDATA #IMPLIED
-  d %PathData; #IMPLIED
-  orientation CDATA #IMPLIED
-  arabic-form CDATA #IMPLIED
-  lang %LanguageCodes; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % missing-glyphExt "" >
-<!ELEMENT missing-glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %missing-glyphExt;)* >
-<!ATTLIST missing-glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  d %PathData; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ELEMENT hkern EMPTY >
-<!ATTLIST hkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT vkern EMPTY >
-<!ATTLIST vkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT font-face (%descTitleMetadata;,font-face-src?,definition-src?) >
-<!ATTLIST font-face 
-  %stdAttrs;
-  font-family CDATA #IMPLIED
-  font-style CDATA #IMPLIED
-  font-variant CDATA #IMPLIED
-  font-weight CDATA #IMPLIED
-  font-stretch CDATA #IMPLIED
-  font-size CDATA #IMPLIED
-  unicode-range CDATA #IMPLIED
-  units-per-em %Number; #IMPLIED
-  panose-1 CDATA #IMPLIED
-  stemv %Number; #IMPLIED
-  stemh %Number; #IMPLIED
-  slope %Number; #IMPLIED
-  cap-height %Number; #IMPLIED
-  x-height %Number; #IMPLIED
-  accent-height %Number; #IMPLIED
-  ascent %Number; #IMPLIED
-  descent %Number; #IMPLIED
-  widths CDATA #IMPLIED
-  bbox CDATA #IMPLIED
-  ideographic %Number; #IMPLIED
-  alphabetic %Number; #IMPLIED
-  mathematical %Number; #IMPLIED
-  hanging %Number; #IMPLIED
-  v-ideographic %Number; #IMPLIED
-  v-alphabetic %Number; #IMPLIED
-  v-mathematical %Number; #IMPLIED
-  v-hanging %Number; #IMPLIED
-  underline-position %Number; #IMPLIED
-  underline-thickness %Number; #IMPLIED
-  strikethrough-position %Number; #IMPLIED
-  strikethrough-thickness %Number; #IMPLIED
-  overline-position %Number; #IMPLIED
-  overline-thickness %Number; #IMPLIED >
-
-<!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
-<!ATTLIST font-face-src 
-  %stdAttrs; >
-
-<!ELEMENT font-face-uri (font-face-format*) >
-<!ATTLIST font-face-uri 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-<!ELEMENT font-face-format EMPTY >
-<!ATTLIST font-face-format 
-  %stdAttrs;
-  string CDATA #IMPLIED >
-
-<!ELEMENT font-face-name EMPTY >
-<!ATTLIST font-face-name 
-  %stdAttrs;
-  name CDATA #IMPLIED >
-
-<!ELEMENT definition-src EMPTY >
-<!ATTLIST definition-src 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Metadata 
-     ============================================================== -->
-
-<!ENTITY % metadataExt "" >
-<!ELEMENT metadata (#PCDATA %metadataExt;)* >
-<!ATTLIST metadata
-  %stdAttrs; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Extensibility 
-     ============================================================== -->
-
-<!ENTITY % foreignObjectExt "" >
-<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
-<!ATTLIST foreignObject
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  %StructuredText; >
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/system_shapes.xml b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/system_shapes.xml
deleted file mode 100644 (file)
index 1be0a7c..0000000
+++ /dev/null
@@ -1,1643 +0,0 @@
-
-<EDKSYSTEM ARCH="virtex4" EDKVERSION="10.1.01" PART="xc4vfx12ff668-10" SRC="C:/E/temp/rc/3/V5.0.2/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp" TIMESTAMP="Sun May 25 17:18:21 2008&#xA;">
-
-  <MODULES>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/cpu_ppc405_v1_10_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/ppc405_virtex4_v2_01_a/doc/ppc405_virtex4.pdf" HWVERSION="2.01.a" INSTANCE="ppc405_0" INTERRUPT_CNTLR="xps_intc_0" IPTYPE="PROCESSOR" IS_PLACED="TRUE" MHS_INDEX="0" MODCLASS="PROCESSOR" MODTYPE="ppc405_virtex4" SAV_INDEX="0">
-      <DESCRIPTION TYPE="SHORT">PowerPC 405 Virtex-4</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">A wrapper to instantiate the PowerPC 405 Processor Block primitive</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_DPLB0_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_DPLB0_NATIVE_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_IPLB0_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_IPLB0_NATIVE_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_DPLB1_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_DPLB1_NATIVE_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_IPLB1_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_IPLB1_NATIVE_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_DPLB1_ADDR_BASE" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_DPLB1_ADDR_HIGH" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_IPLB1_ADDR_BASE" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_IPLB1_ADDR_HIGH" VALUE="0x00000000"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="12" NAME="C_FASTEST_PLB_CLOCK" VALUE="DPLB0"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_GENERATE_PLB_TIMESPECS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_DPLB0_P2P" VALUE="1"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_DPLB1_P2P" VALUE="1"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_IPLB0_P2P" VALUE="1"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_IPLB1_P2P" VALUE="1"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="18" NAME="C_IDCR_BASEADDR" VALUE="0b0100000000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="19" NAME="C_IDCR_HIGHADDR" VALUE="0b0111111111"/>
-      <PARAMETER MPD_INDEX="20" NAME="C_DISABLE_OPERAND_FORWARDING" VALUE="1"/>
-      <PARAMETER MPD_INDEX="21" NAME="C_MMU_ENABLE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="22" NAME="C_DETERMINISTIC_MULT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="23" NAME="C_PLBSYNCBYPASS" VALUE="1"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="24" NAME="C_APU_CONTROL" VALUE="0b0000000000000001"/>
-      <PARAMETER MPD_INDEX="25" NAME="C_APU_UDI_1" VALUE="0b101000011000100110000011"/>
-      <PARAMETER MPD_INDEX="26" NAME="C_APU_UDI_2" VALUE="0b101000111000100110000011"/>
-      <PARAMETER MPD_INDEX="27" NAME="C_APU_UDI_3" VALUE="0b101001011000100111000011"/>
-      <PARAMETER MPD_INDEX="28" NAME="C_APU_UDI_4" VALUE="0b101001111000100111000011"/>
-      <PARAMETER MPD_INDEX="29" NAME="C_APU_UDI_5" VALUE="0b101010011000110000000011"/>
-      <PARAMETER MPD_INDEX="30" NAME="C_APU_UDI_6" VALUE="0b101010111000110000000011"/>
-      <PARAMETER MPD_INDEX="31" NAME="C_APU_UDI_7" VALUE="0b101011011000110001000011"/>
-      <PARAMETER MPD_INDEX="32" NAME="C_APU_UDI_8" VALUE="0b101011111000110001000011"/>
-      <PARAMETER MPD_INDEX="33" NAME="C_PVR_HIGH" VALUE="0b0000"/>
-      <PARAMETER MPD_INDEX="34" NAME="C_PVR_LOW" VALUE="0b0000"/>
-      <BUSINTERFACE BIFRANK="TARGET" BIF_X="0" BIF_Y="0" BUSNAME="jtagppc_0_0" BUSSTD="XIL" BUS_STD="XIL_JTAGPPC" MPD_INDEX="10" NAME="JTAGPPC" ORIENTED="WEST"/>
-      <BUSINTERFACE BIFRANK="MASTER" BIF_X="1" BIF_Y="1" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="2" NAME="IPLB0" ORIENTED="EAST"/>
-      <BUSINTERFACE BIFRANK="MASTER" BIF_X="0" BIF_Y="1" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="1" NAME="DPLB0" ORIENTED="WEST"/>
-      <BUSINTERFACE BIFRANK="TARGET" BIF_X="1" BIF_Y="0" BUSNAME="ppc_reset_bus" BUSSTD="XIL" BUS_STD="XIL_RESETPPC" MPD_INDEX="11" NAME="RESETPPC" ORIENTED="EAST"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="FCB" BUS_STD="FCB" MPD_INDEX="7" NAME="MFCB"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="6" NAME="CPMC405CLOCK" SIGIS="CLK" SIGNAME="proc_clk_s"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="237" NAME="EICC405EXTINPUTIRQ" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="EICC405EXTINPUTIRQ"/>
-      <PORT DIR="O" MPD_INDEX="0" NAME="C405CPMCORESLEEPREQ" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="1" NAME="C405CPMMSRCE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="2" NAME="C405CPMMSREE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="3" NAME="C405CPMTIMERIRQ" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="4" NAME="C405CPMTIMERRESETREQ" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="5" NAME="C405XXXMACHINECHECK" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="CPMC405CORECLKINACTIVE" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="CPMC405CPUCLKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="CPMC405JTAGCLKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="CPMC405TIMERCLKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="CPMC405TIMERTICK" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="MCBCPUCLKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="MCBTIMEREN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="MCPPCRST" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="CPMDCRCLK" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="CPMFCMCLK" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="17" NAME="C405RSTCHIPRESETREQ" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="18" NAME="C405RSTCORERESETREQ" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="19" NAME="C405RSTSYSRESETREQ" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="RSTC405RESETCHIP" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="RSTC405RESETCORE" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="RSTC405RESETSYS" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="23" NAME="APUFCMDECODED" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="24" NAME="APUFCMDECUDI" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="25" NAME="APUFCMDECUDIVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="APUFCMENDIAN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="APUFCMFLUSH" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="APUFCMINSTRUCTION" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="APUFCMINSTRVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="APUFCMLOADBYTEEN" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="APUFCMLOADDATA" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="APUFCMLOADDVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="APUFCMOPERANDVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="APUFCMRADATA" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="APUFCMRBDATA" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="APUFCMWRITEBACKOK" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="APUFCMXERCA" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="38" NAME="FCMAPUCR" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="39" NAME="FCMAPUDCDCREN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="40" NAME="FCMAPUDCDFORCEALIGN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="41" NAME="FCMAPUDCDFORCEBESTEERING" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="42" NAME="FCMAPUDCDFPUOP" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="43" NAME="FCMAPUDCDGPRWRITE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="44" NAME="FCMAPUDCDLDSTBYTE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="45" NAME="FCMAPUDCDLDSTDW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="46" NAME="FCMAPUDCDLDSTHW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="47" NAME="FCMAPUDCDLDSTQW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="48" NAME="FCMAPUDCDLDSTWD" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="49" NAME="FCMAPUDCDLOAD" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="50" NAME="FCMAPUDCDPRIVOP" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="51" NAME="FCMAPUDCDRAEN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="52" NAME="FCMAPUDCDRBEN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="53" NAME="FCMAPUDCDSTORE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="54" NAME="FCMAPUDCDTRAPBE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="55" NAME="FCMAPUDCDTRAPLE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="56" NAME="FCMAPUDCDUPDATE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="57" NAME="FCMAPUDCDXERCAEN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="58" NAME="FCMAPUDCDXEROVEN" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="59" NAME="FCMAPUDECODEBUSY" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="60" NAME="FCMAPUDONE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="61" NAME="FCMAPUEXCEPTION" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="62" NAME="FCMAPUEXEBLOCKINGMCO" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="63" NAME="FCMAPUEXECRFIELD" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="64" NAME="FCMAPUEXENONBLOCKINGMCO" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="65" NAME="FCMAPUINSTRACK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="66" NAME="FCMAPULOADWAIT" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="67" NAME="FCMAPURESULT" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="68" NAME="FCMAPURESULTVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="69" NAME="FCMAPUSLEEPNOTREADY" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="70" NAME="FCMAPUXERCA" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="71" NAME="FCMAPUXEROV" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="72" NAME="IPLB0_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="73" NAME="IPLB0_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="74" NAME="IPLB0_PLB_MBusy" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="75" NAME="IPLB0_PLB_MRdErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="76" NAME="IPLB0_PLB_MWrErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="77" NAME="IPLB0_PLB_MWrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="78" NAME="IPLB0_PLB_MWrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="79" NAME="IPLB0_PLB_MAddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="80" NAME="IPLB0_PLB_MRdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="81" NAME="IPLB0_PLB_MRdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="82" NAME="IPLB0_PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_IPLB0_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="83" NAME="IPLB0_PLB_MRearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="84" NAME="IPLB0_PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="85" NAME="IPLB0_PLB_MTimeout" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="86" NAME="IPLB0_PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="87" NAME="IPLB0_M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="88" NAME="IPLB0_M_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_IPLB0_DWIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="89" NAME="IPLB0_M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="90" NAME="IPLB0_M_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="91" NAME="IPLB0_M_request" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="92" NAME="IPLB0_M_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="93" NAME="IPLB0_M_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="94" NAME="IPLB0_M_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="95" NAME="IPLB0_M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_IPLB0_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="96" NAME="IPLB0_M_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="97" NAME="IPLB0_M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="98" NAME="IPLB0_M_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="99" NAME="IPLB0_M_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="100" NAME="IPLB0_M_priority" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="101" NAME="IPLB0_M_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="102" NAME="IPLB0_M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="I" MPD_INDEX="103" NAME="DPLB0_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="104" NAME="DPLB0_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="105" NAME="DPLB0_PLB_MBusy" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="106" NAME="DPLB0_PLB_MRdErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="107" NAME="DPLB0_PLB_MWrErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="108" NAME="DPLB0_PLB_MWrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="109" NAME="DPLB0_PLB_MWrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="110" NAME="DPLB0_PLB_MAddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="111" NAME="DPLB0_PLB_MRdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="112" NAME="DPLB0_PLB_MRdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="113" NAME="DPLB0_PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_DPLB0_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="114" NAME="DPLB0_PLB_MRearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="115" NAME="DPLB0_PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="116" NAME="DPLB0_PLB_MTimeout" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="117" NAME="DPLB0_PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="118" NAME="DPLB0_M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="119" NAME="DPLB0_M_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_DPLB0_DWIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="120" NAME="DPLB0_M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="121" NAME="DPLB0_M_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="122" NAME="DPLB0_M_request" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="123" NAME="DPLB0_M_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="124" NAME="DPLB0_M_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="125" NAME="DPLB0_M_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="126" NAME="DPLB0_M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_DPLB0_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="127" NAME="DPLB0_M_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="128" NAME="DPLB0_M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="129" NAME="DPLB0_M_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="130" NAME="DPLB0_M_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="131" NAME="DPLB0_M_priority" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="132" NAME="DPLB0_M_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="133" NAME="DPLB0_M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="I" MPD_INDEX="134" NAME="IPLB1_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="135" NAME="IPLB1_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="136" NAME="IPLB1_PLB_MBusy" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="137" NAME="IPLB1_PLB_MRdErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="138" NAME="IPLB1_PLB_MWrErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="139" NAME="IPLB1_PLB_MWrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="140" NAME="IPLB1_PLB_MWrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="141" NAME="IPLB1_PLB_MAddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="142" NAME="IPLB1_PLB_MRdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="143" NAME="IPLB1_PLB_MRdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="144" NAME="IPLB1_PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_IPLB1_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="145" NAME="IPLB1_PLB_MRearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="146" NAME="IPLB1_PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="147" NAME="IPLB1_PLB_MTimeout" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="148" NAME="IPLB1_PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="149" NAME="IPLB1_M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="150" NAME="IPLB1_M_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_IPLB1_DWIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="151" NAME="IPLB1_M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="152" NAME="IPLB1_M_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="153" NAME="IPLB1_M_request" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="154" NAME="IPLB1_M_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="155" NAME="IPLB1_M_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="156" NAME="IPLB1_M_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="157" NAME="IPLB1_M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_IPLB1_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="158" NAME="IPLB1_M_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="159" NAME="IPLB1_M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="160" NAME="IPLB1_M_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="161" NAME="IPLB1_M_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="162" NAME="IPLB1_M_priority" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="163" NAME="IPLB1_M_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="164" NAME="IPLB1_M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="I" MPD_INDEX="165" NAME="DPLB1_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="166" NAME="DPLB1_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="167" NAME="DPLB1_PLB_MBusy" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="168" NAME="DPLB1_PLB_MRdErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="169" NAME="DPLB1_PLB_MWrErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="170" NAME="DPLB1_PLB_MWrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="171" NAME="DPLB1_PLB_MWrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="172" NAME="DPLB1_PLB_MAddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="173" NAME="DPLB1_PLB_MRdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="174" NAME="DPLB1_PLB_MRdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="175" NAME="DPLB1_PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_DPLB1_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="176" NAME="DPLB1_PLB_MRearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="177" NAME="DPLB1_PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="178" NAME="DPLB1_PLB_MTimeout" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="179" NAME="DPLB1_PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="180" NAME="DPLB1_M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="181" NAME="DPLB1_M_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_DPLB1_DWIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="182" NAME="DPLB1_M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="183" NAME="DPLB1_M_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="184" NAME="DPLB1_M_request" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="185" NAME="DPLB1_M_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="186" NAME="DPLB1_M_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="187" NAME="DPLB1_M_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="188" NAME="DPLB1_M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_DPLB1_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="189" NAME="DPLB1_M_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="190" NAME="DPLB1_M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="191" NAME="DPLB1_M_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="192" NAME="DPLB1_M_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="193" NAME="DPLB1_M_priority" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="194" NAME="DPLB1_M_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="195" NAME="DPLB1_M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="I" MPD_INDEX="196" NAME="BRAMDSOCMCLK" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="197" NAME="BRAMDSOCMRDDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="198" NAME="DSARCVALUE" SIGNAME="__DEF__" VECFORMULA="[0:7]"/>
-      <PORT DIR="I" MPD_INDEX="199" NAME="DSCNTLVALUE" SIGNAME="__DEF__" VECFORMULA="[0:7]"/>
-      <PORT DIR="O" MPD_INDEX="200" NAME="DSOCMBRAMABUS" SIGNAME="__DEF__" VECFORMULA="[8:29]"/>
-      <PORT DIR="O" MPD_INDEX="201" NAME="DSOCMBRAMBYTEWRITE" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="202" NAME="DSOCMBRAMEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="203" NAME="DSOCMBRAMWRDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="204" NAME="DSOCMBUSY" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="205" NAME="DSOCMRDADDRVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="206" NAME="DSOCMWRADDRVALID" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="207" NAME="DSOCMRWCOMPLETE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="208" NAME="BRAMISOCMCLK" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="209" NAME="BRAMISOCMRDDBUS" SIGNAME="__DEF__" VECFORMULA="[0:63]"/>
-      <PORT DIR="I" MPD_INDEX="210" NAME="BRAMISOCMDCRRDDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="211" NAME="ISARCVALUE" SIGNAME="__DEF__" VECFORMULA="[0:7]"/>
-      <PORT DIR="I" MPD_INDEX="212" NAME="ISCNTLVALUE" SIGNAME="__DEF__" VECFORMULA="[0:7]"/>
-      <PORT DIR="O" MPD_INDEX="213" NAME="ISOCMBRAMEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="214" NAME="ISOCMBRAMEVENWRITEEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="215" NAME="ISOCMBRAMODDWRITEEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="216" NAME="ISOCMBRAMRDABUS" SIGNAME="__DEF__" VECFORMULA="[8:28]"/>
-      <PORT DIR="O" MPD_INDEX="217" NAME="ISOCMBRAMWRABUS" SIGNAME="__DEF__" VECFORMULA="[8:28]"/>
-      <PORT DIR="O" MPD_INDEX="218" NAME="ISOCMBRAMWRDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="219" NAME="ISOCMDCRBRAMEVENEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="220" NAME="ISOCMDCRBRAMODDEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="221" NAME="ISOCMDCRBRAMRDSELECT" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="222" NAME="DCREMACABUS" SIGNAME="__DEF__" VECFORMULA="[8:9]"/>
-      <PORT DIR="O" MPD_INDEX="223" NAME="DCREMACCLK" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="224" NAME="DCREMACDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="225" NAME="DCREMACENABLER" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="226" NAME="DCREMACREAD" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="227" NAME="DCREMACWRITE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="228" NAME="EMACDCRACK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="229" NAME="EMACDCRDBUS" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="230" NAME="EXTDCRABUS" SIGNAME="__DEF__" VECFORMULA="[0:9]"/>
-      <PORT DIR="O" MPD_INDEX="231" NAME="EXTDCRDBUSOUT" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="232" NAME="EXTDCRREAD" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="233" NAME="EXTDCRWRITE" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="234" NAME="EXTDCRACK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="235" NAME="EXTDCRDBUSIN" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="236" NAME="EICC405CRITINPUTIRQ" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="238" NAME="C405JTGCAPTUREDR" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="239" NAME="C405JTGEXTEST" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="240" NAME="C405JTGPGMOUT" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="241" NAME="C405JTGSHIFTDR" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="242" NAME="C405JTGTDO" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="243" NAME="C405JTGTDOEN" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="244" NAME="C405JTGUPDATEDR" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="245" NAME="MCBJTAGEN" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="246" NAME="JTGC405BNDSCANTDO" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="247" NAME="JTGC405TCK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="248" NAME="JTGC405TDI" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="249" NAME="JTGC405TMS" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="250" NAME="JTGC405TRSTNEG" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="251" NAME="C405DBGMSRWE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="252" NAME="C405DBGSTOPACK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="253" NAME="C405DBGWBCOMPLETE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="254" NAME="C405DBGWBFULL" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="255" NAME="C405DBGWBIAR" SIGNAME="__NOC__" VECFORMULA="[0:29]"/>
-      <PORT DIR="I" MPD_INDEX="256" NAME="DBGC405DEBUGHALT" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="257" NAME="DBGC405DEBUGHALTNEG" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="258" NAME="DBGC405EXTBUSHOLDACK" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="259" NAME="DBGC405UNCONDDEBUGEVENT" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="260" NAME="C405DBGLOADDATAONAPUDBUS" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="261" NAME="C405TRCCYCLE" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="262" NAME="C405TRCEVENEXECUTIONSTATUS" SIGNAME="__NOC__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="263" NAME="C405TRCODDEXECUTIONSTATUS" SIGNAME="__NOC__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="264" NAME="C405TRCTRACESTATUS" SIGNAME="__NOC__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="265" NAME="C405TRCTRIGGEREVENTOUT" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="266" NAME="C405TRCTRIGGEREVENTTYPE" SIGNAME="__NOC__" VECFORMULA="[0:10]"/>
-      <PORT DIR="I" MPD_INDEX="267" NAME="TRCC405TRACEDISABLE" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="268" NAME="TRCC405TRIGGEREVENTIN" SIGNAME="__NOC__"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="DCR" BUS_STD="DCR" MPD_INDEX="0" NAME="MDCR"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="3" NAME="DPLB1"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="4" NAME="IPLB1"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="OCM" BUS_STD="DSOCM" IS_DATA="TRUE" MPD_INDEX="5" NAME="DSOCM"/>
-      <BUSINTERFACE BIFRANK="MASTER" BUSNAME="__NOC__" BUSSTD="OCM" BUS_STD="ISOCM" IS_INSTRUCTION="TRUE" MPD_INDEX="6" NAME="ISOCM"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_FCM" MPD_INDEX="8" NAME="MFCM"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_EMACDCR" MPD_INDEX="9" NAME="EMACDCR"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0b0100000000" BASENAME="C_IDCR_BASEADDR" BASEVALUE="256" HIGH="0b0111111111" HIGHNAME="C_IDCR_HIGHADDR" HIGHVALUE="511" MINSIZE="16" SIZE="256" SIZEABRV="256">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="MDCR"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/generic_v1_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/jtagppc_cntlr_v2_01_a/doc/jtagppc_cntlr.pdf" HWVERSION="2.01.a" INSTANCE="jtagppc_0" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="1" MODCLASS="PERIPHERAL" MODTYPE="jtagppc_cntlr" SAV_INDEX="3">
-      <DESCRIPTION TYPE="SHORT">PowerPC JTAG Controller</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">JTAGPPC wrapper allows the PowerPC to connect to the JTAG chain of the FPGA.</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_DEVICE" VALUE="X2VP4"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_NUM_PPC_USED" VALUE="0"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BIF_X="0" BIF_Y="0" BUSNAME="jtagppc_0_0" BUSSTD="XIL" BUS_STD="XIL_JTAGPPC" MPD_INDEX="0" NAME="JTAGPPC0"/>
-      <PORT DIR="I" MPD_INDEX="0" NAME="TRSTNEG" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="HALTNEG0" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="2" NAME="DBGC405DEBUGHALT0" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="HALTNEG1" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="4" NAME="DBGC405DEBUGHALT1" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="C405JTGTDO0" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="C405JTGTDOEN0" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="7" NAME="JTGC405TCK0" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="8" NAME="JTGC405TDI0" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="9" NAME="JTGC405TMS0" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="10" NAME="JTGC405TRSTNEG0" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="C405JTGTDO1" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="C405JTGTDOEN1" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="13" NAME="JTGC405TCK1" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="14" NAME="JTGC405TDI1" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="15" NAME="JTGC405TMS1" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="16" NAME="JTGC405TRSTNEG1" SIGNAME="__DEF__"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_JTAGPPC" MPD_INDEX="1" NAME="JTAGPPC1"/>
-    </MODULE>
-    <MODULE BUSINDEX="0" BUSSTD="PLBV46" BUS_STD="PLBV46" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/plb_v46_v1_02_a/doc/plb_v46.pdf" HWVERSION="1.02.a" INSTANCE="plb" IPTYPE="BUS" IS_PLACED="TRUE" MHS_INDEX="2" MODCLASS="BUS" MODTYPE="plb_v46" SAV_INDEX="1">
-      <DESCRIPTION TYPE="SHORT">Processor Local Bus (PLB) 4.6</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">'Xilinx 64-bit Processor Local Bus (PLB) consists of a bus control unit, a watchdog timer, and separate address, write, and read data path units with a a three-cycle only arbitration feature'</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_PLBV46_NUM_MASTERS" VALUE="4"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_PLBV46_NUM_SLAVES" VALUE="8"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_PLBV46_MID_WIDTH" VALUE="2"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_PLBV46_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_PLBV46_DWIDTH" VALUE="64"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_DCR_INTFCE" VALUE="0"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" MPD_INDEX="6" NAME="C_BASEADDR" VALUE="0b1111111111"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" MPD_INDEX="7" NAME="C_HIGHADDR" VALUE="0b0000000000"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_DCR_AWIDTH" VALUE="10"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_DCR_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_IRQ_ACTIVE" VALUE="1"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="12" NAME="C_NUM_CLK_PLB2OPB_REARB" VALUE="100"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_ADDR_PIPELINING_TYPE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_ARB_TYPE" VALUE="0"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="0" NAME="PLB_Clk" SIGIS="CLK" SIGNAME="sys_clk_s"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="1" NAME="SYS_Rst" SIGIS="RST" SIGNAME="sys_bus_reset"/>
-      <PORT DIR="O" MPD_INDEX="2" NAME="PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="3" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="O" MPD_INDEX="4" NAME="MPLB_Rst" SIGIS="RST" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="5" NAME="PLB_dcrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="6" NAME="PLB_dcrDBus" SIGNAME="__DEF__" VECFORMULA="[0:C_DCR_DWIDTH-1]"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="DCR_ABus" SIGNAME="__DEF__" VECFORMULA="[0:C_DCR_AWIDTH-1]"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="DCR_DBus" SIGNAME="__DEF__" VECFORMULA="[0:C_DCR_DWIDTH-1]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="DCR_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="DCR_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="M_ABus" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*32)-1]"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="M_UABus" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*32)-1]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="M_BE" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*(C_PLBV46_DWIDTH/8))-1]"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="M_RNW" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="M_abort" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="M_busLock" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="M_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*16)-1]"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="M_lockErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="M_MSize" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*2)-1]"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="M_priority" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*2)-1]"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="M_rdBurst" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="M_request" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="M_size" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*4)-1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="M_type" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*3)-1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="M_wrBurst" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="I" MPD_INDEX="26" NAME="M_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*C_PLBV46_DWIDTH)-1]"/>
-      <PORT DIR="I" MPD_INDEX="27" NAME="Sl_addrAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="28" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_SLAVES*C_PLBV46_NUM_MASTERS)-1]"/>
-      <PORT DIR="I" MPD_INDEX="29" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_SLAVES*C_PLBV46_NUM_MASTERS)-1]"/>
-      <PORT DIR="I" MPD_INDEX="30" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*C_PLBV46_NUM_MASTERS - 1 ]"/>
-      <PORT DIR="I" MPD_INDEX="31" NAME="Sl_rdBTerm" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="32" NAME="Sl_rdComp" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="33" NAME="Sl_rdDAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="34" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*C_PLBV46_DWIDTH-1]"/>
-      <PORT DIR="I" MPD_INDEX="35" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*4-1]"/>
-      <PORT DIR="I" MPD_INDEX="36" NAME="Sl_rearbitrate" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="37" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*2-1]"/>
-      <PORT DIR="I" MPD_INDEX="38" NAME="Sl_wait" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="39" NAME="Sl_wrBTerm" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="40" NAME="Sl_wrComp" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="41" NAME="Sl_wrDAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="I" MPD_INDEX="42" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES*C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="43" NAME="PLB_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="44" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="45" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="O" MPD_INDEX="46" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_DWIDTH/8)-1]"/>
-      <PORT DIR="O" MPD_INDEX="47" NAME="PLB_MAddrAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="PLB_MTimeout" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="49" NAME="PLB_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="50" NAME="PLB_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="51" NAME="PLB_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="52" NAME="PLB_MRdBTerm" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="53" NAME="PLB_MRdDAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="54" NAME="PLB_MRdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*C_PLBV46_DWIDTH)-1]"/>
-      <PORT DIR="O" MPD_INDEX="55" NAME="PLB_MRdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*4)-1]"/>
-      <PORT DIR="O" MPD_INDEX="56" NAME="PLB_MRearbitrate" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="57" NAME="PLB_MWrBTerm" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="58" NAME="PLB_MWrDAck" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="59" NAME="PLB_MSSize" SIGNAME="__DEF__" VECFORMULA="[0:(C_PLBV46_NUM_MASTERS*2)-1]"/>
-      <PORT DIR="O" MPD_INDEX="60" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="61" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="62" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="63" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="64" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="65" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="66" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="67" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_MID_WIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="68" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="69" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="70" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="71" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="72" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="73" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="74" NAME="PLB_rdPrim" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="O" MPD_INDEX="75" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="76" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="77" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="O" MPD_INDEX="78" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="79" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_DWIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="80" NAME="PLB_wrPrim" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_SLAVES-1]"/>
-      <PORT DIR="O" MPD_INDEX="81" NAME="PLB_SaddrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="82" NAME="PLB_SMRdErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="83" NAME="PLB_SMWrErr" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="84" NAME="PLB_SMBusy" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_NUM_MASTERS-1]"/>
-      <PORT DIR="O" MPD_INDEX="85" NAME="PLB_SrdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="86" NAME="PLB_SrdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="87" NAME="PLB_SrdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="88" NAME="PLB_SrdDBus" SIGNAME="__DEF__" VECFORMULA="[0:C_PLBV46_DWIDTH-1]"/>
-      <PORT DIR="O" MPD_INDEX="89" NAME="PLB_SrdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="90" NAME="PLB_Srearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="91" NAME="PLB_Sssize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="92" NAME="PLB_Swait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="93" NAME="PLB_SwrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="94" NAME="PLB_SwrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="95" NAME="PLB_SwrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="96" NAME="Bus_Error_Det" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="__NOC__" BUSSTD="DCR" BUS_STD="DCR" ISVALID="FALSE" MPD_INDEX="0" NAME="SDCR"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0b1111111111" BASENAME="C_BASEADDR" BASEVALUE="1023" HIGH="0b0000000000" HIGHNAME="C_HIGHADDR" HIGHVALUE="0" ISVALID="FALSE" MINSIZE="0x08" SIZE="0" SIZEABRV="U">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SDCR"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/uartlite_v1_13_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_uartlite_v1_00_a/doc/xps_uartlite.pdf" GROUP="C" HWVERSION="1.00.a" INSTANCE="RS232_Uart" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="3" MODCLASS="PERIPHERAL" MODTYPE="xps_uartlite" SAV_INDEX="9">
-      <DESCRIPTION TYPE="SHORT">XPS UART (Lite)</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Generic UART (Universal Asynchronous Receiver/Transmitter) for PLBV46 bus.</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_SPLB_CLK_FREQ_HZ" VALUE="100000000"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="2" NAME="C_BASEADDR" VALUE="0x84000000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="3" NAME="C_HIGHADDR" VALUE="0x8400ffff"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_BAUDRATE" VALUE="9600"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_DATA_BITS" VALUE="8"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="13" NAME="C_USE_PARITY" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="14" NAME="C_ODD_PARITY" VALUE="0"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="42" NAME="RX" SIGNAME="fpga_0_RS232_Uart_RX">
-        <DESCRIPTION>Serial Data In</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="43" NAME="TX" SIGNAME="fpga_0_RS232_Uart_TX">
-        <DESCRIPTION>Serial Data Out</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="44" NAME="Interrupt" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="RS232_Uart_Interrupt"/>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <INTCCNTLRTRGS>
-        <INTCTRG INTCINDEX="0" PRIORITY="0"/>
-      </INTCCNTLRTRGS>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x84000000" BASENAME="C_BASEADDR" BASEVALUE="2214592512" HIGH="0x8400ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2214658047" MINSIZE="0x10" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/gpio_v2_12_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_gpio_v1_00_a/doc/xps_gpio.pdf" GROUP="A" HWVERSION="1.00.a" INSTANCE="LEDs_4Bit" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="4" MODCLASS="PERIPHERAL" MODTYPE="xps_gpio" SAV_INDEX="5">
-      <DESCRIPTION TYPE="SHORT">XPS General Purpose IO</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">General Purpose Input/Output (GPIO) core for the PLBV46 bus.</DESCRIPTION>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="0" NAME="C_BASEADDR" VALUE="0x81400000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="1" NAME="C_HIGHADDR" VALUE="0x8140ffff"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="10" NAME="C_GPIO_WIDTH" VALUE="4"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_ALL_INPUTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_INTERRUPT_PRESENT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_IS_BIDIR" VALUE="1"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_DOUT_DEFAULT" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_TRI_DEFAULT" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_IS_DUAL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_ALL_INPUTS_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="18" NAME="C_IS_BIDIR_2" VALUE="1"/>
-      <PARAMETER MPD_INDEX="19" NAME="C_DOUT_DEFAULT_2" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="20" NAME="C_TRI_DEFAULT_2" VALUE="0xffffffff"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="IO" INMHS="TRUE" MPD_INDEX="43" NAME="GPIO_IO" SIGNAME="fpga_0_LEDs_4Bit_GPIO_IO" VECFORMULA="[0:(C_GPIO_WIDTH-1)]">
-        <DESCRIPTION>GPIO1 Data IO</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="42" NAME="IP2INTC_Irpt" SENSITIVITY="LEVEL_HIGH" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="44" NAME="GPIO_IO_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="45" NAME="GPIO_IO_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="46" NAME="GPIO_IO_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="47" NAME="GPIO_in" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="GPIO_d_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="49" NAME="GPIO_t_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="IO" ISVALID="FALSE" MPD_INDEX="50" NAME="GPIO2_IO" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="51" NAME="GPIO2_IO_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="52" NAME="GPIO2_IO_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="53" NAME="GPIO2_IO_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="54" NAME="GPIO2_in" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="55" NAME="GPIO2_d_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="56" NAME="GPIO2_t_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x81400000" BASENAME="C_BASEADDR" BASEVALUE="2168455168" HIGH="0x8140ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2168520703" MINSIZE="0x200" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/gpio_v2_12_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_gpio_v1_00_a/doc/xps_gpio.pdf" GROUP="B" HWVERSION="1.00.a" INSTANCE="LEDs_Positions" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="5" MODCLASS="PERIPHERAL" MODTYPE="xps_gpio" SAV_INDEX="6">
-      <DESCRIPTION TYPE="SHORT">XPS General Purpose IO</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">General Purpose Input/Output (GPIO) core for the PLBV46 bus.</DESCRIPTION>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="0" NAME="C_BASEADDR" VALUE="0x81420000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="1" NAME="C_HIGHADDR" VALUE="0x8142ffff"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="10" NAME="C_GPIO_WIDTH" VALUE="5"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_ALL_INPUTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_INTERRUPT_PRESENT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_IS_BIDIR" VALUE="1"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_DOUT_DEFAULT" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_TRI_DEFAULT" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_IS_DUAL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_ALL_INPUTS_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="18" NAME="C_IS_BIDIR_2" VALUE="1"/>
-      <PARAMETER MPD_INDEX="19" NAME="C_DOUT_DEFAULT_2" VALUE="0x00000000"/>
-      <PARAMETER MPD_INDEX="20" NAME="C_TRI_DEFAULT_2" VALUE="0xffffffff"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="IO" INMHS="TRUE" MPD_INDEX="43" NAME="GPIO_IO" SIGNAME="fpga_0_LEDs_Positions_GPIO_IO" VECFORMULA="[0:(C_GPIO_WIDTH-1)]">
-        <DESCRIPTION>GPIO1 Data IO</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="42" NAME="IP2INTC_Irpt" SENSITIVITY="LEVEL_HIGH" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="44" NAME="GPIO_IO_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="45" NAME="GPIO_IO_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="46" NAME="GPIO_IO_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="47" NAME="GPIO_in" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="GPIO_d_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="49" NAME="GPIO_t_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="IO" ISVALID="FALSE" MPD_INDEX="50" NAME="GPIO2_IO" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="51" NAME="GPIO2_IO_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="52" NAME="GPIO2_IO_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="53" NAME="GPIO2_IO_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="54" NAME="GPIO2_in" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="55" NAME="GPIO2_d_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="56" NAME="GPIO2_t_out" SIGNAME="__NOC__" VECFORMULA="[0:(C_GPIO_WIDTH-1)]"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x81420000" BASENAME="C_BASEADDR" BASEVALUE="2168586240" HIGH="0x8142ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2168651775" MINSIZE="0x200" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/sysace_v1_11_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_sysace_v1_00_a/doc/xps_sysace.pdf" GROUP="F" HWVERSION="1.00.a" INSTANCE="SysACE_CompactFlash" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="6" MODCLASS="PERIPHERAL" MODTYPE="xps_sysace" SAV_INDEX="8">
-      <DESCRIPTION TYPE="SHORT">XPS System ACE Interface Controller(Compact Flash)</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Interface between the PLBV46 and the Microprocessor Interface (MPU) of the System ACE Compact Flash solution peripheral</DESCRIPTION>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="0" NAME="C_BASEADDR" VALUE="0x83600000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="1" NAME="C_HIGHADDR" VALUE="0x8360ffff"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_MEM_WIDTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_MID_WIDTH" VALUE="3"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_NUM_MASTERS" VALUE="8"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_FAMILY" VALUE="virtex5"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="43" NAME="SysACE_CLK" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_CLK">
-        <DESCRIPTION>Clock Input</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="42" NAME="SysACE_MPA" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPA &amp; SysACE_CompactFlash_SysACE_MPA" VECFORMULA="[6:0]">
-        <DESCRIPTION>Address Input</DESCRIPTION>
-      </PORT>
-      <PORT DIR="IO" INMHS="TRUE" MPD_INDEX="45" NAME="SysACE_MPD" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPD" VECFORMULA="[(C_MEM_WIDTH-1):0]">
-        <DESCRIPTION>Data Input/Output</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="49" NAME="SysACE_CEN" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_CEN">
-        <DESCRIPTION>Active LOW Chip Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="50" NAME="SysACE_OEN" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_OEN">
-        <DESCRIPTION>Active LOW Output Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="51" NAME="SysACE_WEN" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_WEN">
-        <DESCRIPTION>Active LOW Write Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="44" NAME="SysACE_MPIRQ" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPIRQ">
-        <DESCRIPTION>Active high Interrupt Output</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="46" NAME="SysACE_MPD_I" SIGNAME="__NOC__" VECFORMULA="[(C_MEM_WIDTH-1):0]"/>
-      <PORT DIR="O" MPD_INDEX="47" NAME="SysACE_MPD_O" SIGNAME="__NOC__" VECFORMULA="[(C_MEM_WIDTH-1):0]"/>
-      <PORT DIR="O" MPD_INDEX="48" NAME="SysACE_MPD_T" SIGNAME="__NOC__" VECFORMULA="[(C_MEM_WIDTH-1):0]"/>
-      <PORT DIR="O" MPD_INDEX="52" NAME="SysACE_IRQ" SENSITIVITY="LEVEL_HIGH" SIGIS="INTERRUPT" SIGNAME="__NOC__"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x83600000" BASENAME="C_BASEADDR" BASEVALUE="2204106752" HIGH="0x8360ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2204172287" MINSIZE="0x80" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/emc_v2_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_mch_emc_v1_01_a/doc/xps_mch_emc.pdf" GROUP="D" HWVERSION="1.01.a" INSTANCE="SRAM" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="7" MODCLASS="MEMORY_CNTLR" MODTYPE="xps_mch_emc" SAV_INDEX="2">
-      <DESCRIPTION TYPE="SHORT">XPS Multi-Channel External Memory Controller(SRAM/Flash)</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Xilinx Multi-CHannel (MCH) PLBV46 external memory controller</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_NUM_BANKS_MEM" VALUE="1"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_NUM_CHANNELS" VALUE="2"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_PRIORITY_MODE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_INCLUDE_PLB_IPIF" VALUE="1"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_INCLUDE_WRBUF" VALUE="1"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_MCH_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_SPLB_SMALLEST_MASTER" VALUE="32"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_MCH_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_MCH_PLB_CLK_PERIOD_PS" VALUE="10000"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="MEMORY" CHANGEDBY="USER" MPD_INDEX="14" NAME="C_MEM0_BASEADDR" VALUE="0xfff00000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="MEMORY" CHANGEDBY="USER" MPD_INDEX="15" NAME="C_MEM0_HIGHADDR" VALUE="0xffffffff"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="MEMORY" MPD_INDEX="16" NAME="C_MEM1_BASEADDR" VALUE="0xffffffff"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="MEMORY" MPD_INDEX="17" NAME="C_MEM1_HIGHADDR" VALUE="0x00000000"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="MEMORY" MPD_INDEX="18" NAME="C_MEM2_BASEADDR" VALUE="0xffffffff"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="MEMORY" MPD_INDEX="19" NAME="C_MEM2_HIGHADDR" VALUE="0x00000000"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="MEMORY" MPD_INDEX="20" NAME="C_MEM3_BASEADDR" VALUE="0xffffffff"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="MEMORY" MPD_INDEX="21" NAME="C_MEM3_HIGHADDR" VALUE="0x00000000"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="22" NAME="C_INCLUDE_NEGEDGE_IOREGS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="23" NAME="C_MEM0_WIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="24" NAME="C_MEM1_WIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="25" NAME="C_MEM2_WIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="26" NAME="C_MEM3_WIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="27" NAME="C_MAX_MEM_WIDTH" VALUE="32"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="28" NAME="C_INCLUDE_DATAWIDTH_MATCHING_0" VALUE="1"/>
-      <PARAMETER MPD_INDEX="29" NAME="C_INCLUDE_DATAWIDTH_MATCHING_1" VALUE="0"/>
-      <PARAMETER MPD_INDEX="30" NAME="C_INCLUDE_DATAWIDTH_MATCHING_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="31" NAME="C_INCLUDE_DATAWIDTH_MATCHING_3" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="32" NAME="C_SYNCH_MEM_0" VALUE="1"/>
-      <PARAMETER MPD_INDEX="33" NAME="C_SYNCH_PIPEDELAY_0" VALUE="2"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="34" NAME="C_TCEDV_PS_MEM_0" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="35" NAME="C_TAVDV_PS_MEM_0" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="36" NAME="C_THZCE_PS_MEM_0" VALUE="0"/>
-      <PARAMETER MPD_INDEX="37" NAME="C_THZOE_PS_MEM_0" VALUE="7000"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="38" NAME="C_TWC_PS_MEM_0" VALUE="0"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="39" NAME="C_TWP_PS_MEM_0" VALUE="0"/>
-      <PARAMETER MPD_INDEX="40" NAME="C_TLZWE_PS_MEM_0" VALUE="0"/>
-      <PARAMETER MPD_INDEX="41" NAME="C_SYNCH_MEM_1" VALUE="0"/>
-      <PARAMETER MPD_INDEX="42" NAME="C_SYNCH_PIPEDELAY_1" VALUE="2"/>
-      <PARAMETER MPD_INDEX="43" NAME="C_TCEDV_PS_MEM_1" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="44" NAME="C_TAVDV_PS_MEM_1" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="45" NAME="C_THZCE_PS_MEM_1" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="46" NAME="C_THZOE_PS_MEM_1" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="47" NAME="C_TWC_PS_MEM_1" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="48" NAME="C_TWP_PS_MEM_1" VALUE="12000"/>
-      <PARAMETER MPD_INDEX="49" NAME="C_TLZWE_PS_MEM_1" VALUE="0"/>
-      <PARAMETER MPD_INDEX="50" NAME="C_SYNCH_MEM_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="51" NAME="C_SYNCH_PIPEDELAY_2" VALUE="2"/>
-      <PARAMETER MPD_INDEX="52" NAME="C_TCEDV_PS_MEM_2" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="53" NAME="C_TAVDV_PS_MEM_2" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="54" NAME="C_THZCE_PS_MEM_2" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="55" NAME="C_THZOE_PS_MEM_2" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="56" NAME="C_TWC_PS_MEM_2" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="57" NAME="C_TWP_PS_MEM_2" VALUE="12000"/>
-      <PARAMETER MPD_INDEX="58" NAME="C_TLZWE_PS_MEM_2" VALUE="0"/>
-      <PARAMETER MPD_INDEX="59" NAME="C_SYNCH_MEM_3" VALUE="0"/>
-      <PARAMETER MPD_INDEX="60" NAME="C_SYNCH_PIPEDELAY_3" VALUE="2"/>
-      <PARAMETER MPD_INDEX="61" NAME="C_TCEDV_PS_MEM_3" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="62" NAME="C_TAVDV_PS_MEM_3" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="63" NAME="C_THZCE_PS_MEM_3" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="64" NAME="C_THZOE_PS_MEM_3" VALUE="7000"/>
-      <PARAMETER MPD_INDEX="65" NAME="C_TWC_PS_MEM_3" VALUE="15000"/>
-      <PARAMETER MPD_INDEX="66" NAME="C_TWP_PS_MEM_3" VALUE="12000"/>
-      <PARAMETER MPD_INDEX="67" NAME="C_TLZWE_PS_MEM_3" VALUE="0"/>
-      <PARAMETER MPD_INDEX="68" NAME="C_MCH0_PROTOCOL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="69" NAME="C_MCH0_ACCESSBUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="70" NAME="C_MCH0_RDDATABUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="71" NAME="C_MCH1_PROTOCOL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="72" NAME="C_MCH1_ACCESSBUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="73" NAME="C_MCH1_RDDATABUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="74" NAME="C_MCH2_PROTOCOL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="75" NAME="C_MCH2_ACCESSBUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="76" NAME="C_MCH2_RDDATABUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="77" NAME="C_MCH3_PROTOCOL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="78" NAME="C_MCH3_ACCESSBUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="79" NAME="C_MCH3_RDDATABUF_DEPTH" VALUE="16"/>
-      <PARAMETER MPD_INDEX="80" NAME="C_XCL0_LINESIZE" VALUE="4"/>
-      <PARAMETER MPD_INDEX="81" NAME="C_XCL0_WRITEXFER" VALUE="1"/>
-      <PARAMETER MPD_INDEX="82" NAME="C_XCL1_LINESIZE" VALUE="4"/>
-      <PARAMETER MPD_INDEX="83" NAME="C_XCL1_WRITEXFER" VALUE="1"/>
-      <PARAMETER MPD_INDEX="84" NAME="C_XCL2_LINESIZE" VALUE="4"/>
-      <PARAMETER MPD_INDEX="85" NAME="C_XCL2_WRITEXFER" VALUE="1"/>
-      <PARAMETER MPD_INDEX="86" NAME="C_XCL3_LINESIZE" VALUE="4"/>
-      <PARAMETER MPD_INDEX="87" NAME="C_XCL3_WRITEXFER" VALUE="1"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="79" NAME="Mem_A" SIGNAME="fpga_0_SRAM_Mem_A_split" VECFORMULA="[0:(C_MCH_SPLB_AWIDTH-1)]">
-        <DESCRIPTION>Memory Address Bus</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="85" NAME="Mem_BEN" SIGNAME="fpga_0_SRAM_Mem_BEN" VECFORMULA="[0:((C_MAX_MEM_WIDTH/8)-1)]">
-        <DESCRIPTION>Memory Byte Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="83" NAME="Mem_WEN" SIGNAME="fpga_0_SRAM_Mem_WEN">
-        <DESCRIPTION>Memory Write Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="IO" INMHS="TRUE" MPD_INDEX="75" NAME="Mem_DQ" SIGNAME="fpga_0_SRAM_Mem_DQ" VECFORMULA="[0:(C_MAX_MEM_WIDTH-1)]">
-        <DESCRIPTION>Memory Data Bus</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="82" NAME="Mem_OEN" SIGNAME="fpga_0_SRAM_Mem_OEN" VECFORMULA="[0:(C_NUM_BANKS_MEM-1)]">
-        <DESCRIPTION>Memory Output Enable</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="81" NAME="Mem_CEN" SIGNAME="fpga_0_SRAM_Mem_CEN" VECFORMULA="[0:(C_NUM_BANKS_MEM-1)]">
-        <DESCRIPTION>Memory Chip Enable Active Low</DESCRIPTION>
-      </PORT>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="87" NAME="Mem_ADV_LDN" SIGNAME="fpga_0_SRAM_Mem_ADV_LDN">
-        <DESCRIPTION>Memory Advanced Burst Address/Load New Address</DESCRIPTION>
-      </PORT>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="1" NAME="RdClk" SIGIS="CLK" SIGNAME="sys_clk_s"/>
-      <PORT DIR="I" MPD_INDEX="0" NAME="MCH_PLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="MCH_PLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="MCH0_Access_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="MCH0_Access_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="MCH0_Access_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="6" NAME="MCH0_Access_Full" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="7" NAME="MCH0_ReadData_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="8" NAME="MCH0_ReadData_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="MCH0_ReadData_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="10" NAME="MCH0_ReadData_Exists" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="MCH1_Access_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="MCH1_Access_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="MCH1_Access_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="14" NAME="MCH1_Access_Full" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="15" NAME="MCH1_ReadData_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="16" NAME="MCH1_ReadData_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="MCH1_ReadData_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="18" NAME="MCH1_ReadData_Exists" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="MCH2_Access_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="MCH2_Access_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="MCH2_Access_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="22" NAME="MCH2_Access_Full" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="23" NAME="MCH2_ReadData_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="24" NAME="MCH2_ReadData_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="MCH2_ReadData_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="MCH2_ReadData_Exists" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="27" NAME="MCH3_Access_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="28" NAME="MCH3_Access_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="29" NAME="MCH3_Access_Write" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="MCH3_Access_Full" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="MCH3_ReadData_Control" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="MCH3_ReadData_Data" SIGNAME="__DEF__" VECFORMULA="[0:(C_MCH_NATIVE_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="33" NAME="MCH3_ReadData_Read" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="MCH3_ReadData_Exists" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="35" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="36" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="37" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="38" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="39" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="40" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="41" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="42" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="43" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="44" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="45" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="46" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="47" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="48" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="49" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="50" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="51" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="52" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="53" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="54" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="55" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="56" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="57" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="58" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="59" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="60" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="61" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="62" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="63" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="64" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="65" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="66" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="67" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="68" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="69" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="70" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="71" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="72" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="73" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="74" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="I" MPD_INDEX="76" NAME="Mem_DQ_I" SIGNAME="__NOC__" VECFORMULA="[0:(C_MAX_MEM_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="77" NAME="Mem_DQ_O" SIGNAME="__NOC__" VECFORMULA="[0:(C_MAX_MEM_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="78" NAME="Mem_DQ_T" SIGNAME="__NOC__" VECFORMULA="[0:(C_MAX_MEM_WIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="80" NAME="Mem_RPN" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="84" NAME="Mem_QWEN" SIGNAME="__NOC__" VECFORMULA="[0:((C_MAX_MEM_WIDTH/8)-1)]"/>
-      <PORT DIR="O" MPD_INDEX="86" NAME="Mem_CE" SIGNAME="__NOC__" VECFORMULA="[0:(C_NUM_BANKS_MEM-1)]"/>
-      <PORT DIR="O" MPD_INDEX="88" NAME="Mem_LBON" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="89" NAME="Mem_CKEN" SIGNAME="__NOC__"/>
-      <PORT DIR="O" MPD_INDEX="90" NAME="Mem_RNW" SIGNAME="__NOC__"/>
-      <BUSINTERFACE BIFRANK="TARGET" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_MEMORY_CHANNEL" MPD_INDEX="1" NAME="MCH0"/>
-      <BUSINTERFACE BIFRANK="TARGET" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_MEMORY_CHANNEL" MPD_INDEX="2" NAME="MCH1"/>
-      <BUSINTERFACE BIFRANK="TARGET" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_MEMORY_CHANNEL" ISVALID="FALSE" MPD_INDEX="3" NAME="MCH2"/>
-      <BUSINTERFACE BIFRANK="TARGET" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_MEMORY_CHANNEL" ISVALID="FALSE" MPD_INDEX="4" NAME="MCH3"/>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0xfff00000" BASENAME="C_MEM0_BASEADDR" BASEVALUE="4293918720" HIGH="0xffffffff" HIGHNAME="C_MEM0_HIGHADDR" HIGHVALUE="4294967295" IS_CACHEABLE="TRUE" SIZE="1048576" SIZEABRV="1M">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-            <MEMBUSINTERFACE NAME="MCH0"/>
-            <MEMBUSINTERFACE NAME="MCH1"/>
-            <MEMBUSINTERFACE NAME="MCH2"/>
-            <MEMBUSINTERFACE NAME="MCH3"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-        <MEMRANGE BASE="0xffffffff" BASENAME="C_MEM1_BASEADDR" BASEVALUE="4294967295" HIGH="0x00000000" HIGHNAME="C_MEM1_HIGHADDR" HIGHVALUE="0" ISVALID="FALSE" IS_CACHEABLE="TRUE" SIZE="0" SIZEABRV="U">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-            <MEMBUSINTERFACE NAME="MCH0"/>
-            <MEMBUSINTERFACE NAME="MCH1"/>
-            <MEMBUSINTERFACE NAME="MCH2"/>
-            <MEMBUSINTERFACE NAME="MCH3"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-        <MEMRANGE BASE="0xffffffff" BASENAME="C_MEM2_BASEADDR" BASEVALUE="4294967295" HIGH="0x00000000" HIGHNAME="C_MEM2_HIGHADDR" HIGHVALUE="0" ISVALID="FALSE" IS_CACHEABLE="TRUE" SIZE="0" SIZEABRV="U">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-            <MEMBUSINTERFACE NAME="MCH0"/>
-            <MEMBUSINTERFACE NAME="MCH1"/>
-            <MEMBUSINTERFACE NAME="MCH2"/>
-            <MEMBUSINTERFACE NAME="MCH3"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-        <MEMRANGE BASE="0xffffffff" BASENAME="C_MEM3_BASEADDR" BASEVALUE="4294967295" HIGH="0x00000000" HIGHNAME="C_MEM3_HIGHADDR" HIGHVALUE="0" ISVALID="FALSE" IS_CACHEABLE="TRUE" SIZE="0" SIZEABRV="U">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-            <MEMBUSINTERFACE NAME="MCH0"/>
-            <MEMBUSINTERFACE NAME="MCH1"/>
-            <MEMBUSINTERFACE NAME="MCH2"/>
-            <MEMBUSINTERFACE NAME="MCH3"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/generic_v1_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/util_bus_split_v1_00_a/doc/util_bus_split.pdf" GROUP="E" HWVERSION="1.00.a" INSTANCE="SRAM_util_bus_split_0" IPTYPE="PERIPHERAL" MHS_INDEX="8" MODCLASS="IP" MODTYPE="util_bus_split" SAV_INDEX="11">
-      <DESCRIPTION TYPE="SHORT">Utility Bus Split</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Bus splitting primitive</DESCRIPTION>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="0" NAME="C_SIZE_IN" VALUE="32"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="1" NAME="C_LEFT_POS" VALUE="9"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="2" NAME="C_SPLIT" VALUE="30"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="0" NAME="Sig" SIGNAME="fpga_0_SRAM_Mem_A_split" VECFORMULA="[0:C_SIZE_IN-1]"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="1" NAME="Out1" SIGNAME="fpga_0_SRAM_Mem_A" VECFORMULA="[C_LEFT_POS:C_SPLIT-1]"/>
-      <PORT DIR="O" MPD_INDEX="2" NAME="Out2" SIGNAME="__NOC__" VECFORMULA="[C_SPLIT:C_SIZE_IN-1]"/>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/generic_v1_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/clock_generator_v2_01_a/doc/html.pdf" GROUP="G" HWVERSION="2.01.a" INSTANCE="clock_generator_0" IPTYPE="PERIPHERAL" MHS_INDEX="9" MODCLASS="IP" MODTYPE="clock_generator" SAV_INDEX="10">
-      <DESCRIPTION TYPE="SHORT">Clock Generator</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Clock generator for processor system.</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_CLK_GEN" VALUE="0"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_NUM_PLL" VALUE="0"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_NUM_DCM" VALUE="0"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_CLKOUT0_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_CLKOUT0_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_CLKOUT1_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_CLKOUT1_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_CLKOUT2_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_CLKOUT2_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_CLKOUT3_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_CLKOUT3_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_CLKOUT4_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_CLKOUT4_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_CLKOUT5_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_CLKOUT5_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_CLKOUT6_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="18" NAME="C_CLKOUT6_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="19" NAME="C_CLKOUT7_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="20" NAME="C_CLKOUT7_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="21" NAME="C_CLKOUT8_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="22" NAME="C_CLKOUT8_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="23" NAME="C_CLKOUT9_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="24" NAME="C_CLKOUT9_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="25" NAME="C_CLKOUT10_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="26" NAME="C_CLKOUT10_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="27" NAME="C_CLKOUT11_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="28" NAME="C_CLKOUT11_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="29" NAME="C_CLKOUT12_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="30" NAME="C_CLKOUT12_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="31" NAME="C_CLKOUT13_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="32" NAME="C_CLKOUT13_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="33" NAME="C_CLKOUT14_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="34" NAME="C_CLKOUT14_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="35" NAME="C_CLKOUT15_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="36" NAME="C_CLKOUT15_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="37" NAME="C_CLKFBOUT_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="38" NAME="C_CLKFBOUT_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="39" NAME="C_PLL0_DIVCLK_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="40" NAME="C_PLL0_CLKFBOUT_MULT" VALUE="1"/>
-      <PARAMETER MPD_INDEX="41" NAME="C_PLL0_CLKFBOUT_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="42" NAME="C_PLL0_CLKIN1_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="43" NAME="C_PLL0_CLKOUT0_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="44" NAME="C_PLL0_CLKOUT0_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="45" NAME="C_PLL0_CLKOUT0_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="46" NAME="C_PLL0_CLKOUT1_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="47" NAME="C_PLL0_CLKOUT1_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="48" NAME="C_PLL0_CLKOUT1_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="49" NAME="C_PLL0_CLKOUT2_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="50" NAME="C_PLL0_CLKOUT2_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="51" NAME="C_PLL0_CLKOUT2_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="52" NAME="C_PLL0_CLKOUT3_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="53" NAME="C_PLL0_CLKOUT3_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="54" NAME="C_PLL0_CLKOUT3_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="55" NAME="C_PLL0_CLKOUT4_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="56" NAME="C_PLL0_CLKOUT4_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="57" NAME="C_PLL0_CLKOUT4_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="58" NAME="C_PLL0_CLKOUT5_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="59" NAME="C_PLL0_CLKOUT5_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="60" NAME="C_PLL0_CLKOUT5_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="61" NAME="C_PLL0_BANDWIDTH" VALUE="OPTIMIZED"/>
-      <PARAMETER MPD_INDEX="62" NAME="C_PLL0_COMPENSATION" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="63" NAME="C_PLL0_REF_JITTER" VALUE="0.100000"/>
-      <PARAMETER MPD_INDEX="64" NAME="C_PLL0_RESET_ON_LOSS_OF_LOCK" VALUE="false"/>
-      <PARAMETER MPD_INDEX="65" NAME="C_PLL0_RST_DEASSERT_CLK" VALUE="CLKIN1"/>
-      <PARAMETER MPD_INDEX="66" NAME="C_PLL0_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="67" NAME="C_PLL0_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="68" NAME="C_PLL0_CLKOUT0_DESKEW_ADJUST" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="69" NAME="C_PLL0_CLKOUT1_DESKEW_ADJUST" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="70" NAME="C_PLL0_CLKOUT2_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="71" NAME="C_PLL0_CLKOUT3_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="72" NAME="C_PLL0_CLKOUT4_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="73" NAME="C_PLL0_CLKOUT5_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="74" NAME="C_PLL0_CLKFBOUT_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="75" NAME="C_PLL0_CLKIN1_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="76" NAME="C_PLL0_CLKFBOUT_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="77" NAME="C_PLL0_CLKOUT0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="78" NAME="C_PLL0_CLKOUT1_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="79" NAME="C_PLL0_CLKOUT2_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="80" NAME="C_PLL0_CLKOUT3_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="81" NAME="C_PLL0_CLKOUT4_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="82" NAME="C_PLL0_CLKOUT5_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="83" NAME="C_PLL0_CLKIN1_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="84" NAME="C_PLL0_CLKIN1_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="85" NAME="C_PLL0_CLKFBIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="86" NAME="C_PLL0_CLKFBIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="87" NAME="C_PLL0_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="88" NAME="C_PLL1_DIVCLK_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="89" NAME="C_PLL1_CLKFBOUT_MULT" VALUE="1"/>
-      <PARAMETER MPD_INDEX="90" NAME="C_PLL1_CLKFBOUT_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="91" NAME="C_PLL1_CLKIN1_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="92" NAME="C_PLL1_CLKOUT0_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="93" NAME="C_PLL1_CLKOUT0_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="94" NAME="C_PLL1_CLKOUT0_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="95" NAME="C_PLL1_CLKOUT1_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="96" NAME="C_PLL1_CLKOUT1_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="97" NAME="C_PLL1_CLKOUT1_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="98" NAME="C_PLL1_CLKOUT2_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="99" NAME="C_PLL1_CLKOUT2_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="100" NAME="C_PLL1_CLKOUT2_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="101" NAME="C_PLL1_CLKOUT3_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="102" NAME="C_PLL1_CLKOUT3_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="103" NAME="C_PLL1_CLKOUT3_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="104" NAME="C_PLL1_CLKOUT4_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="105" NAME="C_PLL1_CLKOUT4_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="106" NAME="C_PLL1_CLKOUT4_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="107" NAME="C_PLL1_CLKOUT5_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="108" NAME="C_PLL1_CLKOUT5_DUTY_CYCLE" VALUE="0.500000"/>
-      <PARAMETER MPD_INDEX="109" NAME="C_PLL1_CLKOUT5_PHASE" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="110" NAME="C_PLL1_BANDWIDTH" VALUE="OPTIMIZED"/>
-      <PARAMETER MPD_INDEX="111" NAME="C_PLL1_COMPENSATION" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="112" NAME="C_PLL1_REF_JITTER" VALUE="0.100000"/>
-      <PARAMETER MPD_INDEX="113" NAME="C_PLL1_RESET_ON_LOSS_OF_LOCK" VALUE="false"/>
-      <PARAMETER MPD_INDEX="114" NAME="C_PLL1_RST_DEASSERT_CLK" VALUE="CLKIN1"/>
-      <PARAMETER MPD_INDEX="115" NAME="C_PLL1_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="116" NAME="C_PLL1_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="117" NAME="C_PLL1_CLKOUT0_DESKEW_ADJUST" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="118" NAME="C_PLL1_CLKOUT1_DESKEW_ADJUST" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="119" NAME="C_PLL1_CLKOUT2_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="120" NAME="C_PLL1_CLKOUT3_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="121" NAME="C_PLL1_CLKOUT4_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="122" NAME="C_PLL1_CLKOUT5_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="123" NAME="C_PLL1_CLKFBOUT_DESKEW_ADJUST" VALUE="PPC"/>
-      <PARAMETER MPD_INDEX="124" NAME="C_PLL1_CLKIN1_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="125" NAME="C_PLL1_CLKFBOUT_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="126" NAME="C_PLL1_CLKOUT0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="127" NAME="C_PLL1_CLKOUT1_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="128" NAME="C_PLL1_CLKOUT2_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="129" NAME="C_PLL1_CLKOUT3_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="130" NAME="C_PLL1_CLKOUT4_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="131" NAME="C_PLL1_CLKOUT5_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="132" NAME="C_PLL1_CLKIN1_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="133" NAME="C_PLL1_CLKIN1_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="134" NAME="C_PLL1_CLKFBIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="135" NAME="C_PLL1_CLKFBIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="136" NAME="C_PLL1_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="137" NAME="C_DCM0_DFS_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="138" NAME="C_DCM0_DLL_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="139" NAME="C_DCM0_DUTY_CYCLE_CORRECTION" VALUE="true"/>
-      <PARAMETER MPD_INDEX="140" NAME="C_DCM0_CLKIN_DIVIDE_BY_2" VALUE="false"/>
-      <PARAMETER MPD_INDEX="141" NAME="C_DCM0_CLK_FEEDBACK" VALUE="1X"/>
-      <PARAMETER MPD_INDEX="142" NAME="C_DCM0_CLKOUT_PHASE_SHIFT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="143" NAME="C_DCM0_DSS_MODE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="144" NAME="C_DCM0_STARTUP_WAIT" VALUE="false"/>
-      <PARAMETER MPD_INDEX="145" NAME="C_DCM0_PHASE_SHIFT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="146" NAME="C_DCM0_CLKFX_MULTIPLY" VALUE="4"/>
-      <PARAMETER MPD_INDEX="147" NAME="C_DCM0_CLKFX_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="148" NAME="C_DCM0_CLKDV_DIVIDE" VALUE="2.000000"/>
-      <PARAMETER MPD_INDEX="149" NAME="C_DCM0_CLKIN_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="150" NAME="C_DCM0_DESKEW_ADJUST" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="151" NAME="C_DCM0_CLKIN_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="152" NAME="C_DCM0_CLKFB_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="153" NAME="C_DCM0_CLK0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="154" NAME="C_DCM0_CLK90_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="155" NAME="C_DCM0_CLK180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="156" NAME="C_DCM0_CLK270_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="157" NAME="C_DCM0_CLKDV_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="158" NAME="C_DCM0_CLKDV180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="159" NAME="C_DCM0_CLK2X_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="160" NAME="C_DCM0_CLK2X180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="161" NAME="C_DCM0_CLKFX_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="162" NAME="C_DCM0_CLKFX180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="163" NAME="C_DCM0_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="164" NAME="C_DCM0_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="165" NAME="C_DCM0_CLKIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="166" NAME="C_DCM0_CLKIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="167" NAME="C_DCM0_CLKFB_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="168" NAME="C_DCM0_CLKFB_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="169" NAME="C_DCM0_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="170" NAME="C_DCM1_DFS_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="171" NAME="C_DCM1_DLL_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="172" NAME="C_DCM1_DUTY_CYCLE_CORRECTION" VALUE="true"/>
-      <PARAMETER MPD_INDEX="173" NAME="C_DCM1_CLKIN_DIVIDE_BY_2" VALUE="false"/>
-      <PARAMETER MPD_INDEX="174" NAME="C_DCM1_CLK_FEEDBACK" VALUE="1X"/>
-      <PARAMETER MPD_INDEX="175" NAME="C_DCM1_CLKOUT_PHASE_SHIFT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="176" NAME="C_DCM1_DSS_MODE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="177" NAME="C_DCM1_STARTUP_WAIT" VALUE="false"/>
-      <PARAMETER MPD_INDEX="178" NAME="C_DCM1_PHASE_SHIFT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="179" NAME="C_DCM1_CLKFX_MULTIPLY" VALUE="4"/>
-      <PARAMETER MPD_INDEX="180" NAME="C_DCM1_CLKFX_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="181" NAME="C_DCM1_CLKDV_DIVIDE" VALUE="2.000000"/>
-      <PARAMETER MPD_INDEX="182" NAME="C_DCM1_CLKIN_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="183" NAME="C_DCM1_DESKEW_ADJUST" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="184" NAME="C_DCM1_CLKIN_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="185" NAME="C_DCM1_CLKFB_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="186" NAME="C_DCM1_CLK0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="187" NAME="C_DCM1_CLK90_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="188" NAME="C_DCM1_CLK180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="189" NAME="C_DCM1_CLK270_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="190" NAME="C_DCM1_CLKDV_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="191" NAME="C_DCM1_CLKDV180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="192" NAME="C_DCM1_CLK2X_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="193" NAME="C_DCM1_CLK2X180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="194" NAME="C_DCM1_CLKFX_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="195" NAME="C_DCM1_CLKFX180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="196" NAME="C_DCM1_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="197" NAME="C_DCM1_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="198" NAME="C_DCM1_CLKIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="199" NAME="C_DCM1_CLKIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="200" NAME="C_DCM1_CLKFB_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="201" NAME="C_DCM1_CLKFB_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="202" NAME="C_DCM1_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="203" NAME="C_DCM2_DFS_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="204" NAME="C_DCM2_DLL_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="205" NAME="C_DCM2_DUTY_CYCLE_CORRECTION" VALUE="true"/>
-      <PARAMETER MPD_INDEX="206" NAME="C_DCM2_CLKIN_DIVIDE_BY_2" VALUE="false"/>
-      <PARAMETER MPD_INDEX="207" NAME="C_DCM2_CLK_FEEDBACK" VALUE="1X"/>
-      <PARAMETER MPD_INDEX="208" NAME="C_DCM2_CLKOUT_PHASE_SHIFT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="209" NAME="C_DCM2_DSS_MODE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="210" NAME="C_DCM2_STARTUP_WAIT" VALUE="false"/>
-      <PARAMETER MPD_INDEX="211" NAME="C_DCM2_PHASE_SHIFT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="212" NAME="C_DCM2_CLKFX_MULTIPLY" VALUE="4"/>
-      <PARAMETER MPD_INDEX="213" NAME="C_DCM2_CLKFX_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="214" NAME="C_DCM2_CLKDV_DIVIDE" VALUE="2.000000"/>
-      <PARAMETER MPD_INDEX="215" NAME="C_DCM2_CLKIN_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="216" NAME="C_DCM2_DESKEW_ADJUST" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="217" NAME="C_DCM2_CLKIN_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="218" NAME="C_DCM2_CLKFB_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="219" NAME="C_DCM2_CLK0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="220" NAME="C_DCM2_CLK90_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="221" NAME="C_DCM2_CLK180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="222" NAME="C_DCM2_CLK270_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="223" NAME="C_DCM2_CLKDV_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="224" NAME="C_DCM2_CLKDV180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="225" NAME="C_DCM2_CLK2X_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="226" NAME="C_DCM2_CLK2X180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="227" NAME="C_DCM2_CLKFX_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="228" NAME="C_DCM2_CLKFX180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="229" NAME="C_DCM2_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="230" NAME="C_DCM2_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="231" NAME="C_DCM2_CLKIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="232" NAME="C_DCM2_CLKIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="233" NAME="C_DCM2_CLKFB_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="234" NAME="C_DCM2_CLKFB_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="235" NAME="C_DCM2_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="236" NAME="C_DCM3_DFS_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="237" NAME="C_DCM3_DLL_FREQUENCY_MODE" VALUE="LOW"/>
-      <PARAMETER MPD_INDEX="238" NAME="C_DCM3_DUTY_CYCLE_CORRECTION" VALUE="true"/>
-      <PARAMETER MPD_INDEX="239" NAME="C_DCM3_CLKIN_DIVIDE_BY_2" VALUE="false"/>
-      <PARAMETER MPD_INDEX="240" NAME="C_DCM3_CLK_FEEDBACK" VALUE="1X"/>
-      <PARAMETER MPD_INDEX="241" NAME="C_DCM3_CLKOUT_PHASE_SHIFT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="242" NAME="C_DCM3_DSS_MODE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="243" NAME="C_DCM3_STARTUP_WAIT" VALUE="false"/>
-      <PARAMETER MPD_INDEX="244" NAME="C_DCM3_PHASE_SHIFT" VALUE="0"/>
-      <PARAMETER MPD_INDEX="245" NAME="C_DCM3_CLKFX_MULTIPLY" VALUE="4"/>
-      <PARAMETER MPD_INDEX="246" NAME="C_DCM3_CLKFX_DIVIDE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="247" NAME="C_DCM3_CLKDV_DIVIDE" VALUE="2.000000"/>
-      <PARAMETER MPD_INDEX="248" NAME="C_DCM3_CLKIN_PERIOD" VALUE="0.000000"/>
-      <PARAMETER MPD_INDEX="249" NAME="C_DCM3_DESKEW_ADJUST" VALUE="SYSTEM_SYNCHRONOUS"/>
-      <PARAMETER MPD_INDEX="250" NAME="C_DCM3_CLKIN_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="251" NAME="C_DCM3_CLKFB_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="252" NAME="C_DCM3_CLK0_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="253" NAME="C_DCM3_CLK90_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="254" NAME="C_DCM3_CLK180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="255" NAME="C_DCM3_CLK270_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="256" NAME="C_DCM3_CLKDV_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="257" NAME="C_DCM3_CLKDV180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="258" NAME="C_DCM3_CLK2X_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="259" NAME="C_DCM3_CLK2X180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="260" NAME="C_DCM3_CLKFX_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="261" NAME="C_DCM3_CLKFX180_BUF" VALUE="false"/>
-      <PARAMETER MPD_INDEX="262" NAME="C_DCM3_EXT_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="263" NAME="C_DCM3_FAMILY" VALUE="virtex5"/>
-      <PARAMETER MPD_INDEX="264" NAME="C_DCM3_CLKIN_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="265" NAME="C_DCM3_CLKIN_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="266" NAME="C_DCM3_CLKFB_MODULE" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="267" NAME="C_DCM3_CLKFB_PORT" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="268" NAME="C_DCM3_RST_MODULE" VALUE="NONE"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="269" NAME="C_CLKIN_FREQ" VALUE="100000000"/>
-      <PARAMETER MPD_INDEX="270" NAME="C_CLKIN_BUF" VALUE="FALSE"/>
-      <PARAMETER MPD_INDEX="271" NAME="C_CLKFBIN_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="272" NAME="C_CLKFBIN_BUF" VALUE="FALSE"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="273" NAME="C_CLKOUT0_FREQ" VALUE="200000000"/>
-      <PARAMETER MPD_INDEX="274" NAME="C_CLKOUT0_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="275" NAME="C_CLKOUT0_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="276" NAME="C_CLKOUT0_BUF" VALUE="TRUE"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="277" NAME="C_CLKOUT1_FREQ" VALUE="100000000"/>
-      <PARAMETER MPD_INDEX="278" NAME="C_CLKOUT1_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="279" NAME="C_CLKOUT1_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="280" NAME="C_CLKOUT1_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="281" NAME="C_CLKOUT2_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="282" NAME="C_CLKOUT2_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="283" NAME="C_CLKOUT2_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="284" NAME="C_CLKOUT2_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="285" NAME="C_CLKOUT3_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="286" NAME="C_CLKOUT3_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="287" NAME="C_CLKOUT3_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="288" NAME="C_CLKOUT3_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="289" NAME="C_CLKOUT4_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="290" NAME="C_CLKOUT4_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="291" NAME="C_CLKOUT4_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="292" NAME="C_CLKOUT4_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="293" NAME="C_CLKOUT5_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="294" NAME="C_CLKOUT5_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="295" NAME="C_CLKOUT5_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="296" NAME="C_CLKOUT5_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="297" NAME="C_CLKOUT6_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="298" NAME="C_CLKOUT6_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="299" NAME="C_CLKOUT6_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="300" NAME="C_CLKOUT6_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="301" NAME="C_CLKOUT7_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="302" NAME="C_CLKOUT7_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="303" NAME="C_CLKOUT7_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="304" NAME="C_CLKOUT7_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="305" NAME="C_CLKOUT8_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="306" NAME="C_CLKOUT8_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="307" NAME="C_CLKOUT8_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="308" NAME="C_CLKOUT8_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="309" NAME="C_CLKOUT9_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="310" NAME="C_CLKOUT9_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="311" NAME="C_CLKOUT9_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="312" NAME="C_CLKOUT9_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="313" NAME="C_CLKOUT10_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="314" NAME="C_CLKOUT10_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="315" NAME="C_CLKOUT10_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="316" NAME="C_CLKOUT10_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="317" NAME="C_CLKOUT11_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="318" NAME="C_CLKOUT11_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="319" NAME="C_CLKOUT11_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="320" NAME="C_CLKOUT11_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="321" NAME="C_CLKOUT12_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="322" NAME="C_CLKOUT12_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="323" NAME="C_CLKOUT12_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="324" NAME="C_CLKOUT12_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="325" NAME="C_CLKOUT13_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="326" NAME="C_CLKOUT13_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="327" NAME="C_CLKOUT13_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="328" NAME="C_CLKOUT13_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="329" NAME="C_CLKOUT14_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="330" NAME="C_CLKOUT14_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="331" NAME="C_CLKOUT14_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="332" NAME="C_CLKOUT14_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="333" NAME="C_CLKOUT15_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="334" NAME="C_CLKOUT15_PHASE" VALUE="0"/>
-      <PARAMETER MPD_INDEX="335" NAME="C_CLKOUT15_GROUP" VALUE="NONE"/>
-      <PARAMETER MPD_INDEX="336" NAME="C_CLKOUT15_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="337" NAME="C_CLKFBOUT_FREQ" VALUE="0"/>
-      <PARAMETER MPD_INDEX="338" NAME="C_CLKFBOUT_BUF" VALUE="TRUE"/>
-      <PARAMETER MPD_INDEX="339" NAME="C_SPEEDGRADE" VALUE="DEFAULT"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="2" NAME="CLKOUT0" SIGIS="CLK" SIGNAME="proc_clk_s"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="3" NAME="CLKOUT1" SIGIS="CLK" SIGNAME="sys_clk_s"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="0" NAME="CLKIN" SIGIS="CLK" SIGNAME="dcm_clk_s"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="20" NAME="LOCKED" SIGNAME="Dcm_all_locked"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="19" NAME="RST" SIGIS="RST" SIGNAME="net_gnd"/>
-      <PORT DIR="I" ISVALID="FALSE" MPD_INDEX="1" NAME="CLKFBIN" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="4" NAME="CLKOUT2" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="5" NAME="CLKOUT3" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="6" NAME="CLKOUT4" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="7" NAME="CLKOUT5" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="8" NAME="CLKOUT6" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="9" NAME="CLKOUT7" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="10" NAME="CLKOUT8" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="11" NAME="CLKOUT9" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="12" NAME="CLKOUT10" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="13" NAME="CLKOUT11" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="14" NAME="CLKOUT12" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="15" NAME="CLKOUT13" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="16" NAME="CLKOUT14" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="17" NAME="CLKOUT15" SIGIS="CLK" SIGNAME="__NOC__"/>
-      <PORT DIR="O" ISVALID="FALSE" MPD_INDEX="18" NAME="CLKFBOUT" SIGIS="CLK" SIGNAME="__NOC__"/>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/generic_v1_00_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/proc_sys_reset_v2_00_a/doc/proc_sys_reset.pdf" GROUP="H" HWVERSION="2.00.a" INSTANCE="proc_sys_reset_0" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="10" MODCLASS="PERIPHERAL" MODTYPE="proc_sys_reset" SAV_INDEX="4">
-      <DESCRIPTION TYPE="SHORT">Processor System Reset Module</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">Reset management module</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_SUBFAMILY" VALUE="lx"/>
-      <PARAMETER MPD_INDEX="1" NAME="C_EXT_RST_WIDTH" VALUE="4"/>
-      <PARAMETER MPD_INDEX="2" NAME="C_AUX_RST_WIDTH" VALUE="4"/>
-      <PARAMETER CHANGEDBY="USER" MPD_INDEX="3" NAME="C_EXT_RESET_HIGH" VALUE="0"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_AUX_RESET_HIGH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_NUM_BUS_RST" VALUE="1"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_NUM_PERP_RST" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_FAMILY" VALUE="virtex5"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BIF_X="1" BIF_Y="0" BUSNAME="ppc_reset_bus" BUSSTD="XIL" BUS_STD="XIL_RESETPPC" MPD_INDEX="0" NAME="RESETPPC0"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="0" NAME="Slowest_sync_clk" SIGIS="CLK" SIGNAME="sys_clk_s"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="10" NAME="Dcm_locked" SIGNAME="Dcm_all_locked"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="1" NAME="Ext_Reset_In" SIGIS="RST" SIGNAME="sys_rst_s"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="18" NAME="Bus_Struct_Reset" SIGIS="RST" SIGNAME="sys_bus_reset" VECFORMULA="[0:C_NUM_BUS_RST-1]"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="19" NAME="Peripheral_Reset" SIGIS="RST" SIGNAME="sys_periph_reset" VECFORMULA="[0:C_NUM_PERP_RST-1]"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="Aux_Reset_In" SIGIS="RST" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="MB_Debug_Sys_Rst" SIGIS="RST" SIGNAME="__NOC__"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="Core_Reset_Req_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="Chip_Reset_Req_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="System_Reset_Req_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="Core_Reset_Req_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="Chip_Reset_Req_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="System_Reset_Req_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="11" NAME="RstcPPCresetcore_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="12" NAME="RstcPPCresetchip_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="13" NAME="RstcPPCresetsys_0" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="14" NAME="RstcPPCresetcore_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="15" NAME="RstcPPCresetchip_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="16" NAME="RstcPPCresetsys_1" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="17" NAME="MB_Reset" SIGIS="RST" SIGNAME="__NOC__"/>
-      <BUSINTERFACE BIFRANK="INITIATOR" BUSNAME="__NOC__" BUSSTD="XIL" BUS_STD="XIL_RESETPPC" MPD_INDEX="1" NAME="RESETPPC1"/>
-    </MODULE>
-    <MODULE DOC_DRIVER="C:/devtools/Xilinx/10.1/EDK/sw/XilinxProcessorIPLib/drivers/intc_v1_11_a/doc/html/api/index.html" DOC_IP="C:/devtools/Xilinx/10.1/EDK/hw/XilinxProcessorIPLib/pcores/xps_intc_v1_00_a/doc/xps_intc.pdf" HWVERSION="1.00.a" INSTANCE="xps_intc_0" INTCINDEX="0" IPTYPE="PERIPHERAL" IS_PLACED="TRUE" MHS_INDEX="11" MODCLASS="INTERRUPT_CNTLR" MODTYPE="xps_intc" PROCESSOR="ppc405_0" SAV_INDEX="7">
-      <DESCRIPTION TYPE="SHORT">XPS Interrupt Controller</DESCRIPTION>
-      <DESCRIPTION TYPE="LONG">intc core attached to the PLBV46</DESCRIPTION>
-      <PARAMETER MPD_INDEX="0" NAME="C_FAMILY" VALUE="virtex5"/>
-      <PARAMETER ADDRESS="BASE" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="1" NAME="C_BASEADDR" VALUE="0x81800000"/>
-      <PARAMETER ADDRESS="HIGH" ADDR_TYPE="REGISTER" CHANGEDBY="USER" MPD_INDEX="2" NAME="C_HIGHADDR" VALUE="0x8180ffff"/>
-      <PARAMETER MPD_INDEX="3" NAME="C_SPLB_AWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="4" NAME="C_SPLB_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="5" NAME="C_SPLB_P2P" VALUE="0"/>
-      <PARAMETER MPD_INDEX="6" NAME="C_SPLB_NUM_MASTERS" VALUE="1"/>
-      <PARAMETER MPD_INDEX="7" NAME="C_SPLB_MID_WIDTH" VALUE="1"/>
-      <PARAMETER MPD_INDEX="8" NAME="C_SPLB_NATIVE_DWIDTH" VALUE="32"/>
-      <PARAMETER MPD_INDEX="9" NAME="C_SPLB_SUPPORT_BURSTS" VALUE="0"/>
-      <PARAMETER MPD_INDEX="10" NAME="C_NUM_INTR_INPUTS" VALUE="2"/>
-      <PARAMETER MPD_INDEX="11" NAME="C_KIND_OF_INTR" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="12" NAME="C_KIND_OF_EDGE" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="13" NAME="C_KIND_OF_LVL" VALUE="0xffffffff"/>
-      <PARAMETER MPD_INDEX="14" NAME="C_HAS_IPR" VALUE="1"/>
-      <PARAMETER MPD_INDEX="15" NAME="C_HAS_SIE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="16" NAME="C_HAS_CIE" VALUE="1"/>
-      <PARAMETER MPD_INDEX="17" NAME="C_HAS_IVR" VALUE="1"/>
-      <PARAMETER MPD_INDEX="18" NAME="C_IRQ_ACTIVE" VALUE="1"/>
-      <BUSINTERFACE BIFRANK="SLAVE" BUSNAME="plb" BUSSTD="PLBV46" BUS_STD="PLBV46" MPD_INDEX="0" NAME="SPLB"/>
-      <PORT DIR="O" INMHS="TRUE" MPD_INDEX="43" NAME="Irq" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="EICC405EXTINPUTIRQ"/>
-      <PORT DIR="I" INMHS="TRUE" MPD_INDEX="42" NAME="Intr" SENSITIVITY="EDGE_RISING" SIGIS="INTERRUPT" SIGNAME="RS232_Uart_Interrupt" VECFORMULA="[(C_NUM_INTR_INPUTS-1):0]"/>
-      <PORT DIR="I" MPD_INDEX="0" NAME="SPLB_Clk" SIGIS="CLK" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="1" NAME="SPLB_Rst" SIGIS="RST" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="2" NAME="PLB_ABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="3" NAME="PLB_PAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="4" NAME="PLB_masterID" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_MID_WIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="5" NAME="PLB_RNW" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="6" NAME="PLB_BE" SIGNAME="__DEF__" VECFORMULA="[0:((C_SPLB_DWIDTH/8)-1)]"/>
-      <PORT DIR="I" MPD_INDEX="7" NAME="PLB_size" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="I" MPD_INDEX="8" NAME="PLB_type" SIGNAME="__DEF__" VECFORMULA="[0:2]"/>
-      <PORT DIR="I" MPD_INDEX="9" NAME="PLB_wrDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="I" MPD_INDEX="10" NAME="PLB_UABus" SIGNAME="__DEF__" VECFORMULA="[0:31]"/>
-      <PORT DIR="I" MPD_INDEX="11" NAME="PLB_SAValid" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="12" NAME="PLB_rdPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="13" NAME="PLB_wrPrim" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="14" NAME="PLB_abort" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="15" NAME="PLB_busLock" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="16" NAME="PLB_MSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="17" NAME="PLB_lockErr" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="18" NAME="PLB_wrBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="19" NAME="PLB_rdBurst" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="20" NAME="PLB_wrPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="21" NAME="PLB_rdPendReq" SIGNAME="__DEF__"/>
-      <PORT DIR="I" MPD_INDEX="22" NAME="PLB_wrPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="23" NAME="PLB_rdPendPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="24" NAME="PLB_reqPri" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="I" MPD_INDEX="25" NAME="PLB_TAttribute" SIGNAME="__DEF__" VECFORMULA="[0:15]"/>
-      <PORT DIR="O" MPD_INDEX="26" NAME="Sl_addrAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="27" NAME="Sl_SSize" SIGNAME="__DEF__" VECFORMULA="[0:1]"/>
-      <PORT DIR="O" MPD_INDEX="28" NAME="Sl_wait" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="29" NAME="Sl_rearbitrate" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="30" NAME="Sl_wrDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="31" NAME="Sl_wrComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="32" NAME="Sl_rdDBus" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_DWIDTH-1)]"/>
-      <PORT DIR="O" MPD_INDEX="33" NAME="Sl_rdDAck" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="34" NAME="Sl_rdComp" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="35" NAME="Sl_MBusy" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="36" NAME="Sl_MWrErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="37" NAME="Sl_MRdErr" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <PORT DIR="O" MPD_INDEX="38" NAME="Sl_wrBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="39" NAME="Sl_rdWdAddr" SIGNAME="__DEF__" VECFORMULA="[0:3]"/>
-      <PORT DIR="O" MPD_INDEX="40" NAME="Sl_rdBTerm" SIGNAME="__DEF__"/>
-      <PORT DIR="O" MPD_INDEX="41" NAME="Sl_MIRQ" SIGNAME="__DEF__" VECFORMULA="[0:(C_SPLB_NUM_MASTERS-1)]"/>
-      <INTERRUPTSRCS>
-        <INTRSRC INSTANCE="RS232_Uart" PRIORITY="0" SIGNAME="RS232_Uart_Interrupt"/>
-      </INTERRUPTSRCS>
-      <MEMORYMAP>
-        <MEMRANGE BASE="0x81800000" BASENAME="C_BASEADDR" BASEVALUE="2172649472" HIGH="0x8180ffff" HIGHNAME="C_HIGHADDR" HIGHVALUE="2172715007" MINSIZE="0x20" SIZE="65536" SIZEABRV="64K">
-          <MEMBUSINTERFACES>
-            <MEMBUSINTERFACE NAME="SPLB"/>
-          </MEMBUSINTERFACES>
-        </MEMRANGE>
-      </MEMORYMAP>
-    </MODULE>
-  </MODULES>
-
-  <EXTERNALPORTS>
-    <PORT DIR="I" MHS_INDEX="0" NAME="fpga_0_RS232_Uart_RX_pin" SIGNAME="fpga_0_RS232_Uart_RX"/>
-    <PORT DIR="O" MHS_INDEX="1" NAME="fpga_0_RS232_Uart_TX_pin" SIGNAME="fpga_0_RS232_Uart_TX"/>
-    <PORT DIR="IO" ENDIAN="LITTLE" LSB="0" MHS_INDEX="2" MSB="3" NAME="fpga_0_LEDs_4Bit_GPIO_IO_pin" SIGNAME="fpga_0_LEDs_4Bit_GPIO_IO"/>
-    <PORT DIR="IO" ENDIAN="BIG" LSB="0" MHS_INDEX="3" MSB="4" NAME="fpga_0_LEDs_Positions_GPIO_IO_pin" SIGNAME="fpga_0_LEDs_Positions_GPIO_IO"/>
-    <PORT DIR="I" MHS_INDEX="4" NAME="fpga_0_SysACE_CompactFlash_SysACE_CLK_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_CLK"/>
-    <PORT DIR="O" ENDIAN="LITTLE" LSB="6" MHS_INDEX="5" MSB="1" NAME="fpga_0_SysACE_CompactFlash_SysACE_MPA_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPA"/>
-    <PORT DIR="IO" ENDIAN="BIG" LSB="15" MHS_INDEX="6" MSB="0" NAME="fpga_0_SysACE_CompactFlash_SysACE_MPD_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPD"/>
-    <PORT DIR="O" MHS_INDEX="7" NAME="fpga_0_SysACE_CompactFlash_SysACE_CEN_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_CEN"/>
-    <PORT DIR="O" MHS_INDEX="8" NAME="fpga_0_SysACE_CompactFlash_SysACE_OEN_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_OEN"/>
-    <PORT DIR="O" MHS_INDEX="9" NAME="fpga_0_SysACE_CompactFlash_SysACE_WEN_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_WEN"/>
-    <PORT DIR="I" MHS_INDEX="10" NAME="fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin" SIGNAME="fpga_0_SysACE_CompactFlash_SysACE_MPIRQ"/>
-    <PORT DIR="O" ENDIAN="LITTLE" LSB="9" MHS_INDEX="11" MSB="29" NAME="fpga_0_SRAM_Mem_A_pin" SIGNAME="fpga_0_SRAM_Mem_A"/>
-    <PORT DIR="O" ENDIAN="BIG" LSB="0" MHS_INDEX="12" MSB="3" NAME="fpga_0_SRAM_Mem_BEN_pin" SIGNAME="fpga_0_SRAM_Mem_BEN"/>
-    <PORT DIR="O" MHS_INDEX="13" NAME="fpga_0_SRAM_Mem_WEN_pin" SIGNAME="fpga_0_SRAM_Mem_WEN"/>
-    <PORT DIR="IO" ENDIAN="LITTLE" LSB="0" MHS_INDEX="14" MSB="31" NAME="fpga_0_SRAM_Mem_DQ_pin" SIGNAME="fpga_0_SRAM_Mem_DQ"/>
-    <PORT DIR="O" ENDIAN="BIG" LSB="0" MHS_INDEX="15" MSB="0" NAME="fpga_0_SRAM_Mem_OEN_pin" SIGNAME="fpga_0_SRAM_Mem_OEN"/>
-    <PORT DIR="O" ENDIAN="LITTLE" LSB="0" MHS_INDEX="16" MSB="0" NAME="fpga_0_SRAM_Mem_CEN_pin" SIGNAME="fpga_0_SRAM_Mem_CEN"/>
-    <PORT DIR="O" MHS_INDEX="17" NAME="fpga_0_SRAM_Mem_ADV_LDN_pin" SIGNAME="fpga_0_SRAM_Mem_ADV_LDN"/>
-    <PORT DIR="O" MHS_INDEX="18" NAME="fpga_0_SRAM_CLOCK" SIGNAME="sys_clk_s"/>
-    <PORT CLKFREQUENCY="100000000" DIR="I" MHS_INDEX="19" NAME="sys_clk_pin" SIGIS="CLK" SIGNAME="dcm_clk_s"/>
-    <PORT DIR="I" MHS_INDEX="20" NAME="sys_rst_pin" RSTPOLARITY="0" SIGIS="RST" SIGNAME="sys_rst_s"/>
-  </EXTERNALPORTS>
-
-  <BLKDSHAPES STACK_HORIZ_WIDTH="1">
-    <PROCSHAPES>
-      <MODULE BIFS_H="2" BIFS_W="2" INSTANCE="ppc405_0" IS_ABVSBS="TRUE" SHAPE_VERTI_INDEX="2" STACK_HORIZ_INDEX="0"/>
-    </PROCSHAPES>
-    <IPBUCKET MODS_H="1" MODS_W="2">
-      <MODULE INSTANCE="SRAM_util_bus_split_0" IS_PLACED="TRUE" MODTYPE="util_bus_split"/>
-      <MODULE INSTANCE="clock_generator_0" IS_PLACED="TRUE" MODTYPE="clock_generator"/>
-    </IPBUCKET>
-    <SBSSHAPES>
-      <MODULE INSTANCE="plb"/>
-    </SBSSHAPES>
-    <SBSBUCKETS>
-      <SBSBUCKET BUSINDEX="0" BUSNAME="plb" BUSSTD="PLBV46" IS_BLWSBS="TRUE" MODS_H="2" MODS_W="3" SHAPE_VERTI_INDEX="3" STACK_HORIZ_INDEX="0">
-        <MODULE INSTANCE="RS232_Uart" MODTYPE="xps_uartlite"/>
-        <MODULE INSTANCE="LEDs_4Bit" MODTYPE="xps_gpio"/>
-        <MODULE INSTANCE="LEDs_Positions" MODTYPE="xps_gpio"/>
-        <MODULE INSTANCE="SysACE_CompactFlash" MODTYPE="xps_sysace"/>
-        <MODULE INSTANCE="SRAM" MODTYPE="xps_mch_emc"/>
-        <MODULE INSTANCE="xps_intc_0" MODTYPE="xps_intc"/>
-      </SBSBUCKET>
-    </SBSBUCKETS>
-    <CMPLXSHAPES>
-      <CMPLXSHAPE IS_ABVSBS="TRUE" MODCLASS="PERIPHERAL" MODS_H="1" MODS_W="1" SHAPE_ID="0" SHAPE_VERTI_INDEX="0" STACK_HORIZ_INDEX="0">
-        <MODULE BIFS_H="1" BIFS_W="2" INSTANCE="jtagppc_0" MODCLASS="PERIPHERAL"/>
-      </CMPLXSHAPE>
-      <CMPLXSHAPE IS_ABVSBS="TRUE" MODCLASS="PERIPHERAL" MODS_H="1" MODS_W="1" SHAPE_ID="1" SHAPE_VERTI_INDEX="1" STACK_HORIZ_INDEX="0">
-        <MODULE BIFS_H="1" BIFS_W="2" INSTANCE="proc_sys_reset_0" MODCLASS="PERIPHERAL"/>
-      </CMPLXSHAPE>
-    </CMPLXSHAPES>
-    <BCLANESPACES>
-      <BCLANESPACE BUSLANES_W="4" EAST="0">
-        <BUSCONNLANE BUSLANE_X="2" BUSNAME="jtagppc_0_0" BUSSTD="XIL" IS_ABVSBS="TRUE" ORIENTED="EAST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIF_Y="0" BUSINTERFACE="JTAGPPC" INSTANCE="ppc405_0" IS_PROCCONN="TRUE"/>
-          <BUSCONN BUSINTERFACE="JTAGPPC0" BUSSTD="XIL" INSTANCE="jtagppc_0"/>
-        </BUSCONNLANE>
-        <BUSCONNLANE BUSLANE_X="2" BUSNAME="plb" BUSSTD="PLBV46" IS_BLWSBS="TRUE" IS_SBSCONN="TRUE" ORIENTED="EAST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIF_Y="1" BUSINTERFACE="DPLB0" INSTANCE="ppc405_0" IS_PROCCONN="TRUE"/>
-        </BUSCONNLANE>
-        <BUSCONNLANE BUSLANE_X="1" BUSNAME="plb" BUSSTD="PLBV46" IS_BKTCONN="TRUE" IS_BLWSBS="TRUE" ORIENTED="EAST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIFRANK="SLAVE" BUSINTERFACE="SPLBV46"/>
-        </BUSCONNLANE>
-      </BCLANESPACE>
-      <BCLANESPACE BUSLANES_W="3" WEST="0">
-        <BUSCONNLANE BUSLANE_X="1" BUSNAME="plb" BUSSTD="PLBV46" IS_BLWSBS="TRUE" IS_SBSCONN="TRUE" ORIENTED="WEST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIF_Y="1" BUSINTERFACE="IPLB0" INSTANCE="ppc405_0" IS_PROCCONN="TRUE"/>
-        </BUSCONNLANE>
-        <BUSCONNLANE BUSLANE_X="1" BUSNAME="ppc_reset_bus" BUSSTD="XIL" IS_ABVSBS="TRUE" ORIENTED="WEST" STACK_HORIZ_INDEX="0">
-          <BUSCONN BIF_Y="0" BUSINTERFACE="RESETPPC" INSTANCE="ppc405_0" IS_PROCCONN="TRUE"/>
-          <BUSCONN BUSINTERFACE="RESETPPC0" BUSSTD="XIL" INSTANCE="proc_sys_reset_0"/>
-        </BUSCONNLANE>
-      </BCLANESPACE>
-    </BCLANESPACES>
-  </BLKDSHAPES>
-
-</EDKSYSTEM>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/bitinit.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/bitinit.opt
deleted file mode 100644 (file)
index 3645236..0000000
+++ /dev/null
@@ -1 +0,0 @@
-   -pe ppc405_0  $(PPC405_0_BOOTLOOP) \r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/libgen.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/libgen.opt
deleted file mode 100644 (file)
index 77b1548..0000000
+++ /dev/null
@@ -1 +0,0 @@
- -p virtex4\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/platgen.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/platgen.opt
deleted file mode 100644 (file)
index 25299b7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
- -p xc4vfx12ff668-10 -lang vhdl
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt
deleted file mode 100644 (file)
index 1f68b9b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-ppc405_0\r
-RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c  RTOSDemo/flop/flop.c RTOSDemo/flop/flop-reg-test.c\r
-RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h \r
-RTOSDEMO_CC = powerpc-eabi-gcc\r
-RTOSDEMO_CC_SIZE = powerpc-eabi-size\r
-RTOSDEMO_CC_OPT = -O0\r
-RTOSDEMO_CFLAGS = -I./RTOSDemo/flop -I../../Source/portable/GCC/PPC405_Xilinx -I./ppc405_0/include/  -IRTOSDemo/   -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames -Wextra\r
-RTOSDEMO_CC_SEARCH = # -B\r
-RTOSDEMO_LIBPATH = -L./ppc405_0/lib/ # -L\r
-RTOSDEMO_INCLUDES = -I./ppc405_0/include/  -IRTOSDemo/ # -I\r
-RTOSDEMO_LFLAGS = # -l\r
-RTOSDEMO_LINKER_SCRIPT = RTOSDemo/RTOSDemo_linker_script.ld\r
-RTOSDEMO_CC_DEBUG_FLAG =  -g \r
-RTOSDEMO_CC_PROFILE_FLAG = # -pg\r
-RTOSDEMO_CC_GLOBPTR_FLAG= # -msdata=eabi\r
-RTOSDEMO_CC_INFERRED_FLAGS= \r
-RTOSDEMO_CC_START_ADDR_FLAG=  #  # -Wl,-defsym -Wl,_START_ADDR=\r
-RTOSDEMO_CC_STACK_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_STACK_SIZE=\r
-RTOSDEMO_CC_HEAP_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_HEAP_SIZE=\r
-                  $(RTOSDEMO_CC_INFERRED_FLAGS)  \\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/simgen.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/simgen.opt
deleted file mode 100644 (file)
index cbd5239..0000000
+++ /dev/null
@@ -1 +0,0 @@
- -p virtex4 -lang vhdl   -pe ppc405_0  $(PPC405_0_BOOTLOOP)  -s mti -X C:/E/temp/rc/3/V5.0.2/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/ -E C:/E/temp/rc/3/V5.0.2/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system.gui b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system.gui
deleted file mode 100644 (file)
index 3de5c6a..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-
-<PRO_GUISETTING VIEWSTATUS="BIFS_TREE">
-  <GUISETTING HSCROLL="0" ID="BIFS_TREE" SPSIZE1="114" SPSIZE2="978" VSCROLL="0">
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="151"/>
-
-    <COLHDR INDEX="4" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="156"/>
-
-    <COLHDR INDEX="6" NAME="Bus Standard" VISIBLE="FALSE" WIDTH="0"/>
-
-    <COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
-
-    <COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>
-
-    <COLHDR INDEX="5" NAME="Mastership" VISIBLE="FALSE" WIDTH="0"/>
-
-    <COLHDR INDEX="3" NAME="IP CLASSIFICATION" VISIBLE="FALSE" WIDTH="0"/>
-
-    <EXPANDED/>
-
-</GUISETTING>
-  <GUISETTING HSCROLL="0" ID="PORTS_TREE" VSCROLL="0">
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="200"/>
-
-    <COLHDR INDEX="1" NAME="Net" VISIBLE="TRUE" WIDTH="200"/>
-
-    <COLHDR INDEX="2" NAME="Direction" VISIBLE="TRUE" WIDTH="98"/>
-
-    <COLHDR INDEX="4" NAME="Range" VISIBLE="TRUE" WIDTH="200"/>
-
-    <COLHDR INDEX="3" NAME="Class" VISIBLE="TRUE" WIDTH="81"/>
-
-    <COLHDR INDEX="5" NAME="Frequency" VISIBLE="TRUE" WIDTH="106"/>
-
-    <COLHDR INDEX="6" NAME="Reset Polarity" VISIBLE="TRUE" WIDTH="121"/>
-
-    <COLHDR INDEX="9" NAME="Sensitivity" VISIBLE="TRUE" WIDTH="103"/>
-
-    <COLHDR INDEX="7" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
-
-    <COLHDR INDEX="8" NAME="IP Version" VISIBLE="FALSE" WIDTH="0"/>
-
-    <EXPANDED/>
-
-</GUISETTING>
-  <GUISETTING HSCROLL="0" ID="ADDRESSES_TREE" VSCROLL="0">                            
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="153"/>                            
-
-    <COLHDR INDEX="3" NAME="Base Address" VISIBLE="TRUE" WIDTH="121"/>                            
-
-    <COLHDR INDEX="4" NAME="High Address" VISIBLE="TRUE" WIDTH="119"/>                            
-
-    <COLHDR INDEX="5" NAME="Size" VISIBLE="TRUE" WIDTH="76"/>                            
-
-    <COLHDR INDEX="7" NAME="Bus Interface(s)" VISIBLE="TRUE" WIDTH="130"/>                            
-
-    <COLHDR INDEX="10" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="131"/>                            
-
-    <COLHDR INDEX="6" NAME="Lock" VISIBLE="TRUE" WIDTH="80"/>                            
-
-    <COLHDR INDEX="9" NAME="ICache" VISIBLE="TRUE" WIDTH="90"/>                            
-
-    <COLHDR INDEX="8" NAME="DCache" VISIBLE="TRUE" WIDTH="95"/>                            
-
-    <COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>                            
-
-    <COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>                            
-
-    <EXPANDED/>
-
-</GUISETTING>
-  <GUISETTING COLSORT="0" HSCROLL="0" ID="ADDRESSES_FLAT" SORTORE="1" VSCROLL="0">
-
-    <COLHDR INDEX="11" NAME="Instance" VISIBLE="TRUE" WIDTH="115"/>
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="153"/>
-
-    <COLHDR INDEX="3" NAME="Base Address" VISIBLE="TRUE" WIDTH="121"/>
-
-    <COLHDR INDEX="4" NAME="High Address" VISIBLE="TRUE" WIDTH="119"/>
-
-    <COLHDR INDEX="5" NAME="Size" VISIBLE="TRUE" WIDTH="76"/>
-
-    <COLHDR INDEX="7" NAME="Bus Interface(s)" VISIBLE="TRUE" WIDTH="130"/>
-
-    <COLHDR INDEX="10" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="131"/>
-
-    <COLHDR INDEX="6" NAME="Lock" VISIBLE="TRUE" WIDTH="80"/>
-
-    <COLHDR INDEX="9" NAME="ICache" VISIBLE="TRUE" WIDTH="90"/>
-
-    <COLHDR INDEX="8" NAME="DCache" VISIBLE="TRUE" WIDTH="95"/>
-
-    <COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
-
-    <COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>
-
-</GUISETTING></PRO_GUISETTING>\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system_routed b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system_routed
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt
deleted file mode 100644 (file)
index 39ff0ed..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-ppc405_0\r
-TESTAPP_PERIPHERAL_SOURCES = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xintc_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_selftest_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_intr_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xgpio_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xsysace_selftest_example.c \r
-TESTAPP_PERIPHERAL_HEADERS = /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/intc_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_intr_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/gpio_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/sysace_header.h \r
-TESTAPP_PERIPHERAL_CC = powerpc-eabi-gcc\r
-TESTAPP_PERIPHERAL_CC_SIZE = powerpc-eabi-size\r
-TESTAPP_PERIPHERAL_CC_OPT = -O0\r
-TESTAPP_PERIPHERAL_CFLAGS = \r
-TESTAPP_PERIPHERAL_CC_SEARCH = # -B\r
-TESTAPP_PERIPHERAL_LIBPATH = -L./ppc405_0/lib/ # -L\r
-TESTAPP_PERIPHERAL_INCLUDES = -I./ppc405_0/include/  -ITestApp_Peripheral/src/ # -I\r
-TESTAPP_PERIPHERAL_LFLAGS = # -l\r
-TESTAPP_PERIPHERAL_LINKER_SCRIPT = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral_LinkScr.ld\r
-TESTAPP_PERIPHERAL_CC_DEBUG_FLAG =  -g \r
-TESTAPP_PERIPHERAL_CC_PROFILE_FLAG = # -pg\r
-TESTAPP_PERIPHERAL_CC_GLOBPTR_FLAG= # -msdata=eabi\r
-TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS= -mfpu=sp_full \r
-TESTAPP_PERIPHERAL_CC_START_ADDR_FLAG=  #  # -Wl,-defsym -Wl,_START_ADDR=\r
-TESTAPP_PERIPHERAL_CC_STACK_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_STACK_SIZE=\r
-TESTAPP_PERIPHERAL_CC_HEAP_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_HEAP_SIZE=\r
-                  $(TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS)  \\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/vpgen.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/vpgen.opt
deleted file mode 100644 (file)
index 8ea8f66..0000000
+++ /dev/null
@@ -1 +0,0 @@
- -p xc4vfx12ff668-10\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xplorer.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xplorer.opt
deleted file mode 100644 (file)
index 37e5b11..0000000
+++ /dev/null
@@ -1 +0,0 @@
--device xc4vfx12ff668-10data/system.ucf7 0\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt
deleted file mode 100644 (file)
index 33391f0..0000000
+++ /dev/null
@@ -1 +0,0 @@
--device xc4vfx12ff668-10data/system.ucf 0\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd
deleted file mode 100644 (file)
index 110f5ce..0000000
+++ /dev/null
@@ -1,1704 +0,0 @@
-<!-- =====================================================================
-  This is the DTD for SVG 1.0.
-
-  The specification for SVG that corresponds to this DTD is available at:
-
-    http://www.w3.org/TR/2001/REC-SVG-20010904/
-
-  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
-
-  For SVG 1.0:
-
-    Namespace:
-      http://www.w3.org/2000/svg  
-
-    Public identifier:
-      PUBLIC "-//W3C//DTD SVG 1.0//EN"
-
-    URI for the DTD:
-      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
-============================================================================= -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Data types 
-     ============================================================== -->
-
-<!ENTITY % BaselineShiftValue "CDATA">
-    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->
-
-<!ENTITY % Boolean "(false | true)">
-    <!-- feature specification -->
-
-<!ENTITY % ClassList "CDATA">
-    <!-- list of classes -->
-
-<!ENTITY % ClipValue "CDATA">
-    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
-
-<!ENTITY % ClipPathValue "CDATA">
-    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
-    <!-- 'clip-rule' or fill-rule property/attribute value -->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % Coordinate "CDATA">
-    <!-- a <coordinate> -->
-
-<!ENTITY % Coordinates "CDATA">
-    <!-- a list of <coordinate>s -->
-
-<!ENTITY % Color "CDATA">
-    <!-- a <color> value -->
-
-<!ENTITY % CursorValue "CDATA">
-    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
-
-<!ENTITY % EnableBackgroundValue "CDATA">
-    <!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->
-
-<!ENTITY % ExtensionList "CDATA">
-    <!-- extension list specification -->
-
-<!ENTITY % FeatureList "CDATA">
-    <!-- feature list specification -->
-
-<!ENTITY % FilterValue "CDATA">
-    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % FontFamilyValue "CDATA">
-    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
-
-<!ENTITY % FontSizeValue "CDATA">
-    <!-- 'font-size' property/attribute value -->
-
-<!ENTITY % FontSizeAdjustValue "CDATA">
-    <!-- 'font-size-adjust' property/attribute value -->
-
-<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
-    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->
-
-<!ENTITY % GlyphOrientationVerticalValue "CDATA">
-    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->
-
-<!ENTITY % Integer "CDATA">
-    <!-- a <integer> -->
-
-<!ENTITY % KerningValue "CDATA">
-    <!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % LanguageCodes "CDATA">
-    <!-- comma-separated list of language codes, as per [RFC3066] -->
-
-<!ENTITY % Length "CDATA">
-    <!-- a <length> -->
-
-<!ENTITY % Lengths "CDATA">
-    <!-- a list of <length>s -->
-
-<!ENTITY % LinkTarget "NMTOKEN">
-    <!-- link to this target -->
-
-<!ENTITY % MarkerValue "CDATA">
-    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MaskValue "CDATA">
-    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- comma-separated list of media descriptors. -->
-
-<!ENTITY % Number "CDATA">
-    <!-- a <number> -->
-
-<!ENTITY % NumberOptionalNumber "CDATA">
-    <!-- list of <number>s, but at least one and at most two -->
-
-<!ENTITY % NumberOrPercentage "CDATA">
-    <!-- a <number> or a  <percentage> -->
-
-<!ENTITY % Numbers "CDATA">
-    <!-- a list of <number>s -->
-
-<!ENTITY % OpacityValue "CDATA">
-    <!-- opacity value (e.g., <number>) -->
-
-<!ENTITY % Paint "CDATA">
-    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
-
-<!ENTITY % PathData "CDATA">
-    <!-- a path data specification -->
-
-<!ENTITY % Points "CDATA">
-    <!-- a list of points -->
-
-<!ENTITY % PreserveAspectRatioSpec "CDATA">
-    <!-- 'preserveAspectRatio' attribute specification -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % SpacingValue "CDATA">
-    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) -->
-
-<!ENTITY % StrokeDashArrayValue "CDATA">
-    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->
-
-<!ENTITY % StrokeDashOffsetValue "CDATA">
-    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->
-
-<!ENTITY % StrokeMiterLimitValue "CDATA">
-    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
-
-<!ENTITY % StrokeWidthValue "CDATA">
-    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
-
-<!ENTITY % StructuredText
-  "content CDATA #FIXED 'structured text'" >
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % SVGColor "CDATA">
-    <!-- An SVG color value (RGB plus optional ICC) -->
-
-<!ENTITY % Text "CDATA">
-    <!-- arbitrary text string -->
-
-<!ENTITY % TextDecorationValue "CDATA">
-    <!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->
-
-<!ENTITY % TransformList "CDATA">
-    <!-- list of transforms -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [URI] -->
-
-<!ENTITY % ViewBoxSpec "CDATA">
-    <!-- 'viewBox' attribute specification -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of common attributes 
-     ============================================================== -->
-
-<!-- All elements have an ID. -->
-<!ENTITY % stdAttrs
- "id ID #IMPLIED
-  xml:base %URI; #IMPLIED" >
-
-<!-- Common attributes for elements that might contain character data content. -->
-<!ENTITY % langSpaceAttrs
- "xml:lang %LanguageCode; #IMPLIED
-  xml:space (default|preserve) #IMPLIED" >
-
-<!-- Common attributes to check for system capabilities. -->
-<!ENTITY % testAttrs
- "requiredFeatures %FeatureList; #IMPLIED
-  requiredExtensions %ExtensionList; #IMPLIED
-  systemLanguage %LanguageCodes; #IMPLIED" >
-
-<!-- For most uses of URI referencing:
-        standard XLink attributes other than xlink:href. -->
-<!ENTITY % xlinkRefAttrs
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (other) 'other'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->
-<!ENTITY % xlinkRefAttrsEmbed
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (embed) 'embed'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!ENTITY % graphicsElementEvents
-  "onfocusin %Script; #IMPLIED
-   onfocusout %Script; #IMPLIED
-   onactivate %Script; #IMPLIED
-   onclick %Script; #IMPLIED
-   onmousedown %Script; #IMPLIED
-   onmouseup %Script; #IMPLIED
-   onmouseover %Script; #IMPLIED
-   onmousemove %Script; #IMPLIED
-   onmouseout %Script; #IMPLIED
-   onload %Script; #IMPLIED" >
-
-<!ENTITY % documentEvents
-  "onunload %Script; #IMPLIED
-   onabort %Script; #IMPLIED
-   onerror %Script; #IMPLIED
-   onresize %Script; #IMPLIED
-   onscroll %Script; #IMPLIED
-   onzoom %Script; #IMPLIED" >
-
-<!ENTITY % animationEvents
-  "onbegin %Script; #IMPLIED
-   onend %Script; #IMPLIED
-   onrepeat %Script; #IMPLIED" >
-
-<!-- This entity allows for at most one of desc, title and metadata,
-     supplied in any order -->
-<!ENTITY % descTitleMetadata
-          "(((desc,((title,metadata?)|(metadata,title?))?)|
-          (title,((desc,metadata?)|(metadata,desc?))?)|
-          (metadata,((desc,title?)|(title,desc?))?))?)" >
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of presentation attributes 
-     ============================================================== -->
-
-<!-- The following presentation attributes have to do with specifying color. -->
-<!ENTITY % PresentationAttributes-Color
-  "color %Color; #IMPLIED
-   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
-   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to container elements. -->
-<!ENTITY % PresentationAttributes-Containers
-  "enable-background %EnableBackgroundValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'feFlood' elements. -->
-<!ENTITY % PresentationAttributes-feFlood
-  "flood-color %SVGColor; #IMPLIED
-   flood-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filling and stroking operations. -->
-<!ENTITY % PresentationAttributes-FillStroke
-  "fill %Paint; #IMPLIED
-   fill-opacity %OpacityValue; #IMPLIED
-   fill-rule %ClipFillRule; #IMPLIED
-   stroke %Paint; #IMPLIED
-   stroke-dasharray %StrokeDashArrayValue; #IMPLIED
-   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
-   stroke-linecap (butt | round | square | inherit) #IMPLIED
-   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
-   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
-   stroke-opacity %OpacityValue; #IMPLIED
-   stroke-width %StrokeWidthValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filter primitives. -->
-<!ENTITY % PresentationAttributes-FilterPrimitives
-  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes have to do with selecting a font to use. -->
-<!ENTITY % PresentationAttributes-FontSpecification
-  "font-family %FontFamilyValue; #IMPLIED
-   font-size %FontSizeValue; #IMPLIED
-   font-size-adjust %FontSizeAdjustValue; #IMPLIED
-   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |
-                 condensed | semi-condensed | semi-expanded | expanded |
-                 extra-expanded | ultra-expanded | inherit) #IMPLIED
-   font-style (normal | italic | oblique | inherit) #IMPLIED
-   font-variant (normal | small-caps | inherit) #IMPLIED
-   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
-               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to gradient 'stop' elements. -->
-<!ENTITY % PresentationAttributes-Gradients
-  "stop-color %SVGColor; #IMPLIED
-   stop-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to graphics elements. -->
-<!ENTITY % PresentationAttributes-Graphics
-  "clip-path %ClipPathValue; #IMPLIED
-   clip-rule %ClipFillRule; #IMPLIED
-   cursor %CursorValue; #IMPLIED
-   display (inline | block | list-item | run-in | compact | marker |
-            table | inline-table | table-row-group | table-header-group |
-            table-footer-group | table-row | table-column-group | table-column |
-            table-cell | table-caption | none | inherit) #IMPLIED
-   filter %FilterValue; #IMPLIED
-   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
-   mask %MaskValue; #IMPLIED
-   opacity %OpacityValue; #IMPLIED
-   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
-                   painted | fill | stroke | all | none | inherit) #IMPLIED
-   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED
-   text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED
-   visibility (visible | hidden | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'image' elements. -->
-<!ENTITY % PresentationAttributes-Images
-  "color-profile CDATA #IMPLIED " >
-
-<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->
-<!ENTITY % PresentationAttributes-LightingEffects
-  "lighting-color %SVGColor; #IMPLIED " >
-
-<!-- The following presentation attributes apply to marker operations. -->
-<!ENTITY % PresentationAttributes-Markers
-  "marker-start %MarkerValue; #IMPLIED
-   marker-mid %MarkerValue; #IMPLIED
-   marker-end %MarkerValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to text content elements. -->
-<!ENTITY % PresentationAttributes-TextContentElements
-  "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |
-                        middle | bottom | after-edge | text-bottom | text-after-edge |
-                        ideographic | lower | hanging | mathematical | inherit) #IMPLIED
-   baseline-shift %BaselineShiftValue; #IMPLIED
-   direction (ltr | rtl | inherit) #IMPLIED
-   dominant-baseline (auto | autosense-script | no-change | reset|
-                      ideographic | lower | hanging | mathematical | inherit ) #IMPLIED
-   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
-   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
-   kerning %KerningValue; #IMPLIED
-   letter-spacing %SpacingValue; #IMPLIED
-   text-anchor (start | middle | end | inherit) #IMPLIED
-   text-decoration %TextDecorationValue; #IMPLIED
-   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
-   word-spacing %SpacingValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'text' elements. -->
-<!ENTITY % PresentationAttributes-TextElements
-  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to elements that establish viewports. -->
-<!ENTITY % PresentationAttributes-Viewports
-  "clip %ClipValue; #IMPLIED
-   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
-
-<!--The following represents the complete list of presentation attributes. -->
-<!ENTITY % PresentationAttributes-All
-  "%PresentationAttributes-Color;
-   %PresentationAttributes-Containers;
-   %PresentationAttributes-feFlood;
-   %PresentationAttributes-FillStroke;
-   %PresentationAttributes-FilterPrimitives;
-   %PresentationAttributes-FontSpecification;
-   %PresentationAttributes-Gradients;
-   %PresentationAttributes-Graphics;
-   %PresentationAttributes-Images;
-   %PresentationAttributes-LightingEffects;
-   %PresentationAttributes-Markers;
-   %PresentationAttributes-TextContentElements;
-   %PresentationAttributes-TextElements;
-   %PresentationAttributes-Viewports;" >
-
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: DTD extensions 
-     ============================================================== -->
-
-<!-- Allow for extending the DTD with internal subset for 
-     container and graphics elements -->
-<!ENTITY % ceExt "" >
-<!ENTITY % geExt "" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Document Structure 
-     ============================================================== -->
-
-<!ENTITY % svgExt "" >
-<!ELEMENT svg (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%svgExt;)* >
-<!ATTLIST svg
-  xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED 
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify'
-  %graphicsElementEvents;
-  %documentEvents;
-  version %Number; #FIXED "1.0"
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  contentScriptType %ContentType; "text/ecmascript"
-  contentStyleType %ContentType; "text/css" >
-
-<!ENTITY % gExt "" >
-<!ELEMENT g (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%gExt;)* >
-<!ATTLIST g
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % defsExt "" >
-<!ELEMENT defs (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%defsExt;)* >
-<!ATTLIST defs
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % descExt "" >
-<!ELEMENT desc (#PCDATA %descExt;)* >
-<!ATTLIST desc
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % titleExt "" >
-<!ELEMENT title (#PCDATA %titleExt;)* >
-<!ATTLIST title
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % symbolExt "" >
-<!ELEMENT symbol (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%symbolExt;)* >
-<!ATTLIST symbol
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents; >
-
-<!ENTITY % useExt "" >
-<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%useExt;)*) >
-<!ATTLIST use
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-<!ENTITY % imageExt "" >
-<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%imageExt;)*) >
-<!ATTLIST image
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Images;
-  %PresentationAttributes-Viewports;
-  transform %TransformList; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED >
-
-<!ENTITY % switchExt "" >
-<!ELEMENT switch (%descTitleMetadata;,
-                  (path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|switch|a|foreignObject|
-                   animate|set|animateMotion|animateColor|animateTransform
-                   %ceExt;%switchExt;)*) >
-<!ATTLIST switch
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Styling 
-     ============================================================== -->
-
-<!ELEMENT style (#PCDATA) >
-<!ATTLIST style 
-  %stdAttrs;
-  xml:space (preserve) #FIXED "preserve"
-  type %ContentType; #REQUIRED
-  media %MediaDesc; #IMPLIED
-  title %Text; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Paths
-     ============================================================== -->
-
-<!ENTITY % pathExt "" >
-<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%pathExt;)*) >
-<!ATTLIST path
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  d %PathData; #REQUIRED
-  pathLength %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Basic Shapes
-     ============================================================== -->
-
-<!ENTITY % rectExt "" >
-<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%rectExt;)*) >
-<!ATTLIST rect
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  rx %Length; #IMPLIED
-  ry %Length; #IMPLIED >
-
-<!ENTITY % circleExt "" >
-<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%circleExt;)*) >
-<!ATTLIST circle
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #REQUIRED >
-
-<!ENTITY % ellipseExt "" >
-<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%ellipseExt;)*) >
-<!ATTLIST ellipse
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  rx %Length; #REQUIRED
-  ry %Length; #REQUIRED >
-
-<!ENTITY % lineExt "" >
-<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%lineExt;)*) >
-<!ATTLIST line
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED >
-
-<!ENTITY % polylineExt "" >
-<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polylineExt;)*) >
-<!ATTLIST polyline
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-<!ENTITY % polygonExt "" >
-<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polygonExt;)*) >
-<!ATTLIST polygon
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Text
-     ============================================================== -->
-
-<!ENTITY % textExt "" >
-<!ELEMENT text (#PCDATA|desc|title|metadata|
-                tspan|tref|textPath|altGlyph|a|animate|set|
-                animateMotion|animateColor|animateTransform
-                %geExt;%textExt;)* >
-<!ATTLIST text
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % tspanExt "" >
-<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %tspanExt;)* >
-<!ATTLIST tspan
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % trefExt "" >
-<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
-                %trefExt;)* >
-<!ATTLIST tref
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % textPathExt "" >
-<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %textPathExt;)* >
-<!ATTLIST textPath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  startOffset %Length; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED
-  method (align|stretch) #IMPLIED
-  spacing (auto|exact) #IMPLIED >
-
-<!ENTITY % altGlyphExt "" >
-<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
-<!ATTLIST altGlyph
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED 
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED >
-
-<!ENTITY % altGlyphDefExt "" >
-<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
-<!ATTLIST altGlyphDef
-  %stdAttrs; >
-
-<!ENTITY % altGlyphItemExt "" >
-<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
-<!ATTLIST altGlyphItem
-  %stdAttrs; >
-
-<!ELEMENT glyphRef EMPTY >
-<!ATTLIST glyphRef
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-FontSpecification;
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols 
-     ============================================================== -->
-
-<!ENTITY % markerExt "" >
-<!ELEMENT marker (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%markerExt;)* >
-<!ATTLIST marker
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  refX %Coordinate; #IMPLIED
-  refY %Coordinate; #IMPLIED
-  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
-  markerWidth  %Length; #IMPLIED
-  markerHeight %Length; #IMPLIED
-  orient CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Color 
-     ============================================================== -->
-
-<!ELEMENT color-profile (%descTitleMetadata;) >
-<!ATTLIST color-profile 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  local CDATA #IMPLIED  
-  name CDATA #REQUIRED
-  rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
-     ============================================================== -->
-
-<!ENTITY % linearGradientExt "" >
-<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %linearGradientExt;)*) >
-<!ATTLIST linearGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % radialGradientExt "" >
-<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %radialGradientExt;)*) >
-<!ATTLIST radialGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #IMPLIED
-  fx %Coordinate; #IMPLIED
-  fy %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % stopExt "" >
-<!ELEMENT stop (animate|set|animateColor
-                   %stopExt;)* >
-<!ATTLIST stop
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  offset %NumberOrPercentage; #REQUIRED >
-
-<!ENTITY % patternExt "" >
-<!ELEMENT pattern (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%patternExt;)* >
-<!ATTLIST pattern
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternTransform %TransformList; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
-     ============================================================== -->
-
-<!ENTITY % clipPathExt "" >
-<!ELEMENT clipPath (%descTitleMetadata;,
-                    (path|text|rect|circle|ellipse|line|polyline|polygon|
-                     use|animate|set|animateMotion|animateColor|animateTransform
-                     %ceExt;%clipPathExt;)*) >
-<!ATTLIST clipPath
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >
-
-<!ENTITY % maskExt "" >
-<!ELEMENT mask (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%maskExt;)*  >
-<!ATTLIST mask
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Filter Effects
-     ============================================================== -->
-
-<!ENTITY % filterExt "" >
-<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
-  feColorMatrix|feComponentTransfer|
-  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
-  feGaussianBlur|feImage|feMerge|
-  feMorphology|feOffset|feSpecularLighting|
-  feTile|feTurbulence|
-  animate|set
-  %filterExt;)*) >
-<!ATTLIST filter
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  filterRes %NumberOptionalNumber; #IMPLIED >
-
-<!ENTITY % filter_primitive_attributes
-  "x %Coordinate; #IMPLIED
-   y %Coordinate; #IMPLIED
-   width %Length; #IMPLIED
-   height %Length; #IMPLIED
-   result CDATA #IMPLIED" >
-
-<!ENTITY % filter_primitive_attributes_with_in
-  "%filter_primitive_attributes;
-   in CDATA #IMPLIED">
-
-<!ELEMENT feDistantLight (animate|set)* >
-<!ATTLIST feDistantLight
-  %stdAttrs;
-  azimuth %Number; #IMPLIED
-  elevation %Number; #IMPLIED >
-
-<!ELEMENT fePointLight (animate|set)* >
-<!ATTLIST fePointLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED >
-
-<!ELEMENT feSpotLight (animate|set)* >
-<!ATTLIST feSpotLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED
-  pointsAtX %Number; #IMPLIED
-  pointsAtY %Number; #IMPLIED
-  pointsAtZ %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED
-  limitingConeAngle %Number; #IMPLIED >
-
-<!ELEMENT feBlend (animate|set)* >
-<!ATTLIST feBlend
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  mode (normal | multiply | screen | darken | lighten) "normal" >
-
-<!ELEMENT feColorMatrix (animate|set)* >
-<!ATTLIST feColorMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
-  values CDATA #IMPLIED >
-
-<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
-<!ATTLIST feComponentTransfer
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ENTITY % component_transfer_function_attributes
-  "type (identity | table | discrete | linear | gamma) #REQUIRED
-   tableValues CDATA #IMPLIED
-   slope %Number; #IMPLIED
-   intercept %Number; #IMPLIED
-   amplitude %Number; #IMPLIED
-   exponent %Number; #IMPLIED
-   offset %Number; #IMPLIED" >
-
-<!ELEMENT feFuncR (animate|set)* >
-<!ATTLIST feFuncR
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncG (animate|set)* >
-<!ATTLIST feFuncG
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncB (animate|set)* >
-<!ATTLIST feFuncB
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncA (animate|set)* >
-<!ATTLIST feFuncA
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feComposite (animate|set)* >
-<!ATTLIST feComposite
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  operator (over | in | out | atop | xor | arithmetic) "over"
-  k1 %Number; #IMPLIED
-  k2 %Number; #IMPLIED
-  k3 %Number; #IMPLIED
-  k4 %Number; #IMPLIED >
-
-<!ELEMENT feConvolveMatrix (animate|set)* >
-<!ATTLIST feConvolveMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  order %NumberOptionalNumber; #REQUIRED
-  kernelMatrix CDATA #REQUIRED
-  divisor %Number; #IMPLIED
-  bias %Number; #IMPLIED
-  targetX %Integer; #IMPLIED
-  targetY %Integer; #IMPLIED
-  edgeMode (duplicate|wrap|none) "duplicate" 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED 
-  preserveAlpha %Boolean; #IMPLIED >
-
-<!ELEMENT feDiffuseLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feDiffuseLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  diffuseConstant %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feDisplacementMap (animate|set)* >
-<!ATTLIST feDisplacementMap
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  scale %Number; #IMPLIED
-  xChannelSelector (R | G | B | A) "A"
-  yChannelSelector (R | G | B | A) "A" >
-
-<!ELEMENT feFlood (animate|set|animateColor)* >
-<!ATTLIST feFlood
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-feFlood;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feGaussianBlur (animate|set)* >
-<!ATTLIST feGaussianBlur
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  stdDeviation %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feImage (animate|set|animateTransform)* >
-<!ATTLIST feImage
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  %filter_primitive_attributes;
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' >
-
-<!ELEMENT feMerge (feMergeNode)* >
-<!ATTLIST feMerge
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes; >
-
-<!ELEMENT feMergeNode (animate|set)* >
-<!ATTLIST feMergeNode
-  %stdAttrs;
-  in CDATA #IMPLIED >
-
-<!ELEMENT feMorphology (animate|set)* >
-<!ATTLIST feMorphology
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  operator (erode | dilate) "erode"
-  radius %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feOffset (animate|set)* >
-<!ATTLIST feOffset
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-<!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feSpecularLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  specularConstant %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feTile (animate|set)* >
-<!ATTLIST feTile
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feTurbulence (animate|set)* >
-<!ATTLIST feTurbulence
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes;
-  baseFrequency %NumberOptionalNumber; #IMPLIED
-  numOctaves %Integer; #IMPLIED
-  seed %Number; #IMPLIED
-  stitchTiles (stitch | noStitch) "noStitch"
-  type (fractalNoise | turbulence) "turbulence" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Interactivity 
-     ============================================================== -->
-
-<!ELEMENT cursor (%descTitleMetadata;) >
-<!ATTLIST cursor
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Linking
-     ============================================================== -->
-
-<!ENTITY % aExt "" >
-<!ELEMENT a       (#PCDATA|desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%aExt;)* >
-<!ATTLIST a
-  %stdAttrs;
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  xlink:type (simple) #FIXED "simple" 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (new|replace) 'replace'
-  xlink:actuate (onRequest) #FIXED 'onRequest'
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  target %LinkTarget; #IMPLIED >
-
-<!ENTITY % viewExt "" >
-<!ELEMENT view (%descTitleMetadata;%viewExt;) >
-<!ATTLIST view
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify' 
-  viewTarget CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Scripting 
-     ============================================================== -->
-
-<!ELEMENT script (#PCDATA) >
-<!ATTLIST script
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  type %ContentType; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Animation 
-     ============================================================== -->
-
-<!ENTITY % animElementAttrs
- "%xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED" >
-
-<!ENTITY % animAttributeAttrs
- "attributeName  CDATA  #REQUIRED
-  attributeType  CDATA  #IMPLIED" >
-
-<!ENTITY % animTimingAttrs
- "begin CDATA #IMPLIED 
-  dur CDATA #IMPLIED
-  end CDATA #IMPLIED
-  min CDATA #IMPLIED
-  max CDATA #IMPLIED
-  restart (always | never | whenNotActive) 'always'
-  repeatCount CDATA #IMPLIED 
-  repeatDur CDATA #IMPLIED
-  fill (remove | freeze) 'remove'" >
-
-<!ENTITY % animValueAttrs
- "calcMode (discrete | linear | paced | spline) 'linear'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED" >
-
-<!ENTITY % animAdditionAttrs
- "additive       (replace | sum) 'replace'
-  accumulate     (none | sum) 'none'" >
-
-<!ENTITY % animateExt "" >
-<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
-<!ATTLIST animate
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % setExt "" >
-<!ELEMENT set (%descTitleMetadata;%setExt;) >
-<!ATTLIST set
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  to CDATA #IMPLIED >
-
-<!ENTITY % animateMotionExt "" >
-<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
-<!ATTLIST animateMotion
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animTimingAttrs;
-  calcMode (discrete | linear | paced | spline) 'paced'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED
-  %animAdditionAttrs;
-  path CDATA #IMPLIED
-  keyPoints CDATA #IMPLIED
-  rotate CDATA #IMPLIED
-  origin CDATA #IMPLIED >
-
-<!ENTITY % mpathExt "" >
-<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
-<!ATTLIST mpath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  externalResourcesRequired %Boolean; #IMPLIED >
-
-<!ENTITY % animateColorExt "" >
-<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
-<!ATTLIST animateColor
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % animateTransformExt "" >
-<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
-<!ATTLIST animateTransform
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs;
-  type (translate | scale | rotate | skewX | skewY) "translate" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Fonts 
-     ============================================================== -->
-
-<!ENTITY % fontExt "" >
-<!ELEMENT font (%descTitleMetadata;,font-face,
-                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
-<!ATTLIST font
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  horiz-origin-x %Number; #IMPLIED
-  horiz-origin-y %Number; #IMPLIED
-  horiz-adv-x %Number; #REQUIRED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % glyphExt "" >
-<!ELEMENT glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %glyphExt;)* >
-<!ATTLIST glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  unicode CDATA #IMPLIED
-  glyph-name CDATA #IMPLIED
-  d %PathData; #IMPLIED
-  orientation CDATA #IMPLIED
-  arabic-form CDATA #IMPLIED
-  lang %LanguageCodes; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % missing-glyphExt "" >
-<!ELEMENT missing-glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %missing-glyphExt;)* >
-<!ATTLIST missing-glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  d %PathData; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ELEMENT hkern EMPTY >
-<!ATTLIST hkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT vkern EMPTY >
-<!ATTLIST vkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT font-face (%descTitleMetadata;,font-face-src?,definition-src?) >
-<!ATTLIST font-face 
-  %stdAttrs;
-  font-family CDATA #IMPLIED
-  font-style CDATA #IMPLIED
-  font-variant CDATA #IMPLIED
-  font-weight CDATA #IMPLIED
-  font-stretch CDATA #IMPLIED
-  font-size CDATA #IMPLIED
-  unicode-range CDATA #IMPLIED
-  units-per-em %Number; #IMPLIED
-  panose-1 CDATA #IMPLIED
-  stemv %Number; #IMPLIED
-  stemh %Number; #IMPLIED
-  slope %Number; #IMPLIED
-  cap-height %Number; #IMPLIED
-  x-height %Number; #IMPLIED
-  accent-height %Number; #IMPLIED
-  ascent %Number; #IMPLIED
-  descent %Number; #IMPLIED
-  widths CDATA #IMPLIED
-  bbox CDATA #IMPLIED
-  ideographic %Number; #IMPLIED
-  alphabetic %Number; #IMPLIED
-  mathematical %Number; #IMPLIED
-  hanging %Number; #IMPLIED
-  v-ideographic %Number; #IMPLIED
-  v-alphabetic %Number; #IMPLIED
-  v-mathematical %Number; #IMPLIED
-  v-hanging %Number; #IMPLIED
-  underline-position %Number; #IMPLIED
-  underline-thickness %Number; #IMPLIED
-  strikethrough-position %Number; #IMPLIED
-  strikethrough-thickness %Number; #IMPLIED
-  overline-position %Number; #IMPLIED
-  overline-thickness %Number; #IMPLIED >
-
-<!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
-<!ATTLIST font-face-src 
-  %stdAttrs; >
-
-<!ELEMENT font-face-uri (font-face-format*) >
-<!ATTLIST font-face-uri 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-<!ELEMENT font-face-format EMPTY >
-<!ATTLIST font-face-format 
-  %stdAttrs;
-  string CDATA #IMPLIED >
-
-<!ELEMENT font-face-name EMPTY >
-<!ATTLIST font-face-name 
-  %stdAttrs;
-  name CDATA #IMPLIED >
-
-<!ELEMENT definition-src EMPTY >
-<!ATTLIST definition-src 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Metadata 
-     ============================================================== -->
-
-<!ENTITY % metadataExt "" >
-<!ELEMENT metadata (#PCDATA %metadataExt;)* >
-<!ATTLIST metadata
-  %stdAttrs; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Extensibility 
-     ============================================================== -->
-
-<!ENTITY % foreignObjectExt "" >
-<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
-<!ATTLIST foreignObject
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  %StructuredText; >
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.css b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.css
deleted file mode 100644 (file)
index bde7995..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-       text.busintlabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpmctitle {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   16pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Verdana Helvetica sans-serif;
-       }
-       
-       text.mpmcbiflabel {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.buslabel {
-               fill:        #CC3333;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-                       
-       text.iplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: 800;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.iptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.procclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-               
-               
-       text.portlabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipdbiflbl {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.mmMHeader {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mmSHeader {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.dbglabel {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.iopnumb {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ioplblgrp {
-               fill:        #000088;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-       tspan.iopgrp {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               baseline-shift:super;
-               font-family: Arial Courier san-serif;
-       }
-
-
-       text.biflabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.p2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.sharedbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.bciplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.bciptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.splitbustxt {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: sans-serif;
-       }
-
-       text.horizp2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.keytitle {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   12pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keyheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keylabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.keylblul {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               text-decoration: underline;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.specsvalue {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsvaluemid {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.intrsymbol {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.html b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.html
deleted file mode 100644 (file)
index ba4972b..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-<HTML xmlns:exsl="http://exslt.org/common" xmlns:xlink="http://www.w3.org/1999/xlink">
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<TITLE>Block Diagram</TITLE>
-</HEAD>
-<BODY class="main_body">
-<EMBED src="system.svg" width="992" height="1413" type="image/svg+xml"></EMBED><BR><BR><TABLE BGCOLOR="#000000" WIDTH="850" COLS="8" cellspacing="1" cellpadding="1" border="0">
-<TD COLSPAN="8" ALIGN="middle" BGCOLOR="#810017"><SPAN style="color:#FFFFFF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">EXTERNAL PORTS</SPAN></TD>
-<TR></TR>
-<TD COLSPAN="8" ALIGN="middle" bgcolor="#FFFFFF"><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               These are the external ports defined in the MHS file.
-                       </SPAN></TD>
-<TR></TR>
-<TD COLSPAN="8" ALIGN="left" bgcolor="#FFFFFF">
-<SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Attributes Key</SPAN><BR><SPAN style="color:#000000; font: italic 9px Verdana,Arial,Helvetica,sans-serif">The attributes are obtained from the SIGIS and IOB_STATE parameters set on the PORT in the MHS file </SPAN><BR><SPAN style="color:#55FF55; font: bold 12px Verdana,Arial,Helvetica,sans-serif">CLK</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  indicates Clock ports, (SIGIS = CLK) </SPAN><BR><SPAN style="color:#5555FF; font: bold 12px Verdana,Arial,Helvetica,sans-serif">INTR</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  indicates Interrupt ports,(SIGIS = INTR) </SPAN><BR><SPAN style="color:#FFCC00; font: bold 12px Verdana,Arial,Helvetica,sans-serif">RESET</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  indicates Reset ports, (SIGIS = RST) </SPAN><BR><SPAN style="color:#FF5555; font: bold 12px Verdana,Arial,Helvetica,sans-serif">BUF or REG</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  Indicates ports that instantiate or infer IOB primitives, (IOB_STATE = BUF or REG) </SPAN>
-</TD>
-<TR></TR>
-<TD COLSPAN="3" WIDTH="49%"><TABLE BGCOLOR="#000000" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-<TD COLSPAN="1" width="5" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_RX_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_RX</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_TX_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_TX</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_4Bit_GPIO_IO_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:3</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_4Bit_GPIO_IO</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_Positions_GPIO_IO_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:4</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_Positions_GPIO_IO</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_CLK_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_CLK</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPA_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">6:1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPA</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPD_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">15:0</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPD</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_CEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_CEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_OEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_OEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_WEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_WEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SysACE_CompactFlash_SysACE_MPIRQ</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-</TABLE></TD>
-<TD COLSPAN="1" WIDTH="2%" BGCOLOR="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> </SPAN></TD>
-<TD COLSPAN="3" WIDTH="49%"><TABLE BGCOLOR="#000000" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_A_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">9:29</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_A</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_BEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:3</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_BEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_WEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_WEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_DQ_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:31</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_DQ</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_OEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:0</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_OEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_CEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:0</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_CEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_ADV_LDN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_ADV_LDN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_CLOCK</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_clk_s</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_clk_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">dcm_clk_s</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#33CC33; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> CLK </SPAN></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_rst_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_rst_s</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#FFCC00; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> RESET </SPAN></TD>
-<TR></TR>
-<TD COLSPAN="9" WIDTH="100%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#FFFFFF; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> </SPAN></TD>
-</TABLE></TD>
-</TABLE>
-<BR>
-</BODY>
-</HTML>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.svg b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.svg
deleted file mode 100644 (file)
index 182a3ec..0000000
+++ /dev/null
@@ -1,1452 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "svg10.dtd">
-<?xml-stylesheet href="system.css" type="text/css"?>
-<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:exsl="http://exslt.org/common" xmlns:xlink="http://www.w3.org/1999/xlink" width="992" height="1413" viewBox="0 0 0 2826">
-  <defs>
-    <symbol id="KEY_IntrCntrl">
-      <rect x="0" y="0" rx="3" ry="3" width="9" height="18" style="fill:#888888; stroke:none; stroke-width:1"/>
-      <line x1="0" y1="5" x2="9" y2="5" style="stroke:#000000;stroke-width:2"/>
-      <text class="intrsymbol" x="1.5" y="16">x</text>
-    </symbol>
-    <symbol id="KEY_IntrdProc">
-      <rect x="0" y="0" rx="3" ry="3" width="9" height="18" style="fill:#888888; stroke:none; stroke-width:1"/>
-      <line x1="0" y1="3" x2="9" y2="3" style="stroke:#000000;stroke-width:1"/>
-      <line x1="0" y1="7" x2="9" y2="7" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="1.5" y="16">x</text>
-    </symbol>
-    <symbol id="KEY_IntrSrc">
-      <rect x="0" y="0" rx="3" ry="3" width="18" height="9" style="fill:#888888; stroke:none; stroke-width:1"/>
-      <line x1="9" y1="0" x2="9" y2="9" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="2" y="7">y</text>
-      <text class="intrsymbol" x="11" y="7">x</text>
-    </symbol>
-    <symbol id="BlkDiagram_Key">
-      <rect x="0" y="0" width="468" height="250" style="fill:#CCCCCC; stroke:none;"/>
-      <rect x="0" y="0" width="468" height="16" style="fill:#CCCCCC; stroke:none;"/>
-      <text class="keytitle" x="234 " y="14">KEY</text>
-      <rect x="0" y="16" width="468" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="keyheader" x="234 " y="30">SYMBOLS</text>
-      <use x="32" y="47" xlink:href="#KEY_Bif" transform="scale(0.75)"/>
-      <text class="keylabel" x="12" y="60">bus interface</text>
-      <use x="20" y="68" xlink:href="#KEY_SharedBus"/>
-      <text class="keylabel" x="12" y="85">shared bus</text>
-      <text class="keylblul" x="110" y="47">Bus connections</text>
-      <use x="110" y="58" xlink:href="#KEY_busconn_MASTER"/>
-      <text class="keylabel" x="140" y="72">master or initiator</text>
-      <use x="110" y="86" xlink:href="#KEY_busconn_SLAVE"/>
-      <text class="keylabel" x="140" y="100">slave or target</text>
-      <use x="110" y="114" xlink:href="#KEY_busconn_MASTER_SLAVE"/>
-      <text class="keylabel" x="140" y="128">master slave</text>
-      <use x="110" y="142" xlink:href="#KEY_busconn_MONITOR"/>
-      <text class="keylabel" x="140" y="156">monitor</text>
-      <text class="keylblul" x="258" y="47">External Ports</text>
-      <use x="258" y="58" xlink:href="#KEY_INPort"/>
-      <text class="keylabel" x="288" y="72">input</text>
-      <use x="258" y="78" xlink:href="#KEY_OUTPort"/>
-      <text class="keylabel" x="288" y="92">output</text>
-      <use x="258" y="98" xlink:href="#KEY_INOUTPort"/>
-      <text class="keylabel" x="288" y="112">inout</text>
-      <text class="keylblul" x="380" y="47">Interrupts</text>
-      <use x="380" y="58" xlink:href="#KEY_IntrCntrl"/>
-      <text class="keylabel" x="396" y="64">interrupt</text>
-      <text class="keylabel" x="396" y="74">controller</text>
-      <use x="380" y="88" xlink:href="#KEY_IntrdProc"/>
-      <text class="keylabel" x="396" y="94">interrupted</text>
-      <text class="keylabel" x="396" y="104">processor</text>
-      <use x="380" y="118" xlink:href="#KEY_IntrSrc"/>
-      <text class="keylabel" x="400" y="124">interrupt</text>
-      <text class="keylabel" x="400" y="134">source</text>
-      <text class="keylabel" x="360" y="146">x = controller ID</text>
-      <text class="keylabel" x="360" y="156">y = priority</text>
-      <rect x="0" y="160" width="468" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="keyheader" x="234 " y="172">COLORS</text>
-      <text class="keylblul" x="110" y="190">Bus Standards</text>
-      <rect x="12" y="200" width="24" height="24" style="fill:#6699FF; stroke:none;"/>
-      <text class="keylabel" x="40" y="220">DCR</text>
-      <rect x="12" y="228" width="24" height="24" style="fill:#8C00FF; stroke:none;"/>
-      <text class="keylabel" x="40" y="240">FCB</text>
-      <rect x="84" y="200" width="24" height="24" style="fill:#CC00CC; stroke:none;"/>
-      <text class="keylabel" x="112" y="220">FSL</text>
-      <rect x="84" y="228" width="24" height="24" style="fill:#7777FF; stroke:none;"/>
-      <text class="keylabel" x="112" y="240">LMB</text>
-      <rect x="156" y="200" width="24" height="24" style="fill:#339900; stroke:none;"/>
-      <text class="keylabel" x="184" y="220">OPB</text>
-      <rect x="156" y="228" width="24" height="24" style="fill:#FF5500; stroke:none;"/>
-      <text class="keylabel" x="184" y="240">PLB</text>
-      <rect x="228" y="200" width="24" height="24" style="fill:#0000DD; stroke:none;"/>
-      <text class="keylabel" x="256" y="220">SOCM</text>
-      <rect x="228" y="228" width="24" height="24" style="fill:#990066; stroke:none;"/>
-      <text class="keylabel" x="256" y="240">XIL (prefix) P2P</text>
-      <rect x="300" y="200" width="24" height="24" style="fill:#009999; stroke:none;"/>
-      <text class="keylabel" x="328" y="220">GEN. P2P, USER, etc</text>
-    </symbol>
-    <symbol id="BlkDiagram_Specs">
-      <rect x="0" y="0" width="300" height="100" style="fill:#CCCCCC; stroke:none;"/>
-      <rect x="0" y="0" width="300" height="16" style="fill:#CCCCCC; stroke:none;"/>
-      <text class="keytitle" x="150 " y="14">SPECS</text>
-      <rect x="0" y="20" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="32">EDK VERSION</text>
-      <text class="specsvaluemid" x="241" y="32">10.1.01</text>
-      <rect x="0" y="40" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="52">ARCH</text>
-      <text class="specsvaluemid" x="241" y="52">virtex4</text>
-      <rect x="0" y="60" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="72">PART</text>
-      <text class="specsvaluemid" x="241" y="72">xc4vfx12ff668-10</text>
-      <rect x="0" y="80" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="92">GENERATED</text>
-      <text class="specsvalue" x="138.5" y="92">Sun May 25 17:18:21 2008
-</text>
-    </symbol>
-    <symbol id="G_IOPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#CCCCFF; stroke:#000088; stroke-width:1"/>
-      <path class="ioport" d="M   0,0      L   16,8      L   0,16      Z" style="stroke:none; fill:#0000BB"/>
-    </symbol>
-    <symbol id="G_BIPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#CCCCFF; stroke:#000088; stroke-width:1"/>
-      <path class="btop" d="M 0,8      8,0      16,8      Z" style="stroke:none; fill:#0000BB"/>
-      <path class="bbot" d="M 0,8      8,16      16,8      Z" style="stroke:none; fill:#0000BB"/>
-    </symbol>
-    <symbol id="KEY_IOPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#888888; stroke:none;"/>
-      <path class="ioport" d="M   0,0      L   16,8      L   0,16      Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BIPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#888888; stroke:none;"/>
-      <path class="btop" d="M 0,8      8,0      16,8      Z" style="stroke:none; fill:#444444"/>
-      <path class="bbot" d="M 0,8      8,16      16,8      Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_INPort">
-      <use x="0" y="0" xlink:href="#KEY_IOPort"/>
-      <rect x="16" y="0" width="8" height="16" style="fill:#0000BB; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_OUTPort">
-      <use x="0" y="0" xlink:href="#KEY_IOPort" transform="scale(-1,1) translate(-16,0)"/>
-      <rect x="16" y="0" width="8" height="16" style="fill:#0000BB; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_INOUTPort">
-      <use x="0" y="0" xlink:href="#KEY_BIPort"/>
-      <rect x="16" y="0" width="8" height="16" style="fill:#0000BB; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#990066; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="XIL_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#990066; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#0000DD; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="OCM_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#0000DD; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#339900; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="OPB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#339900; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#7777FF; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="LMB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#7777FF; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#CC00CC; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="FSL_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#CC00CC; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#6699FF; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="DCR_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#6699FF; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#8C00FF; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="FCB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#8C00FF; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#FF5500; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="PLB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#FF5500; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#BB9955; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#BB9955; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TRS_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TRANS_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TARGET_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#444444; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="KEY_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#444444; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_BusArrowWest">
-      <use x="0" y="0" xlink:href="#XIL_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="XIL_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#XIL_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="XIL_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#XIL_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#XIL_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="XIL_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#990066"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="OCM_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_BusArrowWest">
-      <use x="0" y="0" xlink:href="#OCM_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="OCM_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#OCM_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="OCM_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#OCM_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#OCM_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="OCM_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#0000DD"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OPB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="OPB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="OPB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#OPB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="OPB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#339900"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="LMB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#LMB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="LMB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#LMB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="LMB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#LMB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#LMB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="LMB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#7777FF"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="FSL_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_BusArrowWest">
-      <use x="0" y="0" xlink:href="#FSL_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="FSL_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#FSL_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="FSL_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#FSL_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#FSL_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="FSL_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#CC00CC"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="DCR_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_BusArrowWest">
-      <use x="0" y="0" xlink:href="#DCR_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="DCR_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#DCR_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="DCR_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#DCR_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#DCR_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="DCR_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#6699FF"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#FCB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="FCB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#FCB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="FCB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#FCB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#FCB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="FCB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#8C00FF"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="PLB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="PLB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="PLB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#PLB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="PLB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#FF5500"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowWest">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#PLBV46_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="PLBV46_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowWest">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="TRS_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TRS_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TRS_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TRS_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TRS_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TRS_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TRS_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TRS_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TRANS_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TRANS_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TRANS_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TRANS_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TRANS_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TRANSPARENT_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TARGET_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TARGET_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TARGET_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TARGET_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TARGET_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowWest">
-      <use x="0" y="0" xlink:href="#INITIATOR_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#INITIATOR_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#INITIATOR_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#INITIATOR_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="INITIATOR_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="KEY_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BusArrowWest">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="KEY_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   12,0      L   6, 8      Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="KEY_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#KEY_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="KEY_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#444444"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="PLB_SharedBus">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowWest"/>
-      <use x="766" y="0" xlink:href="#PLB_BusArrowEast"/>
-      <rect x="8" y="2" width="758" height="8" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLBV46_SharedBus">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowWest"/>
-      <use x="766" y="0" xlink:href="#PLBV46_BusArrowEast"/>
-      <rect x="8" y="2" width="758" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="OPB_SharedBus">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowWest"/>
-      <use x="766" y="0" xlink:href="#OPB_BusArrowEast"/>
-      <rect x="8" y="2" width="758" height="8" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="group_sharedBusses">
-      <use x="0" y="0" xlink:href="#PLBV46_SharedBus"/>
-      <text class="sharedbuslabel" x="8" y="22">plb</text>
-    </symbol>
-    <symbol id="KEY_SharedBus">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowWest"/>
-      <use x="30" y="0" xlink:href="#KEY_BusArrowEast"/>
-      <rect x="8" y="2" width="22" height="8" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="sbsbktmodule_LEDs_4Bit">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">A</text>
-      <text class="bciptype" x="45" y="64">xps_gpio</text>
-      <text class="bciplabel" x="45" y="72">LEDs_4Bit</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_LEDs_Positions">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">B</text>
-      <text class="bciptype" x="45" y="64">xps_gpio</text>
-      <text class="bciplabel" x="45" y="72">LEDs_Positions</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_RS232_Uart">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">C</text>
-      <text class="bciptype" x="45" y="64">xps_uartlite</text>
-      <text class="bciplabel" x="45" y="72">RS232_Uart</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-      <rect x="72" y="24" rx="3" ry="3" width="18" height="9" style="fill:#FF9900; stroke:none; stroke-width:1"/>
-      <line x1="81" y1="24" x2="81" y2="33" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="74" y="32">0</text>
-      <text class="intrsymbol" x="83" y="32">0</text>
-    </symbol>
-    <symbol id="sbsbktmodule_SRAM">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">D</text>
-      <text class="bciptype" x="45" y="64">xps_mch_emc</text>
-      <text class="bciplabel" x="45" y="72">SRAM</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_SysACE_CompactFlash">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">F</text>
-      <text class="bciptype" x="45" y="64">xps_sysace</text>
-      <text class="bciplabel" x="45" y="72">SysACE_CompactFlash</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_xps_intc_0">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="64">xps_intc</text>
-      <text class="bciplabel" x="45" y="72">xps_intc_0</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-      <rect x="81" y="27" rx="3" ry="3" width="9" height="18" style="fill:#FF9900; stroke:none; stroke-width:1"/>
-      <line x1="81" y1="32" x2="90" y2="32" style="stroke:#000000;stroke-width:2"/>
-      <text class="intrsymbol" x="83" y="44">0</text>
-    </symbol>
-    <symbol id="sbsbucket_plb">
-      <rect x="0" y="0" rx="4" ry="4" width="334" height="244" style="stroke-width:2; stroke:#BB9955; fill:#FFFFDD"/>
-      <use x="16" y="16" xlink:href="#sbsbktmodule_LEDs_4Bit"/>
-      <rect x="0" y="24" width="61" height="8" style="fill:#BB9955"/>
-      <use x="122" y="16" xlink:href="#sbsbktmodule_LEDs_Positions"/>
-      <rect x="61" y="24" width="106" height="8" style="fill:#BB9955"/>
-      <use x="228" y="16" xlink:href="#sbsbktmodule_RS232_Uart"/>
-      <rect x="167" y="24" width="106" height="8" style="fill:#BB9955"/>
-      <use x="16" y="130" xlink:href="#sbsbktmodule_SRAM"/>
-      <rect x="0" y="138" width="61" height="8" style="fill:#BB9955"/>
-      <use x="122" y="130" xlink:href="#sbsbktmodule_SysACE_CompactFlash"/>
-      <rect x="61" y="138" width="106" height="8" style="fill:#BB9955"/>
-      <use x="228" y="130" xlink:href="#sbsbktmodule_xps_intc_0"/>
-      <rect x="167" y="138" width="106" height="8" style="fill:#BB9955"/>
-      <rect x="0" y="24" width="8" height="114" style="fill:#BB9955"/>
-    </symbol>
-    <symbol id="ipbktmodule_SRAM_util_bus_split_0">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#000000; stroke-width:2"/>
-      <rect x="11" y="18" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="26">util_bus_split</text>
-      <text class="bciplabel" x="45" y="34">SRAM_util_bus_split_0</text>
-      <rect x="11" y="38" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="52">E</text>
-    </symbol>
-    <symbol id="ipbktmodule_clock_generator_0">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#000000; stroke-width:2"/>
-      <rect x="11" y="18" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="26">clock_generator</text>
-      <text class="bciplabel" x="45" y="34">clock_generator_0</text>
-      <rect x="11" y="38" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="52">G</text>
-    </symbol>
-    <symbol id="ipbucket">
-      <rect x="0" y="0" rx="4" ry="4" width="228" height="106" style="stroke-width:2; stroke:#000000; fill:#CCCCFF"/>
-      <use x="16" y="16" xlink:href="#ipbktmodule_SRAM_util_bus_split_0"/>
-      <use x="122" y="16" xlink:href="#ipbktmodule_clock_generator_0"/>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_0">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">jtagppc_cntlr</text>
-      <text class="bciplabel" x="45" y="20">jtagppc_0</text>
-      <line x1="0" y1="64" x2="11" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="11" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="27" y="65">JTAG</text>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_1">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">proc_sys_reset</text>
-      <text class="bciplabel" x="45" y="20">proc_sys_reset_0</text>
-      <rect x="11" y="24" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="38">H</text>
-      <line x1="79" y1="64" x2="91" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="47" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="63" y="65">RESE</text>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_2">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="114" style="fill:#90001C; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">ppc405_virtex4</text>
-      <text class="bciplabel" x="45" y="20">ppc405_0</text>
-      <line x1="0" y1="64" x2="11" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="11" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="27" y="65">JTAG</text>
-      <line x1="79" y1="92" x2="91" y2="92" style="stroke:#BB9955;stroke-width:1"/>
-      <use x="47" y="82" xlink:href="#PLBV46_Bif"/>
-      <text class="biflabel" x="63" y="93">IPLB0</text>
-      <line x1="0" y1="92" x2="11" y2="92" style="stroke:#BB9955;stroke-width:1"/>
-      <use x="11" y="82" xlink:href="#PLBV46_Bif"/>
-      <text class="biflabel" x="27" y="93">DPLB0</text>
-      <line x1="79" y1="64" x2="91" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="47" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="63" y="65">RESE</text>
-      <rect x="81" y="3" rx="3" ry="3" width="9" height="18" style="fill:#FF9900; stroke:none; stroke-width:1"/>
-      <line x1="81" y1="6" x2="90" y2="6" style="stroke:#000000;stroke-width:1"/>
-      <line x1="81" y1="10" x2="90" y2="10" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="83" y="20">0</text>
-    </symbol>
-    <symbol id="symbol_STACK_0">
-      <rect x="0" y="0" rx="6" ry="6" width="334" height="0" style="fill:#CCCCCC; stroke:none;"/>
-      <use x="122" y="0" xlink:href="#symbol_STACK_0_SHAPE_0"/>
-      <use x="122" y="90" xlink:href="#symbol_STACK_0_SHAPE_1"/>
-      <use x="0" y="436" xlink:href="#sbsbucket_plb"/>
-      <text class="ipclass" x="0" y="432">SLAVES OF plb</text>
-      <use x="122" y="180" xlink:href="#symbol_STACK_0_SHAPE_2"/>
-      <text class="ipclass" x="122" y="176">PROCESSOR</text>
-    </symbol>
-    <symbol id="symbol_SPACE_WEST_NONE_EAST_0">
-      <rect x="80" y="58" width="8" height="188" style="stroke:none;fill:#990066"/>
-      <text class="p2pbuslabel" x="92" y="86">jtagppc_0_0</text>
-      <use x="258" y="230" xlink:href="#XIL_busconn_TARGET"/>
-      <use x="250" y="236" xlink:href="#XIL_BusArrowEast"/>
-      <rect x="84" y="238" width="166" height="8" style="stroke:none; fill:#990066"/>
-      <use x="258" y="50" xlink:href="#XIL_busconn_INITIATOR"/>
-      <use x="250" y="56" xlink:href="#XIL_BusArrowEast"/>
-      <rect x="84" y="58" width="166" height="8" style="stroke:none; fill:#990066"/>
-      <use x="258" y="258" xlink:href="#PLBV46_busconn_MASTER"/>
-      <rect x="72" y="272" width="8" height="64" style="stroke:none; fill:#BB9955"/>
-      <rect x="72" y="266" width="192" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="36" y="340" width="8" height="127" style="stroke:none; fill:#BB9955"/>
-      <rect x="36" y="460" width="247" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="symbol_SPACE_WEST_0_EAST_NONE">
-      <use x="45" y="258" xlink:href="#PLBV46_busconn_MASTER"/>
-      <rect x="223" y="272" width="8" height="64" style="stroke:none; fill:#BB9955"/>
-      <rect x="64" y="266" width="167" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="223" y="148" width="8" height="98" style="stroke:none;fill:#990066"/>
-      <text class="p2pbuslabel" x="235" y="176">ppc_reset_bus</text>
-      <use x="45" y="230" xlink:href="#XIL_busconn_TARGET"/>
-      <use x="69" y="236" xlink:href="#XIL_BusArrowWest"/>
-      <rect x="76" y="238" width="152" height="8" style="stroke:none; fill:#990066"/>
-      <use x="45" y="140" xlink:href="#XIL_busconn_INITIATOR"/>
-      <use x="69" y="146" xlink:href="#XIL_BusArrowWest"/>
-      <rect x="76" y="148" width="152" height="8" style="stroke:none; fill:#990066"/>
-    </symbol>
-  </defs>
-  <rect x="0" y="0" width="992" height="1413" style="fill:#FFFFFF; stroke:#000000;stroke-width:4"/>
-  <rect x="48" y="40" width="896" height="1072" style="fill:#000088"/>
-  <rect x="64" y="56" width="864" height="1040" rx="8" ry="8" style="fill:#CCCCCC"/>
-  <use x="32" y="412" id="fpga_0_RS232_Uart_RX_pin" xlink:href="#G_IOPort" transform="rotate(0,40,420)"/>
-  <text class="iopnumb" x="22" y="426"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="440" id="fpga_0_RS232_Uart_TX_pin" xlink:href="#G_IOPort" transform="rotate(180,40,448)"/>
-  <text class="iopnumb" x="22" y="454"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="468" id="fpga_0_LEDs_4Bit_GPIO_IO_pin" xlink:href="#G_BIPort" transform="rotate(0,40,476)"/>
-  <text class="iopnumb" x="22" y="482"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="496" id="fpga_0_LEDs_Positions_GPIO_IO_pin" xlink:href="#G_BIPort" transform="rotate(0,40,504)"/>
-  <text class="iopnumb" x="22" y="510"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="524" id="fpga_0_SysACE_CompactFlash_SysACE_CLK_pin" xlink:href="#G_IOPort" transform="rotate(0,40,532)"/>
-  <text class="iopnumb" x="22" y="538"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="552" id="fpga_0_SysACE_CompactFlash_SysACE_MPA_pin" xlink:href="#G_IOPort" transform="rotate(180,40,560)"/>
-  <text class="iopnumb" x="22" y="566"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="580" id="fpga_0_SysACE_CompactFlash_SysACE_MPD_pin" xlink:href="#G_BIPort" transform="rotate(0,40,588)"/>
-  <text class="iopnumb" x="22" y="594"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="608" id="fpga_0_SysACE_CompactFlash_SysACE_CEN_pin" xlink:href="#G_IOPort" transform="rotate(180,40,616)"/>
-  <text class="iopnumb" x="22" y="622"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="636" id="fpga_0_SysACE_CompactFlash_SysACE_OEN_pin" xlink:href="#G_IOPort" transform="rotate(180,40,644)"/>
-  <text class="iopnumb" x="22" y="650"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="664" id="fpga_0_SysACE_CompactFlash_SysACE_WEN_pin" xlink:href="#G_IOPort" transform="rotate(180,40,672)"/>
-  <text class="iopnumb" x="22" y="678"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="692" id="fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin" xlink:href="#G_IOPort" transform="rotate(0,40,700)"/>
-  <text class="iopnumb" x="22" y="706"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="412" id="fpga_0_SRAM_Mem_A_pin" xlink:href="#G_IOPort" transform="rotate(0,952,420)"/>
-  <text class="iopnumb" x="972" y="426"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="440" id="fpga_0_SRAM_Mem_BEN_pin" xlink:href="#G_IOPort" transform="rotate(0,952,448)"/>
-  <text class="iopnumb" x="972" y="454"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="468" id="fpga_0_SRAM_Mem_WEN_pin" xlink:href="#G_IOPort" transform="rotate(0,952,476)"/>
-  <text class="iopnumb" x="972" y="482"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="496" id="fpga_0_SRAM_Mem_DQ_pin" xlink:href="#G_BIPort" transform="rotate(0,952,504)"/>
-  <text class="iopnumb" x="972" y="510"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="524" id="fpga_0_SRAM_Mem_OEN_pin" xlink:href="#G_IOPort" transform="rotate(0,952,532)"/>
-  <text class="iopnumb" x="972" y="538"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="552" id="fpga_0_SRAM_Mem_CEN_pin" xlink:href="#G_IOPort" transform="rotate(0,952,560)"/>
-  <text class="iopnumb" x="972" y="566"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="580" id="fpga_0_SRAM_Mem_ADV_LDN_pin" xlink:href="#G_IOPort" transform="rotate(0,952,588)"/>
-  <text class="iopnumb" x="972" y="594"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="608" id="fpga_0_SRAM_CLOCK" xlink:href="#G_IOPort" transform="rotate(0,952,616)"/>
-  <text class="iopnumb" x="972" y="622"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="636" id="sys_clk_pin" xlink:href="#G_IOPort" transform="rotate(180,952,644)"/>
-  <text class="iopnumb" x="972" y="650"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="664" id="sys_rst_pin" xlink:href="#G_IOPort" transform="rotate(180,952,672)"/>
-  <text class="iopnumb" x="972" y="678"><tspan class="iopgrp"></tspan></text>
-  <use x="109" y="431" xlink:href="#group_sharedBusses"/>
-  <use x="269" y="101" xlink:href="#symbol_SPACE_WEST_NONE_EAST_0"/>
-  <use x="596" y="101" xlink:href="#symbol_SPACE_WEST_0_EAST_NONE"/>
-  <use x="429" y="101" xlink:href="#symbol_STACK_0"/>
-  <text class="ipclass" x="382" y="883">IP</text>
-  <use x="382" y="887" xlink:href="#ipbucket"/>
-  <use x="476" y="1155" xlink:href="#BlkDiagram_Key"/>
-  <use x="48" y="1155" xlink:href="#BlkDiagram_Specs"/>
-</svg>
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/data/system.ucf b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/data/system.ucf
deleted file mode 100644 (file)
index 0b81c8f..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-############################################################################\r
-## This system.ucf file is generated by Base System Builder based on the\r
-## settings in the selected Xilinx Board Definition file. Please add other\r
-## user constraints to this file based on customer design specifications.\r
-############################################################################\r
-\r
-Net sys_clk_pin LOC=AE14;\r
-Net sys_clk_pin IOSTANDARD = LVCMOS33;\r
-Net sys_rst_pin LOC=D6;\r
-Net sys_rst_pin PULLUP;\r
-## System level constraints\r
-Net sys_clk_pin TNM_NET = sys_clk_pin;\r
-TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 10000 ps;\r
-Net sys_rst_pin TIG;\r
-NET "ppc_reset_bus_Chip_Reset_Req" TPTHRU = "RST_GRP";\r
-NET "ppc_reset_bus_Core_Reset_Req" TPTHRU = "RST_GRP";\r
-NET "ppc_reset_bus_System_Reset_Req" TPTHRU = "RST_GRP";\r
-TIMESPEC "TS_RST1" = FROM CPUS THRU RST_GRP TO FFS  TIG;\r
-Net fpga_0_SRAM_CLOCK LOC=AF7;\r
-Net fpga_0_SRAM_CLOCK SLEW = FAST;\r
-Net fpga_0_SRAM_CLOCK IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_CLOCK DRIVE = 16;\r
-\r
-## IO Devices constraints\r
-\r
-#### Module RS232_Uart constraints\r
-\r
-Net fpga_0_RS232_Uart_RX_pin LOC=W2;\r
-Net fpga_0_RS232_Uart_RX_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_RS232_Uart_TX_pin LOC=W1;\r
-Net fpga_0_RS232_Uart_TX_pin IOSTANDARD = LVCMOS33;\r
-\r
-#### Module LEDs_4Bit constraints\r
-\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> LOC=G5;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> TIG;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> LOC=G6;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> TIG;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> LOC=A11;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> TIG;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> LOC=A12;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> TIG;\r
-\r
-#### Module LEDs_Positions constraints\r
-\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> LOC=C6;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> LOC=F9;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> LOC=A5;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> LOC=E10;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> LOC=E2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> TIG;\r
-\r
-#### Module SysACE_CompactFlash constraints\r
-\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CLK_pin LOC=AF11;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CLK_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CLK_pin PERIOD = 30000 ps;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<1> LOC=Y10;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<2> LOC=AA10;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<3> LOC=AC7;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<4> LOC=Y7;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<4> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<5> LOC=AA9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<5> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<6> LOC=Y9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPA_pin<6> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<0> LOC=AB7;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<1> LOC=AC9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<2> LOC=AB9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<3> LOC=AE6;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<4> LOC=AD6;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<4> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<5> LOC=AF9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<5> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<6> LOC=AE9;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<6> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<7> LOC=AD8;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<7> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<8> LOC=AC8;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<8> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<9> LOC=AF4;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<9> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<10> LOC=AE4;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<10> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<11> LOC=AD3;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<11> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<12> LOC=AC3;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<12> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<13> LOC=AF6;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<13> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<14> LOC=AF5;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<14> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<15> LOC=AA7;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPD_pin<15> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CEN_pin LOC=AD5;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_CEN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_OEN_pin LOC=AA8;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_OEN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_WEN_pin LOC=Y8;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_WEN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin LOC=AD4;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin TIG;\r
-\r
-#### Module SRAM constraints\r
-\r
-Net fpga_0_SRAM_Mem_A_pin<29> LOC=Y1;\r
-Net fpga_0_SRAM_Mem_A_pin<29> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<29> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<29> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<28> LOC=Y2;\r
-Net fpga_0_SRAM_Mem_A_pin<28> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<28> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<28> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<27> LOC=AA1;\r
-Net fpga_0_SRAM_Mem_A_pin<27> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<27> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<27> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<26> LOC=AB1;\r
-Net fpga_0_SRAM_Mem_A_pin<26> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<26> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<26> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<25> LOC=AB2;\r
-Net fpga_0_SRAM_Mem_A_pin<25> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<25> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<25> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<24> LOC=AC1;\r
-Net fpga_0_SRAM_Mem_A_pin<24> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<24> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<24> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<23> LOC=AC2;\r
-Net fpga_0_SRAM_Mem_A_pin<23> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<23> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<23> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<22> LOC=AD1;\r
-Net fpga_0_SRAM_Mem_A_pin<22> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<22> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<22> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<21> LOC=AD2;\r
-Net fpga_0_SRAM_Mem_A_pin<21> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<21> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<21> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<20> LOC=AE3;\r
-Net fpga_0_SRAM_Mem_A_pin<20> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<20> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<20> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<19> LOC=AF3;\r
-Net fpga_0_SRAM_Mem_A_pin<19> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<19> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<19> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<18> LOC=W3;\r
-Net fpga_0_SRAM_Mem_A_pin<18> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<18> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<18> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<17> LOC=W6;\r
-Net fpga_0_SRAM_Mem_A_pin<17> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<17> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<17> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<16> LOC=W5;\r
-Net fpga_0_SRAM_Mem_A_pin<16> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<16> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<16> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<15> LOC=AA3;\r
-Net fpga_0_SRAM_Mem_A_pin<15> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<15> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<15> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<14> LOC=AA4;\r
-Net fpga_0_SRAM_Mem_A_pin<14> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<14> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<14> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<13> LOC=AB3;\r
-Net fpga_0_SRAM_Mem_A_pin<13> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<13> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<13> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<12> LOC=AB4;\r
-Net fpga_0_SRAM_Mem_A_pin<12> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<12> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<12> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<11> LOC=AC4;\r
-Net fpga_0_SRAM_Mem_A_pin<11> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<11> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<11> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<10> LOC=AB5;\r
-Net fpga_0_SRAM_Mem_A_pin<10> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<10> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<10> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<9> LOC=AC5;\r
-Net fpga_0_SRAM_Mem_A_pin<9> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<9> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<9> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> LOC=Y6;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> LOC=Y5;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> LOC=Y4;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> LOC=Y3;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_WEN_pin LOC=AB6;\r
-Net fpga_0_SRAM_Mem_WEN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_WEN_pin SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_WEN_pin DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> LOC=AD13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> LOC=AC13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> LOC=AC15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> LOC=AC16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> LOC=AA11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> LOC=AA12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> LOC=AD14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> LOC=AC14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> LOC=AA13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> LOC=AB13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> LOC=AA15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> LOC=AA16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> LOC=AC11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> LOC=AC12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> LOC=AB14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> LOC=AA14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> LOC=D12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> LOC=E13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> LOC=C16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> LOC=D16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> LOC=D11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> LOC=C11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> LOC=E14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> LOC=D15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> LOC=D13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> LOC=D14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> LOC=F15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> LOC=F16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> LOC=F11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> LOC=F12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> LOC=F13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> LOC=F14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> LOC=AC6;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> LOC=V7;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin LOC=W4;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin DRIVE = 8;\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/bitgen.ut b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/bitgen.ut
deleted file mode 100644 (file)
index 9765363..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
--g CclkPin:PULLUP
--g TdoPin:PULLNONE
--g M1Pin:PULLDOWN
--g DonePin:PULLUP
--g DriveDone:No
--g StartUpClk:JTAGCLK
--g DONE_cycle:4
--g GTS_cycle:5
--g M0Pin:PULLUP
--g M2Pin:PULLUP
--g ProgPin:PULLUP
--g TckPin:PULLUP
--g TdiPin:PULLUP
--g TmsPin:PULLUP
--g DonePipe:No
--g GWE_cycle:6
--g LCK_cycle:NoWait
--g Security:NONE
-#-m
--g Persist:No
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/download.cmd b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/download.cmd
deleted file mode 100644 (file)
index 15728dc..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-setMode -bscan\r
-setCable -p auto\r
-identify\r
-assignfile -p 3 -file implementation/download.bit\r
-program -p 3\r
-quit\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/fast_runtime.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/fast_runtime.opt
deleted file mode 100644 (file)
index 6cc2599..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-FLOWTYPE = FPGA;
-###############################################################
-## Filename: fast_runtime.opt
-##
-## Option File For Xilinx FPGA Implementation Flow for Fast
-## Runtime.
-## 
-## Version: 4.1.1
-###############################################################
-#
-# Options for Translator
-#
-# Type "ngdbuild -h" for a detailed list of ngdbuild command line options
-#
-Program ngdbuild 
--p <partname>;        # Partname to use - picked from xflow commandline
--nt timestamp;        # NGO File generation. Regenerate only when
-                      # source netlist is newer than existing 
-                      # NGO file (default)
--bm <design>.bmm     # Block RAM memory map file
-<userdesign>;         # User design - pick from xflow command line
--uc <design>.ucf;     # ucf constraints
-<design>.ngd;         # Name of NGD file. Filebase same as design filebase
-End Program ngdbuild
-
-#
-# Options for Mapper
-#
-# Type "map -h <arch>" for a detailed list of map command line options
-#
-Program map
--o <design>_map.ncd;     # Output Mapped ncd file
--pr b;                   # Pack internal FF/latches into IOBs
-#-fp <design>.mfp;       # Floorplan file
--ol high;
--timing;
-<inputdir><design>.ngd;  # Input NGD file
-<inputdir><design>.pcf;  # Physical constraints file
-END Program map
-
-#
-# Options for Post Map Trace
-#
-# Type "trce -h" for a detailed list of trce command line options
-#
-Program post_map_trce
--e 3;                 # Produce error report limited to 3 items per constraint
-#-o <design>_map.twr;  # Output trace report file
--xml <design>_map.twx;     # Output XML version of the timing report
-#-tsi <design>_map.tsi; # Produce Timing Specification Interaction report
-<inputdir><design>_map.ncd;  # Input mapped ncd
-<inputdir><design>.pcf;      # Physical constraints file
-END Program post_map_trce
-
-#
-# Options for Place and Route
-#
-# Type "par -h" for a detailed list of par command line options
-#
-Program par
--w;                 # Overwrite existing placed and routed ncd
--ol high;              # Overall effort level
-<inputdir><design>_map.ncd;  # Input mapped NCD file
-<design>.ncd;                # Output placed and routed NCD
-<inputdir><design>.pcf;      # Input physical constraints file
-END Program par
-
-#
-# Options for Post Par Trace
-#
-# Type "trce -h" for a detailed list of trce command line options
-#
-Program post_par_trce
--e 3;                 # Produce error report limited to 3 items per constraint
-#-o <design>.twr;     # Output trace report file
--xml <design>.twx;    # Output XML version of the timing report
-#-tsi <design>.tsi;  # Produce Timing Specification Interaction report
-<inputdir><design>.ncd;   # Input placed and routed ncd
-<inputdir><design>.pcf;   # Physical constraints file
-END Program post_par_trce
-
-
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt
deleted file mode 100644 (file)
index 982495f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-connect ppc hw -cable type xilinx_parallel port LPT1 frequency 5000000 -debugdevice cpunr 1\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/platgen.opt b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/platgen.opt
deleted file mode 100644 (file)
index 1854735..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
--p\r
-xc4vfx12ff668-10\r
--lang\r
-vhdl\r
-system.mhs\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.bsb b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.bsb
deleted file mode 100644 (file)
index 12d83ba..0000000
+++ /dev/null
@@ -1 +0,0 @@
-\1d\84æÄ®Òôtt¦Êè¬ÊäæÒÞÜ@Db`\b\`bDvC\84æÄ®Òôtt¦Êè\84ÞÂäÈ@D°ÒØÒÜðD@D¬ÒäèÊð@h@\9a\98h`f@\8aìÂØêÂèÒÞÜ@ ØÂèÌÞäÚD@DbDv,\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D\82¤\86\90\92¨\8a\86¨ª¤\8aD@DìÒäèÊðhDv,\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D\88\8a¬\92\86\8a¾¦\92´\8aD@DðÆhìÌðbdDv%\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D \82\86\96\82\8e\8aD@DÌÌllpDv&\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D¦ \8a\8a\88\8e¤\82\88\8aD@DZb`Dv3\84æÄ®Òôtt¦Êè¦òæèÊÚ@DààÆh`j¾ìÒäèÊðh¾àØÄìhlD@Db\``\ÂDv,\84æÄ®ÒôttªàÈÂèÊ\86ØÞÆÖ@D\84ª¦¾\8c¤\8a¢D@Db``\``````Dv,\84æÄ®ÒôttªàÈÂèÊ\86ØÞÆÖ@D\86\98\96¾\8c¤\8a¢D@Db``\``````Dv-\84æÄ®ÒôttªàÈÂèÊ\86ØÞÆÖ@D ¤\9e\86¾\8c¤\8a¢D@Dd``\``````Dv(\84æÄ®ÒôttªàÈÂèʦòæèÊÚ@D¤¦¨¾ \9e\98\82¤\92¨²D@D`Dv1\84æÄ®Òôtt\82ÈÈ äÞÆÊææÞä@DààÆh`j¾`D@DààÆh`j¾ìÒäèÊðhDv/\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\86\82\86\90\8aD@DbDv3\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\86¾ª¦\8a¾\8c ªD@DbDv:\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\88\8a\84ª\8e¾\92\8cD@D\8c \8e\82@\94¨\82\8eDv6\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\88\9e\86\9a\92´\8aD@D\9c\9e\9c\8aDv6\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\92\9e\86\9a\92´\8aD@D\9c\9e\9c\8aDv2\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\9e\86\9a¾\9e\9c\98²D@D`Dv2\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D¤¦dfd¾ªÂäèD@Dðàæ¾êÂäèØÒèÊDv9\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾\84\82ª\88¤\82¨\8aD@Drl``Dv7\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾\88\82¨\82¾\84\92¨¦D@DpDv8\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾\9e\88\88¾ \82¤\92¨²D@D`Dv8\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾ª¦\8a¾ \82¤\92¨²D@D`Dv<\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\92\9e¨² \8aD@D°\92\98¾ª\82¤¨¾¬bDv<\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@Dª¦\8a¾\92\9c¨\8a¤¤ª ¨D@D¨¤ª\8aDv-\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D\98\8a\88æ¾h\84ÒèD@Dðàæ¾ÎàÒÞDv;\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D\98\8a\88æ¾h\84ÒèD@D\92\9e¨² \8aD@D°\92\98¾\8e \92\9e¾¬bDv2\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D\98\8a\88æ¾ ÞæÒèÒÞÜæD@Dðàæ¾ÎàÒÞDv@\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D\98\8a\88æ¾ ÞæÒèÒÞÜæD@D\92\9e¨² \8aD@D°\92\98¾\8e \92\9e¾¬bDv9\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D¦òæ\82\86\8a¾\86ÞÚàÂÆè\8cØÂæÐD@Dðàæ¾æòæÂÆÊDvG\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¦òæ\82\86\8a¾\86ÞÚàÂÆè\8cØÂæÐD@D\92\9e¨² \8aD@D°\92\98¾¦²¦\82\86\8a¾¬bDv+\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D¦¤\82\9aD@Dðàæ¾ÚÆоÊÚÆDv5\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¦¤\82\9aD@D\92\9e¨² \8aD@D°\92\98¾\8a\9a\86¾¬bDv:\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\86\82\86\90\8a¾\86\82\9c\88\92\88\82¨\8a¦D@D¦¤\82\9avDv8\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\86¾\86\82\86\90\8a¾\84²¨\8a¾¦\92´\8aD@DblDv9\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\86¾\88\86\82\86\90\8a¾\84²¨\8a¾¦\92´\8aD@DblDv9\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\88\86\82\86\90\8a¾\86\9e¤\8a\98\92¦¨D@Dv¦¤\82\9aDv9\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\92\86\82\86\90\8a¾\86\9e¤\8a\98\92¦¨D@Dv¦¤\82\9aDv:\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\92\9c¦¨\82\9c\86\8a¾\9c\82\9a\8aD@DààÆh`j¾`Dv/\84æÄ®ÒôttªàÈÂèʦ®@D¦®¾\8e\8a\9c\8a¤\82¨\8a¾\9a\8a\9a¨\8a¦¨D@D\8c\82\98¦\8aDv1\84æÄ®ÒôttªàÈÂèʦ®@D¦®¾\8e\8a\9c\8a¤\82¨\8a¾ \8a¤\92 \90¨\8a¦¨D@D¨¤ª\8aDv)\84æÄ®ÒôttªàÈÂèʦ®@D¦®¾\8e\8a\9c\8a¤\82¨\8a¾¦®\82  ¦D@DDv7\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D\92\9c¦¨\82\9c\86\8a¾\9c\82\9a\8aD@DààÆh`j¾`Dv0\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾\84\9e\9e¨\9a\8a\9aD@D¦¤\82\9aDv.\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾¦¨\88\92\9cD@D\9cÞÜÊDv/\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾¦¨\88\9eª¨D@D\9cÞÜÊDv@\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾\88\82¨\82¾\92\9c¦D@D¦¤\82\9aDvK\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾\88\82¨\82¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤DvC\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾ ¤\9e\8e¤\82\9a¾\92\9c¦D@D¦¤\82\9aDvN\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾ ¤\9e\8e¤\82\9a¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤DvA\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¦¨\82\86\96¾\92\9c¦D@D¦¤\82\9aDvL\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¦¨\82\86\96¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤DvC\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¬\8a\86¨\9e¤¦¾\92\9c¦D@D¦¤\82\9aDvN\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¬\8a\86¨\9e¤¦¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤Dv
\ No newline at end of file
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.make b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.make
deleted file mode 100644 (file)
index dd5ce8a..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-#################################################################\r
-# Makefile generated by Xilinx Platform Studio \r
-# Project:C:\E\temp\rc\3\V5.0.2\FreeRTOS\Demo\PPC405_Xilinx_Virtex4_GCC\system.xmp\r
-#\r
-# WARNING : This file will be re-generated every time a command\r
-# to run a make target is invoked. So, any changes made to this  \r
-# file manually, will be lost when make is invoked next. \r
-#################################################################\r
-\r
-# Name of the Microprocessor system\r
-# The hardware specification of the system is in file :\r
-# C:\E\temp\rc\3\V5.0.2\FreeRTOS\Demo\PPC405_Xilinx_Virtex4_GCC\system.mhs\r
-# The software specification of the system is in file :\r
-# C:\E\temp\rc\3\V5.0.2\FreeRTOS\Demo\PPC405_Xilinx_Virtex4_GCC\system.mss\r
-\r
-include system_incl.make\r
-\r
-#################################################################\r
-# PHONY TARGETS\r
-#################################################################\r
-.PHONY: dummy\r
-.PHONY: netlistclean\r
-.PHONY: bitsclean\r
-.PHONY: simclean\r
-.PHONY: vpclean\r
-\r
-#################################################################\r
-# EXTERNAL TARGETS\r
-#################################################################\r
-all:\r
-       @echo "Makefile to build a Microprocessor system :"\r
-       @echo "Run make with any of the following targets"\r
-       @echo " "\r
-       @echo "  netlist  : Generates the netlist for the given MHS "\r
-       @echo "  bits     : Runs Implementation tools to generate the bitstream"\r
-       @echo " "\r
-       @echo "  libs     : Configures the sw libraries for this system"\r
-       @echo "  program  : Compiles the program sources for all the processor instances"\r
-       @echo " "\r
-       @echo "  init_bram: Initializes bitstream with BRAM data"\r
-       @echo "  ace      : Generate ace file from bitstream and elf"\r
-       @echo "  download : Downloads the bitstream onto the board"\r
-       @echo " "\r
-       @echo "  sim      : Generates HDL simulation models and runs simulator for chosen simulation mode"\r
-       @echo "  simmodel : Generates HDL simulation models for chosen simulation mode"\r
-       @echo "  behavioral_model : Generates behavioral HDL models with BRAM initialization"\r
-       @echo "  structural_model : Generates structural simulation HDL models with BRAM initialization"\r
-       @echo "  timing   : Generates timing simulation HDL models with BRAM initialization"\r
-       @echo "  vp       : Generates virtual platform model"\r
-       @echo " "\r
-       @echo "  netlistclean: Deletes netlist"\r
-       @echo "  bitsclean: Deletes bit, ncd, bmm files"\r
-       @echo "  hwclean  : Deletes implementation dir"\r
-       @echo "  libsclean: Deletes sw libraries"\r
-       @echo "  programclean: Deletes compiled ELF files"\r
-       @echo "  swclean  : Deletes sw libraries and ELF files"\r
-       @echo "  simclean : Deletes simulation dir"\r
-       @echo "  vpclean  : Deletes virtualplatform dir"\r
-       @echo "  clean    : Deletes all generated files/directories"\r
-       @echo " "\r
-       @echo "  make <target> : (Default)"\r
-       @echo "      Creates a Microprocessor system using default initializations"\r
-       @echo "      specified for each processor in MSS file"\r
-\r
-\r
-bits: $(SYSTEM_BIT)\r
-\r
-ace: $(SYSTEM_ACE)\r
-\r
-netlist: $(POSTSYN_NETLIST)\r
-\r
-libs: $(LIBRARIES)\r
-\r
-program: $(ALL_USER_ELF_FILES)\r
-\r
-download: $(DOWNLOAD_BIT) dummy\r
-       @echo "*********************************************"\r
-       @echo "Downloading Bitstream onto the target board"\r
-       @echo "*********************************************"\r
-       impact -batch etc/download.cmd\r
-\r
-init_bram: $(DOWNLOAD_BIT)\r
-\r
-sim: $(DEFAULT_SIM_SCRIPT)\r
-       cd simulation/behavioral; \\r
-       $(SIM_CMD)  &\r
-\r
-simmodel: $(DEFAULT_SIM_SCRIPT)\r
-\r
-behavioral_model: $(BEHAVIORAL_SIM_SCRIPT)\r
-\r
-structural_model: $(STRUCTURAL_SIM_SCRIPT)\r
-\r
-vp: $(VPEXEC)\r
-\r
-clean: hwclean libsclean programclean simclean vpclean\r
-       rm -f _impact.cmd\r
-       rm -f *.log\r
-\r
-hwclean: netlistclean bitsclean\r
-       rm -rf implementation synthesis xst hdl\r
-       rm -rf xst.srp $(SYSTEM).srp\r
-\r
-netlistclean:\r
-       rm -f $(POSTSYN_NETLIST)\r
-       rm -f platgen.log\r
-       rm -f $(BMM_FILE)\r
-\r
-bitsclean:\r
-       rm -f $(SYSTEM_BIT)\r
-       rm -f implementation/$(SYSTEM).ncd\r
-       rm -f implementation/$(SYSTEM)_bd.bmm \r
-       rm -f implementation/$(SYSTEM)_map.ncd \r
-\r
-simclean: \r
-       rm -rf simulation/behavioral\r
-       rm -f simgen.log\r
-\r
-swclean: libsclean programclean\r
-       @echo ""\r
-\r
-libsclean: $(LIBSCLEAN_TARGETS)\r
-       rm -f libgen.log\r
-\r
-programclean: $(PROGRAMCLEAN_TARGETS)\r
-\r
-vpclean:\r
-       rm -rf virtualplatform\r
-       rm -f vpgen.log\r
-\r
-#################################################################\r
-# SOFTWARE PLATFORM FLOW\r
-#################################################################\r
-\r
-\r
-$(LIBRARIES): $(MHSFILE) $(MSSFILE) __xps/libgen.opt\r
-       @echo "*********************************************"\r
-       @echo "Creating software libraries..."\r
-       @echo "*********************************************"\r
-       libgen $(LIBGEN_OPTIONS) $(MSSFILE)\r
-\r
-\r
-ppc405_0_libsclean:\r
-       rm -rf ppc405_0/\r
-\r
-#################################################################\r
-# SOFTWARE APPLICATION RTOSDEMO\r
-#################################################################\r
-\r
-RTOSDemo_program: $(RTOSDEMO_OUTPUT) \r
-\r
-$(RTOSDEMO_OUTPUT) : $(RTOSDEMO_SOURCES) $(RTOSDEMO_HEADERS) $(RTOSDEMO_LINKER_SCRIPT) \\r
-                    $(LIBRARIES) __xps/rtosdemo_compiler.opt\r
-       @mkdir -p $(RTOSDEMO_OUTPUT_DIR) \r
-       $(RTOSDEMO_CC) $(RTOSDEMO_CC_OPT) $(RTOSDEMO_SOURCES) -o $(RTOSDEMO_OUTPUT) \\r
-       $(RTOSDEMO_OTHER_CC_FLAGS) $(RTOSDEMO_INCLUDES) $(RTOSDEMO_LIBPATH) \\r
-       $(RTOSDEMO_CFLAGS) $(RTOSDEMO_LFLAGS) \r
-       $(RTOSDEMO_CC_SIZE) $(RTOSDEMO_OUTPUT) \r
-       @echo ""\r
-\r
-RTOSDemo_programclean:\r
-       rm -f $(RTOSDEMO_OUTPUT) \r
-\r
-#################################################################\r
-# BOOTLOOP ELF FILES\r
-#################################################################\r
-\r
-\r
-\r
-$(PPC405_0_BOOTLOOP): $(PPC405_BOOTLOOP)\r
-       @mkdir -p $(BOOTLOOP_DIR)\r
-       cp -f $(PPC405_BOOTLOOP) $(PPC405_0_BOOTLOOP)\r
-\r
-#################################################################\r
-# HARDWARE IMPLEMENTATION FLOW\r
-#################################################################\r
-\r
-\r
-$(BMM_FILE) \\r
-$(WRAPPER_NGC_FILES): $(MHSFILE) __xps/platgen.opt \\r
-                      $(CORE_STATE_DEVELOPMENT_FILES)\r
-       @echo "****************************************************"\r
-       @echo "Creating system netlist for hardware specification.."\r
-       @echo "****************************************************"\r
-       platgen $(PLATGEN_OPTIONS) $(MHSFILE)\r
-\r
-$(POSTSYN_NETLIST): $(WRAPPER_NGC_FILES)\r
-       @echo "Running synthesis..."\r
-       bash -c "cd synthesis; ./synthesis.sh"\r
-\r
-__xps/$(SYSTEM)_routed: $(FPGA_IMP_DEPENDENCY)\r
-       @echo "*********************************************"\r
-       @echo "Running Xilinx Implementation tools.."\r
-       @echo "*********************************************"\r
-       @cp -f $(UCF_FILE) implementation/$(SYSTEM).ucf\r
-       xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/manage_fastruntime_opt.pl $(MANAGE_FASTRT_OPTIONS)\r
-       xflow -wd implementation -p $(DEVICE) -implement xflow.opt $(SYSTEM).ngc\r
-       touch __xps/$(SYSTEM)_routed\r
-\r
-$(SYSTEM_BIT): __xps/$(SYSTEM)_routed\r
-       xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/observe_par.pl $(OBSERVE_PAR_OPTIONS) implementation/$(SYSTEM).par\r
-       @echo "*********************************************"\r
-       @echo "Running Bitgen.."\r
-       @echo "*********************************************"\r
-       @cp -f $(BITGEN_UT_FILE) implementation/bitgen.ut\r
-       cd implementation; bitgen -w -f bitgen.ut $(SYSTEM)\r
-\r
-$(DOWNLOAD_BIT): $(SYSTEM_BIT) $(BRAMINIT_ELF_FILES) __xps/bitinit.opt\r
-       # @cp -f implementation/$(SYSTEM)_bd.bmm .\r
-       @echo "*********************************************"\r
-       @echo "Initializing BRAM contents of the bitstream"\r
-       @echo "*********************************************"\r
-       bitinit $(MHSFILE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) \\r
-       -bt $(SYSTEM_BIT) -o $(DOWNLOAD_BIT)\r
-       @rm -f $(SYSTEM)_bd.bmm\r
-\r
-$(SYSTEM_ACE): $(DOWNLOAD_BIT) $(RTOSDEMO_OUTPUT) \r
-       @echo "*********************************************"\r
-       @echo "Creating system ace file"\r
-       @echo "*********************************************"\r
-       xmd -tcl genace.tcl -jprog -hw $(DOWNLOAD_BIT) -elf $(RTOSDEMO_OUTPUT)  -target ppc_hw  -ace $(SYSTEM_ACE)\r
-\r
-#################################################################\r
-# SIMULATION FLOW\r
-#################################################################\r
-\r
-\r
-################## BEHAVIORAL SIMULATION ##################\r
-\r
-$(BEHAVIORAL_SIM_SCRIPT): $(MHSFILE) __xps/simgen.opt \\r
-                          $(BRAMINIT_ELF_FILES)\r
-       @echo "*********************************************"\r
-       @echo "Creating behavioral simulation models..."\r
-       @echo "*********************************************"\r
-       simgen $(SIMGEN_OPTIONS) -m behavioral $(MHSFILE)\r
-\r
-################## STRUCTURAL SIMULATION ##################\r
-\r
-$(STRUCTURAL_SIM_SCRIPT): $(WRAPPER_NGC_FILES) __xps/simgen.opt \\r
-                          $(BRAMINIT_ELF_FILES)\r
-       @echo "*********************************************"\r
-       @echo "Creating structural simulation models..."\r
-       @echo "*********************************************"\r
-       simgen $(SIMGEN_OPTIONS) -sd implementation -m structural $(MHSFILE)\r
-\r
-\r
-################## TIMING SIMULATION ##################\r
-\r
-$(TIMING_SIM_SCRIPT): $(SYSTEM_BIT) __xps/simgen.opt \\r
-                      $(BRAMINIT_ELF_FILES)\r
-       @echo "*********************************************"\r
-       @echo "Creating timing simulation models..."\r
-       @echo "*********************************************"\r
-       simgen $(SIMGEN_OPTIONS) -sd implementation -m timing $(MHSFILE)\r
-\r
-#################################################################\r
-# VIRTUAL PLATFORM FLOW\r
-#################################################################\r
-\r
-\r
-$(VPEXEC): $(MHSFILE) __xps/vpgen.opt\r
-       @echo "****************************************************"\r
-       @echo "Creating virtual platform for hardware specification.."\r
-       @echo "****************************************************"\r
-       vpgen $(VPGEN_OPTIONS) $(MHSFILE)\r
-\r
-dummy:\r
-       @echo ""\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.mhs b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.mhs
deleted file mode 100644 (file)
index 064842c..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-\r
-# ##############################################################################\r
-# Created by Base System Builder Wizard for Xilinx EDK 10.1.01 Build EDK_K_SP1.3\r
-# Fri May 09 11:01:33 2008\r
-# Target Board:  Xilinx Virtex 4 ML403 Evaluation Platform Rev 1\r
-# Family:    virtex4\r
-# Device:    xc4vfx12\r
-# Package:   ff668\r
-# Speed Grade:  -10\r
-# Processor: ppc405_0\r
-# Processor clock frequency: 200.00 MHz\r
-# Bus clock frequency: 100.00 MHz\r
-# Total Off Chip Memory :   1 MB\r
-# - SRAM =   1 MB\r
-# ##############################################################################\r
- PARAMETER VERSION = 2.1.0\r
-\r
-\r
- PORT fpga_0_RS232_Uart_RX_pin = fpga_0_RS232_Uart_RX, DIR = I\r
- PORT fpga_0_RS232_Uart_TX_pin = fpga_0_RS232_Uart_TX, DIR = O\r
- PORT fpga_0_LEDs_4Bit_GPIO_IO_pin = fpga_0_LEDs_4Bit_GPIO_IO, DIR = IO, VEC = [0:3]\r
- PORT fpga_0_LEDs_Positions_GPIO_IO_pin = fpga_0_LEDs_Positions_GPIO_IO, DIR = IO, VEC = [0:4]\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_CLK_pin = fpga_0_SysACE_CompactFlash_SysACE_CLK, DIR = I\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_MPA_pin = fpga_0_SysACE_CompactFlash_SysACE_MPA, DIR = O, VEC = [6:1]\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_MPD_pin = fpga_0_SysACE_CompactFlash_SysACE_MPD, DIR = IO, VEC = [15:0]\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_CEN_pin = fpga_0_SysACE_CompactFlash_SysACE_CEN, DIR = O\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_OEN_pin = fpga_0_SysACE_CompactFlash_SysACE_OEN, DIR = O\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_WEN_pin = fpga_0_SysACE_CompactFlash_SysACE_WEN, DIR = O\r
- PORT fpga_0_SysACE_CompactFlash_SysACE_MPIRQ_pin = fpga_0_SysACE_CompactFlash_SysACE_MPIRQ, DIR = I\r
- PORT fpga_0_SRAM_Mem_A_pin = fpga_0_SRAM_Mem_A, DIR = O, VEC = [9:29]\r
- PORT fpga_0_SRAM_Mem_BEN_pin = fpga_0_SRAM_Mem_BEN, DIR = O, VEC = [0:3]\r
- PORT fpga_0_SRAM_Mem_WEN_pin = fpga_0_SRAM_Mem_WEN, DIR = O\r
- PORT fpga_0_SRAM_Mem_DQ_pin = fpga_0_SRAM_Mem_DQ, DIR = IO, VEC = [0:31]\r
- PORT fpga_0_SRAM_Mem_OEN_pin = fpga_0_SRAM_Mem_OEN, DIR = O, VEC = [0:0]\r
- PORT fpga_0_SRAM_Mem_CEN_pin = fpga_0_SRAM_Mem_CEN, DIR = O, VEC = [0:0]\r
- PORT fpga_0_SRAM_Mem_ADV_LDN_pin = fpga_0_SRAM_Mem_ADV_LDN, DIR = O\r
- PORT fpga_0_SRAM_CLOCK = sys_clk_s, DIR = O\r
- PORT sys_clk_pin = dcm_clk_s, DIR = I, SIGIS = CLK, CLK_FREQ = 100000000\r
- PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 0, SIGIS = RST\r
-\r
-\r
-BEGIN ppc405_virtex4\r
- PARAMETER INSTANCE = ppc405_0\r
- PARAMETER HW_VER = 2.01.a\r
- PARAMETER C_FASTEST_PLB_CLOCK = DPLB0\r
- PARAMETER C_APU_CONTROL = 0b0000000000000001\r
- PARAMETER C_IDCR_BASEADDR = 0b0100000000\r
- PARAMETER C_IDCR_HIGHADDR = 0b0111111111\r
- BUS_INTERFACE JTAGPPC = jtagppc_0_0\r
- BUS_INTERFACE IPLB0 = plb\r
- BUS_INTERFACE DPLB0 = plb\r
- BUS_INTERFACE RESETPPC = ppc_reset_bus\r
- PORT CPMC405CLOCK = proc_clk_s\r
- PORT EICC405EXTINPUTIRQ = EICC405EXTINPUTIRQ\r
-END\r
-\r
-BEGIN jtagppc_cntlr\r
- PARAMETER INSTANCE = jtagppc_0\r
- PARAMETER HW_VER = 2.01.a\r
- BUS_INTERFACE JTAGPPC0 = jtagppc_0_0\r
-END\r
-\r
-BEGIN plb_v46\r
- PARAMETER INSTANCE = plb\r
- PARAMETER C_DCR_INTFCE = 0\r
- PARAMETER C_NUM_CLK_PLB2OPB_REARB = 100\r
- PARAMETER HW_VER = 1.02.a\r
- PORT PLB_Clk = sys_clk_s\r
- PORT SYS_Rst = sys_bus_reset\r
-END\r
-\r
-BEGIN xps_uartlite\r
- PARAMETER INSTANCE = RS232_Uart\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_BAUDRATE = 9600\r
- PARAMETER C_DATA_BITS = 8\r
- PARAMETER C_ODD_PARITY = 0\r
- PARAMETER C_USE_PARITY = 0\r
- PARAMETER C_SPLB_CLK_FREQ_HZ = 100000000\r
- PARAMETER C_BASEADDR = 0x84000000\r
- PARAMETER C_HIGHADDR = 0x8400ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT RX = fpga_0_RS232_Uart_RX\r
- PORT TX = fpga_0_RS232_Uart_TX\r
- PORT Interrupt = RS232_Uart_Interrupt\r
-END\r
-\r
-BEGIN xps_gpio\r
- PARAMETER INSTANCE = LEDs_4Bit\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_GPIO_WIDTH = 4\r
- PARAMETER C_IS_DUAL = 0\r
- PARAMETER C_IS_BIDIR = 1\r
- PARAMETER C_ALL_INPUTS = 0\r
- PARAMETER C_BASEADDR = 0x81400000\r
- PARAMETER C_HIGHADDR = 0x8140ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT GPIO_IO = fpga_0_LEDs_4Bit_GPIO_IO\r
-END\r
-\r
-BEGIN xps_gpio\r
- PARAMETER INSTANCE = LEDs_Positions\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_GPIO_WIDTH = 5\r
- PARAMETER C_IS_DUAL = 0\r
- PARAMETER C_IS_BIDIR = 1\r
- PARAMETER C_ALL_INPUTS = 0\r
- PARAMETER C_BASEADDR = 0x81420000\r
- PARAMETER C_HIGHADDR = 0x8142ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT GPIO_IO = fpga_0_LEDs_Positions_GPIO_IO\r
-END\r
-\r
-BEGIN xps_sysace\r
- PARAMETER INSTANCE = SysACE_CompactFlash\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_MEM_WIDTH = 16\r
- PARAMETER C_BASEADDR = 0x83600000\r
- PARAMETER C_HIGHADDR = 0x8360ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT SysACE_CLK = fpga_0_SysACE_CompactFlash_SysACE_CLK\r
- PORT SysACE_MPA = fpga_0_SysACE_CompactFlash_SysACE_MPA & SysACE_CompactFlash_SysACE_MPA\r
- PORT SysACE_MPD = fpga_0_SysACE_CompactFlash_SysACE_MPD\r
- PORT SysACE_CEN = fpga_0_SysACE_CompactFlash_SysACE_CEN\r
- PORT SysACE_OEN = fpga_0_SysACE_CompactFlash_SysACE_OEN\r
- PORT SysACE_WEN = fpga_0_SysACE_CompactFlash_SysACE_WEN\r
- PORT SysACE_MPIRQ = fpga_0_SysACE_CompactFlash_SysACE_MPIRQ\r
-END\r
-\r
-BEGIN xps_mch_emc\r
- PARAMETER INSTANCE = SRAM\r
- PARAMETER HW_VER = 1.01.a\r
- PARAMETER C_MCH_PLB_CLK_PERIOD_PS = 10000\r
- PARAMETER C_NUM_BANKS_MEM = 1\r
- PARAMETER C_MAX_MEM_WIDTH = 32\r
- PARAMETER C_INCLUDE_NEGEDGE_IOREGS = 1\r
- PARAMETER C_INCLUDE_DATAWIDTH_MATCHING_0 = 1\r
- PARAMETER C_MEM0_WIDTH = 32\r
- PARAMETER C_SYNCH_MEM_0 = 1\r
- PARAMETER C_TCEDV_PS_MEM_0 = 0\r
- PARAMETER C_TWC_PS_MEM_0 = 0\r
- PARAMETER C_TAVDV_PS_MEM_0 = 0\r
- PARAMETER C_TWP_PS_MEM_0 = 0\r
- PARAMETER C_THZCE_PS_MEM_0 = 0\r
- PARAMETER C_TLZWE_PS_MEM_0 = 0\r
- PARAMETER C_MEM0_BASEADDR = 0xfff00000\r
- PARAMETER C_MEM0_HIGHADDR = 0xffffffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT Mem_A = fpga_0_SRAM_Mem_A_split\r
- PORT Mem_BEN = fpga_0_SRAM_Mem_BEN\r
- PORT Mem_WEN = fpga_0_SRAM_Mem_WEN\r
- PORT Mem_DQ = fpga_0_SRAM_Mem_DQ\r
- PORT Mem_OEN = fpga_0_SRAM_Mem_OEN\r
- PORT Mem_CEN = fpga_0_SRAM_Mem_CEN\r
- PORT Mem_ADV_LDN = fpga_0_SRAM_Mem_ADV_LDN\r
- PORT RdClk = sys_clk_s\r
-END\r
-\r
-BEGIN util_bus_split\r
- PARAMETER INSTANCE = SRAM_util_bus_split_0\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_SIZE_IN = 32\r
- PARAMETER C_LEFT_POS = 9\r
- PARAMETER C_SPLIT = 30\r
- PORT Sig = fpga_0_SRAM_Mem_A_split\r
- PORT Out1 = fpga_0_SRAM_Mem_A\r
-END\r
-\r
-BEGIN clock_generator\r
- PARAMETER INSTANCE = clock_generator_0\r
- PARAMETER HW_VER = 2.01.a\r
- PARAMETER C_EXT_RESET_HIGH = 1\r
- PARAMETER C_CLKIN_FREQ = 100000000\r
- PARAMETER C_CLKOUT0_FREQ = 200000000\r
- PARAMETER C_CLKOUT0_BUF = TRUE\r
- PARAMETER C_CLKOUT0_PHASE = 0\r
- PARAMETER C_CLKOUT0_GROUP = NONE\r
- PARAMETER C_CLKOUT1_FREQ = 100000000\r
- PARAMETER C_CLKOUT1_BUF = TRUE\r
- PARAMETER C_CLKOUT1_PHASE = 0\r
- PARAMETER C_CLKOUT1_GROUP = NONE\r
- PORT CLKOUT0 = proc_clk_s\r
- PORT CLKOUT1 = sys_clk_s\r
- PORT CLKIN = dcm_clk_s\r
- PORT LOCKED = Dcm_all_locked\r
- PORT RST = net_gnd\r
-END\r
-\r
-BEGIN proc_sys_reset\r
- PARAMETER INSTANCE = proc_sys_reset_0\r
- PARAMETER HW_VER = 2.00.a\r
- PARAMETER C_EXT_RESET_HIGH = 0\r
- BUS_INTERFACE RESETPPC0 = ppc_reset_bus\r
- PORT Slowest_sync_clk = sys_clk_s\r
- PORT Dcm_locked = Dcm_all_locked\r
- PORT Ext_Reset_In = sys_rst_s\r
- PORT Bus_Struct_Reset = sys_bus_reset\r
- PORT Peripheral_Reset = sys_periph_reset\r
-END\r
-\r
-BEGIN xps_intc\r
- PARAMETER INSTANCE = xps_intc_0\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_BASEADDR = 0x81800000\r
- PARAMETER C_HIGHADDR = 0x8180ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT Irq = EICC405EXTINPUTIRQ\r
- PORT Intr = RS232_Uart_Interrupt\r
-END\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.mss b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.mss
deleted file mode 100644 (file)
index f4320f3..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-\r
- PARAMETER VERSION = 2.2.0\r
-\r
-\r
-BEGIN OS\r
- PARAMETER OS_NAME = standalone\r
- PARAMETER OS_VER = 2.00.a\r
- PARAMETER PROC_INSTANCE = ppc405_0\r
-END\r
-\r
-\r
-BEGIN PROCESSOR\r
- PARAMETER DRIVER_NAME = cpu_ppc405\r
- PARAMETER DRIVER_VER = 1.10.a\r
- PARAMETER HW_INSTANCE = ppc405_0\r
- PARAMETER COMPILER = powerpc-eabi-gcc\r
- PARAMETER ARCHIVER = powerpc-eabi-ar\r
- PARAMETER CORE_CLOCK_FREQ_HZ = 200000000\r
-END\r
-\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = jtagppc_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = uartlite\r
- PARAMETER DRIVER_VER = 1.13.a\r
- PARAMETER HW_INSTANCE = RS232_Uart\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = gpio\r
- PARAMETER DRIVER_VER = 2.12.a\r
- PARAMETER HW_INSTANCE = LEDs_4Bit\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = gpio\r
- PARAMETER DRIVER_VER = 2.12.a\r
- PARAMETER HW_INSTANCE = LEDs_Positions\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = sysace\r
- PARAMETER DRIVER_VER = 1.11.a\r
- PARAMETER HW_INSTANCE = SysACE_CompactFlash\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = emc\r
- PARAMETER DRIVER_VER = 2.00.a\r
- PARAMETER HW_INSTANCE = SRAM\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = SRAM_util_bus_split_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = clock_generator_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = proc_sys_reset_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = intc\r
- PARAMETER DRIVER_VER = 1.11.a\r
- PARAMETER HW_INSTANCE = xps_intc_0\r
-END\r
-\r
-\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp
deleted file mode 100644 (file)
index 4a7a93c..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#Please do not modify this file by hand\r
-XmpVersion: 10.1.01\r
-VerMgmt: 10.1.01\r
-IntStyle: default\r
-MHS File: system.mhs\r
-MSS File: system.mss\r
-NPL File: projnav/system.ise\r
-Architecture: virtex4\r
-Device: xc4vfx12\r
-Package: ff668\r
-SpeedGrade: -10\r
-UserCmd1: \r
-UserCmd1Type: 0\r
-UserCmd2: \r
-UserCmd2Type: 0\r
-TopInst: system_i\r
-GenSimTB: 0\r
-InsertNoPads: 0\r
-WarnForEAArch: 1\r
-HdlLang: VHDL\r
-Simulator: mti\r
-SimModel: BEHAVIORAL\r
-MixLangSim: 1\r
-UcfFile: data/system.ucf\r
-FpgaImpMode: 0\r
-EnableParTimingError: 1\r
-EnableResetOptimization: 0\r
-ShowLicenseDialog: 1\r
-ICacheAddr: SRAM,\r
-DCacheAddr: SRAM,\r
-Processor: ppc405_0\r
-BootLoop: 1\r
-XmdStub: 0\r
-SwProj: RTOSDemo\r
-Processor: ppc405_0\r
-Executable: RTOSDemo/executable.elf\r
-Source: RTOSDemo/../../Common/Minimal/BlockQ.c\r
-Source: RTOSDemo/../../Common/Minimal/blocktim.c\r
-Source: RTOSDemo/../../Common/Minimal/comtest.c\r
-Source: RTOSDemo/../../Common/Minimal/countsem.c\r
-Source: RTOSDemo/../../Common/Minimal/death.c\r
-Source: RTOSDemo/../../Common/Minimal/dynamic.c\r
-Source: RTOSDemo/../../Common/Minimal/flash.c\r
-Source: RTOSDemo/../../Common/Minimal/GenQTest.c\r
-Source: RTOSDemo/../../Common/Minimal/integer.c\r
-Source: RTOSDemo/../../Common/Minimal/QPeek.c\r
-Source: RTOSDemo/../../Common/Minimal/recmutex.c\r
-Source: RTOSDemo/../../Common/Minimal/semtest.c\r
-Source: RTOSDemo/../../../Source/tasks.c\r
-Source: RTOSDemo/../../../Source/list.c\r
-Source: RTOSDemo/../../../Source/queue.c\r
-Source: RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c\r
-Source: RTOSDemo/main.c\r
-Source: RTOSDemo/serial/serial.c\r
-Source: RTOSDemo/partest/partest.c\r
-Source: RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S\r
-Source: RTOSDemo/../../../Source/portable/MemMang/heap_2.c\r
-Source: RTOSDemo/flop/flop.c\r
-Source: RTOSDemo/flop/flop-reg-test.c\r
-Header: RTOSDemo/FreeRTOSConfig.h\r
-DefaultInit: EXECUTABLE\r
-InitBram: 0\r
-Active: 1\r
-CompilerOptLevel: 0\r
-GlobPtrOpt: 0\r
-DebugSym: 1\r
-ProfileFlag: 0\r
-ProgStart: \r
-StackSize: \r
-HeapSize: \r
-LinkerScript: RTOSDemo/RTOSDemo_linker_script.ld\r
-ProgCCFlags: -I./RTOSDemo/flop -I../../Source/portable/GCC/PPC405_Xilinx -I./ppc405_0/include/  -IRTOSDemo/   -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames\r
-CompileInXps: 1\r
-NonXpsApp: 0\r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make
deleted file mode 100644 (file)
index fc6e115..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-#################################################################\r
-# Makefile generated by Xilinx Platform Studio \r
-# Project:C:\E\temp\rc\3\V5.0.2\FreeRTOS\Demo\PPC405_Xilinx_Virtex4_GCC\system.xmp\r
-#\r
-# WARNING : This file will be re-generated every time a command\r
-# to run a make target is invoked. So, any changes made to this  \r
-# file manually, will be lost when make is invoked next. \r
-#################################################################\r
-\r
-XILINX_EDK_DIR = /cygdrive/c/devtools/Xilinx/10.1/EDK\r
-NON_CYG_XILINX_EDK_DIR = C:/devtools/Xilinx/10.1/EDK\r
-\r
-SYSTEM = system\r
-\r
-MHSFILE = system.mhs\r
-\r
-MSSFILE = system.mss\r
-\r
-FPGA_ARCH = virtex4\r
-\r
-DEVICE = xc4vfx12ff668-10\r
-\r
-LANGUAGE = vhdl\r
-\r
-SEARCHPATHOPT = \r
-\r
-SUBMODULE_OPT = \r
-\r
-PLATGEN_OPTIONS = -p $(DEVICE) -lang $(LANGUAGE) $(SEARCHPATHOPT) $(SUBMODULE_OPT)\r
-\r
-LIBGEN_OPTIONS = -mhs $(MHSFILE) -p $(DEVICE) $(SEARCHPATHOPT)\r
-\r
-VPGEN_OPTIONS = -p $(DEVICE) $(SEARCHPATHOPT)\r
-\r
-MANAGE_FASTRT_OPTIONS = -reduce_fanout no\r
-\r
-OBSERVE_PAR_OPTIONS = -error yes\r
-\r
-RTOSDEMO_OUTPUT_DIR = RTOSDemo\r
-RTOSDEMO_OUTPUT = $(RTOSDEMO_OUTPUT_DIR)/executable.elf\r
-\r
-MICROBLAZE_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/microblaze/mb_bootloop.elf\r
-PPC405_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/ppc405/ppc_bootloop.elf\r
-PPC440_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/ppc440/ppc440_bootloop.elf\r
-BOOTLOOP_DIR = bootloops\r
-\r
-PPC405_0_BOOTLOOP = $(BOOTLOOP_DIR)/ppc405_0.elf\r
-\r
-BRAMINIT_ELF_FILES =  \r
-BRAMINIT_ELF_FILE_ARGS =  \r
-\r
-ALL_USER_ELF_FILES = $(RTOSDEMO_OUTPUT) \r
-\r
-SIM_CMD = vsim\r
-\r
-BEHAVIORAL_SIM_SCRIPT = simulation/behavioral/$(SYSTEM)_setup.do\r
-\r
-STRUCTURAL_SIM_SCRIPT = simulation/structural/$(SYSTEM)_setup.do\r
-\r
-TIMING_SIM_SCRIPT = simulation/timing/$(SYSTEM)_setup.do\r
-\r
-DEFAULT_SIM_SCRIPT = $(BEHAVIORAL_SIM_SCRIPT)\r
-\r
-MIX_LANG_SIM_OPT = -mixed yes\r
-\r
-SIMGEN_OPTIONS = -p $(DEVICE) -lang $(LANGUAGE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) $(MIX_LANG_SIM_OPT)  -s mti -X C:/E/temp/rc/3/V5.0.2/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/ -E C:/E/temp/rc/3/V5.0.2/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/\r
-\r
-\r
-LIBRARIES =  \\r
-       ppc405_0/lib/libxil.a \r
-VPEXEC = virtualplatform/vpexec.exe\r
-\r
-LIBSCLEAN_TARGETS = ppc405_0_libsclean \r
-\r
-PROGRAMCLEAN_TARGETS = RTOSDemo_programclean \r
-\r
-CORE_STATE_DEVELOPMENT_FILES = \r
-\r
-WRAPPER_NGC_FILES = implementation/ppc405_0_wrapper.ngc \
-implementation/jtagppc_0_wrapper.ngc \
-implementation/plb_wrapper.ngc \
-implementation/rs232_uart_wrapper.ngc \
-implementation/leds_4bit_wrapper.ngc \
-implementation/leds_positions_wrapper.ngc \
-implementation/sysace_compactflash_wrapper.ngc \
-implementation/sram_wrapper.ngc \
-implementation/sram_util_bus_split_0_wrapper.ngc \
-implementation/clock_generator_0_wrapper.ngc \
-implementation/proc_sys_reset_0_wrapper.ngc \
-implementation/xps_intc_0_wrapper.ngc\r
-\r
-POSTSYN_NETLIST = implementation/$(SYSTEM).ngc\r
-\r
-SYSTEM_BIT = implementation/$(SYSTEM).bit\r
-\r
-DOWNLOAD_BIT = implementation/download.bit\r
-\r
-SYSTEM_ACE = implementation/$(SYSTEM).ace\r
-\r
-UCF_FILE = data/system.ucf\r
-\r
-BMM_FILE = implementation/$(SYSTEM).bmm\r
-\r
-BITGEN_UT_FILE = etc/bitgen.ut\r
-\r
-XFLOW_OPT_FILE = etc/fast_runtime.opt\r
-XFLOW_DEPENDENCY = __xps/xpsxflow.opt $(XFLOW_OPT_FILE)\r
-\r
-XPLORER_DEPENDENCY = __xps/xplorer.opt\r
-XPLORER_OPTIONS = -p $(DEVICE) -uc $(SYSTEM).ucf -bm $(SYSTEM).bmm -max_runs 7\r
-\r
-FPGA_IMP_DEPENDENCY = $(BMM_FILE) $(POSTSYN_NETLIST) $(UCF_FILE) $(BITGEN_UT_FILE) $(XFLOW_DEPENDENCY)\r
-\r
-#################################################################\r
-# SOFTWARE APPLICATION RTOSDEMO\r
-#################################################################\r
-\r
-RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c RTOSDemo/flop/flop.c RTOSDemo/flop/flop-reg-test.c\r
-\r
-RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h \r
-\r
-RTOSDEMO_CC = powerpc-eabi-gcc\r
-RTOSDEMO_CC_SIZE = powerpc-eabi-size\r
-RTOSDEMO_CC_OPT = -O0\r
-RTOSDEMO_CFLAGS = -I./RTOSDemo/flop -I../../Source/portable/GCC/PPC405_Xilinx -I./ppc405_0/include/  -IRTOSDemo/   -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames\r
-RTOSDEMO_CC_SEARCH = # -B\r
-RTOSDEMO_LIBPATH = -L./ppc405_0/lib/ # -L\r
-RTOSDEMO_INCLUDES = -I./ppc405_0/include/  -IRTOSDemo/ # -I\r
-RTOSDEMO_LFLAGS = # -l\r
-RTOSDEMO_LINKER_SCRIPT = RTOSDemo/RTOSDemo_linker_script.ld\r
-RTOSDEMO_LINKER_SCRIPT_FLAG = -Wl,-T -Wl,$(RTOSDEMO_LINKER_SCRIPT) \r
-RTOSDEMO_CC_DEBUG_FLAG =  -g \r
-RTOSDEMO_CC_PROFILE_FLAG = # -pg\r
-RTOSDEMO_CC_GLOBPTR_FLAG= # -msdata=eabi\r
-RTOSDEMO_CC_INFERRED_FLAGS= \r
-RTOSDEMO_CC_START_ADDR_FLAG=  #  # -Wl,-defsym -Wl,_START_ADDR=\r
-RTOSDEMO_CC_STACK_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_STACK_SIZE=\r
-RTOSDEMO_CC_HEAP_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_HEAP_SIZE=\r
-RTOSDEMO_OTHER_CC_FLAGS= $(RTOSDEMO_CC_GLOBPTR_FLAG)  \\r
-                  $(RTOSDEMO_CC_START_ADDR_FLAG) $(RTOSDEMO_CC_STACK_SIZE_FLAG) $(RTOSDEMO_CC_HEAP_SIZE_FLAG)  \\r
-                  $(RTOSDEMO_CC_INFERRED_FLAGS)  \\r
-                  $(RTOSDEMO_LINKER_SCRIPT_FLAG) $(RTOSDEMO_CC_DEBUG_FLAG) $(RTOSDEMO_CC_PROFILE_FLAG) \r
diff --git a/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/wizlog b/FreeRTOS/Demo/PPC405_Xilinx_Virtex4_GCC/wizlog
deleted file mode 100644 (file)
index 3f4f483..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-WARNING:MDT - ppc405_virtex4 (ppc405_0) -\r
-   C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_FPU_Xilinx_Virtex4_GCC\dump.mhs\r
-   line 28 - ADDRESS specified by PARAMETER C_IDCR_BASEADDR is ignored
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/EMAC/EMAClISR.s79 b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/EMAC/EMAClISR.s79
deleted file mode 100644 (file)
index 48ae48b..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-               RSEG ICODE:CODE\r
-               CODE32\r
-\r
-               EXTERN vEMACISR\r
-               PUBLIC vEMACISREntry\r
-\r
-; Wrapper for the EMAC interrupt service routine.  This can cause a\r
-; context switch so requires an assembly wrapper.\r
-\r
-; Defines the portSAVE_CONTEXT and portRESTORE_CONTEXT macros.\r
-#include "ISR_Support.h"\r
-\r
-vEMACISREntry:\r
-\r
-       portSAVE_CONTEXT                        ; Save the context of the current task.\r
-\r
-       bl      vEMACISR                                ; Call the ISR routine.\r
-\r
-       portRESTORE_CONTEXT                     ; Restore the context of the current task -\r
-                                                               ; which may be different to the task that\r
-                                                               ; was interrupted.\r
-\r
-               END\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.c
deleted file mode 100644 (file)
index 715da69..0000000
+++ /dev/null
@@ -1,738 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-/*\r
- * Basic interrupt driven driver for the EMAC peripheral.  This driver is not\r
- * reentrant as with uIP the buffers are only ever accessed from a single task.\r
- *\r
- * The simple buffer management used within uIP allows the EMAC driver to also\r
- * be simplistic.  The driver contained within the lwIP demo is more\r
- * comprehensive.\r
- */\r
-\r
-\r
-/*\r
-Changes from V3.2.2\r
-\r
-       + Corrected the byte order when writing the MAC address to the MAC.\r
-       + Support added for MII interfaces.  Previously only RMII was supported.\r
-\r
-Changes from V3.2.3\r
-\r
-       + The MII interface is now the default.\r
-       + Modified the initialisation sequence slightly to allow auto init more\r
-         time to complete.\r
-\r
-Changes from V3.2.4\r
-\r
-       + Also read the EMAC_RSR register in the EMAC ISR as a work around the \r
-         the EMAC bug that can reset the RX bit in EMAC_ISR register before the\r
-         bit has been read.\r
-\r
-Changes from V4.0.4\r
-\r
-       + Corrected the Rx frame length mask when obtaining the length from the\r
-         rx descriptor.\r
-\r
-*/\r
-\r
-/* Standard includes. */\r
-#include <string.h>\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "semphr.h"\r
-#include "task.h"\r
-\r
-/* uIP includes. */\r
-#include "uip.h"\r
-\r
-/* Hardware specific includes. */\r
-#include "Emac.h"\r
-#include "mii.h"\r
-\r
-\r
-/* USE_RMII_INTERFACE must be defined as 1 to use an RMII interface, or 0\r
-to use an MII interface. */\r
-#define USE_RMII_INTERFACE 0\r
-\r
-/* The buffer addresses written into the descriptors must be aligned so the\r
-last few bits are zero.  These bits have special meaning for the EMAC\r
-peripheral and cannot be used as part of the address. */\r
-#define emacADDRESS_MASK                       ( ( unsigned long ) 0xFFFFFFFC )\r
-\r
-/* Bit used within the address stored in the descriptor to mark the last\r
-descriptor in the array. */\r
-#define emacRX_WRAP_BIT                                ( ( unsigned long ) 0x02 )\r
-\r
-/* Bit used within the Tx descriptor status to indicate whether the\r
-descriptor is under the control of the EMAC or the software. */\r
-#define emacTX_BUF_USED                                ( ( unsigned long ) 0x80000000 )\r
-\r
-/* A short delay is used to wait for a buffer to become available, should\r
-one not be immediately available when trying to transmit a frame. */\r
-#define emacBUFFER_WAIT_DELAY          ( 2 )\r
-#define emacMAX_WAIT_CYCLES                    ( configTICK_RATE_HZ / 40 )\r
-\r
-/* Misc defines. */\r
-#define emacINTERRUPT_LEVEL                    ( 5 )\r
-#define emacNO_DELAY                           ( 0 )\r
-#define emacTOTAL_FRAME_HEADER_SIZE    ( 54 )\r
-#define emacPHY_INIT_DELAY                     ( 5000 / portTICK_PERIOD_MS )\r
-#define emacRESET_KEY                          ( ( unsigned long ) 0xA5000000 )\r
-#define emacRESET_LENGTH                       ( ( unsigned long ) ( 0x01 << 8 ) )\r
-\r
-/* The Atmel header file only defines the TX frame length mask. */\r
-#define emacRX_LENGTH_FRAME                    ( 0xfff )\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/*\r
- * Prototype for the EMAC interrupt asm wrapper.\r
- */\r
-extern void vEMACISREntry( void );\r
-\r
-/*\r
- * Prototype for the EMAC interrupt function - called by the asm wrapper.\r
- */\r
-__arm void vEMACISR( void );\r
-\r
-/*\r
- * Initialise both the Tx and Rx descriptors used by the EMAC.\r
- */\r
-static void prvSetupDescriptors(void);\r
-\r
-/*\r
- * Write our MAC address into the EMAC.  The MAC address is set as one of the\r
- * uip options.\r
- */\r
-static void prvSetupMACAddress( void );\r
-\r
-/*\r
- * Configure the EMAC and AIC for EMAC interrupts.\r
- */\r
-static void prvSetupEMACInterrupt( void );\r
-\r
-/*\r
- * Some initialisation functions taken from the Atmel EMAC sample code.\r
- */\r
-static void vReadPHY( unsigned char ucPHYAddress, unsigned char ucAddress, unsigned long *pulValue );\r
-#if USE_RMII_INTERFACE != 1\r
-       static void vWritePHY( unsigned char ucPHYAddress, unsigned char ucAddress, unsigned long ulValue);\r
-#endif\r
-static portBASE_TYPE xGetLinkSpeed( void );\r
-static portBASE_TYPE prvProbePHY( void );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Buffer written to by the EMAC DMA.  Must be aligned as described by the\r
-comment above the emacADDRESS_MASK definition. */\r
-#pragma data_alignment=8\r
-static volatile char pcRxBuffer[ NB_RX_BUFFERS * ETH_RX_BUFFER_SIZE ];\r
-\r
-/* Buffer read by the EMAC DMA.  Must be aligned as described by he comment\r
-above the emacADDRESS_MASK definition. */\r
-#pragma data_alignment=8\r
-static char pcTxBuffer[ NB_TX_BUFFERS * ETH_TX_BUFFER_SIZE ];\r
-\r
-/* Descriptors used to communicate between the program and the EMAC peripheral.\r
-These descriptors hold the locations and state of the Rx and Tx buffers. */\r
-static volatile AT91S_TxTdDescriptor xTxDescriptors[ NB_TX_BUFFERS ];\r
-static volatile AT91S_RxTdDescriptor xRxDescriptors[ NB_RX_BUFFERS ];\r
-\r
-/* The IP and Ethernet addresses are read from the uIP setup. */\r
-const char cMACAddress[ 6 ] = { UIP_ETHADDR0, UIP_ETHADDR1, UIP_ETHADDR2, UIP_ETHADDR3, UIP_ETHADDR4, UIP_ETHADDR5 };\r
-const unsigned char ucIPAddress[ 4 ]  = { UIP_IPADDR0, UIP_IPADDR1, UIP_IPADDR2, UIP_IPADDR3 };\r
-\r
-/* The semaphore used by the EMAC ISR to wake the EMAC task. */\r
-static SemaphoreHandle_t xSemaphore = NULL;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-SemaphoreHandle_t xEMACInit( void )\r
-{\r
-       /* Code supplied by Atmel (modified) --------------------*/\r
-\r
-       /* disable pull up on RXDV => PHY normal mode (not in test mode),\r
-       PHY has internal pull down. */\r
-       AT91C_BASE_PIOB->PIO_PPUDR = 1 << 15;\r
-\r
-       #if USE_RMII_INTERFACE != 1\r
-               /* PHY has internal pull down : set MII mode. */\r
-               AT91C_BASE_PIOB->PIO_PPUDR= 1 << 16;\r
-       #endif\r
-\r
-       /* clear PB18 <=> PHY powerdown. */\r
-       AT91F_PIO_CfgOutput( AT91C_BASE_PIOB, 1 << 18 ) ;\r
-       AT91F_PIO_ClearOutput( AT91C_BASE_PIOB,  1 << 18) ;\r
-\r
-       /* After PHY power up, hardware reset. */\r
-       AT91C_BASE_RSTC->RSTC_RMR = emacRESET_KEY | emacRESET_LENGTH;\r
-       AT91C_BASE_RSTC->RSTC_RCR = emacRESET_KEY | AT91C_RSTC_EXTRST;\r
-       \r
-       /* Wait for hardware reset end. */\r
-       while( !( AT91C_BASE_RSTC->RSTC_RSR & AT91C_RSTC_NRSTL ) )\r
-       {\r
-               __asm( "NOP" );\r
-       }\r
-       __asm( "NOP" );\r
-       \r
-       /* EMAC IO init for EMAC-PHY com. Remove EF100 config. */\r
-       AT91F_EMAC_CfgPIO();\r
-\r
-       /* Enable com between EMAC PHY.\r
-\r
-       Enable management port. */\r
-       AT91C_BASE_EMAC->EMAC_NCR |= AT91C_EMAC_MPE;    \r
-\r
-       /* MDC = MCK/32. */\r
-       AT91C_BASE_EMAC->EMAC_NCFGR |= ( 2 ) << 10;     \r
-\r
-       /* Wait for PHY auto init end (rather crude delay!). */\r
-       vTaskDelay( emacPHY_INIT_DELAY );\r
-\r
-       /* PHY configuration. */\r
-       #if USE_RMII_INTERFACE != 1\r
-       {\r
-               unsigned long ulControl;\r
-\r
-               /* PHY has internal pull down : disable MII isolate. */\r
-               vReadPHY( AT91C_PHY_ADDR, MII_BMCR, &ulControl );\r
-               vReadPHY( AT91C_PHY_ADDR, MII_BMCR, &ulControl );\r
-               ulControl &= ~BMCR_ISOLATE;\r
-               vWritePHY( AT91C_PHY_ADDR, MII_BMCR, ulControl );\r
-       }\r
-       #endif\r
-\r
-       /* Disable management port again. */\r
-       AT91C_BASE_EMAC->EMAC_NCR &= ~AT91C_EMAC_MPE;\r
-\r
-       #if USE_RMII_INTERFACE != 1\r
-               /* Enable EMAC in MII mode, enable clock ERXCK and ETXCK. */\r
-               AT91C_BASE_EMAC->EMAC_USRIO = AT91C_EMAC_CLKEN ;\r
-       #else\r
-               /* Enable EMAC in RMII mode, enable RMII clock (50MHz from oscillator\r
-               on ERFCK). */\r
-               AT91C_BASE_EMAC->EMAC_USRIO = AT91C_EMAC_RMII | AT91C_EMAC_CLKEN ;\r
-       #endif\r
-\r
-       /* End of code supplied by Atmel ------------------------*/\r
-\r
-       /* Setup the buffers and descriptors. */\r
-       prvSetupDescriptors();\r
-       \r
-       /* Load our MAC address into the EMAC. */\r
-       prvSetupMACAddress();\r
-\r
-       /* Try to connect. */\r
-       if( prvProbePHY() )\r
-       {\r
-               /* Enable the interrupt! */\r
-               prvSetupEMACInterrupt();\r
-       }\r
-\r
-       return xSemaphore;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-long lEMACSend( void )\r
-{\r
-static unsigned portBASE_TYPE uxTxBufferIndex = 0;\r
-portBASE_TYPE xWaitCycles = 0;\r
-long lReturn = pdPASS;\r
-char *pcBuffer;\r
-\r
-       /* Is a buffer available? */\r
-       while( !( xTxDescriptors[ uxTxBufferIndex ].U_Status.status & AT91C_TRANSMIT_OK ) )\r
-       {\r
-               /* There is no room to write the Tx data to the Tx buffer.  Wait a\r
-               short while, then try again. */\r
-               xWaitCycles++;\r
-               if( xWaitCycles > emacMAX_WAIT_CYCLES )\r
-               {\r
-                       /* Give up. */\r
-                       lReturn = pdFAIL;\r
-                       break;\r
-               }\r
-               else\r
-               {\r
-                       vTaskDelay( emacBUFFER_WAIT_DELAY );\r
-               }\r
-       }\r
-\r
-       /* lReturn will only be pdPASS if a buffer is available. */\r
-       if( lReturn == pdPASS )\r
-       {\r
-               /* Copy the headers into the Tx buffer.  These will be in the uIP buffer. */\r
-               pcBuffer = ( char * ) xTxDescriptors[ uxTxBufferIndex ].addr;\r
-               memcpy( ( void * ) pcBuffer, ( void * ) uip_buf, emacTOTAL_FRAME_HEADER_SIZE );\r
-               if( uip_len > emacTOTAL_FRAME_HEADER_SIZE )\r
-               {\r
-                       memcpy( ( void * ) &( pcBuffer[ emacTOTAL_FRAME_HEADER_SIZE ] ), ( void * ) uip_appdata, ( uip_len - emacTOTAL_FRAME_HEADER_SIZE ) );\r
-               }\r
-\r
-               /* Send. */     \r
-               portENTER_CRITICAL();\r
-               {\r
-                       if( uxTxBufferIndex >= ( NB_TX_BUFFERS - 1 ) )\r
-                       {\r
-                               /* Fill out the necessary in the descriptor to get the data sent. */\r
-                               xTxDescriptors[ uxTxBufferIndex ].U_Status.status =     ( uip_len & ( unsigned long ) AT91C_LENGTH_FRAME )\r
-                                                                                                                                               | AT91C_LAST_BUFFER\r
-                                                                                                                                               | AT91C_TRANSMIT_WRAP;\r
-                               uxTxBufferIndex = 0;\r
-                       }\r
-                       else\r
-                       {\r
-                               /* Fill out the necessary in the descriptor to get the data sent. */\r
-                               xTxDescriptors[ uxTxBufferIndex ].U_Status.status =     ( uip_len & ( unsigned long ) AT91C_LENGTH_FRAME )\r
-                                                                                                                                               | AT91C_LAST_BUFFER;\r
-                               uxTxBufferIndex++;\r
-                       }\r
-       \r
-                       AT91C_BASE_EMAC->EMAC_NCR |= AT91C_EMAC_TSTART;\r
-               }\r
-               portEXIT_CRITICAL();\r
-       }\r
-\r
-       return lReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-unsigned long ulEMACPoll( void )\r
-{\r
-static unsigned portBASE_TYPE ulNextRxBuffer = 0;\r
-unsigned long ulSectionLength = 0, ulLengthSoFar = 0, ulEOF = pdFALSE;\r
-char *pcSource;\r
-\r
-       /* Skip any fragments. */\r
-       while( ( xRxDescriptors[ ulNextRxBuffer ].addr & AT91C_OWNERSHIP_BIT ) && !( xRxDescriptors[ ulNextRxBuffer ].U_Status.status & AT91C_SOF ) )\r
-       {\r
-               /* Mark the buffer as free again. */\r
-               xRxDescriptors[ ulNextRxBuffer ].addr &= ~( AT91C_OWNERSHIP_BIT );              \r
-               ulNextRxBuffer++;\r
-               if( ulNextRxBuffer >= NB_RX_BUFFERS )\r
-               {\r
-                       ulNextRxBuffer = 0;\r
-               }\r
-       }\r
-\r
-       /* Is there a packet ready? */\r
-\r
-       while( ( xRxDescriptors[ ulNextRxBuffer ].addr & AT91C_OWNERSHIP_BIT ) && !ulSectionLength )\r
-       {\r
-               pcSource = ( char * )( xRxDescriptors[ ulNextRxBuffer ].addr & emacADDRESS_MASK );\r
-               ulSectionLength = xRxDescriptors[ ulNextRxBuffer ].U_Status.status & emacRX_LENGTH_FRAME;\r
-\r
-               if( ulSectionLength == 0 )\r
-               {\r
-                       /* The frame is longer than the buffer pointed to by this\r
-                       descriptor so copy the entire buffer to uIP - then move onto\r
-                       the next descriptor to get the rest of the frame. */\r
-                       if( ( ulLengthSoFar + ETH_RX_BUFFER_SIZE ) <= UIP_BUFSIZE )\r
-                       {\r
-                               memcpy( &( uip_buf[ ulLengthSoFar ] ), pcSource, ETH_RX_BUFFER_SIZE );\r
-                               ulLengthSoFar += ETH_RX_BUFFER_SIZE;\r
-                       }                       \r
-               }\r
-               else\r
-               {\r
-                       /* This is the last section of the frame.  Copy the section to\r
-                       uIP. */\r
-                       if( ulSectionLength < UIP_BUFSIZE )\r
-                       {\r
-                               /* The section length holds the length of the entire frame.\r
-                               ulLengthSoFar holds the length of the frame sections already\r
-                               copied to uIP, so the length of the final section is\r
-                               ulSectionLength - ulLengthSoFar; */\r
-                               if( ulSectionLength > ulLengthSoFar )\r
-                               {\r
-                                       memcpy( &( uip_buf[ ulLengthSoFar ] ), pcSource, ( ulSectionLength - ulLengthSoFar ) );\r
-                               }\r
-                       }                       \r
-\r
-                       /* Is this the last buffer for the frame?  If not why? */\r
-                       ulEOF = xRxDescriptors[ ulNextRxBuffer ].U_Status.status & AT91C_EOF;\r
-               }\r
-\r
-               /* Mark the buffer as free again. */\r
-               xRxDescriptors[ ulNextRxBuffer ].addr &= ~( AT91C_OWNERSHIP_BIT );\r
-\r
-               /* Increment to the next buffer, wrapping if necessary. */\r
-               ulNextRxBuffer++;\r
-               if( ulNextRxBuffer >= NB_RX_BUFFERS )\r
-               {\r
-                       ulNextRxBuffer = 0;\r
-               }\r
-       }\r
-\r
-       /* If we obtained data but for some reason did not find the end of the\r
-       frame then discard the data as it must contain an error. */\r
-       if( !ulEOF )\r
-       {\r
-               ulSectionLength = 0;\r
-       }\r
-\r
-       return ulSectionLength;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvSetupDescriptors(void)\r
-{\r
-unsigned portBASE_TYPE xIndex;\r
-unsigned long ulAddress;\r
-\r
-       /* Initialise xRxDescriptors descriptor. */\r
-       for( xIndex = 0; xIndex < NB_RX_BUFFERS; ++xIndex )\r
-       {\r
-               /* Calculate the address of the nth buffer within the array. */\r
-               ulAddress = ( unsigned long )( pcRxBuffer + ( xIndex * ETH_RX_BUFFER_SIZE ) );\r
-\r
-               /* Write the buffer address into the descriptor.  The DMA will place\r
-               the data at this address when this descriptor is being used.  Mask off\r
-               the bottom bits of the address as these have special meaning. */\r
-               xRxDescriptors[ xIndex ].addr = ulAddress & emacADDRESS_MASK;\r
-       }       \r
-\r
-       /* The last buffer has the wrap bit set so the EMAC knows to wrap back\r
-       to the first buffer. */\r
-       xRxDescriptors[ NB_RX_BUFFERS - 1 ].addr |= emacRX_WRAP_BIT;\r
-\r
-       /* Initialise xTxDescriptors. */\r
-       for( xIndex = 0; xIndex < NB_TX_BUFFERS; ++xIndex )\r
-       {\r
-               /* Calculate the address of the nth buffer within the array. */\r
-               ulAddress = ( unsigned long )( pcTxBuffer + ( xIndex * ETH_TX_BUFFER_SIZE ) );\r
-\r
-               /* Write the buffer address into the descriptor.  The DMA will read\r
-               data from here when the descriptor is being used. */\r
-               xTxDescriptors[ xIndex ].addr = ulAddress & emacADDRESS_MASK;\r
-               xTxDescriptors[ xIndex ].U_Status.status = AT91C_TRANSMIT_OK;\r
-       }       \r
-\r
-       /* The last buffer has the wrap bit set so the EMAC knows to wrap back\r
-       to the first buffer. */\r
-       xTxDescriptors[ NB_TX_BUFFERS - 1 ].U_Status.status = AT91C_TRANSMIT_WRAP | AT91C_TRANSMIT_OK;\r
-\r
-       /* Tell the EMAC where to find the descriptors. */\r
-       AT91C_BASE_EMAC->EMAC_RBQP = ( unsigned long ) xRxDescriptors;\r
-       AT91C_BASE_EMAC->EMAC_TBQP = ( unsigned long ) xTxDescriptors;\r
-       \r
-       /* Clear all the bits in the receive status register. */\r
-       AT91C_BASE_EMAC->EMAC_RSR = ( AT91C_EMAC_OVR | AT91C_EMAC_REC | AT91C_EMAC_BNA );\r
-\r
-       /* Enable the copy of data into the buffers, ignore broadcasts,\r
-       and don't copy FCS. */\r
-       AT91C_BASE_EMAC->EMAC_NCFGR |= ( AT91C_EMAC_CAF | AT91C_EMAC_NBC | AT91C_EMAC_DRFCS);\r
-\r
-       /* Enable Rx and Tx, plus the stats register. */\r
-       AT91C_BASE_EMAC->EMAC_NCR |= ( AT91C_EMAC_TE | AT91C_EMAC_RE | AT91C_EMAC_WESTAT );\r
-}      \r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvSetupMACAddress( void )\r
-{\r
-       /* Must be written SA1L then SA1H. */\r
-       AT91C_BASE_EMAC->EMAC_SA1L =    ( ( unsigned long ) cMACAddress[ 3 ] << 24 ) |\r
-                                                                       ( ( unsigned long ) cMACAddress[ 2 ] << 16 ) |\r
-                                                                       ( ( unsigned long ) cMACAddress[ 1 ] << 8  ) |\r
-                                                                       cMACAddress[ 0 ];\r
-\r
-       AT91C_BASE_EMAC->EMAC_SA1H =    ( ( unsigned long ) cMACAddress[ 5 ] << 8 ) |\r
-                                                                       cMACAddress[ 4 ];\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvSetupEMACInterrupt( void )\r
-{\r
-       /* Create the semaphore used to trigger the EMAC task. */\r
-       vSemaphoreCreateBinary( xSemaphore );\r
-       if( xSemaphore )\r
-       {\r
-               /* We start by 'taking' the semaphore so the ISR can 'give' it when the\r
-               first interrupt occurs. */\r
-               xSemaphoreTake( xSemaphore, emacNO_DELAY );\r
-               portENTER_CRITICAL();\r
-               {\r
-                       /* We want to interrupt on Rx events. */\r
-                       AT91C_BASE_EMAC->EMAC_IER = AT91C_EMAC_RCOMP;\r
-\r
-                       /* Enable the interrupts in the AIC. */\r
-                       AT91F_AIC_ConfigureIt( AT91C_BASE_AIC, AT91C_ID_EMAC, emacINTERRUPT_LEVEL, AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, ( void (*)( void ) ) vEMACISREntry );\r
-                       AT91F_AIC_EnableIt( AT91C_BASE_AIC, AT91C_ID_EMAC );\r
-               }\r
-               portEXIT_CRITICAL();\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-__arm void vEMACISR( void )\r
-{\r
-volatile unsigned long ulIntStatus, ulRxStatus;\r
-portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;\r
-\r
-       ulIntStatus = AT91C_BASE_EMAC->EMAC_ISR;\r
-       ulRxStatus = AT91C_BASE_EMAC->EMAC_RSR;\r
-\r
-       if( ( ulIntStatus & AT91C_EMAC_RCOMP ) || ( ulRxStatus & AT91C_EMAC_REC ) )\r
-       {\r
-               /* A frame has been received, signal the uIP task so it can process\r
-               the Rx descriptors. */\r
-               xSemaphoreGiveFromISR( xSemaphore, &xHigherPriorityTaskWoken );\r
-               AT91C_BASE_EMAC->EMAC_RSR = AT91C_EMAC_REC;\r
-       }\r
-\r
-       /* If a task was woken by either a character being received or a character\r
-       being transmitted then we may need to switch to another task. */\r
-       portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );\r
-\r
-       /* Clear the interrupt. */\r
-       AT91C_BASE_AIC->AIC_EOICR = 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-\r
-\r
-/*\r
- * The following functions are initialisation functions taken from the Atmel\r
- * EMAC sample code.\r
- */\r
-\r
-static portBASE_TYPE prvProbePHY( void )\r
-{\r
-unsigned long ulPHYId1, ulPHYId2, ulStatus;\r
-portBASE_TYPE xReturn = pdPASS;\r
-       \r
-       /* Code supplied by Atmel (reformatted) -----------------*/\r
-\r
-       /* Enable management port */\r
-       AT91C_BASE_EMAC->EMAC_NCR |= AT91C_EMAC_MPE;    \r
-       AT91C_BASE_EMAC->EMAC_NCFGR |= ( 2 ) << 10;\r
-\r
-       /* Read the PHY ID. */\r
-       vReadPHY( AT91C_PHY_ADDR, MII_PHYSID1, &ulPHYId1 );\r
-       vReadPHY( AT91C_PHY_ADDR, MII_PHYSID2, &ulPHYId2 );\r
-\r
-       /* AMD AM79C875:\r
-                       PHY_ID1 = 0x0022\r
-                       PHY_ID2 = 0x5541\r
-                       Bits 3:0 Revision Number Four bit manufacturer\92s revision number.\r
-                               0001 stands for Rev. A, etc.\r
-       */\r
-       if( ( ( ulPHYId1 << 16 ) | ( ulPHYId2 & 0xfff0 ) ) != MII_DM9161_ID )\r
-       {\r
-               /* Did not expect this ID. */\r
-               xReturn = pdFAIL;\r
-       }\r
-       else\r
-       {\r
-               ulStatus = xGetLinkSpeed();\r
-\r
-               if( ulStatus != pdPASS )\r
-               {\r
-                       xReturn = pdFAIL;\r
-               }\r
-       }\r
-\r
-       /* Disable management port */\r
-       AT91C_BASE_EMAC->EMAC_NCR &= ~AT91C_EMAC_MPE;   \r
-\r
-       /* End of code supplied by Atmel ------------------------*/\r
-\r
-       return xReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vReadPHY( unsigned char ucPHYAddress, unsigned char ucAddress, unsigned long *pulValue )\r
-{\r
-       /* Code supplied by Atmel (reformatted) ----------------------*/\r
-\r
-       AT91C_BASE_EMAC->EMAC_MAN =     (AT91C_EMAC_SOF & (0x01<<30))\r
-                                                                       | (2 << 16) | (2 << 28)\r
-                                                                       | ((ucPHYAddress & 0x1f) << 23)\r
-                                                                       | (ucAddress << 18);\r
-\r
-       /* Wait until IDLE bit in Network Status register is cleared. */\r
-       while( !( AT91C_BASE_EMAC->EMAC_NSR & AT91C_EMAC_IDLE ) )\r
-       {\r
-               __asm( "NOP" );\r
-       }\r
-\r
-       *pulValue = ( AT91C_BASE_EMAC->EMAC_MAN & 0x0000ffff ); \r
-\r
-       /* End of code supplied by Atmel ------------------------*/\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-#if USE_RMII_INTERFACE != 1\r
-static void vWritePHY( unsigned char ucPHYAddress, unsigned char ucAddress, unsigned long ulValue )\r
-{\r
-       /* Code supplied by Atmel (reformatted) ----------------------*/\r
-\r
-       AT91C_BASE_EMAC->EMAC_MAN = (( AT91C_EMAC_SOF & (0x01<<30))\r
-                                                               | (2 << 16) | (1 << 28)\r
-                                                               | ((ucPHYAddress & 0x1f) << 23)\r
-                                                               | (ucAddress << 18))\r
-                                                               | (ulValue & 0xffff);\r
-\r
-       /* Wait until IDLE bit in Network Status register is cleared */\r
-       while( !( AT91C_BASE_EMAC->EMAC_NSR & AT91C_EMAC_IDLE ) )\r
-       {\r
-               __asm( "NOP" );\r
-       };\r
-\r
-       /* End of code supplied by Atmel ------------------------*/\r
-}\r
-#endif\r
-/*-----------------------------------------------------------*/\r
-\r
-static portBASE_TYPE xGetLinkSpeed( void )\r
-{\r
-       unsigned long ulBMSR, ulBMCR, ulLPA, ulMACCfg, ulSpeed, ulDuplex;\r
-\r
-       /* Code supplied by Atmel (reformatted) -----------------*/\r
-\r
-       /* Link status is latched, so read twice to get current value */\r
-       vReadPHY(AT91C_PHY_ADDR, MII_BMSR, &ulBMSR);\r
-       vReadPHY(AT91C_PHY_ADDR, MII_BMSR, &ulBMSR);\r
-\r
-       if( !( ulBMSR & BMSR_LSTATUS ) )\r
-       {       \r
-               /* No Link. */\r
-               return pdFAIL;\r
-       }\r
-\r
-       vReadPHY(AT91C_PHY_ADDR, MII_BMCR, &ulBMCR);\r
-       if (ulBMCR & BMCR_ANENABLE)\r
-       {                               \r
-               /* AutoNegotiation is enabled. */\r
-               if (!(ulBMSR & BMSR_ANEGCOMPLETE))\r
-               {\r
-                       /* Auto-negotiation in progress. */\r
-                       return pdFAIL;                          \r
-               }               \r
-\r
-               vReadPHY(AT91C_PHY_ADDR, MII_LPA, &ulLPA);\r
-               if( ( ulLPA & LPA_100FULL ) || ( ulLPA & LPA_100HALF ) )\r
-               {\r
-                       ulSpeed = SPEED_100;\r
-               }\r
-               else\r
-               {\r
-                       ulSpeed = SPEED_10;\r
-               }\r
-\r
-               if( ( ulLPA & LPA_100FULL ) || ( ulLPA & LPA_10FULL ) )\r
-               {\r
-                       ulDuplex = DUPLEX_FULL;\r
-               }\r
-               else\r
-               {\r
-                       ulDuplex = DUPLEX_HALF;\r
-               }\r
-       }\r
-       else\r
-       {\r
-               ulSpeed = ( ulBMCR & BMCR_SPEED100 ) ? SPEED_100 : SPEED_10;\r
-               ulDuplex = ( ulBMCR & BMCR_FULLDPLX ) ? DUPLEX_FULL : DUPLEX_HALF;\r
-       }\r
-\r
-       /* Update the MAC */\r
-       ulMACCfg = AT91C_BASE_EMAC->EMAC_NCFGR & ~( AT91C_EMAC_SPD | AT91C_EMAC_FD );\r
-       if( ulSpeed == SPEED_100 )\r
-       {\r
-               if( ulDuplex == DUPLEX_FULL )\r
-               {\r
-                       /* 100 Full Duplex */\r
-                       AT91C_BASE_EMAC->EMAC_NCFGR = ulMACCfg | AT91C_EMAC_SPD | AT91C_EMAC_FD;\r
-               }\r
-               else\r
-               {                                       \r
-                       /* 100 Half Duplex */\r
-                       AT91C_BASE_EMAC->EMAC_NCFGR = ulMACCfg | AT91C_EMAC_SPD;\r
-               }\r
-       }\r
-       else\r
-       {\r
-               if (ulDuplex == DUPLEX_FULL)\r
-               {\r
-                       /* 10 Full Duplex */\r
-                       AT91C_BASE_EMAC->EMAC_NCFGR = ulMACCfg | AT91C_EMAC_FD;\r
-               }\r
-               else\r
-               {\r
-                       /* 10 Half Duplex */\r
-                       AT91C_BASE_EMAC->EMAC_NCFGR = ulMACCfg;\r
-               }\r
-       }\r
-\r
-       /* End of code supplied by Atmel ------------------------*/\r
-\r
-       return pdPASS;\r
-}\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/EMAC/SAM7_EMAC.h
deleted file mode 100644 (file)
index 2c54cae..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef SAM_7_EMAC_H\r
-#define SAM_7_EMAC_H\r
-\r
-\r
-/*\r
- * Initialise the EMAC driver.  If successful a semaphore is returned that\r
- * is used by the EMAC ISR to indicate that Rx packets have been received.\r
- * If the initialisation fails then NULL is returned.\r
- */\r
-SemaphoreHandle_t xEMACInit( void );\r
-\r
-/*\r
- * Send the current uIP buffer.  This copies the uIP buffer to one of the\r
- * EMAC Tx buffers, then indicates to the EMAC that the buffer is ready.\r
- */\r
-long lEMACSend( void );\r
-\r
-/*\r
- * Called in response to an EMAC Rx interrupt.  Copies the received frame\r
- * into the uIP buffer.\r
- */\r
-unsigned long ulEMACPoll( void );\r
-\r
-#endif\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h
deleted file mode 100644 (file)
index bd77c64..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-#ifndef FREERTOS_CONFIG_H\r
-#define FREERTOS_CONFIG_H\r
-\r
-#include <intrinsics.h>\r
-#include "Board.h"\r
-\r
-/*-----------------------------------------------------------\r
- * Application specific definitions.\r
- *\r
- * These definitions should be adjusted for your particular hardware and\r
- * application requirements.\r
- *\r
- * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
- * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.\r
- *\r
- * See http://www.freertos.org/a00110.html.\r
- *----------------------------------------------------------*/\r
-\r
-#define configUSE_PREEMPTION           1\r
-#define configUSE_IDLE_HOOK                    0\r
-#define configUSE_TICK_HOOK                    0\r
-#define configCPU_CLOCK_HZ                     ( ( unsigned long ) 47923200 )\r
-#define configTICK_RATE_HZ                     ( ( TickType_t ) 1000 )\r
-#define configMAX_PRIORITIES           ( 5 )\r
-#define configMINIMAL_STACK_SIZE       ( ( unsigned short ) 100 )\r
-#define configTOTAL_HEAP_SIZE          ( ( size_t ) 22000 )\r
-#define configMAX_TASK_NAME_LEN                ( 16 )\r
-#define configUSE_TRACE_FACILITY       1\r
-#define configUSE_16_BIT_TICKS         0\r
-#define configIDLE_SHOULD_YIELD                0\r
-#define configQUEUE_REGISTRY_SIZE      10\r
-\r
-/* Co-routine definitions. */\r
-#define configUSE_CO_ROUTINES          0\r
-#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
-\r
-/* Set the following definitions to 1 to include the API function, or zero\r
-to exclude the API function. */\r
-\r
-#define INCLUDE_vTaskPrioritySet               1\r
-#define INCLUDE_uxTaskPriorityGet              1\r
-#define INCLUDE_vTaskDelete                            1\r
-#define INCLUDE_vTaskCleanUpResources  0\r
-#define INCLUDE_vTaskSuspend                   1\r
-#define INCLUDE_vTaskDelayUntil                        1\r
-#define INCLUDE_vTaskDelay                             1\r
-\r
-/* This demo makes use of one or more example stats formatting functions.  These\r
-format the raw data provided by the uxTaskGetSystemState() function in to human\r
-readable ASCII form.  See the notes in the implementation of vTaskList() within \r
-FreeRTOS/Source/tasks.c for limitations. */\r
-#define configUSE_STATS_FORMATTING_FUNCTIONS   1\r
-\r
-#endif /* FREERTOS_CONFIG_H */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/ParTest/ParTest.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/ParTest/ParTest.c
deleted file mode 100644 (file)
index 37e01e5..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-#include "FreeRTOS.h"\r
-#include "partest.h"\r
-#include "board.h"\r
-\r
-/*-----------------------------------------------------------\r
- * Simple parallel port IO routines for the LED's.  LED's can be set, cleared\r
- * or toggled.\r
- *-----------------------------------------------------------*/\r
-const unsigned long ulLED_MASK[ NB_LED ]= { LED1, LED2, LED3, LED4 };\r
-\r
-void vParTestInitialise( void )\r
-{      \r
-       /* Start with all LED's off. */\r
-       AT91F_PIO_SetOutput( AT91C_BASE_PIOB, LED_MASK );       \r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
-{\r
-       if( uxLED < ( portBASE_TYPE ) NB_LED )\r
-       {\r
-               if( xValue )\r
-               {\r
-                       AT91F_PIO_SetOutput( AT91C_BASE_PIOB, ulLED_MASK[ uxLED ] );\r
-               }\r
-               else\r
-               {\r
-                       AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, ulLED_MASK[ uxLED ]);\r
-               }\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
-{\r
-       if( uxLED < ( portBASE_TYPE ) NB_LED )\r
-       {\r
-               if( AT91F_PIO_GetInput( AT91C_BASE_PIOB ) & ulLED_MASK[ uxLED ] )\r
-               {\r
-                       AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, ulLED_MASK[ uxLED ]);\r
-               }\r
-               else\r
-               {\r
-                       AT91F_PIO_SetOutput( AT91C_BASE_PIOB, ulLED_MASK[ uxLED ] );                                    \r
-               }\r
-       }\r
-}\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/ReadMe.txt b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/ReadMe.txt
new file mode 100644 (file)
index 0000000..add5642
--- /dev/null
@@ -0,0 +1,5 @@
+If you need the demo that used to be in this directory then download FreeRTOS V8.2.3\r
+from http://sourceforge.net/projects/freertos/files/FreeRTOS/\r
+\r
+FreeRTOS now uses its own TCP/IP stack: http://www.FreeRTOS.org/TCP\r
+\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Board.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Board.h
deleted file mode 100644 (file)
index aba6727..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*----------------------------------------------------------------------------\r
-*         ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-*----------------------------------------------------------------------------\r
-* The software is delivered "AS IS" without warranty or condition of any\r
-* kind, either express, implied or statutory. This includes without\r
-* limitation any warranty or condition with respect to merchantability or\r
-* fitness for any particular purpose, or against the infringements of\r
-* intellectual property rights of others.\r
-*----------------------------------------------------------------------------\r
-* File Name           : Board.h\r
-* Object              : AT91SAM7X Evaluation Board Features Definition File.\r
-*\r
-* Creation            : JG   20/Jun/2005\r
-*----------------------------------------------------------------------------\r
-*/\r
-#ifndef Board_h\r
-#define Board_h\r
-\r
-#include <AT91SAM7X256.h>\r
-#define __inline static inline\r
-#include <lib_AT91SAM7X256.h>\r
-\r
-#define true   -1\r
-#define false  0\r
-\r
-/*-------------------------------*/\r
-/* SAM7Board Memories Definition */\r
-/*-------------------------------*/\r
-// The AT91SAM7X128 embeds a 32-Kbyte SRAM bank, and 128K-Byte Flash\r
-\r
-#define  FLASH_PAGE_NB         256\r
-#define  FLASH_PAGE_SIZE       128\r
-\r
-/*-----------------*/\r
-/* Leds Definition */\r
-/*-----------------*/\r
-#define LED1            (1<<19)        // PB19\r
-#define LED2            (1<<20)        // PB20\r
-#define LED3            (1<<21)        // PB21\r
-#define LED4            (1<<22)        // PB22\r
-#define NB_LED                 4\r
-\r
-#define LED_MASK        (LED1|LED2|LED3|LED4)\r
-\r
-/*-------------------------*/\r
-/* Push Buttons Definition */\r
-/*-------------------------*/\r
-\r
-#define SW1_MASK        (1<<21)        // PA21\r
-#define SW2_MASK        (1<<22)        // PA22\r
-#define SW3_MASK        (1<<23)        // PA23\r
-#define SW4_MASK        (1<<24)        // PA24\r
-#define SW_MASK         (SW1_MASK|SW2_MASK|SW3_MASK|SW4_MASK)\r
-\r
-\r
-#define SW1    (1<<21) // PA21\r
-#define SW2    (1<<22) // PA22\r
-#define SW3    (1<<23) // PA23\r
-#define SW4    (1<<24) // PA24\r
-\r
-/*--------------*/\r
-/* Master Clock */\r
-/*--------------*/\r
-\r
-#define EXT_OC          18432000   // Exetrnal ocilator MAINCK\r
-#define MCK             47923200   // MCK (PLLRC div by 2)\r
-#define MCKKHz          (MCK/1000) //\r
-\r
-#endif /* Board_h */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup.s b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup.s
deleted file mode 100644 (file)
index 12842e1..0000000
+++ /dev/null
@@ -1,302 +0,0 @@
-;* ----------------------------------------------------------------------------\r
-;*         ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-;* ----------------------------------------------------------------------------\r
-;* Copyright (c) 2006, Atmel Corporation\r
-;\r
-;* All rights reserved.\r
-;*\r
-;* Redistribution and use in source and binary forms, with or without\r
-;* modification, are permitted provided that the following conditions are met:\r
-;*\r
-;* - Redistributions of source code must retain the above copyright notice,\r
-;* this list of conditions and the disclaimer below.\r
-;*\r
-;* - Redistributions in binary form must reproduce the above copyright notice,\r
-;* this list of conditions and the disclaimer below in the documentation and/or\r
-;* other materials provided with the distribution.\r
-;*\r
-;* Atmel's name may not be used to endorse or promote products derived from\r
-;* this software without specific prior written permission.\r
-;*\r
-;* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
-;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
-;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
-;* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
-;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
-;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
-;* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
-;* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
-;* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
-;* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
-;* ----------------------------------------------------------------------------\r
-\r
-;------------------------------------------------------------------------------\r
-; Include your AT91 Library files\r
-;------------------------------------------------------------------------------\r
-#include "AT91SAM7X256_inc.h"\r
-;------------------------------------------------------------------------------\r
-\r
-#define TOP_OF_MEMORY    (AT91C_ISRAM + AT91C_ISRAM_SIZE)\r
-#define IRQ_STACK_SIZE   200\r
-     ; 3 words to be saved per interrupt priority level\r
-\r
-; Mode, correspords to bits 0-5 in CPSR\r
-MODE_BITS DEFINE  0x1F    ; Bit mask for mode bits in CPSR\r
-USR_MODE  DEFINE  0x10    ; User mode\r
-FIQ_MODE  DEFINE  0x11    ; Fast Interrupt Request mode\r
-IRQ_MODE  DEFINE  0x12    ; Interrupt Request mode\r
-SVC_MODE  DEFINE  0x13    ; Supervisor mode\r
-ABT_MODE  DEFINE  0x17    ; Abort mode\r
-UND_MODE  DEFINE  0x1B    ; Undefined Instruction mode\r
-SYS_MODE  DEFINE  0x1F    ; System mode\r
-\r
-I_BIT     DEFINE  0x80\r
-F_BIT     DEFINE  0x40\r
-\r
-;------------------------------------------------------------------------------\r
-; ?RESET\r
-; Reset Vector.\r
-; Normally, segment INTVEC is linked at address 0.\r
-; For debugging purposes, INTVEC may be placed at other addresses.\r
-; A debugger that honors the entry point will start the\r
-; program in a normal way even if INTVEC is not at address 0.\r
-;------------------------------------------------------------------------------\r
-        SECTION .intvec:CODE:NOROOT(2)\r
-        PUBLIC  __vector\r
-        PUBLIC  __iar_program_start\r
-               EXTERN  vPortYieldProcessor\r
-\r
-               ARM\r
-__vector:\r
-        ldr  pc,[pc,#+24]             ;; Reset\r
-__und_handler:\r
-        ldr  pc,[pc,#+24]             ;; Undefined instructions\r
-__swi_handler:\r
-        ldr  pc,[pc,#+24]             ;; Software interrupt (SWI/SVC)\r
-__prefetch_handler:\r
-        ldr  pc,[pc,#+24]             ;; Prefetch abort\r
-__data_handler:\r
-        ldr  pc,[pc,#+24]             ;; Data abort\r
-        DC32  0xFFFFFFFF              ;; RESERVED\r
-__irq_handler:\r
-        LDR                    PC, [PC, #-0xF20]\r
-__fiq_handler:\r
-        ldr  pc,[pc,#+24]             ;; FIQ\r
-\r
-        DC32  __iar_program_start\r
-        DC32  __und_handler\r
-        DC32  vPortYieldProcessor\r
-        DC32  __prefetch_handler\r
-        DC32  __data_handler\r
-        B .\r
-        DC32  IRQ_Handler_Entry\r
-        DC32  FIQ_Handler_Entry\r
-\r
-;------------------------------------------------------------------------------\r
-;- Manage exception: The exception must be ensure in ARM mode\r
-;------------------------------------------------------------------------------\r
-        SECTION text:CODE:NOROOT(2)\r
-        ARM\r
-;------------------------------------------------------------------------------\r
-;- Function             : FIQ_Handler_Entry\r
-;- Treatments           : FIQ Controller Interrupt Handler.\r
-;-                        R8 is initialize in Cstartup\r
-;- Called Functions     : None only by FIQ\r
-;------------------------------------------------------------------------------\r
-FIQ_Handler_Entry:\r
-\r
-;- Switch in SVC/User Mode to allow User Stack access for C code\r
-; because the FIQ is not yet acknowledged\r
-\r
-;- Save and r0 in FIQ_Register\r
-        mov         r9,r0\r
-        ldr         r0 , [r8, #AIC_FVR]\r
-        msr         CPSR_c,#I_BIT | F_BIT | SVC_MODE\r
-;- Save scratch/used registers and LR in User Stack\r
-        stmfd       sp!, { r1-r3, r12, lr}\r
-\r
-;- Branch to the routine pointed by the AIC_FVR\r
-        mov         r14, pc\r
-        bx          r0\r
-\r
-;- Restore scratch/used registers and LR from User Stack\r
-        ldmia       sp!, { r1-r3, r12, lr}\r
-\r
-;- Leave Interrupts disabled and switch back in FIQ mode\r
-        msr         CPSR_c, #I_BIT | F_BIT | FIQ_MODE\r
-\r
-;- Restore the R0 ARM_MODE_SVC register\r
-        mov         r0,r9\r
-\r
-;- Restore the Program Counter using the LR_fiq directly in the PC\r
-        subs        pc,lr,#4\r
-;------------------------------------------------------------------------------\r
-;- Function             : IRQ_Handler_Entry\r
-;- Treatments           : IRQ Controller Interrupt Handler.\r
-;- Called Functions     : AIC_IVR[interrupt]\r
-;------------------------------------------------------------------------------\r
-IRQ_Handler_Entry:\r
-;-------------------------\r
-;- Manage Exception Entry\r
-;-------------------------\r
-;- Adjust and save LR_irq in IRQ stack\r
-    sub         lr, lr, #4\r
-    stmfd       sp!, {lr}\r
-\r
-;- Save r0 and SPSR (need to be saved for nested interrupt)\r
-    mrs         r14, SPSR\r
-    stmfd       sp!, {r0,r14}\r
-\r
-;- Write in the IVR to support Protect Mode\r
-;- No effect in Normal Mode\r
-;- De-assert the NIRQ and clear the source in Protect Mode\r
-    ldr         r14, =AT91C_BASE_AIC\r
-    ldr         r0 , [r14, #AIC_IVR]\r
-    str         r14, [r14, #AIC_IVR]\r
-\r
-;- Enable Interrupt and Switch in Supervisor Mode\r
-    msr         CPSR_c, #SVC_MODE\r
-\r
-;- Save scratch/used registers and LR in User Stack\r
-    stmfd       sp!, { r1-r3, r12, r14}\r
-\r
-;----------------------------------------------\r
-;- Branch to the routine pointed by the AIC_IVR\r
-;----------------------------------------------\r
-    mov         r14, pc\r
-    bx          r0\r
-\r
-;----------------------------------------------\r
-;- Manage Exception Exit\r
-;----------------------------------------------\r
-;- Restore scratch/used registers and LR from User Stack\r
-    ldmia       sp!, { r1-r3, r12, r14}\r
-\r
-;- Disable Interrupt and switch back in IRQ mode\r
-    msr         CPSR_c, #I_BIT | IRQ_MODE\r
-\r
-;- Mark the End of Interrupt on the AIC\r
-    ldr         r14, =AT91C_BASE_AIC\r
-    str         r14, [r14, #AIC_EOICR]\r
-\r
-;- Restore SPSR_irq and r0 from IRQ stack\r
-    ldmia       sp!, {r0,r14}\r
-    msr         SPSR_cxsf, r14\r
-\r
-;- Restore adjusted  LR_irq from IRQ stack directly in the PC\r
-    ldmia       sp!, {pc}^\r
-\r
-;------------------------------------------------------------------------------\r
-;- Exception Vectors\r
-;------------------------------------------------------------------------------\r
-    PUBLIC    AT91F_Default_FIQ_handler\r
-    PUBLIC    AT91F_Default_IRQ_handler\r
-    PUBLIC    AT91F_Spurious_handler\r
-\r
-    ARM      ; Always ARM mode after exeption\r
-\r
-AT91F_Default_FIQ_handler\r
-    b         AT91F_Default_FIQ_handler\r
-\r
-AT91F_Default_IRQ_handler\r
-    b         AT91F_Default_IRQ_handler\r
-\r
-AT91F_Spurious_handler\r
-    b         AT91F_Spurious_handler\r
-\r
-\r
-;------------------------------------------------------------------------------\r
-; ?INIT\r
-; Program entry.\r
-;------------------------------------------------------------------------------\r
-\r
-    SECTION FIQ_STACK:DATA:NOROOT(3)\r
-    SECTION IRQ_STACK:DATA:NOROOT(3)\r
-    SECTION SVC_STACK:DATA:NOROOT(3)\r
-    SECTION ABT_STACK:DATA:NOROOT(3)\r
-    SECTION UND_STACK:DATA:NOROOT(3)\r
-    SECTION CSTACK:DATA:NOROOT(3)\r
-    SECTION text:CODE:NOROOT(2)\r
-    REQUIRE __vector\r
-    EXTERN  ?main\r
-    PUBLIC  __iar_program_start\r
-    EXTERN  AT91F_LowLevelInit\r
-\r
-\r
-__iar_program_start:\r
-\r
-;------------------------------------------------------------------------------\r
-;- Low level Init is performed in a C function: AT91F_LowLevelInit\r
-;- Init Stack Pointer to a valid memory area before calling AT91F_LowLevelInit\r
-;------------------------------------------------------------------------------\r
-\r
-;- Retrieve end of RAM address\r
-\r
-                ldr     r13,=TOP_OF_MEMORY          ;- Temporary stack in internal RAM for Low Level Init execution\r
-                ldr     r0,=AT91F_LowLevelInit\r
-                mov     lr, pc\r
-                bx      r0                          ;- Branch on C function (with interworking)\r
-\r
-; Initialize the stack pointers.\r
-; The pattern below can be used for any of the exception stacks:\r
-; FIQ, IRQ, SVC, ABT, UND, SYS.\r
-; The USR mode uses the same stack as SYS.\r
-; The stack segments must be defined in the linker command file,\r
-; and be declared above.\r
-\r
-                mrs     r0,cpsr                             ; Original PSR value\r
-                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits\r
-                orr     r0,r0,#SVC_MODE                     ; Set SVC mode bits\r
-                msr     cpsr_c,r0                           ; Change the mode\r
-                ldr     sp,=SFE(SVC_STACK)                  ; End of SVC_STACK\r
-\r
-                               bic     r0,r0,#MODE_BITS                    ; Clear the mode bits\r
-                orr     r0,r0,#UND_MODE                     ; Set UND mode bits\r
-                msr     cpsr_c,r0                           ; Change the mode\r
-                ldr     sp,=SFE(UND_STACK)                  ; End of UND_STACK\r
-\r
-                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits\r
-                orr     r0,r0,#ABT_MODE                     ; Set ABT mode bits\r
-                msr     cpsr_c,r0                           ; Change the mode\r
-                ldr     sp,=SFE(ABT_STACK)                  ; End of ABT_STACK\r
-\r
-                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits\r
-                orr     r0,r0,#FIQ_MODE                     ; Set FIQ mode bits\r
-                msr     cpsr_c,r0                           ; Change the mode\r
-                ldr     sp,=SFE(FIQ_STACK)                  ; End of FIQ_STACK\r
-                ;- Init the FIQ register\r
-                ldr     r8, =AT91C_BASE_AIC\r
-\r
-                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits\r
-                orr     r0,r0,#IRQ_MODE                     ; Set IRQ mode bits\r
-                msr     cpsr_c,r0                           ; Change the mode\r
-                ldr     sp,=SFE(IRQ_STACK)                  ; End of IRQ_STACK\r
-\r
-                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits\r
-                orr     r0,r0,#SYS_MODE                     ; Set System mode bits\r
-                msr     cpsr_c,r0                           ; Change the mode\r
-                ldr     sp,=SFE(CSTACK)                     ; End of CSTACK\r
-\r
-\r
-#ifdef __ARMVFP__\r
-; Enable the VFP coprocessor.\r
-                mov     r0, #0x40000000                 ; Set EN bit in VFP\r
-                fmxr    fpexc, r0                       ; FPEXC, clear others.\r
-\r
-; Disable underflow exceptions by setting flush to zero mode.\r
-; For full IEEE 754 underflow compliance this code should be removed\r
-; and the appropriate exception handler installed.\r
-                mov     r0, #0x01000000                        ; Set FZ bit in VFP\r
-                fmxr    fpscr, r0                       ; FPSCR, clear others.\r
-#endif\r
-\r
-; Add more initialization here\r
-                       msr   CPSR_c,#I_BIT | F_BIT | SVC_MODE\r
-\r
-\r
-; Continue to ?main for more IAR specific system startup\r
-\r
-                ldr     r0,=?main\r
-                bx      r0\r
-\r
-    END         ;- Terminates the assembly of the last module in a file\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup_SAM7.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup_SAM7.c
deleted file mode 100644 (file)
index 0b48391..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-//-----------------------------------------------------------------------------\r
-//         ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-//-----------------------------------------------------------------------------\r
-// DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
-// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
-// DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
-// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
-// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
-// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
-// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
-//-----------------------------------------------------------------------------\r
-// File Name           : Cstartup_SAM7.c\r
-// Object              : Low level initialisations written in C for Tools\r
-//                       For AT91SAM7X256 with 2 flash plane\r
-// Creation            : JPP  14-Sep-2006\r
-//-----------------------------------------------------------------------------\r
-\r
-\r
-#include "Board.h"\r
-//  The following functions must be write in ARM mode this function called\r
-// directly by exception vector\r
-extern void AT91F_Spurious_handler(void);\r
-extern void AT91F_Default_IRQ_handler(void);\r
-extern void AT91F_Default_FIQ_handler(void);\r
-\r
-//*----------------------------------------------------------------------------\r
-//* \fn    AT91F_LowLevelInit\r
-//* \brief This function performs very low level HW initialization\r
-//*        this function can use a Stack, depending the compilation\r
-//*        optimization mode\r
-//*----------------------------------------------------------------------------\r
-void AT91F_LowLevelInit(void) @ "ICODE"\r
-{\r
-    unsigned char i;\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    // EFC Init\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS ;\r
-\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    // Init PMC Step 1. Enable Main Oscillator\r
-    // Main Oscillator startup time is board specific:\r
-    // Main Oscillator Startup Time worst case (3MHz) corresponds to 15ms\r
-    // (0x40 for AT91C_CKGR_OSCOUNT field)\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    AT91C_BASE_PMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x40 <<8) | AT91C_CKGR_MOSCEN ));\r
-    // Wait Main Oscillator stabilization\r
-    while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS));\r
-\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    // Init PMC Step 2.\r
-    // Set PLL to 96MHz (96,109MHz) and UDP Clock to 48MHz\r
-    // PLL Startup time depends on PLL RC filter: worst case is choosen\r
-    // UDP Clock (48,058MHz) is compliant with the Universal Serial Bus\r
-    // Specification (+/- 0.25% for full speed)\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    AT91C_BASE_PMC->PMC_PLLR = AT91C_CKGR_USBDIV_1           |\r
-                                                  (16 << 8)                     |\r
-                               (AT91C_CKGR_MUL & (72 << 16)) |\r
-                               (AT91C_CKGR_DIV & 14);\r
-    // Wait for PLL stabilization\r
-    while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCK) );\r
-    // Wait until the master clock is established for the case we already\r
-    // turn on the PLL\r
-    while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) );\r
-\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    // Init PMC Step 3.\r
-    // Selection of Master Clock MCK equal to (Processor Clock PCK) PLL/2=48MHz\r
-    // The PMC_MCKR register must not be programmed in a single write operation\r
-    // (see. Product Errata Sheet)\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    AT91C_BASE_PMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2;\r
-    // Wait until the master clock is established\r
-    while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) );\r
-\r
-    AT91C_BASE_PMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK;\r
-    // Wait until the master clock is established\r
-    while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) );\r
-\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    //  Disable Watchdog (write once register)\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS;\r
-\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    //  Init AIC: assign corresponding handler for each interrupt source\r
-    ///////////////////////////////////////////////////////////////////////////\r
-    AT91C_BASE_AIC->AIC_SVR[0] = (int) AT91F_Default_FIQ_handler ;\r
-    for (i = 1; i < 31; i++) {\r
-        AT91C_BASE_AIC->AIC_SVR[i] = (int) AT91F_Default_IRQ_handler ;\r
-    }\r
-    AT91C_BASE_AIC->AIC_SPU = (unsigned int) AT91F_Spurious_handler;\r
-}\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Emac.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Emac.h
deleted file mode 100644 (file)
index 7551a36..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-//*----------------------------------------------------------------------------\r
-//*         ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-//*----------------------------------------------------------------------------\r
-//* The software is delivered "AS IS" without warranty or condition of any\r
-//* kind, either express, implied or statutory. This includes without\r
-//* limitation any warranty or condition with respect to merchantability or\r
-//* fitness for any particular purpose, or against the infringements of\r
-//* intellectual property rights of others.\r
-//*----------------------------------------------------------------------------\r
-//* File Name           : Emac.h\r
-//* Object              : Emac header file\r
-//* Creation            : Hi   11/18/2002\r
-//*\r
-//*----------------------------------------------------------------------------\r
-#ifndef AT91C_EMAC_H\r
-#define AT91C_EMAC_H\r
-\r
-\r
-//* Allows to display all IP header in the main.c\r
-//* If not defined, only ICMP packets are displayed\r
-#define AT91C_DISPLAY_ALL_IPHEADER             0\r
-\r
-#define NB_RX_BUFFERS                  25                      //* Number of receive buffers\r
-#define ETH_RX_BUFFER_SIZE             128         //*\r
-\r
-#define NB_TX_BUFFERS                  2               //* Number of Transmit buffers\r
-#define ETH_TX_BUFFER_SIZE             UIP_BUFSIZE       //*\r
-\r
-#define AT91C_NO_IPPACKET              0\r
-#define AT91C_IPPACKET         1\r
-\r
-#define ARP_REQUEST                            0x0001\r
-#define ARP_REPLY                              0x0002\r
-#define PROT_ARP                               0x0806\r
-#define PROT_IP                                        0x0800\r
-#define PROT_ICMP                              0x01\r
-#define ICMP_ECHO_REQUEST              0x08\r
-#define ICMP_ECHO_REPLY                        0x00\r
-\r
-#define AT91C_EMAC_CLKEN 0x2\r
-#define SWAP16(x)      (((x & 0xff) << 8) | (x >> 8))\r
-\r
-#if 0\r
-//* Transfer descriptor structure\r
-typedef struct _AT91S_TdDescriptor {\r
-       unsigned int addr;\r
-       unsigned int status;\r
-}AT91S_TdDescriptor, *AT91PS_TdDescriptor;\r
-#endif\r
-\r
-//* Receive Transfer descriptor structure\r
-typedef struct  _AT91S_RxTdDescriptor {\r
-       unsigned int addr;\r
-       union\r
-       {\r
-               unsigned int status;\r
-               struct {\r
-                       unsigned int Length:11;\r
-                       unsigned int Res0:1;\r
-                       unsigned int Rxbuf_off:2;\r
-                       unsigned int StartOfFrame:1;\r
-                       unsigned int EndOfFrame:1;\r
-                       unsigned int Cfi:1;\r
-                       unsigned int VlanPriority:3;\r
-                       unsigned int PriorityTag:1;\r
-                       unsigned int VlanTag:1;\r
-                       unsigned int TypeID:1;\r
-                       unsigned int Sa4Match:1;\r
-                       unsigned int Sa3Match:1;\r
-                       unsigned int Sa2Match:1;\r
-                       unsigned int Sa1Match:1;\r
-                       unsigned int Res1:1;\r
-                       unsigned int ExternalAdd:1;\r
-                       unsigned int UniCast:1;\r
-                       unsigned int MultiCast:1;\r
-                       unsigned int BroadCast:1;\r
-               }S_Status;              \r
-       }U_Status;\r
-}AT91S_RxTdDescriptor, *AT91PS_RxTdDescriptor;\r
-\r
-\r
-//* Transmit Transfer descriptor structure\r
-typedef struct _AT91S_TxTdDescriptor {\r
-       unsigned int addr;\r
-       union\r
-       {\r
-               unsigned int status;\r
-               struct {\r
-                       unsigned int Length:11;\r
-                       unsigned int Res0:4;\r
-                       unsigned int LastBuff:1;\r
-                       unsigned int NoCrc:1;\r
-                       unsigned int Res1:10;\r
-                       unsigned int BufExhausted:1;\r
-                       unsigned int TransmitUnderrun:1;\r
-                       unsigned int TransmitError:1;\r
-                       unsigned int Wrap:1;\r
-                       unsigned int BuffUsed:1;\r
-               }S_Status;              \r
-       }U_Status;\r
-}AT91S_TxTdDescriptor, *AT91PS_TxTdDescriptor;\r
-\r
-#define AT91C_OWNERSHIP_BIT            0x00000001\r
-\r
-/* Receive status defintion */\r
-#define AT91C_BROADCAST_ADDR   ((unsigned int) (1 << 31))      //* Broadcat address detected\r
-#define AT91C_MULTICAST_HASH   ((unsigned int) (1 << 30))      //* MultiCast hash match\r
-#define AT91C_UNICAST_HASH         ((unsigned int) (1 << 29))  //* UniCast hash match\r
-#define AT91C_EXTERNAL_ADDR        ((unsigned int) (1 << 28))  //* External Address match\r
-#define AT91C_SA1_ADDR         ((unsigned int) (1 << 26))      //* Specific address 1 match\r
-#define AT91C_SA2_ADDR         ((unsigned int) (1 << 25))      //* Specific address 2 match\r
-#define AT91C_SA3_ADDR         ((unsigned int) (1 << 24))      //* Specific address 3 match\r
-#define AT91C_SA4_ADDR         ((unsigned int) (1 << 23))      //* Specific address 4 match\r
-#define AT91C_TYPE_ID          ((unsigned int) (1 << 22))      //* Type ID match\r
-#define AT91C_VLAN_TAG         ((unsigned int) (1 << 21))      //* VLAN tag detected\r
-#define AT91C_PRIORITY_TAG     ((unsigned int) (1 << 20))      //* PRIORITY tag detected\r
-#define AT91C_VLAN_PRIORITY            ((unsigned int) (7 << 17))  //* PRIORITY Mask\r
-#define AT91C_CFI_IND          ((unsigned int) (1 << 16))  //* CFI indicator\r
-#define AT91C_EOF              ((unsigned int) (1 << 15))  //* EOF\r
-#define AT91C_SOF              ((unsigned int) (1 << 14))  //* SOF\r
-#define AT91C_RBF_OFFSET       ((unsigned int) (3 << 12))  //* Receive Buffer Offset Mask\r
-#define AT91C_LENGTH_FRAME             ((unsigned int) 0x07FF)     //* Length of frame\r
-\r
-/* Transmit Status definition */\r
-#define AT91C_TRANSMIT_OK              ((unsigned int) (1 << 31))      //*\r
-#define AT91C_TRANSMIT_WRAP            ((unsigned int) (1 << 30))      //* Wrap bit: mark the last descriptor\r
-#define AT91C_TRANSMIT_ERR             ((unsigned int) (1 << 29))      //* RLE:transmit error\r
-#define AT91C_TRANSMIT_UND             ((unsigned int) (1 << 28))      //* Transmit Underrun\r
-#define AT91C_BUF_EX                   ((unsigned int) (1 << 27))      //* Buffers exhausted in mid frame\r
-#define AT91C_TRANSMIT_NO_CRC  ((unsigned int) (1 << 16))      //* No CRC will be appended to the current frame\r
-#define AT91C_LAST_BUFFER      ((unsigned int) (1 << 15))      //*\r
-\r
-#define ARP_ETHER                      1               /* Ethernet  hardware address   */\r
-#define ARPOP_REQUEST          1               /* Request  to resolve  address */\r
-#define ARPOP_REPLY            2               /* Response to previous request */\r
-#define RARPOP_REQUEST         3               /* Request  to resolve  address */\r
-#define RARPOP_REPLY       4           /* Response to previous request */\r
-\r
-\r
-typedef struct _AT91S_EthHdr\r
-{\r
-       unsigned char           et_dest[6];     /* Destination node             */\r
-       unsigned char           et_src[6];      /* Source node                  */\r
-       unsigned short          et_protlen;     /* Protocol or length           */\r
-} AT91S_EthHdr, *AT91PS_EthHdr;\r
-\r
-typedef struct _AT91S_ArpHdr\r
-{\r
-       unsigned short          ar_hrd;         /* Format of hardware address   */\r
-       unsigned short          ar_pro;         /* Format of protocol address   */\r
-       unsigned char           ar_hln;         /* Length of hardware address   */\r
-       unsigned char           ar_pln;         /* Length of protocol address   */\r
-       unsigned short          ar_op;          /* Operation                    */\r
-       unsigned char           ar_sha[6];      /* Sender hardware address      */\r
-       unsigned char           ar_spa[4];      /* Sender protocol address      */\r
-       unsigned char           ar_tha[6];      /* Target hardware address      */\r
-       unsigned char           ar_tpa[4];      /* Target protocol address      */\r
-} AT91S_ArpHdr, *AT91PS_ArpHdr;\r
-\r
-//* IP Header structure\r
-typedef struct _AT91S_IPheader {\r
-       unsigned char   ip_hl_v;        /* header length and version    */\r
-       unsigned char   ip_tos;         /* type of service              */\r
-       unsigned short  ip_len;         /* total length                 */\r
-       unsigned short  ip_id;          /* identification               */\r
-       unsigned short  ip_off;         /* fragment offset field        */\r
-       unsigned char   ip_ttl;         /* time to live                 */\r
-       unsigned char   ip_p;           /* protocol                     */\r
-       unsigned short  ip_sum;         /* checksum                     */\r
-       unsigned char   ip_src[4];      /* Source IP address            */\r
-       unsigned char   ip_dst[4];      /* Destination IP address       */\r
-       unsigned short  udp_src;        /* UDP source port              */\r
-       unsigned short  udp_dst;        /* UDP destination port         */\r
-       unsigned short  udp_len;        /* Length of UDP packet         */\r
-       unsigned short  udp_xsum;       /* Checksum                     */\r
-} AT91S_IPheader, *AT91PS_IPheader;\r
-\r
-//* ICMP echo header structure\r
-typedef struct _AT91S_IcmpEchoHdr {\r
-    unsigned char   type;       /* type of message */\r
-    unsigned char   code;       /* type subcode */\r
-    unsigned short  cksum;      /* ones complement cksum of struct */\r
-    unsigned short  id;         /* identifier */\r
-    unsigned short  seq;        /* sequence number */\r
-}AT91S_IcmpEchoHdr, *AT91PS_IcmpEchoHdr;\r
-\r
-\r
-typedef struct _AT91S_EthPack\r
-{\r
-       AT91S_EthHdr    EthHdr;\r
-       AT91S_ArpHdr    ArpHdr;\r
-} AT91S_EthPack, *AT91PS_EthPack;\r
-\r
-\r
-#endif //* AT91C_EMAC_H\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/dbgu.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/dbgu.c
deleted file mode 100644 (file)
index cee31b1..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-//*----------------------------------------------------------------------------\r
-//*         ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-//*----------------------------------------------------------------------------\r
-//* The software is delivered "AS IS" without warranty or condition of any\r
-//* kind, either express, implied or statutory. This includes without\r
-//* limitation any warranty or condition with respect to merchantability or\r
-//* fitness for any particular purpose, or against the infringements of\r
-//* intellectual property rights of others.\r
-//*----------------------------------------------------------------------------\r
-//* File Name           : dbgu.c\r
-//* Object              : DBGU routines written in C\r
-//* Creation            : JG   16/Aug/2004\r
-//*----------------------------------------------------------------------------\r
-\r
-// Include Standard files\r
-#include "Board.h"\r
-\r
-//*--------------------------1--------------------------------------------------\r
-//* \fn    AT91F_DBGU_Printk\r
-//* \brief This function is used to send a string through the DBGU channel (Very low level debugging)\r
-//*----------------------------------------------------------------------------\r
-void AT91F_DBGU_Printk(        char *buffer)\r
-{\r
-    AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ; \r
-    unsigned int temp;\r
-    \r
-    while(*buffer != '\0') \r
-    {\r
-        temp=0;\r
-        \r
-       while (temp==0)\r
-       {\r
-         if ( (pDbgu->DBGU_CSR & 0x0200) == 0)\r
-           temp=0;\r
-         else\r
-           temp=1;\r
-       }\r
-\r
-        pDbgu->DBGU_THR = *buffer;\r
-        buffer++;\r
-    }\r
-}\r
-\r
-\r
-void Init_DBGU_CLK(void)\r
-{\r
-  AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, ((unsigned int) 1 << AT91C_ID_SYS));\r
-}\r
-\r
-void Init_DBGU_BGR(unsigned short baud)\r
-{\r
-  AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ; \r
-  \r
-  pDbgu->DBGU_BRGR = (unsigned short)baud;\r
-}\r
-\r
-void DBGU_TX_Enable(void)\r
-{\r
-  AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ; \r
-  \r
-  pDbgu->DBGU_CR = 0x00000040;\r
-}\r
-\r
-void DBGU_RX_Enable(void)\r
-{\r
-  AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ; \r
-  \r
-  pDbgu->DBGU_CR = 0x00000010;\r
-}\r
-\r
-void DBGU_RX_TX_RST_DIS(void)\r
-{\r
-  AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ; \r
-  pDbgu->DBGU_CR = 0x000000AC;\r
-}\r
-\r
-void DBGU_Parity_Cfg(unsigned int par)\r
-{\r
-  AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ; \r
-  \r
-  pDbgu->DBGU_MR = par << 9;\r
-}\r
-\r
-\r
-void Init_DBGU(void)\r
-{ \r
-  AT91F_DBGU_CfgPIO();\r
-  DBGU_RX_TX_RST_DIS();\r
-  Init_DBGU_BGR(26);  //26 <=> 115kBd\r
-  DBGU_Parity_Cfg(4);\r
-  DBGU_TX_Enable();   \r
-  DBGU_RX_Enable();\r
-}\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/dbgu.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/dbgu.h
deleted file mode 100644 (file)
index 58f50a0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-//*----------------------------------------------------------------------------\r
-//*         ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-//*----------------------------------------------------------------------------\r
-//* The software is delivered "AS IS" without warranty or condition of any\r
-//* kind, either express, implied or statutory. This includes without\r
-//* limitation any warranty or condition with respect to merchantability or\r
-//* fitness for any particular purpose, or against the infringements of\r
-//* intellectual property rights of others.\r
-//*----------------------------------------------------------------------------\r
-//* File Name           : dbgu.c\r
-//* Object              : DBGU routines written in C\r
-//* Creation            : JG   16/Aug/2004\r
-//*----------------------------------------------------------------------------\r
-\r
-// Include Standard files\r
-extern void APPLI_DBGU(void);   \r
-extern void D1_TEST_REGISTER_RESET_VALUES(void);\r
-extern void D2_CHIP_ID_VALUES(void);\r
-\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/init.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/init.c
deleted file mode 100644 (file)
index cbb1ee4..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-//*----------------------------------------------------------------------------\r
-//*         ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-//*----------------------------------------------------------------------------\r
-//* The software is delivered "AS IS" without warranty or condition of any\r
-//* kind, either express, implied or statutory. This includes without\r
-//* limitation any warranty or condition with respect to merchantability or\r
-//* fitness for any particular purpose, or against the infringements of\r
-//* intellectual property rights of others.\r
-//*----------------------------------------------------------------------------\r
-//* File Name           : init.c\r
-//* Object              : Low level initialisations written in C\r
-//* Creation            : ODi   06/26/2002\r
-//*\r
-//*----------------------------------------------------------------------------\r
-#include "board.h"\r
-//#include "init.h"\r
-#include <string.h>\r
-\r
-//*----------------------------------------------------------------------------\r
-//* \fn    AT91F_DBGU_Printk\r
-//* \brief This function is used to send a string through the DBGU channel (Very low level debugging)\r
-//*----------------------------------------------------------------------------\r
-void AT91F_DBGU_Printk(\r
-       char *buffer) // \arg pointer to a string ending by \0\r
-{\r
-       while(*buffer != '\0') {\r
-               while (!AT91F_US_TxReady((AT91PS_USART)AT91C_BASE_DBGU));\r
-               AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_DBGU, *buffer++);\r
-       }\r
-}\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/ioat91sam7x128.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/ioat91sam7x128.h
deleted file mode 100644 (file)
index df9cacc..0000000
+++ /dev/null
@@ -1,4700 +0,0 @@
-// - ----------------------------------------------------------------------------\r
-// -          ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-// - ----------------------------------------------------------------------------\r
-// -  DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
-// -  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
-// -  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
-// -  DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
-// -  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
-// -  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
-// -  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
-// -  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
-// -  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
-// -  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
-// - ----------------------------------------------------------------------------\r
-// - File Name           : AT91SAM7X128.h\r
-// - Object              : AT91SAM7X128 definitions\r
-// - Generated           : AT91 SW Application Group  05/20/2005 (16:22:23)\r
-// - \r
-// - CVS Reference       : /AT91SAM7X128.pl/1.14/Tue May 10 12:12:05 2005//\r
-// - CVS Reference       : /SYS_SAM7X.pl/1.3/Tue Feb  1 17:01:43 2005//\r
-// - CVS Reference       : /MC_SAM7X.pl/1.2/Fri May 20 14:13:04 2005//\r
-// - CVS Reference       : /PMC_SAM7X.pl/1.4/Tue Feb  8 13:58:10 2005//\r
-// - CVS Reference       : /RSTC_SAM7X.pl/1.1/Tue Feb  1 16:16:26 2005//\r
-// - CVS Reference       : /UDP_SAM7X.pl/1.1/Tue May 10 11:35:35 2005//\r
-// - CVS Reference       : /PWM_SAM7X.pl/1.1/Tue May 10 11:53:07 2005//\r
-// - CVS Reference       : /AIC_6075B.pl/1.3/Fri May 20 14:01:30 2005//\r
-// - CVS Reference       : /PIO_6057A.pl/1.2/Thu Feb  3 10:18:28 2005//\r
-// - CVS Reference       : /RTTC_6081A.pl/1.2/Tue Nov  9 14:43:58 2004//\r
-// - CVS Reference       : /PITC_6079A.pl/1.2/Tue Nov  9 14:43:56 2004//\r
-// - CVS Reference       : /WDTC_6080A.pl/1.3/Tue Nov  9 14:44:00 2004//\r
-// - CVS Reference       : /VREG_6085B.pl/1.1/Tue Feb  1 16:05:48 2005//\r
-// - CVS Reference       : /PDC_6074C.pl/1.2/Thu Feb  3 08:48:54 2005//\r
-// - CVS Reference       : /DBGU_6059D.pl/1.1/Mon Jan 31 13:15:32 2005//\r
-// - CVS Reference       : /SPI_6088D.pl/1.3/Fri May 20 14:08:59 2005//\r
-// - CVS Reference       : /US_6089C.pl/1.1/Mon Jul 12 18:23:26 2004//\r
-// - CVS Reference       : /SSC_6078A.pl/1.1/Tue Jul 13 07:45:40 2004//\r
-// - CVS Reference       : /TWI_6061A.pl/1.1/Tue Jul 13 07:38:06 2004//\r
-// - CVS Reference       : /TC_6082A.pl/1.7/Fri Mar 11 12:52:17 2005//\r
-// - CVS Reference       : /CAN_6019B.pl/1.1/Tue Mar  8 12:42:22 2005//\r
-// - CVS Reference       : /EMACB_6119A.pl/1.5/Thu Feb  3 15:52:04 2005//\r
-// - CVS Reference       : /ADC_6051C.pl/1.1/Fri Oct 17 09:12:38 2003//\r
-// - CVS Reference       : /AES_6149A.pl/1.10/Mon Feb  7 09:44:25 2005//\r
-// - CVS Reference       : /DES3_6150A.pl/1.1/Mon Jan 17 08:34:31 2005//\r
-// - ----------------------------------------------------------------------------\r
-\r
-#ifndef AT91SAM7X128_H\r
-#define AT91SAM7X128_H\r
-\r
-#ifdef __IAR_SYSTEMS_ICC__\r
-\r
-typedef volatile unsigned int AT91_REG;// Hardware register definition\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR System Peripherals\r
-// *****************************************************************************\r
-typedef struct _AT91S_SYS {\r
-       AT91_REG         AIC_SMR[32];   // Source Mode Register\r
-       AT91_REG         AIC_SVR[32];   // Source Vector Register\r
-       AT91_REG         AIC_IVR;       // IRQ Vector Register\r
-       AT91_REG         AIC_FVR;       // FIQ Vector Register\r
-       AT91_REG         AIC_ISR;       // Interrupt Status Register\r
-       AT91_REG         AIC_IPR;       // Interrupt Pending Register\r
-       AT91_REG         AIC_IMR;       // Interrupt Mask Register\r
-       AT91_REG         AIC_CISR;      // Core Interrupt Status Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         AIC_IECR;      // Interrupt Enable Command Register\r
-       AT91_REG         AIC_IDCR;      // Interrupt Disable Command Register\r
-       AT91_REG         AIC_ICCR;      // Interrupt Clear Command Register\r
-       AT91_REG         AIC_ISCR;      // Interrupt Set Command Register\r
-       AT91_REG         AIC_EOICR;     // End of Interrupt Command Register\r
-       AT91_REG         AIC_SPU;       // Spurious Vector Register\r
-       AT91_REG         AIC_DCR;       // Debug Control Register (Protect)\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         AIC_FFER;      // Fast Forcing Enable Register\r
-       AT91_REG         AIC_FFDR;      // Fast Forcing Disable Register\r
-       AT91_REG         AIC_FFSR;      // Fast Forcing Status Register\r
-       AT91_REG         Reserved2[45];         // \r
-       AT91_REG         DBGU_CR;       // Control Register\r
-       AT91_REG         DBGU_MR;       // Mode Register\r
-       AT91_REG         DBGU_IER;      // Interrupt Enable Register\r
-       AT91_REG         DBGU_IDR;      // Interrupt Disable Register\r
-       AT91_REG         DBGU_IMR;      // Interrupt Mask Register\r
-       AT91_REG         DBGU_CSR;      // Channel Status Register\r
-       AT91_REG         DBGU_RHR;      // Receiver Holding Register\r
-       AT91_REG         DBGU_THR;      // Transmitter Holding Register\r
-       AT91_REG         DBGU_BRGR;     // Baud Rate Generator Register\r
-       AT91_REG         Reserved3[7];  // \r
-       AT91_REG         DBGU_CIDR;     // Chip ID Register\r
-       AT91_REG         DBGU_EXID;     // Chip ID Extension Register\r
-       AT91_REG         DBGU_FNTR;     // Force NTRST Register\r
-       AT91_REG         Reserved4[45];         // \r
-       AT91_REG         DBGU_RPR;      // Receive Pointer Register\r
-       AT91_REG         DBGU_RCR;      // Receive Counter Register\r
-       AT91_REG         DBGU_TPR;      // Transmit Pointer Register\r
-       AT91_REG         DBGU_TCR;      // Transmit Counter Register\r
-       AT91_REG         DBGU_RNPR;     // Receive Next Pointer Register\r
-       AT91_REG         DBGU_RNCR;     // Receive Next Counter Register\r
-       AT91_REG         DBGU_TNPR;     // Transmit Next Pointer Register\r
-       AT91_REG         DBGU_TNCR;     // Transmit Next Counter Register\r
-       AT91_REG         DBGU_PTCR;     // PDC Transfer Control Register\r
-       AT91_REG         DBGU_PTSR;     // PDC Transfer Status Register\r
-       AT91_REG         Reserved5[54];         // \r
-       AT91_REG         PIOA_PER;      // PIO Enable Register\r
-       AT91_REG         PIOA_PDR;      // PIO Disable Register\r
-       AT91_REG         PIOA_PSR;      // PIO Status Register\r
-       AT91_REG         Reserved6[1];  // \r
-       AT91_REG         PIOA_OER;      // Output Enable Register\r
-       AT91_REG         PIOA_ODR;      // Output Disable Registerr\r
-       AT91_REG         PIOA_OSR;      // Output Status Register\r
-       AT91_REG         Reserved7[1];  // \r
-       AT91_REG         PIOA_IFER;     // Input Filter Enable Register\r
-       AT91_REG         PIOA_IFDR;     // Input Filter Disable Register\r
-       AT91_REG         PIOA_IFSR;     // Input Filter Status Register\r
-       AT91_REG         Reserved8[1];  // \r
-       AT91_REG         PIOA_SODR;     // Set Output Data Register\r
-       AT91_REG         PIOA_CODR;     // Clear Output Data Register\r
-       AT91_REG         PIOA_ODSR;     // Output Data Status Register\r
-       AT91_REG         PIOA_PDSR;     // Pin Data Status Register\r
-       AT91_REG         PIOA_IER;      // Interrupt Enable Register\r
-       AT91_REG         PIOA_IDR;      // Interrupt Disable Register\r
-       AT91_REG         PIOA_IMR;      // Interrupt Mask Register\r
-       AT91_REG         PIOA_ISR;      // Interrupt Status Register\r
-       AT91_REG         PIOA_MDER;     // Multi-driver Enable Register\r
-       AT91_REG         PIOA_MDDR;     // Multi-driver Disable Register\r
-       AT91_REG         PIOA_MDSR;     // Multi-driver Status Register\r
-       AT91_REG         Reserved9[1];  // \r
-       AT91_REG         PIOA_PPUDR;    // Pull-up Disable Register\r
-       AT91_REG         PIOA_PPUER;    // Pull-up Enable Register\r
-       AT91_REG         PIOA_PPUSR;    // Pull-up Status Register\r
-       AT91_REG         Reserved10[1];         // \r
-       AT91_REG         PIOA_ASR;      // Select A Register\r
-       AT91_REG         PIOA_BSR;      // Select B Register\r
-       AT91_REG         PIOA_ABSR;     // AB Select Status Register\r
-       AT91_REG         Reserved11[9];         // \r
-       AT91_REG         PIOA_OWER;     // Output Write Enable Register\r
-       AT91_REG         PIOA_OWDR;     // Output Write Disable Register\r
-       AT91_REG         PIOA_OWSR;     // Output Write Status Register\r
-       AT91_REG         Reserved12[85];        // \r
-       AT91_REG         PIOB_PER;      // PIO Enable Register\r
-       AT91_REG         PIOB_PDR;      // PIO Disable Register\r
-       AT91_REG         PIOB_PSR;      // PIO Status Register\r
-       AT91_REG         Reserved13[1];         // \r
-       AT91_REG         PIOB_OER;      // Output Enable Register\r
-       AT91_REG         PIOB_ODR;      // Output Disable Registerr\r
-       AT91_REG         PIOB_OSR;      // Output Status Register\r
-       AT91_REG         Reserved14[1];         // \r
-       AT91_REG         PIOB_IFER;     // Input Filter Enable Register\r
-       AT91_REG         PIOB_IFDR;     // Input Filter Disable Register\r
-       AT91_REG         PIOB_IFSR;     // Input Filter Status Register\r
-       AT91_REG         Reserved15[1];         // \r
-       AT91_REG         PIOB_SODR;     // Set Output Data Register\r
-       AT91_REG         PIOB_CODR;     // Clear Output Data Register\r
-       AT91_REG         PIOB_ODSR;     // Output Data Status Register\r
-       AT91_REG         PIOB_PDSR;     // Pin Data Status Register\r
-       AT91_REG         PIOB_IER;      // Interrupt Enable Register\r
-       AT91_REG         PIOB_IDR;      // Interrupt Disable Register\r
-       AT91_REG         PIOB_IMR;      // Interrupt Mask Register\r
-       AT91_REG         PIOB_ISR;      // Interrupt Status Register\r
-       AT91_REG         PIOB_MDER;     // Multi-driver Enable Register\r
-       AT91_REG         PIOB_MDDR;     // Multi-driver Disable Register\r
-       AT91_REG         PIOB_MDSR;     // Multi-driver Status Register\r
-       AT91_REG         Reserved16[1];         // \r
-       AT91_REG         PIOB_PPUDR;    // Pull-up Disable Register\r
-       AT91_REG         PIOB_PPUER;    // Pull-up Enable Register\r
-       AT91_REG         PIOB_PPUSR;    // Pull-up Status Register\r
-       AT91_REG         Reserved17[1];         // \r
-       AT91_REG         PIOB_ASR;      // Select A Register\r
-       AT91_REG         PIOB_BSR;      // Select B Register\r
-       AT91_REG         PIOB_ABSR;     // AB Select Status Register\r
-       AT91_REG         Reserved18[9];         // \r
-       AT91_REG         PIOB_OWER;     // Output Write Enable Register\r
-       AT91_REG         PIOB_OWDR;     // Output Write Disable Register\r
-       AT91_REG         PIOB_OWSR;     // Output Write Status Register\r
-       AT91_REG         Reserved19[341];       // \r
-       AT91_REG         PMC_SCER;      // System Clock Enable Register\r
-       AT91_REG         PMC_SCDR;      // System Clock Disable Register\r
-       AT91_REG         PMC_SCSR;      // System Clock Status Register\r
-       AT91_REG         Reserved20[1];         // \r
-       AT91_REG         PMC_PCER;      // Peripheral Clock Enable Register\r
-       AT91_REG         PMC_PCDR;      // Peripheral Clock Disable Register\r
-       AT91_REG         PMC_PCSR;      // Peripheral Clock Status Register\r
-       AT91_REG         Reserved21[1];         // \r
-       AT91_REG         PMC_MOR;       // Main Oscillator Register\r
-       AT91_REG         PMC_MCFR;      // Main Clock  Frequency Register\r
-       AT91_REG         Reserved22[1];         // \r
-       AT91_REG         PMC_PLLR;      // PLL Register\r
-       AT91_REG         PMC_MCKR;      // Master Clock Register\r
-       AT91_REG         Reserved23[3];         // \r
-       AT91_REG         PMC_PCKR[4];   // Programmable Clock Register\r
-       AT91_REG         Reserved24[4];         // \r
-       AT91_REG         PMC_IER;       // Interrupt Enable Register\r
-       AT91_REG         PMC_IDR;       // Interrupt Disable Register\r
-       AT91_REG         PMC_SR;        // Status Register\r
-       AT91_REG         PMC_IMR;       // Interrupt Mask Register\r
-       AT91_REG         Reserved25[36];        // \r
-       AT91_REG         RSTC_RCR;      // Reset Control Register\r
-       AT91_REG         RSTC_RSR;      // Reset Status Register\r
-       AT91_REG         RSTC_RMR;      // Reset Mode Register\r
-       AT91_REG         Reserved26[5];         // \r
-       AT91_REG         RTTC_RTMR;     // Real-time Mode Register\r
-       AT91_REG         RTTC_RTAR;     // Real-time Alarm Register\r
-       AT91_REG         RTTC_RTVR;     // Real-time Value Register\r
-       AT91_REG         RTTC_RTSR;     // Real-time Status Register\r
-       AT91_REG         PITC_PIMR;     // Period Interval Mode Register\r
-       AT91_REG         PITC_PISR;     // Period Interval Status Register\r
-       AT91_REG         PITC_PIVR;     // Period Interval Value Register\r
-       AT91_REG         PITC_PIIR;     // Period Interval Image Register\r
-       AT91_REG         WDTC_WDCR;     // Watchdog Control Register\r
-       AT91_REG         WDTC_WDMR;     // Watchdog Mode Register\r
-       AT91_REG         WDTC_WDSR;     // Watchdog Status Register\r
-       AT91_REG         Reserved27[5];         // \r
-       AT91_REG         VREG_MR;       // Voltage Regulator Mode Register\r
-} AT91S_SYS, *AT91PS_SYS;\r
-\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Advanced Interrupt Controller\r
-// *****************************************************************************\r
-typedef struct _AT91S_AIC {\r
-       AT91_REG         AIC_SMR[32];   // Source Mode Register\r
-       AT91_REG         AIC_SVR[32];   // Source Vector Register\r
-       AT91_REG         AIC_IVR;       // IRQ Vector Register\r
-       AT91_REG         AIC_FVR;       // FIQ Vector Register\r
-       AT91_REG         AIC_ISR;       // Interrupt Status Register\r
-       AT91_REG         AIC_IPR;       // Interrupt Pending Register\r
-       AT91_REG         AIC_IMR;       // Interrupt Mask Register\r
-       AT91_REG         AIC_CISR;      // Core Interrupt Status Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         AIC_IECR;      // Interrupt Enable Command Register\r
-       AT91_REG         AIC_IDCR;      // Interrupt Disable Command Register\r
-       AT91_REG         AIC_ICCR;      // Interrupt Clear Command Register\r
-       AT91_REG         AIC_ISCR;      // Interrupt Set Command Register\r
-       AT91_REG         AIC_EOICR;     // End of Interrupt Command Register\r
-       AT91_REG         AIC_SPU;       // Spurious Vector Register\r
-       AT91_REG         AIC_DCR;       // Debug Control Register (Protect)\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         AIC_FFER;      // Fast Forcing Enable Register\r
-       AT91_REG         AIC_FFDR;      // Fast Forcing Disable Register\r
-       AT91_REG         AIC_FFSR;      // Fast Forcing Status Register\r
-} AT91S_AIC, *AT91PS_AIC;\r
-\r
-// -------- AIC_SMR : (AIC Offset: 0x0) Control Register -------- \r
-#define AT91C_AIC_PRIOR       ((unsigned int) 0x7 <<  0) // (AIC) Priority Level\r
-#define        AT91C_AIC_PRIOR_LOWEST               ((unsigned int) 0x0) // (AIC) Lowest priority level\r
-#define        AT91C_AIC_PRIOR_HIGHEST              ((unsigned int) 0x7) // (AIC) Highest priority level\r
-#define AT91C_AIC_SRCTYPE     ((unsigned int) 0x3 <<  5) // (AIC) Interrupt Source Type\r
-#define        AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL       ((unsigned int) 0x0 <<  5) // (AIC) Internal Sources Code Label High-level Sensitive\r
-#define        AT91C_AIC_SRCTYPE_EXT_LOW_LEVEL        ((unsigned int) 0x0 <<  5) // (AIC) External Sources Code Label Low-level Sensitive\r
-#define        AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE    ((unsigned int) 0x1 <<  5) // (AIC) Internal Sources Code Label Positive Edge triggered\r
-#define        AT91C_AIC_SRCTYPE_EXT_NEGATIVE_EDGE    ((unsigned int) 0x1 <<  5) // (AIC) External Sources Code Label Negative Edge triggered\r
-#define        AT91C_AIC_SRCTYPE_HIGH_LEVEL           ((unsigned int) 0x2 <<  5) // (AIC) Internal Or External Sources Code Label High-level Sensitive\r
-#define        AT91C_AIC_SRCTYPE_POSITIVE_EDGE        ((unsigned int) 0x3 <<  5) // (AIC) Internal Or External Sources Code Label Positive Edge triggered\r
-// -------- AIC_CISR : (AIC Offset: 0x114) AIC Core Interrupt Status Register -------- \r
-#define AT91C_AIC_NFIQ        ((unsigned int) 0x1 <<  0) // (AIC) NFIQ Status\r
-#define AT91C_AIC_NIRQ        ((unsigned int) 0x1 <<  1) // (AIC) NIRQ Status\r
-// -------- AIC_DCR : (AIC Offset: 0x138) AIC Debug Control Register (Protect) -------- \r
-#define AT91C_AIC_DCR_PROT    ((unsigned int) 0x1 <<  0) // (AIC) Protection Mode\r
-#define AT91C_AIC_DCR_GMSK    ((unsigned int) 0x1 <<  1) // (AIC) General Mask\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Peripheral DMA Controller\r
-// *****************************************************************************\r
-typedef struct _AT91S_PDC {\r
-       AT91_REG         PDC_RPR;       // Receive Pointer Register\r
-       AT91_REG         PDC_RCR;       // Receive Counter Register\r
-       AT91_REG         PDC_TPR;       // Transmit Pointer Register\r
-       AT91_REG         PDC_TCR;       // Transmit Counter Register\r
-       AT91_REG         PDC_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         PDC_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         PDC_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         PDC_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         PDC_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         PDC_PTSR;      // PDC Transfer Status Register\r
-} AT91S_PDC, *AT91PS_PDC;\r
-\r
-// -------- PDC_PTCR : (PDC Offset: 0x20) PDC Transfer Control Register -------- \r
-#define AT91C_PDC_RXTEN       ((unsigned int) 0x1 <<  0) // (PDC) Receiver Transfer Enable\r
-#define AT91C_PDC_RXTDIS      ((unsigned int) 0x1 <<  1) // (PDC) Receiver Transfer Disable\r
-#define AT91C_PDC_TXTEN       ((unsigned int) 0x1 <<  8) // (PDC) Transmitter Transfer Enable\r
-#define AT91C_PDC_TXTDIS      ((unsigned int) 0x1 <<  9) // (PDC) Transmitter Transfer Disable\r
-// -------- PDC_PTSR : (PDC Offset: 0x24) PDC Transfer Status Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Debug Unit\r
-// *****************************************************************************\r
-typedef struct _AT91S_DBGU {\r
-       AT91_REG         DBGU_CR;       // Control Register\r
-       AT91_REG         DBGU_MR;       // Mode Register\r
-       AT91_REG         DBGU_IER;      // Interrupt Enable Register\r
-       AT91_REG         DBGU_IDR;      // Interrupt Disable Register\r
-       AT91_REG         DBGU_IMR;      // Interrupt Mask Register\r
-       AT91_REG         DBGU_CSR;      // Channel Status Register\r
-       AT91_REG         DBGU_RHR;      // Receiver Holding Register\r
-       AT91_REG         DBGU_THR;      // Transmitter Holding Register\r
-       AT91_REG         DBGU_BRGR;     // Baud Rate Generator Register\r
-       AT91_REG         Reserved0[7];  // \r
-       AT91_REG         DBGU_CIDR;     // Chip ID Register\r
-       AT91_REG         DBGU_EXID;     // Chip ID Extension Register\r
-       AT91_REG         DBGU_FNTR;     // Force NTRST Register\r
-       AT91_REG         Reserved1[45];         // \r
-       AT91_REG         DBGU_RPR;      // Receive Pointer Register\r
-       AT91_REG         DBGU_RCR;      // Receive Counter Register\r
-       AT91_REG         DBGU_TPR;      // Transmit Pointer Register\r
-       AT91_REG         DBGU_TCR;      // Transmit Counter Register\r
-       AT91_REG         DBGU_RNPR;     // Receive Next Pointer Register\r
-       AT91_REG         DBGU_RNCR;     // Receive Next Counter Register\r
-       AT91_REG         DBGU_TNPR;     // Transmit Next Pointer Register\r
-       AT91_REG         DBGU_TNCR;     // Transmit Next Counter Register\r
-       AT91_REG         DBGU_PTCR;     // PDC Transfer Control Register\r
-       AT91_REG         DBGU_PTSR;     // PDC Transfer Status Register\r
-} AT91S_DBGU, *AT91PS_DBGU;\r
-\r
-// -------- DBGU_CR : (DBGU Offset: 0x0) Debug Unit Control Register -------- \r
-#define AT91C_US_RSTRX        ((unsigned int) 0x1 <<  2) // (DBGU) Reset Receiver\r
-#define AT91C_US_RSTTX        ((unsigned int) 0x1 <<  3) // (DBGU) Reset Transmitter\r
-#define AT91C_US_RXEN         ((unsigned int) 0x1 <<  4) // (DBGU) Receiver Enable\r
-#define AT91C_US_RXDIS        ((unsigned int) 0x1 <<  5) // (DBGU) Receiver Disable\r
-#define AT91C_US_TXEN         ((unsigned int) 0x1 <<  6) // (DBGU) Transmitter Enable\r
-#define AT91C_US_TXDIS        ((unsigned int) 0x1 <<  7) // (DBGU) Transmitter Disable\r
-#define AT91C_US_RSTSTA       ((unsigned int) 0x1 <<  8) // (DBGU) Reset Status Bits\r
-// -------- DBGU_MR : (DBGU Offset: 0x4) Debug Unit Mode Register -------- \r
-#define AT91C_US_PAR          ((unsigned int) 0x7 <<  9) // (DBGU) Parity type\r
-#define        AT91C_US_PAR_EVEN                 ((unsigned int) 0x0 <<  9) // (DBGU) Even Parity\r
-#define        AT91C_US_PAR_ODD                  ((unsigned int) 0x1 <<  9) // (DBGU) Odd Parity\r
-#define        AT91C_US_PAR_SPACE                ((unsigned int) 0x2 <<  9) // (DBGU) Parity forced to 0 (Space)\r
-#define        AT91C_US_PAR_MARK                 ((unsigned int) 0x3 <<  9) // (DBGU) Parity forced to 1 (Mark)\r
-#define        AT91C_US_PAR_NONE                 ((unsigned int) 0x4 <<  9) // (DBGU) No Parity\r
-#define        AT91C_US_PAR_MULTI_DROP           ((unsigned int) 0x6 <<  9) // (DBGU) Multi-drop mode\r
-#define AT91C_US_CHMODE       ((unsigned int) 0x3 << 14) // (DBGU) Channel Mode\r
-#define        AT91C_US_CHMODE_NORMAL               ((unsigned int) 0x0 << 14) // (DBGU) Normal Mode: The USART channel operates as an RX/TX USART.\r
-#define        AT91C_US_CHMODE_AUTO                 ((unsigned int) 0x1 << 14) // (DBGU) Automatic Echo: Receiver Data Input is connected to the TXD pin.\r
-#define        AT91C_US_CHMODE_LOCAL                ((unsigned int) 0x2 << 14) // (DBGU) Local Loopback: Transmitter Output Signal is connected to Receiver Input Signal.\r
-#define        AT91C_US_CHMODE_REMOTE               ((unsigned int) 0x3 << 14) // (DBGU) Remote Loopback: RXD pin is internally connected to TXD pin.\r
-// -------- DBGU_IER : (DBGU Offset: 0x8) Debug Unit Interrupt Enable Register -------- \r
-#define AT91C_US_RXRDY        ((unsigned int) 0x1 <<  0) // (DBGU) RXRDY Interrupt\r
-#define AT91C_US_TXRDY        ((unsigned int) 0x1 <<  1) // (DBGU) TXRDY Interrupt\r
-#define AT91C_US_ENDRX        ((unsigned int) 0x1 <<  3) // (DBGU) End of Receive Transfer Interrupt\r
-#define AT91C_US_ENDTX        ((unsigned int) 0x1 <<  4) // (DBGU) End of Transmit Interrupt\r
-#define AT91C_US_OVRE         ((unsigned int) 0x1 <<  5) // (DBGU) Overrun Interrupt\r
-#define AT91C_US_FRAME        ((unsigned int) 0x1 <<  6) // (DBGU) Framing Error Interrupt\r
-#define AT91C_US_PARE         ((unsigned int) 0x1 <<  7) // (DBGU) Parity Error Interrupt\r
-#define AT91C_US_TXEMPTY      ((unsigned int) 0x1 <<  9) // (DBGU) TXEMPTY Interrupt\r
-#define AT91C_US_TXBUFE       ((unsigned int) 0x1 << 11) // (DBGU) TXBUFE Interrupt\r
-#define AT91C_US_RXBUFF       ((unsigned int) 0x1 << 12) // (DBGU) RXBUFF Interrupt\r
-#define AT91C_US_COMM_TX      ((unsigned int) 0x1 << 30) // (DBGU) COMM_TX Interrupt\r
-#define AT91C_US_COMM_RX      ((unsigned int) 0x1 << 31) // (DBGU) COMM_RX Interrupt\r
-// -------- DBGU_IDR : (DBGU Offset: 0xc) Debug Unit Interrupt Disable Register -------- \r
-// -------- DBGU_IMR : (DBGU Offset: 0x10) Debug Unit Interrupt Mask Register -------- \r
-// -------- DBGU_CSR : (DBGU Offset: 0x14) Debug Unit Channel Status Register -------- \r
-// -------- DBGU_FNTR : (DBGU Offset: 0x48) Debug Unit FORCE_NTRST Register -------- \r
-#define AT91C_US_FORCE_NTRST  ((unsigned int) 0x1 <<  0) // (DBGU) Force NTRST in JTAG\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Parallel Input Output Controler\r
-// *****************************************************************************\r
-typedef struct _AT91S_PIO {\r
-       AT91_REG         PIO_PER;       // PIO Enable Register\r
-       AT91_REG         PIO_PDR;       // PIO Disable Register\r
-       AT91_REG         PIO_PSR;       // PIO Status Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         PIO_OER;       // Output Enable Register\r
-       AT91_REG         PIO_ODR;       // Output Disable Registerr\r
-       AT91_REG         PIO_OSR;       // Output Status Register\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         PIO_IFER;      // Input Filter Enable Register\r
-       AT91_REG         PIO_IFDR;      // Input Filter Disable Register\r
-       AT91_REG         PIO_IFSR;      // Input Filter Status Register\r
-       AT91_REG         Reserved2[1];  // \r
-       AT91_REG         PIO_SODR;      // Set Output Data Register\r
-       AT91_REG         PIO_CODR;      // Clear Output Data Register\r
-       AT91_REG         PIO_ODSR;      // Output Data Status Register\r
-       AT91_REG         PIO_PDSR;      // Pin Data Status Register\r
-       AT91_REG         PIO_IER;       // Interrupt Enable Register\r
-       AT91_REG         PIO_IDR;       // Interrupt Disable Register\r
-       AT91_REG         PIO_IMR;       // Interrupt Mask Register\r
-       AT91_REG         PIO_ISR;       // Interrupt Status Register\r
-       AT91_REG         PIO_MDER;      // Multi-driver Enable Register\r
-       AT91_REG         PIO_MDDR;      // Multi-driver Disable Register\r
-       AT91_REG         PIO_MDSR;      // Multi-driver Status Register\r
-       AT91_REG         Reserved3[1];  // \r
-       AT91_REG         PIO_PPUDR;     // Pull-up Disable Register\r
-       AT91_REG         PIO_PPUER;     // Pull-up Enable Register\r
-       AT91_REG         PIO_PPUSR;     // Pull-up Status Register\r
-       AT91_REG         Reserved4[1];  // \r
-       AT91_REG         PIO_ASR;       // Select A Register\r
-       AT91_REG         PIO_BSR;       // Select B Register\r
-       AT91_REG         PIO_ABSR;      // AB Select Status Register\r
-       AT91_REG         Reserved5[9];  // \r
-       AT91_REG         PIO_OWER;      // Output Write Enable Register\r
-       AT91_REG         PIO_OWDR;      // Output Write Disable Register\r
-       AT91_REG         PIO_OWSR;      // Output Write Status Register\r
-} AT91S_PIO, *AT91PS_PIO;\r
-\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Clock Generator Controler\r
-// *****************************************************************************\r
-typedef struct _AT91S_CKGR {\r
-       AT91_REG         CKGR_MOR;      // Main Oscillator Register\r
-       AT91_REG         CKGR_MCFR;     // Main Clock  Frequency Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         CKGR_PLLR;     // PLL Register\r
-} AT91S_CKGR, *AT91PS_CKGR;\r
-\r
-// -------- CKGR_MOR : (CKGR Offset: 0x0) Main Oscillator Register -------- \r
-#define AT91C_CKGR_MOSCEN     ((unsigned int) 0x1 <<  0) // (CKGR) Main Oscillator Enable\r
-#define AT91C_CKGR_OSCBYPASS  ((unsigned int) 0x1 <<  1) // (CKGR) Main Oscillator Bypass\r
-#define AT91C_CKGR_OSCOUNT    ((unsigned int) 0xFF <<  8) // (CKGR) Main Oscillator Start-up Time\r
-// -------- CKGR_MCFR : (CKGR Offset: 0x4) Main Clock Frequency Register -------- \r
-#define AT91C_CKGR_MAINF      ((unsigned int) 0xFFFF <<  0) // (CKGR) Main Clock Frequency\r
-#define AT91C_CKGR_MAINRDY    ((unsigned int) 0x1 << 16) // (CKGR) Main Clock Ready\r
-// -------- CKGR_PLLR : (CKGR Offset: 0xc) PLL B Register -------- \r
-#define AT91C_CKGR_DIV        ((unsigned int) 0xFF <<  0) // (CKGR) Divider Selected\r
-#define        AT91C_CKGR_DIV_0                    ((unsigned int) 0x0) // (CKGR) Divider output is 0\r
-#define        AT91C_CKGR_DIV_BYPASS               ((unsigned int) 0x1) // (CKGR) Divider is bypassed\r
-#define AT91C_CKGR_PLLCOUNT   ((unsigned int) 0x3F <<  8) // (CKGR) PLL Counter\r
-#define AT91C_CKGR_OUT        ((unsigned int) 0x3 << 14) // (CKGR) PLL Output Frequency Range\r
-#define        AT91C_CKGR_OUT_0                    ((unsigned int) 0x0 << 14) // (CKGR) Please refer to the PLL datasheet\r
-#define        AT91C_CKGR_OUT_1                    ((unsigned int) 0x1 << 14) // (CKGR) Please refer to the PLL datasheet\r
-#define        AT91C_CKGR_OUT_2                    ((unsigned int) 0x2 << 14) // (CKGR) Please refer to the PLL datasheet\r
-#define        AT91C_CKGR_OUT_3                    ((unsigned int) 0x3 << 14) // (CKGR) Please refer to the PLL datasheet\r
-#define AT91C_CKGR_MUL        ((unsigned int) 0x7FF << 16) // (CKGR) PLL Multiplier\r
-#define AT91C_CKGR_USBDIV     ((unsigned int) 0x3 << 28) // (CKGR) Divider for USB Clocks\r
-#define        AT91C_CKGR_USBDIV_0                    ((unsigned int) 0x0 << 28) // (CKGR) Divider output is PLL clock output\r
-#define        AT91C_CKGR_USBDIV_1                    ((unsigned int) 0x1 << 28) // (CKGR) Divider output is PLL clock output divided by 2\r
-#define        AT91C_CKGR_USBDIV_2                    ((unsigned int) 0x2 << 28) // (CKGR) Divider output is PLL clock output divided by 4\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Power Management Controler\r
-// *****************************************************************************\r
-typedef struct _AT91S_PMC {\r
-       AT91_REG         PMC_SCER;      // System Clock Enable Register\r
-       AT91_REG         PMC_SCDR;      // System Clock Disable Register\r
-       AT91_REG         PMC_SCSR;      // System Clock Status Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         PMC_PCER;      // Peripheral Clock Enable Register\r
-       AT91_REG         PMC_PCDR;      // Peripheral Clock Disable Register\r
-       AT91_REG         PMC_PCSR;      // Peripheral Clock Status Register\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         PMC_MOR;       // Main Oscillator Register\r
-       AT91_REG         PMC_MCFR;      // Main Clock  Frequency Register\r
-       AT91_REG         Reserved2[1];  // \r
-       AT91_REG         PMC_PLLR;      // PLL Register\r
-       AT91_REG         PMC_MCKR;      // Master Clock Register\r
-       AT91_REG         Reserved3[3];  // \r
-       AT91_REG         PMC_PCKR[4];   // Programmable Clock Register\r
-       AT91_REG         Reserved4[4];  // \r
-       AT91_REG         PMC_IER;       // Interrupt Enable Register\r
-       AT91_REG         PMC_IDR;       // Interrupt Disable Register\r
-       AT91_REG         PMC_SR;        // Status Register\r
-       AT91_REG         PMC_IMR;       // Interrupt Mask Register\r
-} AT91S_PMC, *AT91PS_PMC;\r
-\r
-// -------- PMC_SCER : (PMC Offset: 0x0) System Clock Enable Register -------- \r
-#define AT91C_PMC_PCK         ((unsigned int) 0x1 <<  0) // (PMC) Processor Clock\r
-#define AT91C_PMC_UDP         ((unsigned int) 0x1 <<  7) // (PMC) USB Device Port Clock\r
-#define AT91C_PMC_PCK0        ((unsigned int) 0x1 <<  8) // (PMC) Programmable Clock Output\r
-#define AT91C_PMC_PCK1        ((unsigned int) 0x1 <<  9) // (PMC) Programmable Clock Output\r
-#define AT91C_PMC_PCK2        ((unsigned int) 0x1 << 10) // (PMC) Programmable Clock Output\r
-#define AT91C_PMC_PCK3        ((unsigned int) 0x1 << 11) // (PMC) Programmable Clock Output\r
-// -------- PMC_SCDR : (PMC Offset: 0x4) System Clock Disable Register -------- \r
-// -------- PMC_SCSR : (PMC Offset: 0x8) System Clock Status Register -------- \r
-// -------- CKGR_MOR : (PMC Offset: 0x20) Main Oscillator Register -------- \r
-// -------- CKGR_MCFR : (PMC Offset: 0x24) Main Clock Frequency Register -------- \r
-// -------- CKGR_PLLR : (PMC Offset: 0x2c) PLL B Register -------- \r
-// -------- PMC_MCKR : (PMC Offset: 0x30) Master Clock Register -------- \r
-#define AT91C_PMC_CSS         ((unsigned int) 0x3 <<  0) // (PMC) Programmable Clock Selection\r
-#define        AT91C_PMC_CSS_SLOW_CLK             ((unsigned int) 0x0) // (PMC) Slow Clock is selected\r
-#define        AT91C_PMC_CSS_MAIN_CLK             ((unsigned int) 0x1) // (PMC) Main Clock is selected\r
-#define        AT91C_PMC_CSS_PLL_CLK              ((unsigned int) 0x3) // (PMC) Clock from PLL is selected\r
-#define AT91C_PMC_PRES        ((unsigned int) 0x7 <<  2) // (PMC) Programmable Clock Prescaler\r
-#define        AT91C_PMC_PRES_CLK                  ((unsigned int) 0x0 <<  2) // (PMC) Selected clock\r
-#define        AT91C_PMC_PRES_CLK_2                ((unsigned int) 0x1 <<  2) // (PMC) Selected clock divided by 2\r
-#define        AT91C_PMC_PRES_CLK_4                ((unsigned int) 0x2 <<  2) // (PMC) Selected clock divided by 4\r
-#define        AT91C_PMC_PRES_CLK_8                ((unsigned int) 0x3 <<  2) // (PMC) Selected clock divided by 8\r
-#define        AT91C_PMC_PRES_CLK_16               ((unsigned int) 0x4 <<  2) // (PMC) Selected clock divided by 16\r
-#define        AT91C_PMC_PRES_CLK_32               ((unsigned int) 0x5 <<  2) // (PMC) Selected clock divided by 32\r
-#define        AT91C_PMC_PRES_CLK_64               ((unsigned int) 0x6 <<  2) // (PMC) Selected clock divided by 64\r
-// -------- PMC_PCKR : (PMC Offset: 0x40) Programmable Clock Register -------- \r
-// -------- PMC_IER : (PMC Offset: 0x60) PMC Interrupt Enable Register -------- \r
-#define AT91C_PMC_MOSCS       ((unsigned int) 0x1 <<  0) // (PMC) MOSC Status/Enable/Disable/Mask\r
-#define AT91C_PMC_LOCK        ((unsigned int) 0x1 <<  2) // (PMC) PLL Status/Enable/Disable/Mask\r
-#define AT91C_PMC_MCKRDY      ((unsigned int) 0x1 <<  3) // (PMC) MCK_RDY Status/Enable/Disable/Mask\r
-#define AT91C_PMC_PCK0RDY     ((unsigned int) 0x1 <<  8) // (PMC) PCK0_RDY Status/Enable/Disable/Mask\r
-#define AT91C_PMC_PCK1RDY     ((unsigned int) 0x1 <<  9) // (PMC) PCK1_RDY Status/Enable/Disable/Mask\r
-#define AT91C_PMC_PCK2RDY     ((unsigned int) 0x1 << 10) // (PMC) PCK2_RDY Status/Enable/Disable/Mask\r
-#define AT91C_PMC_PCK3RDY     ((unsigned int) 0x1 << 11) // (PMC) PCK3_RDY Status/Enable/Disable/Mask\r
-// -------- PMC_IDR : (PMC Offset: 0x64) PMC Interrupt Disable Register -------- \r
-// -------- PMC_SR : (PMC Offset: 0x68) PMC Status Register -------- \r
-// -------- PMC_IMR : (PMC Offset: 0x6c) PMC Interrupt Mask Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Reset Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_RSTC {\r
-       AT91_REG         RSTC_RCR;      // Reset Control Register\r
-       AT91_REG         RSTC_RSR;      // Reset Status Register\r
-       AT91_REG         RSTC_RMR;      // Reset Mode Register\r
-} AT91S_RSTC, *AT91PS_RSTC;\r
-\r
-// -------- RSTC_RCR : (RSTC Offset: 0x0) Reset Control Register -------- \r
-#define AT91C_RSTC_PROCRST    ((unsigned int) 0x1 <<  0) // (RSTC) Processor Reset\r
-#define AT91C_RSTC_PERRST     ((unsigned int) 0x1 <<  2) // (RSTC) Peripheral Reset\r
-#define AT91C_RSTC_EXTRST     ((unsigned int) 0x1 <<  3) // (RSTC) External Reset\r
-#define AT91C_RSTC_KEY        ((unsigned int) 0xFF << 24) // (RSTC) Password\r
-// -------- RSTC_RSR : (RSTC Offset: 0x4) Reset Status Register -------- \r
-#define AT91C_RSTC_URSTS      ((unsigned int) 0x1 <<  0) // (RSTC) User Reset Status\r
-#define AT91C_RSTC_BODSTS     ((unsigned int) 0x1 <<  1) // (RSTC) Brownout Detection Status\r
-#define AT91C_RSTC_RSTTYP     ((unsigned int) 0x7 <<  8) // (RSTC) Reset Type\r
-#define        AT91C_RSTC_RSTTYP_POWERUP              ((unsigned int) 0x0 <<  8) // (RSTC) Power-up Reset. VDDCORE rising.\r
-#define        AT91C_RSTC_RSTTYP_WAKEUP               ((unsigned int) 0x1 <<  8) // (RSTC) WakeUp Reset. VDDCORE rising.\r
-#define        AT91C_RSTC_RSTTYP_WATCHDOG             ((unsigned int) 0x2 <<  8) // (RSTC) Watchdog Reset. Watchdog overflow occured.\r
-#define        AT91C_RSTC_RSTTYP_SOFTWARE             ((unsigned int) 0x3 <<  8) // (RSTC) Software Reset. Processor reset required by the software.\r
-#define        AT91C_RSTC_RSTTYP_USER                 ((unsigned int) 0x4 <<  8) // (RSTC) User Reset. NRST pin detected low.\r
-#define        AT91C_RSTC_RSTTYP_BROWNOUT             ((unsigned int) 0x5 <<  8) // (RSTC) Brownout Reset occured.\r
-#define AT91C_RSTC_NRSTL      ((unsigned int) 0x1 << 16) // (RSTC) NRST pin level\r
-#define AT91C_RSTC_SRCMP      ((unsigned int) 0x1 << 17) // (RSTC) Software Reset Command in Progress.\r
-// -------- RSTC_RMR : (RSTC Offset: 0x8) Reset Mode Register -------- \r
-#define AT91C_RSTC_URSTEN     ((unsigned int) 0x1 <<  0) // (RSTC) User Reset Enable\r
-#define AT91C_RSTC_URSTIEN    ((unsigned int) 0x1 <<  4) // (RSTC) User Reset Interrupt Enable\r
-#define AT91C_RSTC_ERSTL      ((unsigned int) 0xF <<  8) // (RSTC) User Reset Enable\r
-#define AT91C_RSTC_BODIEN     ((unsigned int) 0x1 << 16) // (RSTC) Brownout Detection Interrupt Enable\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Real Time Timer Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_RTTC {\r
-       AT91_REG         RTTC_RTMR;     // Real-time Mode Register\r
-       AT91_REG         RTTC_RTAR;     // Real-time Alarm Register\r
-       AT91_REG         RTTC_RTVR;     // Real-time Value Register\r
-       AT91_REG         RTTC_RTSR;     // Real-time Status Register\r
-} AT91S_RTTC, *AT91PS_RTTC;\r
-\r
-// -------- RTTC_RTMR : (RTTC Offset: 0x0) Real-time Mode Register -------- \r
-#define AT91C_RTTC_RTPRES     ((unsigned int) 0xFFFF <<  0) // (RTTC) Real-time Timer Prescaler Value\r
-#define AT91C_RTTC_ALMIEN     ((unsigned int) 0x1 << 16) // (RTTC) Alarm Interrupt Enable\r
-#define AT91C_RTTC_RTTINCIEN  ((unsigned int) 0x1 << 17) // (RTTC) Real Time Timer Increment Interrupt Enable\r
-#define AT91C_RTTC_RTTRST     ((unsigned int) 0x1 << 18) // (RTTC) Real Time Timer Restart\r
-// -------- RTTC_RTAR : (RTTC Offset: 0x4) Real-time Alarm Register -------- \r
-#define AT91C_RTTC_ALMV       ((unsigned int) 0x0 <<  0) // (RTTC) Alarm Value\r
-// -------- RTTC_RTVR : (RTTC Offset: 0x8) Current Real-time Value Register -------- \r
-#define AT91C_RTTC_CRTV       ((unsigned int) 0x0 <<  0) // (RTTC) Current Real-time Value\r
-// -------- RTTC_RTSR : (RTTC Offset: 0xc) Real-time Status Register -------- \r
-#define AT91C_RTTC_ALMS       ((unsigned int) 0x1 <<  0) // (RTTC) Real-time Alarm Status\r
-#define AT91C_RTTC_RTTINC     ((unsigned int) 0x1 <<  1) // (RTTC) Real-time Timer Increment\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Periodic Interval Timer Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_PITC {\r
-       AT91_REG         PITC_PIMR;     // Period Interval Mode Register\r
-       AT91_REG         PITC_PISR;     // Period Interval Status Register\r
-       AT91_REG         PITC_PIVR;     // Period Interval Value Register\r
-       AT91_REG         PITC_PIIR;     // Period Interval Image Register\r
-} AT91S_PITC, *AT91PS_PITC;\r
-\r
-// -------- PITC_PIMR : (PITC Offset: 0x0) Periodic Interval Mode Register -------- \r
-#define AT91C_PITC_PIV        ((unsigned int) 0xFFFFF <<  0) // (PITC) Periodic Interval Value\r
-#define AT91C_PITC_PITEN      ((unsigned int) 0x1 << 24) // (PITC) Periodic Interval Timer Enabled\r
-#define AT91C_PITC_PITIEN     ((unsigned int) 0x1 << 25) // (PITC) Periodic Interval Timer Interrupt Enable\r
-// -------- PITC_PISR : (PITC Offset: 0x4) Periodic Interval Status Register -------- \r
-#define AT91C_PITC_PITS       ((unsigned int) 0x1 <<  0) // (PITC) Periodic Interval Timer Status\r
-// -------- PITC_PIVR : (PITC Offset: 0x8) Periodic Interval Value Register -------- \r
-#define AT91C_PITC_CPIV       ((unsigned int) 0xFFFFF <<  0) // (PITC) Current Periodic Interval Value\r
-#define AT91C_PITC_PICNT      ((unsigned int) 0xFFF << 20) // (PITC) Periodic Interval Counter\r
-// -------- PITC_PIIR : (PITC Offset: 0xc) Periodic Interval Image Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Watchdog Timer Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_WDTC {\r
-       AT91_REG         WDTC_WDCR;     // Watchdog Control Register\r
-       AT91_REG         WDTC_WDMR;     // Watchdog Mode Register\r
-       AT91_REG         WDTC_WDSR;     // Watchdog Status Register\r
-} AT91S_WDTC, *AT91PS_WDTC;\r
-\r
-// -------- WDTC_WDCR : (WDTC Offset: 0x0) Periodic Interval Image Register -------- \r
-#define AT91C_WDTC_WDRSTT     ((unsigned int) 0x1 <<  0) // (WDTC) Watchdog Restart\r
-#define AT91C_WDTC_KEY        ((unsigned int) 0xFF << 24) // (WDTC) Watchdog KEY Password\r
-// -------- WDTC_WDMR : (WDTC Offset: 0x4) Watchdog Mode Register -------- \r
-#define AT91C_WDTC_WDV        ((unsigned int) 0xFFF <<  0) // (WDTC) Watchdog Timer Restart\r
-#define AT91C_WDTC_WDFIEN     ((unsigned int) 0x1 << 12) // (WDTC) Watchdog Fault Interrupt Enable\r
-#define AT91C_WDTC_WDRSTEN    ((unsigned int) 0x1 << 13) // (WDTC) Watchdog Reset Enable\r
-#define AT91C_WDTC_WDRPROC    ((unsigned int) 0x1 << 14) // (WDTC) Watchdog Timer Restart\r
-#define AT91C_WDTC_WDDIS      ((unsigned int) 0x1 << 15) // (WDTC) Watchdog Disable\r
-#define AT91C_WDTC_WDD        ((unsigned int) 0xFFF << 16) // (WDTC) Watchdog Delta Value\r
-#define AT91C_WDTC_WDDBGHLT   ((unsigned int) 0x1 << 28) // (WDTC) Watchdog Debug Halt\r
-#define AT91C_WDTC_WDIDLEHLT  ((unsigned int) 0x1 << 29) // (WDTC) Watchdog Idle Halt\r
-// -------- WDTC_WDSR : (WDTC Offset: 0x8) Watchdog Status Register -------- \r
-#define AT91C_WDTC_WDUNF      ((unsigned int) 0x1 <<  0) // (WDTC) Watchdog Underflow\r
-#define AT91C_WDTC_WDERR      ((unsigned int) 0x1 <<  1) // (WDTC) Watchdog Error\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Voltage Regulator Mode Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_VREG {\r
-       AT91_REG         VREG_MR;       // Voltage Regulator Mode Register\r
-} AT91S_VREG, *AT91PS_VREG;\r
-\r
-// -------- VREG_MR : (VREG Offset: 0x0) Voltage Regulator Mode Register -------- \r
-#define AT91C_VREG_PSTDBY     ((unsigned int) 0x1 <<  0) // (VREG) Voltage Regulator Power Standby Mode\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Memory Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_MC {\r
-       AT91_REG         MC_RCR;        // MC Remap Control Register\r
-       AT91_REG         MC_ASR;        // MC Abort Status Register\r
-       AT91_REG         MC_AASR;       // MC Abort Address Status Register\r
-       AT91_REG         Reserved0[21];         // \r
-       AT91_REG         MC_FMR;        // MC Flash Mode Register\r
-       AT91_REG         MC_FCR;        // MC Flash Command Register\r
-       AT91_REG         MC_FSR;        // MC Flash Status Register\r
-} AT91S_MC, *AT91PS_MC;\r
-\r
-// -------- MC_RCR : (MC Offset: 0x0) MC Remap Control Register -------- \r
-#define AT91C_MC_RCB          ((unsigned int) 0x1 <<  0) // (MC) Remap Command Bit\r
-// -------- MC_ASR : (MC Offset: 0x4) MC Abort Status Register -------- \r
-#define AT91C_MC_UNDADD       ((unsigned int) 0x1 <<  0) // (MC) Undefined Addess Abort Status\r
-#define AT91C_MC_MISADD       ((unsigned int) 0x1 <<  1) // (MC) Misaligned Addess Abort Status\r
-#define AT91C_MC_ABTSZ        ((unsigned int) 0x3 <<  8) // (MC) Abort Size Status\r
-#define        AT91C_MC_ABTSZ_BYTE                 ((unsigned int) 0x0 <<  8) // (MC) Byte\r
-#define        AT91C_MC_ABTSZ_HWORD                ((unsigned int) 0x1 <<  8) // (MC) Half-word\r
-#define        AT91C_MC_ABTSZ_WORD                 ((unsigned int) 0x2 <<  8) // (MC) Word\r
-#define AT91C_MC_ABTTYP       ((unsigned int) 0x3 << 10) // (MC) Abort Type Status\r
-#define        AT91C_MC_ABTTYP_DATAR                ((unsigned int) 0x0 << 10) // (MC) Data Read\r
-#define        AT91C_MC_ABTTYP_DATAW                ((unsigned int) 0x1 << 10) // (MC) Data Write\r
-#define        AT91C_MC_ABTTYP_FETCH                ((unsigned int) 0x2 << 10) // (MC) Code Fetch\r
-#define AT91C_MC_MST0         ((unsigned int) 0x1 << 16) // (MC) Master 0 Abort Source\r
-#define AT91C_MC_MST1         ((unsigned int) 0x1 << 17) // (MC) Master 1 Abort Source\r
-#define AT91C_MC_SVMST0       ((unsigned int) 0x1 << 24) // (MC) Saved Master 0 Abort Source\r
-#define AT91C_MC_SVMST1       ((unsigned int) 0x1 << 25) // (MC) Saved Master 1 Abort Source\r
-// -------- MC_FMR : (MC Offset: 0x60) MC Flash Mode Register -------- \r
-#define AT91C_MC_FRDY         ((unsigned int) 0x1 <<  0) // (MC) Flash Ready\r
-#define AT91C_MC_LOCKE        ((unsigned int) 0x1 <<  2) // (MC) Lock Error\r
-#define AT91C_MC_PROGE        ((unsigned int) 0x1 <<  3) // (MC) Programming Error\r
-#define AT91C_MC_NEBP         ((unsigned int) 0x1 <<  7) // (MC) No Erase Before Programming\r
-#define AT91C_MC_FWS          ((unsigned int) 0x3 <<  8) // (MC) Flash Wait State\r
-#define        AT91C_MC_FWS_0FWS                 ((unsigned int) 0x0 <<  8) // (MC) 1 cycle for Read, 2 for Write operations\r
-#define        AT91C_MC_FWS_1FWS                 ((unsigned int) 0x1 <<  8) // (MC) 2 cycles for Read, 3 for Write operations\r
-#define        AT91C_MC_FWS_2FWS                 ((unsigned int) 0x2 <<  8) // (MC) 3 cycles for Read, 4 for Write operations\r
-#define        AT91C_MC_FWS_3FWS                 ((unsigned int) 0x3 <<  8) // (MC) 4 cycles for Read, 4 for Write operations\r
-#define AT91C_MC_FMCN         ((unsigned int) 0xFF << 16) // (MC) Flash Microsecond Cycle Number\r
-// -------- MC_FCR : (MC Offset: 0x64) MC Flash Command Register -------- \r
-#define AT91C_MC_FCMD         ((unsigned int) 0xF <<  0) // (MC) Flash Command\r
-#define        AT91C_MC_FCMD_START_PROG           ((unsigned int) 0x1) // (MC) Starts the programming of th epage specified by PAGEN.\r
-#define        AT91C_MC_FCMD_LOCK                 ((unsigned int) 0x2) // (MC) Starts a lock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.\r
-#define        AT91C_MC_FCMD_PROG_AND_LOCK        ((unsigned int) 0x3) // (MC) The lock sequence automatically happens after the programming sequence is completed.\r
-#define        AT91C_MC_FCMD_UNLOCK               ((unsigned int) 0x4) // (MC) Starts an unlock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.\r
-#define        AT91C_MC_FCMD_ERASE_ALL            ((unsigned int) 0x8) // (MC) Starts the erase of the entire flash.If at least a page is locked, the command is cancelled.\r
-#define        AT91C_MC_FCMD_SET_GP_NVM           ((unsigned int) 0xB) // (MC) Set General Purpose NVM bits.\r
-#define        AT91C_MC_FCMD_CLR_GP_NVM           ((unsigned int) 0xD) // (MC) Clear General Purpose NVM bits.\r
-#define        AT91C_MC_FCMD_SET_SECURITY         ((unsigned int) 0xF) // (MC) Set Security Bit.\r
-#define AT91C_MC_PAGEN        ((unsigned int) 0x3FF <<  8) // (MC) Page Number\r
-#define AT91C_MC_KEY          ((unsigned int) 0xFF << 24) // (MC) Writing Protect Key\r
-// -------- MC_FSR : (MC Offset: 0x68) MC Flash Command Register -------- \r
-#define AT91C_MC_SECURITY     ((unsigned int) 0x1 <<  4) // (MC) Security Bit Status\r
-#define AT91C_MC_GPNVM0       ((unsigned int) 0x1 <<  8) // (MC) Sector 0 Lock Status\r
-#define AT91C_MC_GPNVM1       ((unsigned int) 0x1 <<  9) // (MC) Sector 1 Lock Status\r
-#define AT91C_MC_GPNVM2       ((unsigned int) 0x1 << 10) // (MC) Sector 2 Lock Status\r
-#define AT91C_MC_GPNVM3       ((unsigned int) 0x1 << 11) // (MC) Sector 3 Lock Status\r
-#define AT91C_MC_GPNVM4       ((unsigned int) 0x1 << 12) // (MC) Sector 4 Lock Status\r
-#define AT91C_MC_GPNVM5       ((unsigned int) 0x1 << 13) // (MC) Sector 5 Lock Status\r
-#define AT91C_MC_GPNVM6       ((unsigned int) 0x1 << 14) // (MC) Sector 6 Lock Status\r
-#define AT91C_MC_GPNVM7       ((unsigned int) 0x1 << 15) // (MC) Sector 7 Lock Status\r
-#define AT91C_MC_LOCKS0       ((unsigned int) 0x1 << 16) // (MC) Sector 0 Lock Status\r
-#define AT91C_MC_LOCKS1       ((unsigned int) 0x1 << 17) // (MC) Sector 1 Lock Status\r
-#define AT91C_MC_LOCKS2       ((unsigned int) 0x1 << 18) // (MC) Sector 2 Lock Status\r
-#define AT91C_MC_LOCKS3       ((unsigned int) 0x1 << 19) // (MC) Sector 3 Lock Status\r
-#define AT91C_MC_LOCKS4       ((unsigned int) 0x1 << 20) // (MC) Sector 4 Lock Status\r
-#define AT91C_MC_LOCKS5       ((unsigned int) 0x1 << 21) // (MC) Sector 5 Lock Status\r
-#define AT91C_MC_LOCKS6       ((unsigned int) 0x1 << 22) // (MC) Sector 6 Lock Status\r
-#define AT91C_MC_LOCKS7       ((unsigned int) 0x1 << 23) // (MC) Sector 7 Lock Status\r
-#define AT91C_MC_LOCKS8       ((unsigned int) 0x1 << 24) // (MC) Sector 8 Lock Status\r
-#define AT91C_MC_LOCKS9       ((unsigned int) 0x1 << 25) // (MC) Sector 9 Lock Status\r
-#define AT91C_MC_LOCKS10      ((unsigned int) 0x1 << 26) // (MC) Sector 10 Lock Status\r
-#define AT91C_MC_LOCKS11      ((unsigned int) 0x1 << 27) // (MC) Sector 11 Lock Status\r
-#define AT91C_MC_LOCKS12      ((unsigned int) 0x1 << 28) // (MC) Sector 12 Lock Status\r
-#define AT91C_MC_LOCKS13      ((unsigned int) 0x1 << 29) // (MC) Sector 13 Lock Status\r
-#define AT91C_MC_LOCKS14      ((unsigned int) 0x1 << 30) // (MC) Sector 14 Lock Status\r
-#define AT91C_MC_LOCKS15      ((unsigned int) 0x1 << 31) // (MC) Sector 15 Lock Status\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Serial Parallel Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_SPI {\r
-       AT91_REG         SPI_CR;        // Control Register\r
-       AT91_REG         SPI_MR;        // Mode Register\r
-       AT91_REG         SPI_RDR;       // Receive Data Register\r
-       AT91_REG         SPI_TDR;       // Transmit Data Register\r
-       AT91_REG         SPI_SR;        // Status Register\r
-       AT91_REG         SPI_IER;       // Interrupt Enable Register\r
-       AT91_REG         SPI_IDR;       // Interrupt Disable Register\r
-       AT91_REG         SPI_IMR;       // Interrupt Mask Register\r
-       AT91_REG         Reserved0[4];  // \r
-       AT91_REG         SPI_CSR[4];    // Chip Select Register\r
-       AT91_REG         Reserved1[48];         // \r
-       AT91_REG         SPI_RPR;       // Receive Pointer Register\r
-       AT91_REG         SPI_RCR;       // Receive Counter Register\r
-       AT91_REG         SPI_TPR;       // Transmit Pointer Register\r
-       AT91_REG         SPI_TCR;       // Transmit Counter Register\r
-       AT91_REG         SPI_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         SPI_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         SPI_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         SPI_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         SPI_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         SPI_PTSR;      // PDC Transfer Status Register\r
-} AT91S_SPI, *AT91PS_SPI;\r
-\r
-// -------- SPI_CR : (SPI Offset: 0x0) SPI Control Register -------- \r
-#define AT91C_SPI_SPIEN       ((unsigned int) 0x1 <<  0) // (SPI) SPI Enable\r
-#define AT91C_SPI_SPIDIS      ((unsigned int) 0x1 <<  1) // (SPI) SPI Disable\r
-#define AT91C_SPI_SWRST       ((unsigned int) 0x1 <<  7) // (SPI) SPI Software reset\r
-#define AT91C_SPI_LASTXFER    ((unsigned int) 0x1 << 24) // (SPI) SPI Last Transfer\r
-// -------- SPI_MR : (SPI Offset: 0x4) SPI Mode Register -------- \r
-#define AT91C_SPI_MSTR        ((unsigned int) 0x1 <<  0) // (SPI) Master/Slave Mode\r
-#define AT91C_SPI_PS          ((unsigned int) 0x1 <<  1) // (SPI) Peripheral Select\r
-#define        AT91C_SPI_PS_FIXED                ((unsigned int) 0x0 <<  1) // (SPI) Fixed Peripheral Select\r
-#define        AT91C_SPI_PS_VARIABLE             ((unsigned int) 0x1 <<  1) // (SPI) Variable Peripheral Select\r
-#define AT91C_SPI_PCSDEC      ((unsigned int) 0x1 <<  2) // (SPI) Chip Select Decode\r
-#define AT91C_SPI_FDIV        ((unsigned int) 0x1 <<  3) // (SPI) Clock Selection\r
-#define AT91C_SPI_MODFDIS     ((unsigned int) 0x1 <<  4) // (SPI) Mode Fault Detection\r
-#define AT91C_SPI_LLB         ((unsigned int) 0x1 <<  7) // (SPI) Clock Selection\r
-#define AT91C_SPI_PCS         ((unsigned int) 0xF << 16) // (SPI) Peripheral Chip Select\r
-#define AT91C_SPI_DLYBCS      ((unsigned int) 0xFF << 24) // (SPI) Delay Between Chip Selects\r
-// -------- SPI_RDR : (SPI Offset: 0x8) Receive Data Register -------- \r
-#define AT91C_SPI_RD          ((unsigned int) 0xFFFF <<  0) // (SPI) Receive Data\r
-#define AT91C_SPI_RPCS        ((unsigned int) 0xF << 16) // (SPI) Peripheral Chip Select Status\r
-// -------- SPI_TDR : (SPI Offset: 0xc) Transmit Data Register -------- \r
-#define AT91C_SPI_TD          ((unsigned int) 0xFFFF <<  0) // (SPI) Transmit Data\r
-#define AT91C_SPI_TPCS        ((unsigned int) 0xF << 16) // (SPI) Peripheral Chip Select Status\r
-// -------- SPI_SR : (SPI Offset: 0x10) Status Register -------- \r
-#define AT91C_SPI_RDRF        ((unsigned int) 0x1 <<  0) // (SPI) Receive Data Register Full\r
-#define AT91C_SPI_TDRE        ((unsigned int) 0x1 <<  1) // (SPI) Transmit Data Register Empty\r
-#define AT91C_SPI_MODF        ((unsigned int) 0x1 <<  2) // (SPI) Mode Fault Error\r
-#define AT91C_SPI_OVRES       ((unsigned int) 0x1 <<  3) // (SPI) Overrun Error Status\r
-#define AT91C_SPI_ENDRX       ((unsigned int) 0x1 <<  4) // (SPI) End of Receiver Transfer\r
-#define AT91C_SPI_ENDTX       ((unsigned int) 0x1 <<  5) // (SPI) End of Receiver Transfer\r
-#define AT91C_SPI_RXBUFF      ((unsigned int) 0x1 <<  6) // (SPI) RXBUFF Interrupt\r
-#define AT91C_SPI_TXBUFE      ((unsigned int) 0x1 <<  7) // (SPI) TXBUFE Interrupt\r
-#define AT91C_SPI_NSSR        ((unsigned int) 0x1 <<  8) // (SPI) NSSR Interrupt\r
-#define AT91C_SPI_TXEMPTY     ((unsigned int) 0x1 <<  9) // (SPI) TXEMPTY Interrupt\r
-#define AT91C_SPI_SPIENS      ((unsigned int) 0x1 << 16) // (SPI) Enable Status\r
-// -------- SPI_IER : (SPI Offset: 0x14) Interrupt Enable Register -------- \r
-// -------- SPI_IDR : (SPI Offset: 0x18) Interrupt Disable Register -------- \r
-// -------- SPI_IMR : (SPI Offset: 0x1c) Interrupt Mask Register -------- \r
-// -------- SPI_CSR : (SPI Offset: 0x30) Chip Select Register -------- \r
-#define AT91C_SPI_CPOL        ((unsigned int) 0x1 <<  0) // (SPI) Clock Polarity\r
-#define AT91C_SPI_NCPHA       ((unsigned int) 0x1 <<  1) // (SPI) Clock Phase\r
-#define AT91C_SPI_CSAAT       ((unsigned int) 0x1 <<  3) // (SPI) Chip Select Active After Transfer\r
-#define AT91C_SPI_BITS        ((unsigned int) 0xF <<  4) // (SPI) Bits Per Transfer\r
-#define        AT91C_SPI_BITS_8                    ((unsigned int) 0x0 <<  4) // (SPI) 8 Bits Per transfer\r
-#define        AT91C_SPI_BITS_9                    ((unsigned int) 0x1 <<  4) // (SPI) 9 Bits Per transfer\r
-#define        AT91C_SPI_BITS_10                   ((unsigned int) 0x2 <<  4) // (SPI) 10 Bits Per transfer\r
-#define        AT91C_SPI_BITS_11                   ((unsigned int) 0x3 <<  4) // (SPI) 11 Bits Per transfer\r
-#define        AT91C_SPI_BITS_12                   ((unsigned int) 0x4 <<  4) // (SPI) 12 Bits Per transfer\r
-#define        AT91C_SPI_BITS_13                   ((unsigned int) 0x5 <<  4) // (SPI) 13 Bits Per transfer\r
-#define        AT91C_SPI_BITS_14                   ((unsigned int) 0x6 <<  4) // (SPI) 14 Bits Per transfer\r
-#define        AT91C_SPI_BITS_15                   ((unsigned int) 0x7 <<  4) // (SPI) 15 Bits Per transfer\r
-#define        AT91C_SPI_BITS_16                   ((unsigned int) 0x8 <<  4) // (SPI) 16 Bits Per transfer\r
-#define AT91C_SPI_SCBR        ((unsigned int) 0xFF <<  8) // (SPI) Serial Clock Baud Rate\r
-#define AT91C_SPI_DLYBS       ((unsigned int) 0xFF << 16) // (SPI) Delay Before SPCK\r
-#define AT91C_SPI_DLYBCT      ((unsigned int) 0xFF << 24) // (SPI) Delay Between Consecutive Transfers\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Usart\r
-// *****************************************************************************\r
-typedef struct _AT91S_USART {\r
-       AT91_REG         US_CR;         // Control Register\r
-       AT91_REG         US_MR;         // Mode Register\r
-       AT91_REG         US_IER;        // Interrupt Enable Register\r
-       AT91_REG         US_IDR;        // Interrupt Disable Register\r
-       AT91_REG         US_IMR;        // Interrupt Mask Register\r
-       AT91_REG         US_CSR;        // Channel Status Register\r
-       AT91_REG         US_RHR;        // Receiver Holding Register\r
-       AT91_REG         US_THR;        // Transmitter Holding Register\r
-       AT91_REG         US_BRGR;       // Baud Rate Generator Register\r
-       AT91_REG         US_RTOR;       // Receiver Time-out Register\r
-       AT91_REG         US_TTGR;       // Transmitter Time-guard Register\r
-       AT91_REG         Reserved0[5];  // \r
-       AT91_REG         US_FIDI;       // FI_DI_Ratio Register\r
-       AT91_REG         US_NER;        // Nb Errors Register\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         US_IF;         // IRDA_FILTER Register\r
-       AT91_REG         Reserved2[44];         // \r
-       AT91_REG         US_RPR;        // Receive Pointer Register\r
-       AT91_REG         US_RCR;        // Receive Counter Register\r
-       AT91_REG         US_TPR;        // Transmit Pointer Register\r
-       AT91_REG         US_TCR;        // Transmit Counter Register\r
-       AT91_REG         US_RNPR;       // Receive Next Pointer Register\r
-       AT91_REG         US_RNCR;       // Receive Next Counter Register\r
-       AT91_REG         US_TNPR;       // Transmit Next Pointer Register\r
-       AT91_REG         US_TNCR;       // Transmit Next Counter Register\r
-       AT91_REG         US_PTCR;       // PDC Transfer Control Register\r
-       AT91_REG         US_PTSR;       // PDC Transfer Status Register\r
-} AT91S_USART, *AT91PS_USART;\r
-\r
-// -------- US_CR : (USART Offset: 0x0) Debug Unit Control Register -------- \r
-#define AT91C_US_STTBRK       ((unsigned int) 0x1 <<  9) // (USART) Start Break\r
-#define AT91C_US_STPBRK       ((unsigned int) 0x1 << 10) // (USART) Stop Break\r
-#define AT91C_US_STTTO        ((unsigned int) 0x1 << 11) // (USART) Start Time-out\r
-#define AT91C_US_SENDA        ((unsigned int) 0x1 << 12) // (USART) Send Address\r
-#define AT91C_US_RSTIT        ((unsigned int) 0x1 << 13) // (USART) Reset Iterations\r
-#define AT91C_US_RSTNACK      ((unsigned int) 0x1 << 14) // (USART) Reset Non Acknowledge\r
-#define AT91C_US_RETTO        ((unsigned int) 0x1 << 15) // (USART) Rearm Time-out\r
-#define AT91C_US_DTREN        ((unsigned int) 0x1 << 16) // (USART) Data Terminal ready Enable\r
-#define AT91C_US_DTRDIS       ((unsigned int) 0x1 << 17) // (USART) Data Terminal ready Disable\r
-#define AT91C_US_RTSEN        ((unsigned int) 0x1 << 18) // (USART) Request to Send enable\r
-#define AT91C_US_RTSDIS       ((unsigned int) 0x1 << 19) // (USART) Request to Send Disable\r
-// -------- US_MR : (USART Offset: 0x4) Debug Unit Mode Register -------- \r
-#define AT91C_US_USMODE       ((unsigned int) 0xF <<  0) // (USART) Usart mode\r
-#define        AT91C_US_USMODE_NORMAL               ((unsigned int) 0x0) // (USART) Normal\r
-#define        AT91C_US_USMODE_RS485                ((unsigned int) 0x1) // (USART) RS485\r
-#define        AT91C_US_USMODE_HWHSH                ((unsigned int) 0x2) // (USART) Hardware Handshaking\r
-#define        AT91C_US_USMODE_MODEM                ((unsigned int) 0x3) // (USART) Modem\r
-#define        AT91C_US_USMODE_ISO7816_0            ((unsigned int) 0x4) // (USART) ISO7816 protocol: T = 0\r
-#define        AT91C_US_USMODE_ISO7816_1            ((unsigned int) 0x6) // (USART) ISO7816 protocol: T = 1\r
-#define        AT91C_US_USMODE_IRDA                 ((unsigned int) 0x8) // (USART) IrDA\r
-#define        AT91C_US_USMODE_SWHSH                ((unsigned int) 0xC) // (USART) Software Handshaking\r
-#define AT91C_US_CLKS         ((unsigned int) 0x3 <<  4) // (USART) Clock Selection (Baud Rate generator Input Clock\r
-#define        AT91C_US_CLKS_CLOCK                ((unsigned int) 0x0 <<  4) // (USART) Clock\r
-#define        AT91C_US_CLKS_FDIV1                ((unsigned int) 0x1 <<  4) // (USART) fdiv1\r
-#define        AT91C_US_CLKS_SLOW                 ((unsigned int) 0x2 <<  4) // (USART) slow_clock (ARM)\r
-#define        AT91C_US_CLKS_EXT                  ((unsigned int) 0x3 <<  4) // (USART) External (SCK)\r
-#define AT91C_US_CHRL         ((unsigned int) 0x3 <<  6) // (USART) Clock Selection (Baud Rate generator Input Clock\r
-#define        AT91C_US_CHRL_5_BITS               ((unsigned int) 0x0 <<  6) // (USART) Character Length: 5 bits\r
-#define        AT91C_US_CHRL_6_BITS               ((unsigned int) 0x1 <<  6) // (USART) Character Length: 6 bits\r
-#define        AT91C_US_CHRL_7_BITS               ((unsigned int) 0x2 <<  6) // (USART) Character Length: 7 bits\r
-#define        AT91C_US_CHRL_8_BITS               ((unsigned int) 0x3 <<  6) // (USART) Character Length: 8 bits\r
-#define AT91C_US_SYNC         ((unsigned int) 0x1 <<  8) // (USART) Synchronous Mode Select\r
-#define AT91C_US_NBSTOP       ((unsigned int) 0x3 << 12) // (USART) Number of Stop bits\r
-#define        AT91C_US_NBSTOP_1_BIT                ((unsigned int) 0x0 << 12) // (USART) 1 stop bit\r
-#define        AT91C_US_NBSTOP_15_BIT               ((unsigned int) 0x1 << 12) // (USART) Asynchronous (SYNC=0) 2 stop bits Synchronous (SYNC=1) 2 stop bits\r
-#define        AT91C_US_NBSTOP_2_BIT                ((unsigned int) 0x2 << 12) // (USART) 2 stop bits\r
-#define AT91C_US_MSBF         ((unsigned int) 0x1 << 16) // (USART) Bit Order\r
-#define AT91C_US_MODE9        ((unsigned int) 0x1 << 17) // (USART) 9-bit Character length\r
-#define AT91C_US_CKLO         ((unsigned int) 0x1 << 18) // (USART) Clock Output Select\r
-#define AT91C_US_OVER         ((unsigned int) 0x1 << 19) // (USART) Over Sampling Mode\r
-#define AT91C_US_INACK        ((unsigned int) 0x1 << 20) // (USART) Inhibit Non Acknowledge\r
-#define AT91C_US_DSNACK       ((unsigned int) 0x1 << 21) // (USART) Disable Successive NACK\r
-#define AT91C_US_MAX_ITER     ((unsigned int) 0x1 << 24) // (USART) Number of Repetitions\r
-#define AT91C_US_FILTER       ((unsigned int) 0x1 << 28) // (USART) Receive Line Filter\r
-// -------- US_IER : (USART Offset: 0x8) Debug Unit Interrupt Enable Register -------- \r
-#define AT91C_US_RXBRK        ((unsigned int) 0x1 <<  2) // (USART) Break Received/End of Break\r
-#define AT91C_US_TIMEOUT      ((unsigned int) 0x1 <<  8) // (USART) Receiver Time-out\r
-#define AT91C_US_ITERATION    ((unsigned int) 0x1 << 10) // (USART) Max number of Repetitions Reached\r
-#define AT91C_US_NACK         ((unsigned int) 0x1 << 13) // (USART) Non Acknowledge\r
-#define AT91C_US_RIIC         ((unsigned int) 0x1 << 16) // (USART) Ring INdicator Input Change Flag\r
-#define AT91C_US_DSRIC        ((unsigned int) 0x1 << 17) // (USART) Data Set Ready Input Change Flag\r
-#define AT91C_US_DCDIC        ((unsigned int) 0x1 << 18) // (USART) Data Carrier Flag\r
-#define AT91C_US_CTSIC        ((unsigned int) 0x1 << 19) // (USART) Clear To Send Input Change Flag\r
-// -------- US_IDR : (USART Offset: 0xc) Debug Unit Interrupt Disable Register -------- \r
-// -------- US_IMR : (USART Offset: 0x10) Debug Unit Interrupt Mask Register -------- \r
-// -------- US_CSR : (USART Offset: 0x14) Debug Unit Channel Status Register -------- \r
-#define AT91C_US_RI           ((unsigned int) 0x1 << 20) // (USART) Image of RI Input\r
-#define AT91C_US_DSR          ((unsigned int) 0x1 << 21) // (USART) Image of DSR Input\r
-#define AT91C_US_DCD          ((unsigned int) 0x1 << 22) // (USART) Image of DCD Input\r
-#define AT91C_US_CTS          ((unsigned int) 0x1 << 23) // (USART) Image of CTS Input\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Synchronous Serial Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_SSC {\r
-       AT91_REG         SSC_CR;        // Control Register\r
-       AT91_REG         SSC_CMR;       // Clock Mode Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         SSC_RCMR;      // Receive Clock ModeRegister\r
-       AT91_REG         SSC_RFMR;      // Receive Frame Mode Register\r
-       AT91_REG         SSC_TCMR;      // Transmit Clock Mode Register\r
-       AT91_REG         SSC_TFMR;      // Transmit Frame Mode Register\r
-       AT91_REG         SSC_RHR;       // Receive Holding Register\r
-       AT91_REG         SSC_THR;       // Transmit Holding Register\r
-       AT91_REG         Reserved1[2];  // \r
-       AT91_REG         SSC_RSHR;      // Receive Sync Holding Register\r
-       AT91_REG         SSC_TSHR;      // Transmit Sync Holding Register\r
-       AT91_REG         Reserved2[2];  // \r
-       AT91_REG         SSC_SR;        // Status Register\r
-       AT91_REG         SSC_IER;       // Interrupt Enable Register\r
-       AT91_REG         SSC_IDR;       // Interrupt Disable Register\r
-       AT91_REG         SSC_IMR;       // Interrupt Mask Register\r
-       AT91_REG         Reserved3[44];         // \r
-       AT91_REG         SSC_RPR;       // Receive Pointer Register\r
-       AT91_REG         SSC_RCR;       // Receive Counter Register\r
-       AT91_REG         SSC_TPR;       // Transmit Pointer Register\r
-       AT91_REG         SSC_TCR;       // Transmit Counter Register\r
-       AT91_REG         SSC_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         SSC_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         SSC_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         SSC_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         SSC_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         SSC_PTSR;      // PDC Transfer Status Register\r
-} AT91S_SSC, *AT91PS_SSC;\r
-\r
-// -------- SSC_CR : (SSC Offset: 0x0) SSC Control Register -------- \r
-#define AT91C_SSC_RXEN        ((unsigned int) 0x1 <<  0) // (SSC) Receive Enable\r
-#define AT91C_SSC_RXDIS       ((unsigned int) 0x1 <<  1) // (SSC) Receive Disable\r
-#define AT91C_SSC_TXEN        ((unsigned int) 0x1 <<  8) // (SSC) Transmit Enable\r
-#define AT91C_SSC_TXDIS       ((unsigned int) 0x1 <<  9) // (SSC) Transmit Disable\r
-#define AT91C_SSC_SWRST       ((unsigned int) 0x1 << 15) // (SSC) Software Reset\r
-// -------- SSC_RCMR : (SSC Offset: 0x10) SSC Receive Clock Mode Register -------- \r
-#define AT91C_SSC_CKS         ((unsigned int) 0x3 <<  0) // (SSC) Receive/Transmit Clock Selection\r
-#define        AT91C_SSC_CKS_DIV                  ((unsigned int) 0x0) // (SSC) Divided Clock\r
-#define        AT91C_SSC_CKS_TK                   ((unsigned int) 0x1) // (SSC) TK Clock signal\r
-#define        AT91C_SSC_CKS_RK                   ((unsigned int) 0x2) // (SSC) RK pin\r
-#define AT91C_SSC_CKO         ((unsigned int) 0x7 <<  2) // (SSC) Receive/Transmit Clock Output Mode Selection\r
-#define        AT91C_SSC_CKO_NONE                 ((unsigned int) 0x0 <<  2) // (SSC) Receive/Transmit Clock Output Mode: None RK pin: Input-only\r
-#define        AT91C_SSC_CKO_CONTINOUS            ((unsigned int) 0x1 <<  2) // (SSC) Continuous Receive/Transmit Clock RK pin: Output\r
-#define        AT91C_SSC_CKO_DATA_TX              ((unsigned int) 0x2 <<  2) // (SSC) Receive/Transmit Clock only during data transfers RK pin: Output\r
-#define AT91C_SSC_CKI         ((unsigned int) 0x1 <<  5) // (SSC) Receive/Transmit Clock Inversion\r
-#define AT91C_SSC_START       ((unsigned int) 0xF <<  8) // (SSC) Receive/Transmit Start Selection\r
-#define        AT91C_SSC_START_CONTINOUS            ((unsigned int) 0x0 <<  8) // (SSC) Continuous, as soon as the receiver is enabled, and immediately after the end of transfer of the previous data.\r
-#define        AT91C_SSC_START_TX                   ((unsigned int) 0x1 <<  8) // (SSC) Transmit/Receive start\r
-#define        AT91C_SSC_START_LOW_RF               ((unsigned int) 0x2 <<  8) // (SSC) Detection of a low level on RF input\r
-#define        AT91C_SSC_START_HIGH_RF              ((unsigned int) 0x3 <<  8) // (SSC) Detection of a high level on RF input\r
-#define        AT91C_SSC_START_FALL_RF              ((unsigned int) 0x4 <<  8) // (SSC) Detection of a falling edge on RF input\r
-#define        AT91C_SSC_START_RISE_RF              ((unsigned int) 0x5 <<  8) // (SSC) Detection of a rising edge on RF input\r
-#define        AT91C_SSC_START_LEVEL_RF             ((unsigned int) 0x6 <<  8) // (SSC) Detection of any level change on RF input\r
-#define        AT91C_SSC_START_EDGE_RF              ((unsigned int) 0x7 <<  8) // (SSC) Detection of any edge on RF input\r
-#define        AT91C_SSC_START_0                    ((unsigned int) 0x8 <<  8) // (SSC) Compare 0\r
-#define AT91C_SSC_STTDLY      ((unsigned int) 0xFF << 16) // (SSC) Receive/Transmit Start Delay\r
-#define AT91C_SSC_PERIOD      ((unsigned int) 0xFF << 24) // (SSC) Receive/Transmit Period Divider Selection\r
-// -------- SSC_RFMR : (SSC Offset: 0x14) SSC Receive Frame Mode Register -------- \r
-#define AT91C_SSC_DATLEN      ((unsigned int) 0x1F <<  0) // (SSC) Data Length\r
-#define AT91C_SSC_LOOP        ((unsigned int) 0x1 <<  5) // (SSC) Loop Mode\r
-#define AT91C_SSC_MSBF        ((unsigned int) 0x1 <<  7) // (SSC) Most Significant Bit First\r
-#define AT91C_SSC_DATNB       ((unsigned int) 0xF <<  8) // (SSC) Data Number per Frame\r
-#define AT91C_SSC_FSLEN       ((unsigned int) 0xF << 16) // (SSC) Receive/Transmit Frame Sync length\r
-#define AT91C_SSC_FSOS        ((unsigned int) 0x7 << 20) // (SSC) Receive/Transmit Frame Sync Output Selection\r
-#define        AT91C_SSC_FSOS_NONE                 ((unsigned int) 0x0 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: None RK pin Input-only\r
-#define        AT91C_SSC_FSOS_NEGATIVE             ((unsigned int) 0x1 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Negative Pulse\r
-#define        AT91C_SSC_FSOS_POSITIVE             ((unsigned int) 0x2 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Positive Pulse\r
-#define        AT91C_SSC_FSOS_LOW                  ((unsigned int) 0x3 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Driver Low during data transfer\r
-#define        AT91C_SSC_FSOS_HIGH                 ((unsigned int) 0x4 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Driver High during data transfer\r
-#define        AT91C_SSC_FSOS_TOGGLE               ((unsigned int) 0x5 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Toggling at each start of data transfer\r
-#define AT91C_SSC_FSEDGE      ((unsigned int) 0x1 << 24) // (SSC) Frame Sync Edge Detection\r
-// -------- SSC_TCMR : (SSC Offset: 0x18) SSC Transmit Clock Mode Register -------- \r
-// -------- SSC_TFMR : (SSC Offset: 0x1c) SSC Transmit Frame Mode Register -------- \r
-#define AT91C_SSC_DATDEF      ((unsigned int) 0x1 <<  5) // (SSC) Data Default Value\r
-#define AT91C_SSC_FSDEN       ((unsigned int) 0x1 << 23) // (SSC) Frame Sync Data Enable\r
-// -------- SSC_SR : (SSC Offset: 0x40) SSC Status Register -------- \r
-#define AT91C_SSC_TXRDY       ((unsigned int) 0x1 <<  0) // (SSC) Transmit Ready\r
-#define AT91C_SSC_TXEMPTY     ((unsigned int) 0x1 <<  1) // (SSC) Transmit Empty\r
-#define AT91C_SSC_ENDTX       ((unsigned int) 0x1 <<  2) // (SSC) End Of Transmission\r
-#define AT91C_SSC_TXBUFE      ((unsigned int) 0x1 <<  3) // (SSC) Transmit Buffer Empty\r
-#define AT91C_SSC_RXRDY       ((unsigned int) 0x1 <<  4) // (SSC) Receive Ready\r
-#define AT91C_SSC_OVRUN       ((unsigned int) 0x1 <<  5) // (SSC) Receive Overrun\r
-#define AT91C_SSC_ENDRX       ((unsigned int) 0x1 <<  6) // (SSC) End of Reception\r
-#define AT91C_SSC_RXBUFF      ((unsigned int) 0x1 <<  7) // (SSC) Receive Buffer Full\r
-#define AT91C_SSC_TXSYN       ((unsigned int) 0x1 << 10) // (SSC) Transmit Sync\r
-#define AT91C_SSC_RXSYN       ((unsigned int) 0x1 << 11) // (SSC) Receive Sync\r
-#define AT91C_SSC_TXENA       ((unsigned int) 0x1 << 16) // (SSC) Transmit Enable\r
-#define AT91C_SSC_RXENA       ((unsigned int) 0x1 << 17) // (SSC) Receive Enable\r
-// -------- SSC_IER : (SSC Offset: 0x44) SSC Interrupt Enable Register -------- \r
-// -------- SSC_IDR : (SSC Offset: 0x48) SSC Interrupt Disable Register -------- \r
-// -------- SSC_IMR : (SSC Offset: 0x4c) SSC Interrupt Mask Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Two-wire Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_TWI {\r
-       AT91_REG         TWI_CR;        // Control Register\r
-       AT91_REG         TWI_MMR;       // Master Mode Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         TWI_IADR;      // Internal Address Register\r
-       AT91_REG         TWI_CWGR;      // Clock Waveform Generator Register\r
-       AT91_REG         Reserved1[3];  // \r
-       AT91_REG         TWI_SR;        // Status Register\r
-       AT91_REG         TWI_IER;       // Interrupt Enable Register\r
-       AT91_REG         TWI_IDR;       // Interrupt Disable Register\r
-       AT91_REG         TWI_IMR;       // Interrupt Mask Register\r
-       AT91_REG         TWI_RHR;       // Receive Holding Register\r
-       AT91_REG         TWI_THR;       // Transmit Holding Register\r
-} AT91S_TWI, *AT91PS_TWI;\r
-\r
-// -------- TWI_CR : (TWI Offset: 0x0) TWI Control Register -------- \r
-#define AT91C_TWI_START       ((unsigned int) 0x1 <<  0) // (TWI) Send a START Condition\r
-#define AT91C_TWI_STOP        ((unsigned int) 0x1 <<  1) // (TWI) Send a STOP Condition\r
-#define AT91C_TWI_MSEN        ((unsigned int) 0x1 <<  2) // (TWI) TWI Master Transfer Enabled\r
-#define AT91C_TWI_MSDIS       ((unsigned int) 0x1 <<  3) // (TWI) TWI Master Transfer Disabled\r
-#define AT91C_TWI_SWRST       ((unsigned int) 0x1 <<  7) // (TWI) Software Reset\r
-// -------- TWI_MMR : (TWI Offset: 0x4) TWI Master Mode Register -------- \r
-#define AT91C_TWI_IADRSZ      ((unsigned int) 0x3 <<  8) // (TWI) Internal Device Address Size\r
-#define        AT91C_TWI_IADRSZ_NO                   ((unsigned int) 0x0 <<  8) // (TWI) No internal device address\r
-#define        AT91C_TWI_IADRSZ_1_BYTE               ((unsigned int) 0x1 <<  8) // (TWI) One-byte internal device address\r
-#define        AT91C_TWI_IADRSZ_2_BYTE               ((unsigned int) 0x2 <<  8) // (TWI) Two-byte internal device address\r
-#define        AT91C_TWI_IADRSZ_3_BYTE               ((unsigned int) 0x3 <<  8) // (TWI) Three-byte internal device address\r
-#define AT91C_TWI_MREAD       ((unsigned int) 0x1 << 12) // (TWI) Master Read Direction\r
-#define AT91C_TWI_DADR        ((unsigned int) 0x7F << 16) // (TWI) Device Address\r
-// -------- TWI_CWGR : (TWI Offset: 0x10) TWI Clock Waveform Generator Register -------- \r
-#define AT91C_TWI_CLDIV       ((unsigned int) 0xFF <<  0) // (TWI) Clock Low Divider\r
-#define AT91C_TWI_CHDIV       ((unsigned int) 0xFF <<  8) // (TWI) Clock High Divider\r
-#define AT91C_TWI_CKDIV       ((unsigned int) 0x7 << 16) // (TWI) Clock Divider\r
-// -------- TWI_SR : (TWI Offset: 0x20) TWI Status Register -------- \r
-#define AT91C_TWI_TXCOMP      ((unsigned int) 0x1 <<  0) // (TWI) Transmission Completed\r
-#define AT91C_TWI_RXRDY       ((unsigned int) 0x1 <<  1) // (TWI) Receive holding register ReaDY\r
-#define AT91C_TWI_TXRDY       ((unsigned int) 0x1 <<  2) // (TWI) Transmit holding register ReaDY\r
-#define AT91C_TWI_OVRE        ((unsigned int) 0x1 <<  6) // (TWI) Overrun Error\r
-#define AT91C_TWI_UNRE        ((unsigned int) 0x1 <<  7) // (TWI) Underrun Error\r
-#define AT91C_TWI_NACK        ((unsigned int) 0x1 <<  8) // (TWI) Not Acknowledged\r
-// -------- TWI_IER : (TWI Offset: 0x24) TWI Interrupt Enable Register -------- \r
-// -------- TWI_IDR : (TWI Offset: 0x28) TWI Interrupt Disable Register -------- \r
-// -------- TWI_IMR : (TWI Offset: 0x2c) TWI Interrupt Mask Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR PWMC Channel Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_PWMC_CH {\r
-       AT91_REG         PWMC_CMR;      // Channel Mode Register\r
-       AT91_REG         PWMC_CDTYR;    // Channel Duty Cycle Register\r
-       AT91_REG         PWMC_CPRDR;    // Channel Period Register\r
-       AT91_REG         PWMC_CCNTR;    // Channel Counter Register\r
-       AT91_REG         PWMC_CUPDR;    // Channel Update Register\r
-       AT91_REG         PWMC_Reserved[3];      // Reserved\r
-} AT91S_PWMC_CH, *AT91PS_PWMC_CH;\r
-\r
-// -------- PWMC_CMR : (PWMC_CH Offset: 0x0) PWMC Channel Mode Register -------- \r
-#define AT91C_PWMC_CPRE       ((unsigned int) 0xF <<  0) // (PWMC_CH) Channel Pre-scaler : PWMC_CLKx\r
-#define        AT91C_PWMC_CPRE_MCK                  ((unsigned int) 0x0) // (PWMC_CH) \r
-#define        AT91C_PWMC_CPRE_MCKA                 ((unsigned int) 0xB) // (PWMC_CH) \r
-#define        AT91C_PWMC_CPRE_MCKB                 ((unsigned int) 0xC) // (PWMC_CH) \r
-#define AT91C_PWMC_CALG       ((unsigned int) 0x1 <<  8) // (PWMC_CH) Channel Alignment\r
-#define AT91C_PWMC_CPOL       ((unsigned int) 0x1 <<  9) // (PWMC_CH) Channel Polarity\r
-#define AT91C_PWMC_CPD        ((unsigned int) 0x1 << 10) // (PWMC_CH) Channel Update Period\r
-// -------- PWMC_CDTYR : (PWMC_CH Offset: 0x4) PWMC Channel Duty Cycle Register -------- \r
-#define AT91C_PWMC_CDTY       ((unsigned int) 0x0 <<  0) // (PWMC_CH) Channel Duty Cycle\r
-// -------- PWMC_CPRDR : (PWMC_CH Offset: 0x8) PWMC Channel Period Register -------- \r
-#define AT91C_PWMC_CPRD       ((unsigned int) 0x0 <<  0) // (PWMC_CH) Channel Period\r
-// -------- PWMC_CCNTR : (PWMC_CH Offset: 0xc) PWMC Channel Counter Register -------- \r
-#define AT91C_PWMC_CCNT       ((unsigned int) 0x0 <<  0) // (PWMC_CH) Channel Counter\r
-// -------- PWMC_CUPDR : (PWMC_CH Offset: 0x10) PWMC Channel Update Register -------- \r
-#define AT91C_PWMC_CUPD       ((unsigned int) 0x0 <<  0) // (PWMC_CH) Channel Update\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Pulse Width Modulation Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_PWMC {\r
-       AT91_REG         PWMC_MR;       // PWMC Mode Register\r
-       AT91_REG         PWMC_ENA;      // PWMC Enable Register\r
-       AT91_REG         PWMC_DIS;      // PWMC Disable Register\r
-       AT91_REG         PWMC_SR;       // PWMC Status Register\r
-       AT91_REG         PWMC_IER;      // PWMC Interrupt Enable Register\r
-       AT91_REG         PWMC_IDR;      // PWMC Interrupt Disable Register\r
-       AT91_REG         PWMC_IMR;      // PWMC Interrupt Mask Register\r
-       AT91_REG         PWMC_ISR;      // PWMC Interrupt Status Register\r
-       AT91_REG         Reserved0[55];         // \r
-       AT91_REG         PWMC_VR;       // PWMC Version Register\r
-       AT91_REG         Reserved1[64];         // \r
-       AT91S_PWMC_CH    PWMC_CH[4];    // PWMC Channel\r
-} AT91S_PWMC, *AT91PS_PWMC;\r
-\r
-// -------- PWMC_MR : (PWMC Offset: 0x0) PWMC Mode Register -------- \r
-#define AT91C_PWMC_DIVA       ((unsigned int) 0xFF <<  0) // (PWMC) CLKA divide factor.\r
-#define AT91C_PWMC_PREA       ((unsigned int) 0xF <<  8) // (PWMC) Divider Input Clock Prescaler A\r
-#define        AT91C_PWMC_PREA_MCK                  ((unsigned int) 0x0 <<  8) // (PWMC) \r
-#define AT91C_PWMC_DIVB       ((unsigned int) 0xFF << 16) // (PWMC) CLKB divide factor.\r
-#define AT91C_PWMC_PREB       ((unsigned int) 0xF << 24) // (PWMC) Divider Input Clock Prescaler B\r
-#define        AT91C_PWMC_PREB_MCK                  ((unsigned int) 0x0 << 24) // (PWMC) \r
-// -------- PWMC_ENA : (PWMC Offset: 0x4) PWMC Enable Register -------- \r
-#define AT91C_PWMC_CHID0      ((unsigned int) 0x1 <<  0) // (PWMC) Channel ID 0\r
-#define AT91C_PWMC_CHID1      ((unsigned int) 0x1 <<  1) // (PWMC) Channel ID 1\r
-#define AT91C_PWMC_CHID2      ((unsigned int) 0x1 <<  2) // (PWMC) Channel ID 2\r
-#define AT91C_PWMC_CHID3      ((unsigned int) 0x1 <<  3) // (PWMC) Channel ID 3\r
-// -------- PWMC_DIS : (PWMC Offset: 0x8) PWMC Disable Register -------- \r
-// -------- PWMC_SR : (PWMC Offset: 0xc) PWMC Status Register -------- \r
-// -------- PWMC_IER : (PWMC Offset: 0x10) PWMC Interrupt Enable Register -------- \r
-// -------- PWMC_IDR : (PWMC Offset: 0x14) PWMC Interrupt Disable Register -------- \r
-// -------- PWMC_IMR : (PWMC Offset: 0x18) PWMC Interrupt Mask Register -------- \r
-// -------- PWMC_ISR : (PWMC Offset: 0x1c) PWMC Interrupt Status Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR USB Device Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_UDP {\r
-       AT91_REG         UDP_NUM;       // Frame Number Register\r
-       AT91_REG         UDP_GLBSTATE;  // Global State Register\r
-       AT91_REG         UDP_FADDR;     // Function Address Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         UDP_IER;       // Interrupt Enable Register\r
-       AT91_REG         UDP_IDR;       // Interrupt Disable Register\r
-       AT91_REG         UDP_IMR;       // Interrupt Mask Register\r
-       AT91_REG         UDP_ISR;       // Interrupt Status Register\r
-       AT91_REG         UDP_ICR;       // Interrupt Clear Register\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         UDP_RSTEP;     // Reset Endpoint Register\r
-       AT91_REG         Reserved2[1];  // \r
-       AT91_REG         UDP_CSR[6];    // Endpoint Control and Status Register\r
-       AT91_REG         Reserved3[2];  // \r
-       AT91_REG         UDP_FDR[6];    // Endpoint FIFO Data Register\r
-       AT91_REG         Reserved4[3];  // \r
-       AT91_REG         UDP_TXVC;      // Transceiver Control Register\r
-} AT91S_UDP, *AT91PS_UDP;\r
-\r
-// -------- UDP_FRM_NUM : (UDP Offset: 0x0) USB Frame Number Register -------- \r
-#define AT91C_UDP_FRM_NUM     ((unsigned int) 0x7FF <<  0) // (UDP) Frame Number as Defined in the Packet Field Formats\r
-#define AT91C_UDP_FRM_ERR     ((unsigned int) 0x1 << 16) // (UDP) Frame Error\r
-#define AT91C_UDP_FRM_OK      ((unsigned int) 0x1 << 17) // (UDP) Frame OK\r
-// -------- UDP_GLB_STATE : (UDP Offset: 0x4) USB Global State Register -------- \r
-#define AT91C_UDP_FADDEN      ((unsigned int) 0x1 <<  0) // (UDP) Function Address Enable\r
-#define AT91C_UDP_CONFG       ((unsigned int) 0x1 <<  1) // (UDP) Configured\r
-#define AT91C_UDP_ESR         ((unsigned int) 0x1 <<  2) // (UDP) Enable Send Resume\r
-#define AT91C_UDP_RSMINPR     ((unsigned int) 0x1 <<  3) // (UDP) A Resume Has Been Sent to the Host\r
-#define AT91C_UDP_RMWUPE      ((unsigned int) 0x1 <<  4) // (UDP) Remote Wake Up Enable\r
-// -------- UDP_FADDR : (UDP Offset: 0x8) USB Function Address Register -------- \r
-#define AT91C_UDP_FADD        ((unsigned int) 0xFF <<  0) // (UDP) Function Address Value\r
-#define AT91C_UDP_FEN         ((unsigned int) 0x1 <<  8) // (UDP) Function Enable\r
-// -------- UDP_IER : (UDP Offset: 0x10) USB Interrupt Enable Register -------- \r
-#define AT91C_UDP_EPINT0      ((unsigned int) 0x1 <<  0) // (UDP) Endpoint 0 Interrupt\r
-#define AT91C_UDP_EPINT1      ((unsigned int) 0x1 <<  1) // (UDP) Endpoint 0 Interrupt\r
-#define AT91C_UDP_EPINT2      ((unsigned int) 0x1 <<  2) // (UDP) Endpoint 2 Interrupt\r
-#define AT91C_UDP_EPINT3      ((unsigned int) 0x1 <<  3) // (UDP) Endpoint 3 Interrupt\r
-#define AT91C_UDP_EPINT4      ((unsigned int) 0x1 <<  4) // (UDP) Endpoint 4 Interrupt\r
-#define AT91C_UDP_EPINT5      ((unsigned int) 0x1 <<  5) // (UDP) Endpoint 5 Interrupt\r
-#define AT91C_UDP_RXSUSP      ((unsigned int) 0x1 <<  8) // (UDP) USB Suspend Interrupt\r
-#define AT91C_UDP_RXRSM       ((unsigned int) 0x1 <<  9) // (UDP) USB Resume Interrupt\r
-#define AT91C_UDP_EXTRSM      ((unsigned int) 0x1 << 10) // (UDP) USB External Resume Interrupt\r
-#define AT91C_UDP_SOFINT      ((unsigned int) 0x1 << 11) // (UDP) USB Start Of frame Interrupt\r
-#define AT91C_UDP_WAKEUP      ((unsigned int) 0x1 << 13) // (UDP) USB Resume Interrupt\r
-// -------- UDP_IDR : (UDP Offset: 0x14) USB Interrupt Disable Register -------- \r
-// -------- UDP_IMR : (UDP Offset: 0x18) USB Interrupt Mask Register -------- \r
-// -------- UDP_ISR : (UDP Offset: 0x1c) USB Interrupt Status Register -------- \r
-#define AT91C_UDP_ENDBUSRES   ((unsigned int) 0x1 << 12) // (UDP) USB End Of Bus Reset Interrupt\r
-// -------- UDP_ICR : (UDP Offset: 0x20) USB Interrupt Clear Register -------- \r
-// -------- UDP_RST_EP : (UDP Offset: 0x28) USB Reset Endpoint Register -------- \r
-#define AT91C_UDP_EP0         ((unsigned int) 0x1 <<  0) // (UDP) Reset Endpoint 0\r
-#define AT91C_UDP_EP1         ((unsigned int) 0x1 <<  1) // (UDP) Reset Endpoint 1\r
-#define AT91C_UDP_EP2         ((unsigned int) 0x1 <<  2) // (UDP) Reset Endpoint 2\r
-#define AT91C_UDP_EP3         ((unsigned int) 0x1 <<  3) // (UDP) Reset Endpoint 3\r
-#define AT91C_UDP_EP4         ((unsigned int) 0x1 <<  4) // (UDP) Reset Endpoint 4\r
-#define AT91C_UDP_EP5         ((unsigned int) 0x1 <<  5) // (UDP) Reset Endpoint 5\r
-// -------- UDP_CSR : (UDP Offset: 0x30) USB Endpoint Control and Status Register -------- \r
-#define AT91C_UDP_TXCOMP      ((unsigned int) 0x1 <<  0) // (UDP) Generates an IN packet with data previously written in the DPR\r
-#define AT91C_UDP_RX_DATA_BK0 ((unsigned int) 0x1 <<  1) // (UDP) Receive Data Bank 0\r
-#define AT91C_UDP_RXSETUP     ((unsigned int) 0x1 <<  2) // (UDP) Sends STALL to the Host (Control endpoints)\r
-#define AT91C_UDP_ISOERROR    ((unsigned int) 0x1 <<  3) // (UDP) Isochronous error (Isochronous endpoints)\r
-#define AT91C_UDP_TXPKTRDY    ((unsigned int) 0x1 <<  4) // (UDP) Transmit Packet Ready\r
-#define AT91C_UDP_FORCESTALL  ((unsigned int) 0x1 <<  5) // (UDP) Force Stall (used by Control, Bulk and Isochronous endpoints).\r
-#define AT91C_UDP_RX_DATA_BK1 ((unsigned int) 0x1 <<  6) // (UDP) Receive Data Bank 1 (only used by endpoints with ping-pong attributes).\r
-#define AT91C_UDP_DIR         ((unsigned int) 0x1 <<  7) // (UDP) Transfer Direction\r
-#define AT91C_UDP_EPTYPE      ((unsigned int) 0x7 <<  8) // (UDP) Endpoint type\r
-#define        AT91C_UDP_EPTYPE_CTRL                 ((unsigned int) 0x0 <<  8) // (UDP) Control\r
-#define        AT91C_UDP_EPTYPE_ISO_OUT              ((unsigned int) 0x1 <<  8) // (UDP) Isochronous OUT\r
-#define        AT91C_UDP_EPTYPE_BULK_OUT             ((unsigned int) 0x2 <<  8) // (UDP) Bulk OUT\r
-#define        AT91C_UDP_EPTYPE_INT_OUT              ((unsigned int) 0x3 <<  8) // (UDP) Interrupt OUT\r
-#define        AT91C_UDP_EPTYPE_ISO_IN               ((unsigned int) 0x5 <<  8) // (UDP) Isochronous IN\r
-#define        AT91C_UDP_EPTYPE_BULK_IN              ((unsigned int) 0x6 <<  8) // (UDP) Bulk IN\r
-#define        AT91C_UDP_EPTYPE_INT_IN               ((unsigned int) 0x7 <<  8) // (UDP) Interrupt IN\r
-#define AT91C_UDP_DTGLE       ((unsigned int) 0x1 << 11) // (UDP) Data Toggle\r
-#define AT91C_UDP_EPEDS       ((unsigned int) 0x1 << 15) // (UDP) Endpoint Enable Disable\r
-#define AT91C_UDP_RXBYTECNT   ((unsigned int) 0x7FF << 16) // (UDP) Number Of Bytes Available in the FIFO\r
-// -------- UDP_TXVC : (UDP Offset: 0x74) Transceiver Control Register -------- \r
-#define AT91C_UDP_TXVDIS      ((unsigned int) 0x1 <<  8) // (UDP) \r
-#define AT91C_UDP_PUON        ((unsigned int) 0x1 <<  9) // (UDP) Pull-up ON\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Timer Counter Channel Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_TC {\r
-       AT91_REG         TC_CCR;        // Channel Control Register\r
-       AT91_REG         TC_CMR;        // Channel Mode Register (Capture Mode / Waveform Mode)\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         TC_CV;         // Counter Value\r
-       AT91_REG         TC_RA;         // Register A\r
-       AT91_REG         TC_RB;         // Register B\r
-       AT91_REG         TC_RC;         // Register C\r
-       AT91_REG         TC_SR;         // Status Register\r
-       AT91_REG         TC_IER;        // Interrupt Enable Register\r
-       AT91_REG         TC_IDR;        // Interrupt Disable Register\r
-       AT91_REG         TC_IMR;        // Interrupt Mask Register\r
-} AT91S_TC, *AT91PS_TC;\r
-\r
-// -------- TC_CCR : (TC Offset: 0x0) TC Channel Control Register -------- \r
-#define AT91C_TC_CLKEN        ((unsigned int) 0x1 <<  0) // (TC) Counter Clock Enable Command\r
-#define AT91C_TC_CLKDIS       ((unsigned int) 0x1 <<  1) // (TC) Counter Clock Disable Command\r
-#define AT91C_TC_SWTRG        ((unsigned int) 0x1 <<  2) // (TC) Software Trigger Command\r
-// -------- TC_CMR : (TC Offset: 0x4) TC Channel Mode Register: Capture Mode / Waveform Mode -------- \r
-#define AT91C_TC_CLKS         ((unsigned int) 0x7 <<  0) // (TC) Clock Selection\r
-#define        AT91C_TC_CLKS_TIMER_DIV1_CLOCK     ((unsigned int) 0x0) // (TC) Clock selected: TIMER_DIV1_CLOCK\r
-#define        AT91C_TC_CLKS_TIMER_DIV2_CLOCK     ((unsigned int) 0x1) // (TC) Clock selected: TIMER_DIV2_CLOCK\r
-#define        AT91C_TC_CLKS_TIMER_DIV3_CLOCK     ((unsigned int) 0x2) // (TC) Clock selected: TIMER_DIV3_CLOCK\r
-#define        AT91C_TC_CLKS_TIMER_DIV4_CLOCK     ((unsigned int) 0x3) // (TC) Clock selected: TIMER_DIV4_CLOCK\r
-#define        AT91C_TC_CLKS_TIMER_DIV5_CLOCK     ((unsigned int) 0x4) // (TC) Clock selected: TIMER_DIV5_CLOCK\r
-#define        AT91C_TC_CLKS_XC0                  ((unsigned int) 0x5) // (TC) Clock selected: XC0\r
-#define        AT91C_TC_CLKS_XC1                  ((unsigned int) 0x6) // (TC) Clock selected: XC1\r
-#define        AT91C_TC_CLKS_XC2                  ((unsigned int) 0x7) // (TC) Clock selected: XC2\r
-#define AT91C_TC_CLKI         ((unsigned int) 0x1 <<  3) // (TC) Clock Invert\r
-#define AT91C_TC_BURST        ((unsigned int) 0x3 <<  4) // (TC) Burst Signal Selection\r
-#define        AT91C_TC_BURST_NONE                 ((unsigned int) 0x0 <<  4) // (TC) The clock is not gated by an external signal\r
-#define        AT91C_TC_BURST_XC0                  ((unsigned int) 0x1 <<  4) // (TC) XC0 is ANDed with the selected clock\r
-#define        AT91C_TC_BURST_XC1                  ((unsigned int) 0x2 <<  4) // (TC) XC1 is ANDed with the selected clock\r
-#define        AT91C_TC_BURST_XC2                  ((unsigned int) 0x3 <<  4) // (TC) XC2 is ANDed with the selected clock\r
-#define AT91C_TC_CPCSTOP      ((unsigned int) 0x1 <<  6) // (TC) Counter Clock Stopped with RC Compare\r
-#define AT91C_TC_LDBSTOP      ((unsigned int) 0x1 <<  6) // (TC) Counter Clock Stopped with RB Loading\r
-#define AT91C_TC_CPCDIS       ((unsigned int) 0x1 <<  7) // (TC) Counter Clock Disable with RC Compare\r
-#define AT91C_TC_LDBDIS       ((unsigned int) 0x1 <<  7) // (TC) Counter Clock Disabled with RB Loading\r
-#define AT91C_TC_ETRGEDG      ((unsigned int) 0x3 <<  8) // (TC) External Trigger Edge Selection\r
-#define        AT91C_TC_ETRGEDG_NONE                 ((unsigned int) 0x0 <<  8) // (TC) Edge: None\r
-#define        AT91C_TC_ETRGEDG_RISING               ((unsigned int) 0x1 <<  8) // (TC) Edge: rising edge\r
-#define        AT91C_TC_ETRGEDG_FALLING              ((unsigned int) 0x2 <<  8) // (TC) Edge: falling edge\r
-#define        AT91C_TC_ETRGEDG_BOTH                 ((unsigned int) 0x3 <<  8) // (TC) Edge: each edge\r
-#define AT91C_TC_EEVTEDG      ((unsigned int) 0x3 <<  8) // (TC) External Event Edge Selection\r
-#define        AT91C_TC_EEVTEDG_NONE                 ((unsigned int) 0x0 <<  8) // (TC) Edge: None\r
-#define        AT91C_TC_EEVTEDG_RISING               ((unsigned int) 0x1 <<  8) // (TC) Edge: rising edge\r
-#define        AT91C_TC_EEVTEDG_FALLING              ((unsigned int) 0x2 <<  8) // (TC) Edge: falling edge\r
-#define        AT91C_TC_EEVTEDG_BOTH                 ((unsigned int) 0x3 <<  8) // (TC) Edge: each edge\r
-#define AT91C_TC_EEVT         ((unsigned int) 0x3 << 10) // (TC) External Event  Selection\r
-#define        AT91C_TC_EEVT_TIOB                 ((unsigned int) 0x0 << 10) // (TC) Signal selected as external event: TIOB TIOB direction: input\r
-#define        AT91C_TC_EEVT_XC0                  ((unsigned int) 0x1 << 10) // (TC) Signal selected as external event: XC0 TIOB direction: output\r
-#define        AT91C_TC_EEVT_XC1                  ((unsigned int) 0x2 << 10) // (TC) Signal selected as external event: XC1 TIOB direction: output\r
-#define        AT91C_TC_EEVT_XC2                  ((unsigned int) 0x3 << 10) // (TC) Signal selected as external event: XC2 TIOB direction: output\r
-#define AT91C_TC_ABETRG       ((unsigned int) 0x1 << 10) // (TC) TIOA or TIOB External Trigger Selection\r
-#define AT91C_TC_ENETRG       ((unsigned int) 0x1 << 12) // (TC) External Event Trigger enable\r
-#define AT91C_TC_WAVESEL      ((unsigned int) 0x3 << 13) // (TC) Waveform  Selection\r
-#define        AT91C_TC_WAVESEL_UP                   ((unsigned int) 0x0 << 13) // (TC) UP mode without atomatic trigger on RC Compare\r
-#define        AT91C_TC_WAVESEL_UPDOWN               ((unsigned int) 0x1 << 13) // (TC) UPDOWN mode without automatic trigger on RC Compare\r
-#define        AT91C_TC_WAVESEL_UP_AUTO              ((unsigned int) 0x2 << 13) // (TC) UP mode with automatic trigger on RC Compare\r
-#define        AT91C_TC_WAVESEL_UPDOWN_AUTO          ((unsigned int) 0x3 << 13) // (TC) UPDOWN mode with automatic trigger on RC Compare\r
-#define AT91C_TC_CPCTRG       ((unsigned int) 0x1 << 14) // (TC) RC Compare Trigger Enable\r
-#define AT91C_TC_WAVE         ((unsigned int) 0x1 << 15) // (TC) \r
-#define AT91C_TC_ACPA         ((unsigned int) 0x3 << 16) // (TC) RA Compare Effect on TIOA\r
-#define        AT91C_TC_ACPA_NONE                 ((unsigned int) 0x0 << 16) // (TC) Effect: none\r
-#define        AT91C_TC_ACPA_SET                  ((unsigned int) 0x1 << 16) // (TC) Effect: set\r
-#define        AT91C_TC_ACPA_CLEAR                ((unsigned int) 0x2 << 16) // (TC) Effect: clear\r
-#define        AT91C_TC_ACPA_TOGGLE               ((unsigned int) 0x3 << 16) // (TC) Effect: toggle\r
-#define AT91C_TC_LDRA         ((unsigned int) 0x3 << 16) // (TC) RA Loading Selection\r
-#define        AT91C_TC_LDRA_NONE                 ((unsigned int) 0x0 << 16) // (TC) Edge: None\r
-#define        AT91C_TC_LDRA_RISING               ((unsigned int) 0x1 << 16) // (TC) Edge: rising edge of TIOA\r
-#define        AT91C_TC_LDRA_FALLING              ((unsigned int) 0x2 << 16) // (TC) Edge: falling edge of TIOA\r
-#define        AT91C_TC_LDRA_BOTH                 ((unsigned int) 0x3 << 16) // (TC) Edge: each edge of TIOA\r
-#define AT91C_TC_ACPC         ((unsigned int) 0x3 << 18) // (TC) RC Compare Effect on TIOA\r
-#define        AT91C_TC_ACPC_NONE                 ((unsigned int) 0x0 << 18) // (TC) Effect: none\r
-#define        AT91C_TC_ACPC_SET                  ((unsigned int) 0x1 << 18) // (TC) Effect: set\r
-#define        AT91C_TC_ACPC_CLEAR                ((unsigned int) 0x2 << 18) // (TC) Effect: clear\r
-#define        AT91C_TC_ACPC_TOGGLE               ((unsigned int) 0x3 << 18) // (TC) Effect: toggle\r
-#define AT91C_TC_LDRB         ((unsigned int) 0x3 << 18) // (TC) RB Loading Selection\r
-#define        AT91C_TC_LDRB_NONE                 ((unsigned int) 0x0 << 18) // (TC) Edge: None\r
-#define        AT91C_TC_LDRB_RISING               ((unsigned int) 0x1 << 18) // (TC) Edge: rising edge of TIOA\r
-#define        AT91C_TC_LDRB_FALLING              ((unsigned int) 0x2 << 18) // (TC) Edge: falling edge of TIOA\r
-#define        AT91C_TC_LDRB_BOTH                 ((unsigned int) 0x3 << 18) // (TC) Edge: each edge of TIOA\r
-#define AT91C_TC_AEEVT        ((unsigned int) 0x3 << 20) // (TC) External Event Effect on TIOA\r
-#define        AT91C_TC_AEEVT_NONE                 ((unsigned int) 0x0 << 20) // (TC) Effect: none\r
-#define        AT91C_TC_AEEVT_SET                  ((unsigned int) 0x1 << 20) // (TC) Effect: set\r
-#define        AT91C_TC_AEEVT_CLEAR                ((unsigned int) 0x2 << 20) // (TC) Effect: clear\r
-#define        AT91C_TC_AEEVT_TOGGLE               ((unsigned int) 0x3 << 20) // (TC) Effect: toggle\r
-#define AT91C_TC_ASWTRG       ((unsigned int) 0x3 << 22) // (TC) Software Trigger Effect on TIOA\r
-#define        AT91C_TC_ASWTRG_NONE                 ((unsigned int) 0x0 << 22) // (TC) Effect: none\r
-#define        AT91C_TC_ASWTRG_SET                  ((unsigned int) 0x1 << 22) // (TC) Effect: set\r
-#define        AT91C_TC_ASWTRG_CLEAR                ((unsigned int) 0x2 << 22) // (TC) Effect: clear\r
-#define        AT91C_TC_ASWTRG_TOGGLE               ((unsigned int) 0x3 << 22) // (TC) Effect: toggle\r
-#define AT91C_TC_BCPB         ((unsigned int) 0x3 << 24) // (TC) RB Compare Effect on TIOB\r
-#define        AT91C_TC_BCPB_NONE                 ((unsigned int) 0x0 << 24) // (TC) Effect: none\r
-#define        AT91C_TC_BCPB_SET                  ((unsigned int) 0x1 << 24) // (TC) Effect: set\r
-#define        AT91C_TC_BCPB_CLEAR                ((unsigned int) 0x2 << 24) // (TC) Effect: clear\r
-#define        AT91C_TC_BCPB_TOGGLE               ((unsigned int) 0x3 << 24) // (TC) Effect: toggle\r
-#define AT91C_TC_BCPC         ((unsigned int) 0x3 << 26) // (TC) RC Compare Effect on TIOB\r
-#define        AT91C_TC_BCPC_NONE                 ((unsigned int) 0x0 << 26) // (TC) Effect: none\r
-#define        AT91C_TC_BCPC_SET                  ((unsigned int) 0x1 << 26) // (TC) Effect: set\r
-#define        AT91C_TC_BCPC_CLEAR                ((unsigned int) 0x2 << 26) // (TC) Effect: clear\r
-#define        AT91C_TC_BCPC_TOGGLE               ((unsigned int) 0x3 << 26) // (TC) Effect: toggle\r
-#define AT91C_TC_BEEVT        ((unsigned int) 0x3 << 28) // (TC) External Event Effect on TIOB\r
-#define        AT91C_TC_BEEVT_NONE                 ((unsigned int) 0x0 << 28) // (TC) Effect: none\r
-#define        AT91C_TC_BEEVT_SET                  ((unsigned int) 0x1 << 28) // (TC) Effect: set\r
-#define        AT91C_TC_BEEVT_CLEAR                ((unsigned int) 0x2 << 28) // (TC) Effect: clear\r
-#define        AT91C_TC_BEEVT_TOGGLE               ((unsigned int) 0x3 << 28) // (TC) Effect: toggle\r
-#define AT91C_TC_BSWTRG       ((unsigned int) 0x3 << 30) // (TC) Software Trigger Effect on TIOB\r
-#define        AT91C_TC_BSWTRG_NONE                 ((unsigned int) 0x0 << 30) // (TC) Effect: none\r
-#define        AT91C_TC_BSWTRG_SET                  ((unsigned int) 0x1 << 30) // (TC) Effect: set\r
-#define        AT91C_TC_BSWTRG_CLEAR                ((unsigned int) 0x2 << 30) // (TC) Effect: clear\r
-#define        AT91C_TC_BSWTRG_TOGGLE               ((unsigned int) 0x3 << 30) // (TC) Effect: toggle\r
-// -------- TC_SR : (TC Offset: 0x20) TC Channel Status Register -------- \r
-#define AT91C_TC_COVFS        ((unsigned int) 0x1 <<  0) // (TC) Counter Overflow\r
-#define AT91C_TC_LOVRS        ((unsigned int) 0x1 <<  1) // (TC) Load Overrun\r
-#define AT91C_TC_CPAS         ((unsigned int) 0x1 <<  2) // (TC) RA Compare\r
-#define AT91C_TC_CPBS         ((unsigned int) 0x1 <<  3) // (TC) RB Compare\r
-#define AT91C_TC_CPCS         ((unsigned int) 0x1 <<  4) // (TC) RC Compare\r
-#define AT91C_TC_LDRAS        ((unsigned int) 0x1 <<  5) // (TC) RA Loading\r
-#define AT91C_TC_LDRBS        ((unsigned int) 0x1 <<  6) // (TC) RB Loading\r
-#define AT91C_TC_ETRGS        ((unsigned int) 0x1 <<  7) // (TC) External Trigger\r
-#define AT91C_TC_CLKSTA       ((unsigned int) 0x1 << 16) // (TC) Clock Enabling\r
-#define AT91C_TC_MTIOA        ((unsigned int) 0x1 << 17) // (TC) TIOA Mirror\r
-#define AT91C_TC_MTIOB        ((unsigned int) 0x1 << 18) // (TC) TIOA Mirror\r
-// -------- TC_IER : (TC Offset: 0x24) TC Channel Interrupt Enable Register -------- \r
-// -------- TC_IDR : (TC Offset: 0x28) TC Channel Interrupt Disable Register -------- \r
-// -------- TC_IMR : (TC Offset: 0x2c) TC Channel Interrupt Mask Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Timer Counter Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_TCB {\r
-       AT91S_TC         TCB_TC0;       // TC Channel 0\r
-       AT91_REG         Reserved0[4];  // \r
-       AT91S_TC         TCB_TC1;       // TC Channel 1\r
-       AT91_REG         Reserved1[4];  // \r
-       AT91S_TC         TCB_TC2;       // TC Channel 2\r
-       AT91_REG         Reserved2[4];  // \r
-       AT91_REG         TCB_BCR;       // TC Block Control Register\r
-       AT91_REG         TCB_BMR;       // TC Block Mode Register\r
-} AT91S_TCB, *AT91PS_TCB;\r
-\r
-// -------- TCB_BCR : (TCB Offset: 0xc0) TC Block Control Register -------- \r
-#define AT91C_TCB_SYNC        ((unsigned int) 0x1 <<  0) // (TCB) Synchro Command\r
-// -------- TCB_BMR : (TCB Offset: 0xc4) TC Block Mode Register -------- \r
-#define AT91C_TCB_TC0XC0S     ((unsigned int) 0x3 <<  0) // (TCB) External Clock Signal 0 Selection\r
-#define        AT91C_TCB_TC0XC0S_TCLK0                ((unsigned int) 0x0) // (TCB) TCLK0 connected to XC0\r
-#define        AT91C_TCB_TC0XC0S_NONE                 ((unsigned int) 0x1) // (TCB) None signal connected to XC0\r
-#define        AT91C_TCB_TC0XC0S_TIOA1                ((unsigned int) 0x2) // (TCB) TIOA1 connected to XC0\r
-#define        AT91C_TCB_TC0XC0S_TIOA2                ((unsigned int) 0x3) // (TCB) TIOA2 connected to XC0\r
-#define AT91C_TCB_TC1XC1S     ((unsigned int) 0x3 <<  2) // (TCB) External Clock Signal 1 Selection\r
-#define        AT91C_TCB_TC1XC1S_TCLK1                ((unsigned int) 0x0 <<  2) // (TCB) TCLK1 connected to XC1\r
-#define        AT91C_TCB_TC1XC1S_NONE                 ((unsigned int) 0x1 <<  2) // (TCB) None signal connected to XC1\r
-#define        AT91C_TCB_TC1XC1S_TIOA0                ((unsigned int) 0x2 <<  2) // (TCB) TIOA0 connected to XC1\r
-#define        AT91C_TCB_TC1XC1S_TIOA2                ((unsigned int) 0x3 <<  2) // (TCB) TIOA2 connected to XC1\r
-#define AT91C_TCB_TC2XC2S     ((unsigned int) 0x3 <<  4) // (TCB) External Clock Signal 2 Selection\r
-#define        AT91C_TCB_TC2XC2S_TCLK2                ((unsigned int) 0x0 <<  4) // (TCB) TCLK2 connected to XC2\r
-#define        AT91C_TCB_TC2XC2S_NONE                 ((unsigned int) 0x1 <<  4) // (TCB) None signal connected to XC2\r
-#define        AT91C_TCB_TC2XC2S_TIOA0                ((unsigned int) 0x2 <<  4) // (TCB) TIOA0 connected to XC2\r
-#define        AT91C_TCB_TC2XC2S_TIOA1                ((unsigned int) 0x3 <<  4) // (TCB) TIOA2 connected to XC2\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Control Area Network MailBox Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_CAN_MB {\r
-       AT91_REG         CAN_MB_MMR;    // MailBox Mode Register\r
-       AT91_REG         CAN_MB_MAM;    // MailBox Acceptance Mask Register\r
-       AT91_REG         CAN_MB_MID;    // MailBox ID Register\r
-       AT91_REG         CAN_MB_MFID;   // MailBox Family ID Register\r
-       AT91_REG         CAN_MB_MSR;    // MailBox Status Register\r
-       AT91_REG         CAN_MB_MDL;    // MailBox Data Low Register\r
-       AT91_REG         CAN_MB_MDH;    // MailBox Data High Register\r
-       AT91_REG         CAN_MB_MCR;    // MailBox Control Register\r
-} AT91S_CAN_MB, *AT91PS_CAN_MB;\r
-\r
-// -------- CAN_MMR : (CAN_MB Offset: 0x0) CAN Message Mode Register -------- \r
-#define AT91C_CAN_MTIMEMARK   ((unsigned int) 0xFFFF <<  0) // (CAN_MB) Mailbox Timemark\r
-#define AT91C_CAN_PRIOR       ((unsigned int) 0xF << 16) // (CAN_MB) Mailbox Priority\r
-#define AT91C_CAN_MOT         ((unsigned int) 0x7 << 24) // (CAN_MB) Mailbox Object Type\r
-#define        AT91C_CAN_MOT_DIS                  ((unsigned int) 0x0 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_RX                   ((unsigned int) 0x1 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_RXOVERWRITE          ((unsigned int) 0x2 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_TX                   ((unsigned int) 0x3 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_CONSUMER             ((unsigned int) 0x4 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_PRODUCER             ((unsigned int) 0x5 << 24) // (CAN_MB) \r
-// -------- CAN_MAM : (CAN_MB Offset: 0x4) CAN Message Acceptance Mask Register -------- \r
-#define AT91C_CAN_MIDvB       ((unsigned int) 0x3FFFF <<  0) // (CAN_MB) Complementary bits for identifier in extended mode\r
-#define AT91C_CAN_MIDvA       ((unsigned int) 0x7FF << 18) // (CAN_MB) Identifier for standard frame mode\r
-#define AT91C_CAN_MIDE        ((unsigned int) 0x1 << 29) // (CAN_MB) Identifier Version\r
-// -------- CAN_MID : (CAN_MB Offset: 0x8) CAN Message ID Register -------- \r
-// -------- CAN_MFID : (CAN_MB Offset: 0xc) CAN Message Family ID Register -------- \r
-// -------- CAN_MSR : (CAN_MB Offset: 0x10) CAN Message Status Register -------- \r
-#define AT91C_CAN_MTIMESTAMP  ((unsigned int) 0xFFFF <<  0) // (CAN_MB) Timer Value\r
-#define AT91C_CAN_MDLC        ((unsigned int) 0xF << 16) // (CAN_MB) Mailbox Data Length Code\r
-#define AT91C_CAN_MRTR        ((unsigned int) 0x1 << 20) // (CAN_MB) Mailbox Remote Transmission Request\r
-#define AT91C_CAN_MABT        ((unsigned int) 0x1 << 22) // (CAN_MB) Mailbox Message Abort\r
-#define AT91C_CAN_MRDY        ((unsigned int) 0x1 << 23) // (CAN_MB) Mailbox Ready\r
-#define AT91C_CAN_MMI         ((unsigned int) 0x1 << 24) // (CAN_MB) Mailbox Message Ignored\r
-// -------- CAN_MDL : (CAN_MB Offset: 0x14) CAN Message Data Low Register -------- \r
-// -------- CAN_MDH : (CAN_MB Offset: 0x18) CAN Message Data High Register -------- \r
-// -------- CAN_MCR : (CAN_MB Offset: 0x1c) CAN Message Control Register -------- \r
-#define AT91C_CAN_MACR        ((unsigned int) 0x1 << 22) // (CAN_MB) Abort Request for Mailbox\r
-#define AT91C_CAN_MTCR        ((unsigned int) 0x1 << 23) // (CAN_MB) Mailbox Transfer Command\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Control Area Network Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_CAN {\r
-       AT91_REG         CAN_MR;        // Mode Register\r
-       AT91_REG         CAN_IER;       // Interrupt Enable Register\r
-       AT91_REG         CAN_IDR;       // Interrupt Disable Register\r
-       AT91_REG         CAN_IMR;       // Interrupt Mask Register\r
-       AT91_REG         CAN_SR;        // Status Register\r
-       AT91_REG         CAN_BR;        // Baudrate Register\r
-       AT91_REG         CAN_TIM;       // Timer Register\r
-       AT91_REG         CAN_TIMESTP;   // Time Stamp Register\r
-       AT91_REG         CAN_ECR;       // Error Counter Register\r
-       AT91_REG         CAN_TCR;       // Transfer Command Register\r
-       AT91_REG         CAN_ACR;       // Abort Command Register\r
-       AT91_REG         Reserved0[52];         // \r
-       AT91_REG         CAN_VR;        // Version Register\r
-       AT91_REG         Reserved1[64];         // \r
-       AT91S_CAN_MB     CAN_MB0;       // CAN Mailbox 0\r
-       AT91S_CAN_MB     CAN_MB1;       // CAN Mailbox 1\r
-       AT91S_CAN_MB     CAN_MB2;       // CAN Mailbox 2\r
-       AT91S_CAN_MB     CAN_MB3;       // CAN Mailbox 3\r
-       AT91S_CAN_MB     CAN_MB4;       // CAN Mailbox 4\r
-       AT91S_CAN_MB     CAN_MB5;       // CAN Mailbox 5\r
-       AT91S_CAN_MB     CAN_MB6;       // CAN Mailbox 6\r
-       AT91S_CAN_MB     CAN_MB7;       // CAN Mailbox 7\r
-       AT91S_CAN_MB     CAN_MB8;       // CAN Mailbox 8\r
-       AT91S_CAN_MB     CAN_MB9;       // CAN Mailbox 9\r
-       AT91S_CAN_MB     CAN_MB10;      // CAN Mailbox 10\r
-       AT91S_CAN_MB     CAN_MB11;      // CAN Mailbox 11\r
-       AT91S_CAN_MB     CAN_MB12;      // CAN Mailbox 12\r
-       AT91S_CAN_MB     CAN_MB13;      // CAN Mailbox 13\r
-       AT91S_CAN_MB     CAN_MB14;      // CAN Mailbox 14\r
-       AT91S_CAN_MB     CAN_MB15;      // CAN Mailbox 15\r
-} AT91S_CAN, *AT91PS_CAN;\r
-\r
-// -------- CAN_MR : (CAN Offset: 0x0) CAN Mode Register -------- \r
-#define AT91C_CAN_CANEN       ((unsigned int) 0x1 <<  0) // (CAN) CAN Controller Enable\r
-#define AT91C_CAN_LPM         ((unsigned int) 0x1 <<  1) // (CAN) Disable/Enable Low Power Mode\r
-#define AT91C_CAN_ABM         ((unsigned int) 0x1 <<  2) // (CAN) Disable/Enable Autobaud/Listen Mode\r
-#define AT91C_CAN_OVL         ((unsigned int) 0x1 <<  3) // (CAN) Disable/Enable Overload Frame\r
-#define AT91C_CAN_TEOF        ((unsigned int) 0x1 <<  4) // (CAN) Time Stamp messages at each end of Frame\r
-#define AT91C_CAN_TTM         ((unsigned int) 0x1 <<  5) // (CAN) Disable/Enable Time Trigger Mode\r
-#define AT91C_CAN_TIMFRZ      ((unsigned int) 0x1 <<  6) // (CAN) Enable Timer Freeze\r
-#define AT91C_CAN_DRPT        ((unsigned int) 0x1 <<  7) // (CAN) Disable Repeat\r
-// -------- CAN_IER : (CAN Offset: 0x4) CAN Interrupt Enable Register -------- \r
-#define AT91C_CAN_MB0         ((unsigned int) 0x1 <<  0) // (CAN) Mailbox 0 Flag\r
-#define AT91C_CAN_MB1         ((unsigned int) 0x1 <<  1) // (CAN) Mailbox 1 Flag\r
-#define AT91C_CAN_MB2         ((unsigned int) 0x1 <<  2) // (CAN) Mailbox 2 Flag\r
-#define AT91C_CAN_MB3         ((unsigned int) 0x1 <<  3) // (CAN) Mailbox 3 Flag\r
-#define AT91C_CAN_MB4         ((unsigned int) 0x1 <<  4) // (CAN) Mailbox 4 Flag\r
-#define AT91C_CAN_MB5         ((unsigned int) 0x1 <<  5) // (CAN) Mailbox 5 Flag\r
-#define AT91C_CAN_MB6         ((unsigned int) 0x1 <<  6) // (CAN) Mailbox 6 Flag\r
-#define AT91C_CAN_MB7         ((unsigned int) 0x1 <<  7) // (CAN) Mailbox 7 Flag\r
-#define AT91C_CAN_MB8         ((unsigned int) 0x1 <<  8) // (CAN) Mailbox 8 Flag\r
-#define AT91C_CAN_MB9         ((unsigned int) 0x1 <<  9) // (CAN) Mailbox 9 Flag\r
-#define AT91C_CAN_MB10        ((unsigned int) 0x1 << 10) // (CAN) Mailbox 10 Flag\r
-#define AT91C_CAN_MB11        ((unsigned int) 0x1 << 11) // (CAN) Mailbox 11 Flag\r
-#define AT91C_CAN_MB12        ((unsigned int) 0x1 << 12) // (CAN) Mailbox 12 Flag\r
-#define AT91C_CAN_MB13        ((unsigned int) 0x1 << 13) // (CAN) Mailbox 13 Flag\r
-#define AT91C_CAN_MB14        ((unsigned int) 0x1 << 14) // (CAN) Mailbox 14 Flag\r
-#define AT91C_CAN_MB15        ((unsigned int) 0x1 << 15) // (CAN) Mailbox 15 Flag\r
-#define AT91C_CAN_ERRA        ((unsigned int) 0x1 << 16) // (CAN) Error Active Mode Flag\r
-#define AT91C_CAN_WARN        ((unsigned int) 0x1 << 17) // (CAN) Warning Limit Flag\r
-#define AT91C_CAN_ERRP        ((unsigned int) 0x1 << 18) // (CAN) Error Passive Mode Flag\r
-#define AT91C_CAN_BOFF        ((unsigned int) 0x1 << 19) // (CAN) Bus Off Mode Flag\r
-#define AT91C_CAN_SLEEP       ((unsigned int) 0x1 << 20) // (CAN) Sleep Flag\r
-#define AT91C_CAN_WAKEUP      ((unsigned int) 0x1 << 21) // (CAN) Wakeup Flag\r
-#define AT91C_CAN_TOVF        ((unsigned int) 0x1 << 22) // (CAN) Timer Overflow Flag\r
-#define AT91C_CAN_TSTP        ((unsigned int) 0x1 << 23) // (CAN) Timestamp Flag\r
-#define AT91C_CAN_CERR        ((unsigned int) 0x1 << 24) // (CAN) CRC Error\r
-#define AT91C_CAN_SERR        ((unsigned int) 0x1 << 25) // (CAN) Stuffing Error\r
-#define AT91C_CAN_AERR        ((unsigned int) 0x1 << 26) // (CAN) Acknowledgment Error\r
-#define AT91C_CAN_FERR        ((unsigned int) 0x1 << 27) // (CAN) Form Error\r
-#define AT91C_CAN_BERR        ((unsigned int) 0x1 << 28) // (CAN) Bit Error\r
-// -------- CAN_IDR : (CAN Offset: 0x8) CAN Interrupt Disable Register -------- \r
-// -------- CAN_IMR : (CAN Offset: 0xc) CAN Interrupt Mask Register -------- \r
-// -------- CAN_SR : (CAN Offset: 0x10) CAN Status Register -------- \r
-#define AT91C_CAN_RBSY        ((unsigned int) 0x1 << 29) // (CAN) Receiver Busy\r
-#define AT91C_CAN_TBSY        ((unsigned int) 0x1 << 30) // (CAN) Transmitter Busy\r
-#define AT91C_CAN_OVLY        ((unsigned int) 0x1 << 31) // (CAN) Overload Busy\r
-// -------- CAN_BR : (CAN Offset: 0x14) CAN Baudrate Register -------- \r
-#define AT91C_CAN_PHASE2      ((unsigned int) 0x7 <<  0) // (CAN) Phase 2 segment\r
-#define AT91C_CAN_PHASE1      ((unsigned int) 0x7 <<  4) // (CAN) Phase 1 segment\r
-#define AT91C_CAN_PROPAG      ((unsigned int) 0x7 <<  8) // (CAN) Programmation time segment\r
-#define AT91C_CAN_SYNC        ((unsigned int) 0x3 << 12) // (CAN) Re-synchronization jump width segment\r
-#define AT91C_CAN_BRP         ((unsigned int) 0x7F << 16) // (CAN) Baudrate Prescaler\r
-#define AT91C_CAN_SMP         ((unsigned int) 0x1 << 24) // (CAN) Sampling mode\r
-// -------- CAN_TIM : (CAN Offset: 0x18) CAN Timer Register -------- \r
-#define AT91C_CAN_TIMER       ((unsigned int) 0xFFFF <<  0) // (CAN) Timer field\r
-// -------- CAN_TIMESTP : (CAN Offset: 0x1c) CAN Timestamp Register -------- \r
-// -------- CAN_ECR : (CAN Offset: 0x20) CAN Error Counter Register -------- \r
-#define AT91C_CAN_REC         ((unsigned int) 0xFF <<  0) // (CAN) Receive Error Counter\r
-#define AT91C_CAN_TEC         ((unsigned int) 0xFF << 16) // (CAN) Transmit Error Counter\r
-// -------- CAN_TCR : (CAN Offset: 0x24) CAN Transfer Command Register -------- \r
-#define AT91C_CAN_TIMRST      ((unsigned int) 0x1 << 31) // (CAN) Timer Reset Field\r
-// -------- CAN_ACR : (CAN Offset: 0x28) CAN Abort Command Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Ethernet MAC 10/100\r
-// *****************************************************************************\r
-typedef struct _AT91S_EMAC {\r
-       AT91_REG         EMAC_NCR;      // Network Control Register\r
-       AT91_REG         EMAC_NCFGR;    // Network Configuration Register\r
-       AT91_REG         EMAC_NSR;      // Network Status Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         EMAC_TSR;      // Transmit Status Register\r
-       AT91_REG         EMAC_RBQP;     // Receive Buffer Queue Pointer\r
-       AT91_REG         EMAC_TBQP;     // Transmit Buffer Queue Pointer\r
-       AT91_REG         EMAC_RSR;      // Receive Status Register\r
-       AT91_REG         EMAC_ISR;      // Interrupt Status Register\r
-       AT91_REG         EMAC_IER;      // Interrupt Enable Register\r
-       AT91_REG         EMAC_IDR;      // Interrupt Disable Register\r
-       AT91_REG         EMAC_IMR;      // Interrupt Mask Register\r
-       AT91_REG         EMAC_MAN;      // PHY Maintenance Register\r
-       AT91_REG         EMAC_PTR;      // Pause Time Register\r
-       AT91_REG         EMAC_PFR;      // Pause Frames received Register\r
-       AT91_REG         EMAC_FTO;      // Frames Transmitted OK Register\r
-       AT91_REG         EMAC_SCF;      // Single Collision Frame Register\r
-       AT91_REG         EMAC_MCF;      // Multiple Collision Frame Register\r
-       AT91_REG         EMAC_FRO;      // Frames Received OK Register\r
-       AT91_REG         EMAC_FCSE;     // Frame Check Sequence Error Register\r
-       AT91_REG         EMAC_ALE;      // Alignment Error Register\r
-       AT91_REG         EMAC_DTF;      // Deferred Transmission Frame Register\r
-       AT91_REG         EMAC_LCOL;     // Late Collision Register\r
-       AT91_REG         EMAC_ECOL;     // Excessive Collision Register\r
-       AT91_REG         EMAC_TUND;     // Transmit Underrun Error Register\r
-       AT91_REG         EMAC_CSE;      // Carrier Sense Error Register\r
-       AT91_REG         EMAC_RRE;      // Receive Ressource Error Register\r
-       AT91_REG         EMAC_ROV;      // Receive Overrun Errors Register\r
-       AT91_REG         EMAC_RSE;      // Receive Symbol Errors Register\r
-       AT91_REG         EMAC_ELE;      // Excessive Length Errors Register\r
-       AT91_REG         EMAC_RJA;      // Receive Jabbers Register\r
-       AT91_REG         EMAC_USF;      // Undersize Frames Register\r
-       AT91_REG         EMAC_STE;      // SQE Test Error Register\r
-       AT91_REG         EMAC_RLE;      // Receive Length Field Mismatch Register\r
-       AT91_REG         EMAC_TPF;      // Transmitted Pause Frames Register\r
-       AT91_REG         EMAC_HRB;      // Hash Address Bottom[31:0]\r
-       AT91_REG         EMAC_HRT;      // Hash Address Top[63:32]\r
-       AT91_REG         EMAC_SA1L;     // Specific Address 1 Bottom, First 4 bytes\r
-       AT91_REG         EMAC_SA1H;     // Specific Address 1 Top, Last 2 bytes\r
-       AT91_REG         EMAC_SA2L;     // Specific Address 2 Bottom, First 4 bytes\r
-       AT91_REG         EMAC_SA2H;     // Specific Address 2 Top, Last 2 bytes\r
-       AT91_REG         EMAC_SA3L;     // Specific Address 3 Bottom, First 4 bytes\r
-       AT91_REG         EMAC_SA3H;     // Specific Address 3 Top, Last 2 bytes\r
-       AT91_REG         EMAC_SA4L;     // Specific Address 4 Bottom, First 4 bytes\r
-       AT91_REG         EMAC_SA4H;     // Specific Address 4 Top, Last 2 bytes\r
-       AT91_REG         EMAC_TID;      // Type ID Checking Register\r
-       AT91_REG         EMAC_TPQ;      // Transmit Pause Quantum Register\r
-       AT91_REG         EMAC_USRIO;    // USER Input/Output Register\r
-       AT91_REG         EMAC_WOL;      // Wake On LAN Register\r
-       AT91_REG         Reserved1[13];         // \r
-       AT91_REG         EMAC_REV;      // Revision Register\r
-} AT91S_EMAC, *AT91PS_EMAC;\r
-\r
-// -------- EMAC_NCR : (EMAC Offset: 0x0)  -------- \r
-#define AT91C_EMAC_LB         ((unsigned int) 0x1 <<  0) // (EMAC) Loopback. Optional. When set, loopback signal is at high level.\r
-#define AT91C_EMAC_LLB        ((unsigned int) 0x1 <<  1) // (EMAC) Loopback local. \r
-#define AT91C_EMAC_RE         ((unsigned int) 0x1 <<  2) // (EMAC) Receive enable. \r
-#define AT91C_EMAC_TE         ((unsigned int) 0x1 <<  3) // (EMAC) Transmit enable. \r
-#define AT91C_EMAC_MPE        ((unsigned int) 0x1 <<  4) // (EMAC) Management port enable. \r
-#define AT91C_EMAC_CLRSTAT    ((unsigned int) 0x1 <<  5) // (EMAC) Clear statistics registers. \r
-#define AT91C_EMAC_INCSTAT    ((unsigned int) 0x1 <<  6) // (EMAC) Increment statistics registers. \r
-#define AT91C_EMAC_WESTAT     ((unsigned int) 0x1 <<  7) // (EMAC) Write enable for statistics registers. \r
-#define AT91C_EMAC_BP         ((unsigned int) 0x1 <<  8) // (EMAC) Back pressure. \r
-#define AT91C_EMAC_TSTART     ((unsigned int) 0x1 <<  9) // (EMAC) Start Transmission. \r
-#define AT91C_EMAC_THALT      ((unsigned int) 0x1 << 10) // (EMAC) Transmission Halt. \r
-#define AT91C_EMAC_TPFR       ((unsigned int) 0x1 << 11) // (EMAC) Transmit pause frame \r
-#define AT91C_EMAC_TZQ        ((unsigned int) 0x1 << 12) // (EMAC) Transmit zero quantum pause frame\r
-// -------- EMAC_NCFGR : (EMAC Offset: 0x4) Network Configuration Register -------- \r
-#define AT91C_EMAC_SPD        ((unsigned int) 0x1 <<  0) // (EMAC) Speed. \r
-#define AT91C_EMAC_FD         ((unsigned int) 0x1 <<  1) // (EMAC) Full duplex. \r
-#define AT91C_EMAC_JFRAME     ((unsigned int) 0x1 <<  3) // (EMAC) Jumbo Frames. \r
-#define AT91C_EMAC_CAF        ((unsigned int) 0x1 <<  4) // (EMAC) Copy all frames. \r
-#define AT91C_EMAC_NBC        ((unsigned int) 0x1 <<  5) // (EMAC) No broadcast. \r
-#define AT91C_EMAC_MTI        ((unsigned int) 0x1 <<  6) // (EMAC) Multicast hash event enable\r
-#define AT91C_EMAC_UNI        ((unsigned int) 0x1 <<  7) // (EMAC) Unicast hash enable. \r
-#define AT91C_EMAC_BIG        ((unsigned int) 0x1 <<  8) // (EMAC) Receive 1522 bytes. \r
-#define AT91C_EMAC_EAE        ((unsigned int) 0x1 <<  9) // (EMAC) External address match enable. \r
-#define AT91C_EMAC_CLK        ((unsigned int) 0x3 << 10) // (EMAC) \r
-#define        AT91C_EMAC_CLK_HCLK_8               ((unsigned int) 0x0 << 10) // (EMAC) HCLK divided by 8\r
-#define        AT91C_EMAC_CLK_HCLK_16              ((unsigned int) 0x1 << 10) // (EMAC) HCLK divided by 16\r
-#define        AT91C_EMAC_CLK_HCLK_32              ((unsigned int) 0x2 << 10) // (EMAC) HCLK divided by 32\r
-#define        AT91C_EMAC_CLK_HCLK_64              ((unsigned int) 0x3 << 10) // (EMAC) HCLK divided by 64\r
-#define AT91C_EMAC_RTY        ((unsigned int) 0x1 << 12) // (EMAC) \r
-#define AT91C_EMAC_PAE        ((unsigned int) 0x1 << 13) // (EMAC) \r
-#define AT91C_EMAC_RBOF       ((unsigned int) 0x3 << 14) // (EMAC) \r
-#define        AT91C_EMAC_RBOF_OFFSET_0             ((unsigned int) 0x0 << 14) // (EMAC) no offset from start of receive buffer\r
-#define        AT91C_EMAC_RBOF_OFFSET_1             ((unsigned int) 0x1 << 14) // (EMAC) one byte offset from start of receive buffer\r
-#define        AT91C_EMAC_RBOF_OFFSET_2             ((unsigned int) 0x2 << 14) // (EMAC) two bytes offset from start of receive buffer\r
-#define        AT91C_EMAC_RBOF_OFFSET_3             ((unsigned int) 0x3 << 14) // (EMAC) three bytes offset from start of receive buffer\r
-#define AT91C_EMAC_RLCE       ((unsigned int) 0x1 << 16) // (EMAC) Receive Length field Checking Enable\r
-#define AT91C_EMAC_DRFCS      ((unsigned int) 0x1 << 17) // (EMAC) Discard Receive FCS\r
-#define AT91C_EMAC_EFRHD      ((unsigned int) 0x1 << 18) // (EMAC) \r
-#define AT91C_EMAC_IRXFCS     ((unsigned int) 0x1 << 19) // (EMAC) Ignore RX FCS\r
-// -------- EMAC_NSR : (EMAC Offset: 0x8) Network Status Register -------- \r
-#define AT91C_EMAC_LINKR      ((unsigned int) 0x1 <<  0) // (EMAC) \r
-#define AT91C_EMAC_MDIO       ((unsigned int) 0x1 <<  1) // (EMAC) \r
-#define AT91C_EMAC_IDLE       ((unsigned int) 0x1 <<  2) // (EMAC) \r
-// -------- EMAC_TSR : (EMAC Offset: 0x14) Transmit Status Register -------- \r
-#define AT91C_EMAC_UBR        ((unsigned int) 0x1 <<  0) // (EMAC) \r
-#define AT91C_EMAC_COL        ((unsigned int) 0x1 <<  1) // (EMAC) \r
-#define AT91C_EMAC_RLES       ((unsigned int) 0x1 <<  2) // (EMAC) \r
-#define AT91C_EMAC_TGO        ((unsigned int) 0x1 <<  3) // (EMAC) Transmit Go\r
-#define AT91C_EMAC_BEX        ((unsigned int) 0x1 <<  4) // (EMAC) Buffers exhausted mid frame\r
-#define AT91C_EMAC_COMP       ((unsigned int) 0x1 <<  5) // (EMAC) \r
-#define AT91C_EMAC_UND        ((unsigned int) 0x1 <<  6) // (EMAC) \r
-// -------- EMAC_RSR : (EMAC Offset: 0x20) Receive Status Register -------- \r
-#define AT91C_EMAC_BNA        ((unsigned int) 0x1 <<  0) // (EMAC) \r
-#define AT91C_EMAC_REC        ((unsigned int) 0x1 <<  1) // (EMAC) \r
-#define AT91C_EMAC_OVR        ((unsigned int) 0x1 <<  2) // (EMAC) \r
-// -------- EMAC_ISR : (EMAC Offset: 0x24) Interrupt Status Register -------- \r
-#define AT91C_EMAC_MFD        ((unsigned int) 0x1 <<  0) // (EMAC) \r
-#define AT91C_EMAC_RCOMP      ((unsigned int) 0x1 <<  1) // (EMAC) \r
-#define AT91C_EMAC_RXUBR      ((unsigned int) 0x1 <<  2) // (EMAC) \r
-#define AT91C_EMAC_TXUBR      ((unsigned int) 0x1 <<  3) // (EMAC) \r
-#define AT91C_EMAC_TUNDR      ((unsigned int) 0x1 <<  4) // (EMAC) \r
-#define AT91C_EMAC_RLEX       ((unsigned int) 0x1 <<  5) // (EMAC) \r
-#define AT91C_EMAC_TXERR      ((unsigned int) 0x1 <<  6) // (EMAC) \r
-#define AT91C_EMAC_TCOMP      ((unsigned int) 0x1 <<  7) // (EMAC) \r
-#define AT91C_EMAC_LINK       ((unsigned int) 0x1 <<  9) // (EMAC) \r
-#define AT91C_EMAC_ROVR       ((unsigned int) 0x1 << 10) // (EMAC) \r
-#define AT91C_EMAC_HRESP      ((unsigned int) 0x1 << 11) // (EMAC) \r
-#define AT91C_EMAC_PFRE       ((unsigned int) 0x1 << 12) // (EMAC) \r
-#define AT91C_EMAC_PTZ        ((unsigned int) 0x1 << 13) // (EMAC) \r
-// -------- EMAC_IER : (EMAC Offset: 0x28) Interrupt Enable Register -------- \r
-// -------- EMAC_IDR : (EMAC Offset: 0x2c) Interrupt Disable Register -------- \r
-// -------- EMAC_IMR : (EMAC Offset: 0x30) Interrupt Mask Register -------- \r
-// -------- EMAC_MAN : (EMAC Offset: 0x34) PHY Maintenance Register -------- \r
-#define AT91C_EMAC_DATA       ((unsigned int) 0xFFFF <<  0) // (EMAC) \r
-#define AT91C_EMAC_CODE       ((unsigned int) 0x3 << 16) // (EMAC) \r
-#define AT91C_EMAC_REGA       ((unsigned int) 0x1F << 18) // (EMAC) \r
-#define AT91C_EMAC_PHYA       ((unsigned int) 0x1F << 23) // (EMAC) \r
-#define AT91C_EMAC_RW         ((unsigned int) 0x3 << 28) // (EMAC) \r
-#define AT91C_EMAC_SOF        ((unsigned int) 0x3 << 30) // (EMAC) \r
-// -------- EMAC_USRIO : (EMAC Offset: 0xc0) USER Input Output Register -------- \r
-#define AT91C_EMAC_RMII       ((unsigned int) 0x1 <<  0) // (EMAC) Reduce MII\r
-// -------- EMAC_WOL : (EMAC Offset: 0xc4) Wake On LAN Register -------- \r
-#define AT91C_EMAC_IP         ((unsigned int) 0xFFFF <<  0) // (EMAC) ARP request IP address\r
-#define AT91C_EMAC_MAG        ((unsigned int) 0x1 << 16) // (EMAC) Magic packet event enable\r
-#define AT91C_EMAC_ARP        ((unsigned int) 0x1 << 17) // (EMAC) ARP request event enable\r
-#define AT91C_EMAC_SA1        ((unsigned int) 0x1 << 18) // (EMAC) Specific address register 1 event enable\r
-// -------- EMAC_REV : (EMAC Offset: 0xfc) Revision Register -------- \r
-#define AT91C_EMAC_REVREF     ((unsigned int) 0xFFFF <<  0) // (EMAC) \r
-#define AT91C_EMAC_PARTREF    ((unsigned int) 0xFFFF << 16) // (EMAC) \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Analog to Digital Convertor\r
-// *****************************************************************************\r
-typedef struct _AT91S_ADC {\r
-       AT91_REG         ADC_CR;        // ADC Control Register\r
-       AT91_REG         ADC_MR;        // ADC Mode Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         ADC_CHER;      // ADC Channel Enable Register\r
-       AT91_REG         ADC_CHDR;      // ADC Channel Disable Register\r
-       AT91_REG         ADC_CHSR;      // ADC Channel Status Register\r
-       AT91_REG         ADC_SR;        // ADC Status Register\r
-       AT91_REG         ADC_LCDR;      // ADC Last Converted Data Register\r
-       AT91_REG         ADC_IER;       // ADC Interrupt Enable Register\r
-       AT91_REG         ADC_IDR;       // ADC Interrupt Disable Register\r
-       AT91_REG         ADC_IMR;       // ADC Interrupt Mask Register\r
-       AT91_REG         ADC_CDR0;      // ADC Channel Data Register 0\r
-       AT91_REG         ADC_CDR1;      // ADC Channel Data Register 1\r
-       AT91_REG         ADC_CDR2;      // ADC Channel Data Register 2\r
-       AT91_REG         ADC_CDR3;      // ADC Channel Data Register 3\r
-       AT91_REG         ADC_CDR4;      // ADC Channel Data Register 4\r
-       AT91_REG         ADC_CDR5;      // ADC Channel Data Register 5\r
-       AT91_REG         ADC_CDR6;      // ADC Channel Data Register 6\r
-       AT91_REG         ADC_CDR7;      // ADC Channel Data Register 7\r
-       AT91_REG         Reserved1[44];         // \r
-       AT91_REG         ADC_RPR;       // Receive Pointer Register\r
-       AT91_REG         ADC_RCR;       // Receive Counter Register\r
-       AT91_REG         ADC_TPR;       // Transmit Pointer Register\r
-       AT91_REG         ADC_TCR;       // Transmit Counter Register\r
-       AT91_REG         ADC_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         ADC_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         ADC_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         ADC_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         ADC_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         ADC_PTSR;      // PDC Transfer Status Register\r
-} AT91S_ADC, *AT91PS_ADC;\r
-\r
-// -------- ADC_CR : (ADC Offset: 0x0) ADC Control Register -------- \r
-#define AT91C_ADC_SWRST       ((unsigned int) 0x1 <<  0) // (ADC) Software Reset\r
-#define AT91C_ADC_START       ((unsigned int) 0x1 <<  1) // (ADC) Start Conversion\r
-// -------- ADC_MR : (ADC Offset: 0x4) ADC Mode Register -------- \r
-#define AT91C_ADC_TRGEN       ((unsigned int) 0x1 <<  0) // (ADC) Trigger Enable\r
-#define        AT91C_ADC_TRGEN_DIS                  ((unsigned int) 0x0) // (ADC) Hradware triggers are disabled. Starting a conversion is only possible by software\r
-#define        AT91C_ADC_TRGEN_EN                   ((unsigned int) 0x1) // (ADC) Hardware trigger selected by TRGSEL field is enabled.\r
-#define AT91C_ADC_TRGSEL      ((unsigned int) 0x7 <<  1) // (ADC) Trigger Selection\r
-#define        AT91C_ADC_TRGSEL_TIOA0                ((unsigned int) 0x0 <<  1) // (ADC) Selected TRGSEL = TIAO0\r
-#define        AT91C_ADC_TRGSEL_TIOA1                ((unsigned int) 0x1 <<  1) // (ADC) Selected TRGSEL = TIAO1\r
-#define        AT91C_ADC_TRGSEL_TIOA2                ((unsigned int) 0x2 <<  1) // (ADC) Selected TRGSEL = TIAO2\r
-#define        AT91C_ADC_TRGSEL_TIOA3                ((unsigned int) 0x3 <<  1) // (ADC) Selected TRGSEL = TIAO3\r
-#define        AT91C_ADC_TRGSEL_TIOA4                ((unsigned int) 0x4 <<  1) // (ADC) Selected TRGSEL = TIAO4\r
-#define        AT91C_ADC_TRGSEL_TIOA5                ((unsigned int) 0x5 <<  1) // (ADC) Selected TRGSEL = TIAO5\r
-#define        AT91C_ADC_TRGSEL_EXT                  ((unsigned int) 0x6 <<  1) // (ADC) Selected TRGSEL = External Trigger\r
-#define AT91C_ADC_LOWRES      ((unsigned int) 0x1 <<  4) // (ADC) Resolution.\r
-#define        AT91C_ADC_LOWRES_10_BIT               ((unsigned int) 0x0 <<  4) // (ADC) 10-bit resolution\r
-#define        AT91C_ADC_LOWRES_8_BIT                ((unsigned int) 0x1 <<  4) // (ADC) 8-bit resolution\r
-#define AT91C_ADC_SLEEP       ((unsigned int) 0x1 <<  5) // (ADC) Sleep Mode\r
-#define        AT91C_ADC_SLEEP_NORMAL_MODE          ((unsigned int) 0x0 <<  5) // (ADC) Normal Mode\r
-#define        AT91C_ADC_SLEEP_MODE                 ((unsigned int) 0x1 <<  5) // (ADC) Sleep Mode\r
-#define AT91C_ADC_PRESCAL     ((unsigned int) 0x3F <<  8) // (ADC) Prescaler rate selection\r
-#define AT91C_ADC_STARTUP     ((unsigned int) 0x1F << 16) // (ADC) Startup Time\r
-#define AT91C_ADC_SHTIM       ((unsigned int) 0xF << 24) // (ADC) Sample & Hold Time\r
-// --------    ADC_CHER : (ADC Offset: 0x10) ADC Channel Enable Register -------- \r
-#define AT91C_ADC_CH0         ((unsigned int) 0x1 <<  0) // (ADC) Channel 0\r
-#define AT91C_ADC_CH1         ((unsigned int) 0x1 <<  1) // (ADC) Channel 1\r
-#define AT91C_ADC_CH2         ((unsigned int) 0x1 <<  2) // (ADC) Channel 2\r
-#define AT91C_ADC_CH3         ((unsigned int) 0x1 <<  3) // (ADC) Channel 3\r
-#define AT91C_ADC_CH4         ((unsigned int) 0x1 <<  4) // (ADC) Channel 4\r
-#define AT91C_ADC_CH5         ((unsigned int) 0x1 <<  5) // (ADC) Channel 5\r
-#define AT91C_ADC_CH6         ((unsigned int) 0x1 <<  6) // (ADC) Channel 6\r
-#define AT91C_ADC_CH7         ((unsigned int) 0x1 <<  7) // (ADC) Channel 7\r
-// --------    ADC_CHDR : (ADC Offset: 0x14) ADC Channel Disable Register -------- \r
-// --------    ADC_CHSR : (ADC Offset: 0x18) ADC Channel Status Register -------- \r
-// -------- ADC_SR : (ADC Offset: 0x1c) ADC Status Register -------- \r
-#define AT91C_ADC_EOC0        ((unsigned int) 0x1 <<  0) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC1        ((unsigned int) 0x1 <<  1) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC2        ((unsigned int) 0x1 <<  2) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC3        ((unsigned int) 0x1 <<  3) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC4        ((unsigned int) 0x1 <<  4) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC5        ((unsigned int) 0x1 <<  5) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC6        ((unsigned int) 0x1 <<  6) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC7        ((unsigned int) 0x1 <<  7) // (ADC) End of Conversion\r
-#define AT91C_ADC_OVRE0       ((unsigned int) 0x1 <<  8) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE1       ((unsigned int) 0x1 <<  9) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE2       ((unsigned int) 0x1 << 10) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE3       ((unsigned int) 0x1 << 11) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE4       ((unsigned int) 0x1 << 12) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE5       ((unsigned int) 0x1 << 13) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE6       ((unsigned int) 0x1 << 14) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE7       ((unsigned int) 0x1 << 15) // (ADC) Overrun Error\r
-#define AT91C_ADC_DRDY        ((unsigned int) 0x1 << 16) // (ADC) Data Ready\r
-#define AT91C_ADC_GOVRE       ((unsigned int) 0x1 << 17) // (ADC) General Overrun\r
-#define AT91C_ADC_ENDRX       ((unsigned int) 0x1 << 18) // (ADC) End of Receiver Transfer\r
-#define AT91C_ADC_RXBUFF      ((unsigned int) 0x1 << 19) // (ADC) RXBUFF Interrupt\r
-// -------- ADC_LCDR : (ADC Offset: 0x20) ADC Last Converted Data Register -------- \r
-#define AT91C_ADC_LDATA       ((unsigned int) 0x3FF <<  0) // (ADC) Last Data Converted\r
-// -------- ADC_IER : (ADC Offset: 0x24) ADC Interrupt Enable Register -------- \r
-// -------- ADC_IDR : (ADC Offset: 0x28) ADC Interrupt Disable Register -------- \r
-// -------- ADC_IMR : (ADC Offset: 0x2c) ADC Interrupt Mask Register -------- \r
-// -------- ADC_CDR0 : (ADC Offset: 0x30) ADC Channel Data Register 0 -------- \r
-#define AT91C_ADC_DATA        ((unsigned int) 0x3FF <<  0) // (ADC) Converted Data\r
-// -------- ADC_CDR1 : (ADC Offset: 0x34) ADC Channel Data Register 1 -------- \r
-// -------- ADC_CDR2 : (ADC Offset: 0x38) ADC Channel Data Register 2 -------- \r
-// -------- ADC_CDR3 : (ADC Offset: 0x3c) ADC Channel Data Register 3 -------- \r
-// -------- ADC_CDR4 : (ADC Offset: 0x40) ADC Channel Data Register 4 -------- \r
-// -------- ADC_CDR5 : (ADC Offset: 0x44) ADC Channel Data Register 5 -------- \r
-// -------- ADC_CDR6 : (ADC Offset: 0x48) ADC Channel Data Register 6 -------- \r
-// -------- ADC_CDR7 : (ADC Offset: 0x4c) ADC Channel Data Register 7 -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Advanced  Encryption Standard\r
-// *****************************************************************************\r
-typedef struct _AT91S_AES {\r
-       AT91_REG         AES_CR;        // Control Register\r
-       AT91_REG         AES_MR;        // Mode Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         AES_IER;       // Interrupt Enable Register\r
-       AT91_REG         AES_IDR;       // Interrupt Disable Register\r
-       AT91_REG         AES_IMR;       // Interrupt Mask Register\r
-       AT91_REG         AES_ISR;       // Interrupt Status Register\r
-       AT91_REG         AES_KEYWxR[4];         // Key Word x Register\r
-       AT91_REG         Reserved1[4];  // \r
-       AT91_REG         AES_IDATAxR[4];        // Input Data x Register\r
-       AT91_REG         AES_ODATAxR[4];        // Output Data x Register\r
-       AT91_REG         AES_IVxR[4];   // Initialization Vector x Register\r
-       AT91_REG         Reserved2[35];         // \r
-       AT91_REG         AES_VR;        // AES Version Register\r
-       AT91_REG         AES_RPR;       // Receive Pointer Register\r
-       AT91_REG         AES_RCR;       // Receive Counter Register\r
-       AT91_REG         AES_TPR;       // Transmit Pointer Register\r
-       AT91_REG         AES_TCR;       // Transmit Counter Register\r
-       AT91_REG         AES_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         AES_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         AES_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         AES_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         AES_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         AES_PTSR;      // PDC Transfer Status Register\r
-} AT91S_AES, *AT91PS_AES;\r
-\r
-// -------- AES_CR : (AES Offset: 0x0) Control Register -------- \r
-#define AT91C_AES_START       ((unsigned int) 0x1 <<  0) // (AES) Starts Processing\r
-#define AT91C_AES_SWRST       ((unsigned int) 0x1 <<  8) // (AES) Software Reset\r
-#define AT91C_AES_LOADSEED    ((unsigned int) 0x1 << 16) // (AES) Random Number Generator Seed Loading\r
-// -------- AES_MR : (AES Offset: 0x4) Mode Register -------- \r
-#define AT91C_AES_CIPHER      ((unsigned int) 0x1 <<  0) // (AES) Processing Mode\r
-#define AT91C_AES_PROCDLY     ((unsigned int) 0xF <<  4) // (AES) Processing Delay\r
-#define AT91C_AES_SMOD        ((unsigned int) 0x3 <<  8) // (AES) Start Mode\r
-#define        AT91C_AES_SMOD_MANUAL               ((unsigned int) 0x0 <<  8) // (AES) Manual Mode: The START bit in register AES_CR must be set to begin encryption or decryption.\r
-#define        AT91C_AES_SMOD_AUTO                 ((unsigned int) 0x1 <<  8) // (AES) Auto Mode: no action in AES_CR is necessary (cf datasheet).\r
-#define        AT91C_AES_SMOD_PDC                  ((unsigned int) 0x2 <<  8) // (AES) PDC Mode (cf datasheet).\r
-#define AT91C_AES_OPMOD       ((unsigned int) 0x7 << 12) // (AES) Operation Mode\r
-#define        AT91C_AES_OPMOD_ECB                  ((unsigned int) 0x0 << 12) // (AES) ECB Electronic CodeBook mode.\r
-#define        AT91C_AES_OPMOD_CBC                  ((unsigned int) 0x1 << 12) // (AES) CBC Cipher Block Chaining mode.\r
-#define        AT91C_AES_OPMOD_OFB                  ((unsigned int) 0x2 << 12) // (AES) OFB Output Feedback mode.\r
-#define        AT91C_AES_OPMOD_CFB                  ((unsigned int) 0x3 << 12) // (AES) CFB Cipher Feedback mode.\r
-#define        AT91C_AES_OPMOD_CTR                  ((unsigned int) 0x4 << 12) // (AES) CTR Counter mode.\r
-#define AT91C_AES_LOD         ((unsigned int) 0x1 << 15) // (AES) Last Output Data Mode\r
-#define AT91C_AES_CFBS        ((unsigned int) 0x7 << 16) // (AES) Cipher Feedback Data Size\r
-#define        AT91C_AES_CFBS_128_BIT              ((unsigned int) 0x0 << 16) // (AES) 128-bit.\r
-#define        AT91C_AES_CFBS_64_BIT               ((unsigned int) 0x1 << 16) // (AES) 64-bit.\r
-#define        AT91C_AES_CFBS_32_BIT               ((unsigned int) 0x2 << 16) // (AES) 32-bit.\r
-#define        AT91C_AES_CFBS_16_BIT               ((unsigned int) 0x3 << 16) // (AES) 16-bit.\r
-#define        AT91C_AES_CFBS_8_BIT                ((unsigned int) 0x4 << 16) // (AES) 8-bit.\r
-#define AT91C_AES_CKEY        ((unsigned int) 0xF << 20) // (AES) Countermeasure Key\r
-#define AT91C_AES_CTYPE       ((unsigned int) 0x1F << 24) // (AES) Countermeasure Type\r
-#define        AT91C_AES_CTYPE_TYPE1_EN             ((unsigned int) 0x1 << 24) // (AES) Countermeasure type 1 is enabled.\r
-#define        AT91C_AES_CTYPE_TYPE2_EN             ((unsigned int) 0x2 << 24) // (AES) Countermeasure type 2 is enabled.\r
-#define        AT91C_AES_CTYPE_TYPE3_EN             ((unsigned int) 0x4 << 24) // (AES) Countermeasure type 3 is enabled.\r
-#define        AT91C_AES_CTYPE_TYPE4_EN             ((unsigned int) 0x8 << 24) // (AES) Countermeasure type 4 is enabled.\r
-#define        AT91C_AES_CTYPE_TYPE5_EN             ((unsigned int) 0x10 << 24) // (AES) Countermeasure type 5 is enabled.\r
-// -------- AES_IER : (AES Offset: 0x10) Interrupt Enable Register -------- \r
-#define AT91C_AES_DATRDY      ((unsigned int) 0x1 <<  0) // (AES) DATRDY\r
-#define AT91C_AES_ENDRX       ((unsigned int) 0x1 <<  1) // (AES) PDC Read Buffer End\r
-#define AT91C_AES_ENDTX       ((unsigned int) 0x1 <<  2) // (AES) PDC Write Buffer End\r
-#define AT91C_AES_RXBUFF      ((unsigned int) 0x1 <<  3) // (AES) PDC Read Buffer Full\r
-#define AT91C_AES_TXBUFE      ((unsigned int) 0x1 <<  4) // (AES) PDC Write Buffer Empty\r
-#define AT91C_AES_URAD        ((unsigned int) 0x1 <<  8) // (AES) Unspecified Register Access Detection\r
-// -------- AES_IDR : (AES Offset: 0x14) Interrupt Disable Register -------- \r
-// -------- AES_IMR : (AES Offset: 0x18) Interrupt Mask Register -------- \r
-// -------- AES_ISR : (AES Offset: 0x1c) Interrupt Status Register -------- \r
-#define AT91C_AES_URAT        ((unsigned int) 0x7 << 12) // (AES) Unspecified Register Access Type Status\r
-#define        AT91C_AES_URAT_IN_DAT_WRITE_DATPROC ((unsigned int) 0x0 << 12) // (AES) Input data register written during the data processing in PDC mode.\r
-#define        AT91C_AES_URAT_OUT_DAT_READ_DATPROC ((unsigned int) 0x1 << 12) // (AES) Output data register read during the data processing.\r
-#define        AT91C_AES_URAT_MODEREG_WRITE_DATPROC ((unsigned int) 0x2 << 12) // (AES) Mode register written during the data processing.\r
-#define        AT91C_AES_URAT_OUT_DAT_READ_SUBKEY  ((unsigned int) 0x3 << 12) // (AES) Output data register read during the sub-keys generation.\r
-#define        AT91C_AES_URAT_MODEREG_WRITE_SUBKEY ((unsigned int) 0x4 << 12) // (AES) Mode register written during the sub-keys generation.\r
-#define        AT91C_AES_URAT_WO_REG_READ          ((unsigned int) 0x5 << 12) // (AES) Write-only register read access.\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Triple Data Encryption Standard\r
-// *****************************************************************************\r
-typedef struct _AT91S_TDES {\r
-       AT91_REG         TDES_CR;       // Control Register\r
-       AT91_REG         TDES_MR;       // Mode Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         TDES_IER;      // Interrupt Enable Register\r
-       AT91_REG         TDES_IDR;      // Interrupt Disable Register\r
-       AT91_REG         TDES_IMR;      // Interrupt Mask Register\r
-       AT91_REG         TDES_ISR;      // Interrupt Status Register\r
-       AT91_REG         TDES_KEY1WxR[2];       // Key 1 Word x Register\r
-       AT91_REG         TDES_KEY2WxR[2];       // Key 2 Word x Register\r
-       AT91_REG         TDES_KEY3WxR[2];       // Key 3 Word x Register\r
-       AT91_REG         Reserved1[2];  // \r
-       AT91_REG         TDES_IDATAxR[2];       // Input Data x Register\r
-       AT91_REG         Reserved2[2];  // \r
-       AT91_REG         TDES_ODATAxR[2];       // Output Data x Register\r
-       AT91_REG         Reserved3[2];  // \r
-       AT91_REG         TDES_IVxR[2];  // Initialization Vector x Register\r
-       AT91_REG         Reserved4[37];         // \r
-       AT91_REG         TDES_VR;       // TDES Version Register\r
-       AT91_REG         TDES_RPR;      // Receive Pointer Register\r
-       AT91_REG         TDES_RCR;      // Receive Counter Register\r
-       AT91_REG         TDES_TPR;      // Transmit Pointer Register\r
-       AT91_REG         TDES_TCR;      // Transmit Counter Register\r
-       AT91_REG         TDES_RNPR;     // Receive Next Pointer Register\r
-       AT91_REG         TDES_RNCR;     // Receive Next Counter Register\r
-       AT91_REG         TDES_TNPR;     // Transmit Next Pointer Register\r
-       AT91_REG         TDES_TNCR;     // Transmit Next Counter Register\r
-       AT91_REG         TDES_PTCR;     // PDC Transfer Control Register\r
-       AT91_REG         TDES_PTSR;     // PDC Transfer Status Register\r
-} AT91S_TDES, *AT91PS_TDES;\r
-\r
-// -------- TDES_CR : (TDES Offset: 0x0) Control Register -------- \r
-#define AT91C_TDES_START      ((unsigned int) 0x1 <<  0) // (TDES) Starts Processing\r
-#define AT91C_TDES_SWRST      ((unsigned int) 0x1 <<  8) // (TDES) Software Reset\r
-// -------- TDES_MR : (TDES Offset: 0x4) Mode Register -------- \r
-#define AT91C_TDES_CIPHER     ((unsigned int) 0x1 <<  0) // (TDES) Processing Mode\r
-#define AT91C_TDES_TDESMOD    ((unsigned int) 0x1 <<  1) // (TDES) Single or Triple DES Mode\r
-#define AT91C_TDES_KEYMOD     ((unsigned int) 0x1 <<  4) // (TDES) Key Mode\r
-#define AT91C_TDES_SMOD       ((unsigned int) 0x3 <<  8) // (TDES) Start Mode\r
-#define        AT91C_TDES_SMOD_MANUAL               ((unsigned int) 0x0 <<  8) // (TDES) Manual Mode: The START bit in register TDES_CR must be set to begin encryption or decryption.\r
-#define        AT91C_TDES_SMOD_AUTO                 ((unsigned int) 0x1 <<  8) // (TDES) Auto Mode: no action in TDES_CR is necessary (cf datasheet).\r
-#define        AT91C_TDES_SMOD_PDC                  ((unsigned int) 0x2 <<  8) // (TDES) PDC Mode (cf datasheet).\r
-#define AT91C_TDES_OPMOD      ((unsigned int) 0x3 << 12) // (TDES) Operation Mode\r
-#define        AT91C_TDES_OPMOD_ECB                  ((unsigned int) 0x0 << 12) // (TDES) ECB Electronic CodeBook mode.\r
-#define        AT91C_TDES_OPMOD_CBC                  ((unsigned int) 0x1 << 12) // (TDES) CBC Cipher Block Chaining mode.\r
-#define        AT91C_TDES_OPMOD_OFB                  ((unsigned int) 0x2 << 12) // (TDES) OFB Output Feedback mode.\r
-#define        AT91C_TDES_OPMOD_CFB                  ((unsigned int) 0x3 << 12) // (TDES) CFB Cipher Feedback mode.\r
-#define AT91C_TDES_LOD        ((unsigned int) 0x1 << 15) // (TDES) Last Output Data Mode\r
-#define AT91C_TDES_CFBS       ((unsigned int) 0x3 << 16) // (TDES) Cipher Feedback Data Size\r
-#define        AT91C_TDES_CFBS_64_BIT               ((unsigned int) 0x0 << 16) // (TDES) 64-bit.\r
-#define        AT91C_TDES_CFBS_32_BIT               ((unsigned int) 0x1 << 16) // (TDES) 32-bit.\r
-#define        AT91C_TDES_CFBS_16_BIT               ((unsigned int) 0x2 << 16) // (TDES) 16-bit.\r
-#define        AT91C_TDES_CFBS_8_BIT                ((unsigned int) 0x3 << 16) // (TDES) 8-bit.\r
-// -------- TDES_IER : (TDES Offset: 0x10) Interrupt Enable Register -------- \r
-#define AT91C_TDES_DATRDY     ((unsigned int) 0x1 <<  0) // (TDES) DATRDY\r
-#define AT91C_TDES_ENDRX      ((unsigned int) 0x1 <<  1) // (TDES) PDC Read Buffer End\r
-#define AT91C_TDES_ENDTX      ((unsigned int) 0x1 <<  2) // (TDES) PDC Write Buffer End\r
-#define AT91C_TDES_RXBUFF     ((unsigned int) 0x1 <<  3) // (TDES) PDC Read Buffer Full\r
-#define AT91C_TDES_TXBUFE     ((unsigned int) 0x1 <<  4) // (TDES) PDC Write Buffer Empty\r
-#define AT91C_TDES_URAD       ((unsigned int) 0x1 <<  8) // (TDES) Unspecified Register Access Detection\r
-// -------- TDES_IDR : (TDES Offset: 0x14) Interrupt Disable Register -------- \r
-// -------- TDES_IMR : (TDES Offset: 0x18) Interrupt Mask Register -------- \r
-// -------- TDES_ISR : (TDES Offset: 0x1c) Interrupt Status Register -------- \r
-#define AT91C_TDES_URAT       ((unsigned int) 0x3 << 12) // (TDES) Unspecified Register Access Type Status\r
-#define        AT91C_TDES_URAT_IN_DAT_WRITE_DATPROC ((unsigned int) 0x0 << 12) // (TDES) Input data register written during the data processing in PDC mode.\r
-#define        AT91C_TDES_URAT_OUT_DAT_READ_DATPROC ((unsigned int) 0x1 << 12) // (TDES) Output data register read during the data processing.\r
-#define        AT91C_TDES_URAT_MODEREG_WRITE_DATPROC ((unsigned int) 0x2 << 12) // (TDES) Mode register written during the data processing.\r
-#define        AT91C_TDES_URAT_WO_REG_READ          ((unsigned int) 0x3 << 12) // (TDES) Write-only register read access.\r
-\r
-// *****************************************************************************\r
-//               REGISTER ADDRESS DEFINITION FOR AT91SAM7X128\r
-// *****************************************************************************\r
-// ========== Register definition for SYS peripheral ========== \r
-// ========== Register definition for AIC peripheral ========== \r
-#define AT91C_AIC_IVR   ((AT91_REG *)  0xFFFFF100) // (AIC) IRQ Vector Register\r
-#define AT91C_AIC_SMR   ((AT91_REG *)  0xFFFFF000) // (AIC) Source Mode Register\r
-#define AT91C_AIC_FVR   ((AT91_REG *)  0xFFFFF104) // (AIC) FIQ Vector Register\r
-#define AT91C_AIC_DCR   ((AT91_REG *)  0xFFFFF138) // (AIC) Debug Control Register (Protect)\r
-#define AT91C_AIC_EOICR ((AT91_REG *)  0xFFFFF130) // (AIC) End of Interrupt Command Register\r
-#define AT91C_AIC_SVR   ((AT91_REG *)  0xFFFFF080) // (AIC) Source Vector Register\r
-#define AT91C_AIC_FFSR  ((AT91_REG *)  0xFFFFF148) // (AIC) Fast Forcing Status Register\r
-#define AT91C_AIC_ICCR  ((AT91_REG *)  0xFFFFF128) // (AIC) Interrupt Clear Command Register\r
-#define AT91C_AIC_ISR   ((AT91_REG *)  0xFFFFF108) // (AIC) Interrupt Status Register\r
-#define AT91C_AIC_IMR   ((AT91_REG *)  0xFFFFF110) // (AIC) Interrupt Mask Register\r
-#define AT91C_AIC_IPR   ((AT91_REG *)  0xFFFFF10C) // (AIC) Interrupt Pending Register\r
-#define AT91C_AIC_FFER  ((AT91_REG *)  0xFFFFF140) // (AIC) Fast Forcing Enable Register\r
-#define AT91C_AIC_IECR  ((AT91_REG *)  0xFFFFF120) // (AIC) Interrupt Enable Command Register\r
-#define AT91C_AIC_ISCR  ((AT91_REG *)  0xFFFFF12C) // (AIC) Interrupt Set Command Register\r
-#define AT91C_AIC_FFDR  ((AT91_REG *)  0xFFFFF144) // (AIC) Fast Forcing Disable Register\r
-#define AT91C_AIC_CISR  ((AT91_REG *)  0xFFFFF114) // (AIC) Core Interrupt Status Register\r
-#define AT91C_AIC_IDCR  ((AT91_REG *)  0xFFFFF124) // (AIC) Interrupt Disable Command Register\r
-#define AT91C_AIC_SPU   ((AT91_REG *)  0xFFFFF134) // (AIC) Spurious Vector Register\r
-// ========== Register definition for PDC_DBGU peripheral ========== \r
-#define AT91C_DBGU_TCR  ((AT91_REG *)  0xFFFFF30C) // (PDC_DBGU) Transmit Counter Register\r
-#define AT91C_DBGU_RNPR ((AT91_REG *)  0xFFFFF310) // (PDC_DBGU) Receive Next Pointer Register\r
-#define AT91C_DBGU_TNPR ((AT91_REG *)  0xFFFFF318) // (PDC_DBGU) Transmit Next Pointer Register\r
-#define AT91C_DBGU_TPR  ((AT91_REG *)  0xFFFFF308) // (PDC_DBGU) Transmit Pointer Register\r
-#define AT91C_DBGU_RPR  ((AT91_REG *)  0xFFFFF300) // (PDC_DBGU) Receive Pointer Register\r
-#define AT91C_DBGU_RCR  ((AT91_REG *)  0xFFFFF304) // (PDC_DBGU) Receive Counter Register\r
-#define AT91C_DBGU_RNCR ((AT91_REG *)  0xFFFFF314) // (PDC_DBGU) Receive Next Counter Register\r
-#define AT91C_DBGU_PTCR ((AT91_REG *)  0xFFFFF320) // (PDC_DBGU) PDC Transfer Control Register\r
-#define AT91C_DBGU_PTSR ((AT91_REG *)  0xFFFFF324) // (PDC_DBGU) PDC Transfer Status Register\r
-#define AT91C_DBGU_TNCR ((AT91_REG *)  0xFFFFF31C) // (PDC_DBGU) Transmit Next Counter Register\r
-// ========== Register definition for DBGU peripheral ========== \r
-#define AT91C_DBGU_EXID ((AT91_REG *)  0xFFFFF244) // (DBGU) Chip ID Extension Register\r
-#define AT91C_DBGU_BRGR ((AT91_REG *)  0xFFFFF220) // (DBGU) Baud Rate Generator Register\r
-#define AT91C_DBGU_IDR  ((AT91_REG *)  0xFFFFF20C) // (DBGU) Interrupt Disable Register\r
-#define AT91C_DBGU_CSR  ((AT91_REG *)  0xFFFFF214) // (DBGU) Channel Status Register\r
-#define AT91C_DBGU_CIDR ((AT91_REG *)  0xFFFFF240) // (DBGU) Chip ID Register\r
-#define AT91C_DBGU_MR   ((AT91_REG *)  0xFFFFF204) // (DBGU) Mode Register\r
-#define AT91C_DBGU_IMR  ((AT91_REG *)  0xFFFFF210) // (DBGU) Interrupt Mask Register\r
-#define AT91C_DBGU_CR   ((AT91_REG *)  0xFFFFF200) // (DBGU) Control Register\r
-#define AT91C_DBGU_FNTR ((AT91_REG *)  0xFFFFF248) // (DBGU) Force NTRST Register\r
-#define AT91C_DBGU_THR  ((AT91_REG *)  0xFFFFF21C) // (DBGU) Transmitter Holding Register\r
-#define AT91C_DBGU_RHR  ((AT91_REG *)  0xFFFFF218) // (DBGU) Receiver Holding Register\r
-#define AT91C_DBGU_IER  ((AT91_REG *)  0xFFFFF208) // (DBGU) Interrupt Enable Register\r
-// ========== Register definition for PIOA peripheral ========== \r
-#define AT91C_PIOA_ODR  ((AT91_REG *)  0xFFFFF414) // (PIOA) Output Disable Registerr\r
-#define AT91C_PIOA_SODR ((AT91_REG *)  0xFFFFF430) // (PIOA) Set Output Data Register\r
-#define AT91C_PIOA_ISR  ((AT91_REG *)  0xFFFFF44C) // (PIOA) Interrupt Status Register\r
-#define AT91C_PIOA_ABSR ((AT91_REG *)  0xFFFFF478) // (PIOA) AB Select Status Register\r
-#define AT91C_PIOA_IER  ((AT91_REG *)  0xFFFFF440) // (PIOA) Interrupt Enable Register\r
-#define AT91C_PIOA_PPUDR ((AT91_REG *)         0xFFFFF460) // (PIOA) Pull-up Disable Register\r
-#define AT91C_PIOA_IMR  ((AT91_REG *)  0xFFFFF448) // (PIOA) Interrupt Mask Register\r
-#define AT91C_PIOA_PER  ((AT91_REG *)  0xFFFFF400) // (PIOA) PIO Enable Register\r
-#define AT91C_PIOA_IFDR ((AT91_REG *)  0xFFFFF424) // (PIOA) Input Filter Disable Register\r
-#define AT91C_PIOA_OWDR ((AT91_REG *)  0xFFFFF4A4) // (PIOA) Output Write Disable Register\r
-#define AT91C_PIOA_MDSR ((AT91_REG *)  0xFFFFF458) // (PIOA) Multi-driver Status Register\r
-#define AT91C_PIOA_IDR  ((AT91_REG *)  0xFFFFF444) // (PIOA) Interrupt Disable Register\r
-#define AT91C_PIOA_ODSR ((AT91_REG *)  0xFFFFF438) // (PIOA) Output Data Status Register\r
-#define AT91C_PIOA_PPUSR ((AT91_REG *)         0xFFFFF468) // (PIOA) Pull-up Status Register\r
-#define AT91C_PIOA_OWSR ((AT91_REG *)  0xFFFFF4A8) // (PIOA) Output Write Status Register\r
-#define AT91C_PIOA_BSR  ((AT91_REG *)  0xFFFFF474) // (PIOA) Select B Register\r
-#define AT91C_PIOA_OWER ((AT91_REG *)  0xFFFFF4A0) // (PIOA) Output Write Enable Register\r
-#define AT91C_PIOA_IFER ((AT91_REG *)  0xFFFFF420) // (PIOA) Input Filter Enable Register\r
-#define AT91C_PIOA_PDSR ((AT91_REG *)  0xFFFFF43C) // (PIOA) Pin Data Status Register\r
-#define AT91C_PIOA_PPUER ((AT91_REG *)         0xFFFFF464) // (PIOA) Pull-up Enable Register\r
-#define AT91C_PIOA_OSR  ((AT91_REG *)  0xFFFFF418) // (PIOA) Output Status Register\r
-#define AT91C_PIOA_ASR  ((AT91_REG *)  0xFFFFF470) // (PIOA) Select A Register\r
-#define AT91C_PIOA_MDDR ((AT91_REG *)  0xFFFFF454) // (PIOA) Multi-driver Disable Register\r
-#define AT91C_PIOA_CODR ((AT91_REG *)  0xFFFFF434) // (PIOA) Clear Output Data Register\r
-#define AT91C_PIOA_MDER ((AT91_REG *)  0xFFFFF450) // (PIOA) Multi-driver Enable Register\r
-#define AT91C_PIOA_PDR  ((AT91_REG *)  0xFFFFF404) // (PIOA) PIO Disable Register\r
-#define AT91C_PIOA_IFSR ((AT91_REG *)  0xFFFFF428) // (PIOA) Input Filter Status Register\r
-#define AT91C_PIOA_OER  ((AT91_REG *)  0xFFFFF410) // (PIOA) Output Enable Register\r
-#define AT91C_PIOA_PSR  ((AT91_REG *)  0xFFFFF408) // (PIOA) PIO Status Register\r
-// ========== Register definition for PIOB peripheral ========== \r
-#define AT91C_PIOB_OWDR ((AT91_REG *)  0xFFFFF6A4) // (PIOB) Output Write Disable Register\r
-#define AT91C_PIOB_MDER ((AT91_REG *)  0xFFFFF650) // (PIOB) Multi-driver Enable Register\r
-#define AT91C_PIOB_PPUSR ((AT91_REG *)         0xFFFFF668) // (PIOB) Pull-up Status Register\r
-#define AT91C_PIOB_IMR  ((AT91_REG *)  0xFFFFF648) // (PIOB) Interrupt Mask Register\r
-#define AT91C_PIOB_ASR  ((AT91_REG *)  0xFFFFF670) // (PIOB) Select A Register\r
-#define AT91C_PIOB_PPUDR ((AT91_REG *)         0xFFFFF660) // (PIOB) Pull-up Disable Register\r
-#define AT91C_PIOB_PSR  ((AT91_REG *)  0xFFFFF608) // (PIOB) PIO Status Register\r
-#define AT91C_PIOB_IER  ((AT91_REG *)  0xFFFFF640) // (PIOB) Interrupt Enable Register\r
-#define AT91C_PIOB_CODR ((AT91_REG *)  0xFFFFF634) // (PIOB) Clear Output Data Register\r
-#define AT91C_PIOB_OWER ((AT91_REG *)  0xFFFFF6A0) // (PIOB) Output Write Enable Register\r
-#define AT91C_PIOB_ABSR ((AT91_REG *)  0xFFFFF678) // (PIOB) AB Select Status Register\r
-#define AT91C_PIOB_IFDR ((AT91_REG *)  0xFFFFF624) // (PIOB) Input Filter Disable Register\r
-#define AT91C_PIOB_PDSR ((AT91_REG *)  0xFFFFF63C) // (PIOB) Pin Data Status Register\r
-#define AT91C_PIOB_IDR  ((AT91_REG *)  0xFFFFF644) // (PIOB) Interrupt Disable Register\r
-#define AT91C_PIOB_OWSR ((AT91_REG *)  0xFFFFF6A8) // (PIOB) Output Write Status Register\r
-#define AT91C_PIOB_PDR  ((AT91_REG *)  0xFFFFF604) // (PIOB) PIO Disable Register\r
-#define AT91C_PIOB_ODR  ((AT91_REG *)  0xFFFFF614) // (PIOB) Output Disable Registerr\r
-#define AT91C_PIOB_IFSR ((AT91_REG *)  0xFFFFF628) // (PIOB) Input Filter Status Register\r
-#define AT91C_PIOB_PPUER ((AT91_REG *)         0xFFFFF664) // (PIOB) Pull-up Enable Register\r
-#define AT91C_PIOB_SODR ((AT91_REG *)  0xFFFFF630) // (PIOB) Set Output Data Register\r
-#define AT91C_PIOB_ISR  ((AT91_REG *)  0xFFFFF64C) // (PIOB) Interrupt Status Register\r
-#define AT91C_PIOB_ODSR ((AT91_REG *)  0xFFFFF638) // (PIOB) Output Data Status Register\r
-#define AT91C_PIOB_OSR  ((AT91_REG *)  0xFFFFF618) // (PIOB) Output Status Register\r
-#define AT91C_PIOB_MDSR ((AT91_REG *)  0xFFFFF658) // (PIOB) Multi-driver Status Register\r
-#define AT91C_PIOB_IFER ((AT91_REG *)  0xFFFFF620) // (PIOB) Input Filter Enable Register\r
-#define AT91C_PIOB_BSR  ((AT91_REG *)  0xFFFFF674) // (PIOB) Select B Register\r
-#define AT91C_PIOB_MDDR ((AT91_REG *)  0xFFFFF654) // (PIOB) Multi-driver Disable Register\r
-#define AT91C_PIOB_OER  ((AT91_REG *)  0xFFFFF610) // (PIOB) Output Enable Register\r
-#define AT91C_PIOB_PER  ((AT91_REG *)  0xFFFFF600) // (PIOB) PIO Enable Register\r
-// ========== Register definition for CKGR peripheral ========== \r
-#define AT91C_CKGR_MOR  ((AT91_REG *)  0xFFFFFC20) // (CKGR) Main Oscillator Register\r
-#define AT91C_CKGR_PLLR ((AT91_REG *)  0xFFFFFC2C) // (CKGR) PLL Register\r
-#define AT91C_CKGR_MCFR ((AT91_REG *)  0xFFFFFC24) // (CKGR) Main Clock  Frequency Register\r
-// ========== Register definition for PMC peripheral ========== \r
-#define AT91C_PMC_IDR   ((AT91_REG *)  0xFFFFFC64) // (PMC) Interrupt Disable Register\r
-#define AT91C_PMC_MOR   ((AT91_REG *)  0xFFFFFC20) // (PMC) Main Oscillator Register\r
-#define AT91C_PMC_PLLR  ((AT91_REG *)  0xFFFFFC2C) // (PMC) PLL Register\r
-#define AT91C_PMC_PCER  ((AT91_REG *)  0xFFFFFC10) // (PMC) Peripheral Clock Enable Register\r
-#define AT91C_PMC_PCKR  ((AT91_REG *)  0xFFFFFC40) // (PMC) Programmable Clock Register\r
-#define AT91C_PMC_MCKR  ((AT91_REG *)  0xFFFFFC30) // (PMC) Master Clock Register\r
-#define AT91C_PMC_SCDR  ((AT91_REG *)  0xFFFFFC04) // (PMC) System Clock Disable Register\r
-#define AT91C_PMC_PCDR  ((AT91_REG *)  0xFFFFFC14) // (PMC) Peripheral Clock Disable Register\r
-#define AT91C_PMC_SCSR  ((AT91_REG *)  0xFFFFFC08) // (PMC) System Clock Status Register\r
-#define AT91C_PMC_PCSR  ((AT91_REG *)  0xFFFFFC18) // (PMC) Peripheral Clock Status Register\r
-#define AT91C_PMC_MCFR  ((AT91_REG *)  0xFFFFFC24) // (PMC) Main Clock  Frequency Register\r
-#define AT91C_PMC_SCER  ((AT91_REG *)  0xFFFFFC00) // (PMC) System Clock Enable Register\r
-#define AT91C_PMC_IMR   ((AT91_REG *)  0xFFFFFC6C) // (PMC) Interrupt Mask Register\r
-#define AT91C_PMC_IER   ((AT91_REG *)  0xFFFFFC60) // (PMC) Interrupt Enable Register\r
-#define AT91C_PMC_SR    ((AT91_REG *)  0xFFFFFC68) // (PMC) Status Register\r
-// ========== Register definition for RSTC peripheral ========== \r
-#define AT91C_RSTC_RCR  ((AT91_REG *)  0xFFFFFD00) // (RSTC) Reset Control Register\r
-#define AT91C_RSTC_RMR  ((AT91_REG *)  0xFFFFFD08) // (RSTC) Reset Mode Register\r
-#define AT91C_RSTC_RSR  ((AT91_REG *)  0xFFFFFD04) // (RSTC) Reset Status Register\r
-// ========== Register definition for RTTC peripheral ========== \r
-#define AT91C_RTTC_RTSR ((AT91_REG *)  0xFFFFFD2C) // (RTTC) Real-time Status Register\r
-#define AT91C_RTTC_RTMR ((AT91_REG *)  0xFFFFFD20) // (RTTC) Real-time Mode Register\r
-#define AT91C_RTTC_RTVR ((AT91_REG *)  0xFFFFFD28) // (RTTC) Real-time Value Register\r
-#define AT91C_RTTC_RTAR ((AT91_REG *)  0xFFFFFD24) // (RTTC) Real-time Alarm Register\r
-// ========== Register definition for PITC peripheral ========== \r
-#define AT91C_PITC_PIVR ((AT91_REG *)  0xFFFFFD38) // (PITC) Period Interval Value Register\r
-#define AT91C_PITC_PISR ((AT91_REG *)  0xFFFFFD34) // (PITC) Period Interval Status Register\r
-#define AT91C_PITC_PIIR ((AT91_REG *)  0xFFFFFD3C) // (PITC) Period Interval Image Register\r
-#define AT91C_PITC_PIMR ((AT91_REG *)  0xFFFFFD30) // (PITC) Period Interval Mode Register\r
-// ========== Register definition for WDTC peripheral ========== \r
-#define AT91C_WDTC_WDCR ((AT91_REG *)  0xFFFFFD40) // (WDTC) Watchdog Control Register\r
-#define AT91C_WDTC_WDSR ((AT91_REG *)  0xFFFFFD48) // (WDTC) Watchdog Status Register\r
-#define AT91C_WDTC_WDMR ((AT91_REG *)  0xFFFFFD44) // (WDTC) Watchdog Mode Register\r
-// ========== Register definition for VREG peripheral ========== \r
-#define AT91C_VREG_MR   ((AT91_REG *)  0xFFFFFD60) // (VREG) Voltage Regulator Mode Register\r
-// ========== Register definition for MC peripheral ========== \r
-#define AT91C_MC_ASR    ((AT91_REG *)  0xFFFFFF04) // (MC) MC Abort Status Register\r
-#define AT91C_MC_RCR    ((AT91_REG *)  0xFFFFFF00) // (MC) MC Remap Control Register\r
-#define AT91C_MC_FCR    ((AT91_REG *)  0xFFFFFF64) // (MC) MC Flash Command Register\r
-#define AT91C_MC_AASR   ((AT91_REG *)  0xFFFFFF08) // (MC) MC Abort Address Status Register\r
-#define AT91C_MC_FSR    ((AT91_REG *)  0xFFFFFF68) // (MC) MC Flash Status Register\r
-#define AT91C_MC_FMR    ((AT91_REG *)  0xFFFFFF60) // (MC) MC Flash Mode Register\r
-// ========== Register definition for PDC_SPI1 peripheral ========== \r
-#define AT91C_SPI1_PTCR ((AT91_REG *)  0xFFFE4120) // (PDC_SPI1) PDC Transfer Control Register\r
-#define AT91C_SPI1_RPR  ((AT91_REG *)  0xFFFE4100) // (PDC_SPI1) Receive Pointer Register\r
-#define AT91C_SPI1_TNCR ((AT91_REG *)  0xFFFE411C) // (PDC_SPI1) Transmit Next Counter Register\r
-#define AT91C_SPI1_TPR  ((AT91_REG *)  0xFFFE4108) // (PDC_SPI1) Transmit Pointer Register\r
-#define AT91C_SPI1_TNPR ((AT91_REG *)  0xFFFE4118) // (PDC_SPI1) Transmit Next Pointer Register\r
-#define AT91C_SPI1_TCR  ((AT91_REG *)  0xFFFE410C) // (PDC_SPI1) Transmit Counter Register\r
-#define AT91C_SPI1_RCR  ((AT91_REG *)  0xFFFE4104) // (PDC_SPI1) Receive Counter Register\r
-#define AT91C_SPI1_RNPR ((AT91_REG *)  0xFFFE4110) // (PDC_SPI1) Receive Next Pointer Register\r
-#define AT91C_SPI1_RNCR ((AT91_REG *)  0xFFFE4114) // (PDC_SPI1) Receive Next Counter Register\r
-#define AT91C_SPI1_PTSR ((AT91_REG *)  0xFFFE4124) // (PDC_SPI1) PDC Transfer Status Register\r
-// ========== Register definition for SPI1 peripheral ========== \r
-#define AT91C_SPI1_IMR  ((AT91_REG *)  0xFFFE401C) // (SPI1) Interrupt Mask Register\r
-#define AT91C_SPI1_IER  ((AT91_REG *)  0xFFFE4014) // (SPI1) Interrupt Enable Register\r
-#define AT91C_SPI1_MR   ((AT91_REG *)  0xFFFE4004) // (SPI1) Mode Register\r
-#define AT91C_SPI1_RDR  ((AT91_REG *)  0xFFFE4008) // (SPI1) Receive Data Register\r
-#define AT91C_SPI1_IDR  ((AT91_REG *)  0xFFFE4018) // (SPI1) Interrupt Disable Register\r
-#define AT91C_SPI1_SR   ((AT91_REG *)  0xFFFE4010) // (SPI1) Status Register\r
-#define AT91C_SPI1_TDR  ((AT91_REG *)  0xFFFE400C) // (SPI1) Transmit Data Register\r
-#define AT91C_SPI1_CR   ((AT91_REG *)  0xFFFE4000) // (SPI1) Control Register\r
-#define AT91C_SPI1_CSR  ((AT91_REG *)  0xFFFE4030) // (SPI1) Chip Select Register\r
-// ========== Register definition for PDC_SPI0 peripheral ========== \r
-#define AT91C_SPI0_PTCR ((AT91_REG *)  0xFFFE0120) // (PDC_SPI0) PDC Transfer Control Register\r
-#define AT91C_SPI0_TPR  ((AT91_REG *)  0xFFFE0108) // (PDC_SPI0) Transmit Pointer Register\r
-#define AT91C_SPI0_TCR  ((AT91_REG *)  0xFFFE010C) // (PDC_SPI0) Transmit Counter Register\r
-#define AT91C_SPI0_RCR  ((AT91_REG *)  0xFFFE0104) // (PDC_SPI0) Receive Counter Register\r
-#define AT91C_SPI0_PTSR ((AT91_REG *)  0xFFFE0124) // (PDC_SPI0) PDC Transfer Status Register\r
-#define AT91C_SPI0_RNPR ((AT91_REG *)  0xFFFE0110) // (PDC_SPI0) Receive Next Pointer Register\r
-#define AT91C_SPI0_RPR  ((AT91_REG *)  0xFFFE0100) // (PDC_SPI0) Receive Pointer Register\r
-#define AT91C_SPI0_TNCR ((AT91_REG *)  0xFFFE011C) // (PDC_SPI0) Transmit Next Counter Register\r
-#define AT91C_SPI0_RNCR ((AT91_REG *)  0xFFFE0114) // (PDC_SPI0) Receive Next Counter Register\r
-#define AT91C_SPI0_TNPR ((AT91_REG *)  0xFFFE0118) // (PDC_SPI0) Transmit Next Pointer Register\r
-// ========== Register definition for SPI0 peripheral ========== \r
-#define AT91C_SPI0_IER  ((AT91_REG *)  0xFFFE0014) // (SPI0) Interrupt Enable Register\r
-#define AT91C_SPI0_SR   ((AT91_REG *)  0xFFFE0010) // (SPI0) Status Register\r
-#define AT91C_SPI0_IDR  ((AT91_REG *)  0xFFFE0018) // (SPI0) Interrupt Disable Register\r
-#define AT91C_SPI0_CR   ((AT91_REG *)  0xFFFE0000) // (SPI0) Control Register\r
-#define AT91C_SPI0_MR   ((AT91_REG *)  0xFFFE0004) // (SPI0) Mode Register\r
-#define AT91C_SPI0_IMR  ((AT91_REG *)  0xFFFE001C) // (SPI0) Interrupt Mask Register\r
-#define AT91C_SPI0_TDR  ((AT91_REG *)  0xFFFE000C) // (SPI0) Transmit Data Register\r
-#define AT91C_SPI0_RDR  ((AT91_REG *)  0xFFFE0008) // (SPI0) Receive Data Register\r
-#define AT91C_SPI0_CSR  ((AT91_REG *)  0xFFFE0030) // (SPI0) Chip Select Register\r
-// ========== Register definition for PDC_US1 peripheral ========== \r
-#define AT91C_US1_RNCR  ((AT91_REG *)  0xFFFC4114) // (PDC_US1) Receive Next Counter Register\r
-#define AT91C_US1_PTCR  ((AT91_REG *)  0xFFFC4120) // (PDC_US1) PDC Transfer Control Register\r
-#define AT91C_US1_TCR   ((AT91_REG *)  0xFFFC410C) // (PDC_US1) Transmit Counter Register\r
-#define AT91C_US1_PTSR  ((AT91_REG *)  0xFFFC4124) // (PDC_US1) PDC Transfer Status Register\r
-#define AT91C_US1_TNPR  ((AT91_REG *)  0xFFFC4118) // (PDC_US1) Transmit Next Pointer Register\r
-#define AT91C_US1_RCR   ((AT91_REG *)  0xFFFC4104) // (PDC_US1) Receive Counter Register\r
-#define AT91C_US1_RNPR  ((AT91_REG *)  0xFFFC4110) // (PDC_US1) Receive Next Pointer Register\r
-#define AT91C_US1_RPR   ((AT91_REG *)  0xFFFC4100) // (PDC_US1) Receive Pointer Register\r
-#define AT91C_US1_TNCR  ((AT91_REG *)  0xFFFC411C) // (PDC_US1) Transmit Next Counter Register\r
-#define AT91C_US1_TPR   ((AT91_REG *)  0xFFFC4108) // (PDC_US1) Transmit Pointer Register\r
-// ========== Register definition for US1 peripheral ========== \r
-#define AT91C_US1_IF    ((AT91_REG *)  0xFFFC404C) // (US1) IRDA_FILTER Register\r
-#define AT91C_US1_NER   ((AT91_REG *)  0xFFFC4044) // (US1) Nb Errors Register\r
-#define AT91C_US1_RTOR  ((AT91_REG *)  0xFFFC4024) // (US1) Receiver Time-out Register\r
-#define AT91C_US1_CSR   ((AT91_REG *)  0xFFFC4014) // (US1) Channel Status Register\r
-#define AT91C_US1_IDR   ((AT91_REG *)  0xFFFC400C) // (US1) Interrupt Disable Register\r
-#define AT91C_US1_IER   ((AT91_REG *)  0xFFFC4008) // (US1) Interrupt Enable Register\r
-#define AT91C_US1_THR   ((AT91_REG *)  0xFFFC401C) // (US1) Transmitter Holding Register\r
-#define AT91C_US1_TTGR  ((AT91_REG *)  0xFFFC4028) // (US1) Transmitter Time-guard Register\r
-#define AT91C_US1_RHR   ((AT91_REG *)  0xFFFC4018) // (US1) Receiver Holding Register\r
-#define AT91C_US1_BRGR  ((AT91_REG *)  0xFFFC4020) // (US1) Baud Rate Generator Register\r
-#define AT91C_US1_IMR   ((AT91_REG *)  0xFFFC4010) // (US1) Interrupt Mask Register\r
-#define AT91C_US1_FIDI  ((AT91_REG *)  0xFFFC4040) // (US1) FI_DI_Ratio Register\r
-#define AT91C_US1_CR    ((AT91_REG *)  0xFFFC4000) // (US1) Control Register\r
-#define AT91C_US1_MR    ((AT91_REG *)  0xFFFC4004) // (US1) Mode Register\r
-// ========== Register definition for PDC_US0 peripheral ========== \r
-#define AT91C_US0_TNPR  ((AT91_REG *)  0xFFFC0118) // (PDC_US0) Transmit Next Pointer Register\r
-#define AT91C_US0_RNPR  ((AT91_REG *)  0xFFFC0110) // (PDC_US0) Receive Next Pointer Register\r
-#define AT91C_US0_TCR   ((AT91_REG *)  0xFFFC010C) // (PDC_US0) Transmit Counter Register\r
-#define AT91C_US0_PTCR  ((AT91_REG *)  0xFFFC0120) // (PDC_US0) PDC Transfer Control Register\r
-#define AT91C_US0_PTSR  ((AT91_REG *)  0xFFFC0124) // (PDC_US0) PDC Transfer Status Register\r
-#define AT91C_US0_TNCR  ((AT91_REG *)  0xFFFC011C) // (PDC_US0) Transmit Next Counter Register\r
-#define AT91C_US0_TPR   ((AT91_REG *)  0xFFFC0108) // (PDC_US0) Transmit Pointer Register\r
-#define AT91C_US0_RCR   ((AT91_REG *)  0xFFFC0104) // (PDC_US0) Receive Counter Register\r
-#define AT91C_US0_RPR   ((AT91_REG *)  0xFFFC0100) // (PDC_US0) Receive Pointer Register\r
-#define AT91C_US0_RNCR  ((AT91_REG *)  0xFFFC0114) // (PDC_US0) Receive Next Counter Register\r
-// ========== Register definition for US0 peripheral ========== \r
-#define AT91C_US0_BRGR  ((AT91_REG *)  0xFFFC0020) // (US0) Baud Rate Generator Register\r
-#define AT91C_US0_NER   ((AT91_REG *)  0xFFFC0044) // (US0) Nb Errors Register\r
-#define AT91C_US0_CR    ((AT91_REG *)  0xFFFC0000) // (US0) Control Register\r
-#define AT91C_US0_IMR   ((AT91_REG *)  0xFFFC0010) // (US0) Interrupt Mask Register\r
-#define AT91C_US0_FIDI  ((AT91_REG *)  0xFFFC0040) // (US0) FI_DI_Ratio Register\r
-#define AT91C_US0_TTGR  ((AT91_REG *)  0xFFFC0028) // (US0) Transmitter Time-guard Register\r
-#define AT91C_US0_MR    ((AT91_REG *)  0xFFFC0004) // (US0) Mode Register\r
-#define AT91C_US0_RTOR  ((AT91_REG *)  0xFFFC0024) // (US0) Receiver Time-out Register\r
-#define AT91C_US0_CSR   ((AT91_REG *)  0xFFFC0014) // (US0) Channel Status Register\r
-#define AT91C_US0_RHR   ((AT91_REG *)  0xFFFC0018) // (US0) Receiver Holding Register\r
-#define AT91C_US0_IDR   ((AT91_REG *)  0xFFFC000C) // (US0) Interrupt Disable Register\r
-#define AT91C_US0_THR   ((AT91_REG *)  0xFFFC001C) // (US0) Transmitter Holding Register\r
-#define AT91C_US0_IF    ((AT91_REG *)  0xFFFC004C) // (US0) IRDA_FILTER Register\r
-#define AT91C_US0_IER   ((AT91_REG *)  0xFFFC0008) // (US0) Interrupt Enable Register\r
-// ========== Register definition for PDC_SSC peripheral ========== \r
-#define AT91C_SSC_TNCR  ((AT91_REG *)  0xFFFD411C) // (PDC_SSC) Transmit Next Counter Register\r
-#define AT91C_SSC_RPR   ((AT91_REG *)  0xFFFD4100) // (PDC_SSC) Receive Pointer Register\r
-#define AT91C_SSC_RNCR  ((AT91_REG *)  0xFFFD4114) // (PDC_SSC) Receive Next Counter Register\r
-#define AT91C_SSC_TPR   ((AT91_REG *)  0xFFFD4108) // (PDC_SSC) Transmit Pointer Register\r
-#define AT91C_SSC_PTCR  ((AT91_REG *)  0xFFFD4120) // (PDC_SSC) PDC Transfer Control Register\r
-#define AT91C_SSC_TCR   ((AT91_REG *)  0xFFFD410C) // (PDC_SSC) Transmit Counter Register\r
-#define AT91C_SSC_RCR   ((AT91_REG *)  0xFFFD4104) // (PDC_SSC) Receive Counter Register\r
-#define AT91C_SSC_RNPR  ((AT91_REG *)  0xFFFD4110) // (PDC_SSC) Receive Next Pointer Register\r
-#define AT91C_SSC_TNPR  ((AT91_REG *)  0xFFFD4118) // (PDC_SSC) Transmit Next Pointer Register\r
-#define AT91C_SSC_PTSR  ((AT91_REG *)  0xFFFD4124) // (PDC_SSC) PDC Transfer Status Register\r
-// ========== Register definition for SSC peripheral ========== \r
-#define AT91C_SSC_RHR   ((AT91_REG *)  0xFFFD4020) // (SSC) Receive Holding Register\r
-#define AT91C_SSC_RSHR  ((AT91_REG *)  0xFFFD4030) // (SSC) Receive Sync Holding Register\r
-#define AT91C_SSC_TFMR  ((AT91_REG *)  0xFFFD401C) // (SSC) Transmit Frame Mode Register\r
-#define AT91C_SSC_IDR   ((AT91_REG *)  0xFFFD4048) // (SSC) Interrupt Disable Register\r
-#define AT91C_SSC_THR   ((AT91_REG *)  0xFFFD4024) // (SSC) Transmit Holding Register\r
-#define AT91C_SSC_RCMR  ((AT91_REG *)  0xFFFD4010) // (SSC) Receive Clock ModeRegister\r
-#define AT91C_SSC_IER   ((AT91_REG *)  0xFFFD4044) // (SSC) Interrupt Enable Register\r
-#define AT91C_SSC_TSHR  ((AT91_REG *)  0xFFFD4034) // (SSC) Transmit Sync Holding Register\r
-#define AT91C_SSC_SR    ((AT91_REG *)  0xFFFD4040) // (SSC) Status Register\r
-#define AT91C_SSC_CMR   ((AT91_REG *)  0xFFFD4004) // (SSC) Clock Mode Register\r
-#define AT91C_SSC_TCMR  ((AT91_REG *)  0xFFFD4018) // (SSC) Transmit Clock Mode Register\r
-#define AT91C_SSC_CR    ((AT91_REG *)  0xFFFD4000) // (SSC) Control Register\r
-#define AT91C_SSC_IMR   ((AT91_REG *)  0xFFFD404C) // (SSC) Interrupt Mask Register\r
-#define AT91C_SSC_RFMR  ((AT91_REG *)  0xFFFD4014) // (SSC) Receive Frame Mode Register\r
-// ========== Register definition for TWI peripheral ========== \r
-#define AT91C_TWI_IER   ((AT91_REG *)  0xFFFB8024) // (TWI) Interrupt Enable Register\r
-#define AT91C_TWI_CR    ((AT91_REG *)  0xFFFB8000) // (TWI) Control Register\r
-#define AT91C_TWI_SR    ((AT91_REG *)  0xFFFB8020) // (TWI) Status Register\r
-#define AT91C_TWI_IMR   ((AT91_REG *)  0xFFFB802C) // (TWI) Interrupt Mask Register\r
-#define AT91C_TWI_THR   ((AT91_REG *)  0xFFFB8034) // (TWI) Transmit Holding Register\r
-#define AT91C_TWI_IDR   ((AT91_REG *)  0xFFFB8028) // (TWI) Interrupt Disable Register\r
-#define AT91C_TWI_IADR  ((AT91_REG *)  0xFFFB800C) // (TWI) Internal Address Register\r
-#define AT91C_TWI_MMR   ((AT91_REG *)  0xFFFB8004) // (TWI) Master Mode Register\r
-#define AT91C_TWI_CWGR  ((AT91_REG *)  0xFFFB8010) // (TWI) Clock Waveform Generator Register\r
-#define AT91C_TWI_RHR   ((AT91_REG *)  0xFFFB8030) // (TWI) Receive Holding Register\r
-// ========== Register definition for PWMC_CH3 peripheral ========== \r
-#define AT91C_PWMC_CH3_CUPDR ((AT91_REG *)     0xFFFCC270) // (PWMC_CH3) Channel Update Register\r
-#define AT91C_PWMC_CH3_Reserved ((AT91_REG *)  0xFFFCC274) // (PWMC_CH3) Reserved\r
-#define AT91C_PWMC_CH3_CPRDR ((AT91_REG *)     0xFFFCC268) // (PWMC_CH3) Channel Period Register\r
-#define AT91C_PWMC_CH3_CDTYR ((AT91_REG *)     0xFFFCC264) // (PWMC_CH3) Channel Duty Cycle Register\r
-#define AT91C_PWMC_CH3_CCNTR ((AT91_REG *)     0xFFFCC26C) // (PWMC_CH3) Channel Counter Register\r
-#define AT91C_PWMC_CH3_CMR ((AT91_REG *)       0xFFFCC260) // (PWMC_CH3) Channel Mode Register\r
-// ========== Register definition for PWMC_CH2 peripheral ========== \r
-#define AT91C_PWMC_CH2_Reserved ((AT91_REG *)  0xFFFCC254) // (PWMC_CH2) Reserved\r
-#define AT91C_PWMC_CH2_CMR ((AT91_REG *)       0xFFFCC240) // (PWMC_CH2) Channel Mode Register\r
-#define AT91C_PWMC_CH2_CCNTR ((AT91_REG *)     0xFFFCC24C) // (PWMC_CH2) Channel Counter Register\r
-#define AT91C_PWMC_CH2_CPRDR ((AT91_REG *)     0xFFFCC248) // (PWMC_CH2) Channel Period Register\r
-#define AT91C_PWMC_CH2_CUPDR ((AT91_REG *)     0xFFFCC250) // (PWMC_CH2) Channel Update Register\r
-#define AT91C_PWMC_CH2_CDTYR ((AT91_REG *)     0xFFFCC244) // (PWMC_CH2) Channel Duty Cycle Register\r
-// ========== Register definition for PWMC_CH1 peripheral ========== \r
-#define AT91C_PWMC_CH1_Reserved ((AT91_REG *)  0xFFFCC234) // (PWMC_CH1) Reserved\r
-#define AT91C_PWMC_CH1_CUPDR ((AT91_REG *)     0xFFFCC230) // (PWMC_CH1) Channel Update Register\r
-#define AT91C_PWMC_CH1_CPRDR ((AT91_REG *)     0xFFFCC228) // (PWMC_CH1) Channel Period Register\r
-#define AT91C_PWMC_CH1_CCNTR ((AT91_REG *)     0xFFFCC22C) // (PWMC_CH1) Channel Counter Register\r
-#define AT91C_PWMC_CH1_CDTYR ((AT91_REG *)     0xFFFCC224) // (PWMC_CH1) Channel Duty Cycle Register\r
-#define AT91C_PWMC_CH1_CMR ((AT91_REG *)       0xFFFCC220) // (PWMC_CH1) Channel Mode Register\r
-// ========== Register definition for PWMC_CH0 peripheral ========== \r
-#define AT91C_PWMC_CH0_Reserved ((AT91_REG *)  0xFFFCC214) // (PWMC_CH0) Reserved\r
-#define AT91C_PWMC_CH0_CPRDR ((AT91_REG *)     0xFFFCC208) // (PWMC_CH0) Channel Period Register\r
-#define AT91C_PWMC_CH0_CDTYR ((AT91_REG *)     0xFFFCC204) // (PWMC_CH0) Channel Duty Cycle Register\r
-#define AT91C_PWMC_CH0_CMR ((AT91_REG *)       0xFFFCC200) // (PWMC_CH0) Channel Mode Register\r
-#define AT91C_PWMC_CH0_CUPDR ((AT91_REG *)     0xFFFCC210) // (PWMC_CH0) Channel Update Register\r
-#define AT91C_PWMC_CH0_CCNTR ((AT91_REG *)     0xFFFCC20C) // (PWMC_CH0) Channel Counter Register\r
-// ========== Register definition for PWMC peripheral ========== \r
-#define AT91C_PWMC_IDR  ((AT91_REG *)  0xFFFCC014) // (PWMC) PWMC Interrupt Disable Register\r
-#define AT91C_PWMC_DIS  ((AT91_REG *)  0xFFFCC008) // (PWMC) PWMC Disable Register\r
-#define AT91C_PWMC_IER  ((AT91_REG *)  0xFFFCC010) // (PWMC) PWMC Interrupt Enable Register\r
-#define AT91C_PWMC_VR   ((AT91_REG *)  0xFFFCC0FC) // (PWMC) PWMC Version Register\r
-#define AT91C_PWMC_ISR  ((AT91_REG *)  0xFFFCC01C) // (PWMC) PWMC Interrupt Status Register\r
-#define AT91C_PWMC_SR   ((AT91_REG *)  0xFFFCC00C) // (PWMC) PWMC Status Register\r
-#define AT91C_PWMC_IMR  ((AT91_REG *)  0xFFFCC018) // (PWMC) PWMC Interrupt Mask Register\r
-#define AT91C_PWMC_MR   ((AT91_REG *)  0xFFFCC000) // (PWMC) PWMC Mode Register\r
-#define AT91C_PWMC_ENA  ((AT91_REG *)  0xFFFCC004) // (PWMC) PWMC Enable Register\r
-// ========== Register definition for UDP peripheral ========== \r
-#define AT91C_UDP_IMR   ((AT91_REG *)  0xFFFB0018) // (UDP) Interrupt Mask Register\r
-#define AT91C_UDP_FADDR ((AT91_REG *)  0xFFFB0008) // (UDP) Function Address Register\r
-#define AT91C_UDP_NUM   ((AT91_REG *)  0xFFFB0000) // (UDP) Frame Number Register\r
-#define AT91C_UDP_FDR   ((AT91_REG *)  0xFFFB0050) // (UDP) Endpoint FIFO Data Register\r
-#define AT91C_UDP_ISR   ((AT91_REG *)  0xFFFB001C) // (UDP) Interrupt Status Register\r
-#define AT91C_UDP_CSR   ((AT91_REG *)  0xFFFB0030) // (UDP) Endpoint Control and Status Register\r
-#define AT91C_UDP_IDR   ((AT91_REG *)  0xFFFB0014) // (UDP) Interrupt Disable Register\r
-#define AT91C_UDP_ICR   ((AT91_REG *)  0xFFFB0020) // (UDP) Interrupt Clear Register\r
-#define AT91C_UDP_RSTEP ((AT91_REG *)  0xFFFB0028) // (UDP) Reset Endpoint Register\r
-#define AT91C_UDP_TXVC  ((AT91_REG *)  0xFFFB0074) // (UDP) Transceiver Control Register\r
-#define AT91C_UDP_GLBSTATE ((AT91_REG *)       0xFFFB0004) // (UDP) Global State Register\r
-#define AT91C_UDP_IER   ((AT91_REG *)  0xFFFB0010) // (UDP) Interrupt Enable Register\r
-// ========== Register definition for TC0 peripheral ========== \r
-#define AT91C_TC0_SR    ((AT91_REG *)  0xFFFA0020) // (TC0) Status Register\r
-#define AT91C_TC0_RC    ((AT91_REG *)  0xFFFA001C) // (TC0) Register C\r
-#define AT91C_TC0_RB    ((AT91_REG *)  0xFFFA0018) // (TC0) Register B\r
-#define AT91C_TC0_CCR   ((AT91_REG *)  0xFFFA0000) // (TC0) Channel Control Register\r
-#define AT91C_TC0_CMR   ((AT91_REG *)  0xFFFA0004) // (TC0) Channel Mode Register (Capture Mode / Waveform Mode)\r
-#define AT91C_TC0_IER   ((AT91_REG *)  0xFFFA0024) // (TC0) Interrupt Enable Register\r
-#define AT91C_TC0_RA    ((AT91_REG *)  0xFFFA0014) // (TC0) Register A\r
-#define AT91C_TC0_IDR   ((AT91_REG *)  0xFFFA0028) // (TC0) Interrupt Disable Register\r
-#define AT91C_TC0_CV    ((AT91_REG *)  0xFFFA0010) // (TC0) Counter Value\r
-#define AT91C_TC0_IMR   ((AT91_REG *)  0xFFFA002C) // (TC0) Interrupt Mask Register\r
-// ========== Register definition for TC1 peripheral ========== \r
-#define AT91C_TC1_RB    ((AT91_REG *)  0xFFFA0058) // (TC1) Register B\r
-#define AT91C_TC1_CCR   ((AT91_REG *)  0xFFFA0040) // (TC1) Channel Control Register\r
-#define AT91C_TC1_IER   ((AT91_REG *)  0xFFFA0064) // (TC1) Interrupt Enable Register\r
-#define AT91C_TC1_IDR   ((AT91_REG *)  0xFFFA0068) // (TC1) Interrupt Disable Register\r
-#define AT91C_TC1_SR    ((AT91_REG *)  0xFFFA0060) // (TC1) Status Register\r
-#define AT91C_TC1_CMR   ((AT91_REG *)  0xFFFA0044) // (TC1) Channel Mode Register (Capture Mode / Waveform Mode)\r
-#define AT91C_TC1_RA    ((AT91_REG *)  0xFFFA0054) // (TC1) Register A\r
-#define AT91C_TC1_RC    ((AT91_REG *)  0xFFFA005C) // (TC1) Register C\r
-#define AT91C_TC1_IMR   ((AT91_REG *)  0xFFFA006C) // (TC1) Interrupt Mask Register\r
-#define AT91C_TC1_CV    ((AT91_REG *)  0xFFFA0050) // (TC1) Counter Value\r
-// ========== Register definition for TC2 peripheral ========== \r
-#define AT91C_TC2_CMR   ((AT91_REG *)  0xFFFA0084) // (TC2) Channel Mode Register (Capture Mode / Waveform Mode)\r
-#define AT91C_TC2_CCR   ((AT91_REG *)  0xFFFA0080) // (TC2) Channel Control Register\r
-#define AT91C_TC2_CV    ((AT91_REG *)  0xFFFA0090) // (TC2) Counter Value\r
-#define AT91C_TC2_RA    ((AT91_REG *)  0xFFFA0094) // (TC2) Register A\r
-#define AT91C_TC2_RB    ((AT91_REG *)  0xFFFA0098) // (TC2) Register B\r
-#define AT91C_TC2_IDR   ((AT91_REG *)  0xFFFA00A8) // (TC2) Interrupt Disable Register\r
-#define AT91C_TC2_IMR   ((AT91_REG *)  0xFFFA00AC) // (TC2) Interrupt Mask Register\r
-#define AT91C_TC2_RC    ((AT91_REG *)  0xFFFA009C) // (TC2) Register C\r
-#define AT91C_TC2_IER   ((AT91_REG *)  0xFFFA00A4) // (TC2) Interrupt Enable Register\r
-#define AT91C_TC2_SR    ((AT91_REG *)  0xFFFA00A0) // (TC2) Status Register\r
-// ========== Register definition for TCB peripheral ========== \r
-#define AT91C_TCB_BMR   ((AT91_REG *)  0xFFFA00C4) // (TCB) TC Block Mode Register\r
-#define AT91C_TCB_BCR   ((AT91_REG *)  0xFFFA00C0) // (TCB) TC Block Control Register\r
-// ========== Register definition for CAN_MB0 peripheral ========== \r
-#define AT91C_CAN_MB0_MDL ((AT91_REG *)        0xFFFD0214) // (CAN_MB0) MailBox Data Low Register\r
-#define AT91C_CAN_MB0_MAM ((AT91_REG *)        0xFFFD0204) // (CAN_MB0) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB0_MCR ((AT91_REG *)        0xFFFD021C) // (CAN_MB0) MailBox Control Register\r
-#define AT91C_CAN_MB0_MID ((AT91_REG *)        0xFFFD0208) // (CAN_MB0) MailBox ID Register\r
-#define AT91C_CAN_MB0_MSR ((AT91_REG *)        0xFFFD0210) // (CAN_MB0) MailBox Status Register\r
-#define AT91C_CAN_MB0_MFID ((AT91_REG *)       0xFFFD020C) // (CAN_MB0) MailBox Family ID Register\r
-#define AT91C_CAN_MB0_MDH ((AT91_REG *)        0xFFFD0218) // (CAN_MB0) MailBox Data High Register\r
-#define AT91C_CAN_MB0_MMR ((AT91_REG *)        0xFFFD0200) // (CAN_MB0) MailBox Mode Register\r
-// ========== Register definition for CAN_MB1 peripheral ========== \r
-#define AT91C_CAN_MB1_MDL ((AT91_REG *)        0xFFFD0234) // (CAN_MB1) MailBox Data Low Register\r
-#define AT91C_CAN_MB1_MID ((AT91_REG *)        0xFFFD0228) // (CAN_MB1) MailBox ID Register\r
-#define AT91C_CAN_MB1_MMR ((AT91_REG *)        0xFFFD0220) // (CAN_MB1) MailBox Mode Register\r
-#define AT91C_CAN_MB1_MSR ((AT91_REG *)        0xFFFD0230) // (CAN_MB1) MailBox Status Register\r
-#define AT91C_CAN_MB1_MAM ((AT91_REG *)        0xFFFD0224) // (CAN_MB1) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB1_MDH ((AT91_REG *)        0xFFFD0238) // (CAN_MB1) MailBox Data High Register\r
-#define AT91C_CAN_MB1_MCR ((AT91_REG *)        0xFFFD023C) // (CAN_MB1) MailBox Control Register\r
-#define AT91C_CAN_MB1_MFID ((AT91_REG *)       0xFFFD022C) // (CAN_MB1) MailBox Family ID Register\r
-// ========== Register definition for CAN_MB2 peripheral ========== \r
-#define AT91C_CAN_MB2_MCR ((AT91_REG *)        0xFFFD025C) // (CAN_MB2) MailBox Control Register\r
-#define AT91C_CAN_MB2_MDH ((AT91_REG *)        0xFFFD0258) // (CAN_MB2) MailBox Data High Register\r
-#define AT91C_CAN_MB2_MID ((AT91_REG *)        0xFFFD0248) // (CAN_MB2) MailBox ID Register\r
-#define AT91C_CAN_MB2_MDL ((AT91_REG *)        0xFFFD0254) // (CAN_MB2) MailBox Data Low Register\r
-#define AT91C_CAN_MB2_MMR ((AT91_REG *)        0xFFFD0240) // (CAN_MB2) MailBox Mode Register\r
-#define AT91C_CAN_MB2_MAM ((AT91_REG *)        0xFFFD0244) // (CAN_MB2) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB2_MFID ((AT91_REG *)       0xFFFD024C) // (CAN_MB2) MailBox Family ID Register\r
-#define AT91C_CAN_MB2_MSR ((AT91_REG *)        0xFFFD0250) // (CAN_MB2) MailBox Status Register\r
-// ========== Register definition for CAN_MB3 peripheral ========== \r
-#define AT91C_CAN_MB3_MFID ((AT91_REG *)       0xFFFD026C) // (CAN_MB3) MailBox Family ID Register\r
-#define AT91C_CAN_MB3_MAM ((AT91_REG *)        0xFFFD0264) // (CAN_MB3) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB3_MID ((AT91_REG *)        0xFFFD0268) // (CAN_MB3) MailBox ID Register\r
-#define AT91C_CAN_MB3_MCR ((AT91_REG *)        0xFFFD027C) // (CAN_MB3) MailBox Control Register\r
-#define AT91C_CAN_MB3_MMR ((AT91_REG *)        0xFFFD0260) // (CAN_MB3) MailBox Mode Register\r
-#define AT91C_CAN_MB3_MSR ((AT91_REG *)        0xFFFD0270) // (CAN_MB3) MailBox Status Register\r
-#define AT91C_CAN_MB3_MDL ((AT91_REG *)        0xFFFD0274) // (CAN_MB3) MailBox Data Low Register\r
-#define AT91C_CAN_MB3_MDH ((AT91_REG *)        0xFFFD0278) // (CAN_MB3) MailBox Data High Register\r
-// ========== Register definition for CAN_MB4 peripheral ========== \r
-#define AT91C_CAN_MB4_MID ((AT91_REG *)        0xFFFD0288) // (CAN_MB4) MailBox ID Register\r
-#define AT91C_CAN_MB4_MMR ((AT91_REG *)        0xFFFD0280) // (CAN_MB4) MailBox Mode Register\r
-#define AT91C_CAN_MB4_MDH ((AT91_REG *)        0xFFFD0298) // (CAN_MB4) MailBox Data High Register\r
-#define AT91C_CAN_MB4_MFID ((AT91_REG *)       0xFFFD028C) // (CAN_MB4) MailBox Family ID Register\r
-#define AT91C_CAN_MB4_MSR ((AT91_REG *)        0xFFFD0290) // (CAN_MB4) MailBox Status Register\r
-#define AT91C_CAN_MB4_MCR ((AT91_REG *)        0xFFFD029C) // (CAN_MB4) MailBox Control Register\r
-#define AT91C_CAN_MB4_MDL ((AT91_REG *)        0xFFFD0294) // (CAN_MB4) MailBox Data Low Register\r
-#define AT91C_CAN_MB4_MAM ((AT91_REG *)        0xFFFD0284) // (CAN_MB4) MailBox Acceptance Mask Register\r
-// ========== Register definition for CAN_MB5 peripheral ========== \r
-#define AT91C_CAN_MB5_MSR ((AT91_REG *)        0xFFFD02B0) // (CAN_MB5) MailBox Status Register\r
-#define AT91C_CAN_MB5_MCR ((AT91_REG *)        0xFFFD02BC) // (CAN_MB5) MailBox Control Register\r
-#define AT91C_CAN_MB5_MFID ((AT91_REG *)       0xFFFD02AC) // (CAN_MB5) MailBox Family ID Register\r
-#define AT91C_CAN_MB5_MDH ((AT91_REG *)        0xFFFD02B8) // (CAN_MB5) MailBox Data High Register\r
-#define AT91C_CAN_MB5_MID ((AT91_REG *)        0xFFFD02A8) // (CAN_MB5) MailBox ID Register\r
-#define AT91C_CAN_MB5_MMR ((AT91_REG *)        0xFFFD02A0) // (CAN_MB5) MailBox Mode Register\r
-#define AT91C_CAN_MB5_MDL ((AT91_REG *)        0xFFFD02B4) // (CAN_MB5) MailBox Data Low Register\r
-#define AT91C_CAN_MB5_MAM ((AT91_REG *)        0xFFFD02A4) // (CAN_MB5) MailBox Acceptance Mask Register\r
-// ========== Register definition for CAN_MB6 peripheral ========== \r
-#define AT91C_CAN_MB6_MFID ((AT91_REG *)       0xFFFD02CC) // (CAN_MB6) MailBox Family ID Register\r
-#define AT91C_CAN_MB6_MID ((AT91_REG *)        0xFFFD02C8) // (CAN_MB6) MailBox ID Register\r
-#define AT91C_CAN_MB6_MAM ((AT91_REG *)        0xFFFD02C4) // (CAN_MB6) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB6_MSR ((AT91_REG *)        0xFFFD02D0) // (CAN_MB6) MailBox Status Register\r
-#define AT91C_CAN_MB6_MDL ((AT91_REG *)        0xFFFD02D4) // (CAN_MB6) MailBox Data Low Register\r
-#define AT91C_CAN_MB6_MCR ((AT91_REG *)        0xFFFD02DC) // (CAN_MB6) MailBox Control Register\r
-#define AT91C_CAN_MB6_MDH ((AT91_REG *)        0xFFFD02D8) // (CAN_MB6) MailBox Data High Register\r
-#define AT91C_CAN_MB6_MMR ((AT91_REG *)        0xFFFD02C0) // (CAN_MB6) MailBox Mode Register\r
-// ========== Register definition for CAN_MB7 peripheral ========== \r
-#define AT91C_CAN_MB7_MCR ((AT91_REG *)        0xFFFD02FC) // (CAN_MB7) MailBox Control Register\r
-#define AT91C_CAN_MB7_MDH ((AT91_REG *)        0xFFFD02F8) // (CAN_MB7) MailBox Data High Register\r
-#define AT91C_CAN_MB7_MFID ((AT91_REG *)       0xFFFD02EC) // (CAN_MB7) MailBox Family ID Register\r
-#define AT91C_CAN_MB7_MDL ((AT91_REG *)        0xFFFD02F4) // (CAN_MB7) MailBox Data Low Register\r
-#define AT91C_CAN_MB7_MID ((AT91_REG *)        0xFFFD02E8) // (CAN_MB7) MailBox ID Register\r
-#define AT91C_CAN_MB7_MMR ((AT91_REG *)        0xFFFD02E0) // (CAN_MB7) MailBox Mode Register\r
-#define AT91C_CAN_MB7_MAM ((AT91_REG *)        0xFFFD02E4) // (CAN_MB7) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB7_MSR ((AT91_REG *)        0xFFFD02F0) // (CAN_MB7) MailBox Status Register\r
-// ========== Register definition for CAN peripheral ========== \r
-#define AT91C_CAN_TCR   ((AT91_REG *)  0xFFFD0024) // (CAN) Transfer Command Register\r
-#define AT91C_CAN_IMR   ((AT91_REG *)  0xFFFD000C) // (CAN) Interrupt Mask Register\r
-#define AT91C_CAN_IER   ((AT91_REG *)  0xFFFD0004) // (CAN) Interrupt Enable Register\r
-#define AT91C_CAN_ECR   ((AT91_REG *)  0xFFFD0020) // (CAN) Error Counter Register\r
-#define AT91C_CAN_TIMESTP ((AT91_REG *)        0xFFFD001C) // (CAN) Time Stamp Register\r
-#define AT91C_CAN_MR    ((AT91_REG *)  0xFFFD0000) // (CAN) Mode Register\r
-#define AT91C_CAN_IDR   ((AT91_REG *)  0xFFFD0008) // (CAN) Interrupt Disable Register\r
-#define AT91C_CAN_ACR   ((AT91_REG *)  0xFFFD0028) // (CAN) Abort Command Register\r
-#define AT91C_CAN_TIM   ((AT91_REG *)  0xFFFD0018) // (CAN) Timer Register\r
-#define AT91C_CAN_SR    ((AT91_REG *)  0xFFFD0010) // (CAN) Status Register\r
-#define AT91C_CAN_BR    ((AT91_REG *)  0xFFFD0014) // (CAN) Baudrate Register\r
-#define AT91C_CAN_VR    ((AT91_REG *)  0xFFFD00FC) // (CAN) Version Register\r
-// ========== Register definition for EMAC peripheral ========== \r
-#define AT91C_EMAC_ISR  ((AT91_REG *)  0xFFFDC024) // (EMAC) Interrupt Status Register\r
-#define AT91C_EMAC_SA4H ((AT91_REG *)  0xFFFDC0B4) // (EMAC) Specific Address 4 Top, Last 2 bytes\r
-#define AT91C_EMAC_SA1L ((AT91_REG *)  0xFFFDC098) // (EMAC) Specific Address 1 Bottom, First 4 bytes\r
-#define AT91C_EMAC_ELE  ((AT91_REG *)  0xFFFDC078) // (EMAC) Excessive Length Errors Register\r
-#define AT91C_EMAC_LCOL ((AT91_REG *)  0xFFFDC05C) // (EMAC) Late Collision Register\r
-#define AT91C_EMAC_RLE  ((AT91_REG *)  0xFFFDC088) // (EMAC) Receive Length Field Mismatch Register\r
-#define AT91C_EMAC_WOL  ((AT91_REG *)  0xFFFDC0C4) // (EMAC) Wake On LAN Register\r
-#define AT91C_EMAC_DTF  ((AT91_REG *)  0xFFFDC058) // (EMAC) Deferred Transmission Frame Register\r
-#define AT91C_EMAC_TUND ((AT91_REG *)  0xFFFDC064) // (EMAC) Transmit Underrun Error Register\r
-#define AT91C_EMAC_NCR  ((AT91_REG *)  0xFFFDC000) // (EMAC) Network Control Register\r
-#define AT91C_EMAC_SA4L ((AT91_REG *)  0xFFFDC0B0) // (EMAC) Specific Address 4 Bottom, First 4 bytes\r
-#define AT91C_EMAC_RSR  ((AT91_REG *)  0xFFFDC020) // (EMAC) Receive Status Register\r
-#define AT91C_EMAC_SA3L ((AT91_REG *)  0xFFFDC0A8) // (EMAC) Specific Address 3 Bottom, First 4 bytes\r
-#define AT91C_EMAC_TSR  ((AT91_REG *)  0xFFFDC014) // (EMAC) Transmit Status Register\r
-#define AT91C_EMAC_IDR  ((AT91_REG *)  0xFFFDC02C) // (EMAC) Interrupt Disable Register\r
-#define AT91C_EMAC_RSE  ((AT91_REG *)  0xFFFDC074) // (EMAC) Receive Symbol Errors Register\r
-#define AT91C_EMAC_ECOL ((AT91_REG *)  0xFFFDC060) // (EMAC) Excessive Collision Register\r
-#define AT91C_EMAC_TID  ((AT91_REG *)  0xFFFDC0B8) // (EMAC) Type ID Checking Register\r
-#define AT91C_EMAC_HRB  ((AT91_REG *)  0xFFFDC090) // (EMAC) Hash Address Bottom[31:0]\r
-#define AT91C_EMAC_TBQP ((AT91_REG *)  0xFFFDC01C) // (EMAC) Transmit Buffer Queue Pointer\r
-#define AT91C_EMAC_USRIO ((AT91_REG *)         0xFFFDC0C0) // (EMAC) USER Input/Output Register\r
-#define AT91C_EMAC_PTR  ((AT91_REG *)  0xFFFDC038) // (EMAC) Pause Time Register\r
-#define AT91C_EMAC_SA2H ((AT91_REG *)  0xFFFDC0A4) // (EMAC) Specific Address 2 Top, Last 2 bytes\r
-#define AT91C_EMAC_ROV  ((AT91_REG *)  0xFFFDC070) // (EMAC) Receive Overrun Errors Register\r
-#define AT91C_EMAC_ALE  ((AT91_REG *)  0xFFFDC054) // (EMAC) Alignment Error Register\r
-#define AT91C_EMAC_RJA  ((AT91_REG *)  0xFFFDC07C) // (EMAC) Receive Jabbers Register\r
-#define AT91C_EMAC_RBQP ((AT91_REG *)  0xFFFDC018) // (EMAC) Receive Buffer Queue Pointer\r
-#define AT91C_EMAC_TPF  ((AT91_REG *)  0xFFFDC08C) // (EMAC) Transmitted Pause Frames Register\r
-#define AT91C_EMAC_NCFGR ((AT91_REG *)         0xFFFDC004) // (EMAC) Network Configuration Register\r
-#define AT91C_EMAC_HRT  ((AT91_REG *)  0xFFFDC094) // (EMAC) Hash Address Top[63:32]\r
-#define AT91C_EMAC_USF  ((AT91_REG *)  0xFFFDC080) // (EMAC) Undersize Frames Register\r
-#define AT91C_EMAC_FCSE ((AT91_REG *)  0xFFFDC050) // (EMAC) Frame Check Sequence Error Register\r
-#define AT91C_EMAC_TPQ  ((AT91_REG *)  0xFFFDC0BC) // (EMAC) Transmit Pause Quantum Register\r
-#define AT91C_EMAC_MAN  ((AT91_REG *)  0xFFFDC034) // (EMAC) PHY Maintenance Register\r
-#define AT91C_EMAC_FTO  ((AT91_REG *)  0xFFFDC040) // (EMAC) Frames Transmitted OK Register\r
-#define AT91C_EMAC_REV  ((AT91_REG *)  0xFFFDC0FC) // (EMAC) Revision Register\r
-#define AT91C_EMAC_IMR  ((AT91_REG *)  0xFFFDC030) // (EMAC) Interrupt Mask Register\r
-#define AT91C_EMAC_SCF  ((AT91_REG *)  0xFFFDC044) // (EMAC) Single Collision Frame Register\r
-#define AT91C_EMAC_PFR  ((AT91_REG *)  0xFFFDC03C) // (EMAC) Pause Frames received Register\r
-#define AT91C_EMAC_MCF  ((AT91_REG *)  0xFFFDC048) // (EMAC) Multiple Collision Frame Register\r
-#define AT91C_EMAC_NSR  ((AT91_REG *)  0xFFFDC008) // (EMAC) Network Status Register\r
-#define AT91C_EMAC_SA2L ((AT91_REG *)  0xFFFDC0A0) // (EMAC) Specific Address 2 Bottom, First 4 bytes\r
-#define AT91C_EMAC_FRO  ((AT91_REG *)  0xFFFDC04C) // (EMAC) Frames Received OK Register\r
-#define AT91C_EMAC_IER  ((AT91_REG *)  0xFFFDC028) // (EMAC) Interrupt Enable Register\r
-#define AT91C_EMAC_SA1H ((AT91_REG *)  0xFFFDC09C) // (EMAC) Specific Address 1 Top, Last 2 bytes\r
-#define AT91C_EMAC_CSE  ((AT91_REG *)  0xFFFDC068) // (EMAC) Carrier Sense Error Register\r
-#define AT91C_EMAC_SA3H ((AT91_REG *)  0xFFFDC0AC) // (EMAC) Specific Address 3 Top, Last 2 bytes\r
-#define AT91C_EMAC_RRE  ((AT91_REG *)  0xFFFDC06C) // (EMAC) Receive Ressource Error Register\r
-#define AT91C_EMAC_STE  ((AT91_REG *)  0xFFFDC084) // (EMAC) SQE Test Error Register\r
-// ========== Register definition for PDC_ADC peripheral ========== \r
-#define AT91C_ADC_PTSR  ((AT91_REG *)  0xFFFD8124) // (PDC_ADC) PDC Transfer Status Register\r
-#define AT91C_ADC_PTCR  ((AT91_REG *)  0xFFFD8120) // (PDC_ADC) PDC Transfer Control Register\r
-#define AT91C_ADC_TNPR  ((AT91_REG *)  0xFFFD8118) // (PDC_ADC) Transmit Next Pointer Register\r
-#define AT91C_ADC_TNCR  ((AT91_REG *)  0xFFFD811C) // (PDC_ADC) Transmit Next Counter Register\r
-#define AT91C_ADC_RNPR  ((AT91_REG *)  0xFFFD8110) // (PDC_ADC) Receive Next Pointer Register\r
-#define AT91C_ADC_RNCR  ((AT91_REG *)  0xFFFD8114) // (PDC_ADC) Receive Next Counter Register\r
-#define AT91C_ADC_RPR   ((AT91_REG *)  0xFFFD8100) // (PDC_ADC) Receive Pointer Register\r
-#define AT91C_ADC_TCR   ((AT91_REG *)  0xFFFD810C) // (PDC_ADC) Transmit Counter Register\r
-#define AT91C_ADC_TPR   ((AT91_REG *)  0xFFFD8108) // (PDC_ADC) Transmit Pointer Register\r
-#define AT91C_ADC_RCR   ((AT91_REG *)  0xFFFD8104) // (PDC_ADC) Receive Counter Register\r
-// ========== Register definition for ADC peripheral ========== \r
-#define AT91C_ADC_CDR2  ((AT91_REG *)  0xFFFD8038) // (ADC) ADC Channel Data Register 2\r
-#define AT91C_ADC_CDR3  ((AT91_REG *)  0xFFFD803C) // (ADC) ADC Channel Data Register 3\r
-#define AT91C_ADC_CDR0  ((AT91_REG *)  0xFFFD8030) // (ADC) ADC Channel Data Register 0\r
-#define AT91C_ADC_CDR5  ((AT91_REG *)  0xFFFD8044) // (ADC) ADC Channel Data Register 5\r
-#define AT91C_ADC_CHDR  ((AT91_REG *)  0xFFFD8014) // (ADC) ADC Channel Disable Register\r
-#define AT91C_ADC_SR    ((AT91_REG *)  0xFFFD801C) // (ADC) ADC Status Register\r
-#define AT91C_ADC_CDR4  ((AT91_REG *)  0xFFFD8040) // (ADC) ADC Channel Data Register 4\r
-#define AT91C_ADC_CDR1  ((AT91_REG *)  0xFFFD8034) // (ADC) ADC Channel Data Register 1\r
-#define AT91C_ADC_LCDR  ((AT91_REG *)  0xFFFD8020) // (ADC) ADC Last Converted Data Register\r
-#define AT91C_ADC_IDR   ((AT91_REG *)  0xFFFD8028) // (ADC) ADC Interrupt Disable Register\r
-#define AT91C_ADC_CR    ((AT91_REG *)  0xFFFD8000) // (ADC) ADC Control Register\r
-#define AT91C_ADC_CDR7  ((AT91_REG *)  0xFFFD804C) // (ADC) ADC Channel Data Register 7\r
-#define AT91C_ADC_CDR6  ((AT91_REG *)  0xFFFD8048) // (ADC) ADC Channel Data Register 6\r
-#define AT91C_ADC_IER   ((AT91_REG *)  0xFFFD8024) // (ADC) ADC Interrupt Enable Register\r
-#define AT91C_ADC_CHER  ((AT91_REG *)  0xFFFD8010) // (ADC) ADC Channel Enable Register\r
-#define AT91C_ADC_CHSR  ((AT91_REG *)  0xFFFD8018) // (ADC) ADC Channel Status Register\r
-#define AT91C_ADC_MR    ((AT91_REG *)  0xFFFD8004) // (ADC) ADC Mode Register\r
-#define AT91C_ADC_IMR   ((AT91_REG *)  0xFFFD802C) // (ADC) ADC Interrupt Mask Register\r
-// ========== Register definition for PDC_AES peripheral ========== \r
-#define AT91C_AES_TPR   ((AT91_REG *)  0xFFFA4108) // (PDC_AES) Transmit Pointer Register\r
-#define AT91C_AES_PTCR  ((AT91_REG *)  0xFFFA4120) // (PDC_AES) PDC Transfer Control Register\r
-#define AT91C_AES_RNPR  ((AT91_REG *)  0xFFFA4110) // (PDC_AES) Receive Next Pointer Register\r
-#define AT91C_AES_TNCR  ((AT91_REG *)  0xFFFA411C) // (PDC_AES) Transmit Next Counter Register\r
-#define AT91C_AES_TCR   ((AT91_REG *)  0xFFFA410C) // (PDC_AES) Transmit Counter Register\r
-#define AT91C_AES_RCR   ((AT91_REG *)  0xFFFA4104) // (PDC_AES) Receive Counter Register\r
-#define AT91C_AES_RNCR  ((AT91_REG *)  0xFFFA4114) // (PDC_AES) Receive Next Counter Register\r
-#define AT91C_AES_TNPR  ((AT91_REG *)  0xFFFA4118) // (PDC_AES) Transmit Next Pointer Register\r
-#define AT91C_AES_RPR   ((AT91_REG *)  0xFFFA4100) // (PDC_AES) Receive Pointer Register\r
-#define AT91C_AES_PTSR  ((AT91_REG *)  0xFFFA4124) // (PDC_AES) PDC Transfer Status Register\r
-// ========== Register definition for AES peripheral ========== \r
-#define AT91C_AES_IVxR  ((AT91_REG *)  0xFFFA4060) // (AES) Initialization Vector x Register\r
-#define AT91C_AES_MR    ((AT91_REG *)  0xFFFA4004) // (AES) Mode Register\r
-#define AT91C_AES_VR    ((AT91_REG *)  0xFFFA40FC) // (AES) AES Version Register\r
-#define AT91C_AES_ODATAxR ((AT91_REG *)        0xFFFA4050) // (AES) Output Data x Register\r
-#define AT91C_AES_IDATAxR ((AT91_REG *)        0xFFFA4040) // (AES) Input Data x Register\r
-#define AT91C_AES_CR    ((AT91_REG *)  0xFFFA4000) // (AES) Control Register\r
-#define AT91C_AES_IDR   ((AT91_REG *)  0xFFFA4014) // (AES) Interrupt Disable Register\r
-#define AT91C_AES_IMR   ((AT91_REG *)  0xFFFA4018) // (AES) Interrupt Mask Register\r
-#define AT91C_AES_IER   ((AT91_REG *)  0xFFFA4010) // (AES) Interrupt Enable Register\r
-#define AT91C_AES_KEYWxR ((AT91_REG *)         0xFFFA4020) // (AES) Key Word x Register\r
-#define AT91C_AES_ISR   ((AT91_REG *)  0xFFFA401C) // (AES) Interrupt Status Register\r
-// ========== Register definition for PDC_TDES peripheral ========== \r
-#define AT91C_TDES_RNCR ((AT91_REG *)  0xFFFA8114) // (PDC_TDES) Receive Next Counter Register\r
-#define AT91C_TDES_TCR  ((AT91_REG *)  0xFFFA810C) // (PDC_TDES) Transmit Counter Register\r
-#define AT91C_TDES_RCR  ((AT91_REG *)  0xFFFA8104) // (PDC_TDES) Receive Counter Register\r
-#define AT91C_TDES_TNPR ((AT91_REG *)  0xFFFA8118) // (PDC_TDES) Transmit Next Pointer Register\r
-#define AT91C_TDES_RNPR ((AT91_REG *)  0xFFFA8110) // (PDC_TDES) Receive Next Pointer Register\r
-#define AT91C_TDES_RPR  ((AT91_REG *)  0xFFFA8100) // (PDC_TDES) Receive Pointer Register\r
-#define AT91C_TDES_TNCR ((AT91_REG *)  0xFFFA811C) // (PDC_TDES) Transmit Next Counter Register\r
-#define AT91C_TDES_TPR  ((AT91_REG *)  0xFFFA8108) // (PDC_TDES) Transmit Pointer Register\r
-#define AT91C_TDES_PTSR ((AT91_REG *)  0xFFFA8124) // (PDC_TDES) PDC Transfer Status Register\r
-#define AT91C_TDES_PTCR ((AT91_REG *)  0xFFFA8120) // (PDC_TDES) PDC Transfer Control Register\r
-// ========== Register definition for TDES peripheral ========== \r
-#define AT91C_TDES_KEY2WxR ((AT91_REG *)       0xFFFA8028) // (TDES) Key 2 Word x Register\r
-#define AT91C_TDES_KEY3WxR ((AT91_REG *)       0xFFFA8030) // (TDES) Key 3 Word x Register\r
-#define AT91C_TDES_IDR  ((AT91_REG *)  0xFFFA8014) // (TDES) Interrupt Disable Register\r
-#define AT91C_TDES_VR   ((AT91_REG *)  0xFFFA80FC) // (TDES) TDES Version Register\r
-#define AT91C_TDES_IVxR ((AT91_REG *)  0xFFFA8060) // (TDES) Initialization Vector x Register\r
-#define AT91C_TDES_ODATAxR ((AT91_REG *)       0xFFFA8050) // (TDES) Output Data x Register\r
-#define AT91C_TDES_IMR  ((AT91_REG *)  0xFFFA8018) // (TDES) Interrupt Mask Register\r
-#define AT91C_TDES_MR   ((AT91_REG *)  0xFFFA8004) // (TDES) Mode Register\r
-#define AT91C_TDES_CR   ((AT91_REG *)  0xFFFA8000) // (TDES) Control Register\r
-#define AT91C_TDES_IER  ((AT91_REG *)  0xFFFA8010) // (TDES) Interrupt Enable Register\r
-#define AT91C_TDES_ISR  ((AT91_REG *)  0xFFFA801C) // (TDES) Interrupt Status Register\r
-#define AT91C_TDES_IDATAxR ((AT91_REG *)       0xFFFA8040) // (TDES) Input Data x Register\r
-#define AT91C_TDES_KEY1WxR ((AT91_REG *)       0xFFFA8020) // (TDES) Key 1 Word x Register\r
-\r
-// *****************************************************************************\r
-//               PIO DEFINITIONS FOR AT91SAM7X128\r
-// *****************************************************************************\r
-#define AT91C_PIO_PA0        ((unsigned int) 1 <<  0) // Pin Controlled by PA0\r
-#define AT91C_PA0_RXD0     ((unsigned int) AT91C_PIO_PA0) //  USART 0 Receive Data\r
-#define AT91C_PIO_PA1        ((unsigned int) 1 <<  1) // Pin Controlled by PA1\r
-#define AT91C_PA1_TXD0     ((unsigned int) AT91C_PIO_PA1) //  USART 0 Transmit Data\r
-#define AT91C_PIO_PA10       ((unsigned int) 1 << 10) // Pin Controlled by PA10\r
-#define AT91C_PA10_TWD      ((unsigned int) AT91C_PIO_PA10) //  TWI Two-wire Serial Data\r
-#define AT91C_PIO_PA11       ((unsigned int) 1 << 11) // Pin Controlled by PA11\r
-#define AT91C_PA11_TWCK     ((unsigned int) AT91C_PIO_PA11) //  TWI Two-wire Serial Clock\r
-#define AT91C_PIO_PA12       ((unsigned int) 1 << 12) // Pin Controlled by PA12\r
-#define AT91C_PA12_NPCS00   ((unsigned int) AT91C_PIO_PA12) //  SPI 0 Peripheral Chip Select 0\r
-#define AT91C_PIO_PA13       ((unsigned int) 1 << 13) // Pin Controlled by PA13\r
-#define AT91C_PA13_NPCS01   ((unsigned int) AT91C_PIO_PA13) //  SPI 0 Peripheral Chip Select 1\r
-#define AT91C_PA13_PCK1     ((unsigned int) AT91C_PIO_PA13) //  PMC Programmable Clock Output 1\r
-#define AT91C_PIO_PA14       ((unsigned int) 1 << 14) // Pin Controlled by PA14\r
-#define AT91C_PA14_NPCS02   ((unsigned int) AT91C_PIO_PA14) //  SPI 0 Peripheral Chip Select 2\r
-#define AT91C_PA14_IRQ1     ((unsigned int) AT91C_PIO_PA14) //  External Interrupt 1\r
-#define AT91C_PIO_PA15       ((unsigned int) 1 << 15) // Pin Controlled by PA15\r
-#define AT91C_PA15_NPCS03   ((unsigned int) AT91C_PIO_PA15) //  SPI 0 Peripheral Chip Select 3\r
-#define AT91C_PA15_TCLK2    ((unsigned int) AT91C_PIO_PA15) //  Timer Counter 2 external clock input\r
-#define AT91C_PIO_PA16       ((unsigned int) 1 << 16) // Pin Controlled by PA16\r
-#define AT91C_PA16_MISO0    ((unsigned int) AT91C_PIO_PA16) //  SPI 0 Master In Slave\r
-#define AT91C_PIO_PA17       ((unsigned int) 1 << 17) // Pin Controlled by PA17\r
-#define AT91C_PA17_MOSI0    ((unsigned int) AT91C_PIO_PA17) //  SPI 0 Master Out Slave\r
-#define AT91C_PIO_PA18       ((unsigned int) 1 << 18) // Pin Controlled by PA18\r
-#define AT91C_PA18_SPCK0    ((unsigned int) AT91C_PIO_PA18) //  SPI 0 Serial Clock\r
-#define AT91C_PIO_PA19       ((unsigned int) 1 << 19) // Pin Controlled by PA19\r
-#define AT91C_PA19_CANRX    ((unsigned int) AT91C_PIO_PA19) //  CAN Receive\r
-#define AT91C_PIO_PA2        ((unsigned int) 1 <<  2) // Pin Controlled by PA2\r
-#define AT91C_PA2_SCK0     ((unsigned int) AT91C_PIO_PA2) //  USART 0 Serial Clock\r
-#define AT91C_PA2_NPCS11   ((unsigned int) AT91C_PIO_PA2) //  SPI 1 Peripheral Chip Select 1\r
-#define AT91C_PIO_PA20       ((unsigned int) 1 << 20) // Pin Controlled by PA20\r
-#define AT91C_PA20_CANTX    ((unsigned int) AT91C_PIO_PA20) //  CAN Transmit\r
-#define AT91C_PIO_PA21       ((unsigned int) 1 << 21) // Pin Controlled by PA21\r
-#define AT91C_PA21_TF       ((unsigned int) AT91C_PIO_PA21) //  SSC Transmit Frame Sync\r
-#define AT91C_PA21_NPCS10   ((unsigned int) AT91C_PIO_PA21) //  SPI 1 Peripheral Chip Select 0\r
-#define AT91C_PIO_PA22       ((unsigned int) 1 << 22) // Pin Controlled by PA22\r
-#define AT91C_PA22_TK       ((unsigned int) AT91C_PIO_PA22) //  SSC Transmit Clock\r
-#define AT91C_PA22_SPCK1    ((unsigned int) AT91C_PIO_PA22) //  SPI 1 Serial Clock\r
-#define AT91C_PIO_PA23       ((unsigned int) 1 << 23) // Pin Controlled by PA23\r
-#define AT91C_PA23_TD       ((unsigned int) AT91C_PIO_PA23) //  SSC Transmit data\r
-#define AT91C_PA23_MOSI1    ((unsigned int) AT91C_PIO_PA23) //  SPI 1 Master Out Slave\r
-#define AT91C_PIO_PA24       ((unsigned int) 1 << 24) // Pin Controlled by PA24\r
-#define AT91C_PA24_RD       ((unsigned int) AT91C_PIO_PA24) //  SSC Receive Data\r
-#define AT91C_PA24_MISO1    ((unsigned int) AT91C_PIO_PA24) //  SPI 1 Master In Slave\r
-#define AT91C_PIO_PA25       ((unsigned int) 1 << 25) // Pin Controlled by PA25\r
-#define AT91C_PA25_RK       ((unsigned int) AT91C_PIO_PA25) //  SSC Receive Clock\r
-#define AT91C_PA25_NPCS11   ((unsigned int) AT91C_PIO_PA25) //  SPI 1 Peripheral Chip Select 1\r
-#define AT91C_PIO_PA26       ((unsigned int) 1 << 26) // Pin Controlled by PA26\r
-#define AT91C_PA26_RF       ((unsigned int) AT91C_PIO_PA26) //  SSC Receive Frame Sync\r
-#define AT91C_PA26_NPCS12   ((unsigned int) AT91C_PIO_PA26) //  SPI 1 Peripheral Chip Select 2\r
-#define AT91C_PIO_PA27       ((unsigned int) 1 << 27) // Pin Controlled by PA27\r
-#define AT91C_PA27_DRXD     ((unsigned int) AT91C_PIO_PA27) //  DBGU Debug Receive Data\r
-#define AT91C_PA27_PCK3     ((unsigned int) AT91C_PIO_PA27) //  PMC Programmable Clock Output 3\r
-#define AT91C_PIO_PA28       ((unsigned int) 1 << 28) // Pin Controlled by PA28\r
-#define AT91C_PA28_DTXD     ((unsigned int) AT91C_PIO_PA28) //  DBGU Debug Transmit Data\r
-#define AT91C_PIO_PA29       ((unsigned int) 1 << 29) // Pin Controlled by PA29\r
-#define AT91C_PA29_FIQ      ((unsigned int) AT91C_PIO_PA29) //  AIC Fast Interrupt Input\r
-#define AT91C_PA29_NPCS13   ((unsigned int) AT91C_PIO_PA29) //  SPI 1 Peripheral Chip Select 3\r
-#define AT91C_PIO_PA3        ((unsigned int) 1 <<  3) // Pin Controlled by PA3\r
-#define AT91C_PA3_RTS0     ((unsigned int) AT91C_PIO_PA3) //  USART 0 Ready To Send\r
-#define AT91C_PA3_NPCS12   ((unsigned int) AT91C_PIO_PA3) //  SPI 1 Peripheral Chip Select 2\r
-#define AT91C_PIO_PA30       ((unsigned int) 1 << 30) // Pin Controlled by PA30\r
-#define AT91C_PA30_IRQ0     ((unsigned int) AT91C_PIO_PA30) //  External Interrupt 0\r
-#define AT91C_PA30_PCK2     ((unsigned int) AT91C_PIO_PA30) //  PMC Programmable Clock Output 2\r
-#define AT91C_PIO_PA4        ((unsigned int) 1 <<  4) // Pin Controlled by PA4\r
-#define AT91C_PA4_CTS0     ((unsigned int) AT91C_PIO_PA4) //  USART 0 Clear To Send\r
-#define AT91C_PA4_NPCS13   ((unsigned int) AT91C_PIO_PA4) //  SPI 1 Peripheral Chip Select 3\r
-#define AT91C_PIO_PA5        ((unsigned int) 1 <<  5) // Pin Controlled by PA5\r
-#define AT91C_PA5_RXD1     ((unsigned int) AT91C_PIO_PA5) //  USART 1 Receive Data\r
-#define AT91C_PIO_PA6        ((unsigned int) 1 <<  6) // Pin Controlled by PA6\r
-#define AT91C_PA6_TXD1     ((unsigned int) AT91C_PIO_PA6) //  USART 1 Transmit Data\r
-#define AT91C_PIO_PA7        ((unsigned int) 1 <<  7) // Pin Controlled by PA7\r
-#define AT91C_PA7_SCK1     ((unsigned int) AT91C_PIO_PA7) //  USART 1 Serial Clock\r
-#define AT91C_PA7_NPCS01   ((unsigned int) AT91C_PIO_PA7) //  SPI 0 Peripheral Chip Select 1\r
-#define AT91C_PIO_PA8        ((unsigned int) 1 <<  8) // Pin Controlled by PA8\r
-#define AT91C_PA8_RTS1     ((unsigned int) AT91C_PIO_PA8) //  USART 1 Ready To Send\r
-#define AT91C_PA8_NPCS02   ((unsigned int) AT91C_PIO_PA8) //  SPI 0 Peripheral Chip Select 2\r
-#define AT91C_PIO_PA9        ((unsigned int) 1 <<  9) // Pin Controlled by PA9\r
-#define AT91C_PA9_CTS1     ((unsigned int) AT91C_PIO_PA9) //  USART 1 Clear To Send\r
-#define AT91C_PA9_NPCS03   ((unsigned int) AT91C_PIO_PA9) //  SPI 0 Peripheral Chip Select 3\r
-#define AT91C_PIO_PB0        ((unsigned int) 1 <<  0) // Pin Controlled by PB0\r
-#define AT91C_PB0_ETXCK_EREFCK ((unsigned int) AT91C_PIO_PB0) //  Ethernet MAC Transmit Clock/Reference Clock\r
-#define AT91C_PB0_PCK0     ((unsigned int) AT91C_PIO_PB0) //  PMC Programmable Clock Output 0\r
-#define AT91C_PIO_PB1        ((unsigned int) 1 <<  1) // Pin Controlled by PB1\r
-#define AT91C_PB1_ETXEN    ((unsigned int) AT91C_PIO_PB1) //  Ethernet MAC Transmit Enable\r
-#define AT91C_PIO_PB10       ((unsigned int) 1 << 10) // Pin Controlled by PB10\r
-#define AT91C_PB10_ETX2     ((unsigned int) AT91C_PIO_PB10) //  Ethernet MAC Transmit Data 2\r
-#define AT91C_PB10_NPCS11   ((unsigned int) AT91C_PIO_PB10) //  SPI 1 Peripheral Chip Select 1\r
-#define AT91C_PIO_PB11       ((unsigned int) 1 << 11) // Pin Controlled by PB11\r
-#define AT91C_PB11_ETX3     ((unsigned int) AT91C_PIO_PB11) //  Ethernet MAC Transmit Data 3\r
-#define AT91C_PB11_NPCS12   ((unsigned int) AT91C_PIO_PB11) //  SPI 1 Peripheral Chip Select 2\r
-#define AT91C_PIO_PB12       ((unsigned int) 1 << 12) // Pin Controlled by PB12\r
-#define AT91C_PB12_ETXER    ((unsigned int) AT91C_PIO_PB12) //  Ethernet MAC Transmikt Coding Error\r
-#define AT91C_PB12_TCLK0    ((unsigned int) AT91C_PIO_PB12) //  Timer Counter 0 external clock input\r
-#define AT91C_PIO_PB13       ((unsigned int) 1 << 13) // Pin Controlled by PB13\r
-#define AT91C_PB13_ERX2     ((unsigned int) AT91C_PIO_PB13) //  Ethernet MAC Receive Data 2\r
-#define AT91C_PB13_NPCS01   ((unsigned int) AT91C_PIO_PB13) //  SPI 0 Peripheral Chip Select 1\r
-#define AT91C_PIO_PB14       ((unsigned int) 1 << 14) // Pin Controlled by PB14\r
-#define AT91C_PB14_ERX3     ((unsigned int) AT91C_PIO_PB14) //  Ethernet MAC Receive Data 3\r
-#define AT91C_PB14_NPCS02   ((unsigned int) AT91C_PIO_PB14) //  SPI 0 Peripheral Chip Select 2\r
-#define AT91C_PIO_PB15       ((unsigned int) 1 << 15) // Pin Controlled by PB15\r
-#define AT91C_PB15_ERXDV    ((unsigned int) AT91C_PIO_PB15) //  Ethernet MAC Receive Data Valid\r
-#define AT91C_PIO_PB16       ((unsigned int) 1 << 16) // Pin Controlled by PB16\r
-#define AT91C_PB16_ECOL     ((unsigned int) AT91C_PIO_PB16) //  Ethernet MAC Collision Detected\r
-#define AT91C_PB16_NPCS13   ((unsigned int) AT91C_PIO_PB16) //  SPI 1 Peripheral Chip Select 3\r
-#define AT91C_PIO_PB17       ((unsigned int) 1 << 17) // Pin Controlled by PB17\r
-#define AT91C_PB17_ERXCK    ((unsigned int) AT91C_PIO_PB17) //  Ethernet MAC Receive Clock\r
-#define AT91C_PB17_NPCS03   ((unsigned int) AT91C_PIO_PB17) //  SPI 0 Peripheral Chip Select 3\r
-#define AT91C_PIO_PB18       ((unsigned int) 1 << 18) // Pin Controlled by PB18\r
-#define AT91C_PB18_EF100    ((unsigned int) AT91C_PIO_PB18) //  Ethernet MAC Force 100 Mbits/sec\r
-#define AT91C_PB18_ADTRG    ((unsigned int) AT91C_PIO_PB18) //  ADC External Trigger\r
-#define AT91C_PIO_PB19       ((unsigned int) 1 << 19) // Pin Controlled by PB19\r
-#define AT91C_PB19_PWM0     ((unsigned int) AT91C_PIO_PB19) //  PWM Channel 0\r
-#define AT91C_PB19_TCLK1    ((unsigned int) AT91C_PIO_PB19) //  Timer Counter 1 external clock input\r
-#define AT91C_PIO_PB2        ((unsigned int) 1 <<  2) // Pin Controlled by PB2\r
-#define AT91C_PB2_ETX0     ((unsigned int) AT91C_PIO_PB2) //  Ethernet MAC Transmit Data 0\r
-#define AT91C_PIO_PB20       ((unsigned int) 1 << 20) // Pin Controlled by PB20\r
-#define AT91C_PB20_PWM1     ((unsigned int) AT91C_PIO_PB20) //  PWM Channel 1\r
-#define AT91C_PB20_PCK0     ((unsigned int) AT91C_PIO_PB20) //  PMC Programmable Clock Output 0\r
-#define AT91C_PIO_PB21       ((unsigned int) 1 << 21) // Pin Controlled by PB21\r
-#define AT91C_PB21_PWM2     ((unsigned int) AT91C_PIO_PB21) //  PWM Channel 2\r
-#define AT91C_PB21_PCK1     ((unsigned int) AT91C_PIO_PB21) //  PMC Programmable Clock Output 1\r
-#define AT91C_PIO_PB22       ((unsigned int) 1 << 22) // Pin Controlled by PB22\r
-#define AT91C_PB22_PWM3     ((unsigned int) AT91C_PIO_PB22) //  PWM Channel 3\r
-#define AT91C_PB22_PCK2     ((unsigned int) AT91C_PIO_PB22) //  PMC Programmable Clock Output 2\r
-#define AT91C_PIO_PB23       ((unsigned int) 1 << 23) // Pin Controlled by PB23\r
-#define AT91C_PB23_TIOA0    ((unsigned int) AT91C_PIO_PB23) //  Timer Counter 0 Multipurpose Timer I/O Pin A\r
-#define AT91C_PB23_DCD1     ((unsigned int) AT91C_PIO_PB23) //  USART 1 Data Carrier Detect\r
-#define AT91C_PIO_PB24       ((unsigned int) 1 << 24) // Pin Controlled by PB24\r
-#define AT91C_PB24_TIOB0    ((unsigned int) AT91C_PIO_PB24) //  Timer Counter 0 Multipurpose Timer I/O Pin B\r
-#define AT91C_PB24_DSR1     ((unsigned int) AT91C_PIO_PB24) //  USART 1 Data Set ready\r
-#define AT91C_PIO_PB25       ((unsigned int) 1 << 25) // Pin Controlled by PB25\r
-#define AT91C_PB25_TIOA1    ((unsigned int) AT91C_PIO_PB25) //  Timer Counter 1 Multipurpose Timer I/O Pin A\r
-#define AT91C_PB25_DTR1     ((unsigned int) AT91C_PIO_PB25) //  USART 1 Data Terminal ready\r
-#define AT91C_PIO_PB26       ((unsigned int) 1 << 26) // Pin Controlled by PB26\r
-#define AT91C_PB26_TIOB1    ((unsigned int) AT91C_PIO_PB26) //  Timer Counter 1 Multipurpose Timer I/O Pin B\r
-#define AT91C_PB26_RI1      ((unsigned int) AT91C_PIO_PB26) //  USART 1 Ring Indicator\r
-#define AT91C_PIO_PB27       ((unsigned int) 1 << 27) // Pin Controlled by PB27\r
-#define AT91C_PB27_TIOA2    ((unsigned int) AT91C_PIO_PB27) //  Timer Counter 2 Multipurpose Timer I/O Pin A\r
-#define AT91C_PB27_PWM0     ((unsigned int) AT91C_PIO_PB27) //  PWM Channel 0\r
-#define AT91C_PIO_PB28       ((unsigned int) 1 << 28) // Pin Controlled by PB28\r
-#define AT91C_PB28_TIOB2    ((unsigned int) AT91C_PIO_PB28) //  Timer Counter 2 Multipurpose Timer I/O Pin B\r
-#define AT91C_PB28_PWM1     ((unsigned int) AT91C_PIO_PB28) //  PWM Channel 1\r
-#define AT91C_PIO_PB29       ((unsigned int) 1 << 29) // Pin Controlled by PB29\r
-#define AT91C_PB29_PCK1     ((unsigned int) AT91C_PIO_PB29) //  PMC Programmable Clock Output 1\r
-#define AT91C_PB29_PWM2     ((unsigned int) AT91C_PIO_PB29) //  PWM Channel 2\r
-#define AT91C_PIO_PB3        ((unsigned int) 1 <<  3) // Pin Controlled by PB3\r
-#define AT91C_PB3_ETX1     ((unsigned int) AT91C_PIO_PB3) //  Ethernet MAC Transmit Data 1\r
-#define AT91C_PIO_PB30       ((unsigned int) 1 << 30) // Pin Controlled by PB30\r
-#define AT91C_PB30_PCK2     ((unsigned int) AT91C_PIO_PB30) //  PMC Programmable Clock Output 2\r
-#define AT91C_PB30_PWM3     ((unsigned int) AT91C_PIO_PB30) //  PWM Channel 3\r
-#define AT91C_PIO_PB4        ((unsigned int) 1 <<  4) // Pin Controlled by PB4\r
-#define AT91C_PB4_ECRS_ECRSDV ((unsigned int) AT91C_PIO_PB4) //  Ethernet MAC Carrier Sense/Carrier Sense and Data Valid\r
-#define AT91C_PIO_PB5        ((unsigned int) 1 <<  5) // Pin Controlled by PB5\r
-#define AT91C_PB5_ERX0     ((unsigned int) AT91C_PIO_PB5) //  Ethernet MAC Receive Data 0\r
-#define AT91C_PIO_PB6        ((unsigned int) 1 <<  6) // Pin Controlled by PB6\r
-#define AT91C_PB6_ERX1     ((unsigned int) AT91C_PIO_PB6) //  Ethernet MAC Receive Data 1\r
-#define AT91C_PIO_PB7        ((unsigned int) 1 <<  7) // Pin Controlled by PB7\r
-#define AT91C_PB7_ERXER    ((unsigned int) AT91C_PIO_PB7) //  Ethernet MAC Receive Error\r
-#define AT91C_PIO_PB8        ((unsigned int) 1 <<  8) // Pin Controlled by PB8\r
-#define AT91C_PB8_EMDC     ((unsigned int) AT91C_PIO_PB8) //  Ethernet MAC Management Data Clock\r
-#define AT91C_PIO_PB9        ((unsigned int) 1 <<  9) // Pin Controlled by PB9\r
-#define AT91C_PB9_EMDIO    ((unsigned int) AT91C_PIO_PB9) //  Ethernet MAC Management Data Input/Output\r
-\r
-// *****************************************************************************\r
-//               PERIPHERAL ID DEFINITIONS FOR AT91SAM7X128\r
-// *****************************************************************************\r
-#define AT91C_ID_FIQ    ((unsigned int)  0) // Advanced Interrupt Controller (FIQ)\r
-#define AT91C_ID_SYS    ((unsigned int)  1) // System Peripheral\r
-#define AT91C_ID_PIOA   ((unsigned int)  2) // Parallel IO Controller A\r
-#define AT91C_ID_PIOB   ((unsigned int)  3) // Parallel IO Controller B\r
-#define AT91C_ID_SPI0   ((unsigned int)  4) // Serial Peripheral Interface 0\r
-#define AT91C_ID_SPI1   ((unsigned int)  5) // Serial Peripheral Interface 1\r
-#define AT91C_ID_US0    ((unsigned int)  6) // USART 0\r
-#define AT91C_ID_US1    ((unsigned int)  7) // USART 1\r
-#define AT91C_ID_SSC    ((unsigned int)  8) // Serial Synchronous Controller\r
-#define AT91C_ID_TWI    ((unsigned int)  9) // Two-Wire Interface\r
-#define AT91C_ID_PWMC   ((unsigned int) 10) // PWM Controller\r
-#define AT91C_ID_UDP    ((unsigned int) 11) // USB Device Port\r
-#define AT91C_ID_TC0    ((unsigned int) 12) // Timer Counter 0\r
-#define AT91C_ID_TC1    ((unsigned int) 13) // Timer Counter 1\r
-#define AT91C_ID_TC2    ((unsigned int) 14) // Timer Counter 2\r
-#define AT91C_ID_CAN    ((unsigned int) 15) // Control Area Network Controller\r
-#define AT91C_ID_EMAC   ((unsigned int) 16) // Ethernet MAC\r
-#define AT91C_ID_ADC    ((unsigned int) 17) // Analog-to-Digital Converter\r
-#define AT91C_ID_AES    ((unsigned int) 18) // Advanced Encryption Standard 128-bit\r
-#define AT91C_ID_TDES   ((unsigned int) 19) // Triple Data Encryption Standard\r
-#define AT91C_ID_20_Reserved ((unsigned int) 20) // Reserved\r
-#define AT91C_ID_21_Reserved ((unsigned int) 21) // Reserved\r
-#define AT91C_ID_22_Reserved ((unsigned int) 22) // Reserved\r
-#define AT91C_ID_23_Reserved ((unsigned int) 23) // Reserved\r
-#define AT91C_ID_24_Reserved ((unsigned int) 24) // Reserved\r
-#define AT91C_ID_25_Reserved ((unsigned int) 25) // Reserved\r
-#define AT91C_ID_26_Reserved ((unsigned int) 26) // Reserved\r
-#define AT91C_ID_27_Reserved ((unsigned int) 27) // Reserved\r
-#define AT91C_ID_28_Reserved ((unsigned int) 28) // Reserved\r
-#define AT91C_ID_29_Reserved ((unsigned int) 29) // Reserved\r
-#define AT91C_ID_IRQ0   ((unsigned int) 30) // Advanced Interrupt Controller (IRQ0)\r
-#define AT91C_ID_IRQ1   ((unsigned int) 31) // Advanced Interrupt Controller (IRQ1)\r
-\r
-// *****************************************************************************\r
-//               BASE ADDRESS DEFINITIONS FOR AT91SAM7X128\r
-// *****************************************************************************\r
-#define AT91C_BASE_SYS       ((AT91PS_SYS)     0xFFFFF000) // (SYS) Base Address\r
-#define AT91C_BASE_AIC       ((AT91PS_AIC)     0xFFFFF000) // (AIC) Base Address\r
-#define AT91C_BASE_PDC_DBGU  ((AT91PS_PDC)     0xFFFFF300) // (PDC_DBGU) Base Address\r
-#define AT91C_BASE_DBGU      ((AT91PS_DBGU)    0xFFFFF200) // (DBGU) Base Address\r
-#define AT91C_BASE_PIOA      ((AT91PS_PIO)     0xFFFFF400) // (PIOA) Base Address\r
-#define AT91C_BASE_PIOB      ((AT91PS_PIO)     0xFFFFF600) // (PIOB) Base Address\r
-#define AT91C_BASE_CKGR      ((AT91PS_CKGR)    0xFFFFFC20) // (CKGR) Base Address\r
-#define AT91C_BASE_PMC       ((AT91PS_PMC)     0xFFFFFC00) // (PMC) Base Address\r
-#define AT91C_BASE_RSTC      ((AT91PS_RSTC)    0xFFFFFD00) // (RSTC) Base Address\r
-#define AT91C_BASE_RTTC      ((AT91PS_RTTC)    0xFFFFFD20) // (RTTC) Base Address\r
-#define AT91C_BASE_PITC      ((AT91PS_PITC)    0xFFFFFD30) // (PITC) Base Address\r
-#define AT91C_BASE_WDTC      ((AT91PS_WDTC)    0xFFFFFD40) // (WDTC) Base Address\r
-#define AT91C_BASE_VREG      ((AT91PS_VREG)    0xFFFFFD60) // (VREG) Base Address\r
-#define AT91C_BASE_MC        ((AT91PS_MC)      0xFFFFFF00) // (MC) Base Address\r
-#define AT91C_BASE_PDC_SPI1  ((AT91PS_PDC)     0xFFFE4100) // (PDC_SPI1) Base Address\r
-#define AT91C_BASE_SPI1      ((AT91PS_SPI)     0xFFFE4000) // (SPI1) Base Address\r
-#define AT91C_BASE_PDC_SPI0  ((AT91PS_PDC)     0xFFFE0100) // (PDC_SPI0) Base Address\r
-#define AT91C_BASE_SPI0      ((AT91PS_SPI)     0xFFFE0000) // (SPI0) Base Address\r
-#define AT91C_BASE_PDC_US1   ((AT91PS_PDC)     0xFFFC4100) // (PDC_US1) Base Address\r
-#define AT91C_BASE_US1       ((AT91PS_USART)   0xFFFC4000) // (US1) Base Address\r
-#define AT91C_BASE_PDC_US0   ((AT91PS_PDC)     0xFFFC0100) // (PDC_US0) Base Address\r
-#define AT91C_BASE_US0       ((AT91PS_USART)   0xFFFC0000) // (US0) Base Address\r
-#define AT91C_BASE_PDC_SSC   ((AT91PS_PDC)     0xFFFD4100) // (PDC_SSC) Base Address\r
-#define AT91C_BASE_SSC       ((AT91PS_SSC)     0xFFFD4000) // (SSC) Base Address\r
-#define AT91C_BASE_TWI       ((AT91PS_TWI)     0xFFFB8000) // (TWI) Base Address\r
-#define AT91C_BASE_PWMC_CH3  ((AT91PS_PWMC_CH)         0xFFFCC260) // (PWMC_CH3) Base Address\r
-#define AT91C_BASE_PWMC_CH2  ((AT91PS_PWMC_CH)         0xFFFCC240) // (PWMC_CH2) Base Address\r
-#define AT91C_BASE_PWMC_CH1  ((AT91PS_PWMC_CH)         0xFFFCC220) // (PWMC_CH1) Base Address\r
-#define AT91C_BASE_PWMC_CH0  ((AT91PS_PWMC_CH)         0xFFFCC200) // (PWMC_CH0) Base Address\r
-#define AT91C_BASE_PWMC      ((AT91PS_PWMC)    0xFFFCC000) // (PWMC) Base Address\r
-#define AT91C_BASE_UDP       ((AT91PS_UDP)     0xFFFB0000) // (UDP) Base Address\r
-#define AT91C_BASE_TC0       ((AT91PS_TC)      0xFFFA0000) // (TC0) Base Address\r
-#define AT91C_BASE_TC1       ((AT91PS_TC)      0xFFFA0040) // (TC1) Base Address\r
-#define AT91C_BASE_TC2       ((AT91PS_TC)      0xFFFA0080) // (TC2) Base Address\r
-#define AT91C_BASE_TCB       ((AT91PS_TCB)     0xFFFA0000) // (TCB) Base Address\r
-#define AT91C_BASE_CAN_MB0   ((AT91PS_CAN_MB)  0xFFFD0200) // (CAN_MB0) Base Address\r
-#define AT91C_BASE_CAN_MB1   ((AT91PS_CAN_MB)  0xFFFD0220) // (CAN_MB1) Base Address\r
-#define AT91C_BASE_CAN_MB2   ((AT91PS_CAN_MB)  0xFFFD0240) // (CAN_MB2) Base Address\r
-#define AT91C_BASE_CAN_MB3   ((AT91PS_CAN_MB)  0xFFFD0260) // (CAN_MB3) Base Address\r
-#define AT91C_BASE_CAN_MB4   ((AT91PS_CAN_MB)  0xFFFD0280) // (CAN_MB4) Base Address\r
-#define AT91C_BASE_CAN_MB5   ((AT91PS_CAN_MB)  0xFFFD02A0) // (CAN_MB5) Base Address\r
-#define AT91C_BASE_CAN_MB6   ((AT91PS_CAN_MB)  0xFFFD02C0) // (CAN_MB6) Base Address\r
-#define AT91C_BASE_CAN_MB7   ((AT91PS_CAN_MB)  0xFFFD02E0) // (CAN_MB7) Base Address\r
-#define AT91C_BASE_CAN       ((AT91PS_CAN)     0xFFFD0000) // (CAN) Base Address\r
-#define AT91C_BASE_EMAC      ((AT91PS_EMAC)    0xFFFDC000) // (EMAC) Base Address\r
-#define AT91C_BASE_PDC_ADC   ((AT91PS_PDC)     0xFFFD8100) // (PDC_ADC) Base Address\r
-#define AT91C_BASE_ADC       ((AT91PS_ADC)     0xFFFD8000) // (ADC) Base Address\r
-#define AT91C_BASE_PDC_AES   ((AT91PS_PDC)     0xFFFA4100) // (PDC_AES) Base Address\r
-#define AT91C_BASE_AES       ((AT91PS_AES)     0xFFFA4000) // (AES) Base Address\r
-#define AT91C_BASE_PDC_TDES  ((AT91PS_PDC)     0xFFFA8100) // (PDC_TDES) Base Address\r
-#define AT91C_BASE_TDES      ((AT91PS_TDES)    0xFFFA8000) // (TDES) Base Address\r
-\r
-// *****************************************************************************\r
-//               MEMORY MAPPING DEFINITIONS FOR AT91SAM7X128\r
-// *****************************************************************************\r
-#define AT91C_ISRAM     ((char *)      0x00200000) // Internal SRAM base address\r
-#define AT91C_ISRAM_SIZE        ((unsigned int) 0x00008000) // Internal SRAM size in byte (32 Kbyte)\r
-#define AT91C_IFLASH    ((char *)      0x00100000) // Internal ROM base address\r
-#define AT91C_IFLASH_SIZE       ((unsigned int) 0x00020000) // Internal ROM size in byte (128 Kbyte)\r
-#endif /* __IAR_SYSTEMS_ICC__ */\r
-\r
-#ifdef __IAR_SYSTEMS_ASM__\r
-\r
-// - Hardware register definition\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR System Peripherals\r
-// - *****************************************************************************\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Advanced Interrupt Controller\r
-// - *****************************************************************************\r
-// - -------- AIC_SMR : (AIC Offset: 0x0) Control Register -------- \r
-AT91C_AIC_PRIOR           EQU (0x7 <<  0) ;- (AIC) Priority Level\r
-AT91C_AIC_PRIOR_LOWEST    EQU (0x0) ;- (AIC) Lowest priority level\r
-AT91C_AIC_PRIOR_HIGHEST   EQU (0x7) ;- (AIC) Highest priority level\r
-AT91C_AIC_SRCTYPE         EQU (0x3 <<  5) ;- (AIC) Interrupt Source Type\r
-AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL EQU (0x0 <<  5) ;- (AIC) Internal Sources Code Label High-level Sensitive\r
-AT91C_AIC_SRCTYPE_EXT_LOW_LEVEL EQU (0x0 <<  5) ;- (AIC) External Sources Code Label Low-level Sensitive\r
-AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE EQU (0x1 <<  5) ;- (AIC) Internal Sources Code Label Positive Edge triggered\r
-AT91C_AIC_SRCTYPE_EXT_NEGATIVE_EDGE EQU (0x1 <<  5) ;- (AIC) External Sources Code Label Negative Edge triggered\r
-AT91C_AIC_SRCTYPE_HIGH_LEVEL EQU (0x2 <<  5) ;- (AIC) Internal Or External Sources Code Label High-level Sensitive\r
-AT91C_AIC_SRCTYPE_POSITIVE_EDGE EQU (0x3 <<  5) ;- (AIC) Internal Or External Sources Code Label Positive Edge triggered\r
-// - -------- AIC_CISR : (AIC Offset: 0x114) AIC Core Interrupt Status Register -------- \r
-AT91C_AIC_NFIQ            EQU (0x1 <<  0) ;- (AIC) NFIQ Status\r
-AT91C_AIC_NIRQ            EQU (0x1 <<  1) ;- (AIC) NIRQ Status\r
-// - -------- AIC_DCR : (AIC Offset: 0x138) AIC Debug Control Register (Protect) -------- \r
-AT91C_AIC_DCR_PROT        EQU (0x1 <<  0) ;- (AIC) Protection Mode\r
-AT91C_AIC_DCR_GMSK        EQU (0x1 <<  1) ;- (AIC) General Mask\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Peripheral DMA Controller\r
-// - *****************************************************************************\r
-// - -------- PDC_PTCR : (PDC Offset: 0x20) PDC Transfer Control Register -------- \r
-AT91C_PDC_RXTEN           EQU (0x1 <<  0) ;- (PDC) Receiver Transfer Enable\r
-AT91C_PDC_RXTDIS          EQU (0x1 <<  1) ;- (PDC) Receiver Transfer Disable\r
-AT91C_PDC_TXTEN           EQU (0x1 <<  8) ;- (PDC) Transmitter Transfer Enable\r
-AT91C_PDC_TXTDIS          EQU (0x1 <<  9) ;- (PDC) Transmitter Transfer Disable\r
-// - -------- PDC_PTSR : (PDC Offset: 0x24) PDC Transfer Status Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Debug Unit\r
-// - *****************************************************************************\r
-// - -------- DBGU_CR : (DBGU Offset: 0x0) Debug Unit Control Register -------- \r
-AT91C_US_RSTRX            EQU (0x1 <<  2) ;- (DBGU) Reset Receiver\r
-AT91C_US_RSTTX            EQU (0x1 <<  3) ;- (DBGU) Reset Transmitter\r
-AT91C_US_RXEN             EQU (0x1 <<  4) ;- (DBGU) Receiver Enable\r
-AT91C_US_RXDIS            EQU (0x1 <<  5) ;- (DBGU) Receiver Disable\r
-AT91C_US_TXEN             EQU (0x1 <<  6) ;- (DBGU) Transmitter Enable\r
-AT91C_US_TXDIS            EQU (0x1 <<  7) ;- (DBGU) Transmitter Disable\r
-AT91C_US_RSTSTA           EQU (0x1 <<  8) ;- (DBGU) Reset Status Bits\r
-// - -------- DBGU_MR : (DBGU Offset: 0x4) Debug Unit Mode Register -------- \r
-AT91C_US_PAR              EQU (0x7 <<  9) ;- (DBGU) Parity type\r
-AT91C_US_PAR_EVEN         EQU (0x0 <<  9) ;- (DBGU) Even Parity\r
-AT91C_US_PAR_ODD          EQU (0x1 <<  9) ;- (DBGU) Odd Parity\r
-AT91C_US_PAR_SPACE        EQU (0x2 <<  9) ;- (DBGU) Parity forced to 0 (Space)\r
-AT91C_US_PAR_MARK         EQU (0x3 <<  9) ;- (DBGU) Parity forced to 1 (Mark)\r
-AT91C_US_PAR_NONE         EQU (0x4 <<  9) ;- (DBGU) No Parity\r
-AT91C_US_PAR_MULTI_DROP   EQU (0x6 <<  9) ;- (DBGU) Multi-drop mode\r
-AT91C_US_CHMODE           EQU (0x3 << 14) ;- (DBGU) Channel Mode\r
-AT91C_US_CHMODE_NORMAL    EQU (0x0 << 14) ;- (DBGU) Normal Mode: The USART channel operates as an RX/TX USART.\r
-AT91C_US_CHMODE_AUTO      EQU (0x1 << 14) ;- (DBGU) Automatic Echo: Receiver Data Input is connected to the TXD pin.\r
-AT91C_US_CHMODE_LOCAL     EQU (0x2 << 14) ;- (DBGU) Local Loopback: Transmitter Output Signal is connected to Receiver Input Signal.\r
-AT91C_US_CHMODE_REMOTE    EQU (0x3 << 14) ;- (DBGU) Remote Loopback: RXD pin is internally connected to TXD pin.\r
-// - -------- DBGU_IER : (DBGU Offset: 0x8) Debug Unit Interrupt Enable Register -------- \r
-AT91C_US_RXRDY            EQU (0x1 <<  0) ;- (DBGU) RXRDY Interrupt\r
-AT91C_US_TXRDY            EQU (0x1 <<  1) ;- (DBGU) TXRDY Interrupt\r
-AT91C_US_ENDRX            EQU (0x1 <<  3) ;- (DBGU) End of Receive Transfer Interrupt\r
-AT91C_US_ENDTX            EQU (0x1 <<  4) ;- (DBGU) End of Transmit Interrupt\r
-AT91C_US_OVRE             EQU (0x1 <<  5) ;- (DBGU) Overrun Interrupt\r
-AT91C_US_FRAME            EQU (0x1 <<  6) ;- (DBGU) Framing Error Interrupt\r
-AT91C_US_PARE             EQU (0x1 <<  7) ;- (DBGU) Parity Error Interrupt\r
-AT91C_US_TXEMPTY          EQU (0x1 <<  9) ;- (DBGU) TXEMPTY Interrupt\r
-AT91C_US_TXBUFE           EQU (0x1 << 11) ;- (DBGU) TXBUFE Interrupt\r
-AT91C_US_RXBUFF           EQU (0x1 << 12) ;- (DBGU) RXBUFF Interrupt\r
-AT91C_US_COMM_TX          EQU (0x1 << 30) ;- (DBGU) COMM_TX Interrupt\r
-AT91C_US_COMM_RX          EQU (0x1 << 31) ;- (DBGU) COMM_RX Interrupt\r
-// - -------- DBGU_IDR : (DBGU Offset: 0xc) Debug Unit Interrupt Disable Register -------- \r
-// - -------- DBGU_IMR : (DBGU Offset: 0x10) Debug Unit Interrupt Mask Register -------- \r
-// - -------- DBGU_CSR : (DBGU Offset: 0x14) Debug Unit Channel Status Register -------- \r
-// - -------- DBGU_FNTR : (DBGU Offset: 0x48) Debug Unit FORCE_NTRST Register -------- \r
-AT91C_US_FORCE_NTRST      EQU (0x1 <<  0) ;- (DBGU) Force NTRST in JTAG\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Parallel Input Output Controler\r
-// - *****************************************************************************\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Clock Generator Controler\r
-// - *****************************************************************************\r
-// - -------- CKGR_MOR : (CKGR Offset: 0x0) Main Oscillator Register -------- \r
-AT91C_CKGR_MOSCEN         EQU (0x1 <<  0) ;- (CKGR) Main Oscillator Enable\r
-AT91C_CKGR_OSCBYPASS      EQU (0x1 <<  1) ;- (CKGR) Main Oscillator Bypass\r
-AT91C_CKGR_OSCOUNT        EQU (0xFF <<  8) ;- (CKGR) Main Oscillator Start-up Time\r
-// - -------- CKGR_MCFR : (CKGR Offset: 0x4) Main Clock Frequency Register -------- \r
-AT91C_CKGR_MAINF          EQU (0xFFFF <<  0) ;- (CKGR) Main Clock Frequency\r
-AT91C_CKGR_MAINRDY        EQU (0x1 << 16) ;- (CKGR) Main Clock Ready\r
-// - -------- CKGR_PLLR : (CKGR Offset: 0xc) PLL B Register -------- \r
-AT91C_CKGR_DIV            EQU (0xFF <<  0) ;- (CKGR) Divider Selected\r
-AT91C_CKGR_DIV_0          EQU (0x0) ;- (CKGR) Divider output is 0\r
-AT91C_CKGR_DIV_BYPASS     EQU (0x1) ;- (CKGR) Divider is bypassed\r
-AT91C_CKGR_PLLCOUNT       EQU (0x3F <<  8) ;- (CKGR) PLL Counter\r
-AT91C_CKGR_OUT            EQU (0x3 << 14) ;- (CKGR) PLL Output Frequency Range\r
-AT91C_CKGR_OUT_0          EQU (0x0 << 14) ;- (CKGR) Please refer to the PLL datasheet\r
-AT91C_CKGR_OUT_1          EQU (0x1 << 14) ;- (CKGR) Please refer to the PLL datasheet\r
-AT91C_CKGR_OUT_2          EQU (0x2 << 14) ;- (CKGR) Please refer to the PLL datasheet\r
-AT91C_CKGR_OUT_3          EQU (0x3 << 14) ;- (CKGR) Please refer to the PLL datasheet\r
-AT91C_CKGR_MUL            EQU (0x7FF << 16) ;- (CKGR) PLL Multiplier\r
-AT91C_CKGR_USBDIV         EQU (0x3 << 28) ;- (CKGR) Divider for USB Clocks\r
-AT91C_CKGR_USBDIV_0       EQU (0x0 << 28) ;- (CKGR) Divider output is PLL clock output\r
-AT91C_CKGR_USBDIV_1       EQU (0x1 << 28) ;- (CKGR) Divider output is PLL clock output divided by 2\r
-AT91C_CKGR_USBDIV_2       EQU (0x2 << 28) ;- (CKGR) Divider output is PLL clock output divided by 4\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Power Management Controler\r
-// - *****************************************************************************\r
-// - -------- PMC_SCER : (PMC Offset: 0x0) System Clock Enable Register -------- \r
-AT91C_PMC_PCK             EQU (0x1 <<  0) ;- (PMC) Processor Clock\r
-AT91C_PMC_UDP             EQU (0x1 <<  7) ;- (PMC) USB Device Port Clock\r
-AT91C_PMC_PCK0            EQU (0x1 <<  8) ;- (PMC) Programmable Clock Output\r
-AT91C_PMC_PCK1            EQU (0x1 <<  9) ;- (PMC) Programmable Clock Output\r
-AT91C_PMC_PCK2            EQU (0x1 << 10) ;- (PMC) Programmable Clock Output\r
-AT91C_PMC_PCK3            EQU (0x1 << 11) ;- (PMC) Programmable Clock Output\r
-// - -------- PMC_SCDR : (PMC Offset: 0x4) System Clock Disable Register -------- \r
-// - -------- PMC_SCSR : (PMC Offset: 0x8) System Clock Status Register -------- \r
-// - -------- CKGR_MOR : (PMC Offset: 0x20) Main Oscillator Register -------- \r
-// - -------- CKGR_MCFR : (PMC Offset: 0x24) Main Clock Frequency Register -------- \r
-// - -------- CKGR_PLLR : (PMC Offset: 0x2c) PLL B Register -------- \r
-// - -------- PMC_MCKR : (PMC Offset: 0x30) Master Clock Register -------- \r
-AT91C_PMC_CSS             EQU (0x3 <<  0) ;- (PMC) Programmable Clock Selection\r
-AT91C_PMC_CSS_SLOW_CLK    EQU (0x0) ;- (PMC) Slow Clock is selected\r
-AT91C_PMC_CSS_MAIN_CLK    EQU (0x1) ;- (PMC) Main Clock is selected\r
-AT91C_PMC_CSS_PLL_CLK     EQU (0x3) ;- (PMC) Clock from PLL is selected\r
-AT91C_PMC_PRES            EQU (0x7 <<  2) ;- (PMC) Programmable Clock Prescaler\r
-AT91C_PMC_PRES_CLK        EQU (0x0 <<  2) ;- (PMC) Selected clock\r
-AT91C_PMC_PRES_CLK_2      EQU (0x1 <<  2) ;- (PMC) Selected clock divided by 2\r
-AT91C_PMC_PRES_CLK_4      EQU (0x2 <<  2) ;- (PMC) Selected clock divided by 4\r
-AT91C_PMC_PRES_CLK_8      EQU (0x3 <<  2) ;- (PMC) Selected clock divided by 8\r
-AT91C_PMC_PRES_CLK_16     EQU (0x4 <<  2) ;- (PMC) Selected clock divided by 16\r
-AT91C_PMC_PRES_CLK_32     EQU (0x5 <<  2) ;- (PMC) Selected clock divided by 32\r
-AT91C_PMC_PRES_CLK_64     EQU (0x6 <<  2) ;- (PMC) Selected clock divided by 64\r
-// - -------- PMC_PCKR : (PMC Offset: 0x40) Programmable Clock Register -------- \r
-// - -------- PMC_IER : (PMC Offset: 0x60) PMC Interrupt Enable Register -------- \r
-AT91C_PMC_MOSCS           EQU (0x1 <<  0) ;- (PMC) MOSC Status/Enable/Disable/Mask\r
-AT91C_PMC_LOCK            EQU (0x1 <<  2) ;- (PMC) PLL Status/Enable/Disable/Mask\r
-AT91C_PMC_MCKRDY          EQU (0x1 <<  3) ;- (PMC) MCK_RDY Status/Enable/Disable/Mask\r
-AT91C_PMC_PCK0RDY         EQU (0x1 <<  8) ;- (PMC) PCK0_RDY Status/Enable/Disable/Mask\r
-AT91C_PMC_PCK1RDY         EQU (0x1 <<  9) ;- (PMC) PCK1_RDY Status/Enable/Disable/Mask\r
-AT91C_PMC_PCK2RDY         EQU (0x1 << 10) ;- (PMC) PCK2_RDY Status/Enable/Disable/Mask\r
-AT91C_PMC_PCK3RDY         EQU (0x1 << 11) ;- (PMC) PCK3_RDY Status/Enable/Disable/Mask\r
-// - -------- PMC_IDR : (PMC Offset: 0x64) PMC Interrupt Disable Register -------- \r
-// - -------- PMC_SR : (PMC Offset: 0x68) PMC Status Register -------- \r
-// - -------- PMC_IMR : (PMC Offset: 0x6c) PMC Interrupt Mask Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Reset Controller Interface\r
-// - *****************************************************************************\r
-// - -------- RSTC_RCR : (RSTC Offset: 0x0) Reset Control Register -------- \r
-AT91C_RSTC_PROCRST        EQU (0x1 <<  0) ;- (RSTC) Processor Reset\r
-AT91C_RSTC_PERRST         EQU (0x1 <<  2) ;- (RSTC) Peripheral Reset\r
-AT91C_RSTC_EXTRST         EQU (0x1 <<  3) ;- (RSTC) External Reset\r
-AT91C_RSTC_KEY            EQU (0xFF << 24) ;- (RSTC) Password\r
-// - -------- RSTC_RSR : (RSTC Offset: 0x4) Reset Status Register -------- \r
-AT91C_RSTC_URSTS          EQU (0x1 <<  0) ;- (RSTC) User Reset Status\r
-AT91C_RSTC_BODSTS         EQU (0x1 <<  1) ;- (RSTC) Brownout Detection Status\r
-AT91C_RSTC_RSTTYP         EQU (0x7 <<  8) ;- (RSTC) Reset Type\r
-AT91C_RSTC_RSTTYP_POWERUP EQU (0x0 <<  8) ;- (RSTC) Power-up Reset. VDDCORE rising.\r
-AT91C_RSTC_RSTTYP_WAKEUP  EQU (0x1 <<  8) ;- (RSTC) WakeUp Reset. VDDCORE rising.\r
-AT91C_RSTC_RSTTYP_WATCHDOG EQU (0x2 <<  8) ;- (RSTC) Watchdog Reset. Watchdog overflow occured.\r
-AT91C_RSTC_RSTTYP_SOFTWARE EQU (0x3 <<  8) ;- (RSTC) Software Reset. Processor reset required by the software.\r
-AT91C_RSTC_RSTTYP_USER    EQU (0x4 <<  8) ;- (RSTC) User Reset. NRST pin detected low.\r
-AT91C_RSTC_RSTTYP_BROWNOUT EQU (0x5 <<  8) ;- (RSTC) Brownout Reset occured.\r
-AT91C_RSTC_NRSTL          EQU (0x1 << 16) ;- (RSTC) NRST pin level\r
-AT91C_RSTC_SRCMP          EQU (0x1 << 17) ;- (RSTC) Software Reset Command in Progress.\r
-// - -------- RSTC_RMR : (RSTC Offset: 0x8) Reset Mode Register -------- \r
-AT91C_RSTC_URSTEN         EQU (0x1 <<  0) ;- (RSTC) User Reset Enable\r
-AT91C_RSTC_URSTIEN        EQU (0x1 <<  4) ;- (RSTC) User Reset Interrupt Enable\r
-AT91C_RSTC_ERSTL          EQU (0xF <<  8) ;- (RSTC) User Reset Enable\r
-AT91C_RSTC_BODIEN         EQU (0x1 << 16) ;- (RSTC) Brownout Detection Interrupt Enable\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Real Time Timer Controller Interface\r
-// - *****************************************************************************\r
-// - -------- RTTC_RTMR : (RTTC Offset: 0x0) Real-time Mode Register -------- \r
-AT91C_RTTC_RTPRES         EQU (0xFFFF <<  0) ;- (RTTC) Real-time Timer Prescaler Value\r
-AT91C_RTTC_ALMIEN         EQU (0x1 << 16) ;- (RTTC) Alarm Interrupt Enable\r
-AT91C_RTTC_RTTINCIEN      EQU (0x1 << 17) ;- (RTTC) Real Time Timer Increment Interrupt Enable\r
-AT91C_RTTC_RTTRST         EQU (0x1 << 18) ;- (RTTC) Real Time Timer Restart\r
-// - -------- RTTC_RTAR : (RTTC Offset: 0x4) Real-time Alarm Register -------- \r
-AT91C_RTTC_ALMV           EQU (0x0 <<  0) ;- (RTTC) Alarm Value\r
-// - -------- RTTC_RTVR : (RTTC Offset: 0x8) Current Real-time Value Register -------- \r
-AT91C_RTTC_CRTV           EQU (0x0 <<  0) ;- (RTTC) Current Real-time Value\r
-// - -------- RTTC_RTSR : (RTTC Offset: 0xc) Real-time Status Register -------- \r
-AT91C_RTTC_ALMS           EQU (0x1 <<  0) ;- (RTTC) Real-time Alarm Status\r
-AT91C_RTTC_RTTINC         EQU (0x1 <<  1) ;- (RTTC) Real-time Timer Increment\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Periodic Interval Timer Controller Interface\r
-// - *****************************************************************************\r
-// - -------- PITC_PIMR : (PITC Offset: 0x0) Periodic Interval Mode Register -------- \r
-AT91C_PITC_PIV            EQU (0xFFFFF <<  0) ;- (PITC) Periodic Interval Value\r
-AT91C_PITC_PITEN          EQU (0x1 << 24) ;- (PITC) Periodic Interval Timer Enabled\r
-AT91C_PITC_PITIEN         EQU (0x1 << 25) ;- (PITC) Periodic Interval Timer Interrupt Enable\r
-// - -------- PITC_PISR : (PITC Offset: 0x4) Periodic Interval Status Register -------- \r
-AT91C_PITC_PITS           EQU (0x1 <<  0) ;- (PITC) Periodic Interval Timer Status\r
-// - -------- PITC_PIVR : (PITC Offset: 0x8) Periodic Interval Value Register -------- \r
-AT91C_PITC_CPIV           EQU (0xFFFFF <<  0) ;- (PITC) Current Periodic Interval Value\r
-AT91C_PITC_PICNT          EQU (0xFFF << 20) ;- (PITC) Periodic Interval Counter\r
-// - -------- PITC_PIIR : (PITC Offset: 0xc) Periodic Interval Image Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Watchdog Timer Controller Interface\r
-// - *****************************************************************************\r
-// - -------- WDTC_WDCR : (WDTC Offset: 0x0) Periodic Interval Image Register -------- \r
-AT91C_WDTC_WDRSTT         EQU (0x1 <<  0) ;- (WDTC) Watchdog Restart\r
-AT91C_WDTC_KEY            EQU (0xFF << 24) ;- (WDTC) Watchdog KEY Password\r
-// - -------- WDTC_WDMR : (WDTC Offset: 0x4) Watchdog Mode Register -------- \r
-AT91C_WDTC_WDV            EQU (0xFFF <<  0) ;- (WDTC) Watchdog Timer Restart\r
-AT91C_WDTC_WDFIEN         EQU (0x1 << 12) ;- (WDTC) Watchdog Fault Interrupt Enable\r
-AT91C_WDTC_WDRSTEN        EQU (0x1 << 13) ;- (WDTC) Watchdog Reset Enable\r
-AT91C_WDTC_WDRPROC        EQU (0x1 << 14) ;- (WDTC) Watchdog Timer Restart\r
-AT91C_WDTC_WDDIS          EQU (0x1 << 15) ;- (WDTC) Watchdog Disable\r
-AT91C_WDTC_WDD            EQU (0xFFF << 16) ;- (WDTC) Watchdog Delta Value\r
-AT91C_WDTC_WDDBGHLT       EQU (0x1 << 28) ;- (WDTC) Watchdog Debug Halt\r
-AT91C_WDTC_WDIDLEHLT      EQU (0x1 << 29) ;- (WDTC) Watchdog Idle Halt\r
-// - -------- WDTC_WDSR : (WDTC Offset: 0x8) Watchdog Status Register -------- \r
-AT91C_WDTC_WDUNF          EQU (0x1 <<  0) ;- (WDTC) Watchdog Underflow\r
-AT91C_WDTC_WDERR          EQU (0x1 <<  1) ;- (WDTC) Watchdog Error\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Voltage Regulator Mode Controller Interface\r
-// - *****************************************************************************\r
-// - -------- VREG_MR : (VREG Offset: 0x0) Voltage Regulator Mode Register -------- \r
-AT91C_VREG_PSTDBY         EQU (0x1 <<  0) ;- (VREG) Voltage Regulator Power Standby Mode\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Memory Controller Interface\r
-// - *****************************************************************************\r
-// - -------- MC_RCR : (MC Offset: 0x0) MC Remap Control Register -------- \r
-AT91C_MC_RCB              EQU (0x1 <<  0) ;- (MC) Remap Command Bit\r
-// - -------- MC_ASR : (MC Offset: 0x4) MC Abort Status Register -------- \r
-AT91C_MC_UNDADD           EQU (0x1 <<  0) ;- (MC) Undefined Addess Abort Status\r
-AT91C_MC_MISADD           EQU (0x1 <<  1) ;- (MC) Misaligned Addess Abort Status\r
-AT91C_MC_ABTSZ            EQU (0x3 <<  8) ;- (MC) Abort Size Status\r
-AT91C_MC_ABTSZ_BYTE       EQU (0x0 <<  8) ;- (MC) Byte\r
-AT91C_MC_ABTSZ_HWORD      EQU (0x1 <<  8) ;- (MC) Half-word\r
-AT91C_MC_ABTSZ_WORD       EQU (0x2 <<  8) ;- (MC) Word\r
-AT91C_MC_ABTTYP           EQU (0x3 << 10) ;- (MC) Abort Type Status\r
-AT91C_MC_ABTTYP_DATAR     EQU (0x0 << 10) ;- (MC) Data Read\r
-AT91C_MC_ABTTYP_DATAW     EQU (0x1 << 10) ;- (MC) Data Write\r
-AT91C_MC_ABTTYP_FETCH     EQU (0x2 << 10) ;- (MC) Code Fetch\r
-AT91C_MC_MST0             EQU (0x1 << 16) ;- (MC) Master 0 Abort Source\r
-AT91C_MC_MST1             EQU (0x1 << 17) ;- (MC) Master 1 Abort Source\r
-AT91C_MC_SVMST0           EQU (0x1 << 24) ;- (MC) Saved Master 0 Abort Source\r
-AT91C_MC_SVMST1           EQU (0x1 << 25) ;- (MC) Saved Master 1 Abort Source\r
-// - -------- MC_FMR : (MC Offset: 0x60) MC Flash Mode Register -------- \r
-AT91C_MC_FRDY             EQU (0x1 <<  0) ;- (MC) Flash Ready\r
-AT91C_MC_LOCKE            EQU (0x1 <<  2) ;- (MC) Lock Error\r
-AT91C_MC_PROGE            EQU (0x1 <<  3) ;- (MC) Programming Error\r
-AT91C_MC_NEBP             EQU (0x1 <<  7) ;- (MC) No Erase Before Programming\r
-AT91C_MC_FWS              EQU (0x3 <<  8) ;- (MC) Flash Wait State\r
-AT91C_MC_FWS_0FWS         EQU (0x0 <<  8) ;- (MC) 1 cycle for Read, 2 for Write operations\r
-AT91C_MC_FWS_1FWS         EQU (0x1 <<  8) ;- (MC) 2 cycles for Read, 3 for Write operations\r
-AT91C_MC_FWS_2FWS         EQU (0x2 <<  8) ;- (MC) 3 cycles for Read, 4 for Write operations\r
-AT91C_MC_FWS_3FWS         EQU (0x3 <<  8) ;- (MC) 4 cycles for Read, 4 for Write operations\r
-AT91C_MC_FMCN             EQU (0xFF << 16) ;- (MC) Flash Microsecond Cycle Number\r
-// - -------- MC_FCR : (MC Offset: 0x64) MC Flash Command Register -------- \r
-AT91C_MC_FCMD             EQU (0xF <<  0) ;- (MC) Flash Command\r
-AT91C_MC_FCMD_START_PROG  EQU (0x1) ;- (MC) Starts the programming of th epage specified by PAGEN.\r
-AT91C_MC_FCMD_LOCK        EQU (0x2) ;- (MC) Starts a lock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.\r
-AT91C_MC_FCMD_PROG_AND_LOCK EQU (0x3) ;- (MC) The lock sequence automatically happens after the programming sequence is completed.\r
-AT91C_MC_FCMD_UNLOCK      EQU (0x4) ;- (MC) Starts an unlock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.\r
-AT91C_MC_FCMD_ERASE_ALL   EQU (0x8) ;- (MC) Starts the erase of the entire flash.If at least a page is locked, the command is cancelled.\r
-AT91C_MC_FCMD_SET_GP_NVM  EQU (0xB) ;- (MC) Set General Purpose NVM bits.\r
-AT91C_MC_FCMD_CLR_GP_NVM  EQU (0xD) ;- (MC) Clear General Purpose NVM bits.\r
-AT91C_MC_FCMD_SET_SECURITY EQU (0xF) ;- (MC) Set Security Bit.\r
-AT91C_MC_PAGEN            EQU (0x3FF <<  8) ;- (MC) Page Number\r
-AT91C_MC_KEY              EQU (0xFF << 24) ;- (MC) Writing Protect Key\r
-// - -------- MC_FSR : (MC Offset: 0x68) MC Flash Command Register -------- \r
-AT91C_MC_SECURITY         EQU (0x1 <<  4) ;- (MC) Security Bit Status\r
-AT91C_MC_GPNVM0           EQU (0x1 <<  8) ;- (MC) Sector 0 Lock Status\r
-AT91C_MC_GPNVM1           EQU (0x1 <<  9) ;- (MC) Sector 1 Lock Status\r
-AT91C_MC_GPNVM2           EQU (0x1 << 10) ;- (MC) Sector 2 Lock Status\r
-AT91C_MC_GPNVM3           EQU (0x1 << 11) ;- (MC) Sector 3 Lock Status\r
-AT91C_MC_GPNVM4           EQU (0x1 << 12) ;- (MC) Sector 4 Lock Status\r
-AT91C_MC_GPNVM5           EQU (0x1 << 13) ;- (MC) Sector 5 Lock Status\r
-AT91C_MC_GPNVM6           EQU (0x1 << 14) ;- (MC) Sector 6 Lock Status\r
-AT91C_MC_GPNVM7           EQU (0x1 << 15) ;- (MC) Sector 7 Lock Status\r
-AT91C_MC_LOCKS0           EQU (0x1 << 16) ;- (MC) Sector 0 Lock Status\r
-AT91C_MC_LOCKS1           EQU (0x1 << 17) ;- (MC) Sector 1 Lock Status\r
-AT91C_MC_LOCKS2           EQU (0x1 << 18) ;- (MC) Sector 2 Lock Status\r
-AT91C_MC_LOCKS3           EQU (0x1 << 19) ;- (MC) Sector 3 Lock Status\r
-AT91C_MC_LOCKS4           EQU (0x1 << 20) ;- (MC) Sector 4 Lock Status\r
-AT91C_MC_LOCKS5           EQU (0x1 << 21) ;- (MC) Sector 5 Lock Status\r
-AT91C_MC_LOCKS6           EQU (0x1 << 22) ;- (MC) Sector 6 Lock Status\r
-AT91C_MC_LOCKS7           EQU (0x1 << 23) ;- (MC) Sector 7 Lock Status\r
-AT91C_MC_LOCKS8           EQU (0x1 << 24) ;- (MC) Sector 8 Lock Status\r
-AT91C_MC_LOCKS9           EQU (0x1 << 25) ;- (MC) Sector 9 Lock Status\r
-AT91C_MC_LOCKS10          EQU (0x1 << 26) ;- (MC) Sector 10 Lock Status\r
-AT91C_MC_LOCKS11          EQU (0x1 << 27) ;- (MC) Sector 11 Lock Status\r
-AT91C_MC_LOCKS12          EQU (0x1 << 28) ;- (MC) Sector 12 Lock Status\r
-AT91C_MC_LOCKS13          EQU (0x1 << 29) ;- (MC) Sector 13 Lock Status\r
-AT91C_MC_LOCKS14          EQU (0x1 << 30) ;- (MC) Sector 14 Lock Status\r
-AT91C_MC_LOCKS15          EQU (0x1 << 31) ;- (MC) Sector 15 Lock Status\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Serial Parallel Interface\r
-// - *****************************************************************************\r
-// - -------- SPI_CR : (SPI Offset: 0x0) SPI Control Register -------- \r
-AT91C_SPI_SPIEN           EQU (0x1 <<  0) ;- (SPI) SPI Enable\r
-AT91C_SPI_SPIDIS          EQU (0x1 <<  1) ;- (SPI) SPI Disable\r
-AT91C_SPI_SWRST           EQU (0x1 <<  7) ;- (SPI) SPI Software reset\r
-AT91C_SPI_LASTXFER        EQU (0x1 << 24) ;- (SPI) SPI Last Transfer\r
-// - -------- SPI_MR : (SPI Offset: 0x4) SPI Mode Register -------- \r
-AT91C_SPI_MSTR            EQU (0x1 <<  0) ;- (SPI) Master/Slave Mode\r
-AT91C_SPI_PS              EQU (0x1 <<  1) ;- (SPI) Peripheral Select\r
-AT91C_SPI_PS_FIXED        EQU (0x0 <<  1) ;- (SPI) Fixed Peripheral Select\r
-AT91C_SPI_PS_VARIABLE     EQU (0x1 <<  1) ;- (SPI) Variable Peripheral Select\r
-AT91C_SPI_PCSDEC          EQU (0x1 <<  2) ;- (SPI) Chip Select Decode\r
-AT91C_SPI_FDIV            EQU (0x1 <<  3) ;- (SPI) Clock Selection\r
-AT91C_SPI_MODFDIS         EQU (0x1 <<  4) ;- (SPI) Mode Fault Detection\r
-AT91C_SPI_LLB             EQU (0x1 <<  7) ;- (SPI) Clock Selection\r
-AT91C_SPI_PCS             EQU (0xF << 16) ;- (SPI) Peripheral Chip Select\r
-AT91C_SPI_DLYBCS          EQU (0xFF << 24) ;- (SPI) Delay Between Chip Selects\r
-// - -------- SPI_RDR : (SPI Offset: 0x8) Receive Data Register -------- \r
-AT91C_SPI_RD              EQU (0xFFFF <<  0) ;- (SPI) Receive Data\r
-AT91C_SPI_RPCS            EQU (0xF << 16) ;- (SPI) Peripheral Chip Select Status\r
-// - -------- SPI_TDR : (SPI Offset: 0xc) Transmit Data Register -------- \r
-AT91C_SPI_TD              EQU (0xFFFF <<  0) ;- (SPI) Transmit Data\r
-AT91C_SPI_TPCS            EQU (0xF << 16) ;- (SPI) Peripheral Chip Select Status\r
-// - -------- SPI_SR : (SPI Offset: 0x10) Status Register -------- \r
-AT91C_SPI_RDRF            EQU (0x1 <<  0) ;- (SPI) Receive Data Register Full\r
-AT91C_SPI_TDRE            EQU (0x1 <<  1) ;- (SPI) Transmit Data Register Empty\r
-AT91C_SPI_MODF            EQU (0x1 <<  2) ;- (SPI) Mode Fault Error\r
-AT91C_SPI_OVRES           EQU (0x1 <<  3) ;- (SPI) Overrun Error Status\r
-AT91C_SPI_ENDRX           EQU (0x1 <<  4) ;- (SPI) End of Receiver Transfer\r
-AT91C_SPI_ENDTX           EQU (0x1 <<  5) ;- (SPI) End of Receiver Transfer\r
-AT91C_SPI_RXBUFF          EQU (0x1 <<  6) ;- (SPI) RXBUFF Interrupt\r
-AT91C_SPI_TXBUFE          EQU (0x1 <<  7) ;- (SPI) TXBUFE Interrupt\r
-AT91C_SPI_NSSR            EQU (0x1 <<  8) ;- (SPI) NSSR Interrupt\r
-AT91C_SPI_TXEMPTY         EQU (0x1 <<  9) ;- (SPI) TXEMPTY Interrupt\r
-AT91C_SPI_SPIENS          EQU (0x1 << 16) ;- (SPI) Enable Status\r
-// - -------- SPI_IER : (SPI Offset: 0x14) Interrupt Enable Register -------- \r
-// - -------- SPI_IDR : (SPI Offset: 0x18) Interrupt Disable Register -------- \r
-// - -------- SPI_IMR : (SPI Offset: 0x1c) Interrupt Mask Register -------- \r
-// - -------- SPI_CSR : (SPI Offset: 0x30) Chip Select Register -------- \r
-AT91C_SPI_CPOL            EQU (0x1 <<  0) ;- (SPI) Clock Polarity\r
-AT91C_SPI_NCPHA           EQU (0x1 <<  1) ;- (SPI) Clock Phase\r
-AT91C_SPI_CSAAT           EQU (0x1 <<  3) ;- (SPI) Chip Select Active After Transfer\r
-AT91C_SPI_BITS            EQU (0xF <<  4) ;- (SPI) Bits Per Transfer\r
-AT91C_SPI_BITS_8          EQU (0x0 <<  4) ;- (SPI) 8 Bits Per transfer\r
-AT91C_SPI_BITS_9          EQU (0x1 <<  4) ;- (SPI) 9 Bits Per transfer\r
-AT91C_SPI_BITS_10         EQU (0x2 <<  4) ;- (SPI) 10 Bits Per transfer\r
-AT91C_SPI_BITS_11         EQU (0x3 <<  4) ;- (SPI) 11 Bits Per transfer\r
-AT91C_SPI_BITS_12         EQU (0x4 <<  4) ;- (SPI) 12 Bits Per transfer\r
-AT91C_SPI_BITS_13         EQU (0x5 <<  4) ;- (SPI) 13 Bits Per transfer\r
-AT91C_SPI_BITS_14         EQU (0x6 <<  4) ;- (SPI) 14 Bits Per transfer\r
-AT91C_SPI_BITS_15         EQU (0x7 <<  4) ;- (SPI) 15 Bits Per transfer\r
-AT91C_SPI_BITS_16         EQU (0x8 <<  4) ;- (SPI) 16 Bits Per transfer\r
-AT91C_SPI_SCBR            EQU (0xFF <<  8) ;- (SPI) Serial Clock Baud Rate\r
-AT91C_SPI_DLYBS           EQU (0xFF << 16) ;- (SPI) Delay Before SPCK\r
-AT91C_SPI_DLYBCT          EQU (0xFF << 24) ;- (SPI) Delay Between Consecutive Transfers\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Usart\r
-// - *****************************************************************************\r
-// - -------- US_CR : (USART Offset: 0x0) Debug Unit Control Register -------- \r
-AT91C_US_STTBRK           EQU (0x1 <<  9) ;- (USART) Start Break\r
-AT91C_US_STPBRK           EQU (0x1 << 10) ;- (USART) Stop Break\r
-AT91C_US_STTTO            EQU (0x1 << 11) ;- (USART) Start Time-out\r
-AT91C_US_SENDA            EQU (0x1 << 12) ;- (USART) Send Address\r
-AT91C_US_RSTIT            EQU (0x1 << 13) ;- (USART) Reset Iterations\r
-AT91C_US_RSTNACK          EQU (0x1 << 14) ;- (USART) Reset Non Acknowledge\r
-AT91C_US_RETTO            EQU (0x1 << 15) ;- (USART) Rearm Time-out\r
-AT91C_US_DTREN            EQU (0x1 << 16) ;- (USART) Data Terminal ready Enable\r
-AT91C_US_DTRDIS           EQU (0x1 << 17) ;- (USART) Data Terminal ready Disable\r
-AT91C_US_RTSEN            EQU (0x1 << 18) ;- (USART) Request to Send enable\r
-AT91C_US_RTSDIS           EQU (0x1 << 19) ;- (USART) Request to Send Disable\r
-// - -------- US_MR : (USART Offset: 0x4) Debug Unit Mode Register -------- \r
-AT91C_US_USMODE           EQU (0xF <<  0) ;- (USART) Usart mode\r
-AT91C_US_USMODE_NORMAL    EQU (0x0) ;- (USART) Normal\r
-AT91C_US_USMODE_RS485     EQU (0x1) ;- (USART) RS485\r
-AT91C_US_USMODE_HWHSH     EQU (0x2) ;- (USART) Hardware Handshaking\r
-AT91C_US_USMODE_MODEM     EQU (0x3) ;- (USART) Modem\r
-AT91C_US_USMODE_ISO7816_0 EQU (0x4) ;- (USART) ISO7816 protocol: T = 0\r
-AT91C_US_USMODE_ISO7816_1 EQU (0x6) ;- (USART) ISO7816 protocol: T = 1\r
-AT91C_US_USMODE_IRDA      EQU (0x8) ;- (USART) IrDA\r
-AT91C_US_USMODE_SWHSH     EQU (0xC) ;- (USART) Software Handshaking\r
-AT91C_US_CLKS             EQU (0x3 <<  4) ;- (USART) Clock Selection (Baud Rate generator Input Clock\r
-AT91C_US_CLKS_CLOCK       EQU (0x0 <<  4) ;- (USART) Clock\r
-AT91C_US_CLKS_FDIV1       EQU (0x1 <<  4) ;- (USART) fdiv1\r
-AT91C_US_CLKS_SLOW        EQU (0x2 <<  4) ;- (USART) slow_clock (ARM)\r
-AT91C_US_CLKS_EXT         EQU (0x3 <<  4) ;- (USART) External (SCK)\r
-AT91C_US_CHRL             EQU (0x3 <<  6) ;- (USART) Clock Selection (Baud Rate generator Input Clock\r
-AT91C_US_CHRL_5_BITS      EQU (0x0 <<  6) ;- (USART) Character Length: 5 bits\r
-AT91C_US_CHRL_6_BITS      EQU (0x1 <<  6) ;- (USART) Character Length: 6 bits\r
-AT91C_US_CHRL_7_BITS      EQU (0x2 <<  6) ;- (USART) Character Length: 7 bits\r
-AT91C_US_CHRL_8_BITS      EQU (0x3 <<  6) ;- (USART) Character Length: 8 bits\r
-AT91C_US_SYNC             EQU (0x1 <<  8) ;- (USART) Synchronous Mode Select\r
-AT91C_US_NBSTOP           EQU (0x3 << 12) ;- (USART) Number of Stop bits\r
-AT91C_US_NBSTOP_1_BIT     EQU (0x0 << 12) ;- (USART) 1 stop bit\r
-AT91C_US_NBSTOP_15_BIT    EQU (0x1 << 12) ;- (USART) Asynchronous (SYNC=0) 2 stop bits Synchronous (SYNC=1) 2 stop bits\r
-AT91C_US_NBSTOP_2_BIT     EQU (0x2 << 12) ;- (USART) 2 stop bits\r
-AT91C_US_MSBF             EQU (0x1 << 16) ;- (USART) Bit Order\r
-AT91C_US_MODE9            EQU (0x1 << 17) ;- (USART) 9-bit Character length\r
-AT91C_US_CKLO             EQU (0x1 << 18) ;- (USART) Clock Output Select\r
-AT91C_US_OVER             EQU (0x1 << 19) ;- (USART) Over Sampling Mode\r
-AT91C_US_INACK            EQU (0x1 << 20) ;- (USART) Inhibit Non Acknowledge\r
-AT91C_US_DSNACK           EQU (0x1 << 21) ;- (USART) Disable Successive NACK\r
-AT91C_US_MAX_ITER         EQU (0x1 << 24) ;- (USART) Number of Repetitions\r
-AT91C_US_FILTER           EQU (0x1 << 28) ;- (USART) Receive Line Filter\r
-// - -------- US_IER : (USART Offset: 0x8) Debug Unit Interrupt Enable Register -------- \r
-AT91C_US_RXBRK            EQU (0x1 <<  2) ;- (USART) Break Received/End of Break\r
-AT91C_US_TIMEOUT          EQU (0x1 <<  8) ;- (USART) Receiver Time-out\r
-AT91C_US_ITERATION        EQU (0x1 << 10) ;- (USART) Max number of Repetitions Reached\r
-AT91C_US_NACK             EQU (0x1 << 13) ;- (USART) Non Acknowledge\r
-AT91C_US_RIIC             EQU (0x1 << 16) ;- (USART) Ring INdicator Input Change Flag\r
-AT91C_US_DSRIC            EQU (0x1 << 17) ;- (USART) Data Set Ready Input Change Flag\r
-AT91C_US_DCDIC            EQU (0x1 << 18) ;- (USART) Data Carrier Flag\r
-AT91C_US_CTSIC            EQU (0x1 << 19) ;- (USART) Clear To Send Input Change Flag\r
-// - -------- US_IDR : (USART Offset: 0xc) Debug Unit Interrupt Disable Register -------- \r
-// - -------- US_IMR : (USART Offset: 0x10) Debug Unit Interrupt Mask Register -------- \r
-// - -------- US_CSR : (USART Offset: 0x14) Debug Unit Channel Status Register -------- \r
-AT91C_US_RI               EQU (0x1 << 20) ;- (USART) Image of RI Input\r
-AT91C_US_DSR              EQU (0x1 << 21) ;- (USART) Image of DSR Input\r
-AT91C_US_DCD              EQU (0x1 << 22) ;- (USART) Image of DCD Input\r
-AT91C_US_CTS              EQU (0x1 << 23) ;- (USART) Image of CTS Input\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Synchronous Serial Controller Interface\r
-// - *****************************************************************************\r
-// - -------- SSC_CR : (SSC Offset: 0x0) SSC Control Register -------- \r
-AT91C_SSC_RXEN            EQU (0x1 <<  0) ;- (SSC) Receive Enable\r
-AT91C_SSC_RXDIS           EQU (0x1 <<  1) ;- (SSC) Receive Disable\r
-AT91C_SSC_TXEN            EQU (0x1 <<  8) ;- (SSC) Transmit Enable\r
-AT91C_SSC_TXDIS           EQU (0x1 <<  9) ;- (SSC) Transmit Disable\r
-AT91C_SSC_SWRST           EQU (0x1 << 15) ;- (SSC) Software Reset\r
-// - -------- SSC_RCMR : (SSC Offset: 0x10) SSC Receive Clock Mode Register -------- \r
-AT91C_SSC_CKS             EQU (0x3 <<  0) ;- (SSC) Receive/Transmit Clock Selection\r
-AT91C_SSC_CKS_DIV         EQU (0x0) ;- (SSC) Divided Clock\r
-AT91C_SSC_CKS_TK          EQU (0x1) ;- (SSC) TK Clock signal\r
-AT91C_SSC_CKS_RK          EQU (0x2) ;- (SSC) RK pin\r
-AT91C_SSC_CKO             EQU (0x7 <<  2) ;- (SSC) Receive/Transmit Clock Output Mode Selection\r
-AT91C_SSC_CKO_NONE        EQU (0x0 <<  2) ;- (SSC) Receive/Transmit Clock Output Mode: None RK pin: Input-only\r
-AT91C_SSC_CKO_CONTINOUS   EQU (0x1 <<  2) ;- (SSC) Continuous Receive/Transmit Clock RK pin: Output\r
-AT91C_SSC_CKO_DATA_TX     EQU (0x2 <<  2) ;- (SSC) Receive/Transmit Clock only during data transfers RK pin: Output\r
-AT91C_SSC_CKI             EQU (0x1 <<  5) ;- (SSC) Receive/Transmit Clock Inversion\r
-AT91C_SSC_START           EQU (0xF <<  8) ;- (SSC) Receive/Transmit Start Selection\r
-AT91C_SSC_START_CONTINOUS EQU (0x0 <<  8) ;- (SSC) Continuous, as soon as the receiver is enabled, and immediately after the end of transfer of the previous data.\r
-AT91C_SSC_START_TX        EQU (0x1 <<  8) ;- (SSC) Transmit/Receive start\r
-AT91C_SSC_START_LOW_RF    EQU (0x2 <<  8) ;- (SSC) Detection of a low level on RF input\r
-AT91C_SSC_START_HIGH_RF   EQU (0x3 <<  8) ;- (SSC) Detection of a high level on RF input\r
-AT91C_SSC_START_FALL_RF   EQU (0x4 <<  8) ;- (SSC) Detection of a falling edge on RF input\r
-AT91C_SSC_START_RISE_RF   EQU (0x5 <<  8) ;- (SSC) Detection of a rising edge on RF input\r
-AT91C_SSC_START_LEVEL_RF  EQU (0x6 <<  8) ;- (SSC) Detection of any level change on RF input\r
-AT91C_SSC_START_EDGE_RF   EQU (0x7 <<  8) ;- (SSC) Detection of any edge on RF input\r
-AT91C_SSC_START_0         EQU (0x8 <<  8) ;- (SSC) Compare 0\r
-AT91C_SSC_STTDLY          EQU (0xFF << 16) ;- (SSC) Receive/Transmit Start Delay\r
-AT91C_SSC_PERIOD          EQU (0xFF << 24) ;- (SSC) Receive/Transmit Period Divider Selection\r
-// - -------- SSC_RFMR : (SSC Offset: 0x14) SSC Receive Frame Mode Register -------- \r
-AT91C_SSC_DATLEN          EQU (0x1F <<  0) ;- (SSC) Data Length\r
-AT91C_SSC_LOOP            EQU (0x1 <<  5) ;- (SSC) Loop Mode\r
-AT91C_SSC_MSBF            EQU (0x1 <<  7) ;- (SSC) Most Significant Bit First\r
-AT91C_SSC_DATNB           EQU (0xF <<  8) ;- (SSC) Data Number per Frame\r
-AT91C_SSC_FSLEN           EQU (0xF << 16) ;- (SSC) Receive/Transmit Frame Sync length\r
-AT91C_SSC_FSOS            EQU (0x7 << 20) ;- (SSC) Receive/Transmit Frame Sync Output Selection\r
-AT91C_SSC_FSOS_NONE       EQU (0x0 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: None RK pin Input-only\r
-AT91C_SSC_FSOS_NEGATIVE   EQU (0x1 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Negative Pulse\r
-AT91C_SSC_FSOS_POSITIVE   EQU (0x2 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Positive Pulse\r
-AT91C_SSC_FSOS_LOW        EQU (0x3 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Driver Low during data transfer\r
-AT91C_SSC_FSOS_HIGH       EQU (0x4 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Driver High during data transfer\r
-AT91C_SSC_FSOS_TOGGLE     EQU (0x5 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Toggling at each start of data transfer\r
-AT91C_SSC_FSEDGE          EQU (0x1 << 24) ;- (SSC) Frame Sync Edge Detection\r
-// - -------- SSC_TCMR : (SSC Offset: 0x18) SSC Transmit Clock Mode Register -------- \r
-// - -------- SSC_TFMR : (SSC Offset: 0x1c) SSC Transmit Frame Mode Register -------- \r
-AT91C_SSC_DATDEF          EQU (0x1 <<  5) ;- (SSC) Data Default Value\r
-AT91C_SSC_FSDEN           EQU (0x1 << 23) ;- (SSC) Frame Sync Data Enable\r
-// - -------- SSC_SR : (SSC Offset: 0x40) SSC Status Register -------- \r
-AT91C_SSC_TXRDY           EQU (0x1 <<  0) ;- (SSC) Transmit Ready\r
-AT91C_SSC_TXEMPTY         EQU (0x1 <<  1) ;- (SSC) Transmit Empty\r
-AT91C_SSC_ENDTX           EQU (0x1 <<  2) ;- (SSC) End Of Transmission\r
-AT91C_SSC_TXBUFE          EQU (0x1 <<  3) ;- (SSC) Transmit Buffer Empty\r
-AT91C_SSC_RXRDY           EQU (0x1 <<  4) ;- (SSC) Receive Ready\r
-AT91C_SSC_OVRUN           EQU (0x1 <<  5) ;- (SSC) Receive Overrun\r
-AT91C_SSC_ENDRX           EQU (0x1 <<  6) ;- (SSC) End of Reception\r
-AT91C_SSC_RXBUFF          EQU (0x1 <<  7) ;- (SSC) Receive Buffer Full\r
-AT91C_SSC_TXSYN           EQU (0x1 << 10) ;- (SSC) Transmit Sync\r
-AT91C_SSC_RXSYN           EQU (0x1 << 11) ;- (SSC) Receive Sync\r
-AT91C_SSC_TXENA           EQU (0x1 << 16) ;- (SSC) Transmit Enable\r
-AT91C_SSC_RXENA           EQU (0x1 << 17) ;- (SSC) Receive Enable\r
-// - -------- SSC_IER : (SSC Offset: 0x44) SSC Interrupt Enable Register -------- \r
-// - -------- SSC_IDR : (SSC Offset: 0x48) SSC Interrupt Disable Register -------- \r
-// - -------- SSC_IMR : (SSC Offset: 0x4c) SSC Interrupt Mask Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Two-wire Interface\r
-// - *****************************************************************************\r
-// - -------- TWI_CR : (TWI Offset: 0x0) TWI Control Register -------- \r
-AT91C_TWI_START           EQU (0x1 <<  0) ;- (TWI) Send a START Condition\r
-AT91C_TWI_STOP            EQU (0x1 <<  1) ;- (TWI) Send a STOP Condition\r
-AT91C_TWI_MSEN            EQU (0x1 <<  2) ;- (TWI) TWI Master Transfer Enabled\r
-AT91C_TWI_MSDIS           EQU (0x1 <<  3) ;- (TWI) TWI Master Transfer Disabled\r
-AT91C_TWI_SWRST           EQU (0x1 <<  7) ;- (TWI) Software Reset\r
-// - -------- TWI_MMR : (TWI Offset: 0x4) TWI Master Mode Register -------- \r
-AT91C_TWI_IADRSZ          EQU (0x3 <<  8) ;- (TWI) Internal Device Address Size\r
-AT91C_TWI_IADRSZ_NO       EQU (0x0 <<  8) ;- (TWI) No internal device address\r
-AT91C_TWI_IADRSZ_1_BYTE   EQU (0x1 <<  8) ;- (TWI) One-byte internal device address\r
-AT91C_TWI_IADRSZ_2_BYTE   EQU (0x2 <<  8) ;- (TWI) Two-byte internal device address\r
-AT91C_TWI_IADRSZ_3_BYTE   EQU (0x3 <<  8) ;- (TWI) Three-byte internal device address\r
-AT91C_TWI_MREAD           EQU (0x1 << 12) ;- (TWI) Master Read Direction\r
-AT91C_TWI_DADR            EQU (0x7F << 16) ;- (TWI) Device Address\r
-// - -------- TWI_CWGR : (TWI Offset: 0x10) TWI Clock Waveform Generator Register -------- \r
-AT91C_TWI_CLDIV           EQU (0xFF <<  0) ;- (TWI) Clock Low Divider\r
-AT91C_TWI_CHDIV           EQU (0xFF <<  8) ;- (TWI) Clock High Divider\r
-AT91C_TWI_CKDIV           EQU (0x7 << 16) ;- (TWI) Clock Divider\r
-// - -------- TWI_SR : (TWI Offset: 0x20) TWI Status Register -------- \r
-AT91C_TWI_TXCOMP          EQU (0x1 <<  0) ;- (TWI) Transmission Completed\r
-AT91C_TWI_RXRDY           EQU (0x1 <<  1) ;- (TWI) Receive holding register ReaDY\r
-AT91C_TWI_TXRDY           EQU (0x1 <<  2) ;- (TWI) Transmit holding register ReaDY\r
-AT91C_TWI_OVRE            EQU (0x1 <<  6) ;- (TWI) Overrun Error\r
-AT91C_TWI_UNRE            EQU (0x1 <<  7) ;- (TWI) Underrun Error\r
-AT91C_TWI_NACK            EQU (0x1 <<  8) ;- (TWI) Not Acknowledged\r
-// - -------- TWI_IER : (TWI Offset: 0x24) TWI Interrupt Enable Register -------- \r
-// - -------- TWI_IDR : (TWI Offset: 0x28) TWI Interrupt Disable Register -------- \r
-// - -------- TWI_IMR : (TWI Offset: 0x2c) TWI Interrupt Mask Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR PWMC Channel Interface\r
-// - *****************************************************************************\r
-// - -------- PWMC_CMR : (PWMC_CH Offset: 0x0) PWMC Channel Mode Register -------- \r
-AT91C_PWMC_CPRE           EQU (0xF <<  0) ;- (PWMC_CH) Channel Pre-scaler : PWMC_CLKx\r
-AT91C_PWMC_CPRE_MCK       EQU (0x0) ;- (PWMC_CH) \r
-AT91C_PWMC_CPRE_MCKA      EQU (0xB) ;- (PWMC_CH) \r
-AT91C_PWMC_CPRE_MCKB      EQU (0xC) ;- (PWMC_CH) \r
-AT91C_PWMC_CALG           EQU (0x1 <<  8) ;- (PWMC_CH) Channel Alignment\r
-AT91C_PWMC_CPOL           EQU (0x1 <<  9) ;- (PWMC_CH) Channel Polarity\r
-AT91C_PWMC_CPD            EQU (0x1 << 10) ;- (PWMC_CH) Channel Update Period\r
-// - -------- PWMC_CDTYR : (PWMC_CH Offset: 0x4) PWMC Channel Duty Cycle Register -------- \r
-AT91C_PWMC_CDTY           EQU (0x0 <<  0) ;- (PWMC_CH) Channel Duty Cycle\r
-// - -------- PWMC_CPRDR : (PWMC_CH Offset: 0x8) PWMC Channel Period Register -------- \r
-AT91C_PWMC_CPRD           EQU (0x0 <<  0) ;- (PWMC_CH) Channel Period\r
-// - -------- PWMC_CCNTR : (PWMC_CH Offset: 0xc) PWMC Channel Counter Register -------- \r
-AT91C_PWMC_CCNT           EQU (0x0 <<  0) ;- (PWMC_CH) Channel Counter\r
-// - -------- PWMC_CUPDR : (PWMC_CH Offset: 0x10) PWMC Channel Update Register -------- \r
-AT91C_PWMC_CUPD           EQU (0x0 <<  0) ;- (PWMC_CH) Channel Update\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Pulse Width Modulation Controller Interface\r
-// - *****************************************************************************\r
-// - -------- PWMC_MR : (PWMC Offset: 0x0) PWMC Mode Register -------- \r
-AT91C_PWMC_DIVA           EQU (0xFF <<  0) ;- (PWMC) CLKA divide factor.\r
-AT91C_PWMC_PREA           EQU (0xF <<  8) ;- (PWMC) Divider Input Clock Prescaler A\r
-AT91C_PWMC_PREA_MCK       EQU (0x0 <<  8) ;- (PWMC) \r
-AT91C_PWMC_DIVB           EQU (0xFF << 16) ;- (PWMC) CLKB divide factor.\r
-AT91C_PWMC_PREB           EQU (0xF << 24) ;- (PWMC) Divider Input Clock Prescaler B\r
-AT91C_PWMC_PREB_MCK       EQU (0x0 << 24) ;- (PWMC) \r
-// - -------- PWMC_ENA : (PWMC Offset: 0x4) PWMC Enable Register -------- \r
-AT91C_PWMC_CHID0          EQU (0x1 <<  0) ;- (PWMC) Channel ID 0\r
-AT91C_PWMC_CHID1          EQU (0x1 <<  1) ;- (PWMC) Channel ID 1\r
-AT91C_PWMC_CHID2          EQU (0x1 <<  2) ;- (PWMC) Channel ID 2\r
-AT91C_PWMC_CHID3          EQU (0x1 <<  3) ;- (PWMC) Channel ID 3\r
-// - -------- PWMC_DIS : (PWMC Offset: 0x8) PWMC Disable Register -------- \r
-// - -------- PWMC_SR : (PWMC Offset: 0xc) PWMC Status Register -------- \r
-// - -------- PWMC_IER : (PWMC Offset: 0x10) PWMC Interrupt Enable Register -------- \r
-// - -------- PWMC_IDR : (PWMC Offset: 0x14) PWMC Interrupt Disable Register -------- \r
-// - -------- PWMC_IMR : (PWMC Offset: 0x18) PWMC Interrupt Mask Register -------- \r
-// - -------- PWMC_ISR : (PWMC Offset: 0x1c) PWMC Interrupt Status Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR USB Device Interface\r
-// - *****************************************************************************\r
-// - -------- UDP_FRM_NUM : (UDP Offset: 0x0) USB Frame Number Register -------- \r
-AT91C_UDP_FRM_NUM         EQU (0x7FF <<  0) ;- (UDP) Frame Number as Defined in the Packet Field Formats\r
-AT91C_UDP_FRM_ERR         EQU (0x1 << 16) ;- (UDP) Frame Error\r
-AT91C_UDP_FRM_OK          EQU (0x1 << 17) ;- (UDP) Frame OK\r
-// - -------- UDP_GLB_STATE : (UDP Offset: 0x4) USB Global State Register -------- \r
-AT91C_UDP_FADDEN          EQU (0x1 <<  0) ;- (UDP) Function Address Enable\r
-AT91C_UDP_CONFG           EQU (0x1 <<  1) ;- (UDP) Configured\r
-AT91C_UDP_ESR             EQU (0x1 <<  2) ;- (UDP) Enable Send Resume\r
-AT91C_UDP_RSMINPR         EQU (0x1 <<  3) ;- (UDP) A Resume Has Been Sent to the Host\r
-AT91C_UDP_RMWUPE          EQU (0x1 <<  4) ;- (UDP) Remote Wake Up Enable\r
-// - -------- UDP_FADDR : (UDP Offset: 0x8) USB Function Address Register -------- \r
-AT91C_UDP_FADD            EQU (0xFF <<  0) ;- (UDP) Function Address Value\r
-AT91C_UDP_FEN             EQU (0x1 <<  8) ;- (UDP) Function Enable\r
-// - -------- UDP_IER : (UDP Offset: 0x10) USB Interrupt Enable Register -------- \r
-AT91C_UDP_EPINT0          EQU (0x1 <<  0) ;- (UDP) Endpoint 0 Interrupt\r
-AT91C_UDP_EPINT1          EQU (0x1 <<  1) ;- (UDP) Endpoint 0 Interrupt\r
-AT91C_UDP_EPINT2          EQU (0x1 <<  2) ;- (UDP) Endpoint 2 Interrupt\r
-AT91C_UDP_EPINT3          EQU (0x1 <<  3) ;- (UDP) Endpoint 3 Interrupt\r
-AT91C_UDP_EPINT4          EQU (0x1 <<  4) ;- (UDP) Endpoint 4 Interrupt\r
-AT91C_UDP_EPINT5          EQU (0x1 <<  5) ;- (UDP) Endpoint 5 Interrupt\r
-AT91C_UDP_RXSUSP          EQU (0x1 <<  8) ;- (UDP) USB Suspend Interrupt\r
-AT91C_UDP_RXRSM           EQU (0x1 <<  9) ;- (UDP) USB Resume Interrupt\r
-AT91C_UDP_EXTRSM          EQU (0x1 << 10) ;- (UDP) USB External Resume Interrupt\r
-AT91C_UDP_SOFINT          EQU (0x1 << 11) ;- (UDP) USB Start Of frame Interrupt\r
-AT91C_UDP_WAKEUP          EQU (0x1 << 13) ;- (UDP) USB Resume Interrupt\r
-// - -------- UDP_IDR : (UDP Offset: 0x14) USB Interrupt Disable Register -------- \r
-// - -------- UDP_IMR : (UDP Offset: 0x18) USB Interrupt Mask Register -------- \r
-// - -------- UDP_ISR : (UDP Offset: 0x1c) USB Interrupt Status Register -------- \r
-AT91C_UDP_ENDBUSRES       EQU (0x1 << 12) ;- (UDP) USB End Of Bus Reset Interrupt\r
-// - -------- UDP_ICR : (UDP Offset: 0x20) USB Interrupt Clear Register -------- \r
-// - -------- UDP_RST_EP : (UDP Offset: 0x28) USB Reset Endpoint Register -------- \r
-AT91C_UDP_EP0             EQU (0x1 <<  0) ;- (UDP) Reset Endpoint 0\r
-AT91C_UDP_EP1             EQU (0x1 <<  1) ;- (UDP) Reset Endpoint 1\r
-AT91C_UDP_EP2             EQU (0x1 <<  2) ;- (UDP) Reset Endpoint 2\r
-AT91C_UDP_EP3             EQU (0x1 <<  3) ;- (UDP) Reset Endpoint 3\r
-AT91C_UDP_EP4             EQU (0x1 <<  4) ;- (UDP) Reset Endpoint 4\r
-AT91C_UDP_EP5             EQU (0x1 <<  5) ;- (UDP) Reset Endpoint 5\r
-// - -------- UDP_CSR : (UDP Offset: 0x30) USB Endpoint Control and Status Register -------- \r
-AT91C_UDP_TXCOMP          EQU (0x1 <<  0) ;- (UDP) Generates an IN packet with data previously written in the DPR\r
-AT91C_UDP_RX_DATA_BK0     EQU (0x1 <<  1) ;- (UDP) Receive Data Bank 0\r
-AT91C_UDP_RXSETUP         EQU (0x1 <<  2) ;- (UDP) Sends STALL to the Host (Control endpoints)\r
-AT91C_UDP_ISOERROR        EQU (0x1 <<  3) ;- (UDP) Isochronous error (Isochronous endpoints)\r
-AT91C_UDP_TXPKTRDY        EQU (0x1 <<  4) ;- (UDP) Transmit Packet Ready\r
-AT91C_UDP_FORCESTALL      EQU (0x1 <<  5) ;- (UDP) Force Stall (used by Control, Bulk and Isochronous endpoints).\r
-AT91C_UDP_RX_DATA_BK1     EQU (0x1 <<  6) ;- (UDP) Receive Data Bank 1 (only used by endpoints with ping-pong attributes).\r
-AT91C_UDP_DIR             EQU (0x1 <<  7) ;- (UDP) Transfer Direction\r
-AT91C_UDP_EPTYPE          EQU (0x7 <<  8) ;- (UDP) Endpoint type\r
-AT91C_UDP_EPTYPE_CTRL     EQU (0x0 <<  8) ;- (UDP) Control\r
-AT91C_UDP_EPTYPE_ISO_OUT  EQU (0x1 <<  8) ;- (UDP) Isochronous OUT\r
-AT91C_UDP_EPTYPE_BULK_OUT EQU (0x2 <<  8) ;- (UDP) Bulk OUT\r
-AT91C_UDP_EPTYPE_INT_OUT  EQU (0x3 <<  8) ;- (UDP) Interrupt OUT\r
-AT91C_UDP_EPTYPE_ISO_IN   EQU (0x5 <<  8) ;- (UDP) Isochronous IN\r
-AT91C_UDP_EPTYPE_BULK_IN  EQU (0x6 <<  8) ;- (UDP) Bulk IN\r
-AT91C_UDP_EPTYPE_INT_IN   EQU (0x7 <<  8) ;- (UDP) Interrupt IN\r
-AT91C_UDP_DTGLE           EQU (0x1 << 11) ;- (UDP) Data Toggle\r
-AT91C_UDP_EPEDS           EQU (0x1 << 15) ;- (UDP) Endpoint Enable Disable\r
-AT91C_UDP_RXBYTECNT       EQU (0x7FF << 16) ;- (UDP) Number Of Bytes Available in the FIFO\r
-// - -------- UDP_TXVC : (UDP Offset: 0x74) Transceiver Control Register -------- \r
-AT91C_UDP_TXVDIS          EQU (0x1 <<  8) ;- (UDP) \r
-AT91C_UDP_PUON            EQU (0x1 <<  9) ;- (UDP) Pull-up ON\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Timer Counter Channel Interface\r
-// - *****************************************************************************\r
-// - -------- TC_CCR : (TC Offset: 0x0) TC Channel Control Register -------- \r
-AT91C_TC_CLKEN            EQU (0x1 <<  0) ;- (TC) Counter Clock Enable Command\r
-AT91C_TC_CLKDIS           EQU (0x1 <<  1) ;- (TC) Counter Clock Disable Command\r
-AT91C_TC_SWTRG            EQU (0x1 <<  2) ;- (TC) Software Trigger Command\r
-// - -------- TC_CMR : (TC Offset: 0x4) TC Channel Mode Register: Capture Mode / Waveform Mode -------- \r
-AT91C_TC_CLKS             EQU (0x7 <<  0) ;- (TC) Clock Selection\r
-AT91C_TC_CLKS_TIMER_DIV1_CLOCK EQU (0x0) ;- (TC) Clock selected: TIMER_DIV1_CLOCK\r
-AT91C_TC_CLKS_TIMER_DIV2_CLOCK EQU (0x1) ;- (TC) Clock selected: TIMER_DIV2_CLOCK\r
-AT91C_TC_CLKS_TIMER_DIV3_CLOCK EQU (0x2) ;- (TC) Clock selected: TIMER_DIV3_CLOCK\r
-AT91C_TC_CLKS_TIMER_DIV4_CLOCK EQU (0x3) ;- (TC) Clock selected: TIMER_DIV4_CLOCK\r
-AT91C_TC_CLKS_TIMER_DIV5_CLOCK EQU (0x4) ;- (TC) Clock selected: TIMER_DIV5_CLOCK\r
-AT91C_TC_CLKS_XC0         EQU (0x5) ;- (TC) Clock selected: XC0\r
-AT91C_TC_CLKS_XC1         EQU (0x6) ;- (TC) Clock selected: XC1\r
-AT91C_TC_CLKS_XC2         EQU (0x7) ;- (TC) Clock selected: XC2\r
-AT91C_TC_CLKI             EQU (0x1 <<  3) ;- (TC) Clock Invert\r
-AT91C_TC_BURST            EQU (0x3 <<  4) ;- (TC) Burst Signal Selection\r
-AT91C_TC_BURST_NONE       EQU (0x0 <<  4) ;- (TC) The clock is not gated by an external signal\r
-AT91C_TC_BURST_XC0        EQU (0x1 <<  4) ;- (TC) XC0 is ANDed with the selected clock\r
-AT91C_TC_BURST_XC1        EQU (0x2 <<  4) ;- (TC) XC1 is ANDed with the selected clock\r
-AT91C_TC_BURST_XC2        EQU (0x3 <<  4) ;- (TC) XC2 is ANDed with the selected clock\r
-AT91C_TC_CPCSTOP          EQU (0x1 <<  6) ;- (TC) Counter Clock Stopped with RC Compare\r
-AT91C_TC_LDBSTOP          EQU (0x1 <<  6) ;- (TC) Counter Clock Stopped with RB Loading\r
-AT91C_TC_CPCDIS           EQU (0x1 <<  7) ;- (TC) Counter Clock Disable with RC Compare\r
-AT91C_TC_LDBDIS           EQU (0x1 <<  7) ;- (TC) Counter Clock Disabled with RB Loading\r
-AT91C_TC_ETRGEDG          EQU (0x3 <<  8) ;- (TC) External Trigger Edge Selection\r
-AT91C_TC_ETRGEDG_NONE     EQU (0x0 <<  8) ;- (TC) Edge: None\r
-AT91C_TC_ETRGEDG_RISING   EQU (0x1 <<  8) ;- (TC) Edge: rising edge\r
-AT91C_TC_ETRGEDG_FALLING  EQU (0x2 <<  8) ;- (TC) Edge: falling edge\r
-AT91C_TC_ETRGEDG_BOTH     EQU (0x3 <<  8) ;- (TC) Edge: each edge\r
-AT91C_TC_EEVTEDG          EQU (0x3 <<  8) ;- (TC) External Event Edge Selection\r
-AT91C_TC_EEVTEDG_NONE     EQU (0x0 <<  8) ;- (TC) Edge: None\r
-AT91C_TC_EEVTEDG_RISING   EQU (0x1 <<  8) ;- (TC) Edge: rising edge\r
-AT91C_TC_EEVTEDG_FALLING  EQU (0x2 <<  8) ;- (TC) Edge: falling edge\r
-AT91C_TC_EEVTEDG_BOTH     EQU (0x3 <<  8) ;- (TC) Edge: each edge\r
-AT91C_TC_EEVT             EQU (0x3 << 10) ;- (TC) External Event  Selection\r
-AT91C_TC_EEVT_TIOB        EQU (0x0 << 10) ;- (TC) Signal selected as external event: TIOB TIOB direction: input\r
-AT91C_TC_EEVT_XC0         EQU (0x1 << 10) ;- (TC) Signal selected as external event: XC0 TIOB direction: output\r
-AT91C_TC_EEVT_XC1         EQU (0x2 << 10) ;- (TC) Signal selected as external event: XC1 TIOB direction: output\r
-AT91C_TC_EEVT_XC2         EQU (0x3 << 10) ;- (TC) Signal selected as external event: XC2 TIOB direction: output\r
-AT91C_TC_ABETRG           EQU (0x1 << 10) ;- (TC) TIOA or TIOB External Trigger Selection\r
-AT91C_TC_ENETRG           EQU (0x1 << 12) ;- (TC) External Event Trigger enable\r
-AT91C_TC_WAVESEL          EQU (0x3 << 13) ;- (TC) Waveform  Selection\r
-AT91C_TC_WAVESEL_UP       EQU (0x0 << 13) ;- (TC) UP mode without atomatic trigger on RC Compare\r
-AT91C_TC_WAVESEL_UPDOWN   EQU (0x1 << 13) ;- (TC) UPDOWN mode without automatic trigger on RC Compare\r
-AT91C_TC_WAVESEL_UP_AUTO  EQU (0x2 << 13) ;- (TC) UP mode with automatic trigger on RC Compare\r
-AT91C_TC_WAVESEL_UPDOWN_AUTO EQU (0x3 << 13) ;- (TC) UPDOWN mode with automatic trigger on RC Compare\r
-AT91C_TC_CPCTRG           EQU (0x1 << 14) ;- (TC) RC Compare Trigger Enable\r
-AT91C_TC_WAVE             EQU (0x1 << 15) ;- (TC) \r
-AT91C_TC_ACPA             EQU (0x3 << 16) ;- (TC) RA Compare Effect on TIOA\r
-AT91C_TC_ACPA_NONE        EQU (0x0 << 16) ;- (TC) Effect: none\r
-AT91C_TC_ACPA_SET         EQU (0x1 << 16) ;- (TC) Effect: set\r
-AT91C_TC_ACPA_CLEAR       EQU (0x2 << 16) ;- (TC) Effect: clear\r
-AT91C_TC_ACPA_TOGGLE      EQU (0x3 << 16) ;- (TC) Effect: toggle\r
-AT91C_TC_LDRA             EQU (0x3 << 16) ;- (TC) RA Loading Selection\r
-AT91C_TC_LDRA_NONE        EQU (0x0 << 16) ;- (TC) Edge: None\r
-AT91C_TC_LDRA_RISING      EQU (0x1 << 16) ;- (TC) Edge: rising edge of TIOA\r
-AT91C_TC_LDRA_FALLING     EQU (0x2 << 16) ;- (TC) Edge: falling edge of TIOA\r
-AT91C_TC_LDRA_BOTH        EQU (0x3 << 16) ;- (TC) Edge: each edge of TIOA\r
-AT91C_TC_ACPC             EQU (0x3 << 18) ;- (TC) RC Compare Effect on TIOA\r
-AT91C_TC_ACPC_NONE        EQU (0x0 << 18) ;- (TC) Effect: none\r
-AT91C_TC_ACPC_SET         EQU (0x1 << 18) ;- (TC) Effect: set\r
-AT91C_TC_ACPC_CLEAR       EQU (0x2 << 18) ;- (TC) Effect: clear\r
-AT91C_TC_ACPC_TOGGLE      EQU (0x3 << 18) ;- (TC) Effect: toggle\r
-AT91C_TC_LDRB             EQU (0x3 << 18) ;- (TC) RB Loading Selection\r
-AT91C_TC_LDRB_NONE        EQU (0x0 << 18) ;- (TC) Edge: None\r
-AT91C_TC_LDRB_RISING      EQU (0x1 << 18) ;- (TC) Edge: rising edge of TIOA\r
-AT91C_TC_LDRB_FALLING     EQU (0x2 << 18) ;- (TC) Edge: falling edge of TIOA\r
-AT91C_TC_LDRB_BOTH        EQU (0x3 << 18) ;- (TC) Edge: each edge of TIOA\r
-AT91C_TC_AEEVT            EQU (0x3 << 20) ;- (TC) External Event Effect on TIOA\r
-AT91C_TC_AEEVT_NONE       EQU (0x0 << 20) ;- (TC) Effect: none\r
-AT91C_TC_AEEVT_SET        EQU (0x1 << 20) ;- (TC) Effect: set\r
-AT91C_TC_AEEVT_CLEAR      EQU (0x2 << 20) ;- (TC) Effect: clear\r
-AT91C_TC_AEEVT_TOGGLE     EQU (0x3 << 20) ;- (TC) Effect: toggle\r
-AT91C_TC_ASWTRG           EQU (0x3 << 22) ;- (TC) Software Trigger Effect on TIOA\r
-AT91C_TC_ASWTRG_NONE      EQU (0x0 << 22) ;- (TC) Effect: none\r
-AT91C_TC_ASWTRG_SET       EQU (0x1 << 22) ;- (TC) Effect: set\r
-AT91C_TC_ASWTRG_CLEAR     EQU (0x2 << 22) ;- (TC) Effect: clear\r
-AT91C_TC_ASWTRG_TOGGLE    EQU (0x3 << 22) ;- (TC) Effect: toggle\r
-AT91C_TC_BCPB             EQU (0x3 << 24) ;- (TC) RB Compare Effect on TIOB\r
-AT91C_TC_BCPB_NONE        EQU (0x0 << 24) ;- (TC) Effect: none\r
-AT91C_TC_BCPB_SET         EQU (0x1 << 24) ;- (TC) Effect: set\r
-AT91C_TC_BCPB_CLEAR       EQU (0x2 << 24) ;- (TC) Effect: clear\r
-AT91C_TC_BCPB_TOGGLE      EQU (0x3 << 24) ;- (TC) Effect: toggle\r
-AT91C_TC_BCPC             EQU (0x3 << 26) ;- (TC) RC Compare Effect on TIOB\r
-AT91C_TC_BCPC_NONE        EQU (0x0 << 26) ;- (TC) Effect: none\r
-AT91C_TC_BCPC_SET         EQU (0x1 << 26) ;- (TC) Effect: set\r
-AT91C_TC_BCPC_CLEAR       EQU (0x2 << 26) ;- (TC) Effect: clear\r
-AT91C_TC_BCPC_TOGGLE      EQU (0x3 << 26) ;- (TC) Effect: toggle\r
-AT91C_TC_BEEVT            EQU (0x3 << 28) ;- (TC) External Event Effect on TIOB\r
-AT91C_TC_BEEVT_NONE       EQU (0x0 << 28) ;- (TC) Effect: none\r
-AT91C_TC_BEEVT_SET        EQU (0x1 << 28) ;- (TC) Effect: set\r
-AT91C_TC_BEEVT_CLEAR      EQU (0x2 << 28) ;- (TC) Effect: clear\r
-AT91C_TC_BEEVT_TOGGLE     EQU (0x3 << 28) ;- (TC) Effect: toggle\r
-AT91C_TC_BSWTRG           EQU (0x3 << 30) ;- (TC) Software Trigger Effect on TIOB\r
-AT91C_TC_BSWTRG_NONE      EQU (0x0 << 30) ;- (TC) Effect: none\r
-AT91C_TC_BSWTRG_SET       EQU (0x1 << 30) ;- (TC) Effect: set\r
-AT91C_TC_BSWTRG_CLEAR     EQU (0x2 << 30) ;- (TC) Effect: clear\r
-AT91C_TC_BSWTRG_TOGGLE    EQU (0x3 << 30) ;- (TC) Effect: toggle\r
-// - -------- TC_SR : (TC Offset: 0x20) TC Channel Status Register -------- \r
-AT91C_TC_COVFS            EQU (0x1 <<  0) ;- (TC) Counter Overflow\r
-AT91C_TC_LOVRS            EQU (0x1 <<  1) ;- (TC) Load Overrun\r
-AT91C_TC_CPAS             EQU (0x1 <<  2) ;- (TC) RA Compare\r
-AT91C_TC_CPBS             EQU (0x1 <<  3) ;- (TC) RB Compare\r
-AT91C_TC_CPCS             EQU (0x1 <<  4) ;- (TC) RC Compare\r
-AT91C_TC_LDRAS            EQU (0x1 <<  5) ;- (TC) RA Loading\r
-AT91C_TC_LDRBS            EQU (0x1 <<  6) ;- (TC) RB Loading\r
-AT91C_TC_ETRGS            EQU (0x1 <<  7) ;- (TC) External Trigger\r
-AT91C_TC_CLKSTA           EQU (0x1 << 16) ;- (TC) Clock Enabling\r
-AT91C_TC_MTIOA            EQU (0x1 << 17) ;- (TC) TIOA Mirror\r
-AT91C_TC_MTIOB            EQU (0x1 << 18) ;- (TC) TIOA Mirror\r
-// - -------- TC_IER : (TC Offset: 0x24) TC Channel Interrupt Enable Register -------- \r
-// - -------- TC_IDR : (TC Offset: 0x28) TC Channel Interrupt Disable Register -------- \r
-// - -------- TC_IMR : (TC Offset: 0x2c) TC Channel Interrupt Mask Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Timer Counter Interface\r
-// - *****************************************************************************\r
-// - -------- TCB_BCR : (TCB Offset: 0xc0) TC Block Control Register -------- \r
-AT91C_TCB_SYNC            EQU (0x1 <<  0) ;- (TCB) Synchro Command\r
-// - -------- TCB_BMR : (TCB Offset: 0xc4) TC Block Mode Register -------- \r
-AT91C_TCB_TC0XC0S         EQU (0x3 <<  0) ;- (TCB) External Clock Signal 0 Selection\r
-AT91C_TCB_TC0XC0S_TCLK0   EQU (0x0) ;- (TCB) TCLK0 connected to XC0\r
-AT91C_TCB_TC0XC0S_NONE    EQU (0x1) ;- (TCB) None signal connected to XC0\r
-AT91C_TCB_TC0XC0S_TIOA1   EQU (0x2) ;- (TCB) TIOA1 connected to XC0\r
-AT91C_TCB_TC0XC0S_TIOA2   EQU (0x3) ;- (TCB) TIOA2 connected to XC0\r
-AT91C_TCB_TC1XC1S         EQU (0x3 <<  2) ;- (TCB) External Clock Signal 1 Selection\r
-AT91C_TCB_TC1XC1S_TCLK1   EQU (0x0 <<  2) ;- (TCB) TCLK1 connected to XC1\r
-AT91C_TCB_TC1XC1S_NONE    EQU (0x1 <<  2) ;- (TCB) None signal connected to XC1\r
-AT91C_TCB_TC1XC1S_TIOA0   EQU (0x2 <<  2) ;- (TCB) TIOA0 connected to XC1\r
-AT91C_TCB_TC1XC1S_TIOA2   EQU (0x3 <<  2) ;- (TCB) TIOA2 connected to XC1\r
-AT91C_TCB_TC2XC2S         EQU (0x3 <<  4) ;- (TCB) External Clock Signal 2 Selection\r
-AT91C_TCB_TC2XC2S_TCLK2   EQU (0x0 <<  4) ;- (TCB) TCLK2 connected to XC2\r
-AT91C_TCB_TC2XC2S_NONE    EQU (0x1 <<  4) ;- (TCB) None signal connected to XC2\r
-AT91C_TCB_TC2XC2S_TIOA0   EQU (0x2 <<  4) ;- (TCB) TIOA0 connected to XC2\r
-AT91C_TCB_TC2XC2S_TIOA1   EQU (0x3 <<  4) ;- (TCB) TIOA2 connected to XC2\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Control Area Network MailBox Interface\r
-// - *****************************************************************************\r
-// - -------- CAN_MMR : (CAN_MB Offset: 0x0) CAN Message Mode Register -------- \r
-AT91C_CAN_MTIMEMARK       EQU (0xFFFF <<  0) ;- (CAN_MB) Mailbox Timemark\r
-AT91C_CAN_PRIOR           EQU (0xF << 16) ;- (CAN_MB) Mailbox Priority\r
-AT91C_CAN_MOT             EQU (0x7 << 24) ;- (CAN_MB) Mailbox Object Type\r
-AT91C_CAN_MOT_DIS         EQU (0x0 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_RX          EQU (0x1 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_RXOVERWRITE EQU (0x2 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_TX          EQU (0x3 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_CONSUMER    EQU (0x4 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_PRODUCER    EQU (0x5 << 24) ;- (CAN_MB) \r
-// - -------- CAN_MAM : (CAN_MB Offset: 0x4) CAN Message Acceptance Mask Register -------- \r
-AT91C_CAN_MIDvB           EQU (0x3FFFF <<  0) ;- (CAN_MB) Complementary bits for identifier in extended mode\r
-AT91C_CAN_MIDvA           EQU (0x7FF << 18) ;- (CAN_MB) Identifier for standard frame mode\r
-AT91C_CAN_MIDE            EQU (0x1 << 29) ;- (CAN_MB) Identifier Version\r
-// - -------- CAN_MID : (CAN_MB Offset: 0x8) CAN Message ID Register -------- \r
-// - -------- CAN_MFID : (CAN_MB Offset: 0xc) CAN Message Family ID Register -------- \r
-// - -------- CAN_MSR : (CAN_MB Offset: 0x10) CAN Message Status Register -------- \r
-AT91C_CAN_MTIMESTAMP      EQU (0xFFFF <<  0) ;- (CAN_MB) Timer Value\r
-AT91C_CAN_MDLC            EQU (0xF << 16) ;- (CAN_MB) Mailbox Data Length Code\r
-AT91C_CAN_MRTR            EQU (0x1 << 20) ;- (CAN_MB) Mailbox Remote Transmission Request\r
-AT91C_CAN_MABT            EQU (0x1 << 22) ;- (CAN_MB) Mailbox Message Abort\r
-AT91C_CAN_MRDY            EQU (0x1 << 23) ;- (CAN_MB) Mailbox Ready\r
-AT91C_CAN_MMI             EQU (0x1 << 24) ;- (CAN_MB) Mailbox Message Ignored\r
-// - -------- CAN_MDL : (CAN_MB Offset: 0x14) CAN Message Data Low Register -------- \r
-// - -------- CAN_MDH : (CAN_MB Offset: 0x18) CAN Message Data High Register -------- \r
-// - -------- CAN_MCR : (CAN_MB Offset: 0x1c) CAN Message Control Register -------- \r
-AT91C_CAN_MACR            EQU (0x1 << 22) ;- (CAN_MB) Abort Request for Mailbox\r
-AT91C_CAN_MTCR            EQU (0x1 << 23) ;- (CAN_MB) Mailbox Transfer Command\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Control Area Network Interface\r
-// - *****************************************************************************\r
-// - -------- CAN_MR : (CAN Offset: 0x0) CAN Mode Register -------- \r
-AT91C_CAN_CANEN           EQU (0x1 <<  0) ;- (CAN) CAN Controller Enable\r
-AT91C_CAN_LPM             EQU (0x1 <<  1) ;- (CAN) Disable/Enable Low Power Mode\r
-AT91C_CAN_ABM             EQU (0x1 <<  2) ;- (CAN) Disable/Enable Autobaud/Listen Mode\r
-AT91C_CAN_OVL             EQU (0x1 <<  3) ;- (CAN) Disable/Enable Overload Frame\r
-AT91C_CAN_TEOF            EQU (0x1 <<  4) ;- (CAN) Time Stamp messages at each end of Frame\r
-AT91C_CAN_TTM             EQU (0x1 <<  5) ;- (CAN) Disable/Enable Time Trigger Mode\r
-AT91C_CAN_TIMFRZ          EQU (0x1 <<  6) ;- (CAN) Enable Timer Freeze\r
-AT91C_CAN_DRPT            EQU (0x1 <<  7) ;- (CAN) Disable Repeat\r
-// - -------- CAN_IER : (CAN Offset: 0x4) CAN Interrupt Enable Register -------- \r
-AT91C_CAN_MB0             EQU (0x1 <<  0) ;- (CAN) Mailbox 0 Flag\r
-AT91C_CAN_MB1             EQU (0x1 <<  1) ;- (CAN) Mailbox 1 Flag\r
-AT91C_CAN_MB2             EQU (0x1 <<  2) ;- (CAN) Mailbox 2 Flag\r
-AT91C_CAN_MB3             EQU (0x1 <<  3) ;- (CAN) Mailbox 3 Flag\r
-AT91C_CAN_MB4             EQU (0x1 <<  4) ;- (CAN) Mailbox 4 Flag\r
-AT91C_CAN_MB5             EQU (0x1 <<  5) ;- (CAN) Mailbox 5 Flag\r
-AT91C_CAN_MB6             EQU (0x1 <<  6) ;- (CAN) Mailbox 6 Flag\r
-AT91C_CAN_MB7             EQU (0x1 <<  7) ;- (CAN) Mailbox 7 Flag\r
-AT91C_CAN_MB8             EQU (0x1 <<  8) ;- (CAN) Mailbox 8 Flag\r
-AT91C_CAN_MB9             EQU (0x1 <<  9) ;- (CAN) Mailbox 9 Flag\r
-AT91C_CAN_MB10            EQU (0x1 << 10) ;- (CAN) Mailbox 10 Flag\r
-AT91C_CAN_MB11            EQU (0x1 << 11) ;- (CAN) Mailbox 11 Flag\r
-AT91C_CAN_MB12            EQU (0x1 << 12) ;- (CAN) Mailbox 12 Flag\r
-AT91C_CAN_MB13            EQU (0x1 << 13) ;- (CAN) Mailbox 13 Flag\r
-AT91C_CAN_MB14            EQU (0x1 << 14) ;- (CAN) Mailbox 14 Flag\r
-AT91C_CAN_MB15            EQU (0x1 << 15) ;- (CAN) Mailbox 15 Flag\r
-AT91C_CAN_ERRA            EQU (0x1 << 16) ;- (CAN) Error Active Mode Flag\r
-AT91C_CAN_WARN            EQU (0x1 << 17) ;- (CAN) Warning Limit Flag\r
-AT91C_CAN_ERRP            EQU (0x1 << 18) ;- (CAN) Error Passive Mode Flag\r
-AT91C_CAN_BOFF            EQU (0x1 << 19) ;- (CAN) Bus Off Mode Flag\r
-AT91C_CAN_SLEEP           EQU (0x1 << 20) ;- (CAN) Sleep Flag\r
-AT91C_CAN_WAKEUP          EQU (0x1 << 21) ;- (CAN) Wakeup Flag\r
-AT91C_CAN_TOVF            EQU (0x1 << 22) ;- (CAN) Timer Overflow Flag\r
-AT91C_CAN_TSTP            EQU (0x1 << 23) ;- (CAN) Timestamp Flag\r
-AT91C_CAN_CERR            EQU (0x1 << 24) ;- (CAN) CRC Error\r
-AT91C_CAN_SERR            EQU (0x1 << 25) ;- (CAN) Stuffing Error\r
-AT91C_CAN_AERR            EQU (0x1 << 26) ;- (CAN) Acknowledgment Error\r
-AT91C_CAN_FERR            EQU (0x1 << 27) ;- (CAN) Form Error\r
-AT91C_CAN_BERR            EQU (0x1 << 28) ;- (CAN) Bit Error\r
-// - -------- CAN_IDR : (CAN Offset: 0x8) CAN Interrupt Disable Register -------- \r
-// - -------- CAN_IMR : (CAN Offset: 0xc) CAN Interrupt Mask Register -------- \r
-// - -------- CAN_SR : (CAN Offset: 0x10) CAN Status Register -------- \r
-AT91C_CAN_RBSY            EQU (0x1 << 29) ;- (CAN) Receiver Busy\r
-AT91C_CAN_TBSY            EQU (0x1 << 30) ;- (CAN) Transmitter Busy\r
-AT91C_CAN_OVLY            EQU (0x1 << 31) ;- (CAN) Overload Busy\r
-// - -------- CAN_BR : (CAN Offset: 0x14) CAN Baudrate Register -------- \r
-AT91C_CAN_PHASE2          EQU (0x7 <<  0) ;- (CAN) Phase 2 segment\r
-AT91C_CAN_PHASE1          EQU (0x7 <<  4) ;- (CAN) Phase 1 segment\r
-AT91C_CAN_PROPAG          EQU (0x7 <<  8) ;- (CAN) Programmation time segment\r
-AT91C_CAN_SYNC            EQU (0x3 << 12) ;- (CAN) Re-synchronization jump width segment\r
-AT91C_CAN_BRP             EQU (0x7F << 16) ;- (CAN) Baudrate Prescaler\r
-AT91C_CAN_SMP             EQU (0x1 << 24) ;- (CAN) Sampling mode\r
-// - -------- CAN_TIM : (CAN Offset: 0x18) CAN Timer Register -------- \r
-AT91C_CAN_TIMER           EQU (0xFFFF <<  0) ;- (CAN) Timer field\r
-// - -------- CAN_TIMESTP : (CAN Offset: 0x1c) CAN Timestamp Register -------- \r
-// - -------- CAN_ECR : (CAN Offset: 0x20) CAN Error Counter Register -------- \r
-AT91C_CAN_REC             EQU (0xFF <<  0) ;- (CAN) Receive Error Counter\r
-AT91C_CAN_TEC             EQU (0xFF << 16) ;- (CAN) Transmit Error Counter\r
-// - -------- CAN_TCR : (CAN Offset: 0x24) CAN Transfer Command Register -------- \r
-AT91C_CAN_TIMRST          EQU (0x1 << 31) ;- (CAN) Timer Reset Field\r
-// - -------- CAN_ACR : (CAN Offset: 0x28) CAN Abort Command Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Ethernet MAC 10/100\r
-// - *****************************************************************************\r
-// - -------- EMAC_NCR : (EMAC Offset: 0x0)  -------- \r
-AT91C_EMAC_LB             EQU (0x1 <<  0) ;- (EMAC) Loopback. Optional. When set, loopback signal is at high level.\r
-AT91C_EMAC_LLB            EQU (0x1 <<  1) ;- (EMAC) Loopback local. \r
-AT91C_EMAC_RE             EQU (0x1 <<  2) ;- (EMAC) Receive enable. \r
-AT91C_EMAC_TE             EQU (0x1 <<  3) ;- (EMAC) Transmit enable. \r
-AT91C_EMAC_MPE            EQU (0x1 <<  4) ;- (EMAC) Management port enable. \r
-AT91C_EMAC_CLRSTAT        EQU (0x1 <<  5) ;- (EMAC) Clear statistics registers. \r
-AT91C_EMAC_INCSTAT        EQU (0x1 <<  6) ;- (EMAC) Increment statistics registers. \r
-AT91C_EMAC_WESTAT         EQU (0x1 <<  7) ;- (EMAC) Write enable for statistics registers. \r
-AT91C_EMAC_BP             EQU (0x1 <<  8) ;- (EMAC) Back pressure. \r
-AT91C_EMAC_TSTART         EQU (0x1 <<  9) ;- (EMAC) Start Transmission. \r
-AT91C_EMAC_THALT          EQU (0x1 << 10) ;- (EMAC) Transmission Halt. \r
-AT91C_EMAC_TPFR           EQU (0x1 << 11) ;- (EMAC) Transmit pause frame \r
-AT91C_EMAC_TZQ            EQU (0x1 << 12) ;- (EMAC) Transmit zero quantum pause frame\r
-// - -------- EMAC_NCFGR : (EMAC Offset: 0x4) Network Configuration Register -------- \r
-AT91C_EMAC_SPD            EQU (0x1 <<  0) ;- (EMAC) Speed. \r
-AT91C_EMAC_FD             EQU (0x1 <<  1) ;- (EMAC) Full duplex. \r
-AT91C_EMAC_JFRAME         EQU (0x1 <<  3) ;- (EMAC) Jumbo Frames. \r
-AT91C_EMAC_CAF            EQU (0x1 <<  4) ;- (EMAC) Copy all frames. \r
-AT91C_EMAC_NBC            EQU (0x1 <<  5) ;- (EMAC) No broadcast. \r
-AT91C_EMAC_MTI            EQU (0x1 <<  6) ;- (EMAC) Multicast hash event enable\r
-AT91C_EMAC_UNI            EQU (0x1 <<  7) ;- (EMAC) Unicast hash enable. \r
-AT91C_EMAC_BIG            EQU (0x1 <<  8) ;- (EMAC) Receive 1522 bytes. \r
-AT91C_EMAC_EAE            EQU (0x1 <<  9) ;- (EMAC) External address match enable. \r
-AT91C_EMAC_CLK            EQU (0x3 << 10) ;- (EMAC) \r
-AT91C_EMAC_CLK_HCLK_8     EQU (0x0 << 10) ;- (EMAC) HCLK divided by 8\r
-AT91C_EMAC_CLK_HCLK_16    EQU (0x1 << 10) ;- (EMAC) HCLK divided by 16\r
-AT91C_EMAC_CLK_HCLK_32    EQU (0x2 << 10) ;- (EMAC) HCLK divided by 32\r
-AT91C_EMAC_CLK_HCLK_64    EQU (0x3 << 10) ;- (EMAC) HCLK divided by 64\r
-AT91C_EMAC_RTY            EQU (0x1 << 12) ;- (EMAC) \r
-AT91C_EMAC_PAE            EQU (0x1 << 13) ;- (EMAC) \r
-AT91C_EMAC_RBOF           EQU (0x3 << 14) ;- (EMAC) \r
-AT91C_EMAC_RBOF_OFFSET_0  EQU (0x0 << 14) ;- (EMAC) no offset from start of receive buffer\r
-AT91C_EMAC_RBOF_OFFSET_1  EQU (0x1 << 14) ;- (EMAC) one byte offset from start of receive buffer\r
-AT91C_EMAC_RBOF_OFFSET_2  EQU (0x2 << 14) ;- (EMAC) two bytes offset from start of receive buffer\r
-AT91C_EMAC_RBOF_OFFSET_3  EQU (0x3 << 14) ;- (EMAC) three bytes offset from start of receive buffer\r
-AT91C_EMAC_RLCE           EQU (0x1 << 16) ;- (EMAC) Receive Length field Checking Enable\r
-AT91C_EMAC_DRFCS          EQU (0x1 << 17) ;- (EMAC) Discard Receive FCS\r
-AT91C_EMAC_EFRHD          EQU (0x1 << 18) ;- (EMAC) \r
-AT91C_EMAC_IRXFCS         EQU (0x1 << 19) ;- (EMAC) Ignore RX FCS\r
-// - -------- EMAC_NSR : (EMAC Offset: 0x8) Network Status Register -------- \r
-AT91C_EMAC_LINKR          EQU (0x1 <<  0) ;- (EMAC) \r
-AT91C_EMAC_MDIO           EQU (0x1 <<  1) ;- (EMAC) \r
-AT91C_EMAC_IDLE           EQU (0x1 <<  2) ;- (EMAC) \r
-// - -------- EMAC_TSR : (EMAC Offset: 0x14) Transmit Status Register -------- \r
-AT91C_EMAC_UBR            EQU (0x1 <<  0) ;- (EMAC) \r
-AT91C_EMAC_COL            EQU (0x1 <<  1) ;- (EMAC) \r
-AT91C_EMAC_RLES           EQU (0x1 <<  2) ;- (EMAC) \r
-AT91C_EMAC_TGO            EQU (0x1 <<  3) ;- (EMAC) Transmit Go\r
-AT91C_EMAC_BEX            EQU (0x1 <<  4) ;- (EMAC) Buffers exhausted mid frame\r
-AT91C_EMAC_COMP           EQU (0x1 <<  5) ;- (EMAC) \r
-AT91C_EMAC_UND            EQU (0x1 <<  6) ;- (EMAC) \r
-// - -------- EMAC_RSR : (EMAC Offset: 0x20) Receive Status Register -------- \r
-AT91C_EMAC_BNA            EQU (0x1 <<  0) ;- (EMAC) \r
-AT91C_EMAC_REC            EQU (0x1 <<  1) ;- (EMAC) \r
-AT91C_EMAC_OVR            EQU (0x1 <<  2) ;- (EMAC) \r
-// - -------- EMAC_ISR : (EMAC Offset: 0x24) Interrupt Status Register -------- \r
-AT91C_EMAC_MFD            EQU (0x1 <<  0) ;- (EMAC) \r
-AT91C_EMAC_RCOMP          EQU (0x1 <<  1) ;- (EMAC) \r
-AT91C_EMAC_RXUBR          EQU (0x1 <<  2) ;- (EMAC) \r
-AT91C_EMAC_TXUBR          EQU (0x1 <<  3) ;- (EMAC) \r
-AT91C_EMAC_TUNDR          EQU (0x1 <<  4) ;- (EMAC) \r
-AT91C_EMAC_RLEX           EQU (0x1 <<  5) ;- (EMAC) \r
-AT91C_EMAC_TXERR          EQU (0x1 <<  6) ;- (EMAC) \r
-AT91C_EMAC_TCOMP          EQU (0x1 <<  7) ;- (EMAC) \r
-AT91C_EMAC_LINK           EQU (0x1 <<  9) ;- (EMAC) \r
-AT91C_EMAC_ROVR           EQU (0x1 << 10) ;- (EMAC) \r
-AT91C_EMAC_HRESP          EQU (0x1 << 11) ;- (EMAC) \r
-AT91C_EMAC_PFRE           EQU (0x1 << 12) ;- (EMAC) \r
-AT91C_EMAC_PTZ            EQU (0x1 << 13) ;- (EMAC) \r
-// - -------- EMAC_IER : (EMAC Offset: 0x28) Interrupt Enable Register -------- \r
-// - -------- EMAC_IDR : (EMAC Offset: 0x2c) Interrupt Disable Register -------- \r
-// - -------- EMAC_IMR : (EMAC Offset: 0x30) Interrupt Mask Register -------- \r
-// - -------- EMAC_MAN : (EMAC Offset: 0x34) PHY Maintenance Register -------- \r
-AT91C_EMAC_DATA           EQU (0xFFFF <<  0) ;- (EMAC) \r
-AT91C_EMAC_CODE           EQU (0x3 << 16) ;- (EMAC) \r
-AT91C_EMAC_REGA           EQU (0x1F << 18) ;- (EMAC) \r
-AT91C_EMAC_PHYA           EQU (0x1F << 23) ;- (EMAC) \r
-AT91C_EMAC_RW             EQU (0x3 << 28) ;- (EMAC) \r
-AT91C_EMAC_SOF            EQU (0x3 << 30) ;- (EMAC) \r
-// - -------- EMAC_USRIO : (EMAC Offset: 0xc0) USER Input Output Register -------- \r
-AT91C_EMAC_RMII           EQU (0x1 <<  0) ;- (EMAC) Reduce MII\r
-// - -------- EMAC_WOL : (EMAC Offset: 0xc4) Wake On LAN Register -------- \r
-AT91C_EMAC_IP             EQU (0xFFFF <<  0) ;- (EMAC) ARP request IP address\r
-AT91C_EMAC_MAG            EQU (0x1 << 16) ;- (EMAC) Magic packet event enable\r
-AT91C_EMAC_ARP            EQU (0x1 << 17) ;- (EMAC) ARP request event enable\r
-AT91C_EMAC_SA1            EQU (0x1 << 18) ;- (EMAC) Specific address register 1 event enable\r
-// - -------- EMAC_REV : (EMAC Offset: 0xfc) Revision Register -------- \r
-AT91C_EMAC_REVREF         EQU (0xFFFF <<  0) ;- (EMAC) \r
-AT91C_EMAC_PARTREF        EQU (0xFFFF << 16) ;- (EMAC) \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Analog to Digital Convertor\r
-// - *****************************************************************************\r
-// - -------- ADC_CR : (ADC Offset: 0x0) ADC Control Register -------- \r
-AT91C_ADC_SWRST           EQU (0x1 <<  0) ;- (ADC) Software Reset\r
-AT91C_ADC_START           EQU (0x1 <<  1) ;- (ADC) Start Conversion\r
-// - -------- ADC_MR : (ADC Offset: 0x4) ADC Mode Register -------- \r
-AT91C_ADC_TRGEN           EQU (0x1 <<  0) ;- (ADC) Trigger Enable\r
-AT91C_ADC_TRGEN_DIS       EQU (0x0) ;- (ADC) Hradware triggers are disabled. Starting a conversion is only possible by software\r
-AT91C_ADC_TRGEN_EN        EQU (0x1) ;- (ADC) Hardware trigger selected by TRGSEL field is enabled.\r
-AT91C_ADC_TRGSEL          EQU (0x7 <<  1) ;- (ADC) Trigger Selection\r
-AT91C_ADC_TRGSEL_TIOA0    EQU (0x0 <<  1) ;- (ADC) Selected TRGSEL = TIAO0\r
-AT91C_ADC_TRGSEL_TIOA1    EQU (0x1 <<  1) ;- (ADC) Selected TRGSEL = TIAO1\r
-AT91C_ADC_TRGSEL_TIOA2    EQU (0x2 <<  1) ;- (ADC) Selected TRGSEL = TIAO2\r
-AT91C_ADC_TRGSEL_TIOA3    EQU (0x3 <<  1) ;- (ADC) Selected TRGSEL = TIAO3\r
-AT91C_ADC_TRGSEL_TIOA4    EQU (0x4 <<  1) ;- (ADC) Selected TRGSEL = TIAO4\r
-AT91C_ADC_TRGSEL_TIOA5    EQU (0x5 <<  1) ;- (ADC) Selected TRGSEL = TIAO5\r
-AT91C_ADC_TRGSEL_EXT      EQU (0x6 <<  1) ;- (ADC) Selected TRGSEL = External Trigger\r
-AT91C_ADC_LOWRES          EQU (0x1 <<  4) ;- (ADC) Resolution.\r
-AT91C_ADC_LOWRES_10_BIT   EQU (0x0 <<  4) ;- (ADC) 10-bit resolution\r
-AT91C_ADC_LOWRES_8_BIT    EQU (0x1 <<  4) ;- (ADC) 8-bit resolution\r
-AT91C_ADC_SLEEP           EQU (0x1 <<  5) ;- (ADC) Sleep Mode\r
-AT91C_ADC_SLEEP_NORMAL_MODE EQU (0x0 <<  5) ;- (ADC) Normal Mode\r
-AT91C_ADC_SLEEP_MODE      EQU (0x1 <<  5) ;- (ADC) Sleep Mode\r
-AT91C_ADC_PRESCAL         EQU (0x3F <<  8) ;- (ADC) Prescaler rate selection\r
-AT91C_ADC_STARTUP         EQU (0x1F << 16) ;- (ADC) Startup Time\r
-AT91C_ADC_SHTIM           EQU (0xF << 24) ;- (ADC) Sample & Hold Time\r
-// - --------  ADC_CHER : (ADC Offset: 0x10) ADC Channel Enable Register -------- \r
-AT91C_ADC_CH0             EQU (0x1 <<  0) ;- (ADC) Channel 0\r
-AT91C_ADC_CH1             EQU (0x1 <<  1) ;- (ADC) Channel 1\r
-AT91C_ADC_CH2             EQU (0x1 <<  2) ;- (ADC) Channel 2\r
-AT91C_ADC_CH3             EQU (0x1 <<  3) ;- (ADC) Channel 3\r
-AT91C_ADC_CH4             EQU (0x1 <<  4) ;- (ADC) Channel 4\r
-AT91C_ADC_CH5             EQU (0x1 <<  5) ;- (ADC) Channel 5\r
-AT91C_ADC_CH6             EQU (0x1 <<  6) ;- (ADC) Channel 6\r
-AT91C_ADC_CH7             EQU (0x1 <<  7) ;- (ADC) Channel 7\r
-// - --------  ADC_CHDR : (ADC Offset: 0x14) ADC Channel Disable Register -------- \r
-// - --------  ADC_CHSR : (ADC Offset: 0x18) ADC Channel Status Register -------- \r
-// - -------- ADC_SR : (ADC Offset: 0x1c) ADC Status Register -------- \r
-AT91C_ADC_EOC0            EQU (0x1 <<  0) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC1            EQU (0x1 <<  1) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC2            EQU (0x1 <<  2) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC3            EQU (0x1 <<  3) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC4            EQU (0x1 <<  4) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC5            EQU (0x1 <<  5) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC6            EQU (0x1 <<  6) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC7            EQU (0x1 <<  7) ;- (ADC) End of Conversion\r
-AT91C_ADC_OVRE0           EQU (0x1 <<  8) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE1           EQU (0x1 <<  9) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE2           EQU (0x1 << 10) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE3           EQU (0x1 << 11) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE4           EQU (0x1 << 12) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE5           EQU (0x1 << 13) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE6           EQU (0x1 << 14) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE7           EQU (0x1 << 15) ;- (ADC) Overrun Error\r
-AT91C_ADC_DRDY            EQU (0x1 << 16) ;- (ADC) Data Ready\r
-AT91C_ADC_GOVRE           EQU (0x1 << 17) ;- (ADC) General Overrun\r
-AT91C_ADC_ENDRX           EQU (0x1 << 18) ;- (ADC) End of Receiver Transfer\r
-AT91C_ADC_RXBUFF          EQU (0x1 << 19) ;- (ADC) RXBUFF Interrupt\r
-// - -------- ADC_LCDR : (ADC Offset: 0x20) ADC Last Converted Data Register -------- \r
-AT91C_ADC_LDATA           EQU (0x3FF <<  0) ;- (ADC) Last Data Converted\r
-// - -------- ADC_IER : (ADC Offset: 0x24) ADC Interrupt Enable Register -------- \r
-// - -------- ADC_IDR : (ADC Offset: 0x28) ADC Interrupt Disable Register -------- \r
-// - -------- ADC_IMR : (ADC Offset: 0x2c) ADC Interrupt Mask Register -------- \r
-// - -------- ADC_CDR0 : (ADC Offset: 0x30) ADC Channel Data Register 0 -------- \r
-AT91C_ADC_DATA            EQU (0x3FF <<  0) ;- (ADC) Converted Data\r
-// - -------- ADC_CDR1 : (ADC Offset: 0x34) ADC Channel Data Register 1 -------- \r
-// - -------- ADC_CDR2 : (ADC Offset: 0x38) ADC Channel Data Register 2 -------- \r
-// - -------- ADC_CDR3 : (ADC Offset: 0x3c) ADC Channel Data Register 3 -------- \r
-// - -------- ADC_CDR4 : (ADC Offset: 0x40) ADC Channel Data Register 4 -------- \r
-// - -------- ADC_CDR5 : (ADC Offset: 0x44) ADC Channel Data Register 5 -------- \r
-// - -------- ADC_CDR6 : (ADC Offset: 0x48) ADC Channel Data Register 6 -------- \r
-// - -------- ADC_CDR7 : (ADC Offset: 0x4c) ADC Channel Data Register 7 -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Advanced  Encryption Standard\r
-// - *****************************************************************************\r
-// - -------- AES_CR : (AES Offset: 0x0) Control Register -------- \r
-AT91C_AES_START           EQU (0x1 <<  0) ;- (AES) Starts Processing\r
-AT91C_AES_SWRST           EQU (0x1 <<  8) ;- (AES) Software Reset\r
-AT91C_AES_LOADSEED        EQU (0x1 << 16) ;- (AES) Random Number Generator Seed Loading\r
-// - -------- AES_MR : (AES Offset: 0x4) Mode Register -------- \r
-AT91C_AES_CIPHER          EQU (0x1 <<  0) ;- (AES) Processing Mode\r
-AT91C_AES_PROCDLY         EQU (0xF <<  4) ;- (AES) Processing Delay\r
-AT91C_AES_SMOD            EQU (0x3 <<  8) ;- (AES) Start Mode\r
-AT91C_AES_SMOD_MANUAL     EQU (0x0 <<  8) ;- (AES) Manual Mode: The START bit in register AES_CR must be set to begin encryption or decryption.\r
-AT91C_AES_SMOD_AUTO       EQU (0x1 <<  8) ;- (AES) Auto Mode: no action in AES_CR is necessary (cf datasheet).\r
-AT91C_AES_SMOD_PDC        EQU (0x2 <<  8) ;- (AES) PDC Mode (cf datasheet).\r
-AT91C_AES_OPMOD           EQU (0x7 << 12) ;- (AES) Operation Mode\r
-AT91C_AES_OPMOD_ECB       EQU (0x0 << 12) ;- (AES) ECB Electronic CodeBook mode.\r
-AT91C_AES_OPMOD_CBC       EQU (0x1 << 12) ;- (AES) CBC Cipher Block Chaining mode.\r
-AT91C_AES_OPMOD_OFB       EQU (0x2 << 12) ;- (AES) OFB Output Feedback mode.\r
-AT91C_AES_OPMOD_CFB       EQU (0x3 << 12) ;- (AES) CFB Cipher Feedback mode.\r
-AT91C_AES_OPMOD_CTR       EQU (0x4 << 12) ;- (AES) CTR Counter mode.\r
-AT91C_AES_LOD             EQU (0x1 << 15) ;- (AES) Last Output Data Mode\r
-AT91C_AES_CFBS            EQU (0x7 << 16) ;- (AES) Cipher Feedback Data Size\r
-AT91C_AES_CFBS_128_BIT    EQU (0x0 << 16) ;- (AES) 128-bit.\r
-AT91C_AES_CFBS_64_BIT     EQU (0x1 << 16) ;- (AES) 64-bit.\r
-AT91C_AES_CFBS_32_BIT     EQU (0x2 << 16) ;- (AES) 32-bit.\r
-AT91C_AES_CFBS_16_BIT     EQU (0x3 << 16) ;- (AES) 16-bit.\r
-AT91C_AES_CFBS_8_BIT      EQU (0x4 << 16) ;- (AES) 8-bit.\r
-AT91C_AES_CKEY            EQU (0xF << 20) ;- (AES) Countermeasure Key\r
-AT91C_AES_CTYPE           EQU (0x1F << 24) ;- (AES) Countermeasure Type\r
-AT91C_AES_CTYPE_TYPE1_EN  EQU (0x1 << 24) ;- (AES) Countermeasure type 1 is enabled.\r
-AT91C_AES_CTYPE_TYPE2_EN  EQU (0x2 << 24) ;- (AES) Countermeasure type 2 is enabled.\r
-AT91C_AES_CTYPE_TYPE3_EN  EQU (0x4 << 24) ;- (AES) Countermeasure type 3 is enabled.\r
-AT91C_AES_CTYPE_TYPE4_EN  EQU (0x8 << 24) ;- (AES) Countermeasure type 4 is enabled.\r
-AT91C_AES_CTYPE_TYPE5_EN  EQU (0x10 << 24) ;- (AES) Countermeasure type 5 is enabled.\r
-// - -------- AES_IER : (AES Offset: 0x10) Interrupt Enable Register -------- \r
-AT91C_AES_DATRDY          EQU (0x1 <<  0) ;- (AES) DATRDY\r
-AT91C_AES_ENDRX           EQU (0x1 <<  1) ;- (AES) PDC Read Buffer End\r
-AT91C_AES_ENDTX           EQU (0x1 <<  2) ;- (AES) PDC Write Buffer End\r
-AT91C_AES_RXBUFF          EQU (0x1 <<  3) ;- (AES) PDC Read Buffer Full\r
-AT91C_AES_TXBUFE          EQU (0x1 <<  4) ;- (AES) PDC Write Buffer Empty\r
-AT91C_AES_URAD            EQU (0x1 <<  8) ;- (AES) Unspecified Register Access Detection\r
-// - -------- AES_IDR : (AES Offset: 0x14) Interrupt Disable Register -------- \r
-// - -------- AES_IMR : (AES Offset: 0x18) Interrupt Mask Register -------- \r
-// - -------- AES_ISR : (AES Offset: 0x1c) Interrupt Status Register -------- \r
-AT91C_AES_URAT            EQU (0x7 << 12) ;- (AES) Unspecified Register Access Type Status\r
-AT91C_AES_URAT_IN_DAT_WRITE_DATPROC EQU (0x0 << 12) ;- (AES) Input data register written during the data processing in PDC mode.\r
-AT91C_AES_URAT_OUT_DAT_READ_DATPROC EQU (0x1 << 12) ;- (AES) Output data register read during the data processing.\r
-AT91C_AES_URAT_MODEREG_WRITE_DATPROC EQU (0x2 << 12) ;- (AES) Mode register written during the data processing.\r
-AT91C_AES_URAT_OUT_DAT_READ_SUBKEY EQU (0x3 << 12) ;- (AES) Output data register read during the sub-keys generation.\r
-AT91C_AES_URAT_MODEREG_WRITE_SUBKEY EQU (0x4 << 12) ;- (AES) Mode register written during the sub-keys generation.\r
-AT91C_AES_URAT_WO_REG_READ EQU (0x5 << 12) ;- (AES) Write-only register read access.\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Triple Data Encryption Standard\r
-// - *****************************************************************************\r
-// - -------- TDES_CR : (TDES Offset: 0x0) Control Register -------- \r
-AT91C_TDES_START          EQU (0x1 <<  0) ;- (TDES) Starts Processing\r
-AT91C_TDES_SWRST          EQU (0x1 <<  8) ;- (TDES) Software Reset\r
-// - -------- TDES_MR : (TDES Offset: 0x4) Mode Register -------- \r
-AT91C_TDES_CIPHER         EQU (0x1 <<  0) ;- (TDES) Processing Mode\r
-AT91C_TDES_TDESMOD        EQU (0x1 <<  1) ;- (TDES) Single or Triple DES Mode\r
-AT91C_TDES_KEYMOD         EQU (0x1 <<  4) ;- (TDES) Key Mode\r
-AT91C_TDES_SMOD           EQU (0x3 <<  8) ;- (TDES) Start Mode\r
-AT91C_TDES_SMOD_MANUAL    EQU (0x0 <<  8) ;- (TDES) Manual Mode: The START bit in register TDES_CR must be set to begin encryption or decryption.\r
-AT91C_TDES_SMOD_AUTO      EQU (0x1 <<  8) ;- (TDES) Auto Mode: no action in TDES_CR is necessary (cf datasheet).\r
-AT91C_TDES_SMOD_PDC       EQU (0x2 <<  8) ;- (TDES) PDC Mode (cf datasheet).\r
-AT91C_TDES_OPMOD          EQU (0x3 << 12) ;- (TDES) Operation Mode\r
-AT91C_TDES_OPMOD_ECB      EQU (0x0 << 12) ;- (TDES) ECB Electronic CodeBook mode.\r
-AT91C_TDES_OPMOD_CBC      EQU (0x1 << 12) ;- (TDES) CBC Cipher Block Chaining mode.\r
-AT91C_TDES_OPMOD_OFB      EQU (0x2 << 12) ;- (TDES) OFB Output Feedback mode.\r
-AT91C_TDES_OPMOD_CFB      EQU (0x3 << 12) ;- (TDES) CFB Cipher Feedback mode.\r
-AT91C_TDES_LOD            EQU (0x1 << 15) ;- (TDES) Last Output Data Mode\r
-AT91C_TDES_CFBS           EQU (0x3 << 16) ;- (TDES) Cipher Feedback Data Size\r
-AT91C_TDES_CFBS_64_BIT    EQU (0x0 << 16) ;- (TDES) 64-bit.\r
-AT91C_TDES_CFBS_32_BIT    EQU (0x1 << 16) ;- (TDES) 32-bit.\r
-AT91C_TDES_CFBS_16_BIT    EQU (0x2 << 16) ;- (TDES) 16-bit.\r
-AT91C_TDES_CFBS_8_BIT     EQU (0x3 << 16) ;- (TDES) 8-bit.\r
-// - -------- TDES_IER : (TDES Offset: 0x10) Interrupt Enable Register -------- \r
-AT91C_TDES_DATRDY         EQU (0x1 <<  0) ;- (TDES) DATRDY\r
-AT91C_TDES_ENDRX          EQU (0x1 <<  1) ;- (TDES) PDC Read Buffer End\r
-AT91C_TDES_ENDTX          EQU (0x1 <<  2) ;- (TDES) PDC Write Buffer End\r
-AT91C_TDES_RXBUFF         EQU (0x1 <<  3) ;- (TDES) PDC Read Buffer Full\r
-AT91C_TDES_TXBUFE         EQU (0x1 <<  4) ;- (TDES) PDC Write Buffer Empty\r
-AT91C_TDES_URAD           EQU (0x1 <<  8) ;- (TDES) Unspecified Register Access Detection\r
-// - -------- TDES_IDR : (TDES Offset: 0x14) Interrupt Disable Register -------- \r
-// - -------- TDES_IMR : (TDES Offset: 0x18) Interrupt Mask Register -------- \r
-// - -------- TDES_ISR : (TDES Offset: 0x1c) Interrupt Status Register -------- \r
-AT91C_TDES_URAT           EQU (0x3 << 12) ;- (TDES) Unspecified Register Access Type Status\r
-AT91C_TDES_URAT_IN_DAT_WRITE_DATPROC EQU (0x0 << 12) ;- (TDES) Input data register written during the data processing in PDC mode.\r
-AT91C_TDES_URAT_OUT_DAT_READ_DATPROC EQU (0x1 << 12) ;- (TDES) Output data register read during the data processing.\r
-AT91C_TDES_URAT_MODEREG_WRITE_DATPROC EQU (0x2 << 12) ;- (TDES) Mode register written during the data processing.\r
-AT91C_TDES_URAT_WO_REG_READ EQU (0x3 << 12) ;- (TDES) Write-only register read access.\r
-\r
-// - *****************************************************************************\r
-// -               REGISTER ADDRESS DEFINITION FOR AT91SAM7X128\r
-// - *****************************************************************************\r
-// - ========== Register definition for SYS peripheral ========== \r
-// - ========== Register definition for AIC peripheral ========== \r
-AT91C_AIC_IVR             EQU (0xFFFFF100) ;- (AIC) IRQ Vector Register\r
-AT91C_AIC_SMR             EQU (0xFFFFF000) ;- (AIC) Source Mode Register\r
-AT91C_AIC_FVR             EQU (0xFFFFF104) ;- (AIC) FIQ Vector Register\r
-AT91C_AIC_DCR             EQU (0xFFFFF138) ;- (AIC) Debug Control Register (Protect)\r
-AT91C_AIC_EOICR           EQU (0xFFFFF130) ;- (AIC) End of Interrupt Command Register\r
-AT91C_AIC_SVR             EQU (0xFFFFF080) ;- (AIC) Source Vector Register\r
-AT91C_AIC_FFSR            EQU (0xFFFFF148) ;- (AIC) Fast Forcing Status Register\r
-AT91C_AIC_ICCR            EQU (0xFFFFF128) ;- (AIC) Interrupt Clear Command Register\r
-AT91C_AIC_ISR             EQU (0xFFFFF108) ;- (AIC) Interrupt Status Register\r
-AT91C_AIC_IMR             EQU (0xFFFFF110) ;- (AIC) Interrupt Mask Register\r
-AT91C_AIC_IPR             EQU (0xFFFFF10C) ;- (AIC) Interrupt Pending Register\r
-AT91C_AIC_FFER            EQU (0xFFFFF140) ;- (AIC) Fast Forcing Enable Register\r
-AT91C_AIC_IECR            EQU (0xFFFFF120) ;- (AIC) Interrupt Enable Command Register\r
-AT91C_AIC_ISCR            EQU (0xFFFFF12C) ;- (AIC) Interrupt Set Command Register\r
-AT91C_AIC_FFDR            EQU (0xFFFFF144) ;- (AIC) Fast Forcing Disable Register\r
-AT91C_AIC_CISR            EQU (0xFFFFF114) ;- (AIC) Core Interrupt Status Register\r
-AT91C_AIC_IDCR            EQU (0xFFFFF124) ;- (AIC) Interrupt Disable Command Register\r
-AT91C_AIC_SPU             EQU (0xFFFFF134) ;- (AIC) Spurious Vector Register\r
-// - ========== Register definition for PDC_DBGU peripheral ========== \r
-AT91C_DBGU_TCR            EQU (0xFFFFF30C) ;- (PDC_DBGU) Transmit Counter Register\r
-AT91C_DBGU_RNPR           EQU (0xFFFFF310) ;- (PDC_DBGU) Receive Next Pointer Register\r
-AT91C_DBGU_TNPR           EQU (0xFFFFF318) ;- (PDC_DBGU) Transmit Next Pointer Register\r
-AT91C_DBGU_TPR            EQU (0xFFFFF308) ;- (PDC_DBGU) Transmit Pointer Register\r
-AT91C_DBGU_RPR            EQU (0xFFFFF300) ;- (PDC_DBGU) Receive Pointer Register\r
-AT91C_DBGU_RCR            EQU (0xFFFFF304) ;- (PDC_DBGU) Receive Counter Register\r
-AT91C_DBGU_RNCR           EQU (0xFFFFF314) ;- (PDC_DBGU) Receive Next Counter Register\r
-AT91C_DBGU_PTCR           EQU (0xFFFFF320) ;- (PDC_DBGU) PDC Transfer Control Register\r
-AT91C_DBGU_PTSR           EQU (0xFFFFF324) ;- (PDC_DBGU) PDC Transfer Status Register\r
-AT91C_DBGU_TNCR           EQU (0xFFFFF31C) ;- (PDC_DBGU) Transmit Next Counter Register\r
-// - ========== Register definition for DBGU peripheral ========== \r
-AT91C_DBGU_EXID           EQU (0xFFFFF244) ;- (DBGU) Chip ID Extension Register\r
-AT91C_DBGU_BRGR           EQU (0xFFFFF220) ;- (DBGU) Baud Rate Generator Register\r
-AT91C_DBGU_IDR            EQU (0xFFFFF20C) ;- (DBGU) Interrupt Disable Register\r
-AT91C_DBGU_CSR            EQU (0xFFFFF214) ;- (DBGU) Channel Status Register\r
-AT91C_DBGU_CIDR           EQU (0xFFFFF240) ;- (DBGU) Chip ID Register\r
-AT91C_DBGU_MR             EQU (0xFFFFF204) ;- (DBGU) Mode Register\r
-AT91C_DBGU_IMR            EQU (0xFFFFF210) ;- (DBGU) Interrupt Mask Register\r
-AT91C_DBGU_CR             EQU (0xFFFFF200) ;- (DBGU) Control Register\r
-AT91C_DBGU_FNTR           EQU (0xFFFFF248) ;- (DBGU) Force NTRST Register\r
-AT91C_DBGU_THR            EQU (0xFFFFF21C) ;- (DBGU) Transmitter Holding Register\r
-AT91C_DBGU_RHR            EQU (0xFFFFF218) ;- (DBGU) Receiver Holding Register\r
-AT91C_DBGU_IER            EQU (0xFFFFF208) ;- (DBGU) Interrupt Enable Register\r
-// - ========== Register definition for PIOA peripheral ========== \r
-AT91C_PIOA_ODR            EQU (0xFFFFF414) ;- (PIOA) Output Disable Registerr\r
-AT91C_PIOA_SODR           EQU (0xFFFFF430) ;- (PIOA) Set Output Data Register\r
-AT91C_PIOA_ISR            EQU (0xFFFFF44C) ;- (PIOA) Interrupt Status Register\r
-AT91C_PIOA_ABSR           EQU (0xFFFFF478) ;- (PIOA) AB Select Status Register\r
-AT91C_PIOA_IER            EQU (0xFFFFF440) ;- (PIOA) Interrupt Enable Register\r
-AT91C_PIOA_PPUDR          EQU (0xFFFFF460) ;- (PIOA) Pull-up Disable Register\r
-AT91C_PIOA_IMR            EQU (0xFFFFF448) ;- (PIOA) Interrupt Mask Register\r
-AT91C_PIOA_PER            EQU (0xFFFFF400) ;- (PIOA) PIO Enable Register\r
-AT91C_PIOA_IFDR           EQU (0xFFFFF424) ;- (PIOA) Input Filter Disable Register\r
-AT91C_PIOA_OWDR           EQU (0xFFFFF4A4) ;- (PIOA) Output Write Disable Register\r
-AT91C_PIOA_MDSR           EQU (0xFFFFF458) ;- (PIOA) Multi-driver Status Register\r
-AT91C_PIOA_IDR            EQU (0xFFFFF444) ;- (PIOA) Interrupt Disable Register\r
-AT91C_PIOA_ODSR           EQU (0xFFFFF438) ;- (PIOA) Output Data Status Register\r
-AT91C_PIOA_PPUSR          EQU (0xFFFFF468) ;- (PIOA) Pull-up Status Register\r
-AT91C_PIOA_OWSR           EQU (0xFFFFF4A8) ;- (PIOA) Output Write Status Register\r
-AT91C_PIOA_BSR            EQU (0xFFFFF474) ;- (PIOA) Select B Register\r
-AT91C_PIOA_OWER           EQU (0xFFFFF4A0) ;- (PIOA) Output Write Enable Register\r
-AT91C_PIOA_IFER           EQU (0xFFFFF420) ;- (PIOA) Input Filter Enable Register\r
-AT91C_PIOA_PDSR           EQU (0xFFFFF43C) ;- (PIOA) Pin Data Status Register\r
-AT91C_PIOA_PPUER          EQU (0xFFFFF464) ;- (PIOA) Pull-up Enable Register\r
-AT91C_PIOA_OSR            EQU (0xFFFFF418) ;- (PIOA) Output Status Register\r
-AT91C_PIOA_ASR            EQU (0xFFFFF470) ;- (PIOA) Select A Register\r
-AT91C_PIOA_MDDR           EQU (0xFFFFF454) ;- (PIOA) Multi-driver Disable Register\r
-AT91C_PIOA_CODR           EQU (0xFFFFF434) ;- (PIOA) Clear Output Data Register\r
-AT91C_PIOA_MDER           EQU (0xFFFFF450) ;- (PIOA) Multi-driver Enable Register\r
-AT91C_PIOA_PDR            EQU (0xFFFFF404) ;- (PIOA) PIO Disable Register\r
-AT91C_PIOA_IFSR           EQU (0xFFFFF428) ;- (PIOA) Input Filter Status Register\r
-AT91C_PIOA_OER            EQU (0xFFFFF410) ;- (PIOA) Output Enable Register\r
-AT91C_PIOA_PSR            EQU (0xFFFFF408) ;- (PIOA) PIO Status Register\r
-// - ========== Register definition for PIOB peripheral ========== \r
-AT91C_PIOB_OWDR           EQU (0xFFFFF6A4) ;- (PIOB) Output Write Disable Register\r
-AT91C_PIOB_MDER           EQU (0xFFFFF650) ;- (PIOB) Multi-driver Enable Register\r
-AT91C_PIOB_PPUSR          EQU (0xFFFFF668) ;- (PIOB) Pull-up Status Register\r
-AT91C_PIOB_IMR            EQU (0xFFFFF648) ;- (PIOB) Interrupt Mask Register\r
-AT91C_PIOB_ASR            EQU (0xFFFFF670) ;- (PIOB) Select A Register\r
-AT91C_PIOB_PPUDR          EQU (0xFFFFF660) ;- (PIOB) Pull-up Disable Register\r
-AT91C_PIOB_PSR            EQU (0xFFFFF608) ;- (PIOB) PIO Status Register\r
-AT91C_PIOB_IER            EQU (0xFFFFF640) ;- (PIOB) Interrupt Enable Register\r
-AT91C_PIOB_CODR           EQU (0xFFFFF634) ;- (PIOB) Clear Output Data Register\r
-AT91C_PIOB_OWER           EQU (0xFFFFF6A0) ;- (PIOB) Output Write Enable Register\r
-AT91C_PIOB_ABSR           EQU (0xFFFFF678) ;- (PIOB) AB Select Status Register\r
-AT91C_PIOB_IFDR           EQU (0xFFFFF624) ;- (PIOB) Input Filter Disable Register\r
-AT91C_PIOB_PDSR           EQU (0xFFFFF63C) ;- (PIOB) Pin Data Status Register\r
-AT91C_PIOB_IDR            EQU (0xFFFFF644) ;- (PIOB) Interrupt Disable Register\r
-AT91C_PIOB_OWSR           EQU (0xFFFFF6A8) ;- (PIOB) Output Write Status Register\r
-AT91C_PIOB_PDR            EQU (0xFFFFF604) ;- (PIOB) PIO Disable Register\r
-AT91C_PIOB_ODR            EQU (0xFFFFF614) ;- (PIOB) Output Disable Registerr\r
-AT91C_PIOB_IFSR           EQU (0xFFFFF628) ;- (PIOB) Input Filter Status Register\r
-AT91C_PIOB_PPUER          EQU (0xFFFFF664) ;- (PIOB) Pull-up Enable Register\r
-AT91C_PIOB_SODR           EQU (0xFFFFF630) ;- (PIOB) Set Output Data Register\r
-AT91C_PIOB_ISR            EQU (0xFFFFF64C) ;- (PIOB) Interrupt Status Register\r
-AT91C_PIOB_ODSR           EQU (0xFFFFF638) ;- (PIOB) Output Data Status Register\r
-AT91C_PIOB_OSR            EQU (0xFFFFF618) ;- (PIOB) Output Status Register\r
-AT91C_PIOB_MDSR           EQU (0xFFFFF658) ;- (PIOB) Multi-driver Status Register\r
-AT91C_PIOB_IFER           EQU (0xFFFFF620) ;- (PIOB) Input Filter Enable Register\r
-AT91C_PIOB_BSR            EQU (0xFFFFF674) ;- (PIOB) Select B Register\r
-AT91C_PIOB_MDDR           EQU (0xFFFFF654) ;- (PIOB) Multi-driver Disable Register\r
-AT91C_PIOB_OER            EQU (0xFFFFF610) ;- (PIOB) Output Enable Register\r
-AT91C_PIOB_PER            EQU (0xFFFFF600) ;- (PIOB) PIO Enable Register\r
-// - ========== Register definition for CKGR peripheral ========== \r
-AT91C_CKGR_MOR            EQU (0xFFFFFC20) ;- (CKGR) Main Oscillator Register\r
-AT91C_CKGR_PLLR           EQU (0xFFFFFC2C) ;- (CKGR) PLL Register\r
-AT91C_CKGR_MCFR           EQU (0xFFFFFC24) ;- (CKGR) Main Clock  Frequency Register\r
-// - ========== Register definition for PMC peripheral ========== \r
-AT91C_PMC_IDR             EQU (0xFFFFFC64) ;- (PMC) Interrupt Disable Register\r
-AT91C_PMC_MOR             EQU (0xFFFFFC20) ;- (PMC) Main Oscillator Register\r
-AT91C_PMC_PLLR            EQU (0xFFFFFC2C) ;- (PMC) PLL Register\r
-AT91C_PMC_PCER            EQU (0xFFFFFC10) ;- (PMC) Peripheral Clock Enable Register\r
-AT91C_PMC_PCKR            EQU (0xFFFFFC40) ;- (PMC) Programmable Clock Register\r
-AT91C_PMC_MCKR            EQU (0xFFFFFC30) ;- (PMC) Master Clock Register\r
-AT91C_PMC_SCDR            EQU (0xFFFFFC04) ;- (PMC) System Clock Disable Register\r
-AT91C_PMC_PCDR            EQU (0xFFFFFC14) ;- (PMC) Peripheral Clock Disable Register\r
-AT91C_PMC_SCSR            EQU (0xFFFFFC08) ;- (PMC) System Clock Status Register\r
-AT91C_PMC_PCSR            EQU (0xFFFFFC18) ;- (PMC) Peripheral Clock Status Register\r
-AT91C_PMC_MCFR            EQU (0xFFFFFC24) ;- (PMC) Main Clock  Frequency Register\r
-AT91C_PMC_SCER            EQU (0xFFFFFC00) ;- (PMC) System Clock Enable Register\r
-AT91C_PMC_IMR             EQU (0xFFFFFC6C) ;- (PMC) Interrupt Mask Register\r
-AT91C_PMC_IER             EQU (0xFFFFFC60) ;- (PMC) Interrupt Enable Register\r
-AT91C_PMC_SR              EQU (0xFFFFFC68) ;- (PMC) Status Register\r
-// - ========== Register definition for RSTC peripheral ========== \r
-AT91C_RSTC_RCR            EQU (0xFFFFFD00) ;- (RSTC) Reset Control Register\r
-AT91C_RSTC_RMR            EQU (0xFFFFFD08) ;- (RSTC) Reset Mode Register\r
-AT91C_RSTC_RSR            EQU (0xFFFFFD04) ;- (RSTC) Reset Status Register\r
-// - ========== Register definition for RTTC peripheral ========== \r
-AT91C_RTTC_RTSR           EQU (0xFFFFFD2C) ;- (RTTC) Real-time Status Register\r
-AT91C_RTTC_RTMR           EQU (0xFFFFFD20) ;- (RTTC) Real-time Mode Register\r
-AT91C_RTTC_RTVR           EQU (0xFFFFFD28) ;- (RTTC) Real-time Value Register\r
-AT91C_RTTC_RTAR           EQU (0xFFFFFD24) ;- (RTTC) Real-time Alarm Register\r
-// - ========== Register definition for PITC peripheral ========== \r
-AT91C_PITC_PIVR           EQU (0xFFFFFD38) ;- (PITC) Period Interval Value Register\r
-AT91C_PITC_PISR           EQU (0xFFFFFD34) ;- (PITC) Period Interval Status Register\r
-AT91C_PITC_PIIR           EQU (0xFFFFFD3C) ;- (PITC) Period Interval Image Register\r
-AT91C_PITC_PIMR           EQU (0xFFFFFD30) ;- (PITC) Period Interval Mode Register\r
-// - ========== Register definition for WDTC peripheral ========== \r
-AT91C_WDTC_WDCR           EQU (0xFFFFFD40) ;- (WDTC) Watchdog Control Register\r
-AT91C_WDTC_WDSR           EQU (0xFFFFFD48) ;- (WDTC) Watchdog Status Register\r
-AT91C_WDTC_WDMR           EQU (0xFFFFFD44) ;- (WDTC) Watchdog Mode Register\r
-// - ========== Register definition for VREG peripheral ========== \r
-AT91C_VREG_MR             EQU (0xFFFFFD60) ;- (VREG) Voltage Regulator Mode Register\r
-// - ========== Register definition for MC peripheral ========== \r
-AT91C_MC_ASR              EQU (0xFFFFFF04) ;- (MC) MC Abort Status Register\r
-AT91C_MC_RCR              EQU (0xFFFFFF00) ;- (MC) MC Remap Control Register\r
-AT91C_MC_FCR              EQU (0xFFFFFF64) ;- (MC) MC Flash Command Register\r
-AT91C_MC_AASR             EQU (0xFFFFFF08) ;- (MC) MC Abort Address Status Register\r
-AT91C_MC_FSR              EQU (0xFFFFFF68) ;- (MC) MC Flash Status Register\r
-AT91C_MC_FMR              EQU (0xFFFFFF60) ;- (MC) MC Flash Mode Register\r
-// - ========== Register definition for PDC_SPI1 peripheral ========== \r
-AT91C_SPI1_PTCR           EQU (0xFFFE4120) ;- (PDC_SPI1) PDC Transfer Control Register\r
-AT91C_SPI1_RPR            EQU (0xFFFE4100) ;- (PDC_SPI1) Receive Pointer Register\r
-AT91C_SPI1_TNCR           EQU (0xFFFE411C) ;- (PDC_SPI1) Transmit Next Counter Register\r
-AT91C_SPI1_TPR            EQU (0xFFFE4108) ;- (PDC_SPI1) Transmit Pointer Register\r
-AT91C_SPI1_TNPR           EQU (0xFFFE4118) ;- (PDC_SPI1) Transmit Next Pointer Register\r
-AT91C_SPI1_TCR            EQU (0xFFFE410C) ;- (PDC_SPI1) Transmit Counter Register\r
-AT91C_SPI1_RCR            EQU (0xFFFE4104) ;- (PDC_SPI1) Receive Counter Register\r
-AT91C_SPI1_RNPR           EQU (0xFFFE4110) ;- (PDC_SPI1) Receive Next Pointer Register\r
-AT91C_SPI1_RNCR           EQU (0xFFFE4114) ;- (PDC_SPI1) Receive Next Counter Register\r
-AT91C_SPI1_PTSR           EQU (0xFFFE4124) ;- (PDC_SPI1) PDC Transfer Status Register\r
-// - ========== Register definition for SPI1 peripheral ========== \r
-AT91C_SPI1_IMR            EQU (0xFFFE401C) ;- (SPI1) Interrupt Mask Register\r
-AT91C_SPI1_IER            EQU (0xFFFE4014) ;- (SPI1) Interrupt Enable Register\r
-AT91C_SPI1_MR             EQU (0xFFFE4004) ;- (SPI1) Mode Register\r
-AT91C_SPI1_RDR            EQU (0xFFFE4008) ;- (SPI1) Receive Data Register\r
-AT91C_SPI1_IDR            EQU (0xFFFE4018) ;- (SPI1) Interrupt Disable Register\r
-AT91C_SPI1_SR             EQU (0xFFFE4010) ;- (SPI1) Status Register\r
-AT91C_SPI1_TDR            EQU (0xFFFE400C) ;- (SPI1) Transmit Data Register\r
-AT91C_SPI1_CR             EQU (0xFFFE4000) ;- (SPI1) Control Register\r
-AT91C_SPI1_CSR            EQU (0xFFFE4030) ;- (SPI1) Chip Select Register\r
-// - ========== Register definition for PDC_SPI0 peripheral ========== \r
-AT91C_SPI0_PTCR           EQU (0xFFFE0120) ;- (PDC_SPI0) PDC Transfer Control Register\r
-AT91C_SPI0_TPR            EQU (0xFFFE0108) ;- (PDC_SPI0) Transmit Pointer Register\r
-AT91C_SPI0_TCR            EQU (0xFFFE010C) ;- (PDC_SPI0) Transmit Counter Register\r
-AT91C_SPI0_RCR            EQU (0xFFFE0104) ;- (PDC_SPI0) Receive Counter Register\r
-AT91C_SPI0_PTSR           EQU (0xFFFE0124) ;- (PDC_SPI0) PDC Transfer Status Register\r
-AT91C_SPI0_RNPR           EQU (0xFFFE0110) ;- (PDC_SPI0) Receive Next Pointer Register\r
-AT91C_SPI0_RPR            EQU (0xFFFE0100) ;- (PDC_SPI0) Receive Pointer Register\r
-AT91C_SPI0_TNCR           EQU (0xFFFE011C) ;- (PDC_SPI0) Transmit Next Counter Register\r
-AT91C_SPI0_RNCR           EQU (0xFFFE0114) ;- (PDC_SPI0) Receive Next Counter Register\r
-AT91C_SPI0_TNPR           EQU (0xFFFE0118) ;- (PDC_SPI0) Transmit Next Pointer Register\r
-// - ========== Register definition for SPI0 peripheral ========== \r
-AT91C_SPI0_IER            EQU (0xFFFE0014) ;- (SPI0) Interrupt Enable Register\r
-AT91C_SPI0_SR             EQU (0xFFFE0010) ;- (SPI0) Status Register\r
-AT91C_SPI0_IDR            EQU (0xFFFE0018) ;- (SPI0) Interrupt Disable Register\r
-AT91C_SPI0_CR             EQU (0xFFFE0000) ;- (SPI0) Control Register\r
-AT91C_SPI0_MR             EQU (0xFFFE0004) ;- (SPI0) Mode Register\r
-AT91C_SPI0_IMR            EQU (0xFFFE001C) ;- (SPI0) Interrupt Mask Register\r
-AT91C_SPI0_TDR            EQU (0xFFFE000C) ;- (SPI0) Transmit Data Register\r
-AT91C_SPI0_RDR            EQU (0xFFFE0008) ;- (SPI0) Receive Data Register\r
-AT91C_SPI0_CSR            EQU (0xFFFE0030) ;- (SPI0) Chip Select Register\r
-// - ========== Register definition for PDC_US1 peripheral ========== \r
-AT91C_US1_RNCR            EQU (0xFFFC4114) ;- (PDC_US1) Receive Next Counter Register\r
-AT91C_US1_PTCR            EQU (0xFFFC4120) ;- (PDC_US1) PDC Transfer Control Register\r
-AT91C_US1_TCR             EQU (0xFFFC410C) ;- (PDC_US1) Transmit Counter Register\r
-AT91C_US1_PTSR            EQU (0xFFFC4124) ;- (PDC_US1) PDC Transfer Status Register\r
-AT91C_US1_TNPR            EQU (0xFFFC4118) ;- (PDC_US1) Transmit Next Pointer Register\r
-AT91C_US1_RCR             EQU (0xFFFC4104) ;- (PDC_US1) Receive Counter Register\r
-AT91C_US1_RNPR            EQU (0xFFFC4110) ;- (PDC_US1) Receive Next Pointer Register\r
-AT91C_US1_RPR             EQU (0xFFFC4100) ;- (PDC_US1) Receive Pointer Register\r
-AT91C_US1_TNCR            EQU (0xFFFC411C) ;- (PDC_US1) Transmit Next Counter Register\r
-AT91C_US1_TPR             EQU (0xFFFC4108) ;- (PDC_US1) Transmit Pointer Register\r
-// - ========== Register definition for US1 peripheral ========== \r
-AT91C_US1_IF              EQU (0xFFFC404C) ;- (US1) IRDA_FILTER Register\r
-AT91C_US1_NER             EQU (0xFFFC4044) ;- (US1) Nb Errors Register\r
-AT91C_US1_RTOR            EQU (0xFFFC4024) ;- (US1) Receiver Time-out Register\r
-AT91C_US1_CSR             EQU (0xFFFC4014) ;- (US1) Channel Status Register\r
-AT91C_US1_IDR             EQU (0xFFFC400C) ;- (US1) Interrupt Disable Register\r
-AT91C_US1_IER             EQU (0xFFFC4008) ;- (US1) Interrupt Enable Register\r
-AT91C_US1_THR             EQU (0xFFFC401C) ;- (US1) Transmitter Holding Register\r
-AT91C_US1_TTGR            EQU (0xFFFC4028) ;- (US1) Transmitter Time-guard Register\r
-AT91C_US1_RHR             EQU (0xFFFC4018) ;- (US1) Receiver Holding Register\r
-AT91C_US1_BRGR            EQU (0xFFFC4020) ;- (US1) Baud Rate Generator Register\r
-AT91C_US1_IMR             EQU (0xFFFC4010) ;- (US1) Interrupt Mask Register\r
-AT91C_US1_FIDI            EQU (0xFFFC4040) ;- (US1) FI_DI_Ratio Register\r
-AT91C_US1_CR              EQU (0xFFFC4000) ;- (US1) Control Register\r
-AT91C_US1_MR              EQU (0xFFFC4004) ;- (US1) Mode Register\r
-// - ========== Register definition for PDC_US0 peripheral ========== \r
-AT91C_US0_TNPR            EQU (0xFFFC0118) ;- (PDC_US0) Transmit Next Pointer Register\r
-AT91C_US0_RNPR            EQU (0xFFFC0110) ;- (PDC_US0) Receive Next Pointer Register\r
-AT91C_US0_TCR             EQU (0xFFFC010C) ;- (PDC_US0) Transmit Counter Register\r
-AT91C_US0_PTCR            EQU (0xFFFC0120) ;- (PDC_US0) PDC Transfer Control Register\r
-AT91C_US0_PTSR            EQU (0xFFFC0124) ;- (PDC_US0) PDC Transfer Status Register\r
-AT91C_US0_TNCR            EQU (0xFFFC011C) ;- (PDC_US0) Transmit Next Counter Register\r
-AT91C_US0_TPR             EQU (0xFFFC0108) ;- (PDC_US0) Transmit Pointer Register\r
-AT91C_US0_RCR             EQU (0xFFFC0104) ;- (PDC_US0) Receive Counter Register\r
-AT91C_US0_RPR             EQU (0xFFFC0100) ;- (PDC_US0) Receive Pointer Register\r
-AT91C_US0_RNCR            EQU (0xFFFC0114) ;- (PDC_US0) Receive Next Counter Register\r
-// - ========== Register definition for US0 peripheral ========== \r
-AT91C_US0_BRGR            EQU (0xFFFC0020) ;- (US0) Baud Rate Generator Register\r
-AT91C_US0_NER             EQU (0xFFFC0044) ;- (US0) Nb Errors Register\r
-AT91C_US0_CR              EQU (0xFFFC0000) ;- (US0) Control Register\r
-AT91C_US0_IMR             EQU (0xFFFC0010) ;- (US0) Interrupt Mask Register\r
-AT91C_US0_FIDI            EQU (0xFFFC0040) ;- (US0) FI_DI_Ratio Register\r
-AT91C_US0_TTGR            EQU (0xFFFC0028) ;- (US0) Transmitter Time-guard Register\r
-AT91C_US0_MR              EQU (0xFFFC0004) ;- (US0) Mode Register\r
-AT91C_US0_RTOR            EQU (0xFFFC0024) ;- (US0) Receiver Time-out Register\r
-AT91C_US0_CSR             EQU (0xFFFC0014) ;- (US0) Channel Status Register\r
-AT91C_US0_RHR             EQU (0xFFFC0018) ;- (US0) Receiver Holding Register\r
-AT91C_US0_IDR             EQU (0xFFFC000C) ;- (US0) Interrupt Disable Register\r
-AT91C_US0_THR             EQU (0xFFFC001C) ;- (US0) Transmitter Holding Register\r
-AT91C_US0_IF              EQU (0xFFFC004C) ;- (US0) IRDA_FILTER Register\r
-AT91C_US0_IER             EQU (0xFFFC0008) ;- (US0) Interrupt Enable Register\r
-// - ========== Register definition for PDC_SSC peripheral ========== \r
-AT91C_SSC_TNCR            EQU (0xFFFD411C) ;- (PDC_SSC) Transmit Next Counter Register\r
-AT91C_SSC_RPR             EQU (0xFFFD4100) ;- (PDC_SSC) Receive Pointer Register\r
-AT91C_SSC_RNCR            EQU (0xFFFD4114) ;- (PDC_SSC) Receive Next Counter Register\r
-AT91C_SSC_TPR             EQU (0xFFFD4108) ;- (PDC_SSC) Transmit Pointer Register\r
-AT91C_SSC_PTCR            EQU (0xFFFD4120) ;- (PDC_SSC) PDC Transfer Control Register\r
-AT91C_SSC_TCR             EQU (0xFFFD410C) ;- (PDC_SSC) Transmit Counter Register\r
-AT91C_SSC_RCR             EQU (0xFFFD4104) ;- (PDC_SSC) Receive Counter Register\r
-AT91C_SSC_RNPR            EQU (0xFFFD4110) ;- (PDC_SSC) Receive Next Pointer Register\r
-AT91C_SSC_TNPR            EQU (0xFFFD4118) ;- (PDC_SSC) Transmit Next Pointer Register\r
-AT91C_SSC_PTSR            EQU (0xFFFD4124) ;- (PDC_SSC) PDC Transfer Status Register\r
-// - ========== Register definition for SSC peripheral ========== \r
-AT91C_SSC_RHR             EQU (0xFFFD4020) ;- (SSC) Receive Holding Register\r
-AT91C_SSC_RSHR            EQU (0xFFFD4030) ;- (SSC) Receive Sync Holding Register\r
-AT91C_SSC_TFMR            EQU (0xFFFD401C) ;- (SSC) Transmit Frame Mode Register\r
-AT91C_SSC_IDR             EQU (0xFFFD4048) ;- (SSC) Interrupt Disable Register\r
-AT91C_SSC_THR             EQU (0xFFFD4024) ;- (SSC) Transmit Holding Register\r
-AT91C_SSC_RCMR            EQU (0xFFFD4010) ;- (SSC) Receive Clock ModeRegister\r
-AT91C_SSC_IER             EQU (0xFFFD4044) ;- (SSC) Interrupt Enable Register\r
-AT91C_SSC_TSHR            EQU (0xFFFD4034) ;- (SSC) Transmit Sync Holding Register\r
-AT91C_SSC_SR              EQU (0xFFFD4040) ;- (SSC) Status Register\r
-AT91C_SSC_CMR             EQU (0xFFFD4004) ;- (SSC) Clock Mode Register\r
-AT91C_SSC_TCMR            EQU (0xFFFD4018) ;- (SSC) Transmit Clock Mode Register\r
-AT91C_SSC_CR              EQU (0xFFFD4000) ;- (SSC) Control Register\r
-AT91C_SSC_IMR             EQU (0xFFFD404C) ;- (SSC) Interrupt Mask Register\r
-AT91C_SSC_RFMR            EQU (0xFFFD4014) ;- (SSC) Receive Frame Mode Register\r
-// - ========== Register definition for TWI peripheral ========== \r
-AT91C_TWI_IER             EQU (0xFFFB8024) ;- (TWI) Interrupt Enable Register\r
-AT91C_TWI_CR              EQU (0xFFFB8000) ;- (TWI) Control Register\r
-AT91C_TWI_SR              EQU (0xFFFB8020) ;- (TWI) Status Register\r
-AT91C_TWI_IMR             EQU (0xFFFB802C) ;- (TWI) Interrupt Mask Register\r
-AT91C_TWI_THR             EQU (0xFFFB8034) ;- (TWI) Transmit Holding Register\r
-AT91C_TWI_IDR             EQU (0xFFFB8028) ;- (TWI) Interrupt Disable Register\r
-AT91C_TWI_IADR            EQU (0xFFFB800C) ;- (TWI) Internal Address Register\r
-AT91C_TWI_MMR             EQU (0xFFFB8004) ;- (TWI) Master Mode Register\r
-AT91C_TWI_CWGR            EQU (0xFFFB8010) ;- (TWI) Clock Waveform Generator Register\r
-AT91C_TWI_RHR             EQU (0xFFFB8030) ;- (TWI) Receive Holding Register\r
-// - ========== Register definition for PWMC_CH3 peripheral ========== \r
-AT91C_PWMC_CH3_CUPDR      EQU (0xFFFCC270) ;- (PWMC_CH3) Channel Update Register\r
-AT91C_PWMC_CH3_Reserved   EQU (0xFFFCC274) ;- (PWMC_CH3) Reserved\r
-AT91C_PWMC_CH3_CPRDR      EQU (0xFFFCC268) ;- (PWMC_CH3) Channel Period Register\r
-AT91C_PWMC_CH3_CDTYR      EQU (0xFFFCC264) ;- (PWMC_CH3) Channel Duty Cycle Register\r
-AT91C_PWMC_CH3_CCNTR      EQU (0xFFFCC26C) ;- (PWMC_CH3) Channel Counter Register\r
-AT91C_PWMC_CH3_CMR        EQU (0xFFFCC260) ;- (PWMC_CH3) Channel Mode Register\r
-// - ========== Register definition for PWMC_CH2 peripheral ========== \r
-AT91C_PWMC_CH2_Reserved   EQU (0xFFFCC254) ;- (PWMC_CH2) Reserved\r
-AT91C_PWMC_CH2_CMR        EQU (0xFFFCC240) ;- (PWMC_CH2) Channel Mode Register\r
-AT91C_PWMC_CH2_CCNTR      EQU (0xFFFCC24C) ;- (PWMC_CH2) Channel Counter Register\r
-AT91C_PWMC_CH2_CPRDR      EQU (0xFFFCC248) ;- (PWMC_CH2) Channel Period Register\r
-AT91C_PWMC_CH2_CUPDR      EQU (0xFFFCC250) ;- (PWMC_CH2) Channel Update Register\r
-AT91C_PWMC_CH2_CDTYR      EQU (0xFFFCC244) ;- (PWMC_CH2) Channel Duty Cycle Register\r
-// - ========== Register definition for PWMC_CH1 peripheral ========== \r
-AT91C_PWMC_CH1_Reserved   EQU (0xFFFCC234) ;- (PWMC_CH1) Reserved\r
-AT91C_PWMC_CH1_CUPDR      EQU (0xFFFCC230) ;- (PWMC_CH1) Channel Update Register\r
-AT91C_PWMC_CH1_CPRDR      EQU (0xFFFCC228) ;- (PWMC_CH1) Channel Period Register\r
-AT91C_PWMC_CH1_CCNTR      EQU (0xFFFCC22C) ;- (PWMC_CH1) Channel Counter Register\r
-AT91C_PWMC_CH1_CDTYR      EQU (0xFFFCC224) ;- (PWMC_CH1) Channel Duty Cycle Register\r
-AT91C_PWMC_CH1_CMR        EQU (0xFFFCC220) ;- (PWMC_CH1) Channel Mode Register\r
-// - ========== Register definition for PWMC_CH0 peripheral ========== \r
-AT91C_PWMC_CH0_Reserved   EQU (0xFFFCC214) ;- (PWMC_CH0) Reserved\r
-AT91C_PWMC_CH0_CPRDR      EQU (0xFFFCC208) ;- (PWMC_CH0) Channel Period Register\r
-AT91C_PWMC_CH0_CDTYR      EQU (0xFFFCC204) ;- (PWMC_CH0) Channel Duty Cycle Register\r
-AT91C_PWMC_CH0_CMR        EQU (0xFFFCC200) ;- (PWMC_CH0) Channel Mode Register\r
-AT91C_PWMC_CH0_CUPDR      EQU (0xFFFCC210) ;- (PWMC_CH0) Channel Update Register\r
-AT91C_PWMC_CH0_CCNTR      EQU (0xFFFCC20C) ;- (PWMC_CH0) Channel Counter Register\r
-// - ========== Register definition for PWMC peripheral ========== \r
-AT91C_PWMC_IDR            EQU (0xFFFCC014) ;- (PWMC) PWMC Interrupt Disable Register\r
-AT91C_PWMC_DIS            EQU (0xFFFCC008) ;- (PWMC) PWMC Disable Register\r
-AT91C_PWMC_IER            EQU (0xFFFCC010) ;- (PWMC) PWMC Interrupt Enable Register\r
-AT91C_PWMC_VR             EQU (0xFFFCC0FC) ;- (PWMC) PWMC Version Register\r
-AT91C_PWMC_ISR            EQU (0xFFFCC01C) ;- (PWMC) PWMC Interrupt Status Register\r
-AT91C_PWMC_SR             EQU (0xFFFCC00C) ;- (PWMC) PWMC Status Register\r
-AT91C_PWMC_IMR            EQU (0xFFFCC018) ;- (PWMC) PWMC Interrupt Mask Register\r
-AT91C_PWMC_MR             EQU (0xFFFCC000) ;- (PWMC) PWMC Mode Register\r
-AT91C_PWMC_ENA            EQU (0xFFFCC004) ;- (PWMC) PWMC Enable Register\r
-// - ========== Register definition for UDP peripheral ========== \r
-AT91C_UDP_IMR             EQU (0xFFFB0018) ;- (UDP) Interrupt Mask Register\r
-AT91C_UDP_FADDR           EQU (0xFFFB0008) ;- (UDP) Function Address Register\r
-AT91C_UDP_NUM             EQU (0xFFFB0000) ;- (UDP) Frame Number Register\r
-AT91C_UDP_FDR             EQU (0xFFFB0050) ;- (UDP) Endpoint FIFO Data Register\r
-AT91C_UDP_ISR             EQU (0xFFFB001C) ;- (UDP) Interrupt Status Register\r
-AT91C_UDP_CSR             EQU (0xFFFB0030) ;- (UDP) Endpoint Control and Status Register\r
-AT91C_UDP_IDR             EQU (0xFFFB0014) ;- (UDP) Interrupt Disable Register\r
-AT91C_UDP_ICR             EQU (0xFFFB0020) ;- (UDP) Interrupt Clear Register\r
-AT91C_UDP_RSTEP           EQU (0xFFFB0028) ;- (UDP) Reset Endpoint Register\r
-AT91C_UDP_TXVC            EQU (0xFFFB0074) ;- (UDP) Transceiver Control Register\r
-AT91C_UDP_GLBSTATE        EQU (0xFFFB0004) ;- (UDP) Global State Register\r
-AT91C_UDP_IER             EQU (0xFFFB0010) ;- (UDP) Interrupt Enable Register\r
-// - ========== Register definition for TC0 peripheral ========== \r
-AT91C_TC0_SR              EQU (0xFFFA0020) ;- (TC0) Status Register\r
-AT91C_TC0_RC              EQU (0xFFFA001C) ;- (TC0) Register C\r
-AT91C_TC0_RB              EQU (0xFFFA0018) ;- (TC0) Register B\r
-AT91C_TC0_CCR             EQU (0xFFFA0000) ;- (TC0) Channel Control Register\r
-AT91C_TC0_CMR             EQU (0xFFFA0004) ;- (TC0) Channel Mode Register (Capture Mode / Waveform Mode)\r
-AT91C_TC0_IER             EQU (0xFFFA0024) ;- (TC0) Interrupt Enable Register\r
-AT91C_TC0_RA              EQU (0xFFFA0014) ;- (TC0) Register A\r
-AT91C_TC0_IDR             EQU (0xFFFA0028) ;- (TC0) Interrupt Disable Register\r
-AT91C_TC0_CV              EQU (0xFFFA0010) ;- (TC0) Counter Value\r
-AT91C_TC0_IMR             EQU (0xFFFA002C) ;- (TC0) Interrupt Mask Register\r
-// - ========== Register definition for TC1 peripheral ========== \r
-AT91C_TC1_RB              EQU (0xFFFA0058) ;- (TC1) Register B\r
-AT91C_TC1_CCR             EQU (0xFFFA0040) ;- (TC1) Channel Control Register\r
-AT91C_TC1_IER             EQU (0xFFFA0064) ;- (TC1) Interrupt Enable Register\r
-AT91C_TC1_IDR             EQU (0xFFFA0068) ;- (TC1) Interrupt Disable Register\r
-AT91C_TC1_SR              EQU (0xFFFA0060) ;- (TC1) Status Register\r
-AT91C_TC1_CMR             EQU (0xFFFA0044) ;- (TC1) Channel Mode Register (Capture Mode / Waveform Mode)\r
-AT91C_TC1_RA              EQU (0xFFFA0054) ;- (TC1) Register A\r
-AT91C_TC1_RC              EQU (0xFFFA005C) ;- (TC1) Register C\r
-AT91C_TC1_IMR             EQU (0xFFFA006C) ;- (TC1) Interrupt Mask Register\r
-AT91C_TC1_CV              EQU (0xFFFA0050) ;- (TC1) Counter Value\r
-// - ========== Register definition for TC2 peripheral ========== \r
-AT91C_TC2_CMR             EQU (0xFFFA0084) ;- (TC2) Channel Mode Register (Capture Mode / Waveform Mode)\r
-AT91C_TC2_CCR             EQU (0xFFFA0080) ;- (TC2) Channel Control Register\r
-AT91C_TC2_CV              EQU (0xFFFA0090) ;- (TC2) Counter Value\r
-AT91C_TC2_RA              EQU (0xFFFA0094) ;- (TC2) Register A\r
-AT91C_TC2_RB              EQU (0xFFFA0098) ;- (TC2) Register B\r
-AT91C_TC2_IDR             EQU (0xFFFA00A8) ;- (TC2) Interrupt Disable Register\r
-AT91C_TC2_IMR             EQU (0xFFFA00AC) ;- (TC2) Interrupt Mask Register\r
-AT91C_TC2_RC              EQU (0xFFFA009C) ;- (TC2) Register C\r
-AT91C_TC2_IER             EQU (0xFFFA00A4) ;- (TC2) Interrupt Enable Register\r
-AT91C_TC2_SR              EQU (0xFFFA00A0) ;- (TC2) Status Register\r
-// - ========== Register definition for TCB peripheral ========== \r
-AT91C_TCB_BMR             EQU (0xFFFA00C4) ;- (TCB) TC Block Mode Register\r
-AT91C_TCB_BCR             EQU (0xFFFA00C0) ;- (TCB) TC Block Control Register\r
-// - ========== Register definition for CAN_MB0 peripheral ========== \r
-AT91C_CAN_MB0_MDL         EQU (0xFFFD0214) ;- (CAN_MB0) MailBox Data Low Register\r
-AT91C_CAN_MB0_MAM         EQU (0xFFFD0204) ;- (CAN_MB0) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB0_MCR         EQU (0xFFFD021C) ;- (CAN_MB0) MailBox Control Register\r
-AT91C_CAN_MB0_MID         EQU (0xFFFD0208) ;- (CAN_MB0) MailBox ID Register\r
-AT91C_CAN_MB0_MSR         EQU (0xFFFD0210) ;- (CAN_MB0) MailBox Status Register\r
-AT91C_CAN_MB0_MFID        EQU (0xFFFD020C) ;- (CAN_MB0) MailBox Family ID Register\r
-AT91C_CAN_MB0_MDH         EQU (0xFFFD0218) ;- (CAN_MB0) MailBox Data High Register\r
-AT91C_CAN_MB0_MMR         EQU (0xFFFD0200) ;- (CAN_MB0) MailBox Mode Register\r
-// - ========== Register definition for CAN_MB1 peripheral ========== \r
-AT91C_CAN_MB1_MDL         EQU (0xFFFD0234) ;- (CAN_MB1) MailBox Data Low Register\r
-AT91C_CAN_MB1_MID         EQU (0xFFFD0228) ;- (CAN_MB1) MailBox ID Register\r
-AT91C_CAN_MB1_MMR         EQU (0xFFFD0220) ;- (CAN_MB1) MailBox Mode Register\r
-AT91C_CAN_MB1_MSR         EQU (0xFFFD0230) ;- (CAN_MB1) MailBox Status Register\r
-AT91C_CAN_MB1_MAM         EQU (0xFFFD0224) ;- (CAN_MB1) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB1_MDH         EQU (0xFFFD0238) ;- (CAN_MB1) MailBox Data High Register\r
-AT91C_CAN_MB1_MCR         EQU (0xFFFD023C) ;- (CAN_MB1) MailBox Control Register\r
-AT91C_CAN_MB1_MFID        EQU (0xFFFD022C) ;- (CAN_MB1) MailBox Family ID Register\r
-// - ========== Register definition for CAN_MB2 peripheral ========== \r
-AT91C_CAN_MB2_MCR         EQU (0xFFFD025C) ;- (CAN_MB2) MailBox Control Register\r
-AT91C_CAN_MB2_MDH         EQU (0xFFFD0258) ;- (CAN_MB2) MailBox Data High Register\r
-AT91C_CAN_MB2_MID         EQU (0xFFFD0248) ;- (CAN_MB2) MailBox ID Register\r
-AT91C_CAN_MB2_MDL         EQU (0xFFFD0254) ;- (CAN_MB2) MailBox Data Low Register\r
-AT91C_CAN_MB2_MMR         EQU (0xFFFD0240) ;- (CAN_MB2) MailBox Mode Register\r
-AT91C_CAN_MB2_MAM         EQU (0xFFFD0244) ;- (CAN_MB2) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB2_MFID        EQU (0xFFFD024C) ;- (CAN_MB2) MailBox Family ID Register\r
-AT91C_CAN_MB2_MSR         EQU (0xFFFD0250) ;- (CAN_MB2) MailBox Status Register\r
-// - ========== Register definition for CAN_MB3 peripheral ========== \r
-AT91C_CAN_MB3_MFID        EQU (0xFFFD026C) ;- (CAN_MB3) MailBox Family ID Register\r
-AT91C_CAN_MB3_MAM         EQU (0xFFFD0264) ;- (CAN_MB3) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB3_MID         EQU (0xFFFD0268) ;- (CAN_MB3) MailBox ID Register\r
-AT91C_CAN_MB3_MCR         EQU (0xFFFD027C) ;- (CAN_MB3) MailBox Control Register\r
-AT91C_CAN_MB3_MMR         EQU (0xFFFD0260) ;- (CAN_MB3) MailBox Mode Register\r
-AT91C_CAN_MB3_MSR         EQU (0xFFFD0270) ;- (CAN_MB3) MailBox Status Register\r
-AT91C_CAN_MB3_MDL         EQU (0xFFFD0274) ;- (CAN_MB3) MailBox Data Low Register\r
-AT91C_CAN_MB3_MDH         EQU (0xFFFD0278) ;- (CAN_MB3) MailBox Data High Register\r
-// - ========== Register definition for CAN_MB4 peripheral ========== \r
-AT91C_CAN_MB4_MID         EQU (0xFFFD0288) ;- (CAN_MB4) MailBox ID Register\r
-AT91C_CAN_MB4_MMR         EQU (0xFFFD0280) ;- (CAN_MB4) MailBox Mode Register\r
-AT91C_CAN_MB4_MDH         EQU (0xFFFD0298) ;- (CAN_MB4) MailBox Data High Register\r
-AT91C_CAN_MB4_MFID        EQU (0xFFFD028C) ;- (CAN_MB4) MailBox Family ID Register\r
-AT91C_CAN_MB4_MSR         EQU (0xFFFD0290) ;- (CAN_MB4) MailBox Status Register\r
-AT91C_CAN_MB4_MCR         EQU (0xFFFD029C) ;- (CAN_MB4) MailBox Control Register\r
-AT91C_CAN_MB4_MDL         EQU (0xFFFD0294) ;- (CAN_MB4) MailBox Data Low Register\r
-AT91C_CAN_MB4_MAM         EQU (0xFFFD0284) ;- (CAN_MB4) MailBox Acceptance Mask Register\r
-// - ========== Register definition for CAN_MB5 peripheral ========== \r
-AT91C_CAN_MB5_MSR         EQU (0xFFFD02B0) ;- (CAN_MB5) MailBox Status Register\r
-AT91C_CAN_MB5_MCR         EQU (0xFFFD02BC) ;- (CAN_MB5) MailBox Control Register\r
-AT91C_CAN_MB5_MFID        EQU (0xFFFD02AC) ;- (CAN_MB5) MailBox Family ID Register\r
-AT91C_CAN_MB5_MDH         EQU (0xFFFD02B8) ;- (CAN_MB5) MailBox Data High Register\r
-AT91C_CAN_MB5_MID         EQU (0xFFFD02A8) ;- (CAN_MB5) MailBox ID Register\r
-AT91C_CAN_MB5_MMR         EQU (0xFFFD02A0) ;- (CAN_MB5) MailBox Mode Register\r
-AT91C_CAN_MB5_MDL         EQU (0xFFFD02B4) ;- (CAN_MB5) MailBox Data Low Register\r
-AT91C_CAN_MB5_MAM         EQU (0xFFFD02A4) ;- (CAN_MB5) MailBox Acceptance Mask Register\r
-// - ========== Register definition for CAN_MB6 peripheral ========== \r
-AT91C_CAN_MB6_MFID        EQU (0xFFFD02CC) ;- (CAN_MB6) MailBox Family ID Register\r
-AT91C_CAN_MB6_MID         EQU (0xFFFD02C8) ;- (CAN_MB6) MailBox ID Register\r
-AT91C_CAN_MB6_MAM         EQU (0xFFFD02C4) ;- (CAN_MB6) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB6_MSR         EQU (0xFFFD02D0) ;- (CAN_MB6) MailBox Status Register\r
-AT91C_CAN_MB6_MDL         EQU (0xFFFD02D4) ;- (CAN_MB6) MailBox Data Low Register\r
-AT91C_CAN_MB6_MCR         EQU (0xFFFD02DC) ;- (CAN_MB6) MailBox Control Register\r
-AT91C_CAN_MB6_MDH         EQU (0xFFFD02D8) ;- (CAN_MB6) MailBox Data High Register\r
-AT91C_CAN_MB6_MMR         EQU (0xFFFD02C0) ;- (CAN_MB6) MailBox Mode Register\r
-// - ========== Register definition for CAN_MB7 peripheral ========== \r
-AT91C_CAN_MB7_MCR         EQU (0xFFFD02FC) ;- (CAN_MB7) MailBox Control Register\r
-AT91C_CAN_MB7_MDH         EQU (0xFFFD02F8) ;- (CAN_MB7) MailBox Data High Register\r
-AT91C_CAN_MB7_MFID        EQU (0xFFFD02EC) ;- (CAN_MB7) MailBox Family ID Register\r
-AT91C_CAN_MB7_MDL         EQU (0xFFFD02F4) ;- (CAN_MB7) MailBox Data Low Register\r
-AT91C_CAN_MB7_MID         EQU (0xFFFD02E8) ;- (CAN_MB7) MailBox ID Register\r
-AT91C_CAN_MB7_MMR         EQU (0xFFFD02E0) ;- (CAN_MB7) MailBox Mode Register\r
-AT91C_CAN_MB7_MAM         EQU (0xFFFD02E4) ;- (CAN_MB7) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB7_MSR         EQU (0xFFFD02F0) ;- (CAN_MB7) MailBox Status Register\r
-// - ========== Register definition for CAN peripheral ========== \r
-AT91C_CAN_TCR             EQU (0xFFFD0024) ;- (CAN) Transfer Command Register\r
-AT91C_CAN_IMR             EQU (0xFFFD000C) ;- (CAN) Interrupt Mask Register\r
-AT91C_CAN_IER             EQU (0xFFFD0004) ;- (CAN) Interrupt Enable Register\r
-AT91C_CAN_ECR             EQU (0xFFFD0020) ;- (CAN) Error Counter Register\r
-AT91C_CAN_TIMESTP         EQU (0xFFFD001C) ;- (CAN) Time Stamp Register\r
-AT91C_CAN_MR              EQU (0xFFFD0000) ;- (CAN) Mode Register\r
-AT91C_CAN_IDR             EQU (0xFFFD0008) ;- (CAN) Interrupt Disable Register\r
-AT91C_CAN_ACR             EQU (0xFFFD0028) ;- (CAN) Abort Command Register\r
-AT91C_CAN_TIM             EQU (0xFFFD0018) ;- (CAN) Timer Register\r
-AT91C_CAN_SR              EQU (0xFFFD0010) ;- (CAN) Status Register\r
-AT91C_CAN_BR              EQU (0xFFFD0014) ;- (CAN) Baudrate Register\r
-AT91C_CAN_VR              EQU (0xFFFD00FC) ;- (CAN) Version Register\r
-// - ========== Register definition for EMAC peripheral ========== \r
-AT91C_EMAC_ISR            EQU (0xFFFDC024) ;- (EMAC) Interrupt Status Register\r
-AT91C_EMAC_SA4H           EQU (0xFFFDC0B4) ;- (EMAC) Specific Address 4 Top, Last 2 bytes\r
-AT91C_EMAC_SA1L           EQU (0xFFFDC098) ;- (EMAC) Specific Address 1 Bottom, First 4 bytes\r
-AT91C_EMAC_ELE            EQU (0xFFFDC078) ;- (EMAC) Excessive Length Errors Register\r
-AT91C_EMAC_LCOL           EQU (0xFFFDC05C) ;- (EMAC) Late Collision Register\r
-AT91C_EMAC_RLE            EQU (0xFFFDC088) ;- (EMAC) Receive Length Field Mismatch Register\r
-AT91C_EMAC_WOL            EQU (0xFFFDC0C4) ;- (EMAC) Wake On LAN Register\r
-AT91C_EMAC_DTF            EQU (0xFFFDC058) ;- (EMAC) Deferred Transmission Frame Register\r
-AT91C_EMAC_TUND           EQU (0xFFFDC064) ;- (EMAC) Transmit Underrun Error Register\r
-AT91C_EMAC_NCR            EQU (0xFFFDC000) ;- (EMAC) Network Control Register\r
-AT91C_EMAC_SA4L           EQU (0xFFFDC0B0) ;- (EMAC) Specific Address 4 Bottom, First 4 bytes\r
-AT91C_EMAC_RSR            EQU (0xFFFDC020) ;- (EMAC) Receive Status Register\r
-AT91C_EMAC_SA3L           EQU (0xFFFDC0A8) ;- (EMAC) Specific Address 3 Bottom, First 4 bytes\r
-AT91C_EMAC_TSR            EQU (0xFFFDC014) ;- (EMAC) Transmit Status Register\r
-AT91C_EMAC_IDR            EQU (0xFFFDC02C) ;- (EMAC) Interrupt Disable Register\r
-AT91C_EMAC_RSE            EQU (0xFFFDC074) ;- (EMAC) Receive Symbol Errors Register\r
-AT91C_EMAC_ECOL           EQU (0xFFFDC060) ;- (EMAC) Excessive Collision Register\r
-AT91C_EMAC_TID            EQU (0xFFFDC0B8) ;- (EMAC) Type ID Checking Register\r
-AT91C_EMAC_HRB            EQU (0xFFFDC090) ;- (EMAC) Hash Address Bottom[31:0]\r
-AT91C_EMAC_TBQP           EQU (0xFFFDC01C) ;- (EMAC) Transmit Buffer Queue Pointer\r
-AT91C_EMAC_USRIO          EQU (0xFFFDC0C0) ;- (EMAC) USER Input/Output Register\r
-AT91C_EMAC_PTR            EQU (0xFFFDC038) ;- (EMAC) Pause Time Register\r
-AT91C_EMAC_SA2H           EQU (0xFFFDC0A4) ;- (EMAC) Specific Address 2 Top, Last 2 bytes\r
-AT91C_EMAC_ROV            EQU (0xFFFDC070) ;- (EMAC) Receive Overrun Errors Register\r
-AT91C_EMAC_ALE            EQU (0xFFFDC054) ;- (EMAC) Alignment Error Register\r
-AT91C_EMAC_RJA            EQU (0xFFFDC07C) ;- (EMAC) Receive Jabbers Register\r
-AT91C_EMAC_RBQP           EQU (0xFFFDC018) ;- (EMAC) Receive Buffer Queue Pointer\r
-AT91C_EMAC_TPF            EQU (0xFFFDC08C) ;- (EMAC) Transmitted Pause Frames Register\r
-AT91C_EMAC_NCFGR          EQU (0xFFFDC004) ;- (EMAC) Network Configuration Register\r
-AT91C_EMAC_HRT            EQU (0xFFFDC094) ;- (EMAC) Hash Address Top[63:32]\r
-AT91C_EMAC_USF            EQU (0xFFFDC080) ;- (EMAC) Undersize Frames Register\r
-AT91C_EMAC_FCSE           EQU (0xFFFDC050) ;- (EMAC) Frame Check Sequence Error Register\r
-AT91C_EMAC_TPQ            EQU (0xFFFDC0BC) ;- (EMAC) Transmit Pause Quantum Register\r
-AT91C_EMAC_MAN            EQU (0xFFFDC034) ;- (EMAC) PHY Maintenance Register\r
-AT91C_EMAC_FTO            EQU (0xFFFDC040) ;- (EMAC) Frames Transmitted OK Register\r
-AT91C_EMAC_REV            EQU (0xFFFDC0FC) ;- (EMAC) Revision Register\r
-AT91C_EMAC_IMR            EQU (0xFFFDC030) ;- (EMAC) Interrupt Mask Register\r
-AT91C_EMAC_SCF            EQU (0xFFFDC044) ;- (EMAC) Single Collision Frame Register\r
-AT91C_EMAC_PFR            EQU (0xFFFDC03C) ;- (EMAC) Pause Frames received Register\r
-AT91C_EMAC_MCF            EQU (0xFFFDC048) ;- (EMAC) Multiple Collision Frame Register\r
-AT91C_EMAC_NSR            EQU (0xFFFDC008) ;- (EMAC) Network Status Register\r
-AT91C_EMAC_SA2L           EQU (0xFFFDC0A0) ;- (EMAC) Specific Address 2 Bottom, First 4 bytes\r
-AT91C_EMAC_FRO            EQU (0xFFFDC04C) ;- (EMAC) Frames Received OK Register\r
-AT91C_EMAC_IER            EQU (0xFFFDC028) ;- (EMAC) Interrupt Enable Register\r
-AT91C_EMAC_SA1H           EQU (0xFFFDC09C) ;- (EMAC) Specific Address 1 Top, Last 2 bytes\r
-AT91C_EMAC_CSE            EQU (0xFFFDC068) ;- (EMAC) Carrier Sense Error Register\r
-AT91C_EMAC_SA3H           EQU (0xFFFDC0AC) ;- (EMAC) Specific Address 3 Top, Last 2 bytes\r
-AT91C_EMAC_RRE            EQU (0xFFFDC06C) ;- (EMAC) Receive Ressource Error Register\r
-AT91C_EMAC_STE            EQU (0xFFFDC084) ;- (EMAC) SQE Test Error Register\r
-// - ========== Register definition for PDC_ADC peripheral ========== \r
-AT91C_ADC_PTSR            EQU (0xFFFD8124) ;- (PDC_ADC) PDC Transfer Status Register\r
-AT91C_ADC_PTCR            EQU (0xFFFD8120) ;- (PDC_ADC) PDC Transfer Control Register\r
-AT91C_ADC_TNPR            EQU (0xFFFD8118) ;- (PDC_ADC) Transmit Next Pointer Register\r
-AT91C_ADC_TNCR            EQU (0xFFFD811C) ;- (PDC_ADC) Transmit Next Counter Register\r
-AT91C_ADC_RNPR            EQU (0xFFFD8110) ;- (PDC_ADC) Receive Next Pointer Register\r
-AT91C_ADC_RNCR            EQU (0xFFFD8114) ;- (PDC_ADC) Receive Next Counter Register\r
-AT91C_ADC_RPR             EQU (0xFFFD8100) ;- (PDC_ADC) Receive Pointer Register\r
-AT91C_ADC_TCR             EQU (0xFFFD810C) ;- (PDC_ADC) Transmit Counter Register\r
-AT91C_ADC_TPR             EQU (0xFFFD8108) ;- (PDC_ADC) Transmit Pointer Register\r
-AT91C_ADC_RCR             EQU (0xFFFD8104) ;- (PDC_ADC) Receive Counter Register\r
-// - ========== Register definition for ADC peripheral ========== \r
-AT91C_ADC_CDR2            EQU (0xFFFD8038) ;- (ADC) ADC Channel Data Register 2\r
-AT91C_ADC_CDR3            EQU (0xFFFD803C) ;- (ADC) ADC Channel Data Register 3\r
-AT91C_ADC_CDR0            EQU (0xFFFD8030) ;- (ADC) ADC Channel Data Register 0\r
-AT91C_ADC_CDR5            EQU (0xFFFD8044) ;- (ADC) ADC Channel Data Register 5\r
-AT91C_ADC_CHDR            EQU (0xFFFD8014) ;- (ADC) ADC Channel Disable Register\r
-AT91C_ADC_SR              EQU (0xFFFD801C) ;- (ADC) ADC Status Register\r
-AT91C_ADC_CDR4            EQU (0xFFFD8040) ;- (ADC) ADC Channel Data Register 4\r
-AT91C_ADC_CDR1            EQU (0xFFFD8034) ;- (ADC) ADC Channel Data Register 1\r
-AT91C_ADC_LCDR            EQU (0xFFFD8020) ;- (ADC) ADC Last Converted Data Register\r
-AT91C_ADC_IDR             EQU (0xFFFD8028) ;- (ADC) ADC Interrupt Disable Register\r
-AT91C_ADC_CR              EQU (0xFFFD8000) ;- (ADC) ADC Control Register\r
-AT91C_ADC_CDR7            EQU (0xFFFD804C) ;- (ADC) ADC Channel Data Register 7\r
-AT91C_ADC_CDR6            EQU (0xFFFD8048) ;- (ADC) ADC Channel Data Register 6\r
-AT91C_ADC_IER             EQU (0xFFFD8024) ;- (ADC) ADC Interrupt Enable Register\r
-AT91C_ADC_CHER            EQU (0xFFFD8010) ;- (ADC) ADC Channel Enable Register\r
-AT91C_ADC_CHSR            EQU (0xFFFD8018) ;- (ADC) ADC Channel Status Register\r
-AT91C_ADC_MR              EQU (0xFFFD8004) ;- (ADC) ADC Mode Register\r
-AT91C_ADC_IMR             EQU (0xFFFD802C) ;- (ADC) ADC Interrupt Mask Register\r
-// - ========== Register definition for PDC_AES peripheral ========== \r
-AT91C_AES_TPR             EQU (0xFFFA4108) ;- (PDC_AES) Transmit Pointer Register\r
-AT91C_AES_PTCR            EQU (0xFFFA4120) ;- (PDC_AES) PDC Transfer Control Register\r
-AT91C_AES_RNPR            EQU (0xFFFA4110) ;- (PDC_AES) Receive Next Pointer Register\r
-AT91C_AES_TNCR            EQU (0xFFFA411C) ;- (PDC_AES) Transmit Next Counter Register\r
-AT91C_AES_TCR             EQU (0xFFFA410C) ;- (PDC_AES) Transmit Counter Register\r
-AT91C_AES_RCR             EQU (0xFFFA4104) ;- (PDC_AES) Receive Counter Register\r
-AT91C_AES_RNCR            EQU (0xFFFA4114) ;- (PDC_AES) Receive Next Counter Register\r
-AT91C_AES_TNPR            EQU (0xFFFA4118) ;- (PDC_AES) Transmit Next Pointer Register\r
-AT91C_AES_RPR             EQU (0xFFFA4100) ;- (PDC_AES) Receive Pointer Register\r
-AT91C_AES_PTSR            EQU (0xFFFA4124) ;- (PDC_AES) PDC Transfer Status Register\r
-// - ========== Register definition for AES peripheral ========== \r
-AT91C_AES_IVxR            EQU (0xFFFA4060) ;- (AES) Initialization Vector x Register\r
-AT91C_AES_MR              EQU (0xFFFA4004) ;- (AES) Mode Register\r
-AT91C_AES_VR              EQU (0xFFFA40FC) ;- (AES) AES Version Register\r
-AT91C_AES_ODATAxR         EQU (0xFFFA4050) ;- (AES) Output Data x Register\r
-AT91C_AES_IDATAxR         EQU (0xFFFA4040) ;- (AES) Input Data x Register\r
-AT91C_AES_CR              EQU (0xFFFA4000) ;- (AES) Control Register\r
-AT91C_AES_IDR             EQU (0xFFFA4014) ;- (AES) Interrupt Disable Register\r
-AT91C_AES_IMR             EQU (0xFFFA4018) ;- (AES) Interrupt Mask Register\r
-AT91C_AES_IER             EQU (0xFFFA4010) ;- (AES) Interrupt Enable Register\r
-AT91C_AES_KEYWxR          EQU (0xFFFA4020) ;- (AES) Key Word x Register\r
-AT91C_AES_ISR             EQU (0xFFFA401C) ;- (AES) Interrupt Status Register\r
-// - ========== Register definition for PDC_TDES peripheral ========== \r
-AT91C_TDES_RNCR           EQU (0xFFFA8114) ;- (PDC_TDES) Receive Next Counter Register\r
-AT91C_TDES_TCR            EQU (0xFFFA810C) ;- (PDC_TDES) Transmit Counter Register\r
-AT91C_TDES_RCR            EQU (0xFFFA8104) ;- (PDC_TDES) Receive Counter Register\r
-AT91C_TDES_TNPR           EQU (0xFFFA8118) ;- (PDC_TDES) Transmit Next Pointer Register\r
-AT91C_TDES_RNPR           EQU (0xFFFA8110) ;- (PDC_TDES) Receive Next Pointer Register\r
-AT91C_TDES_RPR            EQU (0xFFFA8100) ;- (PDC_TDES) Receive Pointer Register\r
-AT91C_TDES_TNCR           EQU (0xFFFA811C) ;- (PDC_TDES) Transmit Next Counter Register\r
-AT91C_TDES_TPR            EQU (0xFFFA8108) ;- (PDC_TDES) Transmit Pointer Register\r
-AT91C_TDES_PTSR           EQU (0xFFFA8124) ;- (PDC_TDES) PDC Transfer Status Register\r
-AT91C_TDES_PTCR           EQU (0xFFFA8120) ;- (PDC_TDES) PDC Transfer Control Register\r
-// - ========== Register definition for TDES peripheral ========== \r
-AT91C_TDES_KEY2WxR        EQU (0xFFFA8028) ;- (TDES) Key 2 Word x Register\r
-AT91C_TDES_KEY3WxR        EQU (0xFFFA8030) ;- (TDES) Key 3 Word x Register\r
-AT91C_TDES_IDR            EQU (0xFFFA8014) ;- (TDES) Interrupt Disable Register\r
-AT91C_TDES_VR             EQU (0xFFFA80FC) ;- (TDES) TDES Version Register\r
-AT91C_TDES_IVxR           EQU (0xFFFA8060) ;- (TDES) Initialization Vector x Register\r
-AT91C_TDES_ODATAxR        EQU (0xFFFA8050) ;- (TDES) Output Data x Register\r
-AT91C_TDES_IMR            EQU (0xFFFA8018) ;- (TDES) Interrupt Mask Register\r
-AT91C_TDES_MR             EQU (0xFFFA8004) ;- (TDES) Mode Register\r
-AT91C_TDES_CR             EQU (0xFFFA8000) ;- (TDES) Control Register\r
-AT91C_TDES_IER            EQU (0xFFFA8010) ;- (TDES) Interrupt Enable Register\r
-AT91C_TDES_ISR            EQU (0xFFFA801C) ;- (TDES) Interrupt Status Register\r
-AT91C_TDES_IDATAxR        EQU (0xFFFA8040) ;- (TDES) Input Data x Register\r
-AT91C_TDES_KEY1WxR        EQU (0xFFFA8020) ;- (TDES) Key 1 Word x Register\r
-\r
-// - *****************************************************************************\r
-// -               PIO DEFINITIONS FOR AT91SAM7X128\r
-// - *****************************************************************************\r
-AT91C_PIO_PA0             EQU (1 <<  0) ;- Pin Controlled by PA0\r
-AT91C_PA0_RXD0            EQU (AT91C_PIO_PA0) ;-  USART 0 Receive Data\r
-AT91C_PIO_PA1             EQU (1 <<  1) ;- Pin Controlled by PA1\r
-AT91C_PA1_TXD0            EQU (AT91C_PIO_PA1) ;-  USART 0 Transmit Data\r
-AT91C_PIO_PA10            EQU (1 << 10) ;- Pin Controlled by PA10\r
-AT91C_PA10_TWD            EQU (AT91C_PIO_PA10) ;-  TWI Two-wire Serial Data\r
-AT91C_PIO_PA11            EQU (1 << 11) ;- Pin Controlled by PA11\r
-AT91C_PA11_TWCK           EQU (AT91C_PIO_PA11) ;-  TWI Two-wire Serial Clock\r
-AT91C_PIO_PA12            EQU (1 << 12) ;- Pin Controlled by PA12\r
-AT91C_PA12_NPCS00         EQU (AT91C_PIO_PA12) ;-  SPI 0 Peripheral Chip Select 0\r
-AT91C_PIO_PA13            EQU (1 << 13) ;- Pin Controlled by PA13\r
-AT91C_PA13_NPCS01         EQU (AT91C_PIO_PA13) ;-  SPI 0 Peripheral Chip Select 1\r
-AT91C_PA13_PCK1           EQU (AT91C_PIO_PA13) ;-  PMC Programmable Clock Output 1\r
-AT91C_PIO_PA14            EQU (1 << 14) ;- Pin Controlled by PA14\r
-AT91C_PA14_NPCS02         EQU (AT91C_PIO_PA14) ;-  SPI 0 Peripheral Chip Select 2\r
-AT91C_PA14_IRQ1           EQU (AT91C_PIO_PA14) ;-  External Interrupt 1\r
-AT91C_PIO_PA15            EQU (1 << 15) ;- Pin Controlled by PA15\r
-AT91C_PA15_NPCS03         EQU (AT91C_PIO_PA15) ;-  SPI 0 Peripheral Chip Select 3\r
-AT91C_PA15_TCLK2          EQU (AT91C_PIO_PA15) ;-  Timer Counter 2 external clock input\r
-AT91C_PIO_PA16            EQU (1 << 16) ;- Pin Controlled by PA16\r
-AT91C_PA16_MISO0          EQU (AT91C_PIO_PA16) ;-  SPI 0 Master In Slave\r
-AT91C_PIO_PA17            EQU (1 << 17) ;- Pin Controlled by PA17\r
-AT91C_PA17_MOSI0          EQU (AT91C_PIO_PA17) ;-  SPI 0 Master Out Slave\r
-AT91C_PIO_PA18            EQU (1 << 18) ;- Pin Controlled by PA18\r
-AT91C_PA18_SPCK0          EQU (AT91C_PIO_PA18) ;-  SPI 0 Serial Clock\r
-AT91C_PIO_PA19            EQU (1 << 19) ;- Pin Controlled by PA19\r
-AT91C_PA19_CANRX          EQU (AT91C_PIO_PA19) ;-  CAN Receive\r
-AT91C_PIO_PA2             EQU (1 <<  2) ;- Pin Controlled by PA2\r
-AT91C_PA2_SCK0            EQU (AT91C_PIO_PA2) ;-  USART 0 Serial Clock\r
-AT91C_PA2_NPCS11          EQU (AT91C_PIO_PA2) ;-  SPI 1 Peripheral Chip Select 1\r
-AT91C_PIO_PA20            EQU (1 << 20) ;- Pin Controlled by PA20\r
-AT91C_PA20_CANTX          EQU (AT91C_PIO_PA20) ;-  CAN Transmit\r
-AT91C_PIO_PA21            EQU (1 << 21) ;- Pin Controlled by PA21\r
-AT91C_PA21_TF             EQU (AT91C_PIO_PA21) ;-  SSC Transmit Frame Sync\r
-AT91C_PA21_NPCS10         EQU (AT91C_PIO_PA21) ;-  SPI 1 Peripheral Chip Select 0\r
-AT91C_PIO_PA22            EQU (1 << 22) ;- Pin Controlled by PA22\r
-AT91C_PA22_TK             EQU (AT91C_PIO_PA22) ;-  SSC Transmit Clock\r
-AT91C_PA22_SPCK1          EQU (AT91C_PIO_PA22) ;-  SPI 1 Serial Clock\r
-AT91C_PIO_PA23            EQU (1 << 23) ;- Pin Controlled by PA23\r
-AT91C_PA23_TD             EQU (AT91C_PIO_PA23) ;-  SSC Transmit data\r
-AT91C_PA23_MOSI1          EQU (AT91C_PIO_PA23) ;-  SPI 1 Master Out Slave\r
-AT91C_PIO_PA24            EQU (1 << 24) ;- Pin Controlled by PA24\r
-AT91C_PA24_RD             EQU (AT91C_PIO_PA24) ;-  SSC Receive Data\r
-AT91C_PA24_MISO1          EQU (AT91C_PIO_PA24) ;-  SPI 1 Master In Slave\r
-AT91C_PIO_PA25            EQU (1 << 25) ;- Pin Controlled by PA25\r
-AT91C_PA25_RK             EQU (AT91C_PIO_PA25) ;-  SSC Receive Clock\r
-AT91C_PA25_NPCS11         EQU (AT91C_PIO_PA25) ;-  SPI 1 Peripheral Chip Select 1\r
-AT91C_PIO_PA26            EQU (1 << 26) ;- Pin Controlled by PA26\r
-AT91C_PA26_RF             EQU (AT91C_PIO_PA26) ;-  SSC Receive Frame Sync\r
-AT91C_PA26_NPCS12         EQU (AT91C_PIO_PA26) ;-  SPI 1 Peripheral Chip Select 2\r
-AT91C_PIO_PA27            EQU (1 << 27) ;- Pin Controlled by PA27\r
-AT91C_PA27_DRXD           EQU (AT91C_PIO_PA27) ;-  DBGU Debug Receive Data\r
-AT91C_PA27_PCK3           EQU (AT91C_PIO_PA27) ;-  PMC Programmable Clock Output 3\r
-AT91C_PIO_PA28            EQU (1 << 28) ;- Pin Controlled by PA28\r
-AT91C_PA28_DTXD           EQU (AT91C_PIO_PA28) ;-  DBGU Debug Transmit Data\r
-AT91C_PIO_PA29            EQU (1 << 29) ;- Pin Controlled by PA29\r
-AT91C_PA29_FIQ            EQU (AT91C_PIO_PA29) ;-  AIC Fast Interrupt Input\r
-AT91C_PA29_NPCS13         EQU (AT91C_PIO_PA29) ;-  SPI 1 Peripheral Chip Select 3\r
-AT91C_PIO_PA3             EQU (1 <<  3) ;- Pin Controlled by PA3\r
-AT91C_PA3_RTS0            EQU (AT91C_PIO_PA3) ;-  USART 0 Ready To Send\r
-AT91C_PA3_NPCS12          EQU (AT91C_PIO_PA3) ;-  SPI 1 Peripheral Chip Select 2\r
-AT91C_PIO_PA30            EQU (1 << 30) ;- Pin Controlled by PA30\r
-AT91C_PA30_IRQ0           EQU (AT91C_PIO_PA30) ;-  External Interrupt 0\r
-AT91C_PA30_PCK2           EQU (AT91C_PIO_PA30) ;-  PMC Programmable Clock Output 2\r
-AT91C_PIO_PA4             EQU (1 <<  4) ;- Pin Controlled by PA4\r
-AT91C_PA4_CTS0            EQU (AT91C_PIO_PA4) ;-  USART 0 Clear To Send\r
-AT91C_PA4_NPCS13          EQU (AT91C_PIO_PA4) ;-  SPI 1 Peripheral Chip Select 3\r
-AT91C_PIO_PA5             EQU (1 <<  5) ;- Pin Controlled by PA5\r
-AT91C_PA5_RXD1            EQU (AT91C_PIO_PA5) ;-  USART 1 Receive Data\r
-AT91C_PIO_PA6             EQU (1 <<  6) ;- Pin Controlled by PA6\r
-AT91C_PA6_TXD1            EQU (AT91C_PIO_PA6) ;-  USART 1 Transmit Data\r
-AT91C_PIO_PA7             EQU (1 <<  7) ;- Pin Controlled by PA7\r
-AT91C_PA7_SCK1            EQU (AT91C_PIO_PA7) ;-  USART 1 Serial Clock\r
-AT91C_PA7_NPCS01          EQU (AT91C_PIO_PA7) ;-  SPI 0 Peripheral Chip Select 1\r
-AT91C_PIO_PA8             EQU (1 <<  8) ;- Pin Controlled by PA8\r
-AT91C_PA8_RTS1            EQU (AT91C_PIO_PA8) ;-  USART 1 Ready To Send\r
-AT91C_PA8_NPCS02          EQU (AT91C_PIO_PA8) ;-  SPI 0 Peripheral Chip Select 2\r
-AT91C_PIO_PA9             EQU (1 <<  9) ;- Pin Controlled by PA9\r
-AT91C_PA9_CTS1            EQU (AT91C_PIO_PA9) ;-  USART 1 Clear To Send\r
-AT91C_PA9_NPCS03          EQU (AT91C_PIO_PA9) ;-  SPI 0 Peripheral Chip Select 3\r
-AT91C_PIO_PB0             EQU (1 <<  0) ;- Pin Controlled by PB0\r
-AT91C_PB0_ETXCK_EREFCK    EQU (AT91C_PIO_PB0) ;-  Ethernet MAC Transmit Clock/Reference Clock\r
-AT91C_PB0_PCK0            EQU (AT91C_PIO_PB0) ;-  PMC Programmable Clock Output 0\r
-AT91C_PIO_PB1             EQU (1 <<  1) ;- Pin Controlled by PB1\r
-AT91C_PB1_ETXEN           EQU (AT91C_PIO_PB1) ;-  Ethernet MAC Transmit Enable\r
-AT91C_PIO_PB10            EQU (1 << 10) ;- Pin Controlled by PB10\r
-AT91C_PB10_ETX2           EQU (AT91C_PIO_PB10) ;-  Ethernet MAC Transmit Data 2\r
-AT91C_PB10_NPCS11         EQU (AT91C_PIO_PB10) ;-  SPI 1 Peripheral Chip Select 1\r
-AT91C_PIO_PB11            EQU (1 << 11) ;- Pin Controlled by PB11\r
-AT91C_PB11_ETX3           EQU (AT91C_PIO_PB11) ;-  Ethernet MAC Transmit Data 3\r
-AT91C_PB11_NPCS12         EQU (AT91C_PIO_PB11) ;-  SPI 1 Peripheral Chip Select 2\r
-AT91C_PIO_PB12            EQU (1 << 12) ;- Pin Controlled by PB12\r
-AT91C_PB12_ETXER          EQU (AT91C_PIO_PB12) ;-  Ethernet MAC Transmikt Coding Error\r
-AT91C_PB12_TCLK0          EQU (AT91C_PIO_PB12) ;-  Timer Counter 0 external clock input\r
-AT91C_PIO_PB13            EQU (1 << 13) ;- Pin Controlled by PB13\r
-AT91C_PB13_ERX2           EQU (AT91C_PIO_PB13) ;-  Ethernet MAC Receive Data 2\r
-AT91C_PB13_NPCS01         EQU (AT91C_PIO_PB13) ;-  SPI 0 Peripheral Chip Select 1\r
-AT91C_PIO_PB14            EQU (1 << 14) ;- Pin Controlled by PB14\r
-AT91C_PB14_ERX3           EQU (AT91C_PIO_PB14) ;-  Ethernet MAC Receive Data 3\r
-AT91C_PB14_NPCS02         EQU (AT91C_PIO_PB14) ;-  SPI 0 Peripheral Chip Select 2\r
-AT91C_PIO_PB15            EQU (1 << 15) ;- Pin Controlled by PB15\r
-AT91C_PB15_ERXDV          EQU (AT91C_PIO_PB15) ;-  Ethernet MAC Receive Data Valid\r
-AT91C_PIO_PB16            EQU (1 << 16) ;- Pin Controlled by PB16\r
-AT91C_PB16_ECOL           EQU (AT91C_PIO_PB16) ;-  Ethernet MAC Collision Detected\r
-AT91C_PB16_NPCS13         EQU (AT91C_PIO_PB16) ;-  SPI 1 Peripheral Chip Select 3\r
-AT91C_PIO_PB17            EQU (1 << 17) ;- Pin Controlled by PB17\r
-AT91C_PB17_ERXCK          EQU (AT91C_PIO_PB17) ;-  Ethernet MAC Receive Clock\r
-AT91C_PB17_NPCS03         EQU (AT91C_PIO_PB17) ;-  SPI 0 Peripheral Chip Select 3\r
-AT91C_PIO_PB18            EQU (1 << 18) ;- Pin Controlled by PB18\r
-AT91C_PB18_EF100          EQU (AT91C_PIO_PB18) ;-  Ethernet MAC Force 100 Mbits/sec\r
-AT91C_PB18_ADTRG          EQU (AT91C_PIO_PB18) ;-  ADC External Trigger\r
-AT91C_PIO_PB19            EQU (1 << 19) ;- Pin Controlled by PB19\r
-AT91C_PB19_PWM0           EQU (AT91C_PIO_PB19) ;-  PWM Channel 0\r
-AT91C_PB19_TCLK1          EQU (AT91C_PIO_PB19) ;-  Timer Counter 1 external clock input\r
-AT91C_PIO_PB2             EQU (1 <<  2) ;- Pin Controlled by PB2\r
-AT91C_PB2_ETX0            EQU (AT91C_PIO_PB2) ;-  Ethernet MAC Transmit Data 0\r
-AT91C_PIO_PB20            EQU (1 << 20) ;- Pin Controlled by PB20\r
-AT91C_PB20_PWM1           EQU (AT91C_PIO_PB20) ;-  PWM Channel 1\r
-AT91C_PB20_PCK0           EQU (AT91C_PIO_PB20) ;-  PMC Programmable Clock Output 0\r
-AT91C_PIO_PB21            EQU (1 << 21) ;- Pin Controlled by PB21\r
-AT91C_PB21_PWM2           EQU (AT91C_PIO_PB21) ;-  PWM Channel 2\r
-AT91C_PB21_PCK1           EQU (AT91C_PIO_PB21) ;-  PMC Programmable Clock Output 1\r
-AT91C_PIO_PB22            EQU (1 << 22) ;- Pin Controlled by PB22\r
-AT91C_PB22_PWM3           EQU (AT91C_PIO_PB22) ;-  PWM Channel 3\r
-AT91C_PB22_PCK2           EQU (AT91C_PIO_PB22) ;-  PMC Programmable Clock Output 2\r
-AT91C_PIO_PB23            EQU (1 << 23) ;- Pin Controlled by PB23\r
-AT91C_PB23_TIOA0          EQU (AT91C_PIO_PB23) ;-  Timer Counter 0 Multipurpose Timer I/O Pin A\r
-AT91C_PB23_DCD1           EQU (AT91C_PIO_PB23) ;-  USART 1 Data Carrier Detect\r
-AT91C_PIO_PB24            EQU (1 << 24) ;- Pin Controlled by PB24\r
-AT91C_PB24_TIOB0          EQU (AT91C_PIO_PB24) ;-  Timer Counter 0 Multipurpose Timer I/O Pin B\r
-AT91C_PB24_DSR1           EQU (AT91C_PIO_PB24) ;-  USART 1 Data Set ready\r
-AT91C_PIO_PB25            EQU (1 << 25) ;- Pin Controlled by PB25\r
-AT91C_PB25_TIOA1          EQU (AT91C_PIO_PB25) ;-  Timer Counter 1 Multipurpose Timer I/O Pin A\r
-AT91C_PB25_DTR1           EQU (AT91C_PIO_PB25) ;-  USART 1 Data Terminal ready\r
-AT91C_PIO_PB26            EQU (1 << 26) ;- Pin Controlled by PB26\r
-AT91C_PB26_TIOB1          EQU (AT91C_PIO_PB26) ;-  Timer Counter 1 Multipurpose Timer I/O Pin B\r
-AT91C_PB26_RI1            EQU (AT91C_PIO_PB26) ;-  USART 1 Ring Indicator\r
-AT91C_PIO_PB27            EQU (1 << 27) ;- Pin Controlled by PB27\r
-AT91C_PB27_TIOA2          EQU (AT91C_PIO_PB27) ;-  Timer Counter 2 Multipurpose Timer I/O Pin A\r
-AT91C_PB27_PWM0           EQU (AT91C_PIO_PB27) ;-  PWM Channel 0\r
-AT91C_PIO_PB28            EQU (1 << 28) ;- Pin Controlled by PB28\r
-AT91C_PB28_TIOB2          EQU (AT91C_PIO_PB28) ;-  Timer Counter 2 Multipurpose Timer I/O Pin B\r
-AT91C_PB28_PWM1           EQU (AT91C_PIO_PB28) ;-  PWM Channel 1\r
-AT91C_PIO_PB29            EQU (1 << 29) ;- Pin Controlled by PB29\r
-AT91C_PB29_PCK1           EQU (AT91C_PIO_PB29) ;-  PMC Programmable Clock Output 1\r
-AT91C_PB29_PWM2           EQU (AT91C_PIO_PB29) ;-  PWM Channel 2\r
-AT91C_PIO_PB3             EQU (1 <<  3) ;- Pin Controlled by PB3\r
-AT91C_PB3_ETX1            EQU (AT91C_PIO_PB3) ;-  Ethernet MAC Transmit Data 1\r
-AT91C_PIO_PB30            EQU (1 << 30) ;- Pin Controlled by PB30\r
-AT91C_PB30_PCK2           EQU (AT91C_PIO_PB30) ;-  PMC Programmable Clock Output 2\r
-AT91C_PB30_PWM3           EQU (AT91C_PIO_PB30) ;-  PWM Channel 3\r
-AT91C_PIO_PB4             EQU (1 <<  4) ;- Pin Controlled by PB4\r
-AT91C_PB4_ECRS_ECRSDV     EQU (AT91C_PIO_PB4) ;-  Ethernet MAC Carrier Sense/Carrier Sense and Data Valid\r
-AT91C_PIO_PB5             EQU (1 <<  5) ;- Pin Controlled by PB5\r
-AT91C_PB5_ERX0            EQU (AT91C_PIO_PB5) ;-  Ethernet MAC Receive Data 0\r
-AT91C_PIO_PB6             EQU (1 <<  6) ;- Pin Controlled by PB6\r
-AT91C_PB6_ERX1            EQU (AT91C_PIO_PB6) ;-  Ethernet MAC Receive Data 1\r
-AT91C_PIO_PB7             EQU (1 <<  7) ;- Pin Controlled by PB7\r
-AT91C_PB7_ERXER           EQU (AT91C_PIO_PB7) ;-  Ethernet MAC Receive Error\r
-AT91C_PIO_PB8             EQU (1 <<  8) ;- Pin Controlled by PB8\r
-AT91C_PB8_EMDC            EQU (AT91C_PIO_PB8) ;-  Ethernet MAC Management Data Clock\r
-AT91C_PIO_PB9             EQU (1 <<  9) ;- Pin Controlled by PB9\r
-AT91C_PB9_EMDIO           EQU (AT91C_PIO_PB9) ;-  Ethernet MAC Management Data Input/Output\r
-\r
-// - *****************************************************************************\r
-// -               PERIPHERAL ID DEFINITIONS FOR AT91SAM7X128\r
-// - *****************************************************************************\r
-AT91C_ID_FIQ              EQU ( 0) ;- Advanced Interrupt Controller (FIQ)\r
-AT91C_ID_SYS              EQU ( 1) ;- System Peripheral\r
-AT91C_ID_PIOA             EQU ( 2) ;- Parallel IO Controller A\r
-AT91C_ID_PIOB             EQU ( 3) ;- Parallel IO Controller B\r
-AT91C_ID_SPI0             EQU ( 4) ;- Serial Peripheral Interface 0\r
-AT91C_ID_SPI1             EQU ( 5) ;- Serial Peripheral Interface 1\r
-AT91C_ID_US0              EQU ( 6) ;- USART 0\r
-AT91C_ID_US1              EQU ( 7) ;- USART 1\r
-AT91C_ID_SSC              EQU ( 8) ;- Serial Synchronous Controller\r
-AT91C_ID_TWI              EQU ( 9) ;- Two-Wire Interface\r
-AT91C_ID_PWMC             EQU (10) ;- PWM Controller\r
-AT91C_ID_UDP              EQU (11) ;- USB Device Port\r
-AT91C_ID_TC0              EQU (12) ;- Timer Counter 0\r
-AT91C_ID_TC1              EQU (13) ;- Timer Counter 1\r
-AT91C_ID_TC2              EQU (14) ;- Timer Counter 2\r
-AT91C_ID_CAN              EQU (15) ;- Control Area Network Controller\r
-AT91C_ID_EMAC             EQU (16) ;- Ethernet MAC\r
-AT91C_ID_ADC              EQU (17) ;- Analog-to-Digital Converter\r
-AT91C_ID_AES              EQU (18) ;- Advanced Encryption Standard 128-bit\r
-AT91C_ID_TDES             EQU (19) ;- Triple Data Encryption Standard\r
-AT91C_ID_20_Reserved      EQU (20) ;- Reserved\r
-AT91C_ID_21_Reserved      EQU (21) ;- Reserved\r
-AT91C_ID_22_Reserved      EQU (22) ;- Reserved\r
-AT91C_ID_23_Reserved      EQU (23) ;- Reserved\r
-AT91C_ID_24_Reserved      EQU (24) ;- Reserved\r
-AT91C_ID_25_Reserved      EQU (25) ;- Reserved\r
-AT91C_ID_26_Reserved      EQU (26) ;- Reserved\r
-AT91C_ID_27_Reserved      EQU (27) ;- Reserved\r
-AT91C_ID_28_Reserved      EQU (28) ;- Reserved\r
-AT91C_ID_29_Reserved      EQU (29) ;- Reserved\r
-AT91C_ID_IRQ0             EQU (30) ;- Advanced Interrupt Controller (IRQ0)\r
-AT91C_ID_IRQ1             EQU (31) ;- Advanced Interrupt Controller (IRQ1)\r
-\r
-// - *****************************************************************************\r
-// -               BASE ADDRESS DEFINITIONS FOR AT91SAM7X128\r
-// - *****************************************************************************\r
-AT91C_BASE_SYS            EQU (0xFFFFF000) ;- (SYS) Base Address\r
-AT91C_BASE_AIC            EQU (0xFFFFF000) ;- (AIC) Base Address\r
-AT91C_BASE_PDC_DBGU       EQU (0xFFFFF300) ;- (PDC_DBGU) Base Address\r
-AT91C_BASE_DBGU           EQU (0xFFFFF200) ;- (DBGU) Base Address\r
-AT91C_BASE_PIOA           EQU (0xFFFFF400) ;- (PIOA) Base Address\r
-AT91C_BASE_PIOB           EQU (0xFFFFF600) ;- (PIOB) Base Address\r
-AT91C_BASE_CKGR           EQU (0xFFFFFC20) ;- (CKGR) Base Address\r
-AT91C_BASE_PMC            EQU (0xFFFFFC00) ;- (PMC) Base Address\r
-AT91C_BASE_RSTC           EQU (0xFFFFFD00) ;- (RSTC) Base Address\r
-AT91C_BASE_RTTC           EQU (0xFFFFFD20) ;- (RTTC) Base Address\r
-AT91C_BASE_PITC           EQU (0xFFFFFD30) ;- (PITC) Base Address\r
-AT91C_BASE_WDTC           EQU (0xFFFFFD40) ;- (WDTC) Base Address\r
-AT91C_BASE_VREG           EQU (0xFFFFFD60) ;- (VREG) Base Address\r
-AT91C_BASE_MC             EQU (0xFFFFFF00) ;- (MC) Base Address\r
-AT91C_BASE_PDC_SPI1       EQU (0xFFFE4100) ;- (PDC_SPI1) Base Address\r
-AT91C_BASE_SPI1           EQU (0xFFFE4000) ;- (SPI1) Base Address\r
-AT91C_BASE_PDC_SPI0       EQU (0xFFFE0100) ;- (PDC_SPI0) Base Address\r
-AT91C_BASE_SPI0           EQU (0xFFFE0000) ;- (SPI0) Base Address\r
-AT91C_BASE_PDC_US1        EQU (0xFFFC4100) ;- (PDC_US1) Base Address\r
-AT91C_BASE_US1            EQU (0xFFFC4000) ;- (US1) Base Address\r
-AT91C_BASE_PDC_US0        EQU (0xFFFC0100) ;- (PDC_US0) Base Address\r
-AT91C_BASE_US0            EQU (0xFFFC0000) ;- (US0) Base Address\r
-AT91C_BASE_PDC_SSC        EQU (0xFFFD4100) ;- (PDC_SSC) Base Address\r
-AT91C_BASE_SSC            EQU (0xFFFD4000) ;- (SSC) Base Address\r
-AT91C_BASE_TWI            EQU (0xFFFB8000) ;- (TWI) Base Address\r
-AT91C_BASE_PWMC_CH3       EQU (0xFFFCC260) ;- (PWMC_CH3) Base Address\r
-AT91C_BASE_PWMC_CH2       EQU (0xFFFCC240) ;- (PWMC_CH2) Base Address\r
-AT91C_BASE_PWMC_CH1       EQU (0xFFFCC220) ;- (PWMC_CH1) Base Address\r
-AT91C_BASE_PWMC_CH0       EQU (0xFFFCC200) ;- (PWMC_CH0) Base Address\r
-AT91C_BASE_PWMC           EQU (0xFFFCC000) ;- (PWMC) Base Address\r
-AT91C_BASE_UDP            EQU (0xFFFB0000) ;- (UDP) Base Address\r
-AT91C_BASE_TC0            EQU (0xFFFA0000) ;- (TC0) Base Address\r
-AT91C_BASE_TC1            EQU (0xFFFA0040) ;- (TC1) Base Address\r
-AT91C_BASE_TC2            EQU (0xFFFA0080) ;- (TC2) Base Address\r
-AT91C_BASE_TCB            EQU (0xFFFA0000) ;- (TCB) Base Address\r
-AT91C_BASE_CAN_MB0        EQU (0xFFFD0200) ;- (CAN_MB0) Base Address\r
-AT91C_BASE_CAN_MB1        EQU (0xFFFD0220) ;- (CAN_MB1) Base Address\r
-AT91C_BASE_CAN_MB2        EQU (0xFFFD0240) ;- (CAN_MB2) Base Address\r
-AT91C_BASE_CAN_MB3        EQU (0xFFFD0260) ;- (CAN_MB3) Base Address\r
-AT91C_BASE_CAN_MB4        EQU (0xFFFD0280) ;- (CAN_MB4) Base Address\r
-AT91C_BASE_CAN_MB5        EQU (0xFFFD02A0) ;- (CAN_MB5) Base Address\r
-AT91C_BASE_CAN_MB6        EQU (0xFFFD02C0) ;- (CAN_MB6) Base Address\r
-AT91C_BASE_CAN_MB7        EQU (0xFFFD02E0) ;- (CAN_MB7) Base Address\r
-AT91C_BASE_CAN            EQU (0xFFFD0000) ;- (CAN) Base Address\r
-AT91C_BASE_EMAC           EQU (0xFFFDC000) ;- (EMAC) Base Address\r
-AT91C_BASE_PDC_ADC        EQU (0xFFFD8100) ;- (PDC_ADC) Base Address\r
-AT91C_BASE_ADC            EQU (0xFFFD8000) ;- (ADC) Base Address\r
-AT91C_BASE_PDC_AES        EQU (0xFFFA4100) ;- (PDC_AES) Base Address\r
-AT91C_BASE_AES            EQU (0xFFFA4000) ;- (AES) Base Address\r
-AT91C_BASE_PDC_TDES       EQU (0xFFFA8100) ;- (PDC_TDES) Base Address\r
-AT91C_BASE_TDES           EQU (0xFFFA8000) ;- (TDES) Base Address\r
-\r
-// - *****************************************************************************\r
-// -               MEMORY MAPPING DEFINITIONS FOR AT91SAM7X128\r
-// - *****************************************************************************\r
-AT91C_ISRAM               EQU (0x00200000) ;- Internal SRAM base address\r
-AT91C_ISRAM_SIZE          EQU (0x00008000) ;- Internal SRAM size in byte (32 Kbyte)\r
-AT91C_IFLASH              EQU (0x00100000) ;- Internal ROM base address\r
-AT91C_IFLASH_SIZE         EQU (0x00020000) ;- Internal ROM size in byte (128 Kbyte)\r
-#endif /* __IAR_SYSTEMS_ASM__ */\r
-\r
-\r
-#endif /* AT91SAM7X128_H */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/ioat91sam7x256.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/ioat91sam7x256.h
deleted file mode 100644 (file)
index 742f25c..0000000
+++ /dev/null
@@ -1,4700 +0,0 @@
-// - ----------------------------------------------------------------------------\r
-// -          ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-// - ----------------------------------------------------------------------------\r
-// -  DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
-// -  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
-// -  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
-// -  DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
-// -  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
-// -  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
-// -  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
-// -  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
-// -  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
-// -  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
-// - ----------------------------------------------------------------------------\r
-// - File Name           : AT91SAM7X256.h\r
-// - Object              : AT91SAM7X256 definitions\r
-// - Generated           : AT91 SW Application Group  05/20/2005 (16:22:29)\r
-// - \r
-// - CVS Reference       : /AT91SAM7X256.pl/1.11/Tue May 10 12:15:32 2005//\r
-// - CVS Reference       : /SYS_SAM7X.pl/1.3/Tue Feb  1 17:01:43 2005//\r
-// - CVS Reference       : /MC_SAM7X.pl/1.2/Fri May 20 14:13:04 2005//\r
-// - CVS Reference       : /PMC_SAM7X.pl/1.4/Tue Feb  8 13:58:10 2005//\r
-// - CVS Reference       : /RSTC_SAM7X.pl/1.1/Tue Feb  1 16:16:26 2005//\r
-// - CVS Reference       : /UDP_SAM7X.pl/1.1/Tue May 10 11:35:35 2005//\r
-// - CVS Reference       : /PWM_SAM7X.pl/1.1/Tue May 10 11:53:07 2005//\r
-// - CVS Reference       : /AIC_6075B.pl/1.3/Fri May 20 14:01:30 2005//\r
-// - CVS Reference       : /PIO_6057A.pl/1.2/Thu Feb  3 10:18:28 2005//\r
-// - CVS Reference       : /RTTC_6081A.pl/1.2/Tue Nov  9 14:43:58 2004//\r
-// - CVS Reference       : /PITC_6079A.pl/1.2/Tue Nov  9 14:43:56 2004//\r
-// - CVS Reference       : /WDTC_6080A.pl/1.3/Tue Nov  9 14:44:00 2004//\r
-// - CVS Reference       : /VREG_6085B.pl/1.1/Tue Feb  1 16:05:48 2005//\r
-// - CVS Reference       : /PDC_6074C.pl/1.2/Thu Feb  3 08:48:54 2005//\r
-// - CVS Reference       : /DBGU_6059D.pl/1.1/Mon Jan 31 13:15:32 2005//\r
-// - CVS Reference       : /SPI_6088D.pl/1.3/Fri May 20 14:08:59 2005//\r
-// - CVS Reference       : /US_6089C.pl/1.1/Mon Jul 12 18:23:26 2004//\r
-// - CVS Reference       : /SSC_6078A.pl/1.1/Tue Jul 13 07:45:40 2004//\r
-// - CVS Reference       : /TWI_6061A.pl/1.1/Tue Jul 13 07:38:06 2004//\r
-// - CVS Reference       : /TC_6082A.pl/1.7/Fri Mar 11 12:52:17 2005//\r
-// - CVS Reference       : /CAN_6019B.pl/1.1/Tue Mar  8 12:42:22 2005//\r
-// - CVS Reference       : /EMACB_6119A.pl/1.5/Thu Feb  3 15:52:04 2005//\r
-// - CVS Reference       : /ADC_6051C.pl/1.1/Fri Oct 17 09:12:38 2003//\r
-// - CVS Reference       : /AES_6149A.pl/1.10/Mon Feb  7 09:44:25 2005//\r
-// - CVS Reference       : /DES3_6150A.pl/1.1/Mon Jan 17 08:34:31 2005//\r
-// - ----------------------------------------------------------------------------\r
-\r
-#ifndef AT91SAM7X256_H\r
-#define AT91SAM7X256_H\r
-\r
-#ifdef __IAR_SYSTEMS_ICC__\r
-\r
-typedef volatile unsigned int AT91_REG;// Hardware register definition\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR System Peripherals\r
-// *****************************************************************************\r
-typedef struct _AT91S_SYS {\r
-       AT91_REG         AIC_SMR[32];   // Source Mode Register\r
-       AT91_REG         AIC_SVR[32];   // Source Vector Register\r
-       AT91_REG         AIC_IVR;       // IRQ Vector Register\r
-       AT91_REG         AIC_FVR;       // FIQ Vector Register\r
-       AT91_REG         AIC_ISR;       // Interrupt Status Register\r
-       AT91_REG         AIC_IPR;       // Interrupt Pending Register\r
-       AT91_REG         AIC_IMR;       // Interrupt Mask Register\r
-       AT91_REG         AIC_CISR;      // Core Interrupt Status Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         AIC_IECR;      // Interrupt Enable Command Register\r
-       AT91_REG         AIC_IDCR;      // Interrupt Disable Command Register\r
-       AT91_REG         AIC_ICCR;      // Interrupt Clear Command Register\r
-       AT91_REG         AIC_ISCR;      // Interrupt Set Command Register\r
-       AT91_REG         AIC_EOICR;     // End of Interrupt Command Register\r
-       AT91_REG         AIC_SPU;       // Spurious Vector Register\r
-       AT91_REG         AIC_DCR;       // Debug Control Register (Protect)\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         AIC_FFER;      // Fast Forcing Enable Register\r
-       AT91_REG         AIC_FFDR;      // Fast Forcing Disable Register\r
-       AT91_REG         AIC_FFSR;      // Fast Forcing Status Register\r
-       AT91_REG         Reserved2[45];         // \r
-       AT91_REG         DBGU_CR;       // Control Register\r
-       AT91_REG         DBGU_MR;       // Mode Register\r
-       AT91_REG         DBGU_IER;      // Interrupt Enable Register\r
-       AT91_REG         DBGU_IDR;      // Interrupt Disable Register\r
-       AT91_REG         DBGU_IMR;      // Interrupt Mask Register\r
-       AT91_REG         DBGU_CSR;      // Channel Status Register\r
-       AT91_REG         DBGU_RHR;      // Receiver Holding Register\r
-       AT91_REG         DBGU_THR;      // Transmitter Holding Register\r
-       AT91_REG         DBGU_BRGR;     // Baud Rate Generator Register\r
-       AT91_REG         Reserved3[7];  // \r
-       AT91_REG         DBGU_CIDR;     // Chip ID Register\r
-       AT91_REG         DBGU_EXID;     // Chip ID Extension Register\r
-       AT91_REG         DBGU_FNTR;     // Force NTRST Register\r
-       AT91_REG         Reserved4[45];         // \r
-       AT91_REG         DBGU_RPR;      // Receive Pointer Register\r
-       AT91_REG         DBGU_RCR;      // Receive Counter Register\r
-       AT91_REG         DBGU_TPR;      // Transmit Pointer Register\r
-       AT91_REG         DBGU_TCR;      // Transmit Counter Register\r
-       AT91_REG         DBGU_RNPR;     // Receive Next Pointer Register\r
-       AT91_REG         DBGU_RNCR;     // Receive Next Counter Register\r
-       AT91_REG         DBGU_TNPR;     // Transmit Next Pointer Register\r
-       AT91_REG         DBGU_TNCR;     // Transmit Next Counter Register\r
-       AT91_REG         DBGU_PTCR;     // PDC Transfer Control Register\r
-       AT91_REG         DBGU_PTSR;     // PDC Transfer Status Register\r
-       AT91_REG         Reserved5[54];         // \r
-       AT91_REG         PIOA_PER;      // PIO Enable Register\r
-       AT91_REG         PIOA_PDR;      // PIO Disable Register\r
-       AT91_REG         PIOA_PSR;      // PIO Status Register\r
-       AT91_REG         Reserved6[1];  // \r
-       AT91_REG         PIOA_OER;      // Output Enable Register\r
-       AT91_REG         PIOA_ODR;      // Output Disable Registerr\r
-       AT91_REG         PIOA_OSR;      // Output Status Register\r
-       AT91_REG         Reserved7[1];  // \r
-       AT91_REG         PIOA_IFER;     // Input Filter Enable Register\r
-       AT91_REG         PIOA_IFDR;     // Input Filter Disable Register\r
-       AT91_REG         PIOA_IFSR;     // Input Filter Status Register\r
-       AT91_REG         Reserved8[1];  // \r
-       AT91_REG         PIOA_SODR;     // Set Output Data Register\r
-       AT91_REG         PIOA_CODR;     // Clear Output Data Register\r
-       AT91_REG         PIOA_ODSR;     // Output Data Status Register\r
-       AT91_REG         PIOA_PDSR;     // Pin Data Status Register\r
-       AT91_REG         PIOA_IER;      // Interrupt Enable Register\r
-       AT91_REG         PIOA_IDR;      // Interrupt Disable Register\r
-       AT91_REG         PIOA_IMR;      // Interrupt Mask Register\r
-       AT91_REG         PIOA_ISR;      // Interrupt Status Register\r
-       AT91_REG         PIOA_MDER;     // Multi-driver Enable Register\r
-       AT91_REG         PIOA_MDDR;     // Multi-driver Disable Register\r
-       AT91_REG         PIOA_MDSR;     // Multi-driver Status Register\r
-       AT91_REG         Reserved9[1];  // \r
-       AT91_REG         PIOA_PPUDR;    // Pull-up Disable Register\r
-       AT91_REG         PIOA_PPUER;    // Pull-up Enable Register\r
-       AT91_REG         PIOA_PPUSR;    // Pull-up Status Register\r
-       AT91_REG         Reserved10[1];         // \r
-       AT91_REG         PIOA_ASR;      // Select A Register\r
-       AT91_REG         PIOA_BSR;      // Select B Register\r
-       AT91_REG         PIOA_ABSR;     // AB Select Status Register\r
-       AT91_REG         Reserved11[9];         // \r
-       AT91_REG         PIOA_OWER;     // Output Write Enable Register\r
-       AT91_REG         PIOA_OWDR;     // Output Write Disable Register\r
-       AT91_REG         PIOA_OWSR;     // Output Write Status Register\r
-       AT91_REG         Reserved12[85];        // \r
-       AT91_REG         PIOB_PER;      // PIO Enable Register\r
-       AT91_REG         PIOB_PDR;      // PIO Disable Register\r
-       AT91_REG         PIOB_PSR;      // PIO Status Register\r
-       AT91_REG         Reserved13[1];         // \r
-       AT91_REG         PIOB_OER;      // Output Enable Register\r
-       AT91_REG         PIOB_ODR;      // Output Disable Registerr\r
-       AT91_REG         PIOB_OSR;      // Output Status Register\r
-       AT91_REG         Reserved14[1];         // \r
-       AT91_REG         PIOB_IFER;     // Input Filter Enable Register\r
-       AT91_REG         PIOB_IFDR;     // Input Filter Disable Register\r
-       AT91_REG         PIOB_IFSR;     // Input Filter Status Register\r
-       AT91_REG         Reserved15[1];         // \r
-       AT91_REG         PIOB_SODR;     // Set Output Data Register\r
-       AT91_REG         PIOB_CODR;     // Clear Output Data Register\r
-       AT91_REG         PIOB_ODSR;     // Output Data Status Register\r
-       AT91_REG         PIOB_PDSR;     // Pin Data Status Register\r
-       AT91_REG         PIOB_IER;      // Interrupt Enable Register\r
-       AT91_REG         PIOB_IDR;      // Interrupt Disable Register\r
-       AT91_REG         PIOB_IMR;      // Interrupt Mask Register\r
-       AT91_REG         PIOB_ISR;      // Interrupt Status Register\r
-       AT91_REG         PIOB_MDER;     // Multi-driver Enable Register\r
-       AT91_REG         PIOB_MDDR;     // Multi-driver Disable Register\r
-       AT91_REG         PIOB_MDSR;     // Multi-driver Status Register\r
-       AT91_REG         Reserved16[1];         // \r
-       AT91_REG         PIOB_PPUDR;    // Pull-up Disable Register\r
-       AT91_REG         PIOB_PPUER;    // Pull-up Enable Register\r
-       AT91_REG         PIOB_PPUSR;    // Pull-up Status Register\r
-       AT91_REG         Reserved17[1];         // \r
-       AT91_REG         PIOB_ASR;      // Select A Register\r
-       AT91_REG         PIOB_BSR;      // Select B Register\r
-       AT91_REG         PIOB_ABSR;     // AB Select Status Register\r
-       AT91_REG         Reserved18[9];         // \r
-       AT91_REG         PIOB_OWER;     // Output Write Enable Register\r
-       AT91_REG         PIOB_OWDR;     // Output Write Disable Register\r
-       AT91_REG         PIOB_OWSR;     // Output Write Status Register\r
-       AT91_REG         Reserved19[341];       // \r
-       AT91_REG         PMC_SCER;      // System Clock Enable Register\r
-       AT91_REG         PMC_SCDR;      // System Clock Disable Register\r
-       AT91_REG         PMC_SCSR;      // System Clock Status Register\r
-       AT91_REG         Reserved20[1];         // \r
-       AT91_REG         PMC_PCER;      // Peripheral Clock Enable Register\r
-       AT91_REG         PMC_PCDR;      // Peripheral Clock Disable Register\r
-       AT91_REG         PMC_PCSR;      // Peripheral Clock Status Register\r
-       AT91_REG         Reserved21[1];         // \r
-       AT91_REG         PMC_MOR;       // Main Oscillator Register\r
-       AT91_REG         PMC_MCFR;      // Main Clock  Frequency Register\r
-       AT91_REG         Reserved22[1];         // \r
-       AT91_REG         PMC_PLLR;      // PLL Register\r
-       AT91_REG         PMC_MCKR;      // Master Clock Register\r
-       AT91_REG         Reserved23[3];         // \r
-       AT91_REG         PMC_PCKR[4];   // Programmable Clock Register\r
-       AT91_REG         Reserved24[4];         // \r
-       AT91_REG         PMC_IER;       // Interrupt Enable Register\r
-       AT91_REG         PMC_IDR;       // Interrupt Disable Register\r
-       AT91_REG         PMC_SR;        // Status Register\r
-       AT91_REG         PMC_IMR;       // Interrupt Mask Register\r
-       AT91_REG         Reserved25[36];        // \r
-       AT91_REG         RSTC_RCR;      // Reset Control Register\r
-       AT91_REG         RSTC_RSR;      // Reset Status Register\r
-       AT91_REG         RSTC_RMR;      // Reset Mode Register\r
-       AT91_REG         Reserved26[5];         // \r
-       AT91_REG         RTTC_RTMR;     // Real-time Mode Register\r
-       AT91_REG         RTTC_RTAR;     // Real-time Alarm Register\r
-       AT91_REG         RTTC_RTVR;     // Real-time Value Register\r
-       AT91_REG         RTTC_RTSR;     // Real-time Status Register\r
-       AT91_REG         PITC_PIMR;     // Period Interval Mode Register\r
-       AT91_REG         PITC_PISR;     // Period Interval Status Register\r
-       AT91_REG         PITC_PIVR;     // Period Interval Value Register\r
-       AT91_REG         PITC_PIIR;     // Period Interval Image Register\r
-       AT91_REG         WDTC_WDCR;     // Watchdog Control Register\r
-       AT91_REG         WDTC_WDMR;     // Watchdog Mode Register\r
-       AT91_REG         WDTC_WDSR;     // Watchdog Status Register\r
-       AT91_REG         Reserved27[5];         // \r
-       AT91_REG         VREG_MR;       // Voltage Regulator Mode Register\r
-} AT91S_SYS, *AT91PS_SYS;\r
-\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Advanced Interrupt Controller\r
-// *****************************************************************************\r
-typedef struct _AT91S_AIC {\r
-       AT91_REG         AIC_SMR[32];   // Source Mode Register\r
-       AT91_REG         AIC_SVR[32];   // Source Vector Register\r
-       AT91_REG         AIC_IVR;       // IRQ Vector Register\r
-       AT91_REG         AIC_FVR;       // FIQ Vector Register\r
-       AT91_REG         AIC_ISR;       // Interrupt Status Register\r
-       AT91_REG         AIC_IPR;       // Interrupt Pending Register\r
-       AT91_REG         AIC_IMR;       // Interrupt Mask Register\r
-       AT91_REG         AIC_CISR;      // Core Interrupt Status Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         AIC_IECR;      // Interrupt Enable Command Register\r
-       AT91_REG         AIC_IDCR;      // Interrupt Disable Command Register\r
-       AT91_REG         AIC_ICCR;      // Interrupt Clear Command Register\r
-       AT91_REG         AIC_ISCR;      // Interrupt Set Command Register\r
-       AT91_REG         AIC_EOICR;     // End of Interrupt Command Register\r
-       AT91_REG         AIC_SPU;       // Spurious Vector Register\r
-       AT91_REG         AIC_DCR;       // Debug Control Register (Protect)\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         AIC_FFER;      // Fast Forcing Enable Register\r
-       AT91_REG         AIC_FFDR;      // Fast Forcing Disable Register\r
-       AT91_REG         AIC_FFSR;      // Fast Forcing Status Register\r
-} AT91S_AIC, *AT91PS_AIC;\r
-\r
-// -------- AIC_SMR : (AIC Offset: 0x0) Control Register -------- \r
-#define AT91C_AIC_PRIOR       ((unsigned int) 0x7 <<  0) // (AIC) Priority Level\r
-#define        AT91C_AIC_PRIOR_LOWEST               ((unsigned int) 0x0) // (AIC) Lowest priority level\r
-#define        AT91C_AIC_PRIOR_HIGHEST              ((unsigned int) 0x7) // (AIC) Highest priority level\r
-#define AT91C_AIC_SRCTYPE     ((unsigned int) 0x3 <<  5) // (AIC) Interrupt Source Type\r
-#define        AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL       ((unsigned int) 0x0 <<  5) // (AIC) Internal Sources Code Label High-level Sensitive\r
-#define        AT91C_AIC_SRCTYPE_EXT_LOW_LEVEL        ((unsigned int) 0x0 <<  5) // (AIC) External Sources Code Label Low-level Sensitive\r
-#define        AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE    ((unsigned int) 0x1 <<  5) // (AIC) Internal Sources Code Label Positive Edge triggered\r
-#define        AT91C_AIC_SRCTYPE_EXT_NEGATIVE_EDGE    ((unsigned int) 0x1 <<  5) // (AIC) External Sources Code Label Negative Edge triggered\r
-#define        AT91C_AIC_SRCTYPE_HIGH_LEVEL           ((unsigned int) 0x2 <<  5) // (AIC) Internal Or External Sources Code Label High-level Sensitive\r
-#define        AT91C_AIC_SRCTYPE_POSITIVE_EDGE        ((unsigned int) 0x3 <<  5) // (AIC) Internal Or External Sources Code Label Positive Edge triggered\r
-// -------- AIC_CISR : (AIC Offset: 0x114) AIC Core Interrupt Status Register -------- \r
-#define AT91C_AIC_NFIQ        ((unsigned int) 0x1 <<  0) // (AIC) NFIQ Status\r
-#define AT91C_AIC_NIRQ        ((unsigned int) 0x1 <<  1) // (AIC) NIRQ Status\r
-// -------- AIC_DCR : (AIC Offset: 0x138) AIC Debug Control Register (Protect) -------- \r
-#define AT91C_AIC_DCR_PROT    ((unsigned int) 0x1 <<  0) // (AIC) Protection Mode\r
-#define AT91C_AIC_DCR_GMSK    ((unsigned int) 0x1 <<  1) // (AIC) General Mask\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Peripheral DMA Controller\r
-// *****************************************************************************\r
-typedef struct _AT91S_PDC {\r
-       AT91_REG         PDC_RPR;       // Receive Pointer Register\r
-       AT91_REG         PDC_RCR;       // Receive Counter Register\r
-       AT91_REG         PDC_TPR;       // Transmit Pointer Register\r
-       AT91_REG         PDC_TCR;       // Transmit Counter Register\r
-       AT91_REG         PDC_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         PDC_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         PDC_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         PDC_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         PDC_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         PDC_PTSR;      // PDC Transfer Status Register\r
-} AT91S_PDC, *AT91PS_PDC;\r
-\r
-// -------- PDC_PTCR : (PDC Offset: 0x20) PDC Transfer Control Register -------- \r
-#define AT91C_PDC_RXTEN       ((unsigned int) 0x1 <<  0) // (PDC) Receiver Transfer Enable\r
-#define AT91C_PDC_RXTDIS      ((unsigned int) 0x1 <<  1) // (PDC) Receiver Transfer Disable\r
-#define AT91C_PDC_TXTEN       ((unsigned int) 0x1 <<  8) // (PDC) Transmitter Transfer Enable\r
-#define AT91C_PDC_TXTDIS      ((unsigned int) 0x1 <<  9) // (PDC) Transmitter Transfer Disable\r
-// -------- PDC_PTSR : (PDC Offset: 0x24) PDC Transfer Status Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Debug Unit\r
-// *****************************************************************************\r
-typedef struct _AT91S_DBGU {\r
-       AT91_REG         DBGU_CR;       // Control Register\r
-       AT91_REG         DBGU_MR;       // Mode Register\r
-       AT91_REG         DBGU_IER;      // Interrupt Enable Register\r
-       AT91_REG         DBGU_IDR;      // Interrupt Disable Register\r
-       AT91_REG         DBGU_IMR;      // Interrupt Mask Register\r
-       AT91_REG         DBGU_CSR;      // Channel Status Register\r
-       AT91_REG         DBGU_RHR;      // Receiver Holding Register\r
-       AT91_REG         DBGU_THR;      // Transmitter Holding Register\r
-       AT91_REG         DBGU_BRGR;     // Baud Rate Generator Register\r
-       AT91_REG         Reserved0[7];  // \r
-       AT91_REG         DBGU_CIDR;     // Chip ID Register\r
-       AT91_REG         DBGU_EXID;     // Chip ID Extension Register\r
-       AT91_REG         DBGU_FNTR;     // Force NTRST Register\r
-       AT91_REG         Reserved1[45];         // \r
-       AT91_REG         DBGU_RPR;      // Receive Pointer Register\r
-       AT91_REG         DBGU_RCR;      // Receive Counter Register\r
-       AT91_REG         DBGU_TPR;      // Transmit Pointer Register\r
-       AT91_REG         DBGU_TCR;      // Transmit Counter Register\r
-       AT91_REG         DBGU_RNPR;     // Receive Next Pointer Register\r
-       AT91_REG         DBGU_RNCR;     // Receive Next Counter Register\r
-       AT91_REG         DBGU_TNPR;     // Transmit Next Pointer Register\r
-       AT91_REG         DBGU_TNCR;     // Transmit Next Counter Register\r
-       AT91_REG         DBGU_PTCR;     // PDC Transfer Control Register\r
-       AT91_REG         DBGU_PTSR;     // PDC Transfer Status Register\r
-} AT91S_DBGU, *AT91PS_DBGU;\r
-\r
-// -------- DBGU_CR : (DBGU Offset: 0x0) Debug Unit Control Register -------- \r
-#define AT91C_US_RSTRX        ((unsigned int) 0x1 <<  2) // (DBGU) Reset Receiver\r
-#define AT91C_US_RSTTX        ((unsigned int) 0x1 <<  3) // (DBGU) Reset Transmitter\r
-#define AT91C_US_RXEN         ((unsigned int) 0x1 <<  4) // (DBGU) Receiver Enable\r
-#define AT91C_US_RXDIS        ((unsigned int) 0x1 <<  5) // (DBGU) Receiver Disable\r
-#define AT91C_US_TXEN         ((unsigned int) 0x1 <<  6) // (DBGU) Transmitter Enable\r
-#define AT91C_US_TXDIS        ((unsigned int) 0x1 <<  7) // (DBGU) Transmitter Disable\r
-#define AT91C_US_RSTSTA       ((unsigned int) 0x1 <<  8) // (DBGU) Reset Status Bits\r
-// -------- DBGU_MR : (DBGU Offset: 0x4) Debug Unit Mode Register -------- \r
-#define AT91C_US_PAR          ((unsigned int) 0x7 <<  9) // (DBGU) Parity type\r
-#define        AT91C_US_PAR_EVEN                 ((unsigned int) 0x0 <<  9) // (DBGU) Even Parity\r
-#define        AT91C_US_PAR_ODD                  ((unsigned int) 0x1 <<  9) // (DBGU) Odd Parity\r
-#define        AT91C_US_PAR_SPACE                ((unsigned int) 0x2 <<  9) // (DBGU) Parity forced to 0 (Space)\r
-#define        AT91C_US_PAR_MARK                 ((unsigned int) 0x3 <<  9) // (DBGU) Parity forced to 1 (Mark)\r
-#define        AT91C_US_PAR_NONE                 ((unsigned int) 0x4 <<  9) // (DBGU) No Parity\r
-#define        AT91C_US_PAR_MULTI_DROP           ((unsigned int) 0x6 <<  9) // (DBGU) Multi-drop mode\r
-#define AT91C_US_CHMODE       ((unsigned int) 0x3 << 14) // (DBGU) Channel Mode\r
-#define        AT91C_US_CHMODE_NORMAL               ((unsigned int) 0x0 << 14) // (DBGU) Normal Mode: The USART channel operates as an RX/TX USART.\r
-#define        AT91C_US_CHMODE_AUTO                 ((unsigned int) 0x1 << 14) // (DBGU) Automatic Echo: Receiver Data Input is connected to the TXD pin.\r
-#define        AT91C_US_CHMODE_LOCAL                ((unsigned int) 0x2 << 14) // (DBGU) Local Loopback: Transmitter Output Signal is connected to Receiver Input Signal.\r
-#define        AT91C_US_CHMODE_REMOTE               ((unsigned int) 0x3 << 14) // (DBGU) Remote Loopback: RXD pin is internally connected to TXD pin.\r
-// -------- DBGU_IER : (DBGU Offset: 0x8) Debug Unit Interrupt Enable Register -------- \r
-#define AT91C_US_RXRDY        ((unsigned int) 0x1 <<  0) // (DBGU) RXRDY Interrupt\r
-#define AT91C_US_TXRDY        ((unsigned int) 0x1 <<  1) // (DBGU) TXRDY Interrupt\r
-#define AT91C_US_ENDRX        ((unsigned int) 0x1 <<  3) // (DBGU) End of Receive Transfer Interrupt\r
-#define AT91C_US_ENDTX        ((unsigned int) 0x1 <<  4) // (DBGU) End of Transmit Interrupt\r
-#define AT91C_US_OVRE         ((unsigned int) 0x1 <<  5) // (DBGU) Overrun Interrupt\r
-#define AT91C_US_FRAME        ((unsigned int) 0x1 <<  6) // (DBGU) Framing Error Interrupt\r
-#define AT91C_US_PARE         ((unsigned int) 0x1 <<  7) // (DBGU) Parity Error Interrupt\r
-#define AT91C_US_TXEMPTY      ((unsigned int) 0x1 <<  9) // (DBGU) TXEMPTY Interrupt\r
-#define AT91C_US_TXBUFE       ((unsigned int) 0x1 << 11) // (DBGU) TXBUFE Interrupt\r
-#define AT91C_US_RXBUFF       ((unsigned int) 0x1 << 12) // (DBGU) RXBUFF Interrupt\r
-#define AT91C_US_COMM_TX      ((unsigned int) 0x1 << 30) // (DBGU) COMM_TX Interrupt\r
-#define AT91C_US_COMM_RX      ((unsigned int) 0x1 << 31) // (DBGU) COMM_RX Interrupt\r
-// -------- DBGU_IDR : (DBGU Offset: 0xc) Debug Unit Interrupt Disable Register -------- \r
-// -------- DBGU_IMR : (DBGU Offset: 0x10) Debug Unit Interrupt Mask Register -------- \r
-// -------- DBGU_CSR : (DBGU Offset: 0x14) Debug Unit Channel Status Register -------- \r
-// -------- DBGU_FNTR : (DBGU Offset: 0x48) Debug Unit FORCE_NTRST Register -------- \r
-#define AT91C_US_FORCE_NTRST  ((unsigned int) 0x1 <<  0) // (DBGU) Force NTRST in JTAG\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Parallel Input Output Controler\r
-// *****************************************************************************\r
-typedef struct _AT91S_PIO {\r
-       AT91_REG         PIO_PER;       // PIO Enable Register\r
-       AT91_REG         PIO_PDR;       // PIO Disable Register\r
-       AT91_REG         PIO_PSR;       // PIO Status Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         PIO_OER;       // Output Enable Register\r
-       AT91_REG         PIO_ODR;       // Output Disable Registerr\r
-       AT91_REG         PIO_OSR;       // Output Status Register\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         PIO_IFER;      // Input Filter Enable Register\r
-       AT91_REG         PIO_IFDR;      // Input Filter Disable Register\r
-       AT91_REG         PIO_IFSR;      // Input Filter Status Register\r
-       AT91_REG         Reserved2[1];  // \r
-       AT91_REG         PIO_SODR;      // Set Output Data Register\r
-       AT91_REG         PIO_CODR;      // Clear Output Data Register\r
-       AT91_REG         PIO_ODSR;      // Output Data Status Register\r
-       AT91_REG         PIO_PDSR;      // Pin Data Status Register\r
-       AT91_REG         PIO_IER;       // Interrupt Enable Register\r
-       AT91_REG         PIO_IDR;       // Interrupt Disable Register\r
-       AT91_REG         PIO_IMR;       // Interrupt Mask Register\r
-       AT91_REG         PIO_ISR;       // Interrupt Status Register\r
-       AT91_REG         PIO_MDER;      // Multi-driver Enable Register\r
-       AT91_REG         PIO_MDDR;      // Multi-driver Disable Register\r
-       AT91_REG         PIO_MDSR;      // Multi-driver Status Register\r
-       AT91_REG         Reserved3[1];  // \r
-       AT91_REG         PIO_PPUDR;     // Pull-up Disable Register\r
-       AT91_REG         PIO_PPUER;     // Pull-up Enable Register\r
-       AT91_REG         PIO_PPUSR;     // Pull-up Status Register\r
-       AT91_REG         Reserved4[1];  // \r
-       AT91_REG         PIO_ASR;       // Select A Register\r
-       AT91_REG         PIO_BSR;       // Select B Register\r
-       AT91_REG         PIO_ABSR;      // AB Select Status Register\r
-       AT91_REG         Reserved5[9];  // \r
-       AT91_REG         PIO_OWER;      // Output Write Enable Register\r
-       AT91_REG         PIO_OWDR;      // Output Write Disable Register\r
-       AT91_REG         PIO_OWSR;      // Output Write Status Register\r
-} AT91S_PIO, *AT91PS_PIO;\r
-\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Clock Generator Controler\r
-// *****************************************************************************\r
-typedef struct _AT91S_CKGR {\r
-       AT91_REG         CKGR_MOR;      // Main Oscillator Register\r
-       AT91_REG         CKGR_MCFR;     // Main Clock  Frequency Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         CKGR_PLLR;     // PLL Register\r
-} AT91S_CKGR, *AT91PS_CKGR;\r
-\r
-// -------- CKGR_MOR : (CKGR Offset: 0x0) Main Oscillator Register -------- \r
-#define AT91C_CKGR_MOSCEN     ((unsigned int) 0x1 <<  0) // (CKGR) Main Oscillator Enable\r
-#define AT91C_CKGR_OSCBYPASS  ((unsigned int) 0x1 <<  1) // (CKGR) Main Oscillator Bypass\r
-#define AT91C_CKGR_OSCOUNT    ((unsigned int) 0xFF <<  8) // (CKGR) Main Oscillator Start-up Time\r
-// -------- CKGR_MCFR : (CKGR Offset: 0x4) Main Clock Frequency Register -------- \r
-#define AT91C_CKGR_MAINF      ((unsigned int) 0xFFFF <<  0) // (CKGR) Main Clock Frequency\r
-#define AT91C_CKGR_MAINRDY    ((unsigned int) 0x1 << 16) // (CKGR) Main Clock Ready\r
-// -------- CKGR_PLLR : (CKGR Offset: 0xc) PLL B Register -------- \r
-#define AT91C_CKGR_DIV        ((unsigned int) 0xFF <<  0) // (CKGR) Divider Selected\r
-#define        AT91C_CKGR_DIV_0                    ((unsigned int) 0x0) // (CKGR) Divider output is 0\r
-#define        AT91C_CKGR_DIV_BYPASS               ((unsigned int) 0x1) // (CKGR) Divider is bypassed\r
-#define AT91C_CKGR_PLLCOUNT   ((unsigned int) 0x3F <<  8) // (CKGR) PLL Counter\r
-#define AT91C_CKGR_OUT        ((unsigned int) 0x3 << 14) // (CKGR) PLL Output Frequency Range\r
-#define        AT91C_CKGR_OUT_0                    ((unsigned int) 0x0 << 14) // (CKGR) Please refer to the PLL datasheet\r
-#define        AT91C_CKGR_OUT_1                    ((unsigned int) 0x1 << 14) // (CKGR) Please refer to the PLL datasheet\r
-#define        AT91C_CKGR_OUT_2                    ((unsigned int) 0x2 << 14) // (CKGR) Please refer to the PLL datasheet\r
-#define        AT91C_CKGR_OUT_3                    ((unsigned int) 0x3 << 14) // (CKGR) Please refer to the PLL datasheet\r
-#define AT91C_CKGR_MUL        ((unsigned int) 0x7FF << 16) // (CKGR) PLL Multiplier\r
-#define AT91C_CKGR_USBDIV     ((unsigned int) 0x3 << 28) // (CKGR) Divider for USB Clocks\r
-#define        AT91C_CKGR_USBDIV_0                    ((unsigned int) 0x0 << 28) // (CKGR) Divider output is PLL clock output\r
-#define        AT91C_CKGR_USBDIV_1                    ((unsigned int) 0x1 << 28) // (CKGR) Divider output is PLL clock output divided by 2\r
-#define        AT91C_CKGR_USBDIV_2                    ((unsigned int) 0x2 << 28) // (CKGR) Divider output is PLL clock output divided by 4\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Power Management Controler\r
-// *****************************************************************************\r
-typedef struct _AT91S_PMC {\r
-       AT91_REG         PMC_SCER;      // System Clock Enable Register\r
-       AT91_REG         PMC_SCDR;      // System Clock Disable Register\r
-       AT91_REG         PMC_SCSR;      // System Clock Status Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         PMC_PCER;      // Peripheral Clock Enable Register\r
-       AT91_REG         PMC_PCDR;      // Peripheral Clock Disable Register\r
-       AT91_REG         PMC_PCSR;      // Peripheral Clock Status Register\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         PMC_MOR;       // Main Oscillator Register\r
-       AT91_REG         PMC_MCFR;      // Main Clock  Frequency Register\r
-       AT91_REG         Reserved2[1];  // \r
-       AT91_REG         PMC_PLLR;      // PLL Register\r
-       AT91_REG         PMC_MCKR;      // Master Clock Register\r
-       AT91_REG         Reserved3[3];  // \r
-       AT91_REG         PMC_PCKR[4];   // Programmable Clock Register\r
-       AT91_REG         Reserved4[4];  // \r
-       AT91_REG         PMC_IER;       // Interrupt Enable Register\r
-       AT91_REG         PMC_IDR;       // Interrupt Disable Register\r
-       AT91_REG         PMC_SR;        // Status Register\r
-       AT91_REG         PMC_IMR;       // Interrupt Mask Register\r
-} AT91S_PMC, *AT91PS_PMC;\r
-\r
-// -------- PMC_SCER : (PMC Offset: 0x0) System Clock Enable Register -------- \r
-#define AT91C_PMC_PCK         ((unsigned int) 0x1 <<  0) // (PMC) Processor Clock\r
-#define AT91C_PMC_UDP         ((unsigned int) 0x1 <<  7) // (PMC) USB Device Port Clock\r
-#define AT91C_PMC_PCK0        ((unsigned int) 0x1 <<  8) // (PMC) Programmable Clock Output\r
-#define AT91C_PMC_PCK1        ((unsigned int) 0x1 <<  9) // (PMC) Programmable Clock Output\r
-#define AT91C_PMC_PCK2        ((unsigned int) 0x1 << 10) // (PMC) Programmable Clock Output\r
-#define AT91C_PMC_PCK3        ((unsigned int) 0x1 << 11) // (PMC) Programmable Clock Output\r
-// -------- PMC_SCDR : (PMC Offset: 0x4) System Clock Disable Register -------- \r
-// -------- PMC_SCSR : (PMC Offset: 0x8) System Clock Status Register -------- \r
-// -------- CKGR_MOR : (PMC Offset: 0x20) Main Oscillator Register -------- \r
-// -------- CKGR_MCFR : (PMC Offset: 0x24) Main Clock Frequency Register -------- \r
-// -------- CKGR_PLLR : (PMC Offset: 0x2c) PLL B Register -------- \r
-// -------- PMC_MCKR : (PMC Offset: 0x30) Master Clock Register -------- \r
-#define AT91C_PMC_CSS         ((unsigned int) 0x3 <<  0) // (PMC) Programmable Clock Selection\r
-#define        AT91C_PMC_CSS_SLOW_CLK             ((unsigned int) 0x0) // (PMC) Slow Clock is selected\r
-#define        AT91C_PMC_CSS_MAIN_CLK             ((unsigned int) 0x1) // (PMC) Main Clock is selected\r
-#define        AT91C_PMC_CSS_PLL_CLK              ((unsigned int) 0x3) // (PMC) Clock from PLL is selected\r
-#define AT91C_PMC_PRES        ((unsigned int) 0x7 <<  2) // (PMC) Programmable Clock Prescaler\r
-#define        AT91C_PMC_PRES_CLK                  ((unsigned int) 0x0 <<  2) // (PMC) Selected clock\r
-#define        AT91C_PMC_PRES_CLK_2                ((unsigned int) 0x1 <<  2) // (PMC) Selected clock divided by 2\r
-#define        AT91C_PMC_PRES_CLK_4                ((unsigned int) 0x2 <<  2) // (PMC) Selected clock divided by 4\r
-#define        AT91C_PMC_PRES_CLK_8                ((unsigned int) 0x3 <<  2) // (PMC) Selected clock divided by 8\r
-#define        AT91C_PMC_PRES_CLK_16               ((unsigned int) 0x4 <<  2) // (PMC) Selected clock divided by 16\r
-#define        AT91C_PMC_PRES_CLK_32               ((unsigned int) 0x5 <<  2) // (PMC) Selected clock divided by 32\r
-#define        AT91C_PMC_PRES_CLK_64               ((unsigned int) 0x6 <<  2) // (PMC) Selected clock divided by 64\r
-// -------- PMC_PCKR : (PMC Offset: 0x40) Programmable Clock Register -------- \r
-// -------- PMC_IER : (PMC Offset: 0x60) PMC Interrupt Enable Register -------- \r
-#define AT91C_PMC_MOSCS       ((unsigned int) 0x1 <<  0) // (PMC) MOSC Status/Enable/Disable/Mask\r
-#define AT91C_PMC_LOCK        ((unsigned int) 0x1 <<  2) // (PMC) PLL Status/Enable/Disable/Mask\r
-#define AT91C_PMC_MCKRDY      ((unsigned int) 0x1 <<  3) // (PMC) MCK_RDY Status/Enable/Disable/Mask\r
-#define AT91C_PMC_PCK0RDY     ((unsigned int) 0x1 <<  8) // (PMC) PCK0_RDY Status/Enable/Disable/Mask\r
-#define AT91C_PMC_PCK1RDY     ((unsigned int) 0x1 <<  9) // (PMC) PCK1_RDY Status/Enable/Disable/Mask\r
-#define AT91C_PMC_PCK2RDY     ((unsigned int) 0x1 << 10) // (PMC) PCK2_RDY Status/Enable/Disable/Mask\r
-#define AT91C_PMC_PCK3RDY     ((unsigned int) 0x1 << 11) // (PMC) PCK3_RDY Status/Enable/Disable/Mask\r
-// -------- PMC_IDR : (PMC Offset: 0x64) PMC Interrupt Disable Register -------- \r
-// -------- PMC_SR : (PMC Offset: 0x68) PMC Status Register -------- \r
-// -------- PMC_IMR : (PMC Offset: 0x6c) PMC Interrupt Mask Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Reset Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_RSTC {\r
-       AT91_REG         RSTC_RCR;      // Reset Control Register\r
-       AT91_REG         RSTC_RSR;      // Reset Status Register\r
-       AT91_REG         RSTC_RMR;      // Reset Mode Register\r
-} AT91S_RSTC, *AT91PS_RSTC;\r
-\r
-// -------- RSTC_RCR : (RSTC Offset: 0x0) Reset Control Register -------- \r
-#define AT91C_RSTC_PROCRST    ((unsigned int) 0x1 <<  0) // (RSTC) Processor Reset\r
-#define AT91C_RSTC_PERRST     ((unsigned int) 0x1 <<  2) // (RSTC) Peripheral Reset\r
-#define AT91C_RSTC_EXTRST     ((unsigned int) 0x1 <<  3) // (RSTC) External Reset\r
-#define AT91C_RSTC_KEY        ((unsigned int) 0xFF << 24) // (RSTC) Password\r
-// -------- RSTC_RSR : (RSTC Offset: 0x4) Reset Status Register -------- \r
-#define AT91C_RSTC_URSTS      ((unsigned int) 0x1 <<  0) // (RSTC) User Reset Status\r
-#define AT91C_RSTC_BODSTS     ((unsigned int) 0x1 <<  1) // (RSTC) Brownout Detection Status\r
-#define AT91C_RSTC_RSTTYP     ((unsigned int) 0x7 <<  8) // (RSTC) Reset Type\r
-#define        AT91C_RSTC_RSTTYP_POWERUP              ((unsigned int) 0x0 <<  8) // (RSTC) Power-up Reset. VDDCORE rising.\r
-#define        AT91C_RSTC_RSTTYP_WAKEUP               ((unsigned int) 0x1 <<  8) // (RSTC) WakeUp Reset. VDDCORE rising.\r
-#define        AT91C_RSTC_RSTTYP_WATCHDOG             ((unsigned int) 0x2 <<  8) // (RSTC) Watchdog Reset. Watchdog overflow occured.\r
-#define        AT91C_RSTC_RSTTYP_SOFTWARE             ((unsigned int) 0x3 <<  8) // (RSTC) Software Reset. Processor reset required by the software.\r
-#define        AT91C_RSTC_RSTTYP_USER                 ((unsigned int) 0x4 <<  8) // (RSTC) User Reset. NRST pin detected low.\r
-#define        AT91C_RSTC_RSTTYP_BROWNOUT             ((unsigned int) 0x5 <<  8) // (RSTC) Brownout Reset occured.\r
-#define AT91C_RSTC_NRSTL      ((unsigned int) 0x1 << 16) // (RSTC) NRST pin level\r
-#define AT91C_RSTC_SRCMP      ((unsigned int) 0x1 << 17) // (RSTC) Software Reset Command in Progress.\r
-// -------- RSTC_RMR : (RSTC Offset: 0x8) Reset Mode Register -------- \r
-#define AT91C_RSTC_URSTEN     ((unsigned int) 0x1 <<  0) // (RSTC) User Reset Enable\r
-#define AT91C_RSTC_URSTIEN    ((unsigned int) 0x1 <<  4) // (RSTC) User Reset Interrupt Enable\r
-#define AT91C_RSTC_ERSTL      ((unsigned int) 0xF <<  8) // (RSTC) User Reset Enable\r
-#define AT91C_RSTC_BODIEN     ((unsigned int) 0x1 << 16) // (RSTC) Brownout Detection Interrupt Enable\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Real Time Timer Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_RTTC {\r
-       AT91_REG         RTTC_RTMR;     // Real-time Mode Register\r
-       AT91_REG         RTTC_RTAR;     // Real-time Alarm Register\r
-       AT91_REG         RTTC_RTVR;     // Real-time Value Register\r
-       AT91_REG         RTTC_RTSR;     // Real-time Status Register\r
-} AT91S_RTTC, *AT91PS_RTTC;\r
-\r
-// -------- RTTC_RTMR : (RTTC Offset: 0x0) Real-time Mode Register -------- \r
-#define AT91C_RTTC_RTPRES     ((unsigned int) 0xFFFF <<  0) // (RTTC) Real-time Timer Prescaler Value\r
-#define AT91C_RTTC_ALMIEN     ((unsigned int) 0x1 << 16) // (RTTC) Alarm Interrupt Enable\r
-#define AT91C_RTTC_RTTINCIEN  ((unsigned int) 0x1 << 17) // (RTTC) Real Time Timer Increment Interrupt Enable\r
-#define AT91C_RTTC_RTTRST     ((unsigned int) 0x1 << 18) // (RTTC) Real Time Timer Restart\r
-// -------- RTTC_RTAR : (RTTC Offset: 0x4) Real-time Alarm Register -------- \r
-#define AT91C_RTTC_ALMV       ((unsigned int) 0x0 <<  0) // (RTTC) Alarm Value\r
-// -------- RTTC_RTVR : (RTTC Offset: 0x8) Current Real-time Value Register -------- \r
-#define AT91C_RTTC_CRTV       ((unsigned int) 0x0 <<  0) // (RTTC) Current Real-time Value\r
-// -------- RTTC_RTSR : (RTTC Offset: 0xc) Real-time Status Register -------- \r
-#define AT91C_RTTC_ALMS       ((unsigned int) 0x1 <<  0) // (RTTC) Real-time Alarm Status\r
-#define AT91C_RTTC_RTTINC     ((unsigned int) 0x1 <<  1) // (RTTC) Real-time Timer Increment\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Periodic Interval Timer Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_PITC {\r
-       AT91_REG         PITC_PIMR;     // Period Interval Mode Register\r
-       AT91_REG         PITC_PISR;     // Period Interval Status Register\r
-       AT91_REG         PITC_PIVR;     // Period Interval Value Register\r
-       AT91_REG         PITC_PIIR;     // Period Interval Image Register\r
-} AT91S_PITC, *AT91PS_PITC;\r
-\r
-// -------- PITC_PIMR : (PITC Offset: 0x0) Periodic Interval Mode Register -------- \r
-#define AT91C_PITC_PIV        ((unsigned int) 0xFFFFF <<  0) // (PITC) Periodic Interval Value\r
-#define AT91C_PITC_PITEN      ((unsigned int) 0x1 << 24) // (PITC) Periodic Interval Timer Enabled\r
-#define AT91C_PITC_PITIEN     ((unsigned int) 0x1 << 25) // (PITC) Periodic Interval Timer Interrupt Enable\r
-// -------- PITC_PISR : (PITC Offset: 0x4) Periodic Interval Status Register -------- \r
-#define AT91C_PITC_PITS       ((unsigned int) 0x1 <<  0) // (PITC) Periodic Interval Timer Status\r
-// -------- PITC_PIVR : (PITC Offset: 0x8) Periodic Interval Value Register -------- \r
-#define AT91C_PITC_CPIV       ((unsigned int) 0xFFFFF <<  0) // (PITC) Current Periodic Interval Value\r
-#define AT91C_PITC_PICNT      ((unsigned int) 0xFFF << 20) // (PITC) Periodic Interval Counter\r
-// -------- PITC_PIIR : (PITC Offset: 0xc) Periodic Interval Image Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Watchdog Timer Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_WDTC {\r
-       AT91_REG         WDTC_WDCR;     // Watchdog Control Register\r
-       AT91_REG         WDTC_WDMR;     // Watchdog Mode Register\r
-       AT91_REG         WDTC_WDSR;     // Watchdog Status Register\r
-} AT91S_WDTC, *AT91PS_WDTC;\r
-\r
-// -------- WDTC_WDCR : (WDTC Offset: 0x0) Periodic Interval Image Register -------- \r
-#define AT91C_WDTC_WDRSTT     ((unsigned int) 0x1 <<  0) // (WDTC) Watchdog Restart\r
-#define AT91C_WDTC_KEY        ((unsigned int) 0xFF << 24) // (WDTC) Watchdog KEY Password\r
-// -------- WDTC_WDMR : (WDTC Offset: 0x4) Watchdog Mode Register -------- \r
-#define AT91C_WDTC_WDV        ((unsigned int) 0xFFF <<  0) // (WDTC) Watchdog Timer Restart\r
-#define AT91C_WDTC_WDFIEN     ((unsigned int) 0x1 << 12) // (WDTC) Watchdog Fault Interrupt Enable\r
-#define AT91C_WDTC_WDRSTEN    ((unsigned int) 0x1 << 13) // (WDTC) Watchdog Reset Enable\r
-#define AT91C_WDTC_WDRPROC    ((unsigned int) 0x1 << 14) // (WDTC) Watchdog Timer Restart\r
-#define AT91C_WDTC_WDDIS      ((unsigned int) 0x1 << 15) // (WDTC) Watchdog Disable\r
-#define AT91C_WDTC_WDD        ((unsigned int) 0xFFF << 16) // (WDTC) Watchdog Delta Value\r
-#define AT91C_WDTC_WDDBGHLT   ((unsigned int) 0x1 << 28) // (WDTC) Watchdog Debug Halt\r
-#define AT91C_WDTC_WDIDLEHLT  ((unsigned int) 0x1 << 29) // (WDTC) Watchdog Idle Halt\r
-// -------- WDTC_WDSR : (WDTC Offset: 0x8) Watchdog Status Register -------- \r
-#define AT91C_WDTC_WDUNF      ((unsigned int) 0x1 <<  0) // (WDTC) Watchdog Underflow\r
-#define AT91C_WDTC_WDERR      ((unsigned int) 0x1 <<  1) // (WDTC) Watchdog Error\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Voltage Regulator Mode Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_VREG {\r
-       AT91_REG         VREG_MR;       // Voltage Regulator Mode Register\r
-} AT91S_VREG, *AT91PS_VREG;\r
-\r
-// -------- VREG_MR : (VREG Offset: 0x0) Voltage Regulator Mode Register -------- \r
-#define AT91C_VREG_PSTDBY     ((unsigned int) 0x1 <<  0) // (VREG) Voltage Regulator Power Standby Mode\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Memory Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_MC {\r
-       AT91_REG         MC_RCR;        // MC Remap Control Register\r
-       AT91_REG         MC_ASR;        // MC Abort Status Register\r
-       AT91_REG         MC_AASR;       // MC Abort Address Status Register\r
-       AT91_REG         Reserved0[21];         // \r
-       AT91_REG         MC_FMR;        // MC Flash Mode Register\r
-       AT91_REG         MC_FCR;        // MC Flash Command Register\r
-       AT91_REG         MC_FSR;        // MC Flash Status Register\r
-} AT91S_MC, *AT91PS_MC;\r
-\r
-// -------- MC_RCR : (MC Offset: 0x0) MC Remap Control Register -------- \r
-#define AT91C_MC_RCB          ((unsigned int) 0x1 <<  0) // (MC) Remap Command Bit\r
-// -------- MC_ASR : (MC Offset: 0x4) MC Abort Status Register -------- \r
-#define AT91C_MC_UNDADD       ((unsigned int) 0x1 <<  0) // (MC) Undefined Addess Abort Status\r
-#define AT91C_MC_MISADD       ((unsigned int) 0x1 <<  1) // (MC) Misaligned Addess Abort Status\r
-#define AT91C_MC_ABTSZ        ((unsigned int) 0x3 <<  8) // (MC) Abort Size Status\r
-#define        AT91C_MC_ABTSZ_BYTE                 ((unsigned int) 0x0 <<  8) // (MC) Byte\r
-#define        AT91C_MC_ABTSZ_HWORD                ((unsigned int) 0x1 <<  8) // (MC) Half-word\r
-#define        AT91C_MC_ABTSZ_WORD                 ((unsigned int) 0x2 <<  8) // (MC) Word\r
-#define AT91C_MC_ABTTYP       ((unsigned int) 0x3 << 10) // (MC) Abort Type Status\r
-#define        AT91C_MC_ABTTYP_DATAR                ((unsigned int) 0x0 << 10) // (MC) Data Read\r
-#define        AT91C_MC_ABTTYP_DATAW                ((unsigned int) 0x1 << 10) // (MC) Data Write\r
-#define        AT91C_MC_ABTTYP_FETCH                ((unsigned int) 0x2 << 10) // (MC) Code Fetch\r
-#define AT91C_MC_MST0         ((unsigned int) 0x1 << 16) // (MC) Master 0 Abort Source\r
-#define AT91C_MC_MST1         ((unsigned int) 0x1 << 17) // (MC) Master 1 Abort Source\r
-#define AT91C_MC_SVMST0       ((unsigned int) 0x1 << 24) // (MC) Saved Master 0 Abort Source\r
-#define AT91C_MC_SVMST1       ((unsigned int) 0x1 << 25) // (MC) Saved Master 1 Abort Source\r
-// -------- MC_FMR : (MC Offset: 0x60) MC Flash Mode Register -------- \r
-#define AT91C_MC_FRDY         ((unsigned int) 0x1 <<  0) // (MC) Flash Ready\r
-#define AT91C_MC_LOCKE        ((unsigned int) 0x1 <<  2) // (MC) Lock Error\r
-#define AT91C_MC_PROGE        ((unsigned int) 0x1 <<  3) // (MC) Programming Error\r
-#define AT91C_MC_NEBP         ((unsigned int) 0x1 <<  7) // (MC) No Erase Before Programming\r
-#define AT91C_MC_FWS          ((unsigned int) 0x3 <<  8) // (MC) Flash Wait State\r
-#define        AT91C_MC_FWS_0FWS                 ((unsigned int) 0x0 <<  8) // (MC) 1 cycle for Read, 2 for Write operations\r
-#define        AT91C_MC_FWS_1FWS                 ((unsigned int) 0x1 <<  8) // (MC) 2 cycles for Read, 3 for Write operations\r
-#define        AT91C_MC_FWS_2FWS                 ((unsigned int) 0x2 <<  8) // (MC) 3 cycles for Read, 4 for Write operations\r
-#define        AT91C_MC_FWS_3FWS                 ((unsigned int) 0x3 <<  8) // (MC) 4 cycles for Read, 4 for Write operations\r
-#define AT91C_MC_FMCN         ((unsigned int) 0xFF << 16) // (MC) Flash Microsecond Cycle Number\r
-// -------- MC_FCR : (MC Offset: 0x64) MC Flash Command Register -------- \r
-#define AT91C_MC_FCMD         ((unsigned int) 0xF <<  0) // (MC) Flash Command\r
-#define        AT91C_MC_FCMD_START_PROG           ((unsigned int) 0x1) // (MC) Starts the programming of th epage specified by PAGEN.\r
-#define        AT91C_MC_FCMD_LOCK                 ((unsigned int) 0x2) // (MC) Starts a lock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.\r
-#define        AT91C_MC_FCMD_PROG_AND_LOCK        ((unsigned int) 0x3) // (MC) The lock sequence automatically happens after the programming sequence is completed.\r
-#define        AT91C_MC_FCMD_UNLOCK               ((unsigned int) 0x4) // (MC) Starts an unlock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.\r
-#define        AT91C_MC_FCMD_ERASE_ALL            ((unsigned int) 0x8) // (MC) Starts the erase of the entire flash.If at least a page is locked, the command is cancelled.\r
-#define        AT91C_MC_FCMD_SET_GP_NVM           ((unsigned int) 0xB) // (MC) Set General Purpose NVM bits.\r
-#define        AT91C_MC_FCMD_CLR_GP_NVM           ((unsigned int) 0xD) // (MC) Clear General Purpose NVM bits.\r
-#define        AT91C_MC_FCMD_SET_SECURITY         ((unsigned int) 0xF) // (MC) Set Security Bit.\r
-#define AT91C_MC_PAGEN        ((unsigned int) 0x3FF <<  8) // (MC) Page Number\r
-#define AT91C_MC_KEY          ((unsigned int) 0xFF << 24) // (MC) Writing Protect Key\r
-// -------- MC_FSR : (MC Offset: 0x68) MC Flash Command Register -------- \r
-#define AT91C_MC_SECURITY     ((unsigned int) 0x1 <<  4) // (MC) Security Bit Status\r
-#define AT91C_MC_GPNVM0       ((unsigned int) 0x1 <<  8) // (MC) Sector 0 Lock Status\r
-#define AT91C_MC_GPNVM1       ((unsigned int) 0x1 <<  9) // (MC) Sector 1 Lock Status\r
-#define AT91C_MC_GPNVM2       ((unsigned int) 0x1 << 10) // (MC) Sector 2 Lock Status\r
-#define AT91C_MC_GPNVM3       ((unsigned int) 0x1 << 11) // (MC) Sector 3 Lock Status\r
-#define AT91C_MC_GPNVM4       ((unsigned int) 0x1 << 12) // (MC) Sector 4 Lock Status\r
-#define AT91C_MC_GPNVM5       ((unsigned int) 0x1 << 13) // (MC) Sector 5 Lock Status\r
-#define AT91C_MC_GPNVM6       ((unsigned int) 0x1 << 14) // (MC) Sector 6 Lock Status\r
-#define AT91C_MC_GPNVM7       ((unsigned int) 0x1 << 15) // (MC) Sector 7 Lock Status\r
-#define AT91C_MC_LOCKS0       ((unsigned int) 0x1 << 16) // (MC) Sector 0 Lock Status\r
-#define AT91C_MC_LOCKS1       ((unsigned int) 0x1 << 17) // (MC) Sector 1 Lock Status\r
-#define AT91C_MC_LOCKS2       ((unsigned int) 0x1 << 18) // (MC) Sector 2 Lock Status\r
-#define AT91C_MC_LOCKS3       ((unsigned int) 0x1 << 19) // (MC) Sector 3 Lock Status\r
-#define AT91C_MC_LOCKS4       ((unsigned int) 0x1 << 20) // (MC) Sector 4 Lock Status\r
-#define AT91C_MC_LOCKS5       ((unsigned int) 0x1 << 21) // (MC) Sector 5 Lock Status\r
-#define AT91C_MC_LOCKS6       ((unsigned int) 0x1 << 22) // (MC) Sector 6 Lock Status\r
-#define AT91C_MC_LOCKS7       ((unsigned int) 0x1 << 23) // (MC) Sector 7 Lock Status\r
-#define AT91C_MC_LOCKS8       ((unsigned int) 0x1 << 24) // (MC) Sector 8 Lock Status\r
-#define AT91C_MC_LOCKS9       ((unsigned int) 0x1 << 25) // (MC) Sector 9 Lock Status\r
-#define AT91C_MC_LOCKS10      ((unsigned int) 0x1 << 26) // (MC) Sector 10 Lock Status\r
-#define AT91C_MC_LOCKS11      ((unsigned int) 0x1 << 27) // (MC) Sector 11 Lock Status\r
-#define AT91C_MC_LOCKS12      ((unsigned int) 0x1 << 28) // (MC) Sector 12 Lock Status\r
-#define AT91C_MC_LOCKS13      ((unsigned int) 0x1 << 29) // (MC) Sector 13 Lock Status\r
-#define AT91C_MC_LOCKS14      ((unsigned int) 0x1 << 30) // (MC) Sector 14 Lock Status\r
-#define AT91C_MC_LOCKS15      ((unsigned int) 0x1 << 31) // (MC) Sector 15 Lock Status\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Serial Parallel Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_SPI {\r
-       AT91_REG         SPI_CR;        // Control Register\r
-       AT91_REG         SPI_MR;        // Mode Register\r
-       AT91_REG         SPI_RDR;       // Receive Data Register\r
-       AT91_REG         SPI_TDR;       // Transmit Data Register\r
-       AT91_REG         SPI_SR;        // Status Register\r
-       AT91_REG         SPI_IER;       // Interrupt Enable Register\r
-       AT91_REG         SPI_IDR;       // Interrupt Disable Register\r
-       AT91_REG         SPI_IMR;       // Interrupt Mask Register\r
-       AT91_REG         Reserved0[4];  // \r
-       AT91_REG         SPI_CSR[4];    // Chip Select Register\r
-       AT91_REG         Reserved1[48];         // \r
-       AT91_REG         SPI_RPR;       // Receive Pointer Register\r
-       AT91_REG         SPI_RCR;       // Receive Counter Register\r
-       AT91_REG         SPI_TPR;       // Transmit Pointer Register\r
-       AT91_REG         SPI_TCR;       // Transmit Counter Register\r
-       AT91_REG         SPI_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         SPI_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         SPI_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         SPI_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         SPI_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         SPI_PTSR;      // PDC Transfer Status Register\r
-} AT91S_SPI, *AT91PS_SPI;\r
-\r
-// -------- SPI_CR : (SPI Offset: 0x0) SPI Control Register -------- \r
-#define AT91C_SPI_SPIEN       ((unsigned int) 0x1 <<  0) // (SPI) SPI Enable\r
-#define AT91C_SPI_SPIDIS      ((unsigned int) 0x1 <<  1) // (SPI) SPI Disable\r
-#define AT91C_SPI_SWRST       ((unsigned int) 0x1 <<  7) // (SPI) SPI Software reset\r
-#define AT91C_SPI_LASTXFER    ((unsigned int) 0x1 << 24) // (SPI) SPI Last Transfer\r
-// -------- SPI_MR : (SPI Offset: 0x4) SPI Mode Register -------- \r
-#define AT91C_SPI_MSTR        ((unsigned int) 0x1 <<  0) // (SPI) Master/Slave Mode\r
-#define AT91C_SPI_PS          ((unsigned int) 0x1 <<  1) // (SPI) Peripheral Select\r
-#define        AT91C_SPI_PS_FIXED                ((unsigned int) 0x0 <<  1) // (SPI) Fixed Peripheral Select\r
-#define        AT91C_SPI_PS_VARIABLE             ((unsigned int) 0x1 <<  1) // (SPI) Variable Peripheral Select\r
-#define AT91C_SPI_PCSDEC      ((unsigned int) 0x1 <<  2) // (SPI) Chip Select Decode\r
-#define AT91C_SPI_FDIV        ((unsigned int) 0x1 <<  3) // (SPI) Clock Selection\r
-#define AT91C_SPI_MODFDIS     ((unsigned int) 0x1 <<  4) // (SPI) Mode Fault Detection\r
-#define AT91C_SPI_LLB         ((unsigned int) 0x1 <<  7) // (SPI) Clock Selection\r
-#define AT91C_SPI_PCS         ((unsigned int) 0xF << 16) // (SPI) Peripheral Chip Select\r
-#define AT91C_SPI_DLYBCS      ((unsigned int) 0xFF << 24) // (SPI) Delay Between Chip Selects\r
-// -------- SPI_RDR : (SPI Offset: 0x8) Receive Data Register -------- \r
-#define AT91C_SPI_RD          ((unsigned int) 0xFFFF <<  0) // (SPI) Receive Data\r
-#define AT91C_SPI_RPCS        ((unsigned int) 0xF << 16) // (SPI) Peripheral Chip Select Status\r
-// -------- SPI_TDR : (SPI Offset: 0xc) Transmit Data Register -------- \r
-#define AT91C_SPI_TD          ((unsigned int) 0xFFFF <<  0) // (SPI) Transmit Data\r
-#define AT91C_SPI_TPCS        ((unsigned int) 0xF << 16) // (SPI) Peripheral Chip Select Status\r
-// -------- SPI_SR : (SPI Offset: 0x10) Status Register -------- \r
-#define AT91C_SPI_RDRF        ((unsigned int) 0x1 <<  0) // (SPI) Receive Data Register Full\r
-#define AT91C_SPI_TDRE        ((unsigned int) 0x1 <<  1) // (SPI) Transmit Data Register Empty\r
-#define AT91C_SPI_MODF        ((unsigned int) 0x1 <<  2) // (SPI) Mode Fault Error\r
-#define AT91C_SPI_OVRES       ((unsigned int) 0x1 <<  3) // (SPI) Overrun Error Status\r
-#define AT91C_SPI_ENDRX       ((unsigned int) 0x1 <<  4) // (SPI) End of Receiver Transfer\r
-#define AT91C_SPI_ENDTX       ((unsigned int) 0x1 <<  5) // (SPI) End of Receiver Transfer\r
-#define AT91C_SPI_RXBUFF      ((unsigned int) 0x1 <<  6) // (SPI) RXBUFF Interrupt\r
-#define AT91C_SPI_TXBUFE      ((unsigned int) 0x1 <<  7) // (SPI) TXBUFE Interrupt\r
-#define AT91C_SPI_NSSR        ((unsigned int) 0x1 <<  8) // (SPI) NSSR Interrupt\r
-#define AT91C_SPI_TXEMPTY     ((unsigned int) 0x1 <<  9) // (SPI) TXEMPTY Interrupt\r
-#define AT91C_SPI_SPIENS      ((unsigned int) 0x1 << 16) // (SPI) Enable Status\r
-// -------- SPI_IER : (SPI Offset: 0x14) Interrupt Enable Register -------- \r
-// -------- SPI_IDR : (SPI Offset: 0x18) Interrupt Disable Register -------- \r
-// -------- SPI_IMR : (SPI Offset: 0x1c) Interrupt Mask Register -------- \r
-// -------- SPI_CSR : (SPI Offset: 0x30) Chip Select Register -------- \r
-#define AT91C_SPI_CPOL        ((unsigned int) 0x1 <<  0) // (SPI) Clock Polarity\r
-#define AT91C_SPI_NCPHA       ((unsigned int) 0x1 <<  1) // (SPI) Clock Phase\r
-#define AT91C_SPI_CSAAT       ((unsigned int) 0x1 <<  3) // (SPI) Chip Select Active After Transfer\r
-#define AT91C_SPI_BITS        ((unsigned int) 0xF <<  4) // (SPI) Bits Per Transfer\r
-#define        AT91C_SPI_BITS_8                    ((unsigned int) 0x0 <<  4) // (SPI) 8 Bits Per transfer\r
-#define        AT91C_SPI_BITS_9                    ((unsigned int) 0x1 <<  4) // (SPI) 9 Bits Per transfer\r
-#define        AT91C_SPI_BITS_10                   ((unsigned int) 0x2 <<  4) // (SPI) 10 Bits Per transfer\r
-#define        AT91C_SPI_BITS_11                   ((unsigned int) 0x3 <<  4) // (SPI) 11 Bits Per transfer\r
-#define        AT91C_SPI_BITS_12                   ((unsigned int) 0x4 <<  4) // (SPI) 12 Bits Per transfer\r
-#define        AT91C_SPI_BITS_13                   ((unsigned int) 0x5 <<  4) // (SPI) 13 Bits Per transfer\r
-#define        AT91C_SPI_BITS_14                   ((unsigned int) 0x6 <<  4) // (SPI) 14 Bits Per transfer\r
-#define        AT91C_SPI_BITS_15                   ((unsigned int) 0x7 <<  4) // (SPI) 15 Bits Per transfer\r
-#define        AT91C_SPI_BITS_16                   ((unsigned int) 0x8 <<  4) // (SPI) 16 Bits Per transfer\r
-#define AT91C_SPI_SCBR        ((unsigned int) 0xFF <<  8) // (SPI) Serial Clock Baud Rate\r
-#define AT91C_SPI_DLYBS       ((unsigned int) 0xFF << 16) // (SPI) Delay Before SPCK\r
-#define AT91C_SPI_DLYBCT      ((unsigned int) 0xFF << 24) // (SPI) Delay Between Consecutive Transfers\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Usart\r
-// *****************************************************************************\r
-typedef struct _AT91S_USART {\r
-       AT91_REG         US_CR;         // Control Register\r
-       AT91_REG         US_MR;         // Mode Register\r
-       AT91_REG         US_IER;        // Interrupt Enable Register\r
-       AT91_REG         US_IDR;        // Interrupt Disable Register\r
-       AT91_REG         US_IMR;        // Interrupt Mask Register\r
-       AT91_REG         US_CSR;        // Channel Status Register\r
-       AT91_REG         US_RHR;        // Receiver Holding Register\r
-       AT91_REG         US_THR;        // Transmitter Holding Register\r
-       AT91_REG         US_BRGR;       // Baud Rate Generator Register\r
-       AT91_REG         US_RTOR;       // Receiver Time-out Register\r
-       AT91_REG         US_TTGR;       // Transmitter Time-guard Register\r
-       AT91_REG         Reserved0[5];  // \r
-       AT91_REG         US_FIDI;       // FI_DI_Ratio Register\r
-       AT91_REG         US_NER;        // Nb Errors Register\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         US_IF;         // IRDA_FILTER Register\r
-       AT91_REG         Reserved2[44];         // \r
-       AT91_REG         US_RPR;        // Receive Pointer Register\r
-       AT91_REG         US_RCR;        // Receive Counter Register\r
-       AT91_REG         US_TPR;        // Transmit Pointer Register\r
-       AT91_REG         US_TCR;        // Transmit Counter Register\r
-       AT91_REG         US_RNPR;       // Receive Next Pointer Register\r
-       AT91_REG         US_RNCR;       // Receive Next Counter Register\r
-       AT91_REG         US_TNPR;       // Transmit Next Pointer Register\r
-       AT91_REG         US_TNCR;       // Transmit Next Counter Register\r
-       AT91_REG         US_PTCR;       // PDC Transfer Control Register\r
-       AT91_REG         US_PTSR;       // PDC Transfer Status Register\r
-} AT91S_USART, *AT91PS_USART;\r
-\r
-// -------- US_CR : (USART Offset: 0x0) Debug Unit Control Register -------- \r
-#define AT91C_US_STTBRK       ((unsigned int) 0x1 <<  9) // (USART) Start Break\r
-#define AT91C_US_STPBRK       ((unsigned int) 0x1 << 10) // (USART) Stop Break\r
-#define AT91C_US_STTTO        ((unsigned int) 0x1 << 11) // (USART) Start Time-out\r
-#define AT91C_US_SENDA        ((unsigned int) 0x1 << 12) // (USART) Send Address\r
-#define AT91C_US_RSTIT        ((unsigned int) 0x1 << 13) // (USART) Reset Iterations\r
-#define AT91C_US_RSTNACK      ((unsigned int) 0x1 << 14) // (USART) Reset Non Acknowledge\r
-#define AT91C_US_RETTO        ((unsigned int) 0x1 << 15) // (USART) Rearm Time-out\r
-#define AT91C_US_DTREN        ((unsigned int) 0x1 << 16) // (USART) Data Terminal ready Enable\r
-#define AT91C_US_DTRDIS       ((unsigned int) 0x1 << 17) // (USART) Data Terminal ready Disable\r
-#define AT91C_US_RTSEN        ((unsigned int) 0x1 << 18) // (USART) Request to Send enable\r
-#define AT91C_US_RTSDIS       ((unsigned int) 0x1 << 19) // (USART) Request to Send Disable\r
-// -------- US_MR : (USART Offset: 0x4) Debug Unit Mode Register -------- \r
-#define AT91C_US_USMODE       ((unsigned int) 0xF <<  0) // (USART) Usart mode\r
-#define        AT91C_US_USMODE_NORMAL               ((unsigned int) 0x0) // (USART) Normal\r
-#define        AT91C_US_USMODE_RS485                ((unsigned int) 0x1) // (USART) RS485\r
-#define        AT91C_US_USMODE_HWHSH                ((unsigned int) 0x2) // (USART) Hardware Handshaking\r
-#define        AT91C_US_USMODE_MODEM                ((unsigned int) 0x3) // (USART) Modem\r
-#define        AT91C_US_USMODE_ISO7816_0            ((unsigned int) 0x4) // (USART) ISO7816 protocol: T = 0\r
-#define        AT91C_US_USMODE_ISO7816_1            ((unsigned int) 0x6) // (USART) ISO7816 protocol: T = 1\r
-#define        AT91C_US_USMODE_IRDA                 ((unsigned int) 0x8) // (USART) IrDA\r
-#define        AT91C_US_USMODE_SWHSH                ((unsigned int) 0xC) // (USART) Software Handshaking\r
-#define AT91C_US_CLKS         ((unsigned int) 0x3 <<  4) // (USART) Clock Selection (Baud Rate generator Input Clock\r
-#define        AT91C_US_CLKS_CLOCK                ((unsigned int) 0x0 <<  4) // (USART) Clock\r
-#define        AT91C_US_CLKS_FDIV1                ((unsigned int) 0x1 <<  4) // (USART) fdiv1\r
-#define        AT91C_US_CLKS_SLOW                 ((unsigned int) 0x2 <<  4) // (USART) slow_clock (ARM)\r
-#define        AT91C_US_CLKS_EXT                  ((unsigned int) 0x3 <<  4) // (USART) External (SCK)\r
-#define AT91C_US_CHRL         ((unsigned int) 0x3 <<  6) // (USART) Clock Selection (Baud Rate generator Input Clock\r
-#define        AT91C_US_CHRL_5_BITS               ((unsigned int) 0x0 <<  6) // (USART) Character Length: 5 bits\r
-#define        AT91C_US_CHRL_6_BITS               ((unsigned int) 0x1 <<  6) // (USART) Character Length: 6 bits\r
-#define        AT91C_US_CHRL_7_BITS               ((unsigned int) 0x2 <<  6) // (USART) Character Length: 7 bits\r
-#define        AT91C_US_CHRL_8_BITS               ((unsigned int) 0x3 <<  6) // (USART) Character Length: 8 bits\r
-#define AT91C_US_SYNC         ((unsigned int) 0x1 <<  8) // (USART) Synchronous Mode Select\r
-#define AT91C_US_NBSTOP       ((unsigned int) 0x3 << 12) // (USART) Number of Stop bits\r
-#define        AT91C_US_NBSTOP_1_BIT                ((unsigned int) 0x0 << 12) // (USART) 1 stop bit\r
-#define        AT91C_US_NBSTOP_15_BIT               ((unsigned int) 0x1 << 12) // (USART) Asynchronous (SYNC=0) 2 stop bits Synchronous (SYNC=1) 2 stop bits\r
-#define        AT91C_US_NBSTOP_2_BIT                ((unsigned int) 0x2 << 12) // (USART) 2 stop bits\r
-#define AT91C_US_MSBF         ((unsigned int) 0x1 << 16) // (USART) Bit Order\r
-#define AT91C_US_MODE9        ((unsigned int) 0x1 << 17) // (USART) 9-bit Character length\r
-#define AT91C_US_CKLO         ((unsigned int) 0x1 << 18) // (USART) Clock Output Select\r
-#define AT91C_US_OVER         ((unsigned int) 0x1 << 19) // (USART) Over Sampling Mode\r
-#define AT91C_US_INACK        ((unsigned int) 0x1 << 20) // (USART) Inhibit Non Acknowledge\r
-#define AT91C_US_DSNACK       ((unsigned int) 0x1 << 21) // (USART) Disable Successive NACK\r
-#define AT91C_US_MAX_ITER     ((unsigned int) 0x1 << 24) // (USART) Number of Repetitions\r
-#define AT91C_US_FILTER       ((unsigned int) 0x1 << 28) // (USART) Receive Line Filter\r
-// -------- US_IER : (USART Offset: 0x8) Debug Unit Interrupt Enable Register -------- \r
-#define AT91C_US_RXBRK        ((unsigned int) 0x1 <<  2) // (USART) Break Received/End of Break\r
-#define AT91C_US_TIMEOUT      ((unsigned int) 0x1 <<  8) // (USART) Receiver Time-out\r
-#define AT91C_US_ITERATION    ((unsigned int) 0x1 << 10) // (USART) Max number of Repetitions Reached\r
-#define AT91C_US_NACK         ((unsigned int) 0x1 << 13) // (USART) Non Acknowledge\r
-#define AT91C_US_RIIC         ((unsigned int) 0x1 << 16) // (USART) Ring INdicator Input Change Flag\r
-#define AT91C_US_DSRIC        ((unsigned int) 0x1 << 17) // (USART) Data Set Ready Input Change Flag\r
-#define AT91C_US_DCDIC        ((unsigned int) 0x1 << 18) // (USART) Data Carrier Flag\r
-#define AT91C_US_CTSIC        ((unsigned int) 0x1 << 19) // (USART) Clear To Send Input Change Flag\r
-// -------- US_IDR : (USART Offset: 0xc) Debug Unit Interrupt Disable Register -------- \r
-// -------- US_IMR : (USART Offset: 0x10) Debug Unit Interrupt Mask Register -------- \r
-// -------- US_CSR : (USART Offset: 0x14) Debug Unit Channel Status Register -------- \r
-#define AT91C_US_RI           ((unsigned int) 0x1 << 20) // (USART) Image of RI Input\r
-#define AT91C_US_DSR          ((unsigned int) 0x1 << 21) // (USART) Image of DSR Input\r
-#define AT91C_US_DCD          ((unsigned int) 0x1 << 22) // (USART) Image of DCD Input\r
-#define AT91C_US_CTS          ((unsigned int) 0x1 << 23) // (USART) Image of CTS Input\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Synchronous Serial Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_SSC {\r
-       AT91_REG         SSC_CR;        // Control Register\r
-       AT91_REG         SSC_CMR;       // Clock Mode Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         SSC_RCMR;      // Receive Clock ModeRegister\r
-       AT91_REG         SSC_RFMR;      // Receive Frame Mode Register\r
-       AT91_REG         SSC_TCMR;      // Transmit Clock Mode Register\r
-       AT91_REG         SSC_TFMR;      // Transmit Frame Mode Register\r
-       AT91_REG         SSC_RHR;       // Receive Holding Register\r
-       AT91_REG         SSC_THR;       // Transmit Holding Register\r
-       AT91_REG         Reserved1[2];  // \r
-       AT91_REG         SSC_RSHR;      // Receive Sync Holding Register\r
-       AT91_REG         SSC_TSHR;      // Transmit Sync Holding Register\r
-       AT91_REG         Reserved2[2];  // \r
-       AT91_REG         SSC_SR;        // Status Register\r
-       AT91_REG         SSC_IER;       // Interrupt Enable Register\r
-       AT91_REG         SSC_IDR;       // Interrupt Disable Register\r
-       AT91_REG         SSC_IMR;       // Interrupt Mask Register\r
-       AT91_REG         Reserved3[44];         // \r
-       AT91_REG         SSC_RPR;       // Receive Pointer Register\r
-       AT91_REG         SSC_RCR;       // Receive Counter Register\r
-       AT91_REG         SSC_TPR;       // Transmit Pointer Register\r
-       AT91_REG         SSC_TCR;       // Transmit Counter Register\r
-       AT91_REG         SSC_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         SSC_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         SSC_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         SSC_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         SSC_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         SSC_PTSR;      // PDC Transfer Status Register\r
-} AT91S_SSC, *AT91PS_SSC;\r
-\r
-// -------- SSC_CR : (SSC Offset: 0x0) SSC Control Register -------- \r
-#define AT91C_SSC_RXEN        ((unsigned int) 0x1 <<  0) // (SSC) Receive Enable\r
-#define AT91C_SSC_RXDIS       ((unsigned int) 0x1 <<  1) // (SSC) Receive Disable\r
-#define AT91C_SSC_TXEN        ((unsigned int) 0x1 <<  8) // (SSC) Transmit Enable\r
-#define AT91C_SSC_TXDIS       ((unsigned int) 0x1 <<  9) // (SSC) Transmit Disable\r
-#define AT91C_SSC_SWRST       ((unsigned int) 0x1 << 15) // (SSC) Software Reset\r
-// -------- SSC_RCMR : (SSC Offset: 0x10) SSC Receive Clock Mode Register -------- \r
-#define AT91C_SSC_CKS         ((unsigned int) 0x3 <<  0) // (SSC) Receive/Transmit Clock Selection\r
-#define        AT91C_SSC_CKS_DIV                  ((unsigned int) 0x0) // (SSC) Divided Clock\r
-#define        AT91C_SSC_CKS_TK                   ((unsigned int) 0x1) // (SSC) TK Clock signal\r
-#define        AT91C_SSC_CKS_RK                   ((unsigned int) 0x2) // (SSC) RK pin\r
-#define AT91C_SSC_CKO         ((unsigned int) 0x7 <<  2) // (SSC) Receive/Transmit Clock Output Mode Selection\r
-#define        AT91C_SSC_CKO_NONE                 ((unsigned int) 0x0 <<  2) // (SSC) Receive/Transmit Clock Output Mode: None RK pin: Input-only\r
-#define        AT91C_SSC_CKO_CONTINOUS            ((unsigned int) 0x1 <<  2) // (SSC) Continuous Receive/Transmit Clock RK pin: Output\r
-#define        AT91C_SSC_CKO_DATA_TX              ((unsigned int) 0x2 <<  2) // (SSC) Receive/Transmit Clock only during data transfers RK pin: Output\r
-#define AT91C_SSC_CKI         ((unsigned int) 0x1 <<  5) // (SSC) Receive/Transmit Clock Inversion\r
-#define AT91C_SSC_START       ((unsigned int) 0xF <<  8) // (SSC) Receive/Transmit Start Selection\r
-#define        AT91C_SSC_START_CONTINOUS            ((unsigned int) 0x0 <<  8) // (SSC) Continuous, as soon as the receiver is enabled, and immediately after the end of transfer of the previous data.\r
-#define        AT91C_SSC_START_TX                   ((unsigned int) 0x1 <<  8) // (SSC) Transmit/Receive start\r
-#define        AT91C_SSC_START_LOW_RF               ((unsigned int) 0x2 <<  8) // (SSC) Detection of a low level on RF input\r
-#define        AT91C_SSC_START_HIGH_RF              ((unsigned int) 0x3 <<  8) // (SSC) Detection of a high level on RF input\r
-#define        AT91C_SSC_START_FALL_RF              ((unsigned int) 0x4 <<  8) // (SSC) Detection of a falling edge on RF input\r
-#define        AT91C_SSC_START_RISE_RF              ((unsigned int) 0x5 <<  8) // (SSC) Detection of a rising edge on RF input\r
-#define        AT91C_SSC_START_LEVEL_RF             ((unsigned int) 0x6 <<  8) // (SSC) Detection of any level change on RF input\r
-#define        AT91C_SSC_START_EDGE_RF              ((unsigned int) 0x7 <<  8) // (SSC) Detection of any edge on RF input\r
-#define        AT91C_SSC_START_0                    ((unsigned int) 0x8 <<  8) // (SSC) Compare 0\r
-#define AT91C_SSC_STTDLY      ((unsigned int) 0xFF << 16) // (SSC) Receive/Transmit Start Delay\r
-#define AT91C_SSC_PERIOD      ((unsigned int) 0xFF << 24) // (SSC) Receive/Transmit Period Divider Selection\r
-// -------- SSC_RFMR : (SSC Offset: 0x14) SSC Receive Frame Mode Register -------- \r
-#define AT91C_SSC_DATLEN      ((unsigned int) 0x1F <<  0) // (SSC) Data Length\r
-#define AT91C_SSC_LOOP        ((unsigned int) 0x1 <<  5) // (SSC) Loop Mode\r
-#define AT91C_SSC_MSBF        ((unsigned int) 0x1 <<  7) // (SSC) Most Significant Bit First\r
-#define AT91C_SSC_DATNB       ((unsigned int) 0xF <<  8) // (SSC) Data Number per Frame\r
-#define AT91C_SSC_FSLEN       ((unsigned int) 0xF << 16) // (SSC) Receive/Transmit Frame Sync length\r
-#define AT91C_SSC_FSOS        ((unsigned int) 0x7 << 20) // (SSC) Receive/Transmit Frame Sync Output Selection\r
-#define        AT91C_SSC_FSOS_NONE                 ((unsigned int) 0x0 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: None RK pin Input-only\r
-#define        AT91C_SSC_FSOS_NEGATIVE             ((unsigned int) 0x1 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Negative Pulse\r
-#define        AT91C_SSC_FSOS_POSITIVE             ((unsigned int) 0x2 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Positive Pulse\r
-#define        AT91C_SSC_FSOS_LOW                  ((unsigned int) 0x3 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Driver Low during data transfer\r
-#define        AT91C_SSC_FSOS_HIGH                 ((unsigned int) 0x4 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Driver High during data transfer\r
-#define        AT91C_SSC_FSOS_TOGGLE               ((unsigned int) 0x5 << 20) // (SSC) Selected Receive/Transmit Frame Sync Signal: Toggling at each start of data transfer\r
-#define AT91C_SSC_FSEDGE      ((unsigned int) 0x1 << 24) // (SSC) Frame Sync Edge Detection\r
-// -------- SSC_TCMR : (SSC Offset: 0x18) SSC Transmit Clock Mode Register -------- \r
-// -------- SSC_TFMR : (SSC Offset: 0x1c) SSC Transmit Frame Mode Register -------- \r
-#define AT91C_SSC_DATDEF      ((unsigned int) 0x1 <<  5) // (SSC) Data Default Value\r
-#define AT91C_SSC_FSDEN       ((unsigned int) 0x1 << 23) // (SSC) Frame Sync Data Enable\r
-// -------- SSC_SR : (SSC Offset: 0x40) SSC Status Register -------- \r
-#define AT91C_SSC_TXRDY       ((unsigned int) 0x1 <<  0) // (SSC) Transmit Ready\r
-#define AT91C_SSC_TXEMPTY     ((unsigned int) 0x1 <<  1) // (SSC) Transmit Empty\r
-#define AT91C_SSC_ENDTX       ((unsigned int) 0x1 <<  2) // (SSC) End Of Transmission\r
-#define AT91C_SSC_TXBUFE      ((unsigned int) 0x1 <<  3) // (SSC) Transmit Buffer Empty\r
-#define AT91C_SSC_RXRDY       ((unsigned int) 0x1 <<  4) // (SSC) Receive Ready\r
-#define AT91C_SSC_OVRUN       ((unsigned int) 0x1 <<  5) // (SSC) Receive Overrun\r
-#define AT91C_SSC_ENDRX       ((unsigned int) 0x1 <<  6) // (SSC) End of Reception\r
-#define AT91C_SSC_RXBUFF      ((unsigned int) 0x1 <<  7) // (SSC) Receive Buffer Full\r
-#define AT91C_SSC_TXSYN       ((unsigned int) 0x1 << 10) // (SSC) Transmit Sync\r
-#define AT91C_SSC_RXSYN       ((unsigned int) 0x1 << 11) // (SSC) Receive Sync\r
-#define AT91C_SSC_TXENA       ((unsigned int) 0x1 << 16) // (SSC) Transmit Enable\r
-#define AT91C_SSC_RXENA       ((unsigned int) 0x1 << 17) // (SSC) Receive Enable\r
-// -------- SSC_IER : (SSC Offset: 0x44) SSC Interrupt Enable Register -------- \r
-// -------- SSC_IDR : (SSC Offset: 0x48) SSC Interrupt Disable Register -------- \r
-// -------- SSC_IMR : (SSC Offset: 0x4c) SSC Interrupt Mask Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Two-wire Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_TWI {\r
-       AT91_REG         TWI_CR;        // Control Register\r
-       AT91_REG         TWI_MMR;       // Master Mode Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         TWI_IADR;      // Internal Address Register\r
-       AT91_REG         TWI_CWGR;      // Clock Waveform Generator Register\r
-       AT91_REG         Reserved1[3];  // \r
-       AT91_REG         TWI_SR;        // Status Register\r
-       AT91_REG         TWI_IER;       // Interrupt Enable Register\r
-       AT91_REG         TWI_IDR;       // Interrupt Disable Register\r
-       AT91_REG         TWI_IMR;       // Interrupt Mask Register\r
-       AT91_REG         TWI_RHR;       // Receive Holding Register\r
-       AT91_REG         TWI_THR;       // Transmit Holding Register\r
-} AT91S_TWI, *AT91PS_TWI;\r
-\r
-// -------- TWI_CR : (TWI Offset: 0x0) TWI Control Register -------- \r
-#define AT91C_TWI_START       ((unsigned int) 0x1 <<  0) // (TWI) Send a START Condition\r
-#define AT91C_TWI_STOP        ((unsigned int) 0x1 <<  1) // (TWI) Send a STOP Condition\r
-#define AT91C_TWI_MSEN        ((unsigned int) 0x1 <<  2) // (TWI) TWI Master Transfer Enabled\r
-#define AT91C_TWI_MSDIS       ((unsigned int) 0x1 <<  3) // (TWI) TWI Master Transfer Disabled\r
-#define AT91C_TWI_SWRST       ((unsigned int) 0x1 <<  7) // (TWI) Software Reset\r
-// -------- TWI_MMR : (TWI Offset: 0x4) TWI Master Mode Register -------- \r
-#define AT91C_TWI_IADRSZ      ((unsigned int) 0x3 <<  8) // (TWI) Internal Device Address Size\r
-#define        AT91C_TWI_IADRSZ_NO                   ((unsigned int) 0x0 <<  8) // (TWI) No internal device address\r
-#define        AT91C_TWI_IADRSZ_1_BYTE               ((unsigned int) 0x1 <<  8) // (TWI) One-byte internal device address\r
-#define        AT91C_TWI_IADRSZ_2_BYTE               ((unsigned int) 0x2 <<  8) // (TWI) Two-byte internal device address\r
-#define        AT91C_TWI_IADRSZ_3_BYTE               ((unsigned int) 0x3 <<  8) // (TWI) Three-byte internal device address\r
-#define AT91C_TWI_MREAD       ((unsigned int) 0x1 << 12) // (TWI) Master Read Direction\r
-#define AT91C_TWI_DADR        ((unsigned int) 0x7F << 16) // (TWI) Device Address\r
-// -------- TWI_CWGR : (TWI Offset: 0x10) TWI Clock Waveform Generator Register -------- \r
-#define AT91C_TWI_CLDIV       ((unsigned int) 0xFF <<  0) // (TWI) Clock Low Divider\r
-#define AT91C_TWI_CHDIV       ((unsigned int) 0xFF <<  8) // (TWI) Clock High Divider\r
-#define AT91C_TWI_CKDIV       ((unsigned int) 0x7 << 16) // (TWI) Clock Divider\r
-// -------- TWI_SR : (TWI Offset: 0x20) TWI Status Register -------- \r
-#define AT91C_TWI_TXCOMP      ((unsigned int) 0x1 <<  0) // (TWI) Transmission Completed\r
-#define AT91C_TWI_RXRDY       ((unsigned int) 0x1 <<  1) // (TWI) Receive holding register ReaDY\r
-#define AT91C_TWI_TXRDY       ((unsigned int) 0x1 <<  2) // (TWI) Transmit holding register ReaDY\r
-#define AT91C_TWI_OVRE        ((unsigned int) 0x1 <<  6) // (TWI) Overrun Error\r
-#define AT91C_TWI_UNRE        ((unsigned int) 0x1 <<  7) // (TWI) Underrun Error\r
-#define AT91C_TWI_NACK        ((unsigned int) 0x1 <<  8) // (TWI) Not Acknowledged\r
-// -------- TWI_IER : (TWI Offset: 0x24) TWI Interrupt Enable Register -------- \r
-// -------- TWI_IDR : (TWI Offset: 0x28) TWI Interrupt Disable Register -------- \r
-// -------- TWI_IMR : (TWI Offset: 0x2c) TWI Interrupt Mask Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR PWMC Channel Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_PWMC_CH {\r
-       AT91_REG         PWMC_CMR;      // Channel Mode Register\r
-       AT91_REG         PWMC_CDTYR;    // Channel Duty Cycle Register\r
-       AT91_REG         PWMC_CPRDR;    // Channel Period Register\r
-       AT91_REG         PWMC_CCNTR;    // Channel Counter Register\r
-       AT91_REG         PWMC_CUPDR;    // Channel Update Register\r
-       AT91_REG         PWMC_Reserved[3];      // Reserved\r
-} AT91S_PWMC_CH, *AT91PS_PWMC_CH;\r
-\r
-// -------- PWMC_CMR : (PWMC_CH Offset: 0x0) PWMC Channel Mode Register -------- \r
-#define AT91C_PWMC_CPRE       ((unsigned int) 0xF <<  0) // (PWMC_CH) Channel Pre-scaler : PWMC_CLKx\r
-#define        AT91C_PWMC_CPRE_MCK                  ((unsigned int) 0x0) // (PWMC_CH) \r
-#define        AT91C_PWMC_CPRE_MCKA                 ((unsigned int) 0xB) // (PWMC_CH) \r
-#define        AT91C_PWMC_CPRE_MCKB                 ((unsigned int) 0xC) // (PWMC_CH) \r
-#define AT91C_PWMC_CALG       ((unsigned int) 0x1 <<  8) // (PWMC_CH) Channel Alignment\r
-#define AT91C_PWMC_CPOL       ((unsigned int) 0x1 <<  9) // (PWMC_CH) Channel Polarity\r
-#define AT91C_PWMC_CPD        ((unsigned int) 0x1 << 10) // (PWMC_CH) Channel Update Period\r
-// -------- PWMC_CDTYR : (PWMC_CH Offset: 0x4) PWMC Channel Duty Cycle Register -------- \r
-#define AT91C_PWMC_CDTY       ((unsigned int) 0x0 <<  0) // (PWMC_CH) Channel Duty Cycle\r
-// -------- PWMC_CPRDR : (PWMC_CH Offset: 0x8) PWMC Channel Period Register -------- \r
-#define AT91C_PWMC_CPRD       ((unsigned int) 0x0 <<  0) // (PWMC_CH) Channel Period\r
-// -------- PWMC_CCNTR : (PWMC_CH Offset: 0xc) PWMC Channel Counter Register -------- \r
-#define AT91C_PWMC_CCNT       ((unsigned int) 0x0 <<  0) // (PWMC_CH) Channel Counter\r
-// -------- PWMC_CUPDR : (PWMC_CH Offset: 0x10) PWMC Channel Update Register -------- \r
-#define AT91C_PWMC_CUPD       ((unsigned int) 0x0 <<  0) // (PWMC_CH) Channel Update\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Pulse Width Modulation Controller Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_PWMC {\r
-       AT91_REG         PWMC_MR;       // PWMC Mode Register\r
-       AT91_REG         PWMC_ENA;      // PWMC Enable Register\r
-       AT91_REG         PWMC_DIS;      // PWMC Disable Register\r
-       AT91_REG         PWMC_SR;       // PWMC Status Register\r
-       AT91_REG         PWMC_IER;      // PWMC Interrupt Enable Register\r
-       AT91_REG         PWMC_IDR;      // PWMC Interrupt Disable Register\r
-       AT91_REG         PWMC_IMR;      // PWMC Interrupt Mask Register\r
-       AT91_REG         PWMC_ISR;      // PWMC Interrupt Status Register\r
-       AT91_REG         Reserved0[55];         // \r
-       AT91_REG         PWMC_VR;       // PWMC Version Register\r
-       AT91_REG         Reserved1[64];         // \r
-       AT91S_PWMC_CH    PWMC_CH[4];    // PWMC Channel\r
-} AT91S_PWMC, *AT91PS_PWMC;\r
-\r
-// -------- PWMC_MR : (PWMC Offset: 0x0) PWMC Mode Register -------- \r
-#define AT91C_PWMC_DIVA       ((unsigned int) 0xFF <<  0) // (PWMC) CLKA divide factor.\r
-#define AT91C_PWMC_PREA       ((unsigned int) 0xF <<  8) // (PWMC) Divider Input Clock Prescaler A\r
-#define        AT91C_PWMC_PREA_MCK                  ((unsigned int) 0x0 <<  8) // (PWMC) \r
-#define AT91C_PWMC_DIVB       ((unsigned int) 0xFF << 16) // (PWMC) CLKB divide factor.\r
-#define AT91C_PWMC_PREB       ((unsigned int) 0xF << 24) // (PWMC) Divider Input Clock Prescaler B\r
-#define        AT91C_PWMC_PREB_MCK                  ((unsigned int) 0x0 << 24) // (PWMC) \r
-// -------- PWMC_ENA : (PWMC Offset: 0x4) PWMC Enable Register -------- \r
-#define AT91C_PWMC_CHID0      ((unsigned int) 0x1 <<  0) // (PWMC) Channel ID 0\r
-#define AT91C_PWMC_CHID1      ((unsigned int) 0x1 <<  1) // (PWMC) Channel ID 1\r
-#define AT91C_PWMC_CHID2      ((unsigned int) 0x1 <<  2) // (PWMC) Channel ID 2\r
-#define AT91C_PWMC_CHID3      ((unsigned int) 0x1 <<  3) // (PWMC) Channel ID 3\r
-// -------- PWMC_DIS : (PWMC Offset: 0x8) PWMC Disable Register -------- \r
-// -------- PWMC_SR : (PWMC Offset: 0xc) PWMC Status Register -------- \r
-// -------- PWMC_IER : (PWMC Offset: 0x10) PWMC Interrupt Enable Register -------- \r
-// -------- PWMC_IDR : (PWMC Offset: 0x14) PWMC Interrupt Disable Register -------- \r
-// -------- PWMC_IMR : (PWMC Offset: 0x18) PWMC Interrupt Mask Register -------- \r
-// -------- PWMC_ISR : (PWMC Offset: 0x1c) PWMC Interrupt Status Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR USB Device Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_UDP {\r
-       AT91_REG         UDP_NUM;       // Frame Number Register\r
-       AT91_REG         UDP_GLBSTATE;  // Global State Register\r
-       AT91_REG         UDP_FADDR;     // Function Address Register\r
-       AT91_REG         Reserved0[1];  // \r
-       AT91_REG         UDP_IER;       // Interrupt Enable Register\r
-       AT91_REG         UDP_IDR;       // Interrupt Disable Register\r
-       AT91_REG         UDP_IMR;       // Interrupt Mask Register\r
-       AT91_REG         UDP_ISR;       // Interrupt Status Register\r
-       AT91_REG         UDP_ICR;       // Interrupt Clear Register\r
-       AT91_REG         Reserved1[1];  // \r
-       AT91_REG         UDP_RSTEP;     // Reset Endpoint Register\r
-       AT91_REG         Reserved2[1];  // \r
-       AT91_REG         UDP_CSR[6];    // Endpoint Control and Status Register\r
-       AT91_REG         Reserved3[2];  // \r
-       AT91_REG         UDP_FDR[6];    // Endpoint FIFO Data Register\r
-       AT91_REG         Reserved4[3];  // \r
-       AT91_REG         UDP_TXVC;      // Transceiver Control Register\r
-} AT91S_UDP, *AT91PS_UDP;\r
-\r
-// -------- UDP_FRM_NUM : (UDP Offset: 0x0) USB Frame Number Register -------- \r
-#define AT91C_UDP_FRM_NUM     ((unsigned int) 0x7FF <<  0) // (UDP) Frame Number as Defined in the Packet Field Formats\r
-#define AT91C_UDP_FRM_ERR     ((unsigned int) 0x1 << 16) // (UDP) Frame Error\r
-#define AT91C_UDP_FRM_OK      ((unsigned int) 0x1 << 17) // (UDP) Frame OK\r
-// -------- UDP_GLB_STATE : (UDP Offset: 0x4) USB Global State Register -------- \r
-#define AT91C_UDP_FADDEN      ((unsigned int) 0x1 <<  0) // (UDP) Function Address Enable\r
-#define AT91C_UDP_CONFG       ((unsigned int) 0x1 <<  1) // (UDP) Configured\r
-#define AT91C_UDP_ESR         ((unsigned int) 0x1 <<  2) // (UDP) Enable Send Resume\r
-#define AT91C_UDP_RSMINPR     ((unsigned int) 0x1 <<  3) // (UDP) A Resume Has Been Sent to the Host\r
-#define AT91C_UDP_RMWUPE      ((unsigned int) 0x1 <<  4) // (UDP) Remote Wake Up Enable\r
-// -------- UDP_FADDR : (UDP Offset: 0x8) USB Function Address Register -------- \r
-#define AT91C_UDP_FADD        ((unsigned int) 0xFF <<  0) // (UDP) Function Address Value\r
-#define AT91C_UDP_FEN         ((unsigned int) 0x1 <<  8) // (UDP) Function Enable\r
-// -------- UDP_IER : (UDP Offset: 0x10) USB Interrupt Enable Register -------- \r
-#define AT91C_UDP_EPINT0      ((unsigned int) 0x1 <<  0) // (UDP) Endpoint 0 Interrupt\r
-#define AT91C_UDP_EPINT1      ((unsigned int) 0x1 <<  1) // (UDP) Endpoint 0 Interrupt\r
-#define AT91C_UDP_EPINT2      ((unsigned int) 0x1 <<  2) // (UDP) Endpoint 2 Interrupt\r
-#define AT91C_UDP_EPINT3      ((unsigned int) 0x1 <<  3) // (UDP) Endpoint 3 Interrupt\r
-#define AT91C_UDP_EPINT4      ((unsigned int) 0x1 <<  4) // (UDP) Endpoint 4 Interrupt\r
-#define AT91C_UDP_EPINT5      ((unsigned int) 0x1 <<  5) // (UDP) Endpoint 5 Interrupt\r
-#define AT91C_UDP_RXSUSP      ((unsigned int) 0x1 <<  8) // (UDP) USB Suspend Interrupt\r
-#define AT91C_UDP_RXRSM       ((unsigned int) 0x1 <<  9) // (UDP) USB Resume Interrupt\r
-#define AT91C_UDP_EXTRSM      ((unsigned int) 0x1 << 10) // (UDP) USB External Resume Interrupt\r
-#define AT91C_UDP_SOFINT      ((unsigned int) 0x1 << 11) // (UDP) USB Start Of frame Interrupt\r
-#define AT91C_UDP_WAKEUP      ((unsigned int) 0x1 << 13) // (UDP) USB Resume Interrupt\r
-// -------- UDP_IDR : (UDP Offset: 0x14) USB Interrupt Disable Register -------- \r
-// -------- UDP_IMR : (UDP Offset: 0x18) USB Interrupt Mask Register -------- \r
-// -------- UDP_ISR : (UDP Offset: 0x1c) USB Interrupt Status Register -------- \r
-#define AT91C_UDP_ENDBUSRES   ((unsigned int) 0x1 << 12) // (UDP) USB End Of Bus Reset Interrupt\r
-// -------- UDP_ICR : (UDP Offset: 0x20) USB Interrupt Clear Register -------- \r
-// -------- UDP_RST_EP : (UDP Offset: 0x28) USB Reset Endpoint Register -------- \r
-#define AT91C_UDP_EP0         ((unsigned int) 0x1 <<  0) // (UDP) Reset Endpoint 0\r
-#define AT91C_UDP_EP1         ((unsigned int) 0x1 <<  1) // (UDP) Reset Endpoint 1\r
-#define AT91C_UDP_EP2         ((unsigned int) 0x1 <<  2) // (UDP) Reset Endpoint 2\r
-#define AT91C_UDP_EP3         ((unsigned int) 0x1 <<  3) // (UDP) Reset Endpoint 3\r
-#define AT91C_UDP_EP4         ((unsigned int) 0x1 <<  4) // (UDP) Reset Endpoint 4\r
-#define AT91C_UDP_EP5         ((unsigned int) 0x1 <<  5) // (UDP) Reset Endpoint 5\r
-// -------- UDP_CSR : (UDP Offset: 0x30) USB Endpoint Control and Status Register -------- \r
-#define AT91C_UDP_TXCOMP      ((unsigned int) 0x1 <<  0) // (UDP) Generates an IN packet with data previously written in the DPR\r
-#define AT91C_UDP_RX_DATA_BK0 ((unsigned int) 0x1 <<  1) // (UDP) Receive Data Bank 0\r
-#define AT91C_UDP_RXSETUP     ((unsigned int) 0x1 <<  2) // (UDP) Sends STALL to the Host (Control endpoints)\r
-#define AT91C_UDP_ISOERROR    ((unsigned int) 0x1 <<  3) // (UDP) Isochronous error (Isochronous endpoints)\r
-#define AT91C_UDP_TXPKTRDY    ((unsigned int) 0x1 <<  4) // (UDP) Transmit Packet Ready\r
-#define AT91C_UDP_FORCESTALL  ((unsigned int) 0x1 <<  5) // (UDP) Force Stall (used by Control, Bulk and Isochronous endpoints).\r
-#define AT91C_UDP_RX_DATA_BK1 ((unsigned int) 0x1 <<  6) // (UDP) Receive Data Bank 1 (only used by endpoints with ping-pong attributes).\r
-#define AT91C_UDP_DIR         ((unsigned int) 0x1 <<  7) // (UDP) Transfer Direction\r
-#define AT91C_UDP_EPTYPE      ((unsigned int) 0x7 <<  8) // (UDP) Endpoint type\r
-#define        AT91C_UDP_EPTYPE_CTRL                 ((unsigned int) 0x0 <<  8) // (UDP) Control\r
-#define        AT91C_UDP_EPTYPE_ISO_OUT              ((unsigned int) 0x1 <<  8) // (UDP) Isochronous OUT\r
-#define        AT91C_UDP_EPTYPE_BULK_OUT             ((unsigned int) 0x2 <<  8) // (UDP) Bulk OUT\r
-#define        AT91C_UDP_EPTYPE_INT_OUT              ((unsigned int) 0x3 <<  8) // (UDP) Interrupt OUT\r
-#define        AT91C_UDP_EPTYPE_ISO_IN               ((unsigned int) 0x5 <<  8) // (UDP) Isochronous IN\r
-#define        AT91C_UDP_EPTYPE_BULK_IN              ((unsigned int) 0x6 <<  8) // (UDP) Bulk IN\r
-#define        AT91C_UDP_EPTYPE_INT_IN               ((unsigned int) 0x7 <<  8) // (UDP) Interrupt IN\r
-#define AT91C_UDP_DTGLE       ((unsigned int) 0x1 << 11) // (UDP) Data Toggle\r
-#define AT91C_UDP_EPEDS       ((unsigned int) 0x1 << 15) // (UDP) Endpoint Enable Disable\r
-#define AT91C_UDP_RXBYTECNT   ((unsigned int) 0x7FF << 16) // (UDP) Number Of Bytes Available in the FIFO\r
-// -------- UDP_TXVC : (UDP Offset: 0x74) Transceiver Control Register -------- \r
-#define AT91C_UDP_TXVDIS      ((unsigned int) 0x1 <<  8) // (UDP) \r
-#define AT91C_UDP_PUON        ((unsigned int) 0x1 <<  9) // (UDP) Pull-up ON\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Timer Counter Channel Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_TC {\r
-       AT91_REG         TC_CCR;        // Channel Control Register\r
-       AT91_REG         TC_CMR;        // Channel Mode Register (Capture Mode / Waveform Mode)\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         TC_CV;         // Counter Value\r
-       AT91_REG         TC_RA;         // Register A\r
-       AT91_REG         TC_RB;         // Register B\r
-       AT91_REG         TC_RC;         // Register C\r
-       AT91_REG         TC_SR;         // Status Register\r
-       AT91_REG         TC_IER;        // Interrupt Enable Register\r
-       AT91_REG         TC_IDR;        // Interrupt Disable Register\r
-       AT91_REG         TC_IMR;        // Interrupt Mask Register\r
-} AT91S_TC, *AT91PS_TC;\r
-\r
-// -------- TC_CCR : (TC Offset: 0x0) TC Channel Control Register -------- \r
-#define AT91C_TC_CLKEN        ((unsigned int) 0x1 <<  0) // (TC) Counter Clock Enable Command\r
-#define AT91C_TC_CLKDIS       ((unsigned int) 0x1 <<  1) // (TC) Counter Clock Disable Command\r
-#define AT91C_TC_SWTRG        ((unsigned int) 0x1 <<  2) // (TC) Software Trigger Command\r
-// -------- TC_CMR : (TC Offset: 0x4) TC Channel Mode Register: Capture Mode / Waveform Mode -------- \r
-#define AT91C_TC_CLKS         ((unsigned int) 0x7 <<  0) // (TC) Clock Selection\r
-#define        AT91C_TC_CLKS_TIMER_DIV1_CLOCK     ((unsigned int) 0x0) // (TC) Clock selected: TIMER_DIV1_CLOCK\r
-#define        AT91C_TC_CLKS_TIMER_DIV2_CLOCK     ((unsigned int) 0x1) // (TC) Clock selected: TIMER_DIV2_CLOCK\r
-#define        AT91C_TC_CLKS_TIMER_DIV3_CLOCK     ((unsigned int) 0x2) // (TC) Clock selected: TIMER_DIV3_CLOCK\r
-#define        AT91C_TC_CLKS_TIMER_DIV4_CLOCK     ((unsigned int) 0x3) // (TC) Clock selected: TIMER_DIV4_CLOCK\r
-#define        AT91C_TC_CLKS_TIMER_DIV5_CLOCK     ((unsigned int) 0x4) // (TC) Clock selected: TIMER_DIV5_CLOCK\r
-#define        AT91C_TC_CLKS_XC0                  ((unsigned int) 0x5) // (TC) Clock selected: XC0\r
-#define        AT91C_TC_CLKS_XC1                  ((unsigned int) 0x6) // (TC) Clock selected: XC1\r
-#define        AT91C_TC_CLKS_XC2                  ((unsigned int) 0x7) // (TC) Clock selected: XC2\r
-#define AT91C_TC_CLKI         ((unsigned int) 0x1 <<  3) // (TC) Clock Invert\r
-#define AT91C_TC_BURST        ((unsigned int) 0x3 <<  4) // (TC) Burst Signal Selection\r
-#define        AT91C_TC_BURST_NONE                 ((unsigned int) 0x0 <<  4) // (TC) The clock is not gated by an external signal\r
-#define        AT91C_TC_BURST_XC0                  ((unsigned int) 0x1 <<  4) // (TC) XC0 is ANDed with the selected clock\r
-#define        AT91C_TC_BURST_XC1                  ((unsigned int) 0x2 <<  4) // (TC) XC1 is ANDed with the selected clock\r
-#define        AT91C_TC_BURST_XC2                  ((unsigned int) 0x3 <<  4) // (TC) XC2 is ANDed with the selected clock\r
-#define AT91C_TC_CPCSTOP      ((unsigned int) 0x1 <<  6) // (TC) Counter Clock Stopped with RC Compare\r
-#define AT91C_TC_LDBSTOP      ((unsigned int) 0x1 <<  6) // (TC) Counter Clock Stopped with RB Loading\r
-#define AT91C_TC_CPCDIS       ((unsigned int) 0x1 <<  7) // (TC) Counter Clock Disable with RC Compare\r
-#define AT91C_TC_LDBDIS       ((unsigned int) 0x1 <<  7) // (TC) Counter Clock Disabled with RB Loading\r
-#define AT91C_TC_ETRGEDG      ((unsigned int) 0x3 <<  8) // (TC) External Trigger Edge Selection\r
-#define        AT91C_TC_ETRGEDG_NONE                 ((unsigned int) 0x0 <<  8) // (TC) Edge: None\r
-#define        AT91C_TC_ETRGEDG_RISING               ((unsigned int) 0x1 <<  8) // (TC) Edge: rising edge\r
-#define        AT91C_TC_ETRGEDG_FALLING              ((unsigned int) 0x2 <<  8) // (TC) Edge: falling edge\r
-#define        AT91C_TC_ETRGEDG_BOTH                 ((unsigned int) 0x3 <<  8) // (TC) Edge: each edge\r
-#define AT91C_TC_EEVTEDG      ((unsigned int) 0x3 <<  8) // (TC) External Event Edge Selection\r
-#define        AT91C_TC_EEVTEDG_NONE                 ((unsigned int) 0x0 <<  8) // (TC) Edge: None\r
-#define        AT91C_TC_EEVTEDG_RISING               ((unsigned int) 0x1 <<  8) // (TC) Edge: rising edge\r
-#define        AT91C_TC_EEVTEDG_FALLING              ((unsigned int) 0x2 <<  8) // (TC) Edge: falling edge\r
-#define        AT91C_TC_EEVTEDG_BOTH                 ((unsigned int) 0x3 <<  8) // (TC) Edge: each edge\r
-#define AT91C_TC_EEVT         ((unsigned int) 0x3 << 10) // (TC) External Event  Selection\r
-#define        AT91C_TC_EEVT_TIOB                 ((unsigned int) 0x0 << 10) // (TC) Signal selected as external event: TIOB TIOB direction: input\r
-#define        AT91C_TC_EEVT_XC0                  ((unsigned int) 0x1 << 10) // (TC) Signal selected as external event: XC0 TIOB direction: output\r
-#define        AT91C_TC_EEVT_XC1                  ((unsigned int) 0x2 << 10) // (TC) Signal selected as external event: XC1 TIOB direction: output\r
-#define        AT91C_TC_EEVT_XC2                  ((unsigned int) 0x3 << 10) // (TC) Signal selected as external event: XC2 TIOB direction: output\r
-#define AT91C_TC_ABETRG       ((unsigned int) 0x1 << 10) // (TC) TIOA or TIOB External Trigger Selection\r
-#define AT91C_TC_ENETRG       ((unsigned int) 0x1 << 12) // (TC) External Event Trigger enable\r
-#define AT91C_TC_WAVESEL      ((unsigned int) 0x3 << 13) // (TC) Waveform  Selection\r
-#define        AT91C_TC_WAVESEL_UP                   ((unsigned int) 0x0 << 13) // (TC) UP mode without atomatic trigger on RC Compare\r
-#define        AT91C_TC_WAVESEL_UPDOWN               ((unsigned int) 0x1 << 13) // (TC) UPDOWN mode without automatic trigger on RC Compare\r
-#define        AT91C_TC_WAVESEL_UP_AUTO              ((unsigned int) 0x2 << 13) // (TC) UP mode with automatic trigger on RC Compare\r
-#define        AT91C_TC_WAVESEL_UPDOWN_AUTO          ((unsigned int) 0x3 << 13) // (TC) UPDOWN mode with automatic trigger on RC Compare\r
-#define AT91C_TC_CPCTRG       ((unsigned int) 0x1 << 14) // (TC) RC Compare Trigger Enable\r
-#define AT91C_TC_WAVE         ((unsigned int) 0x1 << 15) // (TC) \r
-#define AT91C_TC_ACPA         ((unsigned int) 0x3 << 16) // (TC) RA Compare Effect on TIOA\r
-#define        AT91C_TC_ACPA_NONE                 ((unsigned int) 0x0 << 16) // (TC) Effect: none\r
-#define        AT91C_TC_ACPA_SET                  ((unsigned int) 0x1 << 16) // (TC) Effect: set\r
-#define        AT91C_TC_ACPA_CLEAR                ((unsigned int) 0x2 << 16) // (TC) Effect: clear\r
-#define        AT91C_TC_ACPA_TOGGLE               ((unsigned int) 0x3 << 16) // (TC) Effect: toggle\r
-#define AT91C_TC_LDRA         ((unsigned int) 0x3 << 16) // (TC) RA Loading Selection\r
-#define        AT91C_TC_LDRA_NONE                 ((unsigned int) 0x0 << 16) // (TC) Edge: None\r
-#define        AT91C_TC_LDRA_RISING               ((unsigned int) 0x1 << 16) // (TC) Edge: rising edge of TIOA\r
-#define        AT91C_TC_LDRA_FALLING              ((unsigned int) 0x2 << 16) // (TC) Edge: falling edge of TIOA\r
-#define        AT91C_TC_LDRA_BOTH                 ((unsigned int) 0x3 << 16) // (TC) Edge: each edge of TIOA\r
-#define AT91C_TC_ACPC         ((unsigned int) 0x3 << 18) // (TC) RC Compare Effect on TIOA\r
-#define        AT91C_TC_ACPC_NONE                 ((unsigned int) 0x0 << 18) // (TC) Effect: none\r
-#define        AT91C_TC_ACPC_SET                  ((unsigned int) 0x1 << 18) // (TC) Effect: set\r
-#define        AT91C_TC_ACPC_CLEAR                ((unsigned int) 0x2 << 18) // (TC) Effect: clear\r
-#define        AT91C_TC_ACPC_TOGGLE               ((unsigned int) 0x3 << 18) // (TC) Effect: toggle\r
-#define AT91C_TC_LDRB         ((unsigned int) 0x3 << 18) // (TC) RB Loading Selection\r
-#define        AT91C_TC_LDRB_NONE                 ((unsigned int) 0x0 << 18) // (TC) Edge: None\r
-#define        AT91C_TC_LDRB_RISING               ((unsigned int) 0x1 << 18) // (TC) Edge: rising edge of TIOA\r
-#define        AT91C_TC_LDRB_FALLING              ((unsigned int) 0x2 << 18) // (TC) Edge: falling edge of TIOA\r
-#define        AT91C_TC_LDRB_BOTH                 ((unsigned int) 0x3 << 18) // (TC) Edge: each edge of TIOA\r
-#define AT91C_TC_AEEVT        ((unsigned int) 0x3 << 20) // (TC) External Event Effect on TIOA\r
-#define        AT91C_TC_AEEVT_NONE                 ((unsigned int) 0x0 << 20) // (TC) Effect: none\r
-#define        AT91C_TC_AEEVT_SET                  ((unsigned int) 0x1 << 20) // (TC) Effect: set\r
-#define        AT91C_TC_AEEVT_CLEAR                ((unsigned int) 0x2 << 20) // (TC) Effect: clear\r
-#define        AT91C_TC_AEEVT_TOGGLE               ((unsigned int) 0x3 << 20) // (TC) Effect: toggle\r
-#define AT91C_TC_ASWTRG       ((unsigned int) 0x3 << 22) // (TC) Software Trigger Effect on TIOA\r
-#define        AT91C_TC_ASWTRG_NONE                 ((unsigned int) 0x0 << 22) // (TC) Effect: none\r
-#define        AT91C_TC_ASWTRG_SET                  ((unsigned int) 0x1 << 22) // (TC) Effect: set\r
-#define        AT91C_TC_ASWTRG_CLEAR                ((unsigned int) 0x2 << 22) // (TC) Effect: clear\r
-#define        AT91C_TC_ASWTRG_TOGGLE               ((unsigned int) 0x3 << 22) // (TC) Effect: toggle\r
-#define AT91C_TC_BCPB         ((unsigned int) 0x3 << 24) // (TC) RB Compare Effect on TIOB\r
-#define        AT91C_TC_BCPB_NONE                 ((unsigned int) 0x0 << 24) // (TC) Effect: none\r
-#define        AT91C_TC_BCPB_SET                  ((unsigned int) 0x1 << 24) // (TC) Effect: set\r
-#define        AT91C_TC_BCPB_CLEAR                ((unsigned int) 0x2 << 24) // (TC) Effect: clear\r
-#define        AT91C_TC_BCPB_TOGGLE               ((unsigned int) 0x3 << 24) // (TC) Effect: toggle\r
-#define AT91C_TC_BCPC         ((unsigned int) 0x3 << 26) // (TC) RC Compare Effect on TIOB\r
-#define        AT91C_TC_BCPC_NONE                 ((unsigned int) 0x0 << 26) // (TC) Effect: none\r
-#define        AT91C_TC_BCPC_SET                  ((unsigned int) 0x1 << 26) // (TC) Effect: set\r
-#define        AT91C_TC_BCPC_CLEAR                ((unsigned int) 0x2 << 26) // (TC) Effect: clear\r
-#define        AT91C_TC_BCPC_TOGGLE               ((unsigned int) 0x3 << 26) // (TC) Effect: toggle\r
-#define AT91C_TC_BEEVT        ((unsigned int) 0x3 << 28) // (TC) External Event Effect on TIOB\r
-#define        AT91C_TC_BEEVT_NONE                 ((unsigned int) 0x0 << 28) // (TC) Effect: none\r
-#define        AT91C_TC_BEEVT_SET                  ((unsigned int) 0x1 << 28) // (TC) Effect: set\r
-#define        AT91C_TC_BEEVT_CLEAR                ((unsigned int) 0x2 << 28) // (TC) Effect: clear\r
-#define        AT91C_TC_BEEVT_TOGGLE               ((unsigned int) 0x3 << 28) // (TC) Effect: toggle\r
-#define AT91C_TC_BSWTRG       ((unsigned int) 0x3 << 30) // (TC) Software Trigger Effect on TIOB\r
-#define        AT91C_TC_BSWTRG_NONE                 ((unsigned int) 0x0 << 30) // (TC) Effect: none\r
-#define        AT91C_TC_BSWTRG_SET                  ((unsigned int) 0x1 << 30) // (TC) Effect: set\r
-#define        AT91C_TC_BSWTRG_CLEAR                ((unsigned int) 0x2 << 30) // (TC) Effect: clear\r
-#define        AT91C_TC_BSWTRG_TOGGLE               ((unsigned int) 0x3 << 30) // (TC) Effect: toggle\r
-// -------- TC_SR : (TC Offset: 0x20) TC Channel Status Register -------- \r
-#define AT91C_TC_COVFS        ((unsigned int) 0x1 <<  0) // (TC) Counter Overflow\r
-#define AT91C_TC_LOVRS        ((unsigned int) 0x1 <<  1) // (TC) Load Overrun\r
-#define AT91C_TC_CPAS         ((unsigned int) 0x1 <<  2) // (TC) RA Compare\r
-#define AT91C_TC_CPBS         ((unsigned int) 0x1 <<  3) // (TC) RB Compare\r
-#define AT91C_TC_CPCS         ((unsigned int) 0x1 <<  4) // (TC) RC Compare\r
-#define AT91C_TC_LDRAS        ((unsigned int) 0x1 <<  5) // (TC) RA Loading\r
-#define AT91C_TC_LDRBS        ((unsigned int) 0x1 <<  6) // (TC) RB Loading\r
-#define AT91C_TC_ETRGS        ((unsigned int) 0x1 <<  7) // (TC) External Trigger\r
-#define AT91C_TC_CLKSTA       ((unsigned int) 0x1 << 16) // (TC) Clock Enabling\r
-#define AT91C_TC_MTIOA        ((unsigned int) 0x1 << 17) // (TC) TIOA Mirror\r
-#define AT91C_TC_MTIOB        ((unsigned int) 0x1 << 18) // (TC) TIOA Mirror\r
-// -------- TC_IER : (TC Offset: 0x24) TC Channel Interrupt Enable Register -------- \r
-// -------- TC_IDR : (TC Offset: 0x28) TC Channel Interrupt Disable Register -------- \r
-// -------- TC_IMR : (TC Offset: 0x2c) TC Channel Interrupt Mask Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Timer Counter Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_TCB {\r
-       AT91S_TC         TCB_TC0;       // TC Channel 0\r
-       AT91_REG         Reserved0[4];  // \r
-       AT91S_TC         TCB_TC1;       // TC Channel 1\r
-       AT91_REG         Reserved1[4];  // \r
-       AT91S_TC         TCB_TC2;       // TC Channel 2\r
-       AT91_REG         Reserved2[4];  // \r
-       AT91_REG         TCB_BCR;       // TC Block Control Register\r
-       AT91_REG         TCB_BMR;       // TC Block Mode Register\r
-} AT91S_TCB, *AT91PS_TCB;\r
-\r
-// -------- TCB_BCR : (TCB Offset: 0xc0) TC Block Control Register -------- \r
-#define AT91C_TCB_SYNC        ((unsigned int) 0x1 <<  0) // (TCB) Synchro Command\r
-// -------- TCB_BMR : (TCB Offset: 0xc4) TC Block Mode Register -------- \r
-#define AT91C_TCB_TC0XC0S     ((unsigned int) 0x3 <<  0) // (TCB) External Clock Signal 0 Selection\r
-#define        AT91C_TCB_TC0XC0S_TCLK0                ((unsigned int) 0x0) // (TCB) TCLK0 connected to XC0\r
-#define        AT91C_TCB_TC0XC0S_NONE                 ((unsigned int) 0x1) // (TCB) None signal connected to XC0\r
-#define        AT91C_TCB_TC0XC0S_TIOA1                ((unsigned int) 0x2) // (TCB) TIOA1 connected to XC0\r
-#define        AT91C_TCB_TC0XC0S_TIOA2                ((unsigned int) 0x3) // (TCB) TIOA2 connected to XC0\r
-#define AT91C_TCB_TC1XC1S     ((unsigned int) 0x3 <<  2) // (TCB) External Clock Signal 1 Selection\r
-#define        AT91C_TCB_TC1XC1S_TCLK1                ((unsigned int) 0x0 <<  2) // (TCB) TCLK1 connected to XC1\r
-#define        AT91C_TCB_TC1XC1S_NONE                 ((unsigned int) 0x1 <<  2) // (TCB) None signal connected to XC1\r
-#define        AT91C_TCB_TC1XC1S_TIOA0                ((unsigned int) 0x2 <<  2) // (TCB) TIOA0 connected to XC1\r
-#define        AT91C_TCB_TC1XC1S_TIOA2                ((unsigned int) 0x3 <<  2) // (TCB) TIOA2 connected to XC1\r
-#define AT91C_TCB_TC2XC2S     ((unsigned int) 0x3 <<  4) // (TCB) External Clock Signal 2 Selection\r
-#define        AT91C_TCB_TC2XC2S_TCLK2                ((unsigned int) 0x0 <<  4) // (TCB) TCLK2 connected to XC2\r
-#define        AT91C_TCB_TC2XC2S_NONE                 ((unsigned int) 0x1 <<  4) // (TCB) None signal connected to XC2\r
-#define        AT91C_TCB_TC2XC2S_TIOA0                ((unsigned int) 0x2 <<  4) // (TCB) TIOA0 connected to XC2\r
-#define        AT91C_TCB_TC2XC2S_TIOA1                ((unsigned int) 0x3 <<  4) // (TCB) TIOA2 connected to XC2\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Control Area Network MailBox Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_CAN_MB {\r
-       AT91_REG         CAN_MB_MMR;    // MailBox Mode Register\r
-       AT91_REG         CAN_MB_MAM;    // MailBox Acceptance Mask Register\r
-       AT91_REG         CAN_MB_MID;    // MailBox ID Register\r
-       AT91_REG         CAN_MB_MFID;   // MailBox Family ID Register\r
-       AT91_REG         CAN_MB_MSR;    // MailBox Status Register\r
-       AT91_REG         CAN_MB_MDL;    // MailBox Data Low Register\r
-       AT91_REG         CAN_MB_MDH;    // MailBox Data High Register\r
-       AT91_REG         CAN_MB_MCR;    // MailBox Control Register\r
-} AT91S_CAN_MB, *AT91PS_CAN_MB;\r
-\r
-// -------- CAN_MMR : (CAN_MB Offset: 0x0) CAN Message Mode Register -------- \r
-#define AT91C_CAN_MTIMEMARK   ((unsigned int) 0xFFFF <<  0) // (CAN_MB) Mailbox Timemark\r
-#define AT91C_CAN_PRIOR       ((unsigned int) 0xF << 16) // (CAN_MB) Mailbox Priority\r
-#define AT91C_CAN_MOT         ((unsigned int) 0x7 << 24) // (CAN_MB) Mailbox Object Type\r
-#define        AT91C_CAN_MOT_DIS                  ((unsigned int) 0x0 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_RX                   ((unsigned int) 0x1 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_RXOVERWRITE          ((unsigned int) 0x2 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_TX                   ((unsigned int) 0x3 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_CONSUMER             ((unsigned int) 0x4 << 24) // (CAN_MB) \r
-#define        AT91C_CAN_MOT_PRODUCER             ((unsigned int) 0x5 << 24) // (CAN_MB) \r
-// -------- CAN_MAM : (CAN_MB Offset: 0x4) CAN Message Acceptance Mask Register -------- \r
-#define AT91C_CAN_MIDvB       ((unsigned int) 0x3FFFF <<  0) // (CAN_MB) Complementary bits for identifier in extended mode\r
-#define AT91C_CAN_MIDvA       ((unsigned int) 0x7FF << 18) // (CAN_MB) Identifier for standard frame mode\r
-#define AT91C_CAN_MIDE        ((unsigned int) 0x1 << 29) // (CAN_MB) Identifier Version\r
-// -------- CAN_MID : (CAN_MB Offset: 0x8) CAN Message ID Register -------- \r
-// -------- CAN_MFID : (CAN_MB Offset: 0xc) CAN Message Family ID Register -------- \r
-// -------- CAN_MSR : (CAN_MB Offset: 0x10) CAN Message Status Register -------- \r
-#define AT91C_CAN_MTIMESTAMP  ((unsigned int) 0xFFFF <<  0) // (CAN_MB) Timer Value\r
-#define AT91C_CAN_MDLC        ((unsigned int) 0xF << 16) // (CAN_MB) Mailbox Data Length Code\r
-#define AT91C_CAN_MRTR        ((unsigned int) 0x1 << 20) // (CAN_MB) Mailbox Remote Transmission Request\r
-#define AT91C_CAN_MABT        ((unsigned int) 0x1 << 22) // (CAN_MB) Mailbox Message Abort\r
-#define AT91C_CAN_MRDY        ((unsigned int) 0x1 << 23) // (CAN_MB) Mailbox Ready\r
-#define AT91C_CAN_MMI         ((unsigned int) 0x1 << 24) // (CAN_MB) Mailbox Message Ignored\r
-// -------- CAN_MDL : (CAN_MB Offset: 0x14) CAN Message Data Low Register -------- \r
-// -------- CAN_MDH : (CAN_MB Offset: 0x18) CAN Message Data High Register -------- \r
-// -------- CAN_MCR : (CAN_MB Offset: 0x1c) CAN Message Control Register -------- \r
-#define AT91C_CAN_MACR        ((unsigned int) 0x1 << 22) // (CAN_MB) Abort Request for Mailbox\r
-#define AT91C_CAN_MTCR        ((unsigned int) 0x1 << 23) // (CAN_MB) Mailbox Transfer Command\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Control Area Network Interface\r
-// *****************************************************************************\r
-typedef struct _AT91S_CAN {\r
-       AT91_REG         CAN_MR;        // Mode Register\r
-       AT91_REG         CAN_IER;       // Interrupt Enable Register\r
-       AT91_REG         CAN_IDR;       // Interrupt Disable Register\r
-       AT91_REG         CAN_IMR;       // Interrupt Mask Register\r
-       AT91_REG         CAN_SR;        // Status Register\r
-       AT91_REG         CAN_BR;        // Baudrate Register\r
-       AT91_REG         CAN_TIM;       // Timer Register\r
-       AT91_REG         CAN_TIMESTP;   // Time Stamp Register\r
-       AT91_REG         CAN_ECR;       // Error Counter Register\r
-       AT91_REG         CAN_TCR;       // Transfer Command Register\r
-       AT91_REG         CAN_ACR;       // Abort Command Register\r
-       AT91_REG         Reserved0[52];         // \r
-       AT91_REG         CAN_VR;        // Version Register\r
-       AT91_REG         Reserved1[64];         // \r
-       AT91S_CAN_MB     CAN_MB0;       // CAN Mailbox 0\r
-       AT91S_CAN_MB     CAN_MB1;       // CAN Mailbox 1\r
-       AT91S_CAN_MB     CAN_MB2;       // CAN Mailbox 2\r
-       AT91S_CAN_MB     CAN_MB3;       // CAN Mailbox 3\r
-       AT91S_CAN_MB     CAN_MB4;       // CAN Mailbox 4\r
-       AT91S_CAN_MB     CAN_MB5;       // CAN Mailbox 5\r
-       AT91S_CAN_MB     CAN_MB6;       // CAN Mailbox 6\r
-       AT91S_CAN_MB     CAN_MB7;       // CAN Mailbox 7\r
-       AT91S_CAN_MB     CAN_MB8;       // CAN Mailbox 8\r
-       AT91S_CAN_MB     CAN_MB9;       // CAN Mailbox 9\r
-       AT91S_CAN_MB     CAN_MB10;      // CAN Mailbox 10\r
-       AT91S_CAN_MB     CAN_MB11;      // CAN Mailbox 11\r
-       AT91S_CAN_MB     CAN_MB12;      // CAN Mailbox 12\r
-       AT91S_CAN_MB     CAN_MB13;      // CAN Mailbox 13\r
-       AT91S_CAN_MB     CAN_MB14;      // CAN Mailbox 14\r
-       AT91S_CAN_MB     CAN_MB15;      // CAN Mailbox 15\r
-} AT91S_CAN, *AT91PS_CAN;\r
-\r
-// -------- CAN_MR : (CAN Offset: 0x0) CAN Mode Register -------- \r
-#define AT91C_CAN_CANEN       ((unsigned int) 0x1 <<  0) // (CAN) CAN Controller Enable\r
-#define AT91C_CAN_LPM         ((unsigned int) 0x1 <<  1) // (CAN) Disable/Enable Low Power Mode\r
-#define AT91C_CAN_ABM         ((unsigned int) 0x1 <<  2) // (CAN) Disable/Enable Autobaud/Listen Mode\r
-#define AT91C_CAN_OVL         ((unsigned int) 0x1 <<  3) // (CAN) Disable/Enable Overload Frame\r
-#define AT91C_CAN_TEOF        ((unsigned int) 0x1 <<  4) // (CAN) Time Stamp messages at each end of Frame\r
-#define AT91C_CAN_TTM         ((unsigned int) 0x1 <<  5) // (CAN) Disable/Enable Time Trigger Mode\r
-#define AT91C_CAN_TIMFRZ      ((unsigned int) 0x1 <<  6) // (CAN) Enable Timer Freeze\r
-#define AT91C_CAN_DRPT        ((unsigned int) 0x1 <<  7) // (CAN) Disable Repeat\r
-// -------- CAN_IER : (CAN Offset: 0x4) CAN Interrupt Enable Register -------- \r
-#define AT91C_CAN_MB0         ((unsigned int) 0x1 <<  0) // (CAN) Mailbox 0 Flag\r
-#define AT91C_CAN_MB1         ((unsigned int) 0x1 <<  1) // (CAN) Mailbox 1 Flag\r
-#define AT91C_CAN_MB2         ((unsigned int) 0x1 <<  2) // (CAN) Mailbox 2 Flag\r
-#define AT91C_CAN_MB3         ((unsigned int) 0x1 <<  3) // (CAN) Mailbox 3 Flag\r
-#define AT91C_CAN_MB4         ((unsigned int) 0x1 <<  4) // (CAN) Mailbox 4 Flag\r
-#define AT91C_CAN_MB5         ((unsigned int) 0x1 <<  5) // (CAN) Mailbox 5 Flag\r
-#define AT91C_CAN_MB6         ((unsigned int) 0x1 <<  6) // (CAN) Mailbox 6 Flag\r
-#define AT91C_CAN_MB7         ((unsigned int) 0x1 <<  7) // (CAN) Mailbox 7 Flag\r
-#define AT91C_CAN_MB8         ((unsigned int) 0x1 <<  8) // (CAN) Mailbox 8 Flag\r
-#define AT91C_CAN_MB9         ((unsigned int) 0x1 <<  9) // (CAN) Mailbox 9 Flag\r
-#define AT91C_CAN_MB10        ((unsigned int) 0x1 << 10) // (CAN) Mailbox 10 Flag\r
-#define AT91C_CAN_MB11        ((unsigned int) 0x1 << 11) // (CAN) Mailbox 11 Flag\r
-#define AT91C_CAN_MB12        ((unsigned int) 0x1 << 12) // (CAN) Mailbox 12 Flag\r
-#define AT91C_CAN_MB13        ((unsigned int) 0x1 << 13) // (CAN) Mailbox 13 Flag\r
-#define AT91C_CAN_MB14        ((unsigned int) 0x1 << 14) // (CAN) Mailbox 14 Flag\r
-#define AT91C_CAN_MB15        ((unsigned int) 0x1 << 15) // (CAN) Mailbox 15 Flag\r
-#define AT91C_CAN_ERRA        ((unsigned int) 0x1 << 16) // (CAN) Error Active Mode Flag\r
-#define AT91C_CAN_WARN        ((unsigned int) 0x1 << 17) // (CAN) Warning Limit Flag\r
-#define AT91C_CAN_ERRP        ((unsigned int) 0x1 << 18) // (CAN) Error Passive Mode Flag\r
-#define AT91C_CAN_BOFF        ((unsigned int) 0x1 << 19) // (CAN) Bus Off Mode Flag\r
-#define AT91C_CAN_SLEEP       ((unsigned int) 0x1 << 20) // (CAN) Sleep Flag\r
-#define AT91C_CAN_WAKEUP      ((unsigned int) 0x1 << 21) // (CAN) Wakeup Flag\r
-#define AT91C_CAN_TOVF        ((unsigned int) 0x1 << 22) // (CAN) Timer Overflow Flag\r
-#define AT91C_CAN_TSTP        ((unsigned int) 0x1 << 23) // (CAN) Timestamp Flag\r
-#define AT91C_CAN_CERR        ((unsigned int) 0x1 << 24) // (CAN) CRC Error\r
-#define AT91C_CAN_SERR        ((unsigned int) 0x1 << 25) // (CAN) Stuffing Error\r
-#define AT91C_CAN_AERR        ((unsigned int) 0x1 << 26) // (CAN) Acknowledgment Error\r
-#define AT91C_CAN_FERR        ((unsigned int) 0x1 << 27) // (CAN) Form Error\r
-#define AT91C_CAN_BERR        ((unsigned int) 0x1 << 28) // (CAN) Bit Error\r
-// -------- CAN_IDR : (CAN Offset: 0x8) CAN Interrupt Disable Register -------- \r
-// -------- CAN_IMR : (CAN Offset: 0xc) CAN Interrupt Mask Register -------- \r
-// -------- CAN_SR : (CAN Offset: 0x10) CAN Status Register -------- \r
-#define AT91C_CAN_RBSY        ((unsigned int) 0x1 << 29) // (CAN) Receiver Busy\r
-#define AT91C_CAN_TBSY        ((unsigned int) 0x1 << 30) // (CAN) Transmitter Busy\r
-#define AT91C_CAN_OVLY        ((unsigned int) 0x1 << 31) // (CAN) Overload Busy\r
-// -------- CAN_BR : (CAN Offset: 0x14) CAN Baudrate Register -------- \r
-#define AT91C_CAN_PHASE2      ((unsigned int) 0x7 <<  0) // (CAN) Phase 2 segment\r
-#define AT91C_CAN_PHASE1      ((unsigned int) 0x7 <<  4) // (CAN) Phase 1 segment\r
-#define AT91C_CAN_PROPAG      ((unsigned int) 0x7 <<  8) // (CAN) Programmation time segment\r
-#define AT91C_CAN_SYNC        ((unsigned int) 0x3 << 12) // (CAN) Re-synchronization jump width segment\r
-#define AT91C_CAN_BRP         ((unsigned int) 0x7F << 16) // (CAN) Baudrate Prescaler\r
-#define AT91C_CAN_SMP         ((unsigned int) 0x1 << 24) // (CAN) Sampling mode\r
-// -------- CAN_TIM : (CAN Offset: 0x18) CAN Timer Register -------- \r
-#define AT91C_CAN_TIMER       ((unsigned int) 0xFFFF <<  0) // (CAN) Timer field\r
-// -------- CAN_TIMESTP : (CAN Offset: 0x1c) CAN Timestamp Register -------- \r
-// -------- CAN_ECR : (CAN Offset: 0x20) CAN Error Counter Register -------- \r
-#define AT91C_CAN_REC         ((unsigned int) 0xFF <<  0) // (CAN) Receive Error Counter\r
-#define AT91C_CAN_TEC         ((unsigned int) 0xFF << 16) // (CAN) Transmit Error Counter\r
-// -------- CAN_TCR : (CAN Offset: 0x24) CAN Transfer Command Register -------- \r
-#define AT91C_CAN_TIMRST      ((unsigned int) 0x1 << 31) // (CAN) Timer Reset Field\r
-// -------- CAN_ACR : (CAN Offset: 0x28) CAN Abort Command Register -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Ethernet MAC 10/100\r
-// *****************************************************************************\r
-typedef struct _AT91S_EMAC {\r
-       AT91_REG         EMAC_NCR;      // Network Control Register\r
-       AT91_REG         EMAC_NCFGR;    // Network Configuration Register\r
-       AT91_REG         EMAC_NSR;      // Network Status Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         EMAC_TSR;      // Transmit Status Register\r
-       AT91_REG         EMAC_RBQP;     // Receive Buffer Queue Pointer\r
-       AT91_REG         EMAC_TBQP;     // Transmit Buffer Queue Pointer\r
-       AT91_REG         EMAC_RSR;      // Receive Status Register\r
-       AT91_REG         EMAC_ISR;      // Interrupt Status Register\r
-       AT91_REG         EMAC_IER;      // Interrupt Enable Register\r
-       AT91_REG         EMAC_IDR;      // Interrupt Disable Register\r
-       AT91_REG         EMAC_IMR;      // Interrupt Mask Register\r
-       AT91_REG         EMAC_MAN;      // PHY Maintenance Register\r
-       AT91_REG         EMAC_PTR;      // Pause Time Register\r
-       AT91_REG         EMAC_PFR;      // Pause Frames received Register\r
-       AT91_REG         EMAC_FTO;      // Frames Transmitted OK Register\r
-       AT91_REG         EMAC_SCF;      // Single Collision Frame Register\r
-       AT91_REG         EMAC_MCF;      // Multiple Collision Frame Register\r
-       AT91_REG         EMAC_FRO;      // Frames Received OK Register\r
-       AT91_REG         EMAC_FCSE;     // Frame Check Sequence Error Register\r
-       AT91_REG         EMAC_ALE;      // Alignment Error Register\r
-       AT91_REG         EMAC_DTF;      // Deferred Transmission Frame Register\r
-       AT91_REG         EMAC_LCOL;     // Late Collision Register\r
-       AT91_REG         EMAC_ECOL;     // Excessive Collision Register\r
-       AT91_REG         EMAC_TUND;     // Transmit Underrun Error Register\r
-       AT91_REG         EMAC_CSE;      // Carrier Sense Error Register\r
-       AT91_REG         EMAC_RRE;      // Receive Ressource Error Register\r
-       AT91_REG         EMAC_ROV;      // Receive Overrun Errors Register\r
-       AT91_REG         EMAC_RSE;      // Receive Symbol Errors Register\r
-       AT91_REG         EMAC_ELE;      // Excessive Length Errors Register\r
-       AT91_REG         EMAC_RJA;      // Receive Jabbers Register\r
-       AT91_REG         EMAC_USF;      // Undersize Frames Register\r
-       AT91_REG         EMAC_STE;      // SQE Test Error Register\r
-       AT91_REG         EMAC_RLE;      // Receive Length Field Mismatch Register\r
-       AT91_REG         EMAC_TPF;      // Transmitted Pause Frames Register\r
-       AT91_REG         EMAC_HRB;      // Hash Address Bottom[31:0]\r
-       AT91_REG         EMAC_HRT;      // Hash Address Top[63:32]\r
-       AT91_REG         EMAC_SA1L;     // Specific Address 1 Bottom, First 4 bytes\r
-       AT91_REG         EMAC_SA1H;     // Specific Address 1 Top, Last 2 bytes\r
-       AT91_REG         EMAC_SA2L;     // Specific Address 2 Bottom, First 4 bytes\r
-       AT91_REG         EMAC_SA2H;     // Specific Address 2 Top, Last 2 bytes\r
-       AT91_REG         EMAC_SA3L;     // Specific Address 3 Bottom, First 4 bytes\r
-       AT91_REG         EMAC_SA3H;     // Specific Address 3 Top, Last 2 bytes\r
-       AT91_REG         EMAC_SA4L;     // Specific Address 4 Bottom, First 4 bytes\r
-       AT91_REG         EMAC_SA4H;     // Specific Address 4 Top, Last 2 bytes\r
-       AT91_REG         EMAC_TID;      // Type ID Checking Register\r
-       AT91_REG         EMAC_TPQ;      // Transmit Pause Quantum Register\r
-       AT91_REG         EMAC_USRIO;    // USER Input/Output Register\r
-       AT91_REG         EMAC_WOL;      // Wake On LAN Register\r
-       AT91_REG         Reserved1[13];         // \r
-       AT91_REG         EMAC_REV;      // Revision Register\r
-} AT91S_EMAC, *AT91PS_EMAC;\r
-\r
-// -------- EMAC_NCR : (EMAC Offset: 0x0)  -------- \r
-#define AT91C_EMAC_LB         ((unsigned int) 0x1 <<  0) // (EMAC) Loopback. Optional. When set, loopback signal is at high level.\r
-#define AT91C_EMAC_LLB        ((unsigned int) 0x1 <<  1) // (EMAC) Loopback local. \r
-#define AT91C_EMAC_RE         ((unsigned int) 0x1 <<  2) // (EMAC) Receive enable. \r
-#define AT91C_EMAC_TE         ((unsigned int) 0x1 <<  3) // (EMAC) Transmit enable. \r
-#define AT91C_EMAC_MPE        ((unsigned int) 0x1 <<  4) // (EMAC) Management port enable. \r
-#define AT91C_EMAC_CLRSTAT    ((unsigned int) 0x1 <<  5) // (EMAC) Clear statistics registers. \r
-#define AT91C_EMAC_INCSTAT    ((unsigned int) 0x1 <<  6) // (EMAC) Increment statistics registers. \r
-#define AT91C_EMAC_WESTAT     ((unsigned int) 0x1 <<  7) // (EMAC) Write enable for statistics registers. \r
-#define AT91C_EMAC_BP         ((unsigned int) 0x1 <<  8) // (EMAC) Back pressure. \r
-#define AT91C_EMAC_TSTART     ((unsigned int) 0x1 <<  9) // (EMAC) Start Transmission. \r
-#define AT91C_EMAC_THALT      ((unsigned int) 0x1 << 10) // (EMAC) Transmission Halt. \r
-#define AT91C_EMAC_TPFR       ((unsigned int) 0x1 << 11) // (EMAC) Transmit pause frame \r
-#define AT91C_EMAC_TZQ        ((unsigned int) 0x1 << 12) // (EMAC) Transmit zero quantum pause frame\r
-// -------- EMAC_NCFGR : (EMAC Offset: 0x4) Network Configuration Register -------- \r
-#define AT91C_EMAC_SPD        ((unsigned int) 0x1 <<  0) // (EMAC) Speed. \r
-#define AT91C_EMAC_FD         ((unsigned int) 0x1 <<  1) // (EMAC) Full duplex. \r
-#define AT91C_EMAC_JFRAME     ((unsigned int) 0x1 <<  3) // (EMAC) Jumbo Frames. \r
-#define AT91C_EMAC_CAF        ((unsigned int) 0x1 <<  4) // (EMAC) Copy all frames. \r
-#define AT91C_EMAC_NBC        ((unsigned int) 0x1 <<  5) // (EMAC) No broadcast. \r
-#define AT91C_EMAC_MTI        ((unsigned int) 0x1 <<  6) // (EMAC) Multicast hash event enable\r
-#define AT91C_EMAC_UNI        ((unsigned int) 0x1 <<  7) // (EMAC) Unicast hash enable. \r
-#define AT91C_EMAC_BIG        ((unsigned int) 0x1 <<  8) // (EMAC) Receive 1522 bytes. \r
-#define AT91C_EMAC_EAE        ((unsigned int) 0x1 <<  9) // (EMAC) External address match enable. \r
-#define AT91C_EMAC_CLK        ((unsigned int) 0x3 << 10) // (EMAC) \r
-#define        AT91C_EMAC_CLK_HCLK_8               ((unsigned int) 0x0 << 10) // (EMAC) HCLK divided by 8\r
-#define        AT91C_EMAC_CLK_HCLK_16              ((unsigned int) 0x1 << 10) // (EMAC) HCLK divided by 16\r
-#define        AT91C_EMAC_CLK_HCLK_32              ((unsigned int) 0x2 << 10) // (EMAC) HCLK divided by 32\r
-#define        AT91C_EMAC_CLK_HCLK_64              ((unsigned int) 0x3 << 10) // (EMAC) HCLK divided by 64\r
-#define AT91C_EMAC_RTY        ((unsigned int) 0x1 << 12) // (EMAC) \r
-#define AT91C_EMAC_PAE        ((unsigned int) 0x1 << 13) // (EMAC) \r
-#define AT91C_EMAC_RBOF       ((unsigned int) 0x3 << 14) // (EMAC) \r
-#define        AT91C_EMAC_RBOF_OFFSET_0             ((unsigned int) 0x0 << 14) // (EMAC) no offset from start of receive buffer\r
-#define        AT91C_EMAC_RBOF_OFFSET_1             ((unsigned int) 0x1 << 14) // (EMAC) one byte offset from start of receive buffer\r
-#define        AT91C_EMAC_RBOF_OFFSET_2             ((unsigned int) 0x2 << 14) // (EMAC) two bytes offset from start of receive buffer\r
-#define        AT91C_EMAC_RBOF_OFFSET_3             ((unsigned int) 0x3 << 14) // (EMAC) three bytes offset from start of receive buffer\r
-#define AT91C_EMAC_RLCE       ((unsigned int) 0x1 << 16) // (EMAC) Receive Length field Checking Enable\r
-#define AT91C_EMAC_DRFCS      ((unsigned int) 0x1 << 17) // (EMAC) Discard Receive FCS\r
-#define AT91C_EMAC_EFRHD      ((unsigned int) 0x1 << 18) // (EMAC) \r
-#define AT91C_EMAC_IRXFCS     ((unsigned int) 0x1 << 19) // (EMAC) Ignore RX FCS\r
-// -------- EMAC_NSR : (EMAC Offset: 0x8) Network Status Register -------- \r
-#define AT91C_EMAC_LINKR      ((unsigned int) 0x1 <<  0) // (EMAC) \r
-#define AT91C_EMAC_MDIO       ((unsigned int) 0x1 <<  1) // (EMAC) \r
-#define AT91C_EMAC_IDLE       ((unsigned int) 0x1 <<  2) // (EMAC) \r
-// -------- EMAC_TSR : (EMAC Offset: 0x14) Transmit Status Register -------- \r
-#define AT91C_EMAC_UBR        ((unsigned int) 0x1 <<  0) // (EMAC) \r
-#define AT91C_EMAC_COL        ((unsigned int) 0x1 <<  1) // (EMAC) \r
-#define AT91C_EMAC_RLES       ((unsigned int) 0x1 <<  2) // (EMAC) \r
-#define AT91C_EMAC_TGO        ((unsigned int) 0x1 <<  3) // (EMAC) Transmit Go\r
-#define AT91C_EMAC_BEX        ((unsigned int) 0x1 <<  4) // (EMAC) Buffers exhausted mid frame\r
-#define AT91C_EMAC_COMP       ((unsigned int) 0x1 <<  5) // (EMAC) \r
-#define AT91C_EMAC_UND        ((unsigned int) 0x1 <<  6) // (EMAC) \r
-// -------- EMAC_RSR : (EMAC Offset: 0x20) Receive Status Register -------- \r
-#define AT91C_EMAC_BNA        ((unsigned int) 0x1 <<  0) // (EMAC) \r
-#define AT91C_EMAC_REC        ((unsigned int) 0x1 <<  1) // (EMAC) \r
-#define AT91C_EMAC_OVR        ((unsigned int) 0x1 <<  2) // (EMAC) \r
-// -------- EMAC_ISR : (EMAC Offset: 0x24) Interrupt Status Register -------- \r
-#define AT91C_EMAC_MFD        ((unsigned int) 0x1 <<  0) // (EMAC) \r
-#define AT91C_EMAC_RCOMP      ((unsigned int) 0x1 <<  1) // (EMAC) \r
-#define AT91C_EMAC_RXUBR      ((unsigned int) 0x1 <<  2) // (EMAC) \r
-#define AT91C_EMAC_TXUBR      ((unsigned int) 0x1 <<  3) // (EMAC) \r
-#define AT91C_EMAC_TUNDR      ((unsigned int) 0x1 <<  4) // (EMAC) \r
-#define AT91C_EMAC_RLEX       ((unsigned int) 0x1 <<  5) // (EMAC) \r
-#define AT91C_EMAC_TXERR      ((unsigned int) 0x1 <<  6) // (EMAC) \r
-#define AT91C_EMAC_TCOMP      ((unsigned int) 0x1 <<  7) // (EMAC) \r
-#define AT91C_EMAC_LINK       ((unsigned int) 0x1 <<  9) // (EMAC) \r
-#define AT91C_EMAC_ROVR       ((unsigned int) 0x1 << 10) // (EMAC) \r
-#define AT91C_EMAC_HRESP      ((unsigned int) 0x1 << 11) // (EMAC) \r
-#define AT91C_EMAC_PFRE       ((unsigned int) 0x1 << 12) // (EMAC) \r
-#define AT91C_EMAC_PTZ        ((unsigned int) 0x1 << 13) // (EMAC) \r
-// -------- EMAC_IER : (EMAC Offset: 0x28) Interrupt Enable Register -------- \r
-// -------- EMAC_IDR : (EMAC Offset: 0x2c) Interrupt Disable Register -------- \r
-// -------- EMAC_IMR : (EMAC Offset: 0x30) Interrupt Mask Register -------- \r
-// -------- EMAC_MAN : (EMAC Offset: 0x34) PHY Maintenance Register -------- \r
-#define AT91C_EMAC_DATA       ((unsigned int) 0xFFFF <<  0) // (EMAC) \r
-#define AT91C_EMAC_CODE       ((unsigned int) 0x3 << 16) // (EMAC) \r
-#define AT91C_EMAC_REGA       ((unsigned int) 0x1F << 18) // (EMAC) \r
-#define AT91C_EMAC_PHYA       ((unsigned int) 0x1F << 23) // (EMAC) \r
-#define AT91C_EMAC_RW         ((unsigned int) 0x3 << 28) // (EMAC) \r
-#define AT91C_EMAC_SOF        ((unsigned int) 0x3 << 30) // (EMAC) \r
-// -------- EMAC_USRIO : (EMAC Offset: 0xc0) USER Input Output Register -------- \r
-#define AT91C_EMAC_RMII       ((unsigned int) 0x1 <<  0) // (EMAC) Reduce MII\r
-// -------- EMAC_WOL : (EMAC Offset: 0xc4) Wake On LAN Register -------- \r
-#define AT91C_EMAC_IP         ((unsigned int) 0xFFFF <<  0) // (EMAC) ARP request IP address\r
-#define AT91C_EMAC_MAG        ((unsigned int) 0x1 << 16) // (EMAC) Magic packet event enable\r
-#define AT91C_EMAC_ARP        ((unsigned int) 0x1 << 17) // (EMAC) ARP request event enable\r
-#define AT91C_EMAC_SA1        ((unsigned int) 0x1 << 18) // (EMAC) Specific address register 1 event enable\r
-// -------- EMAC_REV : (EMAC Offset: 0xfc) Revision Register -------- \r
-#define AT91C_EMAC_REVREF     ((unsigned int) 0xFFFF <<  0) // (EMAC) \r
-#define AT91C_EMAC_PARTREF    ((unsigned int) 0xFFFF << 16) // (EMAC) \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Analog to Digital Convertor\r
-// *****************************************************************************\r
-typedef struct _AT91S_ADC {\r
-       AT91_REG         ADC_CR;        // ADC Control Register\r
-       AT91_REG         ADC_MR;        // ADC Mode Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         ADC_CHER;      // ADC Channel Enable Register\r
-       AT91_REG         ADC_CHDR;      // ADC Channel Disable Register\r
-       AT91_REG         ADC_CHSR;      // ADC Channel Status Register\r
-       AT91_REG         ADC_SR;        // ADC Status Register\r
-       AT91_REG         ADC_LCDR;      // ADC Last Converted Data Register\r
-       AT91_REG         ADC_IER;       // ADC Interrupt Enable Register\r
-       AT91_REG         ADC_IDR;       // ADC Interrupt Disable Register\r
-       AT91_REG         ADC_IMR;       // ADC Interrupt Mask Register\r
-       AT91_REG         ADC_CDR0;      // ADC Channel Data Register 0\r
-       AT91_REG         ADC_CDR1;      // ADC Channel Data Register 1\r
-       AT91_REG         ADC_CDR2;      // ADC Channel Data Register 2\r
-       AT91_REG         ADC_CDR3;      // ADC Channel Data Register 3\r
-       AT91_REG         ADC_CDR4;      // ADC Channel Data Register 4\r
-       AT91_REG         ADC_CDR5;      // ADC Channel Data Register 5\r
-       AT91_REG         ADC_CDR6;      // ADC Channel Data Register 6\r
-       AT91_REG         ADC_CDR7;      // ADC Channel Data Register 7\r
-       AT91_REG         Reserved1[44];         // \r
-       AT91_REG         ADC_RPR;       // Receive Pointer Register\r
-       AT91_REG         ADC_RCR;       // Receive Counter Register\r
-       AT91_REG         ADC_TPR;       // Transmit Pointer Register\r
-       AT91_REG         ADC_TCR;       // Transmit Counter Register\r
-       AT91_REG         ADC_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         ADC_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         ADC_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         ADC_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         ADC_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         ADC_PTSR;      // PDC Transfer Status Register\r
-} AT91S_ADC, *AT91PS_ADC;\r
-\r
-// -------- ADC_CR : (ADC Offset: 0x0) ADC Control Register -------- \r
-#define AT91C_ADC_SWRST       ((unsigned int) 0x1 <<  0) // (ADC) Software Reset\r
-#define AT91C_ADC_START       ((unsigned int) 0x1 <<  1) // (ADC) Start Conversion\r
-// -------- ADC_MR : (ADC Offset: 0x4) ADC Mode Register -------- \r
-#define AT91C_ADC_TRGEN       ((unsigned int) 0x1 <<  0) // (ADC) Trigger Enable\r
-#define        AT91C_ADC_TRGEN_DIS                  ((unsigned int) 0x0) // (ADC) Hradware triggers are disabled. Starting a conversion is only possible by software\r
-#define        AT91C_ADC_TRGEN_EN                   ((unsigned int) 0x1) // (ADC) Hardware trigger selected by TRGSEL field is enabled.\r
-#define AT91C_ADC_TRGSEL      ((unsigned int) 0x7 <<  1) // (ADC) Trigger Selection\r
-#define        AT91C_ADC_TRGSEL_TIOA0                ((unsigned int) 0x0 <<  1) // (ADC) Selected TRGSEL = TIAO0\r
-#define        AT91C_ADC_TRGSEL_TIOA1                ((unsigned int) 0x1 <<  1) // (ADC) Selected TRGSEL = TIAO1\r
-#define        AT91C_ADC_TRGSEL_TIOA2                ((unsigned int) 0x2 <<  1) // (ADC) Selected TRGSEL = TIAO2\r
-#define        AT91C_ADC_TRGSEL_TIOA3                ((unsigned int) 0x3 <<  1) // (ADC) Selected TRGSEL = TIAO3\r
-#define        AT91C_ADC_TRGSEL_TIOA4                ((unsigned int) 0x4 <<  1) // (ADC) Selected TRGSEL = TIAO4\r
-#define        AT91C_ADC_TRGSEL_TIOA5                ((unsigned int) 0x5 <<  1) // (ADC) Selected TRGSEL = TIAO5\r
-#define        AT91C_ADC_TRGSEL_EXT                  ((unsigned int) 0x6 <<  1) // (ADC) Selected TRGSEL = External Trigger\r
-#define AT91C_ADC_LOWRES      ((unsigned int) 0x1 <<  4) // (ADC) Resolution.\r
-#define        AT91C_ADC_LOWRES_10_BIT               ((unsigned int) 0x0 <<  4) // (ADC) 10-bit resolution\r
-#define        AT91C_ADC_LOWRES_8_BIT                ((unsigned int) 0x1 <<  4) // (ADC) 8-bit resolution\r
-#define AT91C_ADC_SLEEP       ((unsigned int) 0x1 <<  5) // (ADC) Sleep Mode\r
-#define        AT91C_ADC_SLEEP_NORMAL_MODE          ((unsigned int) 0x0 <<  5) // (ADC) Normal Mode\r
-#define        AT91C_ADC_SLEEP_MODE                 ((unsigned int) 0x1 <<  5) // (ADC) Sleep Mode\r
-#define AT91C_ADC_PRESCAL     ((unsigned int) 0x3F <<  8) // (ADC) Prescaler rate selection\r
-#define AT91C_ADC_STARTUP     ((unsigned int) 0x1F << 16) // (ADC) Startup Time\r
-#define AT91C_ADC_SHTIM       ((unsigned int) 0xF << 24) // (ADC) Sample & Hold Time\r
-// --------    ADC_CHER : (ADC Offset: 0x10) ADC Channel Enable Register -------- \r
-#define AT91C_ADC_CH0         ((unsigned int) 0x1 <<  0) // (ADC) Channel 0\r
-#define AT91C_ADC_CH1         ((unsigned int) 0x1 <<  1) // (ADC) Channel 1\r
-#define AT91C_ADC_CH2         ((unsigned int) 0x1 <<  2) // (ADC) Channel 2\r
-#define AT91C_ADC_CH3         ((unsigned int) 0x1 <<  3) // (ADC) Channel 3\r
-#define AT91C_ADC_CH4         ((unsigned int) 0x1 <<  4) // (ADC) Channel 4\r
-#define AT91C_ADC_CH5         ((unsigned int) 0x1 <<  5) // (ADC) Channel 5\r
-#define AT91C_ADC_CH6         ((unsigned int) 0x1 <<  6) // (ADC) Channel 6\r
-#define AT91C_ADC_CH7         ((unsigned int) 0x1 <<  7) // (ADC) Channel 7\r
-// --------    ADC_CHDR : (ADC Offset: 0x14) ADC Channel Disable Register -------- \r
-// --------    ADC_CHSR : (ADC Offset: 0x18) ADC Channel Status Register -------- \r
-// -------- ADC_SR : (ADC Offset: 0x1c) ADC Status Register -------- \r
-#define AT91C_ADC_EOC0        ((unsigned int) 0x1 <<  0) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC1        ((unsigned int) 0x1 <<  1) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC2        ((unsigned int) 0x1 <<  2) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC3        ((unsigned int) 0x1 <<  3) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC4        ((unsigned int) 0x1 <<  4) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC5        ((unsigned int) 0x1 <<  5) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC6        ((unsigned int) 0x1 <<  6) // (ADC) End of Conversion\r
-#define AT91C_ADC_EOC7        ((unsigned int) 0x1 <<  7) // (ADC) End of Conversion\r
-#define AT91C_ADC_OVRE0       ((unsigned int) 0x1 <<  8) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE1       ((unsigned int) 0x1 <<  9) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE2       ((unsigned int) 0x1 << 10) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE3       ((unsigned int) 0x1 << 11) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE4       ((unsigned int) 0x1 << 12) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE5       ((unsigned int) 0x1 << 13) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE6       ((unsigned int) 0x1 << 14) // (ADC) Overrun Error\r
-#define AT91C_ADC_OVRE7       ((unsigned int) 0x1 << 15) // (ADC) Overrun Error\r
-#define AT91C_ADC_DRDY        ((unsigned int) 0x1 << 16) // (ADC) Data Ready\r
-#define AT91C_ADC_GOVRE       ((unsigned int) 0x1 << 17) // (ADC) General Overrun\r
-#define AT91C_ADC_ENDRX       ((unsigned int) 0x1 << 18) // (ADC) End of Receiver Transfer\r
-#define AT91C_ADC_RXBUFF      ((unsigned int) 0x1 << 19) // (ADC) RXBUFF Interrupt\r
-// -------- ADC_LCDR : (ADC Offset: 0x20) ADC Last Converted Data Register -------- \r
-#define AT91C_ADC_LDATA       ((unsigned int) 0x3FF <<  0) // (ADC) Last Data Converted\r
-// -------- ADC_IER : (ADC Offset: 0x24) ADC Interrupt Enable Register -------- \r
-// -------- ADC_IDR : (ADC Offset: 0x28) ADC Interrupt Disable Register -------- \r
-// -------- ADC_IMR : (ADC Offset: 0x2c) ADC Interrupt Mask Register -------- \r
-// -------- ADC_CDR0 : (ADC Offset: 0x30) ADC Channel Data Register 0 -------- \r
-#define AT91C_ADC_DATA        ((unsigned int) 0x3FF <<  0) // (ADC) Converted Data\r
-// -------- ADC_CDR1 : (ADC Offset: 0x34) ADC Channel Data Register 1 -------- \r
-// -------- ADC_CDR2 : (ADC Offset: 0x38) ADC Channel Data Register 2 -------- \r
-// -------- ADC_CDR3 : (ADC Offset: 0x3c) ADC Channel Data Register 3 -------- \r
-// -------- ADC_CDR4 : (ADC Offset: 0x40) ADC Channel Data Register 4 -------- \r
-// -------- ADC_CDR5 : (ADC Offset: 0x44) ADC Channel Data Register 5 -------- \r
-// -------- ADC_CDR6 : (ADC Offset: 0x48) ADC Channel Data Register 6 -------- \r
-// -------- ADC_CDR7 : (ADC Offset: 0x4c) ADC Channel Data Register 7 -------- \r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Advanced  Encryption Standard\r
-// *****************************************************************************\r
-typedef struct _AT91S_AES {\r
-       AT91_REG         AES_CR;        // Control Register\r
-       AT91_REG         AES_MR;        // Mode Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         AES_IER;       // Interrupt Enable Register\r
-       AT91_REG         AES_IDR;       // Interrupt Disable Register\r
-       AT91_REG         AES_IMR;       // Interrupt Mask Register\r
-       AT91_REG         AES_ISR;       // Interrupt Status Register\r
-       AT91_REG         AES_KEYWxR[4];         // Key Word x Register\r
-       AT91_REG         Reserved1[4];  // \r
-       AT91_REG         AES_IDATAxR[4];        // Input Data x Register\r
-       AT91_REG         AES_ODATAxR[4];        // Output Data x Register\r
-       AT91_REG         AES_IVxR[4];   // Initialization Vector x Register\r
-       AT91_REG         Reserved2[35];         // \r
-       AT91_REG         AES_VR;        // AES Version Register\r
-       AT91_REG         AES_RPR;       // Receive Pointer Register\r
-       AT91_REG         AES_RCR;       // Receive Counter Register\r
-       AT91_REG         AES_TPR;       // Transmit Pointer Register\r
-       AT91_REG         AES_TCR;       // Transmit Counter Register\r
-       AT91_REG         AES_RNPR;      // Receive Next Pointer Register\r
-       AT91_REG         AES_RNCR;      // Receive Next Counter Register\r
-       AT91_REG         AES_TNPR;      // Transmit Next Pointer Register\r
-       AT91_REG         AES_TNCR;      // Transmit Next Counter Register\r
-       AT91_REG         AES_PTCR;      // PDC Transfer Control Register\r
-       AT91_REG         AES_PTSR;      // PDC Transfer Status Register\r
-} AT91S_AES, *AT91PS_AES;\r
-\r
-// -------- AES_CR : (AES Offset: 0x0) Control Register -------- \r
-#define AT91C_AES_START       ((unsigned int) 0x1 <<  0) // (AES) Starts Processing\r
-#define AT91C_AES_SWRST       ((unsigned int) 0x1 <<  8) // (AES) Software Reset\r
-#define AT91C_AES_LOADSEED    ((unsigned int) 0x1 << 16) // (AES) Random Number Generator Seed Loading\r
-// -------- AES_MR : (AES Offset: 0x4) Mode Register -------- \r
-#define AT91C_AES_CIPHER      ((unsigned int) 0x1 <<  0) // (AES) Processing Mode\r
-#define AT91C_AES_PROCDLY     ((unsigned int) 0xF <<  4) // (AES) Processing Delay\r
-#define AT91C_AES_SMOD        ((unsigned int) 0x3 <<  8) // (AES) Start Mode\r
-#define        AT91C_AES_SMOD_MANUAL               ((unsigned int) 0x0 <<  8) // (AES) Manual Mode: The START bit in register AES_CR must be set to begin encryption or decryption.\r
-#define        AT91C_AES_SMOD_AUTO                 ((unsigned int) 0x1 <<  8) // (AES) Auto Mode: no action in AES_CR is necessary (cf datasheet).\r
-#define        AT91C_AES_SMOD_PDC                  ((unsigned int) 0x2 <<  8) // (AES) PDC Mode (cf datasheet).\r
-#define AT91C_AES_OPMOD       ((unsigned int) 0x7 << 12) // (AES) Operation Mode\r
-#define        AT91C_AES_OPMOD_ECB                  ((unsigned int) 0x0 << 12) // (AES) ECB Electronic CodeBook mode.\r
-#define        AT91C_AES_OPMOD_CBC                  ((unsigned int) 0x1 << 12) // (AES) CBC Cipher Block Chaining mode.\r
-#define        AT91C_AES_OPMOD_OFB                  ((unsigned int) 0x2 << 12) // (AES) OFB Output Feedback mode.\r
-#define        AT91C_AES_OPMOD_CFB                  ((unsigned int) 0x3 << 12) // (AES) CFB Cipher Feedback mode.\r
-#define        AT91C_AES_OPMOD_CTR                  ((unsigned int) 0x4 << 12) // (AES) CTR Counter mode.\r
-#define AT91C_AES_LOD         ((unsigned int) 0x1 << 15) // (AES) Last Output Data Mode\r
-#define AT91C_AES_CFBS        ((unsigned int) 0x7 << 16) // (AES) Cipher Feedback Data Size\r
-#define        AT91C_AES_CFBS_128_BIT              ((unsigned int) 0x0 << 16) // (AES) 128-bit.\r
-#define        AT91C_AES_CFBS_64_BIT               ((unsigned int) 0x1 << 16) // (AES) 64-bit.\r
-#define        AT91C_AES_CFBS_32_BIT               ((unsigned int) 0x2 << 16) // (AES) 32-bit.\r
-#define        AT91C_AES_CFBS_16_BIT               ((unsigned int) 0x3 << 16) // (AES) 16-bit.\r
-#define        AT91C_AES_CFBS_8_BIT                ((unsigned int) 0x4 << 16) // (AES) 8-bit.\r
-#define AT91C_AES_CKEY        ((unsigned int) 0xF << 20) // (AES) Countermeasure Key\r
-#define AT91C_AES_CTYPE       ((unsigned int) 0x1F << 24) // (AES) Countermeasure Type\r
-#define        AT91C_AES_CTYPE_TYPE1_EN             ((unsigned int) 0x1 << 24) // (AES) Countermeasure type 1 is enabled.\r
-#define        AT91C_AES_CTYPE_TYPE2_EN             ((unsigned int) 0x2 << 24) // (AES) Countermeasure type 2 is enabled.\r
-#define        AT91C_AES_CTYPE_TYPE3_EN             ((unsigned int) 0x4 << 24) // (AES) Countermeasure type 3 is enabled.\r
-#define        AT91C_AES_CTYPE_TYPE4_EN             ((unsigned int) 0x8 << 24) // (AES) Countermeasure type 4 is enabled.\r
-#define        AT91C_AES_CTYPE_TYPE5_EN             ((unsigned int) 0x10 << 24) // (AES) Countermeasure type 5 is enabled.\r
-// -------- AES_IER : (AES Offset: 0x10) Interrupt Enable Register -------- \r
-#define AT91C_AES_DATRDY      ((unsigned int) 0x1 <<  0) // (AES) DATRDY\r
-#define AT91C_AES_ENDRX       ((unsigned int) 0x1 <<  1) // (AES) PDC Read Buffer End\r
-#define AT91C_AES_ENDTX       ((unsigned int) 0x1 <<  2) // (AES) PDC Write Buffer End\r
-#define AT91C_AES_RXBUFF      ((unsigned int) 0x1 <<  3) // (AES) PDC Read Buffer Full\r
-#define AT91C_AES_TXBUFE      ((unsigned int) 0x1 <<  4) // (AES) PDC Write Buffer Empty\r
-#define AT91C_AES_URAD        ((unsigned int) 0x1 <<  8) // (AES) Unspecified Register Access Detection\r
-// -------- AES_IDR : (AES Offset: 0x14) Interrupt Disable Register -------- \r
-// -------- AES_IMR : (AES Offset: 0x18) Interrupt Mask Register -------- \r
-// -------- AES_ISR : (AES Offset: 0x1c) Interrupt Status Register -------- \r
-#define AT91C_AES_URAT        ((unsigned int) 0x7 << 12) // (AES) Unspecified Register Access Type Status\r
-#define        AT91C_AES_URAT_IN_DAT_WRITE_DATPROC ((unsigned int) 0x0 << 12) // (AES) Input data register written during the data processing in PDC mode.\r
-#define        AT91C_AES_URAT_OUT_DAT_READ_DATPROC ((unsigned int) 0x1 << 12) // (AES) Output data register read during the data processing.\r
-#define        AT91C_AES_URAT_MODEREG_WRITE_DATPROC ((unsigned int) 0x2 << 12) // (AES) Mode register written during the data processing.\r
-#define        AT91C_AES_URAT_OUT_DAT_READ_SUBKEY  ((unsigned int) 0x3 << 12) // (AES) Output data register read during the sub-keys generation.\r
-#define        AT91C_AES_URAT_MODEREG_WRITE_SUBKEY ((unsigned int) 0x4 << 12) // (AES) Mode register written during the sub-keys generation.\r
-#define        AT91C_AES_URAT_WO_REG_READ          ((unsigned int) 0x5 << 12) // (AES) Write-only register read access.\r
-\r
-// *****************************************************************************\r
-//              SOFTWARE API DEFINITION  FOR Triple Data Encryption Standard\r
-// *****************************************************************************\r
-typedef struct _AT91S_TDES {\r
-       AT91_REG         TDES_CR;       // Control Register\r
-       AT91_REG         TDES_MR;       // Mode Register\r
-       AT91_REG         Reserved0[2];  // \r
-       AT91_REG         TDES_IER;      // Interrupt Enable Register\r
-       AT91_REG         TDES_IDR;      // Interrupt Disable Register\r
-       AT91_REG         TDES_IMR;      // Interrupt Mask Register\r
-       AT91_REG         TDES_ISR;      // Interrupt Status Register\r
-       AT91_REG         TDES_KEY1WxR[2];       // Key 1 Word x Register\r
-       AT91_REG         TDES_KEY2WxR[2];       // Key 2 Word x Register\r
-       AT91_REG         TDES_KEY3WxR[2];       // Key 3 Word x Register\r
-       AT91_REG         Reserved1[2];  // \r
-       AT91_REG         TDES_IDATAxR[2];       // Input Data x Register\r
-       AT91_REG         Reserved2[2];  // \r
-       AT91_REG         TDES_ODATAxR[2];       // Output Data x Register\r
-       AT91_REG         Reserved3[2];  // \r
-       AT91_REG         TDES_IVxR[2];  // Initialization Vector x Register\r
-       AT91_REG         Reserved4[37];         // \r
-       AT91_REG         TDES_VR;       // TDES Version Register\r
-       AT91_REG         TDES_RPR;      // Receive Pointer Register\r
-       AT91_REG         TDES_RCR;      // Receive Counter Register\r
-       AT91_REG         TDES_TPR;      // Transmit Pointer Register\r
-       AT91_REG         TDES_TCR;      // Transmit Counter Register\r
-       AT91_REG         TDES_RNPR;     // Receive Next Pointer Register\r
-       AT91_REG         TDES_RNCR;     // Receive Next Counter Register\r
-       AT91_REG         TDES_TNPR;     // Transmit Next Pointer Register\r
-       AT91_REG         TDES_TNCR;     // Transmit Next Counter Register\r
-       AT91_REG         TDES_PTCR;     // PDC Transfer Control Register\r
-       AT91_REG         TDES_PTSR;     // PDC Transfer Status Register\r
-} AT91S_TDES, *AT91PS_TDES;\r
-\r
-// -------- TDES_CR : (TDES Offset: 0x0) Control Register -------- \r
-#define AT91C_TDES_START      ((unsigned int) 0x1 <<  0) // (TDES) Starts Processing\r
-#define AT91C_TDES_SWRST      ((unsigned int) 0x1 <<  8) // (TDES) Software Reset\r
-// -------- TDES_MR : (TDES Offset: 0x4) Mode Register -------- \r
-#define AT91C_TDES_CIPHER     ((unsigned int) 0x1 <<  0) // (TDES) Processing Mode\r
-#define AT91C_TDES_TDESMOD    ((unsigned int) 0x1 <<  1) // (TDES) Single or Triple DES Mode\r
-#define AT91C_TDES_KEYMOD     ((unsigned int) 0x1 <<  4) // (TDES) Key Mode\r
-#define AT91C_TDES_SMOD       ((unsigned int) 0x3 <<  8) // (TDES) Start Mode\r
-#define        AT91C_TDES_SMOD_MANUAL               ((unsigned int) 0x0 <<  8) // (TDES) Manual Mode: The START bit in register TDES_CR must be set to begin encryption or decryption.\r
-#define        AT91C_TDES_SMOD_AUTO                 ((unsigned int) 0x1 <<  8) // (TDES) Auto Mode: no action in TDES_CR is necessary (cf datasheet).\r
-#define        AT91C_TDES_SMOD_PDC                  ((unsigned int) 0x2 <<  8) // (TDES) PDC Mode (cf datasheet).\r
-#define AT91C_TDES_OPMOD      ((unsigned int) 0x3 << 12) // (TDES) Operation Mode\r
-#define        AT91C_TDES_OPMOD_ECB                  ((unsigned int) 0x0 << 12) // (TDES) ECB Electronic CodeBook mode.\r
-#define        AT91C_TDES_OPMOD_CBC                  ((unsigned int) 0x1 << 12) // (TDES) CBC Cipher Block Chaining mode.\r
-#define        AT91C_TDES_OPMOD_OFB                  ((unsigned int) 0x2 << 12) // (TDES) OFB Output Feedback mode.\r
-#define        AT91C_TDES_OPMOD_CFB                  ((unsigned int) 0x3 << 12) // (TDES) CFB Cipher Feedback mode.\r
-#define AT91C_TDES_LOD        ((unsigned int) 0x1 << 15) // (TDES) Last Output Data Mode\r
-#define AT91C_TDES_CFBS       ((unsigned int) 0x3 << 16) // (TDES) Cipher Feedback Data Size\r
-#define        AT91C_TDES_CFBS_64_BIT               ((unsigned int) 0x0 << 16) // (TDES) 64-bit.\r
-#define        AT91C_TDES_CFBS_32_BIT               ((unsigned int) 0x1 << 16) // (TDES) 32-bit.\r
-#define        AT91C_TDES_CFBS_16_BIT               ((unsigned int) 0x2 << 16) // (TDES) 16-bit.\r
-#define        AT91C_TDES_CFBS_8_BIT                ((unsigned int) 0x3 << 16) // (TDES) 8-bit.\r
-// -------- TDES_IER : (TDES Offset: 0x10) Interrupt Enable Register -------- \r
-#define AT91C_TDES_DATRDY     ((unsigned int) 0x1 <<  0) // (TDES) DATRDY\r
-#define AT91C_TDES_ENDRX      ((unsigned int) 0x1 <<  1) // (TDES) PDC Read Buffer End\r
-#define AT91C_TDES_ENDTX      ((unsigned int) 0x1 <<  2) // (TDES) PDC Write Buffer End\r
-#define AT91C_TDES_RXBUFF     ((unsigned int) 0x1 <<  3) // (TDES) PDC Read Buffer Full\r
-#define AT91C_TDES_TXBUFE     ((unsigned int) 0x1 <<  4) // (TDES) PDC Write Buffer Empty\r
-#define AT91C_TDES_URAD       ((unsigned int) 0x1 <<  8) // (TDES) Unspecified Register Access Detection\r
-// -------- TDES_IDR : (TDES Offset: 0x14) Interrupt Disable Register -------- \r
-// -------- TDES_IMR : (TDES Offset: 0x18) Interrupt Mask Register -------- \r
-// -------- TDES_ISR : (TDES Offset: 0x1c) Interrupt Status Register -------- \r
-#define AT91C_TDES_URAT       ((unsigned int) 0x3 << 12) // (TDES) Unspecified Register Access Type Status\r
-#define        AT91C_TDES_URAT_IN_DAT_WRITE_DATPROC ((unsigned int) 0x0 << 12) // (TDES) Input data register written during the data processing in PDC mode.\r
-#define        AT91C_TDES_URAT_OUT_DAT_READ_DATPROC ((unsigned int) 0x1 << 12) // (TDES) Output data register read during the data processing.\r
-#define        AT91C_TDES_URAT_MODEREG_WRITE_DATPROC ((unsigned int) 0x2 << 12) // (TDES) Mode register written during the data processing.\r
-#define        AT91C_TDES_URAT_WO_REG_READ          ((unsigned int) 0x3 << 12) // (TDES) Write-only register read access.\r
-\r
-// *****************************************************************************\r
-//               REGISTER ADDRESS DEFINITION FOR AT91SAM7X256\r
-// *****************************************************************************\r
-// ========== Register definition for SYS peripheral ========== \r
-// ========== Register definition for AIC peripheral ========== \r
-#define AT91C_AIC_IVR   ((AT91_REG *)  0xFFFFF100) // (AIC) IRQ Vector Register\r
-#define AT91C_AIC_SMR   ((AT91_REG *)  0xFFFFF000) // (AIC) Source Mode Register\r
-#define AT91C_AIC_FVR   ((AT91_REG *)  0xFFFFF104) // (AIC) FIQ Vector Register\r
-#define AT91C_AIC_DCR   ((AT91_REG *)  0xFFFFF138) // (AIC) Debug Control Register (Protect)\r
-#define AT91C_AIC_EOICR ((AT91_REG *)  0xFFFFF130) // (AIC) End of Interrupt Command Register\r
-#define AT91C_AIC_SVR   ((AT91_REG *)  0xFFFFF080) // (AIC) Source Vector Register\r
-#define AT91C_AIC_FFSR  ((AT91_REG *)  0xFFFFF148) // (AIC) Fast Forcing Status Register\r
-#define AT91C_AIC_ICCR  ((AT91_REG *)  0xFFFFF128) // (AIC) Interrupt Clear Command Register\r
-#define AT91C_AIC_ISR   ((AT91_REG *)  0xFFFFF108) // (AIC) Interrupt Status Register\r
-#define AT91C_AIC_IMR   ((AT91_REG *)  0xFFFFF110) // (AIC) Interrupt Mask Register\r
-#define AT91C_AIC_IPR   ((AT91_REG *)  0xFFFFF10C) // (AIC) Interrupt Pending Register\r
-#define AT91C_AIC_FFER  ((AT91_REG *)  0xFFFFF140) // (AIC) Fast Forcing Enable Register\r
-#define AT91C_AIC_IECR  ((AT91_REG *)  0xFFFFF120) // (AIC) Interrupt Enable Command Register\r
-#define AT91C_AIC_ISCR  ((AT91_REG *)  0xFFFFF12C) // (AIC) Interrupt Set Command Register\r
-#define AT91C_AIC_FFDR  ((AT91_REG *)  0xFFFFF144) // (AIC) Fast Forcing Disable Register\r
-#define AT91C_AIC_CISR  ((AT91_REG *)  0xFFFFF114) // (AIC) Core Interrupt Status Register\r
-#define AT91C_AIC_IDCR  ((AT91_REG *)  0xFFFFF124) // (AIC) Interrupt Disable Command Register\r
-#define AT91C_AIC_SPU   ((AT91_REG *)  0xFFFFF134) // (AIC) Spurious Vector Register\r
-// ========== Register definition for PDC_DBGU peripheral ========== \r
-#define AT91C_DBGU_TCR  ((AT91_REG *)  0xFFFFF30C) // (PDC_DBGU) Transmit Counter Register\r
-#define AT91C_DBGU_RNPR ((AT91_REG *)  0xFFFFF310) // (PDC_DBGU) Receive Next Pointer Register\r
-#define AT91C_DBGU_TNPR ((AT91_REG *)  0xFFFFF318) // (PDC_DBGU) Transmit Next Pointer Register\r
-#define AT91C_DBGU_TPR  ((AT91_REG *)  0xFFFFF308) // (PDC_DBGU) Transmit Pointer Register\r
-#define AT91C_DBGU_RPR  ((AT91_REG *)  0xFFFFF300) // (PDC_DBGU) Receive Pointer Register\r
-#define AT91C_DBGU_RCR  ((AT91_REG *)  0xFFFFF304) // (PDC_DBGU) Receive Counter Register\r
-#define AT91C_DBGU_RNCR ((AT91_REG *)  0xFFFFF314) // (PDC_DBGU) Receive Next Counter Register\r
-#define AT91C_DBGU_PTCR ((AT91_REG *)  0xFFFFF320) // (PDC_DBGU) PDC Transfer Control Register\r
-#define AT91C_DBGU_PTSR ((AT91_REG *)  0xFFFFF324) // (PDC_DBGU) PDC Transfer Status Register\r
-#define AT91C_DBGU_TNCR ((AT91_REG *)  0xFFFFF31C) // (PDC_DBGU) Transmit Next Counter Register\r
-// ========== Register definition for DBGU peripheral ========== \r
-#define AT91C_DBGU_EXID ((AT91_REG *)  0xFFFFF244) // (DBGU) Chip ID Extension Register\r
-#define AT91C_DBGU_BRGR ((AT91_REG *)  0xFFFFF220) // (DBGU) Baud Rate Generator Register\r
-#define AT91C_DBGU_IDR  ((AT91_REG *)  0xFFFFF20C) // (DBGU) Interrupt Disable Register\r
-#define AT91C_DBGU_CSR  ((AT91_REG *)  0xFFFFF214) // (DBGU) Channel Status Register\r
-#define AT91C_DBGU_CIDR ((AT91_REG *)  0xFFFFF240) // (DBGU) Chip ID Register\r
-#define AT91C_DBGU_MR   ((AT91_REG *)  0xFFFFF204) // (DBGU) Mode Register\r
-#define AT91C_DBGU_IMR  ((AT91_REG *)  0xFFFFF210) // (DBGU) Interrupt Mask Register\r
-#define AT91C_DBGU_CR   ((AT91_REG *)  0xFFFFF200) // (DBGU) Control Register\r
-#define AT91C_DBGU_FNTR ((AT91_REG *)  0xFFFFF248) // (DBGU) Force NTRST Register\r
-#define AT91C_DBGU_THR  ((AT91_REG *)  0xFFFFF21C) // (DBGU) Transmitter Holding Register\r
-#define AT91C_DBGU_RHR  ((AT91_REG *)  0xFFFFF218) // (DBGU) Receiver Holding Register\r
-#define AT91C_DBGU_IER  ((AT91_REG *)  0xFFFFF208) // (DBGU) Interrupt Enable Register\r
-// ========== Register definition for PIOA peripheral ========== \r
-#define AT91C_PIOA_ODR  ((AT91_REG *)  0xFFFFF414) // (PIOA) Output Disable Registerr\r
-#define AT91C_PIOA_SODR ((AT91_REG *)  0xFFFFF430) // (PIOA) Set Output Data Register\r
-#define AT91C_PIOA_ISR  ((AT91_REG *)  0xFFFFF44C) // (PIOA) Interrupt Status Register\r
-#define AT91C_PIOA_ABSR ((AT91_REG *)  0xFFFFF478) // (PIOA) AB Select Status Register\r
-#define AT91C_PIOA_IER  ((AT91_REG *)  0xFFFFF440) // (PIOA) Interrupt Enable Register\r
-#define AT91C_PIOA_PPUDR ((AT91_REG *)         0xFFFFF460) // (PIOA) Pull-up Disable Register\r
-#define AT91C_PIOA_IMR  ((AT91_REG *)  0xFFFFF448) // (PIOA) Interrupt Mask Register\r
-#define AT91C_PIOA_PER  ((AT91_REG *)  0xFFFFF400) // (PIOA) PIO Enable Register\r
-#define AT91C_PIOA_IFDR ((AT91_REG *)  0xFFFFF424) // (PIOA) Input Filter Disable Register\r
-#define AT91C_PIOA_OWDR ((AT91_REG *)  0xFFFFF4A4) // (PIOA) Output Write Disable Register\r
-#define AT91C_PIOA_MDSR ((AT91_REG *)  0xFFFFF458) // (PIOA) Multi-driver Status Register\r
-#define AT91C_PIOA_IDR  ((AT91_REG *)  0xFFFFF444) // (PIOA) Interrupt Disable Register\r
-#define AT91C_PIOA_ODSR ((AT91_REG *)  0xFFFFF438) // (PIOA) Output Data Status Register\r
-#define AT91C_PIOA_PPUSR ((AT91_REG *)         0xFFFFF468) // (PIOA) Pull-up Status Register\r
-#define AT91C_PIOA_OWSR ((AT91_REG *)  0xFFFFF4A8) // (PIOA) Output Write Status Register\r
-#define AT91C_PIOA_BSR  ((AT91_REG *)  0xFFFFF474) // (PIOA) Select B Register\r
-#define AT91C_PIOA_OWER ((AT91_REG *)  0xFFFFF4A0) // (PIOA) Output Write Enable Register\r
-#define AT91C_PIOA_IFER ((AT91_REG *)  0xFFFFF420) // (PIOA) Input Filter Enable Register\r
-#define AT91C_PIOA_PDSR ((AT91_REG *)  0xFFFFF43C) // (PIOA) Pin Data Status Register\r
-#define AT91C_PIOA_PPUER ((AT91_REG *)         0xFFFFF464) // (PIOA) Pull-up Enable Register\r
-#define AT91C_PIOA_OSR  ((AT91_REG *)  0xFFFFF418) // (PIOA) Output Status Register\r
-#define AT91C_PIOA_ASR  ((AT91_REG *)  0xFFFFF470) // (PIOA) Select A Register\r
-#define AT91C_PIOA_MDDR ((AT91_REG *)  0xFFFFF454) // (PIOA) Multi-driver Disable Register\r
-#define AT91C_PIOA_CODR ((AT91_REG *)  0xFFFFF434) // (PIOA) Clear Output Data Register\r
-#define AT91C_PIOA_MDER ((AT91_REG *)  0xFFFFF450) // (PIOA) Multi-driver Enable Register\r
-#define AT91C_PIOA_PDR  ((AT91_REG *)  0xFFFFF404) // (PIOA) PIO Disable Register\r
-#define AT91C_PIOA_IFSR ((AT91_REG *)  0xFFFFF428) // (PIOA) Input Filter Status Register\r
-#define AT91C_PIOA_OER  ((AT91_REG *)  0xFFFFF410) // (PIOA) Output Enable Register\r
-#define AT91C_PIOA_PSR  ((AT91_REG *)  0xFFFFF408) // (PIOA) PIO Status Register\r
-// ========== Register definition for PIOB peripheral ========== \r
-#define AT91C_PIOB_OWDR ((AT91_REG *)  0xFFFFF6A4) // (PIOB) Output Write Disable Register\r
-#define AT91C_PIOB_MDER ((AT91_REG *)  0xFFFFF650) // (PIOB) Multi-driver Enable Register\r
-#define AT91C_PIOB_PPUSR ((AT91_REG *)         0xFFFFF668) // (PIOB) Pull-up Status Register\r
-#define AT91C_PIOB_IMR  ((AT91_REG *)  0xFFFFF648) // (PIOB) Interrupt Mask Register\r
-#define AT91C_PIOB_ASR  ((AT91_REG *)  0xFFFFF670) // (PIOB) Select A Register\r
-#define AT91C_PIOB_PPUDR ((AT91_REG *)         0xFFFFF660) // (PIOB) Pull-up Disable Register\r
-#define AT91C_PIOB_PSR  ((AT91_REG *)  0xFFFFF608) // (PIOB) PIO Status Register\r
-#define AT91C_PIOB_IER  ((AT91_REG *)  0xFFFFF640) // (PIOB) Interrupt Enable Register\r
-#define AT91C_PIOB_CODR ((AT91_REG *)  0xFFFFF634) // (PIOB) Clear Output Data Register\r
-#define AT91C_PIOB_OWER ((AT91_REG *)  0xFFFFF6A0) // (PIOB) Output Write Enable Register\r
-#define AT91C_PIOB_ABSR ((AT91_REG *)  0xFFFFF678) // (PIOB) AB Select Status Register\r
-#define AT91C_PIOB_IFDR ((AT91_REG *)  0xFFFFF624) // (PIOB) Input Filter Disable Register\r
-#define AT91C_PIOB_PDSR ((AT91_REG *)  0xFFFFF63C) // (PIOB) Pin Data Status Register\r
-#define AT91C_PIOB_IDR  ((AT91_REG *)  0xFFFFF644) // (PIOB) Interrupt Disable Register\r
-#define AT91C_PIOB_OWSR ((AT91_REG *)  0xFFFFF6A8) // (PIOB) Output Write Status Register\r
-#define AT91C_PIOB_PDR  ((AT91_REG *)  0xFFFFF604) // (PIOB) PIO Disable Register\r
-#define AT91C_PIOB_ODR  ((AT91_REG *)  0xFFFFF614) // (PIOB) Output Disable Registerr\r
-#define AT91C_PIOB_IFSR ((AT91_REG *)  0xFFFFF628) // (PIOB) Input Filter Status Register\r
-#define AT91C_PIOB_PPUER ((AT91_REG *)         0xFFFFF664) // (PIOB) Pull-up Enable Register\r
-#define AT91C_PIOB_SODR ((AT91_REG *)  0xFFFFF630) // (PIOB) Set Output Data Register\r
-#define AT91C_PIOB_ISR  ((AT91_REG *)  0xFFFFF64C) // (PIOB) Interrupt Status Register\r
-#define AT91C_PIOB_ODSR ((AT91_REG *)  0xFFFFF638) // (PIOB) Output Data Status Register\r
-#define AT91C_PIOB_OSR  ((AT91_REG *)  0xFFFFF618) // (PIOB) Output Status Register\r
-#define AT91C_PIOB_MDSR ((AT91_REG *)  0xFFFFF658) // (PIOB) Multi-driver Status Register\r
-#define AT91C_PIOB_IFER ((AT91_REG *)  0xFFFFF620) // (PIOB) Input Filter Enable Register\r
-#define AT91C_PIOB_BSR  ((AT91_REG *)  0xFFFFF674) // (PIOB) Select B Register\r
-#define AT91C_PIOB_MDDR ((AT91_REG *)  0xFFFFF654) // (PIOB) Multi-driver Disable Register\r
-#define AT91C_PIOB_OER  ((AT91_REG *)  0xFFFFF610) // (PIOB) Output Enable Register\r
-#define AT91C_PIOB_PER  ((AT91_REG *)  0xFFFFF600) // (PIOB) PIO Enable Register\r
-// ========== Register definition for CKGR peripheral ========== \r
-#define AT91C_CKGR_MOR  ((AT91_REG *)  0xFFFFFC20) // (CKGR) Main Oscillator Register\r
-#define AT91C_CKGR_PLLR ((AT91_REG *)  0xFFFFFC2C) // (CKGR) PLL Register\r
-#define AT91C_CKGR_MCFR ((AT91_REG *)  0xFFFFFC24) // (CKGR) Main Clock  Frequency Register\r
-// ========== Register definition for PMC peripheral ========== \r
-#define AT91C_PMC_IDR   ((AT91_REG *)  0xFFFFFC64) // (PMC) Interrupt Disable Register\r
-#define AT91C_PMC_MOR   ((AT91_REG *)  0xFFFFFC20) // (PMC) Main Oscillator Register\r
-#define AT91C_PMC_PLLR  ((AT91_REG *)  0xFFFFFC2C) // (PMC) PLL Register\r
-#define AT91C_PMC_PCER  ((AT91_REG *)  0xFFFFFC10) // (PMC) Peripheral Clock Enable Register\r
-#define AT91C_PMC_PCKR  ((AT91_REG *)  0xFFFFFC40) // (PMC) Programmable Clock Register\r
-#define AT91C_PMC_MCKR  ((AT91_REG *)  0xFFFFFC30) // (PMC) Master Clock Register\r
-#define AT91C_PMC_SCDR  ((AT91_REG *)  0xFFFFFC04) // (PMC) System Clock Disable Register\r
-#define AT91C_PMC_PCDR  ((AT91_REG *)  0xFFFFFC14) // (PMC) Peripheral Clock Disable Register\r
-#define AT91C_PMC_SCSR  ((AT91_REG *)  0xFFFFFC08) // (PMC) System Clock Status Register\r
-#define AT91C_PMC_PCSR  ((AT91_REG *)  0xFFFFFC18) // (PMC) Peripheral Clock Status Register\r
-#define AT91C_PMC_MCFR  ((AT91_REG *)  0xFFFFFC24) // (PMC) Main Clock  Frequency Register\r
-#define AT91C_PMC_SCER  ((AT91_REG *)  0xFFFFFC00) // (PMC) System Clock Enable Register\r
-#define AT91C_PMC_IMR   ((AT91_REG *)  0xFFFFFC6C) // (PMC) Interrupt Mask Register\r
-#define AT91C_PMC_IER   ((AT91_REG *)  0xFFFFFC60) // (PMC) Interrupt Enable Register\r
-#define AT91C_PMC_SR    ((AT91_REG *)  0xFFFFFC68) // (PMC) Status Register\r
-// ========== Register definition for RSTC peripheral ========== \r
-#define AT91C_RSTC_RCR  ((AT91_REG *)  0xFFFFFD00) // (RSTC) Reset Control Register\r
-#define AT91C_RSTC_RMR  ((AT91_REG *)  0xFFFFFD08) // (RSTC) Reset Mode Register\r
-#define AT91C_RSTC_RSR  ((AT91_REG *)  0xFFFFFD04) // (RSTC) Reset Status Register\r
-// ========== Register definition for RTTC peripheral ========== \r
-#define AT91C_RTTC_RTSR ((AT91_REG *)  0xFFFFFD2C) // (RTTC) Real-time Status Register\r
-#define AT91C_RTTC_RTMR ((AT91_REG *)  0xFFFFFD20) // (RTTC) Real-time Mode Register\r
-#define AT91C_RTTC_RTVR ((AT91_REG *)  0xFFFFFD28) // (RTTC) Real-time Value Register\r
-#define AT91C_RTTC_RTAR ((AT91_REG *)  0xFFFFFD24) // (RTTC) Real-time Alarm Register\r
-// ========== Register definition for PITC peripheral ========== \r
-#define AT91C_PITC_PIVR ((AT91_REG *)  0xFFFFFD38) // (PITC) Period Interval Value Register\r
-#define AT91C_PITC_PISR ((AT91_REG *)  0xFFFFFD34) // (PITC) Period Interval Status Register\r
-#define AT91C_PITC_PIIR ((AT91_REG *)  0xFFFFFD3C) // (PITC) Period Interval Image Register\r
-#define AT91C_PITC_PIMR ((AT91_REG *)  0xFFFFFD30) // (PITC) Period Interval Mode Register\r
-// ========== Register definition for WDTC peripheral ========== \r
-#define AT91C_WDTC_WDCR ((AT91_REG *)  0xFFFFFD40) // (WDTC) Watchdog Control Register\r
-#define AT91C_WDTC_WDSR ((AT91_REG *)  0xFFFFFD48) // (WDTC) Watchdog Status Register\r
-#define AT91C_WDTC_WDMR ((AT91_REG *)  0xFFFFFD44) // (WDTC) Watchdog Mode Register\r
-// ========== Register definition for VREG peripheral ========== \r
-#define AT91C_VREG_MR   ((AT91_REG *)  0xFFFFFD60) // (VREG) Voltage Regulator Mode Register\r
-// ========== Register definition for MC peripheral ========== \r
-#define AT91C_MC_ASR    ((AT91_REG *)  0xFFFFFF04) // (MC) MC Abort Status Register\r
-#define AT91C_MC_RCR    ((AT91_REG *)  0xFFFFFF00) // (MC) MC Remap Control Register\r
-#define AT91C_MC_FCR    ((AT91_REG *)  0xFFFFFF64) // (MC) MC Flash Command Register\r
-#define AT91C_MC_AASR   ((AT91_REG *)  0xFFFFFF08) // (MC) MC Abort Address Status Register\r
-#define AT91C_MC_FSR    ((AT91_REG *)  0xFFFFFF68) // (MC) MC Flash Status Register\r
-#define AT91C_MC_FMR    ((AT91_REG *)  0xFFFFFF60) // (MC) MC Flash Mode Register\r
-// ========== Register definition for PDC_SPI1 peripheral ========== \r
-#define AT91C_SPI1_PTCR ((AT91_REG *)  0xFFFE4120) // (PDC_SPI1) PDC Transfer Control Register\r
-#define AT91C_SPI1_RPR  ((AT91_REG *)  0xFFFE4100) // (PDC_SPI1) Receive Pointer Register\r
-#define AT91C_SPI1_TNCR ((AT91_REG *)  0xFFFE411C) // (PDC_SPI1) Transmit Next Counter Register\r
-#define AT91C_SPI1_TPR  ((AT91_REG *)  0xFFFE4108) // (PDC_SPI1) Transmit Pointer Register\r
-#define AT91C_SPI1_TNPR ((AT91_REG *)  0xFFFE4118) // (PDC_SPI1) Transmit Next Pointer Register\r
-#define AT91C_SPI1_TCR  ((AT91_REG *)  0xFFFE410C) // (PDC_SPI1) Transmit Counter Register\r
-#define AT91C_SPI1_RCR  ((AT91_REG *)  0xFFFE4104) // (PDC_SPI1) Receive Counter Register\r
-#define AT91C_SPI1_RNPR ((AT91_REG *)  0xFFFE4110) // (PDC_SPI1) Receive Next Pointer Register\r
-#define AT91C_SPI1_RNCR ((AT91_REG *)  0xFFFE4114) // (PDC_SPI1) Receive Next Counter Register\r
-#define AT91C_SPI1_PTSR ((AT91_REG *)  0xFFFE4124) // (PDC_SPI1) PDC Transfer Status Register\r
-// ========== Register definition for SPI1 peripheral ========== \r
-#define AT91C_SPI1_IMR  ((AT91_REG *)  0xFFFE401C) // (SPI1) Interrupt Mask Register\r
-#define AT91C_SPI1_IER  ((AT91_REG *)  0xFFFE4014) // (SPI1) Interrupt Enable Register\r
-#define AT91C_SPI1_MR   ((AT91_REG *)  0xFFFE4004) // (SPI1) Mode Register\r
-#define AT91C_SPI1_RDR  ((AT91_REG *)  0xFFFE4008) // (SPI1) Receive Data Register\r
-#define AT91C_SPI1_IDR  ((AT91_REG *)  0xFFFE4018) // (SPI1) Interrupt Disable Register\r
-#define AT91C_SPI1_SR   ((AT91_REG *)  0xFFFE4010) // (SPI1) Status Register\r
-#define AT91C_SPI1_TDR  ((AT91_REG *)  0xFFFE400C) // (SPI1) Transmit Data Register\r
-#define AT91C_SPI1_CR   ((AT91_REG *)  0xFFFE4000) // (SPI1) Control Register\r
-#define AT91C_SPI1_CSR  ((AT91_REG *)  0xFFFE4030) // (SPI1) Chip Select Register\r
-// ========== Register definition for PDC_SPI0 peripheral ========== \r
-#define AT91C_SPI0_PTCR ((AT91_REG *)  0xFFFE0120) // (PDC_SPI0) PDC Transfer Control Register\r
-#define AT91C_SPI0_TPR  ((AT91_REG *)  0xFFFE0108) // (PDC_SPI0) Transmit Pointer Register\r
-#define AT91C_SPI0_TCR  ((AT91_REG *)  0xFFFE010C) // (PDC_SPI0) Transmit Counter Register\r
-#define AT91C_SPI0_RCR  ((AT91_REG *)  0xFFFE0104) // (PDC_SPI0) Receive Counter Register\r
-#define AT91C_SPI0_PTSR ((AT91_REG *)  0xFFFE0124) // (PDC_SPI0) PDC Transfer Status Register\r
-#define AT91C_SPI0_RNPR ((AT91_REG *)  0xFFFE0110) // (PDC_SPI0) Receive Next Pointer Register\r
-#define AT91C_SPI0_RPR  ((AT91_REG *)  0xFFFE0100) // (PDC_SPI0) Receive Pointer Register\r
-#define AT91C_SPI0_TNCR ((AT91_REG *)  0xFFFE011C) // (PDC_SPI0) Transmit Next Counter Register\r
-#define AT91C_SPI0_RNCR ((AT91_REG *)  0xFFFE0114) // (PDC_SPI0) Receive Next Counter Register\r
-#define AT91C_SPI0_TNPR ((AT91_REG *)  0xFFFE0118) // (PDC_SPI0) Transmit Next Pointer Register\r
-// ========== Register definition for SPI0 peripheral ========== \r
-#define AT91C_SPI0_IER  ((AT91_REG *)  0xFFFE0014) // (SPI0) Interrupt Enable Register\r
-#define AT91C_SPI0_SR   ((AT91_REG *)  0xFFFE0010) // (SPI0) Status Register\r
-#define AT91C_SPI0_IDR  ((AT91_REG *)  0xFFFE0018) // (SPI0) Interrupt Disable Register\r
-#define AT91C_SPI0_CR   ((AT91_REG *)  0xFFFE0000) // (SPI0) Control Register\r
-#define AT91C_SPI0_MR   ((AT91_REG *)  0xFFFE0004) // (SPI0) Mode Register\r
-#define AT91C_SPI0_IMR  ((AT91_REG *)  0xFFFE001C) // (SPI0) Interrupt Mask Register\r
-#define AT91C_SPI0_TDR  ((AT91_REG *)  0xFFFE000C) // (SPI0) Transmit Data Register\r
-#define AT91C_SPI0_RDR  ((AT91_REG *)  0xFFFE0008) // (SPI0) Receive Data Register\r
-#define AT91C_SPI0_CSR  ((AT91_REG *)  0xFFFE0030) // (SPI0) Chip Select Register\r
-// ========== Register definition for PDC_US1 peripheral ========== \r
-#define AT91C_US1_RNCR  ((AT91_REG *)  0xFFFC4114) // (PDC_US1) Receive Next Counter Register\r
-#define AT91C_US1_PTCR  ((AT91_REG *)  0xFFFC4120) // (PDC_US1) PDC Transfer Control Register\r
-#define AT91C_US1_TCR   ((AT91_REG *)  0xFFFC410C) // (PDC_US1) Transmit Counter Register\r
-#define AT91C_US1_PTSR  ((AT91_REG *)  0xFFFC4124) // (PDC_US1) PDC Transfer Status Register\r
-#define AT91C_US1_TNPR  ((AT91_REG *)  0xFFFC4118) // (PDC_US1) Transmit Next Pointer Register\r
-#define AT91C_US1_RCR   ((AT91_REG *)  0xFFFC4104) // (PDC_US1) Receive Counter Register\r
-#define AT91C_US1_RNPR  ((AT91_REG *)  0xFFFC4110) // (PDC_US1) Receive Next Pointer Register\r
-#define AT91C_US1_RPR   ((AT91_REG *)  0xFFFC4100) // (PDC_US1) Receive Pointer Register\r
-#define AT91C_US1_TNCR  ((AT91_REG *)  0xFFFC411C) // (PDC_US1) Transmit Next Counter Register\r
-#define AT91C_US1_TPR   ((AT91_REG *)  0xFFFC4108) // (PDC_US1) Transmit Pointer Register\r
-// ========== Register definition for US1 peripheral ========== \r
-#define AT91C_US1_IF    ((AT91_REG *)  0xFFFC404C) // (US1) IRDA_FILTER Register\r
-#define AT91C_US1_NER   ((AT91_REG *)  0xFFFC4044) // (US1) Nb Errors Register\r
-#define AT91C_US1_RTOR  ((AT91_REG *)  0xFFFC4024) // (US1) Receiver Time-out Register\r
-#define AT91C_US1_CSR   ((AT91_REG *)  0xFFFC4014) // (US1) Channel Status Register\r
-#define AT91C_US1_IDR   ((AT91_REG *)  0xFFFC400C) // (US1) Interrupt Disable Register\r
-#define AT91C_US1_IER   ((AT91_REG *)  0xFFFC4008) // (US1) Interrupt Enable Register\r
-#define AT91C_US1_THR   ((AT91_REG *)  0xFFFC401C) // (US1) Transmitter Holding Register\r
-#define AT91C_US1_TTGR  ((AT91_REG *)  0xFFFC4028) // (US1) Transmitter Time-guard Register\r
-#define AT91C_US1_RHR   ((AT91_REG *)  0xFFFC4018) // (US1) Receiver Holding Register\r
-#define AT91C_US1_BRGR  ((AT91_REG *)  0xFFFC4020) // (US1) Baud Rate Generator Register\r
-#define AT91C_US1_IMR   ((AT91_REG *)  0xFFFC4010) // (US1) Interrupt Mask Register\r
-#define AT91C_US1_FIDI  ((AT91_REG *)  0xFFFC4040) // (US1) FI_DI_Ratio Register\r
-#define AT91C_US1_CR    ((AT91_REG *)  0xFFFC4000) // (US1) Control Register\r
-#define AT91C_US1_MR    ((AT91_REG *)  0xFFFC4004) // (US1) Mode Register\r
-// ========== Register definition for PDC_US0 peripheral ========== \r
-#define AT91C_US0_TNPR  ((AT91_REG *)  0xFFFC0118) // (PDC_US0) Transmit Next Pointer Register\r
-#define AT91C_US0_RNPR  ((AT91_REG *)  0xFFFC0110) // (PDC_US0) Receive Next Pointer Register\r
-#define AT91C_US0_TCR   ((AT91_REG *)  0xFFFC010C) // (PDC_US0) Transmit Counter Register\r
-#define AT91C_US0_PTCR  ((AT91_REG *)  0xFFFC0120) // (PDC_US0) PDC Transfer Control Register\r
-#define AT91C_US0_PTSR  ((AT91_REG *)  0xFFFC0124) // (PDC_US0) PDC Transfer Status Register\r
-#define AT91C_US0_TNCR  ((AT91_REG *)  0xFFFC011C) // (PDC_US0) Transmit Next Counter Register\r
-#define AT91C_US0_TPR   ((AT91_REG *)  0xFFFC0108) // (PDC_US0) Transmit Pointer Register\r
-#define AT91C_US0_RCR   ((AT91_REG *)  0xFFFC0104) // (PDC_US0) Receive Counter Register\r
-#define AT91C_US0_RPR   ((AT91_REG *)  0xFFFC0100) // (PDC_US0) Receive Pointer Register\r
-#define AT91C_US0_RNCR  ((AT91_REG *)  0xFFFC0114) // (PDC_US0) Receive Next Counter Register\r
-// ========== Register definition for US0 peripheral ========== \r
-#define AT91C_US0_BRGR  ((AT91_REG *)  0xFFFC0020) // (US0) Baud Rate Generator Register\r
-#define AT91C_US0_NER   ((AT91_REG *)  0xFFFC0044) // (US0) Nb Errors Register\r
-#define AT91C_US0_CR    ((AT91_REG *)  0xFFFC0000) // (US0) Control Register\r
-#define AT91C_US0_IMR   ((AT91_REG *)  0xFFFC0010) // (US0) Interrupt Mask Register\r
-#define AT91C_US0_FIDI  ((AT91_REG *)  0xFFFC0040) // (US0) FI_DI_Ratio Register\r
-#define AT91C_US0_TTGR  ((AT91_REG *)  0xFFFC0028) // (US0) Transmitter Time-guard Register\r
-#define AT91C_US0_MR    ((AT91_REG *)  0xFFFC0004) // (US0) Mode Register\r
-#define AT91C_US0_RTOR  ((AT91_REG *)  0xFFFC0024) // (US0) Receiver Time-out Register\r
-#define AT91C_US0_CSR   ((AT91_REG *)  0xFFFC0014) // (US0) Channel Status Register\r
-#define AT91C_US0_RHR   ((AT91_REG *)  0xFFFC0018) // (US0) Receiver Holding Register\r
-#define AT91C_US0_IDR   ((AT91_REG *)  0xFFFC000C) // (US0) Interrupt Disable Register\r
-#define AT91C_US0_THR   ((AT91_REG *)  0xFFFC001C) // (US0) Transmitter Holding Register\r
-#define AT91C_US0_IF    ((AT91_REG *)  0xFFFC004C) // (US0) IRDA_FILTER Register\r
-#define AT91C_US0_IER   ((AT91_REG *)  0xFFFC0008) // (US0) Interrupt Enable Register\r
-// ========== Register definition for PDC_SSC peripheral ========== \r
-#define AT91C_SSC_TNCR  ((AT91_REG *)  0xFFFD411C) // (PDC_SSC) Transmit Next Counter Register\r
-#define AT91C_SSC_RPR   ((AT91_REG *)  0xFFFD4100) // (PDC_SSC) Receive Pointer Register\r
-#define AT91C_SSC_RNCR  ((AT91_REG *)  0xFFFD4114) // (PDC_SSC) Receive Next Counter Register\r
-#define AT91C_SSC_TPR   ((AT91_REG *)  0xFFFD4108) // (PDC_SSC) Transmit Pointer Register\r
-#define AT91C_SSC_PTCR  ((AT91_REG *)  0xFFFD4120) // (PDC_SSC) PDC Transfer Control Register\r
-#define AT91C_SSC_TCR   ((AT91_REG *)  0xFFFD410C) // (PDC_SSC) Transmit Counter Register\r
-#define AT91C_SSC_RCR   ((AT91_REG *)  0xFFFD4104) // (PDC_SSC) Receive Counter Register\r
-#define AT91C_SSC_RNPR  ((AT91_REG *)  0xFFFD4110) // (PDC_SSC) Receive Next Pointer Register\r
-#define AT91C_SSC_TNPR  ((AT91_REG *)  0xFFFD4118) // (PDC_SSC) Transmit Next Pointer Register\r
-#define AT91C_SSC_PTSR  ((AT91_REG *)  0xFFFD4124) // (PDC_SSC) PDC Transfer Status Register\r
-// ========== Register definition for SSC peripheral ========== \r
-#define AT91C_SSC_RHR   ((AT91_REG *)  0xFFFD4020) // (SSC) Receive Holding Register\r
-#define AT91C_SSC_RSHR  ((AT91_REG *)  0xFFFD4030) // (SSC) Receive Sync Holding Register\r
-#define AT91C_SSC_TFMR  ((AT91_REG *)  0xFFFD401C) // (SSC) Transmit Frame Mode Register\r
-#define AT91C_SSC_IDR   ((AT91_REG *)  0xFFFD4048) // (SSC) Interrupt Disable Register\r
-#define AT91C_SSC_THR   ((AT91_REG *)  0xFFFD4024) // (SSC) Transmit Holding Register\r
-#define AT91C_SSC_RCMR  ((AT91_REG *)  0xFFFD4010) // (SSC) Receive Clock ModeRegister\r
-#define AT91C_SSC_IER   ((AT91_REG *)  0xFFFD4044) // (SSC) Interrupt Enable Register\r
-#define AT91C_SSC_TSHR  ((AT91_REG *)  0xFFFD4034) // (SSC) Transmit Sync Holding Register\r
-#define AT91C_SSC_SR    ((AT91_REG *)  0xFFFD4040) // (SSC) Status Register\r
-#define AT91C_SSC_CMR   ((AT91_REG *)  0xFFFD4004) // (SSC) Clock Mode Register\r
-#define AT91C_SSC_TCMR  ((AT91_REG *)  0xFFFD4018) // (SSC) Transmit Clock Mode Register\r
-#define AT91C_SSC_CR    ((AT91_REG *)  0xFFFD4000) // (SSC) Control Register\r
-#define AT91C_SSC_IMR   ((AT91_REG *)  0xFFFD404C) // (SSC) Interrupt Mask Register\r
-#define AT91C_SSC_RFMR  ((AT91_REG *)  0xFFFD4014) // (SSC) Receive Frame Mode Register\r
-// ========== Register definition for TWI peripheral ========== \r
-#define AT91C_TWI_IER   ((AT91_REG *)  0xFFFB8024) // (TWI) Interrupt Enable Register\r
-#define AT91C_TWI_CR    ((AT91_REG *)  0xFFFB8000) // (TWI) Control Register\r
-#define AT91C_TWI_SR    ((AT91_REG *)  0xFFFB8020) // (TWI) Status Register\r
-#define AT91C_TWI_IMR   ((AT91_REG *)  0xFFFB802C) // (TWI) Interrupt Mask Register\r
-#define AT91C_TWI_THR   ((AT91_REG *)  0xFFFB8034) // (TWI) Transmit Holding Register\r
-#define AT91C_TWI_IDR   ((AT91_REG *)  0xFFFB8028) // (TWI) Interrupt Disable Register\r
-#define AT91C_TWI_IADR  ((AT91_REG *)  0xFFFB800C) // (TWI) Internal Address Register\r
-#define AT91C_TWI_MMR   ((AT91_REG *)  0xFFFB8004) // (TWI) Master Mode Register\r
-#define AT91C_TWI_CWGR  ((AT91_REG *)  0xFFFB8010) // (TWI) Clock Waveform Generator Register\r
-#define AT91C_TWI_RHR   ((AT91_REG *)  0xFFFB8030) // (TWI) Receive Holding Register\r
-// ========== Register definition for PWMC_CH3 peripheral ========== \r
-#define AT91C_PWMC_CH3_CUPDR ((AT91_REG *)     0xFFFCC270) // (PWMC_CH3) Channel Update Register\r
-#define AT91C_PWMC_CH3_Reserved ((AT91_REG *)  0xFFFCC274) // (PWMC_CH3) Reserved\r
-#define AT91C_PWMC_CH3_CPRDR ((AT91_REG *)     0xFFFCC268) // (PWMC_CH3) Channel Period Register\r
-#define AT91C_PWMC_CH3_CDTYR ((AT91_REG *)     0xFFFCC264) // (PWMC_CH3) Channel Duty Cycle Register\r
-#define AT91C_PWMC_CH3_CCNTR ((AT91_REG *)     0xFFFCC26C) // (PWMC_CH3) Channel Counter Register\r
-#define AT91C_PWMC_CH3_CMR ((AT91_REG *)       0xFFFCC260) // (PWMC_CH3) Channel Mode Register\r
-// ========== Register definition for PWMC_CH2 peripheral ========== \r
-#define AT91C_PWMC_CH2_Reserved ((AT91_REG *)  0xFFFCC254) // (PWMC_CH2) Reserved\r
-#define AT91C_PWMC_CH2_CMR ((AT91_REG *)       0xFFFCC240) // (PWMC_CH2) Channel Mode Register\r
-#define AT91C_PWMC_CH2_CCNTR ((AT91_REG *)     0xFFFCC24C) // (PWMC_CH2) Channel Counter Register\r
-#define AT91C_PWMC_CH2_CPRDR ((AT91_REG *)     0xFFFCC248) // (PWMC_CH2) Channel Period Register\r
-#define AT91C_PWMC_CH2_CUPDR ((AT91_REG *)     0xFFFCC250) // (PWMC_CH2) Channel Update Register\r
-#define AT91C_PWMC_CH2_CDTYR ((AT91_REG *)     0xFFFCC244) // (PWMC_CH2) Channel Duty Cycle Register\r
-// ========== Register definition for PWMC_CH1 peripheral ========== \r
-#define AT91C_PWMC_CH1_Reserved ((AT91_REG *)  0xFFFCC234) // (PWMC_CH1) Reserved\r
-#define AT91C_PWMC_CH1_CUPDR ((AT91_REG *)     0xFFFCC230) // (PWMC_CH1) Channel Update Register\r
-#define AT91C_PWMC_CH1_CPRDR ((AT91_REG *)     0xFFFCC228) // (PWMC_CH1) Channel Period Register\r
-#define AT91C_PWMC_CH1_CCNTR ((AT91_REG *)     0xFFFCC22C) // (PWMC_CH1) Channel Counter Register\r
-#define AT91C_PWMC_CH1_CDTYR ((AT91_REG *)     0xFFFCC224) // (PWMC_CH1) Channel Duty Cycle Register\r
-#define AT91C_PWMC_CH1_CMR ((AT91_REG *)       0xFFFCC220) // (PWMC_CH1) Channel Mode Register\r
-// ========== Register definition for PWMC_CH0 peripheral ========== \r
-#define AT91C_PWMC_CH0_Reserved ((AT91_REG *)  0xFFFCC214) // (PWMC_CH0) Reserved\r
-#define AT91C_PWMC_CH0_CPRDR ((AT91_REG *)     0xFFFCC208) // (PWMC_CH0) Channel Period Register\r
-#define AT91C_PWMC_CH0_CDTYR ((AT91_REG *)     0xFFFCC204) // (PWMC_CH0) Channel Duty Cycle Register\r
-#define AT91C_PWMC_CH0_CMR ((AT91_REG *)       0xFFFCC200) // (PWMC_CH0) Channel Mode Register\r
-#define AT91C_PWMC_CH0_CUPDR ((AT91_REG *)     0xFFFCC210) // (PWMC_CH0) Channel Update Register\r
-#define AT91C_PWMC_CH0_CCNTR ((AT91_REG *)     0xFFFCC20C) // (PWMC_CH0) Channel Counter Register\r
-// ========== Register definition for PWMC peripheral ========== \r
-#define AT91C_PWMC_IDR  ((AT91_REG *)  0xFFFCC014) // (PWMC) PWMC Interrupt Disable Register\r
-#define AT91C_PWMC_DIS  ((AT91_REG *)  0xFFFCC008) // (PWMC) PWMC Disable Register\r
-#define AT91C_PWMC_IER  ((AT91_REG *)  0xFFFCC010) // (PWMC) PWMC Interrupt Enable Register\r
-#define AT91C_PWMC_VR   ((AT91_REG *)  0xFFFCC0FC) // (PWMC) PWMC Version Register\r
-#define AT91C_PWMC_ISR  ((AT91_REG *)  0xFFFCC01C) // (PWMC) PWMC Interrupt Status Register\r
-#define AT91C_PWMC_SR   ((AT91_REG *)  0xFFFCC00C) // (PWMC) PWMC Status Register\r
-#define AT91C_PWMC_IMR  ((AT91_REG *)  0xFFFCC018) // (PWMC) PWMC Interrupt Mask Register\r
-#define AT91C_PWMC_MR   ((AT91_REG *)  0xFFFCC000) // (PWMC) PWMC Mode Register\r
-#define AT91C_PWMC_ENA  ((AT91_REG *)  0xFFFCC004) // (PWMC) PWMC Enable Register\r
-// ========== Register definition for UDP peripheral ========== \r
-#define AT91C_UDP_IMR   ((AT91_REG *)  0xFFFB0018) // (UDP) Interrupt Mask Register\r
-#define AT91C_UDP_FADDR ((AT91_REG *)  0xFFFB0008) // (UDP) Function Address Register\r
-#define AT91C_UDP_NUM   ((AT91_REG *)  0xFFFB0000) // (UDP) Frame Number Register\r
-#define AT91C_UDP_FDR   ((AT91_REG *)  0xFFFB0050) // (UDP) Endpoint FIFO Data Register\r
-#define AT91C_UDP_ISR   ((AT91_REG *)  0xFFFB001C) // (UDP) Interrupt Status Register\r
-#define AT91C_UDP_CSR   ((AT91_REG *)  0xFFFB0030) // (UDP) Endpoint Control and Status Register\r
-#define AT91C_UDP_IDR   ((AT91_REG *)  0xFFFB0014) // (UDP) Interrupt Disable Register\r
-#define AT91C_UDP_ICR   ((AT91_REG *)  0xFFFB0020) // (UDP) Interrupt Clear Register\r
-#define AT91C_UDP_RSTEP ((AT91_REG *)  0xFFFB0028) // (UDP) Reset Endpoint Register\r
-#define AT91C_UDP_TXVC  ((AT91_REG *)  0xFFFB0074) // (UDP) Transceiver Control Register\r
-#define AT91C_UDP_GLBSTATE ((AT91_REG *)       0xFFFB0004) // (UDP) Global State Register\r
-#define AT91C_UDP_IER   ((AT91_REG *)  0xFFFB0010) // (UDP) Interrupt Enable Register\r
-// ========== Register definition for TC0 peripheral ========== \r
-#define AT91C_TC0_SR    ((AT91_REG *)  0xFFFA0020) // (TC0) Status Register\r
-#define AT91C_TC0_RC    ((AT91_REG *)  0xFFFA001C) // (TC0) Register C\r
-#define AT91C_TC0_RB    ((AT91_REG *)  0xFFFA0018) // (TC0) Register B\r
-#define AT91C_TC0_CCR   ((AT91_REG *)  0xFFFA0000) // (TC0) Channel Control Register\r
-#define AT91C_TC0_CMR   ((AT91_REG *)  0xFFFA0004) // (TC0) Channel Mode Register (Capture Mode / Waveform Mode)\r
-#define AT91C_TC0_IER   ((AT91_REG *)  0xFFFA0024) // (TC0) Interrupt Enable Register\r
-#define AT91C_TC0_RA    ((AT91_REG *)  0xFFFA0014) // (TC0) Register A\r
-#define AT91C_TC0_IDR   ((AT91_REG *)  0xFFFA0028) // (TC0) Interrupt Disable Register\r
-#define AT91C_TC0_CV    ((AT91_REG *)  0xFFFA0010) // (TC0) Counter Value\r
-#define AT91C_TC0_IMR   ((AT91_REG *)  0xFFFA002C) // (TC0) Interrupt Mask Register\r
-// ========== Register definition for TC1 peripheral ========== \r
-#define AT91C_TC1_RB    ((AT91_REG *)  0xFFFA0058) // (TC1) Register B\r
-#define AT91C_TC1_CCR   ((AT91_REG *)  0xFFFA0040) // (TC1) Channel Control Register\r
-#define AT91C_TC1_IER   ((AT91_REG *)  0xFFFA0064) // (TC1) Interrupt Enable Register\r
-#define AT91C_TC1_IDR   ((AT91_REG *)  0xFFFA0068) // (TC1) Interrupt Disable Register\r
-#define AT91C_TC1_SR    ((AT91_REG *)  0xFFFA0060) // (TC1) Status Register\r
-#define AT91C_TC1_CMR   ((AT91_REG *)  0xFFFA0044) // (TC1) Channel Mode Register (Capture Mode / Waveform Mode)\r
-#define AT91C_TC1_RA    ((AT91_REG *)  0xFFFA0054) // (TC1) Register A\r
-#define AT91C_TC1_RC    ((AT91_REG *)  0xFFFA005C) // (TC1) Register C\r
-#define AT91C_TC1_IMR   ((AT91_REG *)  0xFFFA006C) // (TC1) Interrupt Mask Register\r
-#define AT91C_TC1_CV    ((AT91_REG *)  0xFFFA0050) // (TC1) Counter Value\r
-// ========== Register definition for TC2 peripheral ========== \r
-#define AT91C_TC2_CMR   ((AT91_REG *)  0xFFFA0084) // (TC2) Channel Mode Register (Capture Mode / Waveform Mode)\r
-#define AT91C_TC2_CCR   ((AT91_REG *)  0xFFFA0080) // (TC2) Channel Control Register\r
-#define AT91C_TC2_CV    ((AT91_REG *)  0xFFFA0090) // (TC2) Counter Value\r
-#define AT91C_TC2_RA    ((AT91_REG *)  0xFFFA0094) // (TC2) Register A\r
-#define AT91C_TC2_RB    ((AT91_REG *)  0xFFFA0098) // (TC2) Register B\r
-#define AT91C_TC2_IDR   ((AT91_REG *)  0xFFFA00A8) // (TC2) Interrupt Disable Register\r
-#define AT91C_TC2_IMR   ((AT91_REG *)  0xFFFA00AC) // (TC2) Interrupt Mask Register\r
-#define AT91C_TC2_RC    ((AT91_REG *)  0xFFFA009C) // (TC2) Register C\r
-#define AT91C_TC2_IER   ((AT91_REG *)  0xFFFA00A4) // (TC2) Interrupt Enable Register\r
-#define AT91C_TC2_SR    ((AT91_REG *)  0xFFFA00A0) // (TC2) Status Register\r
-// ========== Register definition for TCB peripheral ========== \r
-#define AT91C_TCB_BMR   ((AT91_REG *)  0xFFFA00C4) // (TCB) TC Block Mode Register\r
-#define AT91C_TCB_BCR   ((AT91_REG *)  0xFFFA00C0) // (TCB) TC Block Control Register\r
-// ========== Register definition for CAN_MB0 peripheral ========== \r
-#define AT91C_CAN_MB0_MDL ((AT91_REG *)        0xFFFD0214) // (CAN_MB0) MailBox Data Low Register\r
-#define AT91C_CAN_MB0_MAM ((AT91_REG *)        0xFFFD0204) // (CAN_MB0) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB0_MCR ((AT91_REG *)        0xFFFD021C) // (CAN_MB0) MailBox Control Register\r
-#define AT91C_CAN_MB0_MID ((AT91_REG *)        0xFFFD0208) // (CAN_MB0) MailBox ID Register\r
-#define AT91C_CAN_MB0_MSR ((AT91_REG *)        0xFFFD0210) // (CAN_MB0) MailBox Status Register\r
-#define AT91C_CAN_MB0_MFID ((AT91_REG *)       0xFFFD020C) // (CAN_MB0) MailBox Family ID Register\r
-#define AT91C_CAN_MB0_MDH ((AT91_REG *)        0xFFFD0218) // (CAN_MB0) MailBox Data High Register\r
-#define AT91C_CAN_MB0_MMR ((AT91_REG *)        0xFFFD0200) // (CAN_MB0) MailBox Mode Register\r
-// ========== Register definition for CAN_MB1 peripheral ========== \r
-#define AT91C_CAN_MB1_MDL ((AT91_REG *)        0xFFFD0234) // (CAN_MB1) MailBox Data Low Register\r
-#define AT91C_CAN_MB1_MID ((AT91_REG *)        0xFFFD0228) // (CAN_MB1) MailBox ID Register\r
-#define AT91C_CAN_MB1_MMR ((AT91_REG *)        0xFFFD0220) // (CAN_MB1) MailBox Mode Register\r
-#define AT91C_CAN_MB1_MSR ((AT91_REG *)        0xFFFD0230) // (CAN_MB1) MailBox Status Register\r
-#define AT91C_CAN_MB1_MAM ((AT91_REG *)        0xFFFD0224) // (CAN_MB1) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB1_MDH ((AT91_REG *)        0xFFFD0238) // (CAN_MB1) MailBox Data High Register\r
-#define AT91C_CAN_MB1_MCR ((AT91_REG *)        0xFFFD023C) // (CAN_MB1) MailBox Control Register\r
-#define AT91C_CAN_MB1_MFID ((AT91_REG *)       0xFFFD022C) // (CAN_MB1) MailBox Family ID Register\r
-// ========== Register definition for CAN_MB2 peripheral ========== \r
-#define AT91C_CAN_MB2_MCR ((AT91_REG *)        0xFFFD025C) // (CAN_MB2) MailBox Control Register\r
-#define AT91C_CAN_MB2_MDH ((AT91_REG *)        0xFFFD0258) // (CAN_MB2) MailBox Data High Register\r
-#define AT91C_CAN_MB2_MID ((AT91_REG *)        0xFFFD0248) // (CAN_MB2) MailBox ID Register\r
-#define AT91C_CAN_MB2_MDL ((AT91_REG *)        0xFFFD0254) // (CAN_MB2) MailBox Data Low Register\r
-#define AT91C_CAN_MB2_MMR ((AT91_REG *)        0xFFFD0240) // (CAN_MB2) MailBox Mode Register\r
-#define AT91C_CAN_MB2_MAM ((AT91_REG *)        0xFFFD0244) // (CAN_MB2) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB2_MFID ((AT91_REG *)       0xFFFD024C) // (CAN_MB2) MailBox Family ID Register\r
-#define AT91C_CAN_MB2_MSR ((AT91_REG *)        0xFFFD0250) // (CAN_MB2) MailBox Status Register\r
-// ========== Register definition for CAN_MB3 peripheral ========== \r
-#define AT91C_CAN_MB3_MFID ((AT91_REG *)       0xFFFD026C) // (CAN_MB3) MailBox Family ID Register\r
-#define AT91C_CAN_MB3_MAM ((AT91_REG *)        0xFFFD0264) // (CAN_MB3) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB3_MID ((AT91_REG *)        0xFFFD0268) // (CAN_MB3) MailBox ID Register\r
-#define AT91C_CAN_MB3_MCR ((AT91_REG *)        0xFFFD027C) // (CAN_MB3) MailBox Control Register\r
-#define AT91C_CAN_MB3_MMR ((AT91_REG *)        0xFFFD0260) // (CAN_MB3) MailBox Mode Register\r
-#define AT91C_CAN_MB3_MSR ((AT91_REG *)        0xFFFD0270) // (CAN_MB3) MailBox Status Register\r
-#define AT91C_CAN_MB3_MDL ((AT91_REG *)        0xFFFD0274) // (CAN_MB3) MailBox Data Low Register\r
-#define AT91C_CAN_MB3_MDH ((AT91_REG *)        0xFFFD0278) // (CAN_MB3) MailBox Data High Register\r
-// ========== Register definition for CAN_MB4 peripheral ========== \r
-#define AT91C_CAN_MB4_MID ((AT91_REG *)        0xFFFD0288) // (CAN_MB4) MailBox ID Register\r
-#define AT91C_CAN_MB4_MMR ((AT91_REG *)        0xFFFD0280) // (CAN_MB4) MailBox Mode Register\r
-#define AT91C_CAN_MB4_MDH ((AT91_REG *)        0xFFFD0298) // (CAN_MB4) MailBox Data High Register\r
-#define AT91C_CAN_MB4_MFID ((AT91_REG *)       0xFFFD028C) // (CAN_MB4) MailBox Family ID Register\r
-#define AT91C_CAN_MB4_MSR ((AT91_REG *)        0xFFFD0290) // (CAN_MB4) MailBox Status Register\r
-#define AT91C_CAN_MB4_MCR ((AT91_REG *)        0xFFFD029C) // (CAN_MB4) MailBox Control Register\r
-#define AT91C_CAN_MB4_MDL ((AT91_REG *)        0xFFFD0294) // (CAN_MB4) MailBox Data Low Register\r
-#define AT91C_CAN_MB4_MAM ((AT91_REG *)        0xFFFD0284) // (CAN_MB4) MailBox Acceptance Mask Register\r
-// ========== Register definition for CAN_MB5 peripheral ========== \r
-#define AT91C_CAN_MB5_MSR ((AT91_REG *)        0xFFFD02B0) // (CAN_MB5) MailBox Status Register\r
-#define AT91C_CAN_MB5_MCR ((AT91_REG *)        0xFFFD02BC) // (CAN_MB5) MailBox Control Register\r
-#define AT91C_CAN_MB5_MFID ((AT91_REG *)       0xFFFD02AC) // (CAN_MB5) MailBox Family ID Register\r
-#define AT91C_CAN_MB5_MDH ((AT91_REG *)        0xFFFD02B8) // (CAN_MB5) MailBox Data High Register\r
-#define AT91C_CAN_MB5_MID ((AT91_REG *)        0xFFFD02A8) // (CAN_MB5) MailBox ID Register\r
-#define AT91C_CAN_MB5_MMR ((AT91_REG *)        0xFFFD02A0) // (CAN_MB5) MailBox Mode Register\r
-#define AT91C_CAN_MB5_MDL ((AT91_REG *)        0xFFFD02B4) // (CAN_MB5) MailBox Data Low Register\r
-#define AT91C_CAN_MB5_MAM ((AT91_REG *)        0xFFFD02A4) // (CAN_MB5) MailBox Acceptance Mask Register\r
-// ========== Register definition for CAN_MB6 peripheral ========== \r
-#define AT91C_CAN_MB6_MFID ((AT91_REG *)       0xFFFD02CC) // (CAN_MB6) MailBox Family ID Register\r
-#define AT91C_CAN_MB6_MID ((AT91_REG *)        0xFFFD02C8) // (CAN_MB6) MailBox ID Register\r
-#define AT91C_CAN_MB6_MAM ((AT91_REG *)        0xFFFD02C4) // (CAN_MB6) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB6_MSR ((AT91_REG *)        0xFFFD02D0) // (CAN_MB6) MailBox Status Register\r
-#define AT91C_CAN_MB6_MDL ((AT91_REG *)        0xFFFD02D4) // (CAN_MB6) MailBox Data Low Register\r
-#define AT91C_CAN_MB6_MCR ((AT91_REG *)        0xFFFD02DC) // (CAN_MB6) MailBox Control Register\r
-#define AT91C_CAN_MB6_MDH ((AT91_REG *)        0xFFFD02D8) // (CAN_MB6) MailBox Data High Register\r
-#define AT91C_CAN_MB6_MMR ((AT91_REG *)        0xFFFD02C0) // (CAN_MB6) MailBox Mode Register\r
-// ========== Register definition for CAN_MB7 peripheral ========== \r
-#define AT91C_CAN_MB7_MCR ((AT91_REG *)        0xFFFD02FC) // (CAN_MB7) MailBox Control Register\r
-#define AT91C_CAN_MB7_MDH ((AT91_REG *)        0xFFFD02F8) // (CAN_MB7) MailBox Data High Register\r
-#define AT91C_CAN_MB7_MFID ((AT91_REG *)       0xFFFD02EC) // (CAN_MB7) MailBox Family ID Register\r
-#define AT91C_CAN_MB7_MDL ((AT91_REG *)        0xFFFD02F4) // (CAN_MB7) MailBox Data Low Register\r
-#define AT91C_CAN_MB7_MID ((AT91_REG *)        0xFFFD02E8) // (CAN_MB7) MailBox ID Register\r
-#define AT91C_CAN_MB7_MMR ((AT91_REG *)        0xFFFD02E0) // (CAN_MB7) MailBox Mode Register\r
-#define AT91C_CAN_MB7_MAM ((AT91_REG *)        0xFFFD02E4) // (CAN_MB7) MailBox Acceptance Mask Register\r
-#define AT91C_CAN_MB7_MSR ((AT91_REG *)        0xFFFD02F0) // (CAN_MB7) MailBox Status Register\r
-// ========== Register definition for CAN peripheral ========== \r
-#define AT91C_CAN_TCR   ((AT91_REG *)  0xFFFD0024) // (CAN) Transfer Command Register\r
-#define AT91C_CAN_IMR   ((AT91_REG *)  0xFFFD000C) // (CAN) Interrupt Mask Register\r
-#define AT91C_CAN_IER   ((AT91_REG *)  0xFFFD0004) // (CAN) Interrupt Enable Register\r
-#define AT91C_CAN_ECR   ((AT91_REG *)  0xFFFD0020) // (CAN) Error Counter Register\r
-#define AT91C_CAN_TIMESTP ((AT91_REG *)        0xFFFD001C) // (CAN) Time Stamp Register\r
-#define AT91C_CAN_MR    ((AT91_REG *)  0xFFFD0000) // (CAN) Mode Register\r
-#define AT91C_CAN_IDR   ((AT91_REG *)  0xFFFD0008) // (CAN) Interrupt Disable Register\r
-#define AT91C_CAN_ACR   ((AT91_REG *)  0xFFFD0028) // (CAN) Abort Command Register\r
-#define AT91C_CAN_TIM   ((AT91_REG *)  0xFFFD0018) // (CAN) Timer Register\r
-#define AT91C_CAN_SR    ((AT91_REG *)  0xFFFD0010) // (CAN) Status Register\r
-#define AT91C_CAN_BR    ((AT91_REG *)  0xFFFD0014) // (CAN) Baudrate Register\r
-#define AT91C_CAN_VR    ((AT91_REG *)  0xFFFD00FC) // (CAN) Version Register\r
-// ========== Register definition for EMAC peripheral ========== \r
-#define AT91C_EMAC_ISR  ((AT91_REG *)  0xFFFDC024) // (EMAC) Interrupt Status Register\r
-#define AT91C_EMAC_SA4H ((AT91_REG *)  0xFFFDC0B4) // (EMAC) Specific Address 4 Top, Last 2 bytes\r
-#define AT91C_EMAC_SA1L ((AT91_REG *)  0xFFFDC098) // (EMAC) Specific Address 1 Bottom, First 4 bytes\r
-#define AT91C_EMAC_ELE  ((AT91_REG *)  0xFFFDC078) // (EMAC) Excessive Length Errors Register\r
-#define AT91C_EMAC_LCOL ((AT91_REG *)  0xFFFDC05C) // (EMAC) Late Collision Register\r
-#define AT91C_EMAC_RLE  ((AT91_REG *)  0xFFFDC088) // (EMAC) Receive Length Field Mismatch Register\r
-#define AT91C_EMAC_WOL  ((AT91_REG *)  0xFFFDC0C4) // (EMAC) Wake On LAN Register\r
-#define AT91C_EMAC_DTF  ((AT91_REG *)  0xFFFDC058) // (EMAC) Deferred Transmission Frame Register\r
-#define AT91C_EMAC_TUND ((AT91_REG *)  0xFFFDC064) // (EMAC) Transmit Underrun Error Register\r
-#define AT91C_EMAC_NCR  ((AT91_REG *)  0xFFFDC000) // (EMAC) Network Control Register\r
-#define AT91C_EMAC_SA4L ((AT91_REG *)  0xFFFDC0B0) // (EMAC) Specific Address 4 Bottom, First 4 bytes\r
-#define AT91C_EMAC_RSR  ((AT91_REG *)  0xFFFDC020) // (EMAC) Receive Status Register\r
-#define AT91C_EMAC_SA3L ((AT91_REG *)  0xFFFDC0A8) // (EMAC) Specific Address 3 Bottom, First 4 bytes\r
-#define AT91C_EMAC_TSR  ((AT91_REG *)  0xFFFDC014) // (EMAC) Transmit Status Register\r
-#define AT91C_EMAC_IDR  ((AT91_REG *)  0xFFFDC02C) // (EMAC) Interrupt Disable Register\r
-#define AT91C_EMAC_RSE  ((AT91_REG *)  0xFFFDC074) // (EMAC) Receive Symbol Errors Register\r
-#define AT91C_EMAC_ECOL ((AT91_REG *)  0xFFFDC060) // (EMAC) Excessive Collision Register\r
-#define AT91C_EMAC_TID  ((AT91_REG *)  0xFFFDC0B8) // (EMAC) Type ID Checking Register\r
-#define AT91C_EMAC_HRB  ((AT91_REG *)  0xFFFDC090) // (EMAC) Hash Address Bottom[31:0]\r
-#define AT91C_EMAC_TBQP ((AT91_REG *)  0xFFFDC01C) // (EMAC) Transmit Buffer Queue Pointer\r
-#define AT91C_EMAC_USRIO ((AT91_REG *)         0xFFFDC0C0) // (EMAC) USER Input/Output Register\r
-#define AT91C_EMAC_PTR  ((AT91_REG *)  0xFFFDC038) // (EMAC) Pause Time Register\r
-#define AT91C_EMAC_SA2H ((AT91_REG *)  0xFFFDC0A4) // (EMAC) Specific Address 2 Top, Last 2 bytes\r
-#define AT91C_EMAC_ROV  ((AT91_REG *)  0xFFFDC070) // (EMAC) Receive Overrun Errors Register\r
-#define AT91C_EMAC_ALE  ((AT91_REG *)  0xFFFDC054) // (EMAC) Alignment Error Register\r
-#define AT91C_EMAC_RJA  ((AT91_REG *)  0xFFFDC07C) // (EMAC) Receive Jabbers Register\r
-#define AT91C_EMAC_RBQP ((AT91_REG *)  0xFFFDC018) // (EMAC) Receive Buffer Queue Pointer\r
-#define AT91C_EMAC_TPF  ((AT91_REG *)  0xFFFDC08C) // (EMAC) Transmitted Pause Frames Register\r
-#define AT91C_EMAC_NCFGR ((AT91_REG *)         0xFFFDC004) // (EMAC) Network Configuration Register\r
-#define AT91C_EMAC_HRT  ((AT91_REG *)  0xFFFDC094) // (EMAC) Hash Address Top[63:32]\r
-#define AT91C_EMAC_USF  ((AT91_REG *)  0xFFFDC080) // (EMAC) Undersize Frames Register\r
-#define AT91C_EMAC_FCSE ((AT91_REG *)  0xFFFDC050) // (EMAC) Frame Check Sequence Error Register\r
-#define AT91C_EMAC_TPQ  ((AT91_REG *)  0xFFFDC0BC) // (EMAC) Transmit Pause Quantum Register\r
-#define AT91C_EMAC_MAN  ((AT91_REG *)  0xFFFDC034) // (EMAC) PHY Maintenance Register\r
-#define AT91C_EMAC_FTO  ((AT91_REG *)  0xFFFDC040) // (EMAC) Frames Transmitted OK Register\r
-#define AT91C_EMAC_REV  ((AT91_REG *)  0xFFFDC0FC) // (EMAC) Revision Register\r
-#define AT91C_EMAC_IMR  ((AT91_REG *)  0xFFFDC030) // (EMAC) Interrupt Mask Register\r
-#define AT91C_EMAC_SCF  ((AT91_REG *)  0xFFFDC044) // (EMAC) Single Collision Frame Register\r
-#define AT91C_EMAC_PFR  ((AT91_REG *)  0xFFFDC03C) // (EMAC) Pause Frames received Register\r
-#define AT91C_EMAC_MCF  ((AT91_REG *)  0xFFFDC048) // (EMAC) Multiple Collision Frame Register\r
-#define AT91C_EMAC_NSR  ((AT91_REG *)  0xFFFDC008) // (EMAC) Network Status Register\r
-#define AT91C_EMAC_SA2L ((AT91_REG *)  0xFFFDC0A0) // (EMAC) Specific Address 2 Bottom, First 4 bytes\r
-#define AT91C_EMAC_FRO  ((AT91_REG *)  0xFFFDC04C) // (EMAC) Frames Received OK Register\r
-#define AT91C_EMAC_IER  ((AT91_REG *)  0xFFFDC028) // (EMAC) Interrupt Enable Register\r
-#define AT91C_EMAC_SA1H ((AT91_REG *)  0xFFFDC09C) // (EMAC) Specific Address 1 Top, Last 2 bytes\r
-#define AT91C_EMAC_CSE  ((AT91_REG *)  0xFFFDC068) // (EMAC) Carrier Sense Error Register\r
-#define AT91C_EMAC_SA3H ((AT91_REG *)  0xFFFDC0AC) // (EMAC) Specific Address 3 Top, Last 2 bytes\r
-#define AT91C_EMAC_RRE  ((AT91_REG *)  0xFFFDC06C) // (EMAC) Receive Ressource Error Register\r
-#define AT91C_EMAC_STE  ((AT91_REG *)  0xFFFDC084) // (EMAC) SQE Test Error Register\r
-// ========== Register definition for PDC_ADC peripheral ========== \r
-#define AT91C_ADC_PTSR  ((AT91_REG *)  0xFFFD8124) // (PDC_ADC) PDC Transfer Status Register\r
-#define AT91C_ADC_PTCR  ((AT91_REG *)  0xFFFD8120) // (PDC_ADC) PDC Transfer Control Register\r
-#define AT91C_ADC_TNPR  ((AT91_REG *)  0xFFFD8118) // (PDC_ADC) Transmit Next Pointer Register\r
-#define AT91C_ADC_TNCR  ((AT91_REG *)  0xFFFD811C) // (PDC_ADC) Transmit Next Counter Register\r
-#define AT91C_ADC_RNPR  ((AT91_REG *)  0xFFFD8110) // (PDC_ADC) Receive Next Pointer Register\r
-#define AT91C_ADC_RNCR  ((AT91_REG *)  0xFFFD8114) // (PDC_ADC) Receive Next Counter Register\r
-#define AT91C_ADC_RPR   ((AT91_REG *)  0xFFFD8100) // (PDC_ADC) Receive Pointer Register\r
-#define AT91C_ADC_TCR   ((AT91_REG *)  0xFFFD810C) // (PDC_ADC) Transmit Counter Register\r
-#define AT91C_ADC_TPR   ((AT91_REG *)  0xFFFD8108) // (PDC_ADC) Transmit Pointer Register\r
-#define AT91C_ADC_RCR   ((AT91_REG *)  0xFFFD8104) // (PDC_ADC) Receive Counter Register\r
-// ========== Register definition for ADC peripheral ========== \r
-#define AT91C_ADC_CDR2  ((AT91_REG *)  0xFFFD8038) // (ADC) ADC Channel Data Register 2\r
-#define AT91C_ADC_CDR3  ((AT91_REG *)  0xFFFD803C) // (ADC) ADC Channel Data Register 3\r
-#define AT91C_ADC_CDR0  ((AT91_REG *)  0xFFFD8030) // (ADC) ADC Channel Data Register 0\r
-#define AT91C_ADC_CDR5  ((AT91_REG *)  0xFFFD8044) // (ADC) ADC Channel Data Register 5\r
-#define AT91C_ADC_CHDR  ((AT91_REG *)  0xFFFD8014) // (ADC) ADC Channel Disable Register\r
-#define AT91C_ADC_SR    ((AT91_REG *)  0xFFFD801C) // (ADC) ADC Status Register\r
-#define AT91C_ADC_CDR4  ((AT91_REG *)  0xFFFD8040) // (ADC) ADC Channel Data Register 4\r
-#define AT91C_ADC_CDR1  ((AT91_REG *)  0xFFFD8034) // (ADC) ADC Channel Data Register 1\r
-#define AT91C_ADC_LCDR  ((AT91_REG *)  0xFFFD8020) // (ADC) ADC Last Converted Data Register\r
-#define AT91C_ADC_IDR   ((AT91_REG *)  0xFFFD8028) // (ADC) ADC Interrupt Disable Register\r
-#define AT91C_ADC_CR    ((AT91_REG *)  0xFFFD8000) // (ADC) ADC Control Register\r
-#define AT91C_ADC_CDR7  ((AT91_REG *)  0xFFFD804C) // (ADC) ADC Channel Data Register 7\r
-#define AT91C_ADC_CDR6  ((AT91_REG *)  0xFFFD8048) // (ADC) ADC Channel Data Register 6\r
-#define AT91C_ADC_IER   ((AT91_REG *)  0xFFFD8024) // (ADC) ADC Interrupt Enable Register\r
-#define AT91C_ADC_CHER  ((AT91_REG *)  0xFFFD8010) // (ADC) ADC Channel Enable Register\r
-#define AT91C_ADC_CHSR  ((AT91_REG *)  0xFFFD8018) // (ADC) ADC Channel Status Register\r
-#define AT91C_ADC_MR    ((AT91_REG *)  0xFFFD8004) // (ADC) ADC Mode Register\r
-#define AT91C_ADC_IMR   ((AT91_REG *)  0xFFFD802C) // (ADC) ADC Interrupt Mask Register\r
-// ========== Register definition for PDC_AES peripheral ========== \r
-#define AT91C_AES_TPR   ((AT91_REG *)  0xFFFA4108) // (PDC_AES) Transmit Pointer Register\r
-#define AT91C_AES_PTCR  ((AT91_REG *)  0xFFFA4120) // (PDC_AES) PDC Transfer Control Register\r
-#define AT91C_AES_RNPR  ((AT91_REG *)  0xFFFA4110) // (PDC_AES) Receive Next Pointer Register\r
-#define AT91C_AES_TNCR  ((AT91_REG *)  0xFFFA411C) // (PDC_AES) Transmit Next Counter Register\r
-#define AT91C_AES_TCR   ((AT91_REG *)  0xFFFA410C) // (PDC_AES) Transmit Counter Register\r
-#define AT91C_AES_RCR   ((AT91_REG *)  0xFFFA4104) // (PDC_AES) Receive Counter Register\r
-#define AT91C_AES_RNCR  ((AT91_REG *)  0xFFFA4114) // (PDC_AES) Receive Next Counter Register\r
-#define AT91C_AES_TNPR  ((AT91_REG *)  0xFFFA4118) // (PDC_AES) Transmit Next Pointer Register\r
-#define AT91C_AES_RPR   ((AT91_REG *)  0xFFFA4100) // (PDC_AES) Receive Pointer Register\r
-#define AT91C_AES_PTSR  ((AT91_REG *)  0xFFFA4124) // (PDC_AES) PDC Transfer Status Register\r
-// ========== Register definition for AES peripheral ========== \r
-#define AT91C_AES_IVxR  ((AT91_REG *)  0xFFFA4060) // (AES) Initialization Vector x Register\r
-#define AT91C_AES_MR    ((AT91_REG *)  0xFFFA4004) // (AES) Mode Register\r
-#define AT91C_AES_VR    ((AT91_REG *)  0xFFFA40FC) // (AES) AES Version Register\r
-#define AT91C_AES_ODATAxR ((AT91_REG *)        0xFFFA4050) // (AES) Output Data x Register\r
-#define AT91C_AES_IDATAxR ((AT91_REG *)        0xFFFA4040) // (AES) Input Data x Register\r
-#define AT91C_AES_CR    ((AT91_REG *)  0xFFFA4000) // (AES) Control Register\r
-#define AT91C_AES_IDR   ((AT91_REG *)  0xFFFA4014) // (AES) Interrupt Disable Register\r
-#define AT91C_AES_IMR   ((AT91_REG *)  0xFFFA4018) // (AES) Interrupt Mask Register\r
-#define AT91C_AES_IER   ((AT91_REG *)  0xFFFA4010) // (AES) Interrupt Enable Register\r
-#define AT91C_AES_KEYWxR ((AT91_REG *)         0xFFFA4020) // (AES) Key Word x Register\r
-#define AT91C_AES_ISR   ((AT91_REG *)  0xFFFA401C) // (AES) Interrupt Status Register\r
-// ========== Register definition for PDC_TDES peripheral ========== \r
-#define AT91C_TDES_RNCR ((AT91_REG *)  0xFFFA8114) // (PDC_TDES) Receive Next Counter Register\r
-#define AT91C_TDES_TCR  ((AT91_REG *)  0xFFFA810C) // (PDC_TDES) Transmit Counter Register\r
-#define AT91C_TDES_RCR  ((AT91_REG *)  0xFFFA8104) // (PDC_TDES) Receive Counter Register\r
-#define AT91C_TDES_TNPR ((AT91_REG *)  0xFFFA8118) // (PDC_TDES) Transmit Next Pointer Register\r
-#define AT91C_TDES_RNPR ((AT91_REG *)  0xFFFA8110) // (PDC_TDES) Receive Next Pointer Register\r
-#define AT91C_TDES_RPR  ((AT91_REG *)  0xFFFA8100) // (PDC_TDES) Receive Pointer Register\r
-#define AT91C_TDES_TNCR ((AT91_REG *)  0xFFFA811C) // (PDC_TDES) Transmit Next Counter Register\r
-#define AT91C_TDES_TPR  ((AT91_REG *)  0xFFFA8108) // (PDC_TDES) Transmit Pointer Register\r
-#define AT91C_TDES_PTSR ((AT91_REG *)  0xFFFA8124) // (PDC_TDES) PDC Transfer Status Register\r
-#define AT91C_TDES_PTCR ((AT91_REG *)  0xFFFA8120) // (PDC_TDES) PDC Transfer Control Register\r
-// ========== Register definition for TDES peripheral ========== \r
-#define AT91C_TDES_KEY2WxR ((AT91_REG *)       0xFFFA8028) // (TDES) Key 2 Word x Register\r
-#define AT91C_TDES_KEY3WxR ((AT91_REG *)       0xFFFA8030) // (TDES) Key 3 Word x Register\r
-#define AT91C_TDES_IDR  ((AT91_REG *)  0xFFFA8014) // (TDES) Interrupt Disable Register\r
-#define AT91C_TDES_VR   ((AT91_REG *)  0xFFFA80FC) // (TDES) TDES Version Register\r
-#define AT91C_TDES_IVxR ((AT91_REG *)  0xFFFA8060) // (TDES) Initialization Vector x Register\r
-#define AT91C_TDES_ODATAxR ((AT91_REG *)       0xFFFA8050) // (TDES) Output Data x Register\r
-#define AT91C_TDES_IMR  ((AT91_REG *)  0xFFFA8018) // (TDES) Interrupt Mask Register\r
-#define AT91C_TDES_MR   ((AT91_REG *)  0xFFFA8004) // (TDES) Mode Register\r
-#define AT91C_TDES_CR   ((AT91_REG *)  0xFFFA8000) // (TDES) Control Register\r
-#define AT91C_TDES_IER  ((AT91_REG *)  0xFFFA8010) // (TDES) Interrupt Enable Register\r
-#define AT91C_TDES_ISR  ((AT91_REG *)  0xFFFA801C) // (TDES) Interrupt Status Register\r
-#define AT91C_TDES_IDATAxR ((AT91_REG *)       0xFFFA8040) // (TDES) Input Data x Register\r
-#define AT91C_TDES_KEY1WxR ((AT91_REG *)       0xFFFA8020) // (TDES) Key 1 Word x Register\r
-\r
-// *****************************************************************************\r
-//               PIO DEFINITIONS FOR AT91SAM7X256\r
-// *****************************************************************************\r
-#define AT91C_PIO_PA0        ((unsigned int) 1 <<  0) // Pin Controlled by PA0\r
-#define AT91C_PA0_RXD0     ((unsigned int) AT91C_PIO_PA0) //  USART 0 Receive Data\r
-#define AT91C_PIO_PA1        ((unsigned int) 1 <<  1) // Pin Controlled by PA1\r
-#define AT91C_PA1_TXD0     ((unsigned int) AT91C_PIO_PA1) //  USART 0 Transmit Data\r
-#define AT91C_PIO_PA10       ((unsigned int) 1 << 10) // Pin Controlled by PA10\r
-#define AT91C_PA10_TWD      ((unsigned int) AT91C_PIO_PA10) //  TWI Two-wire Serial Data\r
-#define AT91C_PIO_PA11       ((unsigned int) 1 << 11) // Pin Controlled by PA11\r
-#define AT91C_PA11_TWCK     ((unsigned int) AT91C_PIO_PA11) //  TWI Two-wire Serial Clock\r
-#define AT91C_PIO_PA12       ((unsigned int) 1 << 12) // Pin Controlled by PA12\r
-#define AT91C_PA12_NPCS00   ((unsigned int) AT91C_PIO_PA12) //  SPI 0 Peripheral Chip Select 0\r
-#define AT91C_PIO_PA13       ((unsigned int) 1 << 13) // Pin Controlled by PA13\r
-#define AT91C_PA13_NPCS01   ((unsigned int) AT91C_PIO_PA13) //  SPI 0 Peripheral Chip Select 1\r
-#define AT91C_PA13_PCK1     ((unsigned int) AT91C_PIO_PA13) //  PMC Programmable Clock Output 1\r
-#define AT91C_PIO_PA14       ((unsigned int) 1 << 14) // Pin Controlled by PA14\r
-#define AT91C_PA14_NPCS02   ((unsigned int) AT91C_PIO_PA14) //  SPI 0 Peripheral Chip Select 2\r
-#define AT91C_PA14_IRQ1     ((unsigned int) AT91C_PIO_PA14) //  External Interrupt 1\r
-#define AT91C_PIO_PA15       ((unsigned int) 1 << 15) // Pin Controlled by PA15\r
-#define AT91C_PA15_NPCS03   ((unsigned int) AT91C_PIO_PA15) //  SPI 0 Peripheral Chip Select 3\r
-#define AT91C_PA15_TCLK2    ((unsigned int) AT91C_PIO_PA15) //  Timer Counter 2 external clock input\r
-#define AT91C_PIO_PA16       ((unsigned int) 1 << 16) // Pin Controlled by PA16\r
-#define AT91C_PA16_MISO0    ((unsigned int) AT91C_PIO_PA16) //  SPI 0 Master In Slave\r
-#define AT91C_PIO_PA17       ((unsigned int) 1 << 17) // Pin Controlled by PA17\r
-#define AT91C_PA17_MOSI0    ((unsigned int) AT91C_PIO_PA17) //  SPI 0 Master Out Slave\r
-#define AT91C_PIO_PA18       ((unsigned int) 1 << 18) // Pin Controlled by PA18\r
-#define AT91C_PA18_SPCK0    ((unsigned int) AT91C_PIO_PA18) //  SPI 0 Serial Clock\r
-#define AT91C_PIO_PA19       ((unsigned int) 1 << 19) // Pin Controlled by PA19\r
-#define AT91C_PA19_CANRX    ((unsigned int) AT91C_PIO_PA19) //  CAN Receive\r
-#define AT91C_PIO_PA2        ((unsigned int) 1 <<  2) // Pin Controlled by PA2\r
-#define AT91C_PA2_SCK0     ((unsigned int) AT91C_PIO_PA2) //  USART 0 Serial Clock\r
-#define AT91C_PA2_NPCS11   ((unsigned int) AT91C_PIO_PA2) //  SPI 1 Peripheral Chip Select 1\r
-#define AT91C_PIO_PA20       ((unsigned int) 1 << 20) // Pin Controlled by PA20\r
-#define AT91C_PA20_CANTX    ((unsigned int) AT91C_PIO_PA20) //  CAN Transmit\r
-#define AT91C_PIO_PA21       ((unsigned int) 1 << 21) // Pin Controlled by PA21\r
-#define AT91C_PA21_TF       ((unsigned int) AT91C_PIO_PA21) //  SSC Transmit Frame Sync\r
-#define AT91C_PA21_NPCS10   ((unsigned int) AT91C_PIO_PA21) //  SPI 1 Peripheral Chip Select 0\r
-#define AT91C_PIO_PA22       ((unsigned int) 1 << 22) // Pin Controlled by PA22\r
-#define AT91C_PA22_TK       ((unsigned int) AT91C_PIO_PA22) //  SSC Transmit Clock\r
-#define AT91C_PA22_SPCK1    ((unsigned int) AT91C_PIO_PA22) //  SPI 1 Serial Clock\r
-#define AT91C_PIO_PA23       ((unsigned int) 1 << 23) // Pin Controlled by PA23\r
-#define AT91C_PA23_TD       ((unsigned int) AT91C_PIO_PA23) //  SSC Transmit data\r
-#define AT91C_PA23_MOSI1    ((unsigned int) AT91C_PIO_PA23) //  SPI 1 Master Out Slave\r
-#define AT91C_PIO_PA24       ((unsigned int) 1 << 24) // Pin Controlled by PA24\r
-#define AT91C_PA24_RD       ((unsigned int) AT91C_PIO_PA24) //  SSC Receive Data\r
-#define AT91C_PA24_MISO1    ((unsigned int) AT91C_PIO_PA24) //  SPI 1 Master In Slave\r
-#define AT91C_PIO_PA25       ((unsigned int) 1 << 25) // Pin Controlled by PA25\r
-#define AT91C_PA25_RK       ((unsigned int) AT91C_PIO_PA25) //  SSC Receive Clock\r
-#define AT91C_PA25_NPCS11   ((unsigned int) AT91C_PIO_PA25) //  SPI 1 Peripheral Chip Select 1\r
-#define AT91C_PIO_PA26       ((unsigned int) 1 << 26) // Pin Controlled by PA26\r
-#define AT91C_PA26_RF       ((unsigned int) AT91C_PIO_PA26) //  SSC Receive Frame Sync\r
-#define AT91C_PA26_NPCS12   ((unsigned int) AT91C_PIO_PA26) //  SPI 1 Peripheral Chip Select 2\r
-#define AT91C_PIO_PA27       ((unsigned int) 1 << 27) // Pin Controlled by PA27\r
-#define AT91C_PA27_DRXD     ((unsigned int) AT91C_PIO_PA27) //  DBGU Debug Receive Data\r
-#define AT91C_PA27_PCK3     ((unsigned int) AT91C_PIO_PA27) //  PMC Programmable Clock Output 3\r
-#define AT91C_PIO_PA28       ((unsigned int) 1 << 28) // Pin Controlled by PA28\r
-#define AT91C_PA28_DTXD     ((unsigned int) AT91C_PIO_PA28) //  DBGU Debug Transmit Data\r
-#define AT91C_PIO_PA29       ((unsigned int) 1 << 29) // Pin Controlled by PA29\r
-#define AT91C_PA29_FIQ      ((unsigned int) AT91C_PIO_PA29) //  AIC Fast Interrupt Input\r
-#define AT91C_PA29_NPCS13   ((unsigned int) AT91C_PIO_PA29) //  SPI 1 Peripheral Chip Select 3\r
-#define AT91C_PIO_PA3        ((unsigned int) 1 <<  3) // Pin Controlled by PA3\r
-#define AT91C_PA3_RTS0     ((unsigned int) AT91C_PIO_PA3) //  USART 0 Ready To Send\r
-#define AT91C_PA3_NPCS12   ((unsigned int) AT91C_PIO_PA3) //  SPI 1 Peripheral Chip Select 2\r
-#define AT91C_PIO_PA30       ((unsigned int) 1 << 30) // Pin Controlled by PA30\r
-#define AT91C_PA30_IRQ0     ((unsigned int) AT91C_PIO_PA30) //  External Interrupt 0\r
-#define AT91C_PA30_PCK2     ((unsigned int) AT91C_PIO_PA30) //  PMC Programmable Clock Output 2\r
-#define AT91C_PIO_PA4        ((unsigned int) 1 <<  4) // Pin Controlled by PA4\r
-#define AT91C_PA4_CTS0     ((unsigned int) AT91C_PIO_PA4) //  USART 0 Clear To Send\r
-#define AT91C_PA4_NPCS13   ((unsigned int) AT91C_PIO_PA4) //  SPI 1 Peripheral Chip Select 3\r
-#define AT91C_PIO_PA5        ((unsigned int) 1 <<  5) // Pin Controlled by PA5\r
-#define AT91C_PA5_RXD1     ((unsigned int) AT91C_PIO_PA5) //  USART 1 Receive Data\r
-#define AT91C_PIO_PA6        ((unsigned int) 1 <<  6) // Pin Controlled by PA6\r
-#define AT91C_PA6_TXD1     ((unsigned int) AT91C_PIO_PA6) //  USART 1 Transmit Data\r
-#define AT91C_PIO_PA7        ((unsigned int) 1 <<  7) // Pin Controlled by PA7\r
-#define AT91C_PA7_SCK1     ((unsigned int) AT91C_PIO_PA7) //  USART 1 Serial Clock\r
-#define AT91C_PA7_NPCS01   ((unsigned int) AT91C_PIO_PA7) //  SPI 0 Peripheral Chip Select 1\r
-#define AT91C_PIO_PA8        ((unsigned int) 1 <<  8) // Pin Controlled by PA8\r
-#define AT91C_PA8_RTS1     ((unsigned int) AT91C_PIO_PA8) //  USART 1 Ready To Send\r
-#define AT91C_PA8_NPCS02   ((unsigned int) AT91C_PIO_PA8) //  SPI 0 Peripheral Chip Select 2\r
-#define AT91C_PIO_PA9        ((unsigned int) 1 <<  9) // Pin Controlled by PA9\r
-#define AT91C_PA9_CTS1     ((unsigned int) AT91C_PIO_PA9) //  USART 1 Clear To Send\r
-#define AT91C_PA9_NPCS03   ((unsigned int) AT91C_PIO_PA9) //  SPI 0 Peripheral Chip Select 3\r
-#define AT91C_PIO_PB0        ((unsigned int) 1 <<  0) // Pin Controlled by PB0\r
-#define AT91C_PB0_ETXCK_EREFCK ((unsigned int) AT91C_PIO_PB0) //  Ethernet MAC Transmit Clock/Reference Clock\r
-#define AT91C_PB0_PCK0     ((unsigned int) AT91C_PIO_PB0) //  PMC Programmable Clock Output 0\r
-#define AT91C_PIO_PB1        ((unsigned int) 1 <<  1) // Pin Controlled by PB1\r
-#define AT91C_PB1_ETXEN    ((unsigned int) AT91C_PIO_PB1) //  Ethernet MAC Transmit Enable\r
-#define AT91C_PIO_PB10       ((unsigned int) 1 << 10) // Pin Controlled by PB10\r
-#define AT91C_PB10_ETX2     ((unsigned int) AT91C_PIO_PB10) //  Ethernet MAC Transmit Data 2\r
-#define AT91C_PB10_NPCS11   ((unsigned int) AT91C_PIO_PB10) //  SPI 1 Peripheral Chip Select 1\r
-#define AT91C_PIO_PB11       ((unsigned int) 1 << 11) // Pin Controlled by PB11\r
-#define AT91C_PB11_ETX3     ((unsigned int) AT91C_PIO_PB11) //  Ethernet MAC Transmit Data 3\r
-#define AT91C_PB11_NPCS12   ((unsigned int) AT91C_PIO_PB11) //  SPI 1 Peripheral Chip Select 2\r
-#define AT91C_PIO_PB12       ((unsigned int) 1 << 12) // Pin Controlled by PB12\r
-#define AT91C_PB12_ETXER    ((unsigned int) AT91C_PIO_PB12) //  Ethernet MAC Transmikt Coding Error\r
-#define AT91C_PB12_TCLK0    ((unsigned int) AT91C_PIO_PB12) //  Timer Counter 0 external clock input\r
-#define AT91C_PIO_PB13       ((unsigned int) 1 << 13) // Pin Controlled by PB13\r
-#define AT91C_PB13_ERX2     ((unsigned int) AT91C_PIO_PB13) //  Ethernet MAC Receive Data 2\r
-#define AT91C_PB13_NPCS01   ((unsigned int) AT91C_PIO_PB13) //  SPI 0 Peripheral Chip Select 1\r
-#define AT91C_PIO_PB14       ((unsigned int) 1 << 14) // Pin Controlled by PB14\r
-#define AT91C_PB14_ERX3     ((unsigned int) AT91C_PIO_PB14) //  Ethernet MAC Receive Data 3\r
-#define AT91C_PB14_NPCS02   ((unsigned int) AT91C_PIO_PB14) //  SPI 0 Peripheral Chip Select 2\r
-#define AT91C_PIO_PB15       ((unsigned int) 1 << 15) // Pin Controlled by PB15\r
-#define AT91C_PB15_ERXDV    ((unsigned int) AT91C_PIO_PB15) //  Ethernet MAC Receive Data Valid\r
-#define AT91C_PIO_PB16       ((unsigned int) 1 << 16) // Pin Controlled by PB16\r
-#define AT91C_PB16_ECOL     ((unsigned int) AT91C_PIO_PB16) //  Ethernet MAC Collision Detected\r
-#define AT91C_PB16_NPCS13   ((unsigned int) AT91C_PIO_PB16) //  SPI 1 Peripheral Chip Select 3\r
-#define AT91C_PIO_PB17       ((unsigned int) 1 << 17) // Pin Controlled by PB17\r
-#define AT91C_PB17_ERXCK    ((unsigned int) AT91C_PIO_PB17) //  Ethernet MAC Receive Clock\r
-#define AT91C_PB17_NPCS03   ((unsigned int) AT91C_PIO_PB17) //  SPI 0 Peripheral Chip Select 3\r
-#define AT91C_PIO_PB18       ((unsigned int) 1 << 18) // Pin Controlled by PB18\r
-#define AT91C_PB18_EF100    ((unsigned int) AT91C_PIO_PB18) //  Ethernet MAC Force 100 Mbits/sec\r
-#define AT91C_PB18_ADTRG    ((unsigned int) AT91C_PIO_PB18) //  ADC External Trigger\r
-#define AT91C_PIO_PB19       ((unsigned int) 1 << 19) // Pin Controlled by PB19\r
-#define AT91C_PB19_PWM0     ((unsigned int) AT91C_PIO_PB19) //  PWM Channel 0\r
-#define AT91C_PB19_TCLK1    ((unsigned int) AT91C_PIO_PB19) //  Timer Counter 1 external clock input\r
-#define AT91C_PIO_PB2        ((unsigned int) 1 <<  2) // Pin Controlled by PB2\r
-#define AT91C_PB2_ETX0     ((unsigned int) AT91C_PIO_PB2) //  Ethernet MAC Transmit Data 0\r
-#define AT91C_PIO_PB20       ((unsigned int) 1 << 20) // Pin Controlled by PB20\r
-#define AT91C_PB20_PWM1     ((unsigned int) AT91C_PIO_PB20) //  PWM Channel 1\r
-#define AT91C_PB20_PCK0     ((unsigned int) AT91C_PIO_PB20) //  PMC Programmable Clock Output 0\r
-#define AT91C_PIO_PB21       ((unsigned int) 1 << 21) // Pin Controlled by PB21\r
-#define AT91C_PB21_PWM2     ((unsigned int) AT91C_PIO_PB21) //  PWM Channel 2\r
-#define AT91C_PB21_PCK1     ((unsigned int) AT91C_PIO_PB21) //  PMC Programmable Clock Output 1\r
-#define AT91C_PIO_PB22       ((unsigned int) 1 << 22) // Pin Controlled by PB22\r
-#define AT91C_PB22_PWM3     ((unsigned int) AT91C_PIO_PB22) //  PWM Channel 3\r
-#define AT91C_PB22_PCK2     ((unsigned int) AT91C_PIO_PB22) //  PMC Programmable Clock Output 2\r
-#define AT91C_PIO_PB23       ((unsigned int) 1 << 23) // Pin Controlled by PB23\r
-#define AT91C_PB23_TIOA0    ((unsigned int) AT91C_PIO_PB23) //  Timer Counter 0 Multipurpose Timer I/O Pin A\r
-#define AT91C_PB23_DCD1     ((unsigned int) AT91C_PIO_PB23) //  USART 1 Data Carrier Detect\r
-#define AT91C_PIO_PB24       ((unsigned int) 1 << 24) // Pin Controlled by PB24\r
-#define AT91C_PB24_TIOB0    ((unsigned int) AT91C_PIO_PB24) //  Timer Counter 0 Multipurpose Timer I/O Pin B\r
-#define AT91C_PB24_DSR1     ((unsigned int) AT91C_PIO_PB24) //  USART 1 Data Set ready\r
-#define AT91C_PIO_PB25       ((unsigned int) 1 << 25) // Pin Controlled by PB25\r
-#define AT91C_PB25_TIOA1    ((unsigned int) AT91C_PIO_PB25) //  Timer Counter 1 Multipurpose Timer I/O Pin A\r
-#define AT91C_PB25_DTR1     ((unsigned int) AT91C_PIO_PB25) //  USART 1 Data Terminal ready\r
-#define AT91C_PIO_PB26       ((unsigned int) 1 << 26) // Pin Controlled by PB26\r
-#define AT91C_PB26_TIOB1    ((unsigned int) AT91C_PIO_PB26) //  Timer Counter 1 Multipurpose Timer I/O Pin B\r
-#define AT91C_PB26_RI1      ((unsigned int) AT91C_PIO_PB26) //  USART 1 Ring Indicator\r
-#define AT91C_PIO_PB27       ((unsigned int) 1 << 27) // Pin Controlled by PB27\r
-#define AT91C_PB27_TIOA2    ((unsigned int) AT91C_PIO_PB27) //  Timer Counter 2 Multipurpose Timer I/O Pin A\r
-#define AT91C_PB27_PWM0     ((unsigned int) AT91C_PIO_PB27) //  PWM Channel 0\r
-#define AT91C_PIO_PB28       ((unsigned int) 1 << 28) // Pin Controlled by PB28\r
-#define AT91C_PB28_TIOB2    ((unsigned int) AT91C_PIO_PB28) //  Timer Counter 2 Multipurpose Timer I/O Pin B\r
-#define AT91C_PB28_PWM1     ((unsigned int) AT91C_PIO_PB28) //  PWM Channel 1\r
-#define AT91C_PIO_PB29       ((unsigned int) 1 << 29) // Pin Controlled by PB29\r
-#define AT91C_PB29_PCK1     ((unsigned int) AT91C_PIO_PB29) //  PMC Programmable Clock Output 1\r
-#define AT91C_PB29_PWM2     ((unsigned int) AT91C_PIO_PB29) //  PWM Channel 2\r
-#define AT91C_PIO_PB3        ((unsigned int) 1 <<  3) // Pin Controlled by PB3\r
-#define AT91C_PB3_ETX1     ((unsigned int) AT91C_PIO_PB3) //  Ethernet MAC Transmit Data 1\r
-#define AT91C_PIO_PB30       ((unsigned int) 1 << 30) // Pin Controlled by PB30\r
-#define AT91C_PB30_PCK2     ((unsigned int) AT91C_PIO_PB30) //  PMC Programmable Clock Output 2\r
-#define AT91C_PB30_PWM3     ((unsigned int) AT91C_PIO_PB30) //  PWM Channel 3\r
-#define AT91C_PIO_PB4        ((unsigned int) 1 <<  4) // Pin Controlled by PB4\r
-#define AT91C_PB4_ECRS_ECRSDV ((unsigned int) AT91C_PIO_PB4) //  Ethernet MAC Carrier Sense/Carrier Sense and Data Valid\r
-#define AT91C_PIO_PB5        ((unsigned int) 1 <<  5) // Pin Controlled by PB5\r
-#define AT91C_PB5_ERX0     ((unsigned int) AT91C_PIO_PB5) //  Ethernet MAC Receive Data 0\r
-#define AT91C_PIO_PB6        ((unsigned int) 1 <<  6) // Pin Controlled by PB6\r
-#define AT91C_PB6_ERX1     ((unsigned int) AT91C_PIO_PB6) //  Ethernet MAC Receive Data 1\r
-#define AT91C_PIO_PB7        ((unsigned int) 1 <<  7) // Pin Controlled by PB7\r
-#define AT91C_PB7_ERXER    ((unsigned int) AT91C_PIO_PB7) //  Ethernet MAC Receive Error\r
-#define AT91C_PIO_PB8        ((unsigned int) 1 <<  8) // Pin Controlled by PB8\r
-#define AT91C_PB8_EMDC     ((unsigned int) AT91C_PIO_PB8) //  Ethernet MAC Management Data Clock\r
-#define AT91C_PIO_PB9        ((unsigned int) 1 <<  9) // Pin Controlled by PB9\r
-#define AT91C_PB9_EMDIO    ((unsigned int) AT91C_PIO_PB9) //  Ethernet MAC Management Data Input/Output\r
-\r
-// *****************************************************************************\r
-//               PERIPHERAL ID DEFINITIONS FOR AT91SAM7X256\r
-// *****************************************************************************\r
-#define AT91C_ID_FIQ    ((unsigned int)  0) // Advanced Interrupt Controller (FIQ)\r
-#define AT91C_ID_SYS    ((unsigned int)  1) // System Peripheral\r
-#define AT91C_ID_PIOA   ((unsigned int)  2) // Parallel IO Controller A\r
-#define AT91C_ID_PIOB   ((unsigned int)  3) // Parallel IO Controller B\r
-#define AT91C_ID_SPI0   ((unsigned int)  4) // Serial Peripheral Interface 0\r
-#define AT91C_ID_SPI1   ((unsigned int)  5) // Serial Peripheral Interface 1\r
-#define AT91C_ID_US0    ((unsigned int)  6) // USART 0\r
-#define AT91C_ID_US1    ((unsigned int)  7) // USART 1\r
-#define AT91C_ID_SSC    ((unsigned int)  8) // Serial Synchronous Controller\r
-#define AT91C_ID_TWI    ((unsigned int)  9) // Two-Wire Interface\r
-#define AT91C_ID_PWMC   ((unsigned int) 10) // PWM Controller\r
-#define AT91C_ID_UDP    ((unsigned int) 11) // USB Device Port\r
-#define AT91C_ID_TC0    ((unsigned int) 12) // Timer Counter 0\r
-#define AT91C_ID_TC1    ((unsigned int) 13) // Timer Counter 1\r
-#define AT91C_ID_TC2    ((unsigned int) 14) // Timer Counter 2\r
-#define AT91C_ID_CAN    ((unsigned int) 15) // Control Area Network Controller\r
-#define AT91C_ID_EMAC   ((unsigned int) 16) // Ethernet MAC\r
-#define AT91C_ID_ADC    ((unsigned int) 17) // Analog-to-Digital Converter\r
-#define AT91C_ID_AES    ((unsigned int) 18) // Advanced Encryption Standard 128-bit\r
-#define AT91C_ID_TDES   ((unsigned int) 19) // Triple Data Encryption Standard\r
-#define AT91C_ID_20_Reserved ((unsigned int) 20) // Reserved\r
-#define AT91C_ID_21_Reserved ((unsigned int) 21) // Reserved\r
-#define AT91C_ID_22_Reserved ((unsigned int) 22) // Reserved\r
-#define AT91C_ID_23_Reserved ((unsigned int) 23) // Reserved\r
-#define AT91C_ID_24_Reserved ((unsigned int) 24) // Reserved\r
-#define AT91C_ID_25_Reserved ((unsigned int) 25) // Reserved\r
-#define AT91C_ID_26_Reserved ((unsigned int) 26) // Reserved\r
-#define AT91C_ID_27_Reserved ((unsigned int) 27) // Reserved\r
-#define AT91C_ID_28_Reserved ((unsigned int) 28) // Reserved\r
-#define AT91C_ID_29_Reserved ((unsigned int) 29) // Reserved\r
-#define AT91C_ID_IRQ0   ((unsigned int) 30) // Advanced Interrupt Controller (IRQ0)\r
-#define AT91C_ID_IRQ1   ((unsigned int) 31) // Advanced Interrupt Controller (IRQ1)\r
-\r
-// *****************************************************************************\r
-//               BASE ADDRESS DEFINITIONS FOR AT91SAM7X256\r
-// *****************************************************************************\r
-#define AT91C_BASE_SYS       ((AT91PS_SYS)     0xFFFFF000) // (SYS) Base Address\r
-#define AT91C_BASE_AIC       ((AT91PS_AIC)     0xFFFFF000) // (AIC) Base Address\r
-#define AT91C_BASE_PDC_DBGU  ((AT91PS_PDC)     0xFFFFF300) // (PDC_DBGU) Base Address\r
-#define AT91C_BASE_DBGU      ((AT91PS_DBGU)    0xFFFFF200) // (DBGU) Base Address\r
-#define AT91C_BASE_PIOA      ((AT91PS_PIO)     0xFFFFF400) // (PIOA) Base Address\r
-#define AT91C_BASE_PIOB      ((AT91PS_PIO)     0xFFFFF600) // (PIOB) Base Address\r
-#define AT91C_BASE_CKGR      ((AT91PS_CKGR)    0xFFFFFC20) // (CKGR) Base Address\r
-#define AT91C_BASE_PMC       ((AT91PS_PMC)     0xFFFFFC00) // (PMC) Base Address\r
-#define AT91C_BASE_RSTC      ((AT91PS_RSTC)    0xFFFFFD00) // (RSTC) Base Address\r
-#define AT91C_BASE_RTTC      ((AT91PS_RTTC)    0xFFFFFD20) // (RTTC) Base Address\r
-#define AT91C_BASE_PITC      ((AT91PS_PITC)    0xFFFFFD30) // (PITC) Base Address\r
-#define AT91C_BASE_WDTC      ((AT91PS_WDTC)    0xFFFFFD40) // (WDTC) Base Address\r
-#define AT91C_BASE_VREG      ((AT91PS_VREG)    0xFFFFFD60) // (VREG) Base Address\r
-#define AT91C_BASE_MC        ((AT91PS_MC)      0xFFFFFF00) // (MC) Base Address\r
-#define AT91C_BASE_PDC_SPI1  ((AT91PS_PDC)     0xFFFE4100) // (PDC_SPI1) Base Address\r
-#define AT91C_BASE_SPI1      ((AT91PS_SPI)     0xFFFE4000) // (SPI1) Base Address\r
-#define AT91C_BASE_PDC_SPI0  ((AT91PS_PDC)     0xFFFE0100) // (PDC_SPI0) Base Address\r
-#define AT91C_BASE_SPI0      ((AT91PS_SPI)     0xFFFE0000) // (SPI0) Base Address\r
-#define AT91C_BASE_PDC_US1   ((AT91PS_PDC)     0xFFFC4100) // (PDC_US1) Base Address\r
-#define AT91C_BASE_US1       ((AT91PS_USART)   0xFFFC4000) // (US1) Base Address\r
-#define AT91C_BASE_PDC_US0   ((AT91PS_PDC)     0xFFFC0100) // (PDC_US0) Base Address\r
-#define AT91C_BASE_US0       ((AT91PS_USART)   0xFFFC0000) // (US0) Base Address\r
-#define AT91C_BASE_PDC_SSC   ((AT91PS_PDC)     0xFFFD4100) // (PDC_SSC) Base Address\r
-#define AT91C_BASE_SSC       ((AT91PS_SSC)     0xFFFD4000) // (SSC) Base Address\r
-#define AT91C_BASE_TWI       ((AT91PS_TWI)     0xFFFB8000) // (TWI) Base Address\r
-#define AT91C_BASE_PWMC_CH3  ((AT91PS_PWMC_CH)         0xFFFCC260) // (PWMC_CH3) Base Address\r
-#define AT91C_BASE_PWMC_CH2  ((AT91PS_PWMC_CH)         0xFFFCC240) // (PWMC_CH2) Base Address\r
-#define AT91C_BASE_PWMC_CH1  ((AT91PS_PWMC_CH)         0xFFFCC220) // (PWMC_CH1) Base Address\r
-#define AT91C_BASE_PWMC_CH0  ((AT91PS_PWMC_CH)         0xFFFCC200) // (PWMC_CH0) Base Address\r
-#define AT91C_BASE_PWMC      ((AT91PS_PWMC)    0xFFFCC000) // (PWMC) Base Address\r
-#define AT91C_BASE_UDP       ((AT91PS_UDP)     0xFFFB0000) // (UDP) Base Address\r
-#define AT91C_BASE_TC0       ((AT91PS_TC)      0xFFFA0000) // (TC0) Base Address\r
-#define AT91C_BASE_TC1       ((AT91PS_TC)      0xFFFA0040) // (TC1) Base Address\r
-#define AT91C_BASE_TC2       ((AT91PS_TC)      0xFFFA0080) // (TC2) Base Address\r
-#define AT91C_BASE_TCB       ((AT91PS_TCB)     0xFFFA0000) // (TCB) Base Address\r
-#define AT91C_BASE_CAN_MB0   ((AT91PS_CAN_MB)  0xFFFD0200) // (CAN_MB0) Base Address\r
-#define AT91C_BASE_CAN_MB1   ((AT91PS_CAN_MB)  0xFFFD0220) // (CAN_MB1) Base Address\r
-#define AT91C_BASE_CAN_MB2   ((AT91PS_CAN_MB)  0xFFFD0240) // (CAN_MB2) Base Address\r
-#define AT91C_BASE_CAN_MB3   ((AT91PS_CAN_MB)  0xFFFD0260) // (CAN_MB3) Base Address\r
-#define AT91C_BASE_CAN_MB4   ((AT91PS_CAN_MB)  0xFFFD0280) // (CAN_MB4) Base Address\r
-#define AT91C_BASE_CAN_MB5   ((AT91PS_CAN_MB)  0xFFFD02A0) // (CAN_MB5) Base Address\r
-#define AT91C_BASE_CAN_MB6   ((AT91PS_CAN_MB)  0xFFFD02C0) // (CAN_MB6) Base Address\r
-#define AT91C_BASE_CAN_MB7   ((AT91PS_CAN_MB)  0xFFFD02E0) // (CAN_MB7) Base Address\r
-#define AT91C_BASE_CAN       ((AT91PS_CAN)     0xFFFD0000) // (CAN) Base Address\r
-#define AT91C_BASE_EMAC      ((AT91PS_EMAC)    0xFFFDC000) // (EMAC) Base Address\r
-#define AT91C_BASE_PDC_ADC   ((AT91PS_PDC)     0xFFFD8100) // (PDC_ADC) Base Address\r
-#define AT91C_BASE_ADC       ((AT91PS_ADC)     0xFFFD8000) // (ADC) Base Address\r
-#define AT91C_BASE_PDC_AES   ((AT91PS_PDC)     0xFFFA4100) // (PDC_AES) Base Address\r
-#define AT91C_BASE_AES       ((AT91PS_AES)     0xFFFA4000) // (AES) Base Address\r
-#define AT91C_BASE_PDC_TDES  ((AT91PS_PDC)     0xFFFA8100) // (PDC_TDES) Base Address\r
-#define AT91C_BASE_TDES      ((AT91PS_TDES)    0xFFFA8000) // (TDES) Base Address\r
-\r
-// *****************************************************************************\r
-//               MEMORY MAPPING DEFINITIONS FOR AT91SAM7X256\r
-// *****************************************************************************\r
-#define AT91C_ISRAM     ((char *)      0x00200000) // Internal SRAM base address\r
-#define AT91C_ISRAM_SIZE        ((unsigned int) 0x00010000) // Internal SRAM size in byte (64 Kbyte)\r
-#define AT91C_IFLASH    ((char *)      0x00100000) // Internal ROM base address\r
-#define AT91C_IFLASH_SIZE       ((unsigned int) 0x00040000) // Internal ROM size in byte (256 Kbyte)\r
-#endif /* __IAR_SYSTEMS_ICC__ */\r
-\r
-#ifdef __IAR_SYSTEMS_ASM__\r
-\r
-// - Hardware register definition\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR System Peripherals\r
-// - *****************************************************************************\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Advanced Interrupt Controller\r
-// - *****************************************************************************\r
-// - -------- AIC_SMR : (AIC Offset: 0x0) Control Register -------- \r
-AT91C_AIC_PRIOR           EQU (0x7 <<  0) ;- (AIC) Priority Level\r
-AT91C_AIC_PRIOR_LOWEST    EQU (0x0) ;- (AIC) Lowest priority level\r
-AT91C_AIC_PRIOR_HIGHEST   EQU (0x7) ;- (AIC) Highest priority level\r
-AT91C_AIC_SRCTYPE         EQU (0x3 <<  5) ;- (AIC) Interrupt Source Type\r
-AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL EQU (0x0 <<  5) ;- (AIC) Internal Sources Code Label High-level Sensitive\r
-AT91C_AIC_SRCTYPE_EXT_LOW_LEVEL EQU (0x0 <<  5) ;- (AIC) External Sources Code Label Low-level Sensitive\r
-AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE EQU (0x1 <<  5) ;- (AIC) Internal Sources Code Label Positive Edge triggered\r
-AT91C_AIC_SRCTYPE_EXT_NEGATIVE_EDGE EQU (0x1 <<  5) ;- (AIC) External Sources Code Label Negative Edge triggered\r
-AT91C_AIC_SRCTYPE_HIGH_LEVEL EQU (0x2 <<  5) ;- (AIC) Internal Or External Sources Code Label High-level Sensitive\r
-AT91C_AIC_SRCTYPE_POSITIVE_EDGE EQU (0x3 <<  5) ;- (AIC) Internal Or External Sources Code Label Positive Edge triggered\r
-// - -------- AIC_CISR : (AIC Offset: 0x114) AIC Core Interrupt Status Register -------- \r
-AT91C_AIC_NFIQ            EQU (0x1 <<  0) ;- (AIC) NFIQ Status\r
-AT91C_AIC_NIRQ            EQU (0x1 <<  1) ;- (AIC) NIRQ Status\r
-// - -------- AIC_DCR : (AIC Offset: 0x138) AIC Debug Control Register (Protect) -------- \r
-AT91C_AIC_DCR_PROT        EQU (0x1 <<  0) ;- (AIC) Protection Mode\r
-AT91C_AIC_DCR_GMSK        EQU (0x1 <<  1) ;- (AIC) General Mask\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Peripheral DMA Controller\r
-// - *****************************************************************************\r
-// - -------- PDC_PTCR : (PDC Offset: 0x20) PDC Transfer Control Register -------- \r
-AT91C_PDC_RXTEN           EQU (0x1 <<  0) ;- (PDC) Receiver Transfer Enable\r
-AT91C_PDC_RXTDIS          EQU (0x1 <<  1) ;- (PDC) Receiver Transfer Disable\r
-AT91C_PDC_TXTEN           EQU (0x1 <<  8) ;- (PDC) Transmitter Transfer Enable\r
-AT91C_PDC_TXTDIS          EQU (0x1 <<  9) ;- (PDC) Transmitter Transfer Disable\r
-// - -------- PDC_PTSR : (PDC Offset: 0x24) PDC Transfer Status Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Debug Unit\r
-// - *****************************************************************************\r
-// - -------- DBGU_CR : (DBGU Offset: 0x0) Debug Unit Control Register -------- \r
-AT91C_US_RSTRX            EQU (0x1 <<  2) ;- (DBGU) Reset Receiver\r
-AT91C_US_RSTTX            EQU (0x1 <<  3) ;- (DBGU) Reset Transmitter\r
-AT91C_US_RXEN             EQU (0x1 <<  4) ;- (DBGU) Receiver Enable\r
-AT91C_US_RXDIS            EQU (0x1 <<  5) ;- (DBGU) Receiver Disable\r
-AT91C_US_TXEN             EQU (0x1 <<  6) ;- (DBGU) Transmitter Enable\r
-AT91C_US_TXDIS            EQU (0x1 <<  7) ;- (DBGU) Transmitter Disable\r
-AT91C_US_RSTSTA           EQU (0x1 <<  8) ;- (DBGU) Reset Status Bits\r
-// - -------- DBGU_MR : (DBGU Offset: 0x4) Debug Unit Mode Register -------- \r
-AT91C_US_PAR              EQU (0x7 <<  9) ;- (DBGU) Parity type\r
-AT91C_US_PAR_EVEN         EQU (0x0 <<  9) ;- (DBGU) Even Parity\r
-AT91C_US_PAR_ODD          EQU (0x1 <<  9) ;- (DBGU) Odd Parity\r
-AT91C_US_PAR_SPACE        EQU (0x2 <<  9) ;- (DBGU) Parity forced to 0 (Space)\r
-AT91C_US_PAR_MARK         EQU (0x3 <<  9) ;- (DBGU) Parity forced to 1 (Mark)\r
-AT91C_US_PAR_NONE         EQU (0x4 <<  9) ;- (DBGU) No Parity\r
-AT91C_US_PAR_MULTI_DROP   EQU (0x6 <<  9) ;- (DBGU) Multi-drop mode\r
-AT91C_US_CHMODE           EQU (0x3 << 14) ;- (DBGU) Channel Mode\r
-AT91C_US_CHMODE_NORMAL    EQU (0x0 << 14) ;- (DBGU) Normal Mode: The USART channel operates as an RX/TX USART.\r
-AT91C_US_CHMODE_AUTO      EQU (0x1 << 14) ;- (DBGU) Automatic Echo: Receiver Data Input is connected to the TXD pin.\r
-AT91C_US_CHMODE_LOCAL     EQU (0x2 << 14) ;- (DBGU) Local Loopback: Transmitter Output Signal is connected to Receiver Input Signal.\r
-AT91C_US_CHMODE_REMOTE    EQU (0x3 << 14) ;- (DBGU) Remote Loopback: RXD pin is internally connected to TXD pin.\r
-// - -------- DBGU_IER : (DBGU Offset: 0x8) Debug Unit Interrupt Enable Register -------- \r
-AT91C_US_RXRDY            EQU (0x1 <<  0) ;- (DBGU) RXRDY Interrupt\r
-AT91C_US_TXRDY            EQU (0x1 <<  1) ;- (DBGU) TXRDY Interrupt\r
-AT91C_US_ENDRX            EQU (0x1 <<  3) ;- (DBGU) End of Receive Transfer Interrupt\r
-AT91C_US_ENDTX            EQU (0x1 <<  4) ;- (DBGU) End of Transmit Interrupt\r
-AT91C_US_OVRE             EQU (0x1 <<  5) ;- (DBGU) Overrun Interrupt\r
-AT91C_US_FRAME            EQU (0x1 <<  6) ;- (DBGU) Framing Error Interrupt\r
-AT91C_US_PARE             EQU (0x1 <<  7) ;- (DBGU) Parity Error Interrupt\r
-AT91C_US_TXEMPTY          EQU (0x1 <<  9) ;- (DBGU) TXEMPTY Interrupt\r
-AT91C_US_TXBUFE           EQU (0x1 << 11) ;- (DBGU) TXBUFE Interrupt\r
-AT91C_US_RXBUFF           EQU (0x1 << 12) ;- (DBGU) RXBUFF Interrupt\r
-AT91C_US_COMM_TX          EQU (0x1 << 30) ;- (DBGU) COMM_TX Interrupt\r
-AT91C_US_COMM_RX          EQU (0x1 << 31) ;- (DBGU) COMM_RX Interrupt\r
-// - -------- DBGU_IDR : (DBGU Offset: 0xc) Debug Unit Interrupt Disable Register -------- \r
-// - -------- DBGU_IMR : (DBGU Offset: 0x10) Debug Unit Interrupt Mask Register -------- \r
-// - -------- DBGU_CSR : (DBGU Offset: 0x14) Debug Unit Channel Status Register -------- \r
-// - -------- DBGU_FNTR : (DBGU Offset: 0x48) Debug Unit FORCE_NTRST Register -------- \r
-AT91C_US_FORCE_NTRST      EQU (0x1 <<  0) ;- (DBGU) Force NTRST in JTAG\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Parallel Input Output Controler\r
-// - *****************************************************************************\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Clock Generator Controler\r
-// - *****************************************************************************\r
-// - -------- CKGR_MOR : (CKGR Offset: 0x0) Main Oscillator Register -------- \r
-AT91C_CKGR_MOSCEN         EQU (0x1 <<  0) ;- (CKGR) Main Oscillator Enable\r
-AT91C_CKGR_OSCBYPASS      EQU (0x1 <<  1) ;- (CKGR) Main Oscillator Bypass\r
-AT91C_CKGR_OSCOUNT        EQU (0xFF <<  8) ;- (CKGR) Main Oscillator Start-up Time\r
-// - -------- CKGR_MCFR : (CKGR Offset: 0x4) Main Clock Frequency Register -------- \r
-AT91C_CKGR_MAINF          EQU (0xFFFF <<  0) ;- (CKGR) Main Clock Frequency\r
-AT91C_CKGR_MAINRDY        EQU (0x1 << 16) ;- (CKGR) Main Clock Ready\r
-// - -------- CKGR_PLLR : (CKGR Offset: 0xc) PLL B Register -------- \r
-AT91C_CKGR_DIV            EQU (0xFF <<  0) ;- (CKGR) Divider Selected\r
-AT91C_CKGR_DIV_0          EQU (0x0) ;- (CKGR) Divider output is 0\r
-AT91C_CKGR_DIV_BYPASS     EQU (0x1) ;- (CKGR) Divider is bypassed\r
-AT91C_CKGR_PLLCOUNT       EQU (0x3F <<  8) ;- (CKGR) PLL Counter\r
-AT91C_CKGR_OUT            EQU (0x3 << 14) ;- (CKGR) PLL Output Frequency Range\r
-AT91C_CKGR_OUT_0          EQU (0x0 << 14) ;- (CKGR) Please refer to the PLL datasheet\r
-AT91C_CKGR_OUT_1          EQU (0x1 << 14) ;- (CKGR) Please refer to the PLL datasheet\r
-AT91C_CKGR_OUT_2          EQU (0x2 << 14) ;- (CKGR) Please refer to the PLL datasheet\r
-AT91C_CKGR_OUT_3          EQU (0x3 << 14) ;- (CKGR) Please refer to the PLL datasheet\r
-AT91C_CKGR_MUL            EQU (0x7FF << 16) ;- (CKGR) PLL Multiplier\r
-AT91C_CKGR_USBDIV         EQU (0x3 << 28) ;- (CKGR) Divider for USB Clocks\r
-AT91C_CKGR_USBDIV_0       EQU (0x0 << 28) ;- (CKGR) Divider output is PLL clock output\r
-AT91C_CKGR_USBDIV_1       EQU (0x1 << 28) ;- (CKGR) Divider output is PLL clock output divided by 2\r
-AT91C_CKGR_USBDIV_2       EQU (0x2 << 28) ;- (CKGR) Divider output is PLL clock output divided by 4\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Power Management Controler\r
-// - *****************************************************************************\r
-// - -------- PMC_SCER : (PMC Offset: 0x0) System Clock Enable Register -------- \r
-AT91C_PMC_PCK             EQU (0x1 <<  0) ;- (PMC) Processor Clock\r
-AT91C_PMC_UDP             EQU (0x1 <<  7) ;- (PMC) USB Device Port Clock\r
-AT91C_PMC_PCK0            EQU (0x1 <<  8) ;- (PMC) Programmable Clock Output\r
-AT91C_PMC_PCK1            EQU (0x1 <<  9) ;- (PMC) Programmable Clock Output\r
-AT91C_PMC_PCK2            EQU (0x1 << 10) ;- (PMC) Programmable Clock Output\r
-AT91C_PMC_PCK3            EQU (0x1 << 11) ;- (PMC) Programmable Clock Output\r
-// - -------- PMC_SCDR : (PMC Offset: 0x4) System Clock Disable Register -------- \r
-// - -------- PMC_SCSR : (PMC Offset: 0x8) System Clock Status Register -------- \r
-// - -------- CKGR_MOR : (PMC Offset: 0x20) Main Oscillator Register -------- \r
-// - -------- CKGR_MCFR : (PMC Offset: 0x24) Main Clock Frequency Register -------- \r
-// - -------- CKGR_PLLR : (PMC Offset: 0x2c) PLL B Register -------- \r
-// - -------- PMC_MCKR : (PMC Offset: 0x30) Master Clock Register -------- \r
-AT91C_PMC_CSS             EQU (0x3 <<  0) ;- (PMC) Programmable Clock Selection\r
-AT91C_PMC_CSS_SLOW_CLK    EQU (0x0) ;- (PMC) Slow Clock is selected\r
-AT91C_PMC_CSS_MAIN_CLK    EQU (0x1) ;- (PMC) Main Clock is selected\r
-AT91C_PMC_CSS_PLL_CLK     EQU (0x3) ;- (PMC) Clock from PLL is selected\r
-AT91C_PMC_PRES            EQU (0x7 <<  2) ;- (PMC) Programmable Clock Prescaler\r
-AT91C_PMC_PRES_CLK        EQU (0x0 <<  2) ;- (PMC) Selected clock\r
-AT91C_PMC_PRES_CLK_2      EQU (0x1 <<  2) ;- (PMC) Selected clock divided by 2\r
-AT91C_PMC_PRES_CLK_4      EQU (0x2 <<  2) ;- (PMC) Selected clock divided by 4\r
-AT91C_PMC_PRES_CLK_8      EQU (0x3 <<  2) ;- (PMC) Selected clock divided by 8\r
-AT91C_PMC_PRES_CLK_16     EQU (0x4 <<  2) ;- (PMC) Selected clock divided by 16\r
-AT91C_PMC_PRES_CLK_32     EQU (0x5 <<  2) ;- (PMC) Selected clock divided by 32\r
-AT91C_PMC_PRES_CLK_64     EQU (0x6 <<  2) ;- (PMC) Selected clock divided by 64\r
-// - -------- PMC_PCKR : (PMC Offset: 0x40) Programmable Clock Register -------- \r
-// - -------- PMC_IER : (PMC Offset: 0x60) PMC Interrupt Enable Register -------- \r
-AT91C_PMC_MOSCS           EQU (0x1 <<  0) ;- (PMC) MOSC Status/Enable/Disable/Mask\r
-AT91C_PMC_LOCK            EQU (0x1 <<  2) ;- (PMC) PLL Status/Enable/Disable/Mask\r
-AT91C_PMC_MCKRDY          EQU (0x1 <<  3) ;- (PMC) MCK_RDY Status/Enable/Disable/Mask\r
-AT91C_PMC_PCK0RDY         EQU (0x1 <<  8) ;- (PMC) PCK0_RDY Status/Enable/Disable/Mask\r
-AT91C_PMC_PCK1RDY         EQU (0x1 <<  9) ;- (PMC) PCK1_RDY Status/Enable/Disable/Mask\r
-AT91C_PMC_PCK2RDY         EQU (0x1 << 10) ;- (PMC) PCK2_RDY Status/Enable/Disable/Mask\r
-AT91C_PMC_PCK3RDY         EQU (0x1 << 11) ;- (PMC) PCK3_RDY Status/Enable/Disable/Mask\r
-// - -------- PMC_IDR : (PMC Offset: 0x64) PMC Interrupt Disable Register -------- \r
-// - -------- PMC_SR : (PMC Offset: 0x68) PMC Status Register -------- \r
-// - -------- PMC_IMR : (PMC Offset: 0x6c) PMC Interrupt Mask Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Reset Controller Interface\r
-// - *****************************************************************************\r
-// - -------- RSTC_RCR : (RSTC Offset: 0x0) Reset Control Register -------- \r
-AT91C_RSTC_PROCRST        EQU (0x1 <<  0) ;- (RSTC) Processor Reset\r
-AT91C_RSTC_PERRST         EQU (0x1 <<  2) ;- (RSTC) Peripheral Reset\r
-AT91C_RSTC_EXTRST         EQU (0x1 <<  3) ;- (RSTC) External Reset\r
-AT91C_RSTC_KEY            EQU (0xFF << 24) ;- (RSTC) Password\r
-// - -------- RSTC_RSR : (RSTC Offset: 0x4) Reset Status Register -------- \r
-AT91C_RSTC_URSTS          EQU (0x1 <<  0) ;- (RSTC) User Reset Status\r
-AT91C_RSTC_BODSTS         EQU (0x1 <<  1) ;- (RSTC) Brownout Detection Status\r
-AT91C_RSTC_RSTTYP         EQU (0x7 <<  8) ;- (RSTC) Reset Type\r
-AT91C_RSTC_RSTTYP_POWERUP EQU (0x0 <<  8) ;- (RSTC) Power-up Reset. VDDCORE rising.\r
-AT91C_RSTC_RSTTYP_WAKEUP  EQU (0x1 <<  8) ;- (RSTC) WakeUp Reset. VDDCORE rising.\r
-AT91C_RSTC_RSTTYP_WATCHDOG EQU (0x2 <<  8) ;- (RSTC) Watchdog Reset. Watchdog overflow occured.\r
-AT91C_RSTC_RSTTYP_SOFTWARE EQU (0x3 <<  8) ;- (RSTC) Software Reset. Processor reset required by the software.\r
-AT91C_RSTC_RSTTYP_USER    EQU (0x4 <<  8) ;- (RSTC) User Reset. NRST pin detected low.\r
-AT91C_RSTC_RSTTYP_BROWNOUT EQU (0x5 <<  8) ;- (RSTC) Brownout Reset occured.\r
-AT91C_RSTC_NRSTL          EQU (0x1 << 16) ;- (RSTC) NRST pin level\r
-AT91C_RSTC_SRCMP          EQU (0x1 << 17) ;- (RSTC) Software Reset Command in Progress.\r
-// - -------- RSTC_RMR : (RSTC Offset: 0x8) Reset Mode Register -------- \r
-AT91C_RSTC_URSTEN         EQU (0x1 <<  0) ;- (RSTC) User Reset Enable\r
-AT91C_RSTC_URSTIEN        EQU (0x1 <<  4) ;- (RSTC) User Reset Interrupt Enable\r
-AT91C_RSTC_ERSTL          EQU (0xF <<  8) ;- (RSTC) User Reset Enable\r
-AT91C_RSTC_BODIEN         EQU (0x1 << 16) ;- (RSTC) Brownout Detection Interrupt Enable\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Real Time Timer Controller Interface\r
-// - *****************************************************************************\r
-// - -------- RTTC_RTMR : (RTTC Offset: 0x0) Real-time Mode Register -------- \r
-AT91C_RTTC_RTPRES         EQU (0xFFFF <<  0) ;- (RTTC) Real-time Timer Prescaler Value\r
-AT91C_RTTC_ALMIEN         EQU (0x1 << 16) ;- (RTTC) Alarm Interrupt Enable\r
-AT91C_RTTC_RTTINCIEN      EQU (0x1 << 17) ;- (RTTC) Real Time Timer Increment Interrupt Enable\r
-AT91C_RTTC_RTTRST         EQU (0x1 << 18) ;- (RTTC) Real Time Timer Restart\r
-// - -------- RTTC_RTAR : (RTTC Offset: 0x4) Real-time Alarm Register -------- \r
-AT91C_RTTC_ALMV           EQU (0x0 <<  0) ;- (RTTC) Alarm Value\r
-// - -------- RTTC_RTVR : (RTTC Offset: 0x8) Current Real-time Value Register -------- \r
-AT91C_RTTC_CRTV           EQU (0x0 <<  0) ;- (RTTC) Current Real-time Value\r
-// - -------- RTTC_RTSR : (RTTC Offset: 0xc) Real-time Status Register -------- \r
-AT91C_RTTC_ALMS           EQU (0x1 <<  0) ;- (RTTC) Real-time Alarm Status\r
-AT91C_RTTC_RTTINC         EQU (0x1 <<  1) ;- (RTTC) Real-time Timer Increment\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Periodic Interval Timer Controller Interface\r
-// - *****************************************************************************\r
-// - -------- PITC_PIMR : (PITC Offset: 0x0) Periodic Interval Mode Register -------- \r
-AT91C_PITC_PIV            EQU (0xFFFFF <<  0) ;- (PITC) Periodic Interval Value\r
-AT91C_PITC_PITEN          EQU (0x1 << 24) ;- (PITC) Periodic Interval Timer Enabled\r
-AT91C_PITC_PITIEN         EQU (0x1 << 25) ;- (PITC) Periodic Interval Timer Interrupt Enable\r
-// - -------- PITC_PISR : (PITC Offset: 0x4) Periodic Interval Status Register -------- \r
-AT91C_PITC_PITS           EQU (0x1 <<  0) ;- (PITC) Periodic Interval Timer Status\r
-// - -------- PITC_PIVR : (PITC Offset: 0x8) Periodic Interval Value Register -------- \r
-AT91C_PITC_CPIV           EQU (0xFFFFF <<  0) ;- (PITC) Current Periodic Interval Value\r
-AT91C_PITC_PICNT          EQU (0xFFF << 20) ;- (PITC) Periodic Interval Counter\r
-// - -------- PITC_PIIR : (PITC Offset: 0xc) Periodic Interval Image Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Watchdog Timer Controller Interface\r
-// - *****************************************************************************\r
-// - -------- WDTC_WDCR : (WDTC Offset: 0x0) Periodic Interval Image Register -------- \r
-AT91C_WDTC_WDRSTT         EQU (0x1 <<  0) ;- (WDTC) Watchdog Restart\r
-AT91C_WDTC_KEY            EQU (0xFF << 24) ;- (WDTC) Watchdog KEY Password\r
-// - -------- WDTC_WDMR : (WDTC Offset: 0x4) Watchdog Mode Register -------- \r
-AT91C_WDTC_WDV            EQU (0xFFF <<  0) ;- (WDTC) Watchdog Timer Restart\r
-AT91C_WDTC_WDFIEN         EQU (0x1 << 12) ;- (WDTC) Watchdog Fault Interrupt Enable\r
-AT91C_WDTC_WDRSTEN        EQU (0x1 << 13) ;- (WDTC) Watchdog Reset Enable\r
-AT91C_WDTC_WDRPROC        EQU (0x1 << 14) ;- (WDTC) Watchdog Timer Restart\r
-AT91C_WDTC_WDDIS          EQU (0x1 << 15) ;- (WDTC) Watchdog Disable\r
-AT91C_WDTC_WDD            EQU (0xFFF << 16) ;- (WDTC) Watchdog Delta Value\r
-AT91C_WDTC_WDDBGHLT       EQU (0x1 << 28) ;- (WDTC) Watchdog Debug Halt\r
-AT91C_WDTC_WDIDLEHLT      EQU (0x1 << 29) ;- (WDTC) Watchdog Idle Halt\r
-// - -------- WDTC_WDSR : (WDTC Offset: 0x8) Watchdog Status Register -------- \r
-AT91C_WDTC_WDUNF          EQU (0x1 <<  0) ;- (WDTC) Watchdog Underflow\r
-AT91C_WDTC_WDERR          EQU (0x1 <<  1) ;- (WDTC) Watchdog Error\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Voltage Regulator Mode Controller Interface\r
-// - *****************************************************************************\r
-// - -------- VREG_MR : (VREG Offset: 0x0) Voltage Regulator Mode Register -------- \r
-AT91C_VREG_PSTDBY         EQU (0x1 <<  0) ;- (VREG) Voltage Regulator Power Standby Mode\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Memory Controller Interface\r
-// - *****************************************************************************\r
-// - -------- MC_RCR : (MC Offset: 0x0) MC Remap Control Register -------- \r
-AT91C_MC_RCB              EQU (0x1 <<  0) ;- (MC) Remap Command Bit\r
-// - -------- MC_ASR : (MC Offset: 0x4) MC Abort Status Register -------- \r
-AT91C_MC_UNDADD           EQU (0x1 <<  0) ;- (MC) Undefined Addess Abort Status\r
-AT91C_MC_MISADD           EQU (0x1 <<  1) ;- (MC) Misaligned Addess Abort Status\r
-AT91C_MC_ABTSZ            EQU (0x3 <<  8) ;- (MC) Abort Size Status\r
-AT91C_MC_ABTSZ_BYTE       EQU (0x0 <<  8) ;- (MC) Byte\r
-AT91C_MC_ABTSZ_HWORD      EQU (0x1 <<  8) ;- (MC) Half-word\r
-AT91C_MC_ABTSZ_WORD       EQU (0x2 <<  8) ;- (MC) Word\r
-AT91C_MC_ABTTYP           EQU (0x3 << 10) ;- (MC) Abort Type Status\r
-AT91C_MC_ABTTYP_DATAR     EQU (0x0 << 10) ;- (MC) Data Read\r
-AT91C_MC_ABTTYP_DATAW     EQU (0x1 << 10) ;- (MC) Data Write\r
-AT91C_MC_ABTTYP_FETCH     EQU (0x2 << 10) ;- (MC) Code Fetch\r
-AT91C_MC_MST0             EQU (0x1 << 16) ;- (MC) Master 0 Abort Source\r
-AT91C_MC_MST1             EQU (0x1 << 17) ;- (MC) Master 1 Abort Source\r
-AT91C_MC_SVMST0           EQU (0x1 << 24) ;- (MC) Saved Master 0 Abort Source\r
-AT91C_MC_SVMST1           EQU (0x1 << 25) ;- (MC) Saved Master 1 Abort Source\r
-// - -------- MC_FMR : (MC Offset: 0x60) MC Flash Mode Register -------- \r
-AT91C_MC_FRDY             EQU (0x1 <<  0) ;- (MC) Flash Ready\r
-AT91C_MC_LOCKE            EQU (0x1 <<  2) ;- (MC) Lock Error\r
-AT91C_MC_PROGE            EQU (0x1 <<  3) ;- (MC) Programming Error\r
-AT91C_MC_NEBP             EQU (0x1 <<  7) ;- (MC) No Erase Before Programming\r
-AT91C_MC_FWS              EQU (0x3 <<  8) ;- (MC) Flash Wait State\r
-AT91C_MC_FWS_0FWS         EQU (0x0 <<  8) ;- (MC) 1 cycle for Read, 2 for Write operations\r
-AT91C_MC_FWS_1FWS         EQU (0x1 <<  8) ;- (MC) 2 cycles for Read, 3 for Write operations\r
-AT91C_MC_FWS_2FWS         EQU (0x2 <<  8) ;- (MC) 3 cycles for Read, 4 for Write operations\r
-AT91C_MC_FWS_3FWS         EQU (0x3 <<  8) ;- (MC) 4 cycles for Read, 4 for Write operations\r
-AT91C_MC_FMCN             EQU (0xFF << 16) ;- (MC) Flash Microsecond Cycle Number\r
-// - -------- MC_FCR : (MC Offset: 0x64) MC Flash Command Register -------- \r
-AT91C_MC_FCMD             EQU (0xF <<  0) ;- (MC) Flash Command\r
-AT91C_MC_FCMD_START_PROG  EQU (0x1) ;- (MC) Starts the programming of th epage specified by PAGEN.\r
-AT91C_MC_FCMD_LOCK        EQU (0x2) ;- (MC) Starts a lock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.\r
-AT91C_MC_FCMD_PROG_AND_LOCK EQU (0x3) ;- (MC) The lock sequence automatically happens after the programming sequence is completed.\r
-AT91C_MC_FCMD_UNLOCK      EQU (0x4) ;- (MC) Starts an unlock sequence of the sector defined by the bits 4 to 7 of the field PAGEN.\r
-AT91C_MC_FCMD_ERASE_ALL   EQU (0x8) ;- (MC) Starts the erase of the entire flash.If at least a page is locked, the command is cancelled.\r
-AT91C_MC_FCMD_SET_GP_NVM  EQU (0xB) ;- (MC) Set General Purpose NVM bits.\r
-AT91C_MC_FCMD_CLR_GP_NVM  EQU (0xD) ;- (MC) Clear General Purpose NVM bits.\r
-AT91C_MC_FCMD_SET_SECURITY EQU (0xF) ;- (MC) Set Security Bit.\r
-AT91C_MC_PAGEN            EQU (0x3FF <<  8) ;- (MC) Page Number\r
-AT91C_MC_KEY              EQU (0xFF << 24) ;- (MC) Writing Protect Key\r
-// - -------- MC_FSR : (MC Offset: 0x68) MC Flash Command Register -------- \r
-AT91C_MC_SECURITY         EQU (0x1 <<  4) ;- (MC) Security Bit Status\r
-AT91C_MC_GPNVM0           EQU (0x1 <<  8) ;- (MC) Sector 0 Lock Status\r
-AT91C_MC_GPNVM1           EQU (0x1 <<  9) ;- (MC) Sector 1 Lock Status\r
-AT91C_MC_GPNVM2           EQU (0x1 << 10) ;- (MC) Sector 2 Lock Status\r
-AT91C_MC_GPNVM3           EQU (0x1 << 11) ;- (MC) Sector 3 Lock Status\r
-AT91C_MC_GPNVM4           EQU (0x1 << 12) ;- (MC) Sector 4 Lock Status\r
-AT91C_MC_GPNVM5           EQU (0x1 << 13) ;- (MC) Sector 5 Lock Status\r
-AT91C_MC_GPNVM6           EQU (0x1 << 14) ;- (MC) Sector 6 Lock Status\r
-AT91C_MC_GPNVM7           EQU (0x1 << 15) ;- (MC) Sector 7 Lock Status\r
-AT91C_MC_LOCKS0           EQU (0x1 << 16) ;- (MC) Sector 0 Lock Status\r
-AT91C_MC_LOCKS1           EQU (0x1 << 17) ;- (MC) Sector 1 Lock Status\r
-AT91C_MC_LOCKS2           EQU (0x1 << 18) ;- (MC) Sector 2 Lock Status\r
-AT91C_MC_LOCKS3           EQU (0x1 << 19) ;- (MC) Sector 3 Lock Status\r
-AT91C_MC_LOCKS4           EQU (0x1 << 20) ;- (MC) Sector 4 Lock Status\r
-AT91C_MC_LOCKS5           EQU (0x1 << 21) ;- (MC) Sector 5 Lock Status\r
-AT91C_MC_LOCKS6           EQU (0x1 << 22) ;- (MC) Sector 6 Lock Status\r
-AT91C_MC_LOCKS7           EQU (0x1 << 23) ;- (MC) Sector 7 Lock Status\r
-AT91C_MC_LOCKS8           EQU (0x1 << 24) ;- (MC) Sector 8 Lock Status\r
-AT91C_MC_LOCKS9           EQU (0x1 << 25) ;- (MC) Sector 9 Lock Status\r
-AT91C_MC_LOCKS10          EQU (0x1 << 26) ;- (MC) Sector 10 Lock Status\r
-AT91C_MC_LOCKS11          EQU (0x1 << 27) ;- (MC) Sector 11 Lock Status\r
-AT91C_MC_LOCKS12          EQU (0x1 << 28) ;- (MC) Sector 12 Lock Status\r
-AT91C_MC_LOCKS13          EQU (0x1 << 29) ;- (MC) Sector 13 Lock Status\r
-AT91C_MC_LOCKS14          EQU (0x1 << 30) ;- (MC) Sector 14 Lock Status\r
-AT91C_MC_LOCKS15          EQU (0x1 << 31) ;- (MC) Sector 15 Lock Status\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Serial Parallel Interface\r
-// - *****************************************************************************\r
-// - -------- SPI_CR : (SPI Offset: 0x0) SPI Control Register -------- \r
-AT91C_SPI_SPIEN           EQU (0x1 <<  0) ;- (SPI) SPI Enable\r
-AT91C_SPI_SPIDIS          EQU (0x1 <<  1) ;- (SPI) SPI Disable\r
-AT91C_SPI_SWRST           EQU (0x1 <<  7) ;- (SPI) SPI Software reset\r
-AT91C_SPI_LASTXFER        EQU (0x1 << 24) ;- (SPI) SPI Last Transfer\r
-// - -------- SPI_MR : (SPI Offset: 0x4) SPI Mode Register -------- \r
-AT91C_SPI_MSTR            EQU (0x1 <<  0) ;- (SPI) Master/Slave Mode\r
-AT91C_SPI_PS              EQU (0x1 <<  1) ;- (SPI) Peripheral Select\r
-AT91C_SPI_PS_FIXED        EQU (0x0 <<  1) ;- (SPI) Fixed Peripheral Select\r
-AT91C_SPI_PS_VARIABLE     EQU (0x1 <<  1) ;- (SPI) Variable Peripheral Select\r
-AT91C_SPI_PCSDEC          EQU (0x1 <<  2) ;- (SPI) Chip Select Decode\r
-AT91C_SPI_FDIV            EQU (0x1 <<  3) ;- (SPI) Clock Selection\r
-AT91C_SPI_MODFDIS         EQU (0x1 <<  4) ;- (SPI) Mode Fault Detection\r
-AT91C_SPI_LLB             EQU (0x1 <<  7) ;- (SPI) Clock Selection\r
-AT91C_SPI_PCS             EQU (0xF << 16) ;- (SPI) Peripheral Chip Select\r
-AT91C_SPI_DLYBCS          EQU (0xFF << 24) ;- (SPI) Delay Between Chip Selects\r
-// - -------- SPI_RDR : (SPI Offset: 0x8) Receive Data Register -------- \r
-AT91C_SPI_RD              EQU (0xFFFF <<  0) ;- (SPI) Receive Data\r
-AT91C_SPI_RPCS            EQU (0xF << 16) ;- (SPI) Peripheral Chip Select Status\r
-// - -------- SPI_TDR : (SPI Offset: 0xc) Transmit Data Register -------- \r
-AT91C_SPI_TD              EQU (0xFFFF <<  0) ;- (SPI) Transmit Data\r
-AT91C_SPI_TPCS            EQU (0xF << 16) ;- (SPI) Peripheral Chip Select Status\r
-// - -------- SPI_SR : (SPI Offset: 0x10) Status Register -------- \r
-AT91C_SPI_RDRF            EQU (0x1 <<  0) ;- (SPI) Receive Data Register Full\r
-AT91C_SPI_TDRE            EQU (0x1 <<  1) ;- (SPI) Transmit Data Register Empty\r
-AT91C_SPI_MODF            EQU (0x1 <<  2) ;- (SPI) Mode Fault Error\r
-AT91C_SPI_OVRES           EQU (0x1 <<  3) ;- (SPI) Overrun Error Status\r
-AT91C_SPI_ENDRX           EQU (0x1 <<  4) ;- (SPI) End of Receiver Transfer\r
-AT91C_SPI_ENDTX           EQU (0x1 <<  5) ;- (SPI) End of Receiver Transfer\r
-AT91C_SPI_RXBUFF          EQU (0x1 <<  6) ;- (SPI) RXBUFF Interrupt\r
-AT91C_SPI_TXBUFE          EQU (0x1 <<  7) ;- (SPI) TXBUFE Interrupt\r
-AT91C_SPI_NSSR            EQU (0x1 <<  8) ;- (SPI) NSSR Interrupt\r
-AT91C_SPI_TXEMPTY         EQU (0x1 <<  9) ;- (SPI) TXEMPTY Interrupt\r
-AT91C_SPI_SPIENS          EQU (0x1 << 16) ;- (SPI) Enable Status\r
-// - -------- SPI_IER : (SPI Offset: 0x14) Interrupt Enable Register -------- \r
-// - -------- SPI_IDR : (SPI Offset: 0x18) Interrupt Disable Register -------- \r
-// - -------- SPI_IMR : (SPI Offset: 0x1c) Interrupt Mask Register -------- \r
-// - -------- SPI_CSR : (SPI Offset: 0x30) Chip Select Register -------- \r
-AT91C_SPI_CPOL            EQU (0x1 <<  0) ;- (SPI) Clock Polarity\r
-AT91C_SPI_NCPHA           EQU (0x1 <<  1) ;- (SPI) Clock Phase\r
-AT91C_SPI_CSAAT           EQU (0x1 <<  3) ;- (SPI) Chip Select Active After Transfer\r
-AT91C_SPI_BITS            EQU (0xF <<  4) ;- (SPI) Bits Per Transfer\r
-AT91C_SPI_BITS_8          EQU (0x0 <<  4) ;- (SPI) 8 Bits Per transfer\r
-AT91C_SPI_BITS_9          EQU (0x1 <<  4) ;- (SPI) 9 Bits Per transfer\r
-AT91C_SPI_BITS_10         EQU (0x2 <<  4) ;- (SPI) 10 Bits Per transfer\r
-AT91C_SPI_BITS_11         EQU (0x3 <<  4) ;- (SPI) 11 Bits Per transfer\r
-AT91C_SPI_BITS_12         EQU (0x4 <<  4) ;- (SPI) 12 Bits Per transfer\r
-AT91C_SPI_BITS_13         EQU (0x5 <<  4) ;- (SPI) 13 Bits Per transfer\r
-AT91C_SPI_BITS_14         EQU (0x6 <<  4) ;- (SPI) 14 Bits Per transfer\r
-AT91C_SPI_BITS_15         EQU (0x7 <<  4) ;- (SPI) 15 Bits Per transfer\r
-AT91C_SPI_BITS_16         EQU (0x8 <<  4) ;- (SPI) 16 Bits Per transfer\r
-AT91C_SPI_SCBR            EQU (0xFF <<  8) ;- (SPI) Serial Clock Baud Rate\r
-AT91C_SPI_DLYBS           EQU (0xFF << 16) ;- (SPI) Delay Before SPCK\r
-AT91C_SPI_DLYBCT          EQU (0xFF << 24) ;- (SPI) Delay Between Consecutive Transfers\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Usart\r
-// - *****************************************************************************\r
-// - -------- US_CR : (USART Offset: 0x0) Debug Unit Control Register -------- \r
-AT91C_US_STTBRK           EQU (0x1 <<  9) ;- (USART) Start Break\r
-AT91C_US_STPBRK           EQU (0x1 << 10) ;- (USART) Stop Break\r
-AT91C_US_STTTO            EQU (0x1 << 11) ;- (USART) Start Time-out\r
-AT91C_US_SENDA            EQU (0x1 << 12) ;- (USART) Send Address\r
-AT91C_US_RSTIT            EQU (0x1 << 13) ;- (USART) Reset Iterations\r
-AT91C_US_RSTNACK          EQU (0x1 << 14) ;- (USART) Reset Non Acknowledge\r
-AT91C_US_RETTO            EQU (0x1 << 15) ;- (USART) Rearm Time-out\r
-AT91C_US_DTREN            EQU (0x1 << 16) ;- (USART) Data Terminal ready Enable\r
-AT91C_US_DTRDIS           EQU (0x1 << 17) ;- (USART) Data Terminal ready Disable\r
-AT91C_US_RTSEN            EQU (0x1 << 18) ;- (USART) Request to Send enable\r
-AT91C_US_RTSDIS           EQU (0x1 << 19) ;- (USART) Request to Send Disable\r
-// - -------- US_MR : (USART Offset: 0x4) Debug Unit Mode Register -------- \r
-AT91C_US_USMODE           EQU (0xF <<  0) ;- (USART) Usart mode\r
-AT91C_US_USMODE_NORMAL    EQU (0x0) ;- (USART) Normal\r
-AT91C_US_USMODE_RS485     EQU (0x1) ;- (USART) RS485\r
-AT91C_US_USMODE_HWHSH     EQU (0x2) ;- (USART) Hardware Handshaking\r
-AT91C_US_USMODE_MODEM     EQU (0x3) ;- (USART) Modem\r
-AT91C_US_USMODE_ISO7816_0 EQU (0x4) ;- (USART) ISO7816 protocol: T = 0\r
-AT91C_US_USMODE_ISO7816_1 EQU (0x6) ;- (USART) ISO7816 protocol: T = 1\r
-AT91C_US_USMODE_IRDA      EQU (0x8) ;- (USART) IrDA\r
-AT91C_US_USMODE_SWHSH     EQU (0xC) ;- (USART) Software Handshaking\r
-AT91C_US_CLKS             EQU (0x3 <<  4) ;- (USART) Clock Selection (Baud Rate generator Input Clock\r
-AT91C_US_CLKS_CLOCK       EQU (0x0 <<  4) ;- (USART) Clock\r
-AT91C_US_CLKS_FDIV1       EQU (0x1 <<  4) ;- (USART) fdiv1\r
-AT91C_US_CLKS_SLOW        EQU (0x2 <<  4) ;- (USART) slow_clock (ARM)\r
-AT91C_US_CLKS_EXT         EQU (0x3 <<  4) ;- (USART) External (SCK)\r
-AT91C_US_CHRL             EQU (0x3 <<  6) ;- (USART) Clock Selection (Baud Rate generator Input Clock\r
-AT91C_US_CHRL_5_BITS      EQU (0x0 <<  6) ;- (USART) Character Length: 5 bits\r
-AT91C_US_CHRL_6_BITS      EQU (0x1 <<  6) ;- (USART) Character Length: 6 bits\r
-AT91C_US_CHRL_7_BITS      EQU (0x2 <<  6) ;- (USART) Character Length: 7 bits\r
-AT91C_US_CHRL_8_BITS      EQU (0x3 <<  6) ;- (USART) Character Length: 8 bits\r
-AT91C_US_SYNC             EQU (0x1 <<  8) ;- (USART) Synchronous Mode Select\r
-AT91C_US_NBSTOP           EQU (0x3 << 12) ;- (USART) Number of Stop bits\r
-AT91C_US_NBSTOP_1_BIT     EQU (0x0 << 12) ;- (USART) 1 stop bit\r
-AT91C_US_NBSTOP_15_BIT    EQU (0x1 << 12) ;- (USART) Asynchronous (SYNC=0) 2 stop bits Synchronous (SYNC=1) 2 stop bits\r
-AT91C_US_NBSTOP_2_BIT     EQU (0x2 << 12) ;- (USART) 2 stop bits\r
-AT91C_US_MSBF             EQU (0x1 << 16) ;- (USART) Bit Order\r
-AT91C_US_MODE9            EQU (0x1 << 17) ;- (USART) 9-bit Character length\r
-AT91C_US_CKLO             EQU (0x1 << 18) ;- (USART) Clock Output Select\r
-AT91C_US_OVER             EQU (0x1 << 19) ;- (USART) Over Sampling Mode\r
-AT91C_US_INACK            EQU (0x1 << 20) ;- (USART) Inhibit Non Acknowledge\r
-AT91C_US_DSNACK           EQU (0x1 << 21) ;- (USART) Disable Successive NACK\r
-AT91C_US_MAX_ITER         EQU (0x1 << 24) ;- (USART) Number of Repetitions\r
-AT91C_US_FILTER           EQU (0x1 << 28) ;- (USART) Receive Line Filter\r
-// - -------- US_IER : (USART Offset: 0x8) Debug Unit Interrupt Enable Register -------- \r
-AT91C_US_RXBRK            EQU (0x1 <<  2) ;- (USART) Break Received/End of Break\r
-AT91C_US_TIMEOUT          EQU (0x1 <<  8) ;- (USART) Receiver Time-out\r
-AT91C_US_ITERATION        EQU (0x1 << 10) ;- (USART) Max number of Repetitions Reached\r
-AT91C_US_NACK             EQU (0x1 << 13) ;- (USART) Non Acknowledge\r
-AT91C_US_RIIC             EQU (0x1 << 16) ;- (USART) Ring INdicator Input Change Flag\r
-AT91C_US_DSRIC            EQU (0x1 << 17) ;- (USART) Data Set Ready Input Change Flag\r
-AT91C_US_DCDIC            EQU (0x1 << 18) ;- (USART) Data Carrier Flag\r
-AT91C_US_CTSIC            EQU (0x1 << 19) ;- (USART) Clear To Send Input Change Flag\r
-// - -------- US_IDR : (USART Offset: 0xc) Debug Unit Interrupt Disable Register -------- \r
-// - -------- US_IMR : (USART Offset: 0x10) Debug Unit Interrupt Mask Register -------- \r
-// - -------- US_CSR : (USART Offset: 0x14) Debug Unit Channel Status Register -------- \r
-AT91C_US_RI               EQU (0x1 << 20) ;- (USART) Image of RI Input\r
-AT91C_US_DSR              EQU (0x1 << 21) ;- (USART) Image of DSR Input\r
-AT91C_US_DCD              EQU (0x1 << 22) ;- (USART) Image of DCD Input\r
-AT91C_US_CTS              EQU (0x1 << 23) ;- (USART) Image of CTS Input\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Synchronous Serial Controller Interface\r
-// - *****************************************************************************\r
-// - -------- SSC_CR : (SSC Offset: 0x0) SSC Control Register -------- \r
-AT91C_SSC_RXEN            EQU (0x1 <<  0) ;- (SSC) Receive Enable\r
-AT91C_SSC_RXDIS           EQU (0x1 <<  1) ;- (SSC) Receive Disable\r
-AT91C_SSC_TXEN            EQU (0x1 <<  8) ;- (SSC) Transmit Enable\r
-AT91C_SSC_TXDIS           EQU (0x1 <<  9) ;- (SSC) Transmit Disable\r
-AT91C_SSC_SWRST           EQU (0x1 << 15) ;- (SSC) Software Reset\r
-// - -------- SSC_RCMR : (SSC Offset: 0x10) SSC Receive Clock Mode Register -------- \r
-AT91C_SSC_CKS             EQU (0x3 <<  0) ;- (SSC) Receive/Transmit Clock Selection\r
-AT91C_SSC_CKS_DIV         EQU (0x0) ;- (SSC) Divided Clock\r
-AT91C_SSC_CKS_TK          EQU (0x1) ;- (SSC) TK Clock signal\r
-AT91C_SSC_CKS_RK          EQU (0x2) ;- (SSC) RK pin\r
-AT91C_SSC_CKO             EQU (0x7 <<  2) ;- (SSC) Receive/Transmit Clock Output Mode Selection\r
-AT91C_SSC_CKO_NONE        EQU (0x0 <<  2) ;- (SSC) Receive/Transmit Clock Output Mode: None RK pin: Input-only\r
-AT91C_SSC_CKO_CONTINOUS   EQU (0x1 <<  2) ;- (SSC) Continuous Receive/Transmit Clock RK pin: Output\r
-AT91C_SSC_CKO_DATA_TX     EQU (0x2 <<  2) ;- (SSC) Receive/Transmit Clock only during data transfers RK pin: Output\r
-AT91C_SSC_CKI             EQU (0x1 <<  5) ;- (SSC) Receive/Transmit Clock Inversion\r
-AT91C_SSC_START           EQU (0xF <<  8) ;- (SSC) Receive/Transmit Start Selection\r
-AT91C_SSC_START_CONTINOUS EQU (0x0 <<  8) ;- (SSC) Continuous, as soon as the receiver is enabled, and immediately after the end of transfer of the previous data.\r
-AT91C_SSC_START_TX        EQU (0x1 <<  8) ;- (SSC) Transmit/Receive start\r
-AT91C_SSC_START_LOW_RF    EQU (0x2 <<  8) ;- (SSC) Detection of a low level on RF input\r
-AT91C_SSC_START_HIGH_RF   EQU (0x3 <<  8) ;- (SSC) Detection of a high level on RF input\r
-AT91C_SSC_START_FALL_RF   EQU (0x4 <<  8) ;- (SSC) Detection of a falling edge on RF input\r
-AT91C_SSC_START_RISE_RF   EQU (0x5 <<  8) ;- (SSC) Detection of a rising edge on RF input\r
-AT91C_SSC_START_LEVEL_RF  EQU (0x6 <<  8) ;- (SSC) Detection of any level change on RF input\r
-AT91C_SSC_START_EDGE_RF   EQU (0x7 <<  8) ;- (SSC) Detection of any edge on RF input\r
-AT91C_SSC_START_0         EQU (0x8 <<  8) ;- (SSC) Compare 0\r
-AT91C_SSC_STTDLY          EQU (0xFF << 16) ;- (SSC) Receive/Transmit Start Delay\r
-AT91C_SSC_PERIOD          EQU (0xFF << 24) ;- (SSC) Receive/Transmit Period Divider Selection\r
-// - -------- SSC_RFMR : (SSC Offset: 0x14) SSC Receive Frame Mode Register -------- \r
-AT91C_SSC_DATLEN          EQU (0x1F <<  0) ;- (SSC) Data Length\r
-AT91C_SSC_LOOP            EQU (0x1 <<  5) ;- (SSC) Loop Mode\r
-AT91C_SSC_MSBF            EQU (0x1 <<  7) ;- (SSC) Most Significant Bit First\r
-AT91C_SSC_DATNB           EQU (0xF <<  8) ;- (SSC) Data Number per Frame\r
-AT91C_SSC_FSLEN           EQU (0xF << 16) ;- (SSC) Receive/Transmit Frame Sync length\r
-AT91C_SSC_FSOS            EQU (0x7 << 20) ;- (SSC) Receive/Transmit Frame Sync Output Selection\r
-AT91C_SSC_FSOS_NONE       EQU (0x0 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: None RK pin Input-only\r
-AT91C_SSC_FSOS_NEGATIVE   EQU (0x1 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Negative Pulse\r
-AT91C_SSC_FSOS_POSITIVE   EQU (0x2 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Positive Pulse\r
-AT91C_SSC_FSOS_LOW        EQU (0x3 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Driver Low during data transfer\r
-AT91C_SSC_FSOS_HIGH       EQU (0x4 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Driver High during data transfer\r
-AT91C_SSC_FSOS_TOGGLE     EQU (0x5 << 20) ;- (SSC) Selected Receive/Transmit Frame Sync Signal: Toggling at each start of data transfer\r
-AT91C_SSC_FSEDGE          EQU (0x1 << 24) ;- (SSC) Frame Sync Edge Detection\r
-// - -------- SSC_TCMR : (SSC Offset: 0x18) SSC Transmit Clock Mode Register -------- \r
-// - -------- SSC_TFMR : (SSC Offset: 0x1c) SSC Transmit Frame Mode Register -------- \r
-AT91C_SSC_DATDEF          EQU (0x1 <<  5) ;- (SSC) Data Default Value\r
-AT91C_SSC_FSDEN           EQU (0x1 << 23) ;- (SSC) Frame Sync Data Enable\r
-// - -------- SSC_SR : (SSC Offset: 0x40) SSC Status Register -------- \r
-AT91C_SSC_TXRDY           EQU (0x1 <<  0) ;- (SSC) Transmit Ready\r
-AT91C_SSC_TXEMPTY         EQU (0x1 <<  1) ;- (SSC) Transmit Empty\r
-AT91C_SSC_ENDTX           EQU (0x1 <<  2) ;- (SSC) End Of Transmission\r
-AT91C_SSC_TXBUFE          EQU (0x1 <<  3) ;- (SSC) Transmit Buffer Empty\r
-AT91C_SSC_RXRDY           EQU (0x1 <<  4) ;- (SSC) Receive Ready\r
-AT91C_SSC_OVRUN           EQU (0x1 <<  5) ;- (SSC) Receive Overrun\r
-AT91C_SSC_ENDRX           EQU (0x1 <<  6) ;- (SSC) End of Reception\r
-AT91C_SSC_RXBUFF          EQU (0x1 <<  7) ;- (SSC) Receive Buffer Full\r
-AT91C_SSC_TXSYN           EQU (0x1 << 10) ;- (SSC) Transmit Sync\r
-AT91C_SSC_RXSYN           EQU (0x1 << 11) ;- (SSC) Receive Sync\r
-AT91C_SSC_TXENA           EQU (0x1 << 16) ;- (SSC) Transmit Enable\r
-AT91C_SSC_RXENA           EQU (0x1 << 17) ;- (SSC) Receive Enable\r
-// - -------- SSC_IER : (SSC Offset: 0x44) SSC Interrupt Enable Register -------- \r
-// - -------- SSC_IDR : (SSC Offset: 0x48) SSC Interrupt Disable Register -------- \r
-// - -------- SSC_IMR : (SSC Offset: 0x4c) SSC Interrupt Mask Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Two-wire Interface\r
-// - *****************************************************************************\r
-// - -------- TWI_CR : (TWI Offset: 0x0) TWI Control Register -------- \r
-AT91C_TWI_START           EQU (0x1 <<  0) ;- (TWI) Send a START Condition\r
-AT91C_TWI_STOP            EQU (0x1 <<  1) ;- (TWI) Send a STOP Condition\r
-AT91C_TWI_MSEN            EQU (0x1 <<  2) ;- (TWI) TWI Master Transfer Enabled\r
-AT91C_TWI_MSDIS           EQU (0x1 <<  3) ;- (TWI) TWI Master Transfer Disabled\r
-AT91C_TWI_SWRST           EQU (0x1 <<  7) ;- (TWI) Software Reset\r
-// - -------- TWI_MMR : (TWI Offset: 0x4) TWI Master Mode Register -------- \r
-AT91C_TWI_IADRSZ          EQU (0x3 <<  8) ;- (TWI) Internal Device Address Size\r
-AT91C_TWI_IADRSZ_NO       EQU (0x0 <<  8) ;- (TWI) No internal device address\r
-AT91C_TWI_IADRSZ_1_BYTE   EQU (0x1 <<  8) ;- (TWI) One-byte internal device address\r
-AT91C_TWI_IADRSZ_2_BYTE   EQU (0x2 <<  8) ;- (TWI) Two-byte internal device address\r
-AT91C_TWI_IADRSZ_3_BYTE   EQU (0x3 <<  8) ;- (TWI) Three-byte internal device address\r
-AT91C_TWI_MREAD           EQU (0x1 << 12) ;- (TWI) Master Read Direction\r
-AT91C_TWI_DADR            EQU (0x7F << 16) ;- (TWI) Device Address\r
-// - -------- TWI_CWGR : (TWI Offset: 0x10) TWI Clock Waveform Generator Register -------- \r
-AT91C_TWI_CLDIV           EQU (0xFF <<  0) ;- (TWI) Clock Low Divider\r
-AT91C_TWI_CHDIV           EQU (0xFF <<  8) ;- (TWI) Clock High Divider\r
-AT91C_TWI_CKDIV           EQU (0x7 << 16) ;- (TWI) Clock Divider\r
-// - -------- TWI_SR : (TWI Offset: 0x20) TWI Status Register -------- \r
-AT91C_TWI_TXCOMP          EQU (0x1 <<  0) ;- (TWI) Transmission Completed\r
-AT91C_TWI_RXRDY           EQU (0x1 <<  1) ;- (TWI) Receive holding register ReaDY\r
-AT91C_TWI_TXRDY           EQU (0x1 <<  2) ;- (TWI) Transmit holding register ReaDY\r
-AT91C_TWI_OVRE            EQU (0x1 <<  6) ;- (TWI) Overrun Error\r
-AT91C_TWI_UNRE            EQU (0x1 <<  7) ;- (TWI) Underrun Error\r
-AT91C_TWI_NACK            EQU (0x1 <<  8) ;- (TWI) Not Acknowledged\r
-// - -------- TWI_IER : (TWI Offset: 0x24) TWI Interrupt Enable Register -------- \r
-// - -------- TWI_IDR : (TWI Offset: 0x28) TWI Interrupt Disable Register -------- \r
-// - -------- TWI_IMR : (TWI Offset: 0x2c) TWI Interrupt Mask Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR PWMC Channel Interface\r
-// - *****************************************************************************\r
-// - -------- PWMC_CMR : (PWMC_CH Offset: 0x0) PWMC Channel Mode Register -------- \r
-AT91C_PWMC_CPRE           EQU (0xF <<  0) ;- (PWMC_CH) Channel Pre-scaler : PWMC_CLKx\r
-AT91C_PWMC_CPRE_MCK       EQU (0x0) ;- (PWMC_CH) \r
-AT91C_PWMC_CPRE_MCKA      EQU (0xB) ;- (PWMC_CH) \r
-AT91C_PWMC_CPRE_MCKB      EQU (0xC) ;- (PWMC_CH) \r
-AT91C_PWMC_CALG           EQU (0x1 <<  8) ;- (PWMC_CH) Channel Alignment\r
-AT91C_PWMC_CPOL           EQU (0x1 <<  9) ;- (PWMC_CH) Channel Polarity\r
-AT91C_PWMC_CPD            EQU (0x1 << 10) ;- (PWMC_CH) Channel Update Period\r
-// - -------- PWMC_CDTYR : (PWMC_CH Offset: 0x4) PWMC Channel Duty Cycle Register -------- \r
-AT91C_PWMC_CDTY           EQU (0x0 <<  0) ;- (PWMC_CH) Channel Duty Cycle\r
-// - -------- PWMC_CPRDR : (PWMC_CH Offset: 0x8) PWMC Channel Period Register -------- \r
-AT91C_PWMC_CPRD           EQU (0x0 <<  0) ;- (PWMC_CH) Channel Period\r
-// - -------- PWMC_CCNTR : (PWMC_CH Offset: 0xc) PWMC Channel Counter Register -------- \r
-AT91C_PWMC_CCNT           EQU (0x0 <<  0) ;- (PWMC_CH) Channel Counter\r
-// - -------- PWMC_CUPDR : (PWMC_CH Offset: 0x10) PWMC Channel Update Register -------- \r
-AT91C_PWMC_CUPD           EQU (0x0 <<  0) ;- (PWMC_CH) Channel Update\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Pulse Width Modulation Controller Interface\r
-// - *****************************************************************************\r
-// - -------- PWMC_MR : (PWMC Offset: 0x0) PWMC Mode Register -------- \r
-AT91C_PWMC_DIVA           EQU (0xFF <<  0) ;- (PWMC) CLKA divide factor.\r
-AT91C_PWMC_PREA           EQU (0xF <<  8) ;- (PWMC) Divider Input Clock Prescaler A\r
-AT91C_PWMC_PREA_MCK       EQU (0x0 <<  8) ;- (PWMC) \r
-AT91C_PWMC_DIVB           EQU (0xFF << 16) ;- (PWMC) CLKB divide factor.\r
-AT91C_PWMC_PREB           EQU (0xF << 24) ;- (PWMC) Divider Input Clock Prescaler B\r
-AT91C_PWMC_PREB_MCK       EQU (0x0 << 24) ;- (PWMC) \r
-// - -------- PWMC_ENA : (PWMC Offset: 0x4) PWMC Enable Register -------- \r
-AT91C_PWMC_CHID0          EQU (0x1 <<  0) ;- (PWMC) Channel ID 0\r
-AT91C_PWMC_CHID1          EQU (0x1 <<  1) ;- (PWMC) Channel ID 1\r
-AT91C_PWMC_CHID2          EQU (0x1 <<  2) ;- (PWMC) Channel ID 2\r
-AT91C_PWMC_CHID3          EQU (0x1 <<  3) ;- (PWMC) Channel ID 3\r
-// - -------- PWMC_DIS : (PWMC Offset: 0x8) PWMC Disable Register -------- \r
-// - -------- PWMC_SR : (PWMC Offset: 0xc) PWMC Status Register -------- \r
-// - -------- PWMC_IER : (PWMC Offset: 0x10) PWMC Interrupt Enable Register -------- \r
-// - -------- PWMC_IDR : (PWMC Offset: 0x14) PWMC Interrupt Disable Register -------- \r
-// - -------- PWMC_IMR : (PWMC Offset: 0x18) PWMC Interrupt Mask Register -------- \r
-// - -------- PWMC_ISR : (PWMC Offset: 0x1c) PWMC Interrupt Status Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR USB Device Interface\r
-// - *****************************************************************************\r
-// - -------- UDP_FRM_NUM : (UDP Offset: 0x0) USB Frame Number Register -------- \r
-AT91C_UDP_FRM_NUM         EQU (0x7FF <<  0) ;- (UDP) Frame Number as Defined in the Packet Field Formats\r
-AT91C_UDP_FRM_ERR         EQU (0x1 << 16) ;- (UDP) Frame Error\r
-AT91C_UDP_FRM_OK          EQU (0x1 << 17) ;- (UDP) Frame OK\r
-// - -------- UDP_GLB_STATE : (UDP Offset: 0x4) USB Global State Register -------- \r
-AT91C_UDP_FADDEN          EQU (0x1 <<  0) ;- (UDP) Function Address Enable\r
-AT91C_UDP_CONFG           EQU (0x1 <<  1) ;- (UDP) Configured\r
-AT91C_UDP_ESR             EQU (0x1 <<  2) ;- (UDP) Enable Send Resume\r
-AT91C_UDP_RSMINPR         EQU (0x1 <<  3) ;- (UDP) A Resume Has Been Sent to the Host\r
-AT91C_UDP_RMWUPE          EQU (0x1 <<  4) ;- (UDP) Remote Wake Up Enable\r
-// - -------- UDP_FADDR : (UDP Offset: 0x8) USB Function Address Register -------- \r
-AT91C_UDP_FADD            EQU (0xFF <<  0) ;- (UDP) Function Address Value\r
-AT91C_UDP_FEN             EQU (0x1 <<  8) ;- (UDP) Function Enable\r
-// - -------- UDP_IER : (UDP Offset: 0x10) USB Interrupt Enable Register -------- \r
-AT91C_UDP_EPINT0          EQU (0x1 <<  0) ;- (UDP) Endpoint 0 Interrupt\r
-AT91C_UDP_EPINT1          EQU (0x1 <<  1) ;- (UDP) Endpoint 0 Interrupt\r
-AT91C_UDP_EPINT2          EQU (0x1 <<  2) ;- (UDP) Endpoint 2 Interrupt\r
-AT91C_UDP_EPINT3          EQU (0x1 <<  3) ;- (UDP) Endpoint 3 Interrupt\r
-AT91C_UDP_EPINT4          EQU (0x1 <<  4) ;- (UDP) Endpoint 4 Interrupt\r
-AT91C_UDP_EPINT5          EQU (0x1 <<  5) ;- (UDP) Endpoint 5 Interrupt\r
-AT91C_UDP_RXSUSP          EQU (0x1 <<  8) ;- (UDP) USB Suspend Interrupt\r
-AT91C_UDP_RXRSM           EQU (0x1 <<  9) ;- (UDP) USB Resume Interrupt\r
-AT91C_UDP_EXTRSM          EQU (0x1 << 10) ;- (UDP) USB External Resume Interrupt\r
-AT91C_UDP_SOFINT          EQU (0x1 << 11) ;- (UDP) USB Start Of frame Interrupt\r
-AT91C_UDP_WAKEUP          EQU (0x1 << 13) ;- (UDP) USB Resume Interrupt\r
-// - -------- UDP_IDR : (UDP Offset: 0x14) USB Interrupt Disable Register -------- \r
-// - -------- UDP_IMR : (UDP Offset: 0x18) USB Interrupt Mask Register -------- \r
-// - -------- UDP_ISR : (UDP Offset: 0x1c) USB Interrupt Status Register -------- \r
-AT91C_UDP_ENDBUSRES       EQU (0x1 << 12) ;- (UDP) USB End Of Bus Reset Interrupt\r
-// - -------- UDP_ICR : (UDP Offset: 0x20) USB Interrupt Clear Register -------- \r
-// - -------- UDP_RST_EP : (UDP Offset: 0x28) USB Reset Endpoint Register -------- \r
-AT91C_UDP_EP0             EQU (0x1 <<  0) ;- (UDP) Reset Endpoint 0\r
-AT91C_UDP_EP1             EQU (0x1 <<  1) ;- (UDP) Reset Endpoint 1\r
-AT91C_UDP_EP2             EQU (0x1 <<  2) ;- (UDP) Reset Endpoint 2\r
-AT91C_UDP_EP3             EQU (0x1 <<  3) ;- (UDP) Reset Endpoint 3\r
-AT91C_UDP_EP4             EQU (0x1 <<  4) ;- (UDP) Reset Endpoint 4\r
-AT91C_UDP_EP5             EQU (0x1 <<  5) ;- (UDP) Reset Endpoint 5\r
-// - -------- UDP_CSR : (UDP Offset: 0x30) USB Endpoint Control and Status Register -------- \r
-AT91C_UDP_TXCOMP          EQU (0x1 <<  0) ;- (UDP) Generates an IN packet with data previously written in the DPR\r
-AT91C_UDP_RX_DATA_BK0     EQU (0x1 <<  1) ;- (UDP) Receive Data Bank 0\r
-AT91C_UDP_RXSETUP         EQU (0x1 <<  2) ;- (UDP) Sends STALL to the Host (Control endpoints)\r
-AT91C_UDP_ISOERROR        EQU (0x1 <<  3) ;- (UDP) Isochronous error (Isochronous endpoints)\r
-AT91C_UDP_TXPKTRDY        EQU (0x1 <<  4) ;- (UDP) Transmit Packet Ready\r
-AT91C_UDP_FORCESTALL      EQU (0x1 <<  5) ;- (UDP) Force Stall (used by Control, Bulk and Isochronous endpoints).\r
-AT91C_UDP_RX_DATA_BK1     EQU (0x1 <<  6) ;- (UDP) Receive Data Bank 1 (only used by endpoints with ping-pong attributes).\r
-AT91C_UDP_DIR             EQU (0x1 <<  7) ;- (UDP) Transfer Direction\r
-AT91C_UDP_EPTYPE          EQU (0x7 <<  8) ;- (UDP) Endpoint type\r
-AT91C_UDP_EPTYPE_CTRL     EQU (0x0 <<  8) ;- (UDP) Control\r
-AT91C_UDP_EPTYPE_ISO_OUT  EQU (0x1 <<  8) ;- (UDP) Isochronous OUT\r
-AT91C_UDP_EPTYPE_BULK_OUT EQU (0x2 <<  8) ;- (UDP) Bulk OUT\r
-AT91C_UDP_EPTYPE_INT_OUT  EQU (0x3 <<  8) ;- (UDP) Interrupt OUT\r
-AT91C_UDP_EPTYPE_ISO_IN   EQU (0x5 <<  8) ;- (UDP) Isochronous IN\r
-AT91C_UDP_EPTYPE_BULK_IN  EQU (0x6 <<  8) ;- (UDP) Bulk IN\r
-AT91C_UDP_EPTYPE_INT_IN   EQU (0x7 <<  8) ;- (UDP) Interrupt IN\r
-AT91C_UDP_DTGLE           EQU (0x1 << 11) ;- (UDP) Data Toggle\r
-AT91C_UDP_EPEDS           EQU (0x1 << 15) ;- (UDP) Endpoint Enable Disable\r
-AT91C_UDP_RXBYTECNT       EQU (0x7FF << 16) ;- (UDP) Number Of Bytes Available in the FIFO\r
-// - -------- UDP_TXVC : (UDP Offset: 0x74) Transceiver Control Register -------- \r
-AT91C_UDP_TXVDIS          EQU (0x1 <<  8) ;- (UDP) \r
-AT91C_UDP_PUON            EQU (0x1 <<  9) ;- (UDP) Pull-up ON\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Timer Counter Channel Interface\r
-// - *****************************************************************************\r
-// - -------- TC_CCR : (TC Offset: 0x0) TC Channel Control Register -------- \r
-AT91C_TC_CLKEN            EQU (0x1 <<  0) ;- (TC) Counter Clock Enable Command\r
-AT91C_TC_CLKDIS           EQU (0x1 <<  1) ;- (TC) Counter Clock Disable Command\r
-AT91C_TC_SWTRG            EQU (0x1 <<  2) ;- (TC) Software Trigger Command\r
-// - -------- TC_CMR : (TC Offset: 0x4) TC Channel Mode Register: Capture Mode / Waveform Mode -------- \r
-AT91C_TC_CLKS             EQU (0x7 <<  0) ;- (TC) Clock Selection\r
-AT91C_TC_CLKS_TIMER_DIV1_CLOCK EQU (0x0) ;- (TC) Clock selected: TIMER_DIV1_CLOCK\r
-AT91C_TC_CLKS_TIMER_DIV2_CLOCK EQU (0x1) ;- (TC) Clock selected: TIMER_DIV2_CLOCK\r
-AT91C_TC_CLKS_TIMER_DIV3_CLOCK EQU (0x2) ;- (TC) Clock selected: TIMER_DIV3_CLOCK\r
-AT91C_TC_CLKS_TIMER_DIV4_CLOCK EQU (0x3) ;- (TC) Clock selected: TIMER_DIV4_CLOCK\r
-AT91C_TC_CLKS_TIMER_DIV5_CLOCK EQU (0x4) ;- (TC) Clock selected: TIMER_DIV5_CLOCK\r
-AT91C_TC_CLKS_XC0         EQU (0x5) ;- (TC) Clock selected: XC0\r
-AT91C_TC_CLKS_XC1         EQU (0x6) ;- (TC) Clock selected: XC1\r
-AT91C_TC_CLKS_XC2         EQU (0x7) ;- (TC) Clock selected: XC2\r
-AT91C_TC_CLKI             EQU (0x1 <<  3) ;- (TC) Clock Invert\r
-AT91C_TC_BURST            EQU (0x3 <<  4) ;- (TC) Burst Signal Selection\r
-AT91C_TC_BURST_NONE       EQU (0x0 <<  4) ;- (TC) The clock is not gated by an external signal\r
-AT91C_TC_BURST_XC0        EQU (0x1 <<  4) ;- (TC) XC0 is ANDed with the selected clock\r
-AT91C_TC_BURST_XC1        EQU (0x2 <<  4) ;- (TC) XC1 is ANDed with the selected clock\r
-AT91C_TC_BURST_XC2        EQU (0x3 <<  4) ;- (TC) XC2 is ANDed with the selected clock\r
-AT91C_TC_CPCSTOP          EQU (0x1 <<  6) ;- (TC) Counter Clock Stopped with RC Compare\r
-AT91C_TC_LDBSTOP          EQU (0x1 <<  6) ;- (TC) Counter Clock Stopped with RB Loading\r
-AT91C_TC_CPCDIS           EQU (0x1 <<  7) ;- (TC) Counter Clock Disable with RC Compare\r
-AT91C_TC_LDBDIS           EQU (0x1 <<  7) ;- (TC) Counter Clock Disabled with RB Loading\r
-AT91C_TC_ETRGEDG          EQU (0x3 <<  8) ;- (TC) External Trigger Edge Selection\r
-AT91C_TC_ETRGEDG_NONE     EQU (0x0 <<  8) ;- (TC) Edge: None\r
-AT91C_TC_ETRGEDG_RISING   EQU (0x1 <<  8) ;- (TC) Edge: rising edge\r
-AT91C_TC_ETRGEDG_FALLING  EQU (0x2 <<  8) ;- (TC) Edge: falling edge\r
-AT91C_TC_ETRGEDG_BOTH     EQU (0x3 <<  8) ;- (TC) Edge: each edge\r
-AT91C_TC_EEVTEDG          EQU (0x3 <<  8) ;- (TC) External Event Edge Selection\r
-AT91C_TC_EEVTEDG_NONE     EQU (0x0 <<  8) ;- (TC) Edge: None\r
-AT91C_TC_EEVTEDG_RISING   EQU (0x1 <<  8) ;- (TC) Edge: rising edge\r
-AT91C_TC_EEVTEDG_FALLING  EQU (0x2 <<  8) ;- (TC) Edge: falling edge\r
-AT91C_TC_EEVTEDG_BOTH     EQU (0x3 <<  8) ;- (TC) Edge: each edge\r
-AT91C_TC_EEVT             EQU (0x3 << 10) ;- (TC) External Event  Selection\r
-AT91C_TC_EEVT_TIOB        EQU (0x0 << 10) ;- (TC) Signal selected as external event: TIOB TIOB direction: input\r
-AT91C_TC_EEVT_XC0         EQU (0x1 << 10) ;- (TC) Signal selected as external event: XC0 TIOB direction: output\r
-AT91C_TC_EEVT_XC1         EQU (0x2 << 10) ;- (TC) Signal selected as external event: XC1 TIOB direction: output\r
-AT91C_TC_EEVT_XC2         EQU (0x3 << 10) ;- (TC) Signal selected as external event: XC2 TIOB direction: output\r
-AT91C_TC_ABETRG           EQU (0x1 << 10) ;- (TC) TIOA or TIOB External Trigger Selection\r
-AT91C_TC_ENETRG           EQU (0x1 << 12) ;- (TC) External Event Trigger enable\r
-AT91C_TC_WAVESEL          EQU (0x3 << 13) ;- (TC) Waveform  Selection\r
-AT91C_TC_WAVESEL_UP       EQU (0x0 << 13) ;- (TC) UP mode without atomatic trigger on RC Compare\r
-AT91C_TC_WAVESEL_UPDOWN   EQU (0x1 << 13) ;- (TC) UPDOWN mode without automatic trigger on RC Compare\r
-AT91C_TC_WAVESEL_UP_AUTO  EQU (0x2 << 13) ;- (TC) UP mode with automatic trigger on RC Compare\r
-AT91C_TC_WAVESEL_UPDOWN_AUTO EQU (0x3 << 13) ;- (TC) UPDOWN mode with automatic trigger on RC Compare\r
-AT91C_TC_CPCTRG           EQU (0x1 << 14) ;- (TC) RC Compare Trigger Enable\r
-AT91C_TC_WAVE             EQU (0x1 << 15) ;- (TC) \r
-AT91C_TC_ACPA             EQU (0x3 << 16) ;- (TC) RA Compare Effect on TIOA\r
-AT91C_TC_ACPA_NONE        EQU (0x0 << 16) ;- (TC) Effect: none\r
-AT91C_TC_ACPA_SET         EQU (0x1 << 16) ;- (TC) Effect: set\r
-AT91C_TC_ACPA_CLEAR       EQU (0x2 << 16) ;- (TC) Effect: clear\r
-AT91C_TC_ACPA_TOGGLE      EQU (0x3 << 16) ;- (TC) Effect: toggle\r
-AT91C_TC_LDRA             EQU (0x3 << 16) ;- (TC) RA Loading Selection\r
-AT91C_TC_LDRA_NONE        EQU (0x0 << 16) ;- (TC) Edge: None\r
-AT91C_TC_LDRA_RISING      EQU (0x1 << 16) ;- (TC) Edge: rising edge of TIOA\r
-AT91C_TC_LDRA_FALLING     EQU (0x2 << 16) ;- (TC) Edge: falling edge of TIOA\r
-AT91C_TC_LDRA_BOTH        EQU (0x3 << 16) ;- (TC) Edge: each edge of TIOA\r
-AT91C_TC_ACPC             EQU (0x3 << 18) ;- (TC) RC Compare Effect on TIOA\r
-AT91C_TC_ACPC_NONE        EQU (0x0 << 18) ;- (TC) Effect: none\r
-AT91C_TC_ACPC_SET         EQU (0x1 << 18) ;- (TC) Effect: set\r
-AT91C_TC_ACPC_CLEAR       EQU (0x2 << 18) ;- (TC) Effect: clear\r
-AT91C_TC_ACPC_TOGGLE      EQU (0x3 << 18) ;- (TC) Effect: toggle\r
-AT91C_TC_LDRB             EQU (0x3 << 18) ;- (TC) RB Loading Selection\r
-AT91C_TC_LDRB_NONE        EQU (0x0 << 18) ;- (TC) Edge: None\r
-AT91C_TC_LDRB_RISING      EQU (0x1 << 18) ;- (TC) Edge: rising edge of TIOA\r
-AT91C_TC_LDRB_FALLING     EQU (0x2 << 18) ;- (TC) Edge: falling edge of TIOA\r
-AT91C_TC_LDRB_BOTH        EQU (0x3 << 18) ;- (TC) Edge: each edge of TIOA\r
-AT91C_TC_AEEVT            EQU (0x3 << 20) ;- (TC) External Event Effect on TIOA\r
-AT91C_TC_AEEVT_NONE       EQU (0x0 << 20) ;- (TC) Effect: none\r
-AT91C_TC_AEEVT_SET        EQU (0x1 << 20) ;- (TC) Effect: set\r
-AT91C_TC_AEEVT_CLEAR      EQU (0x2 << 20) ;- (TC) Effect: clear\r
-AT91C_TC_AEEVT_TOGGLE     EQU (0x3 << 20) ;- (TC) Effect: toggle\r
-AT91C_TC_ASWTRG           EQU (0x3 << 22) ;- (TC) Software Trigger Effect on TIOA\r
-AT91C_TC_ASWTRG_NONE      EQU (0x0 << 22) ;- (TC) Effect: none\r
-AT91C_TC_ASWTRG_SET       EQU (0x1 << 22) ;- (TC) Effect: set\r
-AT91C_TC_ASWTRG_CLEAR     EQU (0x2 << 22) ;- (TC) Effect: clear\r
-AT91C_TC_ASWTRG_TOGGLE    EQU (0x3 << 22) ;- (TC) Effect: toggle\r
-AT91C_TC_BCPB             EQU (0x3 << 24) ;- (TC) RB Compare Effect on TIOB\r
-AT91C_TC_BCPB_NONE        EQU (0x0 << 24) ;- (TC) Effect: none\r
-AT91C_TC_BCPB_SET         EQU (0x1 << 24) ;- (TC) Effect: set\r
-AT91C_TC_BCPB_CLEAR       EQU (0x2 << 24) ;- (TC) Effect: clear\r
-AT91C_TC_BCPB_TOGGLE      EQU (0x3 << 24) ;- (TC) Effect: toggle\r
-AT91C_TC_BCPC             EQU (0x3 << 26) ;- (TC) RC Compare Effect on TIOB\r
-AT91C_TC_BCPC_NONE        EQU (0x0 << 26) ;- (TC) Effect: none\r
-AT91C_TC_BCPC_SET         EQU (0x1 << 26) ;- (TC) Effect: set\r
-AT91C_TC_BCPC_CLEAR       EQU (0x2 << 26) ;- (TC) Effect: clear\r
-AT91C_TC_BCPC_TOGGLE      EQU (0x3 << 26) ;- (TC) Effect: toggle\r
-AT91C_TC_BEEVT            EQU (0x3 << 28) ;- (TC) External Event Effect on TIOB\r
-AT91C_TC_BEEVT_NONE       EQU (0x0 << 28) ;- (TC) Effect: none\r
-AT91C_TC_BEEVT_SET        EQU (0x1 << 28) ;- (TC) Effect: set\r
-AT91C_TC_BEEVT_CLEAR      EQU (0x2 << 28) ;- (TC) Effect: clear\r
-AT91C_TC_BEEVT_TOGGLE     EQU (0x3 << 28) ;- (TC) Effect: toggle\r
-AT91C_TC_BSWTRG           EQU (0x3 << 30) ;- (TC) Software Trigger Effect on TIOB\r
-AT91C_TC_BSWTRG_NONE      EQU (0x0 << 30) ;- (TC) Effect: none\r
-AT91C_TC_BSWTRG_SET       EQU (0x1 << 30) ;- (TC) Effect: set\r
-AT91C_TC_BSWTRG_CLEAR     EQU (0x2 << 30) ;- (TC) Effect: clear\r
-AT91C_TC_BSWTRG_TOGGLE    EQU (0x3 << 30) ;- (TC) Effect: toggle\r
-// - -------- TC_SR : (TC Offset: 0x20) TC Channel Status Register -------- \r
-AT91C_TC_COVFS            EQU (0x1 <<  0) ;- (TC) Counter Overflow\r
-AT91C_TC_LOVRS            EQU (0x1 <<  1) ;- (TC) Load Overrun\r
-AT91C_TC_CPAS             EQU (0x1 <<  2) ;- (TC) RA Compare\r
-AT91C_TC_CPBS             EQU (0x1 <<  3) ;- (TC) RB Compare\r
-AT91C_TC_CPCS             EQU (0x1 <<  4) ;- (TC) RC Compare\r
-AT91C_TC_LDRAS            EQU (0x1 <<  5) ;- (TC) RA Loading\r
-AT91C_TC_LDRBS            EQU (0x1 <<  6) ;- (TC) RB Loading\r
-AT91C_TC_ETRGS            EQU (0x1 <<  7) ;- (TC) External Trigger\r
-AT91C_TC_CLKSTA           EQU (0x1 << 16) ;- (TC) Clock Enabling\r
-AT91C_TC_MTIOA            EQU (0x1 << 17) ;- (TC) TIOA Mirror\r
-AT91C_TC_MTIOB            EQU (0x1 << 18) ;- (TC) TIOA Mirror\r
-// - -------- TC_IER : (TC Offset: 0x24) TC Channel Interrupt Enable Register -------- \r
-// - -------- TC_IDR : (TC Offset: 0x28) TC Channel Interrupt Disable Register -------- \r
-// - -------- TC_IMR : (TC Offset: 0x2c) TC Channel Interrupt Mask Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Timer Counter Interface\r
-// - *****************************************************************************\r
-// - -------- TCB_BCR : (TCB Offset: 0xc0) TC Block Control Register -------- \r
-AT91C_TCB_SYNC            EQU (0x1 <<  0) ;- (TCB) Synchro Command\r
-// - -------- TCB_BMR : (TCB Offset: 0xc4) TC Block Mode Register -------- \r
-AT91C_TCB_TC0XC0S         EQU (0x3 <<  0) ;- (TCB) External Clock Signal 0 Selection\r
-AT91C_TCB_TC0XC0S_TCLK0   EQU (0x0) ;- (TCB) TCLK0 connected to XC0\r
-AT91C_TCB_TC0XC0S_NONE    EQU (0x1) ;- (TCB) None signal connected to XC0\r
-AT91C_TCB_TC0XC0S_TIOA1   EQU (0x2) ;- (TCB) TIOA1 connected to XC0\r
-AT91C_TCB_TC0XC0S_TIOA2   EQU (0x3) ;- (TCB) TIOA2 connected to XC0\r
-AT91C_TCB_TC1XC1S         EQU (0x3 <<  2) ;- (TCB) External Clock Signal 1 Selection\r
-AT91C_TCB_TC1XC1S_TCLK1   EQU (0x0 <<  2) ;- (TCB) TCLK1 connected to XC1\r
-AT91C_TCB_TC1XC1S_NONE    EQU (0x1 <<  2) ;- (TCB) None signal connected to XC1\r
-AT91C_TCB_TC1XC1S_TIOA0   EQU (0x2 <<  2) ;- (TCB) TIOA0 connected to XC1\r
-AT91C_TCB_TC1XC1S_TIOA2   EQU (0x3 <<  2) ;- (TCB) TIOA2 connected to XC1\r
-AT91C_TCB_TC2XC2S         EQU (0x3 <<  4) ;- (TCB) External Clock Signal 2 Selection\r
-AT91C_TCB_TC2XC2S_TCLK2   EQU (0x0 <<  4) ;- (TCB) TCLK2 connected to XC2\r
-AT91C_TCB_TC2XC2S_NONE    EQU (0x1 <<  4) ;- (TCB) None signal connected to XC2\r
-AT91C_TCB_TC2XC2S_TIOA0   EQU (0x2 <<  4) ;- (TCB) TIOA0 connected to XC2\r
-AT91C_TCB_TC2XC2S_TIOA1   EQU (0x3 <<  4) ;- (TCB) TIOA2 connected to XC2\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Control Area Network MailBox Interface\r
-// - *****************************************************************************\r
-// - -------- CAN_MMR : (CAN_MB Offset: 0x0) CAN Message Mode Register -------- \r
-AT91C_CAN_MTIMEMARK       EQU (0xFFFF <<  0) ;- (CAN_MB) Mailbox Timemark\r
-AT91C_CAN_PRIOR           EQU (0xF << 16) ;- (CAN_MB) Mailbox Priority\r
-AT91C_CAN_MOT             EQU (0x7 << 24) ;- (CAN_MB) Mailbox Object Type\r
-AT91C_CAN_MOT_DIS         EQU (0x0 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_RX          EQU (0x1 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_RXOVERWRITE EQU (0x2 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_TX          EQU (0x3 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_CONSUMER    EQU (0x4 << 24) ;- (CAN_MB) \r
-AT91C_CAN_MOT_PRODUCER    EQU (0x5 << 24) ;- (CAN_MB) \r
-// - -------- CAN_MAM : (CAN_MB Offset: 0x4) CAN Message Acceptance Mask Register -------- \r
-AT91C_CAN_MIDvB           EQU (0x3FFFF <<  0) ;- (CAN_MB) Complementary bits for identifier in extended mode\r
-AT91C_CAN_MIDvA           EQU (0x7FF << 18) ;- (CAN_MB) Identifier for standard frame mode\r
-AT91C_CAN_MIDE            EQU (0x1 << 29) ;- (CAN_MB) Identifier Version\r
-// - -------- CAN_MID : (CAN_MB Offset: 0x8) CAN Message ID Register -------- \r
-// - -------- CAN_MFID : (CAN_MB Offset: 0xc) CAN Message Family ID Register -------- \r
-// - -------- CAN_MSR : (CAN_MB Offset: 0x10) CAN Message Status Register -------- \r
-AT91C_CAN_MTIMESTAMP      EQU (0xFFFF <<  0) ;- (CAN_MB) Timer Value\r
-AT91C_CAN_MDLC            EQU (0xF << 16) ;- (CAN_MB) Mailbox Data Length Code\r
-AT91C_CAN_MRTR            EQU (0x1 << 20) ;- (CAN_MB) Mailbox Remote Transmission Request\r
-AT91C_CAN_MABT            EQU (0x1 << 22) ;- (CAN_MB) Mailbox Message Abort\r
-AT91C_CAN_MRDY            EQU (0x1 << 23) ;- (CAN_MB) Mailbox Ready\r
-AT91C_CAN_MMI             EQU (0x1 << 24) ;- (CAN_MB) Mailbox Message Ignored\r
-// - -------- CAN_MDL : (CAN_MB Offset: 0x14) CAN Message Data Low Register -------- \r
-// - -------- CAN_MDH : (CAN_MB Offset: 0x18) CAN Message Data High Register -------- \r
-// - -------- CAN_MCR : (CAN_MB Offset: 0x1c) CAN Message Control Register -------- \r
-AT91C_CAN_MACR            EQU (0x1 << 22) ;- (CAN_MB) Abort Request for Mailbox\r
-AT91C_CAN_MTCR            EQU (0x1 << 23) ;- (CAN_MB) Mailbox Transfer Command\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Control Area Network Interface\r
-// - *****************************************************************************\r
-// - -------- CAN_MR : (CAN Offset: 0x0) CAN Mode Register -------- \r
-AT91C_CAN_CANEN           EQU (0x1 <<  0) ;- (CAN) CAN Controller Enable\r
-AT91C_CAN_LPM             EQU (0x1 <<  1) ;- (CAN) Disable/Enable Low Power Mode\r
-AT91C_CAN_ABM             EQU (0x1 <<  2) ;- (CAN) Disable/Enable Autobaud/Listen Mode\r
-AT91C_CAN_OVL             EQU (0x1 <<  3) ;- (CAN) Disable/Enable Overload Frame\r
-AT91C_CAN_TEOF            EQU (0x1 <<  4) ;- (CAN) Time Stamp messages at each end of Frame\r
-AT91C_CAN_TTM             EQU (0x1 <<  5) ;- (CAN) Disable/Enable Time Trigger Mode\r
-AT91C_CAN_TIMFRZ          EQU (0x1 <<  6) ;- (CAN) Enable Timer Freeze\r
-AT91C_CAN_DRPT            EQU (0x1 <<  7) ;- (CAN) Disable Repeat\r
-// - -------- CAN_IER : (CAN Offset: 0x4) CAN Interrupt Enable Register -------- \r
-AT91C_CAN_MB0             EQU (0x1 <<  0) ;- (CAN) Mailbox 0 Flag\r
-AT91C_CAN_MB1             EQU (0x1 <<  1) ;- (CAN) Mailbox 1 Flag\r
-AT91C_CAN_MB2             EQU (0x1 <<  2) ;- (CAN) Mailbox 2 Flag\r
-AT91C_CAN_MB3             EQU (0x1 <<  3) ;- (CAN) Mailbox 3 Flag\r
-AT91C_CAN_MB4             EQU (0x1 <<  4) ;- (CAN) Mailbox 4 Flag\r
-AT91C_CAN_MB5             EQU (0x1 <<  5) ;- (CAN) Mailbox 5 Flag\r
-AT91C_CAN_MB6             EQU (0x1 <<  6) ;- (CAN) Mailbox 6 Flag\r
-AT91C_CAN_MB7             EQU (0x1 <<  7) ;- (CAN) Mailbox 7 Flag\r
-AT91C_CAN_MB8             EQU (0x1 <<  8) ;- (CAN) Mailbox 8 Flag\r
-AT91C_CAN_MB9             EQU (0x1 <<  9) ;- (CAN) Mailbox 9 Flag\r
-AT91C_CAN_MB10            EQU (0x1 << 10) ;- (CAN) Mailbox 10 Flag\r
-AT91C_CAN_MB11            EQU (0x1 << 11) ;- (CAN) Mailbox 11 Flag\r
-AT91C_CAN_MB12            EQU (0x1 << 12) ;- (CAN) Mailbox 12 Flag\r
-AT91C_CAN_MB13            EQU (0x1 << 13) ;- (CAN) Mailbox 13 Flag\r
-AT91C_CAN_MB14            EQU (0x1 << 14) ;- (CAN) Mailbox 14 Flag\r
-AT91C_CAN_MB15            EQU (0x1 << 15) ;- (CAN) Mailbox 15 Flag\r
-AT91C_CAN_ERRA            EQU (0x1 << 16) ;- (CAN) Error Active Mode Flag\r
-AT91C_CAN_WARN            EQU (0x1 << 17) ;- (CAN) Warning Limit Flag\r
-AT91C_CAN_ERRP            EQU (0x1 << 18) ;- (CAN) Error Passive Mode Flag\r
-AT91C_CAN_BOFF            EQU (0x1 << 19) ;- (CAN) Bus Off Mode Flag\r
-AT91C_CAN_SLEEP           EQU (0x1 << 20) ;- (CAN) Sleep Flag\r
-AT91C_CAN_WAKEUP          EQU (0x1 << 21) ;- (CAN) Wakeup Flag\r
-AT91C_CAN_TOVF            EQU (0x1 << 22) ;- (CAN) Timer Overflow Flag\r
-AT91C_CAN_TSTP            EQU (0x1 << 23) ;- (CAN) Timestamp Flag\r
-AT91C_CAN_CERR            EQU (0x1 << 24) ;- (CAN) CRC Error\r
-AT91C_CAN_SERR            EQU (0x1 << 25) ;- (CAN) Stuffing Error\r
-AT91C_CAN_AERR            EQU (0x1 << 26) ;- (CAN) Acknowledgment Error\r
-AT91C_CAN_FERR            EQU (0x1 << 27) ;- (CAN) Form Error\r
-AT91C_CAN_BERR            EQU (0x1 << 28) ;- (CAN) Bit Error\r
-// - -------- CAN_IDR : (CAN Offset: 0x8) CAN Interrupt Disable Register -------- \r
-// - -------- CAN_IMR : (CAN Offset: 0xc) CAN Interrupt Mask Register -------- \r
-// - -------- CAN_SR : (CAN Offset: 0x10) CAN Status Register -------- \r
-AT91C_CAN_RBSY            EQU (0x1 << 29) ;- (CAN) Receiver Busy\r
-AT91C_CAN_TBSY            EQU (0x1 << 30) ;- (CAN) Transmitter Busy\r
-AT91C_CAN_OVLY            EQU (0x1 << 31) ;- (CAN) Overload Busy\r
-// - -------- CAN_BR : (CAN Offset: 0x14) CAN Baudrate Register -------- \r
-AT91C_CAN_PHASE2          EQU (0x7 <<  0) ;- (CAN) Phase 2 segment\r
-AT91C_CAN_PHASE1          EQU (0x7 <<  4) ;- (CAN) Phase 1 segment\r
-AT91C_CAN_PROPAG          EQU (0x7 <<  8) ;- (CAN) Programmation time segment\r
-AT91C_CAN_SYNC            EQU (0x3 << 12) ;- (CAN) Re-synchronization jump width segment\r
-AT91C_CAN_BRP             EQU (0x7F << 16) ;- (CAN) Baudrate Prescaler\r
-AT91C_CAN_SMP             EQU (0x1 << 24) ;- (CAN) Sampling mode\r
-// - -------- CAN_TIM : (CAN Offset: 0x18) CAN Timer Register -------- \r
-AT91C_CAN_TIMER           EQU (0xFFFF <<  0) ;- (CAN) Timer field\r
-// - -------- CAN_TIMESTP : (CAN Offset: 0x1c) CAN Timestamp Register -------- \r
-// - -------- CAN_ECR : (CAN Offset: 0x20) CAN Error Counter Register -------- \r
-AT91C_CAN_REC             EQU (0xFF <<  0) ;- (CAN) Receive Error Counter\r
-AT91C_CAN_TEC             EQU (0xFF << 16) ;- (CAN) Transmit Error Counter\r
-// - -------- CAN_TCR : (CAN Offset: 0x24) CAN Transfer Command Register -------- \r
-AT91C_CAN_TIMRST          EQU (0x1 << 31) ;- (CAN) Timer Reset Field\r
-// - -------- CAN_ACR : (CAN Offset: 0x28) CAN Abort Command Register -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Ethernet MAC 10/100\r
-// - *****************************************************************************\r
-// - -------- EMAC_NCR : (EMAC Offset: 0x0)  -------- \r
-AT91C_EMAC_LB             EQU (0x1 <<  0) ;- (EMAC) Loopback. Optional. When set, loopback signal is at high level.\r
-AT91C_EMAC_LLB            EQU (0x1 <<  1) ;- (EMAC) Loopback local. \r
-AT91C_EMAC_RE             EQU (0x1 <<  2) ;- (EMAC) Receive enable. \r
-AT91C_EMAC_TE             EQU (0x1 <<  3) ;- (EMAC) Transmit enable. \r
-AT91C_EMAC_MPE            EQU (0x1 <<  4) ;- (EMAC) Management port enable. \r
-AT91C_EMAC_CLRSTAT        EQU (0x1 <<  5) ;- (EMAC) Clear statistics registers. \r
-AT91C_EMAC_INCSTAT        EQU (0x1 <<  6) ;- (EMAC) Increment statistics registers. \r
-AT91C_EMAC_WESTAT         EQU (0x1 <<  7) ;- (EMAC) Write enable for statistics registers. \r
-AT91C_EMAC_BP             EQU (0x1 <<  8) ;- (EMAC) Back pressure. \r
-AT91C_EMAC_TSTART         EQU (0x1 <<  9) ;- (EMAC) Start Transmission. \r
-AT91C_EMAC_THALT          EQU (0x1 << 10) ;- (EMAC) Transmission Halt. \r
-AT91C_EMAC_TPFR           EQU (0x1 << 11) ;- (EMAC) Transmit pause frame \r
-AT91C_EMAC_TZQ            EQU (0x1 << 12) ;- (EMAC) Transmit zero quantum pause frame\r
-// - -------- EMAC_NCFGR : (EMAC Offset: 0x4) Network Configuration Register -------- \r
-AT91C_EMAC_SPD            EQU (0x1 <<  0) ;- (EMAC) Speed. \r
-AT91C_EMAC_FD             EQU (0x1 <<  1) ;- (EMAC) Full duplex. \r
-AT91C_EMAC_JFRAME         EQU (0x1 <<  3) ;- (EMAC) Jumbo Frames. \r
-AT91C_EMAC_CAF            EQU (0x1 <<  4) ;- (EMAC) Copy all frames. \r
-AT91C_EMAC_NBC            EQU (0x1 <<  5) ;- (EMAC) No broadcast. \r
-AT91C_EMAC_MTI            EQU (0x1 <<  6) ;- (EMAC) Multicast hash event enable\r
-AT91C_EMAC_UNI            EQU (0x1 <<  7) ;- (EMAC) Unicast hash enable. \r
-AT91C_EMAC_BIG            EQU (0x1 <<  8) ;- (EMAC) Receive 1522 bytes. \r
-AT91C_EMAC_EAE            EQU (0x1 <<  9) ;- (EMAC) External address match enable. \r
-AT91C_EMAC_CLK            EQU (0x3 << 10) ;- (EMAC) \r
-AT91C_EMAC_CLK_HCLK_8     EQU (0x0 << 10) ;- (EMAC) HCLK divided by 8\r
-AT91C_EMAC_CLK_HCLK_16    EQU (0x1 << 10) ;- (EMAC) HCLK divided by 16\r
-AT91C_EMAC_CLK_HCLK_32    EQU (0x2 << 10) ;- (EMAC) HCLK divided by 32\r
-AT91C_EMAC_CLK_HCLK_64    EQU (0x3 << 10) ;- (EMAC) HCLK divided by 64\r
-AT91C_EMAC_RTY            EQU (0x1 << 12) ;- (EMAC) \r
-AT91C_EMAC_PAE            EQU (0x1 << 13) ;- (EMAC) \r
-AT91C_EMAC_RBOF           EQU (0x3 << 14) ;- (EMAC) \r
-AT91C_EMAC_RBOF_OFFSET_0  EQU (0x0 << 14) ;- (EMAC) no offset from start of receive buffer\r
-AT91C_EMAC_RBOF_OFFSET_1  EQU (0x1 << 14) ;- (EMAC) one byte offset from start of receive buffer\r
-AT91C_EMAC_RBOF_OFFSET_2  EQU (0x2 << 14) ;- (EMAC) two bytes offset from start of receive buffer\r
-AT91C_EMAC_RBOF_OFFSET_3  EQU (0x3 << 14) ;- (EMAC) three bytes offset from start of receive buffer\r
-AT91C_EMAC_RLCE           EQU (0x1 << 16) ;- (EMAC) Receive Length field Checking Enable\r
-AT91C_EMAC_DRFCS          EQU (0x1 << 17) ;- (EMAC) Discard Receive FCS\r
-AT91C_EMAC_EFRHD          EQU (0x1 << 18) ;- (EMAC) \r
-AT91C_EMAC_IRXFCS         EQU (0x1 << 19) ;- (EMAC) Ignore RX FCS\r
-// - -------- EMAC_NSR : (EMAC Offset: 0x8) Network Status Register -------- \r
-AT91C_EMAC_LINKR          EQU (0x1 <<  0) ;- (EMAC) \r
-AT91C_EMAC_MDIO           EQU (0x1 <<  1) ;- (EMAC) \r
-AT91C_EMAC_IDLE           EQU (0x1 <<  2) ;- (EMAC) \r
-// - -------- EMAC_TSR : (EMAC Offset: 0x14) Transmit Status Register -------- \r
-AT91C_EMAC_UBR            EQU (0x1 <<  0) ;- (EMAC) \r
-AT91C_EMAC_COL            EQU (0x1 <<  1) ;- (EMAC) \r
-AT91C_EMAC_RLES           EQU (0x1 <<  2) ;- (EMAC) \r
-AT91C_EMAC_TGO            EQU (0x1 <<  3) ;- (EMAC) Transmit Go\r
-AT91C_EMAC_BEX            EQU (0x1 <<  4) ;- (EMAC) Buffers exhausted mid frame\r
-AT91C_EMAC_COMP           EQU (0x1 <<  5) ;- (EMAC) \r
-AT91C_EMAC_UND            EQU (0x1 <<  6) ;- (EMAC) \r
-// - -------- EMAC_RSR : (EMAC Offset: 0x20) Receive Status Register -------- \r
-AT91C_EMAC_BNA            EQU (0x1 <<  0) ;- (EMAC) \r
-AT91C_EMAC_REC            EQU (0x1 <<  1) ;- (EMAC) \r
-AT91C_EMAC_OVR            EQU (0x1 <<  2) ;- (EMAC) \r
-// - -------- EMAC_ISR : (EMAC Offset: 0x24) Interrupt Status Register -------- \r
-AT91C_EMAC_MFD            EQU (0x1 <<  0) ;- (EMAC) \r
-AT91C_EMAC_RCOMP          EQU (0x1 <<  1) ;- (EMAC) \r
-AT91C_EMAC_RXUBR          EQU (0x1 <<  2) ;- (EMAC) \r
-AT91C_EMAC_TXUBR          EQU (0x1 <<  3) ;- (EMAC) \r
-AT91C_EMAC_TUNDR          EQU (0x1 <<  4) ;- (EMAC) \r
-AT91C_EMAC_RLEX           EQU (0x1 <<  5) ;- (EMAC) \r
-AT91C_EMAC_TXERR          EQU (0x1 <<  6) ;- (EMAC) \r
-AT91C_EMAC_TCOMP          EQU (0x1 <<  7) ;- (EMAC) \r
-AT91C_EMAC_LINK           EQU (0x1 <<  9) ;- (EMAC) \r
-AT91C_EMAC_ROVR           EQU (0x1 << 10) ;- (EMAC) \r
-AT91C_EMAC_HRESP          EQU (0x1 << 11) ;- (EMAC) \r
-AT91C_EMAC_PFRE           EQU (0x1 << 12) ;- (EMAC) \r
-AT91C_EMAC_PTZ            EQU (0x1 << 13) ;- (EMAC) \r
-// - -------- EMAC_IER : (EMAC Offset: 0x28) Interrupt Enable Register -------- \r
-// - -------- EMAC_IDR : (EMAC Offset: 0x2c) Interrupt Disable Register -------- \r
-// - -------- EMAC_IMR : (EMAC Offset: 0x30) Interrupt Mask Register -------- \r
-// - -------- EMAC_MAN : (EMAC Offset: 0x34) PHY Maintenance Register -------- \r
-AT91C_EMAC_DATA           EQU (0xFFFF <<  0) ;- (EMAC) \r
-AT91C_EMAC_CODE           EQU (0x3 << 16) ;- (EMAC) \r
-AT91C_EMAC_REGA           EQU (0x1F << 18) ;- (EMAC) \r
-AT91C_EMAC_PHYA           EQU (0x1F << 23) ;- (EMAC) \r
-AT91C_EMAC_RW             EQU (0x3 << 28) ;- (EMAC) \r
-AT91C_EMAC_SOF            EQU (0x3 << 30) ;- (EMAC) \r
-// - -------- EMAC_USRIO : (EMAC Offset: 0xc0) USER Input Output Register -------- \r
-AT91C_EMAC_RMII           EQU (0x1 <<  0) ;- (EMAC) Reduce MII\r
-// - -------- EMAC_WOL : (EMAC Offset: 0xc4) Wake On LAN Register -------- \r
-AT91C_EMAC_IP             EQU (0xFFFF <<  0) ;- (EMAC) ARP request IP address\r
-AT91C_EMAC_MAG            EQU (0x1 << 16) ;- (EMAC) Magic packet event enable\r
-AT91C_EMAC_ARP            EQU (0x1 << 17) ;- (EMAC) ARP request event enable\r
-AT91C_EMAC_SA1            EQU (0x1 << 18) ;- (EMAC) Specific address register 1 event enable\r
-// - -------- EMAC_REV : (EMAC Offset: 0xfc) Revision Register -------- \r
-AT91C_EMAC_REVREF         EQU (0xFFFF <<  0) ;- (EMAC) \r
-AT91C_EMAC_PARTREF        EQU (0xFFFF << 16) ;- (EMAC) \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Analog to Digital Convertor\r
-// - *****************************************************************************\r
-// - -------- ADC_CR : (ADC Offset: 0x0) ADC Control Register -------- \r
-AT91C_ADC_SWRST           EQU (0x1 <<  0) ;- (ADC) Software Reset\r
-AT91C_ADC_START           EQU (0x1 <<  1) ;- (ADC) Start Conversion\r
-// - -------- ADC_MR : (ADC Offset: 0x4) ADC Mode Register -------- \r
-AT91C_ADC_TRGEN           EQU (0x1 <<  0) ;- (ADC) Trigger Enable\r
-AT91C_ADC_TRGEN_DIS       EQU (0x0) ;- (ADC) Hradware triggers are disabled. Starting a conversion is only possible by software\r
-AT91C_ADC_TRGEN_EN        EQU (0x1) ;- (ADC) Hardware trigger selected by TRGSEL field is enabled.\r
-AT91C_ADC_TRGSEL          EQU (0x7 <<  1) ;- (ADC) Trigger Selection\r
-AT91C_ADC_TRGSEL_TIOA0    EQU (0x0 <<  1) ;- (ADC) Selected TRGSEL = TIAO0\r
-AT91C_ADC_TRGSEL_TIOA1    EQU (0x1 <<  1) ;- (ADC) Selected TRGSEL = TIAO1\r
-AT91C_ADC_TRGSEL_TIOA2    EQU (0x2 <<  1) ;- (ADC) Selected TRGSEL = TIAO2\r
-AT91C_ADC_TRGSEL_TIOA3    EQU (0x3 <<  1) ;- (ADC) Selected TRGSEL = TIAO3\r
-AT91C_ADC_TRGSEL_TIOA4    EQU (0x4 <<  1) ;- (ADC) Selected TRGSEL = TIAO4\r
-AT91C_ADC_TRGSEL_TIOA5    EQU (0x5 <<  1) ;- (ADC) Selected TRGSEL = TIAO5\r
-AT91C_ADC_TRGSEL_EXT      EQU (0x6 <<  1) ;- (ADC) Selected TRGSEL = External Trigger\r
-AT91C_ADC_LOWRES          EQU (0x1 <<  4) ;- (ADC) Resolution.\r
-AT91C_ADC_LOWRES_10_BIT   EQU (0x0 <<  4) ;- (ADC) 10-bit resolution\r
-AT91C_ADC_LOWRES_8_BIT    EQU (0x1 <<  4) ;- (ADC) 8-bit resolution\r
-AT91C_ADC_SLEEP           EQU (0x1 <<  5) ;- (ADC) Sleep Mode\r
-AT91C_ADC_SLEEP_NORMAL_MODE EQU (0x0 <<  5) ;- (ADC) Normal Mode\r
-AT91C_ADC_SLEEP_MODE      EQU (0x1 <<  5) ;- (ADC) Sleep Mode\r
-AT91C_ADC_PRESCAL         EQU (0x3F <<  8) ;- (ADC) Prescaler rate selection\r
-AT91C_ADC_STARTUP         EQU (0x1F << 16) ;- (ADC) Startup Time\r
-AT91C_ADC_SHTIM           EQU (0xF << 24) ;- (ADC) Sample & Hold Time\r
-// - --------  ADC_CHER : (ADC Offset: 0x10) ADC Channel Enable Register -------- \r
-AT91C_ADC_CH0             EQU (0x1 <<  0) ;- (ADC) Channel 0\r
-AT91C_ADC_CH1             EQU (0x1 <<  1) ;- (ADC) Channel 1\r
-AT91C_ADC_CH2             EQU (0x1 <<  2) ;- (ADC) Channel 2\r
-AT91C_ADC_CH3             EQU (0x1 <<  3) ;- (ADC) Channel 3\r
-AT91C_ADC_CH4             EQU (0x1 <<  4) ;- (ADC) Channel 4\r
-AT91C_ADC_CH5             EQU (0x1 <<  5) ;- (ADC) Channel 5\r
-AT91C_ADC_CH6             EQU (0x1 <<  6) ;- (ADC) Channel 6\r
-AT91C_ADC_CH7             EQU (0x1 <<  7) ;- (ADC) Channel 7\r
-// - --------  ADC_CHDR : (ADC Offset: 0x14) ADC Channel Disable Register -------- \r
-// - --------  ADC_CHSR : (ADC Offset: 0x18) ADC Channel Status Register -------- \r
-// - -------- ADC_SR : (ADC Offset: 0x1c) ADC Status Register -------- \r
-AT91C_ADC_EOC0            EQU (0x1 <<  0) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC1            EQU (0x1 <<  1) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC2            EQU (0x1 <<  2) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC3            EQU (0x1 <<  3) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC4            EQU (0x1 <<  4) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC5            EQU (0x1 <<  5) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC6            EQU (0x1 <<  6) ;- (ADC) End of Conversion\r
-AT91C_ADC_EOC7            EQU (0x1 <<  7) ;- (ADC) End of Conversion\r
-AT91C_ADC_OVRE0           EQU (0x1 <<  8) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE1           EQU (0x1 <<  9) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE2           EQU (0x1 << 10) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE3           EQU (0x1 << 11) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE4           EQU (0x1 << 12) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE5           EQU (0x1 << 13) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE6           EQU (0x1 << 14) ;- (ADC) Overrun Error\r
-AT91C_ADC_OVRE7           EQU (0x1 << 15) ;- (ADC) Overrun Error\r
-AT91C_ADC_DRDY            EQU (0x1 << 16) ;- (ADC) Data Ready\r
-AT91C_ADC_GOVRE           EQU (0x1 << 17) ;- (ADC) General Overrun\r
-AT91C_ADC_ENDRX           EQU (0x1 << 18) ;- (ADC) End of Receiver Transfer\r
-AT91C_ADC_RXBUFF          EQU (0x1 << 19) ;- (ADC) RXBUFF Interrupt\r
-// - -------- ADC_LCDR : (ADC Offset: 0x20) ADC Last Converted Data Register -------- \r
-AT91C_ADC_LDATA           EQU (0x3FF <<  0) ;- (ADC) Last Data Converted\r
-// - -------- ADC_IER : (ADC Offset: 0x24) ADC Interrupt Enable Register -------- \r
-// - -------- ADC_IDR : (ADC Offset: 0x28) ADC Interrupt Disable Register -------- \r
-// - -------- ADC_IMR : (ADC Offset: 0x2c) ADC Interrupt Mask Register -------- \r
-// - -------- ADC_CDR0 : (ADC Offset: 0x30) ADC Channel Data Register 0 -------- \r
-AT91C_ADC_DATA            EQU (0x3FF <<  0) ;- (ADC) Converted Data\r
-// - -------- ADC_CDR1 : (ADC Offset: 0x34) ADC Channel Data Register 1 -------- \r
-// - -------- ADC_CDR2 : (ADC Offset: 0x38) ADC Channel Data Register 2 -------- \r
-// - -------- ADC_CDR3 : (ADC Offset: 0x3c) ADC Channel Data Register 3 -------- \r
-// - -------- ADC_CDR4 : (ADC Offset: 0x40) ADC Channel Data Register 4 -------- \r
-// - -------- ADC_CDR5 : (ADC Offset: 0x44) ADC Channel Data Register 5 -------- \r
-// - -------- ADC_CDR6 : (ADC Offset: 0x48) ADC Channel Data Register 6 -------- \r
-// - -------- ADC_CDR7 : (ADC Offset: 0x4c) ADC Channel Data Register 7 -------- \r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Advanced  Encryption Standard\r
-// - *****************************************************************************\r
-// - -------- AES_CR : (AES Offset: 0x0) Control Register -------- \r
-AT91C_AES_START           EQU (0x1 <<  0) ;- (AES) Starts Processing\r
-AT91C_AES_SWRST           EQU (0x1 <<  8) ;- (AES) Software Reset\r
-AT91C_AES_LOADSEED        EQU (0x1 << 16) ;- (AES) Random Number Generator Seed Loading\r
-// - -------- AES_MR : (AES Offset: 0x4) Mode Register -------- \r
-AT91C_AES_CIPHER          EQU (0x1 <<  0) ;- (AES) Processing Mode\r
-AT91C_AES_PROCDLY         EQU (0xF <<  4) ;- (AES) Processing Delay\r
-AT91C_AES_SMOD            EQU (0x3 <<  8) ;- (AES) Start Mode\r
-AT91C_AES_SMOD_MANUAL     EQU (0x0 <<  8) ;- (AES) Manual Mode: The START bit in register AES_CR must be set to begin encryption or decryption.\r
-AT91C_AES_SMOD_AUTO       EQU (0x1 <<  8) ;- (AES) Auto Mode: no action in AES_CR is necessary (cf datasheet).\r
-AT91C_AES_SMOD_PDC        EQU (0x2 <<  8) ;- (AES) PDC Mode (cf datasheet).\r
-AT91C_AES_OPMOD           EQU (0x7 << 12) ;- (AES) Operation Mode\r
-AT91C_AES_OPMOD_ECB       EQU (0x0 << 12) ;- (AES) ECB Electronic CodeBook mode.\r
-AT91C_AES_OPMOD_CBC       EQU (0x1 << 12) ;- (AES) CBC Cipher Block Chaining mode.\r
-AT91C_AES_OPMOD_OFB       EQU (0x2 << 12) ;- (AES) OFB Output Feedback mode.\r
-AT91C_AES_OPMOD_CFB       EQU (0x3 << 12) ;- (AES) CFB Cipher Feedback mode.\r
-AT91C_AES_OPMOD_CTR       EQU (0x4 << 12) ;- (AES) CTR Counter mode.\r
-AT91C_AES_LOD             EQU (0x1 << 15) ;- (AES) Last Output Data Mode\r
-AT91C_AES_CFBS            EQU (0x7 << 16) ;- (AES) Cipher Feedback Data Size\r
-AT91C_AES_CFBS_128_BIT    EQU (0x0 << 16) ;- (AES) 128-bit.\r
-AT91C_AES_CFBS_64_BIT     EQU (0x1 << 16) ;- (AES) 64-bit.\r
-AT91C_AES_CFBS_32_BIT     EQU (0x2 << 16) ;- (AES) 32-bit.\r
-AT91C_AES_CFBS_16_BIT     EQU (0x3 << 16) ;- (AES) 16-bit.\r
-AT91C_AES_CFBS_8_BIT      EQU (0x4 << 16) ;- (AES) 8-bit.\r
-AT91C_AES_CKEY            EQU (0xF << 20) ;- (AES) Countermeasure Key\r
-AT91C_AES_CTYPE           EQU (0x1F << 24) ;- (AES) Countermeasure Type\r
-AT91C_AES_CTYPE_TYPE1_EN  EQU (0x1 << 24) ;- (AES) Countermeasure type 1 is enabled.\r
-AT91C_AES_CTYPE_TYPE2_EN  EQU (0x2 << 24) ;- (AES) Countermeasure type 2 is enabled.\r
-AT91C_AES_CTYPE_TYPE3_EN  EQU (0x4 << 24) ;- (AES) Countermeasure type 3 is enabled.\r
-AT91C_AES_CTYPE_TYPE4_EN  EQU (0x8 << 24) ;- (AES) Countermeasure type 4 is enabled.\r
-AT91C_AES_CTYPE_TYPE5_EN  EQU (0x10 << 24) ;- (AES) Countermeasure type 5 is enabled.\r
-// - -------- AES_IER : (AES Offset: 0x10) Interrupt Enable Register -------- \r
-AT91C_AES_DATRDY          EQU (0x1 <<  0) ;- (AES) DATRDY\r
-AT91C_AES_ENDRX           EQU (0x1 <<  1) ;- (AES) PDC Read Buffer End\r
-AT91C_AES_ENDTX           EQU (0x1 <<  2) ;- (AES) PDC Write Buffer End\r
-AT91C_AES_RXBUFF          EQU (0x1 <<  3) ;- (AES) PDC Read Buffer Full\r
-AT91C_AES_TXBUFE          EQU (0x1 <<  4) ;- (AES) PDC Write Buffer Empty\r
-AT91C_AES_URAD            EQU (0x1 <<  8) ;- (AES) Unspecified Register Access Detection\r
-// - -------- AES_IDR : (AES Offset: 0x14) Interrupt Disable Register -------- \r
-// - -------- AES_IMR : (AES Offset: 0x18) Interrupt Mask Register -------- \r
-// - -------- AES_ISR : (AES Offset: 0x1c) Interrupt Status Register -------- \r
-AT91C_AES_URAT            EQU (0x7 << 12) ;- (AES) Unspecified Register Access Type Status\r
-AT91C_AES_URAT_IN_DAT_WRITE_DATPROC EQU (0x0 << 12) ;- (AES) Input data register written during the data processing in PDC mode.\r
-AT91C_AES_URAT_OUT_DAT_READ_DATPROC EQU (0x1 << 12) ;- (AES) Output data register read during the data processing.\r
-AT91C_AES_URAT_MODEREG_WRITE_DATPROC EQU (0x2 << 12) ;- (AES) Mode register written during the data processing.\r
-AT91C_AES_URAT_OUT_DAT_READ_SUBKEY EQU (0x3 << 12) ;- (AES) Output data register read during the sub-keys generation.\r
-AT91C_AES_URAT_MODEREG_WRITE_SUBKEY EQU (0x4 << 12) ;- (AES) Mode register written during the sub-keys generation.\r
-AT91C_AES_URAT_WO_REG_READ EQU (0x5 << 12) ;- (AES) Write-only register read access.\r
-\r
-// - *****************************************************************************\r
-// -              SOFTWARE API DEFINITION  FOR Triple Data Encryption Standard\r
-// - *****************************************************************************\r
-// - -------- TDES_CR : (TDES Offset: 0x0) Control Register -------- \r
-AT91C_TDES_START          EQU (0x1 <<  0) ;- (TDES) Starts Processing\r
-AT91C_TDES_SWRST          EQU (0x1 <<  8) ;- (TDES) Software Reset\r
-// - -------- TDES_MR : (TDES Offset: 0x4) Mode Register -------- \r
-AT91C_TDES_CIPHER         EQU (0x1 <<  0) ;- (TDES) Processing Mode\r
-AT91C_TDES_TDESMOD        EQU (0x1 <<  1) ;- (TDES) Single or Triple DES Mode\r
-AT91C_TDES_KEYMOD         EQU (0x1 <<  4) ;- (TDES) Key Mode\r
-AT91C_TDES_SMOD           EQU (0x3 <<  8) ;- (TDES) Start Mode\r
-AT91C_TDES_SMOD_MANUAL    EQU (0x0 <<  8) ;- (TDES) Manual Mode: The START bit in register TDES_CR must be set to begin encryption or decryption.\r
-AT91C_TDES_SMOD_AUTO      EQU (0x1 <<  8) ;- (TDES) Auto Mode: no action in TDES_CR is necessary (cf datasheet).\r
-AT91C_TDES_SMOD_PDC       EQU (0x2 <<  8) ;- (TDES) PDC Mode (cf datasheet).\r
-AT91C_TDES_OPMOD          EQU (0x3 << 12) ;- (TDES) Operation Mode\r
-AT91C_TDES_OPMOD_ECB      EQU (0x0 << 12) ;- (TDES) ECB Electronic CodeBook mode.\r
-AT91C_TDES_OPMOD_CBC      EQU (0x1 << 12) ;- (TDES) CBC Cipher Block Chaining mode.\r
-AT91C_TDES_OPMOD_OFB      EQU (0x2 << 12) ;- (TDES) OFB Output Feedback mode.\r
-AT91C_TDES_OPMOD_CFB      EQU (0x3 << 12) ;- (TDES) CFB Cipher Feedback mode.\r
-AT91C_TDES_LOD            EQU (0x1 << 15) ;- (TDES) Last Output Data Mode\r
-AT91C_TDES_CFBS           EQU (0x3 << 16) ;- (TDES) Cipher Feedback Data Size\r
-AT91C_TDES_CFBS_64_BIT    EQU (0x0 << 16) ;- (TDES) 64-bit.\r
-AT91C_TDES_CFBS_32_BIT    EQU (0x1 << 16) ;- (TDES) 32-bit.\r
-AT91C_TDES_CFBS_16_BIT    EQU (0x2 << 16) ;- (TDES) 16-bit.\r
-AT91C_TDES_CFBS_8_BIT     EQU (0x3 << 16) ;- (TDES) 8-bit.\r
-// - -------- TDES_IER : (TDES Offset: 0x10) Interrupt Enable Register -------- \r
-AT91C_TDES_DATRDY         EQU (0x1 <<  0) ;- (TDES) DATRDY\r
-AT91C_TDES_ENDRX          EQU (0x1 <<  1) ;- (TDES) PDC Read Buffer End\r
-AT91C_TDES_ENDTX          EQU (0x1 <<  2) ;- (TDES) PDC Write Buffer End\r
-AT91C_TDES_RXBUFF         EQU (0x1 <<  3) ;- (TDES) PDC Read Buffer Full\r
-AT91C_TDES_TXBUFE         EQU (0x1 <<  4) ;- (TDES) PDC Write Buffer Empty\r
-AT91C_TDES_URAD           EQU (0x1 <<  8) ;- (TDES) Unspecified Register Access Detection\r
-// - -------- TDES_IDR : (TDES Offset: 0x14) Interrupt Disable Register -------- \r
-// - -------- TDES_IMR : (TDES Offset: 0x18) Interrupt Mask Register -------- \r
-// - -------- TDES_ISR : (TDES Offset: 0x1c) Interrupt Status Register -------- \r
-AT91C_TDES_URAT           EQU (0x3 << 12) ;- (TDES) Unspecified Register Access Type Status\r
-AT91C_TDES_URAT_IN_DAT_WRITE_DATPROC EQU (0x0 << 12) ;- (TDES) Input data register written during the data processing in PDC mode.\r
-AT91C_TDES_URAT_OUT_DAT_READ_DATPROC EQU (0x1 << 12) ;- (TDES) Output data register read during the data processing.\r
-AT91C_TDES_URAT_MODEREG_WRITE_DATPROC EQU (0x2 << 12) ;- (TDES) Mode register written during the data processing.\r
-AT91C_TDES_URAT_WO_REG_READ EQU (0x3 << 12) ;- (TDES) Write-only register read access.\r
-\r
-// - *****************************************************************************\r
-// -               REGISTER ADDRESS DEFINITION FOR AT91SAM7X256\r
-// - *****************************************************************************\r
-// - ========== Register definition for SYS peripheral ========== \r
-// - ========== Register definition for AIC peripheral ========== \r
-AT91C_AIC_IVR             EQU (0xFFFFF100) ;- (AIC) IRQ Vector Register\r
-AT91C_AIC_SMR             EQU (0xFFFFF000) ;- (AIC) Source Mode Register\r
-AT91C_AIC_FVR             EQU (0xFFFFF104) ;- (AIC) FIQ Vector Register\r
-AT91C_AIC_DCR             EQU (0xFFFFF138) ;- (AIC) Debug Control Register (Protect)\r
-AT91C_AIC_EOICR           EQU (0xFFFFF130) ;- (AIC) End of Interrupt Command Register\r
-AT91C_AIC_SVR             EQU (0xFFFFF080) ;- (AIC) Source Vector Register\r
-AT91C_AIC_FFSR            EQU (0xFFFFF148) ;- (AIC) Fast Forcing Status Register\r
-AT91C_AIC_ICCR            EQU (0xFFFFF128) ;- (AIC) Interrupt Clear Command Register\r
-AT91C_AIC_ISR             EQU (0xFFFFF108) ;- (AIC) Interrupt Status Register\r
-AT91C_AIC_IMR             EQU (0xFFFFF110) ;- (AIC) Interrupt Mask Register\r
-AT91C_AIC_IPR             EQU (0xFFFFF10C) ;- (AIC) Interrupt Pending Register\r
-AT91C_AIC_FFER            EQU (0xFFFFF140) ;- (AIC) Fast Forcing Enable Register\r
-AT91C_AIC_IECR            EQU (0xFFFFF120) ;- (AIC) Interrupt Enable Command Register\r
-AT91C_AIC_ISCR            EQU (0xFFFFF12C) ;- (AIC) Interrupt Set Command Register\r
-AT91C_AIC_FFDR            EQU (0xFFFFF144) ;- (AIC) Fast Forcing Disable Register\r
-AT91C_AIC_CISR            EQU (0xFFFFF114) ;- (AIC) Core Interrupt Status Register\r
-AT91C_AIC_IDCR            EQU (0xFFFFF124) ;- (AIC) Interrupt Disable Command Register\r
-AT91C_AIC_SPU             EQU (0xFFFFF134) ;- (AIC) Spurious Vector Register\r
-// - ========== Register definition for PDC_DBGU peripheral ========== \r
-AT91C_DBGU_TCR            EQU (0xFFFFF30C) ;- (PDC_DBGU) Transmit Counter Register\r
-AT91C_DBGU_RNPR           EQU (0xFFFFF310) ;- (PDC_DBGU) Receive Next Pointer Register\r
-AT91C_DBGU_TNPR           EQU (0xFFFFF318) ;- (PDC_DBGU) Transmit Next Pointer Register\r
-AT91C_DBGU_TPR            EQU (0xFFFFF308) ;- (PDC_DBGU) Transmit Pointer Register\r
-AT91C_DBGU_RPR            EQU (0xFFFFF300) ;- (PDC_DBGU) Receive Pointer Register\r
-AT91C_DBGU_RCR            EQU (0xFFFFF304) ;- (PDC_DBGU) Receive Counter Register\r
-AT91C_DBGU_RNCR           EQU (0xFFFFF314) ;- (PDC_DBGU) Receive Next Counter Register\r
-AT91C_DBGU_PTCR           EQU (0xFFFFF320) ;- (PDC_DBGU) PDC Transfer Control Register\r
-AT91C_DBGU_PTSR           EQU (0xFFFFF324) ;- (PDC_DBGU) PDC Transfer Status Register\r
-AT91C_DBGU_TNCR           EQU (0xFFFFF31C) ;- (PDC_DBGU) Transmit Next Counter Register\r
-// - ========== Register definition for DBGU peripheral ========== \r
-AT91C_DBGU_EXID           EQU (0xFFFFF244) ;- (DBGU) Chip ID Extension Register\r
-AT91C_DBGU_BRGR           EQU (0xFFFFF220) ;- (DBGU) Baud Rate Generator Register\r
-AT91C_DBGU_IDR            EQU (0xFFFFF20C) ;- (DBGU) Interrupt Disable Register\r
-AT91C_DBGU_CSR            EQU (0xFFFFF214) ;- (DBGU) Channel Status Register\r
-AT91C_DBGU_CIDR           EQU (0xFFFFF240) ;- (DBGU) Chip ID Register\r
-AT91C_DBGU_MR             EQU (0xFFFFF204) ;- (DBGU) Mode Register\r
-AT91C_DBGU_IMR            EQU (0xFFFFF210) ;- (DBGU) Interrupt Mask Register\r
-AT91C_DBGU_CR             EQU (0xFFFFF200) ;- (DBGU) Control Register\r
-AT91C_DBGU_FNTR           EQU (0xFFFFF248) ;- (DBGU) Force NTRST Register\r
-AT91C_DBGU_THR            EQU (0xFFFFF21C) ;- (DBGU) Transmitter Holding Register\r
-AT91C_DBGU_RHR            EQU (0xFFFFF218) ;- (DBGU) Receiver Holding Register\r
-AT91C_DBGU_IER            EQU (0xFFFFF208) ;- (DBGU) Interrupt Enable Register\r
-// - ========== Register definition for PIOA peripheral ========== \r
-AT91C_PIOA_ODR            EQU (0xFFFFF414) ;- (PIOA) Output Disable Registerr\r
-AT91C_PIOA_SODR           EQU (0xFFFFF430) ;- (PIOA) Set Output Data Register\r
-AT91C_PIOA_ISR            EQU (0xFFFFF44C) ;- (PIOA) Interrupt Status Register\r
-AT91C_PIOA_ABSR           EQU (0xFFFFF478) ;- (PIOA) AB Select Status Register\r
-AT91C_PIOA_IER            EQU (0xFFFFF440) ;- (PIOA) Interrupt Enable Register\r
-AT91C_PIOA_PPUDR          EQU (0xFFFFF460) ;- (PIOA) Pull-up Disable Register\r
-AT91C_PIOA_IMR            EQU (0xFFFFF448) ;- (PIOA) Interrupt Mask Register\r
-AT91C_PIOA_PER            EQU (0xFFFFF400) ;- (PIOA) PIO Enable Register\r
-AT91C_PIOA_IFDR           EQU (0xFFFFF424) ;- (PIOA) Input Filter Disable Register\r
-AT91C_PIOA_OWDR           EQU (0xFFFFF4A4) ;- (PIOA) Output Write Disable Register\r
-AT91C_PIOA_MDSR           EQU (0xFFFFF458) ;- (PIOA) Multi-driver Status Register\r
-AT91C_PIOA_IDR            EQU (0xFFFFF444) ;- (PIOA) Interrupt Disable Register\r
-AT91C_PIOA_ODSR           EQU (0xFFFFF438) ;- (PIOA) Output Data Status Register\r
-AT91C_PIOA_PPUSR          EQU (0xFFFFF468) ;- (PIOA) Pull-up Status Register\r
-AT91C_PIOA_OWSR           EQU (0xFFFFF4A8) ;- (PIOA) Output Write Status Register\r
-AT91C_PIOA_BSR            EQU (0xFFFFF474) ;- (PIOA) Select B Register\r
-AT91C_PIOA_OWER           EQU (0xFFFFF4A0) ;- (PIOA) Output Write Enable Register\r
-AT91C_PIOA_IFER           EQU (0xFFFFF420) ;- (PIOA) Input Filter Enable Register\r
-AT91C_PIOA_PDSR           EQU (0xFFFFF43C) ;- (PIOA) Pin Data Status Register\r
-AT91C_PIOA_PPUER          EQU (0xFFFFF464) ;- (PIOA) Pull-up Enable Register\r
-AT91C_PIOA_OSR            EQU (0xFFFFF418) ;- (PIOA) Output Status Register\r
-AT91C_PIOA_ASR            EQU (0xFFFFF470) ;- (PIOA) Select A Register\r
-AT91C_PIOA_MDDR           EQU (0xFFFFF454) ;- (PIOA) Multi-driver Disable Register\r
-AT91C_PIOA_CODR           EQU (0xFFFFF434) ;- (PIOA) Clear Output Data Register\r
-AT91C_PIOA_MDER           EQU (0xFFFFF450) ;- (PIOA) Multi-driver Enable Register\r
-AT91C_PIOA_PDR            EQU (0xFFFFF404) ;- (PIOA) PIO Disable Register\r
-AT91C_PIOA_IFSR           EQU (0xFFFFF428) ;- (PIOA) Input Filter Status Register\r
-AT91C_PIOA_OER            EQU (0xFFFFF410) ;- (PIOA) Output Enable Register\r
-AT91C_PIOA_PSR            EQU (0xFFFFF408) ;- (PIOA) PIO Status Register\r
-// - ========== Register definition for PIOB peripheral ========== \r
-AT91C_PIOB_OWDR           EQU (0xFFFFF6A4) ;- (PIOB) Output Write Disable Register\r
-AT91C_PIOB_MDER           EQU (0xFFFFF650) ;- (PIOB) Multi-driver Enable Register\r
-AT91C_PIOB_PPUSR          EQU (0xFFFFF668) ;- (PIOB) Pull-up Status Register\r
-AT91C_PIOB_IMR            EQU (0xFFFFF648) ;- (PIOB) Interrupt Mask Register\r
-AT91C_PIOB_ASR            EQU (0xFFFFF670) ;- (PIOB) Select A Register\r
-AT91C_PIOB_PPUDR          EQU (0xFFFFF660) ;- (PIOB) Pull-up Disable Register\r
-AT91C_PIOB_PSR            EQU (0xFFFFF608) ;- (PIOB) PIO Status Register\r
-AT91C_PIOB_IER            EQU (0xFFFFF640) ;- (PIOB) Interrupt Enable Register\r
-AT91C_PIOB_CODR           EQU (0xFFFFF634) ;- (PIOB) Clear Output Data Register\r
-AT91C_PIOB_OWER           EQU (0xFFFFF6A0) ;- (PIOB) Output Write Enable Register\r
-AT91C_PIOB_ABSR           EQU (0xFFFFF678) ;- (PIOB) AB Select Status Register\r
-AT91C_PIOB_IFDR           EQU (0xFFFFF624) ;- (PIOB) Input Filter Disable Register\r
-AT91C_PIOB_PDSR           EQU (0xFFFFF63C) ;- (PIOB) Pin Data Status Register\r
-AT91C_PIOB_IDR            EQU (0xFFFFF644) ;- (PIOB) Interrupt Disable Register\r
-AT91C_PIOB_OWSR           EQU (0xFFFFF6A8) ;- (PIOB) Output Write Status Register\r
-AT91C_PIOB_PDR            EQU (0xFFFFF604) ;- (PIOB) PIO Disable Register\r
-AT91C_PIOB_ODR            EQU (0xFFFFF614) ;- (PIOB) Output Disable Registerr\r
-AT91C_PIOB_IFSR           EQU (0xFFFFF628) ;- (PIOB) Input Filter Status Register\r
-AT91C_PIOB_PPUER          EQU (0xFFFFF664) ;- (PIOB) Pull-up Enable Register\r
-AT91C_PIOB_SODR           EQU (0xFFFFF630) ;- (PIOB) Set Output Data Register\r
-AT91C_PIOB_ISR            EQU (0xFFFFF64C) ;- (PIOB) Interrupt Status Register\r
-AT91C_PIOB_ODSR           EQU (0xFFFFF638) ;- (PIOB) Output Data Status Register\r
-AT91C_PIOB_OSR            EQU (0xFFFFF618) ;- (PIOB) Output Status Register\r
-AT91C_PIOB_MDSR           EQU (0xFFFFF658) ;- (PIOB) Multi-driver Status Register\r
-AT91C_PIOB_IFER           EQU (0xFFFFF620) ;- (PIOB) Input Filter Enable Register\r
-AT91C_PIOB_BSR            EQU (0xFFFFF674) ;- (PIOB) Select B Register\r
-AT91C_PIOB_MDDR           EQU (0xFFFFF654) ;- (PIOB) Multi-driver Disable Register\r
-AT91C_PIOB_OER            EQU (0xFFFFF610) ;- (PIOB) Output Enable Register\r
-AT91C_PIOB_PER            EQU (0xFFFFF600) ;- (PIOB) PIO Enable Register\r
-// - ========== Register definition for CKGR peripheral ========== \r
-AT91C_CKGR_MOR            EQU (0xFFFFFC20) ;- (CKGR) Main Oscillator Register\r
-AT91C_CKGR_PLLR           EQU (0xFFFFFC2C) ;- (CKGR) PLL Register\r
-AT91C_CKGR_MCFR           EQU (0xFFFFFC24) ;- (CKGR) Main Clock  Frequency Register\r
-// - ========== Register definition for PMC peripheral ========== \r
-AT91C_PMC_IDR             EQU (0xFFFFFC64) ;- (PMC) Interrupt Disable Register\r
-AT91C_PMC_MOR             EQU (0xFFFFFC20) ;- (PMC) Main Oscillator Register\r
-AT91C_PMC_PLLR            EQU (0xFFFFFC2C) ;- (PMC) PLL Register\r
-AT91C_PMC_PCER            EQU (0xFFFFFC10) ;- (PMC) Peripheral Clock Enable Register\r
-AT91C_PMC_PCKR            EQU (0xFFFFFC40) ;- (PMC) Programmable Clock Register\r
-AT91C_PMC_MCKR            EQU (0xFFFFFC30) ;- (PMC) Master Clock Register\r
-AT91C_PMC_SCDR            EQU (0xFFFFFC04) ;- (PMC) System Clock Disable Register\r
-AT91C_PMC_PCDR            EQU (0xFFFFFC14) ;- (PMC) Peripheral Clock Disable Register\r
-AT91C_PMC_SCSR            EQU (0xFFFFFC08) ;- (PMC) System Clock Status Register\r
-AT91C_PMC_PCSR            EQU (0xFFFFFC18) ;- (PMC) Peripheral Clock Status Register\r
-AT91C_PMC_MCFR            EQU (0xFFFFFC24) ;- (PMC) Main Clock  Frequency Register\r
-AT91C_PMC_SCER            EQU (0xFFFFFC00) ;- (PMC) System Clock Enable Register\r
-AT91C_PMC_IMR             EQU (0xFFFFFC6C) ;- (PMC) Interrupt Mask Register\r
-AT91C_PMC_IER             EQU (0xFFFFFC60) ;- (PMC) Interrupt Enable Register\r
-AT91C_PMC_SR              EQU (0xFFFFFC68) ;- (PMC) Status Register\r
-// - ========== Register definition for RSTC peripheral ========== \r
-AT91C_RSTC_RCR            EQU (0xFFFFFD00) ;- (RSTC) Reset Control Register\r
-AT91C_RSTC_RMR            EQU (0xFFFFFD08) ;- (RSTC) Reset Mode Register\r
-AT91C_RSTC_RSR            EQU (0xFFFFFD04) ;- (RSTC) Reset Status Register\r
-// - ========== Register definition for RTTC peripheral ========== \r
-AT91C_RTTC_RTSR           EQU (0xFFFFFD2C) ;- (RTTC) Real-time Status Register\r
-AT91C_RTTC_RTMR           EQU (0xFFFFFD20) ;- (RTTC) Real-time Mode Register\r
-AT91C_RTTC_RTVR           EQU (0xFFFFFD28) ;- (RTTC) Real-time Value Register\r
-AT91C_RTTC_RTAR           EQU (0xFFFFFD24) ;- (RTTC) Real-time Alarm Register\r
-// - ========== Register definition for PITC peripheral ========== \r
-AT91C_PITC_PIVR           EQU (0xFFFFFD38) ;- (PITC) Period Interval Value Register\r
-AT91C_PITC_PISR           EQU (0xFFFFFD34) ;- (PITC) Period Interval Status Register\r
-AT91C_PITC_PIIR           EQU (0xFFFFFD3C) ;- (PITC) Period Interval Image Register\r
-AT91C_PITC_PIMR           EQU (0xFFFFFD30) ;- (PITC) Period Interval Mode Register\r
-// - ========== Register definition for WDTC peripheral ========== \r
-AT91C_WDTC_WDCR           EQU (0xFFFFFD40) ;- (WDTC) Watchdog Control Register\r
-AT91C_WDTC_WDSR           EQU (0xFFFFFD48) ;- (WDTC) Watchdog Status Register\r
-AT91C_WDTC_WDMR           EQU (0xFFFFFD44) ;- (WDTC) Watchdog Mode Register\r
-// - ========== Register definition for VREG peripheral ========== \r
-AT91C_VREG_MR             EQU (0xFFFFFD60) ;- (VREG) Voltage Regulator Mode Register\r
-// - ========== Register definition for MC peripheral ========== \r
-AT91C_MC_ASR              EQU (0xFFFFFF04) ;- (MC) MC Abort Status Register\r
-AT91C_MC_RCR              EQU (0xFFFFFF00) ;- (MC) MC Remap Control Register\r
-AT91C_MC_FCR              EQU (0xFFFFFF64) ;- (MC) MC Flash Command Register\r
-AT91C_MC_AASR             EQU (0xFFFFFF08) ;- (MC) MC Abort Address Status Register\r
-AT91C_MC_FSR              EQU (0xFFFFFF68) ;- (MC) MC Flash Status Register\r
-AT91C_MC_FMR              EQU (0xFFFFFF60) ;- (MC) MC Flash Mode Register\r
-// - ========== Register definition for PDC_SPI1 peripheral ========== \r
-AT91C_SPI1_PTCR           EQU (0xFFFE4120) ;- (PDC_SPI1) PDC Transfer Control Register\r
-AT91C_SPI1_RPR            EQU (0xFFFE4100) ;- (PDC_SPI1) Receive Pointer Register\r
-AT91C_SPI1_TNCR           EQU (0xFFFE411C) ;- (PDC_SPI1) Transmit Next Counter Register\r
-AT91C_SPI1_TPR            EQU (0xFFFE4108) ;- (PDC_SPI1) Transmit Pointer Register\r
-AT91C_SPI1_TNPR           EQU (0xFFFE4118) ;- (PDC_SPI1) Transmit Next Pointer Register\r
-AT91C_SPI1_TCR            EQU (0xFFFE410C) ;- (PDC_SPI1) Transmit Counter Register\r
-AT91C_SPI1_RCR            EQU (0xFFFE4104) ;- (PDC_SPI1) Receive Counter Register\r
-AT91C_SPI1_RNPR           EQU (0xFFFE4110) ;- (PDC_SPI1) Receive Next Pointer Register\r
-AT91C_SPI1_RNCR           EQU (0xFFFE4114) ;- (PDC_SPI1) Receive Next Counter Register\r
-AT91C_SPI1_PTSR           EQU (0xFFFE4124) ;- (PDC_SPI1) PDC Transfer Status Register\r
-// - ========== Register definition for SPI1 peripheral ========== \r
-AT91C_SPI1_IMR            EQU (0xFFFE401C) ;- (SPI1) Interrupt Mask Register\r
-AT91C_SPI1_IER            EQU (0xFFFE4014) ;- (SPI1) Interrupt Enable Register\r
-AT91C_SPI1_MR             EQU (0xFFFE4004) ;- (SPI1) Mode Register\r
-AT91C_SPI1_RDR            EQU (0xFFFE4008) ;- (SPI1) Receive Data Register\r
-AT91C_SPI1_IDR            EQU (0xFFFE4018) ;- (SPI1) Interrupt Disable Register\r
-AT91C_SPI1_SR             EQU (0xFFFE4010) ;- (SPI1) Status Register\r
-AT91C_SPI1_TDR            EQU (0xFFFE400C) ;- (SPI1) Transmit Data Register\r
-AT91C_SPI1_CR             EQU (0xFFFE4000) ;- (SPI1) Control Register\r
-AT91C_SPI1_CSR            EQU (0xFFFE4030) ;- (SPI1) Chip Select Register\r
-// - ========== Register definition for PDC_SPI0 peripheral ========== \r
-AT91C_SPI0_PTCR           EQU (0xFFFE0120) ;- (PDC_SPI0) PDC Transfer Control Register\r
-AT91C_SPI0_TPR            EQU (0xFFFE0108) ;- (PDC_SPI0) Transmit Pointer Register\r
-AT91C_SPI0_TCR            EQU (0xFFFE010C) ;- (PDC_SPI0) Transmit Counter Register\r
-AT91C_SPI0_RCR            EQU (0xFFFE0104) ;- (PDC_SPI0) Receive Counter Register\r
-AT91C_SPI0_PTSR           EQU (0xFFFE0124) ;- (PDC_SPI0) PDC Transfer Status Register\r
-AT91C_SPI0_RNPR           EQU (0xFFFE0110) ;- (PDC_SPI0) Receive Next Pointer Register\r
-AT91C_SPI0_RPR            EQU (0xFFFE0100) ;- (PDC_SPI0) Receive Pointer Register\r
-AT91C_SPI0_TNCR           EQU (0xFFFE011C) ;- (PDC_SPI0) Transmit Next Counter Register\r
-AT91C_SPI0_RNCR           EQU (0xFFFE0114) ;- (PDC_SPI0) Receive Next Counter Register\r
-AT91C_SPI0_TNPR           EQU (0xFFFE0118) ;- (PDC_SPI0) Transmit Next Pointer Register\r
-// - ========== Register definition for SPI0 peripheral ========== \r
-AT91C_SPI0_IER            EQU (0xFFFE0014) ;- (SPI0) Interrupt Enable Register\r
-AT91C_SPI0_SR             EQU (0xFFFE0010) ;- (SPI0) Status Register\r
-AT91C_SPI0_IDR            EQU (0xFFFE0018) ;- (SPI0) Interrupt Disable Register\r
-AT91C_SPI0_CR             EQU (0xFFFE0000) ;- (SPI0) Control Register\r
-AT91C_SPI0_MR             EQU (0xFFFE0004) ;- (SPI0) Mode Register\r
-AT91C_SPI0_IMR            EQU (0xFFFE001C) ;- (SPI0) Interrupt Mask Register\r
-AT91C_SPI0_TDR            EQU (0xFFFE000C) ;- (SPI0) Transmit Data Register\r
-AT91C_SPI0_RDR            EQU (0xFFFE0008) ;- (SPI0) Receive Data Register\r
-AT91C_SPI0_CSR            EQU (0xFFFE0030) ;- (SPI0) Chip Select Register\r
-// - ========== Register definition for PDC_US1 peripheral ========== \r
-AT91C_US1_RNCR            EQU (0xFFFC4114) ;- (PDC_US1) Receive Next Counter Register\r
-AT91C_US1_PTCR            EQU (0xFFFC4120) ;- (PDC_US1) PDC Transfer Control Register\r
-AT91C_US1_TCR             EQU (0xFFFC410C) ;- (PDC_US1) Transmit Counter Register\r
-AT91C_US1_PTSR            EQU (0xFFFC4124) ;- (PDC_US1) PDC Transfer Status Register\r
-AT91C_US1_TNPR            EQU (0xFFFC4118) ;- (PDC_US1) Transmit Next Pointer Register\r
-AT91C_US1_RCR             EQU (0xFFFC4104) ;- (PDC_US1) Receive Counter Register\r
-AT91C_US1_RNPR            EQU (0xFFFC4110) ;- (PDC_US1) Receive Next Pointer Register\r
-AT91C_US1_RPR             EQU (0xFFFC4100) ;- (PDC_US1) Receive Pointer Register\r
-AT91C_US1_TNCR            EQU (0xFFFC411C) ;- (PDC_US1) Transmit Next Counter Register\r
-AT91C_US1_TPR             EQU (0xFFFC4108) ;- (PDC_US1) Transmit Pointer Register\r
-// - ========== Register definition for US1 peripheral ========== \r
-AT91C_US1_IF              EQU (0xFFFC404C) ;- (US1) IRDA_FILTER Register\r
-AT91C_US1_NER             EQU (0xFFFC4044) ;- (US1) Nb Errors Register\r
-AT91C_US1_RTOR            EQU (0xFFFC4024) ;- (US1) Receiver Time-out Register\r
-AT91C_US1_CSR             EQU (0xFFFC4014) ;- (US1) Channel Status Register\r
-AT91C_US1_IDR             EQU (0xFFFC400C) ;- (US1) Interrupt Disable Register\r
-AT91C_US1_IER             EQU (0xFFFC4008) ;- (US1) Interrupt Enable Register\r
-AT91C_US1_THR             EQU (0xFFFC401C) ;- (US1) Transmitter Holding Register\r
-AT91C_US1_TTGR            EQU (0xFFFC4028) ;- (US1) Transmitter Time-guard Register\r
-AT91C_US1_RHR             EQU (0xFFFC4018) ;- (US1) Receiver Holding Register\r
-AT91C_US1_BRGR            EQU (0xFFFC4020) ;- (US1) Baud Rate Generator Register\r
-AT91C_US1_IMR             EQU (0xFFFC4010) ;- (US1) Interrupt Mask Register\r
-AT91C_US1_FIDI            EQU (0xFFFC4040) ;- (US1) FI_DI_Ratio Register\r
-AT91C_US1_CR              EQU (0xFFFC4000) ;- (US1) Control Register\r
-AT91C_US1_MR              EQU (0xFFFC4004) ;- (US1) Mode Register\r
-// - ========== Register definition for PDC_US0 peripheral ========== \r
-AT91C_US0_TNPR            EQU (0xFFFC0118) ;- (PDC_US0) Transmit Next Pointer Register\r
-AT91C_US0_RNPR            EQU (0xFFFC0110) ;- (PDC_US0) Receive Next Pointer Register\r
-AT91C_US0_TCR             EQU (0xFFFC010C) ;- (PDC_US0) Transmit Counter Register\r
-AT91C_US0_PTCR            EQU (0xFFFC0120) ;- (PDC_US0) PDC Transfer Control Register\r
-AT91C_US0_PTSR            EQU (0xFFFC0124) ;- (PDC_US0) PDC Transfer Status Register\r
-AT91C_US0_TNCR            EQU (0xFFFC011C) ;- (PDC_US0) Transmit Next Counter Register\r
-AT91C_US0_TPR             EQU (0xFFFC0108) ;- (PDC_US0) Transmit Pointer Register\r
-AT91C_US0_RCR             EQU (0xFFFC0104) ;- (PDC_US0) Receive Counter Register\r
-AT91C_US0_RPR             EQU (0xFFFC0100) ;- (PDC_US0) Receive Pointer Register\r
-AT91C_US0_RNCR            EQU (0xFFFC0114) ;- (PDC_US0) Receive Next Counter Register\r
-// - ========== Register definition for US0 peripheral ========== \r
-AT91C_US0_BRGR            EQU (0xFFFC0020) ;- (US0) Baud Rate Generator Register\r
-AT91C_US0_NER             EQU (0xFFFC0044) ;- (US0) Nb Errors Register\r
-AT91C_US0_CR              EQU (0xFFFC0000) ;- (US0) Control Register\r
-AT91C_US0_IMR             EQU (0xFFFC0010) ;- (US0) Interrupt Mask Register\r
-AT91C_US0_FIDI            EQU (0xFFFC0040) ;- (US0) FI_DI_Ratio Register\r
-AT91C_US0_TTGR            EQU (0xFFFC0028) ;- (US0) Transmitter Time-guard Register\r
-AT91C_US0_MR              EQU (0xFFFC0004) ;- (US0) Mode Register\r
-AT91C_US0_RTOR            EQU (0xFFFC0024) ;- (US0) Receiver Time-out Register\r
-AT91C_US0_CSR             EQU (0xFFFC0014) ;- (US0) Channel Status Register\r
-AT91C_US0_RHR             EQU (0xFFFC0018) ;- (US0) Receiver Holding Register\r
-AT91C_US0_IDR             EQU (0xFFFC000C) ;- (US0) Interrupt Disable Register\r
-AT91C_US0_THR             EQU (0xFFFC001C) ;- (US0) Transmitter Holding Register\r
-AT91C_US0_IF              EQU (0xFFFC004C) ;- (US0) IRDA_FILTER Register\r
-AT91C_US0_IER             EQU (0xFFFC0008) ;- (US0) Interrupt Enable Register\r
-// - ========== Register definition for PDC_SSC peripheral ========== \r
-AT91C_SSC_TNCR            EQU (0xFFFD411C) ;- (PDC_SSC) Transmit Next Counter Register\r
-AT91C_SSC_RPR             EQU (0xFFFD4100) ;- (PDC_SSC) Receive Pointer Register\r
-AT91C_SSC_RNCR            EQU (0xFFFD4114) ;- (PDC_SSC) Receive Next Counter Register\r
-AT91C_SSC_TPR             EQU (0xFFFD4108) ;- (PDC_SSC) Transmit Pointer Register\r
-AT91C_SSC_PTCR            EQU (0xFFFD4120) ;- (PDC_SSC) PDC Transfer Control Register\r
-AT91C_SSC_TCR             EQU (0xFFFD410C) ;- (PDC_SSC) Transmit Counter Register\r
-AT91C_SSC_RCR             EQU (0xFFFD4104) ;- (PDC_SSC) Receive Counter Register\r
-AT91C_SSC_RNPR            EQU (0xFFFD4110) ;- (PDC_SSC) Receive Next Pointer Register\r
-AT91C_SSC_TNPR            EQU (0xFFFD4118) ;- (PDC_SSC) Transmit Next Pointer Register\r
-AT91C_SSC_PTSR            EQU (0xFFFD4124) ;- (PDC_SSC) PDC Transfer Status Register\r
-// - ========== Register definition for SSC peripheral ========== \r
-AT91C_SSC_RHR             EQU (0xFFFD4020) ;- (SSC) Receive Holding Register\r
-AT91C_SSC_RSHR            EQU (0xFFFD4030) ;- (SSC) Receive Sync Holding Register\r
-AT91C_SSC_TFMR            EQU (0xFFFD401C) ;- (SSC) Transmit Frame Mode Register\r
-AT91C_SSC_IDR             EQU (0xFFFD4048) ;- (SSC) Interrupt Disable Register\r
-AT91C_SSC_THR             EQU (0xFFFD4024) ;- (SSC) Transmit Holding Register\r
-AT91C_SSC_RCMR            EQU (0xFFFD4010) ;- (SSC) Receive Clock ModeRegister\r
-AT91C_SSC_IER             EQU (0xFFFD4044) ;- (SSC) Interrupt Enable Register\r
-AT91C_SSC_TSHR            EQU (0xFFFD4034) ;- (SSC) Transmit Sync Holding Register\r
-AT91C_SSC_SR              EQU (0xFFFD4040) ;- (SSC) Status Register\r
-AT91C_SSC_CMR             EQU (0xFFFD4004) ;- (SSC) Clock Mode Register\r
-AT91C_SSC_TCMR            EQU (0xFFFD4018) ;- (SSC) Transmit Clock Mode Register\r
-AT91C_SSC_CR              EQU (0xFFFD4000) ;- (SSC) Control Register\r
-AT91C_SSC_IMR             EQU (0xFFFD404C) ;- (SSC) Interrupt Mask Register\r
-AT91C_SSC_RFMR            EQU (0xFFFD4014) ;- (SSC) Receive Frame Mode Register\r
-// - ========== Register definition for TWI peripheral ========== \r
-AT91C_TWI_IER             EQU (0xFFFB8024) ;- (TWI) Interrupt Enable Register\r
-AT91C_TWI_CR              EQU (0xFFFB8000) ;- (TWI) Control Register\r
-AT91C_TWI_SR              EQU (0xFFFB8020) ;- (TWI) Status Register\r
-AT91C_TWI_IMR             EQU (0xFFFB802C) ;- (TWI) Interrupt Mask Register\r
-AT91C_TWI_THR             EQU (0xFFFB8034) ;- (TWI) Transmit Holding Register\r
-AT91C_TWI_IDR             EQU (0xFFFB8028) ;- (TWI) Interrupt Disable Register\r
-AT91C_TWI_IADR            EQU (0xFFFB800C) ;- (TWI) Internal Address Register\r
-AT91C_TWI_MMR             EQU (0xFFFB8004) ;- (TWI) Master Mode Register\r
-AT91C_TWI_CWGR            EQU (0xFFFB8010) ;- (TWI) Clock Waveform Generator Register\r
-AT91C_TWI_RHR             EQU (0xFFFB8030) ;- (TWI) Receive Holding Register\r
-// - ========== Register definition for PWMC_CH3 peripheral ========== \r
-AT91C_PWMC_CH3_CUPDR      EQU (0xFFFCC270) ;- (PWMC_CH3) Channel Update Register\r
-AT91C_PWMC_CH3_Reserved   EQU (0xFFFCC274) ;- (PWMC_CH3) Reserved\r
-AT91C_PWMC_CH3_CPRDR      EQU (0xFFFCC268) ;- (PWMC_CH3) Channel Period Register\r
-AT91C_PWMC_CH3_CDTYR      EQU (0xFFFCC264) ;- (PWMC_CH3) Channel Duty Cycle Register\r
-AT91C_PWMC_CH3_CCNTR      EQU (0xFFFCC26C) ;- (PWMC_CH3) Channel Counter Register\r
-AT91C_PWMC_CH3_CMR        EQU (0xFFFCC260) ;- (PWMC_CH3) Channel Mode Register\r
-// - ========== Register definition for PWMC_CH2 peripheral ========== \r
-AT91C_PWMC_CH2_Reserved   EQU (0xFFFCC254) ;- (PWMC_CH2) Reserved\r
-AT91C_PWMC_CH2_CMR        EQU (0xFFFCC240) ;- (PWMC_CH2) Channel Mode Register\r
-AT91C_PWMC_CH2_CCNTR      EQU (0xFFFCC24C) ;- (PWMC_CH2) Channel Counter Register\r
-AT91C_PWMC_CH2_CPRDR      EQU (0xFFFCC248) ;- (PWMC_CH2) Channel Period Register\r
-AT91C_PWMC_CH2_CUPDR      EQU (0xFFFCC250) ;- (PWMC_CH2) Channel Update Register\r
-AT91C_PWMC_CH2_CDTYR      EQU (0xFFFCC244) ;- (PWMC_CH2) Channel Duty Cycle Register\r
-// - ========== Register definition for PWMC_CH1 peripheral ========== \r
-AT91C_PWMC_CH1_Reserved   EQU (0xFFFCC234) ;- (PWMC_CH1) Reserved\r
-AT91C_PWMC_CH1_CUPDR      EQU (0xFFFCC230) ;- (PWMC_CH1) Channel Update Register\r
-AT91C_PWMC_CH1_CPRDR      EQU (0xFFFCC228) ;- (PWMC_CH1) Channel Period Register\r
-AT91C_PWMC_CH1_CCNTR      EQU (0xFFFCC22C) ;- (PWMC_CH1) Channel Counter Register\r
-AT91C_PWMC_CH1_CDTYR      EQU (0xFFFCC224) ;- (PWMC_CH1) Channel Duty Cycle Register\r
-AT91C_PWMC_CH1_CMR        EQU (0xFFFCC220) ;- (PWMC_CH1) Channel Mode Register\r
-// - ========== Register definition for PWMC_CH0 peripheral ========== \r
-AT91C_PWMC_CH0_Reserved   EQU (0xFFFCC214) ;- (PWMC_CH0) Reserved\r
-AT91C_PWMC_CH0_CPRDR      EQU (0xFFFCC208) ;- (PWMC_CH0) Channel Period Register\r
-AT91C_PWMC_CH0_CDTYR      EQU (0xFFFCC204) ;- (PWMC_CH0) Channel Duty Cycle Register\r
-AT91C_PWMC_CH0_CMR        EQU (0xFFFCC200) ;- (PWMC_CH0) Channel Mode Register\r
-AT91C_PWMC_CH0_CUPDR      EQU (0xFFFCC210) ;- (PWMC_CH0) Channel Update Register\r
-AT91C_PWMC_CH0_CCNTR      EQU (0xFFFCC20C) ;- (PWMC_CH0) Channel Counter Register\r
-// - ========== Register definition for PWMC peripheral ========== \r
-AT91C_PWMC_IDR            EQU (0xFFFCC014) ;- (PWMC) PWMC Interrupt Disable Register\r
-AT91C_PWMC_DIS            EQU (0xFFFCC008) ;- (PWMC) PWMC Disable Register\r
-AT91C_PWMC_IER            EQU (0xFFFCC010) ;- (PWMC) PWMC Interrupt Enable Register\r
-AT91C_PWMC_VR             EQU (0xFFFCC0FC) ;- (PWMC) PWMC Version Register\r
-AT91C_PWMC_ISR            EQU (0xFFFCC01C) ;- (PWMC) PWMC Interrupt Status Register\r
-AT91C_PWMC_SR             EQU (0xFFFCC00C) ;- (PWMC) PWMC Status Register\r
-AT91C_PWMC_IMR            EQU (0xFFFCC018) ;- (PWMC) PWMC Interrupt Mask Register\r
-AT91C_PWMC_MR             EQU (0xFFFCC000) ;- (PWMC) PWMC Mode Register\r
-AT91C_PWMC_ENA            EQU (0xFFFCC004) ;- (PWMC) PWMC Enable Register\r
-// - ========== Register definition for UDP peripheral ========== \r
-AT91C_UDP_IMR             EQU (0xFFFB0018) ;- (UDP) Interrupt Mask Register\r
-AT91C_UDP_FADDR           EQU (0xFFFB0008) ;- (UDP) Function Address Register\r
-AT91C_UDP_NUM             EQU (0xFFFB0000) ;- (UDP) Frame Number Register\r
-AT91C_UDP_FDR             EQU (0xFFFB0050) ;- (UDP) Endpoint FIFO Data Register\r
-AT91C_UDP_ISR             EQU (0xFFFB001C) ;- (UDP) Interrupt Status Register\r
-AT91C_UDP_CSR             EQU (0xFFFB0030) ;- (UDP) Endpoint Control and Status Register\r
-AT91C_UDP_IDR             EQU (0xFFFB0014) ;- (UDP) Interrupt Disable Register\r
-AT91C_UDP_ICR             EQU (0xFFFB0020) ;- (UDP) Interrupt Clear Register\r
-AT91C_UDP_RSTEP           EQU (0xFFFB0028) ;- (UDP) Reset Endpoint Register\r
-AT91C_UDP_TXVC            EQU (0xFFFB0074) ;- (UDP) Transceiver Control Register\r
-AT91C_UDP_GLBSTATE        EQU (0xFFFB0004) ;- (UDP) Global State Register\r
-AT91C_UDP_IER             EQU (0xFFFB0010) ;- (UDP) Interrupt Enable Register\r
-// - ========== Register definition for TC0 peripheral ========== \r
-AT91C_TC0_SR              EQU (0xFFFA0020) ;- (TC0) Status Register\r
-AT91C_TC0_RC              EQU (0xFFFA001C) ;- (TC0) Register C\r
-AT91C_TC0_RB              EQU (0xFFFA0018) ;- (TC0) Register B\r
-AT91C_TC0_CCR             EQU (0xFFFA0000) ;- (TC0) Channel Control Register\r
-AT91C_TC0_CMR             EQU (0xFFFA0004) ;- (TC0) Channel Mode Register (Capture Mode / Waveform Mode)\r
-AT91C_TC0_IER             EQU (0xFFFA0024) ;- (TC0) Interrupt Enable Register\r
-AT91C_TC0_RA              EQU (0xFFFA0014) ;- (TC0) Register A\r
-AT91C_TC0_IDR             EQU (0xFFFA0028) ;- (TC0) Interrupt Disable Register\r
-AT91C_TC0_CV              EQU (0xFFFA0010) ;- (TC0) Counter Value\r
-AT91C_TC0_IMR             EQU (0xFFFA002C) ;- (TC0) Interrupt Mask Register\r
-// - ========== Register definition for TC1 peripheral ========== \r
-AT91C_TC1_RB              EQU (0xFFFA0058) ;- (TC1) Register B\r
-AT91C_TC1_CCR             EQU (0xFFFA0040) ;- (TC1) Channel Control Register\r
-AT91C_TC1_IER             EQU (0xFFFA0064) ;- (TC1) Interrupt Enable Register\r
-AT91C_TC1_IDR             EQU (0xFFFA0068) ;- (TC1) Interrupt Disable Register\r
-AT91C_TC1_SR              EQU (0xFFFA0060) ;- (TC1) Status Register\r
-AT91C_TC1_CMR             EQU (0xFFFA0044) ;- (TC1) Channel Mode Register (Capture Mode / Waveform Mode)\r
-AT91C_TC1_RA              EQU (0xFFFA0054) ;- (TC1) Register A\r
-AT91C_TC1_RC              EQU (0xFFFA005C) ;- (TC1) Register C\r
-AT91C_TC1_IMR             EQU (0xFFFA006C) ;- (TC1) Interrupt Mask Register\r
-AT91C_TC1_CV              EQU (0xFFFA0050) ;- (TC1) Counter Value\r
-// - ========== Register definition for TC2 peripheral ========== \r
-AT91C_TC2_CMR             EQU (0xFFFA0084) ;- (TC2) Channel Mode Register (Capture Mode / Waveform Mode)\r
-AT91C_TC2_CCR             EQU (0xFFFA0080) ;- (TC2) Channel Control Register\r
-AT91C_TC2_CV              EQU (0xFFFA0090) ;- (TC2) Counter Value\r
-AT91C_TC2_RA              EQU (0xFFFA0094) ;- (TC2) Register A\r
-AT91C_TC2_RB              EQU (0xFFFA0098) ;- (TC2) Register B\r
-AT91C_TC2_IDR             EQU (0xFFFA00A8) ;- (TC2) Interrupt Disable Register\r
-AT91C_TC2_IMR             EQU (0xFFFA00AC) ;- (TC2) Interrupt Mask Register\r
-AT91C_TC2_RC              EQU (0xFFFA009C) ;- (TC2) Register C\r
-AT91C_TC2_IER             EQU (0xFFFA00A4) ;- (TC2) Interrupt Enable Register\r
-AT91C_TC2_SR              EQU (0xFFFA00A0) ;- (TC2) Status Register\r
-// - ========== Register definition for TCB peripheral ========== \r
-AT91C_TCB_BMR             EQU (0xFFFA00C4) ;- (TCB) TC Block Mode Register\r
-AT91C_TCB_BCR             EQU (0xFFFA00C0) ;- (TCB) TC Block Control Register\r
-// - ========== Register definition for CAN_MB0 peripheral ========== \r
-AT91C_CAN_MB0_MDL         EQU (0xFFFD0214) ;- (CAN_MB0) MailBox Data Low Register\r
-AT91C_CAN_MB0_MAM         EQU (0xFFFD0204) ;- (CAN_MB0) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB0_MCR         EQU (0xFFFD021C) ;- (CAN_MB0) MailBox Control Register\r
-AT91C_CAN_MB0_MID         EQU (0xFFFD0208) ;- (CAN_MB0) MailBox ID Register\r
-AT91C_CAN_MB0_MSR         EQU (0xFFFD0210) ;- (CAN_MB0) MailBox Status Register\r
-AT91C_CAN_MB0_MFID        EQU (0xFFFD020C) ;- (CAN_MB0) MailBox Family ID Register\r
-AT91C_CAN_MB0_MDH         EQU (0xFFFD0218) ;- (CAN_MB0) MailBox Data High Register\r
-AT91C_CAN_MB0_MMR         EQU (0xFFFD0200) ;- (CAN_MB0) MailBox Mode Register\r
-// - ========== Register definition for CAN_MB1 peripheral ========== \r
-AT91C_CAN_MB1_MDL         EQU (0xFFFD0234) ;- (CAN_MB1) MailBox Data Low Register\r
-AT91C_CAN_MB1_MID         EQU (0xFFFD0228) ;- (CAN_MB1) MailBox ID Register\r
-AT91C_CAN_MB1_MMR         EQU (0xFFFD0220) ;- (CAN_MB1) MailBox Mode Register\r
-AT91C_CAN_MB1_MSR         EQU (0xFFFD0230) ;- (CAN_MB1) MailBox Status Register\r
-AT91C_CAN_MB1_MAM         EQU (0xFFFD0224) ;- (CAN_MB1) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB1_MDH         EQU (0xFFFD0238) ;- (CAN_MB1) MailBox Data High Register\r
-AT91C_CAN_MB1_MCR         EQU (0xFFFD023C) ;- (CAN_MB1) MailBox Control Register\r
-AT91C_CAN_MB1_MFID        EQU (0xFFFD022C) ;- (CAN_MB1) MailBox Family ID Register\r
-// - ========== Register definition for CAN_MB2 peripheral ========== \r
-AT91C_CAN_MB2_MCR         EQU (0xFFFD025C) ;- (CAN_MB2) MailBox Control Register\r
-AT91C_CAN_MB2_MDH         EQU (0xFFFD0258) ;- (CAN_MB2) MailBox Data High Register\r
-AT91C_CAN_MB2_MID         EQU (0xFFFD0248) ;- (CAN_MB2) MailBox ID Register\r
-AT91C_CAN_MB2_MDL         EQU (0xFFFD0254) ;- (CAN_MB2) MailBox Data Low Register\r
-AT91C_CAN_MB2_MMR         EQU (0xFFFD0240) ;- (CAN_MB2) MailBox Mode Register\r
-AT91C_CAN_MB2_MAM         EQU (0xFFFD0244) ;- (CAN_MB2) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB2_MFID        EQU (0xFFFD024C) ;- (CAN_MB2) MailBox Family ID Register\r
-AT91C_CAN_MB2_MSR         EQU (0xFFFD0250) ;- (CAN_MB2) MailBox Status Register\r
-// - ========== Register definition for CAN_MB3 peripheral ========== \r
-AT91C_CAN_MB3_MFID        EQU (0xFFFD026C) ;- (CAN_MB3) MailBox Family ID Register\r
-AT91C_CAN_MB3_MAM         EQU (0xFFFD0264) ;- (CAN_MB3) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB3_MID         EQU (0xFFFD0268) ;- (CAN_MB3) MailBox ID Register\r
-AT91C_CAN_MB3_MCR         EQU (0xFFFD027C) ;- (CAN_MB3) MailBox Control Register\r
-AT91C_CAN_MB3_MMR         EQU (0xFFFD0260) ;- (CAN_MB3) MailBox Mode Register\r
-AT91C_CAN_MB3_MSR         EQU (0xFFFD0270) ;- (CAN_MB3) MailBox Status Register\r
-AT91C_CAN_MB3_MDL         EQU (0xFFFD0274) ;- (CAN_MB3) MailBox Data Low Register\r
-AT91C_CAN_MB3_MDH         EQU (0xFFFD0278) ;- (CAN_MB3) MailBox Data High Register\r
-// - ========== Register definition for CAN_MB4 peripheral ========== \r
-AT91C_CAN_MB4_MID         EQU (0xFFFD0288) ;- (CAN_MB4) MailBox ID Register\r
-AT91C_CAN_MB4_MMR         EQU (0xFFFD0280) ;- (CAN_MB4) MailBox Mode Register\r
-AT91C_CAN_MB4_MDH         EQU (0xFFFD0298) ;- (CAN_MB4) MailBox Data High Register\r
-AT91C_CAN_MB4_MFID        EQU (0xFFFD028C) ;- (CAN_MB4) MailBox Family ID Register\r
-AT91C_CAN_MB4_MSR         EQU (0xFFFD0290) ;- (CAN_MB4) MailBox Status Register\r
-AT91C_CAN_MB4_MCR         EQU (0xFFFD029C) ;- (CAN_MB4) MailBox Control Register\r
-AT91C_CAN_MB4_MDL         EQU (0xFFFD0294) ;- (CAN_MB4) MailBox Data Low Register\r
-AT91C_CAN_MB4_MAM         EQU (0xFFFD0284) ;- (CAN_MB4) MailBox Acceptance Mask Register\r
-// - ========== Register definition for CAN_MB5 peripheral ========== \r
-AT91C_CAN_MB5_MSR         EQU (0xFFFD02B0) ;- (CAN_MB5) MailBox Status Register\r
-AT91C_CAN_MB5_MCR         EQU (0xFFFD02BC) ;- (CAN_MB5) MailBox Control Register\r
-AT91C_CAN_MB5_MFID        EQU (0xFFFD02AC) ;- (CAN_MB5) MailBox Family ID Register\r
-AT91C_CAN_MB5_MDH         EQU (0xFFFD02B8) ;- (CAN_MB5) MailBox Data High Register\r
-AT91C_CAN_MB5_MID         EQU (0xFFFD02A8) ;- (CAN_MB5) MailBox ID Register\r
-AT91C_CAN_MB5_MMR         EQU (0xFFFD02A0) ;- (CAN_MB5) MailBox Mode Register\r
-AT91C_CAN_MB5_MDL         EQU (0xFFFD02B4) ;- (CAN_MB5) MailBox Data Low Register\r
-AT91C_CAN_MB5_MAM         EQU (0xFFFD02A4) ;- (CAN_MB5) MailBox Acceptance Mask Register\r
-// - ========== Register definition for CAN_MB6 peripheral ========== \r
-AT91C_CAN_MB6_MFID        EQU (0xFFFD02CC) ;- (CAN_MB6) MailBox Family ID Register\r
-AT91C_CAN_MB6_MID         EQU (0xFFFD02C8) ;- (CAN_MB6) MailBox ID Register\r
-AT91C_CAN_MB6_MAM         EQU (0xFFFD02C4) ;- (CAN_MB6) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB6_MSR         EQU (0xFFFD02D0) ;- (CAN_MB6) MailBox Status Register\r
-AT91C_CAN_MB6_MDL         EQU (0xFFFD02D4) ;- (CAN_MB6) MailBox Data Low Register\r
-AT91C_CAN_MB6_MCR         EQU (0xFFFD02DC) ;- (CAN_MB6) MailBox Control Register\r
-AT91C_CAN_MB6_MDH         EQU (0xFFFD02D8) ;- (CAN_MB6) MailBox Data High Register\r
-AT91C_CAN_MB6_MMR         EQU (0xFFFD02C0) ;- (CAN_MB6) MailBox Mode Register\r
-// - ========== Register definition for CAN_MB7 peripheral ========== \r
-AT91C_CAN_MB7_MCR         EQU (0xFFFD02FC) ;- (CAN_MB7) MailBox Control Register\r
-AT91C_CAN_MB7_MDH         EQU (0xFFFD02F8) ;- (CAN_MB7) MailBox Data High Register\r
-AT91C_CAN_MB7_MFID        EQU (0xFFFD02EC) ;- (CAN_MB7) MailBox Family ID Register\r
-AT91C_CAN_MB7_MDL         EQU (0xFFFD02F4) ;- (CAN_MB7) MailBox Data Low Register\r
-AT91C_CAN_MB7_MID         EQU (0xFFFD02E8) ;- (CAN_MB7) MailBox ID Register\r
-AT91C_CAN_MB7_MMR         EQU (0xFFFD02E0) ;- (CAN_MB7) MailBox Mode Register\r
-AT91C_CAN_MB7_MAM         EQU (0xFFFD02E4) ;- (CAN_MB7) MailBox Acceptance Mask Register\r
-AT91C_CAN_MB7_MSR         EQU (0xFFFD02F0) ;- (CAN_MB7) MailBox Status Register\r
-// - ========== Register definition for CAN peripheral ========== \r
-AT91C_CAN_TCR             EQU (0xFFFD0024) ;- (CAN) Transfer Command Register\r
-AT91C_CAN_IMR             EQU (0xFFFD000C) ;- (CAN) Interrupt Mask Register\r
-AT91C_CAN_IER             EQU (0xFFFD0004) ;- (CAN) Interrupt Enable Register\r
-AT91C_CAN_ECR             EQU (0xFFFD0020) ;- (CAN) Error Counter Register\r
-AT91C_CAN_TIMESTP         EQU (0xFFFD001C) ;- (CAN) Time Stamp Register\r
-AT91C_CAN_MR              EQU (0xFFFD0000) ;- (CAN) Mode Register\r
-AT91C_CAN_IDR             EQU (0xFFFD0008) ;- (CAN) Interrupt Disable Register\r
-AT91C_CAN_ACR             EQU (0xFFFD0028) ;- (CAN) Abort Command Register\r
-AT91C_CAN_TIM             EQU (0xFFFD0018) ;- (CAN) Timer Register\r
-AT91C_CAN_SR              EQU (0xFFFD0010) ;- (CAN) Status Register\r
-AT91C_CAN_BR              EQU (0xFFFD0014) ;- (CAN) Baudrate Register\r
-AT91C_CAN_VR              EQU (0xFFFD00FC) ;- (CAN) Version Register\r
-// - ========== Register definition for EMAC peripheral ========== \r
-AT91C_EMAC_ISR            EQU (0xFFFDC024) ;- (EMAC) Interrupt Status Register\r
-AT91C_EMAC_SA4H           EQU (0xFFFDC0B4) ;- (EMAC) Specific Address 4 Top, Last 2 bytes\r
-AT91C_EMAC_SA1L           EQU (0xFFFDC098) ;- (EMAC) Specific Address 1 Bottom, First 4 bytes\r
-AT91C_EMAC_ELE            EQU (0xFFFDC078) ;- (EMAC) Excessive Length Errors Register\r
-AT91C_EMAC_LCOL           EQU (0xFFFDC05C) ;- (EMAC) Late Collision Register\r
-AT91C_EMAC_RLE            EQU (0xFFFDC088) ;- (EMAC) Receive Length Field Mismatch Register\r
-AT91C_EMAC_WOL            EQU (0xFFFDC0C4) ;- (EMAC) Wake On LAN Register\r
-AT91C_EMAC_DTF            EQU (0xFFFDC058) ;- (EMAC) Deferred Transmission Frame Register\r
-AT91C_EMAC_TUND           EQU (0xFFFDC064) ;- (EMAC) Transmit Underrun Error Register\r
-AT91C_EMAC_NCR            EQU (0xFFFDC000) ;- (EMAC) Network Control Register\r
-AT91C_EMAC_SA4L           EQU (0xFFFDC0B0) ;- (EMAC) Specific Address 4 Bottom, First 4 bytes\r
-AT91C_EMAC_RSR            EQU (0xFFFDC020) ;- (EMAC) Receive Status Register\r
-AT91C_EMAC_SA3L           EQU (0xFFFDC0A8) ;- (EMAC) Specific Address 3 Bottom, First 4 bytes\r
-AT91C_EMAC_TSR            EQU (0xFFFDC014) ;- (EMAC) Transmit Status Register\r
-AT91C_EMAC_IDR            EQU (0xFFFDC02C) ;- (EMAC) Interrupt Disable Register\r
-AT91C_EMAC_RSE            EQU (0xFFFDC074) ;- (EMAC) Receive Symbol Errors Register\r
-AT91C_EMAC_ECOL           EQU (0xFFFDC060) ;- (EMAC) Excessive Collision Register\r
-AT91C_EMAC_TID            EQU (0xFFFDC0B8) ;- (EMAC) Type ID Checking Register\r
-AT91C_EMAC_HRB            EQU (0xFFFDC090) ;- (EMAC) Hash Address Bottom[31:0]\r
-AT91C_EMAC_TBQP           EQU (0xFFFDC01C) ;- (EMAC) Transmit Buffer Queue Pointer\r
-AT91C_EMAC_USRIO          EQU (0xFFFDC0C0) ;- (EMAC) USER Input/Output Register\r
-AT91C_EMAC_PTR            EQU (0xFFFDC038) ;- (EMAC) Pause Time Register\r
-AT91C_EMAC_SA2H           EQU (0xFFFDC0A4) ;- (EMAC) Specific Address 2 Top, Last 2 bytes\r
-AT91C_EMAC_ROV            EQU (0xFFFDC070) ;- (EMAC) Receive Overrun Errors Register\r
-AT91C_EMAC_ALE            EQU (0xFFFDC054) ;- (EMAC) Alignment Error Register\r
-AT91C_EMAC_RJA            EQU (0xFFFDC07C) ;- (EMAC) Receive Jabbers Register\r
-AT91C_EMAC_RBQP           EQU (0xFFFDC018) ;- (EMAC) Receive Buffer Queue Pointer\r
-AT91C_EMAC_TPF            EQU (0xFFFDC08C) ;- (EMAC) Transmitted Pause Frames Register\r
-AT91C_EMAC_NCFGR          EQU (0xFFFDC004) ;- (EMAC) Network Configuration Register\r
-AT91C_EMAC_HRT            EQU (0xFFFDC094) ;- (EMAC) Hash Address Top[63:32]\r
-AT91C_EMAC_USF            EQU (0xFFFDC080) ;- (EMAC) Undersize Frames Register\r
-AT91C_EMAC_FCSE           EQU (0xFFFDC050) ;- (EMAC) Frame Check Sequence Error Register\r
-AT91C_EMAC_TPQ            EQU (0xFFFDC0BC) ;- (EMAC) Transmit Pause Quantum Register\r
-AT91C_EMAC_MAN            EQU (0xFFFDC034) ;- (EMAC) PHY Maintenance Register\r
-AT91C_EMAC_FTO            EQU (0xFFFDC040) ;- (EMAC) Frames Transmitted OK Register\r
-AT91C_EMAC_REV            EQU (0xFFFDC0FC) ;- (EMAC) Revision Register\r
-AT91C_EMAC_IMR            EQU (0xFFFDC030) ;- (EMAC) Interrupt Mask Register\r
-AT91C_EMAC_SCF            EQU (0xFFFDC044) ;- (EMAC) Single Collision Frame Register\r
-AT91C_EMAC_PFR            EQU (0xFFFDC03C) ;- (EMAC) Pause Frames received Register\r
-AT91C_EMAC_MCF            EQU (0xFFFDC048) ;- (EMAC) Multiple Collision Frame Register\r
-AT91C_EMAC_NSR            EQU (0xFFFDC008) ;- (EMAC) Network Status Register\r
-AT91C_EMAC_SA2L           EQU (0xFFFDC0A0) ;- (EMAC) Specific Address 2 Bottom, First 4 bytes\r
-AT91C_EMAC_FRO            EQU (0xFFFDC04C) ;- (EMAC) Frames Received OK Register\r
-AT91C_EMAC_IER            EQU (0xFFFDC028) ;- (EMAC) Interrupt Enable Register\r
-AT91C_EMAC_SA1H           EQU (0xFFFDC09C) ;- (EMAC) Specific Address 1 Top, Last 2 bytes\r
-AT91C_EMAC_CSE            EQU (0xFFFDC068) ;- (EMAC) Carrier Sense Error Register\r
-AT91C_EMAC_SA3H           EQU (0xFFFDC0AC) ;- (EMAC) Specific Address 3 Top, Last 2 bytes\r
-AT91C_EMAC_RRE            EQU (0xFFFDC06C) ;- (EMAC) Receive Ressource Error Register\r
-AT91C_EMAC_STE            EQU (0xFFFDC084) ;- (EMAC) SQE Test Error Register\r
-// - ========== Register definition for PDC_ADC peripheral ========== \r
-AT91C_ADC_PTSR            EQU (0xFFFD8124) ;- (PDC_ADC) PDC Transfer Status Register\r
-AT91C_ADC_PTCR            EQU (0xFFFD8120) ;- (PDC_ADC) PDC Transfer Control Register\r
-AT91C_ADC_TNPR            EQU (0xFFFD8118) ;- (PDC_ADC) Transmit Next Pointer Register\r
-AT91C_ADC_TNCR            EQU (0xFFFD811C) ;- (PDC_ADC) Transmit Next Counter Register\r
-AT91C_ADC_RNPR            EQU (0xFFFD8110) ;- (PDC_ADC) Receive Next Pointer Register\r
-AT91C_ADC_RNCR            EQU (0xFFFD8114) ;- (PDC_ADC) Receive Next Counter Register\r
-AT91C_ADC_RPR             EQU (0xFFFD8100) ;- (PDC_ADC) Receive Pointer Register\r
-AT91C_ADC_TCR             EQU (0xFFFD810C) ;- (PDC_ADC) Transmit Counter Register\r
-AT91C_ADC_TPR             EQU (0xFFFD8108) ;- (PDC_ADC) Transmit Pointer Register\r
-AT91C_ADC_RCR             EQU (0xFFFD8104) ;- (PDC_ADC) Receive Counter Register\r
-// - ========== Register definition for ADC peripheral ========== \r
-AT91C_ADC_CDR2            EQU (0xFFFD8038) ;- (ADC) ADC Channel Data Register 2\r
-AT91C_ADC_CDR3            EQU (0xFFFD803C) ;- (ADC) ADC Channel Data Register 3\r
-AT91C_ADC_CDR0            EQU (0xFFFD8030) ;- (ADC) ADC Channel Data Register 0\r
-AT91C_ADC_CDR5            EQU (0xFFFD8044) ;- (ADC) ADC Channel Data Register 5\r
-AT91C_ADC_CHDR            EQU (0xFFFD8014) ;- (ADC) ADC Channel Disable Register\r
-AT91C_ADC_SR              EQU (0xFFFD801C) ;- (ADC) ADC Status Register\r
-AT91C_ADC_CDR4            EQU (0xFFFD8040) ;- (ADC) ADC Channel Data Register 4\r
-AT91C_ADC_CDR1            EQU (0xFFFD8034) ;- (ADC) ADC Channel Data Register 1\r
-AT91C_ADC_LCDR            EQU (0xFFFD8020) ;- (ADC) ADC Last Converted Data Register\r
-AT91C_ADC_IDR             EQU (0xFFFD8028) ;- (ADC) ADC Interrupt Disable Register\r
-AT91C_ADC_CR              EQU (0xFFFD8000) ;- (ADC) ADC Control Register\r
-AT91C_ADC_CDR7            EQU (0xFFFD804C) ;- (ADC) ADC Channel Data Register 7\r
-AT91C_ADC_CDR6            EQU (0xFFFD8048) ;- (ADC) ADC Channel Data Register 6\r
-AT91C_ADC_IER             EQU (0xFFFD8024) ;- (ADC) ADC Interrupt Enable Register\r
-AT91C_ADC_CHER            EQU (0xFFFD8010) ;- (ADC) ADC Channel Enable Register\r
-AT91C_ADC_CHSR            EQU (0xFFFD8018) ;- (ADC) ADC Channel Status Register\r
-AT91C_ADC_MR              EQU (0xFFFD8004) ;- (ADC) ADC Mode Register\r
-AT91C_ADC_IMR             EQU (0xFFFD802C) ;- (ADC) ADC Interrupt Mask Register\r
-// - ========== Register definition for PDC_AES peripheral ========== \r
-AT91C_AES_TPR             EQU (0xFFFA4108) ;- (PDC_AES) Transmit Pointer Register\r
-AT91C_AES_PTCR            EQU (0xFFFA4120) ;- (PDC_AES) PDC Transfer Control Register\r
-AT91C_AES_RNPR            EQU (0xFFFA4110) ;- (PDC_AES) Receive Next Pointer Register\r
-AT91C_AES_TNCR            EQU (0xFFFA411C) ;- (PDC_AES) Transmit Next Counter Register\r
-AT91C_AES_TCR             EQU (0xFFFA410C) ;- (PDC_AES) Transmit Counter Register\r
-AT91C_AES_RCR             EQU (0xFFFA4104) ;- (PDC_AES) Receive Counter Register\r
-AT91C_AES_RNCR            EQU (0xFFFA4114) ;- (PDC_AES) Receive Next Counter Register\r
-AT91C_AES_TNPR            EQU (0xFFFA4118) ;- (PDC_AES) Transmit Next Pointer Register\r
-AT91C_AES_RPR             EQU (0xFFFA4100) ;- (PDC_AES) Receive Pointer Register\r
-AT91C_AES_PTSR            EQU (0xFFFA4124) ;- (PDC_AES) PDC Transfer Status Register\r
-// - ========== Register definition for AES peripheral ========== \r
-AT91C_AES_IVxR            EQU (0xFFFA4060) ;- (AES) Initialization Vector x Register\r
-AT91C_AES_MR              EQU (0xFFFA4004) ;- (AES) Mode Register\r
-AT91C_AES_VR              EQU (0xFFFA40FC) ;- (AES) AES Version Register\r
-AT91C_AES_ODATAxR         EQU (0xFFFA4050) ;- (AES) Output Data x Register\r
-AT91C_AES_IDATAxR         EQU (0xFFFA4040) ;- (AES) Input Data x Register\r
-AT91C_AES_CR              EQU (0xFFFA4000) ;- (AES) Control Register\r
-AT91C_AES_IDR             EQU (0xFFFA4014) ;- (AES) Interrupt Disable Register\r
-AT91C_AES_IMR             EQU (0xFFFA4018) ;- (AES) Interrupt Mask Register\r
-AT91C_AES_IER             EQU (0xFFFA4010) ;- (AES) Interrupt Enable Register\r
-AT91C_AES_KEYWxR          EQU (0xFFFA4020) ;- (AES) Key Word x Register\r
-AT91C_AES_ISR             EQU (0xFFFA401C) ;- (AES) Interrupt Status Register\r
-// - ========== Register definition for PDC_TDES peripheral ========== \r
-AT91C_TDES_RNCR           EQU (0xFFFA8114) ;- (PDC_TDES) Receive Next Counter Register\r
-AT91C_TDES_TCR            EQU (0xFFFA810C) ;- (PDC_TDES) Transmit Counter Register\r
-AT91C_TDES_RCR            EQU (0xFFFA8104) ;- (PDC_TDES) Receive Counter Register\r
-AT91C_TDES_TNPR           EQU (0xFFFA8118) ;- (PDC_TDES) Transmit Next Pointer Register\r
-AT91C_TDES_RNPR           EQU (0xFFFA8110) ;- (PDC_TDES) Receive Next Pointer Register\r
-AT91C_TDES_RPR            EQU (0xFFFA8100) ;- (PDC_TDES) Receive Pointer Register\r
-AT91C_TDES_TNCR           EQU (0xFFFA811C) ;- (PDC_TDES) Transmit Next Counter Register\r
-AT91C_TDES_TPR            EQU (0xFFFA8108) ;- (PDC_TDES) Transmit Pointer Register\r
-AT91C_TDES_PTSR           EQU (0xFFFA8124) ;- (PDC_TDES) PDC Transfer Status Register\r
-AT91C_TDES_PTCR           EQU (0xFFFA8120) ;- (PDC_TDES) PDC Transfer Control Register\r
-// - ========== Register definition for TDES peripheral ========== \r
-AT91C_TDES_KEY2WxR        EQU (0xFFFA8028) ;- (TDES) Key 2 Word x Register\r
-AT91C_TDES_KEY3WxR        EQU (0xFFFA8030) ;- (TDES) Key 3 Word x Register\r
-AT91C_TDES_IDR            EQU (0xFFFA8014) ;- (TDES) Interrupt Disable Register\r
-AT91C_TDES_VR             EQU (0xFFFA80FC) ;- (TDES) TDES Version Register\r
-AT91C_TDES_IVxR           EQU (0xFFFA8060) ;- (TDES) Initialization Vector x Register\r
-AT91C_TDES_ODATAxR        EQU (0xFFFA8050) ;- (TDES) Output Data x Register\r
-AT91C_TDES_IMR            EQU (0xFFFA8018) ;- (TDES) Interrupt Mask Register\r
-AT91C_TDES_MR             EQU (0xFFFA8004) ;- (TDES) Mode Register\r
-AT91C_TDES_CR             EQU (0xFFFA8000) ;- (TDES) Control Register\r
-AT91C_TDES_IER            EQU (0xFFFA8010) ;- (TDES) Interrupt Enable Register\r
-AT91C_TDES_ISR            EQU (0xFFFA801C) ;- (TDES) Interrupt Status Register\r
-AT91C_TDES_IDATAxR        EQU (0xFFFA8040) ;- (TDES) Input Data x Register\r
-AT91C_TDES_KEY1WxR        EQU (0xFFFA8020) ;- (TDES) Key 1 Word x Register\r
-\r
-// - *****************************************************************************\r
-// -               PIO DEFINITIONS FOR AT91SAM7X256\r
-// - *****************************************************************************\r
-AT91C_PIO_PA0             EQU (1 <<  0) ;- Pin Controlled by PA0\r
-AT91C_PA0_RXD0            EQU (AT91C_PIO_PA0) ;-  USART 0 Receive Data\r
-AT91C_PIO_PA1             EQU (1 <<  1) ;- Pin Controlled by PA1\r
-AT91C_PA1_TXD0            EQU (AT91C_PIO_PA1) ;-  USART 0 Transmit Data\r
-AT91C_PIO_PA10            EQU (1 << 10) ;- Pin Controlled by PA10\r
-AT91C_PA10_TWD            EQU (AT91C_PIO_PA10) ;-  TWI Two-wire Serial Data\r
-AT91C_PIO_PA11            EQU (1 << 11) ;- Pin Controlled by PA11\r
-AT91C_PA11_TWCK           EQU (AT91C_PIO_PA11) ;-  TWI Two-wire Serial Clock\r
-AT91C_PIO_PA12            EQU (1 << 12) ;- Pin Controlled by PA12\r
-AT91C_PA12_NPCS00         EQU (AT91C_PIO_PA12) ;-  SPI 0 Peripheral Chip Select 0\r
-AT91C_PIO_PA13            EQU (1 << 13) ;- Pin Controlled by PA13\r
-AT91C_PA13_NPCS01         EQU (AT91C_PIO_PA13) ;-  SPI 0 Peripheral Chip Select 1\r
-AT91C_PA13_PCK1           EQU (AT91C_PIO_PA13) ;-  PMC Programmable Clock Output 1\r
-AT91C_PIO_PA14            EQU (1 << 14) ;- Pin Controlled by PA14\r
-AT91C_PA14_NPCS02         EQU (AT91C_PIO_PA14) ;-  SPI 0 Peripheral Chip Select 2\r
-AT91C_PA14_IRQ1           EQU (AT91C_PIO_PA14) ;-  External Interrupt 1\r
-AT91C_PIO_PA15            EQU (1 << 15) ;- Pin Controlled by PA15\r
-AT91C_PA15_NPCS03         EQU (AT91C_PIO_PA15) ;-  SPI 0 Peripheral Chip Select 3\r
-AT91C_PA15_TCLK2          EQU (AT91C_PIO_PA15) ;-  Timer Counter 2 external clock input\r
-AT91C_PIO_PA16            EQU (1 << 16) ;- Pin Controlled by PA16\r
-AT91C_PA16_MISO0          EQU (AT91C_PIO_PA16) ;-  SPI 0 Master In Slave\r
-AT91C_PIO_PA17            EQU (1 << 17) ;- Pin Controlled by PA17\r
-AT91C_PA17_MOSI0          EQU (AT91C_PIO_PA17) ;-  SPI 0 Master Out Slave\r
-AT91C_PIO_PA18            EQU (1 << 18) ;- Pin Controlled by PA18\r
-AT91C_PA18_SPCK0          EQU (AT91C_PIO_PA18) ;-  SPI 0 Serial Clock\r
-AT91C_PIO_PA19            EQU (1 << 19) ;- Pin Controlled by PA19\r
-AT91C_PA19_CANRX          EQU (AT91C_PIO_PA19) ;-  CAN Receive\r
-AT91C_PIO_PA2             EQU (1 <<  2) ;- Pin Controlled by PA2\r
-AT91C_PA2_SCK0            EQU (AT91C_PIO_PA2) ;-  USART 0 Serial Clock\r
-AT91C_PA2_NPCS11          EQU (AT91C_PIO_PA2) ;-  SPI 1 Peripheral Chip Select 1\r
-AT91C_PIO_PA20            EQU (1 << 20) ;- Pin Controlled by PA20\r
-AT91C_PA20_CANTX          EQU (AT91C_PIO_PA20) ;-  CAN Transmit\r
-AT91C_PIO_PA21            EQU (1 << 21) ;- Pin Controlled by PA21\r
-AT91C_PA21_TF             EQU (AT91C_PIO_PA21) ;-  SSC Transmit Frame Sync\r
-AT91C_PA21_NPCS10         EQU (AT91C_PIO_PA21) ;-  SPI 1 Peripheral Chip Select 0\r
-AT91C_PIO_PA22            EQU (1 << 22) ;- Pin Controlled by PA22\r
-AT91C_PA22_TK             EQU (AT91C_PIO_PA22) ;-  SSC Transmit Clock\r
-AT91C_PA22_SPCK1          EQU (AT91C_PIO_PA22) ;-  SPI 1 Serial Clock\r
-AT91C_PIO_PA23            EQU (1 << 23) ;- Pin Controlled by PA23\r
-AT91C_PA23_TD             EQU (AT91C_PIO_PA23) ;-  SSC Transmit data\r
-AT91C_PA23_MOSI1          EQU (AT91C_PIO_PA23) ;-  SPI 1 Master Out Slave\r
-AT91C_PIO_PA24            EQU (1 << 24) ;- Pin Controlled by PA24\r
-AT91C_PA24_RD             EQU (AT91C_PIO_PA24) ;-  SSC Receive Data\r
-AT91C_PA24_MISO1          EQU (AT91C_PIO_PA24) ;-  SPI 1 Master In Slave\r
-AT91C_PIO_PA25            EQU (1 << 25) ;- Pin Controlled by PA25\r
-AT91C_PA25_RK             EQU (AT91C_PIO_PA25) ;-  SSC Receive Clock\r
-AT91C_PA25_NPCS11         EQU (AT91C_PIO_PA25) ;-  SPI 1 Peripheral Chip Select 1\r
-AT91C_PIO_PA26            EQU (1 << 26) ;- Pin Controlled by PA26\r
-AT91C_PA26_RF             EQU (AT91C_PIO_PA26) ;-  SSC Receive Frame Sync\r
-AT91C_PA26_NPCS12         EQU (AT91C_PIO_PA26) ;-  SPI 1 Peripheral Chip Select 2\r
-AT91C_PIO_PA27            EQU (1 << 27) ;- Pin Controlled by PA27\r
-AT91C_PA27_DRXD           EQU (AT91C_PIO_PA27) ;-  DBGU Debug Receive Data\r
-AT91C_PA27_PCK3           EQU (AT91C_PIO_PA27) ;-  PMC Programmable Clock Output 3\r
-AT91C_PIO_PA28            EQU (1 << 28) ;- Pin Controlled by PA28\r
-AT91C_PA28_DTXD           EQU (AT91C_PIO_PA28) ;-  DBGU Debug Transmit Data\r
-AT91C_PIO_PA29            EQU (1 << 29) ;- Pin Controlled by PA29\r
-AT91C_PA29_FIQ            EQU (AT91C_PIO_PA29) ;-  AIC Fast Interrupt Input\r
-AT91C_PA29_NPCS13         EQU (AT91C_PIO_PA29) ;-  SPI 1 Peripheral Chip Select 3\r
-AT91C_PIO_PA3             EQU (1 <<  3) ;- Pin Controlled by PA3\r
-AT91C_PA3_RTS0            EQU (AT91C_PIO_PA3) ;-  USART 0 Ready To Send\r
-AT91C_PA3_NPCS12          EQU (AT91C_PIO_PA3) ;-  SPI 1 Peripheral Chip Select 2\r
-AT91C_PIO_PA30            EQU (1 << 30) ;- Pin Controlled by PA30\r
-AT91C_PA30_IRQ0           EQU (AT91C_PIO_PA30) ;-  External Interrupt 0\r
-AT91C_PA30_PCK2           EQU (AT91C_PIO_PA30) ;-  PMC Programmable Clock Output 2\r
-AT91C_PIO_PA4             EQU (1 <<  4) ;- Pin Controlled by PA4\r
-AT91C_PA4_CTS0            EQU (AT91C_PIO_PA4) ;-  USART 0 Clear To Send\r
-AT91C_PA4_NPCS13          EQU (AT91C_PIO_PA4) ;-  SPI 1 Peripheral Chip Select 3\r
-AT91C_PIO_PA5             EQU (1 <<  5) ;- Pin Controlled by PA5\r
-AT91C_PA5_RXD1            EQU (AT91C_PIO_PA5) ;-  USART 1 Receive Data\r
-AT91C_PIO_PA6             EQU (1 <<  6) ;- Pin Controlled by PA6\r
-AT91C_PA6_TXD1            EQU (AT91C_PIO_PA6) ;-  USART 1 Transmit Data\r
-AT91C_PIO_PA7             EQU (1 <<  7) ;- Pin Controlled by PA7\r
-AT91C_PA7_SCK1            EQU (AT91C_PIO_PA7) ;-  USART 1 Serial Clock\r
-AT91C_PA7_NPCS01          EQU (AT91C_PIO_PA7) ;-  SPI 0 Peripheral Chip Select 1\r
-AT91C_PIO_PA8             EQU (1 <<  8) ;- Pin Controlled by PA8\r
-AT91C_PA8_RTS1            EQU (AT91C_PIO_PA8) ;-  USART 1 Ready To Send\r
-AT91C_PA8_NPCS02          EQU (AT91C_PIO_PA8) ;-  SPI 0 Peripheral Chip Select 2\r
-AT91C_PIO_PA9             EQU (1 <<  9) ;- Pin Controlled by PA9\r
-AT91C_PA9_CTS1            EQU (AT91C_PIO_PA9) ;-  USART 1 Clear To Send\r
-AT91C_PA9_NPCS03          EQU (AT91C_PIO_PA9) ;-  SPI 0 Peripheral Chip Select 3\r
-AT91C_PIO_PB0             EQU (1 <<  0) ;- Pin Controlled by PB0\r
-AT91C_PB0_ETXCK_EREFCK    EQU (AT91C_PIO_PB0) ;-  Ethernet MAC Transmit Clock/Reference Clock\r
-AT91C_PB0_PCK0            EQU (AT91C_PIO_PB0) ;-  PMC Programmable Clock Output 0\r
-AT91C_PIO_PB1             EQU (1 <<  1) ;- Pin Controlled by PB1\r
-AT91C_PB1_ETXEN           EQU (AT91C_PIO_PB1) ;-  Ethernet MAC Transmit Enable\r
-AT91C_PIO_PB10            EQU (1 << 10) ;- Pin Controlled by PB10\r
-AT91C_PB10_ETX2           EQU (AT91C_PIO_PB10) ;-  Ethernet MAC Transmit Data 2\r
-AT91C_PB10_NPCS11         EQU (AT91C_PIO_PB10) ;-  SPI 1 Peripheral Chip Select 1\r
-AT91C_PIO_PB11            EQU (1 << 11) ;- Pin Controlled by PB11\r
-AT91C_PB11_ETX3           EQU (AT91C_PIO_PB11) ;-  Ethernet MAC Transmit Data 3\r
-AT91C_PB11_NPCS12         EQU (AT91C_PIO_PB11) ;-  SPI 1 Peripheral Chip Select 2\r
-AT91C_PIO_PB12            EQU (1 << 12) ;- Pin Controlled by PB12\r
-AT91C_PB12_ETXER          EQU (AT91C_PIO_PB12) ;-  Ethernet MAC Transmikt Coding Error\r
-AT91C_PB12_TCLK0          EQU (AT91C_PIO_PB12) ;-  Timer Counter 0 external clock input\r
-AT91C_PIO_PB13            EQU (1 << 13) ;- Pin Controlled by PB13\r
-AT91C_PB13_ERX2           EQU (AT91C_PIO_PB13) ;-  Ethernet MAC Receive Data 2\r
-AT91C_PB13_NPCS01         EQU (AT91C_PIO_PB13) ;-  SPI 0 Peripheral Chip Select 1\r
-AT91C_PIO_PB14            EQU (1 << 14) ;- Pin Controlled by PB14\r
-AT91C_PB14_ERX3           EQU (AT91C_PIO_PB14) ;-  Ethernet MAC Receive Data 3\r
-AT91C_PB14_NPCS02         EQU (AT91C_PIO_PB14) ;-  SPI 0 Peripheral Chip Select 2\r
-AT91C_PIO_PB15            EQU (1 << 15) ;- Pin Controlled by PB15\r
-AT91C_PB15_ERXDV          EQU (AT91C_PIO_PB15) ;-  Ethernet MAC Receive Data Valid\r
-AT91C_PIO_PB16            EQU (1 << 16) ;- Pin Controlled by PB16\r
-AT91C_PB16_ECOL           EQU (AT91C_PIO_PB16) ;-  Ethernet MAC Collision Detected\r
-AT91C_PB16_NPCS13         EQU (AT91C_PIO_PB16) ;-  SPI 1 Peripheral Chip Select 3\r
-AT91C_PIO_PB17            EQU (1 << 17) ;- Pin Controlled by PB17\r
-AT91C_PB17_ERXCK          EQU (AT91C_PIO_PB17) ;-  Ethernet MAC Receive Clock\r
-AT91C_PB17_NPCS03         EQU (AT91C_PIO_PB17) ;-  SPI 0 Peripheral Chip Select 3\r
-AT91C_PIO_PB18            EQU (1 << 18) ;- Pin Controlled by PB18\r
-AT91C_PB18_EF100          EQU (AT91C_PIO_PB18) ;-  Ethernet MAC Force 100 Mbits/sec\r
-AT91C_PB18_ADTRG          EQU (AT91C_PIO_PB18) ;-  ADC External Trigger\r
-AT91C_PIO_PB19            EQU (1 << 19) ;- Pin Controlled by PB19\r
-AT91C_PB19_PWM0           EQU (AT91C_PIO_PB19) ;-  PWM Channel 0\r
-AT91C_PB19_TCLK1          EQU (AT91C_PIO_PB19) ;-  Timer Counter 1 external clock input\r
-AT91C_PIO_PB2             EQU (1 <<  2) ;- Pin Controlled by PB2\r
-AT91C_PB2_ETX0            EQU (AT91C_PIO_PB2) ;-  Ethernet MAC Transmit Data 0\r
-AT91C_PIO_PB20            EQU (1 << 20) ;- Pin Controlled by PB20\r
-AT91C_PB20_PWM1           EQU (AT91C_PIO_PB20) ;-  PWM Channel 1\r
-AT91C_PB20_PCK0           EQU (AT91C_PIO_PB20) ;-  PMC Programmable Clock Output 0\r
-AT91C_PIO_PB21            EQU (1 << 21) ;- Pin Controlled by PB21\r
-AT91C_PB21_PWM2           EQU (AT91C_PIO_PB21) ;-  PWM Channel 2\r
-AT91C_PB21_PCK1           EQU (AT91C_PIO_PB21) ;-  PMC Programmable Clock Output 1\r
-AT91C_PIO_PB22            EQU (1 << 22) ;- Pin Controlled by PB22\r
-AT91C_PB22_PWM3           EQU (AT91C_PIO_PB22) ;-  PWM Channel 3\r
-AT91C_PB22_PCK2           EQU (AT91C_PIO_PB22) ;-  PMC Programmable Clock Output 2\r
-AT91C_PIO_PB23            EQU (1 << 23) ;- Pin Controlled by PB23\r
-AT91C_PB23_TIOA0          EQU (AT91C_PIO_PB23) ;-  Timer Counter 0 Multipurpose Timer I/O Pin A\r
-AT91C_PB23_DCD1           EQU (AT91C_PIO_PB23) ;-  USART 1 Data Carrier Detect\r
-AT91C_PIO_PB24            EQU (1 << 24) ;- Pin Controlled by PB24\r
-AT91C_PB24_TIOB0          EQU (AT91C_PIO_PB24) ;-  Timer Counter 0 Multipurpose Timer I/O Pin B\r
-AT91C_PB24_DSR1           EQU (AT91C_PIO_PB24) ;-  USART 1 Data Set ready\r
-AT91C_PIO_PB25            EQU (1 << 25) ;- Pin Controlled by PB25\r
-AT91C_PB25_TIOA1          EQU (AT91C_PIO_PB25) ;-  Timer Counter 1 Multipurpose Timer I/O Pin A\r
-AT91C_PB25_DTR1           EQU (AT91C_PIO_PB25) ;-  USART 1 Data Terminal ready\r
-AT91C_PIO_PB26            EQU (1 << 26) ;- Pin Controlled by PB26\r
-AT91C_PB26_TIOB1          EQU (AT91C_PIO_PB26) ;-  Timer Counter 1 Multipurpose Timer I/O Pin B\r
-AT91C_PB26_RI1            EQU (AT91C_PIO_PB26) ;-  USART 1 Ring Indicator\r
-AT91C_PIO_PB27            EQU (1 << 27) ;- Pin Controlled by PB27\r
-AT91C_PB27_TIOA2          EQU (AT91C_PIO_PB27) ;-  Timer Counter 2 Multipurpose Timer I/O Pin A\r
-AT91C_PB27_PWM0           EQU (AT91C_PIO_PB27) ;-  PWM Channel 0\r
-AT91C_PIO_PB28            EQU (1 << 28) ;- Pin Controlled by PB28\r
-AT91C_PB28_TIOB2          EQU (AT91C_PIO_PB28) ;-  Timer Counter 2 Multipurpose Timer I/O Pin B\r
-AT91C_PB28_PWM1           EQU (AT91C_PIO_PB28) ;-  PWM Channel 1\r
-AT91C_PIO_PB29            EQU (1 << 29) ;- Pin Controlled by PB29\r
-AT91C_PB29_PCK1           EQU (AT91C_PIO_PB29) ;-  PMC Programmable Clock Output 1\r
-AT91C_PB29_PWM2           EQU (AT91C_PIO_PB29) ;-  PWM Channel 2\r
-AT91C_PIO_PB3             EQU (1 <<  3) ;- Pin Controlled by PB3\r
-AT91C_PB3_ETX1            EQU (AT91C_PIO_PB3) ;-  Ethernet MAC Transmit Data 1\r
-AT91C_PIO_PB30            EQU (1 << 30) ;- Pin Controlled by PB30\r
-AT91C_PB30_PCK2           EQU (AT91C_PIO_PB30) ;-  PMC Programmable Clock Output 2\r
-AT91C_PB30_PWM3           EQU (AT91C_PIO_PB30) ;-  PWM Channel 3\r
-AT91C_PIO_PB4             EQU (1 <<  4) ;- Pin Controlled by PB4\r
-AT91C_PB4_ECRS_ECRSDV     EQU (AT91C_PIO_PB4) ;-  Ethernet MAC Carrier Sense/Carrier Sense and Data Valid\r
-AT91C_PIO_PB5             EQU (1 <<  5) ;- Pin Controlled by PB5\r
-AT91C_PB5_ERX0            EQU (AT91C_PIO_PB5) ;-  Ethernet MAC Receive Data 0\r
-AT91C_PIO_PB6             EQU (1 <<  6) ;- Pin Controlled by PB6\r
-AT91C_PB6_ERX1            EQU (AT91C_PIO_PB6) ;-  Ethernet MAC Receive Data 1\r
-AT91C_PIO_PB7             EQU (1 <<  7) ;- Pin Controlled by PB7\r
-AT91C_PB7_ERXER           EQU (AT91C_PIO_PB7) ;-  Ethernet MAC Receive Error\r
-AT91C_PIO_PB8             EQU (1 <<  8) ;- Pin Controlled by PB8\r
-AT91C_PB8_EMDC            EQU (AT91C_PIO_PB8) ;-  Ethernet MAC Management Data Clock\r
-AT91C_PIO_PB9             EQU (1 <<  9) ;- Pin Controlled by PB9\r
-AT91C_PB9_EMDIO           EQU (AT91C_PIO_PB9) ;-  Ethernet MAC Management Data Input/Output\r
-\r
-// - *****************************************************************************\r
-// -               PERIPHERAL ID DEFINITIONS FOR AT91SAM7X256\r
-// - *****************************************************************************\r
-AT91C_ID_FIQ              EQU ( 0) ;- Advanced Interrupt Controller (FIQ)\r
-AT91C_ID_SYS              EQU ( 1) ;- System Peripheral\r
-AT91C_ID_PIOA             EQU ( 2) ;- Parallel IO Controller A\r
-AT91C_ID_PIOB             EQU ( 3) ;- Parallel IO Controller B\r
-AT91C_ID_SPI0             EQU ( 4) ;- Serial Peripheral Interface 0\r
-AT91C_ID_SPI1             EQU ( 5) ;- Serial Peripheral Interface 1\r
-AT91C_ID_US0              EQU ( 6) ;- USART 0\r
-AT91C_ID_US1              EQU ( 7) ;- USART 1\r
-AT91C_ID_SSC              EQU ( 8) ;- Serial Synchronous Controller\r
-AT91C_ID_TWI              EQU ( 9) ;- Two-Wire Interface\r
-AT91C_ID_PWMC             EQU (10) ;- PWM Controller\r
-AT91C_ID_UDP              EQU (11) ;- USB Device Port\r
-AT91C_ID_TC0              EQU (12) ;- Timer Counter 0\r
-AT91C_ID_TC1              EQU (13) ;- Timer Counter 1\r
-AT91C_ID_TC2              EQU (14) ;- Timer Counter 2\r
-AT91C_ID_CAN              EQU (15) ;- Control Area Network Controller\r
-AT91C_ID_EMAC             EQU (16) ;- Ethernet MAC\r
-AT91C_ID_ADC              EQU (17) ;- Analog-to-Digital Converter\r
-AT91C_ID_AES              EQU (18) ;- Advanced Encryption Standard 128-bit\r
-AT91C_ID_TDES             EQU (19) ;- Triple Data Encryption Standard\r
-AT91C_ID_20_Reserved      EQU (20) ;- Reserved\r
-AT91C_ID_21_Reserved      EQU (21) ;- Reserved\r
-AT91C_ID_22_Reserved      EQU (22) ;- Reserved\r
-AT91C_ID_23_Reserved      EQU (23) ;- Reserved\r
-AT91C_ID_24_Reserved      EQU (24) ;- Reserved\r
-AT91C_ID_25_Reserved      EQU (25) ;- Reserved\r
-AT91C_ID_26_Reserved      EQU (26) ;- Reserved\r
-AT91C_ID_27_Reserved      EQU (27) ;- Reserved\r
-AT91C_ID_28_Reserved      EQU (28) ;- Reserved\r
-AT91C_ID_29_Reserved      EQU (29) ;- Reserved\r
-AT91C_ID_IRQ0             EQU (30) ;- Advanced Interrupt Controller (IRQ0)\r
-AT91C_ID_IRQ1             EQU (31) ;- Advanced Interrupt Controller (IRQ1)\r
-\r
-// - *****************************************************************************\r
-// -               BASE ADDRESS DEFINITIONS FOR AT91SAM7X256\r
-// - *****************************************************************************\r
-AT91C_BASE_SYS            EQU (0xFFFFF000) ;- (SYS) Base Address\r
-AT91C_BASE_AIC            EQU (0xFFFFF000) ;- (AIC) Base Address\r
-AT91C_BASE_PDC_DBGU       EQU (0xFFFFF300) ;- (PDC_DBGU) Base Address\r
-AT91C_BASE_DBGU           EQU (0xFFFFF200) ;- (DBGU) Base Address\r
-AT91C_BASE_PIOA           EQU (0xFFFFF400) ;- (PIOA) Base Address\r
-AT91C_BASE_PIOB           EQU (0xFFFFF600) ;- (PIOB) Base Address\r
-AT91C_BASE_CKGR           EQU (0xFFFFFC20) ;- (CKGR) Base Address\r
-AT91C_BASE_PMC            EQU (0xFFFFFC00) ;- (PMC) Base Address\r
-AT91C_BASE_RSTC           EQU (0xFFFFFD00) ;- (RSTC) Base Address\r
-AT91C_BASE_RTTC           EQU (0xFFFFFD20) ;- (RTTC) Base Address\r
-AT91C_BASE_PITC           EQU (0xFFFFFD30) ;- (PITC) Base Address\r
-AT91C_BASE_WDTC           EQU (0xFFFFFD40) ;- (WDTC) Base Address\r
-AT91C_BASE_VREG           EQU (0xFFFFFD60) ;- (VREG) Base Address\r
-AT91C_BASE_MC             EQU (0xFFFFFF00) ;- (MC) Base Address\r
-AT91C_BASE_PDC_SPI1       EQU (0xFFFE4100) ;- (PDC_SPI1) Base Address\r
-AT91C_BASE_SPI1           EQU (0xFFFE4000) ;- (SPI1) Base Address\r
-AT91C_BASE_PDC_SPI0       EQU (0xFFFE0100) ;- (PDC_SPI0) Base Address\r
-AT91C_BASE_SPI0           EQU (0xFFFE0000) ;- (SPI0) Base Address\r
-AT91C_BASE_PDC_US1        EQU (0xFFFC4100) ;- (PDC_US1) Base Address\r
-AT91C_BASE_US1            EQU (0xFFFC4000) ;- (US1) Base Address\r
-AT91C_BASE_PDC_US0        EQU (0xFFFC0100) ;- (PDC_US0) Base Address\r
-AT91C_BASE_US0            EQU (0xFFFC0000) ;- (US0) Base Address\r
-AT91C_BASE_PDC_SSC        EQU (0xFFFD4100) ;- (PDC_SSC) Base Address\r
-AT91C_BASE_SSC            EQU (0xFFFD4000) ;- (SSC) Base Address\r
-AT91C_BASE_TWI            EQU (0xFFFB8000) ;- (TWI) Base Address\r
-AT91C_BASE_PWMC_CH3       EQU (0xFFFCC260) ;- (PWMC_CH3) Base Address\r
-AT91C_BASE_PWMC_CH2       EQU (0xFFFCC240) ;- (PWMC_CH2) Base Address\r
-AT91C_BASE_PWMC_CH1       EQU (0xFFFCC220) ;- (PWMC_CH1) Base Address\r
-AT91C_BASE_PWMC_CH0       EQU (0xFFFCC200) ;- (PWMC_CH0) Base Address\r
-AT91C_BASE_PWMC           EQU (0xFFFCC000) ;- (PWMC) Base Address\r
-AT91C_BASE_UDP            EQU (0xFFFB0000) ;- (UDP) Base Address\r
-AT91C_BASE_TC0            EQU (0xFFFA0000) ;- (TC0) Base Address\r
-AT91C_BASE_TC1            EQU (0xFFFA0040) ;- (TC1) Base Address\r
-AT91C_BASE_TC2            EQU (0xFFFA0080) ;- (TC2) Base Address\r
-AT91C_BASE_TCB            EQU (0xFFFA0000) ;- (TCB) Base Address\r
-AT91C_BASE_CAN_MB0        EQU (0xFFFD0200) ;- (CAN_MB0) Base Address\r
-AT91C_BASE_CAN_MB1        EQU (0xFFFD0220) ;- (CAN_MB1) Base Address\r
-AT91C_BASE_CAN_MB2        EQU (0xFFFD0240) ;- (CAN_MB2) Base Address\r
-AT91C_BASE_CAN_MB3        EQU (0xFFFD0260) ;- (CAN_MB3) Base Address\r
-AT91C_BASE_CAN_MB4        EQU (0xFFFD0280) ;- (CAN_MB4) Base Address\r
-AT91C_BASE_CAN_MB5        EQU (0xFFFD02A0) ;- (CAN_MB5) Base Address\r
-AT91C_BASE_CAN_MB6        EQU (0xFFFD02C0) ;- (CAN_MB6) Base Address\r
-AT91C_BASE_CAN_MB7        EQU (0xFFFD02E0) ;- (CAN_MB7) Base Address\r
-AT91C_BASE_CAN            EQU (0xFFFD0000) ;- (CAN) Base Address\r
-AT91C_BASE_EMAC           EQU (0xFFFDC000) ;- (EMAC) Base Address\r
-AT91C_BASE_PDC_ADC        EQU (0xFFFD8100) ;- (PDC_ADC) Base Address\r
-AT91C_BASE_ADC            EQU (0xFFFD8000) ;- (ADC) Base Address\r
-AT91C_BASE_PDC_AES        EQU (0xFFFA4100) ;- (PDC_AES) Base Address\r
-AT91C_BASE_AES            EQU (0xFFFA4000) ;- (AES) Base Address\r
-AT91C_BASE_PDC_TDES       EQU (0xFFFA8100) ;- (PDC_TDES) Base Address\r
-AT91C_BASE_TDES           EQU (0xFFFA8000) ;- (TDES) Base Address\r
-\r
-// - *****************************************************************************\r
-// -               MEMORY MAPPING DEFINITIONS FOR AT91SAM7X256\r
-// - *****************************************************************************\r
-AT91C_ISRAM               EQU (0x00200000) ;- Internal SRAM base address\r
-AT91C_ISRAM_SIZE          EQU (0x00010000) ;- Internal SRAM size in byte (64 Kbyte)\r
-AT91C_IFLASH              EQU (0x00100000) ;- Internal ROM base address\r
-AT91C_IFLASH_SIZE         EQU (0x00040000) ;- Internal ROM size in byte (256 Kbyte)\r
-#endif /* __IAR_SYSTEMS_ASM__ */\r
-\r
-\r
-#endif /* AT91SAM7X256_H */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/mii.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/SrcIAR/mii.h
deleted file mode 100644 (file)
index 29b2f53..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Generic MII registers. */\r
-\r
-#define MII_BMCR            0x00        /* Basic mode control register */\r
-#define MII_BMSR            0x01        /* Basic mode status register  */\r
-#define MII_PHYSID1         0x02        /* PHYS ID 1                   */\r
-#define MII_PHYSID2         0x03        /* PHYS ID 2                   */\r
-#define MII_ADVERTISE       0x04        /* Advertisement control reg   */\r
-#define MII_LPA             0x05        /* Link partner ability reg    */\r
-#define MII_EXPANSION       0x06        /* Expansion register          */\r
-#define MII_DCOUNTER        0x12        /* Disconnect counter          */\r
-#define MII_FCSCOUNTER      0x13        /* False carrier counter       */\r
-#define MII_NWAYTEST        0x14        /* N-way auto-neg test reg     */\r
-#define MII_RERRCOUNTER     0x15        /* Receive error counter       */\r
-#define MII_SREVISION       0x16        /* Silicon revision            */\r
-#define MII_RESV1           0x17        /* Reserved...                 */\r
-#define MII_LBRERROR        0x18        /* Lpback, rx, bypass error    */\r
-#define MII_PHYADDR         0x19        /* PHY address                 */\r
-#define MII_RESV2           0x1a        /* Reserved...                 */\r
-#define MII_TPISTATUS       0x1b        /* TPI status for 10mbps       */\r
-#define MII_NCONFIG         0x1c        /* Network interface config    */\r
-\r
-/* Basic mode control register. */\r
-#define BMCR_RESV               0x007f  /* Unused...                   */\r
-#define BMCR_CTST               0x0080  /* Collision test              */\r
-#define BMCR_FULLDPLX           0x0100  /* Full duplex                 */\r
-#define BMCR_ANRESTART          0x0200  /* Auto negotiation restart    */\r
-#define BMCR_ISOLATE            0x0400  /* Disconnect DP83840 from MII */\r
-#define BMCR_PDOWN              0x0800  /* Powerdown the DP83840       */\r
-#define BMCR_ANENABLE           0x1000  /* Enable auto negotiation     */\r
-#define BMCR_SPEED100           0x2000  /* Select 100Mbps              */\r
-#define BMCR_LOOPBACK           0x4000  /* TXD loopback bits           */\r
-#define BMCR_RESET              0x8000  /* Reset the DP83840           */\r
-\r
-/* Basic mode status register. */\r
-#define BMSR_ERCAP              0x0001  /* Ext-reg capability          */\r
-#define BMSR_JCD                0x0002  /* Jabber detected             */\r
-#define BMSR_LSTATUS            0x0004  /* Link status                 */\r
-#define BMSR_ANEGCAPABLE        0x0008  /* Able to do auto-negotiation */\r
-#define BMSR_RFAULT             0x0010  /* Remote fault detected       */\r
-#define BMSR_ANEGCOMPLETE       0x0020  /* Auto-negotiation complete   */\r
-#define BMSR_RESV               0x07c0  /* Unused...                   */\r
-#define BMSR_10HALF             0x0800  /* Can do 10mbps, half-duplex  */\r
-#define BMSR_10FULL             0x1000  /* Can do 10mbps, full-duplex  */\r
-#define BMSR_100HALF            0x2000  /* Can do 100mbps, half-duplex */\r
-#define BMSR_100FULL            0x4000  /* Can do 100mbps, full-duplex */\r
-#define BMSR_100BASE4           0x8000  /* Can do 100mbps, 4k packets  */\r
-\r
-/* Advertisement control register. */\r
-#define ADVERTISE_SLCT          0x001f  /* Selector bits               */\r
-#define ADVERTISE_CSMA          0x0001  /* Only selector supported     */\r
-#define ADVERTISE_10HALF        0x0020  /* Try for 10mbps half-duplex  */\r
-#define ADVERTISE_10FULL        0x0040  /* Try for 10mbps full-duplex  */\r
-#define ADVERTISE_100HALF       0x0080  /* Try for 100mbps half-duplex */\r
-#define ADVERTISE_100FULL       0x0100  /* Try for 100mbps full-duplex */\r
-#define ADVERTISE_100BASE4      0x0200  /* Try for 100mbps 4k packets  */\r
-#define ADVERTISE_RESV          0x1c00  /* Unused...                   */\r
-#define ADVERTISE_RFAULT        0x2000  /* Say we can detect faults    */\r
-#define ADVERTISE_LPACK         0x4000  /* Ack link partners response  */\r
-#define ADVERTISE_NPAGE         0x8000  /* Next page bit               */\r
-\r
-#define ADVERTISE_FULL (ADVERTISE_100FULL | ADVERTISE_10FULL | \\r
-                       ADVERTISE_CSMA)\r
-#define ADVERTISE_ALL (ADVERTISE_10HALF | ADVERTISE_10FULL | \\r
-                       ADVERTISE_100HALF | ADVERTISE_100FULL)\r
-\r
-/* Link partner ability register. */\r
-#define LPA_SLCT                0x001f  /* Same as advertise selector  */\r
-#define LPA_10HALF              0x0020  /* Can do 10mbps half-duplex   */\r
-#define LPA_10FULL              0x0040  /* Can do 10mbps full-duplex   */\r
-#define LPA_100HALF             0x0080  /* Can do 100mbps half-duplex  */\r
-#define LPA_100FULL             0x0100  /* Can do 100mbps full-duplex  */\r
-#define LPA_100BASE4            0x0200  /* Can do 100mbps 4k packets   */\r
-#define LPA_RESV                0x1c00  /* Unused...                   */\r
-#define LPA_RFAULT              0x2000  /* Link partner faulted        */\r
-#define LPA_LPACK               0x4000  /* Link partner acked us       */\r
-#define LPA_NPAGE               0x8000  /* Next page bit               */\r
-\r
-#define LPA_DUPLEX             (LPA_10FULL | LPA_100FULL)\r
-#define LPA_100                        (LPA_100FULL | LPA_100HALF | LPA_100BASE4)\r
-\r
-/* Expansion register for auto-negotiation. */\r
-#define EXPANSION_NWAY          0x0001  /* Can do N-way auto-nego      */\r
-#define EXPANSION_LCWP          0x0002  /* Got new RX page code word   */\r
-#define EXPANSION_ENABLENPAGE   0x0004  /* This enables npage words    */\r
-#define EXPANSION_NPCAPABLE     0x0008  /* Link partner supports npage */\r
-#define EXPANSION_MFAULTS       0x0010  /* Multiple faults detected    */\r
-#define EXPANSION_RESV          0xffe0  /* Unused...                   */\r
-\r
-/* N-way test register. */\r
-#define NWAYTEST_RESV1          0x00ff  /* Unused...                   */\r
-#define NWAYTEST_LOOPBACK       0x0100  /* Enable loopback for N-way   */\r
-#define NWAYTEST_RESV2          0xfe00  /* Unused...                   */\r
-\r
-#define SPEED_10                               10\r
-#define SPEED_100                              100\r
-\r
-/* Duplex, half or full. */\r
-#define DUPLEX_HALF                            0x00\r
-#define DUPLEX_FULL                            0x01\r
-\r
-/* PHY ID */\r
-#define MII_DM9161_ID     0x0181b8a0\r
-#define MII_AM79C875_ID   0x00225540   /* 0x00225541 */\r
-\r
-#define AT91C_PHY_ADDR 31\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/main.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/main.c
deleted file mode 100644 (file)
index c1080e4..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-/*\r
- * Creates all the application tasks, then starts the scheduler.\r
- *\r
- * A task is also created called "uIP".  This executes the uIP stack and small\r
- * WEB server sample.  All the other tasks are from the set of standard\r
- * demo tasks.  The WEB documentation provides more details of the standard\r
- * demo application tasks.\r
- *\r
- * Main.c also creates a task called "Check".  This only executes every three\r
- * seconds but has the highest priority so is guaranteed to get processor time.\r
- * Its main function is to check the status of all the other demo application\r
- * tasks.  LED mainCHECK_LED is toggled every three seconds by the check task\r
- * should no error conditions be detected in any of the standard demo tasks.\r
- * The toggle rate increasing to 500ms indicates that at least one error has\r
- * been detected.\r
- */\r
-\r
-\r
-/* Standard includes. */\r
-#include <stdlib.h>\r
-#include <string.h>\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Demo application includes. */\r
-#include "partest.h"\r
-#include "PollQ.h"\r
-#include "dynamic.h"\r
-#include "semtest.h"\r
-#include "flash.h"\r
-#include "integer.h"\r
-#include "flop.h"\r
-#include "BlockQ.h"\r
-#include "death.h"\r
-#include "uip_task.h"\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Priorities/stacks for the demo application tasks. */\r
-#define mainQUEUE_POLL_PRIORITY                ( tskIDLE_PRIORITY + 1 )\r
-#define mainCHECK_TASK_PRIORITY                ( tskIDLE_PRIORITY + 3 )\r
-#define mainSEM_TEST_PRIORITY          ( tskIDLE_PRIORITY + 1 )\r
-#define mainUIP_PRIORITY                       ( tskIDLE_PRIORITY + 3 )\r
-#define mainFLASH_PRIORITY                     ( tskIDLE_PRIORITY + 2 )\r
-#define mainBLOCK_Q_PRIORITY           ( tskIDLE_PRIORITY + 1 )\r
-#define mainDEATH_PRIORITY                     ( tskIDLE_PRIORITY + 2 )\r
-#define mainUIP_TASK_STACK_SIZE                ( 250 )\r
-\r
-/* The rate at which the on board LED will toggle when there is/is not an\r
-error. */\r
-#define mainNO_ERROR_FLASH_PERIOD      ( ( TickType_t ) 3000 / portTICK_PERIOD_MS  )\r
-#define mainERROR_FLASH_PERIOD         ( ( TickType_t ) 500 / portTICK_PERIOD_MS  )\r
-\r
-/* The LED used by the check task to indicate the system status. */\r
-#define mainCHECK_LED                          ( 3 )\r
-/*-----------------------------------------------------------*/\r
-\r
-/*\r
- * Checks that all the demo application tasks are still executing without error\r
- * - as described at the top of the file.\r
- */\r
-static long prvCheckOtherTasksAreStillRunning( void );\r
-\r
-/*\r
- * The task that executes at the highest priority and calls\r
- * prvCheckOtherTasksAreStillRunning().  See the description at the top\r
- * of the file.\r
- */\r
-static void vErrorChecks( void *pvParameters );\r
-\r
-/*\r
- * Configure the processor for use with the Atmel demo board.  This is very\r
- * minimal as most of the setup is performed in the startup code.\r
- */\r
-static void prvSetupHardware( void );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/*\r
- * Starts all the other tasks, then starts the scheduler.\r
- */\r
-int main( void )\r
-{\r
-       /* Configure the processor. */\r
-       prvSetupHardware();\r
-\r
-       /* Setup the port used to flash the LED's. */\r
-       vParTestInitialise();\r
-\r
-       /* Start the task that handles the TCP/IP and WEB server functionality. */\r
-    xTaskCreate( vuIP_TASK, "uIP", mainUIP_TASK_STACK_SIZE, NULL, mainUIP_PRIORITY, NULL );\r
-       \r
-       /* Start the demo/test application tasks.  These are created in addition\r
-       to the TCP/IP task for demonstration and test purposes. */\r
-       vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
-       vStartDynamicPriorityTasks();\r
-       vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );\r
-       vStartLEDFlashTasks( mainFLASH_PRIORITY );\r
-       vStartIntegerMathTasks( tskIDLE_PRIORITY );\r
-       vStartMathTasks( tskIDLE_PRIORITY );\r
-       vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );\r
-\r
-       /* Start the check task - which is defined in this file. */     \r
-    xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );\r
-\r
-       /* Must be last to get created. */\r
-       vCreateSuicidalTasks( mainDEATH_PRIORITY );\r
-\r
-       /* Now all the tasks have been started - start the scheduler. */\r
-       vTaskStartScheduler();\r
-\r
-       /* Should never reach here because the tasks should now be executing! */\r
-       return 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvSetupHardware( void )\r
-{\r
-       /* When using the JTAG debugger the hardware is not always initialised to\r
-       the correct default state.  This line just ensures that this does not\r
-       cause all interrupts to be masked at the start. */\r
-       AT91C_BASE_AIC->AIC_EOICR = 0;\r
-       \r
-       /* Most setup is performed by the low level init function called from the\r
-       startup asm file.\r
-\r
-       Configure the PIO Lines corresponding to LED1 to LED4 to be outputs as\r
-       well as the UART Tx line. */\r
-       AT91F_PIO_CfgOutput( AT91C_BASE_PIOB, LED_MASK );\r
-\r
-       /* Enable the peripheral clock. */\r
-       AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA );\r
-       AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, 1 << AT91C_ID_PIOB ) ;\r
-       AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, 1 << AT91C_ID_EMAC ) ;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vErrorChecks( void *pvParameters )\r
-{\r
-TickType_t xDelayPeriod = mainNO_ERROR_FLASH_PERIOD;\r
-TickType_t xLastWakeTime;\r
-\r
-       /* Initialise xLastWakeTime to ensure the first call to vTaskDelayUntil()\r
-       functions correctly. */\r
-       xLastWakeTime = xTaskGetTickCount();\r
-\r
-       /* Cycle for ever, delaying then checking all the other tasks are still\r
-       operating without error.  If an error is detected then the delay period\r
-       is decreased from mainNO_ERROR_FLASH_PERIOD to mainERROR_FLASH_PERIOD so\r
-       the Check LED flash rate will increase. */\r
-       for( ;; )\r
-       {\r
-               /* Delay until it is time to execute again.  The delay period is\r
-               shorter following an error. */\r
-               vTaskDelayUntil( &xLastWakeTime, xDelayPeriod );\r
-       \r
-               /* Check all the standard demo application tasks are executing without\r
-               error.  */\r
-               if( prvCheckOtherTasksAreStillRunning() != pdPASS )\r
-               {\r
-                       /* An error has been detected in one of the tasks - flash faster. */\r
-                       xDelayPeriod = mainERROR_FLASH_PERIOD;\r
-               }\r
-\r
-               vParTestToggleLED( mainCHECK_LED );\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static long prvCheckOtherTasksAreStillRunning( void )\r
-{\r
-long lReturn = ( long ) pdPASS;\r
-\r
-\r
-       /* Check all the demo tasks (other than the flash tasks) to ensure\r
-       that they are all still running, and that none of them have detected\r
-       an error. */\r
-\r
-       if( xArePollingQueuesStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       if( xAreSemaphoreTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       if( xAreIntegerMathsTaskStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       if( xAreMathsTaskStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       if( xAreBlockingQueuesStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       if( xIsCreateTaskStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       return lReturn;\r
-}\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/SAM7.mac b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/SAM7.mac
deleted file mode 100644 (file)
index 277ca1f..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-// ---------------------------------------------------------\r
-//              Microcontroller Software Support  -  ROUSSET  -\r
-// ---------------------------------------------------------\r
-// The software is delivered "AS IS" without warranty or \r
-// condition of any  kind, either express, implied or \r
-// statutory. This includes without limitation any warranty \r
-// or condition with respect to merchantability or fitness \r
-// for any particular purpose, or against the infringements of\r
-// intellectual property rights of others.\r
-// ---------------------------------------------------------\r
-//  File: SAM7.mac\r
-//\r
-//  1.0 08/Mar/04 JPP    : Creation\r
-//  1.1 23/Mar/05 JPP    : Change Variable name\r
-//\r
-//  $Revision: 1.5 $\r
-//\r
-// ---------------------------------------------------------\r
-\r
-__var __mac_i;\r
-__var __mac_pt;\r
-\r
-execUserReset()\r
-{\r
-   AIC();\r
-//*  Watchdog Disable\r
-   Watchdog();\r
-}\r
-\r
-execUserPreload()\r
-{\r
-//*  Set the RAM memory at 0x0020 0000 for code AT 0 flash area \r
-     CheckRemap();\r
-//*  Get the Chip ID (AT91C_DBGU_C1R & AT91C_DBGU_C2R\r
-    __mac_i =__readMemory32(0xFFFFF240,"Memory");\r
-    __message " ---------------------------------------- Chip ID   0x",__mac_i:%X;  \r
-    __mac_i =__readMemory32(0xFFFFF244,"Memory");\r
-    __message " ---------------------------------------- Extention 0x",__mac_i:%X;  \r
-//* Get the chip status\r
-\r
-//* Init AIC\r
-   AIC();\r
-//*  Watchdog Disable\r
-   Watchdog();\r
-\r
-}\r
-\r
-\r
-//-----------------------------------------------------------------------------\r
-// Watchdog\r
-//-------------------------------\r
-// Normally, the Watchdog is enable at the reset for load it's preferable to\r
-// Disable.\r
-//-----------------------------------------------------------------------------\r
-Watchdog()\r
-{\r
-//* Watchdog Disable\r
-//      AT91C_BASE_WDTC->WDTC_WDMR= AT91C_WDTC_WDDIS;\r
-   __writeMemory32(0x00008000,0xFFFFFD44,"Memory");\r
-   __message "------------------------------- Watchdog Disable ----------------------------------------";  \r
-}\r
-\r
-\r
-//-----------------------------------------------------------------------------\r
-// Check Remap\r
-//-------------\r
-//-----------------------------------------------------------------------------\r
-CheckRemap()\r
-{\r
-//* Read the value at 0x0\r
-    __mac_i =__readMemory32(0x00000000,"Memory");\r
-    __mac_i =__mac_i+1;\r
-    __writeMemory32(__mac_i,0x00,"Memory");\r
-    __mac_pt =__readMemory32(0x00000000,"Memory");\r
-    \r
- if (__mac_i == __mac_pt)  \r
- {\r
-   __message "------------------------------- The Remap is done ----------------------------------------";  \r
-//*   Toggel RESET The remap\r
-    __writeMemory32(0x00000001,0xFFFFFF00,"Memory");\r
-   \r
- } else {  \r
-   __message "------------------------------- The Remap is NOT -----------------------------------------";  \r
- }\r
-\r
-}\r
-\r
-\r
-execUserSetup()\r
-{\r
- ini();\r
-     __message "-------------------------------Set PC ----------------------------------------";  \r
-     __writeMemory32(0x00000000,0xB4,"Register");\r
-}\r
-\r
-//-----------------------------------------------------------------------------\r
-// Reset the Interrupt Controller\r
-//-------------------------------\r
-// Normally, the code is executed only if a reset has been actually performed.\r
-// So, the AIC initialization resumes at setting up the default vectors.\r
-//-----------------------------------------------------------------------------\r
-AIC()\r
-{\r
-// Mask All interrupt pAic->AIC_IDCR = 0xFFFFFFFF;\r
-    __writeMemory32(0xffffffff,0xFFFFF124,"Memory");\r
-    __writeMemory32(0xffffffff,0xFFFFF128,"Memory");\r
-// disable peripheral clock  Peripheral Clock Disable Register\r
-    __writeMemory32(0xffffffff,0xFFFFFC14,"Memory");\r
-\r
-// #define AT91C_TC0_SR    ((AT91_REG *)       0xFFFA0020) // (TC0) Status Register\r
-// #define AT91C_TC1_SR    ((AT91_REG *)       0xFFFA0060) // (TC1) Status Register\r
-// #define AT91C_TC2_SR    ((AT91_REG *)       0xFFFA00A0) // (TC2) Status Register\r
-    __readMemory32(0xFFFA0020,"Memory");\r
-    __readMemory32(0xFFFA0060,"Memory");\r
-    __readMemory32(0xFFFA00A0,"Memory");\r
-\r
-    for (__mac_i=0;__mac_i < 8; __mac_i++)\r
-    {\r
-      // AT91C_BASE_AIC->AIC_EOICR\r
-      __mac_pt  =  __readMemory32(0xFFFFF130,"Memory");\r
-    \r
-    }\r
-   __message "------------------------------- AIC 2 INIT ---------------------------------------------";  \r
-}\r
-\r
-ini()\r
-{\r
-__writeMemory32(0x0,0x00,"Register");\r
-__writeMemory32(0x0,0x04,"Register");\r
-__writeMemory32(0x0,0x08,"Register");\r
-__writeMemory32(0x0,0x0C,"Register");\r
-__writeMemory32(0x0,0x10,"Register");\r
-__writeMemory32(0x0,0x14,"Register");\r
-__writeMemory32(0x0,0x18,"Register");\r
-__writeMemory32(0x0,0x1C,"Register");\r
-__writeMemory32(0x0,0x20,"Register");\r
-__writeMemory32(0x0,0x24,"Register");\r
-__writeMemory32(0x0,0x28,"Register");\r
-__writeMemory32(0x0,0x2C,"Register");\r
-__writeMemory32(0x0,0x30,"Register");\r
-__writeMemory32(0x0,0x34,"Register");\r
-__writeMemory32(0x0,0x38,"Register");\r
-\r
-// Set CPSR\r
-__writeMemory32(0x0D3,0x98,"Register");\r
-\r
-\r
-}\r
-\r
-RG()\r
-{\r
-\r
-__mac_i =__readMemory32(0x00,"Register");   __message "R00 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x04,"Register");   __message "R01 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x08,"Register");   __message "R02 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x0C,"Register");   __message "R03 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x10,"Register");   __message "R04 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x14,"Register");   __message "R05 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x18,"Register");   __message "R06 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x1C,"Register");   __message "R07 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x20,"Register");   __message "R08 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x24,"Register");   __message "R09 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x28,"Register");   __message "R10 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x2C,"Register");   __message "R11 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x30,"Register");   __message "R12 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x34,"Register");   __message "R13 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x38,"Register");   __message "R14 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x3C,"Register");   __message "R13 SVC 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x40,"Register");   __message "R14 SVC 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x44,"Register");   __message "R13 ABT 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x48,"Register");   __message "R14 ABT 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x4C,"Register");   __message "R13 UND 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x50,"Register");   __message "R14 UND 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x54,"Register");   __message "R13 IRQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x58,"Register");   __message "R14 IRQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x5C,"Register");   __message "R08 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x60,"Register");   __message "R09 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x64,"Register");   __message "R10 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x68,"Register");   __message "R11 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x6C,"Register");   __message "R12 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x70,"Register");   __message "R13 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x74,"Register");   __message "R14 FIQ0x",__mac_i:%X; \r
-__mac_i =__readMemory32(0x98,"Register");   __message "CPSR     ",__mac_i:%X; \r
-__mac_i =__readMemory32(0x94,"Register");   __message "SPSR     ",__mac_i:%X; \r
-__mac_i =__readMemory32(0x9C,"Register");   __message "SPSR ABT ",__mac_i:%X; \r
-__mac_i =__readMemory32(0xA0,"Register");   __message "SPSR ABT ",__mac_i:%X; \r
-__mac_i =__readMemory32(0xA4,"Register");   __message "SPSR UND ",__mac_i:%X; \r
-__mac_i =__readMemory32(0xA8,"Register");   __message "SPSR IRQ ",__mac_i:%X; \r
-__mac_i =__readMemory32(0xAC,"Register");   __message "SPSR FIQ ",__mac_i:%X; \r
-\r
-__mac_i =__readMemory32(0xB4,"Register");   __message "PC 0x",__mac_i:%X;  \r
-\r
-}\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/SAM7_RAM.mac b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/SAM7_RAM.mac
deleted file mode 100644 (file)
index 63228c3..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-// ---------------------------------------------------------\r
-//   ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-// ---------------------------------------------------------\r
-// The software is delivered "AS IS" without warranty or \r
-// condition of any  kind, either express, implied or \r
-// statutory. This includes without limitation any warranty \r
-// or condition with respect to merchantability or fitness \r
-// for any particular purpose, or against the infringements of\r
-// intellectual property rights of others.\r
-// ---------------------------------------------------------\r
-//  File: SAM7_RAM.mac\r
-//\r
-//  1.0 08/Mar/05 JPP    : Creation\r
-//  1.1 23/Mar/05 JPP    : Change Variable name\r
-//\r
-//  $Revision: 1.6 $\r
-//\r
-// ---------------------------------------------------------\r
-\r
-__var __mac_i;\r
-__var __mac_pt;\r
-__var __mac_mem;\r
-execUserReset()\r
-{\r
-     CheckNoRemap();\r
-     ini();\r
-     AIC();\r
-     __message "-------------------------------Set PC Reset ----------------------------------";  \r
-     __writeMemory32(0x00000000,0xB4,"Register");\r
-}\r
-\r
-execUserPreload()\r
-{\r
-//*  __message "-------------------------------Set CPSR  ----------------------------------";  \r
-     __writeMemory32(0xD3,0x98,"Register"); \r
-    __writeMemory32(0xffffffff,0xFFFFFC14,"Memory");\r
-     PllSetting();\r
- //* Init AIC\r
-     AIC();\r
-\r
-//*  Set the RAM memory at 0x0020 0000 for code AT 0 flash area \r
-     CheckNoRemap();\r
-//*  Get the Chip ID (AT91C_DBGU_C1R & AT91C_DBGU_C2R\r
-    __mac_i=__readMemory32(0xFFFFF240,"Memory");\r
-    __message " ---------------------------------------- Chip ID   0x",__mac_i:%X;  \r
-    __mac_i=__readMemory32(0xFFFFF244,"Memory");\r
-    __message " ---------------------------------------- Extention 0x",__mac_i:%X;  \r
-    __mac_i=__readMemory32(0xFFFFFF6C,"Memory");\r
-    __message " ---------------------------------------- Flash Version 0x",__mac_i:%X;  \r
-\r
-//*  Watchdog Disable\r
-    Watchdog();\r
-//*    RG();\r
-}\r
-//-----------------------------------------------------------------------------\r
-// PllSetting\r
-//-------------------------------\r
-// Set PLL\r
-//-----------------------------------------------------------------------------\r
-PllSetting()\r
-{\r
-// -1- Enabling the Main Oscillator:\r
-//*#define AT91C_PMC_MOR   ((AT91_REG *)       0xFFFFFC20) // (PMC) Main Oscillator Register\r
-//*#define AT91C_PMC_PLLR  ((AT91_REG *)       0xFFFFFC2C) // (PMC) PLL Register\r
-//*#define AT91C_PMC_MCKR  ((AT91_REG *)       0xFFFFFC30) // (PMC) Master Clock Register\r
-\r
-//*pPMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x06 <<8) |    //0x0000 0600\r
-//                          AT91C_CKGR_MOSCEN ));          //0x0000 0001 \r
-__writeMemory32(0x00000601,0xFFFFFC20,"Memory");\r
-\r
-// -2- Wait\r
-// -3- Setting PLL and divider:\r
-// - div by 5 Fin = 3,6864 =(18,432 / 5)\r
-// - Mul 25+1: Fout =  95,8464 =(3,6864 *26)\r
-// for 96 MHz the erroe is 0.16%\r
-// Field out NOT USED = 0\r
-// PLLCOUNT pll startup time esrtimate at : 0.844 ms\r
-// PLLCOUNT 28 = 0.000844 /(1/32768)\r
-//       pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 0x05) |       //0x0000 0005\r
-//                         (AT91C_CKGR_PLLCOUNT & (28<<8)) //0x0000 1C00\r
-//                         (AT91C_CKGR_MUL & (25<<16)));   //0x0019 0000 \r
-__writeMemory32(0x00191C05,0xFFFFFC2C,"Memory");\r
-// -2- Wait\r
-// -5- Selection of Master Clock and Processor Clock\r
-// select the PLL clock divided by 2\r
-//         pPMC->PMC_MCKR = AT91C_PMC_CSS_PLL_CLK |     //0x0000 0003\r
-//                           AT91C_PMC_PRES_CLK_2 ;      //0x0000 0004\r
-__writeMemory32(0x00000007,0xFFFFFC30,"Memory");        \r
-       \r
-\r
-   __message "------------------------------- PLL  Enable ----------------------------------------";  \r
-}\r
-\r
-//-----------------------------------------------------------------------------\r
-// Watchdog\r
-//-------------------------------\r
-// Normally, the Watchdog is enable at the reset for load it's preferable to\r
-// Disable.\r
-//-----------------------------------------------------------------------------\r
-Watchdog()\r
-{\r
-//* Watchdog Disable\r
-//      AT91C_BASE_WDTC->WDTC_WDMR= AT91C_WDTC_WDDIS;\r
-   __writeMemory32(0x00008000,0xFFFFFD44,"Memory");\r
-   __message "------------------------------- Watchdog Disable ----------------------------------------";  \r
-}\r
-\r
-CheckNoRemap()\r
-{\r
-//* Read the value at 0x0\r
-    __mac_i =__readMemory32(0x00000000,"Memory");\r
-    __mac_mem = __mac_i;\r
-    __mac_i=__mac_i+1;\r
-    __writeMemory32(__mac_i,0x00,"Memory");\r
-    __mac_pt=__readMemory32(0x00000000,"Memory");\r
-    \r
- if (__mac_i == __mac_pt)  \r
- {\r
-   __message "------------------------------- The Remap is done ----------------------------------------";  \r
-   __writeMemory32( __mac_mem,0x00000000,"Memory");\r
-  \r
- } else {  \r
-   __message "------------------------------- The Remap is NOT -----------------------------------------";  \r
-//*   Toggel RESET The remap\r
-    __writeMemory32(0x00000001,0xFFFFFF00,"Memory");\r
- }\r
-\r
-}\r
-\r
-//-----------------------------------------------------------------------------\r
-// Reset the Interrupt Controller\r
-//-------------------------------\r
-// Normally, the code is executed only if a reset has been actually performed.\r
-// So, the AIC initialization resumes at setting up the default vectors.\r
-//-----------------------------------------------------------------------------\r
-AIC()\r
-{\r
-// Mask All interrupt pAic->AIC_IDCR = 0xFFFFFFFF;\r
-    __writeMemory32(0xffffffff,0xFFFFF124,"Memory");\r
-    __writeMemory32(0xffffffff,0xFFFFF128,"Memory");\r
-// disable peripheral clock  Peripheral Clock Disable Register\r
-    __writeMemory32(0xffffffff,0xFFFFFC14,"Memory");\r
-\r
-// #define AT91C_TC0_SR    ((AT91_REG *)       0xFFFA0020) // (TC0) Status Register\r
-// #define AT91C_TC1_SR    ((AT91_REG *)       0xFFFA0060) // (TC1) Status Register\r
-// #define AT91C_TC2_SR    ((AT91_REG *)       0xFFFA00A0) // (TC2) Status Register\r
-    __readMemory32(0xFFFA0020,"Memory");\r
-    __readMemory32(0xFFFA0060,"Memory");\r
-    __readMemory32(0xFFFA00A0,"Memory");\r
-    for (__mac_i=0;__mac_i < 8; __mac_i++)\r
-    {\r
-      // AT91C_BASE_AIC->AIC_EOICR\r
-      __mac_pt  =  __readMemory32(0xFFFFF130,"Memory");\r
-    \r
-    }\r
-   __message "------------------------------- AIC 2 INIT ---------------------------------------------";  \r
-}\r
-\r
-ini()\r
-{\r
-__writeMemory32(0x0,0x00,"Register");\r
-__writeMemory32(0x0,0x04,"Register");\r
-__writeMemory32(0x0,0x08,"Register");\r
-__writeMemory32(0x0,0x0C,"Register");\r
-__writeMemory32(0x0,0x10,"Register");\r
-__writeMemory32(0x0,0x14,"Register");\r
-__writeMemory32(0x0,0x18,"Register");\r
-__writeMemory32(0x0,0x1C,"Register");\r
-__writeMemory32(0x0,0x20,"Register");\r
-__writeMemory32(0x0,0x24,"Register");\r
-__writeMemory32(0x0,0x28,"Register");\r
-__writeMemory32(0x0,0x2C,"Register");\r
-__writeMemory32(0x0,0x30,"Register");\r
-__writeMemory32(0x0,0x34,"Register");\r
-__writeMemory32(0x0,0x38,"Register");\r
-\r
-// Set CPSR\r
-__writeMemory32(0x0D3,0x98,"Register");\r
-\r
-\r
-}\r
-\r
-RG()\r
-{\r
-\r
-__mac_i =__readMemory32(0x00,"Register");   __message "R00 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x04,"Register");   __message "R01 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x08,"Register");   __message "R02 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x0C,"Register");   __message "R03 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x10,"Register");   __message "R04 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x14,"Register");   __message "R05 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x18,"Register");   __message "R06 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x1C,"Register");   __message "R07 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x20,"Register");   __message "R08 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x24,"Register");   __message "R09 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x28,"Register");   __message "R10 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x2C,"Register");   __message "R11 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x30,"Register");   __message "R12 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x34,"Register");   __message "R13 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x38,"Register");   __message "R14 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x3C,"Register");   __message "R13 SVC 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x40,"Register");   __message "R14 SVC 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x44,"Register");   __message "R13 ABT 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x48,"Register");   __message "R14 ABT 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x4C,"Register");   __message "R13 UND 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x50,"Register");   __message "R14 UND 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x54,"Register");   __message "R13 IRQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x58,"Register");   __message "R14 IRQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x5C,"Register");   __message "R08 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x60,"Register");   __message "R09 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x64,"Register");   __message "R10 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x68,"Register");   __message "R11 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x6C,"Register");   __message "R12 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x70,"Register");   __message "R13 FIQ 0x",__mac_i:%X;  \r
-__mac_i =__readMemory32(0x74,"Register");   __message "R14 FIQ0x",__mac_i:%X; \r
-__mac_i =__readMemory32(0x98,"Register");   __message "CPSR     ",__mac_i:%X; \r
-__mac_i =__readMemory32(0x94,"Register");   __message "SPSR     ",__mac_i:%X; \r
-__mac_i =__readMemory32(0x9C,"Register");   __message "SPSR ABT ",__mac_i:%X; \r
-__mac_i =__readMemory32(0xA0,"Register");   __message "SPSR ABT ",__mac_i:%X; \r
-__mac_i =__readMemory32(0xA4,"Register");   __message "SPSR UND ",__mac_i:%X; \r
-__mac_i =__readMemory32(0xA8,"Register");   __message "SPSR IRQ ",__mac_i:%X; \r
-__mac_i =__readMemory32(0xAC,"Register");   __message "SPSR FIQ ",__mac_i:%X; \r
-\r
-__mac_i =__readMemory32(0xB4,"Register");   __message "PC 0x",__mac_i:%X;  \r
-\r
-}\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/at91SAM7X256_FLASH.icf b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/at91SAM7X256_FLASH.icf
deleted file mode 100644 (file)
index c9591f6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*###ICF### Section handled by ICF editor, don't touch! ****/\r
-/*-Editor annotation file-*/\r
-/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */\r
-/*-Specials-*/\r
-define symbol __ICFEDIT_intvec_start__ = 0x00100000;\r
-/*-Memory Regions-*/\r
-define symbol __ICFEDIT_region_ROM_start__ = 0x00100040;\r
-define symbol __ICFEDIT_region_ROM_end__   = 0x0013FFFF;\r
-define symbol __ICFEDIT_region_RAM_start__  = 0x00200000;\r
-define symbol __ICFEDIT_region_RAM_end__    = 0x0020FFFF;\r
-/*-Sizes-*/\r
-define symbol __ICFEDIT_size_cstack__   = 0x400;\r
-define symbol __ICFEDIT_size_svcstack__ = 0x100;\r
-define symbol __ICFEDIT_size_irqstack__ = 0x100;\r
-define symbol __ICFEDIT_size_fiqstack__ = 0x0;\r
-define symbol __ICFEDIT_size_undstack__ = 0x0;\r
-define symbol __ICFEDIT_size_abtstack__ = 0x0;\r
-define symbol __ICFEDIT_size_heap__     = 0x0;\r
-/**** End of ICF editor section. ###ICF###*/\r
-\r
-\r
-define memory mem with size = 4G;\r
-define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];\r
-define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];\r
-\r
-define block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\r
-define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { };\r
-define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { };\r
-define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };\r
-define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };\r
-define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };\r
-define block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\r
-\r
-initialize by copy { readwrite };\r
-do not initialize  { section .noinit };\r
-\r
-place at address mem:__ICFEDIT_intvec_start__    { readonly section .intvec };\r
-\r
-place in ROM_region   { readonly };\r
-place in RAM_region   { readwrite,\r
-                        block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,\r
-                        block UND_STACK, block ABT_STACK, block HEAP };\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/at91sam7x-ek-flash.mac b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/resource/at91sam7x-ek-flash.mac
deleted file mode 100644 (file)
index 5d0997b..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//  ----------------------------------------------------------------------------\r
-//          ATMEL Microcontroller Software Support  -  ROUSSET  -\r
-//  ----------------------------------------------------------------------------\r
-//  DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
-//  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
-//  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
-//  DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
-//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
-//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
-//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
-//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
-//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
-//  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
-//  ----------------------------------------------------------------------------\r
-//  File Name           : SAM7_FLASH.mac\r
-//  Object              : Generic Macro File for IAR\r
-//  1.0 17/Aug/05 FBr   : Creation\r
-//  ----------------------------------------------------------------------------\r
-\r
-/*********************************************************************\r
-*\r
-*       _InitRSTC()\r
-*\r
-* Function description\r
-*   Initializes the RSTC (Reset controller).\r
-*   This makes sense since the default is to not allow user resets, which makes it impossible to\r
-*   apply a second RESET via J-Link\r
-*/\r
-_InitRSTC() {\r
-    __writeMemory32(0xA5000001, 0xFFFFFD08,"Memory");    // Allow user reset\r
-}\r
-\r
-/*********************************************************************\r
-*\r
-*       _InitPLL()\r
-* Function description\r
-*   Initializes the PMC.\r
-*   1. Enable the Main Oscillator\r
-*   2. Configure PLL to 96MHz\r
-*   3. Switch Master Clock (MCK) on PLL/2 = 48MHz\r
-*/\r
-_InitPLL() {\r
-\r
-    __message "Enable Main Oscillator";\r
-    __writeMemory32(0x00000601,0xFFFFFc20,"Memory");    // MOSC\r
-    while( !(__readMemory32(0xFFFFFc68,"Memory") & 0x1)  );\r
-\r
-    __message "Set PLL to 96MHz";\r
-    __writeMemory32(0x10191c05,0xFFFFFc2c,"Memory");    // LOCK\r
-    while( !(__readMemory32(0xFFFFFc68,"Memory") & 0x4)  );\r
-\r
-    __message "Set Master Clock to 48MHz";\r
-    __writeMemory32(0x00000004,0xFFFFFc30,"Memory");    // MCKRDY\r
-    while( !(__readMemory32(0xFFFFFc68,"Memory") & 0x8)  );\r
-    __writeMemory32(0x00000007,0xFFFFFc30,"Memory");    // MCKRDY\r
-    while( !(__readMemory32(0xFFFFFc68,"Memory") & 0x8)  );\r
-\r
-    // Set 1 WS for Flash accesses on each EFC \r
-    __writeMemory32(0x00480100,0xFFFFFF60,"Memory");\r
-    __writeMemory32(0x00480100,0xFFFFFF70,"Memory");\r
-}\r
-\r
-/*********************************************************************\r
-*\r
-*       execUserReset() : JTAG set initially to Full Speed\r
-*/\r
-execUserReset() {\r
-    __message "execUserReset()";\r
-    __hwReset(0);                       // Hardware Reset: CPU is automatically halted after the reset (JTAG is already configured to 32kHz)\r
-    _InitPLL();                         // Allow to debug at JTAG Full Speed\r
-    _InitRSTC();                        // Enable User Reset to allow execUserReset() execution\r
-}\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewd b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewd
deleted file mode 100644 (file)
index 98c02c3..0000000
+++ /dev/null
@@ -1,1379 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>\r
-\r
-<project>\r
-  <fileVersion>2</fileVersion>\r
-  <configuration>\r
-    <name>Flash Debug</name>\r
-    <toolchain>\r
-      <name>ARM</name>\r
-    </toolchain>\r
-    <debug>1</debug>\r
-    <settings>\r
-      <name>C-SPY</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>21</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>CInput</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CEndian</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCVariant</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MacOverride</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>MacFile</name>\r
-          <state>$PROJ_DIR$\resource\at91sam7x-ek-flash.mac</state>\r
-        </option>\r
-        <option>\r
-          <name>MemOverride</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MemFile</name>\r
-          <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ioAT91SAM7X256.ddf</state>\r
-        </option>\r
-        <option>\r
-          <name>RunToEnable</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>RunToName</name>\r
-          <state>main</state>\r
-        </option>\r
-        <option>\r
-          <name>CExtraOptionsCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CExtraOptions</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CFpuProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDDFArgumentProducer</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OCDownloadSuppressDownload</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDownloadVerifyAll</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCProductVersion</name>\r
-          <state>4.10B</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDynDriverList</name>\r
-          <state>JLINK_ID</state>\r
-        </option>\r
-        <option>\r
-          <name>OCLastSavedByProductVersion</name>\r
-          <state>5.40.2.51615</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDownloadAttachToProgram</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>UseFlashLoader</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CLowLevel</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCBE8Slave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>MacFile2</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CDevice</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>FlashLoadersV3</name>\r
-          <state>$TOOLKIT_DIR$\config\flashloader\Atmel\AT91SAM7X256-EK\at91sam7x256-flash.board</state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesSuppressCheck1</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesPath1</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesSuppressCheck2</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesPath2</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesSuppressCheck3</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesPath3</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OverrideDefFlashBoard</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>ARMSIM_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>1</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>OCSimDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCSimEnablePSP</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCSimPspOverrideConfig</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCSimPspConfigFile</name>\r
-          <state></state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>ANGEL_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>CCAngelHeartbeat</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CAngelCommunication</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CAngelCommBaud</name>\r
-          <version>0</version>\r
-          <state>3</state>\r
-        </option>\r
-        <option>\r
-          <name>CAngelCommPort</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>ANGELTCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
-        </option>\r
-        <option>\r
-          <name>DoAngelLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AngelLogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>GDBSERVER_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>TCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
-        </option>\r
-        <option>\r
-          <name>DoLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>LogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagBreakpointRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagDoUpdateBreakpoints</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagUpdateBreakpoints</name>\r
-          <state>main</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>IARROM_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>CRomLogFileCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CRomLogFileEditB</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CRomCommunication</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CRomCommPort</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CRomCommBaud</name>\r
-          <version>0</version>\r
-          <state>7</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>JLINK_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>10</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>JLinkSpeed</name>\r
-          <state>30</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkDoLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkLogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkHWResetDelay</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>JLinkInitialSpeed</name>\r
-          <state>32</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDoJlinkMultiTarget</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCScanChainNonARMDevices</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkMultiTarget</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkIRLength</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkCommRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkTCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkSpeedRadioV2</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCUSBDevice</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchReset</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchUndef</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchSWI</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchData</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchPrefetch</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchIRQ</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchFIQ</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkBreakpointRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkDoUpdateBreakpoints</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkUpdateBreakpoints</name>\r
-          <state>main</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCJLinkAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkResetList</name>\r
-          <version>0</version>\r
-          <state>5</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>LMIFTDI_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>2</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>LmiftdiSpeed</name>\r
-          <state>500</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLmiftdiDoLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLmiftdiLogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLmiFtdiInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLmiFtdiInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>MACRAIGOR_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>3</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>jtag</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>EmuSpeed</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>TCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
-        </option>\r
-        <option>\r
-          <name>DoLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>LogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>DoEmuMultiTarget</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>EmuMultiTarget</name>\r
-          <state>0@ARM7TDMI</state>\r
-        </option>\r
-        <option>\r
-          <name>EmuHWReset</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CEmuCommBaud</name>\r
-          <version>0</version>\r
-          <state>4</state>\r
-        </option>\r
-        <option>\r
-          <name>CEmuCommPort</name>\r
-          <version>0</version>\r
-          <state>4</state>\r
-        </option>\r
-        <option>\r
-          <name>jtago</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>UnusedAddr</name>\r
-          <state>0x00800000</state>\r
-        </option>\r
-        <option>\r
-          <name>CCMacraigorHWResetDelay</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagBreakpointRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagDoUpdateBreakpoints</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagUpdateBreakpoints</name>\r
-          <state>main</state>\r
-        </option>\r
-        <option>\r
-          <name>CCMacraigorInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCMacraigorInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>RDI_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>1</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>CRDIDriverDll</name>\r
-          <state>Browse to your RDI driver</state>\r
-        </option>\r
-        <option>\r
-          <name>CRDILogFileCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CRDILogFileEdit</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDIHWReset</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchReset</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchUndef</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchSWI</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchData</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchPrefetch</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchIRQ</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchFIQ</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDIUseETM</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>STLINK_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>THIRDPARTY_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>CThirdPartyDriverDll</name>\r
-          <state>Browse to your third-party driver</state>\r
-        </option>\r
-        <option>\r
-          <name>CThirdPartyLogFileCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CThirdPartyLogFileEditB</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <debuggerPlugins>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-    </debuggerPlugins>\r
-  </configuration>\r
-  <configuration>\r
-    <name>Flash Release</name>\r
-    <toolchain>\r
-      <name>ARM</name>\r
-    </toolchain>\r
-    <debug>0</debug>\r
-    <settings>\r
-      <name>C-SPY</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>21</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>CInput</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CEndian</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCVariant</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MacOverride</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>MacFile</name>\r
-          <state>$PROJ_DIR$\resource\at91sam7x-ek-flash.mac</state>\r
-        </option>\r
-        <option>\r
-          <name>MemOverride</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MemFile</name>\r
-          <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ioAT91SAM7X256.ddf</state>\r
-        </option>\r
-        <option>\r
-          <name>RunToEnable</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>RunToName</name>\r
-          <state>main</state>\r
-        </option>\r
-        <option>\r
-          <name>CExtraOptionsCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CExtraOptions</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CFpuProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDDFArgumentProducer</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OCDownloadSuppressDownload</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDownloadVerifyAll</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCProductVersion</name>\r
-          <state>4.10B</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDynDriverList</name>\r
-          <state>JLINK_ID</state>\r
-        </option>\r
-        <option>\r
-          <name>OCLastSavedByProductVersion</name>\r
-          <state>5.40.2.51615</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDownloadAttachToProgram</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>UseFlashLoader</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CLowLevel</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCBE8Slave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>MacFile2</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CDevice</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>FlashLoadersV3</name>\r
-          <state>$TOOLKIT_DIR$\config\flashloader\Atmel\AT91SAM7X256-EK\at91sam7x256-flash.board</state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesSuppressCheck1</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesPath1</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesSuppressCheck2</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesPath2</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesSuppressCheck3</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCImagesPath3</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OverrideDefFlashBoard</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>ARMSIM_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>1</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>OCSimDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OCSimEnablePSP</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCSimPspOverrideConfig</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCSimPspConfigFile</name>\r
-          <state></state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>ANGEL_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>CCAngelHeartbeat</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CAngelCommunication</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CAngelCommBaud</name>\r
-          <version>0</version>\r
-          <state>3</state>\r
-        </option>\r
-        <option>\r
-          <name>CAngelCommPort</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>ANGELTCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
-        </option>\r
-        <option>\r
-          <name>DoAngelLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AngelLogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>GDBSERVER_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>TCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
-        </option>\r
-        <option>\r
-          <name>DoLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>LogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagBreakpointRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagDoUpdateBreakpoints</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagUpdateBreakpoints</name>\r
-          <state>main</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>IARROM_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>CRomLogFileCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CRomLogFileEditB</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CRomCommunication</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CRomCommPort</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CRomCommBaud</name>\r
-          <version>0</version>\r
-          <state>7</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>JLINK_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>10</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>JLinkSpeed</name>\r
-          <state>30</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkDoLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkLogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkHWResetDelay</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>JLinkInitialSpeed</name>\r
-          <state>32</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDoJlinkMultiTarget</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCScanChainNonARMDevices</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkMultiTarget</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkIRLength</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkCommRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkTCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkSpeedRadioV2</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCUSBDevice</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchReset</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchUndef</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchSWI</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchData</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchPrefetch</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchIRQ</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchFIQ</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkBreakpointRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkDoUpdateBreakpoints</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkUpdateBreakpoints</name>\r
-          <state>main</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCJLinkAttachSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkResetList</name>\r
-          <version>0</version>\r
-          <state>5</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJLinkInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>LMIFTDI_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>2</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>LmiftdiSpeed</name>\r
-          <state>500</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLmiftdiDoLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLmiftdiLogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLmiFtdiInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLmiFtdiInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>MACRAIGOR_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>3</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>jtag</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>EmuSpeed</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>TCPIP</name>\r
-          <state>aaa.bbb.ccc.ddd</state>\r
-        </option>\r
-        <option>\r
-          <name>DoLogfile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>LogFile</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>DoEmuMultiTarget</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>EmuMultiTarget</name>\r
-          <state>0@ARM7TDMI</state>\r
-        </option>\r
-        <option>\r
-          <name>EmuHWReset</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CEmuCommBaud</name>\r
-          <version>0</version>\r
-          <state>4</state>\r
-        </option>\r
-        <option>\r
-          <name>CEmuCommPort</name>\r
-          <version>0</version>\r
-          <state>4</state>\r
-        </option>\r
-        <option>\r
-          <name>jtago</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>UnusedAddr</name>\r
-          <state>0x00800000</state>\r
-        </option>\r
-        <option>\r
-          <name>CCMacraigorHWResetDelay</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagBreakpointRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagDoUpdateBreakpoints</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCJTagUpdateBreakpoints</name>\r
-          <state>main</state>\r
-        </option>\r
-        <option>\r
-          <name>CCMacraigorInterfaceRadio</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCMacraigorInterfaceCmdLine</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>RDI_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>1</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>CRDIDriverDll</name>\r
-          <state>Browse to your RDI driver</state>\r
-        </option>\r
-        <option>\r
-          <name>CRDILogFileCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CRDILogFileEdit</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDIHWReset</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchReset</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchUndef</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchSWI</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchData</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchPrefetch</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchIRQ</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDICatchFIQ</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRDIUseETM</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>STLINK_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>THIRDPARTY_ID</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>CThirdPartyDriverDll</name>\r
-          <state>Browse to your third-party driver</state>\r
-        </option>\r
-        <option>\r
-          <name>CThirdPartyLogFileCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CThirdPartyLogFileEditB</name>\r
-          <state>$TOOLKIT_DIR$\cspycomm.log</state>\r
-        </option>\r
-        <option>\r
-          <name>OCDriverInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <debuggerPlugins>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
-        <loadFlag>0</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-      <plugin>\r
-        <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>\r
-        <loadFlag>1</loadFlag>\r
-      </plugin>\r
-    </debuggerPlugins>\r
-  </configuration>\r
-</project>\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewp b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewp
deleted file mode 100644 (file)
index 5a62fd6..0000000
+++ /dev/null
@@ -1,1696 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>\r
-\r
-<project>\r
-  <fileVersion>2</fileVersion>\r
-  <configuration>\r
-    <name>Flash Debug</name>\r
-    <toolchain>\r
-      <name>ARM</name>\r
-    </toolchain>\r
-    <debug>1</debug>\r
-    <settings>\r
-      <name>General</name>\r
-      <archiveVersion>3</archiveVersion>\r
-      <data>\r
-        <version>17</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>ExePath</name>\r
-          <state>Flash_Debug\Exe</state>\r
-        </option>\r
-        <option>\r
-          <name>ObjPath</name>\r
-          <state>Flash_Debug\Obj</state>\r
-        </option>\r
-        <option>\r
-          <name>ListPath</name>\r
-          <state>Flash_Debug\List</state>\r
-        </option>\r
-        <option>\r
-          <name>Variant</name>\r
-          <version>11</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GEndianMode</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>Input variant</name>\r
-          <version>1</version>\r
-          <state>3</state>\r
-        </option>\r
-        <option>\r
-          <name>Input description</name>\r
-          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\r
-        </option>\r
-        <option>\r
-          <name>Output variant</name>\r
-          <version>0</version>\r
-          <state>2</state>\r
-        </option>\r
-        <option>\r
-          <name>Output description</name>\r
-          <state>No specifier a, A, no specifier n, no float nor long long.</state>\r
-        </option>\r
-        <option>\r
-          <name>GOutputBinary</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>FPU</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OGCoreOrChip</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>GRuntimeLibSelect</name>\r
-          <version>0</version>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>GRuntimeLibSelectSlave</name>\r
-          <version>0</version>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>RTDescription</name>\r
-          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\r
-        </option>\r
-        <option>\r
-          <name>RTConfigPath</name>\r
-          <state>$TOOLKIT_DIR$\INC\DLib_Config_Normal.h</state>\r
-        </option>\r
-        <option>\r
-          <name>OGProductVersion</name>\r
-          <state>4.11A</state>\r
-        </option>\r
-        <option>\r
-          <name>OGLastSavedByProductVersion</name>\r
-          <state>5.11.0.50615</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralEnableMisra</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralMisraVerbose</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OGChipSelectEditMenu</name>\r
-          <state>AT91SAM7X256  Atmel AT91SAM7X256</state>\r
-        </option>\r
-        <option>\r
-          <name>GenLowLevelInterface</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GEndianModeBE</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OGBufferedTerminalOutput</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GenStdoutInterface</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralMisraRules98</name>\r
-          <version>0</version>\r
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralMisraVer</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralMisraRules04</name>\r
-          <version>0</version>\r
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>ICCARM</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>21</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>CCDefines</name>\r
-          <state>SAM7_IAR</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPreprocFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPreprocComments</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPreprocLine</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListCFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListCMnemonics</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListCMessages</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListAssFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListAssSource</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCEnableRemarks</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagSuppress</name>\r
-          <state>pe815, pe191, pa082, pe167, pa050</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagRemark</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagWarning</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagError</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCObjPrefix</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCAllowList</name>\r
-          <version>1</version>\r
-          <state>0000000</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDebugInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IEndianMode</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IExtraOptionsCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IExtraOptions</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCLangConformance</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSignedPlainChar</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRequirePrototypes</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCMultibyteSupport</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagWarnAreErr</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCCompilerRuntimeInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IFpuProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OutputFile</name>\r
-          <state>$FILE_BNAME$.o</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLangSelect</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLibConfigHeader</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>PreInclude</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CompilerMisraOverride</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCIncludePath2</name>\r
-          <state>$PROJ_DIR$\..\..\source\portable\iar\AtmelSAM7S64</state>\r
-          <state>$PROJ_DIR$\..\common\include</state>\r
-          <state>$PROJ_DIR$\..\..\source\include</state>\r
-          <state>$PROJ_DIR$\SrcIAR</state>\r
-          <state>$PROJ_DIR$</state>\r
-          <state>$PROJ_DIR$\uip</state>\r
-          <state>$PROJ_DIR$\emac</state>\r
-        </option>\r
-        <option>\r
-          <name>CCStdIncCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCStdIncludePath</name>\r
-          <state>$TOOLKIT_DIR$\INC\</state>\r
-        </option>\r
-        <option>\r
-          <name>CCCodeSection</name>\r
-          <state>.text</state>\r
-        </option>\r
-        <option>\r
-          <name>IInterwork2</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IProcessorMode2</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCOptLevel</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCOptStrategy</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCOptLevelSlave</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CompilerMisraRules98</name>\r
-          <version>0</version>\r
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
-        </option>\r
-        <option>\r
-          <name>CompilerMisraRules04</name>\r
-          <version>0</version>\r
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>AARM</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>7</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>AObjPrefix</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AEndian</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>ACaseSensitivity</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>MacroChars</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnEnable</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnWhat</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnOne</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnRange1</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnRange2</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>ADebug</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AltRegisterNames</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>ADefines</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>AList</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AListHeader</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AListing</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>Includes</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MacDefs</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MacExps</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>MacExec</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OnlyAssed</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MultiLine</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>PageLengthCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>PageLength</name>\r
-          <state>80</state>\r
-        </option>\r
-        <option>\r
-          <name>TabSpacing</name>\r
-          <state>8</state>\r
-        </option>\r
-        <option>\r
-          <name>AXRef</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AXRefDefines</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AXRefInternal</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AXRefDual</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AFpuProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AOutputFile</name>\r
-          <state>$FILE_BNAME$.o</state>\r
-        </option>\r
-        <option>\r
-          <name>AMultibyteSupport</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>ALimitErrorsCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>ALimitErrorsEdit</name>\r
-          <state>100</state>\r
-        </option>\r
-        <option>\r
-          <name>AIgnoreStdInclude</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AStdIncludes</name>\r
-          <state>$TOOLKIT_DIR$\INC\</state>\r
-        </option>\r
-        <option>\r
-          <name>AUserIncludes</name>\r
-          <state>$PROJ_DIR$\srciar\</state>\r
-          <state>$PROJ_DIR$\..\..\include\</state>\r
-          <state>$PROJ_DIR$\..\common\include</state>\r
-          <state>$PROJ_DIR$\..\..\Source\include</state>\r
-          <state>$PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64</state>\r
-        </option>\r
-        <option>\r
-          <name>AExtraOptionsCheckV2</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AExtraOptionsV2</name>\r
-          <state></state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>OBJCOPY</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data>\r
-        <version>1</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>OOCOutputFormat</name>\r
-          <version>2</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCOutputOverride</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OOCOutputFile</name>\r
-          <state>rtosdemo.srec</state>\r
-        </option>\r
-        <option>\r
-          <name>OOCCommandLineProducer</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OOCObjCopyEnable</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>CUSTOM</name>\r
-      <archiveVersion>3</archiveVersion>\r
-      <data>\r
-        <extensions></extensions>\r
-        <cmdline></cmdline>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>BICOMP</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data/>\r
-    </settings>\r
-    <settings>\r
-      <name>BUILDACTION</name>\r
-      <archiveVersion>1</archiveVersion>\r
-      <data>\r
-        <prebuild></prebuild>\r
-        <postbuild></postbuild>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>ILINK</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data>\r
-        <version>8</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>IlinkLibIOConfig</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>XLinkMisraHandler</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkInputFileSlave</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkOutputFile</name>\r
-          <state>rtosdemo.out</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkDebugInfoEnable</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkKeepSymbols</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkRawBinaryFile</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkRawBinarySymbol</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkRawBinarySegment</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkRawBinaryAlign</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkDefines</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkConfigDefines</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkMapFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogInitialization</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogModule</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogSection</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogVeneer</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkIcfOverride</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkIcfFile</name>\r
-          <state>$PROJ_DIR$\resource\at91SAM7X256_FLASH.icf</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkIcfFileSlave</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkEnableRemarks</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkSuppressDiags</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkTreatAsRem</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkTreatAsWarn</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkTreatAsErr</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkWarningsAreErrors</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkUseExtraOptions</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkExtraOptions</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLowLevelInterfaceSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkAutoLibEnable</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkAdditionalLibs</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkOverrideProgramEntryLabel</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkProgramEntryLabelSelect</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkProgramEntryLabel</name>\r
-          <state>__iar_program_start</state>\r
-        </option>\r
-        <option>\r
-          <name>DoFill</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>FillerByte</name>\r
-          <state>0xFF</state>\r
-        </option>\r
-        <option>\r
-          <name>FillerStart</name>\r
-          <state>0x0</state>\r
-        </option>\r
-        <option>\r
-          <name>FillerEnd</name>\r
-          <state>0x0</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcSize</name>\r
-          <version>0</version>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcAlign</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcAlgo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcPoly</name>\r
-          <state>0x11021</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcCompl</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcBitOrder</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcInitialValue</name>\r
-          <state>0x0</state>\r
-        </option>\r
-        <option>\r
-          <name>DoCrc</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkBE8Slave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkBufferedTerminalOutput</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkStdoutInterfaceSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcFullSize</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkIElfToolPostProcess</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>IARCHIVE</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>1</debug>\r
-        <option>\r
-          <name>IarchiveInputs</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IarchiveOverride</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IarchiveOutput</name>\r
-          <state>###Unitialized###</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>BILINK</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data/>\r
-    </settings>\r
-  </configuration>\r
-  <configuration>\r
-    <name>Flash Release</name>\r
-    <toolchain>\r
-      <name>ARM</name>\r
-    </toolchain>\r
-    <debug>0</debug>\r
-    <settings>\r
-      <name>General</name>\r
-      <archiveVersion>3</archiveVersion>\r
-      <data>\r
-        <version>17</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>ExePath</name>\r
-          <state>Flash Release\Exe</state>\r
-        </option>\r
-        <option>\r
-          <name>ObjPath</name>\r
-          <state>Flash Release\Obj</state>\r
-        </option>\r
-        <option>\r
-          <name>ListPath</name>\r
-          <state>Flash Release\List</state>\r
-        </option>\r
-        <option>\r
-          <name>Variant</name>\r
-          <version>11</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GEndianMode</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>Input variant</name>\r
-          <version>1</version>\r
-          <state>3</state>\r
-        </option>\r
-        <option>\r
-          <name>Input description</name>\r
-          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\r
-        </option>\r
-        <option>\r
-          <name>Output variant</name>\r
-          <version>0</version>\r
-          <state>2</state>\r
-        </option>\r
-        <option>\r
-          <name>Output description</name>\r
-          <state>No specifier a, A, no specifier n, no float nor long long.</state>\r
-        </option>\r
-        <option>\r
-          <name>GOutputBinary</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>FPU</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OGCoreOrChip</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>GRuntimeLibSelect</name>\r
-          <version>0</version>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>GRuntimeLibSelectSlave</name>\r
-          <version>0</version>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>RTDescription</name>\r
-          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\r
-        </option>\r
-        <option>\r
-          <name>RTConfigPath</name>\r
-          <state>$TOOLKIT_DIR$\INC\DLib_Config_Normal.h</state>\r
-        </option>\r
-        <option>\r
-          <name>OGProductVersion</name>\r
-          <state>4.11A</state>\r
-        </option>\r
-        <option>\r
-          <name>OGLastSavedByProductVersion</name>\r
-          <state>5.11.0.50615</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralEnableMisra</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralMisraVerbose</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OGChipSelectEditMenu</name>\r
-          <state>AT91SAM7X256  Atmel AT91SAM7X256</state>\r
-        </option>\r
-        <option>\r
-          <name>GenLowLevelInterface</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GEndianModeBE</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OGBufferedTerminalOutput</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GenStdoutInterface</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralMisraRules98</name>\r
-          <version>0</version>\r
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralMisraVer</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>GeneralMisraRules04</name>\r
-          <version>0</version>\r
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>ICCARM</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>21</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>CCDefines</name>\r
-          <state>SAM7_IAR</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPreprocFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPreprocComments</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCPreprocLine</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListCFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListCMnemonics</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListCMessages</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListAssFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCListAssSource</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCEnableRemarks</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagSuppress</name>\r
-          <state>pe815, pe191, pa082, pe167, pa050</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagRemark</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagWarning</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagError</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCObjPrefix</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCAllowList</name>\r
-          <version>1</version>\r
-          <state>0111101</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDebugInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IEndianMode</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IExtraOptionsCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IExtraOptions</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CCLangConformance</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCSignedPlainChar</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCRequirePrototypes</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCMultibyteSupport</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCDiagWarnAreErr</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCCompilerRuntimeInfo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IFpuProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OutputFile</name>\r
-          <state>$FILE_BNAME$.o</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLangSelect</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCLibConfigHeader</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>PreInclude</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>CompilerMisraOverride</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCIncludePath2</name>\r
-          <state>$PROJ_DIR$\..\..\source\portable\iar\AtmelSAM7S64</state>\r
-          <state>$PROJ_DIR$\..\common\include</state>\r
-          <state>$PROJ_DIR$\..\..\source\include</state>\r
-          <state>$PROJ_DIR$\SrcIAR</state>\r
-          <state>$PROJ_DIR$</state>\r
-          <state>$PROJ_DIR$\uip</state>\r
-          <state>$PROJ_DIR$\emac</state>\r
-        </option>\r
-        <option>\r
-          <name>CCStdIncCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CCStdIncludePath</name>\r
-          <state>$TOOLKIT_DIR$\INC\</state>\r
-        </option>\r
-        <option>\r
-          <name>CCCodeSection</name>\r
-          <state>.text</state>\r
-        </option>\r
-        <option>\r
-          <name>IInterwork2</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IProcessorMode2</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CCOptLevel</name>\r
-          <state>3</state>\r
-        </option>\r
-        <option>\r
-          <name>CCOptStrategy</name>\r
-          <version>0</version>\r
-          <state>2</state>\r
-        </option>\r
-        <option>\r
-          <name>CCOptLevelSlave</name>\r
-          <state>3</state>\r
-        </option>\r
-        <option>\r
-          <name>CompilerMisraRules98</name>\r
-          <version>0</version>\r
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
-        </option>\r
-        <option>\r
-          <name>CompilerMisraRules04</name>\r
-          <version>0</version>\r
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>AARM</name>\r
-      <archiveVersion>2</archiveVersion>\r
-      <data>\r
-        <version>7</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>AObjPrefix</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AEndian</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>ACaseSensitivity</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>MacroChars</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnEnable</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnWhat</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnOne</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnRange1</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>AWarnRange2</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>ADebug</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AltRegisterNames</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>ADefines</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>AList</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AListHeader</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AListing</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>Includes</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MacDefs</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MacExps</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>MacExec</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OnlyAssed</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>MultiLine</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>PageLengthCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>PageLength</name>\r
-          <state>80</state>\r
-        </option>\r
-        <option>\r
-          <name>TabSpacing</name>\r
-          <state>8</state>\r
-        </option>\r
-        <option>\r
-          <name>AXRef</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AXRefDefines</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AXRefInternal</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AXRefDual</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AFpuProcessor</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>AOutputFile</name>\r
-          <state>$FILE_BNAME$.o</state>\r
-        </option>\r
-        <option>\r
-          <name>AMultibyteSupport</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>ALimitErrorsCheck</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>ALimitErrorsEdit</name>\r
-          <state>100</state>\r
-        </option>\r
-        <option>\r
-          <name>AIgnoreStdInclude</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AStdIncludes</name>\r
-          <state>$TOOLKIT_DIR$\INC\</state>\r
-        </option>\r
-        <option>\r
-          <name>AUserIncludes</name>\r
-          <state>$PROJ_DIR$\srciar\</state>\r
-          <state>$PROJ_DIR$\..\..\include\</state>\r
-          <state>$PROJ_DIR$\..\common\include</state>\r
-          <state>$PROJ_DIR$\..\..\Source\include</state>\r
-          <state>$PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64</state>\r
-        </option>\r
-        <option>\r
-          <name>AExtraOptionsCheckV2</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>AExtraOptionsV2</name>\r
-          <state></state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>OBJCOPY</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data>\r
-        <version>1</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>OOCOutputFormat</name>\r
-          <version>2</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OCOutputOverride</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>OOCOutputFile</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>OOCCommandLineProducer</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>OOCObjCopyEnable</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>CUSTOM</name>\r
-      <archiveVersion>3</archiveVersion>\r
-      <data>\r
-        <extensions></extensions>\r
-        <cmdline></cmdline>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>BICOMP</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data/>\r
-    </settings>\r
-    <settings>\r
-      <name>BUILDACTION</name>\r
-      <archiveVersion>1</archiveVersion>\r
-      <data>\r
-        <prebuild></prebuild>\r
-        <postbuild></postbuild>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>ILINK</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data>\r
-        <version>8</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>IlinkLibIOConfig</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>XLinkMisraHandler</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkInputFileSlave</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkOutputFile</name>\r
-          <state>rtosdemo.out</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkDebugInfoEnable</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkKeepSymbols</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkRawBinaryFile</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkRawBinarySymbol</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkRawBinarySegment</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkRawBinaryAlign</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkDefines</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkConfigDefines</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkMapFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogFile</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogInitialization</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogModule</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogSection</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLogVeneer</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkIcfOverride</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkIcfFile</name>\r
-          <state>$PROJ_DIR$\resource\at91SAM7X256_FLASH.icf</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkIcfFileSlave</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkEnableRemarks</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkSuppressDiags</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkTreatAsRem</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkTreatAsWarn</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkTreatAsErr</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkWarningsAreErrors</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkUseExtraOptions</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkExtraOptions</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkLowLevelInterfaceSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkAutoLibEnable</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkAdditionalLibs</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkOverrideProgramEntryLabel</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkProgramEntryLabelSelect</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkProgramEntryLabel</name>\r
-          <state>__iar_program_start</state>\r
-        </option>\r
-        <option>\r
-          <name>DoFill</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>FillerByte</name>\r
-          <state>0xFF</state>\r
-        </option>\r
-        <option>\r
-          <name>FillerStart</name>\r
-          <state>0x0</state>\r
-        </option>\r
-        <option>\r
-          <name>FillerEnd</name>\r
-          <state>0x0</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcSize</name>\r
-          <version>0</version>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcAlign</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcAlgo</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcPoly</name>\r
-          <state>0x11021</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcCompl</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcBitOrder</name>\r
-          <version>0</version>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcInitialValue</name>\r
-          <state>0x0</state>\r
-        </option>\r
-        <option>\r
-          <name>DoCrc</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkBE8Slave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkBufferedTerminalOutput</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkStdoutInterfaceSlave</name>\r
-          <state>1</state>\r
-        </option>\r
-        <option>\r
-          <name>CrcFullSize</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IlinkIElfToolPostProcess</name>\r
-          <state>0</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>IARCHIVE</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data>\r
-        <version>0</version>\r
-        <wantNonLocal>1</wantNonLocal>\r
-        <debug>0</debug>\r
-        <option>\r
-          <name>IarchiveInputs</name>\r
-          <state></state>\r
-        </option>\r
-        <option>\r
-          <name>IarchiveOverride</name>\r
-          <state>0</state>\r
-        </option>\r
-        <option>\r
-          <name>IarchiveOutput</name>\r
-          <state>###Unitialized###</state>\r
-        </option>\r
-      </data>\r
-    </settings>\r
-    <settings>\r
-      <name>BILINK</name>\r
-      <archiveVersion>0</archiveVersion>\r
-      <data/>\r
-    </settings>\r
-  </configuration>\r
-  <group>\r
-    <name>Demo Source</name>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\Common\Minimal\BlockQ.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\Common\Minimal\death.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\Common\Minimal\dynamic.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\EMAC\EMAClISR.s79</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\Common\Minimal\flash.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\Common\Minimal\flop.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\Common\Minimal\integer.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\main.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\ParTest\ParTest.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\EMAC\SAM7_EMAC.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\Common\Minimal\semtest.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\uIP_Task.c</name>\r
-    </file>\r
-  </group>\r
-  <group>\r
-    <name>FreeRTOS Source</name>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\..\Source\list.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\port.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\portasm.s79</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\..\Source\queue.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\..\..\Source\tasks.c</name>\r
-    </file>\r
-  </group>\r
-  <group>\r
-    <name>uIP Source</name>\r
-    <group>\r
-      <name>http</name>\r
-      <file>\r
-        <name>$PROJ_DIR$\uip\cgi.c</name>\r
-      </file>\r
-      <file>\r
-        <name>$PROJ_DIR$\uip\fs.c</name>\r
-      </file>\r
-      <file>\r
-        <name>$PROJ_DIR$\uip\httpd.c</name>\r
-      </file>\r
-    </group>\r
-    <file>\r
-      <name>$PROJ_DIR$\uip\uip.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\uip\uip_arch.c</name>\r
-    </file>\r
-    <file>\r
-      <name>$PROJ_DIR$\uip\uip_arp.c</name>\r
-    </file>\r
-  </group>\r
-  <file>\r
-    <name>$PROJ_DIR$\SrcIAR\Cstartup.s</name>\r
-  </file>\r
-  <file>\r
-    <name>$PROJ_DIR$\SrcIAR\Cstartup_SAM7.c</name>\r
-  </file>\r
-</project>\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/rtosdemo.eww b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/rtosdemo.eww
deleted file mode 100644 (file)
index 2294aac..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>\r
-\r
-<workspace>\r
-  <project>\r
-    <path>$WS_DIR$\rtosdemo.ewp</path>\r
-  </project>\r
-  <batchBuild/>\r
-</workspace>\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/Basic.dbgdt b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/Basic.dbgdt
deleted file mode 100644 (file)
index 5085f2c..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>\r
-\r
-<Project>\r
-  <Desktop>\r
-    <Static>\r
-      <Workspace>\r
-        <ColumnWidths>\r
-          \r
-          \r
-          \r
-        <Column0>189</Column0><Column1>27</Column1><Column2>27</Column2></ColumnWidths>\r
-      </Workspace>\r
-      <Disassembly>\r
-        \r
-        \r
-        \r
-      <PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><MixedMode>1</MixedMode><CodeCovEnabled>0</CodeCovEnabled><CodeCovShow>0</CodeCovShow></Disassembly>\r
-      <Debug-Log/>\r
-      <Build/>\r
-    <Register><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Register><QWatch><Column0>188</Column0><Column1>171</Column1><Column2>100</Column2><Column3>100</Column3></QWatch><Memory><ZoneNumber>0</ZoneNumber><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory><Watch><Format><struct_types/><watch_formats/></Format></Watch></Static>\r
-    <Windows>\r
-      <Wnd0>\r
-        <Tabs>\r
-          <Tab>\r
-            <Identity>TabID-23416-30482</Identity>\r
-            <TabName>Workspace</TabName>\r
-            <Factory>Workspace</Factory>\r
-            <Session>\r
-              \r
-            <NodeDict><ExpandedNode>rtosdemo</ExpandedNode></NodeDict></Session>\r
-          </Tab>\r
-        </Tabs>\r
-        \r
-      <SelectedTab>0</SelectedTab></Wnd0>\r
-      \r
-      <Wnd2>\r
-        <Tabs>\r
-          <Tab>\r
-            <Identity>TabID-12145-30489</Identity>\r
-            <TabName>Debug Log</TabName>\r
-            <Factory>Debug-Log</Factory>\r
-            <Session/>\r
-          </Tab>\r
-          <Tab>\r
-            <Identity>TabID-22894-30492</Identity>\r
-            <TabName>Build</TabName>\r
-            <Factory>Build</Factory>\r
-            <Session/>\r
-          </Tab>\r
-        </Tabs>\r
-        \r
-      <SelectedTab>1</SelectedTab></Wnd2>\r
-    <Wnd4><Tabs><Tab><Identity>TabID-18780-12821</Identity><TabName>Memory</TabName><Factory>Memory</Factory><Session><SelectionAnchor>2097764</SelectionAnchor><SelectionEnd>2097764</SelectionEnd><UnitsPerGroup>1</UnitsPerGroup><EndianMode>0</EndianMode><DataCovEnabled>0</DataCovEnabled><DataCovShown>0</DataCovShown></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-23506-14575</Identity><TabName>Watch</TabName><Factory>Watch</Factory><Session><Expressions><Expression><Expression>pxCurrentTCB</Expression></Expression><Expression><Expression>ulCriticalNesting</Expression></Expression></Expressions><TabId>0</TabId><Column0>176</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5><Wnd1><Tabs><Tab><Identity>TabID-4859-22480</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1><Wnd3><Tabs><Tab><Identity>TabID-154-22568</Identity><TabName>Register</TabName><Factory>Register</Factory><Session><REG1>0</REG1><REG2>0</REG2><Group>0</Group><States>1</States><State0>CPSR</State0></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>\r
-    <Editor>\r
-      \r
-      \r
-      \r
-      \r
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_Ateml_IAR\main.c</Filename><XPos>0</XPos><YPos>10</YPos><SelStart>378</SelStart><SelEnd>378</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\source\include\task.h</Filename><XPos>0</XPos><YPos>778</YPos><SelStart>24283</SelStart><SelEnd>24283</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\tasks.c</Filename><XPos>0</XPos><YPos>939</YPos><SelStart>30511</SelStart><SelEnd>30511</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_Ateml_IAR\SrcIAR\Cstartup.s79</Filename><XPos>0</XPos><YPos>48</YPos><SelStart>2226</SelStart><SelEnd>2226</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\Common\Minimal\flash.c</Filename><XPos>0</XPos><YPos>98</YPos><SelStart>4025</SelStart><SelEnd>4025</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7\portasm.s79</Filename><XPos>0</XPos><YPos>41</YPos><SelStart>1057</SelStart><SelEnd>1079</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_Ateml_IAR\srciar\lib_AT91SAM7S64.h</Filename><XPos>0</XPos><YPos>2778</YPos><SelStart>108450</SelStart><SelEnd>108450</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7\port.c</Filename><XPos>0</XPos><YPos>136</YPos><SelStart>5326</SelStart><SelEnd>5326</SelEnd></Tab><ActiveTab>7</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_Ateml_IAR\ParTest\ParTest.c</Filename><XPos>0</XPos><YPos>36</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7\portmacro.h</Filename><XPos>0</XPos><YPos>67</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
-    <Positions>\r
-      \r
-      \r
-      \r
-      \r
-      \r
-    <Top><Row0><Sizes><Toolbar-0084f8a0><key>IarIdePM1</key></Toolbar-0084f8a0></Sizes></Row0><Row1><Sizes><Toolbar-031ef990><key>DebuggerGui1</key></Toolbar-031ef990></Sizes></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>715</Bottom><Right>263</Right><x>-2</x><y>-2</y><xscreen>153</xscreen><yscreen>153</yscreen><sizeHorzCX>95625</sizeHorzCX><sizeHorzCY>136729</sizeHorzCY><sizeVertCX>165625</sizeVertCX><sizeVertCY>640750</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>715</Bottom><Right>647</Right><x>-2</x><y>-2</y><xscreen>190</xscreen><yscreen>190</yscreen><sizeHorzCX>118750</sizeHorzCX><sizeHorzCY>169794</sizeHorzCY><sizeVertCX>405625</sizeVertCX><sizeVertCY>640750</sizeVertCY></Rect></Wnd1></Sizes></Row0><Row1><Sizes><Wnd3><Rect><Top>-2</Top><Left>645</Left><Bottom>715</Bottom><Right>1025</Right><x>645</x><y>-2</y><xscreen>190</xscreen><yscreen>190</yscreen><sizeHorzCX>118750</sizeHorzCX><sizeHorzCY>169794</sizeHorzCY><sizeVertCX>237500</sizeVertCX><sizeVertCY>640750</sizeVertCY></Rect></Wnd3></Sizes></Row1></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>151</Bottom><Right>1602</Right><x>-2</x><y>-2</y><xscreen>1604</xscreen><yscreen>153</yscreen><sizeHorzCX>1002500</sizeHorzCX><sizeHorzCY>136729</sizeHorzCY><sizeVertCX>95625</sizeVertCX><sizeVertCY>136729</sizeVertCY></Rect></Wnd2></Sizes></Row0><Row1><Sizes><Wnd4><Rect><Top>149</Top><Left>-2</Left><Bottom>333</Bottom><Right>669</Right><x>-2</x><y>149</y><xscreen>671</xscreen><yscreen>184</yscreen><sizeHorzCX>419375</sizeHorzCX><sizeHorzCY>164432</sizeHorzCY><sizeVertCX>114375</sizeVertCX><sizeVertCY>163538</sizeVertCY></Rect></Wnd4><Wnd5><Rect><Top>149</Top><Left>667</Left><Bottom>333</Bottom><Right>1602</Right><x>667</x><y>149</y><xscreen>935</xscreen><yscreen>184</yscreen><sizeHorzCX>584375</sizeHorzCX><sizeHorzCY>164432</sizeHorzCY><sizeVertCX>115000</sizeVertCX><sizeVertCY>598748</sizeVertCY></Rect></Wnd5></Sizes></Row1></Bot\r
-tom><Float><Sizes/></Float></Positions>\r
-  </Desktop>\r
-</Project>\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/Basic.dni b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/Basic.dni
deleted file mode 100644 (file)
index 9b68f65..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-[DisAssemblyWindow]\r
-NumStates=_ 1\r
-State 1=_ 1\r
-[JLinkDriver]\r
-WatchVectorCatch=_ 0\r
-WatchCond=_ 0\r
-Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0\r
-Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0\r
-[Log file]\r
-LoggingEnabled=_ 0\r
-LogFile=_ ""\r
-Category=_ 0\r
-[TermIOLog]\r
-LoggingEnabled=_ 0\r
-LogFile=_ ""\r
-[Disassemble mode]\r
-mode=0\r
-[Breakpoints]\r
-Bp0=_ "Code" "{E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7\port.c}.141.1@1" 1 0 0 0 "" 0 ""\r
-Count=1\r
-[Low Level]\r
-Pipeline mode=0\r
-Initialized=0\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/BasicSAM7.wsdt b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/BasicSAM7.wsdt
deleted file mode 100644 (file)
index 2ce5c4b..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>\r
-\r
-<Workspace>\r
-  <ConfigDictionary>\r
-    \r
-  <CurrentConfigs><Project>rtosdemo/Flash Debug</Project></CurrentConfigs></ConfigDictionary>\r
-  <Desktop>\r
-    <Static>\r
-      <Workspace>\r
-        <ColumnWidths>\r
-          \r
-          \r
-          \r
-        <Column0>232</Column0><Column1>27</Column1><Column2>27</Column2></ColumnWidths>\r
-      </Workspace>\r
-      <Build/>\r
-      <TerminalIO/>\r
-      <Profiling/>\r
-      <Watch>\r
-        <Format>\r
-          <struct_types/>\r
-          <watch_formats/>\r
-        </Format>\r
-      </Watch>\r
-      <Debug-Log/>\r
-      <Disassembly>\r
-        \r
-        \r
-        \r
-      <MixedMode>1</MixedMode><CodeCovEnabled>0</CodeCovEnabled><CodeCovShow>0</CodeCovShow></Disassembly>\r
-    <CodeCoveragePlugin/><Memory><ZoneNumber>0</ZoneNumber><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory></Static>\r
-    <Windows>\r
-      \r
-      \r
-    <Wnd6>\r
-        <Tabs>\r
-          <Tab>\r
-            <Identity>TabID-29690-30365</Identity>\r
-            <TabName>Workspace</TabName>\r
-            <Factory>Workspace</Factory>\r
-            <Session>\r
-              \r
-            <NodeDict><ExpandedNode>rtosdemo</ExpandedNode></NodeDict></Session>\r
-          </Tab>\r
-        </Tabs>\r
-        \r
-      <SelectedTab>0</SelectedTab></Wnd6><Wnd7>\r
-        <Tabs>\r
-          <Tab>\r
-            <Identity>TabID-27076-30414</Identity>\r
-            <TabName>Build</TabName>\r
-            <Factory>Build</Factory>\r
-            <Session/>\r
-          </Tab>\r
-          <Tab>\r
-            <Identity>TabID-12668-30479</Identity>\r
-            <TabName>Debug Log</TabName>\r
-            <Factory>Debug-Log</Factory>\r
-            <Session/>\r
-          </Tab>\r
-        </Tabs>\r
-        \r
-      <SelectedTab>1</SelectedTab></Wnd7></Windows>\r
-    <Editor>\r
-      \r
-      \r
-      \r
-      \r
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\source\include\task.h</Filename><XPos>0</XPos><YPos>778</YPos><SelStart>24283</SelStart><SelEnd>24283</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7\portasm.s79</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>2583</SelStart><SelEnd>2583</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_Ateml_IAR\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_Ateml_IAR\SrcIAR\Cstartup.s79</Filename><XPos>0</XPos><YPos>30</YPos><SelStart>2226</SelStart><SelEnd>2226</SelEnd></Tab><ActiveTab>3</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_Ateml_IAR\srciar\lib_AT91SAM7S64.h</Filename><XPos>0</XPos><YPos>2371</YPos><SelStart>92638</SelStart><SelEnd>92638</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\Common\Minimal\flash.c</Filename><XPos>0</XPos><YPos>98</YPos><SelStart>4025</SelStart><SelEnd>4025</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7\port.c</Filename><XPos>0</XPos><YPos>177</YPos><SelStart>7662</SelStart><SelEnd>7662</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_Ateml_IAR\ParTest\ParTest.c</Filename><XPos>0</XPos><YPos>36</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7\portmacro.h</Filename><XPos>0</XPos><YPos>21</YPos><SelStart>2110</SelStart><SelEnd>2110</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Demo\ARM7_Ateml_IAR\SrcIAR\Cstartup_SAM7.c</Filename><XPos>0</XPos><YPos>29</YPos><SelStart>3116</SelStart><SelEnd>3116</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\portable\MemMang\heap_2.c</Filename><XPos>0</XPos><YPos>170</YPos><SelStart>7352</SelStart><SelEnd>7352</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>E:\Dev\FreeRTOS\Source\tasks.c</Filename><XPos>0</XPos><YPos>1270</YPos><SelStart>40884</SelStart><SelEnd>40884</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
-    <Positions>\r
-      \r
-      \r
-      \r
-      \r
-      \r
-    <Top><Row0><Sizes><Toolbar-0084f7c0><key>IarIdePM1</key></Toolbar-0084f7c0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd6><Rect><Top>-2</Top><Left>-2</Left><Bottom>866</Bottom><Right>306</Right><x>-2</x><y>-2</y><xscreen>48</xscreen><yscreen>48</yscreen><sizeHorzCX>30000</sizeHorzCX><sizeHorzCY>42895</sizeHorzCY><sizeVertCX>192500</sizeVertCX><sizeVertCY>775692</sizeVertCY></Rect></Wnd6></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd7><Rect><Top>-2</Top><Left>-2</Left><Bottom>206</Bottom><Right>1602</Right><x>-2</x><y>-2</y><xscreen>1604</xscreen><yscreen>208</yscreen><sizeHorzCX>1002500</sizeHorzCX><sizeHorzCY>185880</sizeHorzCY><sizeVertCX>30000</sizeVertCX><sizeVertCY>42895</sizeVertCY></Rect></Wnd7></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
-  </Desktop>\r
-</Workspace>\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/rtosdemo.dbgdt b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/rtosdemo.dbgdt
deleted file mode 100644 (file)
index 12f11d4..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>\r
-\r
-<Project>\r
-  <Desktop>\r
-    <Static>\r
-      <Workspace>\r
-        <ColumnWidths>\r
-          \r
-          \r
-          \r
-        <Column0>240</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
-      </Workspace>\r
-      <Disassembly>\r
-        \r
-        \r
-        \r
-      <PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><CodeCovEnabled>0</CodeCovEnabled><MixedMode>1</MixedMode><CodeCovShow>0</CodeCovShow><InstrProfShow>0</InstrProfShow></Disassembly>\r
-      <Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1622</ColumnWidth1></Debug-Log>\r
-      <Build><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window></Windows></PreferedWindows></Build>\r
-      <Register>\r
-        <PreferedWindows>\r
-          \r
-          \r
-          \r
-          \r
-        <Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows>\r
-      </Register>\r
-    <QWatch><Column0>161</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></QWatch><Memory><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><ZoneNumber>0</ZoneNumber><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory><Breakpoints/><Watch><Format><struct_types/><watch_formats><Fmt><Key>{W}Watch-0:TxBuffIndex</Key><Value>4</Value></Fmt></watch_formats></Format><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><Column0>185</Column0><Column1>316</Column1><Column2>100</Column2><Column3>195</Column3></Watch><QuickWatch><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><Column0>140</Column0><Column1>104</Column1><Column2>100</Column2><Column3>100</Column3></QuickWatch><Find-in-Files><ColumnWidth0>482</ColumnWidth0><ColumnWidth1>68</ColumnWidth1><ColumnWidth2>826</ColumnWidth2></Find-in-Files></Static>\r
-    <Windows>\r
-      \r
-      \r
-      \r
-    <Wnd0>\r
-        <Tabs>\r
-          <Tab>\r
-            <Identity>TabID-22256-14845</Identity>\r
-            <TabName>Workspace</TabName>\r
-            <Factory>Workspace</Factory>\r
-            <Session>\r
-              \r
-            <NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/Demo Source</ExpandedNode><ExpandedNode>rtosdemo/Demo Source/EMAClISR.s79</ExpandedNode><ExpandedNode>rtosdemo/FreeRTOS Source</ExpandedNode><ExpandedNode>rtosdemo/FreeRTOS Source/portasm.s79</ExpandedNode><ExpandedNode>rtosdemo/USBSample.c</ExpandedNode><ExpandedNode>rtosdemo/uIP Source</ExpandedNode><ExpandedNode>rtosdemo/uIP Source/Atmel Code</ExpandedNode><ExpandedNode>rtosdemo/uIP Source/fs.c</ExpandedNode></NodeDict></Session>\r
-          </Tab>\r
-        </Tabs>\r
-        \r
-      <SelectedTab>0</SelectedTab></Wnd0><Wnd3><Tabs><Tab><Identity>TabID-25021-10902</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory><Session/></Tab><Tab><Identity>TabID-2772-9628</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd3><Wnd4><Tabs><Tab><Identity>TabID-29748-16361</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd4></Windows>\r
-    <Editor>\r
-      \r
-      \r
-      \r
-      \r
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy\Demo\uIP_Demo_IAR_ARM7\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\rc\1\FreeRTOS\Demo\uIP_Demo_IAR_ARM7\SrcIAR\Cstartup.s</Filename><XPos>0</XPos><YPos>217</YPos><SelStart>8773</SelStart><SelEnd>8773</SelEnd></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
-    <Positions>\r
-      \r
-      \r
-      \r
-      \r
-      \r
-    <Top><Row0><Sizes><Toolbar-00abb198><key>iaridepm.enu1</key></Toolbar-00abb198><Toolbar-0558c218><key>debuggergui.enu1</key></Toolbar-0558c218></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>598</Bottom><Right>330</Right><x>-2</x><y>-2</y><xscreen>0</xscreen><yscreen>0</yscreen><sizeHorzCX>0</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>197619</sizeVertCX><sizeVertCY>610998</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>167</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>169</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>172098</sizeHorzCY><sizeVertCX>0</sizeVertCX><sizeVertCY>0</sizeVertCY></Rect></Wnd3></Sizes></Row0><Row1><Sizes><Wnd4><Rect><Top>165</Top><Left>-2</Left><Bottom>340</Bottom><Right>1682</Right><x>-2</x><y>165</y><xscreen>1684</xscreen><yscreen>175</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>178208</sizeHorzCY><sizeVertCX>124405</sizeVertCX><sizeVertCY>178208</sizeVertCY></Rect></Wnd4></Sizes></Row1></Bottom><Float><Sizes/></Float></Positions>\r
-  </Desktop>\r
-</Project>\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/rtosdemo.dni b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/rtosdemo.dni
deleted file mode 100644 (file)
index 62e8f98..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-[DisAssemblyWindow]\r
-NumStates=_ 1\r
-State 1=_ 1\r
-[JLinkDriver]\r
-WatchVectorCatch=_ 0\r
-WatchCond=_ 0\r
-Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0\r
-Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0\r
-[Low Level]\r
-Pipeline mode=1\r
-Initialized=0\r
-[CodeCoverage]\r
-Enabled=_ 0\r
-[Profiling]\r
-Enabled=0\r
-[StackPlugin]\r
-Enabled=1\r
-OverflowWarningsEnabled=1\r
-WarningThreshold=90\r
-SpWarningsEnabled=1\r
-WarnHow=0\r
-UseTrigger=1\r
-TriggerName=main\r
-LimitSize=0\r
-ByteLimit=50\r
-[TraceHelper]\r
-Enabled=0\r
-ShowSource=1\r
-[DebugChecksum]\r
-Checksum=447895738\r
-[InstructionProfiling]\r
-Enabled=_ 0\r
-[Log file]\r
-LoggingEnabled=_ 0\r
-LogFile=_ ""\r
-Category=_ 0\r
-[TermIOLog]\r
-LoggingEnabled=_ 0\r
-LogFile=_ ""\r
-[DriverProfiling]\r
-Enabled=0\r
-Source=2\r
-Graph=0\r
-[Disassemble mode]\r
-mode=0\r
-[Breakpoints]\r
-Count=0\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/rtosdemo.wsdt b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/settings/rtosdemo.wsdt
deleted file mode 100644 (file)
index f779891..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>\r
-\r
-<Workspace>\r
-  <ConfigDictionary>\r
-    \r
-  <CurrentConfigs><Project>rtosdemo/Flash Debug</Project></CurrentConfigs></ConfigDictionary>\r
-  <Desktop>\r
-    <Static>\r
-      <Workspace>\r
-        <ColumnWidths>\r
-          \r
-          \r
-          \r
-        <Column0>288</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>\r
-      </Workspace>\r
-      <Build><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>1155</ColumnWidth1><ColumnWidth2>308</ColumnWidth2><ColumnWidth3>77</ColumnWidth3></Build>\r
-      <Debug-Log><ColumnWidth0>22</ColumnWidth0><ColumnWidth1>1620</ColumnWidth1></Debug-Log>\r
-      <TerminalIO/>\r
-      <CodeCoveragePlugin/>\r
-      <Profiling/>\r
-      <Watch>\r
-        <Format>\r
-          <struct_types/>\r
-          <watch_formats/>\r
-        </Format>\r
-      </Watch>\r
-    <Disassembly><CodeCovEnabled>0</CodeCovEnabled><MixedMode>1</MixedMode><CodeCovShow>0</CodeCovShow><InstrProfShow>0</InstrProfShow></Disassembly><Memory><ZoneNumber>0</ZoneNumber><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory><Breakpoints/><Find-in-Files><ColumnWidth0>552</ColumnWidth0><ColumnWidth1>78</ColumnWidth1><ColumnWidth2>946</ColumnWidth2></Find-in-Files></Static>\r
-    <Windows>\r
-      \r
-      \r
-    <Wnd1>\r
-        <Tabs>\r
-          <Tab>\r
-            <Identity>TabID-17425-14382</Identity>\r
-            <TabName>Workspace</TabName>\r
-            <Factory>Workspace</Factory>\r
-            <Session>\r
-              \r
-            <NodeDict><ExpandedNode>rtosdemo</ExpandedNode></NodeDict></Session>\r
-          </Tab>\r
-        </Tabs>\r
-        \r
-      <SelectedTab>0</SelectedTab></Wnd1><Wnd3>\r
-        <Tabs>\r
-          <Tab>\r
-            <Identity>TabID-4084-16269</Identity>\r
-            <TabName>Build</TabName>\r
-            <Factory>Build</Factory>\r
-            <Session/>\r
-          </Tab>\r
-          \r
-        <Tab><Identity>TabID-23097-10324</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-27351-12303</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory><Session/></Tab><Tab><Identity>TabID-28796-16277</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs>\r
-        \r
-      <SelectedTab>0</SelectedTab></Wnd3></Windows>\r
-    <Editor>\r
-      \r
-      \r
-      \r
-      \r
-    <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\rc\1\FreeRTOS\Demo\uIP_Demo_IAR_ARM7\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>\r
-    <Positions>\r
-      \r
-      \r
-      \r
-      \r
-      \r
-    <Top><Row0><Sizes><Toolbar-00abb198><key>iaridepm.enu1</key></Toolbar-00abb198></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>774</Bottom><Right>362</Right><x>-2</x><y>-2</y><xscreen>0</xscreen><yscreen>0</yscreen><sizeHorzCX>0</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>216667</sizeVertCX><sizeVertCY>790224</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>164</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>166</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>169043</sizeHorzCY><sizeVertCX>0</sizeVertCX><sizeVertCY>0</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>\r
-  </Desktop>\r
-</Workspace>\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uIP_Task.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uIP_Task.c
deleted file mode 100644 (file)
index ddb648e..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-/*\r
- * Modified from an original work that is Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: main.c,v 1.10.2.4 2003/10/21 21:27:51 adam Exp $\r
- *\r
- */\r
-\r
-/* Standard includes. */\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "semphr.h"\r
-#include "task.h"\r
-\r
-/* Demo app includes. */\r
-#include "SAM7_EMAC.h"\r
-\r
-/* uIP includes. */\r
-#undef HTONS\r
-#include "uip.h"\r
-#include "uip_arp.h"\r
-#include "tapdev.h"\r
-#include "httpd.h"\r
-\r
-/* The start of the uIP buffer, which will contain the frame headers. */\r
-#define pucUIP_Buffer ( ( struct uip_eth_hdr * ) &uip_buf[ 0 ] )\r
-\r
-/* uIP update frequencies. */\r
-#define RT_CLOCK_SECOND                ( configTICK_RATE_HZ  )\r
-#define uipARP_FREQUENCY       ( 20 )\r
-#define uipMAX_BLOCK_TIME      ( RT_CLOCK_SECOND / 4 )\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-void vuIP_TASK( void *pvParameters )\r
-{\r
-/* The semaphore used by the EMAC ISR to indicate that an Rx frame is ready\r
-for processing. */\r
-SemaphoreHandle_t xSemaphore = NULL;\r
-portBASE_TYPE xARPTimer;\r
-unsigned portBASE_TYPE uxPriority;\r
-static volatile TickType_t xStartTime, xCurrentTime;\r
-\r
-       /* Initialize the uIP TCP/IP stack. */\r
-       uip_init();\r
-       uip_arp_init();\r
-       \r
-       /* Initialize the HTTP server. */\r
-       httpd_init();\r
-\r
-       /* Initialise the local timers. */\r
-       xStartTime = xTaskGetTickCount();\r
-       xARPTimer = 0;\r
-\r
-       /* Initialise the EMAC.  A semaphore will be returned when this is\r
-       successful. This routine contains code that polls status bits.  If the\r
-       Ethernet cable is not plugged in then this can take a considerable time.\r
-       To prevent this starving lower priority tasks of processing time we\r
-       lower our priority prior to the call, then raise it back again once the\r
-       initialisation is complete. */\r
-       uxPriority = uxTaskPriorityGet( NULL );\r
-       vTaskPrioritySet( NULL, tskIDLE_PRIORITY );\r
-       while( xSemaphore == NULL )\r
-       {\r
-               xSemaphore = xEMACInit();\r
-       }\r
-       vTaskPrioritySet( NULL, uxPriority );\r
-\r
-       for( ;; )\r
-       {\r
-               /* Let the network device driver read an entire IP packet\r
-               into the uip_buf. If it returns > 0, there is a packet in the\r
-               uip_buf buffer. */\r
-               uip_len = ulEMACPoll();\r
-\r
-               /* Was a packet placed in the uIP buffer? */\r
-               if( uip_len > 0 )\r
-               {\r
-                       /* A packet is present in the uIP buffer. We call the\r
-                       appropriate ARP functions depending on what kind of packet we\r
-                       have received. If the packet is an IP packet, we should call\r
-                       uip_input() as well. */\r
-                       if( pucUIP_Buffer->type == htons( UIP_ETHTYPE_IP ) )\r
-                       {\r
-                               uip_arp_ipin();\r
-                               uip_input();\r
-\r
-                               /* If the above function invocation resulted in data that\r
-                               should be sent out on the network, the global variable\r
-                               uip_len is set to a value > 0. */\r
-                               if( uip_len > 0 )\r
-                               {\r
-                                       uip_arp_out();\r
-                                       lEMACSend();\r
-                               }\r
-                       }\r
-                       else if( pucUIP_Buffer->type == htons( UIP_ETHTYPE_ARP ) )\r
-                       {\r
-                               uip_arp_arpin();\r
-\r
-                               /* If the above function invocation resulted in data that\r
-                               should be sent out on the network, the global variable\r
-                               uip_len is set to a value > 0. */       \r
-                               if( uip_len > 0 )\r
-                               {       \r
-                                       lEMACSend();\r
-                               }\r
-                       }\r
-               }\r
-               else\r
-               {\r
-                       /* The poll function returned 0, so no packet was\r
-                       received. Instead we check if it is time that we do the\r
-                       periodic processing. */\r
-                       xCurrentTime = xTaskGetTickCount();\r
-\r
-                       if( ( xCurrentTime - xStartTime ) >= RT_CLOCK_SECOND )\r
-                       {\r
-                               portBASE_TYPE i;\r
-\r
-                               /* Reset the timer. */\r
-                               xStartTime = xCurrentTime;\r
-\r
-                               /* Periodic check of all connections. */\r
-                               for( i = 0; i < UIP_CONNS; i++ )\r
-                               {\r
-                                       uip_periodic( i );\r
-\r
-                                       /* If the above function invocation resulted in data that\r
-                                       should be sent out on the network, the global variable\r
-                                       uip_len is set to a value > 0. */                                       \r
-                                       if( uip_len > 0 )\r
-                                       {\r
-                                               uip_arp_out();\r
-                                               lEMACSend();\r
-                                       }\r
-                               }\r
-\r
-                               #if UIP_UDP\r
-                                       for( i = 0; i < UIP_UDP_CONNS; i++ )\r
-                                       {\r
-                                               uip_udp_periodic( i );\r
-\r
-                                               /* If the above function invocation resulted in data that\r
-                                               should be sent out on the network, the global variable\r
-                                               uip_len is set to a value > 0. */\r
-                                               if( uip_len > 0 )\r
-                                               {\r
-                                                       uip_arp_out();\r
-                                                       tapdev_send();\r
-                                               }\r
-                                       }\r
-                               #endif /* UIP_UDP */\r
-\r
-                               /* Periodically call the ARP timer function. */\r
-                               if( ++xARPTimer == uipARP_FREQUENCY )\r
-                               {       \r
-                                       uip_arp_timer();\r
-                                       xARPTimer = 0;\r
-                               }\r
-                       }\r
-                       else\r
-                       {                               \r
-                               /* We did not receive a packet, and there was no periodic\r
-                               processing to perform.  Block for a fixed period.  If a packet\r
-                               is received during this period we will be woken by the ISR\r
-                               giving us the Semaphore. */\r
-                               xSemaphoreTake( xSemaphore, uipMAX_BLOCK_TIME );\r
-                       }\r
-               }\r
-       }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-\r
-\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uIP_Task.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uIP_Task.h
deleted file mode 100644 (file)
index aae424b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef UIP_TASK_H\r
-#define UIP_TASK_H\r
-\r
-/* The task that handles all uIP data. */\r
-void vuIP_TASK( void *pvParameters );\r
-\r
-#endif\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/Makefile b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/Makefile
deleted file mode 100644 (file)
index 61d3a06..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright (c) 2001, Adam Dunkels.\r
-# All rights reserved. \r
-#\r
-# Redistribution and use in source and binary forms, with or without \r
-# modification, are permitted provided that the following conditions \r
-# are met: \r
-# 1. Redistributions of source code must retain the above copyright \r
-#    notice, this list of conditions and the following disclaimer. \r
-# 2. Redistributions in binary form must reproduce the above copyright \r
-#    notice, this list of conditions and the following disclaimer in the \r
-#    documentation and/or other materials provided with the distribution. \r
-# 3. All advertising materials mentioning features or use of this software\r
-#    must display the following acknowledgement:\r
-#      This product includes software developed by Adam Dunkels.\r
-# 4. The name of the author may not be used to endorse or promote\r
-#    products derived from this software without specific prior\r
-#    written permission.  \r
-#\r
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
-# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
-# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
-# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
-#\r
-# This file is part of the uIP TCP/IP stack.\r
-#\r
-# $Id: Makefile,v 1.8.2.2 2003/10/04 22:54:17 adam Exp $\r
-#\r
-\r
-CC=gcc\r
-CFLAGS=-Wall -g -I../uip -I. -I../apps/httpd -I../apps/resolv -I../apps/webclient -I../apps/smtp  -I../apps/telnet -fpack-struct\r
-\r
-%.o:\r
-       $(CC) $(CFLAGS) -c $(<:.o=.c)\r
-\r
-\r
-uip: uip.o uip_arch.o tapdev.o httpd.o main.o fs.o uip_arp.o cgi.o \r
-\r
-tapdev.o: tapdev.c uipopt.h\r
-main.o: main.c ../uip/uip.h uipopt.h ../apps/httpd/httpd.h \\r
- tapdev.h\r
-uip_arch.o: uip_arch.c ../uip/uip_arch.h ../uip/uip.h uipopt.h \\r
- ../apps/httpd/httpd.h \r
-uip.o: ../uip/uip.c ../uip/uip.h uipopt.h ../apps/httpd/httpd.h \r
-\r
-uip_arp.o: ../uip/uip_arp.c ../uip/uip_arp.h ../uip/uip.h uipopt.h \\r
- ../apps/httpd/httpd.h\r
-       $(CC) -o uip_arp.o $(CFLAGS) -fpack-struct -c ../uip/uip_arp.c\r
-\r
-\r
-cgi.o: ../apps/httpd/cgi.c ../uip/uip.h uipopt.h ../apps/smtp/smtp.h \\r
- ../apps/httpd/cgi.h ../apps/httpd/httpd.h ../apps/httpd/fs.h\r
-fs.o: ../apps/httpd/fs.c ../uip/uip.h uipopt.h ../apps/smtp/smtp.h \\r
- ../apps/httpd/httpd.h ../apps/httpd/fs.h ../apps/httpd/fsdata.h \\r
- ../apps/httpd/fsdata.c\r
-fsdata.o: ../apps/httpd/fsdata.c\r
-httpd.o: ../apps/httpd/httpd.c ../uip/uip.h uipopt.h \\r
- ../apps/smtp/smtp.h ../apps/httpd/httpd.h ../apps/httpd/fs.h \\r
- ../apps/httpd/fsdata.h ../apps/httpd/cgi.h\r
-\r
-clean:\r
-       rm -f *.o *~ *core uip\r
-\r
-\r
-\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/cgi.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/cgi.c
deleted file mode 100644 (file)
index 748cc1b..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP server script language C functions file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- * This file contains functions that are called by the web server\r
- * scripts. The functions takes one argument, and the return value is\r
- * interpreted as follows. A zero means that the function did not\r
- * complete and should be invoked for the next packet as well. A\r
- * non-zero value indicates that the function has completed and that\r
- * the web server should move along to the next script line.\r
- *\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: cgi.c,v 1.23.2.4 2003/10/07 13:22:27 adam Exp $\r
- *\r
- */\r
-\r
-#include "uip.h"\r
-#include "cgi.h"\r
-#include "httpd.h"\r
-#include "fs.h"\r
-\r
-#include <stdio.h>\r
-#include <string.h>\r
-\r
-static u8_t print_stats(u8_t next);\r
-static u8_t file_stats(u8_t next);\r
-static u8_t tcp_stats(u8_t next);\r
-static u8_t rtos_stats(u8_t next);\r
-\r
-cgifunction cgitab[] = {\r
-  print_stats,   /* CGI function "a" */\r
-  file_stats,    /* CGI function "b" */\r
-  tcp_stats,      /* CGI function "c" */\r
-  rtos_stats   /* CGI function "d" */\r
-};\r
-\r
-static const char closed[] =   /*  "CLOSED",*/\r
-{0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0};\r
-static const char syn_rcvd[] = /*  "SYN-RCVD",*/\r
-{0x53, 0x59, 0x4e, 0x2d, 0x52, 0x43, 0x56,\r
- 0x44,  0};\r
-static const char syn_sent[] = /*  "SYN-SENT",*/\r
-{0x53, 0x59, 0x4e, 0x2d, 0x53, 0x45, 0x4e,\r
- 0x54,  0};\r
-static const char established[] = /*  "ESTABLISHED",*/\r
-{0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48,\r
- 0x45, 0x44, 0};\r
-static const char fin_wait_1[] = /*  "FIN-WAIT-1",*/\r
-{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49,\r
- 0x54, 0x2d, 0x31, 0};\r
-static const char fin_wait_2[] = /*  "FIN-WAIT-2",*/\r
-{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49,\r
- 0x54, 0x2d, 0x32, 0};\r
-static const char closing[] = /*  "CLOSING",*/\r
-{0x43, 0x4c, 0x4f, 0x53, 0x49,\r
- 0x4e, 0x47, 0};\r
-static const char time_wait[] = /*  "TIME-WAIT,"*/\r
-{0x54, 0x49, 0x4d, 0x45, 0x2d, 0x57, 0x41,\r
- 0x49, 0x54, 0};\r
-static const char last_ack[] = /*  "LAST-ACK"*/\r
-{0x4c, 0x41, 0x53, 0x54, 0x2d, 0x41, 0x43,\r
- 0x4b, 0};\r
-\r
-static const char *states[] = {\r
-  closed,\r
-  syn_rcvd,\r
-  syn_sent,\r
-  established,\r
-  fin_wait_1,\r
-  fin_wait_2,\r
-  closing,\r
-  time_wait,\r
-  last_ack};\r
-\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* print_stats:\r
- *\r
- * Prints out a part of the uIP statistics. The statistics data is\r
- * written into the uip_appdata buffer. It overwrites any incoming\r
- * packet.\r
- */\r
-static u8_t\r
-print_stats(u8_t next)\r
-{\r
-#if UIP_STATISTICS\r
-  u16_t i, j;\r
-  u8_t *buf;\r
-  u16_t *databytes;\r
-\r
-  if(next) {\r
-    /* If our last data has been acknowledged, we move on the next\r
-       chunk of statistics. */\r
-    hs->count = hs->count + 4;\r
-    if(hs->count >= sizeof(struct uip_stats)/sizeof(u16_t)) {\r
-      /* We have printed out all statistics, so we return 1 to\r
-        indicate that we are done. */\r
-      return 1;\r
-    }\r
-  }\r
-\r
-  /* Write part of the statistics into the uip_appdata buffer. */\r
-  databytes = (u16_t *)&uip_stat + hs->count;\r
-  buf       = (u8_t *)uip_appdata;\r
-\r
-  j = 4 + 1;\r
-  i = hs->count;\r
-  while (i < sizeof(struct uip_stats)/sizeof(u16_t) && --j > 0) {\r
-    sprintf((char *)buf, "%5u\r\n", *databytes);\r
-    ++databytes;\r
-    buf += 6;\r
-    ++i;\r
-  }\r
-\r
-  /* Send the data. */\r
-  uip_send(uip_appdata, buf - uip_appdata);\r
-\r
-  return 0;\r
-#else\r
-  return 1;\r
-#endif /* UIP_STATISTICS */\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static u8_t\r
-file_stats(u8_t next)\r
-{\r
-  /* We use sprintf() to print the number of file accesses to a\r
-     particular file (given as an argument to the function in the\r
-     script). We then use uip_send() to actually send the data. */\r
-  if(next) {\r
-    return 1;\r
-  }\r
-  uip_send(uip_appdata, sprintf((char *)uip_appdata, "%5u", fs_count(&hs->script[4])));\r
-  return 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static u8_t\r
-tcp_stats(u8_t next)\r
-{\r
-  struct uip_conn *conn;\r
-\r
-  if(next) {\r
-    /* If the previously sent data has been acknowledged, we move\r
-       forward one connection. */\r
-    if(++hs->count == UIP_CONNS) {\r
-      /* If all connections has been printed out, we are done and\r
-        return 1. */\r
-      return 1;\r
-    }\r
-  }\r
-\r
-  conn = &uip_conns[hs->count];\r
-  if((conn->tcpstateflags & TS_MASK) == CLOSED) {\r
-    uip_send(uip_appdata, sprintf((char *)uip_appdata,\r
-                                 "<tr align=\"center\"><td>-</td><td>-</td><td>%u</td><td>%u</td><td>%c %c</td></tr>\r\n",\r
-                                 conn->nrtx,\r
-                                 conn->timer,\r
-                                 (uip_outstanding(conn))? '*':' ',\r
-                                 (uip_stopped(conn))? '!':' '));\r
-  } else {\r
-    uip_send(uip_appdata, sprintf((char *)uip_appdata,\r
-                                 "<tr align=\"center\"><td>%u.%u.%u.%u:%u</td><td>%s</td><td>%u</td><td>%u</td><td>%c %c</td></tr>\r\n",\r
-                                 htons(conn->ripaddr[0]) >> 8,\r
-                                 htons(conn->ripaddr[0]) & 0xff,\r
-                                 htons(conn->ripaddr[1]) >> 8,\r
-                                 htons(conn->ripaddr[1]) & 0xff,\r
-                                 htons(conn->rport),\r
-                                 states[conn->tcpstateflags & TS_MASK],\r
-                                 conn->nrtx,\r
-                                 conn->timer,\r
-                                 (uip_outstanding(conn))? '*':' ',\r
-                                 (uip_stopped(conn))? '!':' '));\r
-  }\r
-  return 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-\r
-static u8_t\r
-rtos_stats(u8_t next)\r
-{\r
-static char cTraceBuffer[ 1024 ];\r
-extern void ( vTaskList )( char * );\r
-\r
-       vTaskList( cTraceBuffer );\r
-       uip_send( ( void * ) cTraceBuffer, strlen( cTraceBuffer ) );\r
-\r
-       return 1;\r
-}\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/cgi.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/cgi.h
deleted file mode 100644 (file)
index d85389b..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP script language header file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: cgi.h,v 1.3.2.4 2003/10/07 13:22:27 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __CGI_H__\r
-#define __CGI_H__\r
-\r
-typedef u8_t (* cgifunction)(u8_t next);\r
-\r
-/**\r
- * A table containing pointers to C functions that can be called from\r
- * a web server script.\r
- */\r
-extern cgifunction cgitab[];\r
-\r
-#endif /* __CGI_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/crt0.asm b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/crt0.asm
deleted file mode 100644 (file)
index ef91f42..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-// Rowley C Compiler, runtime support.\r
-//\r
-// Copyright (c) 2001, 2002, 2003 Rowley Associates Limited.\r
-//\r
-// This file may be distributed under the terms of the License Agreement\r
-// provided with this software.\r
-//\r
-// THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE\r
-// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\r
-\r
-; Create sections\r
-        .data\r
-        .bss\r
-\r
-; Go to code section.\r
-        .code\r
-\r
-; Executed upon reset\r
-__reset proc\r
-\r
-; Turn off watchdog.  You can enable it in main() if required.\r
-        mov.w   #0x5a80, &0x120\r
-\r
-; Set up stack.\r
-        mov.w   #RAM_Start_Address+RAM_Size, sp\r
-\r
-; Copy from initialised data section to data section.\r
-        mov.w   #SFB(IDATA0), r15\r
-        mov.w   #data_init_begin, r14\r
-        mov.w   #data_init_end-data_init_begin, r13\r
-        call    #_memcpy\r
-\r
-; Zero the bss.  Ensure the stack is not allocated in the bss!\r
-        mov.w   #SFB(UDATA0), r15\r
-        mov.w   #0, r14\r
-        mov.w   #SFE(UDATA0)-SFB(UDATA0), r13\r
-        call    #_memset\r
-\r
-; Call user entry point void main(void).\r
-        call    #_main\r
-\r
-; If main() returns, kick off again.\r
-        jmp     __reset\r
-        endproc\r
-\r
-; Heap data structures; removed by the linker if the heap isn't used.\r
-        .break   \r
-        .data\r
-        align   WORD\r
-___heap_start__::\r
-        DW      0\r
-        DW      heap_size\r
-        DS      heap_size-4    \r
-\r
-; Reset vector\r
-        .vectors\r
-        .keep\r
-        org     0x1e\r
-        dw      __reset\r
-\r
-; Initialise the IDATA0 section by duplicating the contents into the\r
-; CONST section and copying them on startup.\r
-        .const\r
-data_init_begin:\r
-        .init  "IDATA0"\r
-data_init_end:\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs.c
deleted file mode 100644 (file)
index a66eb8d..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP server read-only file system code.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- * A simple read-only filesystem.\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Swedish Institute of Computer Science.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. Neither the name of the Institute nor the names of its contributors\r
- *    may be used to endorse or promote products derived from this software\r
- *    without specific prior written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND\r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE\r
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
- * SUCH DAMAGE.\r
- *\r
- * This file is part of the lwIP TCP/IP stack.\r
- *\r
- * Author: Adam Dunkels <adam@sics.se>\r
- *\r
- * $Id: fs.c,v 1.7.2.3 2003/10/07 13:22:27 adam Exp $\r
- */\r
-\r
-#include "uip.h"\r
-#include "httpd.h"\r
-#include "fs.h"\r
-#include "fsdata.h"\r
-\r
-#define NULL (void *)0\r
-#include "fsdata.c"\r
-\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-static u16_t count[FS_NUMFILES];\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-static u8_t\r
-fs_strcmp(const char *str1, const char *str2)\r
-{\r
-  u8_t i;\r
-  i = 0;\r
- loop:\r
-\r
-  if(str2[i] == 0 ||\r
-     str1[i] == '\r' ||\r
-     str1[i] == '\n') {\r
-    return 0;\r
-  }\r
-\r
-  if(str1[i] != str2[i]) {\r
-    return 1;\r
-  }\r
-\r
-\r
-  ++i;\r
-  goto loop;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-int\r
-fs_open(const char *name, struct fs_file *file)\r
-{\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-  u16_t i = 0;\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-  struct fsdata_file_noconst *f;\r
-\r
-  for(f = (struct fsdata_file_noconst *)FS_ROOT;\r
-      f != NULL;\r
-      f = (struct fsdata_file_noconst *)f->next) {\r
-\r
-    if(fs_strcmp(name, f->name) == 0) {\r
-      file->data = f->data;\r
-      file->len = f->len;\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-      ++count[i];\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-\r
-      return 1;\r
-    }\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-    ++i;\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-\r
-  }\r
-  return 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-fs_init(void)\r
-{\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-  u16_t i;\r
-  for(i = 0; i < FS_NUMFILES; i++) {\r
-    count[i] = 0;\r
-  }\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-u16_t fs_count\r
-(char *name)\r
-{\r
-  struct fsdata_file_noconst *f;\r
-  u16_t i;\r
-\r
-  i = 0;\r
-  for(f = (struct fsdata_file_noconst *)FS_ROOT;\r
-      f != NULL;\r
-      f = (struct fsdata_file_noconst *)f->next) {\r
-\r
-    if(fs_strcmp(name, f->name) == 0) {\r
-      return count[i];\r
-    }\r
-    ++i;\r
-  }\r
-  return 0;\r
-}\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs.h
deleted file mode 100644 (file)
index 65551ba..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP server read-only file system header file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
\r
-/*\r
- * Copyright (c) 2001, Swedish Institute of Computer Science.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. Neither the name of the Institute nor the names of its contributors \r
- *    may be used to endorse or promote products derived from this software \r
- *    without specific prior written permission. \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND \r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE \r
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \r
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \r
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \r
- * SUCH DAMAGE. \r
- *\r
- * This file is part of the lwIP TCP/IP stack.\r
- * \r
- * Author: Adam Dunkels <adam@sics.se>\r
- *\r
- * $Id: fs.h,v 1.6.2.3 2003/10/07 13:22:27 adam Exp $\r
- */\r
-#ifndef __FS_H__\r
-#define __FS_H__\r
-\r
-#include "uip.h"\r
-\r
-/**\r
- * An open file in the read-only file system.\r
- */\r
-struct fs_file {\r
-  char *data;  /**< The actual file data. */\r
-  int len;     /**< The length of the file data. */\r
-};\r
-\r
-/**\r
- * Open a file in the read-only file system.\r
- *\r
- * \param name The name of the file.\r
- *\r
- * \param file The file pointer, which must be allocated by caller and\r
- * will be filled in by the function.\r
- */\r
-int fs_open(const char *name, struct fs_file *file);\r
-\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1  \r
-u16_t fs_count(char *name);\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-\r
-/**\r
- * Initialize the read-only file system.\r
- */\r
-void fs_init(void);\r
-\r
-#endif /* __FS_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/404.html b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/404.html
deleted file mode 100644 (file)
index 8d6beec..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<html><body bgcolor="white"><center><h1>404 - file not found</h1></center></body></html>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/files b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/files
deleted file mode 100644 (file)
index 58c45f3..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# This script shows the access statistics for different files on the\r
-# web server.\r
-#\r
-# First, we include the HTML header.\r
-i /files_header.html\r
-# Print out the name of the file, and call the function that prints\r
-# the access statistics of that file.\r
-t <tr><td><a href="/index.html">/index.html</a></td><td>\r
-c b /index.html\r
-t </td></tr> <tr><td><a href="/control.html">/control.html</a></td><td>\r
-c b /control.html\r
-t </td></tr> <tr><td><a href="/img/logo.png">/img/logo.png</a></td><td>\r
-c b /img/logo.png\r
-t </td></tr> <tr><td><a href="/404.html">/404.html</a></td><td>\r
-c b /404.html\r
-t </td></tr> <tr><td><a href="/cgi/files">/cgi/files</a></td><td>\r
-c b /cgi/files\r
-t </td></tr> <tr><td><a href="/cgi/stats">/cgi/stats</a></td><td>\r
-c b /cgi/stats\r
-t </td></tr> <tr><td><a href="/cgi/tcp">/cgi/tcp</a></td><td>\r
-c b /cgi/tcp\r
-t </td></tr>\r
-# Include the HTML footer.\r
-i /files_footer.plain\r
-# End of script.\r
-.
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/rtos b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/rtos
deleted file mode 100644 (file)
index 7772ea4..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-t <html><head><title>uIP Open Source Embedded TCP/IP Stack On FreeRTOS Kernel</title></head><body BGCOLOR="#CCCCFF"><font face="arial"><small><b><a href="http://www.freertos.org" target="_top">FreeRTOS Homepage</a></b></small><p><H1>AT91SAM7X Embedded WEB Server Demo<br><small>Using uIP and the FreeRTOS real time kernel</small></h1><p>These pages are being served by an Atmel AT91SAM7X256 microcontroller, using Adam Dunkels open source uIP TCP/IP stack.<p>The uIP stack is executing from a single task under control of the FreeRTOS real time kernel.  The table below shows the statistics for all the tasks in the demo applicaiton.<p><pre>Task          State  Priority  Stack  #<br>************************************************<br>
-c d
-t </pre></font></body></html>
-.
-
-
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/stats b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/stats
deleted file mode 100644 (file)
index 2c71c90..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-i /stats_header.html\r
-c a\r
-i /stats_footer.plain\r
-.\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/tcp b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/cgi/tcp
deleted file mode 100644 (file)
index 14efd37..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-i /tcp_header.html\r
-c c\r
-i /tcp_footer.plain\r
-.
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/control.html b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/control.html
deleted file mode 100644 (file)
index 0d9352c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<html>\r
-<head>\r
-<title>AT91SAM7X Embedded WEB Server using uIP and FreeRTOS</title>\r
-</head>\r
-<body bgcolor="#ccccff">\r
-<font face="arial">\r
-<img src="/img/logo.png" align="right">\r
-<a href="/cgi/rtos" target="main">Tasks</a> |\r
-<a href="/cgi/tcp" target="main">Connections</a> |\r
-<a href="/cgi/files" target="main">Files</a> |\r
-<a href="/cgi/stats" target="main">Statistics</a><br>\r
-<br>\r
-</font>\r
-</body>\r
-</html>\r
-\r
-\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/files_footer.plain b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/files_footer.plain
deleted file mode 100644 (file)
index 0b6dceb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-</td></tr></table>\r
-</body>\r
-</html>\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/files_header.html b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/files_header.html
deleted file mode 100644 (file)
index 20cf1c9..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<html>\r
-<body bgcolor="#CCCCFF">\r
-<center>\r
-<table width="600" border="0">\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/img/logo.png b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/img/logo.png
deleted file mode 100644 (file)
index ef572dd..0000000
Binary files a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/img/logo.png and /dev/null differ
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/index.html b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/index.html
deleted file mode 100644 (file)
index 626ff37..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<html>\r
-<head>\r
-</head>\r
-\r
-<frameset cols="*" rows="120,*" frameborder="no"> \r
-  <frame src="control.html">\r
-  <frame src="/cgi/rtos" name="main">\r
-</frameset>\r
-\r
-<noframes>\r
-<body>\r
-Your browser must support frames\r
-</body>\r
-</noframes>\r
-</html>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/stats_footer.plain b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/stats_footer.plain
deleted file mode 100644 (file)
index 0b6dceb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-</td></tr></table>\r
-</body>\r
-</html>\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/stats_header.html b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/stats_header.html
deleted file mode 100644 (file)
index e819c34..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<html>\r
-<body bgcolor="#ccccff">\r
-<center>\r
-<table width="600" border="0">\r
-<tr><td>\r
-<pre>\r
-IP           Packets dropped\r
-             Packets received\r
-             Packets sent\r
-IP errors    IP version/header length\r
-             IP length, high byte\r
-             IP length, low byte\r
-             IP fragments\r
-             Header checksum\r
-             Wrong protocol\r
-ICMP        Packets dropped\r
-             Packets received\r
-             Packets sent\r
-             Type errors\r
-TCP          Packets dropped\r
-             Packets received\r
-             Packets sent\r
-             Checksum errors\r
-             Data packets without ACKs\r
-             Resets\r
-             Retransmissions\r
-            No connection avaliable\r
-            Connection attempts to closed ports\r
-</pre>      \r
-</td><td><pre>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/tcp_footer.plain b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/tcp_footer.plain
deleted file mode 100644 (file)
index 442c17a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\r
-</td></tr></table>\r
-</center>\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/tcp_header.html b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fs/tcp_header.html
deleted file mode 100644 (file)
index 47bdf30..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>\r
-<body bgcolor="#ccccff">\r
-<center>\r
-<table width="600" border="0">\r
-<tr><th>Remote</th><th>State</th><th>Retransmissions</th><th>Timer</th><th>Flags</th></tr>\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fsdata.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fsdata.c
deleted file mode 100644 (file)
index 7679960..0000000
+++ /dev/null
@@ -1,968 +0,0 @@
-static const char data_404_html[] = {\r
-       /* /404.html */\r
-       0x2f, 0x34, 0x30, 0x34, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x34, \r
-       0x30, 0x34, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x20, 0x6e, 0x6f, \r
-       0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0xd, 0xa, 0x53, \r
-       0x65, 0x72, 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, \r
-       0x2f, 0x30, 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, \r
-       0x3a, 0x2f, 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, \r
-       0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, \r
-       0x75, 0x69, 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, \r
-       0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, \r
-       0x20, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, \r
-       0xd, 0xa, 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, \r
-       0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, \r
-       0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65, \r
-       0x22, 0x3e, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, \r
-       0x3c, 0x68, 0x31, 0x3e, 0x34, 0x30, 0x34, 0x20, 0x2d, 0x20, \r
-       0x66, 0x69, 0x6c, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, \r
-       0x6f, 0x75, 0x6e, 0x64, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x3c, \r
-       0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, 0x3c, 0x2f, \r
-       0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, \r
-       0x6c, 0x3e, };\r
-\r
-static const char data_control_html[] = {\r
-       /* /control.html */\r
-       0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, \r
-       0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xd, 0xa, 0x3c, 0x74, \r
-       0x69, 0x74, 0x6c, 0x65, 0x3e, 0x41, 0x54, 0x39, 0x31, 0x53, \r
-       0x41, 0x4d, 0x37, 0x58, 0x20, 0x45, 0x6d, 0x62, 0x65, 0x64, \r
-       0x64, 0x65, 0x64, 0x20, 0x57, 0x45, 0x42, 0x20, 0x53, 0x65, \r
-       0x72, 0x76, 0x65, 0x72, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, \r
-       0x20, 0x75, 0x49, 0x50, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x46, \r
-       0x72, 0x65, 0x65, 0x52, 0x54, 0x4f, 0x53, 0x3c, 0x2f, 0x74, \r
-       0x69, 0x74, 0x6c, 0x65, 0x3e, 0xd, 0xa, 0x3c, 0x2f, 0x68, \r
-       0x65, 0x61, 0x64, 0x3e, 0xd, 0xa, 0x3c, 0x62, 0x6f, 0x64, \r
-       0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3d, \r
-       0x22, 0x23, 0x63, 0x63, 0x63, 0x63, 0x66, 0x66, 0x22, 0x3e, \r
-       0xd, 0xa, 0x3c, 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x66, 0x61, \r
-       0x63, 0x65, 0x3d, 0x22, 0x61, 0x72, 0x69, 0x61, 0x6c, 0x22, \r
-       0x3e, 0xd, 0xa, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, \r
-       0x63, 0x3d, 0x22, 0x2f, 0x69, 0x6d, 0x67, 0x2f, 0x6c, 0x6f, \r
-       0x67, 0x6f, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x61, 0x6c, \r
-       0x69, 0x67, 0x6e, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, \r
-       0x22, 0x3e, 0xd, 0xa, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, \r
-       0x66, 0x3d, 0x22, 0x2f, 0x63, 0x67, 0x69, 0x2f, 0x72, 0x74, \r
-       0x6f, 0x73, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, \r
-       0x3d, 0x22, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3e, 0x54, 0x61, \r
-       0x73, 0x6b, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x7c, 0xd, \r
-       0xa, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, \r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x74, 0x63, 0x70, 0x22, 0x20, \r
-       0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x6d, 0x61, \r
-       0x69, 0x6e, 0x22, 0x3e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, \r
-       0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x20, \r
-       0x7c, 0xd, 0xa, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, \r
-       0x3d, 0x22, 0x2f, 0x63, 0x67, 0x69, 0x2f, 0x66, 0x69, 0x6c, \r
-       0x65, 0x73, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, \r
-       0x3d, 0x22, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3e, 0x46, 0x69, \r
-       0x6c, 0x65, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x7c, 0xd, \r
-       0xa, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, \r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, \r
-       0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, \r
-       0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3e, 0x53, 0x74, 0x61, 0x74, \r
-       0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x3c, 0x2f, 0x61, 0x3e, \r
-       0x3c, 0x62, 0x72, 0x3e, 0xd, 0xa, 0x3c, 0x62, 0x72, 0x3e, \r
-       0xd, 0xa, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x3e, 0xd, \r
-       0xa, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xd, 0xa, \r
-       0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, 0xd, \r
-       0xa, 0xd, 0xa, 0xd, 0xa, 0xd, 0xa, 0xd, 0xa, };\r
-\r
-static const char data_files_footer_plain[] = {\r
-       /* /files_footer.plain */\r
-       0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0,\r
-       0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, \r
-       0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0xd, 0xa, \r
-       0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xd, 0xa, 0x3c, \r
-       0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, };\r
-\r
-static const char data_files_header_html[] = {\r
-       /* /files_header.html */\r
-       0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, \r
-       0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, \r
-       0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x23, 0x43, 0x43, 0x43, 0x43, \r
-       0x46, 0x46, 0x22, 0x3e, 0xd, 0xa, 0x3c, 0x63, 0x65, 0x6e, \r
-       0x74, 0x65, 0x72, 0x3e, 0xd, 0xa, 0x3c, 0x74, 0x61, 0x62, \r
-       0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, \r
-       0x36, 0x30, 0x30, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, \r
-       0x72, 0x3d, 0x22, 0x30, 0x22, 0x3e, 0xd, 0xa, };\r
-\r
-static const char data_stats_footer_plain[] = {\r
-       /* /stats_footer.plain */\r
-       0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0,\r
-       0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, \r
-       0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0xd, 0xa, \r
-       0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xd, 0xa, 0x3c, \r
-       0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, };\r
-\r
-static const char data_stats_header_html[] = {\r
-       /* /stats_header.html */\r
-       0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, \r
-       0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, \r
-       0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x23, 0x63, 0x63, 0x63, 0x63, \r
-       0x66, 0x66, 0x22, 0x3e, 0xd, 0xa, 0x3c, 0x63, 0x65, 0x6e, \r
-       0x74, 0x65, 0x72, 0x3e, 0xd, 0xa, 0x3c, 0x74, 0x61, 0x62, \r
-       0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, \r
-       0x36, 0x30, 0x30, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, \r
-       0x72, 0x3d, 0x22, 0x30, 0x22, 0x3e, 0xd, 0xa, 0x3c, 0x74, \r
-       0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0xd, 0xa, 0x3c, 0x70, \r
-       0x72, 0x65, 0x3e, 0xd, 0xa, 0x49, 0x50, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, \r
-       0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x64, 0x72, 0x6f, 0x70, \r
-       0x70, 0x65, 0x64, 0xd, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, \r
-       0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, 0x63, 0x65, \r
-       0x69, 0x76, 0x65, 0x64, 0xd, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, \r
-       0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x73, 0x65, 0x6e, \r
-       0x74, 0xd, 0xa, 0x49, 0x50, 0x20, 0x65, 0x72, 0x72, 0x6f, \r
-       0x72, 0x73, 0x20, 0x20, 0x20, 0x20, 0x49, 0x50, 0x20, 0x76, \r
-       0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x65, 0x61, \r
-       0x64, 0x65, 0x72, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, \r
-       0xd, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x50, 0x20, 0x6c, 0x65, \r
-       0x6e, 0x67, 0x74, 0x68, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, \r
-       0x20, 0x62, 0x79, 0x74, 0x65, 0xd, 0xa, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x49, 0x50, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2c, \r
-       0x20, 0x6c, 0x6f, 0x77, 0x20, 0x62, 0x79, 0x74, 0x65, 0xd, \r
-       0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x49, 0x50, 0x20, 0x66, 0x72, 0x61, \r
-       0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0xd, 0xa, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x63, 0x68, \r
-       0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0xd, 0xa, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x57, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, \r
-       0x74, 0x6f, 0x63, 0x6f, 0x6c, 0xd, 0xa, 0x49, 0x43, 0x4d, \r
-       0x50, 0x9, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x63, \r
-       0x6b, 0x65, 0x74, 0x73, 0x20, 0x64, 0x72, 0x6f, 0x70, 0x70, \r
-       0x65, 0x64, 0xd, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x63, \r
-       0x6b, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, \r
-       0x76, 0x65, 0x64, 0xd, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, \r
-       0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x73, 0x65, 0x6e, 0x74, \r
-       0xd, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x20, \r
-       0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0xd, 0xa, 0x54, 0x43, \r
-       0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x64, \r
-       0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0xd, 0xa, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x72, \r
-       0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0xd, 0xa, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, \r
-       0x73, 0x65, 0x6e, 0x74, 0xd, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, \r
-       0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x20, 0x65, 0x72, \r
-       0x72, 0x6f, 0x72, 0x73, 0xd, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, \r
-       0x61, 0x74, 0x61, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, \r
-       0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, \r
-       0x41, 0x43, 0x4b, 0x73, 0xd, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, \r
-       0x65, 0x73, 0x65, 0x74, 0x73, 0xd, 0xa, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x52, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, \r
-       0x73, 0x69, 0x6f, 0x6e, 0x73, 0xd, 0xa, 0x9, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x4e, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x6e, \r
-       0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x76, 0x61, \r
-       0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0xd, 0xa, 0x9, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, \r
-       0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, \r
-       0x70, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6c, 0x6f, \r
-       0x73, 0x65, 0x64, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x73, 0xd, \r
-       0xa, 0x3c, 0x2f, 0x70, 0x72, 0x65, 0x3e, 0x9, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0xd, 0xa, 0x3c, 0x2f, 0x74, 0x64, 0x3e, \r
-       0x3c, 0x74, 0x64, 0x3e, 0x3c, 0x70, 0x72, 0x65, 0x3e, };\r
-\r
-static const char data_tcp_footer_plain[] = {\r
-       /* /tcp_footer.plain */\r
-       0x2f, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0,\r
-       0xd, 0xa, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, \r
-       0x72, 0x3e, 0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, \r
-       0xd, 0xa, 0x3c, 0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, \r
-       0x3e, 0xd, 0xa, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, \r
-       0xd, 0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, };\r
-\r
-static const char data_tcp_header_html[] = {\r
-       /* /tcp_header.html */\r
-       0x2f, 0x74, 0x63, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, \r
-       0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, \r
-       0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x23, 0x63, 0x63, 0x63, 0x63, \r
-       0x66, 0x66, 0x22, 0x3e, 0xd, 0xa, 0x3c, 0x63, 0x65, 0x6e, \r
-       0x74, 0x65, 0x72, 0x3e, 0xd, 0xa, 0x3c, 0x74, 0x61, 0x62, \r
-       0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, \r
-       0x36, 0x30, 0x30, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, \r
-       0x72, 0x3d, 0x22, 0x30, 0x22, 0x3e, 0xd, 0xa, 0x3c, 0x74, \r
-       0x72, 0x3e, 0x3c, 0x74, 0x68, 0x3e, 0x52, 0x65, 0x6d, 0x6f, \r
-       0x74, 0x65, 0x3c, 0x2f, 0x74, 0x68, 0x3e, 0x3c, 0x74, 0x68, \r
-       0x3e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x74, 0x68, \r
-       0x3e, 0x3c, 0x74, 0x68, 0x3e, 0x52, 0x65, 0x74, 0x72, 0x61, \r
-       0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, \r
-       0x3c, 0x2f, 0x74, 0x68, 0x3e, 0x3c, 0x74, 0x68, 0x3e, 0x54, \r
-       0x69, 0x6d, 0x65, 0x72, 0x3c, 0x2f, 0x74, 0x68, 0x3e, 0x3c, \r
-       0x74, 0x68, 0x3e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x3c, 0x2f, \r
-       0x74, 0x68, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0xd, 0xa, \r
-       0xd, 0xa, };\r
-\r
-static const char data_img_logo_png[] = {\r
-       /* /img/logo.png */\r
-       0x2f, 0x69, 0x6d, 0x67, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x6e, 0x67, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x69, \r
-       0x6d, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x6e, 0x67, 0xd, 0xa, \r
-       0xd, 0xa, 0x89, 0x50, 0x4e, 0x47, 0xd, 0xa, 0x1a, 0xa, \r
-       00, 00, 00, 0xd, 0x49, 0x48, 0x44, 0x52, 00, 00, \r
-       00, 0xec, 00, 00, 00, 0x5c, 0x8, 0x3, 00, 00, \r
-       00, 0x5a, 0xc7, 0xa9, 0x53, 00, 00, 0x3, 00, 0x50, \r
-       0x4c, 0x54, 0x45, 00, 00, 00, 0x3, 0x3, 0x3, 0x4, \r
-       0x4, 0x4, 0x6, 0x6, 0x6, 0x8, 0x8, 0x8, 0xa, 0xa, \r
-       0xa, 0xc, 0xc, 0xc, 0xe, 0xe, 0xe, 0x10, 0x10, 0x10, \r
-       0x12, 0x12, 0x12, 0x14, 0x14, 0x14, 0x16, 0x16, 0x16, 0x18, \r
-       0x18, 0x18, 0x1a, 0x1a, 0x1a, 0x1c, 0x1c, 0x1c, 0x21, 0x21, \r
-       0x21, 0x25, 0x25, 0x25, 0x28, 0x28, 0x28, 0x2c, 0x2c, 0x2c, \r
-       0x2e, 0x2e, 0x2e, 0x30, 0x30, 0x30, 0x32, 0x32, 0x32, 0x34, \r
-       0x34, 0x34, 0x36, 0x36, 0x36, 0x38, 0x38, 0x38, 0x3a, 0x3a, \r
-       0x3a, 0x3e, 0x3e, 0x3e, 0x40, 0x40, 0x40, 0x43, 0x43, 0x43, \r
-       0x45, 0x45, 0x45, 0x46, 0x46, 0x46, 0x4a, 0x4a, 0x4a, 0x4d, \r
-       0x4d, 0x4d, 0x50, 0x50, 0x50, 0x52, 0x52, 0x52, 0x55, 0x55, \r
-       0x55, 0x58, 0x58, 0x58, 0x5c, 0x5c, 0x5c, 0x60, 0x60, 0x60, \r
-       0x62, 0x62, 0x62, 0x66, 0x66, 0x66, 0x69, 0x69, 0x69, 0x6b, \r
-       0x6b, 0x6b, 0x6e, 0x6e, 0x6e, 0x71, 0x71, 0x71, 0x73, 0x73, \r
-       0x73, 0x74, 0x74, 0x74, 0x77, 0x77, 0x77, 0x78, 0x78, 0x78, \r
-       0x7a, 0x7a, 0x7a, 0x7c, 0x7c, 0x7c, 0x7e, 0x7e, 0x7e, 00, \r
-       0xd9, 00, 0x4, 0xd8, 0x4, 0x6, 0xda, 0x6, 0x8, 0xda, \r
-       0x8, 0xc, 0xda, 0xc, 0x15, 0xdc, 0x15, 0x18, 0xdc, 0x18, \r
-       0x1a, 0xdc, 0x1a, 0x1d, 0xdd, 0x1d, 0x20, 0xde, 0x20, 0x22, \r
-       0xde, 0x22, 0x24, 0xde, 0x24, 0x28, 0xde, 0x28, 0x2d, 0xe0, \r
-       0x2d, 0x2f, 0xe0, 0x2f, 0x3b, 0xe2, 0x3b, 0x3d, 0xe2, 0x3d, \r
-       0x41, 0xe2, 0x41, 0x45, 0xe2, 0x45, 0x49, 0xe3, 0x49, 0x49, \r
-       0xe4, 0x49, 0x4b, 0xe4, 0x4b, 0x4d, 0xe5, 0x4d, 0x51, 0xe5, \r
-       0x51, 0x56, 0xe6, 0x56, 0x58, 0xe6, 0x58, 0x60, 0xe6, 0x60, \r
-       0x64, 0xe8, 0x64, 0x69, 0xe9, 0x69, 0x6a, 0xe9, 0x6a, 0x6c, \r
-       0xe9, 0x6c, 0x6e, 0xe9, 0x6e, 0x6f, 0xea, 0x6f, 0x66, 0xff, \r
-       0x66, 0x68, 0xff, 0x68, 0x6a, 0xff, 0x6a, 0x6c, 0xff, 0x6c, \r
-       0x6e, 0xff, 0x6e, 0x73, 0xea, 0x73, 0x78, 0xeb, 0x78, 0x7a, \r
-       0xea, 0x7a, 0x70, 0xff, 0x70, 0x72, 0xff, 0x72, 0x74, 0xff, \r
-       0x74, 0x76, 0xff, 0x76, 0x78, 0xff, 0x78, 0x7a, 0xff, 0x7a, \r
-       0x7c, 0xff, 0x7c, 0x7e, 0xff, 0x7e, 0x80, 0x80, 0x80, 0x83, \r
-       0x83, 0x83, 0x86, 0x86, 0x86, 0x89, 0x89, 0x89, 0x8b, 0x8b, \r
-       0x8b, 0x8e, 0x8e, 0x8e, 0x90, 0x90, 0x90, 0x93, 0x93, 0x93, \r
-       0x96, 0x96, 0x96, 0x99, 0x99, 0x99, 0x9a, 0x9a, 0x9a, 0x9e, \r
-       0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa5, 0xa5, 0xa5, 0xa6, 0xa6, \r
-       0xa6, 0xa9, 0xa9, 0xa9, 0xab, 0xab, 0xab, 0xac, 0xac, 0xac, \r
-       0xae, 0xae, 0xae, 0xb1, 0xb1, 0xb1, 0xb5, 0xb5, 0xb5, 0xb8, \r
-       0xb8, 0xb8, 0xba, 0xba, 0xba, 0xbc, 0xbc, 0xbc, 0xbe, 0xbe, \r
-       0xbe, 0x81, 0xeb, 0x81, 0x80, 0xec, 0x80, 0x85, 0xec, 0x85, \r
-       0x88, 0xed, 0x88, 0x88, 0xee, 0x88, 0x8d, 0xee, 0x8d, 0x80, \r
-       0xff, 0x80, 0x82, 0xff, 0x82, 0x84, 0xff, 0x84, 0x86, 0xff, \r
-       0x86, 0x88, 0xff, 0x88, 0x8a, 0xff, 0x8a, 0x8c, 0xff, 0x8c, \r
-       0x8e, 0xff, 0x8e, 0x97, 0xf0, 0x97, 0x90, 0xff, 0x90, 0x92, \r
-       0xff, 0x92, 0x94, 0xff, 0x94, 0x96, 0xff, 0x96, 0x9c, 0xf0, \r
-       0x9c, 0x98, 0xff, 0x98, 0x9a, 0xff, 0x9a, 0x9c, 0xff, 0x9c, \r
-       0x9e, 0xff, 0x9e, 0xa2, 0xf1, 0xa2, 0xa2, 0xf2, 0xa2, 0xa4, \r
-       0xf1, 0xa4, 0xa6, 0xf1, 0xa6, 0xa6, 0xf2, 0xa6, 0xa0, 0xff, \r
-       0xa0, 0xa2, 0xff, 0xa2, 0xa4, 0xff, 0xa4, 0xa6, 0xff, 0xa6, \r
-       0xa8, 0xf2, 0xa8, 0xac, 0xf3, 0xac, 0xae, 0xf3, 0xae, 0xa8, \r
-       0xff, 0xa8, 0xaa, 0xff, 0xaa, 0xac, 0xff, 0xac, 0xae, 0xff, \r
-       0xae, 0xb3, 0xf4, 0xb3, 0xb4, 0xf4, 0xb4, 0xb6, 0xf4, 0xb6, \r
-       0xb0, 0xff, 0xb0, 0xb2, 0xff, 0xb2, 0xb4, 0xff, 0xb4, 0xb6, \r
-       0xff, 0xb6, 0xbb, 0xf5, 0xbb, 0xb8, 0xff, 0xb8, 0xba, 0xff, \r
-       0xba, 0xbc, 0xff, 0xbc, 0xbe, 0xff, 0xbe, 0xc0, 0xc0, 0xc0, \r
-       0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc6, 0xc6, 0xc6, 0xc8, \r
-       0xc8, 0xc8, 0xca, 0xca, 0xca, 0xcc, 0xcc, 0xcc, 0xcf, 0xcf, \r
-       0xcf, 0xd0, 0xd0, 0xd0, 0xd2, 0xd2, 0xd2, 0xd4, 0xd4, 0xd4, \r
-       0xd6, 0xd6, 0xd6, 0xd8, 0xd8, 0xd8, 0xda, 0xda, 0xda, 0xdc, \r
-       0xdc, 0xdc, 0xdf, 0xdf, 0xdf, 0xc0, 0xff, 0xc0, 0xc2, 0xff, \r
-       0xc2, 0xc4, 0xff, 0xc4, 0xc6, 0xff, 0xc6, 0xc8, 0xff, 0xc8, \r
-       0xca, 0xff, 0xca, 0xcc, 0xf8, 0xcc, 0xce, 0xf8, 0xce, 0xcc, \r
-       0xff, 0xcc, 0xce, 0xff, 0xce, 0xd0, 0xf8, 0xd0, 0xd0, 0xff, \r
-       0xd0, 0xd2, 0xff, 0xd2, 0xd6, 0xf9, 0xd6, 0xd4, 0xff, 0xd4, \r
-       0xd6, 0xff, 0xd6, 0xd9, 0xf9, 0xd9, 0xd8, 0xff, 0xd8, 0xda, \r
-       0xff, 0xda, 0xdc, 0xfa, 0xdc, 0xdc, 0xff, 0xdc, 0xde, 0xff, \r
-       0xde, 0xe0, 0xe0, 0xe0, 0xe2, 0xe2, 0xe2, 0xe4, 0xe4, 0xe4, \r
-       0xe6, 0xe6, 0xe6, 0xe8, 0xe8, 0xe8, 0xea, 0xea, 0xea, 0xec, \r
-       0xec, 0xec, 0xee, 0xee, 0xee, 0xe1, 0xfa, 0xe1, 0xe3, 0xfb, \r
-       0xe3, 0xe0, 0xff, 0xe0, 0xe2, 0xff, 0xe2, 0xe5, 0xfb, 0xe5, \r
-       0xe4, 0xff, 0xe4, 0xe6, 0xff, 0xe6, 0xe8, 0xfc, 0xe8, 0xe8, \r
-       0xff, 0xe8, 0xea, 0xfc, 0xea, 0xea, 0xff, 0xea, 0xec, 0xff, \r
-       0xec, 0xee, 0xfd, 0xee, 0xee, 0xff, 0xee, 0xf0, 0xf0, 0xf0, \r
-       0xf2, 0xf2, 0xf2, 0xf4, 0xf4, 0xf4, 0xf6, 0xf6, 0xf6, 0xf1, \r
-       0xfd, 0xf1, 0xf0, 0xff, 0xf0, 0xf3, 0xfd, 0xf3, 0xf2, 0xff, \r
-       0xf2, 0xf5, 0xfd, 0xf5, 0xf4, 0xfe, 0xf4, 0xf6, 0xfe, 0xf6, \r
-       0xf8, 0xf8, 0xf8, 0xfa, 0xfa, 0xfa, 0xf8, 0xfe, 0xf8, 0xfa, \r
-       0xfe, 0xfa, 0xff, 00, 00, 0xfc, 0xfe, 0xfc, 0xfe, 0xfe, \r
-       0xfe, 0xd7, 0xd6, 0xbe, 0x1c, 00, 00, 00, 0xfe, 0x74, \r
-       0x52, 0x4e, 0x53, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \r
-       0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 00, 0xd8, 0xd9, 0xc, \r
-       0x71, 00, 00, 0xc, 0xc6, 0x49, 0x44, 0x41, 0x54, 0x78, \r
-       0xda, 0xed, 0x9c, 0xf, 0x50, 0x14, 0xd7, 0x19, 0xc0, 0xdf, \r
-       0xc2, 0x21, 0x2c, 0x77, 0x27, 0xa0, 0x1, 0x3d, 0x15, 0x10, \r
-       0x4, 0x39, 0x23, 0xe3, 0x14, 0x1, 0xeb, 0x1f, 0xc0, 0x51, \r
-       0x87, 0x88, 0x81, 0x91, 0x92, 0xa8, 0x41, 0x32, 0x49, 0xac, \r
-       0xb6, 0x8e, 0xa5, 0xa6, 0x8e, 0x1d, 0x3b, 0x6d, 0x9c, 0xce, \r
-       0x64, 0x3a, 0xda, 0xd8, 0x4e, 0xda, 0x4e, 0x67, 0x9c, 0x74, \r
-       0x92, 0x36, 0xa, 0xb6, 0x62, 0xac, 0xa6, 0x15, 0xdb, 0x10, \r
-       0xe8, 0x58, 0xb4, 0xa, 0x6, 0x14, 0x73, 0x54, 0x73, 0x53, \r
-       0x8e, 0x62, 0x4c, 0xf8, 0x93, 0x9c, 0x60, 0x10, 0xc9, 0x82, \r
-       0x87, 0x1c, 0xb0, 0x7d, 0xbb, 0xcb, 0xdd, 0xbd, 0xb7, 0xfb, \r
-       0xde, 0xde, 0xae, 0x98, 0x94, 0x23, 0x99, 0xdf, 0xcc, 0xed, \r
-       0xbd, 0xdd, 0xf7, 0xde, 0xed, 0xb7, 0xef, 0xbd, 0xef, 0x7d, \r
-       0xdf, 0xf7, 0xde, 0x1e, 0x33, 0xa, 00, 0xb8, 0x76, 0xf0, \r
-       0x36, 0xfc, 0x9c, 0xd2, 0xa4, 0x1c, 0x83, 0x1f, 0x50, 0xd8, \r
-       0x53, 0x7f, 0xfc, 0x6c, 0x82, 0x35, 0x5, 0x2, 0xec, 0xd6, \r
-       0x9d, 0x50, 0xd8, 0x3f, 0xbd, 0x36, 0xe1, 0x8a, 0x2, 0x83, \r
-       0xef, 0x3f, 0xc7, 0x8c, 0xe6, 0x72, 0x13, 0xae, 0x26, 0x30, \r
-       0x30, 0x9f, 0x33, 0xbc, 0x20, 0xc9, 0x6a, 0x88, 0xc, 0x9e, \r
-       0x50, 0x4d, 0x93, 0x92, 0xa0, 0x69, 0xd2, 0x71, 0xb0, 0x4f, \r
-       0xd0, 0x4c, 0xdc, 0x29, 0x26, 0x53, 0x48, 0xb1, 0x31, 0xd9, \r
-       0x39, 0x33, 0x1e, 0xb2, 0xc6, 0x49, 0x4c, 0x58, 0x8c, 0x74, \r
-       0xfc, 0xe0, 0x17, 0x1f, 0xbb, 0xe1, 0x61, 0xba, 0x24, 0x6c, \r
-       0xfc, 0x6b, 0xe3, 0xa7, 0xa7, 0x28, 0x1d, 0x3f, 0xf8, 0x54, \r
-       0x38, 0x4, 0x9, 0x1f, 0x21, 0xeb, 0xa6, 0xb6, 0xac, 0x20, \r
-       0x6e, 0xad, 0x41, 0x38, 0x88, 0xc2, 0x1a, 0xd8, 0x9, 0x54, \r
-       0x14, 0x10, 0x44, 0x84, 0x8, 0x9f, 0xa2, 0xb0, 0x5f, 0x15, \r
-       0xbe, 0x16, 0x76, 0xaa, 0x22, 0xe, 0x5c, 0x1a, 0xfd, 0x63, \r
-       0x7d, 0x1f, 0xa7, 0x47, 0x68, 0xab, 0xe8, 0x91, 0xe2, 0xe2, \r
-       0x84, 0x89, 0x11, 0x12, 0x6c, 0xd6, 0xaa, 0x4e, 0xc4, 0x22, \r
-       0xfd, 0xc2, 0xcd, 0xd2, 0xcb, 0xd0, 0x85, 0xed, 0x7b, 0xef, \r
-       0x82, 0xcb, 0xdd, 0x78, 0xaf, 0x7c, 0xad, 0xef, 0x94, 0xb3, \r
-       0x8b, 0x92, 0xd7, 0xc, 0x40, 0xbc, 0xfc, 0x17, 0xa8, 0x99, \r
-       0x51, 0x82, 0xe7, 0x29, 0xe6, 0x81, 0x9e, 0xae, 0xd1, 0xa1, \r
-       0xee, 0xdb, 0x3, 00, 0xb4, 0xa6, 00, 0x60, 0x9a, 0x61, \r
-       0xb2, 0x4, 0x5b, 0x2c, 0xea, 0x95, 0xb8, 0xda, 0xb9, 0xa1, \r
-       0xbe, 0xde, 0xde, 0x11, 0xa9, 0x88, 0x61, 0xa6, 0x79, 0x56, \r
-       0x18, 0x30, 0x2b, 0xee, 0x7, 0x42, 0x13, 0xd6, 0xfd, 0xaf, \r
-       0xd3, 0x67, 0x7a, 0xe1, 0x91, 0x75, 0xf7, 0xd7, 0xd7, 00, \r
-       0xb0, 0x1b, 0xd6, 0x2, 0x5c, 0x17, 0x2a, 0x29, 0xb9, 0xcd, \r
-       0xc9, 0x20, 0xce, 0x14, 0x15, 0x6d, 0x45, 0xcf, 0x5d, 0xae, \r
-       0x1a, 0xa4, 0xe4, 0x46, 0x30, 0x6e, 0xc7, 0x85, 0x75, 0xd9, \r
-       0x9d, 0x1d, 0xef, 0x7b, 0xca, 0xd9, 0xc6, 0xf3, 0x2c, 0x89, \r
-       0x9d, 0x95, 0x42, 0x9f, 0x1b, 0x6d, 0x5d, 0x3, 0xb5, 0x5e, \r
-       0x8b, 0x77, 0xbc, 0x8, 0x60, 0xd2, 0xe2, 0x62, 0x93, 0x14, \r
-       0xcf, 0x88, 0x26, 0x6c, 0xed, 0x4e, 0x6f, 0xc3, 0x54, 0xbd, \r
-       0xe, 0x40, 0xe8, 0x21, 0x51, 0x77, 0xd3, 0xe0, 0x6c, 0xf0, \r
-       0x67, 0xe0, 0xf, 0x58, 0x97, 0xaa, 0xe5, 0xf2, 0x8b, 0xeb, \r
-       0xda, 0xcd, 0x4b, 0xca, 0x27, 0x34, 0xd8, 0xd0, 0x60, 0x5c, \r
-       0xb2, 0x60, 0x39, 0x51, 0x5c, 0x97, 0xbd, 0xad, 0xc3, 0x23, \r
-       0x20, 0xa, 0x6f, 0xb3, 0x19, 0x4b, 0xb5, 0xa, 0x7b, 0xd1, \r
-       0x27, 0x6b, 0xc4, 0x74, 0xd6, 0x5, 0xde, 0x2d, 0x4d, 0x24, \r
-       0x67, 0x44, 0x80, 0x3f, 0xb0, 0xf4, 0x7a, 0xfe, 0x4, 0xcc, \r
-       0x13, 0xdb, 0x75, 0x82, 0xa8, 0x22, 0x83, 0xd, 0x37, 0x3e, \r
-       0xcc, 0xc8, 0x50, 0x76, 0x4c, 0x47, 0x43, 0x3d, 0xd5, 0x8d, \r
-       0x9, 0x9a, 0xa7, 0x38, 0x45, 0x16, 0xd6, 0xfd, 0x77, 0x64, \r
-       0xc0, 0xad, 0x3f, 0xfd, 0x11, 0xe8, 0x6e, 0xf7, 0x2f, 0x2c, \r
-       0xc4, 0xc6, 0xf4, 0x3e, 0xeb, 0x67, 0x80, 0xd1, 0xa9, 0x2b, \r
-       0x1f, 0xe0, 0xa9, 0x17, 0xa1, 0xb8, 0x37, 0x15, 0xf, 0xb2, \r
-       0xa9, 0xb6, 0x99, 0x5e, 0x82, 00, 0x59, 0xd8, 0xf6, 0xa, \r
-       0xf8, 0x31, 0xa7, 0x78, 0xec, 0xd, 0x17, 0x3c, 0xc6, 0x42, \r
-       0xdf, 0xa1, 0x1f, 0x8e, 0x7e, 0x2d, 0xf0, 0x57, 0x5b, 0xe, \r
-       0x3e, 0x9c, 0xb4, 0xae, 0x2a, 0x3f, 0x63, 0x7c, 0xb0, 0xa6, \r
-       0xf7, 0x79, 0x5c, 0x5a, 0xdb, 0xef, 0xd4, 0x4a, 0x24, 0x47, \r
-       0x2a, 0x4e, 0x91, 0xe7, 0xd9, 0x4f, 0xee, 00, 0x90, 0x50, \r
-       0x76, 0x68, 0xbd, 0xf8, 0x28, 0xe2, 0xb3, 0x1, 0x18, 0xa3, \r
-       0x55, 0xa9, 0x80, 0xfb, 0xa9, 0xe6, 0xac, 0x28, 0xae, 0x33, \r
-       0xa7, 0xfd, 0xe9, 0x33, 0xfe, 0xea, 0x4b, 0x3d, 0x68, 0xda, \r
-       0x79, 0x58, 0xbd, 0x84, 0xb2, 0xd7, 0x93, 0x85, 0x1d, 0x83, \r
-       0xc2, 0x45, 0xe4, 0x8e, 0xeb, 0xa4, 0xae, 0xf7, 0x28, 0xb5, \r
-       0x91, 0xe1, 0xca, 0x74, 0x65, 0x97, 0x70, 0x9d, 0x39, 0xab, \r
-       0xa1, 0x43, 0x72, 0x2f, 0x9, 0x3d, 0x6d, 0x9c, 0x9e, 0xfd, \r
-       0x1a, 0xb4, 0x3d, 0xe, 0x59, 0x58, 0xe1, 0x87, 0x19, 0x4f, \r
-       0x62, 0x78, 0x58, 0x4b, 0x45, 0x3e, 0x2e, 0xe9, 0xcb, 0x2e, \r
-       0x62, 0xaf, 0x54, 0xca, 0xea, 0xbd, 0x1, 0x1f, 0x1c, 0x9c, \r
-       0x18, 0x3c, 0x10, 0x95, 0x19, 0x52, 0x86, 0x30, 0x40, 0xc9, \r
-       0x63, 0x56, 0x28, 0xe3, 0x16, 0xcd, 0x11, 0x48, 0x19, 0xc, \r
-       0x3d, 0x1a, 0x94, 0x71, 0xc, 0x63, 0x50, 0x32, 0x30, 0x8c, \r
-       0x80, 0xb6, 0xb1, 0xfb, 0xb2, 0xfb, 0xbc, 0xdf, 0x24, 0xfa, \r
-       0xc8, 0x7a, 0x70, 0xfe, 0x4a, 0x76, 0xc2, 0x98, 0x62, 00, \r
-       0x33, 0x7b, 0xc1, 0x48, 0xab, 0xac, 0xf2, 0xc6, 0x3a, 0x38, \r
-       0xa6, 0x44, 0x5c, 0xa7, 0x95, 0x25, 0x80, 0x50, 0x6, 0xc0, \r
-       0x7b, 0xa2, 0x68, 0x3a, 0xb2, 0xb0, 0x42, 0x7b, 0x3b, 0xf, \r
-       0xee, 0x17, 0xbe, 0xba, 0xcf, 0x9f, 0x85, 0xd6, 0xcc, 0x9c, \r
-       0xb9, 0x8a, 0x3c, 0xb9, 0x6b, 00, 0xb0, 0x38, 0x41, 0xbf, \r
-       0xfd, 0xf6, 0x50, 0x13, 0x56, 0x37, 0x5f, 0x2f, 0x5, 0x4, \r
-       0xd2, 0x85, 0xe8, 0x80, 0xc4, 0x28, 0x9a, 0x83, 0x59, 0xee, \r
-       0xfb, 0x1e, 0x69, 0x14, 0xf, 0x7f, 0xc1, 0x6f, 0xce, 0xb8, \r
-       0x78, 0x61, 0xae, 0x38, 0xe2, 0x5c, 0xf6, 0x2b, 0x5e, 0x13, \r
-       0x43, 0xaa, 0xbb, 0xdc, 0x63, 0x5e, 0xd8, 0xb1, 0x22, 0x4c, \r
-       0xe6, 0x42, 0xdf, 0x44, 0xec, 0x6a, 0xb7, 0x77, 0x3e, 0x68, \r
-       0x26, 0x84, 0x99, 0xc8, 0xc2, 0xce, 0x85, 0x4f, 0xa8, 0xf7, \r
-       0xe8, 0x79, 0xde, 0xd, 0xdc, 0x3f, 0x1a, 0x6e, 0x87, 0x27, \r
-       0x36, 0xce, 0x56, 0xe4, 0x31, 0x9, 0x5a, 0xd7, 0x2, 0x2c, \r
-       0x56, 0xe0, 0x9c, 0x8f, 0x2b, 0xd2, 0x7, 0xe2, 0x67, 0x26, \r
-       0xd2, 0xbe, 0x8e, 0x26, 0xe4, 0x72, 0xda, 0x5e, 0x79, 0x55, \r
-       0x8e, 0x3a, 0x2c, 0x69, 0xde, 0x90, 0x33, 0x7e, 0xe3, 0x6c, \r
-       0x66, 0x66, 0x5d, 0x39, 0x36, 0x93, 0xe, 0xfc, 0xb3, 0x44, \r
-       0xfa, 0x52, 0x8f, 0x9e, 0x65, 0xf2, 0xd0, 0x69, 0x89, 0xb5, \r
-       0xc2, 0x7b, 0x4a, 0x8a, 0xc7, 0xea, 0x14, 0x21, 0xb, 0x1b, \r
-       0x5d, 0x72, 0x18, 0x80, 0xbe, 0x3e, 0xf8, 0x6d, 0xa4, 0x55, \r
-       0x48, 0x9b, 0x9e, 0x50, 0x73, 0x7, 0x2c, 0x9b, 0x66, 0x1d, \r
-       0xd5, 0xad, 0x2c, 0x50, 0xaa, 0xb1, 0x56, 0x32, 0x6f, 0xf3, \r
-       0x74, 0x55, 0x81, 0xec, 0xb0, 0xd7, 0x51, 0x69, 0xf9, 0x8e, \r
-       0x1e, 0x49, 0xac, 0x1b, 0x68, 0x91, 0xb4, 0x3c, 0xf9, 0x14, \r
-       0x6c, 0xd9, 0x24, 0x3b, 0x21, 0x40, 0x56, 0x50, 0x11, 0xdf, \r
-       0x9a, 0x83, 0xa5, 0x13, 0x1e, 0x27, 0x66, 0xf3, 0x92, 0xbd, \r
-       0x18, 0x4d, 0xb5, 0xa9, 0x67, 0x56, 0xe0, 0xc0, 0x6e, 0xdc, \r
-       0xb8, 0x1, 0x95, 0x15, 0x80, 0xcc, 0x5d, 0x98, 0xa6, 0x6a, \r
-       0x25, 0xe9, 0x3f, 0x83, 0xb6, 0xb9, 0x9d, 0xe2, 0xcf, 0x66, \r
-       0x6d, 0x35, 0x21, 0xa9, 0x84, 0xdf, 0xfa, 0xb3, 0x9f, 0xe6, \r
-       0x13, 0x54, 0xa7, 0x66, 0x1a, 0xee, 0xa3, 0xa9, 0x94, 0x1c, \r
-       0xd9, 0xe5, 0xcc, 0x3c, 0x34, 0x35, 0xd8, 0x29, 0x1d, 0xb1, \r
-       0x32, 0x1a, 0xa1, 0x8, 0x1b, 0xb2, 0x7f, 0x67, 0xb4, 0x37, \r
-       0xcb, 0x82, 0x3f, 0x40, 0x5d, 0xa4, 0x4e, 0x2a, 0x9a, 0x48, \r
-       0xf6, 0x97, 0x5b, 0x46, 0x37, 0xda, 0x8b, 0x99, 0x55, 0xa, \r
-       0xeb, 0x3a, 0x1f, 0x7b, 0x92, 0x76, 0x92, 0xe1, 0xaf, 0xd, \r
-       0x5a, 0xa4, 0x22, 0xea, 0xd0, 0xa9, 0x5d, 0xd0, 0x4b, 0x85, \r
-       0xcc, 0xdc, 0xf7, 0xf, 0xc4, 0xa5, 0xa5, 0x60, 0x47, 0xbe, \r
-       0x33, 0x68, 0xa7, 0xd0, 0x80, 0x13, 0xeb, 0xf6, 0x26, 0xbc, \r
-       0x13, 0xb, 0xc4, 0x20, 0xea, 0x1b, 0x80, 0x1, 0x87, 0xb2, \r
-       0x8a, 0xa6, 0xb7, 0x95, 0xe7, 0x8, 0x50, 0x9d, 0xf7, 0x90, \r
-       0xd5, 0x2b, 0x7f, 0x2e, 0x68, 0x28, 0x66, 0x86, 0x96, 0x50, \r
-       0x45, 0x27, 0xda, 0x38, 0x2b, 0x35, 0x14, 0x40, 0xb8, 0x8c, \r
-       0xd9, 0xa2, 0x69, 0x84, 0x1c, 0xc5, 0xd, 0x48, 0x82, 0x97, \r
-       0x94, 0x3d, 0x6, 0x7f, 0x7a, 0xb8, 0x48, 0x43, 0x48, 0x43, \r
-       0x25, 0x2c, 0x13, 0x12, 0x15, 0xe5, 0xbf, 0xbc, 0x84, 0x13, \r
-       0x6d, 0xd9, 0x70, 0x9d, 0x4e, 0x6d, 0x27, 0xaa, 0xc9, 0x99, \r
-       0x2d, 0x84, 0x1c, 0x91, 0xc, 0xfa, 0x2c, 0xef, 0xb9, 0x4, \r
-       0xb9, 0x32, 0xaf, 0xa2, 0x39, 0xf8, 0xca, 0x73, 0xf9, 0xab, \r
-       0x22, 0xfd, 0xc9, 0x2b, 0x76, 0xe3, 0x11, 0xc4, 0xe4, 0xc4, \r
-       0xe9, 0x17, 0x1a, 0xd7, 0x2f, 0xce, 0xa, 0x74, 0x76, 0x48, \r
-       0xd7, 0x52, 0x84, 0xa, 0xc9, 0x1f, 0x66, 0xb1, 0x7e, 0x3c, \r
-       0x7a, 0x4f, 0xf8, 0x5c, 0x2d, 0xcb, 0x33, 0x78, 0x6a, 0xcf, \r
-       0xee, 0x3a, 0x87, 0x93, 0x2a, 0x89, 0x80, 0xd8, 0xb2, 0x6e, \r
-       0xd2, 0x2, 0xad, 0xfb, 0xd6, 0x71, 0x37, 0x18, 0x4, 0x7b, \r
-       0x92, 0x28, 0x25, 0x87, 0xa5, 0x7a, 0xb9, 0xd1, 0xfe, 0x3b, \r
-       0x97, 0x51, 0x9d, 0x61, 0xde, 0x41, 0x29, 0x40, 0x1, 0xbf, \r
-       0xbd, 0x70, 0x62, 0x9e, 0xc, 0xb4, 0x1f, 0xb7, 0x74, 0x9, \r
-       0x13, 0x4d, 0x2a, 0xd6, 0xda, 0x22, 0xdc, 0x61, 0x60, 0x5e, \r
-       0x97, 0x6c, 0x9e, 0x41, 0x8d, 0x1f, 0x50, 0xbb, 0x71, 0xeb, \r
-       0x1b, 0x55, 0x5d, 0xf0, 0x3e, 0xd8, 0x82, 0xe8, 0xf7, 0xcf, \r
-       0x3, 0xb0, 0x23, 0x41, 0x91, 0xe1, 0xe3, 0x33, 0xe2, 0xe1, \r
-       0x41, 0x77, 0x2b, 0x66, 0x50, 0x18, 0x77, 0xe9, 0x5c, 0x5e, \r
-       0xf0, 0x4, 0x12, 0x25, 0x96, 0x10, 0xf3, 0x48, 0x46, 0xe5, \r
-       0x38, 0x3, 0x4e, 0xe1, 0x93, 0xcd, 0xab, 0x26, 0x55, 0x56, \r
-       0x9, 0x8c, 0x39, 0x49, 0xca, 0xe8, 0x93, 0x4, 0x4d, 0xd8, \r
-       0xb, 0xbb, 0x3a, 0x87, 0xc6, 0xbf, 0x56, 0x1e, 0x7, 0x80, \r
-       0x39, 0xa0, 0xc8, 0x81, 0x8d, 0x19, 0x2f, 0xc6, 0x7c, 0xbd, \r
-       0x5e, 0xc0, 0x28, 0x16, 0x17, 0x50, 0x7a, 0xdc, 0x2, 0xd8, \r
-       0xcd, 0xf3, 0x92, 0x17, 0x96, 0x4f, 0x89, 0xc8, 0xc, 0x56, \r
-       0x33, 0xcb, 0x63, 0x57, 0x11, 0xc5, 0xa5, 0x8, 0x7b, 0xb3, \r
-       0xf4, 0x43, 0x8f, 0x8e, 0x8c, 0x98, 0x36, 0xe8, 0x6, 0xdd, \r
-       0x7d, 0x9a, 0x94, 0x15, 0xb3, 0x3c, 0x23, 0x43, 0x4b, 0x3e, \r
-       0x94, 0x2e, 0x6c, 0xe6, 0xa1, 0xd, 0x1a, 0x25, 0x31, 0x85, \r
-       0x15, 0x14, 0x17, 0x98, 0x6f, 0x68, 0xec, 0x5c, 0xb0, 0x91, \r
-       0x70, 0x81, 0x32, 0xcf, 0x1e, 0x6b, 0xf7, 0xcd, 0x7, 0xeb, \r
-       0x67, 0x1, 0xf0, 0x2e, 0x16, 0x23, 0xa0, 0xc0, 0xac, 0xd8, \r
-       0x5d, 0x9c, 0xad, 0x7b, 0x8d, 0xcc, 0x89, 0xcd, 0x3c, 0x58, \r
-       0x87, 0x55, 0x27, 0xb7, 0x90, 0x6a, 0xb6, 0xf1, 0xd, 0x15, \r
-       0x65, 0x4, 0x55, 0x45, 0x6e, 0xd9, 0x5b, 0x27, 0x60, 0x1f, \r
-       0x36, 0x25, 0x7c, 0xb3, 0x42, 0x28, 0x91, 00, 0xef, 0xff, \r
-       0xce, 0x27, 0x42, 0xe0, 0x58, 0x9d, 0xa5, 0x4f, 0x28, 0x23, \r
-       0xde, 0x5f, 0x24, 0x6c, 0x91, 0xe9, 0x2c, 0x35, 0xb6, 0xc8, \r
-       0xd7, 0xc, 0xee, 0x50, 0x3c, 0x77, 0x72, 0xcb, 0x76, 0x42, \r
-       0x3, 0x34, 0xba, 0xb4, 0xf2, 0x29, 0xf1, 0x51, 0x44, 0x43, \r
-       0x8b, 0xc8, 0x8d, 0x69, 0x11, 0x32, 0xcd, 0x17, 0xef, 0xfa, \r
-       0xcf, 0xf4, 0x28, 0x61, 0x37, 0x1e, 0xcc, 0xa1, 0x37, 0x6e, \r
-       0x9d, 0xa4, 0x40, 0x51, 0x28, 0x31, 0x28, 0xa8, 0x34, 0x66, \r
-       0x1f, 0x48, 0x18, 0xaf, 0x49, 0x63, 0xb8, 0x92, 0x6f, 0xac, \r
-       0x44, 0xdd, 0x56, 0xad, 0xcc, 0xc3, 0x6e, 0x41, 0xc3, 0x43, \r
-       0x45, 0xb0, 0xec, 0xfe, 0xd9, 0x32, 0x9a, 0xb8, 0x7c, 0x2d, \r
-       0xee, 0x25, 0x43, 0xe8, 0x31, 0x28, 0x83, 0x67, 0xd, 0xe0, \r
-       0xb6, 0x56, 0x5f, 0x95, 0xb7, 0xd5, 0x12, 0xec, 0x56, 0x7f, \r
-       0xcc, 0x5b, 0x84, 0xa6, 0x30, 0x9f, 0x5c, 0x3, 0xd6, 0x7d, \r
-       0xe5, 0x5b, 0x8c, 0x46, 0xa2, 0xc0, 0xdc, 0x75, 0xf9, 0x19, \r
-       0x7a, 0xc, 0xca, 0xdb, 0x9e, 0xc7, 0xa1, 0xc9, 0xa1, 0x71, \r
-       0x65, 0xd3, 0xf6, 0x38, 0xb6, 0xdc, 0xf3, 0x10, 0x90, 0x5b, \r
-       0x16, 0x5b, 0x23, 0x33, 0x42, 0x85, 0x89, 0xc0, 0x6e, 0xda, \r
-       0xe4, 0xac, 0xe9, 0x26, 0x85, 0x9d, 0x9a, 0xe5, 0xc1, 0x30, \r
-       0x95, 0x55, 0x3c, 0xc9, 0xd9, 0xe1, 0x6f, 0xfd, 0xd, 0x9a, \r
-       0x8c, 0x51, 0xe3, 0x9b, 0x6c, 0x10, 0xcc, 0x82, 0x5b, 0x37, \r
-       0x3a, 0x82, 0xc7, 0xe4, 0xcf, 0x66, 0xea, 0xe, 0x91, 0x4b, \r
-       0xbe, 0x95, 0x7, 0xf2, 0x40, 0x10, 0x22, 0x43, 0x5e, 0x82, \r
-       0xc2, 0xe4, 0x97, 0x2d, 0xdf, 0x6, 0xce, 0xcb, 0x30, 0xec, \r
-       0x24, 0x93, 0x97, 0x6b, 0xd3, 0x24, 0xec, 0x1c, 0x33, 0x7, \r
-       0xda, 0x4b, 0xb, 0xdc, 0x23, 0x60, 0xe4, 0xaf, 0x8d, 0xff, \r
-       0x81, 0x27, 0x8a, 0x94, 0x96, 0x4d, 0xa1, 0x38, 0x93, 0x39, \r
-       0x67, 0x61, 0x73, 0x3b, 0x27, 0x9a, 0x72, 0xba, 0x60, 0xf1, \r
-       0xc8, 0x98, 0x68, 0xe5, 0xcb, 0x70, 0x61, 0xc6, 0xd2, 0x22, \r
-       0xe5, 0x22, 0xe, 0x10, 0xc2, 0x30, 0x8e, 0xb8, 0x4f, 0xc9, \r
-       0x86, 0x8e, 0x17, 0x72, 0xff, 0x9c, 0xfd, 0xc, 0xfc, 0xf8, \r
-       0xe8, 0xf0, 0x11, 0x17, 0x70, 0xbf, 0x69, 0x87, 0xf3, 0x60, \r
-       0x48, 0xc, 0xcd, 0xa6, 0xb0, 0x14, 0x17, 0x62, 0x4d, 0x53, \r
-       0xaf, 0x6a, 0x89, 0x13, 0x89, 0xc4, 0x7d, 0x73, 0x52, 0x16, \r
-       0x6c, 0x86, 0x9, 0x23, 0x5b, 0x59, 0xc0, 0x5a, 0x52, 0xb0, \r
-       0x1, 0x1f, 0xbc, 0x77, 0x65, 0xd6, 0x1, 0x25, 0x6, 0xf5, \r
-       0xf4, 0x74, 0xe1, 0xe0, 0x8d, 0x85, 0xc6, 0x3f, 0x47, 0xcc, \r
-       0x26, 0xc0, 0xe6, 0x66, 0xa1, 0xc9, 0x46, 0xd1, 0x25, 0xd1, \r
-       0x45, 0x12, 0x6a, 0xfc, 0xf3, 0x24, 0xd, 0x85, 0x3f, 00, \r
-       0x23, 0xd5, 0x6e, 0xb1, 0x16, 0x63, 0x11, 0x1c, 0x30, 0x24, \r
-       0xd3, 00, 0x14, 0xcd, 0xb3, 0xac, 0x4, 0xbd, 0x10, 0xfd, \r
-       0x1b, 0x15, 0x93, 0x82, 0x5d, 0xb1, 0xc, 0x49, 0xf1, 0xfa, \r
-       0x67, 0x9f, 0x24, 0xec, 0x1e, 0x6e, 0x10, 0x6c, 0xb5, 0x5a, \r
-       0x34, 0xc1, 0xe0, 0x83, 0x1c, 0x83, 0xcd, 0xc3, 0x2c, 0xb0, \r
-       0x16, 0xd1, 0x65, 0xf0, 0x41, 0x11, 0x36, 0x6a, 0xdf, 0x76, \r
-       0x5f, 0x70, 0x25, 0x7a, 0xbb, 0x32, 0x54, 0x82, 0x60, 0xc5, \r
-       0x22, 0x91, 0x67, 0x75, 0xf7, 0x63, 0xb, 0x16, 0xb3, 0xba, \r
-       0x5f, 0xa5, 0xc8, 0xe0, 0x68, 0x46, 0x53, 0x69, 0xab, 0x54, \r
-       0xea, 0x8a, 0x94, 0x47, 0xeb, 0x30, 0x68, 0x73, 0x4a, 0xe2, \r
-       0x2f, 0xf7, 0x24, 0x4a, 0xca, 0x8b, 0xfd, 0xc6, 0xc9, 0x9f, \r
-       0xa8, 0x47, 0x66, 0x96, 0xa2, 0xa1, 0x9, 0x4e, 0x7f, 0x3f, \r
-       0x8e, 0x43, 0x47, 0x1a, 0x5f, 0xaf, 0x98, 0xab, 0xf1, 0x75, \r
-       0xa0, 0x50, 0x35, 0x15, 0xc8, 0xce, 0x44, 0x53, 0x69, 0x32, \r
-       0x55, 0x46, 0x9d, 0x7a, 0xa2, 0xe, 0xfc, 0xb0, 0xa7, 0xad, \r
-       0x1e, 0xc6, 0xda, 0x63, 0x67, 0xfa, 0xb, 0x42, 0x59, 0xb1, \r
-       0x8, 0xdb, 0x49, 0x45, 0xc0, 0xdf, 0x1f, 0x45, 0xe7, 0x50, \r
-       0xb3, 0x65, 0xa0, 0x5a, 0xb6, 0xf7, 0xe3, 0x4, 0xd6, 0xb0, \r
-       0xc6, 0x5, 0x6a, 0x55, 0xb9, 0x3a, 0xd4, 0xae, 0x92, 0x85, \r
-       0xbd, 0xb8, 0x26, 0x24, 0x92, 0x7d, 0xea, 0xe5, 0x94, 0x2, \r
-       0xb5, 0xa2, 0x3e, 0xe2, 0x8c, 0xc8, 0xdd, 0x36, 0xe8, 0x16, \r
-       0x96, 0x5d, 0x82, 0x5, 0xd4, 0x1a, 0x23, 0x8b, 0x51, 0x69, \r
-       0x4f, 0xe0, 0x8b, 0x99, 0x8b, 0x3d, 0xbe, 0x9b, 0xcd, 0x41, \r
-       0x88, 0xb1, 0xdd, 0xc3, 0x4c, 0x44, 0x79, 0xcc, 0x82, 0xdc, \r
-       0x8d, 0x47, 0x81, 0xfb, 0x4e, 0xc7, 0x3, 0xcd, 0x3b, 0xa0, \r
-       0x72, 0xb1, 0x5, 0x1, 0xfd, 0x2a, 0xa, 0x8f, 0xf9, 0xf3, \r
-       0x35, 0x47, 0x7c, 0x8a, 0xa5, 0x47, 0x26, 0x2b, 0xb3, 0xd0, \r
-       0xf3, 0xad, 0xab, 0x72, 0x5b, 0x99, 0xa3, 0x7, 0xd7, 0x10, \r
-       0xce, 0x63, 0x58, 0x8, 0x5a, 0x6e, 0x9, 0xd1, 0xcd, 0x45, \r
-       0xc0, 0xbb, 0x55, 0x77, 0xc8, 0x20, 0xe0, 0x76, 0x41, 0xad, \r
-       0xee, 0x15, 0x4b, 0xb6, 0x10, 0xdb, 0x73, 0xc4, 0x5f, 0x6a, \r
-       0x2e, 0x5c, 0x18, 0x11, 0x6c, 0x6, 0xf7, 0xfa, 0xb9, 0x8b, \r
-       0x32, 0x3b, 0x21, 0xd3, 0xeb, 0x94, 0xff, 0x17, 0xf0, 0xd5, \r
-       0xd5, 0xc6, 0x9c, 0xd4, 0xe0, 0xf0, 0x8, 0x31, 0xbe, 0x1, \r
-       0x83, 0x61, 0x1c, 0xb6, 0x2c, 0x4, 0x4c, 0xf2, 0x75, 0xc, \r
-       0x8a, 0x5, 0x5, 0x37, 0xc8, 0x80, 0xb, 0xed, 0x9a, 0xc3, \r
-       0x6, 0x19, 0x37, 0x90, 0x7e, 0xdc, 0x4a, 0x32, 0x82, 0xd4, \r
-       0x29, 0x92, 0xd9, 0x3e, 0xdc, 0x71, 0x26, 0xcd, 0x30, 0x47, \r
-       0x1e, 0xde, 0x82, 0x18, 0x7d, 0x3, 0x4b, 0x8c, 0xe6, 0xc, \r
-       0x56, 0x57, 0xc3, 0x2d, 0x49, 0x70, 0x9f, 0x17, 0x18, 0xee, \r
-       0x56, 0x98, 0x8b, 0x59, 0xf2, 0x98, 0x2e, 0x59, 0xd8, 0x18, \r
-       0xeb, 0xf5, 0x31, 0xf0, 0xe9, 0x91, 0x43, 0xc4, 0x8b, 0x4, \r
-       0x32, 0xca, 0x91, 0xc4, 0xfd, 0x2a, 0xd2, 0xa, 0x9a, 0x2a, \r
-       0x6c, 0x41, 0x8b, 0xcc, 0xd, 0xe7, 0x89, 0x8b, 0x1c, 0x4c, \r
-       0xbe, 0xcf, 0xd1, 0xf0, 0x66, 0x20, 0x67, 0x5, 0x92, 0xf1, \r
-       0x8e, 0x41, 0x1e, 0xb3, 0x51, 0x7f, 0x5e, 0x10, 0x4, 0xb8, \r
-       0x8a, 0x3d, 0x1f, 0x91, 0xab, 0x51, 0xc0, 0xa2, 0x6e, 0x1a, \r
-       0x7f, 0x53, 0x63, 0x29, 0x4, 0x6b, 0xa1, 0xa6, 0x78, 0x4c, \r
-       0x9e, 0x8e, 0xc7, 0xc8, 0x64, 0x29, 0x86, 0x13, 0x65, 0x1f, \r
-       0xd4, 0xe8, 0xe6, 0xb7, 0x3a, 0x47, 0xba, 0xca, 0xde, 0xf1, \r
-       0x5c, 0x5e, 0xf3, 0x63, 0x65, 0x2c, 0x15, 0x65, 0x35, 0xba, \r
-       0xb4, 0xde, 0xe6, 0xd0, 0xef, 0xe8, 0xe5, 0x82, 0x33, 0xfe, \r
-       0xdd, 0xe6, 0xd, 0xf9, 0x7e, 0xb3, 0x78, 0x61, 0x96, 0xe3, \r
-       0xa6, 0xa3, 00, 0x59, 0xd8, 0xae, 0xa2, 0xbe, 0x21, 0x68, \r
-       0xff, 0xf, 0xc0, 0xd, 0x6, 0x12, 0x9f, 0x6f, 0x55, 0x17, \r
-       0x36, 0x35, 0x1c, 0xb9, 0xd5, 0x81, 0x6, 0xfd, 0xc2, 0xb2, \r
-       0xb9, 0x51, 0x58, 0xa8, 0x9d, 00, 0xb3, 0x39, 0x1f, 0x51, \r
-       0x6, 0xfe, 0xc, 0xb5, 0xcc, 0x62, 0xa5, 0xf1, 0x21, 0x9, \r
-       0x2b, 0x77, 0x99, 0xf9, 0xfe, 0x6e, 0x3f, 0x75, 0xc9, 0x60, \r
-       0x53, 0x90, 0x3b, 0xe5, 0x7b, 0xf5, 0xab, 0x28, 0xc0, 0x66, \r
-       0x47, 0x1b, 0x54, 0x3d, 0x34, 0xf3, 0x36, 0x6c, 0x3f, 0x1f, \r
-       0xe6, 0xe2, 0x2a, 0x59, 0xf1, 0x2c, 0x21, 0xf8, 0xa7, 0xba, \r
-       0xdf, 0x58, 0x7, 0xeb, 0xd0, 0x66, 0x69, 0xb1, 0xeb, 0x9e, \r
-       0x7d, 0x20, 0xd6, 0x78, 0xd9, 0xde, 0xc, 0x14, 0x26, 0x7b, \r
-       0x8b, 0x8e, 0xd0, 0x25, 0xb3, 0x2f, 0x95, 0xf4, 0xb8, 0x1f, \r
-       0x95, 0xb0, 0x98, 0x74, 0xdc, 0x95, 0x87, 0x11, 0x56, 0x8, \r
-       0xb0, 0x9c, 0x38, 0x27, 0xdf, 0x68, 0x24, 0xc0, 0x84, 0xa7, \r
-       0x3f, 0x2d, 0xef, 0x94, 0x36, 0x86, 0x16, 0x8, 0x64, 0xc2, \r
-       0x8b, 0xa4, 0xbd, 0x36, 0xa, 0x28, 0xc2, 0xb2, 0x26, 0xdc, \r
-       0xd, 0xe, 0x17, 0x77, 0xcb, 0x98, 0x50, 0xef, 0x4a, 0xe6, \r
-       0xce, 0x2f, 0x6b, 0x41, 0x53, 0xe3, 0xbb, 0x3c, 0x3c, 0x44, \r
-       0xa0, 0xd6, 0x73, 0x28, 0x5e, 0x10, 0xa3, 0xa4, 0xa4, 0xe9, \r
-       0x62, 0xb, 0x40, 0xb6, 0x56, 0x31, 0x20, 0x3c, 0x28, 0x39, \r
-       0x89, 0xa0, 0x84, 0x4b, 0x8a, 0xec, 0x57, 0xa0, 0xd1, 0xc, \r
-       0xb5, 0xa, 0xba, 0xeb, 0x28, 0x3c, 0x8, 0xa4, 0xae, 0xa6, \r
-       0x2e, 0x99, 0x4a, 0x2f, 0x31, 0xe5, 0xbf, 0x2c, 0xa5, 0xfa, \r
-       0xff, 0xd, 0x47, 0x6f, 0x42, 0x2, 0x70, 0xd7, 0xcb, 0x76, \r
-       0xb5, 0x4d, 0xcb, 0x12, 0xac, 0x29, 0x17, 0xea, 0xd1, 0xc8, \r
-       0x56, 0x43, 0x7b, 0xb0, 0x71, 0x2f, 0x5f, 0x2a, 0xc5, 0x1c, \r
-       0x4b, 0x7f, 0x91, 0x9b, 0x9e, 0xd6, 0xeb, 0x9e, 0x75, 0x26, \r
-       0x10, 0x36, 0x3b, 0x71, 0x11, 0x5d, 0x1, 0xb8, 0xb8, 0xd6, \r
-       0xce, 0x6e, 0xdf, 0xf, 0x7, 0xc7, 0x26, 0x52, 0xe2, 0xf4, \r
-       0xc7, 0x8e, 0xa, 0xa, 0xd, 0x6f, 0xd9, 0xab, 0xa5, 0x9f, \r
-       0x3, 0xf0, 0xfc, 0x2b, 0x21, 0x21, 0xe4, 0x4d, 0x14, 0xac, \r
-       0x8a, 0xde, 0x51, 0x1f, 0x51, 0xba, 0x22, 0x53, 0x31, 0x31, \r
-       0xaa, 0xfe, 0x33, 0x2, 0xcb, 0xea, 0x5a, 0x83, 0xc0, 0x85, \r
-       0x1d, 0xbe, 0xb, 0x23, 0x89, 0x43, 0xf7, 0xff, 0x1f, 0xef, \r
-       0x40, 0x7c, 0x19, 0x90, 0x2d, 0xa8, 0xbe, 0xbd, 0xe9, 0xe9, \r
-       0x2f, 0x5e, 0xd0, 0x55, 0x51, 0x20, 0x40, 0x56, 0x50, 0x7d, \r
-       0xa7, 0x9c, 0xe0, 0x96, 0xd9, 0xef, 0x86, 0xa0, 0x40, 0xe3, \r
-       0xab, 0xfe, 0xc6, 0x56, 0xf5, 0x97, 0xbc, 0x18, 0xf7, 0xe5, \r
-       0x81, 0x77, 0x63, 0x76, 0x3a, 0x54, 0x50, 0x1d, 0x59, 0x2f, \r
-       0xf0, 0x70, 0xb3, 0xdc, 0xf0, 0x5d, 0xf8, 0x3e, 0x8f, 0x87, \r
-       0x69, 0xd9, 0x70, 0xea, 0x71, 0xdf, 0xd2, 0xea, 0x5, 0x4d, \r
-       0x12, 0x82, 0x93, 0x70, 0x8b, 0x1e, 0x17, 0x76, 0xbe, 0xe0, \r
-       0x68, 0x8d, 0xc0, 0xad, 0xce, 0xd0, 0x33, 0x76, 0xbd, 0x79, \r
-       0xd4, 0x77, 0x21, 0xa6, 0x16, 0x46, 0x8e, 0xbb, 0x7e, 0x8d, \r
-       0xba, 0xad, 0x1, 0x80, 0xf9, 0x7b, 0x7, 0xb1, 0x34, 0x2e, \r
-       0x6c, 0xe2, 0x5a, 0x87, 0xb0, 0xe8, 0x2f, 0x6d, 0xe9, 0x10, \r
-       0x5e, 0x14, 0xf0, 0x30, 0x7a, 0x5b, 0x8, 0x93, 0x5f, 0xd3, \r
-       0xf8, 0xe, 0xc8, 0x64, 0x1, 0x95, 0x40, 0x40, 0x36, 0x66, \r
-       0x9f, 0xc4, 0x97, 0x3, 0xa7, 0x18, 0x32, 0x61, 0xf3, 0x4a, \r
-       0xa2, 0x1f, 0x95, 0x6b, 0x30, 0x9, 0x91, 0x6b, 0xe3, 0x57, \r
-       0x8f, 0x2c, 0x4a, 0x8c, 0xa7, 0x2c, 0x93, 0x5, 0x3c, 0x8a, \r
-       0x76, 0x2c, 0x28, 0xb8, 0xd5, 0x59, 0x53, 0xd5, 0xce, 0x81, \r
-       0xb0, 0xb9, 0xe2, 0x4a, 0x9e, 0x44, 0x56, 0x1c, 0xfc, 0x98, \r
-       0x81, 0x6f, 0xfc, 0x9d, 0xfc, 0xac, 0xcc, 0xc5, 0xd3, 0x84, \r
-       0x4e, 0x9b, 0x98, 0xb8, 0xfa, 0xbb, 0xd9, 0x1c, 0x8, 0xdd, \r
-       0xfc, 0x8a, 0xec, 0x42, 0xc4, 0x1, 0xe5, 0x3e, 0xb7, 0x80, \r
-       0xe2, 0xeb, 0xd7, 0xc0, 0x1, 0x13, 0x1, 0xc6, 0x4c, 0x6a, \r
-       0x4b, 0x83, 0x81, 0x9, 0x59, 0xd8, 0x84, 0x77, 0xdc, 0x20, \r
-       0x4, 0x5b, 0xfd, 0x9b, 0x12, 0x50, 0x26, 0x1a, 0x4d, 0x6f, \r
-       0xcb, 0x6, 0x1c, 0x5f, 0x2d, 0xaf, 0x67, 0xa, 0xfe, 0x33, \r
-       0x12, 0x81, 0x50, 0xb1, 0x51, 0x83, 0xc4, 0xc9, 0xf4, 0xfd, \r
-       0xf, 0x26, 0x50, 0x51, 0x40, 0x20, 0x9, 0x2b, 0xbe, 0x6b, \r
-       0xf0, 0xd9, 0xc3, 0xbf, 0x18, 0x14, 0x8, 0xf4, 0x9c, 0x94, \r
-       0xde, 0xd8, 0x30, 0x14, 0x9, 0xbb, 0xc7, 0x46, 0xde, 0xe, \r
-       0x5d, 0xec, 0xc2, 0x2, 0xbf, 0x13, 0xc1, 0xf5, 0xe8, 0xfe, \r
-       00, 0x4f, 0xdf, 0x26, 0x55, 0x1a, 0x76, 0x69, 0x81, 0x3e, \r
-       0x84, 0x19, 0xcd, 0x16, 0xb7, 0x76, 0x99, 0xc3, 0x87, 0xbd, \r
-       0xb1, 0xda, 0x89, 0x32, 0xe2, 0x7b, 0x71, 0x76, 0x52, 0xf1, \r
-       0x8c, 0x1, 0x24, 0x8a, 0x2f, 0x8d, 0x72, 0x53, 0xff, 0x6f, \r
-       0xeb, 0x1e, 0xdb, 0x1b, 0x4, 0x5e, 0x9c, 0xf2, 0xff, 0x7c, \r
-       0x25, 0x11, 0xfc, 0x1d, 0xe1, 0x4f, 0x26, 0xaf, 0xbd, 0xea, \r
-       0x67, 0xf9, 0x6f, 0x2a, 0x60, 0x7e, 0x32, 0x3b, 0x43, 0x10, \r
-       0x16, 0x80, 0xdf, 0xbf, 0xa5, 0x7f, 0x2f, 0xe9, 0x17, 0xcd, \r
-       0xf4, 0x47, 0x15, 0x44, 0x8, 0xda, 0xc8, 0x7e, 0x36, 0x50, \r
-       0x28, 0x6e, 0x21, 0xfe, 0x1f, 0xd2, 0xa8, 0xa2, 0x91, 0xdc, \r
-       0x83, 0x90, 0x3, 00, 00, 00, 00, 0x49, 0x45, 0x4e, \r
-       0x44, 0xae, 0x42, 0x60, 0x82, };\r
-\r
-static const char data_cgi_files[] = {\r
-       /* /cgi/files */\r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0,\r
-       0x23, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x73, 0x63, 0x72, \r
-       0x69, 0x70, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x73, 0x20, \r
-       0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, \r
-       0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, \r
-       0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x69, 0x66, 0x66, \r
-       0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, \r
-       0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0xd, 0xa, \r
-       0x23, 0x20, 0x77, 0x65, 0x62, 0x20, 0x73, 0x65, 0x72, 0x76, \r
-       0x65, 0x72, 0x2e, 0xd, 0xa, 0x23, 0xd, 0xa, 0x23, 0x20, \r
-       0x46, 0x69, 0x72, 0x73, 0x74, 0x2c, 0x20, 0x77, 0x65, 0x20, \r
-       0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, \r
-       0x65, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x68, 0x65, 0x61, \r
-       0x64, 0x65, 0x72, 0x2e, 0xd, 0xa, 0x69, 0x20, 0x2f, 0x66, \r
-       0x69, 0x6c, 0x65, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, \r
-       0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, 0x23, 0x20, \r
-       0x50, 0x72, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x20, \r
-       0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, \r
-       0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, \r
-       0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x61, 0x6c, 0x6c, \r
-       0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, \r
-       0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, \r
-       0x72, 0x69, 0x6e, 0x74, 0x73, 0xd, 0xa, 0x23, 0x20, 0x74, \r
-       0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, \r
-       0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, \r
-       0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x66, \r
-       0x69, 0x6c, 0x65, 0x2e, 0xd, 0xa, 0x74, 0x20, 0x3c, 0x74, \r
-       0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0x3c, 0x61, 0x20, 0x68, \r
-       0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x69, 0x6e, 0x64, 0x65, \r
-       0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x2f, 0x69, \r
-       0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x3c, \r
-       0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, \r
-       0x64, 0x3e, 0xd, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, 0x69, \r
-       0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0xd, \r
-       0xa, 0x74, 0x20, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, \r
-       0x74, 0x72, 0x3e, 0x20, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, \r
-       0x64, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, \r
-       0x22, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, \r
-       0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x2f, 0x63, 0x6f, 0x6e, \r
-       0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x3c, \r
-       0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, \r
-       0x64, 0x3e, 0xd, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, 0x63, \r
-       0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x68, 0x74, 0x6d, \r
-       0x6c, 0xd, 0xa, 0x74, 0x20, 0x3c, 0x2f, 0x74, 0x64, 0x3e, \r
-       0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x20, 0x3c, 0x74, 0x72, 0x3e, \r
-       0x3c, 0x74, 0x64, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, \r
-       0x66, 0x3d, 0x22, 0x2f, 0x69, 0x6d, 0x67, 0x2f, 0x6c, 0x6f, \r
-       0x67, 0x6f, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x3e, 0x2f, 0x69, \r
-       0x6d, 0x67, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x6e, \r
-       0x67, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, \r
-       0x3c, 0x74, 0x64, 0x3e, 0xd, 0xa, 0x63, 0x20, 0x62, 0x20, \r
-       0x2f, 0x69, 0x6d, 0x67, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, \r
-       0x70, 0x6e, 0x67, 0xd, 0xa, 0x74, 0x20, 0x3c, 0x2f, 0x74, \r
-       0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x20, 0x3c, 0x74, \r
-       0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0x3c, 0x61, 0x20, 0x68, \r
-       0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x34, 0x30, 0x34, 0x2e, \r
-       0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x2f, 0x34, 0x30, 0x34, \r
-       0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, \r
-       0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0xd, 0xa, \r
-       0x63, 0x20, 0x62, 0x20, 0x2f, 0x34, 0x30, 0x34, 0x2e, 0x68, \r
-       0x74, 0x6d, 0x6c, 0xd, 0xa, 0x74, 0x20, 0x3c, 0x2f, 0x74, \r
-       0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x20, 0x3c, 0x74, \r
-       0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0x3c, 0x61, 0x20, 0x68, \r
-       0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x63, 0x67, 0x69, 0x2f, \r
-       0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x3e, 0x2f, 0x63, 0x67, \r
-       0x69, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x3c, 0x2f, 0x61, \r
-       0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, 0x64, 0x3e, \r
-       0xd, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, 0x63, 0x67, 0x69, \r
-       0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0xd, 0xa, 0x74, 0x20, \r
-       0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, \r
-       0x20, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x63, \r
-       0x67, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x3e, \r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, \r
-       0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x74, 0x64, 0x3e, 0xd, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, \r
-       0x63, 0x67, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0xd, \r
-       0xa, 0x74, 0x20, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, \r
-       0x74, 0x72, 0x3e, 0x20, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, \r
-       0x64, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, \r
-       0x22, 0x2f, 0x63, 0x67, 0x69, 0x2f, 0x74, 0x63, 0x70, 0x22, \r
-       0x3e, 0x2f, 0x63, 0x67, 0x69, 0x2f, 0x74, 0x63, 0x70, 0x3c, \r
-       0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, \r
-       0x64, 0x3e, 0xd, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, 0x63, \r
-       0x67, 0x69, 0x2f, 0x74, 0x63, 0x70, 0xd, 0xa, 0x74, 0x20, \r
-       0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, \r
-       0xd, 0xa, 0x23, 0x20, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, \r
-       0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x54, 0x4d, 0x4c, \r
-       0x20, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0xd, 0xa, \r
-       0x69, 0x20, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x66, \r
-       0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x6c, 0x61, 0x69, \r
-       0x6e, 0xd, 0xa, 0x23, 0x20, 0x45, 0x6e, 0x64, 0x20, 0x6f, \r
-       0x66, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0xd, \r
-       0xa, 0x2e, };\r
-\r
-static const char data_cgi_stats[] = {\r
-       /* /cgi/stats */\r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0,\r
-       0x69, 0x20, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x68, \r
-       0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, \r
-       0xd, 0xa, 0x63, 0x20, 0x61, 0xd, 0xa, 0x69, 0x20, 0x2f, \r
-       0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x74, \r
-       0x65, 0x72, 0x2e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0xd, 0xa, \r
-       0x2e, 0xd, 0xa, };\r
-\r
-static const char data_cgi_tcp[] = {\r
-       /* /cgi/tcp */\r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x74, 0x63, 0x70, 0,\r
-       0x69, 0x20, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x68, 0x65, 0x61, \r
-       0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0x63, 0x20, 0x63, 0xd, 0xa, 0x69, 0x20, 0x2f, 0x74, 0x63, \r
-       0x70, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0x70, \r
-       0x6c, 0x61, 0x69, 0x6e, 0xd, 0xa, 0x2e, };\r
-\r
-static const char data_cgi_rtos[] = {\r
-       /* /cgi/rtos */\r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x72, 0x74, 0x6f, 0x73, 0,\r
-       0x74, 0x20, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x3c, 0x68, \r
-       0x65, 0x61, 0x64, 0x3e, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, \r
-       0x3e, 0x75, 0x49, 0x50, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x20, \r
-       0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x45, 0x6d, 0x62, \r
-       0x65, 0x64, 0x64, 0x65, 0x64, 0x20, 0x54, 0x43, 0x50, 0x2f, \r
-       0x49, 0x50, 0x20, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x20, 0x4f, \r
-       0x6e, 0x20, 0x46, 0x72, 0x65, 0x65, 0x52, 0x54, 0x4f, 0x53, \r
-       0x20, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x3c, 0x2f, 0x74, \r
-       0x69, 0x74, 0x6c, 0x65, 0x3e, 0x3c, 0x2f, 0x68, 0x65, 0x61, \r
-       0x64, 0x3e, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x42, 0x47, \r
-       0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x3d, 0x22, 0x23, 0x43, 0x43, \r
-       0x43, 0x43, 0x46, 0x46, 0x22, 0x3e, 0x3c, 0x66, 0x6f, 0x6e, \r
-       0x74, 0x20, 0x66, 0x61, 0x63, 0x65, 0x3d, 0x22, 0x61, 0x72, \r
-       0x69, 0x61, 0x6c, 0x22, 0x3e, 0x3c, 0x73, 0x6d, 0x61, 0x6c, \r
-       0x6c, 0x3e, 0x3c, 0x62, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, \r
-       0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x77, 0x77, 0x77, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x72, \r
-       0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x72, 0x67, 0x22, 0x20, 0x74, \r
-       0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x74, 0x6f, \r
-       0x70, 0x22, 0x3e, 0x46, 0x72, 0x65, 0x65, 0x52, 0x54, 0x4f, \r
-       0x53, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x70, 0x61, 0x67, 0x65, \r
-       0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x62, 0x3e, 0x3c, 0x2f, \r
-       0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x3e, 0x3c, 0x70, 0x3e, 0x3c, \r
-       0x48, 0x31, 0x3e, 0x41, 0x54, 0x39, 0x31, 0x53, 0x41, 0x4d, \r
-       0x37, 0x58, 0x20, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, \r
-       0x64, 0x20, 0x57, 0x45, 0x42, 0x20, 0x53, 0x65, 0x72, 0x76, \r
-       0x65, 0x72, 0x20, 0x44, 0x65, 0x6d, 0x6f, 0x3c, 0x62, 0x72, \r
-       0x3e, 0x3c, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x3e, 0x55, 0x73, \r
-       0x69, 0x6e, 0x67, 0x20, 0x75, 0x49, 0x50, 0x20, 0x61, 0x6e, \r
-       0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x72, 0x65, 0x65, \r
-       0x52, 0x54, 0x4f, 0x53, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x20, \r
-       0x74, 0x69, 0x6d, 0x65, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, \r
-       0x6c, 0x3c, 0x2f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x3e, 0x3c, \r
-       0x2f, 0x68, 0x31, 0x3e, 0x3c, 0x70, 0x3e, 0x54, 0x68, 0x65, \r
-       0x73, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x73, 0x20, 0x61, \r
-       0x72, 0x65, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x73, \r
-       0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, \r
-       0x6e, 0x20, 0x41, 0x74, 0x6d, 0x65, 0x6c, 0x20, 0x41, 0x54, \r
-       0x39, 0x31, 0x53, 0x41, 0x4d, 0x37, 0x58, 0x32, 0x35, 0x36, \r
-       0x20, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x63, 0x6f, 0x6e, 0x74, \r
-       0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x73, \r
-       0x69, 0x6e, 0x67, 0x20, 0x41, 0x64, 0x61, 0x6d, 0x20, 0x44, \r
-       0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x20, 0x6f, 0x70, 0x65, \r
-       0x6e, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x75, \r
-       0x49, 0x50, 0x20, 0x54, 0x43, 0x50, 0x2f, 0x49, 0x50, 0x20, \r
-       0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x3c, 0x70, 0x3e, 0x54, \r
-       0x68, 0x65, 0x20, 0x75, 0x49, 0x50, 0x20, 0x73, 0x74, 0x61, \r
-       0x63, 0x6b, 0x20, 0x69, 0x73, 0x20, 0x65, 0x78, 0x65, 0x63, \r
-       0x75, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, \r
-       0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, \r
-       0x74, 0x61, 0x73, 0x6b, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, \r
-       0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x6f, \r
-       0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x72, 0x65, 0x65, \r
-       0x52, 0x54, 0x4f, 0x53, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x20, \r
-       0x74, 0x69, 0x6d, 0x65, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, \r
-       0x6c, 0x2e, 0x20, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, \r
-       0x62, 0x6c, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x20, \r
-       0x73, 0x68, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, \r
-       0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, \r
-       0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, \r
-       0x68, 0x65, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x20, 0x69, \r
-       0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x6d, 0x6f, \r
-       0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x69, 0x74, \r
-       0x6f, 0x6e, 0x2e, 0x3c, 0x70, 0x3e, 0x3c, 0x70, 0x72, 0x65, \r
-       0x3e, 0x54, 0x61, 0x73, 0x6b, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, \r
-       0x20, 0x20, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, \r
-       0x20, 0x20, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x9, 0x23, 0x3c, \r
-       0x62, 0x72, 0x3e, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
-       0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
-       0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
-       0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
-       0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, \r
-       0x2a, 0x3c, 0x62, 0x72, 0x3e, 0xa, 0x63, 0x20, 0x64, 0xa, \r
-       0x74, 0x20, 0x3c, 0x2f, 0x70, 0x72, 0x65, 0x3e, 0x3c, 0x2f, \r
-       0x66, 0x6f, 0x6e, 0x74, 0x3e, 0x3c, 0x2f, 0x62, 0x6f, 0x64, \r
-       0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, \r
-       0x2e, 0xa, 0xa, 0xa, };\r
-\r
-static const char data_index_html[] = {\r
-       /* /index.html */\r
-       0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, \r
-       0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xd, 0xa, 0x3c, 0x2f, \r
-       0x68, 0x65, 0x61, 0x64, 0x3e, 0xd, 0xa, 0xd, 0xa, 0x3c, \r
-       0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x74, 0x20, 0x63, \r
-       0x6f, 0x6c, 0x73, 0x3d, 0x22, 0x2a, 0x22, 0x20, 0x72, 0x6f, \r
-       0x77, 0x73, 0x3d, 0x22, 0x31, 0x32, 0x30, 0x2c, 0x2a, 0x22, \r
-       0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x6f, 0x72, 0x64, \r
-       0x65, 0x72, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x3e, 0x20, 0xd, \r
-       0xa, 0x20, 0x20, 0x3c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20, \r
-       0x73, 0x72, 0x63, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x72, \r
-       0x6f, 0x6c, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0xd, \r
-       0xa, 0x20, 0x20, 0x3c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20, \r
-       0x73, 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x63, 0x67, 0x69, 0x2f, \r
-       0x72, 0x74, 0x6f, 0x73, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, \r
-       0x3d, 0x22, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3e, 0xd, 0xa, \r
-       0x3c, 0x2f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x74, \r
-       0x3e, 0xd, 0xa, 0xd, 0xa, 0x3c, 0x6e, 0x6f, 0x66, 0x72, \r
-       0x61, 0x6d, 0x65, 0x73, 0x3e, 0xd, 0xa, 0x3c, 0x62, 0x6f, \r
-       0x64, 0x79, 0x3e, 0xd, 0xa, 0x59, 0x6f, 0x75, 0x72, 0x20, \r
-       0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x20, 0x6d, 0x75, \r
-       0x73, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, \r
-       0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0xd, 0xa, 0x3c, \r
-       0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xd, 0xa, 0x3c, 0x2f, \r
-       0x6e, 0x6f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x3e, 0xd, \r
-       0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, };\r
-\r
-const struct fsdata_file file_404_html[] = {{NULL, data_404_html, data_404_html + 10, sizeof(data_404_html) - 10}};\r
-\r
-const struct fsdata_file file_control_html[] = {{file_404_html, data_control_html, data_control_html + 14, sizeof(data_control_html) - 14}};\r
-\r
-const struct fsdata_file file_files_footer_plain[] = {{file_control_html, data_files_footer_plain, data_files_footer_plain + 20, sizeof(data_files_footer_plain) - 20}};\r
-\r
-const struct fsdata_file file_files_header_html[] = {{file_files_footer_plain, data_files_header_html, data_files_header_html + 19, sizeof(data_files_header_html) - 19}};\r
-\r
-const struct fsdata_file file_stats_footer_plain[] = {{file_files_header_html, data_stats_footer_plain, data_stats_footer_plain + 20, sizeof(data_stats_footer_plain) - 20}};\r
-\r
-const struct fsdata_file file_stats_header_html[] = {{file_stats_footer_plain, data_stats_header_html, data_stats_header_html + 19, sizeof(data_stats_header_html) - 19}};\r
-\r
-const struct fsdata_file file_tcp_footer_plain[] = {{file_stats_header_html, data_tcp_footer_plain, data_tcp_footer_plain + 18, sizeof(data_tcp_footer_plain) - 18}};\r
-\r
-const struct fsdata_file file_tcp_header_html[] = {{file_tcp_footer_plain, data_tcp_header_html, data_tcp_header_html + 17, sizeof(data_tcp_header_html) - 17}};\r
-\r
-const struct fsdata_file file_img_logo_png[] = {{file_tcp_header_html, data_img_logo_png, data_img_logo_png + 14, sizeof(data_img_logo_png) - 14}};\r
-\r
-const struct fsdata_file file_cgi_files[] = {{file_img_logo_png, data_cgi_files, data_cgi_files + 11, sizeof(data_cgi_files) - 11}};\r
-\r
-const struct fsdata_file file_cgi_stats[] = {{file_cgi_files, data_cgi_stats, data_cgi_stats + 11, sizeof(data_cgi_stats) - 11}};\r
-\r
-const struct fsdata_file file_cgi_tcp[] = {{file_cgi_stats, data_cgi_tcp, data_cgi_tcp + 9, sizeof(data_cgi_tcp) - 9}};\r
-\r
-const struct fsdata_file file_cgi_rtos[] = {{file_cgi_tcp, data_cgi_rtos, data_cgi_rtos + 10, sizeof(data_cgi_rtos) - 10}};\r
-\r
-const struct fsdata_file file_index_html[] = {{file_cgi_rtos, data_index_html, data_index_html + 12, sizeof(data_index_html) - 12}};\r
-\r
-#define FS_ROOT file_index_html\r
-\r
-#define FS_NUMFILES 14\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fsdata.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/fsdata.h
deleted file mode 100644 (file)
index 94086c4..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*\r
- * Copyright (c) 2001, Swedish Institute of Computer Science.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. Neither the name of the Institute nor the names of its contributors \r
- *    may be used to endorse or promote products derived from this software \r
- *    without specific prior written permission. \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND \r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE \r
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \r
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \r
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \r
- * SUCH DAMAGE. \r
- *\r
- * This file is part of the lwIP TCP/IP stack.\r
- * \r
- * Author: Adam Dunkels <adam@sics.se>\r
- *\r
- * $Id: fsdata.h,v 1.4.2.1 2003/10/04 22:54:06 adam Exp $\r
- */\r
-#ifndef __FSDATA_H__\r
-#define __FSDATA_H__\r
-\r
-#include "uipopt.h"\r
-\r
-struct fsdata_file {\r
-  const struct fsdata_file *next;\r
-  const char *name;\r
-  const char *data;\r
-  const int len;\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-  u16_t count;\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-};\r
-\r
-struct fsdata_file_noconst {\r
-  struct fsdata_file *next;\r
-  char *name;\r
-  char *data;\r
-  int len;\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-  u16_t count;\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-};\r
-\r
-#endif /* __FSDATA_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/httpd.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/httpd.c
deleted file mode 100644 (file)
index 108fa26..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-/**\r
- * \addtogroup exampleapps\r
- * @{\r
- */\r
-\r
-/**\r
- * \defgroup httpd Web server\r
- * @{\r
- *\r
- * The uIP web server is a very simplistic implementation of an HTTP\r
- * server. It can serve web pages and files from a read-only ROM\r
- * filesystem, and provides a very small scripting language.\r
- *\r
- * The script language is very simple and works as follows. Each\r
- * script line starts with a command character, either "i", "t", "c",\r
- * "#" or ".".  The "i" command tells the script interpreter to\r
- * "include" a file from the virtual file system and output it to the\r
- * web browser. The "t" command should be followed by a line of text\r
- * that is to be output to the browser. The "c" command is used to\r
- * call one of the C functions from the httpd-cgi.c file. A line that\r
- * starts with a "#" is ignored (i.e., the "#" denotes a comment), and\r
- * the "." denotes the last script line.\r
- *\r
- * The script that produces the file statistics page looks somewhat\r
- * like this:\r
- *\r
- \code\r
-i /header.html\r
-t <h1>File statistics</h1><br><table width="100%">\r
-t <tr><td><a href="/index.html">/index.html</a></td><td>\r
-c a /index.html\r
-t </td></tr> <tr><td><a href="/cgi/files">/cgi/files</a></td><td>\r
-c a /cgi/files\r
-t </td></tr> <tr><td><a href="/cgi/tcp">/cgi/tcp</a></td><td>\r
-c a /cgi/tcp\r
-t </td></tr> <tr><td><a href="/404.html">/404.html</a></td><td>\r
-c a /404.html\r
-t </td></tr></table>\r
-i /footer.plain\r
-.\r
- \endcode\r
- *\r
- */\r
-\r
-\r
-/**\r
- * \file\r
- * HTTP server.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: httpd.c,v 1.28.2.6 2003/10/07 13:22:27 adam Exp $\r
- *\r
- */\r
-\r
-\r
-#include "uip.h"\r
-#include "httpd.h"\r
-#include "fs.h"\r
-#include "fsdata.h"\r
-#include "cgi.h"\r
-\r
-#define NULL (void *)0\r
-\r
-/* The HTTP server states: */\r
-#define HTTP_NOGET        0\r
-#define HTTP_FILE         1\r
-#define HTTP_TEXT         2\r
-#define HTTP_FUNC         3\r
-#define HTTP_END          4\r
-\r
-#ifdef DEBUG\r
-#include <stdio.h>\r
-#define PRINT(x)\r
-#define PRINTLN(x)\r
-#else /* DEBUG */\r
-#define PRINT(x)\r
-#define PRINTLN(x)\r
-#endif /* DEBUG */\r
-\r
-struct httpd_state *hs;\r
-\r
-extern const struct fsdata_file file_index_html;\r
-extern const struct fsdata_file file_404_html;\r
-\r
-static void next_scriptline(void);\r
-static void next_scriptstate(void);\r
-\r
-#define ISO_G        0x47\r
-#define ISO_E        0x45\r
-#define ISO_T        0x54\r
-#define ISO_slash    0x2f\r
-#define ISO_c        0x63\r
-#define ISO_g        0x67\r
-#define ISO_i        0x69\r
-#define ISO_space    0x20\r
-#define ISO_nl       0x0a\r
-#define ISO_cr       0x0d\r
-#define ISO_a        0x61\r
-#define ISO_t        0x74\r
-#define ISO_hash     0x23\r
-#define ISO_period   0x2e\r
-\r
-#define httpPORT       80\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize the web server.\r
- *\r
- * Starts to listen for incoming connection requests on TCP port 80.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-httpd_init(void)\r
-{\r
-  fs_init();\r
-\r
-  /* Listen to port 80. */\r
-  uip_listen(HTONS(httpPORT));\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-httpd_appcall(void)\r
-{\r
-  struct fs_file fsfile;\r
-\r
-  u8_t i;\r
-\r
-  switch(uip_conn->lport) {\r
-    /* This is the web server: */\r
-  case HTONS(httpPORT):\r
-    /* Pick out the application state from the uip_conn structure. */\r
-    hs = (struct httpd_state *)(uip_conn->appstate);\r
-\r
-    /* We use the uip_ test functions to deduce why we were\r
-       called. If uip_connected() is non-zero, we were called\r
-       because a remote host has connected to us. If\r
-       uip_newdata() is non-zero, we were called because the\r
-       remote host has sent us new data, and if uip_acked() is\r
-       non-zero, the remote host has acknowledged the data we\r
-       previously sent to it. */\r
-    if(uip_connected()) {\r
-      /* Since we have just been connected with the remote host, we\r
-         reset the state for this connection. The ->count variable\r
-         contains the amount of data that is yet to be sent to the\r
-         remote host, and the ->state is set to HTTP_NOGET to signal\r
-         that we haven't received any HTTP GET request for this\r
-         connection yet. */\r
-\r
-      hs->state = HTTP_NOGET;\r
-      hs->count = 0;\r
-      return;\r
-\r
-    } else if(uip_poll()) {\r
-      /* If we are polled ten times, we abort the connection. This is\r
-         because we don't want connections lingering indefinately in\r
-         the system. */\r
-      if(hs->count++ >= 10) {\r
-       uip_abort();\r
-      }\r
-      return;\r
-    } else if(uip_newdata() && hs->state == HTTP_NOGET) {\r
-      /* This is the first data we receive, and it should contain a\r
-        GET. */\r
-\r
-      /* Check for GET. */\r
-      if(uip_appdata[0] != ISO_G ||\r
-        uip_appdata[1] != ISO_E ||\r
-        uip_appdata[2] != ISO_T ||\r
-        uip_appdata[3] != ISO_space) {\r
-       /* If it isn't a GET, we abort the connection. */\r
-       uip_abort();\r
-       return;\r
-      }\r
-       \r
-      /* Find the file we are looking for. */\r
-      for(i = 4; i < 40; ++i) {\r
-       if(uip_appdata[i] == ISO_space ||\r
-          uip_appdata[i] == ISO_cr ||\r
-          uip_appdata[i] == ISO_nl) {\r
-         uip_appdata[i] = 0;\r
-         break;\r
-       }\r
-      }\r
-\r
-      PRINT("request for file ");\r
-      PRINTLN(&uip_appdata[4]);\r
-\r
-      /* Check for a request for "/". */\r
-      if(uip_appdata[4] == ISO_slash &&\r
-        uip_appdata[5] == 0) {\r
-       fs_open(file_index_html.name, &fsfile);\r
-      } else {\r
-       if(!fs_open((const char *)&uip_appdata[4], &fsfile)) {\r
-         PRINTLN("couldn't open file");\r
-         fs_open(file_404_html.name, &fsfile);\r
-       }\r
-      }\r
-\r
-\r
-      if(uip_appdata[4] == ISO_slash &&\r
-        uip_appdata[5] == ISO_c &&\r
-        uip_appdata[6] == ISO_g &&\r
-        uip_appdata[7] == ISO_i &&\r
-        uip_appdata[8] == ISO_slash) {\r
-       /* If the request is for a file that starts with "/cgi/", we\r
-           prepare for invoking a script. */   \r
-       hs->script = fsfile.data;\r
-       next_scriptstate();\r
-      } else {\r
-       hs->script = NULL;\r
-       /* The web server is now no longer in the HTTP_NOGET state, but\r
-          in the HTTP_FILE state since is has now got the GET from\r
-          the client and will start transmitting the file. */\r
-       hs->state = HTTP_FILE;\r
-\r
-       /* Point the file pointers in the connection state to point to\r
-          the first byte of the file. */\r
-       hs->dataptr = fsfile.data;\r
-       hs->count = fsfile.len; \r
-      }\r
-    }\r
-\r
-\r
-    if(hs->state != HTTP_FUNC) {\r
-      /* Check if the client (remote end) has acknowledged any data that\r
-        we've previously sent. If so, we move the file pointer further\r
-        into the file and send back more data. If we are out of data to\r
-        send, we close the connection. */\r
-      if(uip_acked()) {\r
-       if(hs->count >= uip_conn->len) {\r
-         hs->count -= uip_conn->len;\r
-         hs->dataptr += uip_conn->len;\r
-       } else {\r
-         hs->count = 0;\r
-       }\r
-       \r
-       if(hs->count == 0) {\r
-         if(hs->script != NULL) {\r
-           next_scriptline();\r
-           next_scriptstate();\r
-         } else {\r
-           uip_close();\r
-         }\r
-       }\r
-      }\r
-    } else {\r
-      /* Call the CGI function. */\r
-      if(cgitab[hs->script[2] - ISO_a](uip_acked())) {\r
-       /* If the function returns non-zero, we jump to the next line\r
-           in the script. */\r
-       next_scriptline();\r
-       next_scriptstate();\r
-      }\r
-    }\r
-\r
-    if(hs->state != HTTP_FUNC && !uip_poll()) {\r
-      /* Send a piece of data, but not more than the MSS of the\r
-        connection. */\r
-      uip_send(( void * ) hs->dataptr, hs->count);\r
-    }\r
-\r
-    /* Finally, return to uIP. Our outgoing packet will soon be on its\r
-       way... */\r
-    return;\r
-\r
-  default:\r
-    /* Should never happen. */\r
-    uip_abort();\r
-    break;\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/* next_scriptline():\r
- *\r
- * Reads the script until it finds a newline. */\r
-static void\r
-next_scriptline(void)\r
-{\r
-  /* Loop until we find a newline character. */\r
-  do {\r
-    ++(hs->script);\r
-  } while(hs->script[0] != ISO_nl);\r
-\r
-  /* Eat up the newline as well. */\r
-  ++(hs->script);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/* next_sciptstate:\r
- *\r
- * Reads one line of script and decides what to do next.\r
- */\r
-static void\r
-next_scriptstate(void)\r
-{\r
-  struct fs_file fsfile;\r
-  long i;\r
-\r
- again:\r
-  switch(hs->script[0]) {\r
-  case ISO_t:\r
-    /* Send a text string. */\r
-    hs->state = HTTP_TEXT;\r
-    hs->dataptr = &hs->script[2];\r
-\r
-    /* Calculate length of string. */\r
-    for(i = 0; hs->dataptr[i] != ISO_nl; ++i);\r
-    hs->count = i;\r
-    break;\r
-  case ISO_c:\r
-    /* Call a function. */\r
-    hs->state = HTTP_FUNC;\r
-    hs->dataptr = NULL;\r
-    hs->count = 0;\r
-    cgitab[hs->script[2] - ISO_a](0);\r
-    break;\r
-  case ISO_i:\r
-    /* Include a file. */\r
-    hs->state = HTTP_FILE;\r
-    if(!fs_open(&hs->script[2], &fsfile)) {\r
-      uip_abort();\r
-    }\r
-    hs->dataptr = fsfile.data;\r
-    hs->count = fsfile.len;\r
-    break;\r
-  case ISO_hash:\r
-    /* Comment line. */\r
-    next_scriptline();\r
-    goto again;\r
-  case ISO_period:\r
-    /* End of script. */\r
-    hs->state = HTTP_END;\r
-    uip_close();\r
-    break;\r
-  default:\r
-    uip_abort();\r
-    break;\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/** @} */\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/httpd.c_ b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/httpd.c_
deleted file mode 100644 (file)
index fda2408..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-/*$T httpd.c GC 1.138 07/23/05 13:10:49 */\r
-\r
-/*\r
- * \addtogroup exampleapps @{ £\r
- * \defgroup httpd Web server @{ The uIP web server is a very simplistic\r
- * implementation of an HTTP server. It can serve web pages and files from a\r
- * read-only ROM filesystem, and provides a very small scripting language. The\r
- * script language is very simple and works as follows. Each script line starts\r
- * with a command character, either "i", "t", "c", "#" or ".". The "i" command\r
- * tells the script interpreter to "include" a file from the virtual file system\r
- * and output it to the web browser. The "t" command should be followed by a line\r
- * of text that is to be output to the browser. The "c" command is used to call\r
- * one of the C functions from the httpd-cgi.c file. A line that starts with a "#"\r
- * is ignored (i.e., the "#" denotes a comment), and the "." denotes the last\r
- * script line. The script that produces the file statistics page looks somewhat\r
- * like this: \code i /header.html t <h1>File statistics</h1><br><table\r
- * width="100%"> t <tr><td><a href="/index.html">/index.html</a></td><td> c a\r
- * /index.html t </td></tr> <tr><td><a href="/cgi/files">/cgi/files</a></td><td> c\r
- * a /cgi/files t </td></tr> <tr><td><a href="/cgi/tcp">/cgi/tcp</a></td><td> c a\r
- * /cgi/tcp t </td></tr> <tr><td><a href="/404.html">/404.html</a></td><td> c a\r
- * /404.html t </td></tr></table> i /footer.plain . \endcode £\r
- * \file HTTP server. \author Adam Dunkels <adam@dunkels.com> £\r
- * Copyright (c) 2001, Adam Dunkels. All rights reserved. Redistribution and use\r
- * in source and binary forms, with or without modification, are permitted\r
- * provided that the following conditions are met: 1. Redistributions of source\r
- * code must retain the above copyright notice, this list of conditions and the\r
- * following disclaimer. 2. Redistributions in binary form must reproduce the\r
- * above copyright notice, this list of conditions and the following disclaimer in\r
- * the documentation and/or other materials provided with the distribution. 3. The\r
- * name of the author may not be used to endorse or promote products derived from\r
- * this software without specific prior written permission. THIS SOFTWARE IS\r
- * PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,\r
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\r
- * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR\r
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT\r
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- * This file is part of the uIP TCP/IP stack. $Id: httpd.c,v 1.28.2.6 2003/10/07\r
- * 13:22:27 adam Exp $\r
- */\r
-#include "uip.h"\r
-#include "httpd.h"\r
-#include "fs.h"\r
-#include "fsdata.h"\r
-#include "cgi.h"\r
-\r
-#define NULL    ( void * ) 0\r
-\r
-/* The HTTP server states: */\r
-#define HTTP_NOGET  0\r
-#define HTTP_FILE   1\r
-#define HTTP_TEXT   2\r
-#define HTTP_FUNC   3\r
-#define HTTP_END    4\r
-\r
-#ifdef DEBUG\r
-#include <stdio.h>\r
-#define PRINT( x )\r
-#define PRINTLN( x )\r
-#else /* DEBUG */\r
-#define PRINT( x )\r
-#define PRINTLN( x )\r
-#endif /* DEBUG */\r
-\r
-struct httpd_state              *hs;\r
-\r
-extern const struct fsdata_file file_index_html;\r
-extern const struct fsdata_file file_404_html;\r
-\r
-static void                     next_scriptline( void );\r
-static void                     next_scriptstate( void );\r
-\r
-#define ISO_G       0x47\r
-#define ISO_E       0x45\r
-#define ISO_T       0x54\r
-#define ISO_slash   0x2f\r
-#define ISO_c       0x63\r
-#define ISO_g       0x67\r
-#define ISO_i       0x69\r
-#define ISO_space   0x20\r
-#define ISO_nl      0x0a\r
-#define ISO_cr      0x0d\r
-#define ISO_a       0x61\r
-#define ISO_t       0x74\r
-#define ISO_hash    0x23\r
-#define ISO_period  0x2e\r
-\r
-#define httpPORT    80\r
-\r
-/*\r
- =======================================================================================================================\r
-    Initialize the web server. Starts to listen for incoming connection requests on TCP port 80.\r
- =======================================================================================================================\r
- */\r
-void httpd_init( void )\r
-{\r
-    fs_init();\r
-\r
-    /* Listen to port 80. */\r
-    uip_listen( HTONS( httpPORT ) );\r
-}\r
-\r
-/*\r
- =======================================================================================================================\r
- =======================================================================================================================\r
- */\r
-void httpd_appcall( void )\r
-{\r
-    /*~~~~~~~~~~~~~~~~~~~*/\r
-    struct fs_file  fsfile;\r
-    u8_t            i;\r
-    /*~~~~~~~~~~~~~~~~~~~*/\r
-\r
-    switch( uip_conn->lport )\r
-    {\r
-    /* This is the web server: */\r
-    case HTONS( httpPORT ):\r
-        /* Pick out the application state from the uip_conn structure. */\r
-        hs = ( struct httpd_state * ) ( uip_conn->appstate );\r
-\r
-        /*\r
-         * We use the uip_ test functions to deduce why we were called. If uip_connected()\r
-         * is non-zero, we were called because a remote host has connected to us. If\r
-         * uip_newdata() is non-zero, we were called because the remote host has sent us\r
-         * new data, and if uip_acked() is non-zero, the remote host has acknowledged the\r
-         * data we previously sent to it.\r
-         */\r
-        if( uip_connected() )\r
-        {\r
-            /*\r
-             * Since we have just been connected with the remote host, we reset the state for\r
-             * this connection. The ->count variable contains the amount of data that is yet\r
-             * to be sent to the remote host, and the ->state is set to HTTP_NOGET to signal\r
-             * that we haven't received any HTTP GET request for this connection yet.\r
-             */\r
-            hs->state = HTTP_NOGET;\r
-            hs->count = 0;\r
-            return;\r
-        }\r
-        else if( uip_poll() )\r
-        {\r
-            /*\r
-             * If we are polled ten times, we abort the connection. This is because we don't\r
-             * want connections lingering indefinately in the system.\r
-             */\r
-            if( hs->count++ >= 10 )\r
-            {\r
-                uip_abort();\r
-            }\r
-\r
-            return;\r
-        }\r
-        else if( uip_newdata() && hs->state == HTTP_NOGET )\r
-        {\r
-            /*\r
-             * This is the first data we receive, and it should contain a GET. £\r
-             * Check for GET.\r
-             */\r
-            if\r
-            (\r
-                uip_appdata[0] != ISO_G\r
-            ||  uip_appdata[1] != ISO_E\r
-            ||  uip_appdata[2] != ISO_T\r
-            ||  uip_appdata[3] != ISO_space\r
-            )\r
-            {\r
-                /* If it isn't a GET, we abort the connection. */\r
-                uip_abort();\r
-                return;\r
-            }\r
-\r
-            /* Find the file we are looking for. */\r
-            for( i = 4; i < 40; ++i )\r
-            {\r
-                if( uip_appdata[i] == ISO_space || uip_appdata[i] == ISO_cr || uip_appdata[i] == ISO_nl )\r
-                {\r
-                    uip_appdata[i] = 0;\r
-                    break;\r
-                }\r
-            }\r
-\r
-            PRINT( "request for file " );\r
-            PRINTLN( &uip_appdata[4] );\r
-\r
-            /* Check for a request for "/". */\r
-            if( uip_appdata[4] == ISO_slash && uip_appdata[5] == 0 )\r
-            {\r
-                fs_open( file_index_html.name, &fsfile );\r
-            }\r
-            else\r
-            {\r
-                if( !fs_open( ( const char * ) &uip_appdata[4], &fsfile ) )\r
-                {\r
-                    PRINTLN( "couldn't open file" );\r
-                    fs_open( file_404_html.name, &fsfile );\r
-                }\r
-            }\r
-\r
-            if\r
-            (\r
-                uip_appdata[4] == ISO_slash\r
-            &&  uip_appdata[5] == ISO_c\r
-            &&  uip_appdata[6] == ISO_g\r
-            &&  uip_appdata[7] == ISO_i\r
-            &&  uip_appdata[8] == ISO_slash\r
-            )\r
-            {\r
-                /*\r
-                 * If the request is for a file that starts with "/cgi/", we prepare for invoking\r
-                 * a script.\r
-                 */\r
-                hs->script = fsfile.data;\r
-                next_scriptstate();\r
-            }\r
-            else\r
-            {\r
-                hs->script = NULL;\r
-\r
-                /*\r
-                 * The web server is now no longer in the HTTP_NOGET state, but in the HTTP_FILE\r
-                 * state since is has now got the GET from the client and will start transmitting\r
-                 * the file.\r
-                 */\r
-                hs->state = HTTP_FILE;\r
-\r
-                /*\r
-                 * Point the file pointers in the connection state to point to the first byte of\r
-                 * the file.\r
-                 */\r
-                hs->dataptr = fsfile.data;\r
-                hs->count = fsfile.len;\r
-            }\r
-        }\r
-\r
-        if( hs->state != HTTP_FUNC )\r
-        {\r
-            /*\r
-             * Check if the client (remote end) has acknowledged any data that we've\r
-             * previously sent. If so, we move the file pointer further into the file and send\r
-             * back more data. If we are out of data to send, we close the connection.\r
-             */\r
-            if( uip_acked() )\r
-            {\r
-                if( hs->count >= uip_conn->len )\r
-                {\r
-                    hs->count -= uip_conn->len;\r
-                    hs->dataptr += uip_conn->len;\r
-                }\r
-                else\r
-                {\r
-                    hs->count = 0;\r
-                }\r
-\r
-                if( hs->count == 0 )\r
-                {\r
-                    if( hs->script != NULL )\r
-                    {\r
-                        next_scriptline();\r
-                        next_scriptstate();\r
-                    }\r
-                    else\r
-                    {\r
-                        uip_close();\r
-                    }\r
-                }\r
-            }\r
-        }\r
-        else\r
-        {\r
-            /* Call the CGI function. */\r
-            if( cgitab[hs->script[2] - ISO_a](uip_acked()) )\r
-            {\r
-                /* If the function returns non-zero, we jump to the next line in the script. */\r
-                next_scriptline();\r
-                next_scriptstate();\r
-            }\r
-        }\r
-\r
-        if( hs->state != HTTP_FUNC && !uip_poll() )\r
-        {\r
-            /* Send a piece of data, but not more than the MSS of the connection. */\r
-            uip_send( ( void * ) hs->dataptr, hs->count );\r
-        }\r
-\r
-        /* Finally, return to uIP. Our outgoing packet will soon be on its way... */\r
-        return;\r
-\r
-    default:\r
-        /* Should never happen. */\r
-        uip_abort();\r
-        break;\r
-    }\r
-}\r
-\r
-/*\r
- =======================================================================================================================\r
-    next_scriptline(): Reads the script until it finds a newline.\r
- =======================================================================================================================\r
- */\r
-static void next_scriptline( void )\r
-{\r
-    /* Loop until we find a newline character. */\r
-    do\r
-    {\r
-        ++( hs->script );\r
-    } while( hs->script[0] != ISO_nl );\r
-\r
-    /* Eat up the newline as well. */\r
-    ++( hs->script );\r
-}\r
-\r
-/*\r
- =======================================================================================================================\r
-    next_sciptstate: Reads one line of script and decides what to do next.\r
- =======================================================================================================================\r
- */\r
-static void next_scriptstate( void )\r
-{\r
-    /*~~~~~~~~~~~~~~~~~~~*/\r
-    struct fs_file  fsfile;\r
-    u8_t            i;\r
-    /*~~~~~~~~~~~~~~~~~~~*/\r
-\r
-again:\r
-    switch( hs->script[0] )\r
-    {\r
-    case ISO_t:\r
-        /* Send a text string. */\r
-        hs->state = HTTP_TEXT;\r
-        hs->dataptr = &hs->script[2];\r
-\r
-        /* Calculate length of string. */\r
-        for( i = 0; hs->dataptr[i] != ISO_nl; ++i );\r
-        hs->count = i;\r
-        break;\r
-\r
-    case ISO_c:\r
-        /* Call a function. */\r
-        hs->state = HTTP_FUNC;\r
-        hs->dataptr = NULL;\r
-        hs->count = 0;\r
-        cgitab[hs->script[2] - ISO_a]( 0 );\r
-        break;\r
-\r
-    case ISO_i:\r
-        /* Include a file. */\r
-        hs->state = HTTP_FILE;\r
-        if( !fs_open( &hs->script[2], &fsfile ) )\r
-        {\r
-            uip_abort();\r
-        }\r
-\r
-        hs->dataptr = fsfile.data;\r
-        hs->count = fsfile.len;\r
-        break;\r
-\r
-    case ISO_hash:\r
-        /* Comment line. */\r
-        next_scriptline();\r
-        goto again;\r
-\r
-    case ISO_period:\r
-        /* End of script. */\r
-        hs->state = HTTP_END;\r
-        uip_close();\r
-        break;\r
-\r
-    default:\r
-        uip_abort();\r
-        break;\r
-    }\r
-}\r
-\r
-/*\r
- * @} £\r
- * @}\r
- */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/httpd.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/httpd.h
deleted file mode 100644 (file)
index 34d6bb3..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP server header file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: httpd.h,v 1.4.2.3 2003/10/06 22:56:44 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __HTTPD_H__\r
-#define __HTTPD_H__\r
-\r
-void httpd_init(void);\r
-void httpd_appcall(void);\r
-\r
-/* UIP_APPCALL: the name of the application function. This function\r
-   must return void and take no arguments (i.e., C type "void\r
-   appfunc(void)"). */\r
-#ifndef UIP_APPCALL\r
-#define UIP_APPCALL     httpd_appcall\r
-#endif\r
-\r
-struct httpd_state {\r
-  u8_t state; \r
-  u16_t count;\r
-  char *dataptr;\r
-  char *script;\r
-};\r
-\r
-\r
-/* UIP_APPSTATE_SIZE: The size of the application-specific state\r
-   stored in the uip_conn structure. */\r
-#ifndef UIP_APPSTATE_SIZE\r
-#define UIP_APPSTATE_SIZE (sizeof(struct httpd_state))\r
-#endif\r
-\r
-#define FS_STATISTICS 1\r
-\r
-extern struct httpd_state *hs;\r
-\r
-#endif /* __HTTPD_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/main_led b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/main_led
deleted file mode 100644 (file)
index 8fe01ea..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (c) 2001-2004 Rowley Associates Limited.\r
-//\r
-// This file may be distributed under the terms of the License Agreement\r
-// provided with this software.\r
-//\r
-// THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE\r
-// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\r
-//\r
-////////////////////////////////////////////////////////////////////////////////\r
-//\r
-//                      Olimex LPC-P1  LED Example\r
-//\r
-// Description\r
-// -----------\r
-// This example demonstrates writing to the programmable peripheral interface.\r
-//\r
-////////////////////////////////////////////////////////////////////////////////\r
-\r
-#include <targets/LPC210x.h>\r
-\r
-#define LED_RED (1<<8)\r
-#define LED_GREEN (1<<10)\r
-#define LED_YELLOW (1<<11)\r
-\r
-#define LED1 LED_YELLOW\r
-\r
-static void\r
-ledInit()\r
-{\r
-  IODIR |= LED1;\r
-  IOSET = LED1;\r
-}\r
-\r
-static void\r
-ledOn(void)\r
-{\r
-  IOCLR = LED1;\r
-}\r
-\r
-static void\r
-ledOff(void)\r
-{\r
-  IOSET = LED1;\r
-}\r
-\r
-void\r
-delay(int d)\r
-{     \r
-  for(; d; --d);\r
-}\r
\r
-int\r
-main(void)\r
-{\r
-  MAMCR = 2;\r
-  ledInit();\r
-  while (1)\r
-    {\r
-      ledOn();\r
-      delay(100000);\r
-      ledOff();\r
-      delay(100000);\r
-    }\r
-  return 0;\r
-}\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/makefsdata b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/makefsdata
deleted file mode 100644 (file)
index f5f75f1..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/perl\r
-\r
-open(OUTPUT, "> fsdata.c");\r
-\r
-chdir("fs");\r
-open(FILES, "find . -type f |");\r
-\r
-while($file = <FILES>) {\r
-\r
-    # Do not include files in CVS directories nor backup files.\r
-    if($file =~ /(CVS|~)/) {\r
-       next;\r
-    }\r
-    \r
-    chop($file);\r
-    \r
-    open(HEADER, "> /tmp/header") || die $!;\r
-    if($file =~ /404.html/) {\r
-      print(HEADER "HTTP/1.0 404 File not found\r\n");\r
-    } else {\r
-      print(HEADER "HTTP/1.0 200 OK\r\n");\r
-    }\r
-    print(HEADER "Server: uIP/0.9 (http://dunkels.com/adam/uip/)\r\n");\r
-    if($file =~ /\.html$/) {\r
-       print(HEADER "Content-type: text/html\r\n");\r
-    } elsif($file =~ /\.gif$/) {\r
-       print(HEADER "Content-type: image/gif\r\n");\r
-    } elsif($file =~ /\.png$/) {\r
-       print(HEADER "Content-type: image/png\r\n");\r
-    } elsif($file =~ /\.jpg$/) {\r
-       print(HEADER "Content-type: image/jpeg\r\n");\r
-    } else {\r
-       print(HEADER "Content-type: text/plain\r\n");\r
-    }\r
-    print(HEADER "\r\n");\r
-    close(HEADER);\r
-\r
-    unless($file =~ /\.plain$/ || $file =~ /cgi/) {\r
-       system("cat /tmp/header $file > /tmp/file");\r
-    } else {\r
-       system("cp $file /tmp/file");\r
-    }\r
-    \r
-    open(FILE, "/tmp/file");\r
-    unlink("/tmp/file");\r
-    unlink("/tmp/header");\r
-\r
-    $file =~ s/\.//;\r
-    $fvar = $file;\r
-    $fvar =~ s-/-_-g;\r
-    $fvar =~ s-\.-_-g;\r
-    print(OUTPUT "static const char data".$fvar."[] = {\n");\r
-    print(OUTPUT "\t/* $file */\n\t");\r
-    for($j = 0; $j < length($file); $j++) {\r
-       printf(OUTPUT "%#02x, ", unpack("C", substr($file, $j, 1)));\r
-    }\r
-    printf(OUTPUT "0,\n");\r
-    \r
-    \r
-    $i = 0;        \r
-    while(read(FILE, $data, 1)) {\r
-        if($i == 0) {\r
-            print(OUTPUT "\t");\r
-        }\r
-        printf(OUTPUT "%#02x, ", unpack("C", $data));\r
-        $i++;\r
-        if($i == 10) {\r
-            print(OUTPUT "\n");\r
-            $i = 0;\r
-        }\r
-    }\r
-    print(OUTPUT "};\n\n");\r
-    close(FILE);\r
-    push(@fvars, $fvar);\r
-    push(@files, $file);\r
-}\r
-\r
-for($i = 0; $i < @fvars; $i++) {\r
-    $file = $files[$i];\r
-    $fvar = $fvars[$i];\r
-\r
-    if($i == 0) {\r
-        $prevfile = "NULL";\r
-    } else {\r
-        $prevfile = "file" . $fvars[$i - 1];\r
-    }\r
-    print(OUTPUT "const struct fsdata_file file".$fvar."[] = {{$prevfile, data$fvar, ");\r
-    print(OUTPUT "data$fvar + ". (length($file) + 1) .", ");\r
-    print(OUTPUT "sizeof(data$fvar) - ". (length($file) + 1) ."}};\n\n");\r
-}\r
-\r
-print(OUTPUT "#define FS_ROOT file$fvars[$i - 1]\n\n");\r
-print(OUTPUT "#define FS_NUMFILES $i");\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/memb.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/memb.c
deleted file mode 100644 (file)
index 56e6634..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/**\r
- * \addtogroup exampleapps\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * Memory block allocation routines.\r
- * \author Adam Dunkels <adam@sics.se>\r
- *\r
- * The memory block allocation routines provide a simple yet powerful\r
- * set of functions for managing a set of memory blocks of fixed\r
- * size. A set of memory blocks is statically declared with the\r
- * MEMB() macro. Memory blocks are allocated from the declared\r
- * memory by the memb_alloc() function, and are deallocated with the\r
- * memb_free() function.\r
- *\r
- * \note Because of namespace clashes only one MEMB() can be\r
- * declared per C module, and the name scope of a MEMB() memory\r
- * block is local to each C module.\r
- *\r
- * The following example shows how to declare and use a memory block\r
- * called "cmem" which has 8 chunks of memory with each memory chunk\r
- * being 20 bytes large.\r
- *\r
- \code\r
- MEMB(cmem, 20, 8);\r
-\r
- int main(int argc, char *argv[]) {\r
-    char *ptr;\r
-    \r
-    memb_init(&cmem);\r
-\r
-    ptr = memb_alloc(&cmem);\r
-\r
-    if(ptr != NULL) {\r
-       do_something(ptr);\r
-    } else {\r
-       printf("Could not allocate memory.\n");\r
-    }\r
-\r
-    if(memb_free(ptr) == 0) {\r
-       printf("Deallocation succeeded.\n");\r
-    }\r
- }\r
- \endcode\r
- * \r
- */\r
-\r
-#include <string.h>\r
-\r
-#include "memb.h"\r
-\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize a memory block that was declared with MEMB().\r
- *\r
- * \param m A memory block previosly declared with MEMB().\r
- */\r
-/*------------------------------------------------------------------------------*/\r
-void\r
-memb_init(struct memb_blocks *m)\r
-{\r
-  memset(m->mem, (m->size + 1) * m->num, 0);\r
-}\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * Allocate a memory block from a block of memory declared with MEMB().\r
- *\r
- * \param m A memory block previosly declared with MEMB().\r
- */\r
-/*------------------------------------------------------------------------------*/\r
-char *\r
-memb_alloc(struct memb_blocks *m)\r
-{\r
-  int i;\r
-  char *ptr;\r
-\r
-  ptr = m->mem;\r
-  for(i = 0; i < m->num; ++i) {\r
-    if(*ptr == 0) {\r
-      /* If this block was unused, we increase the reference count to\r
-        indicate that it now is used and return a pointer to the\r
-        first byte following the reference counter. */\r
-      ++*ptr;\r
-      return ptr + 1;\r
-    }\r
-    ptr += m->size + 1;\r
-  }\r
-\r
-  /* No free block was found, so we return NULL to indicate failure to\r
-     allocate block. */\r
-  return NULL;\r
-}\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * Deallocate a memory block from a memory block previously declared\r
- * with MEMB().\r
- *\r
- * \param m m A memory block previosly declared with MEMB().\r
- *\r
- * \param ptr A pointer to the memory block that is to be deallocated.\r
- *\r
- * \return The new reference count for the memory block (should be 0\r
- * if successfully deallocated) or -1 if the pointer "ptr" did not\r
- * point to a legal memory block.\r
- */\r
-/*------------------------------------------------------------------------------*/\r
-char\r
-memb_free(struct memb_blocks *m, char *ptr)\r
-{\r
-  int i;\r
-  char *ptr2;\r
-\r
-  /* Walk through the list of blocks and try to find the block to\r
-     which the pointer "ptr" points to. */\r
-  ptr2 = m->mem;\r
-  for(i = 0; i < m->num; ++i) {\r
-    \r
-    if(ptr2 == ptr - 1) {\r
-      /* We've found to block to which "ptr" points so we decrease the\r
-        reference count and return the new value of it. */      \r
-      return --*ptr2;\r
-    }\r
-    ptr2 += m->size + 1;\r
-  }\r
-  return -1;\r
-}\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * Increase the reference count for a memory chunk.\r
- *\r
- * \note No sanity checks are currently made.\r
- *\r
- * \param m m A memory block previosly declared with MEMB().\r
- *\r
- * \param ptr A pointer to the memory chunk for which the reference\r
- * count should be increased.\r
- *\r
- * \return The new reference count.\r
- */\r
-/*------------------------------------------------------------------------------*/\r
-char\r
-memb_ref(struct memb_blocks *m, char *ptr)\r
-{\r
-  return ++*(ptr - 1);\r
-}\r
-/*------------------------------------------------------------------------------*/\r
-\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/memb.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/memb.h
deleted file mode 100644 (file)
index 505846f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/**\r
- * \addtogroup exampleapps\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * Memory block allocation routines.\r
- * \author Adam Dunkels <adam@sics.se>\r
- *\r
- */\r
-\r
-#ifndef __MEMB_H__\r
-#define __MEMB_H__\r
-\r
-/**\r
- * Declare a memory block.\r
- *\r
- * \param name The name of the memory block (later used with\r
- * memb_init(), memb_alloc() and memb_free()).\r
- *\r
- * \param size The size of each memory chunk, in bytes.\r
- *\r
- * \param num The total number of memory chunks in the block.\r
- *\r
- */\r
-#define MEMB(name, size, num) \\r
-        static char memb_mem[(size + 1) * num]; \\r
-        static struct memb_blocks name = {size, num, memb_mem}\r
-\r
-struct memb_blocks {\r
-  unsigned short size;\r
-  unsigned short num;\r
-  char *mem;\r
-};\r
-\r
-void  memb_init(struct memb_blocks *m);\r
-char *memb_alloc(struct memb_blocks *m);\r
-char  memb_ref(struct memb_blocks *m, char *ptr);\r
-char  memb_free(struct memb_blocks *m, char *ptr);\r
-\r
-\r
-#endif /* __MEMB_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/setarp.bat b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/setarp.bat
deleted file mode 100644 (file)
index 7f5babb..0000000
+++ /dev/null
@@ -1 +0,0 @@
-arp -s 172.25.218.210 00-bd-3b-33-05-72\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/slipdev.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/slipdev.c
deleted file mode 100644 (file)
index fc968c8..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \defgroup slip Serial Line IP (SLIP) protocol\r
- * @{\r
- *\r
- * The SLIP protocol is a very simple way to transmit IP packets over\r
- * a serial line. It does not provide any framing or error control,\r
- * and is therefore not very widely used today.\r
- *\r
- * This SLIP implementation requires two functions for accessing the\r
- * serial device: slipdev_char_poll() and slipdev_char_put(). These\r
- * must be implemented specifically for the system on which the SLIP\r
- * protocol is to be run.\r
- */\r
-\r
-/**\r
- * \file\r
- * SLIP protocol implementation\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: slipdev.c,v 1.1.2.3 2003/10/07 13:23:01 adam Exp $\r
- *\r
- */\r
-\r
-/*\r
- * This is a generic implementation of the SLIP protocol over an RS232\r
- * (serial) device. \r
- *\r
- * Huge thanks to Ullrich von Bassewitz <uz@cc65.org> of cc65 fame for\r
- * and endless supply of bugfixes, insightsful comments and\r
- * suggestions, and improvements to this code!\r
- */\r
-\r
-#include "uip.h"\r
-\r
-#define SLIP_END     0300\r
-#define SLIP_ESC     0333\r
-#define SLIP_ESC_END 0334\r
-#define SLIP_ESC_ESC 0335\r
-\r
-static u8_t slip_buf[UIP_BUFSIZE];\r
-\r
-static u16_t len, tmplen;\r
-static u8_t lastc;\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Send the packet in the uip_buf and uip_appdata buffers using the\r
- * SLIP protocol.\r
- *\r
- * The first 40 bytes of the packet (the IP and TCP headers) are read\r
- * from the uip_buf buffer, and the following bytes (the application\r
- * data) are read from the uip_appdata buffer.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-slipdev_send(void)\r
-{\r
-  u16_t i;\r
-  u8_t *ptr;\r
-  u8_t c;\r
-\r
-  slipdev_char_put(SLIP_END);\r
-\r
-  ptr = uip_buf;\r
-  for(i = 0; i < uip_len; ++i) {\r
-    if(i == 40) {\r
-      ptr = (u8_t *)uip_appdata;\r
-    }\r
-    c = *ptr++;\r
-    switch(c) {\r
-    case SLIP_END:\r
-      slipdev_char_put(SLIP_ESC);\r
-      slipdev_char_put(SLIP_ESC_END);\r
-      break;\r
-    case SLIP_ESC:\r
-      slipdev_char_put(SLIP_ESC);\r
-      slipdev_char_put(SLIP_ESC_ESC);\r
-      break;\r
-    default:\r
-      slipdev_char_put(c);\r
-      break;\r
-    }\r
-  }\r
-  slipdev_char_put(SLIP_END);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/** \r
- * Poll the SLIP device for an available packet.\r
- *\r
- * This function will poll the SLIP device to see if a packet is\r
- * available. It uses a buffer in which all avaliable bytes from the\r
- * RS232 interface are read into. When a full packet has been read\r
- * into the buffer, the packet is copied into the uip_buf buffer and\r
- * the length of the packet is returned.\r
- *\r
- * \return The length of the packet placed in the uip_buf buffer, or\r
- * zero if no packet is available.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-slipdev_poll(void)\r
-{\r
-  u8_t c;\r
-  \r
-  while(slipdev_char_poll(c)) {\r
-    switch(c) {\r
-    case SLIP_ESC:\r
-      lastc = c;\r
-      break;\r
-      \r
-    case SLIP_END:\r
-      lastc = c;\r
-      /* End marker found, we copy our input buffer to the uip_buf\r
-        buffer and return the size of the packet we copied. */\r
-      memcpy(uip_buf, slip_buf, len);\r
-      tmplen = len;\r
-      len = 0;\r
-      return tmplen;\r
-      \r
-    default:     \r
-      if(lastc == SLIP_ESC) {\r
-       lastc = c;\r
-       /* Previous read byte was an escape byte, so this byte will be\r
-          interpreted differently from others. */\r
-       switch(c) {\r
-       case SLIP_ESC_END:\r
-         c = SLIP_END;\r
-         break;\r
-       case SLIP_ESC_ESC:\r
-         c = SLIP_ESC;\r
-         break;\r
-       }\r
-      } else {\r
-       lastc = c;\r
-      }\r
-      \r
-      slip_buf[len] = c;\r
-      ++len;\r
-      \r
-      if(len > UIP_BUFSIZE) {\r
-       len = 0;\r
-      }\r
-    \r
-      break;\r
-    }\r
-  }\r
-  return 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize the SLIP module.\r
- *\r
- * This function does not initialize the underlying RS232 device, but\r
- * only the SLIP part.\r
- */ \r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-slipdev_init(void)\r
-{\r
-  lastc = len = 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-\r
-/** @} */\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/slipdev.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/slipdev.h
deleted file mode 100644 (file)
index 3fbfe2d..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/**\r
- * \addtogroup slip\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * SLIP header file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: slipdev.h,v 1.1.2.3 2003/10/06 22:42:51 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __SLIPDEV_H__\r
-#define __SLIPDEV_H__\r
-\r
-#include "uip.h"\r
-\r
-/**\r
- * Put a character on the serial device.\r
- *\r
- * This function is used by the SLIP implementation to put a character\r
- * on the serial device. It must be implemented specifically for the\r
- * system on which the SLIP implementation is to be run.\r
- *\r
- * \param c The character to be put on the serial device.\r
- */\r
-void slipdev_char_put(u8_t c);\r
-\r
-/**\r
- * Poll the serial device for a character.\r
- *\r
- * This function is used by the SLIP implementation to poll the serial\r
- * device for a character. It must be implemented specifically for the\r
- * system on which the SLIP implementation is to be run.\r
- *\r
- * The function should return immediately regardless if a character is\r
- * available or not. If a character is available it should be placed\r
- * at the memory location pointed to by the pointer supplied by the\r
- * arguement c.\r
- *\r
- * \param c A pointer to a byte that is filled in by the function with\r
- * the received character, if available.\r
- *\r
- * \retval 0 If no character is available.\r
- * \retval Non-zero If a character is available.\r
- */\r
-u8_t slipdev_char_poll(u8_t *c);\r
-\r
-void slipdev_init(void);\r
-void slipdev_send(void);\r
-u16_t slipdev_poll(void);\r
-\r
-#endif /* __SLIPDEV_H__ */\r
-\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/tapdev.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/tapdev.c
deleted file mode 100644 (file)
index 0d23fc4..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*\r
- * Copyright (c) 2001, Swedish Institute of Computer Science.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- *\r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- *\r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- *\r
- * 3. Neither the name of the Institute nor the names of its contributors \r
- *    may be used to endorse or promote products derived from this software \r
- *    without specific prior written permission. \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND \r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE \r
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \r
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \r
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \r
- * SUCH DAMAGE. \r
- *\r
- * Author: Adam Dunkels <adam@sics.se>\r
- *\r
- * $Id: tapdev.c,v 1.7.2.1 2003/10/07 13:23:19 adam Exp $\r
- */\r
-\r
-\r
-#include <fcntl.h>\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <unistd.h>\r
-#include <string.h>\r
-#include <sys/ioctl.h>\r
-#include <sys/socket.h>\r
-#include <sys/types.h>\r
-#include <sys/time.h>\r
-#include <sys/uio.h>\r
-#include <sys/socket.h>\r
-\r
-#ifdef linux\r
-#include <sys/ioctl.h>\r
-#include <linux/if.h>\r
-#include <linux/if_tun.h>\r
-#define DEVTAP "/dev/net/tun"\r
-#else  /* linux */\r
-#define DEVTAP "/dev/tap0"\r
-#endif /* linux */\r
-\r
-#include "uip.h"\r
-\r
-static int fd;\r
-\r
-static unsigned long lasttime;\r
-static struct timezone tz;\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-tapdev_init(void)\r
-{\r
-  char buf[1024];\r
-  \r
-  fd = open(DEVTAP, O_RDWR);\r
-  if(fd == -1) {\r
-    perror("tapdev: tapdev_init: open");\r
-    exit(1);\r
-  }\r
-\r
-#ifdef linux\r
-  {\r
-    struct ifreq ifr;\r
-    memset(&ifr, 0, sizeof(ifr));\r
-    ifr.ifr_flags = IFF_TAP|IFF_NO_PI;\r
-    if (ioctl(fd, TUNSETIFF, (void *) &ifr) < 0) {\r
-      perror(buf);\r
-      exit(1);\r
-    }\r
-  }\r
-#endif /* Linux */\r
-\r
-  snprintf(buf, sizeof(buf), "ifconfig tap0 inet %d.%d.%d.%d",\r
-          UIP_DRIPADDR0, UIP_DRIPADDR1, UIP_DRIPADDR2, UIP_DRIPADDR3);\r
-  system(buf);\r
-\r
-  lasttime = 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-unsigned int\r
-tapdev_read(void)\r
-{\r
-  fd_set fdset;\r
-  struct timeval tv, now;\r
-  int ret;\r
-  \r
-  if(lasttime >= 500000) {\r
-    lasttime = 0;\r
-    return 0;\r
-  }\r
-  \r
-  tv.tv_sec = 0;\r
-  tv.tv_usec = 500000 - lasttime;\r
-\r
-\r
-  FD_ZERO(&fdset);\r
-  FD_SET(fd, &fdset);\r
-\r
-  gettimeofday(&now, &tz);  \r
-  ret = select(fd + 1, &fdset, NULL, NULL, &tv);\r
-  if(ret == 0) {\r
-    lasttime = 0;    \r
-    return 0;\r
-  } \r
-  ret = read(fd, uip_buf, UIP_BUFSIZE);  \r
-  if(ret == -1) {\r
-    perror("tap_dev: tapdev_read: read");\r
-  }\r
-  gettimeofday(&tv, &tz);\r
-  lasttime += (tv.tv_sec - now.tv_sec) * 1000000 + (tv.tv_usec - now.tv_usec);\r
-\r
-  return ret;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-tapdev_send(void)\r
-{\r
-  int ret;\r
-  struct iovec iov[2];\r
-  \r
-#ifdef linux\r
-  {\r
-    char tmpbuf[UIP_BUFSIZE];\r
-    int i;\r
-\r
-    for(i = 0; i < 40 + UIP_LLH_LEN; i++) {\r
-      tmpbuf[i] = uip_buf[i];\r
-    }\r
-    \r
-    for(; i < uip_len; i++) {\r
-      tmpbuf[i] = uip_appdata[i - 40 - UIP_LLH_LEN];\r
-    }\r
-    \r
-    ret = write(fd, tmpbuf, uip_len);\r
-  }  \r
-#else \r
-\r
-  if(uip_len < 40 + UIP_LLH_LEN) {\r
-    ret = write(fd, uip_buf, uip_len + UIP_LLH_LEN);\r
-  } else {\r
-    iov[0].iov_base = uip_buf;\r
-    iov[0].iov_len = 40 + UIP_LLH_LEN;\r
-    iov[1].iov_base = (char *)uip_appdata;\r
-    iov[1].iov_len = uip_len - (40 + UIP_LLH_LEN);  \r
-    \r
-    ret = writev(fd, iov, 2);\r
-  }\r
-#endif\r
-  if(ret == -1) {\r
-    perror("tap_dev: tapdev_send: writev");\r
-    exit(1);\r
-  }\r
-}  \r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/tapdev.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/tapdev.h
deleted file mode 100644 (file)
index 66f1a4a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: tapdev.h,v 1.1.2.1 2003/10/04 22:54:17 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __TAPDEV_H__\r
-#define __TAPDEV_H__\r
-\r
-void tapdev_init(void);\r
-unsigned int tapdev_read(void);\r
-void tapdev_send(void);\r
-\r
-#endif /* __TAPDEV_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/telnetd-shell.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/telnetd-shell.c
deleted file mode 100644 (file)
index 7dff714..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-/**\r
- * \addtogroup telnetd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * An example telnet server shell\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the Contiki desktop OS.\r
- *\r
- * $Id: telnetd-shell.c,v 1.1.2.1 2003/10/06 22:56:22 adam Exp $\r
- *\r
- */\r
-\r
-#include "uip.h"\r
-#include "telnetd.h"\r
-#include <string.h>\r
-\r
-struct ptentry {\r
-  char c;\r
-  void (* pfunc)(struct telnetd_state *s, char *str);\r
-};\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-parse(struct telnetd_state *s, register char *str, struct ptentry *t)\r
-{\r
-  register struct ptentry *p;\r
-  char *sstr;\r
-\r
-  sstr = str;\r
-  \r
-  /* Loop over the parse table entries in t in order to find one that\r
-     matches the first character in str. */\r
-  for(p = t; p->c != 0; ++p) {\r
-    if(*str == p->c) {\r
-      /* Skip rest of the characters up to the first space. */\r
-      while(*str != ' ') {\r
-       ++str;\r
-      }\r
-\r
-      /* Skip all spaces.*/\r
-      while(*str == ' ') {\r
-       ++str;\r
-      }\r
-\r
-      /* Call parse table entry function and return. */\r
-      p->pfunc(s, str);\r
-      return;\r
-    }\r
-  }\r
-\r
-  /* Did not find matching entry in parse table. We just call the\r
-     default handler supplied by the caller and return. */\r
-  p->pfunc(s, str);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-exitt(struct telnetd_state *s, char *str)\r
-{\r
-  telnetd_close(s);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-inttostr(register char *str, unsigned int i)\r
-{\r
-  str[0] = '0' + i / 100;\r
-  if(str[0] == '0') {\r
-    str[0] = ' ';\r
-  }\r
-  str[1] = '0' + (i / 10) % 10;\r
-  if(str[1] == '0') {\r
-    str[1] = ' ';\r
-  }\r
-  str[2] = '0' + i % 10;\r
-  str[3] = ' ';\r
-  str[4] = 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-stats(struct telnetd_state *s, char *strr)\r
-{\r
-  char str[10];\r
-\r
-  inttostr(str, uip_stat.ip.recv);\r
-  telnetd_output(s, "IP packets received ", str);\r
-  inttostr(str, uip_stat.ip.sent);\r
-  telnetd_output(s, "IP packets sent ", str);\r
-  inttostr(str, uip_stat.ip.drop);\r
-  telnetd_output(s, "IP packets dropped ", str);\r
-\r
-  inttostr(str, uip_stat.icmp.recv);\r
-  telnetd_output(s, "ICMP packets received ", str);\r
-  inttostr(str, uip_stat.icmp.sent);\r
-  telnetd_output(s, "ICMP packets sent ", str);\r
-  inttostr(str, uip_stat.icmp.drop);\r
-  telnetd_output(s, "ICMP packets dropped ", str);\r
-\r
-  inttostr(str, uip_stat.tcp.recv);\r
-  telnetd_output(s, "TCP packets received ", str);\r
-  inttostr(str, uip_stat.tcp.sent);\r
-  telnetd_output(s, "TCP packets sent ", str);\r
-  inttostr(str, uip_stat.tcp.drop);\r
-  telnetd_output(s, "TCP packets dropped ", str);\r
-  inttostr(str, uip_stat.tcp.rexmit);\r
-  telnetd_output(s, "TCP packets retransmitted ", str);\r
-  inttostr(str, uip_stat.tcp.synrst);\r
-  telnetd_output(s, "TCP connection attempts ", str);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-help(struct telnetd_state *s, char *str)\r
-{\r
-  telnetd_output(s, "Available commands:", "");\r
-  telnetd_output(s, "stats - show uIP statistics", "");\r
-  telnetd_output(s, "exit  - exit shell", "");  \r
-  telnetd_output(s, "?     - show this help", "");        \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-none(struct telnetd_state *s, char *str)\r
-{\r
-  if(strlen(str) > 0) {\r
-    telnetd_output(s, "Unknown command", "");\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static struct ptentry configparsetab[] =\r
-  {{'s', stats},\r
-   {'e', exitt},\r
-   {'?', help},\r
-\r
-   /* Default action */\r
-   {0, none}};\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_connected(struct telnetd_state *s)\r
-{\r
-  telnetd_output(s, "uIP command shell", "");\r
-  telnetd_output(s, "Type '?' for help", "");  \r
-  telnetd_prompt(s, "uIP-0.9> "); \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_input(struct telnetd_state *s, char *cmd)\r
-{\r
-  parse(s, cmd, configparsetab);\r
-  telnetd_prompt(s, "uIP-0.9> "); \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/telnetd.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/telnetd.c
deleted file mode 100644 (file)
index dba5222..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-/**\r
- * \addtogroup exampleapps\r
- * @{\r
- */\r
-\r
-/**\r
- * \defgroup telnetd Telnet server\r
- * @{\r
- *\r
- * The uIP telnet server provides a command based interface to uIP. It\r
- * allows using the "telnet" application to access uIP, and implements\r
- * the required telnet option negotiation.\r
- *\r
- * The code is structured in a way which makes it possible to add\r
- * commands without having to rewrite the main telnet code. The main\r
- * telnet code calls two callback functions, telnetd_connected() and\r
- * telnetd_input(), when a telnet connection has been established and\r
- * when a line of text arrives on a telnet connection. These two\r
- * functions can be implemented in a way which suits the particular\r
- * application or environment in which the uIP system is intended to\r
- * be run.\r
- *\r
- * The uIP distribution contains an example telnet shell\r
- * implementation that provides a basic set of commands.\r
- */\r
-\r
-/**\r
- * \file\r
- * Implementation of the Telnet server.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: telnetd.c,v 1.1.2.2 2003/10/07 13:47:50 adam Exp $\r
- *\r
- */\r
-\r
-#include "uip.h"\r
-#include "memb.h"\r
-#include "telnetd.h"\r
-#include <string.h>\r
-\r
-#define ISO_nl       0x0a\r
-#define ISO_cr       0x0d\r
-\r
-MEMB(linemem, TELNETD_LINELEN, TELNETD_NUMLINES);\r
-\r
-static u8_t i;\r
-\r
-#define STATE_NORMAL 0\r
-#define STATE_IAC    1\r
-#define STATE_WILL   2\r
-#define STATE_WONT   3\r
-#define STATE_DO     4  \r
-#define STATE_DONT   5\r
-#define STATE_CLOSE  6\r
-\r
-#define TELNET_IAC   255\r
-#define TELNET_WILL  251\r
-#define TELNET_WONT  252\r
-#define TELNET_DO    253\r
-#define TELNET_DONT  254\r
-/*-----------------------------------------------------------------------------------*/\r
-static char *\r
-alloc_line(void)\r
-{  \r
-  return memb_alloc(&linemem);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-dealloc_line(char *line)\r
-{\r
-  memb_free(&linemem, line);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-sendline(struct telnetd_state *s, char *line)\r
-{\r
-  static unsigned int i;\r
-  for(i = 0; i < TELNETD_NUMLINES; ++i) {\r
-    if(s->lines[i] == NULL) {\r
-      s->lines[i] = line;\r
-      break;\r
-    }\r
-  }\r
-  if(i == TELNETD_NUMLINES) {\r
-    dealloc_line(line);\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Close a telnet session.\r
- *\r
- * This function can be called from a telnet command in order to close\r
- * the connection.\r
- *\r
- * \param s The connection which is to be closed.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_close(struct telnetd_state *s)\r
-{\r
-  s->state = STATE_CLOSE;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Print a prompt on a telnet connection.\r
- *\r
- * This function can be called by the telnet command shell in order to\r
- * print out a command prompt.\r
- *\r
- * \param s A telnet connection.\r
- *\r
- * \param str The command prompt.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_prompt(struct telnetd_state *s, char *str)\r
-{\r
-  char *line;\r
-  line = alloc_line();\r
-  if(line != NULL) {\r
-    strncpy(line, str, TELNETD_LINELEN);\r
-    sendline(s, line);\r
-  }         \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Print out a string on a telnet connection.\r
- *\r
- * This function can be called from a telnet command parser in order\r
- * to print out a string of text on the connection. The two strings\r
- * given as arguments to the function will be concatenated, a carrige\r
- * return and a new line character will be added, and the line is\r
- * sent.\r
- *\r
- * \param s The telnet connection.\r
- *\r
- * \param str1 The first string.\r
- *\r
- * \param str2 The second string.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_output(struct telnetd_state *s, char *str1, char *str2)\r
-{\r
-  static unsigned len;\r
-  char *line;\r
-  \r
-  line = alloc_line();\r
-  if(line != NULL) {\r
-    len = strlen(str1);\r
-    strncpy(line, str1, TELNETD_LINELEN);\r
-    if(len < TELNETD_LINELEN) {\r
-      strncpy(line + len, str2, TELNETD_LINELEN - len);\r
-    }\r
-    len = strlen(line);\r
-    if(len < TELNETD_LINELEN - 2) {\r
-      line[len] = ISO_cr;\r
-      line[len+1] = ISO_nl;\r
-      line[len+2] = 0;\r
-    }\r
-    sendline(s, line);\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize the telnet server.\r
- *\r
- * This function will perform the necessary initializations and start\r
- * listening on TCP port 23.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_init(void)\r
-{\r
-  memb_init(&linemem);\r
-  uip_listen(HTONS(23));\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-acked(struct telnetd_state *s)     \r
-{\r
-  dealloc_line(s->lines[0]);\r
-  for(i = 1; i < TELNETD_NUMLINES; ++i) {\r
-    s->lines[i - 1] = s->lines[i];\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-senddata(struct telnetd_state *s)    \r
-{\r
-  if(s->lines[0] != NULL) {\r
-    uip_send(s->lines[0], strlen(s->lines[0]));\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-getchar(struct telnetd_state *s, u8_t c)\r
-{\r
-  if(c == ISO_cr) {\r
-    return;\r
-  }\r
-  \r
-  s->buf[(int)s->bufptr] = c;  \r
-  if(s->buf[(int)s->bufptr] == ISO_nl ||\r
-     s->bufptr == sizeof(s->buf) - 1) {    \r
-    if(s->bufptr > 0) {\r
-      s->buf[(int)s->bufptr] = 0;\r
-    }\r
-    telnetd_input(s, s->buf);\r
-    s->bufptr = 0;\r
-  } else {\r
-    ++s->bufptr;\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-sendopt(struct telnetd_state *s, u8_t option, u8_t value)\r
-{\r
-  char *line;\r
-  line = alloc_line();\r
-  if(line != NULL) {\r
-    line[0] = TELNET_IAC;\r
-    line[1] = option;\r
-    line[2] = value;\r
-    line[3] = 0;\r
-    sendline(s, line);\r
-  }       \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-newdata(struct telnetd_state *s)\r
-{\r
-  u16_t len;\r
-  u8_t c;\r
-    \r
-  \r
-  len = uip_datalen();\r
-  \r
-  while(len > 0 && s->bufptr < sizeof(s->buf)) {\r
-    c = *uip_appdata;\r
-    ++uip_appdata;\r
-    --len;\r
-    switch(s->state) {\r
-    case STATE_IAC:\r
-      if(c == TELNET_IAC) {\r
-       getchar(s, c);\r
-       s->state = STATE_NORMAL;\r
-      } else {\r
-       switch(c) {\r
-       case TELNET_WILL:\r
-         s->state = STATE_WILL;\r
-         break;\r
-       case TELNET_WONT:\r
-         s->state = STATE_WONT;\r
-         break;\r
-       case TELNET_DO:\r
-         s->state = STATE_DO;\r
-         break;\r
-       case TELNET_DONT:\r
-         s->state = STATE_DONT;\r
-         break;\r
-       default:\r
-         s->state = STATE_NORMAL;\r
-         break;\r
-       }\r
-      }\r
-      break;\r
-    case STATE_WILL:\r
-      /* Reply with a DONT */\r
-      sendopt(s, TELNET_DONT, c);\r
-      s->state = STATE_NORMAL;\r
-      break;\r
-      \r
-    case STATE_WONT:\r
-      /* Reply with a DONT */\r
-      sendopt(s, TELNET_DONT, c);\r
-      s->state = STATE_NORMAL;\r
-      break;\r
-    case STATE_DO:\r
-      /* Reply with a WONT */\r
-      sendopt(s, TELNET_WONT, c);\r
-      s->state = STATE_NORMAL;\r
-      break;\r
-    case STATE_DONT:\r
-      /* Reply with a WONT */\r
-      sendopt(s, TELNET_WONT, c);\r
-      s->state = STATE_NORMAL;\r
-      break;\r
-    case STATE_NORMAL:\r
-      if(c == TELNET_IAC) {\r
-       s->state = STATE_IAC;\r
-      } else {\r
-       getchar(s, c);\r
-      }      \r
-      break;\r
-    } \r
-\r
-    \r
-  }  \r
-  \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_app(void)\r
-{\r
-  struct telnetd_state *s;\r
-\r
-  s = (struct telnetd_state *)uip_conn->appstate;\r
-  \r
-  if(uip_connected()) {\r
-\r
-    for(i = 0; i < TELNETD_NUMLINES; ++i) {\r
-      s->lines[i] = NULL;\r
-    }\r
-    s->bufptr = 0;\r
-    s->state = STATE_NORMAL;\r
-\r
-    telnetd_connected(s);\r
-    senddata(s);\r
-    return;\r
-  }\r
-\r
-  if(s->state == STATE_CLOSE) {\r
-    s->state = STATE_NORMAL;\r
-    uip_close();\r
-    return;\r
-  }\r
-  \r
-  if(uip_closed()) {\r
-    telnetd_output(s, "Connection closed", "");\r
-  }\r
-\r
-  \r
-  if(uip_aborted()) {\r
-    telnetd_output(s, "Connection reset", "");\r
-  }\r
-  \r
-  if(uip_timedout()) {\r
-    telnetd_output(s, "Connection timed out", "");\r
-  }\r
-  \r
-  if(uip_acked()) {\r
-    acked(s);\r
-  }\r
-  \r
-  if(uip_newdata()) {\r
-    newdata(s);\r
-  }\r
-  \r
-  if(uip_rexmit() ||\r
-     uip_newdata() ||\r
-     uip_acked()) {\r
-    senddata(s);\r
-  } else if(uip_poll()) {    \r
-    senddata(s);\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/telnetd.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/telnetd.h
deleted file mode 100644 (file)
index 254e44f..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/**\r
- * \addtogroup telnetd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * Header file for the telnet server.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2002, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: telnetd.h,v 1.1.2.2 2003/10/07 13:22:27 adam Exp $\r
- *\r
- */\r
-#ifndef __TELNETD_H__\r
-#define __TELNETD_H__\r
-\r
-#include "uip.h"\r
-\r
-/**\r
- * The maximum length of a telnet line.\r
- *\r
- * \hideinitializer\r
- */\r
-#define TELNETD_LINELEN 36\r
-\r
-/**\r
- * The number of output lines being buffered for all telnet\r
- * connections.\r
- *\r
- * \hideinitializer\r
- */\r
-#define TELNETD_NUMLINES 2\r
-\r
-/**\r
- * A telnet connection structure.\r
- */\r
-struct telnetd_state {\r
-  char *lines[TELNETD_NUMLINES];\r
-  char buf[TELNETD_LINELEN];\r
-  char bufptr;\r
-  u8_t state;\r
-};\r
-\r
-\r
-/**\r
- * Callback function that is called when a telnet connection has been\r
- * established.\r
- *\r
- * \param s The telnet connection. \r
- */\r
-void telnetd_connected(struct telnetd_state *s);\r
-\r
-/**\r
- * Callback function that is called when a line of text has arrived on\r
- * a telnet connection.\r
- *\r
- * \param s The telnet connection.\r
- *\r
- * \param cmd The line of text.\r
- */\r
-void telnetd_input(struct telnetd_state *s, char *cmd);\r
-\r
-\r
-void telnetd_close(struct telnetd_state *s);\r
-void telnetd_output(struct telnetd_state *s, char *s1, char *s2);\r
-void telnetd_prompt(struct telnetd_state *s, char *str);\r
-\r
-void telnetd_app(void);\r
-\r
-#ifndef UIP_APPCALL\r
-#define UIP_APPCALL     telnetd_app\r
-#endif\r
-\r
-#ifndef UIP_APPSTATE_SIZE\r
-#define UIP_APPSTATE_SIZE (sizeof(struct telnetd_state))\r
-#endif\r
-\r
-void telnetd_init(void);\r
-\r
-\r
-#endif /* __TELNET_H__ */\r
-\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip.c
deleted file mode 100644 (file)
index 37f64fa..0000000
+++ /dev/null
@@ -1,1514 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * The uIP TCP/IP stack code.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip.c,v 1.62.2.10 2003/10/07 13:23:01 adam Exp $\r
- *\r
- */\r
-\r
-/*\r
-This is a small implementation of the IP and TCP protocols (as well as\r
-some basic ICMP stuff). The implementation couples the IP, TCP and the\r
-application layers very tightly. To keep the size of the compiled code\r
-down, this code also features heavy usage of the goto statement.\r
-\r
-The principle is that we have a small buffer, called the uip_buf, in\r
-which the device driver puts an incoming packet. The TCP/IP stack\r
-parses the headers in the packet, and calls upon the application. If\r
-the remote host has sent data to the application, this data is present\r
-in the uip_buf and the application read the data from there. It is up\r
-to the application to put this data into a byte stream if needed. The\r
-application will not be fed with data that is out of sequence.\r
-\r
-If the application whishes to send data to the peer, it should put its\r
-data into the uip_buf, 40 bytes from the start of the buffer. The\r
-TCP/IP stack will calculate the checksums, and fill in the necessary\r
-header fields and finally send the packet back to the peer.\r
-*/\r
-\r
-#include "uip.h"\r
-#include "uipopt.h"\r
-#include "uip_arch.h"\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* Variable definitions. */\r
-\r
-\r
-/* The IP address of this host. If it is defined to be fixed (by setting UIP_FIXEDADDR to 1 in uipopt.h), the address is set here. Otherwise, the address */\r
-#if UIP_FIXEDADDR > 0\r
-const u16_t uip_hostaddr[2] =\r
-  {HTONS((UIP_IPADDR0 << 8) | UIP_IPADDR1),\r
-   HTONS((UIP_IPADDR2 << 8) | UIP_IPADDR3)};\r
-const u16_t uip_arp_draddr[2] =\r
-  {HTONS((UIP_DRIPADDR0 << 8) | UIP_DRIPADDR1),\r
-   HTONS((UIP_DRIPADDR2 << 8) | UIP_DRIPADDR3)};\r
-const u16_t uip_arp_netmask[2] =\r
-  {HTONS((UIP_NETMASK0 << 8) | UIP_NETMASK1),\r
-   HTONS((UIP_NETMASK2 << 8) | UIP_NETMASK3)};\r
-#else\r
-u16_t uip_hostaddr[2];\r
-u16_t uip_arp_draddr[2], uip_arp_netmask[2];\r
-#endif /* UIP_FIXEDADDR */\r
-\r
-u8_t uip_buf[UIP_BUFSIZE+2];   /* The packet buffer that contains\r
-                               incoming packets. */\r
-volatile u8_t *uip_appdata;  /* The uip_appdata pointer points to\r
-                               application data. */\r
-volatile u8_t *uip_sappdata;  /* The uip_appdata pointer points to the\r
-                                application data which is to be sent. */\r
-#if UIP_URGDATA > 0\r
-volatile u8_t *uip_urgdata;  /* The uip_urgdata pointer points to\r
-                               urgent data (out-of-band data), if\r
-                               present. */\r
-volatile u8_t uip_urglen, uip_surglen;\r
-#endif /* UIP_URGDATA > 0 */\r
-\r
-volatile u16_t uip_len, uip_slen;\r
-                             /* The uip_len is either 8 or 16 bits,\r
-                               depending on the maximum packet\r
-                               size. */\r
-\r
-volatile u8_t uip_flags;     /* The uip_flags variable is used for\r
-                               communication between the TCP/IP stack\r
-                               and the application program. */\r
-struct uip_conn *uip_conn;   /* uip_conn always points to the current\r
-                               connection. */\r
-\r
-struct uip_conn uip_conns[UIP_CONNS];\r
-                             /* The uip_conns array holds all TCP\r
-                               connections. */\r
-u16_t uip_listenports[UIP_LISTENPORTS];\r
-                             /* The uip_listenports list all currently\r
-                               listning ports. */\r
-#if UIP_UDP\r
-struct uip_udp_conn *uip_udp_conn;\r
-struct uip_udp_conn uip_udp_conns[UIP_UDP_CONNS];\r
-#endif /* UIP_UDP */\r
-\r
-\r
-static u16_t ipid;           /* Ths ipid variable is an increasing\r
-                               number that is used for the IP ID\r
-                               field. */\r
-\r
-static u8_t iss[4];          /* The iss variable is used for the TCP\r
-                               initial sequence number. */\r
-\r
-#if UIP_ACTIVE_OPEN\r
-static u16_t lastport;       /* Keeps track of the last port used for\r
-                               a new connection. */\r
-#endif /* UIP_ACTIVE_OPEN */\r
-\r
-/* Temporary variables. */\r
-volatile u8_t uip_acc32[4];\r
-static u8_t c, opt;\r
-static u16_t tmp16;\r
-\r
-/* Structures and definitions. */\r
-#define TCP_FIN 0x01\r
-#define TCP_SYN 0x02\r
-#define TCP_RST 0x04\r
-#define TCP_PSH 0x08\r
-#define TCP_ACK 0x10\r
-#define TCP_URG 0x20\r
-#define TCP_CTL 0x3f\r
-\r
-#define ICMP_ECHO_REPLY 0\r
-#define ICMP_ECHO       8\r
-\r
-/* Macros. */\r
-#define BUF ((uip_tcpip_hdr *)&uip_buf[UIP_LLH_LEN])\r
-#define FBUF ((uip_tcpip_hdr *)&uip_reassbuf[0])\r
-#define ICMPBUF ((uip_icmpip_hdr *)&uip_buf[UIP_LLH_LEN])\r
-#define UDPBUF ((uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN])\r
-\r
-#if UIP_STATISTICS == 1\r
-struct uip_stats uip_stat;\r
-#define UIP_STAT(s) s\r
-#else\r
-#define UIP_STAT(s)\r
-#endif /* UIP_STATISTICS == 1 */\r
-\r
-#if UIP_LOGGING == 1\r
-#include <stdio.h>\r
-void uip_log(char *msg);\r
-#define UIP_LOG(m) uip_log(m)\r
-#else\r
-#define UIP_LOG(m)\r
-#endif /* UIP_LOGGING == 1 */\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_init(void)\r
-{\r
-  for(c = 0; c < UIP_LISTENPORTS; ++c) {\r
-    uip_listenports[c] = 0;\r
-  }\r
-  for(c = 0; c < UIP_CONNS; ++c) {\r
-    uip_conns[c].tcpstateflags = CLOSED;\r
-  }\r
-#if UIP_ACTIVE_OPEN\r
-  lastport = 1024;\r
-#endif /* UIP_ACTIVE_OPEN */\r
-\r
-#if UIP_UDP\r
-  for(c = 0; c < UIP_UDP_CONNS; ++c) {\r
-    uip_udp_conns[c].lport = 0;\r
-  }\r
-#endif /* UIP_UDP */\r
-\r
-\r
-  /* IPv4 initialization. */\r
-#if UIP_FIXEDADDR == 0\r
-  uip_hostaddr[0] = uip_hostaddr[1] = 0;\r
-#endif /* UIP_FIXEDADDR */\r
-\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-#if UIP_ACTIVE_OPEN\r
-struct uip_conn *\r
-uip_connect(u16_t *ripaddr, u16_t rport)\r
-{\r
-  register struct uip_conn *conn, *cconn;\r
-\r
-  /* Find an unused local port. */\r
- again:\r
-  ++lastport;\r
-\r
-  if(lastport >= 32000) {\r
-    lastport = 4096;\r
-  }\r
-\r
-  /* Check if this port is already in use, and if so try to find\r
-     another one. */\r
-  for(c = 0; c < UIP_CONNS; ++c) {\r
-    conn = &uip_conns[c];\r
-    if(conn->tcpstateflags != CLOSED &&\r
-       conn->lport == htons(lastport)) {\r
-      goto again;\r
-    }\r
-  }\r
-\r
-\r
-  conn = 0;\r
-  for(c = 0; c < UIP_CONNS; ++c) {\r
-    cconn = &uip_conns[c];\r
-    if(cconn->tcpstateflags == CLOSED) {\r
-      conn = cconn;\r
-      break;\r
-    }\r
-    if(cconn->tcpstateflags == TIME_WAIT) {\r
-      if(conn == 0 ||\r
-        cconn->timer > uip_conn->timer) {\r
-       conn = cconn;\r
-      }\r
-    }\r
-  }\r
-\r
-  if(conn == 0) {\r
-    return 0;\r
-  }\r
-\r
-  conn->tcpstateflags = SYN_SENT;\r
-\r
-  conn->snd_nxt[0] = iss[0];\r
-  conn->snd_nxt[1] = iss[1];\r
-  conn->snd_nxt[2] = iss[2];\r
-  conn->snd_nxt[3] = iss[3];\r
-\r
-  conn->initialmss = conn->mss = UIP_TCP_MSS;\r
-\r
-  conn->len = 1;   /* TCP length of the SYN is one. */\r
-  conn->nrtx = 0;\r
-  conn->timer = 1; /* Send the SYN next time around. */\r
-  conn->rto = UIP_RTO;\r
-  conn->sa = 0;\r
-  conn->sv = 16;\r
-  conn->lport = htons(lastport);\r
-  conn->rport = rport;\r
-  conn->ripaddr[0] = ripaddr[0];\r
-  conn->ripaddr[1] = ripaddr[1];\r
-\r
-  return conn;\r
-}\r
-#endif /* UIP_ACTIVE_OPEN */\r
-/*-----------------------------------------------------------------------------------*/\r
-#if UIP_UDP\r
-struct uip_udp_conn *\r
-uip_udp_new(u16_t *ripaddr, u16_t rport)\r
-{\r
-  register struct uip_udp_conn *conn;\r
-\r
-  /* Find an unused local port. */\r
- again:\r
-  ++lastport;\r
-\r
-  if(lastport >= 32000) {\r
-    lastport = 4096;\r
-  }\r
-\r
-  for(c = 0; c < UIP_UDP_CONNS; ++c) {\r
-    if(uip_udp_conns[c].lport == lastport) {\r
-      goto again;\r
-    }\r
-  }\r
-\r
-\r
-  conn = 0;\r
-  for(c = 0; c < UIP_UDP_CONNS; ++c) {\r
-    if(uip_udp_conns[c].lport == 0) {\r
-      conn = &uip_udp_conns[c];\r
-      break;\r
-    }\r
-  }\r
-\r
-  if(conn == 0) {\r
-    return 0;\r
-  }\r
-\r
-  conn->lport = HTONS(lastport);\r
-  conn->rport = HTONS(rport);\r
-  conn->ripaddr[0] = ripaddr[0];\r
-  conn->ripaddr[1] = ripaddr[1];\r
-\r
-  return conn;\r
-}\r
-#endif /* UIP_UDP */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_unlisten(u16_t port)\r
-{\r
-  for(c = 0; c < UIP_LISTENPORTS; ++c) {\r
-    if(uip_listenports[c] == port) {\r
-      uip_listenports[c] = 0;\r
-      return;\r
-    }\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_listen(u16_t port)\r
-{\r
-  for(c = 0; c < UIP_LISTENPORTS; ++c) {\r
-    if(uip_listenports[c] == 0) {\r
-      uip_listenports[c] = port;\r
-      return;\r
-    }\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/* XXX: IP fragment reassembly: not well-tested. */\r
-\r
-#if UIP_REASSEMBLY\r
-#define UIP_REASS_BUFSIZE (UIP_BUFSIZE - UIP_LLH_LEN)\r
-static u8_t uip_reassbuf[UIP_REASS_BUFSIZE];\r
-static u8_t uip_reassbitmap[UIP_REASS_BUFSIZE / (8 * 8)];\r
-static const u8_t bitmap_bits[8] = {0xff, 0x7f, 0x3f, 0x1f,\r
-                                   0x0f, 0x07, 0x03, 0x01};\r
-static u16_t uip_reasslen;\r
-static u8_t uip_reassflags;\r
-#define UIP_REASS_FLAG_LASTFRAG 0x01\r
-static u8_t uip_reasstmr;\r
-\r
-#define IP_HLEN 20\r
-#define IP_MF   0x20\r
-\r
-static u8_t\r
-uip_reass(void)\r
-{\r
-  u16_t offset, len;\r
-  u16_t i;\r
-\r
-  /* If ip_reasstmr is zero, no packet is present in the buffer, so we\r
-     write the IP header of the fragment into the reassembly\r
-     buffer. The timer is updated with the maximum age. */\r
-  if(uip_reasstmr == 0) {\r
-    memcpy(uip_reassbuf, &BUF->vhl, IP_HLEN);\r
-    uip_reasstmr = UIP_REASS_MAXAGE;\r
-    uip_reassflags = 0;\r
-    /* Clear the bitmap. */\r
-    memset(uip_reassbitmap, sizeof(uip_reassbitmap), 0);\r
-  }\r
-\r
-  /* Check if the incoming fragment matches the one currently present\r
-     in the reasembly buffer. If so, we proceed with copying the\r
-     fragment into the buffer. */\r
-  if(BUF->srcipaddr[0] == FBUF->srcipaddr[0] &&\r
-     BUF->srcipaddr[1] == FBUF->srcipaddr[1] &&\r
-     BUF->destipaddr[0] == FBUF->destipaddr[0] &&\r
-     BUF->destipaddr[1] == FBUF->destipaddr[1] &&\r
-     BUF->ipid[0] == FBUF->ipid[0] &&\r
-     BUF->ipid[1] == FBUF->ipid[1]) {\r
-\r
-    len = (BUF->len[0] << 8) + BUF->len[1] - (BUF->vhl & 0x0f) * 4;\r
-    offset = (((BUF->ipoffset[0] & 0x3f) << 8) + BUF->ipoffset[1]) * 8;\r
-\r
-    /* If the offset or the offset + fragment length overflows the\r
-       reassembly buffer, we discard the entire packet. */\r
-    if(offset > UIP_REASS_BUFSIZE ||\r
-       offset + len > UIP_REASS_BUFSIZE) {\r
-      uip_reasstmr = 0;\r
-      goto nullreturn;\r
-    }\r
-\r
-    /* Copy the fragment into the reassembly buffer, at the right\r
-       offset. */\r
-    memcpy(&uip_reassbuf[IP_HLEN + offset],\r
-          (char *)BUF + (int)((BUF->vhl & 0x0f) * 4),\r
-          len);\r
-\r
-    /* Update the bitmap. */\r
-    if(offset / (8 * 8) == (offset + len) / (8 * 8)) {\r
-      /* If the two endpoints are in the same byte, we only update\r
-        that byte. */\r
-       \r
-      uip_reassbitmap[offset / (8 * 8)] |=\r
-            bitmap_bits[(offset / 8 ) & 7] &\r
-            ~bitmap_bits[((offset + len) / 8 ) & 7];\r
-    } else {\r
-      /* If the two endpoints are in different bytes, we update the\r
-        bytes in the endpoints and fill the stuff inbetween with\r
-        0xff. */\r
-      uip_reassbitmap[offset / (8 * 8)] |=\r
-       bitmap_bits[(offset / 8 ) & 7];\r
-      for(i = 1 + offset / (8 * 8); i < (offset + len) / (8 * 8); ++i) {\r
-       uip_reassbitmap[i] = 0xff;\r
-      }\r
-      uip_reassbitmap[(offset + len) / (8 * 8)] |=\r
-       ~bitmap_bits[((offset + len) / 8 ) & 7];\r
-    }\r
-\r
-    /* If this fragment has the More Fragments flag set to zero, we\r
-       know that this is the last fragment, so we can calculate the\r
-       size of the entire packet. We also set the\r
-       IP_REASS_FLAG_LASTFRAG flag to indicate that we have received\r
-       the final fragment. */\r
-\r
-    if((BUF->ipoffset[0] & IP_MF) == 0) {\r
-      uip_reassflags |= UIP_REASS_FLAG_LASTFRAG;\r
-      uip_reasslen = offset + len;\r
-    }\r
-\r
-    /* Finally, we check if we have a full packet in the buffer. We do\r
-       this by checking if we have the last fragment and if all bits\r
-       in the bitmap are set. */\r
-    if(uip_reassflags & UIP_REASS_FLAG_LASTFRAG) {\r
-      /* Check all bytes up to and including all but the last byte in\r
-        the bitmap. */\r
-      for(i = 0; i < uip_reasslen / (8 * 8) - 1; ++i) {\r
-       if(uip_reassbitmap[i] != 0xff) {\r
-         goto nullreturn;\r
-       }\r
-      }\r
-      /* Check the last byte in the bitmap. It should contain just the\r
-        right amount of bits. */\r
-      if(uip_reassbitmap[uip_reasslen / (8 * 8)] !=\r
-        (u8_t)~bitmap_bits[uip_reasslen / 8 & 7]) {\r
-       goto nullreturn;\r
-      }\r
-\r
-      /* If we have come this far, we have a full packet in the\r
-        buffer, so we allocate a pbuf and copy the packet into it. We\r
-        also reset the timer. */\r
-      uip_reasstmr = 0;\r
-      memcpy(BUF, FBUF, uip_reasslen);\r
-\r
-      /* Pretend to be a "normal" (i.e., not fragmented) IP packet\r
-        from now on. */\r
-      BUF->ipoffset[0] = BUF->ipoffset[1] = 0;\r
-      BUF->len[0] = uip_reasslen >> 8;\r
-      BUF->len[1] = uip_reasslen & 0xff;\r
-      BUF->ipchksum = 0;\r
-      BUF->ipchksum = ~(uip_ipchksum());\r
-\r
-      return uip_reasslen;\r
-    }\r
-  }\r
-\r
- nullreturn:\r
-  return 0;\r
-}\r
-#endif /* UIP_REASSEMBL */\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-uip_add_rcv_nxt(u16_t n)\r
-{\r
-  uip_add32(uip_conn->rcv_nxt, n);\r
-  uip_conn->rcv_nxt[0] = uip_acc32[0];\r
-  uip_conn->rcv_nxt[1] = uip_acc32[1];\r
-  uip_conn->rcv_nxt[2] = uip_acc32[2];\r
-  uip_conn->rcv_nxt[3] = uip_acc32[3];\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_process(u8_t flag)\r
-{\r
-  register struct uip_conn *uip_connr = uip_conn;\r
-\r
-  uip_appdata = &uip_buf[40 + UIP_LLH_LEN];\r
-\r
-\r
-  /* Check if we were invoked because of the perodic timer fireing. */\r
-  if(flag == UIP_TIMER) {\r
-#if UIP_REASSEMBLY\r
-    if(uip_reasstmr != 0) {\r
-      --uip_reasstmr;\r
-    }\r
-#endif /* UIP_REASSEMBLY */\r
-    /* Increase the initial sequence number. */\r
-    if(++iss[3] == 0) {\r
-      if(++iss[2] == 0) {\r
-       if(++iss[1] == 0) {\r
-         ++iss[0];\r
-       }\r
-      }\r
-    }\r
-    uip_len = 0;\r
-    if(uip_connr->tcpstateflags == TIME_WAIT ||\r
-       uip_connr->tcpstateflags == FIN_WAIT_2) {\r
-      ++(uip_connr->timer);\r
-      if(uip_connr->timer == UIP_TIME_WAIT_TIMEOUT) {\r
-       uip_connr->tcpstateflags = CLOSED;\r
-      }\r
-    } else if(uip_connr->tcpstateflags != CLOSED) {\r
-      /* If the connection has outstanding data, we increase the\r
-        connection's timer and see if it has reached the RTO value\r
-        in which case we retransmit. */\r
-      if(uip_outstanding(uip_connr)) {\r
-       if(uip_connr->timer-- == 0) {\r
-         if(uip_connr->nrtx == UIP_MAXRTX ||\r
-            ((uip_connr->tcpstateflags == SYN_SENT ||\r
-              uip_connr->tcpstateflags == SYN_RCVD) &&\r
-             uip_connr->nrtx == UIP_MAXSYNRTX)) {\r
-           uip_connr->tcpstateflags = CLOSED;\r
-\r
-           /* We call UIP_APPCALL() with uip_flags set to\r
-              UIP_TIMEDOUT to inform the application that the\r
-              connection has timed out. */\r
-           uip_flags = UIP_TIMEDOUT;\r
-           UIP_APPCALL();\r
-\r
-           /* We also send a reset packet to the remote host. */\r
-           BUF->flags = TCP_RST | TCP_ACK;\r
-           goto tcp_send_nodata;\r
-         }\r
-\r
-         /* Exponential backoff. */\r
-         uip_connr->timer = UIP_RTO << (uip_connr->nrtx > 4?\r
-                                        4:\r
-                                        uip_connr->nrtx);\r
-         ++(uip_connr->nrtx);\r
-       \r
-         /* Ok, so we need to retransmit. We do this differently\r
-            depending on which state we are in. In ESTABLISHED, we\r
-            call upon the application so that it may prepare the\r
-            data for the retransmit. In SYN_RCVD, we resend the\r
-            SYNACK that we sent earlier and in LAST_ACK we have to\r
-            retransmit our FINACK. */\r
-         UIP_STAT(++uip_stat.tcp.rexmit);\r
-         switch(uip_connr->tcpstateflags & TS_MASK) {\r
-         case SYN_RCVD:\r
-           /* In the SYN_RCVD state, we should retransmit our\r
-               SYNACK. */\r
-           goto tcp_send_synack;\r
-       \r
-#if UIP_ACTIVE_OPEN\r
-         case SYN_SENT:\r
-           /* In the SYN_SENT state, we retransmit out SYN. */\r
-           BUF->flags = 0;\r
-           goto tcp_send_syn;\r
-#endif /* UIP_ACTIVE_OPEN */\r
-       \r
-         case ESTABLISHED:\r
-           /* In the ESTABLISHED state, we call upon the application\r
-               to do the actual retransmit after which we jump into\r
-               the code for sending out the packet (the apprexmit\r
-               label). */\r
-           uip_len = 0;\r
-           uip_slen = 0;\r
-           uip_flags = UIP_REXMIT;\r
-           UIP_APPCALL();\r
-           goto apprexmit;\r
-       \r
-         case FIN_WAIT_1:\r
-         case CLOSING:\r
-         case LAST_ACK:\r
-           /* In all these states we should retransmit a FINACK. */\r
-           goto tcp_send_finack;\r
-       \r
-         }\r
-       }\r
-      } else if((uip_connr->tcpstateflags & TS_MASK) == ESTABLISHED) {\r
-       /* If there was no need for a retransmission, we poll the\r
-           application for new data. */\r
-       uip_len = 0;\r
-       uip_slen = 0;\r
-       uip_flags = UIP_POLL;\r
-       UIP_APPCALL();\r
-       goto appsend;\r
-      }\r
-    }\r
-    goto drop;\r
-  }\r
-#if UIP_UDP\r
-  if(flag == UIP_UDP_TIMER) {\r
-    if(uip_udp_conn->lport != 0) {\r
-      uip_appdata = &uip_buf[UIP_LLH_LEN + 28];\r
-      uip_len = uip_slen = 0;\r
-      uip_flags = UIP_POLL;\r
-      UIP_UDP_APPCALL();\r
-      goto udp_send;\r
-    } else {\r
-      goto drop;\r
-    }\r
-  }\r
-#endif\r
-\r
-  /* This is where the input processing starts. */\r
-  UIP_STAT(++uip_stat.ip.recv);\r
-\r
-\r
-  /* Start of IPv4 input header processing code. */\r
-\r
-  /* Check validity of the IP header. */\r
-  if(BUF->vhl != 0x45)  { /* IP version and header length. */\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_STAT(++uip_stat.ip.vhlerr);\r
-    UIP_LOG("ip: invalid version or header length.");\r
-    goto drop;\r
-  }\r
-\r
-  /* Check the size of the packet. If the size reported to us in\r
-     uip_len doesn't match the size reported in the IP header, there\r
-     has been a transmission error and we drop the packet. */\r
-\r
-  if(BUF->len[0] != (uip_len >> 8)) { /* IP length, high byte. */\r
-    uip_len = (uip_len & 0xff) | (BUF->len[0] << 8);\r
-  }\r
-  if(BUF->len[1] != (uip_len & 0xff)) { /* IP length, low byte. */\r
-    uip_len = (uip_len & 0xff00) | BUF->len[1];\r
-  }\r
-\r
-  /* Check the fragment flag. */\r
-  if((BUF->ipoffset[0] & 0x3f) != 0 ||\r
-     BUF->ipoffset[1] != 0) {\r
-#if UIP_REASSEMBLY\r
-    uip_len = uip_reass();\r
-    if(uip_len == 0) {\r
-      goto drop;\r
-    }\r
-#else\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_STAT(++uip_stat.ip.fragerr);\r
-    UIP_LOG("ip: fragment dropped.");\r
-    goto drop;\r
-#endif /* UIP_REASSEMBLY */\r
-  }\r
-\r
-  /* If we are configured to use ping IP address configuration and\r
-     hasn't been assigned an IP address yet, we accept all ICMP\r
-     packets. */\r
-#if UIP_PINGADDRCONF\r
-  if((uip_hostaddr[0] | uip_hostaddr[1]) == 0) {\r
-    if(BUF->proto == UIP_PROTO_ICMP) {\r
-      UIP_LOG("ip: possible ping config packet received.");\r
-      goto icmp_input;\r
-    } else {\r
-      UIP_LOG("ip: packet dropped since no address assigned.");\r
-      goto drop;\r
-    }\r
-  }\r
-#endif /* UIP_PINGADDRCONF */\r
-\r
-  /* Check if the packet is destined for our IP address. */\r
-  if(BUF->destipaddr[0] != uip_hostaddr[0]) {\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_LOG("ip: packet not for us.");\r
-    goto drop;\r
-  }\r
-  if(BUF->destipaddr[1] != uip_hostaddr[1]) {\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_LOG("ip: packet not for us.");\r
-    goto drop;\r
-  }\r
-\r
-#if 0\r
-  // IP checksum is wrong through Netgear DSL router\r
-  if (uip_ipchksum() != 0xffff) { /* Compute and check the IP header\r
-                                   checksum. */\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_STAT(++uip_stat.ip.chkerr);\r
-    UIP_LOG("ip: bad checksum.");\r
-    goto drop;\r
-  }\r
-#endif\r
-\r
-  if(BUF->proto == UIP_PROTO_TCP)  /* Check for TCP packet. If so, jump\r
-                                     to the tcp_input label. */\r
-    goto tcp_input;\r
-\r
-#if UIP_UDP\r
-  if(BUF->proto == UIP_PROTO_UDP)\r
-    goto udp_input;\r
-#endif /* UIP_UDP */\r
-\r
-  if(BUF->proto != UIP_PROTO_ICMP) { /* We only allow ICMP packets from\r
-                                       here. */\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_STAT(++uip_stat.ip.protoerr);\r
-    UIP_LOG("ip: neither tcp nor icmp.");\r
-    goto drop;\r
-  }\r
-\r
-#if UIP_PINGADDRCONF\r
- icmp_input:\r
-#endif\r
-  UIP_STAT(++uip_stat.icmp.recv);\r
-\r
-  /* ICMP echo (i.e., ping) processing. This is simple, we only change\r
-     the ICMP type from ECHO to ECHO_REPLY and adjust the ICMP\r
-     checksum before we return the packet. */\r
-  if(ICMPBUF->type != ICMP_ECHO) {\r
-    UIP_STAT(++uip_stat.icmp.drop);\r
-    UIP_STAT(++uip_stat.icmp.typeerr);\r
-    UIP_LOG("icmp: not icmp echo.");\r
-    goto drop;\r
-  }\r
-\r
-  /* If we are configured to use ping IP address assignment, we use\r
-     the destination IP address of this ping packet and assign it to\r
-     ourself. */\r
-#if UIP_PINGADDRCONF\r
-  if((uip_hostaddr[0] | uip_hostaddr[1]) == 0) {\r
-    uip_hostaddr[0] = BUF->destipaddr[0];\r
-    uip_hostaddr[1] = BUF->destipaddr[1];\r
-  }\r
-#endif /* UIP_PINGADDRCONF */\r
-\r
-  ICMPBUF->type = ICMP_ECHO_REPLY;\r
-\r
-  if(ICMPBUF->icmpchksum >= HTONS(0xffff - (ICMP_ECHO << 8))) {\r
-    ICMPBUF->icmpchksum += HTONS(ICMP_ECHO << 8) + 1;\r
-  } else {\r
-    ICMPBUF->icmpchksum += HTONS(ICMP_ECHO << 8);\r
-  }\r
-\r
-  /* Swap IP addresses. */\r
-  tmp16 = BUF->destipaddr[0];\r
-  BUF->destipaddr[0] = BUF->srcipaddr[0];\r
-  BUF->srcipaddr[0] = tmp16;\r
-  tmp16 = BUF->destipaddr[1];\r
-  BUF->destipaddr[1] = BUF->srcipaddr[1];\r
-  BUF->srcipaddr[1] = tmp16;\r
-\r
-  UIP_STAT(++uip_stat.icmp.sent);\r
-  goto send;\r
-\r
-  /* End of IPv4 input header processing code. */\r
-\r
-\r
-#if UIP_UDP\r
-  /* UDP input processing. */\r
- udp_input:\r
-  /* UDP processing is really just a hack. We don't do anything to the\r
-     UDP/IP headers, but let the UDP application do all the hard\r
-     work. If the application sets uip_slen, it has a packet to\r
-     send. */\r
-#if UIP_UDP_CHECKSUMS\r
-  if(uip_udpchksum() != 0xffff) {\r
-    UIP_STAT(++uip_stat.udp.drop);\r
-    UIP_STAT(++uip_stat.udp.chkerr);\r
-    UIP_LOG("udp: bad checksum.");\r
-    goto drop;\r
-  }\r
-#endif /* UIP_UDP_CHECKSUMS */\r
-\r
-  /* Demultiplex this UDP packet between the UDP "connections". */\r
-  for(uip_udp_conn = &uip_udp_conns[0];\r
-      uip_udp_conn < &uip_udp_conns[UIP_UDP_CONNS];\r
-      ++uip_udp_conn) {\r
-    if(uip_udp_conn->lport != 0 &&\r
-       UDPBUF->destport == uip_udp_conn->lport &&\r
-       (uip_udp_conn->rport == 0 ||\r
-        UDPBUF->srcport == uip_udp_conn->rport) &&\r
-       BUF->srcipaddr[0] == uip_udp_conn->ripaddr[0] &&\r
-       BUF->srcipaddr[1] == uip_udp_conn->ripaddr[1]) {\r
-      goto udp_found;\r
-    }\r
-  }\r
-  goto drop;\r
-\r
- udp_found:\r
-  uip_len = uip_len - 28;\r
-  uip_appdata = &uip_buf[UIP_LLH_LEN + 28];\r
-  uip_flags = UIP_NEWDATA;\r
-  uip_slen = 0;\r
-  UIP_UDP_APPCALL();\r
- udp_send:\r
-  if(uip_slen == 0) {\r
-    goto drop;\r
-  }\r
-  uip_len = uip_slen + 28;\r
-\r
-  BUF->len[0] = (uip_len >> 8);\r
-  BUF->len[1] = (uip_len & 0xff);\r
-\r
-  BUF->proto = UIP_PROTO_UDP;\r
-\r
-  UDPBUF->udplen = HTONS(uip_slen + 8);\r
-  UDPBUF->udpchksum = 0;\r
-#if UIP_UDP_CHECKSUMS\r
-  /* Calculate UDP checksum. */\r
-  UDPBUF->udpchksum = ~(uip_udpchksum());\r
-  if(UDPBUF->udpchksum == 0) {\r
-    UDPBUF->udpchksum = 0xffff;\r
-  }\r
-#endif /* UIP_UDP_CHECKSUMS */\r
-\r
-  BUF->srcport  = uip_udp_conn->lport;\r
-  BUF->destport = uip_udp_conn->rport;\r
-\r
-  BUF->srcipaddr[0] = uip_hostaddr[0];\r
-  BUF->srcipaddr[1] = uip_hostaddr[1];\r
-  BUF->destipaddr[0] = uip_udp_conn->ripaddr[0];\r
-  BUF->destipaddr[1] = uip_udp_conn->ripaddr[1];\r
-\r
-  uip_appdata = &uip_buf[UIP_LLH_LEN + 40];\r
-  goto ip_send_nolen;\r
-#endif /* UIP_UDP */\r
-\r
-  /* TCP input processing. */\r
- tcp_input:\r
-  UIP_STAT(++uip_stat.tcp.recv);\r
-\r
-  /* Start of TCP input header processing code. */\r
-\r
-#if 1  // FIXME\r
-  if(uip_tcpchksum() != 0xffff) {   /* Compute and check the TCP\r
-                                      checksum. */\r
-    UIP_STAT(++uip_stat.tcp.drop);\r
-    UIP_STAT(++uip_stat.tcp.chkerr);\r
-    UIP_LOG("tcp: bad checksum.");\r
-    goto drop;\r
-  }\r
-#endif\r
-\r
-  /* Demultiplex this segment. */\r
-  /* First check any active connections. */\r
-  for(uip_connr = &uip_conns[0]; uip_connr < &uip_conns[UIP_CONNS]; ++uip_connr) {\r
-    if(uip_connr->tcpstateflags != CLOSED &&\r
-       BUF->destport == uip_connr->lport &&\r
-       BUF->srcport == uip_connr->rport &&\r
-       BUF->srcipaddr[0] == uip_connr->ripaddr[0] &&\r
-       BUF->srcipaddr[1] == uip_connr->ripaddr[1]) {\r
-      goto found;\r
-    }\r
-  }\r
-\r
-  /* If we didn't find and active connection that expected the packet,\r
-     either this packet is an old duplicate, or this is a SYN packet\r
-     destined for a connection in LISTEN. If the SYN flag isn't set,\r
-     it is an old packet and we send a RST. */\r
-  if((BUF->flags & TCP_CTL) != TCP_SYN)\r
-    goto reset;\r
-\r
-  tmp16 = BUF->destport;\r
-  /* Next, check listening connections. */\r
-  for(c = 0; c < UIP_LISTENPORTS; ++c) {\r
-    if(tmp16 == uip_listenports[c])\r
-      goto found_listen;\r
-  }\r
-\r
-  /* No matching connection found, so we send a RST packet. */\r
-  UIP_STAT(++uip_stat.tcp.synrst);\r
- reset:\r
-\r
-  /* We do not send resets in response to resets. */\r
-  if(BUF->flags & TCP_RST)\r
-    goto drop;\r
-\r
-  UIP_STAT(++uip_stat.tcp.rst);\r
-\r
-  BUF->flags = TCP_RST | TCP_ACK;\r
-  uip_len = 40;\r
-  BUF->tcpoffset = 5 << 4;\r
-\r
-  /* Flip the seqno and ackno fields in the TCP header. */\r
-  c = BUF->seqno[3];\r
-  BUF->seqno[3] = BUF->ackno[3];\r
-  BUF->ackno[3] = c;\r
-\r
-  c = BUF->seqno[2];\r
-  BUF->seqno[2] = BUF->ackno[2];\r
-  BUF->ackno[2] = c;\r
-\r
-  c = BUF->seqno[1];\r
-  BUF->seqno[1] = BUF->ackno[1];\r
-  BUF->ackno[1] = c;\r
-\r
-  c = BUF->seqno[0];\r
-  BUF->seqno[0] = BUF->ackno[0];\r
-  BUF->ackno[0] = c;\r
-\r
-  /* We also have to increase the sequence number we are\r
-     acknowledging. If the least significant byte overflowed, we need\r
-     to propagate the carry to the other bytes as well. */\r
-  if(++BUF->ackno[3] == 0) {\r
-    if(++BUF->ackno[2] == 0) {\r
-      if(++BUF->ackno[1] == 0) {\r
-       ++BUF->ackno[0];\r
-      }\r
-    }\r
-  }\r
-\r
-  /* Swap port numbers. */\r
-  tmp16 = BUF->srcport;\r
-  BUF->srcport = BUF->destport;\r
-  BUF->destport = tmp16;\r
-\r
-  /* Swap IP addresses. */\r
-  tmp16 = BUF->destipaddr[0];\r
-  BUF->destipaddr[0] = BUF->srcipaddr[0];\r
-  BUF->srcipaddr[0] = tmp16;\r
-  tmp16 = BUF->destipaddr[1];\r
-  BUF->destipaddr[1] = BUF->srcipaddr[1];\r
-  BUF->srcipaddr[1] = tmp16;\r
-\r
-\r
-  /* And send out the RST packet! */\r
-  goto tcp_send_noconn;\r
-\r
-  /* This label will be jumped to if we matched the incoming packet\r
-     with a connection in LISTEN. In that case, we should create a new\r
-     connection and send a SYNACK in return. */\r
- found_listen:\r
-  /* First we check if there are any connections avaliable. Unused\r
-     connections are kept in the same table as used connections, but\r
-     unused ones have the tcpstate set to CLOSED. Also, connections in\r
-     TIME_WAIT are kept track of and we'll use the oldest one if no\r
-     CLOSED connections are found. Thanks to Eddie C. Dost for a very\r
-     nice algorithm for the TIME_WAIT search. */\r
-  uip_connr = 0;\r
-  for(c = 0; c < UIP_CONNS; ++c) {\r
-    if(uip_conns[c].tcpstateflags == CLOSED) {\r
-      uip_connr = &uip_conns[c];\r
-      break;\r
-    }\r
-    if(uip_conns[c].tcpstateflags == TIME_WAIT) {\r
-      if(uip_connr == 0 ||\r
-        uip_conns[c].timer > uip_connr->timer) {\r
-       uip_connr = &uip_conns[c];\r
-      }\r
-    }\r
-  }\r
-\r
-  if(uip_connr == 0) {\r
-    /* All connections are used already, we drop packet and hope that\r
-       the remote end will retransmit the packet at a time when we\r
-       have more spare connections. */\r
-    UIP_STAT(++uip_stat.tcp.syndrop);\r
-    UIP_LOG("tcp: found no unused connections.");\r
-    goto drop;\r
-  }\r
-  uip_conn = uip_connr;\r
-\r
-  /* Fill in the necessary fields for the new connection. */\r
-  uip_connr->rto = uip_connr->timer = UIP_RTO;\r
-  uip_connr->sa = 0;\r
-  uip_connr->sv = 4;\r
-  uip_connr->nrtx = 0;\r
-  uip_connr->lport = BUF->destport;\r
-  uip_connr->rport = BUF->srcport;\r
-  uip_connr->ripaddr[0] = BUF->srcipaddr[0];\r
-  uip_connr->ripaddr[1] = BUF->srcipaddr[1];\r
-  uip_connr->tcpstateflags = SYN_RCVD;\r
-\r
-  uip_connr->snd_nxt[0] = iss[0];\r
-  uip_connr->snd_nxt[1] = iss[1];\r
-  uip_connr->snd_nxt[2] = iss[2];\r
-  uip_connr->snd_nxt[3] = iss[3];\r
-  uip_connr->len = 1;\r
-\r
-  /* rcv_nxt should be the seqno from the incoming packet + 1. */\r
-  uip_connr->rcv_nxt[3] = BUF->seqno[3];\r
-  uip_connr->rcv_nxt[2] = BUF->seqno[2];\r
-  uip_connr->rcv_nxt[1] = BUF->seqno[1];\r
-  uip_connr->rcv_nxt[0] = BUF->seqno[0];\r
-  uip_add_rcv_nxt(1);\r
-\r
-  /* Parse the TCP MSS option, if present. */\r
-  if((BUF->tcpoffset & 0xf0) > 0x50) {\r
-    for(c = 0; c < ((BUF->tcpoffset >> 4) - 5) << 2 ;) {\r
-      opt = uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + c];\r
-      if(opt == 0x00) {\r
-       /* End of options. */   \r
-       break;\r
-      } else if(opt == 0x01) {\r
-       ++c;\r
-       /* NOP option. */\r
-      } else if(opt == 0x02 &&\r
-               uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0x04) {\r
-       /* An MSS option with the right option length. */       \r
-       tmp16 = ((u16_t)uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 2 + c] << 8) |\r
-         (u16_t)uip_buf[40 + UIP_LLH_LEN + 3 + c];\r
-       uip_connr->initialmss = uip_connr->mss =\r
-         tmp16 > UIP_TCP_MSS? UIP_TCP_MSS: tmp16;\r
-       \r
-       /* And we are done processing options. */\r
-       break;\r
-      } else {\r
-       /* All other options have a length field, so that we easily\r
-          can skip past them. */\r
-       if(uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0) {\r
-         /* If the length field is zero, the options are malformed\r
-            and we don't process them further. */\r
-         break;\r
-       }\r
-       c += uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c];\r
-      }\r
-    }\r
-  }\r
-\r
-  /* Our response will be a SYNACK. */\r
-#if UIP_ACTIVE_OPEN\r
- tcp_send_synack:\r
-  BUF->flags = TCP_ACK;\r
-\r
- tcp_send_syn:\r
-  BUF->flags |= TCP_SYN;\r
-#else /* UIP_ACTIVE_OPEN */\r
- tcp_send_synack:\r
-  BUF->flags = TCP_SYN | TCP_ACK;\r
-#endif /* UIP_ACTIVE_OPEN */\r
-\r
-  /* We send out the TCP Maximum Segment Size option with our\r
-     SYNACK. */\r
-  BUF->optdata[0] = 2;\r
-  BUF->optdata[1] = 4;\r
-  BUF->optdata[2] = (UIP_TCP_MSS) / 256;\r
-  BUF->optdata[3] = (UIP_TCP_MSS) & 255;\r
-  uip_len = 44;\r
-  BUF->tcpoffset = 6 << 4;\r
-  goto tcp_send;\r
-\r
-  /* This label will be jumped to if we found an active connection. */\r
- found:\r
-  uip_conn = uip_connr;\r
-  uip_flags = 0;\r
-\r
-  /* We do a very naive form of TCP reset processing; we just accept\r
-     any RST and kill our connection. We should in fact check if the\r
-     sequence number of this reset is wihtin our advertised window\r
-     before we accept the reset. */\r
-  if(BUF->flags & TCP_RST) {\r
-    uip_connr->tcpstateflags = CLOSED;\r
-    UIP_LOG("tcp: got reset, aborting connection.");\r
-    uip_flags = UIP_ABORT;\r
-    UIP_APPCALL();\r
-    goto drop;\r
-  }\r
-  /* Calculated the length of the data, if the application has sent\r
-     any data to us. */\r
-  c = (BUF->tcpoffset >> 4) << 2;\r
-  /* uip_len will contain the length of the actual TCP data. This is\r
-     calculated by subtracing the length of the TCP header (in\r
-     c) and the length of the IP header (20 bytes). */\r
-  uip_len = uip_len - c - 20;\r
-\r
-  /* First, check if the sequence number of the incoming packet is\r
-     what we're expecting next. If not, we send out an ACK with the\r
-     correct numbers in. */\r
-  if(uip_len > 0 &&\r
-     (BUF->seqno[0] != uip_connr->rcv_nxt[0] ||\r
-      BUF->seqno[1] != uip_connr->rcv_nxt[1] ||\r
-      BUF->seqno[2] != uip_connr->rcv_nxt[2] ||\r
-      BUF->seqno[3] != uip_connr->rcv_nxt[3])) {\r
-    goto tcp_send_ack;\r
-  }\r
-\r
-  /* Next, check if the incoming segment acknowledges any outstanding\r
-     data. If so, we update the sequence number, reset the length of\r
-     the outstanding data, calculate RTT estimations, and reset the\r
-     retransmission timer. */\r
-  if((BUF->flags & TCP_ACK) && uip_outstanding(uip_connr)) {\r
-    uip_add32(uip_connr->snd_nxt, uip_connr->len);\r
-    if(BUF->ackno[0] == uip_acc32[0] &&\r
-       BUF->ackno[1] == uip_acc32[1] &&\r
-       BUF->ackno[2] == uip_acc32[2] &&\r
-       BUF->ackno[3] == uip_acc32[3]) {\r
-      /* Update sequence number. */\r
-      uip_connr->snd_nxt[0] = uip_acc32[0];\r
-      uip_connr->snd_nxt[1] = uip_acc32[1];\r
-      uip_connr->snd_nxt[2] = uip_acc32[2];\r
-      uip_connr->snd_nxt[3] = uip_acc32[3];\r
-       \r
-\r
-      /* Do RTT estimation, unless we have done retransmissions. */\r
-      if(uip_connr->nrtx == 0) {\r
-       signed char m;\r
-       m = uip_connr->rto - uip_connr->timer;\r
-       /* This is taken directly from VJs original code in his paper */\r
-       m = m - (uip_connr->sa >> 3);\r
-       uip_connr->sa += m;\r
-       if(m < 0) {\r
-         m = -m;\r
-       }\r
-       m = m - (uip_connr->sv >> 2);\r
-       uip_connr->sv += m;\r
-       uip_connr->rto = (uip_connr->sa >> 3) + uip_connr->sv;\r
-\r
-      }\r
-      /* Set the acknowledged flag. */\r
-      uip_flags = UIP_ACKDATA;\r
-      /* Reset the retransmission timer. */\r
-      uip_connr->timer = uip_connr->rto;\r
-    }\r
-\r
-  }\r
-\r
-  /* Do different things depending on in what state the connection is. */\r
-  switch(uip_connr->tcpstateflags & TS_MASK) {\r
-    /* CLOSED and LISTEN are not handled here. CLOSE_WAIT is not\r
-       implemented, since we force the application to close when the\r
-       peer sends a FIN (hence the application goes directly from\r
-       ESTABLISHED to LAST_ACK). */\r
-  case SYN_RCVD:\r
-    /* In SYN_RCVD we have sent out a SYNACK in response to a SYN, and\r
-       we are waiting for an ACK that acknowledges the data we sent\r
-       out the last time. Therefore, we want to have the UIP_ACKDATA\r
-       flag set. If so, we enter the ESTABLISHED state. */\r
-    if(uip_flags & UIP_ACKDATA) {\r
-      uip_connr->tcpstateflags = ESTABLISHED;\r
-      uip_flags = UIP_CONNECTED;\r
-      uip_connr->len = 0;\r
-      if(uip_len > 0) {\r
-        uip_flags |= UIP_NEWDATA;\r
-        uip_add_rcv_nxt(uip_len);\r
-      }\r
-      uip_slen = 0;\r
-      UIP_APPCALL();\r
-      goto appsend;\r
-    }\r
-    goto drop;\r
-#if UIP_ACTIVE_OPEN\r
-  case SYN_SENT:\r
-    /* In SYN_SENT, we wait for a SYNACK that is sent in response to\r
-       our SYN. The rcv_nxt is set to sequence number in the SYNACK\r
-       plus one, and we send an ACK. We move into the ESTABLISHED\r
-       state. */\r
-    if((uip_flags & UIP_ACKDATA) &&\r
-       BUF->flags == (TCP_SYN | TCP_ACK)) {\r
-\r
-      /* Parse the TCP MSS option, if present. */\r
-      if((BUF->tcpoffset & 0xf0) > 0x50) {\r
-       for(c = 0; c < ((BUF->tcpoffset >> 4) - 5) << 2 ;) {\r
-         opt = uip_buf[40 + UIP_LLH_LEN + c];\r
-         if(opt == 0x00) {\r
-           /* End of options. */       \r
-           break;\r
-         } else if(opt == 0x01) {\r
-           ++c;\r
-           /* NOP option. */\r
-         } else if(opt == 0x02 &&\r
-                   uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0x04) {\r
-           /* An MSS option with the right option length. */\r
-           tmp16 = (uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 2 + c] << 8) |\r
-             uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 3 + c];\r
-           uip_connr->initialmss =\r
-             uip_connr->mss = tmp16 > UIP_TCP_MSS? UIP_TCP_MSS: tmp16;\r
-\r
-           /* And we are done processing options. */\r
-           break;\r
-         } else {\r
-           /* All other options have a length field, so that we easily\r
-              can skip past them. */\r
-           if(uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0) {\r
-             /* If the length field is zero, the options are malformed\r
-                and we don't process them further. */\r
-             break;\r
-           }\r
-           c += uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c];\r
-         }\r
-       }\r
-      }\r
-      uip_connr->tcpstateflags = ESTABLISHED;\r
-      uip_connr->rcv_nxt[0] = BUF->seqno[0];\r
-      uip_connr->rcv_nxt[1] = BUF->seqno[1];\r
-      uip_connr->rcv_nxt[2] = BUF->seqno[2];\r
-      uip_connr->rcv_nxt[3] = BUF->seqno[3];\r
-      uip_add_rcv_nxt(1);\r
-      uip_flags = UIP_CONNECTED | UIP_NEWDATA;\r
-      uip_connr->len = 0;\r
-      uip_len = 0;\r
-      uip_slen = 0;\r
-      UIP_APPCALL();\r
-      goto appsend;\r
-    }\r
-    goto reset;\r
-#endif /* UIP_ACTIVE_OPEN */\r
-\r
-  case ESTABLISHED:\r
-    /* In the ESTABLISHED state, we call upon the application to feed\r
-    data into the uip_buf. If the UIP_ACKDATA flag is set, the\r
-    application should put new data into the buffer, otherwise we are\r
-    retransmitting an old segment, and the application should put that\r
-    data into the buffer.\r
-\r
-    If the incoming packet is a FIN, we should close the connection on\r
-    this side as well, and we send out a FIN and enter the LAST_ACK\r
-    state. We require that there is no outstanding data; otherwise the\r
-    sequence numbers will be screwed up. */\r
-\r
-    if(BUF->flags & TCP_FIN) {\r
-      if(uip_outstanding(uip_connr)) {\r
-       goto drop;\r
-      }\r
-      uip_add_rcv_nxt(1 + uip_len);\r
-      uip_flags = UIP_CLOSE;\r
-      if(uip_len > 0) {\r
-       uip_flags |= UIP_NEWDATA;\r
-      }\r
-      UIP_APPCALL();\r
-      uip_connr->len = 1;\r
-      uip_connr->tcpstateflags = LAST_ACK;\r
-      uip_connr->nrtx = 0;\r
-    tcp_send_finack:\r
-      BUF->flags = TCP_FIN | TCP_ACK;\r
-      goto tcp_send_nodata;\r
-    }\r
-\r
-    /* Check the URG flag. If this is set, the segment carries urgent\r
-       data that we must pass to the application. */\r
-    if(BUF->flags & TCP_URG) {\r
-#if UIP_URGDATA > 0\r
-      uip_urglen = (BUF->urgp[0] << 8) | BUF->urgp[1];\r
-      if(uip_urglen > uip_len) {\r
-       /* There is more urgent data in the next segment to come. */\r
-       uip_urglen = uip_len;\r
-      }\r
-      uip_add_rcv_nxt(uip_urglen);\r
-      uip_len -= uip_urglen;\r
-      uip_urgdata = uip_appdata;\r
-      uip_appdata += uip_urglen;\r
-    } else {\r
-      uip_urglen = 0;\r
-#endif /* UIP_URGDATA > 0 */\r
-      uip_appdata += (BUF->urgp[0] << 8) | BUF->urgp[1];\r
-      uip_len -= (BUF->urgp[0] << 8) | BUF->urgp[1];\r
-    }\r
-\r
-\r
-    /* If uip_len > 0 we have TCP data in the packet, and we flag this\r
-       by setting the UIP_NEWDATA flag and update the sequence number\r
-       we acknowledge. If the application has stopped the dataflow\r
-       using uip_stop(), we must not accept any data packets from the\r
-       remote host. */\r
-    if(uip_len > 0 && !(uip_connr->tcpstateflags & UIP_STOPPED)) {\r
-      uip_flags |= UIP_NEWDATA;\r
-      uip_add_rcv_nxt(uip_len);\r
-    }\r
-\r
-    /* Check if the available buffer space advertised by the other end\r
-       is smaller than the initial MSS for this connection. If so, we\r
-       set the current MSS to the window size to ensure that the\r
-       application does not send more data than the other end can\r
-       handle.\r
-\r
-       If the remote host advertises a zero window, we set the MSS to\r
-       the initial MSS so that the application will send an entire MSS\r
-       of data. This data will not be acknowledged by the receiver,\r
-       and the application will retransmit it. This is called the\r
-       "persistent timer" and uses the retransmission mechanim.\r
-    */\r
-    tmp16 = ((u16_t)BUF->wnd[0] << 8) + (u16_t)BUF->wnd[1];\r
-    if(tmp16 > uip_connr->initialmss ||\r
-       tmp16 == 0) {\r
-      tmp16 = uip_connr->initialmss;\r
-    }\r
-    uip_connr->mss = tmp16;\r
-\r
-    /* If this packet constitutes an ACK for outstanding data (flagged\r
-       by the UIP_ACKDATA flag, we should call the application since it\r
-       might want to send more data. If the incoming packet had data\r
-       from the peer (as flagged by the UIP_NEWDATA flag), the\r
-       application must also be notified.\r
-\r
-       When the application is called, the global variable uip_len\r
-       contains the length of the incoming data. The application can\r
-       access the incoming data through the global pointer\r
-       uip_appdata, which usually points 40 bytes into the uip_buf\r
-       array.\r
-\r
-       If the application wishes to send any data, this data should be\r
-       put into the uip_appdata and the length of the data should be\r
-       put into uip_len. If the application don't have any data to\r
-       send, uip_len must be set to 0. */\r
-    if(uip_flags & (UIP_NEWDATA | UIP_ACKDATA)) {\r
-      uip_slen = 0;\r
-      UIP_APPCALL();\r
-\r
-    appsend:\r
-\r
-      if(uip_flags & UIP_ABORT) {\r
-       uip_slen = 0;\r
-       uip_connr->tcpstateflags = CLOSED;\r
-       BUF->flags = TCP_RST | TCP_ACK;\r
-       goto tcp_send_nodata;\r
-      }\r
-\r
-      if(uip_flags & UIP_CLOSE) {\r
-       uip_slen = 0;\r
-       uip_connr->len = 1;\r
-       uip_connr->tcpstateflags = FIN_WAIT_1;\r
-       uip_connr->nrtx = 0;\r
-       BUF->flags = TCP_FIN | TCP_ACK;\r
-       goto tcp_send_nodata;   \r
-      }\r
-\r
-      /* If uip_slen > 0, the application has data to be sent. */\r
-      if(uip_slen > 0) {\r
-\r
-       /* If the connection has acknowledged data, the contents of\r
-          the ->len variable should be discarded. */\r
-       if((uip_flags & UIP_ACKDATA) != 0) {\r
-         uip_connr->len = 0;\r
-       }\r
-\r
-       /* If the ->len variable is non-zero the connection has\r
-          already data in transit and cannot send anymore right\r
-          now. */\r
-       if(uip_connr->len == 0) {\r
-\r
-         /* The application cannot send more than what is allowed by\r
-            the mss (the minumum of the MSS and the available\r
-            window). */\r
-         if(uip_slen > uip_connr->mss) {\r
-           uip_slen = uip_connr->mss;\r
-         }\r
-\r
-         /* Remember how much data we send out now so that we know\r
-            when everything has been acknowledged. */\r
-         uip_connr->len = uip_slen;\r
-       } else {\r
-\r
-         /* If the application already had unacknowledged data, we\r
-            make sure that the application does not send (i.e.,\r
-            retransmit) out more than it previously sent out. */\r
-         uip_slen = uip_connr->len;\r
-       }\r
-      } else {\r
-       uip_connr->len = 0;\r
-      }\r
-      uip_connr->nrtx = 0;\r
-    apprexmit:\r
-      uip_appdata = uip_sappdata;\r
-\r
-      /* If the application has data to be sent, or if the incoming\r
-         packet had new data in it, we must send out a packet. */\r
-      if(uip_slen > 0 && uip_connr->len > 0) {\r
-       /* Add the length of the IP and TCP headers. */\r
-       uip_len = uip_connr->len + UIP_TCPIP_HLEN;\r
-       /* We always set the ACK flag in response packets. */\r
-       BUF->flags = TCP_ACK | TCP_PSH;\r
-       /* Send the packet. */\r
-       goto tcp_send_noopts;\r
-      }\r
-      /* If there is no data to send, just send out a pure ACK if\r
-        there is newdata. */\r
-      if(uip_flags & UIP_NEWDATA) {\r
-       uip_len = UIP_TCPIP_HLEN;\r
-       BUF->flags = TCP_ACK;\r
-       goto tcp_send_noopts;\r
-      }\r
-    }\r
-    goto drop;\r
-  case LAST_ACK:\r
-    /* We can close this connection if the peer has acknowledged our\r
-       FIN. This is indicated by the UIP_ACKDATA flag. */\r
-    if(uip_flags & UIP_ACKDATA) {\r
-      uip_connr->tcpstateflags = CLOSED;\r
-      uip_flags = UIP_CLOSE;\r
-      UIP_APPCALL();\r
-    }\r
-    break;\r
-\r
-  case FIN_WAIT_1:\r
-    /* The application has closed the connection, but the remote host\r
-       hasn't closed its end yet. Thus we do nothing but wait for a\r
-       FIN from the other side. */\r
-    if(uip_len > 0) {\r
-      uip_add_rcv_nxt(uip_len);\r
-    }\r
-    if(BUF->flags & TCP_FIN) {\r
-      if(uip_flags & UIP_ACKDATA) {\r
-       uip_connr->tcpstateflags = TIME_WAIT;\r
-       uip_connr->timer = 0;\r
-       uip_connr->len = 0;\r
-      } else {\r
-       uip_connr->tcpstateflags = CLOSING;\r
-      }\r
-      uip_add_rcv_nxt(1);\r
-      uip_flags = UIP_CLOSE;\r
-      UIP_APPCALL();\r
-      goto tcp_send_ack;\r
-    } else if(uip_flags & UIP_ACKDATA) {\r
-      uip_connr->tcpstateflags = FIN_WAIT_2;\r
-      uip_connr->len = 0;\r
-      goto drop;\r
-    }\r
-    if(uip_len > 0) {\r
-      goto tcp_send_ack;\r
-    }\r
-    goto drop;\r
-\r
-  case FIN_WAIT_2:\r
-    if(uip_len > 0) {\r
-      uip_add_rcv_nxt(uip_len);\r
-    }\r
-    if(BUF->flags & TCP_FIN) {\r
-      uip_connr->tcpstateflags = TIME_WAIT;\r
-      uip_connr->timer = 0;\r
-      uip_add_rcv_nxt(1);\r
-      uip_flags = UIP_CLOSE;\r
-      UIP_APPCALL();\r
-      goto tcp_send_ack;\r
-    }\r
-    if(uip_len > 0) {\r
-      goto tcp_send_ack;\r
-    }\r
-    goto drop;\r
-\r
-  case TIME_WAIT:\r
-    goto tcp_send_ack;\r
-\r
-  case CLOSING:\r
-    if(uip_flags & UIP_ACKDATA) {\r
-      uip_connr->tcpstateflags = TIME_WAIT;\r
-      uip_connr->timer = 0;\r
-    }\r
-  }\r
-  goto drop;\r
-\r
-\r
-  /* We jump here when we are ready to send the packet, and just want\r
-     to set the appropriate TCP sequence numbers in the TCP header. */\r
- tcp_send_ack:\r
-  BUF->flags = TCP_ACK;\r
- tcp_send_nodata:\r
-  uip_len = 40;\r
- tcp_send_noopts:\r
-  BUF->tcpoffset = 5 << 4;\r
- tcp_send:\r
-  /* We're done with the input processing. We are now ready to send a\r
-     reply. Our job is to fill in all the fields of the TCP and IP\r
-     headers before calculating the checksum and finally send the\r
-     packet. */\r
-  BUF->ackno[0] = uip_connr->rcv_nxt[0];\r
-  BUF->ackno[1] = uip_connr->rcv_nxt[1];\r
-  BUF->ackno[2] = uip_connr->rcv_nxt[2];\r
-  BUF->ackno[3] = uip_connr->rcv_nxt[3];\r
-\r
-  BUF->seqno[0] = uip_connr->snd_nxt[0];\r
-  BUF->seqno[1] = uip_connr->snd_nxt[1];\r
-  BUF->seqno[2] = uip_connr->snd_nxt[2];\r
-  BUF->seqno[3] = uip_connr->snd_nxt[3];\r
-\r
-  BUF->proto = UIP_PROTO_TCP;\r
-\r
-  BUF->srcport  = uip_connr->lport;\r
-  BUF->destport = uip_connr->rport;\r
-\r
-  BUF->srcipaddr[0] = uip_hostaddr[0];\r
-  BUF->srcipaddr[1] = uip_hostaddr[1];\r
-  BUF->destipaddr[0] = uip_connr->ripaddr[0];\r
-  BUF->destipaddr[1] = uip_connr->ripaddr[1];\r
-\r
-\r
-  if(uip_connr->tcpstateflags & UIP_STOPPED) {\r
-    /* If the connection has issued uip_stop(), we advertise a zero\r
-       window so that the remote host will stop sending data. */\r
-    BUF->wnd[0] = BUF->wnd[1] = 0;\r
-  } else {\r
-    BUF->wnd[0] = ((UIP_RECEIVE_WINDOW) >> 8);\r
-    BUF->wnd[1] = ((UIP_RECEIVE_WINDOW) & 0xff);\r
-  }\r
-\r
- tcp_send_noconn:\r
-\r
-  BUF->len[0] = (uip_len >> 8);\r
-  BUF->len[1] = (uip_len & 0xff);\r
-\r
-  /* Calculate TCP checksum. */\r
-  BUF->tcpchksum = 0;\r
-  BUF->tcpchksum = ~(uip_tcpchksum());\r
-\r
-\r
-#if UIP_UDP\r
- ip_send_nolen:\r
-#endif\r
-\r
-  BUF->vhl = 0x45;\r
-  BUF->tos = 0;\r
-  BUF->ipoffset[0] = BUF->ipoffset[1] = 0;\r
-  BUF->ttl  = UIP_TTL;\r
-  ++ipid;\r
-  BUF->ipid[0] = ipid >> 8;\r
-  BUF->ipid[1] = ipid & 0xff;\r
-\r
-  /* Calculate IP checksum. */\r
-  BUF->ipchksum = 0;\r
-  BUF->ipchksum = ~(uip_ipchksum());\r
-\r
-  UIP_STAT(++uip_stat.tcp.sent);\r
- send:\r
-  UIP_STAT(++uip_stat.ip.sent);\r
-  /* Return and let the caller do the actual transmission. */\r
-  return;\r
- drop:\r
-  uip_len = 0;\r
-  return;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-htons(u16_t val)\r
-{\r
-  return HTONS(val);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip.h
deleted file mode 100644 (file)
index 0ff1b2a..0000000
+++ /dev/null
@@ -1,1060 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * Header file for the uIP TCP/IP stack.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- * The uIP TCP/IP stack header file contains definitions for a number\r
- * of C macros that are used by uIP programs as well as internal uIP\r
- * structures, TCP/IP header structures and function declarations.\r
- *\r
- */\r
-\r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip.h,v 1.36.2.7 2003/10/07 13:47:51 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __UIP_H__\r
-#define __UIP_H__\r
-\r
-#include "uipopt.h"\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* First, the functions that should be called from the\r
- * system. Initialization, the periodic timer and incoming packets are\r
- * handled by the following three functions.\r
- */\r
-\r
-/**\r
- * \defgroup uipconffunc uIP configuration functions\r
- * @{\r
- *\r
- * The uIP configuration functions are used for setting run-time\r
- * parameters in uIP such as IP addresses.\r
- */\r
-\r
-/**\r
- * Set the IP address of this host.\r
- *\r
- * The IP address is represented as a 4-byte array where the first\r
- * octet of the IP address is put in the first member of the 4-byte\r
- * array.\r
- *\r
- * \param addr A pointer to a 4-byte representation of the IP address.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_sethostaddr(addr) do { uip_hostaddr[0] = addr[0]; \\r
-                              uip_hostaddr[1] = addr[1]; } while(0)\r
-\r
-/**\r
- * Get the IP address of this host.\r
- *\r
- * The IP address is represented as a 4-byte array where the first\r
- * octet of the IP address is put in the first member of the 4-byte\r
- * array.\r
- *\r
- * \param addr A pointer to a 4-byte array that will be filled in with\r
- * the currently configured IP address.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_gethostaddr(addr) do { addr[0] = uip_hostaddr[0]; \\r
-                              addr[1] = uip_hostaddr[1]; } while(0)\r
-\r
-/** @} */\r
-\r
-/**\r
- * \defgroup uipinit uIP initialization functions\r
- * @{\r
- *\r
- * The uIP initialization functions are used for booting uIP.\r
- */\r
-\r
-/**\r
- * uIP initialization function.\r
- *\r
- * This function should be called at boot up to initilize the uIP\r
- * TCP/IP stack.\r
- */\r
-void uip_init(void);\r
-\r
-/** @} */\r
-\r
-/**\r
- * \defgroup uipdevfunc uIP device driver functions\r
- * @{\r
- *\r
- * These functions are used by a network device driver for interacting\r
- * with uIP.\r
- */\r
-\r
-/**\r
- * Process an incoming packet.\r
- *\r
- * This function should be called when the device driver has received\r
- * a packet from the network. The packet from the device driver must\r
- * be present in the uip_buf buffer, and the length of the packet\r
- * should be placed in the uip_len variable.\r
- *\r
- * When the function returns, there may be an outbound packet placed\r
- * in the uip_buf packet buffer. If so, the uip_len variable is set to\r
- * the length of the packet. If no packet is to be sent out, the\r
- * uip_len variable is set to 0.\r
- *\r
- * The usual way of calling the function is presented by the source\r
- * code below.\r
- \code\r
-  uip_len = devicedriver_poll();\r
-  if(uip_len > 0) {\r
-    uip_input();\r
-    if(uip_len > 0) {\r
-      devicedriver_send();\r
-    }\r
-  }\r
- \endcode\r
- *\r
- * \note If you are writing a uIP device driver that needs ARP\r
- * (Address Resolution Protocol), e.g., when running uIP over\r
- * Ethernet, you will need to call the uIP ARP code before calling\r
- * this function:\r
- \code\r
-  #define BUF ((struct uip_eth_hdr *)&uip_buf[0])\r
-  uip_len = ethernet_devicedrver_poll();\r
-  if(uip_len > 0) {\r
-    if(BUF->type == HTONS(UIP_ETHTYPE_IP)) {\r
-      uip_arp_ipin();\r
-      uip_input();\r
-      if(uip_len > 0) {\r
-        uip_arp_out();\r
-       ethernet_devicedriver_send();\r
-      }\r
-    } else if(BUF->type == HTONS(UIP_ETHTYPE_ARP)) {\r
-      uip_arp_arpin();\r
-      if(uip_len > 0) {\r
-       ethernet_devicedriver_send();\r
-      }\r
-    }\r
- \endcode\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_input()        uip_process(UIP_DATA)\r
-\r
-/**\r
- * Periodic processing for a connection identified by its number.\r
- *\r
- * This function does the necessary periodic processing (timers,\r
- * polling) for a uIP TCP conneciton, and should be called when the\r
- * periodic uIP timer goes off. It should be called for every\r
- * connection, regardless of whether they are open of closed.\r
- *\r
- * When the function returns, it may have an outbound packet waiting\r
- * for service in the uIP packet buffer, and if so the uip_len\r
- * variable is set to a value larger than zero. The device driver\r
- * should be called to send out the packet.\r
- *\r
- * The ususal way of calling the function is through a for() loop like\r
- * this:\r
- \code\r
-  for(i = 0; i < UIP_CONNS; ++i) {\r
-    uip_periodic(i);\r
-    if(uip_len > 0) {\r
-      devicedriver_send();\r
-    }\r
-  }\r
- \endcode\r
- *\r
- * \note If you are writing a uIP device driver that needs ARP\r
- * (Address Resolution Protocol), e.g., when running uIP over\r
- * Ethernet, you will need to call the uip_arp_out() function before\r
- * calling the device driver:\r
- \code\r
-  for(i = 0; i < UIP_CONNS; ++i) {\r
-    uip_periodic(i);\r
-    if(uip_len > 0) {\r
-      uip_arp_out();\r
-      ethernet_devicedriver_send();\r
-    }\r
-  }\r
- \endcode\r
- *\r
- * \param conn The number of the connection which is to be periodically polled.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_periodic(conn) do { uip_conn = &uip_conns[conn]; \\r
-                                uip_process(UIP_TIMER); } while (0)\r
-\r
-/**\r
- * Periodic processing for a connection identified by a pointer to its structure.\r
- *\r
- * Same as uip_periodic() but takes a pointer to the actual uip_conn\r
- * struct instead of an integer as its argument. This function can be\r
- * used to force periodic processing of a specific connection.\r
- *\r
- * \param conn A pointer to the uip_conn struct for the connection to\r
- * be processed.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_periodic_conn(conn) do { uip_conn = conn; \\r
-                                     uip_process(UIP_TIMER); } while (0)\r
-\r
-#if UIP_UDP\r
-/**\r
- * Periodic processing for a UDP connection identified by its number.\r
- *\r
- * This function is essentially the same as uip_prerioic(), but for\r
- * UDP connections. It is called in a similar fashion as the\r
- * uip_periodic() function:\r
- \code\r
-  for(i = 0; i < UIP_UDP_CONNS; i++) {\r
-    uip_udp_periodic(i);\r
-    if(uip_len > 0) {\r
-      devicedriver_send();\r
-    }\r
-  }\r
- \endcode\r
- *\r
- * \note As for the uip_periodic() function, special care has to be\r
- * taken when using uIP together with ARP and Ethernet:\r
- \code\r
-  for(i = 0; i < UIP_UDP_CONNS; i++) {\r
-    uip_udp_periodic(i);\r
-    if(uip_len > 0) {\r
-      uip_arp_out();\r
-      ethernet_devicedriver_send();\r
-    }\r
-  }\r
- \endcode\r
- *\r
- * \param conn The number of the UDP connection to be processed.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_udp_periodic(conn) do { uip_udp_conn = &uip_udp_conns[conn]; \\r
-                                uip_process(UIP_UDP_TIMER); } while (0)\r
-\r
-/**\r
- * Periodic processing for a UDP connection identified by a pointer to\r
- * its structure.\r
- *\r
- * Same as uip_udp_periodic() but takes a pointer to the actual\r
- * uip_conn struct instead of an integer as its argument. This\r
- * function can be used to force periodic processing of a specific\r
- * connection.\r
- *\r
- * \param conn A pointer to the uip_udp_conn struct for the connection\r
- * to be processed.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_udp_periodic_conn(conn) do { uip_udp_conn = conn; \\r
-                                         uip_process(UIP_UDP_TIMER); } while (0)\r
-\r
-\r
-#endif /* UIP_UDP */\r
-\r
-/**\r
- * The uIP packet buffer.\r
- *\r
- * The uip_buf array is used to hold incoming and outgoing\r
- * packets. The device driver should place incoming data into this\r
- * buffer. When sending data, the device driver should read the link\r
- * level headers and the TCP/IP headers from this buffer. The size of\r
- * the link level headers is configured by the UIP_LLH_LEN define.\r
- *\r
- * \note The application data need not be placed in this buffer, so\r
- * the device driver must read it from the place pointed to by the\r
- * uip_appdata pointer as illustrated by the following example:\r
- \code\r
- void\r
- devicedriver_send(void)\r
- {\r
-    hwsend(&uip_buf[0], UIP_LLH_LEN);\r
-    hwsend(&uip_buf[UIP_LLH_LEN], 40);\r
-    hwsend(uip_appdata, uip_len - 40 - UIP_LLH_LEN);\r
- }\r
- \endcode\r
- */\r
-extern u8_t uip_buf[UIP_BUFSIZE+2]; /*_RB_ __attribute__ ((aligned (4)));*/\r
-\r
-/** @} */\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* Functions that are used by the uIP application program. Opening and\r
- * closing connections, sending and receiving data, etc. is all\r
- * handled by the functions below.\r
-*/\r
-/**\r
- * \defgroup uipappfunc uIP application functions\r
- * @{\r
- *\r
- * Functions used by an application running of top of uIP.\r
- */\r
-\r
-/**\r
- * Start listening to the specified port.\r
- *\r
- * \note Since this function expects the port number in network byte\r
- * order, a conversion using HTONS() or htons() is necessary.\r
- *\r
- \code\r
- uip_listen(HTONS(80));\r
- \endcode\r
- *\r
- * \param port A 16-bit port number in network byte order.\r
- */\r
-void uip_listen(u16_t port);\r
-\r
-/**\r
- * Stop listening to the specified port.\r
- *\r
- * \note Since this function expects the port number in network byte\r
- * order, a conversion using HTONS() or htons() is necessary.\r
- *\r
- \code\r
- uip_unlisten(HTONS(80));\r
- \endcode\r
- *\r
- * \param port A 16-bit port number in network byte order.\r
- */\r
-void uip_unlisten(u16_t port);\r
-\r
-/**\r
- * Connect to a remote host using TCP.\r
- *\r
- * This function is used to start a new connection to the specified\r
- * port on the specied host. It allocates a new connection identifier,\r
- * sets the connection to the SYN_SENT state and sets the\r
- * retransmission timer to 0. This will cause a TCP SYN segment to be\r
- * sent out the next time this connection is periodically processed,\r
- * which usually is done within 0.5 seconds after the call to\r
- * uip_connect().\r
- *\r
- * \note This function is avaliable only if support for active open\r
- * has been configured by defining UIP_ACTIVE_OPEN to 1 in uipopt.h.\r
- *\r
- * \note Since this function requires the port number to be in network\r
- * byte order, a convertion using HTONS() or htons() is necessary.\r
- *\r
- \code\r
- u16_t ipaddr[2];\r
-\r
- uip_ipaddr(ipaddr, 192,168,1,2);\r
- uip_connect(ipaddr, HTONS(80));\r
- \endcode\r
- *\r
- * \param ripaddr A pointer to a 4-byte array representing the IP\r
- * address of the remote hot.\r
- *\r
- * \param port A 16-bit port number in network byte order.\r
- *\r
- * \return A pointer to the uIP connection identifier for the new connection,\r
- * or NULL if no connection could be allocated.\r
- *\r
- */\r
-struct uip_conn *uip_connect(u16_t *ripaddr, u16_t port);\r
-\r
-\r
-\r
-/**\r
- * \internal\r
- *\r
- * Check if a connection has outstanding (i.e., unacknowledged) data.\r
- *\r
- * \param conn A pointer to the uip_conn structure for the connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_outstanding(conn) ((conn)->len)\r
-\r
-/**\r
- * Send data on the current connection.\r
- *\r
- * This function is used to send out a single segment of TCP\r
- * data. Only applications that have been invoked by uIP for event\r
- * processing can send data.\r
- *\r
- * The amount of data that actually is sent out after a call to this\r
- * funcion is determined by the maximum amount of data TCP allows. uIP\r
- * will automatically crop the data so that only the appropriate\r
- * amount of data is sent. The function uip_mss() can be used to query\r
- * uIP for the amount of data that actually will be sent.\r
- *\r
- * \note This function does not guarantee that the sent data will\r
- * arrive at the destination. If the data is lost in the network, the\r
- * application will be invoked with the uip_rexmit() event being\r
- * set. The application will then have to resend the data using this\r
- * function.\r
- *\r
- * \param data A pointer to the data which is to be sent.\r
- *\r
- * \param len The maximum amount of data bytes to be sent.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_send(data, len) do { uip_sappdata = (data); uip_slen = (len);} while(0)\r
-\r
-/**\r
- * The length of any incoming data that is currently avaliable (if avaliable)\r
- * in the uip_appdata buffer.\r
- *\r
- * The test function uip_data() must first be used to check if there\r
- * is any data available at all.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_datalen()       uip_len\r
-\r
-/**\r
- * The length of any out-of-band data (urgent data) that has arrived\r
- * on the connection.\r
- *\r
- * \note The configuration parameter UIP_URGDATA must be set for this\r
- * function to be enabled.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_urgdatalen()    uip_urglen\r
-\r
-/**\r
- * Close the current connection.\r
- *\r
- * This function will close the current connection in a nice way.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_close()         (uip_flags = UIP_CLOSE)\r
-\r
-/**\r
- * Abort the current connection.\r
- *\r
- * This function will abort (reset) the current connection, and is\r
- * usually used when an error has occured that prevents using the\r
- * uip_close() function.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_abort()         (uip_flags = UIP_ABORT)\r
-\r
-/**\r
- * Tell the sending host to stop sending data.\r
- *\r
- * This function will close our receiver's window so that we stop\r
- * receiving data for the current connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_stop()          (uip_conn->tcpstateflags |= UIP_STOPPED)\r
-\r
-/**\r
- * Find out if the current connection has been previously stopped with\r
- * uip_stop().\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_stopped(conn)   ((conn)->tcpstateflags & UIP_STOPPED)\r
-\r
-/**\r
- * Restart the current connection, if is has previously been stopped\r
- * with uip_stop().\r
- *\r
- * This function will open the receiver's window again so that we\r
- * start receiving data for the current connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_restart()         do { uip_flags |= UIP_NEWDATA; \\r
-                                   uip_conn->tcpstateflags &= ~UIP_STOPPED; \\r
-                              } while(0)\r
-\r
-\r
-/* uIP tests that can be made to determine in what state the current\r
-   connection is, and what the application function should do. */\r
-\r
-/**\r
- * Is new incoming data available?\r
- *\r
- * Will reduce to non-zero if there is new data for the application\r
- * present at the uip_appdata pointer. The size of the data is\r
- * avaliable through the uip_len variable.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_newdata()   (uip_flags & UIP_NEWDATA)\r
-\r
-/**\r
- * Has previously sent data been acknowledged?\r
- *\r
- * Will reduce to non-zero if the previously sent data has been\r
- * acknowledged by the remote host. This means that the application\r
- * can send new data.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_acked()   (uip_flags & UIP_ACKDATA)\r
-\r
-/**\r
- * Has the connection just been connected?\r
- *\r
- * Reduces to non-zero if the current connection has been connected to\r
- * a remote host. This will happen both if the connection has been\r
- * actively opened (with uip_connect()) or passively opened (with\r
- * uip_listen()).\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_connected() (uip_flags & UIP_CONNECTED)\r
-\r
-/**\r
- * Has the connection been closed by the other end?\r
- *\r
- * Is non-zero if the connection has been closed by the remote\r
- * host. The application may then do the necessary clean-ups.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_closed()    (uip_flags & UIP_CLOSE)\r
-\r
-/**\r
- * Has the connection been aborted by the other end?\r
- *\r
- * Non-zero if the current connection has been aborted (reset) by the\r
- * remote host.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_aborted()    (uip_flags & UIP_ABORT)\r
-\r
-/**\r
- * Has the connection timed out?\r
- *\r
- * Non-zero if the current connection has been aborted due to too many\r
- * retransmissions.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_timedout()    (uip_flags & UIP_TIMEDOUT)\r
-\r
-/**\r
- * Do we need to retransmit previously data?\r
- *\r
- * Reduces to non-zero if the previously sent data has been lost in\r
- * the network, and the application should retransmit it. The\r
- * application should send the exact same data as it did the last\r
- * time, using the uip_send() function.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_rexmit()     (uip_flags & UIP_REXMIT)\r
-\r
-/**\r
- * Is the connection being polled by uIP?\r
- *\r
- * Is non-zero if the reason the application is invoked is that the\r
- * current connection has been idle for a while and should be\r
- * polled.\r
- *\r
- * The polling event can be used for sending data without having to\r
- * wait for the remote host to send data.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_poll()       (uip_flags & UIP_POLL)\r
-\r
-/**\r
- * Get the initial maxium segment size (MSS) of the current\r
- * connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_initialmss()             (uip_conn->initialmss)\r
-\r
-/**\r
- * Get the current maxium segment size that can be sent on the current\r
- * connection.\r
- *\r
- * The current maxiumum segment size that can be sent on the\r
- * connection is computed from the receiver's window and the MSS of\r
- * the connection (which also is available by calling\r
- * uip_initialmss()).\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_mss()             (uip_conn->mss)\r
-\r
-/**\r
- * Set up a new UDP connection.\r
- *\r
- * \param ripaddr A pointer to a 4-byte structure representing the IP\r
- * address of the remote host.\r
- *\r
- * \param rport The remote port number in network byte order.\r
- *\r
- * \return The uip_udp_conn structure for the new connection or NULL\r
- * if no connection could be allocated.\r
- */\r
-struct uip_udp_conn *uip_udp_new(u16_t *ripaddr, u16_t rport);\r
-\r
-/**\r
- * Removed a UDP connection.\r
- *\r
- * \param conn A pointer to the uip_udp_conn structure for the connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_udp_remove(conn) (conn)->lport = 0\r
-\r
-/**\r
- * Send a UDP datagram of length len on the current connection.\r
- *\r
- * This function can only be called in response to a UDP event (poll\r
- * or newdata). The data must be present in the uip_buf buffer, at the\r
- * place pointed to by the uip_appdata pointer.\r
- *\r
- * \param len The length of the data in the uip_buf buffer.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_udp_send(len) uip_slen = (len)\r
-\r
-/** @} */\r
-\r
-/* uIP convenience and converting functions. */\r
-\r
-/**\r
- * \defgroup uipconvfunc uIP conversion functions\r
- * @{\r
- *\r
- * These functions can be used for converting between different data\r
- * formats used by uIP.\r
- */\r
-\r
-/**\r
- * Pack an IP address into a 4-byte array which is used by uIP to\r
- * represent IP addresses.\r
- *\r
- * Example:\r
- \code\r
- u16_t ipaddr[2];\r
-\r
- uip_ipaddr(&ipaddr, 192,168,1,2);\r
- \endcode\r
- *\r
- * \param addr A pointer to a 4-byte array that will be filled in with\r
- * the IP addres.\r
- * \param addr0 The first octet of the IP address.\r
- * \param addr1 The second octet of the IP address.\r
- * \param addr2 The third octet of the IP address.\r
- * \param addr3 The forth octet of the IP address.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_ipaddr(addr, addr0,addr1,addr2,addr3) do { \\r
-                     (addr)[0] = HTONS(((addr0) << 8) | (addr1)); \\r
-                     (addr)[1] = HTONS(((addr2) << 8) | (addr3)); \\r
-                  } while(0)\r
-\r
-/**\r
- * Convert 16-bit quantity from host byte order to network byte order.\r
- *\r
- * This macro is primarily used for converting constants from host\r
- * byte order to network byte order. For converting variables to\r
- * network byte order, use the htons() function instead.\r
- *\r
- * \hideinitializer\r
- */\r
-#ifndef HTONS\r
-#   if BYTE_ORDER == BIG_ENDIAN\r
-#      define HTONS(n) (n)\r
-#   else /* BYTE_ORDER == BIG_ENDIAN */\r
-#      define HTONS(n) ((((u16_t)((n) & 0xff)) << 8) | (((n) & 0xff00) >> 8))\r
-#   endif /* BYTE_ORDER == BIG_ENDIAN */\r
-#endif /* HTONS */\r
-\r
-/**\r
- * Convert 16-bit quantity from host byte order to network byte order.\r
- *\r
- * This function is primarily used for converting variables from host\r
- * byte order to network byte order. For converting constants to\r
- * network byte order, use the HTONS() macro instead.\r
- */\r
-#ifndef htons\r
-u16_t htons(u16_t val);\r
-#endif /* htons */\r
-\r
-/** @} */\r
-\r
-/**\r
- * Pointer to the application data in the packet buffer.\r
- *\r
- * This pointer points to the application data when the application is\r
- * called. If the application wishes to send data, the application may\r
- * use this space to write the data into before calling uip_send().\r
- */\r
-extern volatile u8_t *uip_appdata;\r
-extern volatile u8_t *uip_sappdata;\r
-\r
-#if UIP_URGDATA > 0\r
-/* u8_t *uip_urgdata:\r
- *\r
- * This pointer points to any urgent data that has been received. Only\r
- * present if compiled with support for urgent data (UIP_URGDATA).\r
- */\r
-extern volatile u8_t *uip_urgdata;\r
-#endif /* UIP_URGDATA > 0 */\r
-\r
-\r
-/* u[8|16]_t uip_len:\r
- *\r
- * When the application is called, uip_len contains the length of any\r
- * new data that has been received from the remote host. The\r
- * application should set this variable to the size of any data that\r
- * the application wishes to send. When the network device driver\r
- * output function is called, uip_len should contain the length of the\r
- * outgoing packet.\r
- */\r
-extern volatile u16_t uip_len, uip_slen;\r
-\r
-#if UIP_URGDATA > 0\r
-extern volatile u8_t uip_urglen, uip_surglen;\r
-#endif /* UIP_URGDATA > 0 */\r
-\r
-\r
-/**\r
- * Representation of a uIP TCP connection.\r
- *\r
- * The uip_conn structure is used for identifying a connection. All\r
- * but one field in the structure are to be considered read-only by an\r
- * application. The only exception is the appstate field whos purpose\r
- * is to let the application store application-specific state (e.g.,\r
- * file pointers) for the connection. The size of this field is\r
- * configured in the "uipopt.h" header file.\r
- */\r
-struct uip_conn {\r
-  u16_t ripaddr[2];   /**< The IP address of the remote host. */\r
-\r
-  u16_t lport;        /**< The local TCP port, in network byte order. */\r
-  u16_t rport;        /**< The local remote TCP port, in network byte\r
-                        order. */\r
-\r
-  u8_t rcv_nxt[4];    /**< The sequence number that we expect to\r
-                        receive next. */\r
-  u8_t snd_nxt[4];    /**< The sequence number that was last sent by\r
-                         us. */\r
-  u16_t len;          /**< Length of the data that was previously sent. */\r
-  u16_t mss;          /**< Current maximum segment size for the\r
-                        connection. */\r
-  u16_t initialmss;   /**< Initial maximum segment size for the\r
-                        connection. */\r
-  u8_t sa;            /**< Retransmission time-out calculation state\r
-                        variable. */\r
-  u8_t sv;            /**< Retransmission time-out calculation state\r
-                        variable. */\r
-  u8_t rto;           /**< Retransmission time-out. */\r
-  u8_t tcpstateflags; /**< TCP state and flags. */\r
-  u8_t timer;         /**< The retransmission timer. */\r
-  u8_t nrtx;          /**< The number of retransmissions for the last\r
-                        segment sent. */\r
-\r
-  /** The application state. */\r
-  u8_t appstate[UIP_APPSTATE_SIZE];\r
-};\r
-\r
-\r
-/* Pointer to the current connection. */\r
-extern struct uip_conn *uip_conn;\r
-/* The array containing all uIP connections. */\r
-extern struct uip_conn uip_conns[UIP_CONNS];\r
-/**\r
- * \addtogroup uiparch\r
- * @{\r
- */\r
-\r
-/**\r
- * 4-byte array used for the 32-bit sequence number calculations.\r
- */\r
-extern volatile u8_t uip_acc32[4];\r
-\r
-/** @} */\r
-\r
-\r
-#if UIP_UDP\r
-/**\r
- * Representation of a uIP UDP connection.\r
- */\r
-struct uip_udp_conn {\r
-  u16_t ripaddr[2];   /**< The IP address of the remote peer. */\r
-  u16_t lport;        /**< The local port number in network byte order. */\r
-  u16_t rport;        /**< The remote port number in network byte order. */\r
-};\r
-\r
-extern struct uip_udp_conn *uip_udp_conn;\r
-extern struct uip_udp_conn uip_udp_conns[UIP_UDP_CONNS];\r
-#endif /* UIP_UDP */\r
-\r
-/**\r
- * The structure holding the TCP/IP statistics that are gathered if\r
- * UIP_STATISTICS is set to 1.\r
- *\r
- */\r
-struct uip_stats {\r
-  struct {\r
-    uip_stats_t drop;     /**< Number of dropped packets at the IP\r
-                            layer. */\r
-    uip_stats_t recv;     /**< Number of received packets at the IP\r
-                            layer. */\r
-    uip_stats_t sent;     /**< Number of sent packets at the IP\r
-                            layer. */\r
-    uip_stats_t vhlerr;   /**< Number of packets dropped due to wrong\r
-                            IP version or header length. */\r
-    uip_stats_t hblenerr; /**< Number of packets dropped due to wrong\r
-                            IP length, high byte. */\r
-    uip_stats_t lblenerr; /**< Number of packets dropped due to wrong\r
-                            IP length, low byte. */\r
-    uip_stats_t fragerr;  /**< Number of packets dropped since they\r
-                            were IP fragments. */\r
-    uip_stats_t chkerr;   /**< Number of packets dropped due to IP\r
-                            checksum errors. */\r
-    uip_stats_t protoerr; /**< Number of packets dropped since they\r
-                            were neither ICMP, UDP nor TCP. */\r
-  } ip;                   /**< IP statistics. */\r
-  struct {\r
-    uip_stats_t drop;     /**< Number of dropped ICMP packets. */\r
-    uip_stats_t recv;     /**< Number of received ICMP packets. */\r
-    uip_stats_t sent;     /**< Number of sent ICMP packets. */\r
-    uip_stats_t typeerr;  /**< Number of ICMP packets with a wrong\r
-                            type. */\r
-  } icmp;                 /**< ICMP statistics. */\r
-  struct {\r
-    uip_stats_t drop;     /**< Number of dropped TCP segments. */\r
-    uip_stats_t recv;     /**< Number of recived TCP segments. */\r
-    uip_stats_t sent;     /**< Number of sent TCP segments. */\r
-    uip_stats_t chkerr;   /**< Number of TCP segments with a bad\r
-                            checksum. */\r
-    uip_stats_t ackerr;   /**< Number of TCP segments with a bad ACK\r
-                            number. */\r
-    uip_stats_t rst;      /**< Number of recevied TCP RST (reset) segments. */\r
-    uip_stats_t rexmit;   /**< Number of retransmitted TCP segments. */\r
-    uip_stats_t syndrop;  /**< Number of dropped SYNs due to too few\r
-                            connections was avaliable. */\r
-    uip_stats_t synrst;   /**< Number of SYNs for closed ports,\r
-                            triggering a RST. */\r
-  } tcp;                  /**< TCP statistics. */\r
-};\r
-\r
-/**\r
- * The uIP TCP/IP statistics.\r
- *\r
- * This is the variable in which the uIP TCP/IP statistics are gathered.\r
- */\r
-extern struct uip_stats uip_stat;\r
-\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* All the stuff below this point is internal to uIP and should not be\r
- * used directly by an application or by a device driver.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-/* u8_t uip_flags:\r
- *\r
- * When the application is called, uip_flags will contain the flags\r
- * that are defined in this file. Please read below for more\r
- * infomation.\r
- */\r
-extern volatile u8_t uip_flags;\r
-\r
-/* The following flags may be set in the global variable uip_flags\r
-   before calling the application callback. The UIP_ACKDATA and\r
-   UIP_NEWDATA flags may both be set at the same time, whereas the\r
-   others are mutualy exclusive. Note that these flags should *NOT* be\r
-   accessed directly, but through the uIP functions/macros. */\r
-\r
-#define UIP_ACKDATA   1     /* Signifies that the outstanding data was\r
-                              acked and the application should send\r
-                              out new data instead of retransmitting\r
-                              the last data. */\r
-#define UIP_NEWDATA   2     /* Flags the fact that the peer has sent\r
-                              us new data. */\r
-#define UIP_REXMIT    4     /* Tells the application to retransmit the\r
-                              data that was last sent. */\r
-#define UIP_POLL      8     /* Used for polling the application, to\r
-                              check if the application has data that\r
-                              it wants to send. */\r
-#define UIP_CLOSE     16    /* The remote host has closed the\r
-                              connection, thus the connection has\r
-                              gone away. Or the application signals\r
-                              that it wants to close the\r
-                              connection. */\r
-#define UIP_ABORT     32    /* The remote host has aborted the\r
-                              connection, thus the connection has\r
-                              gone away. Or the application signals\r
-                              that it wants to abort the\r
-                              connection. */\r
-#define UIP_CONNECTED 64    /* We have got a connection from a remote\r
-                               host and have set up a new connection\r
-                               for it, or an active connection has\r
-                               been successfully established. */\r
-\r
-#define UIP_TIMEDOUT  128   /* The connection has been aborted due to\r
-                              too many retransmissions. */\r
-\r
-\r
-/* uip_process(flag):\r
- *\r
- * The actual uIP function which does all the work.\r
- */\r
-void uip_process(u8_t flag);\r
-\r
-/* The following flags are passed as an argument to the uip_process()\r
-   function. They are used to distinguish between the two cases where\r
-   uip_process() is called. It can be called either because we have\r
-   incoming data that should be processed, or because the periodic\r
-   timer has fired. */\r
-\r
-#define UIP_DATA    1     /* Tells uIP that there is incoming data in\r
-                             the uip_buf buffer. The length of the\r
-                             data is stored in the global variable\r
-                             uip_len. */\r
-#define UIP_TIMER   2     /* Tells uIP that the periodic timer has\r
-                             fired. */\r
-#if UIP_UDP\r
-#define UIP_UDP_TIMER 3\r
-#endif /* UIP_UDP */\r
-\r
-/* The TCP states used in the uip_conn->tcpstateflags. */\r
-#define CLOSED      0\r
-#define SYN_RCVD    1\r
-#define SYN_SENT    2\r
-#define ESTABLISHED 3\r
-#define FIN_WAIT_1  4\r
-#define FIN_WAIT_2  5\r
-#define CLOSING     6\r
-#define TIME_WAIT   7\r
-#define LAST_ACK    8\r
-#define TS_MASK     15\r
-\r
-#define UIP_STOPPED      16\r
-\r
-#define UIP_TCPIP_HLEN 40\r
-\r
-/* The TCP and IP headers. */\r
-typedef struct {\r
-  /* IP header. */\r
-  u8_t vhl,\r
-    tos,\r
-    len[2],\r
-    ipid[2],\r
-    ipoffset[2],\r
-    ttl,\r
-    proto;\r
-  u16_t ipchksum;\r
-  u16_t srcipaddr[2],\r
-    destipaddr[2];\r
-\r
-  /* TCP header. */\r
-  u16_t srcport,\r
-    destport;\r
-  u8_t seqno[4],\r
-    ackno[4],\r
-    tcpoffset,\r
-    flags,\r
-    wnd[2];\r
-  u16_t tcpchksum;\r
-  u8_t urgp[2];\r
-  u8_t optdata[4];\r
-} uip_tcpip_hdr;\r
-\r
-/* The ICMP and IP headers. */\r
-typedef struct {\r
-  /* IP header. */\r
-  u8_t vhl,\r
-    tos,\r
-    len[2],\r
-    ipid[2],\r
-    ipoffset[2],\r
-    ttl,\r
-    proto;\r
-  u16_t ipchksum;\r
-  u16_t srcipaddr[2],\r
-    destipaddr[2];\r
-  /* ICMP (echo) header. */\r
-  u8_t type, icode;\r
-  u16_t icmpchksum;\r
-  u16_t id, seqno;\r
-} uip_icmpip_hdr;\r
-\r
-\r
-/* The UDP and IP headers. */\r
-typedef struct {\r
-  /* IP header. */\r
-  u8_t vhl,\r
-    tos,\r
-    len[2],\r
-    ipid[2],\r
-    ipoffset[2],\r
-    ttl,\r
-    proto;\r
-  u16_t ipchksum;\r
-  u16_t srcipaddr[2],\r
-    destipaddr[2];\r
-\r
-  /* UDP header. */\r
-  u16_t srcport,\r
-    destport;\r
-  u16_t udplen;\r
-  u16_t udpchksum;\r
-} uip_udpip_hdr;\r
-\r
-#define UIP_PROTO_ICMP  1\r
-#define UIP_PROTO_TCP   6\r
-#define UIP_PROTO_UDP   17\r
-\r
-#if UIP_FIXEDADDR\r
-extern const u16_t uip_hostaddr[2];\r
-#else /* UIP_FIXEDADDR */\r
-extern u16_t uip_hostaddr[2];\r
-#endif /* UIP_FIXEDADDR */\r
-\r
-#endif /* __UIP_H__ */\r
-\r
-\r
-/** @} */\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arch.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arch.c
deleted file mode 100644 (file)
index 9dad18c..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip_arch.c,v 1.2.2.1 2003/10/04 22:54:17 adam Exp $\r
- *\r
- */\r
-\r
-\r
-#include "uip.h"\r
-#include "uip_arch.h"\r
-\r
-#define BUF ((uip_tcpip_hdr *)&uip_buf[UIP_LLH_LEN])\r
-#define IP_PROTO_TCP    6\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_add32(u8_t *op32, u16_t op16)\r
-{\r
-\r
-  uip_acc32[3] = op32[3] + (op16 & 0xff);\r
-  uip_acc32[2] = op32[2] + (op16 >> 8);\r
-  uip_acc32[1] = op32[1];\r
-  uip_acc32[0] = op32[0];\r
-\r
-  if(uip_acc32[2] < (op16 >> 8)) {\r
-    ++uip_acc32[1];\r
-    if(uip_acc32[1] == 0) {\r
-      ++uip_acc32[0];\r
-    }\r
-  }\r
-\r
-\r
-  if(uip_acc32[3] < (op16 & 0xff)) {\r
-    ++uip_acc32[2];\r
-    if(uip_acc32[2] == 0) {\r
-      ++uip_acc32[1];\r
-      if(uip_acc32[1] == 0) {\r
-       ++uip_acc32[0];\r
-      }\r
-    }\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-uip_chksum(u16_t *sdata, u16_t len)\r
-{\r
-  u16_t acc;\r
-\r
-  for (acc = 0; len > 1; len -= 2) {\r
-    u16_t u = ((unsigned char *)sdata)[0] + (((unsigned char *)sdata)[1] << 8);\r
-    if ((acc += u) < u) {\r
-      /* Overflow, so we add the carry to acc (i.e., increase by\r
-         one). */\r
-      ++acc;\r
-    }\r
-    ++sdata;\r
-  }\r
-\r
-  /* add up any odd byte */\r
-  if(len == 1) {\r
-    acc += htons(((u16_t)(*(u8_t *)sdata)) << 8);\r
-    if(acc < htons(((u16_t)(*(u8_t *)sdata)) << 8)) {\r
-      ++acc;\r
-    }\r
-  }\r
-\r
-  return acc;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-uip_ipchksum(void)\r
-{\r
-  return uip_chksum((u16_t *)&uip_buf[UIP_LLH_LEN], 20);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-uip_tcpchksum(void)\r
-{\r
-  u16_t hsum, sum;\r
-\r
-\r
-  /* Compute the checksum of the TCP header. */\r
-  hsum = uip_chksum((u16_t *)&uip_buf[20 + UIP_LLH_LEN], 20);\r
-\r
-  /* Compute the checksum of the data in the TCP packet and add it to\r
-     the TCP header checksum. */\r
-  sum = uip_chksum((u16_t *)uip_appdata,\r
-                  (u16_t)(((((u16_t)(BUF->len[0]) << 8) + BUF->len[1]) - 40)));\r
-\r
-  if((sum += hsum) < hsum) {\r
-    ++sum;\r
-  }\r
-\r
-  if((sum += BUF->srcipaddr[0]) < BUF->srcipaddr[0]) {\r
-    ++sum;\r
-  }\r
-  if((sum += BUF->srcipaddr[1]) < BUF->srcipaddr[1]) {\r
-    ++sum;\r
-  }\r
-  if((sum += BUF->destipaddr[0]) < BUF->destipaddr[0]) {\r
-    ++sum;\r
-  }\r
-  if((sum += BUF->destipaddr[1]) < BUF->destipaddr[1]) {\r
-    ++sum;\r
-  }\r
-  if((sum += (u16_t)htons((u16_t)IP_PROTO_TCP)) < (u16_t)htons((u16_t)IP_PROTO_TCP)) {\r
-    ++sum;\r
-  }\r
-\r
-  hsum = (u16_t)htons((((u16_t)(BUF->len[0]) << 8) + BUF->len[1]) - 20);\r
-\r
-  if((sum += hsum) < hsum) {\r
-    ++sum;\r
-  }\r
-\r
-  return sum;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arch.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arch.h
deleted file mode 100644 (file)
index b2d133f..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/**\r
- * \defgroup uiparch Architecture specific uIP functions\r
- * @{\r
- *\r
- * The functions in the architecture specific module implement the IP\r
- * check sum and 32-bit additions.\r
- *\r
- * The IP checksum calculation is the most computationally expensive\r
- * operation in the TCP/IP stack and it therefore pays off to\r
- * implement this in efficient assembler. The purpose of the uip-arch\r
- * module is to let the checksum functions to be implemented in\r
- * architecture specific assembler.\r
- *\r
- */\r
-\r
-/**\r
- * \file\r
- * Declarations of architecture specific functions.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip_arch.h,v 1.1.2.2 2003/10/06 15:10:22 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __UIP_ARCH_H__\r
-#define __UIP_ARCH_H__\r
-\r
-#include "uip.h"\r
-\r
-/**\r
- * Carry out a 32-bit addition.\r
- *\r
- * Because not all architectures for which uIP is intended has native\r
- * 32-bit arithmetic, uIP uses an external C function for doing the\r
- * required 32-bit additions in the TCP protocol processing. This\r
- * function should add the two arguments and place the result in the\r
- * global variable uip_acc32.\r
- *\r
- * \note The 32-bit integer pointed to by the op32 parameter and the\r
- * result in the uip_acc32 variable are in network byte order (big\r
- * endian).\r
- *\r
- * \param op32 A pointer to a 4-byte array representing a 32-bit\r
- * integer in network byte order (big endian).\r
- *\r
- * \param op16 A 16-bit integer in host byte order.\r
- */\r
-void uip_add32(u8_t *op32, u16_t op16);\r
-\r
-/**\r
- * Calculate the Internet checksum over a buffer.\r
- *\r
- * The Internet checksum is the one's complement of the one's\r
- * complement sum of all 16-bit words in the buffer.\r
- *\r
- * See RFC1071.\r
- *\r
- * \note This function is not called in the current version of uIP,\r
- * but future versions might make use of it.\r
- *\r
- * \param buf A pointer to the buffer over which the checksum is to be\r
- * computed.\r
- *\r
- * \param len The length of the buffer over which the checksum is to\r
- * be computed.\r
- *\r
- * \return The Internet checksum of the buffer.\r
- */\r
-u16_t uip_chksum(u16_t *buf, u16_t len);\r
-\r
-/**\r
- * Calculate the IP header checksum of the packet header in uip_buf.\r
- *\r
- * The IP header checksum is the Internet checksum of the 20 bytes of\r
- * the IP header.\r
- *\r
- * \return The IP header checksum of the IP header in the uip_buf\r
- * buffer.\r
- */\r
-u16_t uip_ipchksum(void);\r
-\r
-/**\r
- * Calculate the TCP checksum of the packet in uip_buf and uip_appdata.\r
- *\r
- * The TCP checksum is the Internet checksum of data contents of the\r
- * TCP segment, and a pseudo-header as defined in RFC793.\r
- *\r
- * \note The uip_appdata pointer that points to the packet data may\r
- * point anywhere in memory, so it is not possible to simply calculate\r
- * the Internet checksum of the contents of the uip_buf buffer.\r
- *\r
- * \return The TCP checksum of the TCP segment in uip_buf and pointed\r
- * to by uip_appdata.\r
- */\r
-u16_t uip_tcpchksum(void);\r
-\r
-/** @} */\r
-\r
-#endif /* __UIP_ARCH_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arp.c b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arp.c
deleted file mode 100644 (file)
index db8d72d..0000000
+++ /dev/null
@@ -1,429 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \defgroup uiparp uIP Address Resolution Protocol\r
- * @{\r
- *\r
- * The Address Resolution Protocol ARP is used for mapping between IP\r
- * addresses and link level addresses such as the Ethernet MAC\r
- * addresses. ARP uses broadcast queries to ask for the link level\r
- * address of a known IP address and the host which is configured with\r
- * the IP address for which the query was meant, will respond with its\r
- * link level address.\r
- *\r
- * \note This ARP implementation only supports Ethernet.\r
- */\r
-\r
-/**\r
- * \file\r
- * Implementation of the ARP Address Resolution Protocol.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip_arp.c,v 1.7.2.3 2003/10/06 22:42:30 adam Exp $\r
- *\r
- */\r
-\r
-\r
-#include "uip_arp.h"\r
-\r
-#include <string.h>\r
-\r
-struct arp_hdr {\r
-  struct uip_eth_hdr ethhdr;\r
-  u16_t hwtype;\r
-  u16_t protocol;\r
-  u8_t hwlen;\r
-  u8_t protolen;\r
-  u16_t opcode;\r
-  struct uip_eth_addr shwaddr;\r
-  u16_t sipaddr[2];\r
-  struct uip_eth_addr dhwaddr;\r
-  u16_t dipaddr[2];\r
-};\r
-\r
-struct ethip_hdr {\r
-  struct uip_eth_hdr ethhdr;\r
-  /* IP header. */\r
-  u8_t vhl,\r
-    tos,\r
-    len[2],\r
-    ipid[2],\r
-    ipoffset[2],\r
-    ttl,\r
-    proto;\r
-  u16_t ipchksum;\r
-  u16_t srcipaddr[2],\r
-    destipaddr[2];\r
-};\r
-\r
-#define ARP_REQUEST 1\r
-#define ARP_REPLY   2\r
-\r
-#define ARP_HWTYPE_ETH 1\r
-\r
-struct arp_entry {\r
-  u16_t ipaddr[2];\r
-  struct uip_eth_addr ethaddr;\r
-  u8_t time;\r
-};\r
-\r
-struct uip_eth_addr uip_ethaddr = {{UIP_ETHADDR0,\r
-                                   UIP_ETHADDR1,\r
-                                   UIP_ETHADDR2,\r
-                                   UIP_ETHADDR3,\r
-                                   UIP_ETHADDR4,\r
-                                   UIP_ETHADDR5}};\r
-\r
-static struct arp_entry arp_table[UIP_ARPTAB_SIZE];\r
-static u16_t ipaddr[2];\r
-static u8_t i, c;\r
-\r
-static u8_t arptime;\r
-static u8_t tmpage;\r
-\r
-#define BUF   ((struct arp_hdr *)&uip_buf[0])\r
-#define IPBUF ((struct ethip_hdr *)&uip_buf[0])\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize the ARP module.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_arp_init(void)\r
-{\r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-    memset(arp_table[i].ipaddr, 0, 4);\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Periodic ARP processing function.\r
- *\r
- * This function performs periodic timer processing in the ARP module\r
- * and should be called at regular intervals. The recommended interval\r
- * is 10 seconds between the calls.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_arp_timer(void)\r
-{\r
-  struct arp_entry *tabptr;\r
-\r
-  ++arptime;\r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-    tabptr = &arp_table[i];\r
-    if((tabptr->ipaddr[0] | tabptr->ipaddr[1]) != 0 &&\r
-       arptime - tabptr->time >= UIP_ARP_MAXAGE) {\r
-      memset(tabptr->ipaddr, 0, 4);\r
-    }\r
-  }\r
-\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-uip_arp_update(u16_t *ipaddr, struct uip_eth_addr *ethaddr)\r
-{\r
-  register struct arp_entry *tabptr;\r
-  /* Walk through the ARP mapping table and try to find an entry to\r
-     update. If none is found, the IP -> MAC address mapping is\r
-     inserted in the ARP table. */\r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-\r
-    tabptr = &arp_table[i];\r
-    /* Only check those entries that are actually in use. */\r
-    if(tabptr->ipaddr[0] != 0 &&\r
-       tabptr->ipaddr[1] != 0) {\r
-\r
-      /* Check if the source IP address of the incoming packet matches\r
-         the IP address in this ARP table entry. */\r
-      if(ipaddr[0] == tabptr->ipaddr[0] &&\r
-        ipaddr[1] == tabptr->ipaddr[1]) {\r
-       \r
-       /* An old entry found, update this and return. */\r
-       memcpy(tabptr->ethaddr.addr, ethaddr->addr, 6);\r
-       tabptr->time = arptime;\r
-\r
-       return;\r
-      }\r
-    }\r
-  }\r
-\r
-  /* If we get here, no existing ARP table entry was found, so we\r
-     create one. */\r
-\r
-  /* First, we try to find an unused entry in the ARP table. */\r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-    tabptr = &arp_table[i];\r
-    if(tabptr->ipaddr[0] == 0 &&\r
-       tabptr->ipaddr[1] == 0) {\r
-      break;\r
-    }\r
-  }\r
-\r
-  /* If no unused entry is found, we try to find the oldest entry and\r
-     throw it away. */\r
-  if(i == UIP_ARPTAB_SIZE) {\r
-    tmpage = 0;\r
-    c = 0;\r
-    for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-      tabptr = &arp_table[i];\r
-      if(arptime - tabptr->time > tmpage) {\r
-       tmpage = arptime - tabptr->time;\r
-       c = i;\r
-      }\r
-    }\r
-    i = c;\r
-  }\r
-\r
-  /* Now, i is the ARP table entry which we will fill with the new\r
-     information. */\r
-  memcpy(tabptr->ipaddr, ipaddr, 4);\r
-  memcpy(tabptr->ethaddr.addr, ethaddr->addr, 6);\r
-  tabptr->time = arptime;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * ARP processing for incoming IP packets\r
- *\r
- * This function should be called by the device driver when an IP\r
- * packet has been received. The function will check if the address is\r
- * in the ARP cache, and if so the ARP cache entry will be\r
- * refreshed. If no ARP cache entry was found, a new one is created.\r
- *\r
- * This function expects an IP packet with a prepended Ethernet header\r
- * in the uip_buf[] buffer, and the length of the packet in the global\r
- * variable uip_len.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_arp_ipin(void)\r
-{\r
-  uip_len -= sizeof(struct uip_eth_hdr);\r
-       \r
-  /* Only insert/update an entry if the source IP address of the\r
-     incoming IP packet comes from a host on the local network. */\r
-  if((IPBUF->srcipaddr[0] & uip_arp_netmask[0]) !=\r
-     (uip_hostaddr[0] & uip_arp_netmask[0])) {\r
-    return;\r
-  }\r
-  if((IPBUF->srcipaddr[1] & uip_arp_netmask[1]) !=\r
-     (uip_hostaddr[1] & uip_arp_netmask[1])) {\r
-    return;\r
-  }\r
-  uip_arp_update(IPBUF->srcipaddr, &(IPBUF->ethhdr.src));\r
-\r
-  return;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * ARP processing for incoming ARP packets.\r
- *\r
- * This function should be called by the device driver when an ARP\r
- * packet has been received. The function will act differently\r
- * depending on the ARP packet type: if it is a reply for a request\r
- * that we previously sent out, the ARP cache will be filled in with\r
- * the values from the ARP reply. If the incoming ARP packet is an ARP\r
- * request for our IP address, an ARP reply packet is created and put\r
- * into the uip_buf[] buffer.\r
- *\r
- * When the function returns, the value of the global variable uip_len\r
- * indicates whether the device driver should send out a packet or\r
- * not. If uip_len is zero, no packet should be sent. If uip_len is\r
- * non-zero, it contains the length of the outbound packet that is\r
- * present in the uip_buf[] buffer.\r
- *\r
- * This function expects an ARP packet with a prepended Ethernet\r
- * header in the uip_buf[] buffer, and the length of the packet in the\r
- * global variable uip_len.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-typedef struct arp_hdr aht;\r
-\r
-void\r
-uip_arp_arpin(void)\r
-{\r
-  int ul;\r
-\r
-  if(uip_len < sizeof(struct arp_hdr)) {\r
-    uip_len = 0;\r
-    return;\r
-  }\r
-\r
-  uip_len = 0;\r
-\r
-  switch(BUF->opcode) {\r
-  case HTONS(ARP_REQUEST):\r
-    /* ARP request. If it asked for our address, we send out a\r
-       reply. */\r
-    if(BUF->dipaddr[0] == uip_hostaddr[0] &&\r
-       BUF->dipaddr[1] == uip_hostaddr[1]) {\r
-      /* The reply opcode is 2. */\r
-      BUF->opcode = HTONS(2);\r
-\r
-      memcpy(BUF->dhwaddr.addr, BUF->shwaddr.addr, 6);\r
-      memcpy(BUF->shwaddr.addr, uip_ethaddr.addr, 6);\r
-      memcpy(BUF->ethhdr.src.addr, uip_ethaddr.addr, 6);\r
-      memcpy(BUF->ethhdr.dest.addr, BUF->dhwaddr.addr, 6);\r
-\r
-      BUF->dipaddr[0] = BUF->sipaddr[0];\r
-      BUF->dipaddr[1] = BUF->sipaddr[1];\r
-      BUF->sipaddr[0] = uip_hostaddr[0];\r
-      BUF->sipaddr[1] = uip_hostaddr[1];\r
-\r
-      ul = BUF->hwlen;\r
-      BUF->ethhdr.type = HTONS(UIP_ETHTYPE_ARP);\r
-      uip_len = sizeof(struct arp_hdr);\r
-    }\r
-    break;\r
-  case HTONS(ARP_REPLY):\r
-    /* ARP reply. We insert or update the ARP table if it was meant\r
-       for us. */\r
-    if(BUF->dipaddr[0] == uip_hostaddr[0] &&\r
-       BUF->dipaddr[1] == uip_hostaddr[1]) {\r
-\r
-      uip_arp_update(BUF->sipaddr, &BUF->shwaddr);\r
-    }\r
-    break;\r
-  }\r
-\r
-  ( void ) ul;\r
-\r
-  return;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Prepend Ethernet header to an outbound IP packet and see if we need\r
- * to send out an ARP request.\r
- *\r
- * This function should be called before sending out an IP packet. The\r
- * function checks the destination IP address of the IP packet to see\r
- * what Ethernet MAC address that should be used as a destination MAC\r
- * address on the Ethernet.\r
- *\r
- * If the destination IP address is in the local network (determined\r
- * by logical ANDing of netmask and our IP address), the function\r
- * checks the ARP cache to see if an entry for the destination IP\r
- * address is found. If so, an Ethernet header is prepended and the\r
- * function returns. If no ARP cache entry is found for the\r
- * destination IP address, the packet in the uip_buf[] is replaced by\r
- * an ARP request packet for the IP address. The IP packet is dropped\r
- * and it is assumed that they higher level protocols (e.g., TCP)\r
- * eventually will retransmit the dropped packet.\r
- *\r
- * If the destination IP address is not on the local network, the IP\r
- * address of the default router is used instead.\r
- *\r
- * When the function returns, a packet is present in the uip_buf[]\r
- * buffer, and the length of the packet is in the global variable\r
- * uip_len.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_arp_out(void)\r
-{\r
-  struct arp_entry *tabptr;\r
-  /* Find the destination IP address in the ARP table and construct\r
-     the Ethernet header. If the destination IP addres isn't on the\r
-     local network, we use the default router's IP address instead.\r
-\r
-     If not ARP table entry is found, we overwrite the original IP\r
-     packet with an ARP request for the IP address. */\r
-\r
-  /* Check if the destination address is on the local network. */\r
-  if((IPBUF->destipaddr[0] & uip_arp_netmask[0]) !=\r
-     (uip_hostaddr[0] & uip_arp_netmask[0]) ||\r
-     (IPBUF->destipaddr[1] & uip_arp_netmask[1]) !=\r
-     (uip_hostaddr[1] & uip_arp_netmask[1])) {\r
-    /* Destination address was not on the local network, so we need to\r
-       use the default router's IP address instead of the destination\r
-       address when determining the MAC address. */\r
-    ipaddr[0] = uip_arp_draddr[0];\r
-    ipaddr[1] = uip_arp_draddr[1];\r
-  } else {\r
-    /* Else, we use the destination IP address. */\r
-    ipaddr[0] = IPBUF->destipaddr[0];\r
-    ipaddr[1] = IPBUF->destipaddr[1];\r
-  }\r
-\r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-    tabptr = &arp_table[i];\r
-    if(ipaddr[0] == tabptr->ipaddr[0] &&\r
-       ipaddr[1] == tabptr->ipaddr[1])\r
-      break;\r
-  }\r
-\r
-  if(i == UIP_ARPTAB_SIZE) {\r
-    /* The destination address was not in our ARP table, so we\r
-       overwrite the IP packet with an ARP request. */\r
-\r
-    memset(BUF->ethhdr.dest.addr, 0xff, 6);\r
-    memset(BUF->dhwaddr.addr, 0x00, 6);\r
-    memcpy(BUF->ethhdr.src.addr, uip_ethaddr.addr, 6);\r
-    memcpy(BUF->shwaddr.addr, uip_ethaddr.addr, 6);\r
-\r
-    BUF->dipaddr[0] = ipaddr[0];\r
-    BUF->dipaddr[1] = ipaddr[1];\r
-    BUF->sipaddr[0] = uip_hostaddr[0];\r
-    BUF->sipaddr[1] = uip_hostaddr[1];\r
-    BUF->opcode = HTONS(ARP_REQUEST); /* ARP request. */\r
-    BUF->hwtype = HTONS(ARP_HWTYPE_ETH);\r
-    BUF->protocol = HTONS(UIP_ETHTYPE_IP);\r
-    BUF->hwlen = 6;\r
-    BUF->protolen = 4;\r
-    BUF->ethhdr.type = HTONS(UIP_ETHTYPE_ARP);\r
-\r
-    uip_appdata = &uip_buf[40 + UIP_LLH_LEN];\r
-\r
-    uip_len = sizeof(struct arp_hdr);\r
-    return;\r
-  }\r
-\r
-  /* Build an ethernet header. */\r
-  memcpy(IPBUF->ethhdr.dest.addr, tabptr->ethaddr.addr, 6);\r
-  memcpy(IPBUF->ethhdr.src.addr, uip_ethaddr.addr, 6);\r
-\r
-  IPBUF->ethhdr.type = HTONS(UIP_ETHTYPE_IP);\r
-\r
-  uip_len += sizeof(struct uip_eth_hdr);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-\r
-/** @} */\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arp.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uip_arp.h
deleted file mode 100644 (file)
index fadad57..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \addtogroup uiparp\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * Macros and definitions for the ARP module.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip_arp.h,v 1.3.2.2 2003/10/06 15:10:22 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __UIP_ARP_H__\r
-#define __UIP_ARP_H__\r
-\r
-#include "uip.h"\r
-\r
-\r
-/**\r
- * Representation of a 48-bit Ethernet address.\r
- */\r
-struct uip_eth_addr {\r
-  u8_t addr[6];\r
-} /*_RB_ __attribute__ ((packed, aligned (1))) */;\r
-\r
-extern struct uip_eth_addr uip_ethaddr;\r
-\r
-/**\r
- * The Ethernet header.\r
- */\r
-struct uip_eth_hdr {\r
-  struct uip_eth_addr dest;\r
-  struct uip_eth_addr src;\r
-  u16_t type;\r
-} /*_RB_ __attribute__ ((packed)) */;\r
-\r
-#define UIP_ETHTYPE_ARP 0x0806\r
-#define UIP_ETHTYPE_IP  0x0800\r
-#define UIP_ETHTYPE_IP6 0x86dd\r
-\r
-\r
-/* The uip_arp_init() function must be called before any of the other\r
-   ARP functions. */\r
-void uip_arp_init(void);\r
-\r
-/* The uip_arp_ipin() function should be called whenever an IP packet\r
-   arrives from the Ethernet. This function refreshes the ARP table or\r
-   inserts a new mapping if none exists. The function assumes that an\r
-   IP packet with an Ethernet header is present in the uip_buf buffer\r
-   and that the length of the packet is in the uip_len variable. */\r
-void uip_arp_ipin(void);\r
-\r
-/* The uip_arp_arpin() should be called when an ARP packet is received\r
-   by the Ethernet driver. This function also assumes that the\r
-   Ethernet frame is present in the uip_buf buffer. When the\r
-   uip_arp_arpin() function returns, the contents of the uip_buf\r
-   buffer should be sent out on the Ethernet if the uip_len variable\r
-   is > 0. */\r
-void uip_arp_arpin(void);\r
-\r
-/* The uip_arp_out() function should be called when an IP packet\r
-   should be sent out on the Ethernet. This function creates an\r
-   Ethernet header before the IP header in the uip_buf buffer. The\r
-   Ethernet header will have the correct Ethernet MAC destination\r
-   address filled in if an ARP table entry for the destination IP\r
-   address (or the IP address of the default router) is present. If no\r
-   such table entry is found, the IP packet is overwritten with an ARP\r
-   request and we rely on TCP to retransmit the packet that was\r
-   overwritten. In any case, the uip_len variable holds the length of\r
-   the Ethernet frame that should be transmitted. */\r
-void uip_arp_out(void);\r
-\r
-/* The uip_arp_timer() function should be called every ten seconds. It\r
-   is responsible for flushing old entries in the ARP table. */\r
-void uip_arp_timer(void);\r
-\r
-/** @} */\r
-\r
-/**\r
- * \addtogroup uipconffunc\r
- * @{\r
- */\r
-\r
-/**\r
- * Set the default router's IP address.\r
- *\r
- * \param addr A pointer to a 4-byte array containing the IP address\r
- * of the default router.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_setdraddr(addr) do { uip_arp_draddr[0] = addr[0]; \\r
-                                 uip_arp_draddr[1] = addr[1]; } while(0)\r
-\r
-/**\r
- * Set the netmask.\r
- *\r
- * \param addr A pointer to a 4-byte array containing the IP address\r
- * of the netmask.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_setnetmask(addr) do { uip_arp_netmask[0] = addr[0]; \\r
-                                  uip_arp_netmask[1] = addr[1]; } while(0)\r
-\r
-\r
-/**\r
- * Get the default router's IP address.\r
- *\r
- * \param addr A pointer to a 4-byte array that will be filled in with\r
- * the IP address of the default router.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_getdraddr(addr) do { addr[0] = uip_arp_draddr[0]; \\r
-                                 addr[1] = uip_arp_draddr[1]; } while(0)\r
-\r
-/**\r
- * Get the netmask.\r
- *\r
- * \param addr A pointer to a 4-byte array that will be filled in with\r
- * the value of the netmask.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_getnetmask(addr) do { addr[0] = uip_arp_netmask[0]; \\r
-                                  addr[1] = uip_arp_netmask[1]; } while(0)\r
-\r
-\r
-/**\r
- * Specifiy the Ethernet MAC address.\r
- *\r
- * The ARP code needs to know the MAC address of the Ethernet card in\r
- * order to be able to respond to ARP queries and to generate working\r
- * Ethernet headers.\r
- *\r
- * \note This macro only specifies the Ethernet MAC address to the ARP\r
- * code. It cannot be used to change the MAC address of the Ethernet\r
- * card.\r
- *\r
- * \param eaddr A pointer to a struct uip_eth_addr containing the\r
- * Ethernet MAC address of the Ethernet card.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_setethaddr(eaddr) do {uip_ethaddr.addr[0] = eaddr.addr[0]; \\r
-                              uip_ethaddr.addr[1] = eaddr.addr[1];\\r
-                              uip_ethaddr.addr[2] = eaddr.addr[2];\\r
-                              uip_ethaddr.addr[3] = eaddr.addr[3];\\r
-                              uip_ethaddr.addr[4] = eaddr.addr[4];\\r
-                              uip_ethaddr.addr[5] = eaddr.addr[5];} while(0)\r
-\r
-/** @} */\r
-\r
-/**\r
- * \internal Internal variables that are set using the macros\r
- * uip_setdraddr and uip_setnetmask.\r
- */\r
-extern u16_t uip_arp_draddr[2], uip_arp_netmask[2];\r
-#endif /* __UIP_ARP_H__ */\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uipopt.h b/FreeRTOS/Demo/uIP_Demo_IAR_ARM7/uip/uipopt.h
deleted file mode 100644 (file)
index 18a578b..0000000
+++ /dev/null
@@ -1,560 +0,0 @@
-/**\r
- * \defgroup uipopt Configuration options for uIP\r
- * @{\r
- *\r
- * uIP is configured using the per-project configuration file\r
- * "uipopt.h". This file contains all compile-time options for uIP and\r
- * should be tweaked to match each specific project. The uIP\r
- * distribution contains a documented example "uipopt.h" that can be\r
- * copied and modified for each project.\r
- */\r
-\r
-/**\r
- * \file\r
- * Configuration options for uIP.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- * This file is used for tweaking various configuration options for\r
- * uIP. You should make a copy of this file into one of your project's\r
- * directories instead of editing this example "uipopt.h" file that\r
- * comes with the uIP distribution.\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * 1. Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- * 2. Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the distribution.\r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uipopt.h,v 1.16.2.5 2003/10/07 13:22:51 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __UIPOPT_H__\r
-#define __UIPOPT_H__\r
-\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipopttypedef uIP type definitions\r
- * @{\r
- */\r
-\r
-/**\r
- * The 8-bit unsigned data type.\r
- *\r
- * This may have to be tweaked for your particular compiler. "unsigned\r
- * char" works for most compilers.\r
- */\r
-typedef unsigned char u8_t;\r
-\r
-/**\r
- * The 16-bit unsigned data type.\r
- *\r
- * This may have to be tweaked for your particular compiler. "unsigned\r
- * short" works for most compilers.\r
- */\r
-typedef unsigned short u16_t;\r
-\r
-/**\r
- * The statistics data type.\r
- *\r
- * This datatype determines how high the statistics counters are able\r
- * to count.\r
- */\r
-typedef unsigned short uip_stats_t;\r
-\r
-/** @} */\r
-\r
-/*------------------------------------------------------------------------------*/\r
-\r
-/**\r
- * \defgroup uipoptstaticconf Static configuration options\r
- * @{\r
- *\r
- * These configuration options can be used for setting the IP address\r
- * settings statically, but only if UIP_FIXEDADDR is set to 1. The\r
- * configuration options for a specific node includes IP address,\r
- * netmask and default router as well as the Ethernet address. The\r
- * netmask, default router and Ethernet address are appliciable only\r
- * if uIP should be run over Ethernet.\r
- *\r
- * All of these should be changed to suit your project.\r
-*/\r
-\r
-/**\r
- * Determines if uIP should use a fixed IP address or not.\r
- *\r
- * If uIP should use a fixed IP address, the settings are set in the\r
- * uipopt.h file. If not, the macros uip_sethostaddr(),\r
- * uip_setdraddr() and uip_setnetmask() should be used instead.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_FIXEDADDR    1\r
-\r
-/**\r
- * Ping IP address asignment.\r
- *\r
- * uIP uses a "ping" packets for setting its own IP address if this\r
- * option is set. If so, uIP will start with an empty IP address and\r
- * the destination IP address of the first incoming "ping" (ICMP echo)\r
- * packet will be used for setting the hosts IP address.\r
- *\r
- * \note This works only if UIP_FIXEDADDR is 0.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_PINGADDRCONF 0\r
-\r
-\r
-#define UIP_IPADDR0     172U  /**< The first octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_IPADDR1     25U /**< The second octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_IPADDR2     218U   /**< The third octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_IPADDR3     11U  /**< The fourth octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-\r
-#define UIP_NETMASK0    255 /**< The first octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_NETMASK1    255 /**< The second octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_NETMASK2    0 /**< The third octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_NETMASK3    0   /**< The fourth octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-\r
-#define UIP_DRIPADDR0   172 /**< The first octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_DRIPADDR1   25 /**< The second octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_DRIPADDR2   218   /**< The third octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_DRIPADDR3   3   /**< The fourth octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-\r
-\r
-\r
-/**\r
- * Specifies if the uIP ARP module should be compiled with a fixed\r
- * Ethernet MAC address or not.\r
- *\r
- * If this configuration option is 0, the macro uip_setethaddr() can\r
- * be used to specify the Ethernet address at run-time.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_FIXEDETHADDR 0\r
-\r
-#define UIP_ETHADDR0    0x00  /**< The first octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR1    0xbd  /**< The second octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR2    0x3b  /**< The third octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR3    0x33  /**< The fourth octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR4    0x06  /**< The fifth octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR5    0x65  /**< The sixth octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipoptip IP configuration options\r
- * @{\r
- *\r
- */\r
-/**\r
- * The IP TTL (time to live) of IP packets sent by uIP.\r
- *\r
- * This should normally not be changed.\r
- */\r
-#define UIP_TTL         255\r
-\r
-/**\r
- * Turn on support for IP packet reassembly.\r
- *\r
- * uIP supports reassembly of fragmented IP packets. This features\r
- * requires an additonal amount of RAM to hold the reassembly buffer\r
- * and the reassembly code size is approximately 700 bytes.  The\r
- * reassembly buffer is of the same size as the uip_buf buffer\r
- * (configured by UIP_BUFSIZE).\r
- *\r
- * \note IP packet reassembly is not heavily tested.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_REASSEMBLY 0\r
-\r
-/**\r
- * The maximum time an IP fragment should wait in the reassembly\r
- * buffer before it is dropped.\r
- *\r
- */\r
-#define UIP_REASS_MAXAGE 40\r
-\r
-/** @} */\r
-\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipoptudp UDP configuration options\r
- * @{\r
- *\r
- * \note The UDP support in uIP is still not entirely complete; there\r
- * is no support for sending or receiving broadcast or multicast\r
- * packets, but it works well enough to support a number of vital\r
- * applications such as DNS queries, though\r
- */\r
-\r
-/**\r
- * Toggles wether UDP support should be compiled in or not.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_UDP           0\r
-\r
-/**\r
- * Toggles if UDP checksums should be used or not.\r
- *\r
- * \note Support for UDP checksums is currently not included in uIP,\r
- * so this option has no function.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_UDP_CHECKSUMS 0\r
-\r
-/**\r
- * The maximum amount of concurrent UDP connections.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_UDP_CONNS    2\r
-\r
-/**\r
- * The name of the function that should be called when UDP datagrams arrive.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_UDP_APPCALL  udp_appcall\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipopttcp TCP configuration options\r
- * @{\r
- */\r
-\r
-/**\r
- * Determines if support for opening connections from uIP should be\r
- * compiled in.\r
- *\r
- * If the applications that are running on top of uIP for this project\r
- * do not need to open outgoing TCP connections, this configration\r
- * option can be turned off to reduce the code size of uIP.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_ACTIVE_OPEN 0\r
-\r
-/**\r
- * The maximum number of simultaneously open TCP connections.\r
- *\r
- * Since the TCP connections are statically allocated, turning this\r
- * configuration knob down results in less RAM used. Each TCP\r
- * connection requires approximatly 30 bytes of memory.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_CONNS       25\r
-\r
-/**\r
- * The maximum number of simultaneously listening TCP ports.\r
- *\r
- * Each listening TCP port requires 2 bytes of memory.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_LISTENPORTS 10\r
-\r
-/**\r
- * The size of the advertised receiver's window.\r
- *\r
- * Should be set low (i.e., to the size of the uip_buf buffer) is the\r
- * application is slow to process incoming data, or high (32768 bytes)\r
- * if the application processes data quickly.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_RECEIVE_WINDOW   32768\r
-\r
-/**\r
- * Determines if support for TCP urgent data notification should be\r
- * compiled in.\r
- *\r
- * Urgent data (out-of-band data) is a rarely used TCP feature that\r
- * very seldom would be required.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_URGDATA      1\r
-\r
-/**\r
- * The initial retransmission timeout counted in timer pulses.\r
- *\r
- * This should not be changed.\r
- */\r
-#define UIP_RTO         3\r
-\r
-/**\r
- * The maximum number of times a segment should be retransmitted\r
- * before the connection should be aborted.\r
- *\r
- * This should not be changed.\r
- */\r
-#define UIP_MAXRTX      8\r
-\r
-/**\r
- * The maximum number of times a SYN segment should be retransmitted\r
- * before a connection request should be deemed to have been\r
- * unsuccessful.\r
- *\r
- * This should not need to be changed.\r
- */\r
-#define UIP_MAXSYNRTX      3\r
-\r
-/**\r
- * The TCP maximum segment size.\r
- *\r
- * This is should not be to set to more than UIP_BUFSIZE - UIP_LLH_LEN - 40.\r
- */\r
-#define UIP_TCP_MSS     (UIP_BUFSIZE - UIP_LLH_LEN - 40)\r
-\r
-/**\r
- * How long a connection should stay in the TIME_WAIT state.\r
- *\r
- * This configiration option has no real implication, and it should be\r
- * left untouched.\r
- */\r
-#define UIP_TIME_WAIT_TIMEOUT 120\r
-\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipoptarp ARP configuration options\r
- * @{\r
- */\r
-\r
-/**\r
- * The size of the ARP table.\r
- *\r
- * This option should be set to a larger value if this uIP node will\r
- * have many connections from the local network.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_ARPTAB_SIZE 8\r
-\r
-/**\r
- * The maxium age of ARP table entries measured in 10ths of seconds.\r
- *\r
- * An UIP_ARP_MAXAGE of 120 corresponds to 20 minutes (BSD\r
- * default).\r
- */\r
-#define UIP_ARP_MAXAGE 120\r
-\r
-/** @} */\r
-\r
-/*------------------------------------------------------------------------------*/\r
-\r
-/**\r
- * \defgroup uipoptgeneral General configuration options\r
- * @{\r
- */\r
-\r
-/**\r
- * The size of the uIP packet buffer.\r
- *\r
- * The uIP packet buffer should not be smaller than 60 bytes, and does\r
- * not need to be larger than 1500 bytes. Lower size results in lower\r
- * TCP throughput, larger size results in higher TCP throughput.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_BUFSIZE     1480\r
-\r
-\r
-/**\r
- * Determines if statistics support should be compiled in.\r
- *\r
- * The statistics is useful for debugging and to show the user.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_STATISTICS  1\r
-\r
-/**\r
- * Determines if logging of certain events should be compiled in.\r
- *\r
- * This is useful mostly for debugging. The function uip_log()\r
- * must be implemented to suit the architecture of the project, if\r
- * logging is turned on.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_LOGGING 0\r
-\r
-/**\r
- * Print out a uIP log message.\r
- *\r
- * This function must be implemented by the module that uses uIP, and\r
- * is called by uIP whenever a log message is generated.\r
- */\r
-void uip_log(char *msg);\r
-\r
-/**\r
- * The link level header length.\r
- *\r
- * This is the offset into the uip_buf where the IP header can be\r
- * found. For Ethernet, this should be set to 14. For SLIP, this\r
- * should be set to 0.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_LLH_LEN     14\r
-\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipoptcpu CPU architecture configuration\r
- * @{\r
- *\r
- * The CPU architecture configuration is where the endianess of the\r
- * CPU on which uIP is to be run is specified. Most CPUs today are\r
- * little endian, and the most notable exception are the Motorolas\r
- * which are big endian. The BYTE_ORDER macro should be changed to\r
- * reflect the CPU architecture on which uIP is to be run.\r
- */\r
-#ifndef LITTLE_ENDIAN\r
-#define LITTLE_ENDIAN  3412\r
-#endif /* LITTLE_ENDIAN */\r
-#ifndef BIG_ENDIAN\r
-#define BIG_ENDIAN     1234\r
-#endif /* BIGE_ENDIAN */\r
-\r
-/**\r
- * The byte order of the CPU architecture on which uIP is to be run.\r
- *\r
- * This option can be either BIG_ENDIAN (Motorola byte order) or\r
- * LITTLE_ENDIAN (Intel byte order).\r
- *\r
- * \hideinitializer\r
- */\r
-#ifndef BYTE_ORDER\r
-#define BYTE_ORDER     LITTLE_ENDIAN\r
-#endif /* BYTE_ORDER */\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-\r
-/**\r
- * \defgroup uipoptapp Appication specific configurations\r
- * @{\r
- *\r
- * An uIP application is implemented using a single application\r
- * function that is called by uIP whenever a TCP/IP event occurs. The\r
- * name of this function must be registered with uIP at compile time\r
- * using the UIP_APPCALL definition.\r
- *\r
- * uIP applications can store the application state within the\r
- * uip_conn structure by specifying the size of the application\r
- * structure with the UIP_APPSTATE_SIZE macro.\r
- *\r
- * The file containing the definitions must be included in the\r
- * uipopt.h file.\r
- *\r
- * The following example illustrates how this can look.\r
- \code\r
-\r
-void httpd_appcall(void);\r
-#define UIP_APPCALL     httpd_appcall\r
-\r
-struct httpd_state {\r
-  u8_t state;\r
-  u16_t count;\r
-  char *dataptr;\r
-  char *script;\r
-};\r
-#define UIP_APPSTATE_SIZE (sizeof(struct httpd_state))\r
- \endcode\r
- */\r
-\r
-/**\r
- * \var #define UIP_APPCALL\r
- *\r
- * The name of the application function that uIP should call in\r
- * response to TCP/IP events.\r
- *\r
- */\r
-\r
-/**\r
- * \var #define UIP_APPSTATE_SIZE\r
- *\r
- * The size of the application state that is to be stored in the\r
- * uip_conn structure.\r
- */\r
-/** @} */\r
-\r
-/* Include the header file for the application program that should be\r
-   used. If you don't use the example web server, you should change\r
-   this. */\r
-#include "httpd.h"\r
-\r
-\r
-#endif /* __UIPOPT_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/FreeRTOSConfig.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/FreeRTOSConfig.h
deleted file mode 100644 (file)
index 13c0232..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-#ifndef FREERTOS_CONFIG_H\r
-#define FREERTOS_CONFIG_H\r
-\r
-#include <lpc210x.h>\r
-#define vPortYieldProcessor swi_handler\r
-\r
-\r
-/*-----------------------------------------------------------\r
- * Application specific definitions.\r
- *\r
- * These definitions should be adjusted for your particular hardware and\r
- * application requirements.\r
- *\r
- * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
- * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. \r
- *\r
- * See http://www.freertos.org/a00110.html.\r
- *----------------------------------------------------------*/\r
-\r
-#define configUSE_PREEMPTION           1\r
-#define configUSE_IDLE_HOOK                    0\r
-#define configUSE_TICK_HOOK                    0\r
-#define configCPU_CLOCK_HZ                     ( ( unsigned long ) 58982400 )  /* =14.7456MHz xtal multiplied by 4 using the PLL. */\r
-#define configTICK_RATE_HZ                     ( ( TickType_t ) 1000 )\r
-#define configMAX_PRIORITIES           ( 5 )\r
-#define configMINIMAL_STACK_SIZE       ( ( unsigned short ) 128 )\r
-#define configTOTAL_HEAP_SIZE          ( ( size_t ) ( 10 * 1024 ) )\r
-#define configMAX_TASK_NAME_LEN                ( 16 )\r
-#define configUSE_TRACE_FACILITY       1\r
-#define configUSE_16_BIT_TICKS         0\r
-#define configIDLE_SHOULD_YIELD                1\r
-\r
-/* Co-routine definitions. */\r
-#define configUSE_CO_ROUTINES          0\r
-#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
-\r
-/* Set the following definitions to 1 to include the API function, or zero\r
-to exclude the API function. */\r
-\r
-#define INCLUDE_vTaskPrioritySet               1\r
-#define INCLUDE_uxTaskPriorityGet              1\r
-#define INCLUDE_vTaskDelete                            1\r
-#define INCLUDE_vTaskCleanUpResources  0\r
-#define INCLUDE_vTaskSuspend                   1\r
-#define INCLUDE_vTaskDelayUntil                        1\r
-#define INCLUDE_vTaskDelay                             1\r
-\r
-\r
-#endif /* FREERTOS_CONFIG_H */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/Philips_LPC210X_Startup.s b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/Philips_LPC210X_Startup.s
deleted file mode 100644 (file)
index 47debb7..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/*****************************************************************************\r
- * Copyright (c) 2001, 2002 Rowley Associates Limited.                       *\r
- *                                                                           *\r
- * This file may be distributed under the terms of the License Agreement     *\r
- * provided with this software.                                              *\r
- *                                                                           *\r
- * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE   *\r
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *\r
- *****************************************************************************/\r
-\r
-/*****************************************************************************\r
- *                           Preprocessor Definitions\r
- *                           ------------------------\r
- *\r
- * VECTORED_IRQ_INTERRUPTS\r
- *\r
- *   Enable vectored IRQ interrupts. If defined, the PC register will be loaded\r
- *   with the contents of the VICVectAddr register on an IRQ exception.\r
- *\r
- * USE_PLL\r
- *\r
- *   If defined, connect PLL as processor clock source. If undefined, the \r
- *   oscillator clock will be used.\r
- *\r
- * PLLCFG_VAL\r
- *\r
- *   Override the default PLL configuration (multiplier = 5, divider = 2)\r
- *   by defining PLLCFG_VAL.\r
- *\r
- * USE_MAM\r
- *\r
- *   If defined then the memory accelerator module (MAM) will be enabled.\r
- *\r
- * MAMCR_VAL & MAMTIM_VAL\r
- * \r
- *   Override the default MAM configuration (fully enabled, 3 fetch cycles)\r
- *   by defining MAMCR_VAL and MAMTIM_VAL.\r
- *\r
- * VPBDIV_VAL\r
- *\r
- *   If defined then this value will be used to configure the VPB divider.\r
- *\r
- * SRAM_EXCEPTIONS\r
- *\r
- *   If defined, enable copying and re-mapping of interrupt vectors from User \r
- *   FLASH to SRAM. If undefined, interrupt vectors will be mapped in User \r
- *   FLASH.\r
- *\r
- *****************************************************************************/\r
-\r
-#ifndef PLLCFG_VAL\r
-#define PLLCFG_VAL 0x24 \r
-#endif\r
-\r
-#ifndef MAMCR_VAL\r
-#define MAMCR_VAL 2\r
-#endif\r
-\r
-#ifndef MAMTIM_VAL\r
-#define MAMTIM_VAL 3\r
-#endif\r
-\r
-#define MAMCR_OFFS   0x000\r
-#define MAMTIM_OFFS  0x004\r
-\r
-#define PLLCON_OFFS  0x080\r
-#define PLLCFG_OFFS  0x084\r
-#define PLLSTAT_OFFS 0x088\r
-#define PLLFEED_OFFS 0x08C\r
-\r
-#define VPBDIV_OFFS  0x100\r
-\r
-  .section .vectors, "ax"\r
-  .code 32\r
-  .align 0\r
-\r
-/*****************************************************************************\r
- * Exception Vectors                                                         *\r
- *****************************************************************************/\r
-_vectors:\r
-  ldr pc, [pc, #reset_handler_address - . - 8]  /* reset */\r
-  ldr pc, [pc, #undef_handler_address - . - 8]  /* undefined instruction */\r
-  ldr pc, [pc, #swi_handler_address - . - 8]    /* swi handler */\r
-  ldr pc, [pc, #pabort_handler_address - . - 8] /* abort prefetch */\r
-  ldr pc, [pc, #dabort_handler_address - . - 8] /* abort data */\r
-#ifdef VECTORED_IRQ_INTERRUPTS\r
-  .word 0xB9205F84                              /* boot loader checksum */\r
-  ldr pc, [pc, #-0xFF0]                         /* irq handler */\r
-#else\r
-  .word 0xB8A06F60                              /* boot loader checksum */\r
-  ldr pc, [pc, #irq_handler_address - . - 8]    /* irq handler */\r
-#endif\r
-  ldr pc, [pc, #fiq_handler_address - . - 8]    /* fiq handler */\r
-\r
-reset_handler_address:\r
-  .word reset_handler\r
-undef_handler_address:\r
-  .word undef_handler\r
-swi_handler_address:\r
-  .word swi_handler\r
-pabort_handler_address:\r
-  .word pabort_handler\r
-dabort_handler_address:\r
-  .word dabort_handler\r
-irq_handler_address:\r
-  .word irq_handler\r
-fiq_handler_address:\r
-  .word fiq_handler\r
-\r
-  .section .init, "ax"\r
-  .code 32\r
-  .align 0\r
-\r
-/******************************************************************************\r
- *                                                                            *\r
- * Default exception handlers                                                 *\r
- *                                                                            *\r
- ******************************************************************************/\r
-\r
-reset_handler:\r
-#if defined(USE_PLL) || defined(USE_MAM) || defined(VPBDIV_VAL)\r
-  ldr r0, =0xE01FC000\r
-#endif\r
-#if defined(USE_PLL)\r
-  /* Configure PLL Multiplier/Divider */\r
-  ldr r1, =PLLCFG_VAL\r
-  str r1, [r0, #PLLCFG_OFFS]\r
-  /* Enable PLL */\r
-  mov r1, #0x1\r
-  str r1, [r0, #PLLCON_OFFS]\r
-  mov r1, #0xAA\r
-  str r1, [r0, #PLLFEED_OFFS]\r
-  mov r1, #0x55\r
-  str r1, [r0, #PLLFEED_OFFS]\r
-  /* Wait for PLL to lock */\r
-pll_lock_loop:\r
-  ldr r1, [r0, #PLLSTAT_OFFS]\r
-  tst r1, #0x400\r
-  beq pll_lock_loop\r
-  /* PLL Locked, connect PLL as clock source */\r
-  mov r1, #0x3\r
-  str r1, [r0, #PLLCON_OFFS]\r
-  mov r1, #0xAA\r
-  str r1, [r0, #PLLFEED_OFFS]\r
-  mov r1, #0x55\r
-  str r1, [r0, #PLLFEED_OFFS]\r
-#endif\r
-\r
-#if defined(USE_MAM)\r
-  mov r1, #0\r
-  str r1, [r0, #MAMCR_OFFS]\r
-  ldr r1, =MAMTIM_VAL\r
-  str r1, [r0, #MAMTIM_OFFS]\r
-  ldr r1, =MAMCR_VAL\r
-  str r1, [r0, #MAMCR_OFFS]\r
-#endif\r
-\r
-#if defined(VPBDIV_VAL)\r
-  ldr r1, =VPBDIV_VAL\r
-  str r1, [r0, #VPBDIV_OFFS]\r
-#endif\r
-\r
-#if defined(SRAM_EXCEPTIONS)\r
-  /* Copy exception vectors into SRAM */\r
-  mov r8, #0x40000000\r
-  ldr r9, =_vectors\r
-  ldmia r9!, {r0-r7}\r
-  stmia r8!, {r0-r7}\r
-  ldmia r9!, {r0-r6}\r
-  stmia r8!, {r0-r6}\r
-\r
-  /* Re-map interrupt vectors from SRAM */\r
-  ldr r0, MEMMAP\r
-  mov r1, #2 /* User RAM Mode. Interrupt vectors are re-mapped from SRAM */\r
-  str r1, [r0]\r
-#endif /* SRAM_EXCEPTIONS */\r
-  \r
-  b _start\r
-\r
-#ifdef SRAM_EXCEPTIONS\r
-MEMMAP:\r
-  .word 0xE01FC040\r
-#endif\r
-\r
-/******************************************************************************\r
- *                                                                            *\r
- * Default exception handlers                                                 *\r
- * These are declared weak symbols so they can be redefined in user code.     * \r
- *                                                                            *\r
- ******************************************************************************/\r
-\r
-undef_handler:\r
-  b undef_handler\r
-  \r
-swi_handler:\r
-  b swi_handler\r
-  \r
-pabort_handler:\r
-  b pabort_handler\r
-  \r
-dabort_handler:\r
-  b dabort_handler\r
-  \r
-irq_handler:\r
-  b irq_handler\r
-  \r
-fiq_handler:\r
-  b fiq_handler\r
-\r
-  .weak undef_handler, swi_handler, pabort_handler, dabort_handler, irq_handler, fiq_handler\r
-                                                    \r
-\r
-                  \r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/ReadMe.txt b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/ReadMe.txt
new file mode 100644 (file)
index 0000000..add5642
--- /dev/null
@@ -0,0 +1,5 @@
+If you need the demo that used to be in this directory then download FreeRTOS V8.2.3\r
+from http://sourceforge.net/projects/freertos/files/FreeRTOS/\r
+\r
+FreeRTOS now uses its own TCP/IP stack: http://www.FreeRTOS.org/TCP\r
+\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/flash_placement.xml b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/flash_placement.xml
deleted file mode 100644 (file)
index 449adf2..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE Linker_Placement_File>\r
-<Root name="Flash Section Placement" >\r
-  <MemorySegment name="External SRAM;SRAM;SDRAM;DRAM" >\r
-    <ProgramSection alignment="4" load="No" name=".data_run" />\r
-    <ProgramSection alignment="4" load="No" inputsections="*(.bss .bss.* .gnu.linkonce.b.*) *(COMMON)" name=".bss" />\r
-    <ProgramSection alignment="4" size="0x0" load="No" name=".heap" />\r
-    <ProgramSection alignment="4" size="0x0" load="No" name=".stack" />\r
-    <ProgramSection alignment="4" size="0x200" load="No" name=".stack_irq" />\r
-    <ProgramSection alignment="4" size="0x0" load="No" name=".stack_fiq" />\r
-    <ProgramSection alignment="4" size="0x200" load="No" name=".stack_svc" />\r
-    <ProgramSection alignment="4" size="0x0" load="No" name=".stack_abt" />\r
-    <ProgramSection alignment="4" size="0x0" load="No" name=".stack_und" />\r
-  </MemorySegment>\r
-  <MemorySegment name="Internal SRAM;SRAM;SDRAM;DRAM" >\r
-    <ProgramSection size="0x3C" load="No" name=".vectors_ram" />\r
-    <ProgramSection alignment="4" load="No" name=".fast_run" />\r
-  </MemorySegment>\r
-  <MemorySegment name="FLASH" >\r
-    <ProgramSection load="Yes" inputsections="*(.vectors .vectors.*)" name=".vectors" />\r
-    <ProgramSection alignment="4" load="Yes" inputsections="*(.init .init.*)" name=".init" />\r
-    <ProgramSection alignment="4" load="No" name=".text_load" />\r
-    <ProgramSection alignment="4" load="Yes" inputsections="*(.text .text.* .glue_7t .glue_7 .gnu.linkonce.t.*)" name=".text" />\r
-    <ProgramSection alignment="4" load="Yes" inputsections="KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors))" name=".dtors" />\r
-    <ProgramSection alignment="4" load="Yes" inputsections="KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors))" name=".ctors" />\r
-    <ProgramSection alignment="4" load="Yes" inputsections="*(.rodata .rodata.* .gnu.linkonce.r.*)" name=".rodata" />\r
-    <ProgramSection alignment="4" load="Yes" runin=".fast_run" inputsections="*(.fast .fast.*)" name=".fast" />\r
-    <ProgramSection alignment="4" load="Yes" runin=".data_run" inputsections="*(.data .data.* .gnu.linkonce.d.*)" name=".data" />\r
-  </MemorySegment>\r
-</Root>\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/lpc210x.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/lpc210x.h
deleted file mode 100644 (file)
index 3f1e304..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-#ifndef lpc210x_h\r
-#define lpc210x_h\r
-/*******************************************************************************\r
-lpc210x.h - Register defs for Philips LPC210X: LPC2104, LPC2105 and LPC2106\r
-\r
-           \r
-THE SOFTWARE IS DELIVERED "AS IS" WITHOUT WARRANTY OR CONDITION OF ANY KIND, \r
-EITHER EXPRESS, IMPLIED OR STATUTORY. THIS INCLUDES WITHOUT LIMITATION ANY \r
-WARRANTY OR CONDITION WITH RESPECT TO MERCHANTABILITY OR FITNESS FOR ANY \r
-PARTICULAR PURPOSE, OR AGAINST THE INFRINGEMENTS OF INTELLECTUAL PROPERTY RIGHTS \r
-OF OTHERS.\r
-           \r
-This file may be freely used for commercial and non-commercial applications, \r
-including being redistributed with any tools.\r
-\r
-If you find a problem with the file, please report it so that it can be fixed.\r
-\r
-Created by Sten Larsson (sten_larsson at yahoo com)\r
-\r
-Edited by Richard Barry.\r
-*******************************************************************************/\r
-\r
-#define REG8  (volatile unsigned char*)\r
-#define REG16 (volatile unsigned short*)\r
-#define REG32 (volatile unsigned int*)\r
-\r
-\r
-/*##############################################################################\r
-## MISC\r
-##############################################################################*/\r
-\r
-        /* Constants for data to put in IRQ/FIQ Exception Vectors */\r
-#define VECTDATA_IRQ  0xE51FFFF0  /* LDR PC,[PC,#-0xFF0] */\r
-#define VECTDATA_FIQ  /* __TODO */\r
-\r
-\r
-/*##############################################################################\r
-## VECTORED INTERRUPT CONTROLLER\r
-##############################################################################*/\r
-\r
-#define VICIRQStatus    (*(REG32 (0xFFFFF000)))\r
-#define VICFIQStatus    (*(REG32 (0xFFFFF004)))\r
-#define VICRawIntr      (*(REG32 (0xFFFFF008)))\r
-#define VICIntSelect    (*(REG32 (0xFFFFF00C)))\r
-#define VICIntEnable    (*(REG32 (0xFFFFF010)))\r
-#define VICIntEnClear   (*(REG32 (0xFFFFF014)))\r
-#define VICSoftInt      (*(REG32 (0xFFFFF018)))\r
-#define VICSoftIntClear (*(REG32 (0xFFFFF01C)))\r
-#define VICProtection   (*(REG32 (0xFFFFF020)))\r
-#define VICVectAddr     (*(REG32 (0xFFFFF030)))\r
-#define VICDefVectAddr  (*(REG32 (0xFFFFF034)))\r
-\r
-#define VICVectAddr0    (*(REG32 (0xFFFFF100)))\r
-#define VICVectAddr1    (*(REG32 (0xFFFFF104)))\r
-#define VICVectAddr2    (*(REG32 (0xFFFFF108)))\r
-#define VICVectAddr3    (*(REG32 (0xFFFFF10C)))\r
-#define VICVectAddr4    (*(REG32 (0xFFFFF110)))\r
-#define VICVectAddr5    (*(REG32 (0xFFFFF114)))\r
-#define VICVectAddr6    (*(REG32 (0xFFFFF118)))\r
-#define VICVectAddr7    (*(REG32 (0xFFFFF11C)))\r
-#define VICVectAddr8    (*(REG32 (0xFFFFF120)))\r
-#define VICVectAddr9    (*(REG32 (0xFFFFF124)))\r
-#define VICVectAddr10   (*(REG32 (0xFFFFF128)))\r
-#define VICVectAddr11   (*(REG32 (0xFFFFF12C)))\r
-#define VICVectAddr12   (*(REG32 (0xFFFFF130)))\r
-#define VICVectAddr13   (*(REG32 (0xFFFFF134)))\r
-#define VICVectAddr14   (*(REG32 (0xFFFFF138)))\r
-#define VICVectAddr15   (*(REG32 (0xFFFFF13C)))\r
-\r
-#define VICVectCntl0    (*(REG32 (0xFFFFF200)))\r
-#define VICVectCntl1    (*(REG32 (0xFFFFF204)))\r
-#define VICVectCntl2    (*(REG32 (0xFFFFF208)))\r
-#define VICVectCntl3    (*(REG32 (0xFFFFF20C)))\r
-#define VICVectCntl4    (*(REG32 (0xFFFFF210)))\r
-#define VICVectCntl5    (*(REG32 (0xFFFFF214)))\r
-#define VICVectCntl6    (*(REG32 (0xFFFFF218)))\r
-#define VICVectCntl7    (*(REG32 (0xFFFFF21C)))\r
-#define VICVectCntl8    (*(REG32 (0xFFFFF220)))\r
-#define VICVectCntl9    (*(REG32 (0xFFFFF224)))\r
-#define VICVectCntl10   (*(REG32 (0xFFFFF228)))\r
-#define VICVectCntl11   (*(REG32 (0xFFFFF22C)))\r
-#define VICVectCntl12   (*(REG32 (0xFFFFF230)))\r
-#define VICVectCntl13   (*(REG32 (0xFFFFF234)))\r
-#define VICVectCntl14   (*(REG32 (0xFFFFF238)))\r
-#define VICVectCntl15   (*(REG32 (0xFFFFF23C)))\r
-\r
-#define VICITCR         (*(REG32 (0xFFFFF300)))\r
-#define VICITIP1        (*(REG32 (0xFFFFF304)))\r
-#define VICITIP2        (*(REG32 (0xFFFFF308)))\r
-#define VICITOP1        (*(REG32 (0xFFFFF30C)))\r
-#define VICITOP2        (*(REG32 (0xFFFFF310)))\r
-#define VICPeriphID0    (*(REG32 (0xFFFFFFE0)))\r
-#define VICPeriphID1    (*(REG32 (0xFFFFFFE4)))\r
-#define VICPeriphID2    (*(REG32 (0xFFFFFFE8)))\r
-#define VICPeriphID3    (*(REG32 (0xFFFFFFEC)))\r
-\r
-#define VICIntEnClr     VICIntEnClear\r
-#define VICSoftIntClr   VICSoftIntClear\r
-\r
-\r
-/*##############################################################################\r
-## PCB - Pin Connect Block\r
-##############################################################################*/\r
-\r
-#define PCB_PINSEL0     (*(REG32 (0xE002C000)))\r
-#define PCB_PINSEL1     (*(REG32 (0xE002C004)))\r
-\r
-\r
-/*##############################################################################\r
-## GPIO - General Purpose I/O\r
-##############################################################################*/\r
-\r
-#define GPIO_IOPIN      (*(REG32 (0xE0028000))) /* ALTERNATE NAME GPIO = GPIO0 */\r
-#define GPIO_IOSET      (*(REG32 (0xE0028004)))\r
-#define GPIO_IODIR      (*(REG32 (0xE0028008)))\r
-#define GPIO_IOCLR      (*(REG32 (0xE002800C)))\r
-\r
-#define GPIO0_IOPIN     (*(REG32 (0xE0028000))) /* ALTERNATE NAME GPIO = GPIO0 */\r
-#define GPIO0_IOSET     (*(REG32 (0xE0028004)))\r
-#define GPIO0_IODIR     (*(REG32 (0xE0028008)))\r
-#define GPIO0_IOCLR     (*(REG32 (0xE002800C)))\r
-\r
-\r
-/*##############################################################################\r
-## UART0 / UART1\r
-##############################################################################*/\r
-\r
-/* ---- UART 0 --------------------------------------------- */\r
-#define UART0_RBR       (*(REG32 (0xE000C000)))\r
-#define UART0_THR       (*(REG32 (0xE000C000)))\r
-#define UART0_IER       (*(REG32 (0xE000C004)))\r
-#define UART0_IIR       (*(REG32 (0xE000C008)))\r
-#define UART0_FCR       (*(REG32 (0xE000C008)))\r
-#define UART0_LCR       (*(REG32 (0xE000C00C)))\r
-#define UART0_LSR       (*(REG32 (0xE000C014)))\r
-#define UART0_SCR       (*(REG32 (0xE000C01C)))\r
-#define UART0_DLL       (*(REG32 (0xE000C000)))\r
-#define UART0_DLM       (*(REG32 (0xE000C004)))\r
-\r
-/* ---- UART 1 --------------------------------------------- */\r
-#define UART1_RBR       (*(REG32 (0xE0010000)))\r
-#define UART1_THR       (*(REG32 (0xE0010000)))\r
-#define UART1_IER       (*(REG32 (0xE0010004)))\r
-#define UART1_IIR       (*(REG32 (0xE0010008)))\r
-#define UART1_FCR       (*(REG32 (0xE0010008)))\r
-#define UART1_LCR       (*(REG32 (0xE001000C)))\r
-#define UART1_LSR       (*(REG32 (0xE0010014)))\r
-#define UART1_SCR       (*(REG32 (0xE001001C)))\r
-#define UART1_DLL       (*(REG32 (0xE0010000)))\r
-#define UART1_DLM       (*(REG32 (0xE0010004)))\r
-#define UART1_MCR       (*(REG32 (0xE0010010)))\r
-#define UART1_MSR       (*(REG32 (0xE0010018)))\r
-\r
-\r
-/*##############################################################################\r
-## I2C\r
-##############################################################################*/\r
-\r
-#define I2C_I2CONSET    (*(REG32 (0xE001C000)))\r
-#define I2C_I2STAT      (*(REG32 (0xE001C004)))\r
-#define I2C_I2DAT       (*(REG32 (0xE001C008)))\r
-#define I2C_I2ADR       (*(REG32 (0xE001C00C)))\r
-#define I2C_I2SCLH      (*(REG32 (0xE001C010)))\r
-#define I2C_I2SCLL      (*(REG32 (0xE001C014)))\r
-#define I2C_I2CONCLR    (*(REG32 (0xE001C018)))\r
-\r
-\r
-/*##############################################################################\r
-## SPI - Serial Peripheral Interface\r
-##############################################################################*/\r
-\r
-#define SPI_SPCR        (*(REG32 (0xE0020000)))\r
-#define SPI_SPSR        (*(REG32 (0xE0020004)))\r
-#define SPI_SPDR        (*(REG32 (0xE0020008)))\r
-#define SPI_SPCCR       (*(REG32 (0xE002000C)))\r
-#define SPI_SPTCR       (*(REG32 (0xE0020010)))\r
-#define SPI_SPTSR       (*(REG32 (0xE0020014)))\r
-#define SPI_SPTOR       (*(REG32 (0xE0020018)))\r
-#define SPI_SPINT       (*(REG32 (0xE002001C)))\r
-\r
-\r
-/*##############################################################################\r
-## Timer 0 and Timer 1\r
-##############################################################################*/\r
-\r
-/* ---- Timer 0 -------------------------------------------- */\r
-#define T0_IR           (*(REG32 (0xE0004000)))\r
-#define T0_TCR          (*(REG32 (0xE0004004)))\r
-#define T0_TC           (*(REG32 (0xE0004008)))\r
-#define T0_PR           (*(REG32 (0xE000400C)))\r
-#define T0_PC           (*(REG32 (0xE0004010)))\r
-#define T0_MCR          (*(REG32 (0xE0004014)))\r
-#define T0_MR0          (*(REG32 (0xE0004018)))\r
-#define T0_MR1          (*(REG32 (0xE000401C)))\r
-#define T0_MR2          (*(REG32 (0xE0004020)))\r
-#define T0_MR3          (*(REG32 (0xE0004024)))\r
-#define T0_CCR          (*(REG32 (0xE0004028)))\r
-#define T0_CR0          (*(REG32 (0xE000402C)))\r
-#define T0_CR1          (*(REG32 (0xE0004030)))\r
-#define T0_CR2          (*(REG32 (0xE0004034)))\r
-#define T0_CR3          (*(REG32 (0xE0004038)))\r
-#define T0_EMR          (*(REG32 (0xE000403C)))\r
-\r
-/* ---- Timer 1 -------------------------------------------- */\r
-#define T1_IR           (*(REG32 (0xE0008000)))\r
-#define T1_TCR          (*(REG32 (0xE0008004)))\r
-#define T1_TC           (*(REG32 (0xE0008008)))\r
-#define T1_PR           (*(REG32 (0xE000800C)))\r
-#define T1_PC           (*(REG32 (0xE0008010)))\r
-#define T1_MCR          (*(REG32 (0xE0008014)))\r
-#define T1_MR0          (*(REG32 (0xE0008018)))\r
-#define T1_MR1          (*(REG32 (0xE000801C)))\r
-#define T1_MR2          (*(REG32 (0xE0008020)))\r
-#define T1_MR3          (*(REG32 (0xE0008024)))\r
-#define T1_CCR          (*(REG32 (0xE0008028)))\r
-#define T1_CR0          (*(REG32 (0xE000802C)))\r
-#define T1_CR1          (*(REG32 (0xE0008030)))\r
-#define T1_CR2          (*(REG32 (0xE0008034)))\r
-#define T1_CR3          (*(REG32 (0xE0008038)))\r
-#define T1_EMR          (*(REG32 (0xE000803C)))\r
-\r
-\r
-/*##############################################################################\r
-## PWM\r
-##############################################################################*/\r
-\r
-#define PWM_IR          (*(REG32 (0xE0014000)))\r
-#define PWM_TCR         (*(REG32 (0xE0014004)))\r
-#define PWM_TC          (*(REG32 (0xE0014008)))\r
-#define PWM_PR          (*(REG32 (0xE001400C)))\r
-#define PWM_PC          (*(REG32 (0xE0014010)))\r
-#define PWM_MCR         (*(REG32 (0xE0014014)))\r
-#define PWM_MR0         (*(REG32 (0xE0014018)))\r
-#define PWM_MR1         (*(REG32 (0xE001401C)))\r
-#define PWM_MR2         (*(REG32 (0xE0014020)))\r
-#define PWM_MR3         (*(REG32 (0xE0014024)))\r
-#define PWM_MR4         (*(REG32 (0xE0014040)))\r
-#define PWM_MR5         (*(REG32 (0xE0014044)))\r
-#define PWM_MR6         (*(REG32 (0xE0014048)))\r
-#define PWM_EMR         (*(REG32 (0xE001403C)))\r
-#define PWM_PCR         (*(REG32 (0xE001404C)))\r
-#define PWM_LER         (*(REG32 (0xE0014050)))\r
-#define PWM_CCR         (*(REG32 (0xE0014028)))\r
-#define PWM_CR0         (*(REG32 (0xE001402C)))\r
-#define PWM_CR1         (*(REG32 (0xE0014030)))\r
-#define PWM_CR2         (*(REG32 (0xE0014034)))\r
-#define PWM_CR3         (*(REG32 (0xE0014038)))\r
-\r
-/*##############################################################################\r
-## RTC\r
-##############################################################################*/\r
-\r
-/* ---- RTC: Miscellaneous Register Group ------------------ */\r
-#define RTC_ILR         (*(REG32 (0xE0024000)))\r
-#define RTC_CTC         (*(REG32 (0xE0024004)))\r
-#define RTC_CCR         (*(REG32 (0xE0024008)))  \r
-#define RTC_CIIR        (*(REG32 (0xE002400C)))\r
-#define RTC_AMR         (*(REG32 (0xE0024010)))\r
-#define RTC_CTIME0      (*(REG32 (0xE0024014)))\r
-#define RTC_CTIME1      (*(REG32 (0xE0024018)))\r
-#define RTC_CTIME2      (*(REG32 (0xE002401C)))\r
-\r
-/* ---- RTC: Timer Control Group --------------------------- */\r
-#define RTC_SEC         (*(REG32 (0xE0024020)))\r
-#define RTC_MIN         (*(REG32 (0xE0024024)))\r
-#define RTC_HOUR        (*(REG32 (0xE0024028)))\r
-#define RTC_DOM         (*(REG32 (0xE002402C)))\r
-#define RTC_DOW         (*(REG32 (0xE0024030)))\r
-#define RTC_DOY         (*(REG32 (0xE0024034)))\r
-#define RTC_MONTH       (*(REG32 (0xE0024038)))\r
-#define RTC_YEAR        (*(REG32 (0xE002403C)))\r
-\r
-/* ---- RTC: Alarm Control Group --------------------------- */\r
-#define RTC_ALSEC       (*(REG32 (0xE0024060)))\r
-#define RTC_ALMIN       (*(REG32 (0xE0024064)))\r
-#define RTC_ALHOUR      (*(REG32 (0xE0024068)))\r
-#define RTC_ALDOM       (*(REG32 (0xE002406C)))\r
-#define RTC_ALDOW       (*(REG32 (0xE0024070)))\r
-#define RTC_ALDOY       (*(REG32 (0xE0024074)))\r
-#define RTC_ALMON       (*(REG32 (0xE0024078)))\r
-#define RTC_ALYEAR      (*(REG32 (0xE002407C)))\r
-\r
-/* ---- RTC: Reference Clock Divider Group ----------------- */\r
-#define RTC_PREINT      (*(REG32 (0xE0024080)))\r
-#define RTC_PREFRAC     (*(REG32 (0xE0024084)))\r
-\r
-\r
-/*##############################################################################\r
-## WD - Watchdog\r
-##############################################################################*/\r
-\r
-#define WD_WDMOD        (*(REG32 (0xE0000000)))\r
-#define WD_WDTC         (*(REG32 (0xE0000004)))\r
-#define WD_WDFEED       (*(REG32 (0xE0000008)))\r
-#define WD_WDTV         (*(REG32 (0xE000000C)))\r
-\r
-\r
-/*##############################################################################\r
-## System Control Block\r
-##############################################################################*/\r
-\r
-#define SCB_EXTINT      (*(REG32 (0xE01FC140)))\r
-#define SCB_EXTWAKE     (*(REG32 (0xE01FC144)))\r
-#define SCB_MEMMAP      (*(REG32 (0xE01FC040)))\r
-#define SCB_PLLCON      (*(REG32 (0xE01FC080)))\r
-#define SCB_PLLCFG      (*(REG32 (0xE01FC084)))\r
-#define SCB_PLLSTAT     (*(REG32 (0xE01FC088)))\r
-#define SCB_PLLFEED     (*(REG32 (0xE01FC08C)))\r
-#define SCB_PCON        (*(REG32 (0xE01FC0C0)))\r
-#define SCB_PCONP       (*(REG32 (0xE01FC0C4)))\r
-#define SCB_VPBDIV      (*(REG32 (0xE01FC100)))\r
-\r
-/*##############################################################################\r
-## Memory Accelerator Module (MAM)\r
-##############################################################################*/\r
-\r
-#define MAM_TIM                        (*(REG32 (0xE01FC004)))\r
-#define MAM_CR                 (*(REG32 (0xE01FC000)))\r
-\r
-#endif /* lpc210x_h */\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/main.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/main.c
deleted file mode 100644 (file)
index 62e3a77..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-/*\r
-    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\r
-    the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
-\r
-    ***************************************************************************\r
-    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
-    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
-    >>!   obliged to provide the source code for proprietary components     !<<\r
-    >>!   outside of the FreeRTOS kernel.                                   !<<\r
-    ***************************************************************************\r
-\r
-    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
-    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-    the FAQ page "My application does not run, what could be wrong?".  Have you\r
-    defined configASSERT()?\r
-\r
-    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-    embedded software for free we request you assist our global community by\r
-    participating in the support forum.\r
-\r
-    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-    be as productive as possible as early as possible.  Now you can receive\r
-    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-    Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
-\r
-/* \r
-       NOTE : Tasks run in system mode and the scheduler runs in Supervisor mode.\r
-       The processor MUST be in supervisor mode when vTaskStartScheduler is \r
-       called.  The demo applications included in the FreeRTOS.org download switch\r
-       to supervisor mode prior to main being called.  If you are not using one of\r
-       these demo application projects then ensure Supervisor mode is used.\r
-*/\r
-\r
-\r
-/*\r
- * Creates all the application tasks, then starts the scheduler.  \r
- * \r
- * A task is created called "uIP".  This executes the uIP stack and small\r
- * WEB server sample.  All the other tasks are from the set of standard\r
- * demo tasks.  The WEB documentation provides more details of the standard\r
- * demo application tasks.\r
- *\r
- * Main.c also creates a task called "Check".  This only executes every three \r
- * seconds but has the highest priority so is guaranteed to get processor time.  \r
- * Its main function is to check that all the other tasks are still operational.\r
- * Each standard demo task maintains a unique count that is incremented each \r
- * time the task successfully completes its function.  Should any error occur \r
- * within such a task the count is permanently halted.  The check task inspects\r
- * the count of each task to ensure it has changed since the last time the \r
- * check task executed.  If all the count variables have changed all the tasks \r
- * are still executing error free, and the check task toggles the yellow LED.  \r
- * Should any task contain an error at any time the LED toggle rate will change \r
- * from 3 seconds to 500ms.\r
- *\r
- */\r
-\r
-\r
-/* Standard includes. */\r
-#include <stdlib.h>\r
-#include <string.h>\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Demo application includes. */\r
-#include "PollQ.h"\r
-#include "dynamic.h"\r
-#include "semtest.h"\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Constants to setup the PLL. */\r
-#define mainPLL_MUL_4          ( ( unsigned char ) 0x0003 )\r
-#define mainPLL_DIV_1          ( ( unsigned char ) 0x0000 )\r
-#define mainPLL_ENABLE         ( ( unsigned char ) 0x0001 )\r
-#define mainPLL_CONNECT                ( ( unsigned char ) 0x0003 )\r
-#define mainPLL_FEED_BYTE1     ( ( unsigned char ) 0xaa )\r
-#define mainPLL_FEED_BYTE2     ( ( unsigned char ) 0x55 )\r
-#define mainPLL_LOCK           ( ( unsigned long ) 0x0400 )\r
-\r
-/* Constants to setup the MAM. */\r
-#define mainMAM_TIM_3          ( ( unsigned char ) 0x03 )\r
-#define mainMAM_MODE_FULL      ( ( unsigned char ) 0x02 )\r
-\r
-/* Constants to setup the peripheral bus. */\r
-#define mainBUS_CLK_FULL       ( ( unsigned char ) 0x01 )\r
-\r
-/* Priorities/stacks for the demo application tasks. */\r
-#define mainQUEUE_POLL_PRIORITY                ( tskIDLE_PRIORITY + 2 )\r
-#define mainCHECK_TASK_PRIORITY                ( tskIDLE_PRIORITY + 4 )\r
-#define mainSEM_TEST_PRIORITY          ( tskIDLE_PRIORITY + 1 )\r
-#define mainUIP_PRIORITY                       ( tskIDLE_PRIORITY + 3 )\r
-#define mainUIP_TASK_STACK_SIZE                ( 150 )\r
-\r
-/* The rate at which the on board LED will toggle when there is/is not an \r
-error. */\r
-#define mainNO_ERROR_FLASH_PERIOD      ( ( TickType_t ) 3000 / portTICK_PERIOD_MS  )\r
-#define mainERROR_FLASH_PERIOD         ( ( TickType_t ) 500 / portTICK_PERIOD_MS  )\r
-#define mainON_BOARD_LED_BIT           ( ( unsigned long ) 0x80 )\r
-#define mainYELLOW_LED                         ( 1 << 11 )\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/*\r
- * This is the uIP task which is defined within the uip.c file.  This has not\r
- * been placed into a header file in order to minimise the changes to the uip\r
- * code.\r
- */\r
-extern void ( vuIP_TASK ) ( void *pvParameters );\r
-\r
-/*\r
- * The Yellow LED is under the control of the Check task.  All the other LED's\r
- * are under the control of the uIP task. \r
- */\r
-void prvToggleOnBoardLED( void );\r
-\r
-/*\r
- * Checks that all the demo application tasks are still executing without error\r
- * - as described at the top of the file.\r
- */\r
-static long prvCheckOtherTasksAreStillRunning( void );\r
-\r
-/*\r
- * The task that executes at the highest priority and calls \r
- * prvCheckOtherTasksAreStillRunning().  See the description at the top\r
- * of the file.\r
- */\r
-static void vErrorChecks( void *pvParameters );\r
-\r
-/*\r
- * Configure the processor for use with the Olimex demo board.  This includes\r
- * setup for the I/O, system clock, and access timings.\r
- */\r
-static void prvSetupHardware( void );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/*\r
- * Starts all the other tasks, then starts the scheduler. \r
- */\r
-int main( void )\r
-{\r
-       /* Configure the processor. */\r
-       prvSetupHardware();\r
-\r
-       /* Start the task that handles the TCP/IP functionality. */\r
-    xTaskCreate( vuIP_TASK, "uIP", mainUIP_TASK_STACK_SIZE, NULL, mainUIP_PRIORITY, NULL );\r
-       \r
-       /* Start the demo/test application tasks.  These are created in addition \r
-       to the TCP/IP task for demonstration and test purposes. */\r
-       vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
-       vStartDynamicPriorityTasks();\r
-       vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );\r
-\r
-       /* Start the check task - which is defined in this file. */     \r
-    xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );\r
-\r
-       /* Now all the tasks have been started - start the scheduler.\r
-\r
-       NOTE : Tasks run in system mode and the scheduler runs in Supervisor mode.\r
-       The processor MUST be in supervisor mode when vTaskStartScheduler is \r
-       called.  The demo applications included in the FreeRTOS.org download switch\r
-       to supervisor mode prior to main being called.  If you are not using one of\r
-       these demo application projects then ensure Supervisor mode is used here. */\r
-       vTaskStartScheduler();\r
-\r
-       /* Should never reach here! */\r
-       return 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vErrorChecks( void *pvParameters )\r
-{\r
-TickType_t xDelayPeriod = mainNO_ERROR_FLASH_PERIOD;\r
-\r
-       /* Cycle for ever, delaying then checking all the other tasks are still\r
-       operating without error.  If an error is detected then the delay period\r
-       is decreased from mainNO_ERROR_FLASH_PERIOD to mainERROR_FLASH_PERIOD so\r
-       the on board LED flash rate will increase. */\r
-       for( ;; )\r
-       {\r
-               /* Delay until it is time to execute again. */\r
-               vTaskDelay( xDelayPeriod );\r
-       \r
-               /* Check all the standard demo application tasks are executing without \r
-               error.  */\r
-               if( prvCheckOtherTasksAreStillRunning() != pdPASS )\r
-               {\r
-                       /* An error has been detected in one of the tasks - flash faster. */\r
-                       xDelayPeriod = mainERROR_FLASH_PERIOD;\r
-               }\r
-\r
-               prvToggleOnBoardLED();\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvSetupHardware( void )\r
-{\r
-       #ifdef RUN_FROM_RAM\r
-               /* Remap the interrupt vectors to RAM if we are are running from RAM. */\r
-               SCB_MEMMAP = 2;\r
-       #endif\r
-\r
-       /* Setup the PLL to multiply the XTAL input by 4. */\r
-       SCB_PLLCFG = ( mainPLL_MUL_4 | mainPLL_DIV_1 );\r
-\r
-       /* Activate the PLL by turning it on then feeding the correct sequence of\r
-       bytes. */\r
-       SCB_PLLCON = mainPLL_ENABLE;\r
-       SCB_PLLFEED = mainPLL_FEED_BYTE1;\r
-       SCB_PLLFEED = mainPLL_FEED_BYTE2;\r
-\r
-       /* Wait for the PLL to lock... */\r
-       while( !( SCB_PLLSTAT & mainPLL_LOCK ) );\r
-\r
-       /* ...before connecting it using the feed sequence again. */\r
-       SCB_PLLCON = mainPLL_CONNECT;\r
-       SCB_PLLFEED = mainPLL_FEED_BYTE1;\r
-       SCB_PLLFEED = mainPLL_FEED_BYTE2;\r
-\r
-       /* Setup and turn on the MAM.  Three cycle access is used due to the fast\r
-       PLL used.  It is possible faster overall performance could be obtained by\r
-       tuning the MAM and PLL settings. */\r
-       MAM_TIM = mainMAM_TIM_3;\r
-       MAM_CR = mainMAM_MODE_FULL;\r
-\r
-       /* Setup the peripheral bus to be the same as the PLL output. */\r
-       SCB_VPBDIV = mainBUS_CLK_FULL;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvToggleOnBoardLED( void )\r
-{\r
-unsigned long ulState;\r
-\r
-       ulState = GPIO0_IOPIN;\r
-       if( ulState & mainYELLOW_LED )\r
-       {\r
-               GPIO_IOCLR = mainYELLOW_LED;\r
-       }\r
-       else\r
-       {\r
-               GPIO_IOSET = mainYELLOW_LED;\r
-       }       \r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static long prvCheckOtherTasksAreStillRunning( void )\r
-{\r
-long lReturn = ( long ) pdPASS;\r
-\r
-       /* Check all the demo tasks (other than the flash tasks) to ensure\r
-       that they are all still running, and that none of them have detected\r
-       an error. */\r
-\r
-       if( xArePollingQueuesStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       if( xAreSemaphoreTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = ( long ) pdFAIL;\r
-       }\r
-\r
-       return lReturn;\r
-}\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/rtosdemo.hzp b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/rtosdemo.hzp
deleted file mode 100644 (file)
index e5d235e..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE CrossStudio_Project_File>
-<solution version="1" Name="rtosdemo" >
-  <project Name="rtosdemo" >
-    <configuration arm_target_loader_parameter="14745600" Target="LPC2124" property_groups_file_path="$(StudioDir)/targets/Philips_LPC210X/propertyGroups.xml" oscillator_frequency="14.7456MHz" linker_memory_map_file="$(StudioDir)/targets/Philips_LPC210X/Philips_LPC2124_MemoryMap.xml" gcc_entry_point="_start" c_preprocessor_definitions="THUMB_INTERWORK;SUPERVISOR_START;VECTORED_IRQ_INTERRUPTS;GCC_ARM7" c_user_include_directories="../../Source/include;../../Demo/uIP_Demo_Rowley_ARM7;../../Demo/Common/Include;uip;." project_directory="" link_include_startup_code="No" project_type="Executable" c_additional_options="" Name="Common" />
-    <configuration target_reset_script="SRAMReset()" Name="RAM" />
-    <configuration arm_target_flash_loader_file_path="$(StudioDir)/targets/Philips_LPC210X/Release/Loader.exe" target_reset_script="FLASHReset()" Name="Flash" />
-    <folder Name="uIP Source" >
-      <configuration filter="c;cpp;cxx;cc;h;s;asm;inc" Name="Common" />
-      <file file_name="uip/cgi.c" Name="cgi.c" />
-      <file file_name="uip/cs8900a.c" Name="cs8900a.c" />
-      <file file_name="uip/fs.c" Name="fs.c" />
-      <file file_name="uip/httpd.c" Name="httpd.c" />
-      <file file_name="uip/uip.c" Name="uip.c" />
-      <file file_name="uip/uip_arch.c" Name="uip_arch.c" />
-      <file file_name="uip/uip_arp.c" Name="uip_arp.c" />
-      <file file_name="uip/uIP_Task.c" Name="uIP_Task.c" >
-        <configuration c_preprocessor_definitions="GCC_ARM7" Name="Common" />
-      </file>
-    </folder>
-    <folder Name="System Files" >
-      <configuration filter="" Name="Common" />
-      <file file_name="$(StudioDir)/source/crt0.s" Name="crt0.s" />
-      <file file_name="$(StudioDir)/targets/Philips_LPC210X/Philips_LPC210X_Target.js" Name="Philips_LPC210X_Target.js" >
-        <configuration Name="Common" file_type="Reset Script" />
-      </file>
-      <file file_name="flash_placement.xml" Name="flash_placement.xml" />
-      <file file_name="Philips_LPC210X_Startup.s" Name="Philips_LPC210X_Startup.s" />
-    </folder>
-    <folder Name="FreeRTOS Source" >
-      <configuration filter="" Name="Common" />
-      <file file_name="../../Source/tasks.c" Name="tasks.c" />
-      <file file_name="../../Source/queue.c" Name="queue.c" />
-      <file file_name="../../Source/list.c" Name="list.c" />
-      <file file_name="../../Source/portable/MemMang/heap_2.c" Name="heap_2.c" />
-      <file file_name="../../Source/portable/GCC/ARM7_LPC2000/port.c" Name="port.c" />
-      <file file_name="../../Source/portable/GCC/ARM7_LPC2000/portISR.c" Name="portISR.c" >
-        <configuration arm_instruction_set="ARM" Name="THUMB Flash Debug" />
-      </file>
-    </folder>
-    <folder Name="Demo App Source" >
-      <configuration filter="" Name="Common" />
-      <file file_name="../Common/Minimal/dynamic.c" Name="dynamic.c" />
-      <file file_name="../Common/Minimal/semtest.c" Name="semtest.c" />
-      <file file_name="main.c" Name="main.c" />
-      <file file_name="../Common/Minimal/PollQ.c" Name="PollQ.c" />
-    </folder>
-    <configuration c_preprocessor_definitions="" c_user_include_directories="" Name="Debug" />
-    <configuration arm_target_loader_parameter="14745600" oscillator_frequency="14.7456MHz" Name="THUMB Flash Debug" linker_output_format="hex" />
-  </project>
-  <configuration inherited_configurations="THUMB;Flash;Debug" Name="THUMB Flash Debug" />
-  <configuration arm_library_instruction_set="THUMB" c_preprocessor_definitions="__THUMB" arm_instruction_set="THUMB" hidden="Yes" Name="THUMB" />
-  <configuration c_preprocessor_definitions="__FLASH_BUILD" hidden="Yes" Name="Flash" />
-  <configuration c_preprocessor_definitions="DEBUG" link_include_startup_code="No" gcc_optimization_level="None" build_debug_information="Yes" Name="Debug" />
-  <configuration c_preprocessor_definitions="NDEBUG" link_include_startup_code="No" gcc_optimization_level="Level 1" build_debug_information="No" Name="Release" />
-  <configuration c_preprocessor_definitions="" c_additional_options="-fomit-frame-pointer" Name="Common" />
-</solution>
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/rtosdemo.hzs b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/rtosdemo.hzs
deleted file mode 100644 (file)
index 768dbc3..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE CrossStudio_for_ARM_Session_File>
-<session>
- <Bookmarks/>
- <Breakpoints/>
- <ExecutionCountWindow/>
- <Memory1>
-  <MemoryWindow autoEvaluate="0" addressText="" numColumns="8" sizeText="128" dataSize="1" radix="16" addressSpace="" />
- </Memory1>
- <Memory2>
-  <MemoryWindow autoEvaluate="0" addressText="0xE01FC040" numColumns="8" sizeText="4" dataSize="4" radix="16" addressSpace="" />
- </Memory2>
- <Memory3>
-  <MemoryWindow autoEvaluate="0" addressText="0xE01FC080" numColumns="8" sizeText="12" dataSize="4" radix="16" addressSpace="" />
- </Memory3>
- <Memory4>
-  <MemoryWindow autoEvaluate="0" addressText="" numColumns="8" sizeText="" dataSize="1" radix="16" addressSpace="" />
- </Memory4>
- <Project>
-  <ProjectSessionItem path="rtosdemo" name="unnamed" />
- </Project>
- <Register1>
-  <RegisterWindow openNodes="" binaryNodes="" unsignedNodes="" visibleGroups="CPU - Current Mode" decimalNodes="" octalNodes="" asciiNodes="" />
- </Register1>
- <Register2>
-  <RegisterWindow openNodes="" binaryNodes="" unsignedNodes="" visibleGroups="" decimalNodes="" octalNodes="" asciiNodes="" />
- </Register2>
- <Register3>
-  <RegisterWindow openNodes="" binaryNodes="" unsignedNodes="" visibleGroups="" decimalNodes="" octalNodes="" asciiNodes="" />
- </Register3>
- <Register4>
-  <RegisterWindow openNodes="" binaryNodes="" unsignedNodes="" visibleGroups="" decimalNodes="" octalNodes="" asciiNodes="" />
- </Register4>
- <TargetWindow programAction="" uploadFileType="" programLoadAddress="" programSize="" uploadFileName="" uploadMemoryInterface="" programFileName="" uploadStartAddress="" programFileType="" uploadSize="" programMemoryInterface="" />
- <TraceWindow>
-  <Trace enabled="Yes" />
- </TraceWindow>
- <Watch1>
-  <Watches active="1" update="Never" />
- </Watch1>
- <Watch2>
-  <Watches active="0" update="Never" />
- </Watch2>
- <Watch3>
-  <Watches active="0" update="Never" />
- </Watch3>
- <Watch4>
-  <Watches active="0" update="Never" />
- </Watch4>
- <Files/>
- <ARMCrossStudioWindow activeProject="rtosdemo" autoConnectTarget="/USB CrossConnect for ARM" debugSearchFileMap="" fileDialogInitialDirectory="C:\E\Dev\_FreeRTOS\Demo\uIP_Demo_Rowley_ARM7" fileDialogDefaultFilter="*" autoConnectCapabilities="0" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
-</session>
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/Makefile b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/Makefile
deleted file mode 100644 (file)
index 61d3a06..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright (c) 2001, Adam Dunkels.\r
-# All rights reserved. \r
-#\r
-# Redistribution and use in source and binary forms, with or without \r
-# modification, are permitted provided that the following conditions \r
-# are met: \r
-# 1. Redistributions of source code must retain the above copyright \r
-#    notice, this list of conditions and the following disclaimer. \r
-# 2. Redistributions in binary form must reproduce the above copyright \r
-#    notice, this list of conditions and the following disclaimer in the \r
-#    documentation and/or other materials provided with the distribution. \r
-# 3. All advertising materials mentioning features or use of this software\r
-#    must display the following acknowledgement:\r
-#      This product includes software developed by Adam Dunkels.\r
-# 4. The name of the author may not be used to endorse or promote\r
-#    products derived from this software without specific prior\r
-#    written permission.  \r
-#\r
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
-# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
-# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
-# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
-#\r
-# This file is part of the uIP TCP/IP stack.\r
-#\r
-# $Id: Makefile,v 1.8.2.2 2003/10/04 22:54:17 adam Exp $\r
-#\r
-\r
-CC=gcc\r
-CFLAGS=-Wall -g -I../uip -I. -I../apps/httpd -I../apps/resolv -I../apps/webclient -I../apps/smtp  -I../apps/telnet -fpack-struct\r
-\r
-%.o:\r
-       $(CC) $(CFLAGS) -c $(<:.o=.c)\r
-\r
-\r
-uip: uip.o uip_arch.o tapdev.o httpd.o main.o fs.o uip_arp.o cgi.o \r
-\r
-tapdev.o: tapdev.c uipopt.h\r
-main.o: main.c ../uip/uip.h uipopt.h ../apps/httpd/httpd.h \\r
- tapdev.h\r
-uip_arch.o: uip_arch.c ../uip/uip_arch.h ../uip/uip.h uipopt.h \\r
- ../apps/httpd/httpd.h \r
-uip.o: ../uip/uip.c ../uip/uip.h uipopt.h ../apps/httpd/httpd.h \r
-\r
-uip_arp.o: ../uip/uip_arp.c ../uip/uip_arp.h ../uip/uip.h uipopt.h \\r
- ../apps/httpd/httpd.h\r
-       $(CC) -o uip_arp.o $(CFLAGS) -fpack-struct -c ../uip/uip_arp.c\r
-\r
-\r
-cgi.o: ../apps/httpd/cgi.c ../uip/uip.h uipopt.h ../apps/smtp/smtp.h \\r
- ../apps/httpd/cgi.h ../apps/httpd/httpd.h ../apps/httpd/fs.h\r
-fs.o: ../apps/httpd/fs.c ../uip/uip.h uipopt.h ../apps/smtp/smtp.h \\r
- ../apps/httpd/httpd.h ../apps/httpd/fs.h ../apps/httpd/fsdata.h \\r
- ../apps/httpd/fsdata.c\r
-fsdata.o: ../apps/httpd/fsdata.c\r
-httpd.o: ../apps/httpd/httpd.c ../uip/uip.h uipopt.h \\r
- ../apps/smtp/smtp.h ../apps/httpd/httpd.h ../apps/httpd/fs.h \\r
- ../apps/httpd/fsdata.h ../apps/httpd/cgi.h\r
-\r
-clean:\r
-       rm -f *.o *~ *core uip\r
-\r
-\r
-\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cgi.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cgi.c
deleted file mode 100644 (file)
index 06574a1..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP server script language C functions file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- * This file contains functions that are called by the web server\r
- * scripts. The functions takes one argument, and the return value is\r
- * interpreted as follows. A zero means that the function did not\r
- * complete and should be invoked for the next packet as well. A\r
- * non-zero value indicates that the function has completed and that\r
- * the web server should move along to the next script line.\r
- *\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: cgi.c,v 1.23.2.4 2003/10/07 13:22:27 adam Exp $\r
- *\r
- */\r
-\r
-#include "uip.h"\r
-#include "cgi.h"\r
-#include "httpd.h"\r
-#include "fs.h"\r
-\r
-#include <stdio.h>\r
-#include <string.h>\r
-\r
-static u8_t print_stats(u8_t next);\r
-static u8_t file_stats(u8_t next);\r
-static u8_t tcp_stats(u8_t next);\r
-\r
-cgifunction cgitab[] = {\r
-  print_stats,   /* CGI function "a" */\r
-  file_stats,    /* CGI function "b" */\r
-  tcp_stats      /* CGI function "c" */\r
-};\r
-\r
-static const char closed[] =   /*  "CLOSED",*/\r
-{0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0};\r
-static const char syn_rcvd[] = /*  "SYN-RCVD",*/\r
-{0x53, 0x59, 0x4e, 0x2d, 0x52, 0x43, 0x56, \r
- 0x44,  0};\r
-static const char syn_sent[] = /*  "SYN-SENT",*/\r
-{0x53, 0x59, 0x4e, 0x2d, 0x53, 0x45, 0x4e, \r
- 0x54,  0};\r
-static const char established[] = /*  "ESTABLISHED",*/\r
-{0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48, \r
- 0x45, 0x44, 0};\r
-static const char fin_wait_1[] = /*  "FIN-WAIT-1",*/\r
-{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49, \r
- 0x54, 0x2d, 0x31, 0};\r
-static const char fin_wait_2[] = /*  "FIN-WAIT-2",*/\r
-{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49, \r
- 0x54, 0x2d, 0x32, 0};\r
-static const char closing[] = /*  "CLOSING",*/\r
-{0x43, 0x4c, 0x4f, 0x53, 0x49, \r
- 0x4e, 0x47, 0};\r
-static const char time_wait[] = /*  "TIME-WAIT,"*/\r
-{0x54, 0x49, 0x4d, 0x45, 0x2d, 0x57, 0x41, \r
- 0x49, 0x54, 0};\r
-static const char last_ack[] = /*  "LAST-ACK"*/\r
-{0x4c, 0x41, 0x53, 0x54, 0x2d, 0x41, 0x43, \r
- 0x4b, 0};\r
-\r
-static const char *states[] = {\r
-  closed,\r
-  syn_rcvd,\r
-  syn_sent,\r
-  established,\r
-  fin_wait_1,\r
-  fin_wait_2,\r
-  closing,\r
-  time_wait,\r
-  last_ack};\r
-  \r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* print_stats:\r
- *\r
- * Prints out a part of the uIP statistics. The statistics data is\r
- * written into the uip_appdata buffer. It overwrites any incoming\r
- * packet.\r
- */\r
-static u8_t\r
-print_stats(u8_t next)\r
-{\r
-#if UIP_STATISTICS\r
-  u16_t i, j;\r
-  u8_t *buf;\r
-  u16_t *databytes;\r
-  \r
-  if(next) {\r
-    /* If our last data has been acknowledged, we move on the next\r
-       chunk of statistics. */\r
-    hs->count = hs->count + 4;\r
-    if(hs->count >= sizeof(struct uip_stats)/sizeof(u16_t)) {\r
-      /* We have printed out all statistics, so we return 1 to\r
-        indicate that we are done. */\r
-      return 1;\r
-    }\r
-  }\r
-\r
-  /* Write part of the statistics into the uip_appdata buffer. */\r
-  databytes = (u16_t *)&uip_stat + hs->count;\r
-  buf       = (u8_t *)uip_appdata;\r
-\r
-  j = 4 + 1;\r
-  i = hs->count;\r
-  while (i < sizeof(struct uip_stats)/sizeof(u16_t) && --j > 0) {\r
-    sprintf((char *)buf, "%5u\r\n", *databytes);\r
-    ++databytes;\r
-    buf += 6;\r
-    ++i;\r
-  }\r
-\r
-  /* Send the data. */\r
-  uip_send(uip_appdata, buf - uip_appdata);\r
-  \r
-  return 0;\r
-#else\r
-  return 1;\r
-#endif /* UIP_STATISTICS */\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static u8_t\r
-file_stats(u8_t next)\r
-{\r
-  /* We use sprintf() to print the number of file accesses to a\r
-     particular file (given as an argument to the function in the\r
-     script). We then use uip_send() to actually send the data. */\r
-  if(next) {\r
-    return 1;\r
-  }\r
-  uip_send(uip_appdata, sprintf((char *)uip_appdata, "%5u", fs_count(&hs->script[4])));  \r
-  return 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static u8_t\r
-tcp_stats(u8_t next)\r
-{\r
-  struct uip_conn *conn;  \r
-\r
-  if(next) {\r
-    /* If the previously sent data has been acknowledged, we move\r
-       forward one connection. */\r
-    if(++hs->count == UIP_CONNS) {\r
-      /* If all connections has been printed out, we are done and\r
-        return 1. */\r
-      return 1;\r
-    }\r
-  }\r
-  \r
-  conn = &uip_conns[hs->count];\r
-  if((conn->tcpstateflags & TS_MASK) == CLOSED) {\r
-    uip_send(uip_appdata, sprintf((char *)uip_appdata,\r
-                                 "<tr align=\"center\"><td>-</td><td>-</td><td>%u</td><td>%u</td><td>%c %c</td></tr>\r\n",\r
-                                 conn->nrtx,\r
-                                 conn->timer,\r
-                                 (uip_outstanding(conn))? '*':' ',\r
-                                 (uip_stopped(conn))? '!':' '));\r
-  } else {\r
-    uip_send(uip_appdata, sprintf((char *)uip_appdata,\r
-                                 "<tr align=\"center\"><td>%u.%u.%u.%u:%u</td><td>%s</td><td>%u</td><td>%u</td><td>%c %c</td></tr>\r\n",\r
-                                 htons(conn->ripaddr[0]) >> 8,\r
-                                 htons(conn->ripaddr[0]) & 0xff,\r
-                                 htons(conn->ripaddr[1]) >> 8,\r
-                                 htons(conn->ripaddr[1]) & 0xff,\r
-                                 htons(conn->rport),\r
-                                 states[conn->tcpstateflags & TS_MASK],\r
-                                 conn->nrtx,\r
-                                 conn->timer,\r
-                                 (uip_outstanding(conn))? '*':' ',\r
-                                 (uip_stopped(conn))? '!':' '));\r
-  }\r
-  return 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cgi.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cgi.h
deleted file mode 100644 (file)
index d85389b..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP script language header file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: cgi.h,v 1.3.2.4 2003/10/07 13:22:27 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __CGI_H__\r
-#define __CGI_H__\r
-\r
-typedef u8_t (* cgifunction)(u8_t next);\r
-\r
-/**\r
- * A table containing pointers to C functions that can be called from\r
- * a web server script.\r
- */\r
-extern cgifunction cgitab[];\r
-\r
-#endif /* __CGI_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/crt0.asm b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/crt0.asm
deleted file mode 100644 (file)
index ef91f42..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-// Rowley C Compiler, runtime support.\r
-//\r
-// Copyright (c) 2001, 2002, 2003 Rowley Associates Limited.\r
-//\r
-// This file may be distributed under the terms of the License Agreement\r
-// provided with this software.\r
-//\r
-// THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE\r
-// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\r
-\r
-; Create sections\r
-        .data\r
-        .bss\r
-\r
-; Go to code section.\r
-        .code\r
-\r
-; Executed upon reset\r
-__reset proc\r
-\r
-; Turn off watchdog.  You can enable it in main() if required.\r
-        mov.w   #0x5a80, &0x120\r
-\r
-; Set up stack.\r
-        mov.w   #RAM_Start_Address+RAM_Size, sp\r
-\r
-; Copy from initialised data section to data section.\r
-        mov.w   #SFB(IDATA0), r15\r
-        mov.w   #data_init_begin, r14\r
-        mov.w   #data_init_end-data_init_begin, r13\r
-        call    #_memcpy\r
-\r
-; Zero the bss.  Ensure the stack is not allocated in the bss!\r
-        mov.w   #SFB(UDATA0), r15\r
-        mov.w   #0, r14\r
-        mov.w   #SFE(UDATA0)-SFB(UDATA0), r13\r
-        call    #_memset\r
-\r
-; Call user entry point void main(void).\r
-        call    #_main\r
-\r
-; If main() returns, kick off again.\r
-        jmp     __reset\r
-        endproc\r
-\r
-; Heap data structures; removed by the linker if the heap isn't used.\r
-        .break   \r
-        .data\r
-        align   WORD\r
-___heap_start__::\r
-        DW      0\r
-        DW      heap_size\r
-        DS      heap_size-4    \r
-\r
-; Reset vector\r
-        .vectors\r
-        .keep\r
-        org     0x1e\r
-        dw      __reset\r
-\r
-; Initialise the IDATA0 section by duplicating the contents into the\r
-; CONST section and copying them on startup.\r
-        .const\r
-data_init_begin:\r
-        .init  "IDATA0"\r
-data_init_end:\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cs8900a.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cs8900a.c
deleted file mode 100644 (file)
index 6d06fd6..0000000
+++ /dev/null
@@ -1,546 +0,0 @@
-// cs8900a.c: device driver for the CS8900a chip in 8-bit mode.\r
-\r
-#include <LPC210x.h>\r
-\r
-#include "cs8900a.h"\r
-#include "uip.h"\r
-#include "uip_arp.h"\r
-\r
-#define IOR                  (1<<12)          // CS8900's ISA-bus interface pins\r
-#define IOW                  (1<<13)\r
-\r
-// definitions for Crystal CS8900 ethernet-controller\r
-// based on linux-header by Russel Nelson\r
-\r
-#define PP_ChipID            0x0000          // offset 0h -> Corp-ID\r
-\r
-                                                                                        // offset 2h -> Model/Product Number\r
-#define LED_RED (1<<8)\r
-#define LED_GREEN (1<<10)\r
-#define LED_YELLOW (1<<11)\r
-\r
-#define PP_ISAIOB            0x0020          // IO base address\r
-#define PP_CS8900_ISAINT     0x0022          // ISA interrupt select\r
-#define PP_CS8900_ISADMA     0x0024          // ISA Rec DMA channel\r
-#define PP_ISASOF            0x0026          // ISA DMA offset\r
-#define PP_DmaFrameCnt       0x0028          // ISA DMA Frame count\r
-#define PP_DmaByteCnt        0x002A          // ISA DMA Byte count\r
-#define PP_CS8900_ISAMemB    0x002C          // Memory base\r
-#define PP_ISABootBase       0x0030          // Boot Prom base\r
-#define PP_ISABootMask       0x0034          // Boot Prom Mask\r
-\r
-// EEPROM data and command registers\r
-#define PP_EECMD             0x0040          // NVR Interface Command register\r
-#define PP_EEData            0x0042          // NVR Interface Data Register\r
-\r
-// Configuration and control registers\r
-#define PP_RxCFG             0x0102          // Rx Bus config\r
-#define PP_RxCTL             0x0104          // Receive Control Register\r
-#define PP_TxCFG             0x0106          // Transmit Config Register\r
-#define PP_TxCMD             0x0108          // Transmit Command Register\r
-#define PP_BufCFG            0x010A          // Bus configuration Register\r
-#define PP_LineCTL           0x0112          // Line Config Register\r
-#define PP_SelfCTL           0x0114          // Self Command Register\r
-#define PP_BusCTL            0x0116          // ISA bus control Register\r
-#define PP_TestCTL           0x0118          // Test Register\r
-\r
-// Status and Event Registers\r
-#define PP_ISQ               0x0120          // Interrupt Status\r
-#define PP_RxEvent           0x0124          // Rx Event Register\r
-#define PP_TxEvent           0x0128          // Tx Event Register\r
-#define PP_BufEvent          0x012C          // Bus Event Register\r
-#define PP_RxMiss            0x0130          // Receive Miss Count\r
-#define PP_TxCol             0x0132          // Transmit Collision Count\r
-#define PP_LineST            0x0134          // Line State Register\r
-#define PP_SelfST            0x0136          // Self State register\r
-#define PP_BusST             0x0138          // Bus Status\r
-#define PP_TDR               0x013C          // Time Domain Reflectometry\r
-\r
-// Initiate Transmit Registers\r
-#define PP_TxCommand         0x0144          // Tx Command\r
-#define PP_TxLength          0x0146          // Tx Length\r
-\r
-// Adress Filter Registers\r
-#define PP_LAF               0x0150          // Hash Table\r
-#define PP_IA                0x0158          // Physical Address Register\r
-\r
-// Frame Location\r
-#define PP_RxStatus          0x0400          // Receive start of frame\r
-#define PP_RxLength          0x0402          // Receive Length of frame\r
-#define PP_RxFrame           0x0404          // Receive frame pointer\r
-#define PP_TxFrame           0x0A00          // Transmit frame pointer\r
-\r
-// Primary I/O Base Address. If no I/O base is supplied by the user, then this\r
-// can be used as the default I/O base to access the PacketPage Area.\r
-#define DEFAULTIOBASE        0x0300\r
-\r
-// PP_RxCFG - Receive  Configuration and Interrupt Mask bit definition - Read/write\r
-#define SKIP_1               0x0040\r
-#define RX_STREAM_ENBL       0x0080\r
-#define RX_OK_ENBL           0x0100\r
-#define RX_DMA_ONLY          0x0200\r
-#define AUTO_RX_DMA          0x0400\r
-#define BUFFER_CRC           0x0800\r
-#define RX_CRC_ERROR_ENBL    0x1000\r
-#define RX_RUNT_ENBL         0x2000\r
-#define RX_EXTRA_DATA_ENBL   0x4000\r
-\r
-// PP_RxCTL - Receive Control bit definition - Read/write\r
-#define RX_IA_HASH_ACCEPT    0x0040\r
-#define RX_PROM_ACCEPT       0x0080\r
-#define RX_OK_ACCEPT         0x0100\r
-#define RX_MULTCAST_ACCEPT   0x0200\r
-#define RX_IA_ACCEPT         0x0400\r
-#define RX_BROADCAST_ACCEPT  0x0800\r
-#define RX_BAD_CRC_ACCEPT    0x1000\r
-#define RX_RUNT_ACCEPT       0x2000\r
-#define RX_EXTRA_DATA_ACCEPT 0x4000\r
-\r
-// PP_TxCFG - Transmit Configuration Interrupt Mask bit definition - Read/write\r
-#define TX_LOST_CRS_ENBL     0x0040\r
-#define TX_SQE_ERROR_ENBL    0x0080\r
-#define TX_OK_ENBL           0x0100\r
-#define TX_LATE_COL_ENBL     0x0200\r
-#define TX_JBR_ENBL          0x0400\r
-#define TX_ANY_COL_ENBL      0x0800\r
-#define TX_16_COL_ENBL       0x8000\r
-\r
-// PP_TxCMD - Transmit Command bit definition - Read-only and\r
-// PP_TxCommand - Write-only\r
-#define TX_START_5_BYTES     0x0000\r
-#define TX_START_381_BYTES   0x0040\r
-#define TX_START_1021_BYTES  0x0080\r
-#define TX_START_ALL_BYTES   0x00C0\r
-#define TX_FORCE             0x0100\r
-#define TX_ONE_COL           0x0200\r
-#define TX_NO_CRC            0x1000\r
-#define TX_RUNT              0x2000\r
-\r
-// PP_BufCFG - Buffer Configuration Interrupt Mask bit definition - Read/write\r
-#define GENERATE_SW_INTERRUPT      0x0040\r
-#define RX_DMA_ENBL                0x0080\r
-#define READY_FOR_TX_ENBL          0x0100\r
-#define TX_UNDERRUN_ENBL           0x0200\r
-#define RX_MISS_ENBL               0x0400\r
-#define RX_128_BYTE_ENBL           0x0800\r
-#define TX_COL_COUNT_OVRFLOW_ENBL  0x1000\r
-#define RX_MISS_COUNT_OVRFLOW_ENBL 0x2000\r
-#define RX_DEST_MATCH_ENBL         0x8000\r
-\r
-// PP_LineCTL - Line Control bit definition - Read/write\r
-#define SERIAL_RX_ON         0x0040\r
-#define SERIAL_TX_ON         0x0080\r
-#define AUI_ONLY             0x0100\r
-#define AUTO_AUI_10BASET     0x0200\r
-#define MODIFIED_BACKOFF     0x0800\r
-#define NO_AUTO_POLARITY     0x1000\r
-#define TWO_PART_DEFDIS      0x2000\r
-#define LOW_RX_SQUELCH       0x4000\r
-\r
-// PP_SelfCTL - Software Self Control bit definition - Read/write\r
-#define POWER_ON_RESET       0x0040\r
-#define SW_STOP              0x0100\r
-#define SLEEP_ON             0x0200\r
-#define AUTO_WAKEUP          0x0400\r
-#define HCB0_ENBL            0x1000\r
-#define HCB1_ENBL            0x2000\r
-#define HCB0                 0x4000\r
-#define HCB1                 0x8000\r
-\r
-// PP_BusCTL - ISA Bus Control bit definition - Read/write\r
-#define RESET_RX_DMA         0x0040\r
-#define MEMORY_ON            0x0400\r
-#define DMA_BURST_MODE       0x0800\r
-#define IO_CHANNEL_READY_ON  0x1000\r
-#define RX_DMA_SIZE_64K      0x2000\r
-#define ENABLE_IRQ           0x8000\r
-\r
-// PP_TestCTL - Test Control bit definition - Read/write\r
-#define LINK_OFF             0x0080\r
-#define ENDEC_LOOPBACK       0x0200\r
-#define AUI_LOOPBACK         0x0400\r
-#define BACKOFF_OFF          0x0800\r
-#define FDX_8900             0x4000\r
-\r
-// PP_RxEvent - Receive Event Bit definition - Read-only\r
-#define RX_IA_HASHED         0x0040\r
-#define RX_DRIBBLE           0x0080\r
-#define RX_OK                0x0100\r
-#define RX_HASHED            0x0200\r
-#define RX_IA                0x0400\r
-#define RX_BROADCAST         0x0800\r
-#define RX_CRC_ERROR         0x1000\r
-#define RX_RUNT              0x2000\r
-#define RX_EXTRA_DATA        0x4000\r
-#define HASH_INDEX_MASK      0xFC00          // Hash-Table Index Mask (6 Bit)\r
-\r
-// PP_TxEvent - Transmit Event Bit definition - Read-only\r
-#define TX_LOST_CRS          0x0040\r
-#define TX_SQE_ERROR         0x0080\r
-#define TX_OK                0x0100\r
-#define TX_LATE_COL          0x0200\r
-#define TX_JBR               0x0400\r
-#define TX_16_COL            0x8000\r
-#define TX_COL_COUNT_MASK    0x7800\r
-\r
-// PP_BufEvent - Buffer Event Bit definition - Read-only\r
-#define SW_INTERRUPT         0x0040\r
-#define RX_DMA               0x0080\r
-#define READY_FOR_TX         0x0100\r
-#define TX_UNDERRUN          0x0200\r
-#define RX_MISS              0x0400\r
-#define RX_128_BYTE          0x0800\r
-#define TX_COL_OVRFLW        0x1000\r
-#define RX_MISS_OVRFLW       0x2000\r
-#define RX_DEST_MATCH        0x8000\r
-\r
-// PP_LineST - Ethernet Line Status bit definition - Read-only\r
-#define LINK_OK              0x0080\r
-#define AUI_ON               0x0100\r
-#define TENBASET_ON          0x0200\r
-#define POLARITY_OK          0x1000\r
-#define CRS_OK               0x4000\r
-\r
-// PP_SelfST - Chip Software Status bit definition\r
-#define ACTIVE_33V           0x0040\r
-#define INIT_DONE            0x0080\r
-#define SI_BUSY              0x0100\r
-#define EEPROM_PRESENT       0x0200\r
-#define EEPROM_OK            0x0400\r
-#define EL_PRESENT           0x0800\r
-#define EE_SIZE_64           0x1000\r
-\r
-// PP_BusST - ISA Bus Status bit definition\r
-#define TX_BID_ERROR         0x0080\r
-#define READY_FOR_TX_NOW     0x0100\r
-\r
-// The following block defines the ISQ event types\r
-#define ISQ_RX_EVENT         0x0004\r
-#define ISQ_TX_EVENT         0x0008\r
-#define ISQ_BUFFER_EVENT     0x000C\r
-#define ISQ_RX_MISS_EVENT    0x0010\r
-#define ISQ_TX_COL_EVENT     0x0012\r
-\r
-#define ISQ_EVENT_MASK       0x003F          // ISQ mask to find out type of event\r
-\r
-// Ports for I/O-Mode\r
-#define RX_FRAME_PORT        0x0000\r
-#define TX_FRAME_PORT        0x0000\r
-#define TX_CMD_PORT          0x0004\r
-#define TX_LEN_PORT          0x0006\r
-#define ISQ_PORT             0x0008\r
-#define ADD_PORT             0x000A\r
-#define DATA_PORT            0x000C\r
-\r
-#define AUTOINCREMENT        0x8000          // Bit mask to set Bit-15 for autoincrement\r
-\r
-// EEProm Commands\r
-#define EEPROM_WRITE_EN      0x00F0\r
-#define EEPROM_WRITE_DIS     0x0000\r
-#define EEPROM_WRITE_CMD     0x0100\r
-#define EEPROM_READ_CMD      0x0200\r
-\r
-// Receive Header of each packet in receive area of memory for DMA-Mode\r
-#define RBUF_EVENT_LOW       0x0000          // Low byte of RxEvent\r
-#define RBUF_EVENT_HIGH      0x0001          // High byte of RxEvent\r
-#define RBUF_LEN_LOW         0x0002          // Length of received data - low byte\r
-#define RBUF_LEN_HI          0x0003          // Length of received data - high byte\r
-#define RBUF_HEAD_LEN        0x0004          // Length of this header\r
-\r
-// typedefs\r
-typedef struct {                             // struct to store CS8900's\r
-  unsigned int Addr;                         // init-sequence\r
-  unsigned int Data;\r
-} TInitSeq;\r
-\r
-unsigned short ticks;\r
-\r
-static void skip_frame(void);\r
-\r
-const TInitSeq InitSeq[] =\r
-{\r
-  PP_IA,       UIP_ETHADDR0 + (UIP_ETHADDR1 << 8),     // set our MAC as Individual Address\r
-  PP_IA + 2,   UIP_ETHADDR2 + (UIP_ETHADDR3 << 8),\r
-  PP_IA + 4,   UIP_ETHADDR4 + (UIP_ETHADDR5 << 8),\r
-  PP_LineCTL,  SERIAL_RX_ON | SERIAL_TX_ON,           // configure the Physical Interface\r
-  PP_RxCTL,    RX_OK_ACCEPT | RX_IA_ACCEPT | RX_BROADCAST_ACCEPT\r
-};\r
-\r
-// Writes a word in little-endian byte order to a specified port-address\r
-void\r
-cs8900a_write(unsigned addr, unsigned int data)\r
-{\r
-  GPIO_IODIR |= 0xff << 16;                           // Data port to output\r
-\r
-  GPIO_IOCLR = 0xf << 4;                              // Put address on bus\r
-  GPIO_IOSET = addr << 4;\r
-\r
-  GPIO_IOCLR = 0xff << 16;                            // Write low order byte to data bus\r
-  GPIO_IOSET = data << 16;\r
-\r
-  __asm volatile ( "NOP" );\r
-  GPIO_IOCLR = IOW;                                   // Toggle IOW-signal\r
-  __asm volatile ( "NOP" );\r
-  GPIO_IOSET = IOW;\r
-  __asm volatile ( "NOP" );\r
-\r
-  GPIO_IOCLR = 0xf << 4;\r
-  GPIO_IOSET = ((addr | 1) << 4);                     // And put next address on bus\r
-\r
-  GPIO_IOCLR = 0xff << 16;                            // Write high order byte to data bus\r
-  GPIO_IOSET = data >> 8 << 16;\r
-\r
-  __asm volatile ( "NOP" );\r
-  GPIO_IOCLR = IOW;                                   // Toggle IOW-signal\r
-  __asm volatile ( "NOP" );\r
-  GPIO_IOSET = IOW;\r
-  __asm volatile ( "NOP" );\r
-}\r
-\r
-// Reads a word in little-endian byte order from a specified port-address\r
-unsigned\r
-cs8900a_read(unsigned addr)\r
-{\r
-  unsigned int value;\r
-\r
-  GPIO_IODIR &= ~(0xff << 16);                        // Data port to input\r
-\r
-  GPIO_IOCLR = 0xf << 4;                              // Put address on bus\r
-  GPIO_IOSET = addr << 4;\r
-\r
-  __asm volatile ( "NOP" );\r
-  GPIO_IOCLR = IOR;                                   // IOR-signal low\r
-  __asm volatile ( "NOP" );\r
-  value = (GPIO_IOPIN >> 16) & 0xff;                  // get low order byte from data bus\r
-  GPIO_IOSET = IOR;\r
-\r
-  GPIO_IOSET = 1 << 4;                                // IOR high and put next address on bus\r
-\r
-  __asm volatile ( "NOP" );\r
-  GPIO_IOCLR = IOR;                                   // IOR-signal low\r
-  __asm volatile ( "NOP" );\r
-  value |= ((GPIO_IOPIN >> 8) & 0xff00);              // get high order byte from data bus\r
-  GPIO_IOSET = IOR;                                   // IOR-signal low\r
-\r
-  return value;\r
-}\r
-\r
-// Reads a word in little-endian byte order from a specified port-address\r
-unsigned\r
-cs8900a_read_addr_high_first(unsigned addr)\r
-{\r
-  unsigned int value;\r
-\r
-  GPIO_IODIR &= ~(0xff << 16);                        // Data port to input\r
-\r
-  GPIO_IOCLR = 0xf << 4;                              // Put address on bus\r
-  GPIO_IOSET = (addr+1) << 4;\r
-\r
-  __asm volatile ( "NOP" );\r
-  GPIO_IOCLR = IOR;                                   // IOR-signal low\r
-  __asm volatile ( "NOP" );\r
-  value = ((GPIO_IOPIN >> 8) & 0xff00);               // get high order byte from data bus\r
-  GPIO_IOSET = IOR;                                   // IOR-signal high\r
-\r
-  GPIO_IOCLR = 1 << 4;                                // Put low address on bus\r
-\r
-  __asm volatile ( "NOP" );\r
-  GPIO_IOCLR = IOR;                                   // IOR-signal low\r
-  __asm volatile ( "NOP" );\r
-  value |= (GPIO_IOPIN >> 16) & 0xff;                 // get low order byte from data bus\r
-  GPIO_IOSET = IOR;\r
-\r
-  return value;\r
-}\r
-\r
-void\r
-cs8900a_init(void)\r
-{\r
-  int i;\r
-\r
-  // Reset outputs, control lines high\r
-  GPIO_IOSET = IOR | IOW;\r
-\r
-  // No LEDs on.\r
-  GPIO_IOSET = LED_RED | LED_YELLOW | LED_GREEN;\r
-\r
-  // Port 3 as output (all pins but RS232)\r
-  GPIO_IODIR = ~0U; // everything to output.\r
-\r
-  // Reset outputs\r
-  GPIO_IOCLR = 0xff << 16;  // clear data outputs\r
-\r
-  // Reset the CS8900A\r
-  cs8900a_write(ADD_PORT, PP_SelfCTL);\r
-  cs8900a_write(DATA_PORT, POWER_ON_RESET);\r
-\r
-  // Wait until chip-reset is done\r
-  cs8900a_write(ADD_PORT, PP_SelfST);\r
-  while ((cs8900a_read(DATA_PORT) & INIT_DONE) == 0)\r
-    ;\r
-\r
-  // Configure the CS8900A\r
-  for (i = 0; i < sizeof InitSeq / sizeof (TInitSeq); ++i)\r
-    {\r
-      cs8900a_write(ADD_PORT, InitSeq[i].Addr);\r
-      cs8900a_write(DATA_PORT, InitSeq[i].Data);\r
-    }\r
-}\r
-\r
-void\r
-cs8900a_send(void)\r
-{\r
-  unsigned u;\r
-\r
-  GPIO_IOCLR = LED_RED;  // Light RED LED when frame starting\r
-\r
-  // Transmit command\r
-  cs8900a_write(TX_CMD_PORT, TX_START_ALL_BYTES);\r
-  cs8900a_write(TX_LEN_PORT, uip_len);\r
-\r
-  // Maximum number of retries\r
-  u = 8;\r
-  for (;;)\r
-    {\r
-      // Check for avaliable buffer space\r
-      cs8900a_write(ADD_PORT, PP_BusST);\r
-      if (cs8900a_read(DATA_PORT) & READY_FOR_TX_NOW)\r
-        break;\r
-      if (u -- == 0)\r
-        {\r
-          GPIO_IOSET = LED_RED;  // Extinguish RED LED on end of frame\r
-          return;\r
-        }\r
-\r
-      // No space avaliable, skip a received frame and try again\r
-      skip_frame();\r
-    }\r
-\r
-  GPIO_IODIR |= 0xff << 16;                           // Data port to output\r
-\r
-  // Send 40+14=54 bytes of header\r
-  for (u = 0; u < 54; u += 2)\r
-    {\r
-      GPIO_IOCLR = 0xf << 4;                              // Put address on bus\r
-      GPIO_IOSET = TX_FRAME_PORT << 4;\r
-\r
-      GPIO_IOCLR = 0xff << 16;                            // Write low order byte to data bus\r
-      GPIO_IOSET = uip_buf[u] << 16;                      // write low order byte to data bus\r
-\r
-      __asm volatile ( "NOP" );\r
-      GPIO_IOCLR = IOW;                                   // Toggle IOW-signal\r
-      __asm volatile ( "NOP" );\r
-      GPIO_IOSET = IOW;\r
-\r
-      GPIO_IOCLR = 0xf << 4;                              // Put address on bus\r
-      GPIO_IOSET = (TX_FRAME_PORT | 1) << 4;              // and put next address on bus\r
-\r
-      GPIO_IOCLR = 0xff << 16;                            // Write low order byte to data bus\r
-      GPIO_IOSET = uip_buf[u+1] << 16;                    // write low order byte to data bus\r
-\r
-      __asm volatile ( "NOP" );\r
-         GPIO_IOCLR = IOW;                                   // Toggle IOW-signal\r
-      __asm volatile ( "NOP" );\r
-      GPIO_IOSET = IOW;\r
-    }\r
-\r
-  if (uip_len <= 54)\r
-    {\r
-      GPIO_IOSET = LED_RED;  // Extinguish RED LED on end of frame\r
-      return;\r
-    }\r
-\r
-  // Send remainder of packet, the application data\r
-  uip_len -= 54;\r
-  for (u = 0; u < uip_len; u += 2)\r
-    {\r
-\r
-      GPIO_IOCLR = 0xf << 4;                          // Put address on bus\r
-      GPIO_IOSET = TX_FRAME_PORT << 4;\r
-\r
-      GPIO_IOCLR = 0xff << 16;                        // Write low order byte to data bus\r
-      GPIO_IOSET = uip_appdata[u] << 16;              // write low order byte to data bus\r
-\r
-      __asm volatile ( "NOP" );\r
-         GPIO_IOCLR = IOW;                               // Toggle IOW-signal\r
-      __asm volatile ( "NOP" );\r
-      GPIO_IOSET = IOW;\r
-\r
-      GPIO_IOCLR = 0xf << 4;                          // Put address on bus\r
-      GPIO_IOSET = (TX_FRAME_PORT | 1) << 4;          // and put next address on bus\r
-\r
-      GPIO_IOCLR = 0xff << 16;                        // Write low order byte to data bus\r
-      GPIO_IOSET = uip_appdata[u+1] << 16;            // write low order byte to data bus\r
-\r
-      __asm volatile ( "NOP" );\r
-         GPIO_IOCLR = IOW;                               // Toggle IOW-signal\r
-      __asm volatile ( "NOP" );\r
-      GPIO_IOSET = IOW;\r
-    }\r
-\r
-  GPIO_IOSET = LED_RED;  // Extinguish RED LED on end of frame\r
-}\r
-\r
-static void\r
-skip_frame(void)\r
-{\r
-  // No space avaliable, skip a received frame and try again\r
-  cs8900a_write(ADD_PORT, PP_RxCFG);\r
-  cs8900a_write(DATA_PORT, cs8900a_read(DATA_PORT) | SKIP_1);\r
-}\r
-\r
-u8_t\r
-cs8900a_poll(void)\r
-{\r
-  u16_t len, u;\r
-\r
-  // Check receiver event register to see if there are any valid frames avaliable\r
-  cs8900a_write(ADD_PORT, PP_RxEvent);\r
-  if ((cs8900a_read(DATA_PORT) & 0xd00) == 0)\r
-    return 0;\r
-\r
-  GPIO_IOCLR = LED_GREEN;  // Light GREED LED when frame coming in.\r
-\r
-  // Read receiver status and discard it.\r
-  cs8900a_read_addr_high_first(RX_FRAME_PORT);\r
-\r
-  // Read frame length\r
-  len = cs8900a_read_addr_high_first(RX_FRAME_PORT);\r
-\r
-  // If the frame is too big to handle, throw it away\r
-  if (len > UIP_BUFSIZE)\r
-    {\r
-      skip_frame();\r
-      return 0;\r
-    }\r
-\r
-  // Data port to input\r
-  GPIO_IODIR &= ~(0xff << 16);\r
-\r
-  GPIO_IOCLR = 0xf << 4;                          // put address on bus\r
-  GPIO_IOSET = RX_FRAME_PORT << 4;\r
-\r
-  // Read bytes into uip_buf\r
-  u = 0;\r
-  while (u < len)\r
-    {\r
-      GPIO_IOCLR = 1 << 4;                            // put address on bus\r
-\r
-      GPIO_IOCLR = IOR;                               // IOR-signal low\r
-      uip_buf[u] = GPIO_IOPIN >> 16;                // get high order byte from data bus\r
-      __asm volatile ( "NOP" );\r
-      GPIO_IOSET = IOR;                               // IOR-signal high\r
-\r
-      GPIO_IOSET = 1 << 4;                            // put address on bus\r
-\r
-      GPIO_IOCLR = IOR;                               // IOR-signal low\r
-      __asm volatile ( "NOP" );\r
-      uip_buf[u+1] = GPIO_IOPIN >> 16;                  // get high order byte from data bus\r
-      GPIO_IOSET = IOR;                               // IOR-signal high\r
-      u += 2;\r
-    }\r
-\r
-  GPIO_IOSET = LED_GREEN;  // Extinguish GREED LED when frame finished.\r
-  return len;\r
-}\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cs8900a.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/cs8900a.h
deleted file mode 100644 (file)
index 2d4b56f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef __CS8900A_H__\r
-#define __CS8900A_H__\r
-\r
-#include "uip_arch.h"\r
-\r
-void cs8900a_init(void);\r
-void cs8900a_send(void);\r
-u8_t cs8900a_poll(void);\r
-\r
-#endif /* __CS8900A_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs.c
deleted file mode 100644 (file)
index 7e15200..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP server read-only file system code.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- * A simple read-only filesystem. \r
- */\r
\r
-/*\r
- * Copyright (c) 2001, Swedish Institute of Computer Science.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. Neither the name of the Institute nor the names of its contributors \r
- *    may be used to endorse or promote products derived from this software \r
- *    without specific prior written permission. \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND \r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE \r
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \r
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \r
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \r
- * SUCH DAMAGE. \r
- *\r
- * This file is part of the lwIP TCP/IP stack.\r
- * \r
- * Author: Adam Dunkels <adam@sics.se>\r
- *\r
- * $Id: fs.c,v 1.7.2.3 2003/10/07 13:22:27 adam Exp $\r
- */\r
-\r
-#include "uip.h"\r
-#include "httpd.h"\r
-#include "fs.h"\r
-#include "fsdata.h"\r
-\r
-#define NULL (void *)0\r
-#include "fsdata.c"\r
-\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-static u16_t count[FS_NUMFILES];\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-static u8_t\r
-fs_strcmp(const char *str1, const char *str2)\r
-{\r
-  u8_t i;\r
-  i = 0;\r
- loop:\r
-\r
-  if(str2[i] == 0 ||\r
-     str1[i] == '\r' || \r
-     str1[i] == '\n') {\r
-    return 0;\r
-  }\r
-\r
-  if(str1[i] != str2[i]) {\r
-    return 1;\r
-  }\r
-\r
-\r
-  ++i;\r
-  goto loop;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-int\r
-fs_open(const char *name, struct fs_file *file)\r
-{\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-  u16_t i = 0;\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-  struct fsdata_file_noconst *f;\r
-\r
-  for(f = (struct fsdata_file_noconst *)FS_ROOT;\r
-      f != NULL;\r
-      f = (struct fsdata_file_noconst *)f->next) {\r
-\r
-    if(fs_strcmp(name, f->name) == 0) {\r
-      file->data = f->data;\r
-      file->len = f->len;\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-      ++count[i];\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-      return 1;\r
-    }\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-    ++i;\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-\r
-  }\r
-  return 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-fs_init(void)\r
-{\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-  u16_t i;\r
-  for(i = 0; i < FS_NUMFILES; i++) {\r
-    count[i] = 0;\r
-  }\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1  \r
-u16_t fs_count\r
-(char *name)\r
-{\r
-  struct fsdata_file_noconst *f;\r
-  u16_t i;\r
-\r
-  i = 0;\r
-  for(f = (struct fsdata_file_noconst *)FS_ROOT;\r
-      f != NULL;\r
-      f = (struct fsdata_file_noconst *)f->next) {\r
-\r
-    if(fs_strcmp(name, f->name) == 0) {\r
-      return count[i];\r
-    }\r
-    ++i;\r
-  }\r
-  return 0;\r
-}\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs.h
deleted file mode 100644 (file)
index 65551ba..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP server read-only file system header file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
\r
-/*\r
- * Copyright (c) 2001, Swedish Institute of Computer Science.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. Neither the name of the Institute nor the names of its contributors \r
- *    may be used to endorse or promote products derived from this software \r
- *    without specific prior written permission. \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND \r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE \r
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \r
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \r
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \r
- * SUCH DAMAGE. \r
- *\r
- * This file is part of the lwIP TCP/IP stack.\r
- * \r
- * Author: Adam Dunkels <adam@sics.se>\r
- *\r
- * $Id: fs.h,v 1.6.2.3 2003/10/07 13:22:27 adam Exp $\r
- */\r
-#ifndef __FS_H__\r
-#define __FS_H__\r
-\r
-#include "uip.h"\r
-\r
-/**\r
- * An open file in the read-only file system.\r
- */\r
-struct fs_file {\r
-  char *data;  /**< The actual file data. */\r
-  int len;     /**< The length of the file data. */\r
-};\r
-\r
-/**\r
- * Open a file in the read-only file system.\r
- *\r
- * \param name The name of the file.\r
- *\r
- * \param file The file pointer, which must be allocated by caller and\r
- * will be filled in by the function.\r
- */\r
-int fs_open(const char *name, struct fs_file *file);\r
-\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1  \r
-u16_t fs_count(char *name);\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-\r
-/**\r
- * Initialize the read-only file system.\r
- */\r
-void fs_init(void);\r
-\r
-#endif /* __FS_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/404.html b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/404.html
deleted file mode 100644 (file)
index 8d6beec..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<html><body bgcolor="white"><center><h1>404 - file not found</h1></center></body></html>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/about.html b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/about.html
deleted file mode 100644 (file)
index 4c88689..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<html>\r
-<body bgcolor="white">\r
-<center>\r
-<table width="600" border="0"><tr><td>\r
-<h2>Welcome</h2>\r
-<p align="justify">\r
-These web pages are served by the small web server running on top of\r
-the <a href="http://dunkels.com/adam/uip/" target="_top">uIP TCP/IP\r
-stack</a>.\r
-</p>\r
-<p align="justify">\r
-Click on the links above to see some status information about the web\r
-server and the TCP/IP stack.\r
-</p>\r
-</td></tr></table>\r
-</center>\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/cgi/files b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/cgi/files
deleted file mode 100644 (file)
index 64e0b50..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# This script shows the access statistics for different files on the\r
-# web server.\r
-#\r
-# First, we include the HTML header.\r
-i /files_header.html\r
-# Print out the name of the file, and call the function that prints\r
-# the access statistics of that file.\r
-t <tr><td><a href="/index.html">/index.html</a></td><td>\r
-c b /index.html\r
-t </td></tr> <tr><td><a href="/about.html">/about.html</a></td><td>\r
-c b /about.html\r
-t </td></tr> <tr><td><a href="/control.html">/control.html</a></td><td>\r
-c b /control.html\r
-t </td></tr> <tr><td><a href="/img/bg.png">/img/bg.png</a></td><td>\r
-c b /img/bg.png\r
-t </td></tr> <tr><td><a href="/404.html">/404.html</a></td><td>\r
-c b /404.html\r
-t </td></tr> <tr><td><a href="/cgi/files">/cgi/files</a></td><td>\r
-c b /cgi/files\r
-t </td></tr> <tr><td><a href="/cgi/stats">/cgi/stats</a></td><td>\r
-c b /cgi/stats\r
-t </td></tr> <tr><td><a href="/cgi/tcp">/cgi/tcp</a></td><td>\r
-c b /cgi/tcp\r
-t </td></tr>\r
-# Include the HTML footer.\r
-i /files_footer.plain\r
-# End of script.\r
-.
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/cgi/stats b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/cgi/stats
deleted file mode 100644 (file)
index 2c71c90..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-i /stats_header.html\r
-c a\r
-i /stats_footer.plain\r
-.\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/cgi/tcp b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/cgi/tcp
deleted file mode 100644 (file)
index 14efd37..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-i /tcp_header.html\r
-c c\r
-i /tcp_footer.plain\r
-.
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/control.html b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/control.html
deleted file mode 100644 (file)
index ce28dbe..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>\r
-<body bgcolor="white">\r
-<center>\r
-<table width="797" height="94" border="0" cellpadding="0"\r
-       cellspacing="0" background="/img/bg.png"><tr><td align="center">\r
-<h1>uIP web server test pages</h1>\r
-[ <a href="about.html" target="main">About</a> |\r
-<a href="/cgi/tcp" target="main">Connections</a> |\r
-<a href="/cgi/files" target="main">Files</a> |\r
-<a href="/cgi/stats" target="main">Statistics</a> ]\r
-</td></tr></table>\r
-</center>\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/files_footer.plain b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/files_footer.plain
deleted file mode 100644 (file)
index 0b6dceb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-</td></tr></table>\r
-</body>\r
-</html>\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/files_header.html b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/files_header.html
deleted file mode 100644 (file)
index 25d8650..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<html>\r
-<body bgcolor="white">\r
-<center>\r
-<table width="600" border="0">\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/img/bg.png b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/img/bg.png
deleted file mode 100644 (file)
index 18533b3..0000000
Binary files a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/img/bg.png and /dev/null differ
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/index.html b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/index.html
deleted file mode 100644 (file)
index 3429ef3..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>\r
-<head><title>uIP web server test page</title></head>\r
-\r
-<frameset cols="*" rows="120,*" frameborder="no"> \r
-  <frame src="control.html">\r
-  <frame src="about.html" name="main">\r
-</frameset>\r
-\r
-<noframes>\r
-<body>\r
-Your browser must support frames\r
-</body>\r
-</noframes>\r
-</html>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/stats_footer.plain b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/stats_footer.plain
deleted file mode 100644 (file)
index 0b6dceb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-</td></tr></table>\r
-</body>\r
-</html>\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/stats_header.html b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/stats_header.html
deleted file mode 100644 (file)
index 4efaddf..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<html>\r
-<body bgcolor="white">\r
-<center>\r
-<table width="600" border="0">\r
-<tr><td>\r
-<pre>\r
-IP           Packets dropped\r
-             Packets received\r
-             Packets sent\r
-IP errors    IP version/header length\r
-             IP length, high byte\r
-             IP length, low byte\r
-             IP fragments\r
-             Header checksum\r
-             Wrong protocol\r
-ICMP        Packets dropped\r
-             Packets received\r
-             Packets sent\r
-             Type errors\r
-TCP          Packets dropped\r
-             Packets received\r
-             Packets sent\r
-             Checksum errors\r
-             Data packets without ACKs\r
-             Resets\r
-             Retransmissions\r
-            No connection avaliable\r
-            Connection attempts to closed ports\r
-</pre>      \r
-</td><td><pre>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/tcp_footer.plain b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/tcp_footer.plain
deleted file mode 100644 (file)
index 442c17a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\r
-</td></tr></table>\r
-</center>\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/tcp_header.html b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fs/tcp_header.html
deleted file mode 100644 (file)
index 1a50571..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>\r
-<body bgcolor="white">\r
-<center>\r
-<table width="600" border="0">\r
-<tr><th>Remote</th><th>State</th><th>Retransmissions</th><th>Timer</th><th>Flags</th></tr>\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fsdata.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fsdata.c
deleted file mode 100644 (file)
index ff855e7..0000000
+++ /dev/null
@@ -1,619 +0,0 @@
-static const char data_cgi_files[] = {\r
-       /* /cgi/files */\r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0,\r
-       0x23, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x73, 0x63, 0x72, \r
-       0x69, 0x70, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x73, 0x20, \r
-       0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, \r
-       0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, \r
-       0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, 0x69, 0x66, 0x66, \r
-       0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, \r
-       0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0xa, 0x23, \r
-       0x20, 0x77, 0x65, 0x62, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, \r
-       0x72, 0x2e, 0xa, 0x23, 0xa, 0x23, 0x20, 0x46, 0x69, 0x72, \r
-       0x73, 0x74, 0x2c, 0x20, 0x77, 0x65, 0x20, 0x69, 0x6e, 0x63, \r
-       0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, \r
-       0x54, 0x4d, 0x4c, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, \r
-       0x2e, 0xa, 0x69, 0x20, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, \r
-       0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, \r
-       0x6d, 0x6c, 0xa, 0x23, 0x20, 0x50, 0x72, 0x69, 0x6e, 0x74, \r
-       0x20, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, \r
-       0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, \r
-       0x20, 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, \r
-       0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, \r
-       0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, \r
-       0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, \r
-       0xa, 0x23, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, \r
-       0x65, 0x73, 0x73, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, \r
-       0x74, 0x69, 0x63, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, \r
-       0x61, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0xa, 0x74, \r
-       0x20, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x69, \r
-       0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, \r
-       0x3e, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, \r
-       0x6d, 0x6c, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, \r
-       0x3e, 0x3c, 0x74, 0x64, 0x3e, 0xa, 0x63, 0x20, 0x62, 0x20, \r
-       0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, \r
-       0x6c, 0xa, 0x74, 0x20, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x2f, 0x74, 0x72, 0x3e, 0x20, 0x3c, 0x74, 0x72, 0x3e, 0x3c, \r
-       0x74, 0x64, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, \r
-       0x3d, 0x22, 0x2f, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x2e, 0x68, \r
-       0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x2f, 0x61, 0x62, 0x6f, 0x75, \r
-       0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x3c, 0x2f, 0x61, 0x3e, \r
-       0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0xa, \r
-       0x63, 0x20, 0x62, 0x20, 0x2f, 0x61, 0x62, 0x6f, 0x75, 0x74, \r
-       0x2e, 0x68, 0x74, 0x6d, 0x6c, 0xa, 0x74, 0x20, 0x3c, 0x2f, \r
-       0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x20, 0x3c, \r
-       0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0x3c, 0x61, 0x20, \r
-       0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x63, 0x6f, 0x6e, \r
-       0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, \r
-       0x3e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, \r
-       0x68, 0x74, 0x6d, 0x6c, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, \r
-       0x74, 0x64, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0xa, 0x63, 0x20, \r
-       0x62, 0x20, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, \r
-       0x2e, 0x68, 0x74, 0x6d, 0x6c, 0xa, 0x74, 0x20, 0x3c, 0x2f, \r
-       0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x20, 0x3c, \r
-       0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0x3c, 0x61, 0x20, \r
-       0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x69, 0x6d, 0x67, \r
-       0x2f, 0x62, 0x67, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x3e, 0x2f, \r
-       0x69, 0x6d, 0x67, 0x2f, 0x62, 0x67, 0x2e, 0x70, 0x6e, 0x67, \r
-       0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x74, 0x64, 0x3e, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, 0x69, \r
-       0x6d, 0x67, 0x2f, 0x62, 0x67, 0x2e, 0x70, 0x6e, 0x67, 0xa, \r
-       0x74, 0x20, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, \r
-       0x72, 0x3e, 0x20, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, \r
-       0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, \r
-       0x2f, 0x34, 0x30, 0x34, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, \r
-       0x3e, 0x2f, 0x34, 0x30, 0x34, 0x2e, 0x68, 0x74, 0x6d, 0x6c, \r
-       0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x74, 0x64, 0x3e, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, 0x34, \r
-       0x30, 0x34, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0xa, 0x74, 0x20, \r
-       0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, \r
-       0x20, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x63, \r
-       0x67, 0x69, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x3e, \r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, \r
-       0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x74, 0x64, 0x3e, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, 0x63, \r
-       0x67, 0x69, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0xa, 0x74, \r
-       0x20, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, \r
-       0x3e, 0x20, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, \r
-       0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, \r
-       0x63, 0x67, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, \r
-       0x3e, 0x2f, 0x63, 0x67, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, \r
-       0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, \r
-       0x3c, 0x74, 0x64, 0x3e, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, \r
-       0x63, 0x67, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0xa, \r
-       0x74, 0x20, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, \r
-       0x72, 0x3e, 0x20, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, \r
-       0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, \r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x74, 0x63, 0x70, 0x22, 0x3e, \r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x74, 0x63, 0x70, 0x3c, 0x2f, \r
-       0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, 0x64, \r
-       0x3e, 0xa, 0x63, 0x20, 0x62, 0x20, 0x2f, 0x63, 0x67, 0x69, \r
-       0x2f, 0x74, 0x63, 0x70, 0xa, 0x74, 0x20, 0x3c, 0x2f, 0x74, \r
-       0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0xa, 0x23, 0x20, \r
-       0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, \r
-       0x65, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x66, 0x6f, 0x6f, \r
-       0x74, 0x65, 0x72, 0x2e, 0xa, 0x69, 0x20, 0x2f, 0x66, 0x69, \r
-       0x6c, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, \r
-       0x2e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0xa, 0x23, 0x20, 0x45, \r
-       0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x63, 0x72, 0x69, \r
-       0x70, 0x74, 0x2e, 0xa, 0x2e, };\r
-\r
-static const char data_cgi_stats[] = {\r
-       /* /cgi/stats */\r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0,\r
-       0x69, 0x20, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x68, \r
-       0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, \r
-       0xa, 0x63, 0x20, 0x61, 0xa, 0x69, 0x20, 0x2f, 0x73, 0x74, \r
-       0x61, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, \r
-       0x2e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0xa, 0x2e, 0xa, };\r
-\r
-static const char data_cgi_tcp[] = {\r
-       /* /cgi/tcp */\r
-       0x2f, 0x63, 0x67, 0x69, 0x2f, 0x74, 0x63, 0x70, 0,\r
-       0x69, 0x20, 0x2f, 0x74, 0x63, 0x70, 0x5f, 0x68, 0x65, 0x61, \r
-       0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0xa, 0x63, \r
-       0x20, 0x63, 0xa, 0x69, 0x20, 0x2f, 0x74, 0x63, 0x70, 0x5f, \r
-       0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x6c, 0x61, \r
-       0x69, 0x6e, 0xa, 0x2e, };\r
-\r
-static const char data_img_bg_png[] = {\r
-       /* /img/bg.png */\r
-       0x2f, 0x69, 0x6d, 0x67, 0x2f, 0x62, 0x67, 0x2e, 0x70, 0x6e, 0x67, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x69, \r
-       0x6d, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x6e, 0x67, 0xd, 0xa, \r
-       0xd, 0xa, 0x89, 0x50, 0x4e, 0x47, 0xd, 0xa, 0x1a, 0xa, \r
-       00, 00, 00, 0xd, 0x49, 0x48, 0x44, 0x52, 00, 00, \r
-       0x3, 0x1d, 00, 00, 00, 0x5e, 0x8, 0x6, 00, 00, \r
-       00, 0x46, 0xbd, 0x79, 0xcc, 00, 00, 00, 0x6, 0x62, \r
-       0x4b, 0x47, 0x44, 00, 0xff, 00, 0xff, 00, 0xff, 0xa0, \r
-       0xbd, 0xa7, 0x93, 00, 00, 00, 0x9, 0x70, 0x48, 0x59, \r
-       0x73, 00, 00, 0xb, 0x12, 00, 00, 0xb, 0x12, 0x1, \r
-       0xd2, 0xdd, 0x7e, 0xfc, 00, 00, 00, 0x7, 0x74, 0x49, \r
-       0x4d, 0x45, 0x7, 0xd3, 0xa, 0x5, 0x12, 0x22, 0x33, 0x22, \r
-       0xd0, 0x7c, 0x9a, 00, 00, 00, 0x1d, 0x74, 0x45, 0x58, \r
-       0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 00, 0x43, \r
-       0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, \r
-       0x68, 0x20, 0x54, 0x68, 0x65, 0x20, 0x47, 0x49, 0x4d, 0x50, \r
-       0xef, 0x64, 0x25, 0x6e, 00, 00, 0x3, 0xa0, 0x49, 0x44, \r
-       0x41, 0x54, 0x78, 0xda, 0xed, 0xdd, 0xc1, 0x76, 0x9a, 0x40, \r
-       0x18, 0x80, 0x51, 0x27, 0xc7, 0x5, 0x6c, 0xd1, 0x65, 0x1a, \r
-       0xec, 0xe9, 0xfb, 0xbf, 0x45, 0x9e, 0x23, 0xd5, 0xb4, 0x4b, \r
-       0x71, 0x19, 0xdd, 0x4d, 0x97, 0x36, 0x8a, 0x6, 0x1c, 0x82, \r
-       0x20, 0xf7, 0xee, 0x92, 0xa8, 0x3f, 0xc, 0x68, 0xfa, 0xa1, \r
-       0x3d, 0x9, 0x6f, 0xaf, 0x1f, 0x71, 0x76, 0x26, 0xcc, 0x6e, \r
-       0x15, 0x9e, 0xce, 0xbf, 0x17, 0xe3, 0x71, 0x44, 0xb8, 0xfd, \r
-       0xa1, 0x93, 0xd5, 0x6d, 0x5b, 0x7f, 0xc3, 0x13, 0xef, 0x1e, \r
-       0x86, 0xb3, 0x2d, 0x5d, 0x6d, 0xdb, 0xf2, 0x57, 0x96, 0x34, \r
-       0x77, 0xfb, 0xfb, 0x90, 0x74, 0xff, 0xe5, 0xcf, 0xb4, 0xf9, \r
-       0xbb, 0x4d, 0xda, 0xfc, 0xa2, 0xcc, 0x92, 0xd6, 0xb4, 0x5a, \r
-       0x5f, 0x99, 0xdf, 0xe0, 0x5c, 0x5f, 0xae, 0xb2, 0xd9, 0x20, \r
-       0x85, 0x6f, 0x5c, 0xff, 0x70, 0x7c, 0x2d, 0x5a, 0x94, 0xf9, \r
-       0xf0, 0x76, 0xfd, 0x69, 0x36, 0x39, 0x53, 0xdc, 0xe7, 0x41, \r
-       0xfc, 0x1e, 0x18, 0xe1, 0xef, 0x41, 0xc6, 0xf1, 0x7c, 0xa9, \r
-       0x3d, 0x4f, 0xe3, 0x83, 0x1f, 0xfc, 0xb1, 0x1e, 0x17, 0xcb, \r
-       0x4, 00, 00, 0x68, 0x33, 00, 00, 00, 0xd1, 0x1, \r
-       00, 00, 0x88, 0xe, 00, 00, 0x40, 0x74, 00, 00, \r
-       00, 0x88, 0xe, 00, 00, 0x40, 0x74, 00, 00, 00, \r
-       0xa2, 0x3, 00, 00, 0x40, 0x74, 00, 00, 00, 0xa2, \r
-       0x3, 00, 00, 0x40, 0x74, 00, 00, 00, 0xa2, 0x3, \r
-       00, 00, 0x10, 0x1d, 00, 0x1d, 0xa, 0x96, 00, 00, \r
-       0x44, 0x7, 00, 00, 0x40, 0x4b, 0xe1, 0xed, 0xf5, 0x23, \r
-       0xd6, 0x7c, 0xfb, 0xf6, 0x7, 0xac, 0xc9, 0x98, 0x18, 0x8f, \r
-       0x23, 0xc2, 0x1d, 0xaf, 0x64, 0x86, 0x7b, 0x26, 0x56, 0xe2, \r
-       0x7e, 0x77, 0xba, 0x6e, 0x1d, 0x1f, 0x83, 0xa4, 0x6d, 0xb, \r
-       0xfd, 0x6e, 0x6b, 0x97, 0x6b, 0x1a, 0xee, 0x7c, 0x55, 0x7e, \r
-       0xb1, 0xca, 0x92, 0x9e, 0xb, 0xdb, 0xf5, 0x21, 0x69, 0xfe, \r
-       0x32, 0x61, 0xfe, 0x18, 0x8f, 0xf7, 0xc3, 0xbf, 0x46, 0xd9, \r
-       0xe7, 0xe1, 0xaf, 0xd5, 0xd8, 0xdf, 0x9, 0xf4, 0x4e, 0xe6, \r
-       0x24, 0x9e, 0x2f, 0xb5, 0xe7, 0x69, 0x7c, 0xf0, 0x83, 0x3f, \r
-       0xd6, 0xe3, 0x62, 0x99, 00, 00, 00, 0x6d, 0x6, 00, \r
-       00, 0x20, 0x3a, 00, 00, 00, 0xd1, 0x1, 00, 00, \r
-       0x88, 0xe, 00, 00, 00, 0xd1, 0x1, 00, 00, 0x88, \r
-       0xe, 00, 00, 0x40, 0x74, 00, 00, 00, 0x88, 0xe, \r
-       00, 00, 0x40, 0x74, 00, 00, 00, 0x88, 0xe, 0x98, \r
-       0xaa, 0xe0, 0x59, 0xf, 00, 0x88, 0xe, 00, 0x86, 0x53, \r
-       0xa9, 0x96, 00, 00, 0xd1, 0x1, 00, 00, 0x88, 0xe, \r
-       00, 00, 0x40, 0x74, 00, 00, 00, 0x7c, 0x93, 0xb9, \r
-       0x25, 0x80, 0xfb, 0x28, 0xca, 0xec, 0xe2, 0xcf, 0x42, 0x83, \r
-       0xcf, 0xd1, 0x57, 0xeb, 0xc3, 0xe5, 0x1f, 0x36, 0xb8, 0x9c, \r
-       0xb0, 0x5c, 0x65, 0x49, 0xdb, 0xbf, 0xbd, 0x30, 0x3f, 0x34, \r
-       0xfc, 0x3f, 00, 0x8b, 0x32, 0x6d, 0xfe, 0x6e, 0x73, 0x68, \r
-       0x7f, 0xa7, 0x10, 0xff, 0x9b, 0x9f, 0x27, 0xcd, 0xaf, 0xde, \r
-       0xf7, 0xed, 0x46, 0x9f, 0x1c, 0x93, 0xe2, 0x39, 0xf7, 0x24, \r
-       00, 0x60, 0x32, 0xbc, 0xd3, 0x1, 00, 00, 0x88, 0xe, \r
-       00, 00, 0x40, 0x74, 00, 00, 00, 0x88, 0xe, 00, \r
-       00, 0x40, 0x74, 00, 00, 00, 0x8f, 0x1f, 0x1d, 0xdd, \r
-       0xfe, 0xf9, 0xd9, 0x18, 0xa3, 0x55, 0x6, 00, 00, 0xd1, \r
-       0xc1, 0x64, 0x84, 0x8e, 0x1f, 0x2e, 0x58, 0x52, 00, 00, \r
-       0x44, 0x7, 00, 00, 0x20, 0x3a, 00, 00, 00, 0xd1, \r
-       0x1, 00, 00, 0x20, 0x3a, 00, 00, 00, 0xd1, 0x1, \r
-       00, 00, 0x88, 0xe, 00, 00, 00, 0xd1, 0x1, 00, \r
-       00, 0x88, 0xe, 00, 00, 0x80, 0xb9, 0x25, 0x80, 0xfb, \r
-       0xd8, 0x6d, 0xe, 0x77, 0x9d, 0xbf, 0x5d, 0xa7, 0xcd, 0x5f, \r
-       0xae, 0xb2, 0xa4, 0xfb, 0x57, 0x35, 0xfb, 0xdf, 0xe6, 0x8f, \r
-       0x4d, 0x16, 0x65, 0xbb, 0xf9, 0xa7, 0x8f, 0x5d, 0x6d, 0xf6, \r
-       0xe7, 0x37, 0x88, 0xf1, 0xca, 0x3, 0x7c, 0xfe, 0x72, 0xf1, \r
-       0x92, 0x3b, 0x89, 0x1, 0xa0, 0x21, 0xef, 0x74, 00, 00, \r
-       00, 0xa2, 0x3, 00, 00, 0x10, 0x1d, 00, 00, 00, \r
-       0xa2, 0x63, 0xac, 0xda, 0x7c, 0xce, 0x1d, 00, 00, 0x44, \r
-       0x7, 0xe0, 0x59, 0xd, 00, 0xf8, 0xe7, 0x9, 00, 00, \r
-       0x80, 0xe8, 00, 00, 00, 0x44, 0x7, 00, 00, 0x80, \r
-       0xe8, 00, 00, 00, 0x44, 0x7, 00, 00, 0x20, 0x3a, \r
-       00, 00, 00, 0x44, 0x7, 00, 00, 0x20, 0x3a, 00, \r
-       00, 00, 0xd1, 0x1, 00, 00, 0x20, 0x3a, 00, 00, \r
-       0x80, 0x81, 0x98, 0x5b, 0x2, 0xe0, 0x16, 0xdb, 0xf5, 0xa1, \r
-       0xf6, 0xfb, 0x21, 0xf4, 0x33, 0x7f, 0xb7, 0x39, 0xb4, 0xbb, \r
-       0x43, 0x88, 0x9f, 0xbe, 0x5c, 0x94, 0x79, 0xd2, 0xfc, 0xea, \r
-       0x7d, 0xdf, 0x6e, 0xfc, 0xc9, 0x25, 0x9e, 0xe2, 0xb9, 0xbf, \r
-       0xf9, 0x75, 0xc7, 0xa4, 0xf8, 0x91, 0x3b, 0x89, 0x1, 0xe8, \r
-       0x8d, 0x77, 0x3a, 00, 00, 00, 0xd1, 0x1, 0x43, 0xd3, \r
-       0xd7, 0xd5, 0x7c, 0xeb, 0x2, 00, 0x88, 0xe, 00, 0xbe, \r
-       0x8e, 0x31, 0xaf, 0xb4, 00, 0x88, 0xe, 00, 00, 00, \r
-       0xd1, 0x1, 00, 00, 0x88, 0xe, 00, 00, 00, 0xd1, \r
-       0x1, 00, 00, 0x88, 0xe, 00, 00, 0x40, 0x74, 00, \r
-       00, 00, 0x88, 0xe, 00, 00, 0x40, 0x74, 00, 00, \r
-       00, 0xa2, 0x3, 00, 00, 0x60, 0x34, 0xd1, 0x11, 0x82, \r
-       0x5, 0x7, 00, 00, 0xd1, 0x1, 0x43, 0x21, 0x52, 0x1, \r
-       00, 0x44, 0x7, 00, 00, 0xc0, 0x57, 0xe6, 0x96, 00, \r
-       0x18, 0xa3, 0xa2, 0xcc, 0x5a, 0xdd, 0xfe, 0xf4, 0xe3, 0x9d, \r
-       0xd5, 0x66, 0x7f, 0x7e, 0x83, 0x18, 0xaf, 0x3c, 0x40, 0xb7, \r
-       0xdb, 0xbf, 0xfb, 0xbb, 0x4f, 0xba, 0xff, 0xe2, 0x25, 0x4f, \r
-       0x9b, 0xff, 0xa7, 0xe1, 0xfc, 0xb, 0xfb, 0x5d, 0x3c, 0xe7, \r
-       0xdf, 0xbe, 0xff, 0xe1, 0xca, 0x65, 0xb1, 0x3e, 0xe6, 0x5f, \r
-       0x3d, 0xff, 0x12, 0xe7, 0x3, 0x4c, 0x8d, 0x77, 0x3a, 00, \r
-       00, 00, 0xd1, 0x1, 00, 00, 0x88, 0xe, 00, 00, \r
-       00, 0xd1, 0x1, 00, 00, 0x88, 0xe, 00, 00, 0x40, \r
-       0x74, 00, 00, 00, 0x88, 0xe, 00, 00, 0x40, 0x74, \r
-       00, 00, 00, 0xa2, 0x3, 00, 00, 0x40, 0x74, 0x34, \r
-       0x13, 0xe4, 0x15, 00, 00, 0x88, 0xe, 00, 00, 0x40, \r
-       0x74, 00, 00, 00, 0x88, 0xe, 00, 00, 0x40, 0x74, \r
-       00, 00, 00, 0x13, 0xf1, 0xf, 0x24, 0xa1, 0x5c, 0xab, \r
-       0x41, 0xd8, 0x92, 0xa4, 00, 00, 00, 00, 0x49, 0x45, \r
-       0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, };\r
-\r
-static const char data_about_html[] = {\r
-       /* /about.html */\r
-       0x2f, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x3c, \r
-       0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, \r
-       0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65, 0x22, \r
-       0x3e, 0xa, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, \r
-       0xa, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, \r
-       0x64, 0x74, 0x68, 0x3d, 0x22, 0x36, 0x30, 0x30, 0x22, 0x20, \r
-       0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, \r
-       0x3e, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, 0xa, \r
-       0x3c, 0x68, 0x32, 0x3e, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, \r
-       0x65, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0xa, 0x3c, 0x70, 0x20, \r
-       0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6a, 0x75, 0x73, \r
-       0x74, 0x69, 0x66, 0x79, 0x22, 0x3e, 0xa, 0x54, 0x68, 0x65, \r
-       0x73, 0x65, 0x20, 0x77, 0x65, 0x62, 0x20, 0x70, 0x61, 0x67, \r
-       0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x65, 0x72, \r
-       0x76, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, \r
-       0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x20, 0x77, 0x65, 0x62, \r
-       0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x72, 0x75, \r
-       0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x74, \r
-       0x6f, 0x70, 0x20, 0x6f, 0x66, 0xa, 0x74, 0x68, 0x65, 0x20, \r
-       0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, \r
-       0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x64, 0x75, 0x6e, 0x6b, \r
-       0x65, 0x6c, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x64, \r
-       0x61, 0x6d, 0x2f, 0x75, 0x69, 0x70, 0x2f, 0x22, 0x20, 0x74, \r
-       0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x74, 0x6f, \r
-       0x70, 0x22, 0x3e, 0x75, 0x49, 0x50, 0x20, 0x54, 0x43, 0x50, \r
-       0x2f, 0x49, 0x50, 0xa, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x3c, \r
-       0x2f, 0x61, 0x3e, 0x2e, 0xa, 0x3c, 0x2f, 0x70, 0x3e, 0xa, \r
-       0x3c, 0x70, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, \r
-       0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x79, 0x22, 0x3e, 0xa, \r
-       0x43, 0x6c, 0x69, 0x63, 0x6b, 0x20, 0x6f, 0x6e, 0x20, 0x74, \r
-       0x68, 0x65, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x20, 0x61, \r
-       0x62, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, \r
-       0x65, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x73, 0x74, 0x61, \r
-       0x74, 0x75, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, \r
-       0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, \r
-       0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x65, 0x62, 0xa, \r
-       0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, \r
-       0x20, 0x74, 0x68, 0x65, 0x20, 0x54, 0x43, 0x50, 0x2f, 0x49, \r
-       0x50, 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0xa, 0x3c, \r
-       0x2f, 0x70, 0x3e, 0xa, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, \r
-       0x65, 0x3e, 0xa, 0x3c, 0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, \r
-       0x72, 0x3e, 0xa, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, \r
-       0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, };\r
-\r
-static const char data_control_html[] = {\r
-       /* /control.html */\r
-       0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x3c, \r
-       0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, \r
-       0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65, 0x22, \r
-       0x3e, 0xa, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, \r
-       0xa, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, \r
-       0x64, 0x74, 0x68, 0x3d, 0x22, 0x37, 0x39, 0x37, 0x22, 0x20, \r
-       0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x39, 0x34, \r
-       0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, \r
-       0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, \r
-       0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0xa, 0x9, \r
-       0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, \r
-       0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x62, 0x61, 0x63, 0x6b, \r
-       0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3d, 0x22, 0x2f, 0x69, \r
-       0x6d, 0x67, 0x2f, 0x62, 0x67, 0x2e, 0x70, 0x6e, 0x67, 0x22, \r
-       0x3e, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x20, 0x61, \r
-       0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x63, 0x65, 0x6e, 0x74, \r
-       0x65, 0x72, 0x22, 0x3e, 0xa, 0x3c, 0x68, 0x31, 0x3e, 0x75, \r
-       0x49, 0x50, 0x20, 0x77, 0x65, 0x62, 0x20, 0x73, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x70, \r
-       0x61, 0x67, 0x65, 0x73, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0xa, \r
-       0x5b, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, \r
-       0x22, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x2e, 0x68, 0x74, 0x6d, \r
-       0x6c, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, \r
-       0x22, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3e, 0x41, 0x62, 0x6f, \r
-       0x75, 0x74, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x7c, 0xa, 0x3c, \r
-       0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x63, \r
-       0x67, 0x69, 0x2f, 0x74, 0x63, 0x70, 0x22, 0x20, 0x74, 0x61, \r
-       0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x6d, 0x61, 0x69, 0x6e, \r
-       0x22, 0x3e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, \r
-       0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x7c, 0xa, \r
-       0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, \r
-       0x63, 0x67, 0x69, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, \r
-       0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x6d, \r
-       0x61, 0x69, 0x6e, 0x22, 0x3e, 0x46, 0x69, 0x6c, 0x65, 0x73, \r
-       0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x7c, 0xa, 0x3c, 0x61, 0x20, \r
-       0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x63, 0x67, 0x69, \r
-       0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x20, 0x74, 0x61, \r
-       0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x6d, 0x61, 0x69, 0x6e, \r
-       0x22, 0x3e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, \r
-       0x63, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x5d, 0xa, 0x3c, \r
-       0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, \r
-       0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0xa, 0x3c, 0x2f, \r
-       0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, 0xa, 0x3c, 0x2f, \r
-       0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68, 0x74, \r
-       0x6d, 0x6c, 0x3e, };\r
-\r
-static const char data_404_html[] = {\r
-       /* /404.html */\r
-       0x2f, 0x34, 0x30, 0x34, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x34, \r
-       0x30, 0x34, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x20, 0x6e, 0x6f, \r
-       0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0xd, 0xa, 0x53, \r
-       0x65, 0x72, 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, \r
-       0x2f, 0x30, 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, \r
-       0x3a, 0x2f, 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, \r
-       0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, \r
-       0x75, 0x69, 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, \r
-       0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, \r
-       0x20, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, \r
-       0xd, 0xa, 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, \r
-       0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, \r
-       0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65, \r
-       0x22, 0x3e, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, \r
-       0x3c, 0x68, 0x31, 0x3e, 0x34, 0x30, 0x34, 0x20, 0x2d, 0x20, \r
-       0x66, 0x69, 0x6c, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, \r
-       0x6f, 0x75, 0x6e, 0x64, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x3c, \r
-       0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, 0x3c, 0x2f, \r
-       0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, \r
-       0x6c, 0x3e, };\r
-\r
-static const char data_files_footer_plain[] = {\r
-       /* /files_footer.plain */\r
-       0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0,\r
-       0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, \r
-       0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0xa, 0x3c, \r
-       0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68, \r
-       0x74, 0x6d, 0x6c, 0x3e, 0xa, };\r
-\r
-static const char data_files_header_html[] = {\r
-       /* /files_header.html */\r
-       0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x3c, \r
-       0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, \r
-       0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65, 0x22, \r
-       0x3e, 0xa, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, \r
-       0xa, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, \r
-       0x64, 0x74, 0x68, 0x3d, 0x22, 0x36, 0x30, 0x30, 0x22, 0x20, \r
-       0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, \r
-       0x3e, 0xa, };\r
-\r
-static const char data_index_html[] = {\r
-       /* /index.html */\r
-       0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x3c, \r
-       0x68, 0x65, 0x61, 0x64, 0x3e, 0x3c, 0x74, 0x69, 0x74, 0x6c, \r
-       0x65, 0x3e, 0x75, 0x49, 0x50, 0x20, 0x77, 0x65, 0x62, 0x20, \r
-       0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x74, 0x65, 0x73, \r
-       0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x3c, 0x2f, 0x74, 0x69, \r
-       0x74, 0x6c, 0x65, 0x3e, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, \r
-       0x3e, 0xa, 0xa, 0x3c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, \r
-       0x65, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x73, 0x3d, 0x22, 0x2a, \r
-       0x22, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x3d, 0x22, 0x31, 0x32, \r
-       0x30, 0x2c, 0x2a, 0x22, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, \r
-       0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x6e, 0x6f, \r
-       0x22, 0x3e, 0x20, 0xa, 0x20, 0x20, 0x3c, 0x66, 0x72, 0x61, \r
-       0x6d, 0x65, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x63, 0x6f, \r
-       0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x68, 0x74, 0x6d, 0x6c, \r
-       0x22, 0x3e, 0xa, 0x20, 0x20, 0x3c, 0x66, 0x72, 0x61, 0x6d, \r
-       0x65, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x61, 0x62, 0x6f, \r
-       0x75, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, 0x6e, \r
-       0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x69, 0x6e, 0x22, \r
-       0x3e, 0xa, 0x3c, 0x2f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, \r
-       0x65, 0x74, 0x3e, 0xa, 0xa, 0x3c, 0x6e, 0x6f, 0x66, 0x72, \r
-       0x61, 0x6d, 0x65, 0x73, 0x3e, 0xa, 0x3c, 0x62, 0x6f, 0x64, \r
-       0x79, 0x3e, 0xa, 0x59, 0x6f, 0x75, 0x72, 0x20, 0x62, 0x72, \r
-       0x6f, 0x77, 0x73, 0x65, 0x72, 0x20, 0x6d, 0x75, 0x73, 0x74, \r
-       0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, \r
-       0x72, 0x61, 0x6d, 0x65, 0x73, 0xa, 0x3c, 0x2f, 0x62, 0x6f, \r
-       0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x6e, 0x6f, 0x66, 0x72, \r
-       0x61, 0x6d, 0x65, 0x73, 0x3e, 0xa, 0x3c, 0x2f, 0x68, 0x74, \r
-       0x6d, 0x6c, 0x3e, };\r
-\r
-static const char data_stats_footer_plain[] = {\r
-       /* /stats_footer.plain */\r
-       0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0,\r
-       0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, \r
-       0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0xa, 0x3c, \r
-       0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68, \r
-       0x74, 0x6d, 0x6c, 0x3e, 0xa, };\r
-\r
-static const char data_stats_header_html[] = {\r
-       /* /stats_header.html */\r
-       0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x3c, \r
-       0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, \r
-       0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65, 0x22, \r
-       0x3e, 0xa, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, \r
-       0xa, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, \r
-       0x64, 0x74, 0x68, 0x3d, 0x22, 0x36, 0x30, 0x30, 0x22, 0x20, \r
-       0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, \r
-       0x3e, 0xa, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x3e, \r
-       0xa, 0x3c, 0x70, 0x72, 0x65, 0x3e, 0xa, 0x49, 0x50, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x64, 0x72, \r
-       0x6f, 0x70, 0x70, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, \r
-       0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, 0x63, \r
-       0x65, 0x69, 0x76, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, \r
-       0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x73, 0x65, 0x6e, \r
-       0x74, 0xa, 0x49, 0x50, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, \r
-       0x73, 0x20, 0x20, 0x20, 0x20, 0x49, 0x50, 0x20, 0x76, 0x65, \r
-       0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x65, 0x61, 0x64, \r
-       0x65, 0x72, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0xa, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x49, 0x50, 0x20, 0x6c, 0x65, 0x6e, 0x67, \r
-       0x74, 0x68, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x20, 0x62, \r
-       0x79, 0x74, 0x65, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x50, 0x20, \r
-       0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2c, 0x20, 0x6c, 0x6f, \r
-       0x77, 0x20, 0x62, 0x79, 0x74, 0x65, 0xa, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x49, 0x50, 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, \r
-       0x74, 0x73, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x65, 0x61, 0x64, \r
-       0x65, 0x72, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, \r
-       0x6d, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x57, 0x72, 0x6f, 0x6e, 0x67, \r
-       0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0xa, \r
-       0x49, 0x43, 0x4d, 0x50, 0x9, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x64, 0x72, \r
-       0x6f, 0x70, 0x70, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, \r
-       0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, 0x63, \r
-       0x65, 0x69, 0x76, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, \r
-       0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x73, 0x65, 0x6e, \r
-       0x74, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x20, \r
-       0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0xa, 0x54, 0x43, 0x50, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x64, 0x72, \r
-       0x6f, 0x70, 0x70, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, \r
-       0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, 0x63, \r
-       0x65, 0x69, 0x76, 0x65, 0x64, 0xa, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, \r
-       0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x73, 0x65, 0x6e, \r
-       0x74, 0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x68, 0x65, 0x63, 0x6b, \r
-       0x73, 0x75, 0x6d, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, \r
-       0xa, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x20, 0x44, 0x61, 0x74, 0x61, 0x20, 0x70, \r
-       0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, \r
-       0x68, 0x6f, 0x75, 0x74, 0x20, 0x41, 0x43, 0x4b, 0x73, 0xa, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x52, 0x65, 0x73, 0x65, 0x74, 0x73, 0xa, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0x52, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, \r
-       0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0xa, 0x9, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x20, 0x63, 0x6f, \r
-       0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, \r
-       0x76, 0x61, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0xa, 0x9, \r
-       0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, \r
-       0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, \r
-       0x6d, 0x70, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6c, \r
-       0x6f, 0x73, 0x65, 0x64, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x73, \r
-       0xa, 0x3c, 0x2f, 0x70, 0x72, 0x65, 0x3e, 0x9, 0x20, 0x20, \r
-       0x20, 0x20, 0x20, 0xa, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, \r
-       0x74, 0x64, 0x3e, 0x3c, 0x70, 0x72, 0x65, 0x3e, };\r
-\r
-static const char data_tcp_footer_plain[] = {\r
-       /* /tcp_footer.plain */\r
-       0x2f, 0x74, 0x63, 0x70, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0,\r
-       0xa, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, \r
-       0x3e, 0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0xa, \r
-       0x3c, 0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, 0xa, \r
-       0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, \r
-       0x68, 0x74, 0x6d, 0x6c, 0x3e, };\r
-\r
-static const char data_tcp_header_html[] = {\r
-       /* /tcp_header.html */\r
-       0x2f, 0x74, 0x63, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,\r
-       0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32, \r
-       0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72, \r
-       0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30, \r
-       0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, \r
-       0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, \r
-       0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69, \r
-       0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65, \r
-       0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74, \r
-       0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa, \r
-       0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x3c, \r
-       0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, \r
-       0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65, 0x22, \r
-       0x3e, 0xa, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, \r
-       0xa, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, \r
-       0x64, 0x74, 0x68, 0x3d, 0x22, 0x36, 0x30, 0x30, 0x22, 0x20, \r
-       0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, \r
-       0x3e, 0xa, 0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x68, 0x3e, \r
-       0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x3c, 0x2f, 0x74, 0x68, \r
-       0x3e, 0x3c, 0x74, 0x68, 0x3e, 0x53, 0x74, 0x61, 0x74, 0x65, \r
-       0x3c, 0x2f, 0x74, 0x68, 0x3e, 0x3c, 0x74, 0x68, 0x3e, 0x52, \r
-       0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, \r
-       0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x74, 0x68, 0x3e, 0x3c, \r
-       0x74, 0x68, 0x3e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x3c, 0x2f, \r
-       0x74, 0x68, 0x3e, 0x3c, 0x74, 0x68, 0x3e, 0x46, 0x6c, 0x61, \r
-       0x67, 0x73, 0x3c, 0x2f, 0x74, 0x68, 0x3e, 0x3c, 0x2f, 0x74, \r
-       0x72, 0x3e, 0xa, 0xa, };\r
-\r
-const struct fsdata_file file_cgi_files[] = {{NULL, data_cgi_files, data_cgi_files + 11, sizeof(data_cgi_files) - 11}};\r
-\r
-const struct fsdata_file file_cgi_stats[] = {{file_cgi_files, data_cgi_stats, data_cgi_stats + 11, sizeof(data_cgi_stats) - 11}};\r
-\r
-const struct fsdata_file file_cgi_tcp[] = {{file_cgi_stats, data_cgi_tcp, data_cgi_tcp + 9, sizeof(data_cgi_tcp) - 9}};\r
-\r
-const struct fsdata_file file_img_bg_png[] = {{file_cgi_tcp, data_img_bg_png, data_img_bg_png + 12, sizeof(data_img_bg_png) - 12}};\r
-\r
-const struct fsdata_file file_about_html[] = {{file_img_bg_png, data_about_html, data_about_html + 12, sizeof(data_about_html) - 12}};\r
-\r
-const struct fsdata_file file_control_html[] = {{file_about_html, data_control_html, data_control_html + 14, sizeof(data_control_html) - 14}};\r
-\r
-const struct fsdata_file file_404_html[] = {{file_control_html, data_404_html, data_404_html + 10, sizeof(data_404_html) - 10}};\r
-\r
-const struct fsdata_file file_files_footer_plain[] = {{file_404_html, data_files_footer_plain, data_files_footer_plain + 20, sizeof(data_files_footer_plain) - 20}};\r
-\r
-const struct fsdata_file file_files_header_html[] = {{file_files_footer_plain, data_files_header_html, data_files_header_html + 19, sizeof(data_files_header_html) - 19}};\r
-\r
-const struct fsdata_file file_index_html[] = {{file_files_header_html, data_index_html, data_index_html + 12, sizeof(data_index_html) - 12}};\r
-\r
-const struct fsdata_file file_stats_footer_plain[] = {{file_index_html, data_stats_footer_plain, data_stats_footer_plain + 20, sizeof(data_stats_footer_plain) - 20}};\r
-\r
-const struct fsdata_file file_stats_header_html[] = {{file_stats_footer_plain, data_stats_header_html, data_stats_header_html + 19, sizeof(data_stats_header_html) - 19}};\r
-\r
-const struct fsdata_file file_tcp_footer_plain[] = {{file_stats_header_html, data_tcp_footer_plain, data_tcp_footer_plain + 18, sizeof(data_tcp_footer_plain) - 18}};\r
-\r
-const struct fsdata_file file_tcp_header_html[] = {{file_tcp_footer_plain, data_tcp_header_html, data_tcp_header_html + 17, sizeof(data_tcp_header_html) - 17}};\r
-\r
-#define FS_ROOT file_tcp_header_html\r
-\r
-#define FS_NUMFILES 14\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fsdata.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/fsdata.h
deleted file mode 100644 (file)
index 94086c4..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*\r
- * Copyright (c) 2001, Swedish Institute of Computer Science.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. Neither the name of the Institute nor the names of its contributors \r
- *    may be used to endorse or promote products derived from this software \r
- *    without specific prior written permission. \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND \r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE \r
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \r
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \r
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \r
- * SUCH DAMAGE. \r
- *\r
- * This file is part of the lwIP TCP/IP stack.\r
- * \r
- * Author: Adam Dunkels <adam@sics.se>\r
- *\r
- * $Id: fsdata.h,v 1.4.2.1 2003/10/04 22:54:06 adam Exp $\r
- */\r
-#ifndef __FSDATA_H__\r
-#define __FSDATA_H__\r
-\r
-#include "uipopt.h"\r
-\r
-struct fsdata_file {\r
-  const struct fsdata_file *next;\r
-  const char *name;\r
-  const char *data;\r
-  const int len;\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-  u16_t count;\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-};\r
-\r
-struct fsdata_file_noconst {\r
-  struct fsdata_file *next;\r
-  char *name;\r
-  char *data;\r
-  int len;\r
-#ifdef FS_STATISTICS\r
-#if FS_STATISTICS == 1\r
-  u16_t count;\r
-#endif /* FS_STATISTICS */\r
-#endif /* FS_STATISTICS */\r
-};\r
-\r
-#endif /* __FSDATA_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/httpd.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/httpd.c
deleted file mode 100644 (file)
index 9d2c6e5..0000000
+++ /dev/null
@@ -1,373 +0,0 @@
-/**\r
- * \addtogroup exampleapps\r
- * @{\r
- */\r
-\r
-/**\r
- * \defgroup httpd Web server\r
- * @{\r
- *\r
- * The uIP web server is a very simplistic implementation of an HTTP\r
- * server. It can serve web pages and files from a read-only ROM\r
- * filesystem, and provides a very small scripting language.\r
- *\r
- * The script language is very simple and works as follows. Each\r
- * script line starts with a command character, either "i", "t", "c",\r
- * "#" or ".".  The "i" command tells the script interpreter to\r
- * "include" a file from the virtual file system and output it to the\r
- * web browser. The "t" command should be followed by a line of text\r
- * that is to be output to the browser. The "c" command is used to\r
- * call one of the C functions from the httpd-cgi.c file. A line that\r
- * starts with a "#" is ignored (i.e., the "#" denotes a comment), and\r
- * the "." denotes the last script line.\r
- *\r
- * The script that produces the file statistics page looks somewhat\r
- * like this:\r
- *\r
- \code\r
-i /header.html\r
-t <h1>File statistics</h1><br><table width="100%">\r
-t <tr><td><a href="/index.html">/index.html</a></td><td>\r
-c a /index.html\r
-t </td></tr> <tr><td><a href="/cgi/files">/cgi/files</a></td><td>\r
-c a /cgi/files\r
-t </td></tr> <tr><td><a href="/cgi/tcp">/cgi/tcp</a></td><td>\r
-c a /cgi/tcp\r
-t </td></tr> <tr><td><a href="/404.html">/404.html</a></td><td>\r
-c a /404.html\r
-t </td></tr></table>\r
-i /footer.plain\r
-.\r
- \endcode\r
- *\r
- */\r
-\r
-\r
-/**\r
- * \file\r
- * HTTP server.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: httpd.c,v 1.28.2.6 2003/10/07 13:22:27 adam Exp $\r
- *\r
- */\r
-\r
-\r
-#include "uip.h"\r
-#include "httpd.h"\r
-#include "fs.h"\r
-#include "fsdata.h"\r
-#include "cgi.h"\r
-\r
-#define NULL (void *)0\r
-\r
-/* The HTTP server states: */\r
-#define HTTP_NOGET        0\r
-#define HTTP_FILE         1\r
-#define HTTP_TEXT         2\r
-#define HTTP_FUNC         3\r
-#define HTTP_END          4\r
-\r
-#ifdef DEBUG\r
-#include <stdio.h>\r
-#define PRINT(x) \r
-#define PRINTLN(x)\r
-#else /* DEBUG */\r
-#define PRINT(x)\r
-#define PRINTLN(x)\r
-#endif /* DEBUG */\r
-\r
-struct httpd_state *hs;\r
-\r
-extern const struct fsdata_file file_index_html;\r
-extern const struct fsdata_file file_404_html;\r
-\r
-static void next_scriptline(void);\r
-static void next_scriptstate(void);\r
-\r
-#define ISO_G        0x47\r
-#define ISO_E        0x45\r
-#define ISO_T        0x54\r
-#define ISO_slash    0x2f    \r
-#define ISO_c        0x63\r
-#define ISO_g        0x67\r
-#define ISO_i        0x69\r
-#define ISO_space    0x20\r
-#define ISO_nl       0x0a\r
-#define ISO_cr       0x0d\r
-#define ISO_a        0x61\r
-#define ISO_t        0x74\r
-#define ISO_hash     0x23\r
-#define ISO_period   0x2e\r
-\r
-#define httpPORT       80\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize the web server.\r
- *\r
- * Starts to listen for incoming connection requests on TCP port 80.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-httpd_init(void)\r
-{\r
-  fs_init();\r
-  \r
-  /* Listen to port 80. */\r
-  uip_listen(HTONS(httpPORT));\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-httpd_appcall(void)\r
-{\r
-  struct fs_file fsfile;  \r
-\r
-  u8_t i;\r
-\r
-  switch(uip_conn->lport) {\r
-    /* This is the web server: */\r
-  case HTONS(httpPORT):\r
-    /* Pick out the application state from the uip_conn structure. */\r
-    hs = (struct httpd_state *)(uip_conn->appstate);\r
-\r
-    /* We use the uip_ test functions to deduce why we were\r
-       called. If uip_connected() is non-zero, we were called\r
-       because a remote host has connected to us. If\r
-       uip_newdata() is non-zero, we were called because the\r
-       remote host has sent us new data, and if uip_acked() is\r
-       non-zero, the remote host has acknowledged the data we\r
-       previously sent to it. */\r
-    if(uip_connected()) {\r
-      /* Since we have just been connected with the remote host, we\r
-         reset the state for this connection. The ->count variable\r
-         contains the amount of data that is yet to be sent to the\r
-         remote host, and the ->state is set to HTTP_NOGET to signal\r
-         that we haven't received any HTTP GET request for this\r
-         connection yet. */\r
-\r
-      hs->state = HTTP_NOGET;\r
-      hs->count = 0;\r
-      return;\r
-\r
-    } else if(uip_poll()) {\r
-      /* If we are polled ten times, we abort the connection. This is\r
-         because we don't want connections lingering indefinately in\r
-         the system. */\r
-      if(hs->count++ >= 10) {\r
-       uip_abort();\r
-      }\r
-      return;\r
-    } else if(uip_newdata() && hs->state == HTTP_NOGET) {\r
-      /* This is the first data we receive, and it should contain a\r
-        GET. */\r
-\r
-      /* Check for GET. */\r
-      if(uip_appdata[0] != ISO_G ||\r
-        uip_appdata[1] != ISO_E ||\r
-        uip_appdata[2] != ISO_T ||\r
-        uip_appdata[3] != ISO_space) {\r
-       /* If it isn't a GET, we abort the connection. */\r
-       uip_abort();\r
-       return;\r
-      }\r
-              \r
-      /* Find the file we are looking for. */\r
-      for(i = 4; i < 40; ++i) {\r
-       if(uip_appdata[i] == ISO_space ||\r
-          uip_appdata[i] == ISO_cr ||\r
-          uip_appdata[i] == ISO_nl) {\r
-         uip_appdata[i] = 0;\r
-         break;\r
-       }\r
-      }\r
-\r
-      PRINT("request for file ");\r
-      PRINTLN(&uip_appdata[4]);\r
-      \r
-      /* Check for a request for "/". */\r
-      if(uip_appdata[4] == ISO_slash &&\r
-        uip_appdata[5] == 0) {\r
-       fs_open(file_index_html.name, &fsfile);    \r
-      } else {\r
-       if(!fs_open((const char *)&uip_appdata[4], &fsfile)) {\r
-         PRINTLN("couldn't open file");\r
-         fs_open(file_404_html.name, &fsfile);\r
-       }\r
-      } \r
-\r
-\r
-      if(uip_appdata[4] == ISO_slash &&\r
-        uip_appdata[5] == ISO_c &&\r
-        uip_appdata[6] == ISO_g &&\r
-        uip_appdata[7] == ISO_i &&\r
-        uip_appdata[8] == ISO_slash) {\r
-       /* If the request is for a file that starts with "/cgi/", we\r
-           prepare for invoking a script. */   \r
-       hs->script = fsfile.data;\r
-       next_scriptstate();\r
-      } else {\r
-       hs->script = NULL;\r
-       /* The web server is now no longer in the HTTP_NOGET state, but\r
-          in the HTTP_FILE state since is has now got the GET from\r
-          the client and will start transmitting the file. */\r
-       hs->state = HTTP_FILE;\r
-\r
-       /* Point the file pointers in the connection state to point to\r
-          the first byte of the file. */\r
-       hs->dataptr = fsfile.data;\r
-       hs->count = fsfile.len; \r
-      }     \r
-    }\r
-\r
-    \r
-    if(hs->state != HTTP_FUNC) {\r
-      /* Check if the client (remote end) has acknowledged any data that\r
-        we've previously sent. If so, we move the file pointer further\r
-        into the file and send back more data. If we are out of data to\r
-        send, we close the connection. */\r
-      if(uip_acked()) {\r
-       if(hs->count >= uip_conn->len) {\r
-         hs->count -= uip_conn->len;\r
-         hs->dataptr += uip_conn->len;\r
-       } else {\r
-         hs->count = 0;\r
-       }\r
-       \r
-       if(hs->count == 0) {\r
-         if(hs->script != NULL) {\r
-           next_scriptline();\r
-           next_scriptstate();\r
-         } else {\r
-           uip_close();\r
-         }\r
-       }\r
-      }         \r
-    } else {\r
-      /* Call the CGI function. */\r
-      if(cgitab[hs->script[2] - ISO_a](uip_acked())) {\r
-       /* If the function returns non-zero, we jump to the next line\r
-           in the script. */\r
-       next_scriptline();\r
-       next_scriptstate();\r
-      }\r
-    }\r
-\r
-    if(hs->state != HTTP_FUNC && !uip_poll()) {\r
-      /* Send a piece of data, but not more than the MSS of the\r
-        connection. */\r
-      uip_send(hs->dataptr, hs->count);\r
-    }\r
-\r
-    /* Finally, return to uIP. Our outgoing packet will soon be on its\r
-       way... */\r
-    return;\r
-\r
-  default:\r
-    /* Should never happen. */\r
-    uip_abort();\r
-    break;\r
-  }  \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/* next_scriptline():\r
- *\r
- * Reads the script until it finds a newline. */\r
-static void\r
-next_scriptline(void)\r
-{\r
-  /* Loop until we find a newline character. */\r
-  do {\r
-    ++(hs->script);\r
-  } while(hs->script[0] != ISO_nl);\r
-\r
-  /* Eat up the newline as well. */\r
-  ++(hs->script);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/* next_sciptstate:\r
- *\r
- * Reads one line of script and decides what to do next.\r
- */\r
-static void\r
-next_scriptstate(void)\r
-{\r
-  struct fs_file fsfile;\r
-  u8_t i;\r
-\r
- again:\r
-  switch(hs->script[0]) {\r
-  case ISO_t:\r
-    /* Send a text string. */\r
-    hs->state = HTTP_TEXT;\r
-    hs->dataptr = &hs->script[2];\r
-\r
-    /* Calculate length of string. */\r
-    for(i = 0; hs->dataptr[i] != ISO_nl; ++i);\r
-    hs->count = i;    \r
-    break;\r
-  case ISO_c:\r
-    /* Call a function. */\r
-    hs->state = HTTP_FUNC;\r
-    hs->dataptr = NULL;\r
-    hs->count = 0;\r
-    cgitab[hs->script[2] - ISO_a](0);\r
-    break;\r
-  case ISO_i:   \r
-    /* Include a file. */\r
-    hs->state = HTTP_FILE;\r
-    if(!fs_open(&hs->script[2], &fsfile)) {\r
-      uip_abort();\r
-    }\r
-    hs->dataptr = fsfile.data;\r
-    hs->count = fsfile.len;\r
-    break;\r
-  case ISO_hash:\r
-    /* Comment line. */\r
-    next_scriptline();\r
-    goto again;\r
-    break;\r
-  case ISO_period:\r
-    /* End of script. */\r
-    hs->state = HTTP_END;\r
-    uip_close();\r
-    break;\r
-  default:\r
-    uip_abort();\r
-    break;\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/** @} */\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/httpd.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/httpd.h
deleted file mode 100644 (file)
index 34d6bb3..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/**\r
- * \addtogroup httpd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * HTTP server header file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: httpd.h,v 1.4.2.3 2003/10/06 22:56:44 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __HTTPD_H__\r
-#define __HTTPD_H__\r
-\r
-void httpd_init(void);\r
-void httpd_appcall(void);\r
-\r
-/* UIP_APPCALL: the name of the application function. This function\r
-   must return void and take no arguments (i.e., C type "void\r
-   appfunc(void)"). */\r
-#ifndef UIP_APPCALL\r
-#define UIP_APPCALL     httpd_appcall\r
-#endif\r
-\r
-struct httpd_state {\r
-  u8_t state; \r
-  u16_t count;\r
-  char *dataptr;\r
-  char *script;\r
-};\r
-\r
-\r
-/* UIP_APPSTATE_SIZE: The size of the application-specific state\r
-   stored in the uip_conn structure. */\r
-#ifndef UIP_APPSTATE_SIZE\r
-#define UIP_APPSTATE_SIZE (sizeof(struct httpd_state))\r
-#endif\r
-\r
-#define FS_STATISTICS 1\r
-\r
-extern struct httpd_state *hs;\r
-\r
-#endif /* __HTTPD_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/main_led b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/main_led
deleted file mode 100644 (file)
index 8fe01ea..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (c) 2001-2004 Rowley Associates Limited.\r
-//\r
-// This file may be distributed under the terms of the License Agreement\r
-// provided with this software.\r
-//\r
-// THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE\r
-// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\r
-//\r
-////////////////////////////////////////////////////////////////////////////////\r
-//\r
-//                      Olimex LPC-P1  LED Example\r
-//\r
-// Description\r
-// -----------\r
-// This example demonstrates writing to the programmable peripheral interface.\r
-//\r
-////////////////////////////////////////////////////////////////////////////////\r
-\r
-#include <targets/LPC210x.h>\r
-\r
-#define LED_RED (1<<8)\r
-#define LED_GREEN (1<<10)\r
-#define LED_YELLOW (1<<11)\r
-\r
-#define LED1 LED_YELLOW\r
-\r
-static void\r
-ledInit()\r
-{\r
-  IODIR |= LED1;\r
-  IOSET = LED1;\r
-}\r
-\r
-static void\r
-ledOn(void)\r
-{\r
-  IOCLR = LED1;\r
-}\r
-\r
-static void\r
-ledOff(void)\r
-{\r
-  IOSET = LED1;\r
-}\r
-\r
-void\r
-delay(int d)\r
-{     \r
-  for(; d; --d);\r
-}\r
\r
-int\r
-main(void)\r
-{\r
-  MAMCR = 2;\r
-  ledInit();\r
-  while (1)\r
-    {\r
-      ledOn();\r
-      delay(100000);\r
-      ledOff();\r
-      delay(100000);\r
-    }\r
-  return 0;\r
-}\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/makefsdata b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/makefsdata
deleted file mode 100644 (file)
index f5f75f1..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/perl\r
-\r
-open(OUTPUT, "> fsdata.c");\r
-\r
-chdir("fs");\r
-open(FILES, "find . -type f |");\r
-\r
-while($file = <FILES>) {\r
-\r
-    # Do not include files in CVS directories nor backup files.\r
-    if($file =~ /(CVS|~)/) {\r
-       next;\r
-    }\r
-    \r
-    chop($file);\r
-    \r
-    open(HEADER, "> /tmp/header") || die $!;\r
-    if($file =~ /404.html/) {\r
-      print(HEADER "HTTP/1.0 404 File not found\r\n");\r
-    } else {\r
-      print(HEADER "HTTP/1.0 200 OK\r\n");\r
-    }\r
-    print(HEADER "Server: uIP/0.9 (http://dunkels.com/adam/uip/)\r\n");\r
-    if($file =~ /\.html$/) {\r
-       print(HEADER "Content-type: text/html\r\n");\r
-    } elsif($file =~ /\.gif$/) {\r
-       print(HEADER "Content-type: image/gif\r\n");\r
-    } elsif($file =~ /\.png$/) {\r
-       print(HEADER "Content-type: image/png\r\n");\r
-    } elsif($file =~ /\.jpg$/) {\r
-       print(HEADER "Content-type: image/jpeg\r\n");\r
-    } else {\r
-       print(HEADER "Content-type: text/plain\r\n");\r
-    }\r
-    print(HEADER "\r\n");\r
-    close(HEADER);\r
-\r
-    unless($file =~ /\.plain$/ || $file =~ /cgi/) {\r
-       system("cat /tmp/header $file > /tmp/file");\r
-    } else {\r
-       system("cp $file /tmp/file");\r
-    }\r
-    \r
-    open(FILE, "/tmp/file");\r
-    unlink("/tmp/file");\r
-    unlink("/tmp/header");\r
-\r
-    $file =~ s/\.//;\r
-    $fvar = $file;\r
-    $fvar =~ s-/-_-g;\r
-    $fvar =~ s-\.-_-g;\r
-    print(OUTPUT "static const char data".$fvar."[] = {\n");\r
-    print(OUTPUT "\t/* $file */\n\t");\r
-    for($j = 0; $j < length($file); $j++) {\r
-       printf(OUTPUT "%#02x, ", unpack("C", substr($file, $j, 1)));\r
-    }\r
-    printf(OUTPUT "0,\n");\r
-    \r
-    \r
-    $i = 0;        \r
-    while(read(FILE, $data, 1)) {\r
-        if($i == 0) {\r
-            print(OUTPUT "\t");\r
-        }\r
-        printf(OUTPUT "%#02x, ", unpack("C", $data));\r
-        $i++;\r
-        if($i == 10) {\r
-            print(OUTPUT "\n");\r
-            $i = 0;\r
-        }\r
-    }\r
-    print(OUTPUT "};\n\n");\r
-    close(FILE);\r
-    push(@fvars, $fvar);\r
-    push(@files, $file);\r
-}\r
-\r
-for($i = 0; $i < @fvars; $i++) {\r
-    $file = $files[$i];\r
-    $fvar = $fvars[$i];\r
-\r
-    if($i == 0) {\r
-        $prevfile = "NULL";\r
-    } else {\r
-        $prevfile = "file" . $fvars[$i - 1];\r
-    }\r
-    print(OUTPUT "const struct fsdata_file file".$fvar."[] = {{$prevfile, data$fvar, ");\r
-    print(OUTPUT "data$fvar + ". (length($file) + 1) .", ");\r
-    print(OUTPUT "sizeof(data$fvar) - ". (length($file) + 1) ."}};\n\n");\r
-}\r
-\r
-print(OUTPUT "#define FS_ROOT file$fvars[$i - 1]\n\n");\r
-print(OUTPUT "#define FS_NUMFILES $i");\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/memb.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/memb.c
deleted file mode 100644 (file)
index 56e6634..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/**\r
- * \addtogroup exampleapps\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * Memory block allocation routines.\r
- * \author Adam Dunkels <adam@sics.se>\r
- *\r
- * The memory block allocation routines provide a simple yet powerful\r
- * set of functions for managing a set of memory blocks of fixed\r
- * size. A set of memory blocks is statically declared with the\r
- * MEMB() macro. Memory blocks are allocated from the declared\r
- * memory by the memb_alloc() function, and are deallocated with the\r
- * memb_free() function.\r
- *\r
- * \note Because of namespace clashes only one MEMB() can be\r
- * declared per C module, and the name scope of a MEMB() memory\r
- * block is local to each C module.\r
- *\r
- * The following example shows how to declare and use a memory block\r
- * called "cmem" which has 8 chunks of memory with each memory chunk\r
- * being 20 bytes large.\r
- *\r
- \code\r
- MEMB(cmem, 20, 8);\r
-\r
- int main(int argc, char *argv[]) {\r
-    char *ptr;\r
-    \r
-    memb_init(&cmem);\r
-\r
-    ptr = memb_alloc(&cmem);\r
-\r
-    if(ptr != NULL) {\r
-       do_something(ptr);\r
-    } else {\r
-       printf("Could not allocate memory.\n");\r
-    }\r
-\r
-    if(memb_free(ptr) == 0) {\r
-       printf("Deallocation succeeded.\n");\r
-    }\r
- }\r
- \endcode\r
- * \r
- */\r
-\r
-#include <string.h>\r
-\r
-#include "memb.h"\r
-\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize a memory block that was declared with MEMB().\r
- *\r
- * \param m A memory block previosly declared with MEMB().\r
- */\r
-/*------------------------------------------------------------------------------*/\r
-void\r
-memb_init(struct memb_blocks *m)\r
-{\r
-  memset(m->mem, (m->size + 1) * m->num, 0);\r
-}\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * Allocate a memory block from a block of memory declared with MEMB().\r
- *\r
- * \param m A memory block previosly declared with MEMB().\r
- */\r
-/*------------------------------------------------------------------------------*/\r
-char *\r
-memb_alloc(struct memb_blocks *m)\r
-{\r
-  int i;\r
-  char *ptr;\r
-\r
-  ptr = m->mem;\r
-  for(i = 0; i < m->num; ++i) {\r
-    if(*ptr == 0) {\r
-      /* If this block was unused, we increase the reference count to\r
-        indicate that it now is used and return a pointer to the\r
-        first byte following the reference counter. */\r
-      ++*ptr;\r
-      return ptr + 1;\r
-    }\r
-    ptr += m->size + 1;\r
-  }\r
-\r
-  /* No free block was found, so we return NULL to indicate failure to\r
-     allocate block. */\r
-  return NULL;\r
-}\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * Deallocate a memory block from a memory block previously declared\r
- * with MEMB().\r
- *\r
- * \param m m A memory block previosly declared with MEMB().\r
- *\r
- * \param ptr A pointer to the memory block that is to be deallocated.\r
- *\r
- * \return The new reference count for the memory block (should be 0\r
- * if successfully deallocated) or -1 if the pointer "ptr" did not\r
- * point to a legal memory block.\r
- */\r
-/*------------------------------------------------------------------------------*/\r
-char\r
-memb_free(struct memb_blocks *m, char *ptr)\r
-{\r
-  int i;\r
-  char *ptr2;\r
-\r
-  /* Walk through the list of blocks and try to find the block to\r
-     which the pointer "ptr" points to. */\r
-  ptr2 = m->mem;\r
-  for(i = 0; i < m->num; ++i) {\r
-    \r
-    if(ptr2 == ptr - 1) {\r
-      /* We've found to block to which "ptr" points so we decrease the\r
-        reference count and return the new value of it. */      \r
-      return --*ptr2;\r
-    }\r
-    ptr2 += m->size + 1;\r
-  }\r
-  return -1;\r
-}\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * Increase the reference count for a memory chunk.\r
- *\r
- * \note No sanity checks are currently made.\r
- *\r
- * \param m m A memory block previosly declared with MEMB().\r
- *\r
- * \param ptr A pointer to the memory chunk for which the reference\r
- * count should be increased.\r
- *\r
- * \return The new reference count.\r
- */\r
-/*------------------------------------------------------------------------------*/\r
-char\r
-memb_ref(struct memb_blocks *m, char *ptr)\r
-{\r
-  return ++*(ptr - 1);\r
-}\r
-/*------------------------------------------------------------------------------*/\r
-\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/memb.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/memb.h
deleted file mode 100644 (file)
index 505846f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/**\r
- * \addtogroup exampleapps\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * Memory block allocation routines.\r
- * \author Adam Dunkels <adam@sics.se>\r
- *\r
- */\r
-\r
-#ifndef __MEMB_H__\r
-#define __MEMB_H__\r
-\r
-/**\r
- * Declare a memory block.\r
- *\r
- * \param name The name of the memory block (later used with\r
- * memb_init(), memb_alloc() and memb_free()).\r
- *\r
- * \param size The size of each memory chunk, in bytes.\r
- *\r
- * \param num The total number of memory chunks in the block.\r
- *\r
- */\r
-#define MEMB(name, size, num) \\r
-        static char memb_mem[(size + 1) * num]; \\r
-        static struct memb_blocks name = {size, num, memb_mem}\r
-\r
-struct memb_blocks {\r
-  unsigned short size;\r
-  unsigned short num;\r
-  char *mem;\r
-};\r
-\r
-void  memb_init(struct memb_blocks *m);\r
-char *memb_alloc(struct memb_blocks *m);\r
-char  memb_ref(struct memb_blocks *m, char *ptr);\r
-char  memb_free(struct memb_blocks *m, char *ptr);\r
-\r
-\r
-#endif /* __MEMB_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/slipdev.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/slipdev.c
deleted file mode 100644 (file)
index fc968c8..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \defgroup slip Serial Line IP (SLIP) protocol\r
- * @{\r
- *\r
- * The SLIP protocol is a very simple way to transmit IP packets over\r
- * a serial line. It does not provide any framing or error control,\r
- * and is therefore not very widely used today.\r
- *\r
- * This SLIP implementation requires two functions for accessing the\r
- * serial device: slipdev_char_poll() and slipdev_char_put(). These\r
- * must be implemented specifically for the system on which the SLIP\r
- * protocol is to be run.\r
- */\r
-\r
-/**\r
- * \file\r
- * SLIP protocol implementation\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: slipdev.c,v 1.1.2.3 2003/10/07 13:23:01 adam Exp $\r
- *\r
- */\r
-\r
-/*\r
- * This is a generic implementation of the SLIP protocol over an RS232\r
- * (serial) device. \r
- *\r
- * Huge thanks to Ullrich von Bassewitz <uz@cc65.org> of cc65 fame for\r
- * and endless supply of bugfixes, insightsful comments and\r
- * suggestions, and improvements to this code!\r
- */\r
-\r
-#include "uip.h"\r
-\r
-#define SLIP_END     0300\r
-#define SLIP_ESC     0333\r
-#define SLIP_ESC_END 0334\r
-#define SLIP_ESC_ESC 0335\r
-\r
-static u8_t slip_buf[UIP_BUFSIZE];\r
-\r
-static u16_t len, tmplen;\r
-static u8_t lastc;\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Send the packet in the uip_buf and uip_appdata buffers using the\r
- * SLIP protocol.\r
- *\r
- * The first 40 bytes of the packet (the IP and TCP headers) are read\r
- * from the uip_buf buffer, and the following bytes (the application\r
- * data) are read from the uip_appdata buffer.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-slipdev_send(void)\r
-{\r
-  u16_t i;\r
-  u8_t *ptr;\r
-  u8_t c;\r
-\r
-  slipdev_char_put(SLIP_END);\r
-\r
-  ptr = uip_buf;\r
-  for(i = 0; i < uip_len; ++i) {\r
-    if(i == 40) {\r
-      ptr = (u8_t *)uip_appdata;\r
-    }\r
-    c = *ptr++;\r
-    switch(c) {\r
-    case SLIP_END:\r
-      slipdev_char_put(SLIP_ESC);\r
-      slipdev_char_put(SLIP_ESC_END);\r
-      break;\r
-    case SLIP_ESC:\r
-      slipdev_char_put(SLIP_ESC);\r
-      slipdev_char_put(SLIP_ESC_ESC);\r
-      break;\r
-    default:\r
-      slipdev_char_put(c);\r
-      break;\r
-    }\r
-  }\r
-  slipdev_char_put(SLIP_END);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/** \r
- * Poll the SLIP device for an available packet.\r
- *\r
- * This function will poll the SLIP device to see if a packet is\r
- * available. It uses a buffer in which all avaliable bytes from the\r
- * RS232 interface are read into. When a full packet has been read\r
- * into the buffer, the packet is copied into the uip_buf buffer and\r
- * the length of the packet is returned.\r
- *\r
- * \return The length of the packet placed in the uip_buf buffer, or\r
- * zero if no packet is available.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-slipdev_poll(void)\r
-{\r
-  u8_t c;\r
-  \r
-  while(slipdev_char_poll(c)) {\r
-    switch(c) {\r
-    case SLIP_ESC:\r
-      lastc = c;\r
-      break;\r
-      \r
-    case SLIP_END:\r
-      lastc = c;\r
-      /* End marker found, we copy our input buffer to the uip_buf\r
-        buffer and return the size of the packet we copied. */\r
-      memcpy(uip_buf, slip_buf, len);\r
-      tmplen = len;\r
-      len = 0;\r
-      return tmplen;\r
-      \r
-    default:     \r
-      if(lastc == SLIP_ESC) {\r
-       lastc = c;\r
-       /* Previous read byte was an escape byte, so this byte will be\r
-          interpreted differently from others. */\r
-       switch(c) {\r
-       case SLIP_ESC_END:\r
-         c = SLIP_END;\r
-         break;\r
-       case SLIP_ESC_ESC:\r
-         c = SLIP_ESC;\r
-         break;\r
-       }\r
-      } else {\r
-       lastc = c;\r
-      }\r
-      \r
-      slip_buf[len] = c;\r
-      ++len;\r
-      \r
-      if(len > UIP_BUFSIZE) {\r
-       len = 0;\r
-      }\r
-    \r
-      break;\r
-    }\r
-  }\r
-  return 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize the SLIP module.\r
- *\r
- * This function does not initialize the underlying RS232 device, but\r
- * only the SLIP part.\r
- */ \r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-slipdev_init(void)\r
-{\r
-  lastc = len = 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-\r
-/** @} */\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/slipdev.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/slipdev.h
deleted file mode 100644 (file)
index 3fbfe2d..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/**\r
- * \addtogroup slip\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * SLIP header file.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: slipdev.h,v 1.1.2.3 2003/10/06 22:42:51 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __SLIPDEV_H__\r
-#define __SLIPDEV_H__\r
-\r
-#include "uip.h"\r
-\r
-/**\r
- * Put a character on the serial device.\r
- *\r
- * This function is used by the SLIP implementation to put a character\r
- * on the serial device. It must be implemented specifically for the\r
- * system on which the SLIP implementation is to be run.\r
- *\r
- * \param c The character to be put on the serial device.\r
- */\r
-void slipdev_char_put(u8_t c);\r
-\r
-/**\r
- * Poll the serial device for a character.\r
- *\r
- * This function is used by the SLIP implementation to poll the serial\r
- * device for a character. It must be implemented specifically for the\r
- * system on which the SLIP implementation is to be run.\r
- *\r
- * The function should return immediately regardless if a character is\r
- * available or not. If a character is available it should be placed\r
- * at the memory location pointed to by the pointer supplied by the\r
- * arguement c.\r
- *\r
- * \param c A pointer to a byte that is filled in by the function with\r
- * the received character, if available.\r
- *\r
- * \retval 0 If no character is available.\r
- * \retval Non-zero If a character is available.\r
- */\r
-u8_t slipdev_char_poll(u8_t *c);\r
-\r
-void slipdev_init(void);\r
-void slipdev_send(void);\r
-u16_t slipdev_poll(void);\r
-\r
-#endif /* __SLIPDEV_H__ */\r
-\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/tapdev.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/tapdev.c
deleted file mode 100644 (file)
index 0d23fc4..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*\r
- * Copyright (c) 2001, Swedish Institute of Computer Science.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- *\r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- *\r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- *\r
- * 3. Neither the name of the Institute nor the names of its contributors \r
- *    may be used to endorse or promote products derived from this software \r
- *    without specific prior written permission. \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND \r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE \r
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \r
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \r
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \r
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \r
- * SUCH DAMAGE. \r
- *\r
- * Author: Adam Dunkels <adam@sics.se>\r
- *\r
- * $Id: tapdev.c,v 1.7.2.1 2003/10/07 13:23:19 adam Exp $\r
- */\r
-\r
-\r
-#include <fcntl.h>\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-#include <unistd.h>\r
-#include <string.h>\r
-#include <sys/ioctl.h>\r
-#include <sys/socket.h>\r
-#include <sys/types.h>\r
-#include <sys/time.h>\r
-#include <sys/uio.h>\r
-#include <sys/socket.h>\r
-\r
-#ifdef linux\r
-#include <sys/ioctl.h>\r
-#include <linux/if.h>\r
-#include <linux/if_tun.h>\r
-#define DEVTAP "/dev/net/tun"\r
-#else  /* linux */\r
-#define DEVTAP "/dev/tap0"\r
-#endif /* linux */\r
-\r
-#include "uip.h"\r
-\r
-static int fd;\r
-\r
-static unsigned long lasttime;\r
-static struct timezone tz;\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-tapdev_init(void)\r
-{\r
-  char buf[1024];\r
-  \r
-  fd = open(DEVTAP, O_RDWR);\r
-  if(fd == -1) {\r
-    perror("tapdev: tapdev_init: open");\r
-    exit(1);\r
-  }\r
-\r
-#ifdef linux\r
-  {\r
-    struct ifreq ifr;\r
-    memset(&ifr, 0, sizeof(ifr));\r
-    ifr.ifr_flags = IFF_TAP|IFF_NO_PI;\r
-    if (ioctl(fd, TUNSETIFF, (void *) &ifr) < 0) {\r
-      perror(buf);\r
-      exit(1);\r
-    }\r
-  }\r
-#endif /* Linux */\r
-\r
-  snprintf(buf, sizeof(buf), "ifconfig tap0 inet %d.%d.%d.%d",\r
-          UIP_DRIPADDR0, UIP_DRIPADDR1, UIP_DRIPADDR2, UIP_DRIPADDR3);\r
-  system(buf);\r
-\r
-  lasttime = 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-unsigned int\r
-tapdev_read(void)\r
-{\r
-  fd_set fdset;\r
-  struct timeval tv, now;\r
-  int ret;\r
-  \r
-  if(lasttime >= 500000) {\r
-    lasttime = 0;\r
-    return 0;\r
-  }\r
-  \r
-  tv.tv_sec = 0;\r
-  tv.tv_usec = 500000 - lasttime;\r
-\r
-\r
-  FD_ZERO(&fdset);\r
-  FD_SET(fd, &fdset);\r
-\r
-  gettimeofday(&now, &tz);  \r
-  ret = select(fd + 1, &fdset, NULL, NULL, &tv);\r
-  if(ret == 0) {\r
-    lasttime = 0;    \r
-    return 0;\r
-  } \r
-  ret = read(fd, uip_buf, UIP_BUFSIZE);  \r
-  if(ret == -1) {\r
-    perror("tap_dev: tapdev_read: read");\r
-  }\r
-  gettimeofday(&tv, &tz);\r
-  lasttime += (tv.tv_sec - now.tv_sec) * 1000000 + (tv.tv_usec - now.tv_usec);\r
-\r
-  return ret;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-tapdev_send(void)\r
-{\r
-  int ret;\r
-  struct iovec iov[2];\r
-  \r
-#ifdef linux\r
-  {\r
-    char tmpbuf[UIP_BUFSIZE];\r
-    int i;\r
-\r
-    for(i = 0; i < 40 + UIP_LLH_LEN; i++) {\r
-      tmpbuf[i] = uip_buf[i];\r
-    }\r
-    \r
-    for(; i < uip_len; i++) {\r
-      tmpbuf[i] = uip_appdata[i - 40 - UIP_LLH_LEN];\r
-    }\r
-    \r
-    ret = write(fd, tmpbuf, uip_len);\r
-  }  \r
-#else \r
-\r
-  if(uip_len < 40 + UIP_LLH_LEN) {\r
-    ret = write(fd, uip_buf, uip_len + UIP_LLH_LEN);\r
-  } else {\r
-    iov[0].iov_base = uip_buf;\r
-    iov[0].iov_len = 40 + UIP_LLH_LEN;\r
-    iov[1].iov_base = (char *)uip_appdata;\r
-    iov[1].iov_len = uip_len - (40 + UIP_LLH_LEN);  \r
-    \r
-    ret = writev(fd, iov, 2);\r
-  }\r
-#endif\r
-  if(ret == -1) {\r
-    perror("tap_dev: tapdev_send: writev");\r
-    exit(1);\r
-  }\r
-}  \r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/tapdev.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/tapdev.h
deleted file mode 100644 (file)
index 66f1a4a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: tapdev.h,v 1.1.2.1 2003/10/04 22:54:17 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __TAPDEV_H__\r
-#define __TAPDEV_H__\r
-\r
-void tapdev_init(void);\r
-unsigned int tapdev_read(void);\r
-void tapdev_send(void);\r
-\r
-#endif /* __TAPDEV_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/telnetd-shell.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/telnetd-shell.c
deleted file mode 100644 (file)
index 7dff714..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-/**\r
- * \addtogroup telnetd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * An example telnet server shell\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the Contiki desktop OS.\r
- *\r
- * $Id: telnetd-shell.c,v 1.1.2.1 2003/10/06 22:56:22 adam Exp $\r
- *\r
- */\r
-\r
-#include "uip.h"\r
-#include "telnetd.h"\r
-#include <string.h>\r
-\r
-struct ptentry {\r
-  char c;\r
-  void (* pfunc)(struct telnetd_state *s, char *str);\r
-};\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-parse(struct telnetd_state *s, register char *str, struct ptentry *t)\r
-{\r
-  register struct ptentry *p;\r
-  char *sstr;\r
-\r
-  sstr = str;\r
-  \r
-  /* Loop over the parse table entries in t in order to find one that\r
-     matches the first character in str. */\r
-  for(p = t; p->c != 0; ++p) {\r
-    if(*str == p->c) {\r
-      /* Skip rest of the characters up to the first space. */\r
-      while(*str != ' ') {\r
-       ++str;\r
-      }\r
-\r
-      /* Skip all spaces.*/\r
-      while(*str == ' ') {\r
-       ++str;\r
-      }\r
-\r
-      /* Call parse table entry function and return. */\r
-      p->pfunc(s, str);\r
-      return;\r
-    }\r
-  }\r
-\r
-  /* Did not find matching entry in parse table. We just call the\r
-     default handler supplied by the caller and return. */\r
-  p->pfunc(s, str);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-exitt(struct telnetd_state *s, char *str)\r
-{\r
-  telnetd_close(s);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-inttostr(register char *str, unsigned int i)\r
-{\r
-  str[0] = '0' + i / 100;\r
-  if(str[0] == '0') {\r
-    str[0] = ' ';\r
-  }\r
-  str[1] = '0' + (i / 10) % 10;\r
-  if(str[1] == '0') {\r
-    str[1] = ' ';\r
-  }\r
-  str[2] = '0' + i % 10;\r
-  str[3] = ' ';\r
-  str[4] = 0;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-stats(struct telnetd_state *s, char *strr)\r
-{\r
-  char str[10];\r
-\r
-  inttostr(str, uip_stat.ip.recv);\r
-  telnetd_output(s, "IP packets received ", str);\r
-  inttostr(str, uip_stat.ip.sent);\r
-  telnetd_output(s, "IP packets sent ", str);\r
-  inttostr(str, uip_stat.ip.drop);\r
-  telnetd_output(s, "IP packets dropped ", str);\r
-\r
-  inttostr(str, uip_stat.icmp.recv);\r
-  telnetd_output(s, "ICMP packets received ", str);\r
-  inttostr(str, uip_stat.icmp.sent);\r
-  telnetd_output(s, "ICMP packets sent ", str);\r
-  inttostr(str, uip_stat.icmp.drop);\r
-  telnetd_output(s, "ICMP packets dropped ", str);\r
-\r
-  inttostr(str, uip_stat.tcp.recv);\r
-  telnetd_output(s, "TCP packets received ", str);\r
-  inttostr(str, uip_stat.tcp.sent);\r
-  telnetd_output(s, "TCP packets sent ", str);\r
-  inttostr(str, uip_stat.tcp.drop);\r
-  telnetd_output(s, "TCP packets dropped ", str);\r
-  inttostr(str, uip_stat.tcp.rexmit);\r
-  telnetd_output(s, "TCP packets retransmitted ", str);\r
-  inttostr(str, uip_stat.tcp.synrst);\r
-  telnetd_output(s, "TCP connection attempts ", str);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-help(struct telnetd_state *s, char *str)\r
-{\r
-  telnetd_output(s, "Available commands:", "");\r
-  telnetd_output(s, "stats - show uIP statistics", "");\r
-  telnetd_output(s, "exit  - exit shell", "");  \r
-  telnetd_output(s, "?     - show this help", "");        \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-none(struct telnetd_state *s, char *str)\r
-{\r
-  if(strlen(str) > 0) {\r
-    telnetd_output(s, "Unknown command", "");\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static struct ptentry configparsetab[] =\r
-  {{'s', stats},\r
-   {'e', exitt},\r
-   {'?', help},\r
-\r
-   /* Default action */\r
-   {0, none}};\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_connected(struct telnetd_state *s)\r
-{\r
-  telnetd_output(s, "uIP command shell", "");\r
-  telnetd_output(s, "Type '?' for help", "");  \r
-  telnetd_prompt(s, "uIP-0.9> "); \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_input(struct telnetd_state *s, char *cmd)\r
-{\r
-  parse(s, cmd, configparsetab);\r
-  telnetd_prompt(s, "uIP-0.9> "); \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/telnetd.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/telnetd.c
deleted file mode 100644 (file)
index dba5222..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-/**\r
- * \addtogroup exampleapps\r
- * @{\r
- */\r
-\r
-/**\r
- * \defgroup telnetd Telnet server\r
- * @{\r
- *\r
- * The uIP telnet server provides a command based interface to uIP. It\r
- * allows using the "telnet" application to access uIP, and implements\r
- * the required telnet option negotiation.\r
- *\r
- * The code is structured in a way which makes it possible to add\r
- * commands without having to rewrite the main telnet code. The main\r
- * telnet code calls two callback functions, telnetd_connected() and\r
- * telnetd_input(), when a telnet connection has been established and\r
- * when a line of text arrives on a telnet connection. These two\r
- * functions can be implemented in a way which suits the particular\r
- * application or environment in which the uIP system is intended to\r
- * be run.\r
- *\r
- * The uIP distribution contains an example telnet shell\r
- * implementation that provides a basic set of commands.\r
- */\r
-\r
-/**\r
- * \file\r
- * Implementation of the Telnet server.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: telnetd.c,v 1.1.2.2 2003/10/07 13:47:50 adam Exp $\r
- *\r
- */\r
-\r
-#include "uip.h"\r
-#include "memb.h"\r
-#include "telnetd.h"\r
-#include <string.h>\r
-\r
-#define ISO_nl       0x0a\r
-#define ISO_cr       0x0d\r
-\r
-MEMB(linemem, TELNETD_LINELEN, TELNETD_NUMLINES);\r
-\r
-static u8_t i;\r
-\r
-#define STATE_NORMAL 0\r
-#define STATE_IAC    1\r
-#define STATE_WILL   2\r
-#define STATE_WONT   3\r
-#define STATE_DO     4  \r
-#define STATE_DONT   5\r
-#define STATE_CLOSE  6\r
-\r
-#define TELNET_IAC   255\r
-#define TELNET_WILL  251\r
-#define TELNET_WONT  252\r
-#define TELNET_DO    253\r
-#define TELNET_DONT  254\r
-/*-----------------------------------------------------------------------------------*/\r
-static char *\r
-alloc_line(void)\r
-{  \r
-  return memb_alloc(&linemem);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-dealloc_line(char *line)\r
-{\r
-  memb_free(&linemem, line);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-sendline(struct telnetd_state *s, char *line)\r
-{\r
-  static unsigned int i;\r
-  for(i = 0; i < TELNETD_NUMLINES; ++i) {\r
-    if(s->lines[i] == NULL) {\r
-      s->lines[i] = line;\r
-      break;\r
-    }\r
-  }\r
-  if(i == TELNETD_NUMLINES) {\r
-    dealloc_line(line);\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Close a telnet session.\r
- *\r
- * This function can be called from a telnet command in order to close\r
- * the connection.\r
- *\r
- * \param s The connection which is to be closed.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_close(struct telnetd_state *s)\r
-{\r
-  s->state = STATE_CLOSE;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Print a prompt on a telnet connection.\r
- *\r
- * This function can be called by the telnet command shell in order to\r
- * print out a command prompt.\r
- *\r
- * \param s A telnet connection.\r
- *\r
- * \param str The command prompt.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_prompt(struct telnetd_state *s, char *str)\r
-{\r
-  char *line;\r
-  line = alloc_line();\r
-  if(line != NULL) {\r
-    strncpy(line, str, TELNETD_LINELEN);\r
-    sendline(s, line);\r
-  }         \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Print out a string on a telnet connection.\r
- *\r
- * This function can be called from a telnet command parser in order\r
- * to print out a string of text on the connection. The two strings\r
- * given as arguments to the function will be concatenated, a carrige\r
- * return and a new line character will be added, and the line is\r
- * sent.\r
- *\r
- * \param s The telnet connection.\r
- *\r
- * \param str1 The first string.\r
- *\r
- * \param str2 The second string.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_output(struct telnetd_state *s, char *str1, char *str2)\r
-{\r
-  static unsigned len;\r
-  char *line;\r
-  \r
-  line = alloc_line();\r
-  if(line != NULL) {\r
-    len = strlen(str1);\r
-    strncpy(line, str1, TELNETD_LINELEN);\r
-    if(len < TELNETD_LINELEN) {\r
-      strncpy(line + len, str2, TELNETD_LINELEN - len);\r
-    }\r
-    len = strlen(line);\r
-    if(len < TELNETD_LINELEN - 2) {\r
-      line[len] = ISO_cr;\r
-      line[len+1] = ISO_nl;\r
-      line[len+2] = 0;\r
-    }\r
-    sendline(s, line);\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize the telnet server.\r
- *\r
- * This function will perform the necessary initializations and start\r
- * listening on TCP port 23.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_init(void)\r
-{\r
-  memb_init(&linemem);\r
-  uip_listen(HTONS(23));\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-acked(struct telnetd_state *s)     \r
-{\r
-  dealloc_line(s->lines[0]);\r
-  for(i = 1; i < TELNETD_NUMLINES; ++i) {\r
-    s->lines[i - 1] = s->lines[i];\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-senddata(struct telnetd_state *s)    \r
-{\r
-  if(s->lines[0] != NULL) {\r
-    uip_send(s->lines[0], strlen(s->lines[0]));\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-getchar(struct telnetd_state *s, u8_t c)\r
-{\r
-  if(c == ISO_cr) {\r
-    return;\r
-  }\r
-  \r
-  s->buf[(int)s->bufptr] = c;  \r
-  if(s->buf[(int)s->bufptr] == ISO_nl ||\r
-     s->bufptr == sizeof(s->buf) - 1) {    \r
-    if(s->bufptr > 0) {\r
-      s->buf[(int)s->bufptr] = 0;\r
-    }\r
-    telnetd_input(s, s->buf);\r
-    s->bufptr = 0;\r
-  } else {\r
-    ++s->bufptr;\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-sendopt(struct telnetd_state *s, u8_t option, u8_t value)\r
-{\r
-  char *line;\r
-  line = alloc_line();\r
-  if(line != NULL) {\r
-    line[0] = TELNET_IAC;\r
-    line[1] = option;\r
-    line[2] = value;\r
-    line[3] = 0;\r
-    sendline(s, line);\r
-  }       \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-newdata(struct telnetd_state *s)\r
-{\r
-  u16_t len;\r
-  u8_t c;\r
-    \r
-  \r
-  len = uip_datalen();\r
-  \r
-  while(len > 0 && s->bufptr < sizeof(s->buf)) {\r
-    c = *uip_appdata;\r
-    ++uip_appdata;\r
-    --len;\r
-    switch(s->state) {\r
-    case STATE_IAC:\r
-      if(c == TELNET_IAC) {\r
-       getchar(s, c);\r
-       s->state = STATE_NORMAL;\r
-      } else {\r
-       switch(c) {\r
-       case TELNET_WILL:\r
-         s->state = STATE_WILL;\r
-         break;\r
-       case TELNET_WONT:\r
-         s->state = STATE_WONT;\r
-         break;\r
-       case TELNET_DO:\r
-         s->state = STATE_DO;\r
-         break;\r
-       case TELNET_DONT:\r
-         s->state = STATE_DONT;\r
-         break;\r
-       default:\r
-         s->state = STATE_NORMAL;\r
-         break;\r
-       }\r
-      }\r
-      break;\r
-    case STATE_WILL:\r
-      /* Reply with a DONT */\r
-      sendopt(s, TELNET_DONT, c);\r
-      s->state = STATE_NORMAL;\r
-      break;\r
-      \r
-    case STATE_WONT:\r
-      /* Reply with a DONT */\r
-      sendopt(s, TELNET_DONT, c);\r
-      s->state = STATE_NORMAL;\r
-      break;\r
-    case STATE_DO:\r
-      /* Reply with a WONT */\r
-      sendopt(s, TELNET_WONT, c);\r
-      s->state = STATE_NORMAL;\r
-      break;\r
-    case STATE_DONT:\r
-      /* Reply with a WONT */\r
-      sendopt(s, TELNET_WONT, c);\r
-      s->state = STATE_NORMAL;\r
-      break;\r
-    case STATE_NORMAL:\r
-      if(c == TELNET_IAC) {\r
-       s->state = STATE_IAC;\r
-      } else {\r
-       getchar(s, c);\r
-      }      \r
-      break;\r
-    } \r
-\r
-    \r
-  }  \r
-  \r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-telnetd_app(void)\r
-{\r
-  struct telnetd_state *s;\r
-\r
-  s = (struct telnetd_state *)uip_conn->appstate;\r
-  \r
-  if(uip_connected()) {\r
-\r
-    for(i = 0; i < TELNETD_NUMLINES; ++i) {\r
-      s->lines[i] = NULL;\r
-    }\r
-    s->bufptr = 0;\r
-    s->state = STATE_NORMAL;\r
-\r
-    telnetd_connected(s);\r
-    senddata(s);\r
-    return;\r
-  }\r
-\r
-  if(s->state == STATE_CLOSE) {\r
-    s->state = STATE_NORMAL;\r
-    uip_close();\r
-    return;\r
-  }\r
-  \r
-  if(uip_closed()) {\r
-    telnetd_output(s, "Connection closed", "");\r
-  }\r
-\r
-  \r
-  if(uip_aborted()) {\r
-    telnetd_output(s, "Connection reset", "");\r
-  }\r
-  \r
-  if(uip_timedout()) {\r
-    telnetd_output(s, "Connection timed out", "");\r
-  }\r
-  \r
-  if(uip_acked()) {\r
-    acked(s);\r
-  }\r
-  \r
-  if(uip_newdata()) {\r
-    newdata(s);\r
-  }\r
-  \r
-  if(uip_rexmit() ||\r
-     uip_newdata() ||\r
-     uip_acked()) {\r
-    senddata(s);\r
-  } else if(uip_poll()) {    \r
-    senddata(s);\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/telnetd.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/telnetd.h
deleted file mode 100644 (file)
index 254e44f..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/**\r
- * \addtogroup telnetd\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * Header file for the telnet server.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2002, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: telnetd.h,v 1.1.2.2 2003/10/07 13:22:27 adam Exp $\r
- *\r
- */\r
-#ifndef __TELNETD_H__\r
-#define __TELNETD_H__\r
-\r
-#include "uip.h"\r
-\r
-/**\r
- * The maximum length of a telnet line.\r
- *\r
- * \hideinitializer\r
- */\r
-#define TELNETD_LINELEN 36\r
-\r
-/**\r
- * The number of output lines being buffered for all telnet\r
- * connections.\r
- *\r
- * \hideinitializer\r
- */\r
-#define TELNETD_NUMLINES 2\r
-\r
-/**\r
- * A telnet connection structure.\r
- */\r
-struct telnetd_state {\r
-  char *lines[TELNETD_NUMLINES];\r
-  char buf[TELNETD_LINELEN];\r
-  char bufptr;\r
-  u8_t state;\r
-};\r
-\r
-\r
-/**\r
- * Callback function that is called when a telnet connection has been\r
- * established.\r
- *\r
- * \param s The telnet connection. \r
- */\r
-void telnetd_connected(struct telnetd_state *s);\r
-\r
-/**\r
- * Callback function that is called when a line of text has arrived on\r
- * a telnet connection.\r
- *\r
- * \param s The telnet connection.\r
- *\r
- * \param cmd The line of text.\r
- */\r
-void telnetd_input(struct telnetd_state *s, char *cmd);\r
-\r
-\r
-void telnetd_close(struct telnetd_state *s);\r
-void telnetd_output(struct telnetd_state *s, char *s1, char *s2);\r
-void telnetd_prompt(struct telnetd_state *s, char *str);\r
-\r
-void telnetd_app(void);\r
-\r
-#ifndef UIP_APPCALL\r
-#define UIP_APPCALL     telnetd_app\r
-#endif\r
-\r
-#ifndef UIP_APPSTATE_SIZE\r
-#define UIP_APPSTATE_SIZE (sizeof(struct telnetd_state))\r
-#endif\r
-\r
-void telnetd_init(void);\r
-\r
-\r
-#endif /* __TELNET_H__ */\r
-\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uIP_Task.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uIP_Task.c
deleted file mode 100644 (file)
index fe79b51..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: main.c,v 1.10.2.4 2003/10/21 21:27:51 adam Exp $\r
- *\r
- */\r
-\r
-\r
-#include <stdlib.h>   /* For system(). */\r
-#include <stdio.h>    /* For printf(). */\r
-\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-#undef HTONS\r
-\r
-#include "cs8900a.h"\r
-#include "uip.h"\r
-#include "uip_arp.h"\r
-#include "tapdev.h"\r
-#include "httpd.h"\r
-\r
-static const struct uip_eth_addr ethaddr = {{0x00,0x00,0xe2,0x58,0xb6,0x6b}};\r
-\r
-#define BUF ((struct uip_eth_hdr *)&uip_buf[0])\r
-#define uipSHORT_DELAY         ( ( TickType_t ) 2 / portTICK_PERIOD_MS )\r
-\r
-#ifndef NULL\r
-#define NULL (void *)0\r
-#endif /* NULL */\r
-\r
-static volatile TickType_t start, current;\r
-\r
-#define RT_CLOCK_SECOND ( configTICK_RATE_HZ / 2 )\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * \internal\r
- * A real-time clock.\r
- *\r
- * This example main() function uses polling of a real-time clock in\r
- * order to know when the periodic processing should be\r
- * performed. This is implemented using this function - rt_ticks(). In\r
- * this example unix implementation, it simply calls the unix function\r
- * gettimeofday() which returns the current wall clock time.\r
- *\r
- * For a micro-controller, a simple way to implement this function is\r
- * by having a counter that is incremented by a timer interrupt and\r
- * read by this function.\r
- * \r
- * The macro RT_CLOCK_SECOND should be defined as the approximate\r
- * number of ticks that are elapsed during one second. \r
- */\r
-#define rt_ticks xTaskGetTickCount\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-void vuIP_TASK( void *pvParameters )\r
-{\r
-u8_t i, arptimer;\r
-u16_t addr[2];\r
-int z = 3;\r
-\r
-       /* Initialize the uIP TCP/IP stack. */\r
-       uip_init();\r
-       uip_arp_init();\r
-\r
-       /* Initialize the device driver. */ \r
-       cs8900a_init();\r
-\r
-       /* Initialize the HTTP server. */\r
-       httpd_init();\r
-\r
-       start = rt_ticks();\r
-       arptimer = 0;\r
-  \r
-       while(1) \r
-       {\r
-               /* Let the network device driver read an entire IP packet\r
-               into the uip_buf. If it returns > 0, there is a packet in the\r
-               uip_buf buffer. */\r
-               uip_len = cs8900a_poll();\r
-\r
-               if(uip_len > 0) \r
-               {\r
-                       /* A packet is present in the packet buffer. We call the\r
-                       appropriate ARP functions depending on what kind of packet we\r
-                       have received. If the packet is an IP packet, we should call\r
-                       uip_input() as well. */\r
-                       if(BUF->type == htons(UIP_ETHTYPE_IP)) \r
-                       {\r
-                               uip_arp_ipin();\r
-                               uip_input();\r
-                               /* If the above function invocation resulted in data that\r
-                               should be sent out on the network, the global variable\r
-                               uip_len is set to a value > 0. */\r
-                               if(uip_len > 0) \r
-                               {\r
-                                       uip_arp_out();\r
-                                       cs8900a_send();\r
-                               }\r
-                       } \r
-                       else if(BUF->type == htons(UIP_ETHTYPE_ARP)) \r
-                       {\r
-                               uip_arp_arpin();\r
-                               /* If the above function invocation resulted in data that\r
-                               should be sent out on the network, the global variable\r
-                               uip_len is set to a value > 0. */       \r
-                               if(uip_len > 0) \r
-                               {       \r
-                                       cs8900a_send();\r
-                               }\r
-                       }\r
-               } \r
-               else \r
-               {\r
-                       /* The poll function returned 0, so no packet was\r
-                       received. Instead we check if there is time that we do the\r
-                       periodic processing. */\r
-                       current = rt_ticks();\r
-\r
-                       if((u16_t)(current - start) >= (u16_t)RT_CLOCK_SECOND / 2) \r
-                       {\r
-                               start = current;\r
-\r
-                               for(i = 0; i < UIP_CONNS; i++) \r
-                               {\r
-                                       uip_periodic(i);\r
-\r
-                                       /* If the above function invocation resulted in data that\r
-                                       should be sent out on the network, the global variable\r
-                                       uip_len is set to a value > 0. */\r
-                                       \r
-                                       if(uip_len > 0) \r
-                                       {\r
-                                               uip_arp_out();\r
-                                               cs8900a_send();\r
-                                       }\r
-                               }\r
-\r
-                               #if UIP_UDP\r
-                                       for(i = 0; i < UIP_UDP_CONNS; i++) \r
-                                       {\r
-                                               uip_udp_periodic(i);\r
-\r
-                                               /* If the above function invocation resulted in data that\r
-                                               should be sent out on the network, the global variable\r
-                                               uip_len is set to a value > 0. */\r
-\r
-                                               if(uip_len > 0) \r
-                                               {\r
-                                                       uip_arp_out();\r
-                                                       tapdev_send();\r
-                                               }\r
-                                       }\r
-                               #endif /* UIP_UDP */\r
-\r
-                               /* Call the ARP timer function every 10 seconds. */\r
-                               if(++arptimer == 20) \r
-                               {       \r
-                                       uip_arp_timer();\r
-                                       arptimer = 0;\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               vTaskDelay( uipSHORT_DELAY );\r
-               }   }\r
-       }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-\r
-\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip.c
deleted file mode 100644 (file)
index 3ef7e8d..0000000
+++ /dev/null
@@ -1,1509 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * The uIP TCP/IP stack code.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip.c,v 1.62.2.10 2003/10/07 13:23:01 adam Exp $\r
- *\r
- */\r
-\r
-/*\r
-This is a small implementation of the IP and TCP protocols (as well as\r
-some basic ICMP stuff). The implementation couples the IP, TCP and the\r
-application layers very tightly. To keep the size of the compiled code\r
-down, this code also features heavy usage of the goto statement.\r
-\r
-The principle is that we have a small buffer, called the uip_buf, in\r
-which the device driver puts an incoming packet. The TCP/IP stack\r
-parses the headers in the packet, and calls upon the application. If\r
-the remote host has sent data to the application, this data is present\r
-in the uip_buf and the application read the data from there. It is up\r
-to the application to put this data into a byte stream if needed. The\r
-application will not be fed with data that is out of sequence.\r
-\r
-If the application whishes to send data to the peer, it should put its\r
-data into the uip_buf, 40 bytes from the start of the buffer. The\r
-TCP/IP stack will calculate the checksums, and fill in the necessary\r
-header fields and finally send the packet back to the peer.\r
-*/\r
-\r
-#include "uip.h"\r
-#include "uipopt.h"\r
-#include "uip_arch.h"\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* Variable definitions. */\r
-\r
-\r
-/* The IP address of this host. If it is defined to be fixed (by setting UIP_FIXEDADDR to 1 in uipopt.h), the address is set here. Otherwise, the address */\r
-#if UIP_FIXEDADDR > 0\r
-const u16_t uip_hostaddr[2] =\r
-  {HTONS((UIP_IPADDR0 << 8) | UIP_IPADDR1),\r
-   HTONS((UIP_IPADDR2 << 8) | UIP_IPADDR3)};\r
-const u16_t uip_arp_draddr[2] =\r
-  {HTONS((UIP_DRIPADDR0 << 8) | UIP_DRIPADDR1),\r
-   HTONS((UIP_DRIPADDR2 << 8) | UIP_DRIPADDR3)};\r
-const u16_t uip_arp_netmask[2] =\r
-  {HTONS((UIP_NETMASK0 << 8) | UIP_NETMASK1),\r
-   HTONS((UIP_NETMASK2 << 8) | UIP_NETMASK3)};\r
-#else\r
-u16_t uip_hostaddr[2];       \r
-u16_t uip_arp_draddr[2], uip_arp_netmask[2];\r
-#endif /* UIP_FIXEDADDR */\r
-\r
-u8_t uip_buf[UIP_BUFSIZE+2];   /* The packet buffer that contains\r
-                               incoming packets. */\r
-volatile u8_t *uip_appdata;  /* The uip_appdata pointer points to\r
-                               application data. */\r
-volatile u8_t *uip_sappdata;  /* The uip_appdata pointer points to the\r
-                                application data which is to be sent. */\r
-#if UIP_URGDATA > 0\r
-volatile u8_t *uip_urgdata;  /* The uip_urgdata pointer points to\r
-                               urgent data (out-of-band data), if\r
-                               present. */\r
-volatile u8_t uip_urglen, uip_surglen;\r
-#endif /* UIP_URGDATA > 0 */\r
-\r
-volatile u16_t uip_len, uip_slen;\r
-                             /* The uip_len is either 8 or 16 bits,\r
-                               depending on the maximum packet\r
-                               size. */\r
-\r
-volatile u8_t uip_flags;     /* The uip_flags variable is used for\r
-                               communication between the TCP/IP stack\r
-                               and the application program. */\r
-struct uip_conn *uip_conn;   /* uip_conn always points to the current\r
-                               connection. */\r
-\r
-struct uip_conn uip_conns[UIP_CONNS];\r
-                             /* The uip_conns array holds all TCP\r
-                               connections. */\r
-u16_t uip_listenports[UIP_LISTENPORTS];\r
-                             /* The uip_listenports list all currently\r
-                               listning ports. */\r
-#if UIP_UDP\r
-struct uip_udp_conn *uip_udp_conn;\r
-struct uip_udp_conn uip_udp_conns[UIP_UDP_CONNS];\r
-#endif /* UIP_UDP */\r
-\r
-\r
-static u16_t ipid;           /* Ths ipid variable is an increasing\r
-                               number that is used for the IP ID\r
-                               field. */\r
-\r
-static u8_t iss[4];          /* The iss variable is used for the TCP\r
-                               initial sequence number. */\r
-\r
-#if UIP_ACTIVE_OPEN\r
-static u16_t lastport;       /* Keeps track of the last port used for\r
-                               a new connection. */\r
-#endif /* UIP_ACTIVE_OPEN */\r
-\r
-/* Temporary variables. */\r
-volatile u8_t uip_acc32[4];\r
-static u8_t c, opt;\r
-static u16_t tmp16;\r
-\r
-/* Structures and definitions. */\r
-#define TCP_FIN 0x01\r
-#define TCP_SYN 0x02\r
-#define TCP_RST 0x04\r
-#define TCP_PSH 0x08\r
-#define TCP_ACK 0x10\r
-#define TCP_URG 0x20\r
-#define TCP_CTL 0x3f\r
-\r
-#define ICMP_ECHO_REPLY 0\r
-#define ICMP_ECHO       8     \r
-\r
-/* Macros. */\r
-#define BUF ((uip_tcpip_hdr *)&uip_buf[UIP_LLH_LEN])\r
-#define FBUF ((uip_tcpip_hdr *)&uip_reassbuf[0])\r
-#define ICMPBUF ((uip_icmpip_hdr *)&uip_buf[UIP_LLH_LEN])\r
-#define UDPBUF ((uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN])\r
-\r
-#if UIP_STATISTICS == 1\r
-struct uip_stats uip_stat;\r
-#define UIP_STAT(s) s\r
-#else\r
-#define UIP_STAT(s)\r
-#endif /* UIP_STATISTICS == 1 */\r
-\r
-#if UIP_LOGGING == 1\r
-#include <stdio.h>\r
-void uip_log(char *msg);\r
-#define UIP_LOG(m) uip_log(m)\r
-#else\r
-#define UIP_LOG(m)\r
-#endif /* UIP_LOGGING == 1 */\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_init(void)\r
-{\r
-  for(c = 0; c < UIP_LISTENPORTS; ++c) {\r
-    uip_listenports[c] = 0;\r
-  }\r
-  for(c = 0; c < UIP_CONNS; ++c) {\r
-    uip_conns[c].tcpstateflags = CLOSED;\r
-  }\r
-#if UIP_ACTIVE_OPEN\r
-  lastport = 1024;\r
-#endif /* UIP_ACTIVE_OPEN */\r
-\r
-#if UIP_UDP\r
-  for(c = 0; c < UIP_UDP_CONNS; ++c) {\r
-    uip_udp_conns[c].lport = 0;\r
-  }\r
-#endif /* UIP_UDP */\r
-  \r
-\r
-  /* IPv4 initialization. */\r
-#if UIP_FIXEDADDR == 0\r
-  uip_hostaddr[0] = uip_hostaddr[1] = 0;\r
-#endif /* UIP_FIXEDADDR */\r
-\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-#if UIP_ACTIVE_OPEN\r
-struct uip_conn *\r
-uip_connect(u16_t *ripaddr, u16_t rport)\r
-{\r
-  register struct uip_conn *conn, *cconn;\r
-  \r
-  /* Find an unused local port. */\r
- again:\r
-  ++lastport;\r
-\r
-  if(lastport >= 32000) {\r
-    lastport = 4096;\r
-  }\r
-\r
-  /* Check if this port is already in use, and if so try to find\r
-     another one. */\r
-  for(c = 0; c < UIP_CONNS; ++c) {\r
-    conn = &uip_conns[c];\r
-    if(conn->tcpstateflags != CLOSED &&\r
-       conn->lport == htons(lastport)) {\r
-      goto again;\r
-    }\r
-  }\r
-\r
-\r
-  conn = 0;\r
-  for(c = 0; c < UIP_CONNS; ++c) {\r
-    cconn = &uip_conns[c]; \r
-    if(cconn->tcpstateflags == CLOSED) {\r
-      conn = cconn;\r
-      break;\r
-    }\r
-    if(cconn->tcpstateflags == TIME_WAIT) {\r
-      if(conn == 0 ||\r
-        cconn->timer > uip_conn->timer) {\r
-       conn = cconn;\r
-      }\r
-    }\r
-  }\r
-\r
-  if(conn == 0) {\r
-    return 0;\r
-  }\r
-  \r
-  conn->tcpstateflags = SYN_SENT;\r
-\r
-  conn->snd_nxt[0] = iss[0];\r
-  conn->snd_nxt[1] = iss[1];\r
-  conn->snd_nxt[2] = iss[2];\r
-  conn->snd_nxt[3] = iss[3];\r
-\r
-  conn->initialmss = conn->mss = UIP_TCP_MSS;\r
-  \r
-  conn->len = 1;   /* TCP length of the SYN is one. */\r
-  conn->nrtx = 0;\r
-  conn->timer = 1; /* Send the SYN next time around. */\r
-  conn->rto = UIP_RTO;\r
-  conn->sa = 0;\r
-  conn->sv = 16;\r
-  conn->lport = htons(lastport);\r
-  conn->rport = rport;\r
-  conn->ripaddr[0] = ripaddr[0];\r
-  conn->ripaddr[1] = ripaddr[1];\r
-  \r
-  return conn;\r
-}\r
-#endif /* UIP_ACTIVE_OPEN */\r
-/*-----------------------------------------------------------------------------------*/\r
-#if UIP_UDP\r
-struct uip_udp_conn *\r
-uip_udp_new(u16_t *ripaddr, u16_t rport)\r
-{\r
-  register struct uip_udp_conn *conn;\r
-  \r
-  /* Find an unused local port. */\r
- again:\r
-  ++lastport;\r
-\r
-  if(lastport >= 32000) {\r
-    lastport = 4096;\r
-  }\r
-  \r
-  for(c = 0; c < UIP_UDP_CONNS; ++c) {\r
-    if(uip_udp_conns[c].lport == lastport) {\r
-      goto again;\r
-    }\r
-  }\r
-\r
-\r
-  conn = 0;\r
-  for(c = 0; c < UIP_UDP_CONNS; ++c) {\r
-    if(uip_udp_conns[c].lport == 0) {\r
-      conn = &uip_udp_conns[c]; \r
-      break;\r
-    }\r
-  }\r
-\r
-  if(conn == 0) {\r
-    return 0;\r
-  }\r
-  \r
-  conn->lport = HTONS(lastport);\r
-  conn->rport = HTONS(rport);\r
-  conn->ripaddr[0] = ripaddr[0];\r
-  conn->ripaddr[1] = ripaddr[1];\r
-  \r
-  return conn;\r
-}\r
-#endif /* UIP_UDP */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_unlisten(u16_t port)\r
-{\r
-  for(c = 0; c < UIP_LISTENPORTS; ++c) {\r
-    if(uip_listenports[c] == port) {\r
-      uip_listenports[c] = 0;\r
-      return;\r
-    }\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_listen(u16_t port)\r
-{\r
-  for(c = 0; c < UIP_LISTENPORTS; ++c) {\r
-    if(uip_listenports[c] == 0) {\r
-      uip_listenports[c] = port;\r
-      return;\r
-    }\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/* XXX: IP fragment reassembly: not well-tested. */\r
-\r
-#if UIP_REASSEMBLY\r
-#define UIP_REASS_BUFSIZE (UIP_BUFSIZE - UIP_LLH_LEN)\r
-static u8_t uip_reassbuf[UIP_REASS_BUFSIZE];\r
-static u8_t uip_reassbitmap[UIP_REASS_BUFSIZE / (8 * 8)];\r
-static const u8_t bitmap_bits[8] = {0xff, 0x7f, 0x3f, 0x1f,\r
-                                   0x0f, 0x07, 0x03, 0x01};\r
-static u16_t uip_reasslen;\r
-static u8_t uip_reassflags;\r
-#define UIP_REASS_FLAG_LASTFRAG 0x01\r
-static u8_t uip_reasstmr;\r
-\r
-#define IP_HLEN 20\r
-#define IP_MF   0x20\r
-\r
-static u8_t\r
-uip_reass(void)\r
-{\r
-  u16_t offset, len;\r
-  u16_t i;\r
-\r
-  /* If ip_reasstmr is zero, no packet is present in the buffer, so we\r
-     write the IP header of the fragment into the reassembly\r
-     buffer. The timer is updated with the maximum age. */\r
-  if(uip_reasstmr == 0) {\r
-    memcpy(uip_reassbuf, &BUF->vhl, IP_HLEN);\r
-    uip_reasstmr = UIP_REASS_MAXAGE;\r
-    uip_reassflags = 0;\r
-    /* Clear the bitmap. */\r
-    memset(uip_reassbitmap, sizeof(uip_reassbitmap), 0);\r
-  }\r
-\r
-  /* Check if the incoming fragment matches the one currently present\r
-     in the reasembly buffer. If so, we proceed with copying the\r
-     fragment into the buffer. */\r
-  if(BUF->srcipaddr[0] == FBUF->srcipaddr[0] &&\r
-     BUF->srcipaddr[1] == FBUF->srcipaddr[1] &&\r
-     BUF->destipaddr[0] == FBUF->destipaddr[0] &&\r
-     BUF->destipaddr[1] == FBUF->destipaddr[1] &&\r
-     BUF->ipid[0] == FBUF->ipid[0] &&\r
-     BUF->ipid[1] == FBUF->ipid[1]) {\r
-\r
-    len = (BUF->len[0] << 8) + BUF->len[1] - (BUF->vhl & 0x0f) * 4;\r
-    offset = (((BUF->ipoffset[0] & 0x3f) << 8) + BUF->ipoffset[1]) * 8;\r
-\r
-    /* If the offset or the offset + fragment length overflows the\r
-       reassembly buffer, we discard the entire packet. */\r
-    if(offset > UIP_REASS_BUFSIZE ||\r
-       offset + len > UIP_REASS_BUFSIZE) {\r
-      uip_reasstmr = 0;\r
-      goto nullreturn;\r
-    }\r
-\r
-    /* Copy the fragment into the reassembly buffer, at the right\r
-       offset. */\r
-    memcpy(&uip_reassbuf[IP_HLEN + offset],\r
-          (char *)BUF + (int)((BUF->vhl & 0x0f) * 4),\r
-          len);\r
-      \r
-    /* Update the bitmap. */\r
-    if(offset / (8 * 8) == (offset + len) / (8 * 8)) {\r
-      /* If the two endpoints are in the same byte, we only update\r
-        that byte. */\r
-            \r
-      uip_reassbitmap[offset / (8 * 8)] |=\r
-            bitmap_bits[(offset / 8 ) & 7] &\r
-            ~bitmap_bits[((offset + len) / 8 ) & 7];\r
-    } else {\r
-      /* If the two endpoints are in different bytes, we update the\r
-        bytes in the endpoints and fill the stuff inbetween with\r
-        0xff. */\r
-      uip_reassbitmap[offset / (8 * 8)] |=\r
-       bitmap_bits[(offset / 8 ) & 7];\r
-      for(i = 1 + offset / (8 * 8); i < (offset + len) / (8 * 8); ++i) {\r
-       uip_reassbitmap[i] = 0xff;\r
-      }      \r
-      uip_reassbitmap[(offset + len) / (8 * 8)] |=\r
-       ~bitmap_bits[((offset + len) / 8 ) & 7];\r
-    }\r
-    \r
-    /* If this fragment has the More Fragments flag set to zero, we\r
-       know that this is the last fragment, so we can calculate the\r
-       size of the entire packet. We also set the\r
-       IP_REASS_FLAG_LASTFRAG flag to indicate that we have received\r
-       the final fragment. */\r
-\r
-    if((BUF->ipoffset[0] & IP_MF) == 0) {\r
-      uip_reassflags |= UIP_REASS_FLAG_LASTFRAG;\r
-      uip_reasslen = offset + len;\r
-    }\r
-    \r
-    /* Finally, we check if we have a full packet in the buffer. We do\r
-       this by checking if we have the last fragment and if all bits\r
-       in the bitmap are set. */\r
-    if(uip_reassflags & UIP_REASS_FLAG_LASTFRAG) {\r
-      /* Check all bytes up to and including all but the last byte in\r
-        the bitmap. */\r
-      for(i = 0; i < uip_reasslen / (8 * 8) - 1; ++i) {\r
-       if(uip_reassbitmap[i] != 0xff) {\r
-         goto nullreturn;\r
-       }\r
-      }\r
-      /* Check the last byte in the bitmap. It should contain just the\r
-        right amount of bits. */\r
-      if(uip_reassbitmap[uip_reasslen / (8 * 8)] !=\r
-        (u8_t)~bitmap_bits[uip_reasslen / 8 & 7]) {\r
-       goto nullreturn;\r
-      }\r
-\r
-      /* If we have come this far, we have a full packet in the\r
-        buffer, so we allocate a pbuf and copy the packet into it. We\r
-        also reset the timer. */\r
-      uip_reasstmr = 0;\r
-      memcpy(BUF, FBUF, uip_reasslen);\r
-\r
-      /* Pretend to be a "normal" (i.e., not fragmented) IP packet\r
-        from now on. */\r
-      BUF->ipoffset[0] = BUF->ipoffset[1] = 0;\r
-      BUF->len[0] = uip_reasslen >> 8;\r
-      BUF->len[1] = uip_reasslen & 0xff;\r
-      BUF->ipchksum = 0;\r
-      BUF->ipchksum = ~(uip_ipchksum());\r
-\r
-      return uip_reasslen;\r
-    }\r
-  }\r
-\r
- nullreturn:\r
-  return 0;\r
-}\r
-#endif /* UIP_REASSEMBL */\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-uip_add_rcv_nxt(u16_t n)\r
-{\r
-  uip_add32(uip_conn->rcv_nxt, n);\r
-  uip_conn->rcv_nxt[0] = uip_acc32[0];\r
-  uip_conn->rcv_nxt[1] = uip_acc32[1];\r
-  uip_conn->rcv_nxt[2] = uip_acc32[2];\r
-  uip_conn->rcv_nxt[3] = uip_acc32[3];\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_process(u8_t flag)\r
-{\r
-  register struct uip_conn *uip_connr = uip_conn;\r
-  \r
-  uip_appdata = &uip_buf[40 + UIP_LLH_LEN];\r
-\r
-  \r
-  /* Check if we were invoked because of the perodic timer fireing. */\r
-  if(flag == UIP_TIMER) {\r
-#if UIP_REASSEMBLY\r
-    if(uip_reasstmr != 0) {\r
-      --uip_reasstmr;\r
-    }\r
-#endif /* UIP_REASSEMBLY */\r
-    /* Increase the initial sequence number. */\r
-    if(++iss[3] == 0) {\r
-      if(++iss[2] == 0) {\r
-       if(++iss[1] == 0) {\r
-         ++iss[0];\r
-       }\r
-      }\r
-    }    \r
-    uip_len = 0;\r
-    if(uip_connr->tcpstateflags == TIME_WAIT ||\r
-       uip_connr->tcpstateflags == FIN_WAIT_2) {\r
-      ++(uip_connr->timer);\r
-      if(uip_connr->timer == UIP_TIME_WAIT_TIMEOUT) {\r
-       uip_connr->tcpstateflags = CLOSED;\r
-      }\r
-    } else if(uip_connr->tcpstateflags != CLOSED) {\r
-      /* If the connection has outstanding data, we increase the\r
-        connection's timer and see if it has reached the RTO value\r
-        in which case we retransmit. */\r
-      if(uip_outstanding(uip_connr)) {\r
-       if(uip_connr->timer-- == 0) {\r
-         if(uip_connr->nrtx == UIP_MAXRTX ||\r
-            ((uip_connr->tcpstateflags == SYN_SENT ||\r
-              uip_connr->tcpstateflags == SYN_RCVD) &&\r
-             uip_connr->nrtx == UIP_MAXSYNRTX)) {\r
-           uip_connr->tcpstateflags = CLOSED;\r
-\r
-           /* We call UIP_APPCALL() with uip_flags set to\r
-              UIP_TIMEDOUT to inform the application that the\r
-              connection has timed out. */\r
-           uip_flags = UIP_TIMEDOUT;\r
-           UIP_APPCALL();\r
-\r
-           /* We also send a reset packet to the remote host. */\r
-           BUF->flags = TCP_RST | TCP_ACK;\r
-           goto tcp_send_nodata;\r
-         }\r
-\r
-         /* Exponential backoff. */\r
-         uip_connr->timer = UIP_RTO << (uip_connr->nrtx > 4?\r
-                                        4:\r
-                                        uip_connr->nrtx);\r
-         ++(uip_connr->nrtx);\r
-         \r
-         /* Ok, so we need to retransmit. We do this differently\r
-            depending on which state we are in. In ESTABLISHED, we\r
-            call upon the application so that it may prepare the\r
-            data for the retransmit. In SYN_RCVD, we resend the\r
-            SYNACK that we sent earlier and in LAST_ACK we have to\r
-            retransmit our FINACK. */\r
-         UIP_STAT(++uip_stat.tcp.rexmit);\r
-         switch(uip_connr->tcpstateflags & TS_MASK) {\r
-         case SYN_RCVD:\r
-           /* In the SYN_RCVD state, we should retransmit our\r
-               SYNACK. */\r
-           goto tcp_send_synack;\r
-           \r
-#if UIP_ACTIVE_OPEN\r
-         case SYN_SENT:\r
-           /* In the SYN_SENT state, we retransmit out SYN. */\r
-           BUF->flags = 0;\r
-           goto tcp_send_syn;\r
-#endif /* UIP_ACTIVE_OPEN */\r
-           \r
-         case ESTABLISHED:\r
-           /* In the ESTABLISHED state, we call upon the application\r
-               to do the actual retransmit after which we jump into\r
-               the code for sending out the packet (the apprexmit\r
-               label). */\r
-           uip_len = 0;\r
-           uip_slen = 0;\r
-           uip_flags = UIP_REXMIT;\r
-           UIP_APPCALL();\r
-           goto apprexmit;\r
-           \r
-         case FIN_WAIT_1:\r
-         case CLOSING:\r
-         case LAST_ACK:\r
-           /* In all these states we should retransmit a FINACK. */\r
-           goto tcp_send_finack;\r
-           \r
-         }\r
-       }\r
-      } else if((uip_connr->tcpstateflags & TS_MASK) == ESTABLISHED) {\r
-       /* If there was no need for a retransmission, we poll the\r
-           application for new data. */\r
-       uip_len = 0;\r
-       uip_slen = 0;\r
-       uip_flags = UIP_POLL;\r
-       UIP_APPCALL();\r
-       goto appsend;\r
-      }\r
-    }\r
-    goto drop;\r
-  }\r
-#if UIP_UDP \r
-  if(flag == UIP_UDP_TIMER) {\r
-    if(uip_udp_conn->lport != 0) {\r
-      uip_appdata = &uip_buf[UIP_LLH_LEN + 28];\r
-      uip_len = uip_slen = 0;\r
-      uip_flags = UIP_POLL;\r
-      UIP_UDP_APPCALL();\r
-      goto udp_send;\r
-    } else {\r
-      goto drop;\r
-    }\r
-  }\r
-#endif\r
-\r
-  /* This is where the input processing starts. */\r
-  UIP_STAT(++uip_stat.ip.recv);\r
-\r
-\r
-  /* Start of IPv4 input header processing code. */\r
-  \r
-  /* Check validity of the IP header. */  \r
-  if(BUF->vhl != 0x45)  { /* IP version and header length. */\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_STAT(++uip_stat.ip.vhlerr);\r
-    UIP_LOG("ip: invalid version or header length.");\r
-    goto drop;\r
-  }\r
-  \r
-  /* Check the size of the packet. If the size reported to us in\r
-     uip_len doesn't match the size reported in the IP header, there\r
-     has been a transmission error and we drop the packet. */\r
-  \r
-  if(BUF->len[0] != (uip_len >> 8)) { /* IP length, high byte. */\r
-    uip_len = (uip_len & 0xff) | (BUF->len[0] << 8);\r
-  }\r
-  if(BUF->len[1] != (uip_len & 0xff)) { /* IP length, low byte. */\r
-    uip_len = (uip_len & 0xff00) | BUF->len[1];\r
-  }\r
-\r
-  /* Check the fragment flag. */\r
-  if((BUF->ipoffset[0] & 0x3f) != 0 ||\r
-     BUF->ipoffset[1] != 0) { \r
-#if UIP_REASSEMBLY\r
-    uip_len = uip_reass();\r
-    if(uip_len == 0) {\r
-      goto drop;\r
-    }\r
-#else\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_STAT(++uip_stat.ip.fragerr);\r
-    UIP_LOG("ip: fragment dropped.");    \r
-    goto drop;\r
-#endif /* UIP_REASSEMBLY */\r
-  }\r
-\r
-  /* If we are configured to use ping IP address configuration and\r
-     hasn't been assigned an IP address yet, we accept all ICMP\r
-     packets. */\r
-#if UIP_PINGADDRCONF\r
-  if((uip_hostaddr[0] | uip_hostaddr[1]) == 0) {\r
-    if(BUF->proto == UIP_PROTO_ICMP) {\r
-      UIP_LOG("ip: possible ping config packet received.");\r
-      goto icmp_input;\r
-    } else {\r
-      UIP_LOG("ip: packet dropped since no address assigned.");\r
-      goto drop;\r
-    }\r
-  }\r
-#endif /* UIP_PINGADDRCONF */\r
-  \r
-  /* Check if the packet is destined for our IP address. */  \r
-  if(BUF->destipaddr[0] != uip_hostaddr[0]) {\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_LOG("ip: packet not for us.");        \r
-    goto drop;\r
-  }\r
-  if(BUF->destipaddr[1] != uip_hostaddr[1]) {\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_LOG("ip: packet not for us.");        \r
-    goto drop;\r
-  }\r
-\r
-#if 0\r
-  // IP checksum is wrong through Netgear DSL router\r
-  if (uip_ipchksum() != 0xffff) { /* Compute and check the IP header\r
-                                   checksum. */\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_STAT(++uip_stat.ip.chkerr);\r
-    UIP_LOG("ip: bad checksum.");    \r
-    goto drop;\r
-  }\r
-#endif\r
-\r
-  if(BUF->proto == UIP_PROTO_TCP)  /* Check for TCP packet. If so, jump\r
-                                     to the tcp_input label. */\r
-    goto tcp_input;\r
-\r
-#if UIP_UDP\r
-  if(BUF->proto == UIP_PROTO_UDP)\r
-    goto udp_input;\r
-#endif /* UIP_UDP */\r
-\r
-  if(BUF->proto != UIP_PROTO_ICMP) { /* We only allow ICMP packets from\r
-                                       here. */\r
-    UIP_STAT(++uip_stat.ip.drop);\r
-    UIP_STAT(++uip_stat.ip.protoerr);\r
-    UIP_LOG("ip: neither tcp nor icmp.");        \r
-    goto drop;\r
-  }\r
-  \r
- icmp_input:\r
-  UIP_STAT(++uip_stat.icmp.recv);\r
-  \r
-  /* ICMP echo (i.e., ping) processing. This is simple, we only change\r
-     the ICMP type from ECHO to ECHO_REPLY and adjust the ICMP\r
-     checksum before we return the packet. */\r
-  if(ICMPBUF->type != ICMP_ECHO) {\r
-    UIP_STAT(++uip_stat.icmp.drop);\r
-    UIP_STAT(++uip_stat.icmp.typeerr);\r
-    UIP_LOG("icmp: not icmp echo.");\r
-    goto drop;\r
-  }\r
-\r
-  /* If we are configured to use ping IP address assignment, we use\r
-     the destination IP address of this ping packet and assign it to\r
-     ourself. */\r
-#if UIP_PINGADDRCONF\r
-  if((uip_hostaddr[0] | uip_hostaddr[1]) == 0) {\r
-    uip_hostaddr[0] = BUF->destipaddr[0];\r
-    uip_hostaddr[1] = BUF->destipaddr[1];\r
-  }\r
-#endif /* UIP_PINGADDRCONF */  \r
-  \r
-  ICMPBUF->type = ICMP_ECHO_REPLY;\r
-  \r
-  if(ICMPBUF->icmpchksum >= HTONS(0xffff - (ICMP_ECHO << 8))) {\r
-    ICMPBUF->icmpchksum += HTONS(ICMP_ECHO << 8) + 1;\r
-  } else {\r
-    ICMPBUF->icmpchksum += HTONS(ICMP_ECHO << 8);\r
-  }\r
-  \r
-  /* Swap IP addresses. */\r
-  tmp16 = BUF->destipaddr[0];\r
-  BUF->destipaddr[0] = BUF->srcipaddr[0];\r
-  BUF->srcipaddr[0] = tmp16;\r
-  tmp16 = BUF->destipaddr[1];\r
-  BUF->destipaddr[1] = BUF->srcipaddr[1];\r
-  BUF->srcipaddr[1] = tmp16;\r
-\r
-  UIP_STAT(++uip_stat.icmp.sent);\r
-  goto send;\r
-\r
-  /* End of IPv4 input header processing code. */\r
-  \r
-\r
-#if UIP_UDP\r
-  /* UDP input processing. */\r
- udp_input:\r
-  /* UDP processing is really just a hack. We don't do anything to the\r
-     UDP/IP headers, but let the UDP application do all the hard\r
-     work. If the application sets uip_slen, it has a packet to\r
-     send. */\r
-#if UIP_UDP_CHECKSUMS\r
-  if(uip_udpchksum() != 0xffff) { \r
-    UIP_STAT(++uip_stat.udp.drop);\r
-    UIP_STAT(++uip_stat.udp.chkerr);\r
-    UIP_LOG("udp: bad checksum.");    \r
-    goto drop;\r
-  }  \r
-#endif /* UIP_UDP_CHECKSUMS */\r
-\r
-  /* Demultiplex this UDP packet between the UDP "connections". */\r
-  for(uip_udp_conn = &uip_udp_conns[0];\r
-      uip_udp_conn < &uip_udp_conns[UIP_UDP_CONNS];\r
-      ++uip_udp_conn) {\r
-    if(uip_udp_conn->lport != 0 &&\r
-       UDPBUF->destport == uip_udp_conn->lport &&\r
-       (uip_udp_conn->rport == 0 ||\r
-        UDPBUF->srcport == uip_udp_conn->rport) &&\r
-       BUF->srcipaddr[0] == uip_udp_conn->ripaddr[0] &&\r
-       BUF->srcipaddr[1] == uip_udp_conn->ripaddr[1]) {\r
-      goto udp_found; \r
-    }\r
-  }\r
-  goto drop;\r
-  \r
- udp_found:\r
-  uip_len = uip_len - 28;\r
-  uip_appdata = &uip_buf[UIP_LLH_LEN + 28];\r
-  uip_flags = UIP_NEWDATA;\r
-  uip_slen = 0;\r
-  UIP_UDP_APPCALL();\r
- udp_send:\r
-  if(uip_slen == 0) {\r
-    goto drop;      \r
-  }\r
-  uip_len = uip_slen + 28;\r
-\r
-  BUF->len[0] = (uip_len >> 8);\r
-  BUF->len[1] = (uip_len & 0xff);\r
-  \r
-  BUF->proto = UIP_PROTO_UDP;\r
-\r
-  UDPBUF->udplen = HTONS(uip_slen + 8);\r
-  UDPBUF->udpchksum = 0;\r
-#if UIP_UDP_CHECKSUMS \r
-  /* Calculate UDP checksum. */\r
-  UDPBUF->udpchksum = ~(uip_udpchksum());\r
-  if(UDPBUF->udpchksum == 0) {\r
-    UDPBUF->udpchksum = 0xffff;\r
-  }\r
-#endif /* UIP_UDP_CHECKSUMS */\r
-\r
-  BUF->srcport  = uip_udp_conn->lport;\r
-  BUF->destport = uip_udp_conn->rport;\r
-\r
-  BUF->srcipaddr[0] = uip_hostaddr[0];\r
-  BUF->srcipaddr[1] = uip_hostaddr[1];\r
-  BUF->destipaddr[0] = uip_udp_conn->ripaddr[0];\r
-  BUF->destipaddr[1] = uip_udp_conn->ripaddr[1];\r
\r
-  uip_appdata = &uip_buf[UIP_LLH_LEN + 40];\r
-  goto ip_send_nolen;\r
-#endif /* UIP_UDP */\r
-  \r
-  /* TCP input processing. */  \r
- tcp_input:\r
-  UIP_STAT(++uip_stat.tcp.recv);\r
-\r
-  /* Start of TCP input header processing code. */\r
-  \r
-#if 1  // FIXME\r
-  if(uip_tcpchksum() != 0xffff) {   /* Compute and check the TCP\r
-                                      checksum. */\r
-    UIP_STAT(++uip_stat.tcp.drop);\r
-    UIP_STAT(++uip_stat.tcp.chkerr);\r
-    UIP_LOG("tcp: bad checksum.");    \r
-    goto drop;\r
-  }\r
-#endif\r
-  \r
-  /* Demultiplex this segment. */\r
-  /* First check any active connections. */\r
-  for(uip_connr = &uip_conns[0]; uip_connr < &uip_conns[UIP_CONNS]; ++uip_connr) {\r
-    if(uip_connr->tcpstateflags != CLOSED &&\r
-       BUF->destport == uip_connr->lport &&\r
-       BUF->srcport == uip_connr->rport &&\r
-       BUF->srcipaddr[0] == uip_connr->ripaddr[0] &&\r
-       BUF->srcipaddr[1] == uip_connr->ripaddr[1]) {\r
-      goto found;    \r
-    }\r
-  }\r
-\r
-  /* If we didn't find and active connection that expected the packet,\r
-     either this packet is an old duplicate, or this is a SYN packet\r
-     destined for a connection in LISTEN. If the SYN flag isn't set,\r
-     it is an old packet and we send a RST. */\r
-  if((BUF->flags & TCP_CTL) != TCP_SYN)\r
-    goto reset;\r
-  \r
-  tmp16 = BUF->destport;\r
-  /* Next, check listening connections. */  \r
-  for(c = 0; c < UIP_LISTENPORTS; ++c) {\r
-    if(tmp16 == uip_listenports[c])\r
-      goto found_listen;\r
-  }\r
-  \r
-  /* No matching connection found, so we send a RST packet. */\r
-  UIP_STAT(++uip_stat.tcp.synrst);\r
- reset:\r
-\r
-  /* We do not send resets in response to resets. */\r
-  if(BUF->flags & TCP_RST) \r
-    goto drop;\r
-\r
-  UIP_STAT(++uip_stat.tcp.rst);\r
-  \r
-  BUF->flags = TCP_RST | TCP_ACK;\r
-  uip_len = 40;\r
-  BUF->tcpoffset = 5 << 4;\r
-\r
-  /* Flip the seqno and ackno fields in the TCP header. */\r
-  c = BUF->seqno[3];\r
-  BUF->seqno[3] = BUF->ackno[3];  \r
-  BUF->ackno[3] = c;\r
-  \r
-  c = BUF->seqno[2];\r
-  BUF->seqno[2] = BUF->ackno[2];  \r
-  BUF->ackno[2] = c;\r
-  \r
-  c = BUF->seqno[1];\r
-  BUF->seqno[1] = BUF->ackno[1];\r
-  BUF->ackno[1] = c;\r
-  \r
-  c = BUF->seqno[0];\r
-  BUF->seqno[0] = BUF->ackno[0];  \r
-  BUF->ackno[0] = c;\r
-\r
-  /* We also have to increase the sequence number we are\r
-     acknowledging. If the least significant byte overflowed, we need\r
-     to propagate the carry to the other bytes as well. */\r
-  if(++BUF->ackno[3] == 0) {\r
-    if(++BUF->ackno[2] == 0) {\r
-      if(++BUF->ackno[1] == 0) {\r
-       ++BUF->ackno[0];\r
-      }\r
-    }\r
-  }\r
\r
-  /* Swap port numbers. */\r
-  tmp16 = BUF->srcport;\r
-  BUF->srcport = BUF->destport;\r
-  BUF->destport = tmp16;\r
-  \r
-  /* Swap IP addresses. */\r
-  tmp16 = BUF->destipaddr[0];\r
-  BUF->destipaddr[0] = BUF->srcipaddr[0];\r
-  BUF->srcipaddr[0] = tmp16;\r
-  tmp16 = BUF->destipaddr[1];\r
-  BUF->destipaddr[1] = BUF->srcipaddr[1];\r
-  BUF->srcipaddr[1] = tmp16;\r
-\r
-  \r
-  /* And send out the RST packet! */\r
-  goto tcp_send_noconn;\r
-\r
-  /* This label will be jumped to if we matched the incoming packet\r
-     with a connection in LISTEN. In that case, we should create a new\r
-     connection and send a SYNACK in return. */\r
- found_listen:\r
-  /* First we check if there are any connections avaliable. Unused\r
-     connections are kept in the same table as used connections, but\r
-     unused ones have the tcpstate set to CLOSED. Also, connections in\r
-     TIME_WAIT are kept track of and we'll use the oldest one if no\r
-     CLOSED connections are found. Thanks to Eddie C. Dost for a very\r
-     nice algorithm for the TIME_WAIT search. */\r
-  uip_connr = 0;\r
-  for(c = 0; c < UIP_CONNS; ++c) {\r
-    if(uip_conns[c].tcpstateflags == CLOSED) {\r
-      uip_connr = &uip_conns[c];\r
-      break;\r
-    }\r
-    if(uip_conns[c].tcpstateflags == TIME_WAIT) {\r
-      if(uip_connr == 0 ||\r
-        uip_conns[c].timer > uip_connr->timer) {\r
-       uip_connr = &uip_conns[c];\r
-      }\r
-    }\r
-  }\r
-\r
-  if(uip_connr == 0) {\r
-    /* All connections are used already, we drop packet and hope that\r
-       the remote end will retransmit the packet at a time when we\r
-       have more spare connections. */\r
-    UIP_STAT(++uip_stat.tcp.syndrop);\r
-    UIP_LOG("tcp: found no unused connections.");\r
-    goto drop;\r
-  }\r
-  uip_conn = uip_connr;\r
-  \r
-  /* Fill in the necessary fields for the new connection. */\r
-  uip_connr->rto = uip_connr->timer = UIP_RTO;\r
-  uip_connr->sa = 0;\r
-  uip_connr->sv = 4;  \r
-  uip_connr->nrtx = 0;\r
-  uip_connr->lport = BUF->destport;\r
-  uip_connr->rport = BUF->srcport;\r
-  uip_connr->ripaddr[0] = BUF->srcipaddr[0];\r
-  uip_connr->ripaddr[1] = BUF->srcipaddr[1];\r
-  uip_connr->tcpstateflags = SYN_RCVD;\r
-\r
-  uip_connr->snd_nxt[0] = iss[0];\r
-  uip_connr->snd_nxt[1] = iss[1];\r
-  uip_connr->snd_nxt[2] = iss[2];\r
-  uip_connr->snd_nxt[3] = iss[3];\r
-  uip_connr->len = 1;\r
-\r
-  /* rcv_nxt should be the seqno from the incoming packet + 1. */\r
-  uip_connr->rcv_nxt[3] = BUF->seqno[3];\r
-  uip_connr->rcv_nxt[2] = BUF->seqno[2];\r
-  uip_connr->rcv_nxt[1] = BUF->seqno[1];\r
-  uip_connr->rcv_nxt[0] = BUF->seqno[0];\r
-  uip_add_rcv_nxt(1);\r
-\r
-  /* Parse the TCP MSS option, if present. */\r
-  if((BUF->tcpoffset & 0xf0) > 0x50) {\r
-    for(c = 0; c < ((BUF->tcpoffset >> 4) - 5) << 2 ;) {\r
-      opt = uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + c];\r
-      if(opt == 0x00) {\r
-       /* End of options. */   \r
-       break;\r
-      } else if(opt == 0x01) {\r
-       ++c;\r
-       /* NOP option. */\r
-      } else if(opt == 0x02 &&\r
-               uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0x04) {\r
-       /* An MSS option with the right option length. */       \r
-       tmp16 = ((u16_t)uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 2 + c] << 8) |\r
-         (u16_t)uip_buf[40 + UIP_LLH_LEN + 3 + c];\r
-       uip_connr->initialmss = uip_connr->mss =\r
-         tmp16 > UIP_TCP_MSS? UIP_TCP_MSS: tmp16;\r
-       \r
-       /* And we are done processing options. */\r
-       break;\r
-      } else {\r
-       /* All other options have a length field, so that we easily\r
-          can skip past them. */\r
-       if(uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0) {\r
-         /* If the length field is zero, the options are malformed\r
-            and we don't process them further. */\r
-         break;\r
-       }\r
-       c += uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c];\r
-      }      \r
-    }\r
-  }\r
-  \r
-  /* Our response will be a SYNACK. */\r
-#if UIP_ACTIVE_OPEN\r
- tcp_send_synack:\r
-  BUF->flags = TCP_ACK;    \r
-  \r
- tcp_send_syn:\r
-  BUF->flags |= TCP_SYN;    \r
-#else /* UIP_ACTIVE_OPEN */\r
- tcp_send_synack:\r
-  BUF->flags = TCP_SYN | TCP_ACK;    \r
-#endif /* UIP_ACTIVE_OPEN */\r
-  \r
-  /* We send out the TCP Maximum Segment Size option with our\r
-     SYNACK. */\r
-  BUF->optdata[0] = 2;\r
-  BUF->optdata[1] = 4;\r
-  BUF->optdata[2] = (UIP_TCP_MSS) / 256;\r
-  BUF->optdata[3] = (UIP_TCP_MSS) & 255;\r
-  uip_len = 44;\r
-  BUF->tcpoffset = 6 << 4;\r
-  goto tcp_send;\r
-\r
-  /* This label will be jumped to if we found an active connection. */\r
- found:\r
-  uip_conn = uip_connr;\r
-  uip_flags = 0;\r
-\r
-  /* We do a very naive form of TCP reset processing; we just accept\r
-     any RST and kill our connection. We should in fact check if the\r
-     sequence number of this reset is wihtin our advertised window\r
-     before we accept the reset. */\r
-  if(BUF->flags & TCP_RST) {\r
-    uip_connr->tcpstateflags = CLOSED;\r
-    UIP_LOG("tcp: got reset, aborting connection.");\r
-    uip_flags = UIP_ABORT;\r
-    UIP_APPCALL();\r
-    goto drop;\r
-  }      \r
-  /* Calculated the length of the data, if the application has sent\r
-     any data to us. */\r
-  c = (BUF->tcpoffset >> 4) << 2;\r
-  /* uip_len will contain the length of the actual TCP data. This is\r
-     calculated by subtracing the length of the TCP header (in\r
-     c) and the length of the IP header (20 bytes). */\r
-  uip_len = uip_len - c - 20;\r
-\r
-  /* First, check if the sequence number of the incoming packet is\r
-     what we're expecting next. If not, we send out an ACK with the\r
-     correct numbers in. */\r
-  if(uip_len > 0 &&\r
-     (BUF->seqno[0] != uip_connr->rcv_nxt[0] ||\r
-      BUF->seqno[1] != uip_connr->rcv_nxt[1] ||\r
-      BUF->seqno[2] != uip_connr->rcv_nxt[2] ||\r
-      BUF->seqno[3] != uip_connr->rcv_nxt[3])) {\r
-    goto tcp_send_ack;\r
-  }\r
-\r
-  /* Next, check if the incoming segment acknowledges any outstanding\r
-     data. If so, we update the sequence number, reset the length of\r
-     the outstanding data, calculate RTT estimations, and reset the\r
-     retransmission timer. */\r
-  if((BUF->flags & TCP_ACK) && uip_outstanding(uip_connr)) {\r
-    uip_add32(uip_connr->snd_nxt, uip_connr->len);\r
-    if(BUF->ackno[0] == uip_acc32[0] &&\r
-       BUF->ackno[1] == uip_acc32[1] &&\r
-       BUF->ackno[2] == uip_acc32[2] &&\r
-       BUF->ackno[3] == uip_acc32[3]) {\r
-      /* Update sequence number. */\r
-      uip_connr->snd_nxt[0] = uip_acc32[0];\r
-      uip_connr->snd_nxt[1] = uip_acc32[1];\r
-      uip_connr->snd_nxt[2] = uip_acc32[2];\r
-      uip_connr->snd_nxt[3] = uip_acc32[3];\r
-       \r
-\r
-      /* Do RTT estimation, unless we have done retransmissions. */\r
-      if(uip_connr->nrtx == 0) {\r
-       signed char m;\r
-       m = uip_connr->rto - uip_connr->timer;\r
-       /* This is taken directly from VJs original code in his paper */\r
-       m = m - (uip_connr->sa >> 3);\r
-       uip_connr->sa += m;\r
-       if(m < 0) {\r
-         m = -m;\r
-       }\r
-       m = m - (uip_connr->sv >> 2);\r
-       uip_connr->sv += m;\r
-       uip_connr->rto = (uip_connr->sa >> 3) + uip_connr->sv;\r
-\r
-      }\r
-      /* Set the acknowledged flag. */\r
-      uip_flags = UIP_ACKDATA;\r
-      /* Reset the retransmission timer. */\r
-      uip_connr->timer = uip_connr->rto;\r
-    }\r
-    \r
-  }\r
-\r
-  /* Do different things depending on in what state the connection is. */\r
-  switch(uip_connr->tcpstateflags & TS_MASK) {\r
-    /* CLOSED and LISTEN are not handled here. CLOSE_WAIT is not\r
-       implemented, since we force the application to close when the\r
-       peer sends a FIN (hence the application goes directly from\r
-       ESTABLISHED to LAST_ACK). */\r
-  case SYN_RCVD:\r
-    /* In SYN_RCVD we have sent out a SYNACK in response to a SYN, and\r
-       we are waiting for an ACK that acknowledges the data we sent\r
-       out the last time. Therefore, we want to have the UIP_ACKDATA\r
-       flag set. If so, we enter the ESTABLISHED state. */\r
-    if(uip_flags & UIP_ACKDATA) {\r
-      uip_connr->tcpstateflags = ESTABLISHED;\r
-      uip_flags = UIP_CONNECTED;\r
-      uip_connr->len = 0;\r
-      if(uip_len > 0) {\r
-        uip_flags |= UIP_NEWDATA;\r
-        uip_add_rcv_nxt(uip_len);\r
-      }\r
-      uip_slen = 0;\r
-      UIP_APPCALL();\r
-      goto appsend;\r
-    }\r
-    goto drop;\r
-#if UIP_ACTIVE_OPEN\r
-  case SYN_SENT:\r
-    /* In SYN_SENT, we wait for a SYNACK that is sent in response to\r
-       our SYN. The rcv_nxt is set to sequence number in the SYNACK\r
-       plus one, and we send an ACK. We move into the ESTABLISHED\r
-       state. */\r
-    if((uip_flags & UIP_ACKDATA) &&\r
-       BUF->flags == (TCP_SYN | TCP_ACK)) {\r
-\r
-      /* Parse the TCP MSS option, if present. */\r
-      if((BUF->tcpoffset & 0xf0) > 0x50) {\r
-       for(c = 0; c < ((BUF->tcpoffset >> 4) - 5) << 2 ;) {\r
-         opt = uip_buf[40 + UIP_LLH_LEN + c];\r
-         if(opt == 0x00) {\r
-           /* End of options. */       \r
-           break;\r
-         } else if(opt == 0x01) {\r
-           ++c;\r
-           /* NOP option. */\r
-         } else if(opt == 0x02 &&\r
-                   uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0x04) {\r
-           /* An MSS option with the right option length. */\r
-           tmp16 = (uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 2 + c] << 8) |\r
-             uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 3 + c];\r
-           uip_connr->initialmss =\r
-             uip_connr->mss = tmp16 > UIP_TCP_MSS? UIP_TCP_MSS: tmp16;\r
-\r
-           /* And we are done processing options. */\r
-           break;\r
-         } else {\r
-           /* All other options have a length field, so that we easily\r
-              can skip past them. */\r
-           if(uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == 0) {\r
-             /* If the length field is zero, the options are malformed\r
-                and we don't process them further. */\r
-             break;\r
-           }\r
-           c += uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c];\r
-         }      \r
-       }\r
-      }\r
-      uip_connr->tcpstateflags = ESTABLISHED;      \r
-      uip_connr->rcv_nxt[0] = BUF->seqno[0];\r
-      uip_connr->rcv_nxt[1] = BUF->seqno[1];\r
-      uip_connr->rcv_nxt[2] = BUF->seqno[2];\r
-      uip_connr->rcv_nxt[3] = BUF->seqno[3];\r
-      uip_add_rcv_nxt(1);\r
-      uip_flags = UIP_CONNECTED | UIP_NEWDATA;\r
-      uip_connr->len = 0;\r
-      uip_len = 0;\r
-      uip_slen = 0;\r
-      UIP_APPCALL();\r
-      goto appsend;\r
-    }\r
-    goto reset;\r
-#endif /* UIP_ACTIVE_OPEN */\r
-    \r
-  case ESTABLISHED:\r
-    /* In the ESTABLISHED state, we call upon the application to feed\r
-    data into the uip_buf. If the UIP_ACKDATA flag is set, the\r
-    application should put new data into the buffer, otherwise we are\r
-    retransmitting an old segment, and the application should put that\r
-    data into the buffer.\r
-\r
-    If the incoming packet is a FIN, we should close the connection on\r
-    this side as well, and we send out a FIN and enter the LAST_ACK\r
-    state. We require that there is no outstanding data; otherwise the\r
-    sequence numbers will be screwed up. */\r
-\r
-    if(BUF->flags & TCP_FIN) {\r
-      if(uip_outstanding(uip_connr)) {\r
-       goto drop;\r
-      }\r
-      uip_add_rcv_nxt(1 + uip_len);      \r
-      uip_flags = UIP_CLOSE;\r
-      if(uip_len > 0) {\r
-       uip_flags |= UIP_NEWDATA;\r
-      }\r
-      UIP_APPCALL();\r
-      uip_connr->len = 1;\r
-      uip_connr->tcpstateflags = LAST_ACK;\r
-      uip_connr->nrtx = 0;\r
-    tcp_send_finack:\r
-      BUF->flags = TCP_FIN | TCP_ACK;      \r
-      goto tcp_send_nodata;\r
-    }\r
-\r
-    /* Check the URG flag. If this is set, the segment carries urgent\r
-       data that we must pass to the application. */\r
-    if(BUF->flags & TCP_URG) {\r
-#if UIP_URGDATA > 0\r
-      uip_urglen = (BUF->urgp[0] << 8) | BUF->urgp[1];\r
-      if(uip_urglen > uip_len) {\r
-       /* There is more urgent data in the next segment to come. */\r
-       uip_urglen = uip_len;\r
-      }\r
-      uip_add_rcv_nxt(uip_urglen);\r
-      uip_len -= uip_urglen;\r
-      uip_urgdata = uip_appdata;\r
-      uip_appdata += uip_urglen;\r
-    } else {\r
-      uip_urglen = 0;\r
-#endif /* UIP_URGDATA > 0 */\r
-      uip_appdata += (BUF->urgp[0] << 8) | BUF->urgp[1];\r
-      uip_len -= (BUF->urgp[0] << 8) | BUF->urgp[1];\r
-    }\r
-    \r
-    \r
-    /* If uip_len > 0 we have TCP data in the packet, and we flag this\r
-       by setting the UIP_NEWDATA flag and update the sequence number\r
-       we acknowledge. If the application has stopped the dataflow\r
-       using uip_stop(), we must not accept any data packets from the\r
-       remote host. */\r
-    if(uip_len > 0 && !(uip_connr->tcpstateflags & UIP_STOPPED)) {\r
-      uip_flags |= UIP_NEWDATA;\r
-      uip_add_rcv_nxt(uip_len);\r
-    }\r
-\r
-    /* Check if the available buffer space advertised by the other end\r
-       is smaller than the initial MSS for this connection. If so, we\r
-       set the current MSS to the window size to ensure that the\r
-       application does not send more data than the other end can\r
-       handle.\r
-\r
-       If the remote host advertises a zero window, we set the MSS to\r
-       the initial MSS so that the application will send an entire MSS\r
-       of data. This data will not be acknowledged by the receiver,\r
-       and the application will retransmit it. This is called the\r
-       "persistent timer" and uses the retransmission mechanim.\r
-    */\r
-    tmp16 = ((u16_t)BUF->wnd[0] << 8) + (u16_t)BUF->wnd[1];\r
-    if(tmp16 > uip_connr->initialmss ||\r
-       tmp16 == 0) {\r
-      tmp16 = uip_connr->initialmss;\r
-    }\r
-    uip_connr->mss = tmp16;\r
-\r
-    /* If this packet constitutes an ACK for outstanding data (flagged\r
-       by the UIP_ACKDATA flag, we should call the application since it\r
-       might want to send more data. If the incoming packet had data\r
-       from the peer (as flagged by the UIP_NEWDATA flag), the\r
-       application must also be notified.\r
-\r
-       When the application is called, the global variable uip_len\r
-       contains the length of the incoming data. The application can\r
-       access the incoming data through the global pointer\r
-       uip_appdata, which usually points 40 bytes into the uip_buf\r
-       array.\r
-\r
-       If the application wishes to send any data, this data should be\r
-       put into the uip_appdata and the length of the data should be\r
-       put into uip_len. If the application don't have any data to\r
-       send, uip_len must be set to 0. */\r
-    if(uip_flags & (UIP_NEWDATA | UIP_ACKDATA)) {\r
-      uip_slen = 0;\r
-      UIP_APPCALL();\r
-\r
-    appsend:\r
-      \r
-      if(uip_flags & UIP_ABORT) {\r
-       uip_slen = 0;\r
-       uip_connr->tcpstateflags = CLOSED;\r
-       BUF->flags = TCP_RST | TCP_ACK;\r
-       goto tcp_send_nodata;\r
-      }\r
-\r
-      if(uip_flags & UIP_CLOSE) {\r
-       uip_slen = 0;\r
-       uip_connr->len = 1;\r
-       uip_connr->tcpstateflags = FIN_WAIT_1;\r
-       uip_connr->nrtx = 0;\r
-       BUF->flags = TCP_FIN | TCP_ACK;\r
-       goto tcp_send_nodata;   \r
-      }\r
-\r
-      /* If uip_slen > 0, the application has data to be sent. */\r
-      if(uip_slen > 0) {\r
-\r
-       /* If the connection has acknowledged data, the contents of\r
-          the ->len variable should be discarded. */ \r
-       if((uip_flags & UIP_ACKDATA) != 0) {\r
-         uip_connr->len = 0;\r
-       }\r
-\r
-       /* If the ->len variable is non-zero the connection has\r
-          already data in transit and cannot send anymore right\r
-          now. */\r
-       if(uip_connr->len == 0) {\r
-\r
-         /* The application cannot send more than what is allowed by\r
-            the mss (the minumum of the MSS and the available\r
-            window). */\r
-         if(uip_slen > uip_connr->mss) {\r
-           uip_slen = uip_connr->mss;\r
-         }\r
-\r
-         /* Remember how much data we send out now so that we know\r
-            when everything has been acknowledged. */\r
-         uip_connr->len = uip_slen;\r
-       } else {\r
-\r
-         /* If the application already had unacknowledged data, we\r
-            make sure that the application does not send (i.e.,\r
-            retransmit) out more than it previously sent out. */\r
-         uip_slen = uip_connr->len;\r
-       }\r
-      } else {\r
-       uip_connr->len = 0;\r
-      }\r
-      uip_connr->nrtx = 0;\r
-    apprexmit:\r
-      uip_appdata = uip_sappdata;\r
-      \r
-      /* If the application has data to be sent, or if the incoming\r
-         packet had new data in it, we must send out a packet. */\r
-      if(uip_slen > 0 && uip_connr->len > 0) {\r
-       /* Add the length of the IP and TCP headers. */\r
-       uip_len = uip_connr->len + UIP_TCPIP_HLEN;\r
-       /* We always set the ACK flag in response packets. */\r
-       BUF->flags = TCP_ACK | TCP_PSH;\r
-       /* Send the packet. */\r
-       goto tcp_send_noopts;\r
-      }\r
-      /* If there is no data to send, just send out a pure ACK if\r
-        there is newdata. */\r
-      if(uip_flags & UIP_NEWDATA) {\r
-       uip_len = UIP_TCPIP_HLEN;\r
-       BUF->flags = TCP_ACK;\r
-       goto tcp_send_noopts;\r
-      }\r
-    }\r
-    goto drop;\r
-  case LAST_ACK:\r
-    /* We can close this connection if the peer has acknowledged our\r
-       FIN. This is indicated by the UIP_ACKDATA flag. */     \r
-    if(uip_flags & UIP_ACKDATA) {\r
-      uip_connr->tcpstateflags = CLOSED;\r
-      uip_flags = UIP_CLOSE;\r
-      UIP_APPCALL();\r
-    }\r
-    break;\r
-    \r
-  case FIN_WAIT_1:\r
-    /* The application has closed the connection, but the remote host\r
-       hasn't closed its end yet. Thus we do nothing but wait for a\r
-       FIN from the other side. */\r
-    if(uip_len > 0) {\r
-      uip_add_rcv_nxt(uip_len);\r
-    }\r
-    if(BUF->flags & TCP_FIN) {\r
-      if(uip_flags & UIP_ACKDATA) {\r
-       uip_connr->tcpstateflags = TIME_WAIT;\r
-       uip_connr->timer = 0;\r
-       uip_connr->len = 0;\r
-      } else {\r
-       uip_connr->tcpstateflags = CLOSING;\r
-      }\r
-      uip_add_rcv_nxt(1);\r
-      uip_flags = UIP_CLOSE;\r
-      UIP_APPCALL();\r
-      goto tcp_send_ack;\r
-    } else if(uip_flags & UIP_ACKDATA) {\r
-      uip_connr->tcpstateflags = FIN_WAIT_2;\r
-      uip_connr->len = 0;\r
-      goto drop;\r
-    }\r
-    if(uip_len > 0) {\r
-      goto tcp_send_ack;\r
-    }\r
-    goto drop;\r
-      \r
-  case FIN_WAIT_2:\r
-    if(uip_len > 0) {\r
-      uip_add_rcv_nxt(uip_len);\r
-    }\r
-    if(BUF->flags & TCP_FIN) {\r
-      uip_connr->tcpstateflags = TIME_WAIT;\r
-      uip_connr->timer = 0;\r
-      uip_add_rcv_nxt(1);\r
-      uip_flags = UIP_CLOSE;\r
-      UIP_APPCALL();\r
-      goto tcp_send_ack;\r
-    }\r
-    if(uip_len > 0) {\r
-      goto tcp_send_ack;\r
-    }\r
-    goto drop;\r
-\r
-  case TIME_WAIT:\r
-    goto tcp_send_ack;\r
-    \r
-  case CLOSING:\r
-    if(uip_flags & UIP_ACKDATA) {\r
-      uip_connr->tcpstateflags = TIME_WAIT;\r
-      uip_connr->timer = 0;\r
-    }\r
-  }  \r
-  goto drop;\r
-  \r
-\r
-  /* We jump here when we are ready to send the packet, and just want\r
-     to set the appropriate TCP sequence numbers in the TCP header. */\r
- tcp_send_ack:\r
-  BUF->flags = TCP_ACK;\r
- tcp_send_nodata:\r
-  uip_len = 40;\r
- tcp_send_noopts:\r
-  BUF->tcpoffset = 5 << 4;\r
- tcp_send:\r
-  /* We're done with the input processing. We are now ready to send a\r
-     reply. Our job is to fill in all the fields of the TCP and IP\r
-     headers before calculating the checksum and finally send the\r
-     packet. */\r
-  BUF->ackno[0] = uip_connr->rcv_nxt[0];\r
-  BUF->ackno[1] = uip_connr->rcv_nxt[1];\r
-  BUF->ackno[2] = uip_connr->rcv_nxt[2];\r
-  BUF->ackno[3] = uip_connr->rcv_nxt[3];\r
-  \r
-  BUF->seqno[0] = uip_connr->snd_nxt[0];\r
-  BUF->seqno[1] = uip_connr->snd_nxt[1];\r
-  BUF->seqno[2] = uip_connr->snd_nxt[2];\r
-  BUF->seqno[3] = uip_connr->snd_nxt[3];\r
-\r
-  BUF->proto = UIP_PROTO_TCP;\r
-  \r
-  BUF->srcport  = uip_connr->lport;\r
-  BUF->destport = uip_connr->rport;\r
-\r
-  BUF->srcipaddr[0] = uip_hostaddr[0];\r
-  BUF->srcipaddr[1] = uip_hostaddr[1];\r
-  BUF->destipaddr[0] = uip_connr->ripaddr[0];\r
-  BUF->destipaddr[1] = uip_connr->ripaddr[1];\r
\r
-\r
-  if(uip_connr->tcpstateflags & UIP_STOPPED) {\r
-    /* If the connection has issued uip_stop(), we advertise a zero\r
-       window so that the remote host will stop sending data. */\r
-    BUF->wnd[0] = BUF->wnd[1] = 0;\r
-  } else {\r
-    BUF->wnd[0] = ((UIP_RECEIVE_WINDOW) >> 8);\r
-    BUF->wnd[1] = ((UIP_RECEIVE_WINDOW) & 0xff); \r
-  }\r
-\r
- tcp_send_noconn:\r
-\r
-  BUF->len[0] = (uip_len >> 8);\r
-  BUF->len[1] = (uip_len & 0xff);\r
-\r
-  /* Calculate TCP checksum. */\r
-  BUF->tcpchksum = 0;\r
-  BUF->tcpchksum = ~(uip_tcpchksum());\r
-  \r
- ip_send_nolen:\r
-\r
-  BUF->vhl = 0x45;\r
-  BUF->tos = 0;\r
-  BUF->ipoffset[0] = BUF->ipoffset[1] = 0;\r
-  BUF->ttl  = UIP_TTL;\r
-  ++ipid;\r
-  BUF->ipid[0] = ipid >> 8;\r
-  BUF->ipid[1] = ipid & 0xff;\r
-  \r
-  /* Calculate IP checksum. */\r
-  BUF->ipchksum = 0;\r
-  BUF->ipchksum = ~(uip_ipchksum());\r
-\r
-  UIP_STAT(++uip_stat.tcp.sent);\r
- send:\r
-  UIP_STAT(++uip_stat.ip.sent);\r
-  /* Return and let the caller do the actual transmission. */\r
-  return;\r
- drop:\r
-  uip_len = 0;\r
-  return;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-htons(u16_t val)\r
-{\r
-  return HTONS(val);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip.h
deleted file mode 100644 (file)
index f6367a2..0000000
+++ /dev/null
@@ -1,1060 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \file\r
- * Header file for the uIP TCP/IP stack.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- * The uIP TCP/IP stack header file contains definitions for a number\r
- * of C macros that are used by uIP programs as well as internal uIP\r
- * structures, TCP/IP header structures and function declarations.\r
- *\r
- */\r
-\r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip.h,v 1.36.2.7 2003/10/07 13:47:51 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __UIP_H__\r
-#define __UIP_H__\r
-\r
-#include "uipopt.h"\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* First, the functions that should be called from the\r
- * system. Initialization, the periodic timer and incoming packets are\r
- * handled by the following three functions.\r
- */\r
-\r
-/**\r
- * \defgroup uipconffunc uIP configuration functions\r
- * @{\r
- *\r
- * The uIP configuration functions are used for setting run-time\r
- * parameters in uIP such as IP addresses. \r
- */\r
-\r
-/**\r
- * Set the IP address of this host.\r
- *\r
- * The IP address is represented as a 4-byte array where the first\r
- * octet of the IP address is put in the first member of the 4-byte\r
- * array.\r
- *\r
- * \param addr A pointer to a 4-byte representation of the IP address.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_sethostaddr(addr) do { uip_hostaddr[0] = addr[0]; \\r
-                              uip_hostaddr[1] = addr[1]; } while(0)\r
-\r
-/**\r
- * Get the IP address of this host.\r
- *\r
- * The IP address is represented as a 4-byte array where the first\r
- * octet of the IP address is put in the first member of the 4-byte\r
- * array.\r
- *\r
- * \param addr A pointer to a 4-byte array that will be filled in with\r
- * the currently configured IP address.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_gethostaddr(addr) do { addr[0] = uip_hostaddr[0]; \\r
-                              addr[1] = uip_hostaddr[1]; } while(0)\r
-\r
-/** @} */\r
-\r
-/**\r
- * \defgroup uipinit uIP initialization functions\r
- * @{\r
- *\r
- * The uIP initialization functions are used for booting uIP.\r
- */\r
-\r
-/**\r
- * uIP initialization function.\r
- *\r
- * This function should be called at boot up to initilize the uIP\r
- * TCP/IP stack.\r
- */\r
-void uip_init(void);\r
-\r
-/** @} */\r
-\r
-/**\r
- * \defgroup uipdevfunc uIP device driver functions\r
- * @{\r
- *\r
- * These functions are used by a network device driver for interacting\r
- * with uIP.\r
- */\r
-\r
-/**\r
- * Process an incoming packet.\r
- *\r
- * This function should be called when the device driver has received\r
- * a packet from the network. The packet from the device driver must\r
- * be present in the uip_buf buffer, and the length of the packet\r
- * should be placed in the uip_len variable.\r
- *\r
- * When the function returns, there may be an outbound packet placed\r
- * in the uip_buf packet buffer. If so, the uip_len variable is set to\r
- * the length of the packet. If no packet is to be sent out, the\r
- * uip_len variable is set to 0.\r
- *\r
- * The usual way of calling the function is presented by the source\r
- * code below.\r
- \code\r
-  uip_len = devicedriver_poll();\r
-  if(uip_len > 0) {\r
-    uip_input();\r
-    if(uip_len > 0) {\r
-      devicedriver_send();\r
-    }\r
-  }\r
- \endcode\r
- *\r
- * \note If you are writing a uIP device driver that needs ARP\r
- * (Address Resolution Protocol), e.g., when running uIP over\r
- * Ethernet, you will need to call the uIP ARP code before calling\r
- * this function:\r
- \code\r
-  #define BUF ((struct uip_eth_hdr *)&uip_buf[0])\r
-  uip_len = ethernet_devicedrver_poll();\r
-  if(uip_len > 0) {\r
-    if(BUF->type == HTONS(UIP_ETHTYPE_IP)) {\r
-      uip_arp_ipin();\r
-      uip_input();\r
-      if(uip_len > 0) {\r
-        uip_arp_out();\r
-       ethernet_devicedriver_send();\r
-      }\r
-    } else if(BUF->type == HTONS(UIP_ETHTYPE_ARP)) {\r
-      uip_arp_arpin();\r
-      if(uip_len > 0) {\r
-       ethernet_devicedriver_send();\r
-      }\r
-    }\r
- \endcode\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_input()        uip_process(UIP_DATA)\r
-\r
-/**\r
- * Periodic processing for a connection identified by its number.\r
- * \r
- * This function does the necessary periodic processing (timers,\r
- * polling) for a uIP TCP conneciton, and should be called when the\r
- * periodic uIP timer goes off. It should be called for every\r
- * connection, regardless of whether they are open of closed.\r
- *\r
- * When the function returns, it may have an outbound packet waiting\r
- * for service in the uIP packet buffer, and if so the uip_len\r
- * variable is set to a value larger than zero. The device driver\r
- * should be called to send out the packet.\r
- *\r
- * The ususal way of calling the function is through a for() loop like\r
- * this:\r
- \code\r
-  for(i = 0; i < UIP_CONNS; ++i) {\r
-    uip_periodic(i);\r
-    if(uip_len > 0) {\r
-      devicedriver_send();\r
-    }\r
-  }\r
- \endcode\r
- *\r
- * \note If you are writing a uIP device driver that needs ARP\r
- * (Address Resolution Protocol), e.g., when running uIP over\r
- * Ethernet, you will need to call the uip_arp_out() function before\r
- * calling the device driver:\r
- \code\r
-  for(i = 0; i < UIP_CONNS; ++i) {\r
-    uip_periodic(i);\r
-    if(uip_len > 0) {\r
-      uip_arp_out();\r
-      ethernet_devicedriver_send();\r
-    }\r
-  }\r
- \endcode \r
- *\r
- * \param conn The number of the connection which is to be periodically polled.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_periodic(conn) do { uip_conn = &uip_conns[conn]; \\r
-                                uip_process(UIP_TIMER); } while (0)\r
-\r
-/**\r
- * Periodic processing for a connection identified by a pointer to its structure.\r
- *\r
- * Same as uip_periodic() but takes a pointer to the actual uip_conn\r
- * struct instead of an integer as its argument. This function can be\r
- * used to force periodic processing of a specific connection.\r
- *\r
- * \param conn A pointer to the uip_conn struct for the connection to\r
- * be processed.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_periodic_conn(conn) do { uip_conn = conn; \\r
-                                     uip_process(UIP_TIMER); } while (0)\r
-\r
-#if UIP_UDP\r
-/**\r
- * Periodic processing for a UDP connection identified by its number.\r
- *\r
- * This function is essentially the same as uip_prerioic(), but for\r
- * UDP connections. It is called in a similar fashion as the\r
- * uip_periodic() function:\r
- \code\r
-  for(i = 0; i < UIP_UDP_CONNS; i++) {\r
-    uip_udp_periodic(i);\r
-    if(uip_len > 0) {\r
-      devicedriver_send();\r
-    }\r
-  }   \r
- \endcode\r
- *\r
- * \note As for the uip_periodic() function, special care has to be\r
- * taken when using uIP together with ARP and Ethernet:\r
- \code\r
-  for(i = 0; i < UIP_UDP_CONNS; i++) {\r
-    uip_udp_periodic(i);\r
-    if(uip_len > 0) {\r
-      uip_arp_out();\r
-      ethernet_devicedriver_send();\r
-    }\r
-  }   \r
- \endcode\r
- *\r
- * \param conn The number of the UDP connection to be processed.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_udp_periodic(conn) do { uip_udp_conn = &uip_udp_conns[conn]; \\r
-                                uip_process(UIP_UDP_TIMER); } while (0)\r
-\r
-/**\r
- * Periodic processing for a UDP connection identified by a pointer to\r
- * its structure.\r
- *\r
- * Same as uip_udp_periodic() but takes a pointer to the actual\r
- * uip_conn struct instead of an integer as its argument. This\r
- * function can be used to force periodic processing of a specific\r
- * connection.\r
- *\r
- * \param conn A pointer to the uip_udp_conn struct for the connection\r
- * to be processed.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_udp_periodic_conn(conn) do { uip_udp_conn = conn; \\r
-                                         uip_process(UIP_UDP_TIMER); } while (0)\r
-\r
-\r
-#endif /* UIP_UDP */\r
-\r
-/**\r
- * The uIP packet buffer.\r
- *\r
- * The uip_buf array is used to hold incoming and outgoing\r
- * packets. The device driver should place incoming data into this\r
- * buffer. When sending data, the device driver should read the link\r
- * level headers and the TCP/IP headers from this buffer. The size of\r
- * the link level headers is configured by the UIP_LLH_LEN define.\r
- *\r
- * \note The application data need not be placed in this buffer, so\r
- * the device driver must read it from the place pointed to by the\r
- * uip_appdata pointer as illustrated by the following example:\r
- \code\r
- void\r
- devicedriver_send(void)\r
- {\r
-    hwsend(&uip_buf[0], UIP_LLH_LEN);\r
-    hwsend(&uip_buf[UIP_LLH_LEN], 40);\r
-    hwsend(uip_appdata, uip_len - 40 - UIP_LLH_LEN);\r
- }\r
- \endcode\r
- */\r
-extern u8_t uip_buf[UIP_BUFSIZE+2] __attribute__ ((aligned (4)));\r
-\r
-/** @} */\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* Functions that are used by the uIP application program. Opening and\r
- * closing connections, sending and receiving data, etc. is all\r
- * handled by the functions below.\r
-*/\r
-/**\r
- * \defgroup uipappfunc uIP application functions\r
- * @{\r
- *\r
- * Functions used by an application running of top of uIP.\r
- */\r
-\r
-/**\r
- * Start listening to the specified port.\r
- *\r
- * \note Since this function expects the port number in network byte\r
- * order, a conversion using HTONS() or htons() is necessary.\r
- *\r
- \code\r
- uip_listen(HTONS(80)); \r
- \endcode\r
- *\r
- * \param port A 16-bit port number in network byte order.\r
- */\r
-void uip_listen(u16_t port);\r
-\r
-/**\r
- * Stop listening to the specified port.\r
- *\r
- * \note Since this function expects the port number in network byte\r
- * order, a conversion using HTONS() or htons() is necessary.\r
- *\r
- \code\r
- uip_unlisten(HTONS(80)); \r
- \endcode\r
- *\r
- * \param port A 16-bit port number in network byte order.\r
- */\r
-void uip_unlisten(u16_t port);\r
-\r
-/**\r
- * Connect to a remote host using TCP.\r
- *\r
- * This function is used to start a new connection to the specified\r
- * port on the specied host. It allocates a new connection identifier,\r
- * sets the connection to the SYN_SENT state and sets the\r
- * retransmission timer to 0. This will cause a TCP SYN segment to be\r
- * sent out the next time this connection is periodically processed,\r
- * which usually is done within 0.5 seconds after the call to\r
- * uip_connect().\r
- *\r
- * \note This function is avaliable only if support for active open\r
- * has been configured by defining UIP_ACTIVE_OPEN to 1 in uipopt.h.\r
- *\r
- * \note Since this function requires the port number to be in network\r
- * byte order, a convertion using HTONS() or htons() is necessary.\r
- *\r
- \code\r
- u16_t ipaddr[2];\r
-\r
- uip_ipaddr(ipaddr, 192,168,1,2);\r
- uip_connect(ipaddr, HTONS(80)); \r
- \endcode\r
- * \r
- * \param ripaddr A pointer to a 4-byte array representing the IP\r
- * address of the remote hot.\r
- *\r
- * \param port A 16-bit port number in network byte order.\r
- *\r
- * \return A pointer to the uIP connection identifier for the new connection,\r
- * or NULL if no connection could be allocated.   \r
- *\r
- */\r
-struct uip_conn *uip_connect(u16_t *ripaddr, u16_t port);\r
-\r
-\r
-\r
-/**\r
- * \internal\r
- *\r
- * Check if a connection has outstanding (i.e., unacknowledged) data.\r
- *\r
- * \param conn A pointer to the uip_conn structure for the connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_outstanding(conn) ((conn)->len)\r
-\r
-/**\r
- * Send data on the current connection.\r
- *\r
- * This function is used to send out a single segment of TCP\r
- * data. Only applications that have been invoked by uIP for event\r
- * processing can send data. \r
- *\r
- * The amount of data that actually is sent out after a call to this\r
- * funcion is determined by the maximum amount of data TCP allows. uIP\r
- * will automatically crop the data so that only the appropriate\r
- * amount of data is sent. The function uip_mss() can be used to query\r
- * uIP for the amount of data that actually will be sent.\r
- * \r
- * \note This function does not guarantee that the sent data will\r
- * arrive at the destination. If the data is lost in the network, the\r
- * application will be invoked with the uip_rexmit() event being\r
- * set. The application will then have to resend the data using this\r
- * function.\r
- * \r
- * \param data A pointer to the data which is to be sent.\r
- *\r
- * \param len The maximum amount of data bytes to be sent.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_send(data, len) do { uip_sappdata = (data); uip_slen = (len);} while(0)   \r
-\r
-/**\r
- * The length of any incoming data that is currently avaliable (if avaliable)\r
- * in the uip_appdata buffer.\r
- *\r
- * The test function uip_data() must first be used to check if there\r
- * is any data available at all.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_datalen()       uip_len\r
-\r
-/**\r
- * The length of any out-of-band data (urgent data) that has arrived\r
- * on the connection.\r
- *\r
- * \note The configuration parameter UIP_URGDATA must be set for this\r
- * function to be enabled.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_urgdatalen()    uip_urglen\r
-\r
-/**\r
- * Close the current connection.\r
- *\r
- * This function will close the current connection in a nice way.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_close()         (uip_flags = UIP_CLOSE)\r
-\r
-/**\r
- * Abort the current connection.\r
- *\r
- * This function will abort (reset) the current connection, and is\r
- * usually used when an error has occured that prevents using the\r
- * uip_close() function.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_abort()         (uip_flags = UIP_ABORT)\r
-\r
-/**\r
- * Tell the sending host to stop sending data.\r
- *\r
- * This function will close our receiver's window so that we stop\r
- * receiving data for the current connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_stop()          (uip_conn->tcpstateflags |= UIP_STOPPED)\r
-\r
-/**\r
- * Find out if the current connection has been previously stopped with\r
- * uip_stop().\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_stopped(conn)   ((conn)->tcpstateflags & UIP_STOPPED)\r
-\r
-/**\r
- * Restart the current connection, if is has previously been stopped\r
- * with uip_stop().\r
- *\r
- * This function will open the receiver's window again so that we\r
- * start receiving data for the current connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_restart()         do { uip_flags |= UIP_NEWDATA; \\r
-                                   uip_conn->tcpstateflags &= ~UIP_STOPPED; \\r
-                              } while(0)\r
-\r
-\r
-/* uIP tests that can be made to determine in what state the current\r
-   connection is, and what the application function should do. */\r
-\r
-/**\r
- * Is new incoming data available?\r
- *\r
- * Will reduce to non-zero if there is new data for the application\r
- * present at the uip_appdata pointer. The size of the data is\r
- * avaliable through the uip_len variable.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_newdata()   (uip_flags & UIP_NEWDATA)\r
-\r
-/**\r
- * Has previously sent data been acknowledged?\r
- *\r
- * Will reduce to non-zero if the previously sent data has been\r
- * acknowledged by the remote host. This means that the application\r
- * can send new data. \r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_acked()   (uip_flags & UIP_ACKDATA)\r
-\r
-/**\r
- * Has the connection just been connected?  \r
- *\r
- * Reduces to non-zero if the current connection has been connected to\r
- * a remote host. This will happen both if the connection has been\r
- * actively opened (with uip_connect()) or passively opened (with\r
- * uip_listen()).\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_connected() (uip_flags & UIP_CONNECTED)\r
-\r
-/**\r
- * Has the connection been closed by the other end?\r
- *\r
- * Is non-zero if the connection has been closed by the remote\r
- * host. The application may then do the necessary clean-ups.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_closed()    (uip_flags & UIP_CLOSE)\r
-\r
-/**\r
- * Has the connection been aborted by the other end?\r
- *\r
- * Non-zero if the current connection has been aborted (reset) by the\r
- * remote host.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_aborted()    (uip_flags & UIP_ABORT)\r
-\r
-/**\r
- * Has the connection timed out?\r
- *\r
- * Non-zero if the current connection has been aborted due to too many\r
- * retransmissions.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_timedout()    (uip_flags & UIP_TIMEDOUT)\r
-\r
-/**\r
- * Do we need to retransmit previously data?\r
- *\r
- * Reduces to non-zero if the previously sent data has been lost in\r
- * the network, and the application should retransmit it. The\r
- * application should send the exact same data as it did the last\r
- * time, using the uip_send() function.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_rexmit()     (uip_flags & UIP_REXMIT)\r
-\r
-/**\r
- * Is the connection being polled by uIP?\r
- *\r
- * Is non-zero if the reason the application is invoked is that the\r
- * current connection has been idle for a while and should be\r
- * polled.\r
- *\r
- * The polling event can be used for sending data without having to\r
- * wait for the remote host to send data.\r
- *\r
- * \hideinitializer\r
- */ \r
-#define uip_poll()       (uip_flags & UIP_POLL)\r
-\r
-/**\r
- * Get the initial maxium segment size (MSS) of the current\r
- * connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_initialmss()             (uip_conn->initialmss)\r
-\r
-/**\r
- * Get the current maxium segment size that can be sent on the current\r
- * connection.\r
- *\r
- * The current maxiumum segment size that can be sent on the\r
- * connection is computed from the receiver's window and the MSS of\r
- * the connection (which also is available by calling\r
- * uip_initialmss()).\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_mss()             (uip_conn->mss)\r
-\r
-/**\r
- * Set up a new UDP connection.\r
- *\r
- * \param ripaddr A pointer to a 4-byte structure representing the IP\r
- * address of the remote host.\r
- *\r
- * \param rport The remote port number in network byte order.\r
- *\r
- * \return The uip_udp_conn structure for the new connection or NULL\r
- * if no connection could be allocated.\r
- */\r
-struct uip_udp_conn *uip_udp_new(u16_t *ripaddr, u16_t rport);\r
-\r
-/**\r
- * Removed a UDP connection.\r
- *\r
- * \param conn A pointer to the uip_udp_conn structure for the connection.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_udp_remove(conn) (conn)->lport = 0\r
-\r
-/**\r
- * Send a UDP datagram of length len on the current connection.\r
- *\r
- * This function can only be called in response to a UDP event (poll\r
- * or newdata). The data must be present in the uip_buf buffer, at the\r
- * place pointed to by the uip_appdata pointer.\r
- *\r
- * \param len The length of the data in the uip_buf buffer.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_udp_send(len) uip_slen = (len)\r
-\r
-/** @} */\r
-\r
-/* uIP convenience and converting functions. */\r
-\r
-/**\r
- * \defgroup uipconvfunc uIP conversion functions\r
- * @{\r
- *\r
- * These functions can be used for converting between different data\r
- * formats used by uIP.\r
- */\r
\r
-/**\r
- * Pack an IP address into a 4-byte array which is used by uIP to\r
- * represent IP addresses.\r
- *\r
- * Example:\r
- \code\r
- u16_t ipaddr[2];\r
-\r
- uip_ipaddr(&ipaddr, 192,168,1,2); \r
- \endcode\r
- *\r
- * \param addr A pointer to a 4-byte array that will be filled in with\r
- * the IP addres.\r
- * \param addr0 The first octet of the IP address.\r
- * \param addr1 The second octet of the IP address.\r
- * \param addr2 The third octet of the IP address.\r
- * \param addr3 The forth octet of the IP address. \r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_ipaddr(addr, addr0,addr1,addr2,addr3) do { \\r
-                     (addr)[0] = HTONS(((addr0) << 8) | (addr1)); \\r
-                     (addr)[1] = HTONS(((addr2) << 8) | (addr3)); \\r
-                  } while(0)\r
-\r
-/**\r
- * Convert 16-bit quantity from host byte order to network byte order.\r
- *\r
- * This macro is primarily used for converting constants from host\r
- * byte order to network byte order. For converting variables to\r
- * network byte order, use the htons() function instead.\r
- *\r
- * \hideinitializer\r
- */\r
-#ifndef HTONS\r
-#   if BYTE_ORDER == BIG_ENDIAN\r
-#      define HTONS(n) (n)\r
-#   else /* BYTE_ORDER == BIG_ENDIAN */\r
-#      define HTONS(n) ((((u16_t)((n) & 0xff)) << 8) | (((n) & 0xff00) >> 8))\r
-#   endif /* BYTE_ORDER == BIG_ENDIAN */\r
-#endif /* HTONS */\r
-\r
-/**\r
- * Convert 16-bit quantity from host byte order to network byte order.\r
- *\r
- * This function is primarily used for converting variables from host\r
- * byte order to network byte order. For converting constants to\r
- * network byte order, use the HTONS() macro instead.\r
- */\r
-#ifndef htons\r
-u16_t htons(u16_t val);\r
-#endif /* htons */\r
-\r
-/** @} */\r
-\r
-/**\r
- * Pointer to the application data in the packet buffer.\r
- *\r
- * This pointer points to the application data when the application is\r
- * called. If the application wishes to send data, the application may\r
- * use this space to write the data into before calling uip_send().\r
- */\r
-extern volatile u8_t *uip_appdata;\r
-extern volatile u8_t *uip_sappdata; \r
-\r
-#if UIP_URGDATA > 0 \r
-/* u8_t *uip_urgdata:\r
- *\r
- * This pointer points to any urgent data that has been received. Only\r
- * present if compiled with support for urgent data (UIP_URGDATA).\r
- */\r
-extern volatile u8_t *uip_urgdata; \r
-#endif /* UIP_URGDATA > 0 */\r
-\r
-\r
-/* u[8|16]_t uip_len:\r
- *\r
- * When the application is called, uip_len contains the length of any\r
- * new data that has been received from the remote host. The\r
- * application should set this variable to the size of any data that\r
- * the application wishes to send. When the network device driver\r
- * output function is called, uip_len should contain the length of the\r
- * outgoing packet.\r
- */\r
-extern volatile u16_t uip_len, uip_slen;\r
-\r
-#if UIP_URGDATA > 0 \r
-extern volatile u8_t uip_urglen, uip_surglen;\r
-#endif /* UIP_URGDATA > 0 */\r
-\r
-\r
-/**\r
- * Representation of a uIP TCP connection.\r
- *\r
- * The uip_conn structure is used for identifying a connection. All\r
- * but one field in the structure are to be considered read-only by an\r
- * application. The only exception is the appstate field whos purpose\r
- * is to let the application store application-specific state (e.g.,\r
- * file pointers) for the connection. The size of this field is\r
- * configured in the "uipopt.h" header file.\r
- */\r
-struct uip_conn {\r
-  u16_t ripaddr[2];   /**< The IP address of the remote host. */\r
-  \r
-  u16_t lport;        /**< The local TCP port, in network byte order. */\r
-  u16_t rport;        /**< The local remote TCP port, in network byte\r
-                        order. */  \r
-  \r
-  u8_t rcv_nxt[4];    /**< The sequence number that we expect to\r
-                        receive next. */\r
-  u8_t snd_nxt[4];    /**< The sequence number that was last sent by\r
-                         us. */\r
-  u16_t len;          /**< Length of the data that was previously sent. */\r
-  u16_t mss;          /**< Current maximum segment size for the\r
-                        connection. */\r
-  u16_t initialmss;   /**< Initial maximum segment size for the\r
-                        connection. */  \r
-  u8_t sa;            /**< Retransmission time-out calculation state\r
-                        variable. */\r
-  u8_t sv;            /**< Retransmission time-out calculation state\r
-                        variable. */\r
-  u8_t rto;           /**< Retransmission time-out. */\r
-  u8_t tcpstateflags; /**< TCP state and flags. */\r
-  u8_t timer;         /**< The retransmission timer. */\r
-  u8_t nrtx;          /**< The number of retransmissions for the last\r
-                        segment sent. */\r
-\r
-  /** The application state. */\r
-  u8_t appstate[UIP_APPSTATE_SIZE];  \r
-};\r
-\r
-\r
-/* Pointer to the current connection. */\r
-extern struct uip_conn *uip_conn;\r
-/* The array containing all uIP connections. */\r
-extern struct uip_conn uip_conns[UIP_CONNS];\r
-/**\r
- * \addtogroup uiparch\r
- * @{\r
- */\r
-\r
-/**\r
- * 4-byte array used for the 32-bit sequence number calculations.\r
- */\r
-extern volatile u8_t uip_acc32[4];\r
-\r
-/** @} */\r
-\r
-\r
-#if UIP_UDP\r
-/**\r
- * Representation of a uIP UDP connection.\r
- */\r
-struct uip_udp_conn {\r
-  u16_t ripaddr[2];   /**< The IP address of the remote peer. */\r
-  u16_t lport;        /**< The local port number in network byte order. */\r
-  u16_t rport;        /**< The remote port number in network byte order. */\r
-};\r
-\r
-extern struct uip_udp_conn *uip_udp_conn;\r
-extern struct uip_udp_conn uip_udp_conns[UIP_UDP_CONNS];\r
-#endif /* UIP_UDP */\r
-\r
-/**\r
- * The structure holding the TCP/IP statistics that are gathered if\r
- * UIP_STATISTICS is set to 1.\r
- *\r
- */\r
-struct uip_stats {\r
-  struct {\r
-    uip_stats_t drop;     /**< Number of dropped packets at the IP\r
-                            layer. */\r
-    uip_stats_t recv;     /**< Number of received packets at the IP\r
-                            layer. */\r
-    uip_stats_t sent;     /**< Number of sent packets at the IP\r
-                            layer. */\r
-    uip_stats_t vhlerr;   /**< Number of packets dropped due to wrong\r
-                            IP version or header length. */\r
-    uip_stats_t hblenerr; /**< Number of packets dropped due to wrong\r
-                            IP length, high byte. */\r
-    uip_stats_t lblenerr; /**< Number of packets dropped due to wrong\r
-                            IP length, low byte. */\r
-    uip_stats_t fragerr;  /**< Number of packets dropped since they\r
-                            were IP fragments. */\r
-    uip_stats_t chkerr;   /**< Number of packets dropped due to IP\r
-                            checksum errors. */\r
-    uip_stats_t protoerr; /**< Number of packets dropped since they\r
-                            were neither ICMP, UDP nor TCP. */\r
-  } ip;                   /**< IP statistics. */\r
-  struct {\r
-    uip_stats_t drop;     /**< Number of dropped ICMP packets. */\r
-    uip_stats_t recv;     /**< Number of received ICMP packets. */\r
-    uip_stats_t sent;     /**< Number of sent ICMP packets. */\r
-    uip_stats_t typeerr;  /**< Number of ICMP packets with a wrong\r
-                            type. */\r
-  } icmp;                 /**< ICMP statistics. */\r
-  struct {\r
-    uip_stats_t drop;     /**< Number of dropped TCP segments. */\r
-    uip_stats_t recv;     /**< Number of recived TCP segments. */\r
-    uip_stats_t sent;     /**< Number of sent TCP segments. */\r
-    uip_stats_t chkerr;   /**< Number of TCP segments with a bad\r
-                            checksum. */\r
-    uip_stats_t ackerr;   /**< Number of TCP segments with a bad ACK\r
-                            number. */\r
-    uip_stats_t rst;      /**< Number of recevied TCP RST (reset) segments. */\r
-    uip_stats_t rexmit;   /**< Number of retransmitted TCP segments. */\r
-    uip_stats_t syndrop;  /**< Number of dropped SYNs due to too few\r
-                            connections was avaliable. */\r
-    uip_stats_t synrst;   /**< Number of SYNs for closed ports,\r
-                            triggering a RST. */\r
-  } tcp;                  /**< TCP statistics. */\r
-};\r
-\r
-/**\r
- * The uIP TCP/IP statistics.\r
- *\r
- * This is the variable in which the uIP TCP/IP statistics are gathered.\r
- */\r
-extern struct uip_stats uip_stat;\r
-\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-/* All the stuff below this point is internal to uIP and should not be\r
- * used directly by an application or by a device driver.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-/* u8_t uip_flags:\r
- *\r
- * When the application is called, uip_flags will contain the flags\r
- * that are defined in this file. Please read below for more\r
- * infomation.\r
- */\r
-extern volatile u8_t uip_flags;\r
-\r
-/* The following flags may be set in the global variable uip_flags\r
-   before calling the application callback. The UIP_ACKDATA and\r
-   UIP_NEWDATA flags may both be set at the same time, whereas the\r
-   others are mutualy exclusive. Note that these flags should *NOT* be\r
-   accessed directly, but through the uIP functions/macros. */\r
-\r
-#define UIP_ACKDATA   1     /* Signifies that the outstanding data was\r
-                              acked and the application should send\r
-                              out new data instead of retransmitting\r
-                              the last data. */\r
-#define UIP_NEWDATA   2     /* Flags the fact that the peer has sent\r
-                              us new data. */\r
-#define UIP_REXMIT    4     /* Tells the application to retransmit the\r
-                              data that was last sent. */\r
-#define UIP_POLL      8     /* Used for polling the application, to\r
-                              check if the application has data that\r
-                              it wants to send. */\r
-#define UIP_CLOSE     16    /* The remote host has closed the\r
-                              connection, thus the connection has\r
-                              gone away. Or the application signals\r
-                              that it wants to close the\r
-                              connection. */\r
-#define UIP_ABORT     32    /* The remote host has aborted the\r
-                              connection, thus the connection has\r
-                              gone away. Or the application signals\r
-                              that it wants to abort the\r
-                              connection. */\r
-#define UIP_CONNECTED 64    /* We have got a connection from a remote\r
-                               host and have set up a new connection\r
-                               for it, or an active connection has\r
-                               been successfully established. */\r
-\r
-#define UIP_TIMEDOUT  128   /* The connection has been aborted due to\r
-                              too many retransmissions. */\r
-\r
-\r
-/* uip_process(flag):\r
- *\r
- * The actual uIP function which does all the work.\r
- */\r
-void uip_process(u8_t flag);\r
-\r
-/* The following flags are passed as an argument to the uip_process()\r
-   function. They are used to distinguish between the two cases where\r
-   uip_process() is called. It can be called either because we have\r
-   incoming data that should be processed, or because the periodic\r
-   timer has fired. */\r
-\r
-#define UIP_DATA    1     /* Tells uIP that there is incoming data in\r
-                             the uip_buf buffer. The length of the\r
-                             data is stored in the global variable\r
-                             uip_len. */\r
-#define UIP_TIMER   2     /* Tells uIP that the periodic timer has\r
-                             fired. */\r
-#if UIP_UDP\r
-#define UIP_UDP_TIMER 3\r
-#endif /* UIP_UDP */\r
-\r
-/* The TCP states used in the uip_conn->tcpstateflags. */\r
-#define CLOSED      0\r
-#define SYN_RCVD    1\r
-#define SYN_SENT    2\r
-#define ESTABLISHED 3\r
-#define FIN_WAIT_1  4\r
-#define FIN_WAIT_2  5\r
-#define CLOSING     6\r
-#define TIME_WAIT   7\r
-#define LAST_ACK    8\r
-#define TS_MASK     15\r
-  \r
-#define UIP_STOPPED      16\r
-\r
-#define UIP_TCPIP_HLEN 40\r
-\r
-/* The TCP and IP headers. */\r
-typedef struct {\r
-  /* IP header. */\r
-  u8_t vhl,\r
-    tos,          \r
-    len[2],       \r
-    ipid[2],        \r
-    ipoffset[2],  \r
-    ttl,          \r
-    proto;     \r
-  u16_t ipchksum;\r
-  u16_t srcipaddr[2], \r
-    destipaddr[2];\r
-  \r
-  /* TCP header. */\r
-  u16_t srcport,\r
-    destport;\r
-  u8_t seqno[4],  \r
-    ackno[4],\r
-    tcpoffset,\r
-    flags,\r
-    wnd[2];     \r
-  u16_t tcpchksum;\r
-  u8_t urgp[2];\r
-  u8_t optdata[4];\r
-} uip_tcpip_hdr;\r
-\r
-/* The ICMP and IP headers. */\r
-typedef struct {\r
-  /* IP header. */\r
-  u8_t vhl,\r
-    tos,          \r
-    len[2],       \r
-    ipid[2],        \r
-    ipoffset[2],  \r
-    ttl,          \r
-    proto;     \r
-  u16_t ipchksum;\r
-  u16_t srcipaddr[2], \r
-    destipaddr[2];\r
-  /* ICMP (echo) header. */\r
-  u8_t type, icode;\r
-  u16_t icmpchksum;\r
-  u16_t id, seqno;  \r
-} uip_icmpip_hdr;\r
-\r
-\r
-/* The UDP and IP headers. */\r
-typedef struct {\r
-  /* IP header. */\r
-  u8_t vhl,\r
-    tos,          \r
-    len[2],       \r
-    ipid[2],        \r
-    ipoffset[2],  \r
-    ttl,          \r
-    proto;     \r
-  u16_t ipchksum;\r
-  u16_t srcipaddr[2], \r
-    destipaddr[2];\r
-  \r
-  /* UDP header. */\r
-  u16_t srcport,\r
-    destport;\r
-  u16_t udplen;\r
-  u16_t udpchksum;\r
-} uip_udpip_hdr;\r
-\r
-#define UIP_PROTO_ICMP  1\r
-#define UIP_PROTO_TCP   6\r
-#define UIP_PROTO_UDP   17\r
-\r
-#if UIP_FIXEDADDR\r
-extern const u16_t uip_hostaddr[2];\r
-#else /* UIP_FIXEDADDR */\r
-extern u16_t uip_hostaddr[2];\r
-#endif /* UIP_FIXEDADDR */\r
-\r
-#endif /* __UIP_H__ */\r
-\r
-\r
-/** @} */\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arch.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arch.c
deleted file mode 100644 (file)
index 4cd08c3..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip_arch.c,v 1.2.2.1 2003/10/04 22:54:17 adam Exp $\r
- *\r
- */\r
-\r
-\r
-#include "uip.h"\r
-#include "uip_arch.h"\r
-#include <__cross_studio_io.h>\r
-\r
-#define BUF ((uip_tcpip_hdr *)&uip_buf[UIP_LLH_LEN])\r
-#define IP_PROTO_TCP    6\r
-\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_add32(u8_t *op32, u16_t op16)\r
-{\r
-  \r
-  uip_acc32[3] = op32[3] + (op16 & 0xff);\r
-  uip_acc32[2] = op32[2] + (op16 >> 8);\r
-  uip_acc32[1] = op32[1];\r
-  uip_acc32[0] = op32[0];\r
-  \r
-  if(uip_acc32[2] < (op16 >> 8)) {\r
-    ++uip_acc32[1];    \r
-    if(uip_acc32[1] == 0) {\r
-      ++uip_acc32[0];\r
-    }\r
-  }\r
-  \r
-  \r
-  if(uip_acc32[3] < (op16 & 0xff)) {\r
-    ++uip_acc32[2];  \r
-    if(uip_acc32[2] == 0) {\r
-      ++uip_acc32[1];    \r
-      if(uip_acc32[1] == 0) {\r
-       ++uip_acc32[0];\r
-      }\r
-    }\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-uip_chksum(u16_t *sdata, u16_t len)\r
-{\r
-  u16_t acc;\r
-  \r
-  for (acc = 0; len > 1; len -= 2) {\r
-    u16_t u = ((unsigned char *)sdata)[0] + (((unsigned char *)sdata)[1] << 8);\r
-    if ((acc += u) < u) {\r
-      /* Overflow, so we add the carry to acc (i.e., increase by\r
-         one). */\r
-      ++acc;\r
-    }\r
-    ++sdata;\r
-  }\r
-\r
-  /* add up any odd byte */\r
-  if(len == 1) {\r
-    acc += htons(((u16_t)(*(u8_t *)sdata)) << 8);\r
-    if(acc < htons(((u16_t)(*(u8_t *)sdata)) << 8)) {\r
-      ++acc;\r
-    }\r
-  }\r
-\r
-  return acc;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-uip_ipchksum(void)\r
-{\r
-  return uip_chksum((u16_t *)&uip_buf[UIP_LLH_LEN], 20);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-u16_t\r
-uip_tcpchksum(void)\r
-{\r
-  u16_t hsum, sum;\r
-\r
-  \r
-  /* Compute the checksum of the TCP header. */\r
-  hsum = uip_chksum((u16_t *)&uip_buf[20 + UIP_LLH_LEN], 20);\r
-\r
-  /* Compute the checksum of the data in the TCP packet and add it to\r
-     the TCP header checksum. */\r
-  sum = uip_chksum((u16_t *)uip_appdata,\r
-                  (u16_t)(((((u16_t)(BUF->len[0]) << 8) + BUF->len[1]) - 40)));\r
-\r
-  if((sum += hsum) < hsum) {\r
-    ++sum;\r
-  }\r
-  \r
-  if((sum += BUF->srcipaddr[0]) < BUF->srcipaddr[0]) {\r
-    ++sum;\r
-  }\r
-  if((sum += BUF->srcipaddr[1]) < BUF->srcipaddr[1]) {\r
-    ++sum;\r
-  }\r
-  if((sum += BUF->destipaddr[0]) < BUF->destipaddr[0]) {\r
-    ++sum;\r
-  }\r
-  if((sum += BUF->destipaddr[1]) < BUF->destipaddr[1]) {\r
-    ++sum;\r
-  }\r
-  if((sum += (u16_t)htons((u16_t)IP_PROTO_TCP)) < (u16_t)htons((u16_t)IP_PROTO_TCP)) {\r
-    ++sum;\r
-  }\r
-\r
-  hsum = (u16_t)htons((((u16_t)(BUF->len[0]) << 8) + BUF->len[1]) - 20);\r
-  \r
-  if((sum += hsum) < hsum) {\r
-    ++sum;\r
-  }\r
-\r
-  return sum;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arch.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arch.h
deleted file mode 100644 (file)
index b2d133f..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/**\r
- * \defgroup uiparch Architecture specific uIP functions\r
- * @{\r
- *\r
- * The functions in the architecture specific module implement the IP\r
- * check sum and 32-bit additions.\r
- *\r
- * The IP checksum calculation is the most computationally expensive\r
- * operation in the TCP/IP stack and it therefore pays off to\r
- * implement this in efficient assembler. The purpose of the uip-arch\r
- * module is to let the checksum functions to be implemented in\r
- * architecture specific assembler.\r
- *\r
- */\r
-\r
-/**\r
- * \file\r
- * Declarations of architecture specific functions.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip_arch.h,v 1.1.2.2 2003/10/06 15:10:22 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __UIP_ARCH_H__\r
-#define __UIP_ARCH_H__\r
-\r
-#include "uip.h"\r
-\r
-/**\r
- * Carry out a 32-bit addition.\r
- *\r
- * Because not all architectures for which uIP is intended has native\r
- * 32-bit arithmetic, uIP uses an external C function for doing the\r
- * required 32-bit additions in the TCP protocol processing. This\r
- * function should add the two arguments and place the result in the\r
- * global variable uip_acc32.\r
- *\r
- * \note The 32-bit integer pointed to by the op32 parameter and the\r
- * result in the uip_acc32 variable are in network byte order (big\r
- * endian).\r
- *\r
- * \param op32 A pointer to a 4-byte array representing a 32-bit\r
- * integer in network byte order (big endian).\r
- *\r
- * \param op16 A 16-bit integer in host byte order.\r
- */\r
-void uip_add32(u8_t *op32, u16_t op16);\r
-\r
-/**\r
- * Calculate the Internet checksum over a buffer.\r
- *\r
- * The Internet checksum is the one's complement of the one's\r
- * complement sum of all 16-bit words in the buffer.\r
- *\r
- * See RFC1071.\r
- *\r
- * \note This function is not called in the current version of uIP,\r
- * but future versions might make use of it.\r
- *\r
- * \param buf A pointer to the buffer over which the checksum is to be\r
- * computed.\r
- *\r
- * \param len The length of the buffer over which the checksum is to\r
- * be computed.\r
- *\r
- * \return The Internet checksum of the buffer.\r
- */\r
-u16_t uip_chksum(u16_t *buf, u16_t len);\r
-\r
-/**\r
- * Calculate the IP header checksum of the packet header in uip_buf.\r
- *\r
- * The IP header checksum is the Internet checksum of the 20 bytes of\r
- * the IP header.\r
- *\r
- * \return The IP header checksum of the IP header in the uip_buf\r
- * buffer.\r
- */\r
-u16_t uip_ipchksum(void);\r
-\r
-/**\r
- * Calculate the TCP checksum of the packet in uip_buf and uip_appdata.\r
- *\r
- * The TCP checksum is the Internet checksum of data contents of the\r
- * TCP segment, and a pseudo-header as defined in RFC793.\r
- *\r
- * \note The uip_appdata pointer that points to the packet data may\r
- * point anywhere in memory, so it is not possible to simply calculate\r
- * the Internet checksum of the contents of the uip_buf buffer.\r
- *\r
- * \return The TCP checksum of the TCP segment in uip_buf and pointed\r
- * to by uip_appdata.\r
- */\r
-u16_t uip_tcpchksum(void);\r
-\r
-/** @} */\r
-\r
-#endif /* __UIP_ARCH_H__ */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arp.c b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arp.c
deleted file mode 100644 (file)
index f2804df..0000000
+++ /dev/null
@@ -1,427 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \defgroup uiparp uIP Address Resolution Protocol\r
- * @{\r
- * \r
- * The Address Resolution Protocol ARP is used for mapping between IP\r
- * addresses and link level addresses such as the Ethernet MAC\r
- * addresses. ARP uses broadcast queries to ask for the link level\r
- * address of a known IP address and the host which is configured with\r
- * the IP address for which the query was meant, will respond with its\r
- * link level address.\r
- *\r
- * \note This ARP implementation only supports Ethernet.\r
- */\r
\r
-/**\r
- * \file\r
- * Implementation of the ARP Address Resolution Protocol.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip_arp.c,v 1.7.2.3 2003/10/06 22:42:30 adam Exp $\r
- *\r
- */\r
-\r
-\r
-#include "uip_arp.h"\r
-\r
-#include <string.h>\r
-\r
-struct arp_hdr {\r
-  struct uip_eth_hdr ethhdr;\r
-  u16_t hwtype;\r
-  u16_t protocol;\r
-  u8_t hwlen;\r
-  u8_t protolen;\r
-  u16_t opcode;\r
-  struct uip_eth_addr shwaddr;\r
-  u16_t sipaddr[2];\r
-  struct uip_eth_addr dhwaddr;\r
-  u16_t dipaddr[2]; \r
-};\r
-\r
-struct ethip_hdr {\r
-  struct uip_eth_hdr ethhdr;\r
-  /* IP header. */\r
-  u8_t vhl,\r
-    tos,          \r
-    len[2],       \r
-    ipid[2],        \r
-    ipoffset[2],  \r
-    ttl,          \r
-    proto;     \r
-  u16_t ipchksum;\r
-  u16_t srcipaddr[2], \r
-    destipaddr[2];\r
-};\r
-\r
-#define ARP_REQUEST 1\r
-#define ARP_REPLY   2\r
-\r
-#define ARP_HWTYPE_ETH 1\r
-\r
-struct arp_entry {\r
-  u16_t ipaddr[2];\r
-  struct uip_eth_addr ethaddr;\r
-  u8_t time;\r
-};\r
-\r
-struct uip_eth_addr uip_ethaddr = {{UIP_ETHADDR0,\r
-                                   UIP_ETHADDR1,\r
-                                   UIP_ETHADDR2,\r
-                                   UIP_ETHADDR3,\r
-                                   UIP_ETHADDR4,\r
-                                   UIP_ETHADDR5}};\r
-\r
-static struct arp_entry arp_table[UIP_ARPTAB_SIZE];\r
-static u16_t ipaddr[2];\r
-static u8_t i, c;\r
-\r
-static u8_t arptime;\r
-static u8_t tmpage;\r
-\r
-#define BUF   ((struct arp_hdr *)&uip_buf[0])\r
-#define IPBUF ((struct ethip_hdr *)&uip_buf[0])\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Initialize the ARP module.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_arp_init(void)\r
-{\r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-    memset(arp_table[i].ipaddr, 0, 4);\r
-  }\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Periodic ARP processing function.\r
- *\r
- * This function performs periodic timer processing in the ARP module\r
- * and should be called at regular intervals. The recommended interval\r
- * is 10 seconds between the calls.\r
- *\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_arp_timer(void)\r
-{\r
-  struct arp_entry *tabptr;\r
-  \r
-  ++arptime;\r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-    tabptr = &arp_table[i];\r
-    if((tabptr->ipaddr[0] | tabptr->ipaddr[1]) != 0 &&\r
-       arptime - tabptr->time >= UIP_ARP_MAXAGE) {\r
-      memset(tabptr->ipaddr, 0, 4);\r
-    }\r
-  }\r
-\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-static void\r
-uip_arp_update(u16_t *ipaddr, struct uip_eth_addr *ethaddr)\r
-{\r
-  register struct arp_entry *tabptr;\r
-  /* Walk through the ARP mapping table and try to find an entry to\r
-     update. If none is found, the IP -> MAC address mapping is\r
-     inserted in the ARP table. */\r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-\r
-    tabptr = &arp_table[i];\r
-    /* Only check those entries that are actually in use. */\r
-    if(tabptr->ipaddr[0] != 0 &&\r
-       tabptr->ipaddr[1] != 0) {\r
-\r
-      /* Check if the source IP address of the incoming packet matches\r
-         the IP address in this ARP table entry. */\r
-      if(ipaddr[0] == tabptr->ipaddr[0] &&\r
-        ipaddr[1] == tabptr->ipaddr[1]) {\r
-        \r
-       /* An old entry found, update this and return. */\r
-       memcpy(tabptr->ethaddr.addr, ethaddr->addr, 6);\r
-       tabptr->time = arptime;\r
-\r
-       return;\r
-      }\r
-    }\r
-  }\r
-\r
-  /* If we get here, no existing ARP table entry was found, so we\r
-     create one. */\r
-\r
-  /* First, we try to find an unused entry in the ARP table. */\r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-    tabptr = &arp_table[i];\r
-    if(tabptr->ipaddr[0] == 0 &&\r
-       tabptr->ipaddr[1] == 0) {\r
-      break;\r
-    }\r
-  }\r
-\r
-  /* If no unused entry is found, we try to find the oldest entry and\r
-     throw it away. */\r
-  if(i == UIP_ARPTAB_SIZE) {\r
-    tmpage = 0;\r
-    c = 0;\r
-    for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-      tabptr = &arp_table[i];\r
-      if(arptime - tabptr->time > tmpage) {\r
-       tmpage = arptime - tabptr->time;\r
-       c = i;\r
-      }\r
-    }\r
-    i = c;\r
-  }\r
-\r
-  /* Now, i is the ARP table entry which we will fill with the new\r
-     information. */\r
-  memcpy(tabptr->ipaddr, ipaddr, 4);\r
-  memcpy(tabptr->ethaddr.addr, ethaddr->addr, 6);\r
-  tabptr->time = arptime;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * ARP processing for incoming IP packets\r
- *\r
- * This function should be called by the device driver when an IP\r
- * packet has been received. The function will check if the address is\r
- * in the ARP cache, and if so the ARP cache entry will be\r
- * refreshed. If no ARP cache entry was found, a new one is created.\r
- *\r
- * This function expects an IP packet with a prepended Ethernet header\r
- * in the uip_buf[] buffer, and the length of the packet in the global\r
- * variable uip_len.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_arp_ipin(void)\r
-{\r
-  uip_len -= sizeof(struct uip_eth_hdr);\r
-       \r
-  /* Only insert/update an entry if the source IP address of the\r
-     incoming IP packet comes from a host on the local network. */\r
-  if((IPBUF->srcipaddr[0] & uip_arp_netmask[0]) !=\r
-     (uip_hostaddr[0] & uip_arp_netmask[0])) {\r
-    return;\r
-  }\r
-  if((IPBUF->srcipaddr[1] & uip_arp_netmask[1]) !=\r
-     (uip_hostaddr[1] & uip_arp_netmask[1])) {\r
-    return;\r
-  }\r
-  uip_arp_update(IPBUF->srcipaddr, &(IPBUF->ethhdr.src));\r
-  \r
-  return;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * ARP processing for incoming ARP packets.\r
- *\r
- * This function should be called by the device driver when an ARP\r
- * packet has been received. The function will act differently\r
- * depending on the ARP packet type: if it is a reply for a request\r
- * that we previously sent out, the ARP cache will be filled in with\r
- * the values from the ARP reply. If the incoming ARP packet is an ARP\r
- * request for our IP address, an ARP reply packet is created and put\r
- * into the uip_buf[] buffer.\r
- *\r
- * When the function returns, the value of the global variable uip_len\r
- * indicates whether the device driver should send out a packet or\r
- * not. If uip_len is zero, no packet should be sent. If uip_len is\r
- * non-zero, it contains the length of the outbound packet that is\r
- * present in the uip_buf[] buffer.\r
- *\r
- * This function expects an ARP packet with a prepended Ethernet\r
- * header in the uip_buf[] buffer, and the length of the packet in the\r
- * global variable uip_len.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-typedef struct arp_hdr aht;\r
-\r
-void\r
-uip_arp_arpin(void)\r
-{\r
-  int ul;\r
-\r
-  if(uip_len < sizeof(struct arp_hdr)) {\r
-    uip_len = 0;\r
-    return;\r
-  }\r
-\r
-  uip_len = 0;\r
-  \r
-  switch(BUF->opcode) {\r
-  case HTONS(ARP_REQUEST):\r
-    /* ARP request. If it asked for our address, we send out a\r
-       reply. */\r
-    if(BUF->dipaddr[0] == uip_hostaddr[0] &&\r
-       BUF->dipaddr[1] == uip_hostaddr[1]) {\r
-      /* The reply opcode is 2. */\r
-      BUF->opcode = HTONS(2);\r
-\r
-      memcpy(BUF->dhwaddr.addr, BUF->shwaddr.addr, 6);\r
-      memcpy(BUF->shwaddr.addr, uip_ethaddr.addr, 6);\r
-      memcpy(BUF->ethhdr.src.addr, uip_ethaddr.addr, 6);\r
-      memcpy(BUF->ethhdr.dest.addr, BUF->dhwaddr.addr, 6);\r
-      \r
-      BUF->dipaddr[0] = BUF->sipaddr[0];\r
-      BUF->dipaddr[1] = BUF->sipaddr[1];\r
-      BUF->sipaddr[0] = uip_hostaddr[0];\r
-      BUF->sipaddr[1] = uip_hostaddr[1];\r
-\r
-      ul = BUF->hwlen;\r
-      BUF->ethhdr.type = HTONS(UIP_ETHTYPE_ARP);      \r
-      uip_len = sizeof(struct arp_hdr);\r
-    }      \r
-    break;\r
-  case HTONS(ARP_REPLY):\r
-    /* ARP reply. We insert or update the ARP table if it was meant\r
-       for us. */\r
-    if(BUF->dipaddr[0] == uip_hostaddr[0] &&\r
-       BUF->dipaddr[1] == uip_hostaddr[1]) {\r
-\r
-      uip_arp_update(BUF->sipaddr, &BUF->shwaddr);\r
-    }\r
-    break;\r
-  }\r
-\r
-  return;\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-/**\r
- * Prepend Ethernet header to an outbound IP packet and see if we need\r
- * to send out an ARP request.\r
- *\r
- * This function should be called before sending out an IP packet. The\r
- * function checks the destination IP address of the IP packet to see\r
- * what Ethernet MAC address that should be used as a destination MAC\r
- * address on the Ethernet.\r
- *\r
- * If the destination IP address is in the local network (determined\r
- * by logical ANDing of netmask and our IP address), the function\r
- * checks the ARP cache to see if an entry for the destination IP\r
- * address is found. If so, an Ethernet header is prepended and the\r
- * function returns. If no ARP cache entry is found for the\r
- * destination IP address, the packet in the uip_buf[] is replaced by\r
- * an ARP request packet for the IP address. The IP packet is dropped\r
- * and it is assumed that they higher level protocols (e.g., TCP)\r
- * eventually will retransmit the dropped packet.\r
- *\r
- * If the destination IP address is not on the local network, the IP\r
- * address of the default router is used instead.\r
- *\r
- * When the function returns, a packet is present in the uip_buf[]\r
- * buffer, and the length of the packet is in the global variable\r
- * uip_len.\r
- */\r
-/*-----------------------------------------------------------------------------------*/\r
-void\r
-uip_arp_out(void)\r
-{\r
-  struct arp_entry *tabptr;\r
-  /* Find the destination IP address in the ARP table and construct\r
-     the Ethernet header. If the destination IP addres isn't on the\r
-     local network, we use the default router's IP address instead.\r
-\r
-     If not ARP table entry is found, we overwrite the original IP\r
-     packet with an ARP request for the IP address. */\r
-\r
-  /* Check if the destination address is on the local network. */\r
-  if((IPBUF->destipaddr[0] & uip_arp_netmask[0]) !=\r
-     (uip_hostaddr[0] & uip_arp_netmask[0]) ||\r
-     (IPBUF->destipaddr[1] & uip_arp_netmask[1]) !=\r
-     (uip_hostaddr[1] & uip_arp_netmask[1])) {\r
-    /* Destination address was not on the local network, so we need to\r
-       use the default router's IP address instead of the destination\r
-       address when determining the MAC address. */\r
-    ipaddr[0] = uip_arp_draddr[0];\r
-    ipaddr[1] = uip_arp_draddr[1];\r
-  } else {\r
-    /* Else, we use the destination IP address. */\r
-    ipaddr[0] = IPBUF->destipaddr[0];\r
-    ipaddr[1] = IPBUF->destipaddr[1];\r
-  }\r
-      \r
-  for(i = 0; i < UIP_ARPTAB_SIZE; ++i) {\r
-    tabptr = &arp_table[i];\r
-    if(ipaddr[0] == tabptr->ipaddr[0] &&\r
-       ipaddr[1] == tabptr->ipaddr[1])\r
-      break;\r
-  }\r
-\r
-  if(i == UIP_ARPTAB_SIZE) {\r
-    /* The destination address was not in our ARP table, so we\r
-       overwrite the IP packet with an ARP request. */\r
-\r
-    memset(BUF->ethhdr.dest.addr, 0xff, 6);\r
-    memset(BUF->dhwaddr.addr, 0x00, 6);\r
-    memcpy(BUF->ethhdr.src.addr, uip_ethaddr.addr, 6);\r
-    memcpy(BUF->shwaddr.addr, uip_ethaddr.addr, 6);\r
-    \r
-    BUF->dipaddr[0] = ipaddr[0];\r
-    BUF->dipaddr[1] = ipaddr[1];\r
-    BUF->sipaddr[0] = uip_hostaddr[0];\r
-    BUF->sipaddr[1] = uip_hostaddr[1];\r
-    BUF->opcode = HTONS(ARP_REQUEST); /* ARP request. */\r
-    BUF->hwtype = HTONS(ARP_HWTYPE_ETH);\r
-    BUF->protocol = HTONS(UIP_ETHTYPE_IP);\r
-    BUF->hwlen = 6;\r
-    BUF->protolen = 4;\r
-    BUF->ethhdr.type = HTONS(UIP_ETHTYPE_ARP);\r
-\r
-    uip_appdata = &uip_buf[40 + UIP_LLH_LEN];\r
-    \r
-    uip_len = sizeof(struct arp_hdr);\r
-    return;\r
-  }\r
-\r
-  /* Build an ethernet header. */\r
-  memcpy(IPBUF->ethhdr.dest.addr, tabptr->ethaddr.addr, 6);\r
-  memcpy(IPBUF->ethhdr.src.addr, uip_ethaddr.addr, 6);\r
-  \r
-  IPBUF->ethhdr.type = HTONS(UIP_ETHTYPE_IP);\r
-\r
-  uip_len += sizeof(struct uip_eth_hdr);\r
-}\r
-/*-----------------------------------------------------------------------------------*/\r
-\r
-/** @} */\r
-/** @} */\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arp.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uip_arp.h
deleted file mode 100644 (file)
index bf90498..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-/**\r
- * \addtogroup uip\r
- * @{\r
- */\r
-\r
-/**\r
- * \addtogroup uiparp \r
- * @{\r
- */\r
\r
-/**\r
- * \file\r
- * Macros and definitions for the ARP module.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- */\r
-  \r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uip_arp.h,v 1.3.2.2 2003/10/06 15:10:22 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __UIP_ARP_H__\r
-#define __UIP_ARP_H__\r
-\r
-#include "uip.h"\r
-\r
-\r
-/**\r
- * Representation of a 48-bit Ethernet address.\r
- */\r
-struct uip_eth_addr {\r
-  u8_t addr[6];\r
-} __attribute__ ((packed, aligned (1)));\r
-\r
-extern struct uip_eth_addr uip_ethaddr;\r
-\r
-/**\r
- * The Ethernet header. \r
- */\r
-struct uip_eth_hdr {\r
-  struct uip_eth_addr dest;\r
-  struct uip_eth_addr src;\r
-  u16_t type;\r
-} __attribute__ ((packed));\r
-\r
-#define UIP_ETHTYPE_ARP 0x0806\r
-#define UIP_ETHTYPE_IP  0x0800\r
-#define UIP_ETHTYPE_IP6 0x86dd \r
-\r
-\r
-/* The uip_arp_init() function must be called before any of the other\r
-   ARP functions. */\r
-void uip_arp_init(void);\r
-\r
-/* The uip_arp_ipin() function should be called whenever an IP packet\r
-   arrives from the Ethernet. This function refreshes the ARP table or\r
-   inserts a new mapping if none exists. The function assumes that an\r
-   IP packet with an Ethernet header is present in the uip_buf buffer\r
-   and that the length of the packet is in the uip_len variable. */\r
-void uip_arp_ipin(void);\r
-\r
-/* The uip_arp_arpin() should be called when an ARP packet is received\r
-   by the Ethernet driver. This function also assumes that the\r
-   Ethernet frame is present in the uip_buf buffer. When the\r
-   uip_arp_arpin() function returns, the contents of the uip_buf\r
-   buffer should be sent out on the Ethernet if the uip_len variable\r
-   is > 0. */\r
-void uip_arp_arpin(void);\r
-\r
-/* The uip_arp_out() function should be called when an IP packet\r
-   should be sent out on the Ethernet. This function creates an\r
-   Ethernet header before the IP header in the uip_buf buffer. The\r
-   Ethernet header will have the correct Ethernet MAC destination\r
-   address filled in if an ARP table entry for the destination IP\r
-   address (or the IP address of the default router) is present. If no\r
-   such table entry is found, the IP packet is overwritten with an ARP\r
-   request and we rely on TCP to retransmit the packet that was\r
-   overwritten. In any case, the uip_len variable holds the length of\r
-   the Ethernet frame that should be transmitted. */\r
-void uip_arp_out(void);\r
-\r
-/* The uip_arp_timer() function should be called every ten seconds. It\r
-   is responsible for flushing old entries in the ARP table. */\r
-void uip_arp_timer(void);\r
-\r
-/** @} */\r
-\r
-/**\r
- * \addtogroup uipconffunc\r
- * @{\r
- */\r
-\r
-/**\r
- * Set the default router's IP address.\r
- *\r
- * \param addr A pointer to a 4-byte array containing the IP address\r
- * of the default router.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_setdraddr(addr) do { uip_arp_draddr[0] = addr[0]; \\r
-                                 uip_arp_draddr[1] = addr[1]; } while(0)\r
-\r
-/**\r
- * Set the netmask.\r
- *\r
- * \param addr A pointer to a 4-byte array containing the IP address\r
- * of the netmask.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_setnetmask(addr) do { uip_arp_netmask[0] = addr[0]; \\r
-                                  uip_arp_netmask[1] = addr[1]; } while(0)\r
-\r
-\r
-/**\r
- * Get the default router's IP address.\r
- *\r
- * \param addr A pointer to a 4-byte array that will be filled in with\r
- * the IP address of the default router.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_getdraddr(addr) do { addr[0] = uip_arp_draddr[0]; \\r
-                                 addr[1] = uip_arp_draddr[1]; } while(0)\r
-\r
-/**\r
- * Get the netmask.\r
- *\r
- * \param addr A pointer to a 4-byte array that will be filled in with\r
- * the value of the netmask.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_getnetmask(addr) do { addr[0] = uip_arp_netmask[0]; \\r
-                                  addr[1] = uip_arp_netmask[1]; } while(0)\r
-\r
-\r
-/**\r
- * Specifiy the Ethernet MAC address.\r
- *\r
- * The ARP code needs to know the MAC address of the Ethernet card in\r
- * order to be able to respond to ARP queries and to generate working\r
- * Ethernet headers.\r
- *\r
- * \note This macro only specifies the Ethernet MAC address to the ARP\r
- * code. It cannot be used to change the MAC address of the Ethernet\r
- * card.\r
- *\r
- * \param eaddr A pointer to a struct uip_eth_addr containing the\r
- * Ethernet MAC address of the Ethernet card.\r
- *\r
- * \hideinitializer\r
- */\r
-#define uip_setethaddr(eaddr) do {uip_ethaddr.addr[0] = eaddr.addr[0]; \\r
-                              uip_ethaddr.addr[1] = eaddr.addr[1];\\r
-                              uip_ethaddr.addr[2] = eaddr.addr[2];\\r
-                              uip_ethaddr.addr[3] = eaddr.addr[3];\\r
-                              uip_ethaddr.addr[4] = eaddr.addr[4];\\r
-                              uip_ethaddr.addr[5] = eaddr.addr[5];} while(0)\r
-\r
-/** @} */\r
-\r
-/**\r
- * \internal Internal variables that are set using the macros\r
- * uip_setdraddr and uip_setnetmask.\r
- */\r
-extern u16_t uip_arp_draddr[2], uip_arp_netmask[2];\r
-#endif /* __UIP_ARP_H__ */\r
-\r
-\r
diff --git a/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uipopt.h b/FreeRTOS/Demo/uIP_Demo_Rowley_ARM7/uip/uipopt.h
deleted file mode 100644 (file)
index 9d274d5..0000000
+++ /dev/null
@@ -1,602 +0,0 @@
-/**\r
- * \defgroup uipopt Configuration options for uIP\r
- * @{\r
- *\r
- * uIP is configured using the per-project configuration file\r
- * "uipopt.h". This file contains all compile-time options for uIP and\r
- * should be tweaked to match each specific project. The uIP\r
- * distribution contains a documented example "uipopt.h" that can be\r
- * copied and modified for each project.\r
- */\r
-\r
-/**\r
- * \file\r
- * Configuration options for uIP.\r
- * \author Adam Dunkels <adam@dunkels.com>\r
- *\r
- * This file is used for tweaking various configuration options for\r
- * uIP. You should make a copy of this file into one of your project's\r
- * directories instead of editing this example "uipopt.h" file that\r
- * comes with the uIP distribution.\r
- */\r
-\r
-/*\r
- * Copyright (c) 2001-2003, Adam Dunkels.\r
- * All rights reserved. \r
- *\r
- * Redistribution and use in source and binary forms, with or without \r
- * modification, are permitted provided that the following conditions \r
- * are met: \r
- * 1. Redistributions of source code must retain the above copyright \r
- *    notice, this list of conditions and the following disclaimer. \r
- * 2. Redistributions in binary form must reproduce the above copyright \r
- *    notice, this list of conditions and the following disclaimer in the \r
- *    documentation and/or other materials provided with the distribution. \r
- * 3. The name of the author may not be used to endorse or promote\r
- *    products derived from this software without specific prior\r
- *    written permission.  \r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\r
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\r
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \r
- *\r
- * This file is part of the uIP TCP/IP stack.\r
- *\r
- * $Id: uipopt.h,v 1.16.2.5 2003/10/07 13:22:51 adam Exp $\r
- *\r
- */\r
-\r
-#ifndef __UIPOPT_H__\r
-#define __UIPOPT_H__\r
-\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipopttypedef uIP type definitions\r
- * @{\r
- */\r
-\r
-/**\r
- * The 8-bit unsigned data type.\r
- *\r
- * This may have to be tweaked for your particular compiler. "unsigned\r
- * char" works for most compilers.\r
- */\r
-typedef unsigned char u8_t;\r
-\r
-/**\r
- * The 16-bit unsigned data type.\r
- *\r
- * This may have to be tweaked for your particular compiler. "unsigned\r
- * short" works for most compilers.\r
- */\r
-typedef unsigned short u16_t;\r
-\r
-/**\r
- * The statistics data type.\r
- *\r
- * This datatype determines how high the statistics counters are able\r
- * to count.\r
- */\r
-typedef unsigned short uip_stats_t;\r
-\r
-/** @} */\r
-\r
-/*------------------------------------------------------------------------------*/\r
-\r
-/**\r
- * \defgroup uipoptstaticconf Static configuration options\r
- * @{\r
- *\r
- * These configuration options can be used for setting the IP address\r
- * settings statically, but only if UIP_FIXEDADDR is set to 1. The\r
- * configuration options for a specific node includes IP address,\r
- * netmask and default router as well as the Ethernet address. The\r
- * netmask, default router and Ethernet address are appliciable only\r
- * if uIP should be run over Ethernet.\r
- *\r
- * All of these should be changed to suit your project.\r
-*/\r
-\r
-/**\r
- * Determines if uIP should use a fixed IP address or not.\r
- *\r
- * If uIP should use a fixed IP address, the settings are set in the\r
- * uipopt.h file. If not, the macros uip_sethostaddr(),\r
- * uip_setdraddr() and uip_setnetmask() should be used instead.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_FIXEDADDR    1\r
-\r
-/**\r
- * Ping IP address asignment.\r
- *\r
- * uIP uses a "ping" packets for setting its own IP address if this\r
- * option is set. If so, uIP will start with an empty IP address and\r
- * the destination IP address of the first incoming "ping" (ICMP echo)\r
- * packet will be used for setting the hosts IP address.\r
- *\r
- * \note This works only if UIP_FIXEDADDR is 0.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_PINGADDRCONF 0\r
-\r
-#if 0\r
-#define UIP_IPADDR0     172U /**< The first octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_IPADDR1     25U /**< The second octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_IPADDR2     218U   /**< The third octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_IPADDR3     202U  /**< The fourth octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-\r
-#define UIP_NETMASK0    255 /**< The first octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_NETMASK1    255 /**< The second octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_NETMASK2    255 /**< The third octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_NETMASK3    0   /**< The fourth octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-\r
-\r
-#define UIP_DRIPADDR0   192 /**< The first octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_DRIPADDR1   168 /**< The second octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_DRIPADDR2   0   /**< The third octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_DRIPADDR3   1   /**< The fourth octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-\r
-#else\r
-\r
-#define UIP_IPADDR0     172U  /**< The first octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_IPADDR1     25U /**< The second octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_IPADDR2     218U   /**< The third octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_IPADDR3     202U  /**< The fourth octet of the IP address of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-\r
-#define UIP_NETMASK0    255 /**< The first octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_NETMASK1    255 /**< The second octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_NETMASK2    255 /**< The third octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_NETMASK3    0   /**< The fourth octet of the netmask of\r
-                              this uIP node, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-\r
-#define UIP_DRIPADDR0   172 /**< The first octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_DRIPADDR1   25 /**< The second octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_DRIPADDR2   218   /**< The third octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-#define UIP_DRIPADDR3   3   /**< The fourth octet of the IP address of\r
-                              the default router, if UIP_FIXEDADDR is\r
-                              1. \hideinitializer */\r
-\r
-#endif\r
-\r
-/**\r
- * Specifies if the uIP ARP module should be compiled with a fixed\r
- * Ethernet MAC address or not.\r
- *\r
- * If this configuration option is 0, the macro uip_setethaddr() can\r
- * be used to specify the Ethernet address at run-time.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_FIXEDETHADDR 0\r
-\r
-#define UIP_ETHADDR0    0x00  /**< The first octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR1    0xbd  /**< The second octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR2    0x3b  /**< The third octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR3    0x33  /**< The fourth octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR4    0x05  /**< The fifth octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-#define UIP_ETHADDR5    0x71  /**< The sixth octet of the Ethernet\r
-                                address if UIP_FIXEDETHADDR is\r
-                                1. \hideinitializer */\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipoptip IP configuration options\r
- * @{\r
- *\r
- */\r
-/**\r
- * The IP TTL (time to live) of IP packets sent by uIP.\r
- *\r
- * This should normally not be changed.\r
- */\r
-#define UIP_TTL         255\r
-\r
-/**\r
- * Turn on support for IP packet reassembly.\r
- *\r
- * uIP supports reassembly of fragmented IP packets. This features\r
- * requires an additonal amount of RAM to hold the reassembly buffer\r
- * and the reassembly code size is approximately 700 bytes.  The\r
- * reassembly buffer is of the same size as the uip_buf buffer\r
- * (configured by UIP_BUFSIZE).\r
- *\r
- * \note IP packet reassembly is not heavily tested.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_REASSEMBLY 0\r
-\r
-/**\r
- * The maximum time an IP fragment should wait in the reassembly\r
- * buffer before it is dropped.\r
- *\r
- */\r
-#define UIP_REASS_MAXAGE 40\r
-\r
-/** @} */\r
-\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipoptudp UDP configuration options\r
- * @{\r
- *\r
- * \note The UDP support in uIP is still not entirely complete; there\r
- * is no support for sending or receiving broadcast or multicast\r
- * packets, but it works well enough to support a number of vital\r
- * applications such as DNS queries, though\r
- */\r
-\r
-/**\r
- * Toggles wether UDP support should be compiled in or not.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_UDP           0\r
-\r
-/**\r
- * Toggles if UDP checksums should be used or not.\r
- *\r
- * \note Support for UDP checksums is currently not included in uIP,\r
- * so this option has no function.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_UDP_CHECKSUMS 0\r
-\r
-/**\r
- * The maximum amount of concurrent UDP connections.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_UDP_CONNS    2\r
-\r
-/**\r
- * The name of the function that should be called when UDP datagrams arrive.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_UDP_APPCALL  udp_appcall\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipopttcp TCP configuration options\r
- * @{\r
- */\r
-\r
-/**\r
- * Determines if support for opening connections from uIP should be\r
- * compiled in.\r
- *\r
- * If the applications that are running on top of uIP for this project\r
- * do not need to open outgoing TCP connections, this configration\r
- * option can be turned off to reduce the code size of uIP.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_ACTIVE_OPEN 1\r
-\r
-/**\r
- * The maximum number of simultaneously open TCP connections.\r
- *\r
- * Since the TCP connections are statically allocated, turning this\r
- * configuration knob down results in less RAM used. Each TCP\r
- * connection requires approximatly 30 bytes of memory.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_CONNS       20\r
-\r
-/**\r
- * The maximum number of simultaneously listening TCP ports.\r
- *\r
- * Each listening TCP port requires 2 bytes of memory.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_LISTENPORTS 10\r
-\r
-/**\r
- * The size of the advertised receiver's window.\r
- *\r
- * Should be set low (i.e., to the size of the uip_buf buffer) is the\r
- * application is slow to process incoming data, or high (32768 bytes)\r
- * if the application processes data quickly.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_RECEIVE_WINDOW   32768\r
-\r
-/**\r
- * Determines if support for TCP urgent data notification should be\r
- * compiled in.\r
- *\r
- * Urgent data (out-of-band data) is a rarely used TCP feature that\r
- * very seldom would be required.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_URGDATA      1\r
-\r
-/**\r
- * The initial retransmission timeout counted in timer pulses.\r
- *\r
- * This should not be changed.\r
- */\r
-#define UIP_RTO         3\r
-\r
-/**\r
- * The maximum number of times a segment should be retransmitted\r
- * before the connection should be aborted.\r
- *\r
- * This should not be changed.\r
- */\r
-#define UIP_MAXRTX      8\r
-\r
-/**\r
- * The maximum number of times a SYN segment should be retransmitted\r
- * before a connection request should be deemed to have been\r
- * unsuccessful.\r
- *\r
- * This should not need to be changed.\r
- */\r
-#define UIP_MAXSYNRTX      3\r
-\r
-/**\r
- * The TCP maximum segment size.\r
- *\r
- * This is should not be to set to more than UIP_BUFSIZE - UIP_LLH_LEN - 40.\r
- */\r
-#define UIP_TCP_MSS     (UIP_BUFSIZE - UIP_LLH_LEN - 40)\r
-\r
-/**\r
- * How long a connection should stay in the TIME_WAIT state.\r
- *\r
- * This configiration option has no real implication, and it should be\r
- * left untouched.\r
- */ \r
-#define UIP_TIME_WAIT_TIMEOUT 120\r
-\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipoptarp ARP configuration options\r
- * @{\r
- */\r
-\r
-/**\r
- * The size of the ARP table.\r
- *\r
- * This option should be set to a larger value if this uIP node will\r
- * have many connections from the local network.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_ARPTAB_SIZE 8\r
-\r
-/**\r
- * The maxium age of ARP table entries measured in 10ths of seconds.\r
- *\r
- * An UIP_ARP_MAXAGE of 120 corresponds to 20 minutes (BSD\r
- * default).\r
- */\r
-#define UIP_ARP_MAXAGE 120\r
-\r
-/** @} */\r
-\r
-/*------------------------------------------------------------------------------*/\r
-\r
-/**\r
- * \defgroup uipoptgeneral General configuration options\r
- * @{\r
- */\r
-\r
-/**\r
- * The size of the uIP packet buffer.\r
- *\r
- * The uIP packet buffer should not be smaller than 60 bytes, and does\r
- * not need to be larger than 1500 bytes. Lower size results in lower\r
- * TCP throughput, larger size results in higher TCP throughput.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_BUFSIZE     2048\r
-\r
-\r
-/**\r
- * Determines if statistics support should be compiled in.\r
- *\r
- * The statistics is useful for debugging and to show the user.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_STATISTICS  1\r
-\r
-/**\r
- * Determines if logging of certain events should be compiled in.\r
- *\r
- * This is useful mostly for debugging. The function uip_log()\r
- * must be implemented to suit the architecture of the project, if\r
- * logging is turned on.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_LOGGING 0\r
-\r
-/**\r
- * Print out a uIP log message.\r
- *\r
- * This function must be implemented by the module that uses uIP, and\r
- * is called by uIP whenever a log message is generated.\r
- */\r
-void uip_log(char *msg);\r
-\r
-/**\r
- * The link level header length.\r
- *\r
- * This is the offset into the uip_buf where the IP header can be\r
- * found. For Ethernet, this should be set to 14. For SLIP, this\r
- * should be set to 0.\r
- *\r
- * \hideinitializer\r
- */\r
-#define UIP_LLH_LEN     14\r
-\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-/**\r
- * \defgroup uipoptcpu CPU architecture configuration\r
- * @{\r
- *\r
- * The CPU architecture configuration is where the endianess of the\r
- * CPU on which uIP is to be run is specified. Most CPUs today are\r
- * little endian, and the most notable exception are the Motorolas\r
- * which are big endian. The BYTE_ORDER macro should be changed to\r
- * reflect the CPU architecture on which uIP is to be run.\r
- */\r
-#ifndef LITTLE_ENDIAN\r
-#define LITTLE_ENDIAN  3412\r
-#endif /* LITTLE_ENDIAN */\r
-#ifndef BIG_ENDIAN\r
-#define BIG_ENDIAN     1234\r
-#endif /* BIGE_ENDIAN */\r
-\r
-/**\r
- * The byte order of the CPU architecture on which uIP is to be run.\r
- *\r
- * This option can be either BIG_ENDIAN (Motorola byte order) or\r
- * LITTLE_ENDIAN (Intel byte order).\r
- *\r
- * \hideinitializer\r
- */\r
-#ifndef BYTE_ORDER\r
-#define BYTE_ORDER     LITTLE_ENDIAN\r
-#endif /* BYTE_ORDER */\r
-\r
-/** @} */\r
-/*------------------------------------------------------------------------------*/\r
-\r
-/**\r
- * \defgroup uipoptapp Appication specific configurations\r
- * @{\r
- *\r
- * An uIP application is implemented using a single application\r
- * function that is called by uIP whenever a TCP/IP event occurs. The\r
- * name of this function must be registered with uIP at compile time\r
- * using the UIP_APPCALL definition.\r
- *\r
- * uIP applications can store the application state within the\r
- * uip_conn structure by specifying the size of the application\r
- * structure with the UIP_APPSTATE_SIZE macro.\r
- *\r
- * The file containing the definitions must be included in the\r
- * uipopt.h file.\r
- *\r
- * The following example illustrates how this can look.\r
- \code\r
-\r
-void httpd_appcall(void);\r
-#define UIP_APPCALL     httpd_appcall\r
-\r
-struct httpd_state {\r
-  u8_t state; \r
-  u16_t count;\r
-  char *dataptr;\r
-  char *script;\r
-};\r
-#define UIP_APPSTATE_SIZE (sizeof(struct httpd_state))\r
- \endcode\r
- */\r
-\r
-/**\r
- * \var #define UIP_APPCALL\r
- *\r
- * The name of the application function that uIP should call in\r
- * response to TCP/IP events.\r
- *\r
- */\r
-\r
-/**\r
- * \var #define UIP_APPSTATE_SIZE\r
- *\r
- * The size of the application state that is to be stored in the\r
- * uip_conn structure.\r
- */\r
-/** @} */\r
-\r
-/* Include the header file for the application program that should be\r
-   used. If you don't use the example web server, you should change\r
-   this. */\r
-#include "httpd.h"\r
-\r
-\r
-#endif /* __UIPOPT_H__ */\r