| 1 | = Extending the WARP OFDM Reference Design = |
| 2 | |
| 3 | The OFDM Reference Design is intended to serve as a starting point for wireless research projects. The design is open-source at all layers- the [source:/ResearchApps/PHY/MIMO_OFDM OFDM PHY], [source:/PlatformSupport/CustomPeripherals supporting peripherals], [source:/PlatformSupport/WARPMAC WARPMAC code] and [source:/ResearchApps/MAC example application code]. Any aspect of the design can be customized to build novel wireless applications. |
| 4 | |
| 5 | The Reference Design is distributed as a project for Xilinx Platform Studio. This XPS project integrates the hardware and software components of the design. You will need to be comfortable with XPS to customize this design. Our [wiki:Tutorials tutorials] and [wiki:Workshops workshop materials] are a good starting point if you're new to XPS. |
| 6 | |
| 7 | == Building the XPS Project == |
| 8 | In order to modify the XPS project, you will need to re-build the hardware design on your PC. Unfortunately, this is required even if you don't make any hardware changes (XPS is not very good about creating portable projects). After re-building the hardware, you can iterate on software changes quickly. The hardware build usually lasts around 60 minutes on a fast (2x3GHz) machine with lots (4GB) of RAM. It will take considerably longer on slow/low memory machines. |
| 9 | |
| 10 | == Linker Script == |
| 11 | After building the project locally, you will need to generate a linker script for each software project you wish to use. In XPS, choose Software->Generate Linker Script. We recommend assigning your code and data sections to internal memory. This allows programming the node with just the ''download.bit'' file without using a bootloader. The heap and stack can safely be assigned to external memory. |
| 12 | |
| 13 | To use just the internal memory for code and data, make sure your script settings match those shown below. |
| 14 | |
| 15 | '''It is critical that no code sections be assigned to the memory block ''xps_bram_if_cntlr_2''.''' This memory block is used for packet buffers. The PHY writes to this memory directly and will corrupt any code/data written there by software. |
| 16 | |
| 17 | [[Image(OFDMReferenceDesign/Files:OFDM_RefDesign_LinkerScript.jpg)]] |