diff options
-rw-r--r-- | firmware/zpu/usrp2p/bootloader/init_bootloader.c | 11 | ||||
-rw-r--r-- | fpga/usrp2/top/u2plus/Makefile.N200 | 98 | ||||
-rw-r--r-- | host/AUTHORS.txt (renamed from host/AUTHORS) | 16 | ||||
-rw-r--r-- | host/CMakeLists.txt | 6 | ||||
-rw-r--r-- | host/LICENSE.txt (renamed from host/LICENSE) | 0 | ||||
-rw-r--r-- | host/Modules/UHDPackage.cmake | 12 | ||||
-rw-r--r-- | host/README | 37 | ||||
-rw-r--r-- | host/README.txt | 37 | ||||
-rw-r--r-- | images/Makefile | 32 |
9 files changed, 194 insertions, 55 deletions
diff --git a/firmware/zpu/usrp2p/bootloader/init_bootloader.c b/firmware/zpu/usrp2p/bootloader/init_bootloader.c index f8b432c46..66481eb25 100644 --- a/firmware/zpu/usrp2p/bootloader/init_bootloader.c +++ b/firmware/zpu/usrp2p/bootloader/init_bootloader.c @@ -37,15 +37,16 @@ void load_ihex(void) { //simple IHEX parser to load proper records into RAM. loa gets(buf); if(!ihex_parse(buf, &ihex_record)) { //RAM data record is valid - if(ihex_record.addr >= RAM_BASE) { //it's expecting to see FULLY RELOCATED IHX RECORDS. every address referenced to 0x8000, including vectors. - memcpy((void *) (ihex_record.addr), ihex_record.data, ihex_record.length); - puts("OK"); - } else if(ihex_record.type == 1) { //end of record + if(ihex_record.type == 1) { //end of record puts("OK"); //load main firmware start_program(); puts("ERROR: main image returned! Back in IHEX load mode."); - } else puts("NOK"); //RAM loads do not support extended segment address records (04) -- upper 16 bits are always "0". + } else { + const uint8_t *destination = (uint8_t *)ihex_record.addr + RAM_BASE; + memcpy((void *) destination, ihex_record.data, ihex_record.length); + puts("OK"); + } } else puts("NOK"); } } diff --git a/fpga/usrp2/top/u2plus/Makefile.N200 b/fpga/usrp2/top/u2plus/Makefile.N200 new file mode 100644 index 000000000..9175f9304 --- /dev/null +++ b/fpga/usrp2/top/u2plus/Makefile.N200 @@ -0,0 +1,98 @@ +# +# Copyright 2008 Ettus Research LLC +# + +################################################## +# Project Setup +################################################## +TOP_MODULE = u2plus +BUILD_DIR = $(abspath build$(ISE)-N200) + +################################################## +# Include other makefiles +################################################## + +include ../Makefile.common +include ../../fifo/Makefile.srcs +include ../../control_lib/Makefile.srcs +include ../../sdr_lib/Makefile.srcs +include ../../serdes/Makefile.srcs +include ../../simple_gemac/Makefile.srcs +include ../../timing/Makefile.srcs +include ../../opencores/Makefile.srcs +include ../../vrt/Makefile.srcs +include ../../udp/Makefile.srcs +include ../../coregen/Makefile.srcs +include ../../extramfifo/Makefile.srcs + + +################################################## +# Project Properties +################################################## +export PROJECT_PROPERTIES := \ +family "Spartan-3A DSP" \ +device xc3sd1800a \ +package fg676 \ +speed -5 \ +top_level_module_type "HDL" \ +synthesis_tool "XST (VHDL/Verilog)" \ +simulator "ISE Simulator (VHDL/Verilog)" \ +"Preferred Language" "Verilog" \ +"Enable Message Filtering" FALSE \ +"Display Incremental Messages" FALSE + +################################################## +# Sources +################################################## +TOP_SRCS = \ +u2plus_core.v \ +u2plus.v \ +u2plus.ucf + +SOURCES = $(abspath $(TOP_SRCS)) $(FIFO_SRCS) \ +$(CONTROL_LIB_SRCS) $(SDR_LIB_SRCS) $(SERDES_SRCS) \ +$(SIMPLE_GEMAC_SRCS) $(TIMING_SRCS) $(OPENCORES_SRCS) \ +$(VRT_SRCS) $(UDP_SRCS) $(COREGEN_SRCS) $(EXTRAM_SRCS) + +################################################## +# Process Properties +################################################## +SYNTHESIZE_PROPERTIES = \ +"Number of Clock Buffers" 8 \ +"Pack I/O Registers into IOBs" Yes \ +"Optimization Effort" High \ +"Optimize Instantiated Primitives" TRUE \ +"Register Balancing" Yes \ +"Use Clock Enable" Auto \ +"Use Synchronous Reset" Auto \ +"Use Synchronous Set" Auto + +TRANSLATE_PROPERTIES = \ +"Macro Search Path" "$(shell pwd)/../../coregen/" + +MAP_PROPERTIES = \ +"Allow Logic Optimization Across Hierarchy" TRUE \ +"Map to Input Functions" 4 \ +"Optimization Strategy (Cover Mode)" Speed \ +"Pack I/O Registers/Latches into IOBs" "For Inputs and Outputs" \ +"Perform Timing-Driven Packing and Placement" TRUE \ +"Map Effort Level" High \ +"Extra Effort" Normal \ +"Combinatorial Logic Optimization" TRUE \ +"Register Duplication" TRUE + +PLACE_ROUTE_PROPERTIES = \ +"Place & Route Effort Level (Overall)" High + +STATIC_TIMING_PROPERTIES = \ +"Number of Paths in Error/Verbose Report" 10 \ +"Report Type" "Error Report" + +GEN_PROG_FILE_PROPERTIES = \ +"Configuration Rate" 6 \ +"Create Binary Configuration File" TRUE \ +"Done (Output Events)" 5 \ +"Enable Bitstream Compression" TRUE \ +"Enable Outputs (Output Events)" 6 + +SIM_MODEL_PROPERTIES = "" diff --git a/host/AUTHORS b/host/AUTHORS.txt index 512d4752e..44b7516cd 100644 --- a/host/AUTHORS +++ b/host/AUTHORS.txt @@ -1,11 +1,13 @@ Matt Ettus - matt@ettus.com USRP1 FPGA code - USRP2 FPGA code + USRP2/N200 FPGA code + USRP-E100 FPGA code Josh Blum - josh@ettus.com driver framework - USRP2 firmware - USRP2 host code + USRP2/N200 firmware + USRP2/N200 host code + USRP-E100 host code Basic/LF host code XCVR2450 host code RFX Series host code @@ -13,6 +15,8 @@ Josh Blum - josh@ettus.com Jason Abele - jason@ettus.com RFX Series host code WBX host code + DBSRX host code + DBSRX2 host code Eric Blossom - eb@comsec.com USRP1 firmware @@ -28,3 +32,9 @@ Nick Foster - nick@ettus.com LIBUSB host code USRP1 host code TVRX host code + USRP-N200 firmware + USRP-N200 host code + +Philip Balister - philip@opensdr.com + USRP-E100 kernel module + USRP-E100 utilities diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index 4160e8186..8516da401 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -163,9 +163,9 @@ INSTALL( # Install Package Docs ######################################################################## INSTALL(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/README - ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE - ${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS + ${CMAKE_CURRENT_SOURCE_DIR}/README.txt + ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt + ${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.txt DESTINATION ${PKG_DOC_DIR} COMPONENT libraries ) diff --git a/host/LICENSE b/host/LICENSE.txt index 9aa03b39b..9aa03b39b 100644 --- a/host/LICENSE +++ b/host/LICENSE.txt diff --git a/host/Modules/UHDPackage.cmake b/host/Modules/UHDPackage.cmake index 8ca8995cd..65897ceef 100644 --- a/host/Modules/UHDPackage.cmake +++ b/host/Modules/UHDPackage.cmake @@ -52,6 +52,13 @@ IF(UHD_PACKAGE_MODE STREQUAL AUTO) SET(CPACK_PACKAGE_FILE_NAME "UHD-${UHD_VERSION}-${_os_name}-${_os_version}-${_machine}") ENDIF(LSB_RELEASE_EXECUTABLE AND UNAME_EXECUTABLE) + + IF(APPLE) + SET(CPACK_GENERATOR PackageMaker) + ELSEIF(WIN32) + SET(CPACK_GENERATOR NSIS) + ENDIF() + ENDIF(UHD_PACKAGE_MODE STREQUAL AUTO) ######################################################################## @@ -63,8 +70,9 @@ SET(CPACK_PACKAGE_CONTACT "support@ettus.com") SET(CPACK_PACKAGE_VERSION_MAJOR ${UHD_VERSION_MAJOR}) SET(CPACK_PACKAGE_VERSION_MINOR ${UHD_VERSION_MINOR}) SET(CPACK_PACKAGE_VERSION_PATCH ${UHD_VERSION_PATCH}) -SET(CPACK_RESOURCE_FILE_README ${CMAKE_SOURCE_DIR}/README) -SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE) +SET(CPACK_RESOURCE_FILE_WELCOME ${CMAKE_SOURCE_DIR}/README.txt) +SET(CPACK_RESOURCE_FILE_README ${CMAKE_SOURCE_DIR}/AUTHORS.txt) +SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE.txt) ######################################################################## # Setup CPack Components diff --git a/host/README b/host/README deleted file mode 100644 index f3dcde53d..000000000 --- a/host/README +++ /dev/null @@ -1,37 +0,0 @@ -######################################################################## -# Ettus Research - Universal Hardware Driver -######################################################################## -The hardware driver for Ettus Research products. - -######################################################################## -# Supported USRP Motherboards -######################################################################## -USRP1 -USRP2 -USRP-N200 -USRP-N210 -USRP-E100 - -######################################################################## -# Supported USRP Daughterboards -######################################################################## -Basic RX -Basic TX -LF RX -LF TX -RFX Series -XCVR 2450 -WBX Series -DBSRX -DBSRX2 -TVRX - -######################################################################## -# Documentation -######################################################################## -Online documentation available at: -http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki/ - -The build system can generate the html for the manual and Doxygen. -Docutils and Doxygen are required to build the html docs. -See the docs directory for the manual source (reStructuredText). diff --git a/host/README.txt b/host/README.txt new file mode 100644 index 000000000..b510493d5 --- /dev/null +++ b/host/README.txt @@ -0,0 +1,37 @@ +############################################### +# Ettus Research - Universal Hardware Driver +############################################### +The hardware driver for Ettus Research products. + +############################################### +# Supported USRP Motherboards +############################################### +USRP1 +USRP2 +USRP-N200 +USRP-N210 +USRP-E100 + +############################################### +# Supported USRP Daughterboards +############################################### +Basic RX +Basic TX +LF RX +LF TX +RFX Series +XCVR 2450 +WBX Series +DBSRX +DBSRX2 +TVRX + +############################################### +# Documentation +############################################### +Online documentation available at: +http://code.ettus.com/redmine/ettus/projects/uhd/wiki + +The build system can generate the html for the manual and Doxygen. +Docutils and Doxygen are required to build the html docs. +See the docs directory for the manual source (reStructuredText). diff --git a/images/Makefile b/images/Makefile index cfc783ee4..74b1cd6e4 100644 --- a/images/Makefile +++ b/images/Makefile @@ -90,16 +90,22 @@ ifdef HAS_ZPU_GCC _usrp2_fw_dir = $(TOP_FW_DIR)/zpu _usrp2_fw_bin = $(BUILT_IMAGES_DIR)/usrp2_fw.bin -_usrp_n2xx_fw_bin = $(BUILT_IMAGES_DIR)/usrp_n2xx_fw.bin -IMAGES_LIST += $(_usrp2_fw_bin) +_usrp_n200_fw_bin = $(BUILT_IMAGES_DIR)/usrp_n200_fw.bin +_usrp_n210_fw_bin = $(BUILT_IMAGES_DIR)/usrp_n210_fw.bin +IMAGES_LIST += $(_usrp2_fw_bin) $(_usrp_n200_fw_bin) $(_usrp_n210_fw_bin) -$(_usrp2_fw_bin) $(_usrp_n2xx_fw_bin): $(GLOBAL_DEPS) +$(_usrp2_fw_bin): $(GLOBAL_DEPS) cd $(_usrp2_fw_dir) && rm -rf build cd $(_usrp2_fw_dir) && mkdir build cd $(_usrp2_fw_dir)/build && cmake ../ cd $(_usrp2_fw_dir)/build && make - cp $(_usrp2_fw_dir)/build/usrp2/usrp2_txrx_uhd.bin $(_usrp2_fw_bin) - cp $(_usrp2_fw_dir)/build/usrp2p/usrp2p_txrx_uhd.bin $(_usrp_n2xx_fw_bin) + cp $(_usrp2_fw_dir)/build/usrp2/usrp2_txrx_uhd.bin $@ + +$(_usrp_n200_fw_bin): $(_usrp2_fw_bin) + cp $(_usrp2_fw_dir)/build/usrp2p/usrp2p_txrx_uhd.bin $@ + +$(_usrp_n210_fw_bin): $(_usrp2_fw_bin) + cp $(_usrp2_fw_dir)/build/usrp2p/usrp2p_txrx_uhd.bin $@ endif @@ -120,6 +126,22 @@ $(_usrp2_fpga_bin): $(GLOBAL_DEPS) endif ######################################################################## +# USRP-N200 fpga +######################################################################## +ifdef HAS_XTCLSH + +_usrp_n200_fpga_dir = $(TOP_FPGA_DIR)/usrp2/top/u2plus +_usrp_n200_fpga_bin = $(BUILT_IMAGES_DIR)/usrp_n200_fpga.bin +IMAGES_LIST += $(_usrp_n200_fpga_bin) + +$(_usrp_n200_fpga_bin): $(GLOBAL_DEPS) + cd $(_usrp_n200_fpga_dir) && make -f Makefile.N200 clean + cd $(_usrp_n200_fpga_dir) && make -f Makefile.N200 bin + cp $(_usrp_n200_fpga_dir)/build-N200/u2plus.bin $@ + +endif + +######################################################################## # USRP-N210 fpga ######################################################################## ifdef HAS_XTCLSH |