Reorganise Zynq project after spitting lwIP example into a separate configuration.

This commit is contained in:
Richard Barry 2014-06-09 20:20:23 +00:00
parent e92795bcc8
commit 2f6cb8a86c
55 changed files with 88 additions and 155 deletions

View file

@ -31,11 +31,11 @@
<listOptionValue builtIn="false" value="../../RTOSDemo_bsp/ps7_cortexa9_0/include"/> <listOptionValue builtIn="false" value="../../RTOSDemo_bsp/ps7_cortexa9_0/include"/>
</option> </option>
<option id="xilinx.gnu.compiler.dircategory.includes.1516519458" name="Include Paths" superClass="xilinx.gnu.compiler.dircategory.includes" valueType="includePath"> <option id="xilinx.gnu.compiler.dircategory.includes.1516519458" name="Include Paths" superClass="xilinx.gnu.compiler.dircategory.includes" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/lwIP_port/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/lwIP_Demo/lwIP_port/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/lwIP_port/netif}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/lwIP_Demo/lwIP_port/netif}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/lwip-1.4.0/src/include/ipv4}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/lwIP_Demo/lwip-1.4.0/src/include/ipv4}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/lwip-1.4.0/src/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/lwIP_Demo/lwip-1.4.0/src/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/FreeRTOS-Plus-CLI}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/FreeRTOS-Plus-CLI}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/Standard_Demo_Tasks/include}&quot;"/> <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/Standard_Demo_Tasks/include}&quot;"/>
@ -95,80 +95,16 @@
<outputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.outputtype.386600654" name="Resource Custom Build Step Output Type"/> <outputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.outputtype.386600654" name="Resource Custom Build Step Output Type"/>
</tool> </tool>
</fileInfo> </fileInfo>
<fileInfo id="xilinx.gnu.arm.exe.debug.2107277346.1117826333" name="fsdata.c" rcbsApplicability="disable" resourcePath="src/lwIP_Demo/lwIP_Apps/apps/httpserver_raw_from_lwIP_download/fsdata.c" toolsToInvoke="xilinx.gnu.arm.c.toolchain.compiler.debug.399974114.207063187">
<tool id="xilinx.gnu.arm.c.toolchain.compiler.debug.399974114.207063187" name="ARM gcc compiler" superClass="xilinx.gnu.arm.c.toolchain.compiler.debug.399974114"/>
</fileInfo>
<sourceEntries> <sourceEntries>
<entry excluding="src/Full_Demo/lwIP_port/netif/xlltemacif.c|src/Full_Demo/lwIP_port/netif/xlltemacif_sdma.c|src/Full_Demo/lwIP_port/netif/xlltemacif_physpeed.c|src/Full_Demo/lwIP_port/netif/xlltemacif_hw.h|src/Full_Demo/lwIP_port/netif/xlltemacif_hw.c|src/Full_Demo/lwIP_port/netif/xlltemacif_fifo.h|src/Full_Demo/lwIP_port/netif/xlltemacif_fifo.c|src/Full_Demo/lwIP_port/netif/xemacliteif.c|src/Full_Demo/lwIP_port/netif/xaxiemacif.c|src/Full_Demo/lwIP_port/netif/xaxiemacif_physpeed.c|src/Full_Demo/lwIP_port/netif/xaxiemacif_hw.h|src/Full_Demo/lwIP_port/netif/xaxiemacif_hw.c|src/Full_Demo/lwIP_port/netif/xaxiemacif_fifo.h|src/Full_Demo/lwIP_port/netif/xaxiemacif_fifo.c|src/Full_Demo/lwIP_port/netif/xaxiemacif_dma.c|src/Full_Demo/lwIP_Apps/apps/httpserver_raw_from_lwIP_download/fsdata.c|src/Full_Demo/lwIP_Apps/apps/httpserver_raw_from_lwIP_download/makefsdata" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> <entry excluding="src/lwIP_Demo/lwIP_Apps/apps/httpserver_raw_from_lwIP_download/fsdata.c|src/lwIP_Demo/lwIP_Apps/apps/httpserver_raw_from_lwIP_download/makefsdata|src/Full_Demo/lwIP_port/netif/xlltemacif.c|src/Full_Demo/lwIP_port/netif/xlltemacif_sdma.c|src/Full_Demo/lwIP_port/netif/xlltemacif_physpeed.c|src/Full_Demo/lwIP_port/netif/xlltemacif_hw.h|src/Full_Demo/lwIP_port/netif/xlltemacif_hw.c|src/Full_Demo/lwIP_port/netif/xlltemacif_fifo.h|src/Full_Demo/lwIP_port/netif/xlltemacif_fifo.c|src/Full_Demo/lwIP_port/netif/xemacliteif.c|src/Full_Demo/lwIP_port/netif/xaxiemacif.c|src/Full_Demo/lwIP_port/netif/xaxiemacif_physpeed.c|src/Full_Demo/lwIP_port/netif/xaxiemacif_hw.h|src/Full_Demo/lwIP_port/netif/xaxiemacif_hw.c|src/Full_Demo/lwIP_port/netif/xaxiemacif_fifo.h|src/Full_Demo/lwIP_port/netif/xaxiemacif_fifo.c|src/Full_Demo/lwIP_port/netif/xaxiemacif_dma.c|src/Full_Demo/lwIP_Apps/apps/httpserver_raw_from_lwIP_download/fsdata.c|src/Full_Demo/lwIP_Apps/apps/httpserver_raw_from_lwIP_download/makefsdata" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries> </sourceEntries>
</configuration> </configuration>
</storageModule> </storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration> </cconfiguration>
<cconfiguration id="xilinx.gnu.arm.exe.release.515197434">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="xilinx.gnu.arm.exe.release.515197434" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="com.xilinx.sdk.managedbuilder.XELF.arm" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="xilinx.gnu.arm.exe.release.515197434" name="Release" parent="xilinx.gnu.arm.exe.release">
<folderInfo id="xilinx.gnu.arm.exe.release.515197434." name="/" resourcePath="">
<toolChain id="xilinx.gnu.arm.exe.release.toolchain.1452588341" name="Xilinx ARM GNU Toolchain" superClass="xilinx.gnu.arm.exe.release.toolchain">
<targetPlatform binaryParser="com.xilinx.sdk.managedbuilder.XELF.arm" id="xilinx.arm.target.gnu.base.release.1847531840" isAbstract="false" name="Release Platform" superClass="xilinx.arm.target.gnu.base.release"/>
<builder buildPath="${workspace_loc:/RTOSDemo}/Release" enableAutoBuild="true" id="xilinx.gnu.arm.toolchain.builder.release.286577936" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="GNU make" superClass="xilinx.gnu.arm.toolchain.builder.release"/>
<tool id="xilinx.gnu.arm.c.toolchain.assembler.release.891407910" name="ARM gcc assembler" superClass="xilinx.gnu.arm.c.toolchain.assembler.release">
<inputType id="xilinx.gnu.assembler.input.973808496" superClass="xilinx.gnu.assembler.input"/>
</tool>
<tool id="xilinx.gnu.arm.c.toolchain.compiler.release.1186216427" name="ARM gcc compiler" superClass="xilinx.gnu.arm.c.toolchain.compiler.release">
<option defaultValue="gnu.c.optimization.level.more" id="xilinx.gnu.compiler.option.optimization.level.1943612294" name="Optimization Level" superClass="xilinx.gnu.compiler.option.optimization.level" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.option.debugging.level.325527566" name="Debug Level" superClass="xilinx.gnu.compiler.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.inferred.swplatform.includes.92751273" name="Software Platform Include Path" superClass="xilinx.gnu.compiler.inferred.swplatform.includes" valueType="includePath">
<listOptionValue builtIn="false" value="../../RTOSDemo_bsp/ps7_cortexa9_0/include"/>
</option>
<inputType id="xilinx.gnu.arm.c.compiler.input.1863565951" name="C source files" superClass="xilinx.gnu.arm.c.compiler.input"/>
</tool>
<tool id="xilinx.gnu.arm.cxx.toolchain.compiler.release.745936622" name="ARM g++ compiler" superClass="xilinx.gnu.arm.cxx.toolchain.compiler.release">
<option defaultValue="gnu.c.optimization.level.more" id="xilinx.gnu.compiler.option.optimization.level.156238253" name="Optimization Level" superClass="xilinx.gnu.compiler.option.optimization.level" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.option.debugging.level.268721935" name="Debug Level" superClass="xilinx.gnu.compiler.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
<option id="xilinx.gnu.compiler.inferred.swplatform.includes.977087989" name="Software Platform Include Path" superClass="xilinx.gnu.compiler.inferred.swplatform.includes" valueType="includePath">
<listOptionValue builtIn="false" value="../../RTOSDemo_bsp/ps7_cortexa9_0/include"/>
</option>
</tool>
<tool id="xilinx.gnu.arm.toolchain.archiver.679271850" name="ARM archiver" superClass="xilinx.gnu.arm.toolchain.archiver"/>
<tool id="xilinx.gnu.arm.c.toolchain.linker.release.774442403" name="ARM gcc linker" superClass="xilinx.gnu.arm.c.toolchain.linker.release">
<option id="xilinx.gnu.linker.inferred.swplatform.lpath.925702576" name="Software Platform Library Path" superClass="xilinx.gnu.linker.inferred.swplatform.lpath" valueType="libPaths">
<listOptionValue builtIn="false" value="../../RTOSDemo_bsp/ps7_cortexa9_0/lib"/>
</option>
<option id="xilinx.gnu.linker.inferred.swplatform.flags.771521638" name="Software Platform Inferred Flags" superClass="xilinx.gnu.linker.inferred.swplatform.flags" valueType="libs">
<listOptionValue builtIn="false" value="-Wl,--start-group,-lxil,-lgcc,-lc,--end-group"/>
</option>
<option id="xilinx.gnu.c.linker.option.lscript.1718521663" name="Linker Script" superClass="xilinx.gnu.c.linker.option.lscript" value="../src/lscript.ld" valueType="string"/>
<inputType id="xilinx.gnu.linker.input.192075526" superClass="xilinx.gnu.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
<inputType id="xilinx.gnu.linker.input.lscript.9857231" name="Linker Script" superClass="xilinx.gnu.linker.input.lscript"/>
</tool>
<tool id="xilinx.gnu.arm.cxx.toolchain.linker.release.2059800938" name="ARM g++ linker" superClass="xilinx.gnu.arm.cxx.toolchain.linker.release">
<option id="xilinx.gnu.linker.inferred.swplatform.lpath.1110357491" name="Software Platform Library Path" superClass="xilinx.gnu.linker.inferred.swplatform.lpath" valueType="libPaths">
<listOptionValue builtIn="false" value="../../RTOSDemo_bsp/ps7_cortexa9_0/lib"/>
</option>
<option id="xilinx.gnu.linker.inferred.swplatform.flags.267828259" name="Software Platform Inferred Flags" superClass="xilinx.gnu.linker.inferred.swplatform.flags" valueType="libs">
<listOptionValue builtIn="false" value="-Wl,--start-group,-lxil,-lgcc,-lc,--end-group"/>
</option>
<option id="xilinx.gnu.c.linker.option.lscript.893667210" name="Linker Script" superClass="xilinx.gnu.c.linker.option.lscript" value="../src/lscript.ld" valueType="string"/>
</tool>
<tool id="xilinx.gnu.arm.size.release.148867837" name="ARM Print Size" superClass="xilinx.gnu.arm.size.release"/>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule> </storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/> <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0"> <storageModule moduleId="cdtBuildSystem" version="4.0.0">

View file

@ -50,7 +50,7 @@
<locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos/UARTCommandConsole.c</locationURI> <locationURI>FREERTOS_ROOT/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos/UARTCommandConsole.c</locationURI>
</link> </link>
<link> <link>
<name>src/Full_Demo/lwip-1.4.0</name> <name>src/lwIP_Demo/lwip-1.4.0</name>
<type>2</type> <type>2</type>
<locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/ethernet/lwip-1.4.0</locationURI> <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/ethernet/lwip-1.4.0</locationURI>
</link> </link>
@ -98,8 +98,8 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1400583655287</id> <id>1402344314156</id>
<name>src/Full_Demo/lwip-1.4.0</name> <name>src/lwIP_Demo/lwip-1.4.0</name>
<type>10</type> <type>10</type>
<matcher> <matcher>
<id>org.eclipse.ui.ide.multiFilter</id> <id>org.eclipse.ui.ide.multiFilter</id>
@ -188,8 +188,8 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1400583733480</id> <id>0</id>
<name>src/Full_Demo/lwip-1.4.0/ports</name> <name>src/lwIP_Demo/lwip-1.4.0/ports</name>
<type>9</type> <type>9</type>
<matcher> <matcher>
<id>org.eclipse.ui.ide.multiFilter</id> <id>org.eclipse.ui.ide.multiFilter</id>
@ -197,8 +197,8 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1400584415021</id> <id>0</id>
<name>src/Full_Demo/lwip-1.4.0/src/core</name> <name>src/lwIP_Demo/lwip-1.4.0/src/core</name>
<type>10</type> <type>10</type>
<matcher> <matcher>
<id>org.eclipse.ui.ide.multiFilter</id> <id>org.eclipse.ui.ide.multiFilter</id>
@ -206,8 +206,8 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1400584415036</id> <id>0</id>
<name>src/Full_Demo/lwip-1.4.0/src/core</name> <name>src/lwIP_Demo/lwip-1.4.0/src/core</name>
<type>10</type> <type>10</type>
<matcher> <matcher>
<id>org.eclipse.ui.ide.multiFilter</id> <id>org.eclipse.ui.ide.multiFilter</id>
@ -215,8 +215,8 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1400584349310</id> <id>0</id>
<name>src/Full_Demo/lwip-1.4.0/src/netif</name> <name>src/lwIP_Demo/lwip-1.4.0/src/netif</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
<id>org.eclipse.ui.ide.multiFilter</id> <id>org.eclipse.ui.ide.multiFilter</id>
@ -224,8 +224,8 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1400584349317</id> <id>0</id>
<name>src/Full_Demo/lwip-1.4.0/src/netif</name> <name>src/lwIP_Demo/lwip-1.4.0/src/netif</name>
<type>10</type> <type>10</type>
<matcher> <matcher>
<id>org.eclipse.ui.ide.multiFilter</id> <id>org.eclipse.ui.ide.multiFilter</id>

View file

@ -64,10 +64,10 @@
*/ */
/****************************************************************************** /******************************************************************************
* NOTE 1: This project provides two demo applications. A simple blinky style * NOTE 1: This project provides three demo applications. A simple blinky
* project, and a more comprehensive test and demo application. The * style project, a more comprehensive test and demo application, and an
* mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select * lwIP example. The mainSELECTED_APPLICATION setting in main.c is used to
* between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY * select between the three. See the notes on using mainSELECTED_APPLICATION
* in main.c. This file implements the simply blinky style version. * in main.c. This file implements the simply blinky style version.
* *
* NOTE 2: This file only contains the source code that is specific to the * NOTE 2: This file only contains the source code that is specific to the

View file

@ -64,11 +64,11 @@
*/ */
/****************************************************************************** /******************************************************************************
* NOTE 1: This project provides two demo applications. A simple blinky style * NOTE 1: This project provides three demo applications. A simple blinky
* project, and a more comprehensive test and demo application. The * style project, a more comprehensive test and demo application, and an
* mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select * lwIP example. The mainSELECTED_APPLICATION setting in main.c is used to
* between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY * select between the three. See the notes on using mainSELECTED_APPLICATION
* in main.c. This file implements the comprehensive test and demo version. * in main.c. This file implements the simply blinky style version.
* *
* NOTE 2: This file only contains the source code that is specific to the * NOTE 2: This file only contains the source code that is specific to the
* full demo. Generic functions, such FreeRTOS hook functions, and functions * full demo. Generic functions, such FreeRTOS hook functions, and functions
@ -184,11 +184,6 @@ purpose of ensuring parameters are passed into tasks correctly. */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/*
* Called by main() to run the full demo (as opposed to the blinky demo) when
* mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0.
*/
void main_full( void );
/* /*
* The check task, as described at the top of this file. * The check task, as described at the top of this file.

View file

@ -127,7 +127,7 @@ void lwIPAppsInit( void *pvArgument )
{ {
ip_addr_t xIPAddr, xNetMask, xGateway; ip_addr_t xIPAddr, xNetMask, xGateway;
extern err_t xemacpsif_init( struct netif *netif ); extern err_t xemacpsif_init( struct netif *netif );
extern void xemacif_input_thread( struct netif *netif ); extern void xemacif_input_thread( void *netif );
static struct netif xNetIf; static struct netif xNetIf;
( void ) pvArgument; ( void ) pvArgument;
@ -150,7 +150,7 @@ static struct netif xNetIf;
xNetIf.hwaddr[ 4 ] = configMAC_ADDR4; xNetIf.hwaddr[ 4 ] = configMAC_ADDR4;
xNetIf.hwaddr[ 5 ] = configMAC_ADDR5; xNetIf.hwaddr[ 5 ] = configMAC_ADDR5;
netif_set_default( netif_add( &xNetIf, &xIPAddr, &xNetMask, &xGateway, XPAR_XEMACPS_0_BASEADDR, xemacpsif_init, tcpip_input ) ); netif_set_default( netif_add( &xNetIf, &xIPAddr, &xNetMask, &xGateway, ( void * ) XPAR_XEMACPS_0_BASEADDR, xemacpsif_init, tcpip_input ) );
netif_set_up( &xNetIf ); netif_set_up( &xNetIf );
/* Install the server side include handler. */ /* Install the server side include handler. */

View file

@ -286,7 +286,9 @@ void setup_rx_bds(XEmacPs_BdRing *rxring)
if (Status == XST_DMA_SG_LIST_ERROR) if (Status == XST_DMA_SG_LIST_ERROR)
LWIP_DEBUGF(NETIF_DEBUG, ("XST_DMA_SG_LIST_ERROR: this function was called out of sequence with XEmacPs_BdRingAlloc()\r\n")); LWIP_DEBUGF(NETIF_DEBUG, ("XST_DMA_SG_LIST_ERROR: this function was called out of sequence with XEmacPs_BdRingAlloc()\r\n"));
else else
{
LWIP_DEBUGF(NETIF_DEBUG, ("set of BDs was rejected because the first BD did not have its start-of-packet bit set, or the last BD did not have its end-of-packet bit set, or any one of the BD set has 0 as length value\r\n")); LWIP_DEBUGF(NETIF_DEBUG, ("set of BDs was rejected because the first BD did not have its start-of-packet bit set, or the last BD did not have its end-of-packet bit set, or any one of the BD set has 0 as length value\r\n"));
}
return; return;
} }
} }
@ -396,7 +398,7 @@ XStatus init_dma(struct xemac_s *xemac)
XStatus Status; XStatus Status;
int i; int i;
unsigned int BdIndex; unsigned int BdIndex;
char *endAdd = &_end; char *endAdd = (char *) &_end;
/* /*
* Align the BD starte address to 1 MB boundary. * Align the BD starte address to 1 MB boundary.
*/ */

View file

@ -51,6 +51,9 @@ void init_emacps(xemacpsif_s *xemacps, struct netif *netif)
/* obtain config of this emac */ /* obtain config of this emac */
mac_config = (XEmacPs_Config *)xemacps_lookup_config(mac_address); mac_config = (XEmacPs_Config *)xemacps_lookup_config(mac_address);
/* Does not appear to be used. */
( void ) mac_config;
xemacpsp = &xemacps->emacps; xemacpsp = &xemacps->emacps;
/* set mac address */ /* set mac address */
@ -78,6 +81,9 @@ void init_emacps_on_error (xemacpsif_s *xemacps, struct netif *netif)
/* obtain config of this emac */ /* obtain config of this emac */
mac_config = (XEmacPs_Config *)xemacps_lookup_config(mac_address); mac_config = (XEmacPs_Config *)xemacps_lookup_config(mac_address);
/* Does not appear to be used? */
( void ) mac_config;
xemacpsp = &xemacps->emacps; xemacpsp = &xemacps->emacps;
/* set mac address */ /* set mac address */
@ -153,6 +159,10 @@ void emacps_error_handler(void *arg,u8 Direction, u32 ErrorWord)
xtopologyp = &xtopology[xemac->topology_index]; xtopologyp = &xtopology[xemac->topology_index];
xemacps = &xemacpsif->emacps; xemacps = &xemacpsif->emacps;
/* Do not appear to be used. */
( void ) xemacps;
( void ) xtopologyp;
if (ErrorWord != 0) { if (ErrorWord != 0) {
switch (Direction) { switch (Direction) {
case XEMACPS_RECV: case XEMACPS_RECV:

View file

@ -434,7 +434,7 @@ static void SetUpSLCRDivisors(int mac_baseaddr, int speed)
*(volatile unsigned int *)(SLCR_UNLOCK_ADDR) = SLCR_UNLOCK_KEY_VALUE; *(volatile unsigned int *)(SLCR_UNLOCK_ADDR) = SLCR_UNLOCK_KEY_VALUE;
if (mac_baseaddr == EMAC0_BASE_ADDRESS) { if ((unsigned long)mac_baseaddr == EMAC0_BASE_ADDRESS) {
slcrBaseAddress = SLCR_GEM0_CLK_CTRL_ADDR; slcrBaseAddress = SLCR_GEM0_CLK_CTRL_ADDR;
} else { } else {
slcrBaseAddress = SLCR_GEM1_CLK_CTRL_ADDR; slcrBaseAddress = SLCR_GEM1_CLK_CTRL_ADDR;
@ -452,7 +452,7 @@ static void SetUpSLCRDivisors(int mac_baseaddr, int speed)
} }
#else #else
if (speed == 1000) { if (speed == 1000) {
if (mac_baseaddr == EMAC0_BASE_ADDRESS) { if ((unsigned long)mac_baseaddr == EMAC0_BASE_ADDRESS) {
#ifdef XPAR_PS7_ETHERNET_0_ENET_SLCR_1000MBPS_DIV0 #ifdef XPAR_PS7_ETHERNET_0_ENET_SLCR_1000MBPS_DIV0
SlcrDiv0 = XPAR_PS7_ETHERNET_0_ENET_SLCR_1000MBPS_DIV0; SlcrDiv0 = XPAR_PS7_ETHERNET_0_ENET_SLCR_1000MBPS_DIV0;
SlcrDiv1 = XPAR_PS7_ETHERNET_0_ENET_SLCR_1000MBPS_DIV1; SlcrDiv1 = XPAR_PS7_ETHERNET_0_ENET_SLCR_1000MBPS_DIV1;
@ -464,7 +464,7 @@ static void SetUpSLCRDivisors(int mac_baseaddr, int speed)
#endif #endif
} }
} else if (speed == 100) { } else if (speed == 100) {
if (mac_baseaddr == EMAC0_BASE_ADDRESS) { if ((unsigned long)mac_baseaddr == EMAC0_BASE_ADDRESS) {
#ifdef XPAR_PS7_ETHERNET_0_ENET_SLCR_100MBPS_DIV0 #ifdef XPAR_PS7_ETHERNET_0_ENET_SLCR_100MBPS_DIV0
SlcrDiv0 = XPAR_PS7_ETHERNET_0_ENET_SLCR_100MBPS_DIV0; SlcrDiv0 = XPAR_PS7_ETHERNET_0_ENET_SLCR_100MBPS_DIV0;
SlcrDiv1 = XPAR_PS7_ETHERNET_0_ENET_SLCR_100MBPS_DIV1; SlcrDiv1 = XPAR_PS7_ETHERNET_0_ENET_SLCR_100MBPS_DIV1;
@ -476,7 +476,7 @@ static void SetUpSLCRDivisors(int mac_baseaddr, int speed)
#endif #endif
} }
} else { } else {
if (mac_baseaddr == EMAC0_BASE_ADDRESS) { if ((unsigned long)mac_baseaddr == EMAC0_BASE_ADDRESS) {
#ifdef XPAR_PS7_ETHERNET_0_ENET_SLCR_10MBPS_DIV0 #ifdef XPAR_PS7_ETHERNET_0_ENET_SLCR_10MBPS_DIV0
SlcrDiv0 = XPAR_PS7_ETHERNET_0_ENET_SLCR_10MBPS_DIV0; SlcrDiv0 = XPAR_PS7_ETHERNET_0_ENET_SLCR_10MBPS_DIV0;
SlcrDiv1 = XPAR_PS7_ETHERNET_0_ENET_SLCR_10MBPS_DIV1; SlcrDiv1 = XPAR_PS7_ETHERNET_0_ENET_SLCR_10MBPS_DIV1;
@ -502,7 +502,6 @@ static void SetUpSLCRDivisors(int mac_baseaddr, int speed)
unsigned Phy_Setup (XEmacPs *xemacpsp) unsigned Phy_Setup (XEmacPs *xemacpsp)
{ {
unsigned link_speed; unsigned link_speed;
unsigned short regval;
unsigned long conv_present = 0; unsigned long conv_present = 0;
unsigned long convspeeddupsetting = 0; unsigned long convspeeddupsetting = 0;
unsigned long convphyaddr = 0; unsigned long convphyaddr = 0;

View file

@ -64,43 +64,18 @@
*/ */
/****************************************************************************** /******************************************************************************
* NOTE 1: This project provides two demo applications. A simple blinky style * NOTE 1: This project provides three demo applications. A simple blinky
* project, and a more comprehensive test and demo application. The * style project, a more comprehensive test and demo application, and an
* mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select * lwIP example. The mainSELECTED_APPLICATION setting in main.c is used to
* between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY * select between the three. See the notes on using mainSELECTED_APPLICATION
* in main.c. This file implements the simply blinky style version. * in main.c. This file implements the simply blinky style version.
* *
* NOTE 2: This file only contains the source code that is specific to the * NOTE 2: This file only contains the source code that is specific to the
* basic demo. Generic functions, such FreeRTOS hook functions, and functions * basic demo. Generic functions, such FreeRTOS hook functions, and functions
* required to configure the hardware are defined in main.c. * required to configure the hardware are defined in main.c.
****************************************************************************** ******************************************************************************
*
* main_blinky() creates one queue, and two tasks. It then starts the
* scheduler.
*
* The Queue Send Task:
* The queue send task is implemented by the prvQueueSendTask() function in
* this file. prvQueueSendTask() sits in a loop that causes it to repeatedly
* block for 200 milliseconds, before sending the value 100 to the queue that
* was created within main_blinky(). Once the value is sent, the task loops
* back around to block for another 200 milliseconds...and so on.
*
* The Queue Receive Task:
* The queue receive task is implemented by the prvQueueReceiveTask() function
* in this file. prvQueueReceiveTask() sits in a loop where it repeatedly
* blocks on attempts to read data from the queue that was created within
* main_blinky(). When data is received, the task checks the value of the
* data, and if the value equals the expected 100, toggles an LED. The 'block
* time' parameter passed to the queue receive function specifies that the
* task should be held in the Blocked state indefinitely to wait for data to
* be available on the queue. The queue receive task will only leave the
* Blocked state when the queue send task writes to the queue. As the queue
* send task writes to the queue every 200 milliseconds, the queue receive
* task leaves the Blocked state every 200 milliseconds, and therefore toggles
* the LED every 200 milliseconds.
*/ */
#warning Need to update the comment above. #warning Need to update the comment above.
#warning Move lwIP code into the lwIP_Demo directory.
/* Kernel includes. */ /* Kernel includes. */
#include "FreeRTOS.h" #include "FreeRTOS.h"

View file

@ -64,12 +64,13 @@
*/ */
/****************************************************************************** /******************************************************************************
* This project provides two demo applications. A simple blinky style project, * This project provides three demo applications. A simple blinky style
* and a more comprehensive test and demo application. The * project, a more comprehensive test and demo application, and an lwIP example.
* mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting (defined in this file) is used to * The mainSELECTED_APPLICATION setting (defined in this file) is used to
* select between the two. The simply blinky demo is implemented and described * select between the three. The simply blinky demo is implemented and
* in main_blinky.c. The more comprehensive test and demo application is * described in main_blinky.c. The more comprehensive test and demo application
* implemented and described in main_full.c. * is implemented and described in main_full.c. The lwIP example is implemented
* and described in main_lwIP.c.
* *
* This file implements the code that is not demo specific, including the * This file implements the code that is not demo specific, including the
* hardware setup and FreeRTOS hook functions. * hardware setup and FreeRTOS hook functions.
@ -111,9 +112,18 @@
#include "xscugic.h" #include "xscugic.h"
#include "xil_exception.h" #include "xil_exception.h"
/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo, /* mainSELECTED_APPLICATION is used to select between three demo applications,
or 0 to run the more comprehensive test and demo application. */ * as described at the top of this file.
#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 1 *
* When mainSELECTED_APPLICATION is set to 0 the simple blinky example will
* be run.
*
* When mainSELECTED_APPLICATION is set to 1 the comprehensive test and demo
* application will be run.
*
* When mainSELECTED_APPLICATION is set to 2 the lwIP example will be run.
*/
#define mainSELECTED_APPLICATION 0
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -123,13 +133,17 @@ or 0 to run the more comprehensive test and demo application. */
static void prvSetupHardware( void ); static void prvSetupHardware( void );
/* /*
* main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1. * See the comments at the top of this file and above the
* main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0. * mainSELECTED_APPLICATION definition.
*/ */
#if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 #if ( mainSELECTED_APPLICATION == 0 )
extern void main_blinky( void ); extern void main_blinky( void );
#else #elif ( mainSELECTED_APPLICATION == 1 )
extern void main_full( void ); extern void main_full( void );
#elif ( mainSELECTED_APPLICATION == 2 )
extern void main_lwIP( void );
#else
#error Invalid mainSELECTED_APPLICATION setting. See the comments at the top of this file and above the mainSELECTED_APPLICATION definition.
#endif /* #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 */ #endif /* #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 */
/* /*
@ -162,18 +176,20 @@ extern void main_lwIP( void );
/* Configure the hardware ready to run the demo. */ /* Configure the hardware ready to run the demo. */
prvSetupHardware(); prvSetupHardware();
main_lwIP(); /* The mainSELECTED_APPLICATION setting is described at the top
/* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top
of this file. */ of this file. */
#if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 ) #if( mainSELECTED_APPLICATION == 0 )
{ {
main_blinky(); main_blinky();
} }
#else #elif( mainSELECTED_APPLICATION == 1 )
{ {
main_full(); main_full();
} }
#else
{
main_lwIP();
}
#endif #endif
/* Don't expect to reach here. */ /* Don't expect to reach here. */
@ -281,7 +297,7 @@ volatile unsigned long ul = 0;
void vApplicationTickHook( void ) void vApplicationTickHook( void )
{ {
#if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 0 ) #if( mainSELECTED_APPLICATION == 1 )
{ {
/* The full demo includes a software timer demo/test that requires /* The full demo includes a software timer demo/test that requires
prodding periodically from the tick interrupt. */ prodding periodically from the tick interrupt. */