aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/microblaze/usrp2
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/microblaze/usrp2')
-rw-r--r--firmware/microblaze/usrp2/Makefile.am5
-rw-r--r--firmware/microblaze/usrp2/udp_fw_update.c34
2 files changed, 38 insertions, 1 deletions
diff --git a/firmware/microblaze/usrp2/Makefile.am b/firmware/microblaze/usrp2/Makefile.am
index ba426b75c..7a58e7253 100644
--- a/firmware/microblaze/usrp2/Makefile.am
+++ b/firmware/microblaze/usrp2/Makefile.am
@@ -24,6 +24,8 @@ AM_LDFLAGS = \
$(COMMON_LFLAGS) \
-Wl,-defsym -Wl,_TEXT_START_ADDR=0x0050 \
-Wl,-defsym -Wl,_STACK_SIZE=3072
+
+LDADD = libusrp2.a
LDADD = libusrp2.a
@@ -35,7 +37,8 @@ noinst_LIBRARIES = libusrp2.a
libusrp2_a_SOURCES = \
$(COMMON_SRCS) \
sd.c \
- ethernet.c
+ ethernet.c \
+ udp_fw_update.c
noinst_PROGRAMS = \
usrp2_txrx_uhd.elf
diff --git a/firmware/microblaze/usrp2/udp_fw_update.c b/firmware/microblaze/usrp2/udp_fw_update.c
new file mode 100644
index 000000000..14eb0b1ee
--- /dev/null
+++ b/firmware/microblaze/usrp2/udp_fw_update.c
@@ -0,0 +1,34 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2010 Ettus Research LLC
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+//Routines to handle updating the SPI Flash firmware via UDP
+
+#include "net_common.h"
+#include "usrp2/fw_common.h"
+#include <nonstdio.h>
+#include "udp_fw_update.h"
+
+//Firmware update packet handler
+void handle_udp_fw_update_packet(struct socket_address src, struct socket_address dst,
+ unsigned char *payload, int payload_len) {
+
+ usrp2_fw_update_data_t update_data_out;
+ update_data_out.id = USRP2_FW_UPDATE_ID_WAT;
+
+ send_udp_pkt(USRP2_UDP_UPDATE_PORT, src, &update_data_out, sizeof(update_data_out));
+}