Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Steve Kerrison committed Oct 9, 2012
0 parents commit 979b0df
Show file tree
Hide file tree
Showing 7 changed files with 608 additions and 0 deletions.
363 changes: 363 additions & 0 deletions .cproject

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
*/.build*/*
*/bin/*
*.o
*.xe
*.vcd
*.s
*.xi
*.i
*.a
*.xmt
*~
/tmp
81 changes: 81 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?XL version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>xcore_template</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
<dictionary>
<key>?name?</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.append_environment</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
<value>all</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildArguments</key>
<value>-f Makefile</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key>
<value>xmake</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildLocation</key>
<value>${workspace_loc:/xcore_template}</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
<value>clean</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.contents</key>
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
<value>false</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
<value>all</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.stopOnError</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
<value>false</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
</natures>
</projectDescription>
10 changes: 10 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# This variable should contain a space separated list of all
# the directories containing buildable applications (usually
# prefixed with the app_ prefix)
#
# If the variable is set to "all" then all directories that start with app_
# are built.
BUILD_SUBDIRS = all

XMOS_MAKE_PATH ?= ..
include $(XMOS_MAKE_PATH)/xcommon/module_xcommon/build/Makefile.toplevel
40 changes: 40 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
Swallow (XMP-16) ethernet loader
.......

:Version: 0.0.1

:Status: Alpha

:Maintainer: https://github.com/stevekerrison

:Description: Implements an Ethernet peripheral to allow network booting of a Swallow compute grid.


Key Features
============

* Uses module_swallow_xlinkboot to initialise a network of Swallow boards
* Uses the XMOS ethernet stack to provide a mechanism for network booting cores
* Can also provide ethernet based data I/O

To Do
=====

* Lots, see commit logs and comments

Known Issues
============


Required Repositories
================

sc_swallow_communication (https://github.com/stevekerrison/sc_swallow_communication)
sw_swallow_xlinkboot (https://github.com/stevekerrison/sc_swallow_xlinkboot)
sc_ethernet (https://github.com/xcore/sc_ethernet)
sc_xtcp (https://github.com/xcore/sc_xtcp)

Support
=======

Fork, fix and pull-request! Feel free to contact maintainer with any questions.
34 changes: 34 additions & 0 deletions app_swallow_etherboot/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# The TARGET variable determines what target system the application is
# compiled for. It either refers to an XN file in the source directories
# or a valid argument for the --target option when compiling
TARGET = Swallow-SDRAM256

# The APP_NAME variable determines the name of the final .xe file. It should
# not include the .xe postfix. If left blank the name will default to
# the project name
APP_NAME = swallow_etherboot

# The USED_MODULES variable lists other module used by the application.
USED_MODULES = swallow_comms swallow-xlinkboot base_xlinkboot module_ethernet

# The flags passed to xcc when building the application
# You can also set the following to override flags for a particular language:
# XCC_XC_FLAGS, XCC_C_FLAGS, XCC_ASM_FLAGS, XCC_CPP_FLAGS
# If the variable XCC_MAP_FLAGS is set it overrides the flags passed to
# xcc for the final link (mapping) stage.
ifeq "$(CONFIG)" "Debug"
XCC_FLAGS = -g -O0
else
XCC_FLAGS = -g -O3
endif

# The VERBOSE variable, if set to 1, enables verbose output from the make
# system.
VERBOSE = 0

#=============================================================================
# The following part of the Makefile includes the common build infrastructure
# for compiling XMOS applications. You should not need to edit below here.

XMOS_MAKE_PATH ?= ../..
include $(XMOS_MAKE_PATH)/xcommon/module_xcommon/build/Makefile.common
68 changes: 68 additions & 0 deletions app_swallow_etherboot/Swallow-SDRAM256.xn
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<Network xmlns="http://www.xmos.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.xmos.com http://www.xmos.com">
<Type>Board</Type>
<Name>Swallow 256Mbit SDRAM Board</Name>

<Declarations>
<Declaration>core stdcore[1]</Declaration>
</Declarations>

<Packages>
<Package id="0" Type="XS1-L1A-TQ128">
<Nodes>
<Node Id="0" InPackageId="0" Type="XS1-L1A" Oscillator="25MHz" ReferenceFrequency="100MHz" SystemFrequency="500MHz">

<Boot>
<Source Location="SPI:bootFlash"/>
</Boot>

<Core Number="0" Reference="stdcore[0]">
<Port Location="XS1_PORT_1L" Name="L1_LED"/> <!-- "L1_LED on board -->

<Port Location="XS1_PORT_1A" Name="SPI_SO"/> <!-- SPI flash lines -->
<Port Location="XS1_PORT_1B" Name="SPI_SS"/>
<Port Location="XS1_PORT_1C" Name="SPI_CLK"/>
<Port Location="XS1_PORT_1D" Name="SPI_SI"/>

<Port Location="XS1_PORT_1I" Name="I2C_SDA"/> <!-- I2C data line -->
<Port Location="XS1_PORT_1J" Name="I2C_SCK"/> <!-- I2C clock line -->

<Port Location="XS1_PORT_32A" Name="DRAM_ADDRESS"/> <!-- SDRAM Address pins -->
<Port Location="XS1_PORT_1K" Name="DRAM_A0"/> <!-- "SDRAM ADdress line A0 (via jumper) -->
<Port Location="XS1_PORT_16B" Name="DRAM_DATA"/> <!-- 16-bit SDRAM data wires -->
<Port Location="XS1_PORT_4A" Name="DRAM_CONTROL_1"/> <!-- Pins: 0: CS_N ; 1: WE_N ; 2: RAS_N; 3: CAS_N -->
<Port Location="XS1_PORT_4B" Name="DRAM_CONTROL_2"/> <!-- Pins 0: MEM_LED ; 1: D_CLK_EN ; 2: BA0 ; 3: BA1 -->
<Port Location="XS1_PORT_1H" Name="DRAM_DQM"/> <!-- SDRAM DQM line -->
<Port Location="XS1_PORT_1E" Name="DRAM_CLK"/> <!-- SDRAM Clock line -->

</Core>
</Node>
</Nodes>
</Package>
</Packages>

<Links>
<!-- XSCOPE -->
<Link Encoding="2wire" Delays="4,4" Flags="SOD">
<LinkEndpoint NodeId="0" Link="XLD"/>
<LinkEndpoint RoutingId="0x8000" Chanend="1"/>
</Link>
</Links>

<ExternalDevices>
<Device NodeId="0" Core="0" Class="SPIFlash" Name="bootFlash" Type="FL064K1F"> <!-- is AT25FS010 compatible -->
<!-- <Device NodeId="0" Core="0" Class="SPIFlash" Name="bootFlash" Type="AT25FS010"> -->
<Attribute Name="PORT_SPI_MISO" Value="SPI_SO"/>
<Attribute Name="PORT_SPI_SS" Value="SPI_SS"/>
<Attribute Name="PORT_SPI_CLK" Value="SPI_CLK"/>
<Attribute Name="PORT_SPI_MOSI" Value="SPI_SI"/>
</Device>
</ExternalDevices>

<JTAGChain>
<JTAGDevice NodeId="0"/>
</JTAGChain>

</Network>

0 comments on commit 979b0df

Please sign in to comment.