diff --git a/FPGA_firmware/hit20v3.qar b/FPGA_firmware/hit20v3.qar
new file mode 100644
index 0000000..29a9d90
Binary files /dev/null and b/FPGA_firmware/hit20v3.qar differ
diff --git a/FPGA_nios/.gitignore b/FPGA_nios/.gitignore
new file mode 100644
index 0000000..3171365
--- /dev/null
+++ b/FPGA_nios/.gitignore
@@ -0,0 +1,37 @@
+# Eclipse project files
+.classpath
+.project
+.settings/
+
+# Build output
+Debug/
+Release/
+*.o
+*.elf
+*.bin
+*.hex
+*.srec
+*.map
+*.lst
+*.d
+
+# Other generated files
+*.log
+*.tmp
+*.swp
+*.bak
+
+# Temporary files
+*.tmp
+*.user
+
+# Eclipse metadata
+.metadata/
+
+# OS-specific files
+.DS_Store
+Thumbs.db
+
+# Other
+*.lst
+*.pt
diff --git a/FPGA_nios/hit_pat/.cproject b/FPGA_nios/hit_pat/.cproject
new file mode 100644
index 0000000..49ceae4
--- /dev/null
+++ b/FPGA_nios/hit_pat/.cproject
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ wsl
+ make
+ mem_init_install
+ true
+ false
+ false
+
+
+ wsl
+ make
+ mem_init_generate
+ true
+ false
+ false
+
+
+ wsl
+ make
+ help
+ true
+ false
+ false
+
+
+
+
+
+
+
+
+
+
diff --git a/FPGA_nios/hit_pat/.force_relink b/FPGA_nios/hit_pat/.force_relink
new file mode 100644
index 0000000..e69de29
diff --git a/FPGA_nios/hit_pat/create-this-app b/FPGA_nios/hit_pat/create-this-app
new file mode 100644
index 0000000..0bd09c1
--- /dev/null
+++ b/FPGA_nios/hit_pat/create-this-app
@@ -0,0 +1,131 @@
+#!/bin/bash
+#
+# This script creates the simple_socket_server application in this directory.
+
+
+BSP_DIR=../hit_pat_bsp
+QUARTUS_PROJECT_DIR=../../
+NIOS2_APP_GEN_ARGS="--elf-name hit_pat.elf --set OBJDUMP_INCLUDE_SOURCE 1 --src-files alt_error_handler.c iniche_init.c led.c network_utilities.c simple_socket_server.c tse_my_system.c"
+
+# If script is launched from Windows through Windows Subsystem for Linux (WSL).
+# The adjust-path macro converts absolute windows
+# paths into unix style paths (Example: c:/dir -> /c/dir). This will ensure
+# paths are readable.
+uname=$(uname -r)
+if [[ $uname =~ "Microsoft" ]]; then
+ _IS_WSL=1
+ windows_exe=.exe
+fi
+
+adjust_path() {
+ if [ "${_IS_WSL}" = "1" ] && [[ ! $1 =~ ^\/mnt\/* ]]; then
+ echo "$(wslpath -u "$1")"
+ else
+ echo "$1"
+ fi
+}
+
+# First, check to see if $SOPC_KIT_NIOS2 environmental variable is set.
+# This variable is required for the command line tools to execute correctly.
+if [ -z "${SOPC_KIT_NIOS2}" ]
+then
+ echo Required \$SOPC_KIT_NIOS2 Environmental Variable is not set!
+ exit 1
+fi
+
+
+# Also make sure that the APP has not been created already. Check for
+# existence of Makefile in the app directory
+if [ -f ./Makefile ]
+then
+ echo Application has already been created! Delete Makefile if you want to create a new application makefile
+ exit 1
+fi
+
+
+# We are selecting ucosii_net bsp because it supports this application.
+# Check to see if the ucosii_net has already been generated by checking for
+# existence of the public.mk file. If not, we need to run
+# create-this-bsp file to generate the bsp.
+if [ ! -f ${BSP_DIR}/public.mk ]; then
+ # Since BSP doesn't exist, create the BSP
+ # Pass any command line arguments passed to this script to the BSP.
+ pushd "$(adjust_path ${BSP_DIR})" >> /dev/null
+ ./create-this-bsp "$@" || {
+ echo "create-this-bsp failed"
+ exit 1
+ }
+ popd >> /dev/null
+fi
+
+
+# Don't run make if create-this-app script is called with --no-make arg
+SKIP_MAKE=
+while [ $# -gt 0 ]
+do
+ case "$1" in
+ --no-make)
+ SKIP_MAKE=1
+ ;;
+ esac
+ shift
+done
+
+
+# Now we also need to go copy the sources for this application to the
+# local directory.
+find "${SOPC_KIT_NIOS2}/examples/software/simple_socket_server/" -name '*.c' -or -name '*.h' -or -name 'hostfs*' | xargs -i cp -L {} ./ || {
+ echo "failed during copying example source files"
+ exit 1
+}
+
+find "${SOPC_KIT_NIOS2}/examples/software/simple_socket_server/" -name 'readme.txt' -or -name 'Readme.txt' | xargs -i cp -L {} ./ || {
+ echo "failed copying readme file"
+}
+
+if [ -d "${SOPC_KIT_NIOS2}/examples/software/simple_socket_server/system" ]
+then
+ cp -RL "${SOPC_KIT_NIOS2}/examples/software/simple_socket_server/system" . || {
+ echo "failed during copying project support files"
+ exit 1
+ }
+fi
+
+chmod -R +w . || {
+ echo "failed during changing file permissions"
+ exit 1
+}
+
+cmd="nios2-app-generate-makefile$windows_exe --bsp-dir ${BSP_DIR} --set QUARTUS_PROJECT_DIR=${QUARTUS_PROJECT_DIR} ${NIOS2_APP_GEN_ARGS}"
+
+echo "create-this-app: Running \"${cmd}\""
+$cmd || {
+ echo "nios2-app-generate-makefile failed"
+ exit 1
+}
+
+if [ -z "$SKIP_MAKE" ]; then
+ cmd="make"
+
+ echo "create-this-app: Running \"$cmd\""
+ $cmd || {
+ echo "make failed"
+ exit 1
+ }
+
+ echo
+ echo "To download and run the application:"
+ echo " 1. Make sure the board is connected to the system."
+ echo " 2. Run 'nios2-configure-sof ' to configure the FPGA with the hardware design."
+ echo " 3. If you have a stdio device, run 'nios2-terminal' in a different shell."
+ echo " 4. Run 'make download-elf' from the application directory."
+ echo
+ echo "To debug the application:"
+ echo " Import the project into Nios II Software Build Tools for Eclipse."
+ echo " Refer to Nios II Software Build Tools for Eclipse Documentation for more information."
+ echo
+ echo -e ""
+fi
+
+
+exit 0
diff --git a/FPGA_nios/hit_pat/hit_pat.objdump b/FPGA_nios/hit_pat/hit_pat.objdump
new file mode 100644
index 0000000..ae87d1e
--- /dev/null
+++ b/FPGA_nios/hit_pat/hit_pat.objdump
@@ -0,0 +1,106020 @@
+
+hit_pat.elf: file format elf32-littlenios2
+hit_pat.elf
+architecture: nios2:r1, flags 0x00000112:
+EXEC_P, HAS_SYMS, D_PAGED
+start address 0x08000338
+
+Program Header:
+ LOAD off 0x00000000 vaddr 0x08000000 paddr 0x08000000 align 2**12
+ filesz 0x0004cb8c memsz 0x0005e59c flags rwx
+ LOAD off 0x0004d000 vaddr 0x14000000 paddr 0x14000000 align 2**12
+ filesz 0x00000020 memsz 0x00000020 flags r-x
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 .entry 00000020 14000000 14000000 0004d000 2**5
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 1 .exceptions 00000218 08000120 08000120 00000120 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .text 00046670 08000338 08000338 00000338 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 3 .rodata 00004f6c 080469a8 080469a8 000469a8 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 4 .rwdata 0000126c 0804b920 0804b920 0004b920 2**4
+ CONTENTS, ALLOC, LOAD, DATA, SMALL_DATA
+ 5 .bss 00011a10 0804cb8c 0804cb8c 0004cb8c 2**2
+ ALLOC, SMALL_DATA
+ 6 .ddr3_ram 00000000 0805e59c 0805e59c 0004d020 2**0
+ CONTENTS
+ 7 .ext_flash_avl_mem 00000000 14000020 14000020 0004d020 2**0
+ CONTENTS
+ 8 .onchip_flash_data 00000000 18200000 18200000 0004d020 2**0
+ CONTENTS
+ 9 .descriptor_memory 00000000 18400000 18400000 0004d020 2**0
+ CONTENTS
+ 10 .calibration_ram 00000000 18403400 18403400 0004d020 2**0
+ CONTENTS
+ 11 .comment 0000002c 00000000 00000000 0004d020 2**0
+ CONTENTS, READONLY
+ 12 .debug_aranges 00001c78 00000000 00000000 0004d050 2**3
+ CONTENTS, READONLY, DEBUGGING
+ 13 .debug_info 0010e51e 00000000 00000000 0004ecc8 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 14 .debug_abbrev 00021537 00000000 00000000 0015d1e6 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 15 .debug_line 0003ca4d 00000000 00000000 0017e71d 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 16 .debug_frame 00008900 00000000 00000000 001bb16c 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 17 .debug_str 0000c2e6 00000000 00000000 001c3a6c 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 18 .debug_loc 00022905 00000000 00000000 001cfd52 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 19 .debug_alt_sim_info 00000060 00000000 00000000 001f2658 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 20 .debug_ranges 000021b8 00000000 00000000 001f26b8 2**3
+ CONTENTS, READONLY, DEBUGGING
+ 21 .thread_model 00000006 00000000 00000000 001fec83 2**0
+ CONTENTS, READONLY
+ 22 .cpu 00000003 00000000 00000000 001fec89 2**0
+ CONTENTS, READONLY
+ 23 .qsys 00000001 00000000 00000000 001fec8c 2**0
+ CONTENTS, READONLY
+ 24 .simulation_enabled 00000001 00000000 00000000 001fec8d 2**0
+ CONTENTS, READONLY
+ 25 .sysid_hash 00000004 00000000 00000000 001fec8e 2**0
+ CONTENTS, READONLY
+ 26 .sysid_base 00000004 00000000 00000000 001fec92 2**0
+ CONTENTS, READONLY
+ 27 .sysid_time 00000004 00000000 00000000 001fec96 2**0
+ CONTENTS, READONLY
+ 28 .stderr_dev 0000000a 00000000 00000000 001fec9a 2**0
+ CONTENTS, READONLY
+ 29 .stdin_dev 0000000a 00000000 00000000 001feca4 2**0
+ CONTENTS, READONLY
+ 30 .stdout_dev 0000000a 00000000 00000000 001fecae 2**0
+ CONTENTS, READONLY
+ 31 .thread_model 00000006 00000000 00000000 001fecb8 2**0
+ CONTENTS, READONLY
+ 32 .cpu 00000003 00000000 00000000 001fecbe 2**0
+ CONTENTS, READONLY
+ 33 .qsys 00000001 00000000 00000000 001fecc1 2**0
+ CONTENTS, READONLY
+ 34 .simulation_enabled 00000001 00000000 00000000 001fecc2 2**0
+ CONTENTS, READONLY
+ 35 .sysid_hash 00000004 00000000 00000000 001fecc3 2**0
+ CONTENTS, READONLY
+ 36 .sysid_base 00000004 00000000 00000000 001fecc7 2**0
+ CONTENTS, READONLY
+ 37 .sysid_time 00000004 00000000 00000000 001feccb 2**0
+ CONTENTS, READONLY
+ 38 .stderr_dev 0000000a 00000000 00000000 001feccf 2**0
+ CONTENTS, READONLY
+ 39 .stdin_dev 0000000a 00000000 00000000 001fecd9 2**0
+ CONTENTS, READONLY
+ 40 .stdout_dev 0000000a 00000000 00000000 001fece3 2**0
+ CONTENTS, READONLY
+ 41 .sopc_system_name 00000005 00000000 00000000 001feced 2**0
+ CONTENTS, READONLY
+ 42 .quartus_project_dir 0000001b 00000000 00000000 001fecf2 2**0
+ CONTENTS, READONLY
+SYMBOL TABLE:
+14000000 l d .entry 00000000 .entry
+08000120 l d .exceptions 00000000 .exceptions
+08000338 l d .text 00000000 .text
+080469a8 l d .rodata 00000000 .rodata
+0804b920 l d .rwdata 00000000 .rwdata
+0804cb8c l d .bss 00000000 .bss
+0805e59c l d .ddr3_ram 00000000 .ddr3_ram
+14000020 l d .ext_flash_avl_mem 00000000 .ext_flash_avl_mem
+18200000 l d .onchip_flash_data 00000000 .onchip_flash_data
+18400000 l d .descriptor_memory 00000000 .descriptor_memory
+18403400 l d .calibration_ram 00000000 .calibration_ram
+00000000 l d .comment 00000000 .comment
+00000000 l d .debug_aranges 00000000 .debug_aranges
+00000000 l d .debug_info 00000000 .debug_info
+00000000 l d .debug_abbrev 00000000 .debug_abbrev
+00000000 l d .debug_line 00000000 .debug_line
+00000000 l d .debug_frame 00000000 .debug_frame
+00000000 l d .debug_str 00000000 .debug_str
+00000000 l d .debug_loc 00000000 .debug_loc
+00000000 l d .debug_alt_sim_info 00000000 .debug_alt_sim_info
+00000000 l d .debug_ranges 00000000 .debug_ranges
+00000000 l df *ABS* 00000000 d:/hit20v3/software/hit_pat/software/hit_pat_bsp//obj/HAL/src/crt0.o
+0800037c l .text 00000000 alt_after_alt_main
+00000000 l df *ABS* 00000000 alt_irq_handler.c
+00000000 l df *ABS* 00000000 alt_instruction_exception_entry.c
+00000000 l df *ABS* 00000000 control.c
+0804cb8c l O .bss 00000004 bytes_received.5850
+0804cb90 l O .bss 00000006 header.5849
+0804cb98 l O .bss 00000004 bytes_received.5856
+0804cd60 l O .bss 00000020 packet_data.5855
+00000000 l df *ABS* 00000000 main.c
+00000000 l df *ABS* 00000000 network_utilities.c
+00000000 l df *ABS* 00000000 sensor.c
+00000000 l df *ABS* 00000000 socket_server.c
+0804cba8 l O .bss 00000004 mutex
+0804cd80 l O .bss 00000010 connections
+00000000 l df *ABS* 00000000 tse_my_system.c
+00000000 l df *ABS* 00000000 udpgen.c
+00000000 l df *ABS* 00000000 utils.c
+00000000 l df *ABS* 00000000 ctype_.c
+00000000 l df *ABS* 00000000 getchar.c
+00000000 l df *ABS* 00000000 impure.c
+0804ba80 l O .rwdata 00000424 impure_data
+00000000 l df *ABS* 00000000 printf.c
+00000000 l df *ABS* 00000000 putchar.c
+00000000 l df *ABS* 00000000 puts.c
+00000000 l df *ABS* 00000000 strlen.c
+00000000 l df *ABS* 00000000 vfprintf.c
+08004fbc l F .text 000000c0 __sbprintf
+080474ae l O .rodata 00000010 blanks.5226
+0804749e l O .rodata 00000010 zeroes.5227
+00000000 l df *ABS* 00000000 wsetup.c
+00000000 l df *ABS* 00000000 dtoa.c
+080051dc l F .text 00000210 quorem
+00000000 l df *ABS* 00000000 fflush.c
+00000000 l df *ABS* 00000000 findfp.c
+08006d64 l F .text 00000008 __fp_lock
+08006d78 l F .text 00000168 __sinit.part.0
+08006ee0 l F .text 00000008 __fp_unlock
+00000000 l df *ABS* 00000000 mallocr.c
+00000000 l df *ABS* 00000000 fvwrite.c
+00000000 l df *ABS* 00000000 fwalk.c
+00000000 l df *ABS* 00000000 getc.c
+00000000 l df *ABS* 00000000 localeconv.c
+00000000 l df *ABS* 00000000 makebuf.c
+00000000 l df *ABS* 00000000 mallocr.c
+00000000 l df *ABS* 00000000 memchr.c
+00000000 l df *ABS* 00000000 memcpy.c
+00000000 l df *ABS* 00000000 memmove.c
+00000000 l df *ABS* 00000000 memset.c
+00000000 l df *ABS* 00000000 mprec.c
+080474d0 l O .rodata 0000000c p05.4024
+00000000 l df *ABS* 00000000 putc.c
+00000000 l df *ABS* 00000000 mallocr.c
+00000000 l df *ABS* 00000000 rget.c
+00000000 l df *ABS* 00000000 sbrkr.c
+00000000 l df *ABS* 00000000 stdio.c
+00000000 l df *ABS* 00000000 vfprintf.c
+0800a304 l F .text 000000f4 __sprint_r.part.0
+0800b754 l F .text 000000c0 __sbprintf
+08047604 l O .rodata 00000010 blanks.5203
+080475f4 l O .rodata 00000010 zeroes.5204
+00000000 l df *ABS* 00000000 wbuf.c
+00000000 l df *ABS* 00000000 writer.c
+00000000 l df *ABS* 00000000 closer.c
+00000000 l df *ABS* 00000000 mallocr.c
+00000000 l df *ABS* 00000000 fclose.c
+00000000 l df *ABS* 00000000 fputwc.c
+00000000 l df *ABS* 00000000 fstatr.c
+00000000 l df *ABS* 00000000 int_errno.c
+00000000 l df *ABS* 00000000 isattyr.c
+00000000 l df *ABS* 00000000 locale.c
+00000000 l df *ABS* 00000000 lseekr.c
+00000000 l df *ABS* 00000000 mbtowc_r.c
+00000000 l df *ABS* 00000000 readr.c
+00000000 l df *ABS* 00000000 refill.c
+0800c03c l F .text 0000001c lflush
+00000000 l df *ABS* 00000000 strcmp.c
+00000000 l df *ABS* 00000000 wcrtomb.c
+00000000 l df *ABS* 00000000 wctomb_r.c
+00000000 l df *ABS* 00000000 libgcc2.c
+00000000 l df *ABS* 00000000 libgcc2.c
+00000000 l df *ABS* 00000000 lib2-divmod.c
+00000000 l df *ABS* 00000000 adddf3.c
+00000000 l df *ABS* 00000000 divdf3.c
+00000000 l df *ABS* 00000000 eqdf2.c
+00000000 l df *ABS* 00000000 gedf2.c
+00000000 l df *ABS* 00000000 ledf2.c
+00000000 l df *ABS* 00000000 muldf3.c
+00000000 l df *ABS* 00000000 subdf3.c
+00000000 l df *ABS* 00000000 unorddf2.c
+00000000 l df *ABS* 00000000 fixdfsi.c
+00000000 l df *ABS* 00000000 floatsidf.c
+00000000 l df *ABS* 00000000 floatunsidf.c
+00000000 l df *ABS* 00000000 libgcc2.c
+00000000 l df *ABS* 00000000 libgcc2.c
+00000000 l df *ABS* 00000000 alt_flash_dev.c
+00000000 l df *ABS* 00000000 alt_fstat.c
+0800f8a0 l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 alt_isatty.c
+0800f98c l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 alt_lseek.c
+0800fa6c l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 alt_main.c
+00000000 l df *ABS* 00000000 alt_sbrk.c
+0804cad0 l O .rwdata 00000004 heap_end
+00000000 l df *ABS* 00000000 alt_env_lock.c
+0804cad4 l O .rwdata 00000004 lockid
+0804cbd4 l O .bss 00000004 locks
+00000000 l df *ABS* 00000000 alt_malloc_lock.c
+0804cad8 l O .rwdata 00000004 lockid
+0804cbdc l O .bss 00000004 locks
+00000000 l df *ABS* 00000000 os_core.c
+080113a0 l F .text 0000003c OS_InitMisc
+080113dc l F .text 0000006c OS_InitRdyList
+080114cc l F .text 000000e4 OS_InitTCBList
+080112c0 l F .text 000000e0 OS_InitEventList
+08011448 l F .text 00000084 OS_InitTaskIdle
+08011734 l F .text 0000006c OS_SchedNew
+00000000 l df *ABS* 00000000 os_flag.c
+08012fb8 l F .text 000000f4 OS_FlagTaskRdy
+08012d74 l F .text 00000164 OS_FlagBlock
+00000000 l df *ABS* 00000000 os_mem.c
+00000000 l df *ABS* 00000000 os_mutex.c
+0801457c l F .text 00000188 OSMutex_RdyAtPrio
+00000000 l df *ABS* 00000000 os_q.c
+00000000 l df *ABS* 00000000 os_sem.c
+00000000 l df *ABS* 00000000 os_task.c
+00000000 l df *ABS* 00000000 os_time.c
+00000000 l df *ABS* 00000000 alt_sys_init.c
+08017794 l F .text 00000034 alt_dev_reg
+0804c420 l O .rwdata 000000d0 debug_uart
+0804c4f0 l O .rwdata 000000dc ext_flash
+0804c5d0 l O .rwdata 00000070 msgdma_rx
+0804c640 l O .rwdata 00000070 msgdma_tx
+0804c6b0 l O .rwdata 00000100 onchip_flash
+00000000 l df *ABS* 00000000 altera_avalon_timer_sc.c
+08017a2c l F .text 00000078 alt_avalon_timer_sc_irq
+00000000 l df *ABS* 00000000 altera_avalon_tse.c
+0804cc26 l O .bss 00000001 tse_system_count.5331
+0804cc27 l O .bss 00000001 is_init.5413
+00000000 l df *ABS* 00000000 altera_avalon_uart_fd.c
+00000000 l df *ABS* 00000000 altera_avalon_uart_init.c
+0801ccb0 l F .text 0000009c altera_avalon_uart_irq
+0801cd4c l F .text 00000134 altera_avalon_uart_rxirq
+0801ce80 l F .text 000001a0 altera_avalon_uart_txirq
+00000000 l df *ABS* 00000000 altera_avalon_uart_read.c
+0801d074 l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 altera_avalon_uart_write.c
+0801d318 l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 altera_generic_quad_spi_controller.c
+0801d588 l F .text 00000034 alt_flash_device_register
+0801e010 l F .text 0000008c alt_qspi_poll_for_write_in_progress
+0801df74 l F .text 0000009c alt_qspi_validate_read_write_arguments
+00000000 l df *ABS* 00000000 altera_msgdma.c
+0801e09c l F .text 0000003c alt_get_errno
+0801e0d8 l F .text 00000094 alt_msgdma_write_standard_descriptor
+0801e16c l F .text 0000012c alt_msgdma_write_extended_descriptor
+0801e298 l F .text 00000184 alt_msgdma_irq
+0801e41c l F .text 0000008c alt_msgdma_construct_standard_descriptor
+0801e4a8 l F .text 00000154 alt_msgdma_construct_extended_descriptor
+0801e5fc l F .text 0000033c alt_msgdma_descriptor_async_transfer
+0801e938 l F .text 00000408 alt_msgdma_descriptor_sync_transfer
+0801f010 l F .text 000000a4 alt_msgdma_construct_prefetcher_standard_descriptor
+0801f0b4 l F .text 00000194 alt_msgdma_construct_prefetcher_extended_descriptor
+00000000 l df *ABS* 00000000 altera_onchip_flash.c
+080201d8 l F .text 00000034 alt_flash_device_register
+00000000 l df *ABS* 00000000 ins_tse_mac.c
+00000000 l df *ABS* 00000000 alt_iniche_close.c
+00000000 l df *ABS* 00000000 alt_iniche_dev.c
+00000000 l df *ABS* 00000000 alt_iniche_read.c
+00000000 l df *ABS* 00000000 alt_iniche_write.c
+00000000 l df *ABS* 00000000 et_arp.c
+0804cc2c l O .bss 00000004 arp_timer
+0804cc34 l O .bss 00000004 cachetime
+00000000 l df *ABS* 00000000 iface.c
+00000000 l df *ABS* 00000000 ipnet.c
+00000000 l df *ABS* 00000000 ipstart.c
+0804cdb8 l O .bss 0000003c closers
+0804cc58 l O .bss 00000004 nclosers
+00000000 l df *ABS* 00000000 igmp_cmn.c
+00000000 l df *ABS* 00000000 bsdsock.c
+00000000 l df *ABS* 00000000 cksum.c
+0804cb04 l O .rwdata 00000004 cksum_select
+00000000 l df *ABS* 00000000 in_utils.c
+0804cdf4 l O .bss 00000018 tistring
+00000000 l df *ABS* 00000000 netmain.c
+00000000 l df *ABS* 00000000 tk_crnos.c
+00000000 l df *ABS* 00000000 ping.c
+00000000 l df *ABS* 00000000 pktalloc.c
+00000000 l df *ABS* 00000000 q.c
+00000000 l df *ABS* 00000000 asm_cksum.o
+08028cd0 l .text 00000000 done
+08028b60 l .text 00000000 asm1
+08028c8c l .text 00000000 loop0
+08028b88 l .text 00000000 loop
+08028ca8 l .text 00000000 fold
+00000000 l df *ABS* 00000000 brdutils.c
+0804cc8c l O .bss 00000004 kbd_init.4507
+0804cc88 l O .bss 00000004 cpu_statusreg
+00000000 l df *ABS* 00000000 osportco.c
+00000000 l df *ABS* 00000000 targnios.c
+00000000 l df *ABS* 00000000 nptcp.c
+0804ccc0 l O .bss 00000004 in_tcptick
+00000000 l df *ABS* 00000000 rawsock.c
+00000000 l df *ABS* 00000000 sockcall.c
+0802cf30 l F .text 0000008c sockargs
+0802c26c l F .text 000001e0 t_getname
+00000000 l df *ABS* 00000000 socket.c
+00000000 l df *ABS* 00000000 socket2.c
+00000000 l df *ABS* 00000000 soselect.c
+00000000 l df *ABS* 00000000 tcp_in.c
+00000000 l df *ABS* 00000000 tcp_out.c
+0803492c l F .text 000000cc bld_options
+00000000 l df *ABS* 00000000 tcp_subr.c
+00000000 l df *ABS* 00000000 tcp_timr.c
+00000000 l df *ABS* 00000000 tcp_usr.c
+00000000 l df *ABS* 00000000 tcpport.c
+00000000 l df *ABS* 00000000 udpsock.c
+00000000 l df *ABS* 00000000 alt_busy_sleep.c
+00000000 l df *ABS* 00000000 alt_close.c
+080370b4 l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 alt_dcache_flush.c
+00000000 l df *ABS* 00000000 alt_dev.c
+08037238 l F .text 0000002c alt_dev_null_write
+00000000 l df *ABS* 00000000 alt_dev_llist_insert.c
+08037264 l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 alt_do_ctors.c
+00000000 l df *ABS* 00000000 alt_do_dtors.c
+00000000 l df *ABS* 00000000 alt_errno.c
+00000000 l df *ABS* 00000000 alt_find_dev.c
+00000000 l df *ABS* 00000000 alt_iic.c
+00000000 l df *ABS* 00000000 alt_iic_isr_register.c
+00000000 l df *ABS* 00000000 alt_io_redirect.c
+08037728 l F .text 000000b0 alt_open_fd
+00000000 l df *ABS* 00000000 alt_irq_vars.c
+00000000 l df *ABS* 00000000 alt_open.c
+08037854 l F .text 0000003c alt_get_errno
+08037890 l F .text 000000b8 alt_file_locked
+00000000 l df *ABS* 00000000 alt_printf.c
+00000000 l df *ABS* 00000000 alt_putchar.c
+00000000 l df *ABS* 00000000 alt_read.c
+08037cf8 l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 alt_release_fd.c
+00000000 l df *ABS* 00000000 alt_remap_cached.c
+00000000 l df *ABS* 00000000 alt_tick.c
+00000000 l df *ABS* 00000000 alt_uncached_free.c
+00000000 l df *ABS* 00000000 alt_uncached_malloc.c
+00000000 l df *ABS* 00000000 alt_usleep.c
+00000000 l df *ABS* 00000000 alt_write.c
+08038230 l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 altera_nios2_gen2_irq.c
+00000000 l df *ABS* 00000000 os_cpu_a.o
+00000040 l *ABS* 00000000 OSCtxSw_SWITCH_PC
+00000000 l df *ABS* 00000000 os_cpu_c.c
+00000014 l *ABS* 00000000 OSTCBNext_OFFSET
+00000032 l *ABS* 00000000 OSTCBPrio_OFFSET
+00000000 l *ABS* 00000000 OSTCBStkPtr_OFFSET
+00000000 l df *ABS* 00000000 allports.c
+0804ccf8 l O .bss 00000004 inside_pktdemux
+00000000 l df *ABS* 00000000 timeouts.c
+08038b28 l F .text 0000014c check_interval_timers
+0804cd04 l O .bss 00000004 numtimers
+00000000 l df *ABS* 00000000 tk_misc.c
+00000000 l df *ABS* 00000000 alt_iniche_fcntl.c
+00000000 l df *ABS* 00000000 icmp.c
+0804c940 l O .rwdata 00000018 dsts
+00000000 l df *ABS* 00000000 ip.c
+0804cb74 l O .rwdata 00000004 uid
+00000000 l df *ABS* 00000000 ipdemux.c
+00000000 l df *ABS* 00000000 ipmc.c
+00000000 l df *ABS* 00000000 ipport.c
+00000000 l df *ABS* 00000000 ipraw.c
+00000000 l df *ABS* 00000000 iproute.c
+00000000 l df *ABS* 00000000 udp.c
+0804cd2c l O .bss 00000002 usocket
+00000000 l df *ABS* 00000000 igmp.c
+00000000 l df *ABS* 00000000 igmp2.c
+00000000 l df *ABS* 00000000 ipopt.c
+00000000 l df *ABS* 00000000 u_mctest.c
+0804cb7c l O .rwdata 00000004 iCounter.5304
+00000000 l df *ABS* 00000000 memdev.c
+00000000 l df *ABS* 00000000 parseip.c
+0804ce0c l O .bss 0000001e nearBuf.4931
+00000000 l df *ABS* 00000000 tcpcksum.c
+00000000 l df *ABS* 00000000 udp_open.c
+00000000 l df *ABS* 00000000 in_pcb.c
+00000000 l df *ABS* 00000000 vfsfiles.c
+00000000 l df *ABS* 00000000 vfsport.c
+00000000 l df *ABS* 00000000 alt_fcntl.c
+080426b8 l F .text 0000003c alt_get_errno
+00000000 l df *ABS* 00000000 alt_find_file.c
+00000000 l df *ABS* 00000000 alt_get_fd.c
+00000000 l df *ABS* 00000000 atexit.c
+00000000 l df *ABS* 00000000 atoi.c
+00000000 l df *ABS* 00000000 exit.c
+00000000 l df *ABS* 00000000 malign.c
+00000000 l df *ABS* 00000000 mallocr.c
+00000000 l df *ABS* 00000000 malloc.c
+00000000 l df *ABS* 00000000 memcmp.c
+00000000 l df *ABS* 00000000 sprintf.c
+00000000 l df *ABS* 00000000 strchr.c
+00000000 l df *ABS* 00000000 strcpy.c
+00000000 l df *ABS* 00000000 strncmp.c
+00000000 l df *ABS* 00000000 strtol.c
+080430e8 l F .text 00000224 _strtol_l.isra.0
+00000000 l df *ABS* 00000000 vfprintf.c
+0804b8e1 l O .rodata 00000010 blanks.5207
+0804b8d1 l O .rodata 00000010 zeroes.5208
+00000000 l df *ABS* 00000000 vprintf.c
+00000000 l df *ABS* 00000000 vsprintf.c
+00000000 l df *ABS* 00000000 __atexit.c
+00000000 l df *ABS* 00000000 __call_atexit.c
+00000000 l df *ABS* 00000000 vfprintf.c
+0804b901 l O .rodata 00000010 blanks.5187
+0804b8f1 l O .rodata 00000010 zeroes.5188
+00000000 l df *ABS* 00000000 vfprintfr_1.c
+00000000 l df *ABS* 00000000 alt_exit.c
+0804cd5c g O .bss 00000004 alt_instruction_exception_handler
+080200e8 g F .text 0000003c alt_msgdma_standard_descriptor_async_transfer
+08002cb8 g F .text 00000018 putchar
+0805e1c4 g O .bss 00000014 soq
+18200000 g *ABS* 00000000 __alt_mem_onchip_flash_data
+080097bc g F .text 00000074 _mprec_log10
+0804cbac g O .bss 00000001 to_sslistenertask
+08018c1c g F .text 000000cc alt_tse_get_mac_info
+0800989c g F .text 00000074 __any_on
+0800be3c g F .text 00000058 _isatty_r
+080474dc g O .rodata 00000028 __mprec_tinytens
+0803a2d4 g F .text 00000714 ip_write_internal
+0800fb7c g F .text 000000bc alt_main
+08042f60 g F .text 0000008c strcpy
+08028748 g F .text 000000ac pk_free
+08002cd0 g F .text 000000cc _puts_r
+08000380 g F .text 00000030 control_delay
+0805e370 g O .bss 00000100 alt_irq
+08002a14 g F .text 0000005c master_clock_enable
+0804c958 g O .rwdata 00000009 rtp_priority
+0800bf24 g F .text 00000064 _lseek_r
+08039d2c g F .text 000002f0 icmp_timex
+08029cfc g F .text 00000044 m_freem
+080421c0 g F .text 00000048 vgetc
+08028e18 g F .text 00000020 clock_c
+0804ccd8 g O .bss 00000004 tcp_optionbuf
+08024088 g F .text 0000006c if_getbynum
+08001d1c g F .text 0000003c ss_reset_connection
+08013658 g F .text 000000cc OS_MemInit
+08027c78 g F .text 0000006c TK_OSTaskQuery
+08028b40 g .text 00000000 asm_cksum
+0801c7dc g F .text 000000f0 marvell_cfg_rgmii
+08017734 g F .text 00000060 OSTimeSet
+080420c8 g F .text 000000f8 vgetc_locked
+080295e8 g F .text 00000020 post_task_setup
+080360cc g F .text 00000118 tcp_attach
+0802b050 g F .text 00000078 tcp_tick
+08026fbc g F .text 0000007c print_ipad
+08027ba0 g F .text 000000d8 tcp_wakeup
+0800e300 g F .text 00000080 .hidden __eqdf2
+0804cba0 g O .bss 00000004 last_flash_sector_offset
+0804cc5c g O .bss 00000004 igmp_timers_are_running
+080333ec g F .text 0000012c tcp_pulloutofband
+0801edf0 g F .text 00000058 alt_msgdma_construct_standard_mm_to_mm_descriptor
+08019e30 g F .text 000001d0 alt_tse_phy_print_profile
+080101d0 g F .text 000005ac OSEventPendMulti
+08002314 g F .text 000001b8 ethernet_read
+0805e59c g *ABS* 00000000 __alt_heap_start
+080385a4 g F .text 00000024 OSTaskCreateHook
+0801c57c g F .text 00000098 marvell_phy_cfg
+0803b668 g F .text 00000354 ip_rcv
+08041e68 g F .text 00000154 vfseek
+0802f6ec g F .text 00000108 soqremque
+0803d134 g F .text 0000076c udpdemux
+08022984 g F .text 000000dc tse_mac_close
+08002c78 g F .text 00000038 printf
+0804cd0c g O .bss 00000004 rt_mib
+080454d0 g F .text 00000018 vsprintf
+080107cc g F .text 0000004c OSIntEnter
+0800c2fc g F .text 0000006c _wcrtomb_r
+0804ce2c g O .bss 0000e000 InitialTaskStk
+0800a2a0 g F .text 0000005c __sseek
+08007060 g F .text 00000010 __sinit
+0803c3f8 g F .text 0000010c in_delmulti
+0800b814 g F .text 00000148 __swbuf_r
+0801c944 g F .text 0000005c PEF7071_config
+0804cd18 g O .bss 00000004 so_evtmap_create
+0804052c g F .text 00000088 in_pcballoc
+18403400 g *ABS* 00000000 __alt_mem_calibration_ram
+0804cb28 g O .rwdata 00000002 socket_defaults
+0800be94 g F .text 00000070 _setlocale_r
+08022f68 g F .text 00000454 send_arp
+08006ee8 g F .text 00000068 __sfmoreglue
+08040f88 g F .text 00000338 vfopen_locked
+0800ff2c g F .text 000000cc __malloc_unlock
+0805d5c8 g O .bss 000000e0 eth_tse_if
+0803860c g F .text 00000020 OSTaskStatHook
+08038a5c g F .text 00000054 prep_modules
+08026574 g F .text 00000190 bsd_i_sockoptlen
+0804cbe4 g O .bss 00000001 OSLockNesting
+0801dd20 g F .text 00000254 altera_qspi_controller_init
+08018e54 g F .text 00000a78 getPHYSpeed
+080414cc g F .text 00000044 vfclose
+0805e264 g O .bss 0000002c tcb
+08037e88 g F .text 00000034 alt_remap_cached
+0804cbe5 g O .bss 00000001 OSRunning
+08023dd0 g F .text 000002b8 grat_arp
+0800123c g F .text 000001f8 get_ip_addr
+0803fce8 g F .text 00000094 inet_pton
+080241c8 g F .text 0000008c reg_type
+080254ec g F .text 00000170 igmp_fasttimo
+08041678 g F .text 0000005c vunlink_flag_open_files
+080024cc g F .text 00000088 ethernet_close
+0805e290 g O .bss 000000e0 tcpstat
+0802a22c g F .text 00000098 dtom
+08034830 g F .text 000000fc tcp_setpersist
+0802c60c g F .text 00000188 t_getsockopt
+080087b8 g F .text 0000012c memmove
+0802a658 g F .text 00000588 ip_output
+08038658 g F .text 00000020 OSInitHookBegin
+0803a01c g F .text 00000054 icmp_du
+0804cb08 g O .rwdata 00000004 num_net_tasks
+0804cd40 g O .bss 00000004 vfiles
+0800704c g F .text 00000014 _cleanup
+08002bc8 g F .text 00000068 set_delay
+080089d4 g F .text 000000a4 _Balloc
+080018b4 g F .text 000001a0 get_board_mac_addr
+0801ed40 g F .text 00000058 alt_msgdma_construct_standard_st_to_mm_descriptor
+0804cbe8 g O .bss 00000004 OSIdleCtr
+0801b7f0 g F .text 000001c4 alt_tse_phy_set_adv_1000
+0804cae0 g O .rwdata 00000001 max_mac_system
+0803e7c4 g F .text 000005a0 ip_setmoptions
+08018038 g F .text 000008c4 alt_tse_system_add_sys
+0800e380 g F .text 000000f0 .hidden __gtdf2
+0803f804 g F .text 0000002c md_fseek
+08038364 g F .text 00000024 altera_nios2_gen2_irq_init
+08038434 g .text 00000000 OSStartTsk
+080118c4 g F .text 000002d4 OS_TCBInit
+0805e58c g O .bss 00000010 udp_mib
+14000000 g F .entry 0000001c __reset
+0802cd9c g F .text 000000d4 t_shutdown
+08007be8 g F .text 00000008 __localeconv_l
+0802c870 g F .text 0000013c t_recvfrom
+0803ef2c g F .text 0000066c u_mctest_run
+0803c568 g F .text 00000080 prep_ifaces
+0804cc78 g O .bss 00000001 to_netmain
+08028434 g F .text 000000c0 pk_alloc
+0804cbec g O .bss 00000001 OSPrioHighRdy
+0800bddc g F .text 00000060 _fstat_r
+0804b950 g O .rwdata 00000130 tse_mac_device
+0802796c g F .text 00000044 tk_nettick
+080385c8 g F .text 00000024 OSTaskDelHook
+0804cbc0 g O .bss 00000004 errno
+0800a15c g F .text 00000010 __srget
+0800080c g F .text 00000098 control_get_header
+080308f0 g F .text 000000c4 in_pcbnotify
+0800a218 g F .text 00000008 __seofread
+08038414 g .text 00000000 OSStartHighRdy
+0805de58 g O .bss 00000014 lilfreeq
+0803c610 g F .text 0000002c evtmap_setup
+0801664c g F .text 000001a4 OSTaskCreateExt
+0804cc7c g O .bss 00000004 tcp_sleep_timeout
+080300b0 g F .text 000001b8 sbdrop
+0804cd14 g O .bss 00000004 net_system_exit
+08045850 g F .text 00001120 ___svfiprintf_internal_r
+0805e4d4 g O .bss 00000068 icmp_mib
+08035294 g F .text 00000074 tcp_getseq
+0803c9e4 g F .text 000000b8 ip_raw_alloc
+0801c0cc g F .text 000004b0 alt_tse_phy_set_common_speed
+0801d87c g F .text 00000210 alt_qspi_controller_write_block
+08012910 g F .text 00000060 OSFlagPendGetFlagsRdy
+0804cbae g O .bss 00000001 mastermode
+0805d6a8 g O .bss 00000010 pmac_groups
+0802de94 g F .text 00000758 soreceive
+08011b98 g F .text 000002e0 OSFlagAccept
+08014c10 g F .text 0000008c OSQFlush
+08014704 g F .text 00000114 OSQAccept
+0804cbcc g O .bss 00000004 alt_argv
+0800220c g F .text 00000108 ethernet_write
+08054ab8 g *ABS* 00000000 _gp
+0803811c g F .text 00000114 usleep
+08041510 g F .text 00000048 vfflush
+0805e16c g O .bss 00000040 resid_semaphore
+08026e78 g F .text 00000144 hexdump
+08025b04 g F .text 00000080 igmp_leavegroup
+080164cc g F .text 00000180 OSTaskCreate
+0801604c g F .text 00000480 OSTaskChangePrio
+08021044 g F .text 00000094 alt_onchip_flash_poll_for_status_write_passed
+0804cbe0 g O .bss 00000004 alt_heapsem
+080350e8 g F .text 000000e8 tcp_close
+080167f0 g F .text 00000314 OSTaskDel
+080425e0 g F .text 0000005c vferror
+080380a4 g F .text 00000078 alt_uncached_malloc
+08013724 g F .text 00000178 OSMutexAccept
+08017b50 g F .text 00000060 tse_mac_initTransInfo2
+0801f8d8 g F .text 0000014c alt_msgdma_prefetcher_set_extd_list_own_by_hw_bits
+0803dcd8 g F .text 000000bc udp_alloc
+0804c868 g O .rwdata 000000c0 alt_fd_list
+0805ae2c g O .bss 00000370 OSFlagTbl
+080010f0 g F .text 00000034 control_init
+0804ccc4 g O .bss 00000008 mbstat
+08007adc g F .text 0000007c _getc_r
+08007b58 g F .text 00000090 getc
+08002cb0 g F .text 00000008 _putchar_r
+080110b0 g F .text 000000b0 OS_EventTaskRemove
+0803e444 g F .text 00000130 igmpv2_chk_set_timer
+080279b0 g F .text 00000030 TK_OSTimeDly
+08037404 g F .text 00000090 alt_find_dev
+080086b8 g F .text 00000100 memcpy
+08017de0 g F .text 00000054 tse_mac_setMIImode
+08038e5c g F .text 0000007c task_stats
+0802ba20 g F .text 00000050 DOMAIN_CHECK
+0802abe0 g F .text 00000038 in_broadcast
+08027f0c g F .text 0000029c icmpEcho
+080198cc g F .text 00000048 alt_tse_phy_rd_mdio_addr
+0804cd3c g O .bss 00000004 vfsystems
+0803dc28 g F .text 000000b0 udp_socket
+0804cc4c g O .bss 00000004 MaxMtu
+080305c8 g F .text 00000140 sock_selscan
+08006d6c g F .text 0000000c _cleanup_r
+0800f62c g F .text 000000c8 .hidden __floatsidf
+08002a70 g F .text 0000004c led_set
+0802f84c g F .text 00000058 socantrcvmore
+08017bb0 g F .text 000000c8 tse_mac_sTxWrite
+080377d8 g F .text 0000007c alt_io_redirect
+0800e470 g F .text 000000f0 .hidden __ltdf2
+0804cca0 g O .bss 00000004 netq_intmask
+0803fc9c g F .text 0000004c hextoa
+080469a8 g *ABS* 00000000 __DTOR_END__
+0801fde4 g F .text 000000b0 alt_msgdma_start_prefetcher_with_extd_desc_list
+08020124 g F .text 0000003c alt_msgdma_extended_descriptor_async_transfer
+0802cb9c g F .text 00000200 t_send
+080370f0 g F .text 000000d0 alt_close
+08001124 g F .text 00000054 InitialTask
+08020094 g F .text 00000054 alt_msgdma_register_callback
+0804cccc g O .bss 00000002 select_wait
+08002d9c g F .text 00000010 puts
+08027500 g F .text 00000044 std_out
+080429f8 g F .text 00000098 alt_exception_cause_generated_bad_addr
+0805d6d8 g O .bss 00000030 tse_iniche_dev_driver_data
+08042208 g F .text 00000124 vfslookup_locked
+0802d74c g F .text 00000098 soaccept
+0800fff8 g F .text 000000d8 OSEventNameGet
+0805e1d8 g O .bss 0000003c tcpmib
+0802cfbc g F .text 00000094 t_errno
+0803c63c g F .text 000000d8 ip_raw_open
+080004f8 g F .text 00000314 control_process_config_peer
+08013cdc g F .text 0000055c OSMutexPend
+08009714 g F .text 000000a8 __ratio
+08010818 g F .text 000000f0 OSIntExit
+0804cb78 g O .rwdata 00000004 ipRoutes
+08041628 g F .text 00000050 vfeof
+0800b73c g F .text 00000018 __vfiprintf_internal
+08035564 g F .text 0000005c tcp_canceltimers
+0804cbed g O .bss 00000001 OSPrioCur
+08042c98 g F .text 00000010 malloc
+0804cd38 g O .bss 00000004 inpcb_cachemiss
+0801f540 g F .text 000000f0 alt_msgdma_prefetcher_add_standard_desc_to_list
+08002c48 g F .text 00000030 _printf_r
+0803fe5c g F .text 000000c4 inet46_addr
+0804cd34 g O .bss 00000004 inpcb_cachehits
+0800cff8 g F .text 00000064 .hidden __udivsi3
+0804c828 g O .rwdata 0000000b tcp_outflags
+0805d708 g O .bss 00000290 tse
+0800f9c8 g F .text 000000a4 isatty
+080188fc g F .text 00000144 alt_tse_sys_enable_mdio_sharing
+08020fb0 g F .text 00000094 alt_onchip_flash_poll_for_status_erase_passed
+0802144c g F .text 00000078 msgdma_reset
+0804752c g O .rodata 000000c8 __mprec_tens
+08040e00 g F .text 00000070 vf_alloc_and_link_vop
+080251e4 g F .text 00000068 exit_hook
+0804cc60 g O .bss 00000004 igmp_cticks
+08018ba0 g F .text 0000007c alt_tse_get_mac_info_index
+0804cbb0 g O .bss 00000004 delays
+0804ccb4 g O .bss 00000004 mheap_sem_ptr
+08033754 g F .text 00000048 ip4_tcpmss
+0805da98 g O .bss 00000014 netlist
+0802e5ec g F .text 00000098 soshutdown
+08038388 g .text 00000000 OSCtxSw
+080389e8 g F .text 00000050 packet_check
+0805e214 g O .bss 00000014 mbufq
+0802d6fc g F .text 00000050 soabort
+0804cbbc g O .bss 00000004 __malloc_top_pad
+0804caec g O .rwdata 00000008 altera_onchip_flash_list
+0804cbf0 g O .bss 00000004 OSTCBList
+08028a40 g F .text 00000100 qdel
+08038850 g F .text 00000160 station_state
+0803cb28 g F .text 00000154 rt_lookup
+0804cce4 g O .bss 00000004 alt_fd_list_lock
+08025b84 g F .text 000002dc igmp_validate
+0801dc74 g F .text 000000ac alt_qspi_controller_read
+08007bf0 g F .text 0000000c _localeconv_r
+08024f80 g F .text 00000264 ip_startup
+08022210 g F .text 00000198 tse_msgdmaRx_isr
+0802bd24 g F .text 00000250 t_accept
+0802f2ec g F .text 00000098 soisdisconnecting
+08008dd4 g F .text 00000034 __i2b
+080074c0 g F .text 000004c4 __sfvwrite_r
+080249c4 g F .text 000003a0 pktdemux
+0805b19c g O .bss 00000c30 OSMemTbl
+0801996c g F .text 0000012c alt_tse_phy_wr_mdio_reg
+08028d08 g F .text 00000088 kbhit
+0802c44c g F .text 000001c0 t_setsockopt
+0800a16c g F .text 00000058 _sbrk_r
+0804c928 g O .rwdata 00000018 icmpdu_types
+0801a000 g F .text 00000698 alt_tse_mac_group_init
+080416d4 g F .text 00000200 vunlink
+08002944 g F .text 00000088 masterslave
+080214c4 g F .text 00000a64 tse_mac_init
+14000000 g *ABS* 00000000 __alt_mem_ext_flash_avl_mem
+08013a1c g F .text 000002c0 OSMutexDel
+08026cd8 g F .text 000000a4 ccksum
+08040e70 g F .text 000000c8 vf_alloc_buffer
+0804cd28 g O .bss 00000004 cachedRoute
+0804cb10 g O .rwdata 00000004 lilbufs
+0803f830 g F .text 00000024 md_ftell
+08026d7c g F .text 00000054 cksum
+0801335c g F .text 000000a8 OSMemNameGet
+0802d324 g F .text 00000110 sofree
+0804cc54 g O .bss 00000004 ifNumber
+0800bfd8 g F .text 00000064 _read_r
+080371c0 g F .text 00000078 alt_dcache_flush
+08020374 g F .text 00000168 alt_onchip_flash_erase_block
+0801503c g F .text 00000158 OSQPost
+080130ac g F .text 000000a4 OS_FlagUnlink
+0804cb50 g O .rwdata 00000004 alt_max_fd
+08011604 g F .text 00000068 OS_MemCopy
+0804cb18 g O .rwdata 00000004 bigbufs
+08017ce8 g F .text 00000070 tse_mac_aTxWrite
+080361e4 g F .text 000000cc tcp_disconnect
+0801166c g F .text 000000c8 OS_Sched
+0800bae4 g F .text 000000f8 _fclose_r
+08013298 g F .text 000000c4 OSMemGet
+08016d64 g F .text 0000015c OSTaskNameSet
+08006d3c g F .text 00000028 fflush
+0804cbb8 g O .bss 00000004 __malloc_max_sbrked_mem
+0804cbf4 g O .bss 00000004 OSCtxSwCtr
+0805ddd0 g O .bss 00000064 igmpstats
+0803862c g F .text 0000002c OSTimeTickHook
+08026704 g F .text 00000108 bsd_getsockopt
+08036418 g F .text 000001a0 udp_soinput
+08028990 g F .text 000000b0 putq
+08011160 g F .text 000000f8 OS_EventTaskRemoveMulti
+080029cc g F .text 00000048 master_clock_period
+0804cc74 g O .bss 00000004 iniche_net_ready
+08002554 g F .text 00000088 udpgen_command_bit
+0800d0b8 g F .text 000009a0 .hidden __adddf3
+08010f68 g F .text 00000148 OS_EventTaskWaitMulti
+08042598 g F .text 00000048 isvfile
+0802e780 g F .text 0000048c sosetopt
+08027814 g F .text 000000e0 netmain
+0803379c g F .text 000000f8 tcp_mss
+080094c8 g F .text 00000104 __b2d
+0803f93c g F .text 000002fc parse_ipad
+08040de0 g F .text 00000020 get_vfopen_error
+0801f2a0 g F .text 00000058 alt_msgdma_construct_prefetcher_standard_st_to_mm_descriptor
+0800c9c0 g F .text 00000540 .hidden __umoddi3
+0800faa8 g F .text 000000d4 lseek
+08038ab0 g F .text 00000078 inet_timer
+08015a60 g F .text 000001e4 OSSemPend
+08019b68 g F .text 000002c8 alt_tse_phy_add_profile_default
+0801b264 g F .text 0000058c alt_tse_phy_get_cap
+0804cab8 g O .rwdata 00000004 _global_impure_ptr
+080271c0 g F .text 00000154 print_eth
+080412c0 g F .text 00000050 vfopen
+08037d34 g F .text 000000fc alt_read
+08009abc g F .text 0000062c _realloc_r
+0805e59c g *ABS* 00000000 __bss_end
+08037644 g F .text 000000e4 alt_iic_isr_register
+08029bf8 g F .text 00000104 m_free
+08043310 g F .text 00000018 strtol_l
+080386b8 g F .text 00000024 OSTCBInitHook
+08022944 g F .text 00000040 tse_mac_stats
+080284f4 g F .text 00000254 pk_validate
+08037f58 g F .text 00000108 alt_tick
+0804b920 g O .rwdata 00000018 controltask
+08040b60 g F .text 00000254 in_pcblookup
+0801feec g F .text 000001a8 alt_msgdma_init
+0800c428 g F .text 00000598 .hidden __udivdi3
+08029a70 g F .text 00000188 m_getnbuf
+08028814 g F .text 000000c4 dump_buf_estats
+0800bd3c g F .text 00000024 _fputwc_r
+0801b0dc g F .text 00000188 alt_tse_phy_check_link
+0804cc44 g O .bss 00000004 arpRepsOut
+08047504 g O .rodata 00000028 __mprec_bigtens
+08008bb0 g F .text 00000110 __s2b
+0800f6f4 g F .text 0000009c .hidden __floatunsidf
+080386dc g F .text 000000e8 netmain_init
+0801c6f8 g F .text 000000e4 marvell_cfg_sgmii
+0801af18 g F .text 000001c4 alt_tse_phy_restart_an
+08009258 g F .text 00000058 __mcmp
+08001da8 g F .text 000000e8 ss_handle_accept
+0801cb50 g F .text 00000160 altera_avalon_uart_init
+0802019c g F .text 0000003c alt_msgdma_extended_descriptor_sync_transfer
+08034b48 g F .text 000003f8 tcp_respond
+080367f0 g F .text 000002d0 udp4_sockbind
+0804cca4 g O .bss 00000004 old_mode
+080258d8 g F .text 0000022c igmp_joingroup
+0802ad08 g F .text 00000348 so_icmpdu
+08007080 g F .text 00000014 __fp_lock_all
+0804cd4c g O .bss 00000004 vfs_dir_stale
+080375f8 g F .text 0000004c alt_ic_irq_enabled
+0805d6b8 g O .bss 00000020 pphy_profiles
+0804263c g F .text 00000058 vclearerr
+08026bfc g F .text 000000dc bsd_setsockopt
+080020d0 g F .text 0000013c ethernet_listen
+0802a1d8 g F .text 00000054 mbuf_len
+08012ed8 g F .text 000000e0 OS_FlagInit
+08037ebc g F .text 0000009c alt_alarm_stop
+08042374 g F .text 000001cc strippath
+08027a54 g F .text 0000014c tcp_sleep
+08043328 g F .text 00000018 strtol
+080362b0 g F .text 000000cc tcp_usrclosed
+18400000 g *ABS* 00000000 __alt_mem_descriptor_memory
+0804cc90 g O .bss 00000004 cticks_factor
+0804060c g F .text 00000210 in_pcbbind
+0804cce8 g O .bss 00000004 alt_irq_active
+080156d4 g F .text 000000a0 OSSemAccept
+080134d8 g F .text 000000b8 OSMemPut
+08013150 g F .text 00000148 OSMemCreate
+080001fc g F .exceptions 000000c8 alt_irq_handler
+0804c840 g O .rwdata 00000028 alt_dev_null
+0801eed8 g F .text 00000090 alt_msgdma_construct_extended_mm_to_st_descriptor
+0804cb2a g O .rwdata 00000001 tcprexmtthresh
+08024254 g F .text 00000090 if_killsocks
+0803a9e8 g F .text 00000210 ip_write
+0803b9bc g F .text 0000054c ip_rcv_phase2
+0802c228 g F .text 00000044 t_getsockname
+0802bf74 g F .text 00000270 t_connect
+0804cb24 g O .rwdata 00000004 TCPTV_MSL
+0805de6c g O .bss 00000010 memestats
+0801ae0c g F .text 0000010c alt_tse_phy_init
+08028d90 g F .text 00000050 getch
+0804ca38 g O .rwdata 00000080 vfs_root_path
+0802c1e4 g F .text 00000044 t_getpeername
+0802f9d8 g F .text 00000088 soreserve
+08038388 g .text 00000000 OSIntCtxSw
+0802982c g F .text 00000034 npalloc
+0801fd34 g F .text 000000b0 alt_msgdma_start_prefetcher_with_std_desc_list
+08008cc0 g F .text 00000064 __hi0bits
+0804cd24 g O .bss 00000004 ipraw_eps
+080281a8 g F .text 0000028c pk_init
+0803f634 g F .text 00000158 md_fread
+08022048 g F .text 000001c8 tse_mac_raw_send
+0800f5ac g F .text 00000080 .hidden __fixdfsi
+0805e470 g O .bss 00000064 intimers
+0802fab0 g F .text 0000004c sbrelease
+08030a34 g F .text 000000e4 ifd_clr
+08030368 g F .text 00000090 sbdroprecord
+08027314 g F .text 0000007c uslash
+0803826c g F .text 000000f8 alt_write
+0804cc40 g O .bss 00000004 arpRepsIn
+08038c74 g F .text 0000012c in_timerset
+0804cbf8 g O .bss 00000004 OSTCBFreeList
+08015c44 g F .text 00000140 OSSemPendAbort
+08033894 g F .text 00000f9c tcp_output
+0804ccf4 g O .bss 00000004 activehost
+0804cb48 g O .rwdata 00000008 alt_dev_list
+0802761c g F .text 000001f8 parse_args
+0804cca8 g O .bss 00000004 global_TCPwakeup_setIndx
+08022c3c g F .text 00000068 write
+08029860 g F .text 00000040 npfree
+08009910 g F .text 000000cc _putc_r
+08023624 g F .text 000002c0 arpReply
+08026dfc g F .text 0000007c nextarg
+0804cb84 g O .rwdata 00000004 pton_error
+0805daac g O .bss 00000014 rcvdq
+080309b4 g F .text 00000080 tcp_notify
+0800f8dc g F .text 000000b0 fstat
+0802d7e4 g F .text 000000b8 soconnect
+0803cae0 g F .text 00000048 ip_raw_maxalloc
+0800e470 g F .text 000000f0 .hidden __ledf2
+0801c8cc g F .text 00000078 DP83848C_link_status_read
+08040adc g F .text 00000084 in_setpeeraddr
+08028de0 g F .text 00000038 clock_init
+08041558 g F .text 000000d0 vfgets
+08022cec g F .text 00000180 et_send
+08008ff4 g F .text 00000128 __pow5mult
+0800a410 g F .text 0000132c ___vfiprintf_internal_r
+0800d05c g F .text 0000005c .hidden __umodsi3
+0803fc38 g F .text 00000064 inet_addr
+0802e684 g F .text 000000fc sorflush
+08045458 g F .text 0000001c vprintf
+0805df80 g O .bss 000000fc global_tcb_ext
+0805dac0 g O .bss 00000300 netstatic
+0802baf0 g F .text 00000160 t_bind
+08040454 g F .text 000000d8 udp_close
+0801f2f8 g F .text 00000058 alt_msgdma_construct_prefetcher_standard_mm_to_st_descriptor
+080293dc g F .text 000001c0 alt_iniche_init
+0805e59c g *ABS* 00000000 end
+08028ff4 g F .text 00000080 UNLOCK_NET_RESOURCE
+08021220 g F .text 0000022c prep_tse_mac
+0802c794 g F .text 000000dc t_recv
+080418d4 g F .text 00000188 vfread
+080248e4 g F .text 000000e0 netclose
+08042ab0 g F .text 0000000c _atoi_r
+0801d354 g F .text 00000234 altera_avalon_uart_write
+08017e84 g F .text 000001b4 alt_tse_phy_add_profile
+0804cb34 g O .rwdata 00000004 tcp_keepintvl
+080002c4 g F .exceptions 00000074 alt_instruction_exception_entry
+0804c7e0 g O .rwdata 00000018 tcp_protosw
+080469a8 g *ABS* 00000000 __CTOR_LIST__
+0804cd48 g O .bss 00000004 vfopen_error
+10000000 g *ABS* 00000000 __alt_stack_pointer
+0804ccdc g O .bss 00000004 tcp_maxidle
+0804cd30 g O .bss 00000004 firstudp
+08017aa4 g F .text 0000007c alt_avalon_timer_sc_init
+0801caa0 g F .text 00000060 altera_avalon_uart_write_fd
+0800f790 g F .text 00000054 .hidden __clzsi2
+0801cb00 g F .text 00000050 altera_avalon_uart_close_fd
+08007070 g F .text 00000004 __sfp_lock_acquire
+080085d0 g F .text 000000e8 memchr
+080115b0 g F .text 00000054 OS_MemClr
+08002e44 g F .text 00002160 ___vfprintf_internal_r
+08038458 g F .text 0000014c OSTaskStkInit
+08042d44 g F .text 00000054 _sprintf_r
+080202d8 g F .text 0000009c alt_onchip_flash_get_info
+080071c4 g F .text 000002fc _free_r
+0803e574 g F .text 0000013c igmpv2_chk4_rtr_alert_opt
+08037a9c g F .text 0000022c alt_printf
+080472d7 g O .rodata 00000180 _ctype_b
+0800bf04 g F .text 0000000c __locale_mb_cur_max
+0802ce70 g F .text 000000c0 t_socketclose
+08010cd8 g F .text 00000188 OS_EventTaskRdy
+080003b0 g F .text 00000068 control_pong
+08045578 g F .text 00000118 __call_exitprocs
+0800a0e8 g F .text 00000074 __srget_r
+0805ddc0 g O .bss 00000010 nets
+08028f38 g F .text 000000bc LOCK_NET_RESOURCE
+080223a8 g F .text 00000060 tse_msgdmaTx_isr
+080227f8 g F .text 0000014c tse_mac_rcv
+0802ba70 g F .text 00000080 t_socket
+0804cac0 g O .rwdata 00000004 __malloc_sbrk_base
+08000338 g F .text 00000048 _start
+08022ca4 g F .text 00000048 etainit
+0804ccec g O .bss 00000004 _alt_tick_rate
+08038a38 g F .text 00000024 mcastlist
+08014c9c g F .text 00000260 OSQPend
+0805de7c g O .bss 000000f0 pktlog
+0803e170 g F .text 00000114 igmpv2_process_report
+08030b8c g F .text 00000074 ifd_isset
+0801d6cc g F .text 0000008c alt_qspi_controller_get_info
+0803d020 g F .text 00000114 del_route
+0801730c g F .text 00000104 OSTimeDly
+080011e8 g F .text 00000054 get_mac_addr
+0802d254 g F .text 000000d0 solisten
+0800911c g F .text 0000013c __lshift
+0804ccf0 g O .bss 00000004 _alt_nticks
+0801ed98 g F .text 00000058 alt_msgdma_construct_standard_mm_to_st_descriptor
+08019a98 g F .text 000000d0 alt_tse_phy_rd_mdio_reg
+08022bcc g F .text 00000070 read
+08017800 g F .text 0000022c alt_sys_init
+08045690 g F .text 000001c0 __ssprint_r
+080351d0 g F .text 0000004c tcp_quench
+08002050 g F .text 00000080 ethernet_init
+08027390 g F .text 00000170 ns_printf
+080240f4 g F .text 000000d4 isbcast
+08029074 g F .text 00000240 TK_NEWTASK
+080454e8 g F .text 00000090 __register_exitproc
+0804cbfc g O .bss 00000001 OSTaskCtr
+0804cc24 g O .bss 00000001 phy_profile_count
+08042fec g F .text 000000fc strncmp
+08018b34 g F .text 0000006c alt_tse_get_mac_group_index
+08017410 g F .text 000000fc OSTimeDlyHMSM
+0803c714 g F .text 000000bc ip_raw_close
+08008e08 g F .text 000001ec __multiply
+0804c988 g O .rwdata 000000b0 mdlist
+0802541c g F .text 000000d0 igmp_input
+0803af6c g F .text 000000bc ip_raw_write
+08041a5c g F .text 000003ac vfwrite_locked
+0804cd90 g O .bss 00000028 __malloc_current_mallinfo
+0803ff20 g F .text 0000006c inet_setport
+080095cc g F .text 00000148 __d2b
+08015d84 g F .text 00000100 OSSemPost
+08033264 g F .text 00000188 tcp_dooptions
+0802f1e8 g F .text 00000104 soisconnected
+08010994 g F .text 000000dc OSSchedUnlock
+0803c5e8 g F .text 00000028 netexit
+08001434 g F .text 00000194 get_serial_number
+0804cc70 g O .bss 00000004 nettick_wakes
+08019914 g F .text 00000058 alt_tse_phy_wr_mdio_addr
+0804ccd0 g O .bss 00000001 tcpprintfs
+0803e064 g F .text 0000010c igmpv2_input
+08038da0 g F .text 00000098 in_timerkill
+08026dd0 g F .text 0000002c do_trap
+08042920 g F .text 000000d8 alt_get_fd
+0802680c g F .text 000000f0 bsd_ioctl
+0804cc00 g O .bss 00000004 OSMemFreeList
+0802a4a4 g F .text 000001b4 tcp_rcv
+08027178 g F .text 00000048 panic
+0804cd50 g O .bss 00000004 vfs_open_files
+08024df4 g F .text 0000018c ip2mac
+08036f5c g F .text 00000158 alt_busy_sleep
+08012cdc g F .text 00000098 OSFlagQuery
+08030708 g F .text 000001e8 sock_select
+080349f8 g F .text 00000048 tcp_init
+0804ccac g O .bss 00000004 cticks
+0804cc79 g O .bss 00000001 to_nettick
+0800b9d4 g F .text 00000058 _close_r
+080242e4 g F .text 000004d0 Netinit
+08029608 g F .text 00000038 prep_armintcp
+0803c2ac g F .text 0000014c in_addmulti
+08034a40 g F .text 00000108 tcp_template
+0801bdb0 g F .text 0000031c alt_tse_phy_get_common_speed
+0802a2c4 g F .text 00000070 remque
+0804b938 g O .rwdata 00000018 sslistenertask
+08045474 g F .text 00000010 _vprintf_r
+08030c60 g F .text 000003f0 tcp_reass
+080400c0 g F .text 00000194 tcp_cksum
+08036ac0 g F .text 00000374 udp4_socksend
+0801f248 g F .text 00000058 alt_msgdma_construct_prefetcher_standard_mm_to_mm_descriptor
+08041310 g F .text 000001bc vfclose_locked
+08030b18 g F .text 00000074 ifd_set
+08042cb8 g F .text 0000008c memcmp
+08010cb8 g F .text 00000020 OS_Dummy
+0804cc50 g O .bss 00000004 NDEBUG
+0805e59c g *ABS* 00000000 __alt_stack_base
+0804cba4 g O .bss 00000004 last_flash_sector
+0802fa60 g F .text 00000050 sbreserve
+0804cc25 g O .bss 00000001 mac_group_count
+0803c7d0 g F .text 00000214 ip_raw_input
+0804cb14 g O .rwdata 00000004 lilbufsiz
+08030c00 g F .text 00000060 ifd_get
+0802f94c g F .text 0000008c sbwakeup
+0801f350 g F .text 000000a0 alt_msgdma_construct_prefetcher_extended_st_to_mm_descriptor
+0800507c g F .text 00000160 __swsetup_r
+080210d8 g F .text 00000148 altera_eth_tse_init
+0805bdcc g O .bss 000001e0 OSQTbl
+08033518 g F .text 0000023c tcp_xmit_timer
+0800da58 g F .text 000008a8 .hidden __divdf3
+0802020c g F .text 000000cc alt_onchip_flash_read
+08006f50 g F .text 000000fc __sfp
+08001780 g F .text 00000134 generate_mac_addr
+0803a148 g F .text 0000018c ip_bldhead
+08009830 g F .text 0000006c __copybits
+0802fafc g F .text 000000a0 sbappend
+0804bea4 g O .rwdata 00000408 __malloc_av_
+0800707c g F .text 00000004 __sinit_lock_release
+0804cc04 g O .bss 00000004 OSTCBHighRdy
+0800e560 g F .text 0000068c .hidden __muldf3
+0803abf8 g F .text 00000374 ip_write2
+0800a1c4 g F .text 00000054 __sread
+0804cafc g O .rwdata 00000004 arp_ageout
+0804cc08 g O .bss 00000004 OSQFreeList
+0801a698 g F .text 0000040c alt_tse_mac_get_phy
+0803a070 g F .text 000000d8 ip_init
+08042818 g F .text 00000108 alt_find_file
+0803ca9c g F .text 00000044 ip_raw_free
+0801d5bc g F .text 00000110 alt_qspi_controller_lock
+08023528 g F .text 000000fc make_arp_entry
+080372a0 g F .text 000000a4 alt_dev_llist_insert
+0800fe0c g F .text 00000120 __malloc_lock
+0800fc38 g F .text 000000b0 sbrk
+08043340 g F .text 00002118 ___svfprintf_internal_r
+080363bc g F .text 0000005c udp_lookup
+080100d0 g F .text 00000100 OSEventNameSet
+08006cdc g F .text 00000060 _fflush_r
+08018dc8 g F .text 0000008c alt_tse_mac_set_duplex
+0800ba2c g F .text 000000b8 _calloc_r
+0802974c g F .text 000000e0 npfree_base
+0804cc0c g O .bss 00000001 OSRdyGrp
+08001c08 g F .text 00000114 sensor_preconfigure
+0803f5e8 g F .text 00000028 md_fopen
+0804c7f8 g O .rwdata 00000018 udp_protosw
+0804cac8 g O .rwdata 00000008 alt_flash_dev_list
+08021f28 g F .text 00000120 tse_msgdma_write_init
+08040a58 g F .text 00000084 in_setsockaddr
+0804cb8c g *ABS* 00000000 __bss_start
+0802fb9c g F .text 000000d8 sbappendrecord
+0805e53c g O .bss 00000050 ip_mib
+080088e4 g F .text 000000f0 memset
+0801fe94 g F .text 00000058 alt_msgdma_open
+0802d89c g F .text 00000098 sodisconnect
+08001178 g F .text 00000070 main
+0804cbd0 g O .bss 00000004 alt_envp
+0804cbb4 g O .bss 00000004 __malloc_max_total_mem
+0801f630 g F .text 00000198 alt_msgdma_prefetcher_add_extended_desc_to_list
+0802a018 g F .text 000001c0 m_adj
+0800b95c g F .text 00000014 __swbuf
+0803f854 g F .text 000000c4 md_fgetc
+08047734 g O .rodata 00000100 OSUnMapTbl
+0803b0cc g F .text 000002a4 ip_dump
+08027d14 g F .text 000001f8 tk_stats
+0804caf4 g O .rwdata 00000008 alt_iniche_dev_list
+0804cc94 g O .bss 00000004 OS_TPS
+0802b2e8 g F .text 00000738 rawip_usrreq
+08012970 g F .text 0000036c OSFlagPost
+0800a2fc g F .text 00000008 __sclose
+0803fe00 g F .text 0000005c print46_addr
+10000000 g *ABS* 00000000 __alt_heap_limit
+0800bbdc g F .text 00000010 fclose
+08010e60 g F .text 00000108 OS_EventTaskWait
+0804330c g F .text 00000004 _strtol_r
+08002c38 g F .text 00000010 getchar
+08027038 g F .text 00000140 print_uptime
+08016b04 g F .text 00000128 OSTaskDelReq
+080053ec g F .text 000016c8 _dtoa_r
+0801fa24 g F .text 00000310 alt_msgdma_start_prefetcher_with_list_addr
+08007ddc g F .text 000007f4 _malloc_r
+0803f918 g F .text 00000024 md_unlink
+08017d58 g F .text 00000088 tse_mac_SwReset
+0800c3f8 g F .text 00000030 __ascii_wctomb
+08001e90 g F .text 000001c0 SSListenerTask
+0801389c g F .text 00000180 OSMutexCreate
+080405b4 g F .text 00000058 in_pcbdetach
+0804cb54 g O .rwdata 00000004 alt_errno
+0804cb80 g O .rwdata 00000004 mdlist_size
+0801f488 g F .text 000000b8 alt_msgdma_construct_prefetcher_extended_mm_to_mm_descriptor
+08010a70 g F .text 00000068 OSStart
+08020f20 g F .text 00000090 alt_onchip_flash_poll_for_status_to_go_idle
+0803eef8 g F .text 00000034 u_mctest_init
+0800fdac g F .text 00000060 __env_unlock
+08007984 g F .text 000000a4 _fwalk
+08016ec0 g F .text 000001b8 OSTaskResume
+08013590 g F .text 000000c8 OSMemQuery
+0803ff8c g F .text 00000134 convert_ip
+080233bc g F .text 0000016c find_oldest_arp
+0804cc38 g O .bss 00000004 arpReqsIn
+08040f38 g F .text 00000050 vf_free_buffer
+0800bf88 g F .text 0000000c _mbtowc_r
+080426f4 g F .text 00000124 alt_fcntl
+08015194 g F .text 00000160 OSQPostFront
+08028cd4 g F .text 00000034 dtrap
+0804cb20 g O .rwdata 00000004 kb_last
+080099dc g F .text 000000e0 putc
+080025dc g F .text 000001cc udpgen_test
+0800cf00 g F .text 00000080 .hidden __divsi3
+08018a80 g F .text 00000048 alt_tse_mac_set_common_speed
+0804cc0d g O .bss 00000003 OSRdyTbl
+08029640 g F .text 0000010c npalloc_base
+0802524c g F .text 000000b0 ip_exit
+080070a8 g F .text 0000011c _malloc_trim_r
+080469a8 g *ABS* 00000000 __CTOR_END__
+08020a80 g F .text 000004a0 altera_onchip_flash_init
+08000478 g F .text 00000080 check_arp
+08028e38 g F .text 0000005c cticks_hook
+080389b0 g F .text 00000038 sysuptime
+0800c224 g F .text 000000d8 strcmp
+080015c8 g F .text 000001b8 generate_and_store_mac_addr
+08014818 g F .text 000001a4 OSQCreate
+08028e94 g F .text 00000060 irq_Mask
+08016c2c g F .text 00000138 OSTaskNameGet
+0804ccfc g O .bss 00000004 nextppp
+0804cc84 g O .bss 00000004 irq_level
+08002904 g F .text 00000040 reload_fpga
+080247b4 g F .text 00000130 fixup_subnet_mask
+080152f4 g F .text 000001fc OSQPostOpt
+08010ad8 g F .text 000001c0 OSTimeTick
+0803b53c g F .text 0000012c ip_copypkt
+080469a8 g *ABS* 00000000 __DTOR_LIST__
+08015774 g F .text 000000d8 OSSemCreate
+0804cc64 g O .bss 00000004 igmp_all_hosts_group
+0802f8a4 g F .text 0000003c sbselqueue
+0804cc6c g O .bss 00000004 netmain_wakes
+08002b08 g F .text 00000074 led_toggle
+08014430 g F .text 0000014c OSMutexQuery
+080238e4 g F .text 00000264 arprcv
+080279e0 g F .text 00000074 TK_OSTaskResume
+08025e60 g F .text 000003b4 igmp_print_stats
+0800e300 g F .text 00000080 .hidden __nedf2
+08029914 g F .text 00000090 pffindtype
+080027a8 g F .text 00000098 swap_bytes
+0804cb38 g O .rwdata 00000004 tcp_sendspace
+08041fbc g F .text 0000010c vftell
+0805de34 g O .bss 00000012 eth_prt_buf
+08015e84 g F .text 000000f0 OSSemQuery
+080149bc g F .text 00000254 OSQDel
+08014efc g F .text 00000140 OSQPendAbort
+080177c8 g F .text 00000038 alt_irq_init
+08018a40 g F .text 00000040 alt_tse_mac_get_common_speed
+0805e1ac g O .bss 00000018 app_semaphore
+08037e30 g F .text 00000058 alt_release_fd
+08000000 g *ABS* 00000000 __alt_mem_ddr3_ram
+08020160 g F .text 0000003c alt_msgdma_standard_descriptor_sync_transfer
+08029368 g F .text 00000074 post_app_sem
+0802537c g F .text 000000a0 igmp_init
+08042af0 g F .text 00000014 memalign
+08042d98 g F .text 00000064 sprintf
+08047624 g O .rodata 00000100 .hidden __clz_tab
+0803f78c g F .text 00000078 md_fwrite
+0804cbc4 g O .bss 00000004 _PathLocale
+0804cb0c g O .rwdata 00000004 pingdata
+0804cc98 g O .bss 00000004 tcp_sleep_count
+0802a334 g F .text 0000007c insque
+08042a90 g F .text 00000014 atexit
+0804cd44 g O .bss 00000004 vfsfiles
+0800b970 g F .text 00000064 _write_r
+08045484 g F .text 0000004c _vsprintf_r
+0803d8a0 g F .text 00000294 udp_send
+08010908 g F .text 0000008c OSSchedLock
+0802565c g F .text 0000027c igmp_send
+0800bf10 g F .text 00000014 setlocale
+0801f3f0 g F .text 00000098 alt_msgdma_construct_prefetcher_extended_mm_to_st_descriptor
+08011e78 g F .text 000000f8 OSFlagCreate
+08028ef4 g F .text 00000044 irq_Unmask
+0802bc50 g F .text 000000d4 t_listen
+0801c9a0 g F .text 000000a0 PEF7071_link_status_read
+0804cabc g O .rwdata 00000004 _impure_ptr
+08000950 g F .text 00000714 control_step
+0804cbc8 g O .bss 00000004 alt_argc
+08035a14 g F .text 000006b8 tcp_usrreq
+080365b8 g F .text 00000238 udp_usrreq
+080298a0 g F .text 00000034 ncpalloc
+08006ab4 g F .text 00000228 __sflush_r
+080373a4 g F .text 00000060 _do_dtors
+0804cb6c g O .rwdata 00000004 pingdelay
+08022ef4 g F .text 00000074 arp_send_pending
+0803ddfc g F .text 00000268 igmpv1_input
+0800c058 g F .text 000001cc __srefill_r
+0802959c g F .text 0000004c pre_task_setup
+0804ccb8 g O .bss 00000004 rcvdq_sem_ptr
+08026454 g F .text 00000120 bsd_getsockname
+08001a54 g F .text 0000012c FindLastFlashSectorOffset
+08011f70 g F .text 0000021c OSFlagDel
+0804cc10 g O .bss 00000004 OSEventFreeList
+08000120 g .exceptions 00000000 alt_irq_entry
+0804cc30 g O .bss 00000004 arpcache
+08039a54 g F .text 000002d8 icmp_destun
+0800bf94 g F .text 00000044 __ascii_mbtowc
+0803c504 g F .text 00000064 lookup_mcast
+0804232c g F .text 00000048 vfslookup
+0803bf08 g F .text 000003a4 ip_demux
+0800946c g F .text 0000005c __ulp
+0804cc9c g O .bss 00000004 tcp_wakeup_count
+08012378 g F .text 00000598 OSFlagPend
+08007094 g F .text 00000014 __fp_unlock_all
+080292b4 g F .text 000000b4 wait_app_sem
+0804cb00 g O .rwdata 00000004 ipmcfail_str
+0804ccb0 g O .bss 00000004 memtrapsize
+08029d40 g F .text 000002d8 m_copy
+0804cb40 g O .rwdata 00000008 alt_fs_list
+0805e228 g O .bss 00000014 mfreeq
+080204dc g F .text 000002d8 alt_onchip_flash_write_block
+0801d758 g F .text 00000124 alt_qspi_controller_erase_block
+080117a0 g F .text 00000074 OS_StrCopy
+0802d1f8 g F .text 0000005c sobind
+0804cadc g O .rwdata 00000004 eth_tse_name
+0803f598 g F .text 00000050 init_memdev
+0802a3b0 g F .text 000000f4 nptcp_init
+08002abc g F .text 0000004c led_clear
+0805e07c g O .bss 000000f0 global_TCPwakeup_set
+08038678 g F .text 00000020 OSInitHookEnd
+0802f384 g F .text 000000c4 soisdisconnected
+08022e6c g F .text 00000088 arp_free_pending
+08007bfc g F .text 0000000c localeconv
+0802d434 g F .text 000002c8 soclose
+0805df6c g O .bss 00000014 bigfreeq
+08007c08 g F .text 00000098 __swhatbuf_r
+0804cb68 g O .rwdata 00000004 prompt
+0804cb30 g O .rwdata 00000004 tcp_keepidle
+0801bc08 g F .text 000001a8 alt_tse_phy_set_adv_10
+0802b124 g F .text 000001c4 rawip_soinput
+08037494 g F .text 00000050 alt_ic_isr_register
+08041e08 g F .text 00000060 vfwrite
+0802f640 g F .text 000000ac soqinsque
+0804cd1c g O .bss 00000004 so_evtmap_delete
+0804cb8c g *ABS* 00000000 _edata
+0801ca40 g F .text 00000060 altera_avalon_uart_read_fd
+08022aa8 g F .text 00000124 iniche_devices_init
+080207b4 g F .text 000002cc alt_onchip_flash_write
+0805e23c g O .bss 00000028 tcp_saveti
+08027544 g F .text 000000d8 con_page
+0805e59c g *ABS* 00000000 _end
+0802ec0c g F .text 00000520 sogetopt
+08001064 g F .text 0000008c ControlTask
+0800f7e4 g F .text 00000068 alt_flash_open_dev
+0804cc14 g O .bss 00000001 OSIntNesting
+08002c30 g F .text 00000008 _getchar_r
+0801aaa4 g F .text 00000240 alt_tse_mac_associate_phy
+0804c7b0 g O .rwdata 00000030 nettasks
+080287f4 g F .text 00000020 pk_get_max_intrsafe_buf_len
+0800bbec g F .text 00000150 __fputwc
+0803b370 g F .text 000001cc iproute
+0802ac18 g F .text 000000f0 np_stripoptions
+0804cd20 g O .bss 00000001 so_evtmap
+0801750c g F .text 000001cc OSTimeDlyResume
+0803cc7c g F .text 000003a4 add_route
+0801226c g F .text 0000010c OSFlagNameSet
+08024d64 g F .text 00000090 c_older
+0803002c g F .text 00000084 sbflush
+0803f610 g F .text 00000024 md_fclose
+08027ce4 g F .text 00000030 tk_yield
+0803756c g F .text 0000008c alt_ic_irq_disable
+0802d934 g F .text 00000560 sosend
+0803b028 g F .text 000000a4 ip_mymach
+0800a220 g F .text 00000080 __swrite
+08002840 g F .text 000000c4 swap_quad
+0804cc80 g O .bss 00000004 cticks_initialized
+0804cb70 g O .rwdata 00000004 deflength
+0802c9ac g F .text 000001f0 t_sendto
+0804cac4 g O .rwdata 00000004 __malloc_trim_threshold
+0804cc18 g O .bss 00000004 OSTCBCur
+0802d050 g F .text 000001a8 socreate
+08042abc g F .text 00000034 exit
+0805d998 g O .bss 00000100 arp_table
+08001b80 g F .text 00000088 sensor_command_bit
+08014238 g F .text 000001f8 OSMutexPost
+0804cd08 g O .bss 00000004 icmpdu_hook
+08007a28 g F .text 000000b4 _fwalk_reent
+0801f7c8 g F .text 00000110 alt_msgdma_prefetcher_set_std_list_own_by_hw_bits
+08038e38 g F .text 00000024 create_apptasks
+0804cb2c g O .rwdata 00000004 tcp_ttl
+080092b0 g F .text 000001bc __mdiff
+0800f84c g F .text 00000054 alt_flash_close_dev
+080298d4 g F .text 00000040 ncpfree
+0800cf80 g F .text 00000078 .hidden __modsi3
+08042b04 g F .text 00000194 _memalign_r
+0804cc48 g O .bss 00000004 MaxLnh
+08017e34 g F .text 00000050 tse_mac_setGMIImode
+0803fd7c g F .text 00000084 inet_ntop
+0803dd94 g F .text 00000024 udp_maxalloc
+0801c614 g F .text 000000e4 marvell_cfg_gmii
+10000000 g *ABS* 00000000 __alt_data_end
+08000120 g F .exceptions 00000000 alt_exception
+08007074 g F .text 00000004 __sfp_lock_release
+0801077c g F .text 00000050 OSInit
+0801ef68 g F .text 000000a8 alt_msgdma_construct_extended_mm_to_mm_descriptor
+0801ace4 g F .text 00000128 alt_tse_phy_cfg_pcs
+08017220 g F .text 000000ec OSTaskQuery
+080387c4 g F .text 0000008c icmp_port_du
+0804cce0 g O .bss 00000004 tcp_iss
+0801562c g F .text 000000a8 OS_QInit
+08042aa4 g F .text 0000000c atoi
+0804cb1c g O .rwdata 00000004 bigbufsiz
+08011814 g F .text 00000054 OS_StrLen
+0803521c g F .text 00000078 tcp_putseq
+08013404 g F .text 000000d4 OSMemNameSet
+080471d6 g O .rodata 00000101 _ctype_
+0802fc74 g F .text 000001dc sbappendaddr
+0804cd54 g O .bss 00000004 vfs_total_rw_space
+0800f558 g F .text 00000054 .hidden __unorddf2
+0803ed64 g F .text 00000110 ip_getmoptions
+0801ee48 g F .text 00000090 alt_msgdma_construct_extended_st_to_mm_descriptor
+0803db34 g F .text 000000f4 udpswap
+0804cc1c g O .bss 00000004 OSTime
+0804ccbc g O .bss 00000004 nextslow
+08035308 g F .text 0000025c tcp_slowtimo
+0801d020 g F .text 00000054 altera_avalon_uart_close
+08034f40 g F .text 0000010c tcp_newtcpcb
+08023b48 g F .text 0000017c send_via_arp
+0805bfac g O .bss 00000800 OSTaskIdleStk
+08046974 g F .text 00000034 _exit
+08042540 g F .text 00000058 isvfile_locked
+08026a74 g F .text 00000188 bsd_select
+0801218c g F .text 000000e0 OSFlagNameGet
+0803ddb8 g F .text 00000044 udp_free
+080288d8 g F .text 000000b8 getq
+08042694 g F .text 00000024 prep_vfs
+080176d8 g F .text 0000005c OSTimeGet
+0804cb64 g O .rwdata 00000004 name
+08030268 g F .text 00000100 sbdropend
+08007ca0 g F .text 0000013c __smakebuf_r
+08023cc4 g F .text 0000010c cb_arpent_tmo
+0804cae4 g O .rwdata 00000008 alt_msgdma_list
+08002dac g F .text 00000098 strlen
+0803e6b0 g F .text 00000114 IPADDR_TO_NETP
+080268fc g F .text 00000034 bsd_inet_ntoa
+080385ec g F .text 00000020 OSTaskSwHook
+08037948 g F .text 00000154 open
+08040254 g F .text 00000200 udp_open
+0805c7ac g O .bss 00000b40 OSEventTbl
+0802f7f4 g F .text 00000058 socantsendmore
+0804cd58 g O .bss 00000004 vfs_total_dyna_files
+0800e380 g F .text 000000f0 .hidden __gedf2
+08038060 g F .text 00000044 alt_uncached_free
+08037cc8 g F .text 00000030 alt_putchar
+0805d2ec g O .bss 00000288 OSTCBTbl
+0804cc3c g O .bss 00000004 arpReqsOut
+08015f74 g F .text 000000d8 OSSemSet
+0804cb88 g O .rwdata 00000004 http_root_path
+0804cb9c g O .bss 00000001 to_controltask
+0801da8c g F .text 000001e8 alt_qspi_controller_write
+0800a3f8 g F .text 00000018 __sprint_r
+08017c78 g F .text 00000070 tse_mac_aRxRead
+08042dfc g F .text 00000164 strchr
+0805de46 g O .bss 00000012 ipreturn
+0804cd10 g O .bss 00000004 port_prep
+0804c833 g O .rwdata 0000000d tcp_backoff
+0802f178 g F .text 00000070 soisconnecting
+080226c0 g F .text 00000138 allocate_rx_descriptor_chain
+0804cb58 g O .rwdata 00000004 alt_priority_mask
+0803e284 g F .text 000001c0 igmpv2_process_query
+080303f8 g F .text 000001d0 t_select
+08002b7c g F .text 0000004c led4_blink_enable
+0801584c g F .text 00000214 OSSemDel
+08000418 g F .text 00000060 control_process_snapshot
+08036e34 g F .text 00000128 udp4_sockaddr
+0804cc20 g O .bss 00000004 OSFlagFreeList
+0804081c g F .text 000001e0 in_pcbconnect
+0804ccd4 g O .bss 00000004 dropline
+080374e4 g F .text 00000088 alt_ic_irq_enable
+08004fa4 g F .text 00000018 __vfprintf_internal
+080278f4 g F .text 00000078 tk_netmain
+080409fc g F .text 0000005c in_pcbdisconnect
+0805d574 g O .bss 00000054 OSTCBPrioTbl
+0801d0b0 g F .text 00000268 altera_avalon_uart_read
+0800c3ec g F .text 0000000c _wctomb_r
+0800fce8 g F .text 000000c4 __env_lock
+0804c964 g O .rwdata 00000024 mdio
+08018ce8 g F .text 000000e0 alt_tse_mac_set_speed
+08026214 g F .text 00000120 bsd_accept
+0804cb3c g O .rwdata 00000004 tcp_recvspace
+0800ebec g F .text 0000096c .hidden __subdf3
+08046970 g F .text 00000004 _vfprintf_r
+0803637c g F .text 00000040 tcpinit
+0804cc68 g O .bss 00000004 igmp_all_rtrs_group
+0802b0c8 g F .text 0000005c rawip_lookup
+08038ed8 g F .text 000000a0 fcntl
+080008a4 g F .text 000000ac control_get_data
+08008d24 g F .text 000000b0 __lo0bits
+0802fe50 g F .text 000001dc sbcompress
+0804cb5c g O .rwdata 00000008 alt_alarm_list
+0803504c g F .text 0000009c tcp_drop
+08037344 g F .text 00000060 _do_ctors
+0801b9b4 g F .text 00000254 alt_tse_phy_set_adv_100
+080355c0 g F .text 00000454 tcp_timers
+080252fc g F .text 00000080 if_netnumber
+0803ee74 g F .text 00000084 ip_freemoptions
+0802f12c g F .text 0000004c sohasoutofband
+0800c368 g F .text 00000084 wcrtomb
+08031050 g F .text 00002214 tcp_input
+08026334 g F .text 00000120 bsd_getpeername
+08026930 g F .text 00000144 bsd_recvfrom
+08022a60 g F .text 00000048 close
+0804cbd8 g O .bss 00000004 alt_envsem
+0804c2ac g O .rwdata 0000016c __global_locale
+08010c98 g F .text 00000020 OSVersion
+08040db4 g F .text 0000002c set_vfopen_error
+08022408 g F .text 000002b8 tse_msgdma_read_init
+08018ac8 g F .text 0000006c alt_tse_get_system_index
+0804c810 g O .rwdata 00000018 rawip_protosw
+08001d58 g F .text 00000050 ss_initialize_connection
+0802f8e0 g F .text 0000006c sbwait
+08011258 g F .text 00000068 OS_EventWaitListInit
+0804cd00 g O .bss 00000004 port_1s_callout
+0800bd60 g F .text 0000007c fputwc
+08038698 g F .text 00000020 OSTaskIdleHook
+08042ca8 g F .text 00000010 free
+08007078 g F .text 00000004 __sinit_lock_acquire
+0804cc28 g O .bss 00000001 number_of_tse_mac
+08008a9c g F .text 00000114 __multadd
+08017078 g F .text 000001a8 OSTaskSuspend
+08008a78 g F .text 00000024 _Bfree
+08017b20 g F .text 00000030 no_printf
+0802f448 g F .text 000001f8 sonewconn
+08038f78 g F .text 00000adc icmprcv
+080299a4 g F .text 000000cc pffindproto
+08011868 g F .text 0000005c OS_TaskIdle
+080154f0 g F .text 0000013c OSQQuery
+
+
+
+Disassembly of section .entry:
+
+14000000 <__reset>:
+#if NIOS2_ICACHE_SIZE > 0 && defined(ALT_ALLOW_CODE_AT_RESET) && (!defined(ALT_SIM_OPTIMIZE) || defined(NIOS2_ECC_PRESENT))
+ /* Assume the instruction cache size is always a power of two. */
+#if NIOS2_ICACHE_SIZE > 0x8000
+ movhi r2, %hi(NIOS2_ICACHE_SIZE)
+#else
+ movui r2, NIOS2_ICACHE_SIZE
+14000000: 00820014 movui r2,2048
+#endif
+
+0:
+ initi r2
+14000004: 1001483a initi r2
+ addi r2, r2, -NIOS2_ICACHE_LINE_SIZE
+14000008: 10bff804 addi r2,r2,-32
+ bgt r2, zero, 0b
+1400000c: 00bffd16 blt zero,r2,14000004 <__reset+0x4>
+ * Jump to the _start entry point in the .text section if reset code
+ * is allowed or if optimizing for RTL simulation.
+ */
+#if defined(ALT_ALLOW_CODE_AT_RESET) || defined(ALT_SIM_OPTIMIZE)
+ /* Jump to the _start entry point in the .text section. */
+ movhi r1, %hi(_start)
+14000010: 00420034 movhi at,2048
+ ori r1, r1, %lo(_start)
+14000014: 0840ce14 ori at,at,824
+ jmp r1
+14000018: 0800683a jmp at
+1400001c: 00000000 call 10000000 <__alt_data_end>
+
+Disassembly of section .exceptions:
+
+08000120 :
+
+#else /* ALT_EXCEPTION_STACK disabled */
+ /*
+ * Reserve space on normal stack for registers about to be pushed.
+ */
+ addi sp, sp, -76
+ 8000120: deffed04 addi sp,sp,-76
+ * documentation for details).
+ *
+ * Leave a gap in the stack frame at 4(sp) for the muldiv handler to
+ * store zero into.
+ */
+ stw ra, 0(sp)
+ 8000124: dfc00015 stw ra,0(sp)
+ stw r1, 8(sp)
+ 8000128: d8400215 stw at,8(sp)
+ stw r2, 12(sp)
+ 800012c: d8800315 stw r2,12(sp)
+ stw r3, 16(sp)
+ 8000130: d8c00415 stw r3,16(sp)
+ stw r4, 20(sp)
+ 8000134: d9000515 stw r4,20(sp)
+ stw r5, 24(sp)
+ 8000138: d9400615 stw r5,24(sp)
+ stw r6, 28(sp)
+ 800013c: d9800715 stw r6,28(sp)
+ stw r7, 32(sp)
+ 8000140: d9c00815 stw r7,32(sp)
+ rdctl r5, estatus /* Read early to avoid usage stall */
+ 8000144: 000b307a rdctl r5,estatus
+ stw r8, 36(sp)
+ 8000148: da000915 stw r8,36(sp)
+ stw r9, 40(sp)
+ 800014c: da400a15 stw r9,40(sp)
+ stw r10, 44(sp)
+ 8000150: da800b15 stw r10,44(sp)
+ stw r11, 48(sp)
+ 8000154: dac00c15 stw r11,48(sp)
+ stw r12, 52(sp)
+ 8000158: db000d15 stw r12,52(sp)
+ stw r13, 56(sp)
+ 800015c: db400e15 stw r13,56(sp)
+ stw r14, 60(sp)
+ 8000160: db800f15 stw r14,60(sp)
+ stw r15, 64(sp)
+ 8000164: dbc01015 stw r15,64(sp)
+ /*
+ * ea-4 contains the address of the instruction being executed
+ * when the exception occured. For interrupt exceptions, we will
+ * will be re-issue the isntruction. Store it in 72(sp)
+ */
+ stw r5, 68(sp) /* estatus */
+ 8000168: d9401115 stw r5,68(sp)
+ addi r15, ea, -4 /* instruction that caused exception */
+ 800016c: ebffff04 addi r15,ea,-4
+ stw r15, 72(sp)
+ 8000170: dbc01215 stw r15,72(sp)
+#else
+ /*
+ * Test to see if the exception was a software exception or caused
+ * by an external interrupt, and vector accordingly.
+ */
+ rdctl r4, ipending
+ 8000174: 0009313a rdctl r4,ipending
+ andi r2, r5, 1
+ 8000178: 2880004c andi r2,r5,1
+ beq r2, zero, .Lnot_irq
+ 800017c: 10000326 beq r2,zero,800018c
+ beq r4, zero, .Lnot_irq
+ 8000180: 20000226 beq r4,zero,800018c
+ /*
+ * Now that all necessary registers have been preserved, call
+ * alt_irq_handler() to process the interrupts.
+ */
+
+ call alt_irq_handler
+ 8000184: 80001fc0 call 80001fc
+
+ .section .exceptions.irqreturn, "xa"
+
+ br .Lexception_exit
+ 8000188: 00000706 br 80001a8
+ * upon completion, so we write ea (address of instruction *after*
+ * the one where the exception occured) into 72(sp). The actual
+ * instruction that caused the exception is written in r2, which these
+ * handlers will utilize.
+ */
+ stw ea, 72(sp) /* EA is PC+4 so will skip over instruction causing exception */
+ 800018c: df401215 stw ea,72(sp)
+.Lunknown_16bit:
+ addi.n r4, r4, 2 /* Need PC+2 to skip over instruction causing exception */
+ stw r4, 72(sp)
+
+#else /* CDX is not Enabled and all instructions are 32bits */
+ ldw r2, -4(ea) /* Instruction value that caused exception */
+ 8000190: e8bfff17 ldw r2,-4(ea)
+ * debugger is present) or go into an infinite loop since the
+ * handling behavior is undefined; in that case we will not return here.
+ */
+
+ /* Load exception-causing address as first argument (r4) */
+ addi r4, ea, -4
+ 8000194: e93fff04 addi r4,ea,-4
+
+ /* Call the instruction-exception entry */
+ call alt_instruction_exception_entry
+ 8000198: 80002c40 call 80002c4
+ * instruction
+ *
+ * Return code was 0: Skip. The instruction after the exception is
+ * already stored in 72(sp).
+ */
+ bne r2, r0, .Lexception_exit
+ 800019c: 1000021e bne r2,zero,80001a8
+
+ /*
+ * Otherwise, modify 72(sp) to re-issue the instruction that caused the
+ * exception.
+ */
+ addi r15, ea, -4 /* instruction that caused exception */
+ 80001a0: ebffff04 addi r15,ea,-4
+ stw r15, 72(sp)
+ 80001a4: dbc01215 stw r15,72(sp)
+ /*
+ * Restore the saved registers, so that all general purpose registers
+ * have been restored to their state at the time the interrupt occured.
+ */
+
+ ldw r5, 68(sp)
+ 80001a8: d9401117 ldw r5,68(sp)
+ ldw ea, 72(sp) /* This becomes the PC once eret is executed */
+ 80001ac: df401217 ldw ea,72(sp)
+ ldw ra, 0(sp)
+ 80001b0: dfc00017 ldw ra,0(sp)
+
+ wrctl estatus, r5
+ 80001b4: 2801707a wrctl estatus,r5
+
+ ldw r1, 8(sp)
+ 80001b8: d8400217 ldw at,8(sp)
+ ldw r2, 12(sp)
+ 80001bc: d8800317 ldw r2,12(sp)
+ ldw r3, 16(sp)
+ 80001c0: d8c00417 ldw r3,16(sp)
+ ldw r4, 20(sp)
+ 80001c4: d9000517 ldw r4,20(sp)
+ ldw r5, 24(sp)
+ 80001c8: d9400617 ldw r5,24(sp)
+ ldw r6, 28(sp)
+ 80001cc: d9800717 ldw r6,28(sp)
+ ldw r7, 32(sp)
+ 80001d0: d9c00817 ldw r7,32(sp)
+
+#if defined(ALT_EXCEPTION_STACK) && defined(ALT_STACK_CHECK)
+ ldw et, %gprel(alt_exception_old_stack_limit)(gp)
+#endif
+
+ ldw r8, 36(sp)
+ 80001d4: da000917 ldw r8,36(sp)
+ ldw r9, 40(sp)
+ 80001d8: da400a17 ldw r9,40(sp)
+ ldw r10, 44(sp)
+ 80001dc: da800b17 ldw r10,44(sp)
+ ldw r11, 48(sp)
+ 80001e0: dac00c17 ldw r11,48(sp)
+ ldw r12, 52(sp)
+ 80001e4: db000d17 ldw r12,52(sp)
+ ldw r13, 56(sp)
+ 80001e8: db400e17 ldw r13,56(sp)
+ ldw r14, 60(sp)
+ 80001ec: db800f17 ldw r14,60(sp)
+ ldw r15, 64(sp)
+ 80001f0: dbc01017 ldw r15,64(sp)
+ stw et, %gprel(alt_stack_limit_value)(gp)
+ stw zero, %gprel(alt_exception_old_stack_limit)(gp)
+#endif /* ALT_STACK_CHECK */
+ ldw sp, 76(sp)
+#else /* ALT_EXCEPTION_STACK disabled */
+ addi sp, sp, 76
+ 80001f4: dec01304 addi sp,sp,76
+
+ /*
+ * Return to the interrupted instruction.
+ */
+
+ eret
+ 80001f8: ef80083a eret
+
+080001fc :
+ * instruction is present if the macro ALT_CI_INTERRUPT_VECTOR defined.
+ */
+
+void alt_irq_handler (void) __attribute__ ((section (".exceptions")));
+void alt_irq_handler (void)
+{
+ 80001fc: defff904 addi sp,sp,-28
+ 8000200: dfc00615 stw ra,24(sp)
+ 8000204: df000515 stw fp,20(sp)
+ 8000208: df000504 addi fp,sp,20
+
+ /*
+ * Notify the operating system that we are at interrupt level.
+ */
+
+ ALT_OS_INT_ENTER();
+ 800020c: 80107cc0 call 80107cc
+#ifndef NIOS2_EIC_PRESENT
+static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void)
+{
+ alt_u32 active;
+
+ NIOS2_READ_IPENDING (active);
+ 8000210: 0005313a rdctl r2,ipending
+ 8000214: e0bffc15 stw r2,-16(fp)
+
+ return active;
+ 8000218: e0bffc17 ldw r2,-16(fp)
+ * Consider the case where the high priority interupt is asserted during
+ * the interrupt entry sequence for a lower priority interrupt to see why
+ * this is the case.
+ */
+
+ active = alt_irq_pending ();
+ 800021c: e0bfff15 stw r2,-4(fp)
+
+ do
+ {
+ i = 0;
+ 8000220: e03ffd15 stw zero,-12(fp)
+ mask = 1;
+ 8000224: 00800044 movi r2,1
+ 8000228: e0bffe15 stw r2,-8(fp)
+ * called to clear the interrupt condition.
+ */
+
+ do
+ {
+ if (active & mask)
+ 800022c: e0ffff17 ldw r3,-4(fp)
+ 8000230: e0bffe17 ldw r2,-8(fp)
+ 8000234: 1884703a and r2,r3,r2
+ 8000238: 10001126 beq r2,zero,8000280
+ {
+#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
+ alt_irq[i].handler(alt_irq[i].context);
+ 800023c: e0bffd17 ldw r2,-12(fp)
+ 8000240: 100690fa slli r3,r2,3
+ 8000244: 008201b4 movhi r2,2054
+ 8000248: 1885883a add r2,r3,r2
+ 800024c: 10f8dc17 ldw r3,-7312(r2)
+ 8000250: e0bffd17 ldw r2,-12(fp)
+ 8000254: 100890fa slli r4,r2,3
+ 8000258: 008201b4 movhi r2,2054
+ 800025c: 2085883a add r2,r4,r2
+ 8000260: 10b8dd17 ldw r2,-7308(r2)
+ 8000264: 1009883a mov r4,r2
+ 8000268: 183ee83a callr r3
+#else
+ alt_irq[i].handler(alt_irq[i].context, i);
+#endif
+ break;
+ 800026c: 0001883a nop
+ NIOS2_READ_IPENDING (active);
+ 8000270: 0005313a rdctl r2,ipending
+ 8000274: e0bffb15 stw r2,-20(fp)
+ return active;
+ 8000278: e0bffb17 ldw r2,-20(fp)
+ 800027c: 00000706 br 800029c
+ }
+ mask <<= 1;
+ 8000280: e0bffe17 ldw r2,-8(fp)
+ 8000284: 1085883a add r2,r2,r2
+ 8000288: e0bffe15 stw r2,-8(fp)
+ i++;
+ 800028c: e0bffd17 ldw r2,-12(fp)
+ 8000290: 10800044 addi r2,r2,1
+ 8000294: e0bffd15 stw r2,-12(fp)
+ if (active & mask)
+ 8000298: 003fe406 br 800022c
+
+ } while (1);
+
+ active = alt_irq_pending ();
+ 800029c: e0bfff15 stw r2,-4(fp)
+
+ } while (active);
+ 80002a0: e0bfff17 ldw r2,-4(fp)
+ 80002a4: 103fde1e bne r2,zero,8000220
+
+ /*
+ * Notify the operating system that interrupt processing is complete.
+ */
+
+ ALT_OS_INT_EXIT();
+ 80002a8: 80108180 call 8010818
+}
+ 80002ac: 0001883a nop
+ 80002b0: e037883a mov sp,fp
+ 80002b4: dfc00117 ldw ra,4(sp)
+ 80002b8: df000017 ldw fp,0(sp)
+ 80002bc: dec00204 addi sp,sp,8
+ 80002c0: f800283a ret
+
+080002c4 :
+ * that handler if it has been registered. Absent a handler, it will
+ * break break or hang as discussed below.
+ */
+int
+alt_instruction_exception_entry (alt_u32 exception_pc)
+{
+ 80002c4: defffb04 addi sp,sp,-20
+ 80002c8: dfc00415 stw ra,16(sp)
+ 80002cc: df000315 stw fp,12(sp)
+ 80002d0: df000304 addi fp,sp,12
+ 80002d4: e13ffd15 stw r4,-12(fp)
+ * NIOS2_EXCEPTION_CAUSE_NOT_PRESENT. Your handling routine should
+ * check the validity of the cause argument before proceeding.
+ */
+#ifdef NIOS2_HAS_EXTRA_EXCEPTION_INFO
+ /* Get exception cause & "badaddr" */
+ NIOS2_READ_EXCEPTION(cause);
+ 80002d8: 000531fa rdctl r2,exception
+ 80002dc: e0bfff15 stw r2,-4(fp)
+ cause = ( (cause & NIOS2_EXCEPTION_REG_CAUSE_MASK) >>
+ 80002e0: e0bfff17 ldw r2,-4(fp)
+ 80002e4: 1004d0ba srli r2,r2,2
+ 80002e8: 108007cc andi r2,r2,31
+ 80002ec: e0bfff15 stw r2,-4(fp)
+ NIOS2_EXCEPTION_REG_CAUSE_OFST );
+
+ NIOS2_READ_BADADDR(badaddr);
+ 80002f0: 0005333a rdctl r2,badaddr
+ 80002f4: e0bffe15 stw r2,-8(fp)
+#else
+ cause = NIOS2_EXCEPTION_CAUSE_NOT_PRESENT;
+ badaddr = 0;
+#endif /* NIOS2_HAS_EXTRA_EXCEPTION_INFO */
+
+ if(alt_instruction_exception_handler) {
+ 80002f8: d0a0a917 ldw r2,-32092(gp)
+ 80002fc: 10000726 beq r2,zero,800031c
+ * Call handler. Its return value indicates whether the exception-causing
+ * instruction should be re-issued. The code that called us,
+ * alt_eceptions_entry.S, will look at this value and adjust the ea
+ * register as necessary
+ */
+ return alt_instruction_exception_handler(cause, exception_pc, badaddr);
+ 8000300: d0a0a917 ldw r2,-32092(gp)
+ 8000304: e0ffff17 ldw r3,-4(fp)
+ 8000308: e1bffe17 ldw r6,-8(fp)
+ 800030c: e17ffd17 ldw r5,-12(fp)
+ 8000310: 1809883a mov r4,r3
+ 8000314: 103ee83a callr r2
+ 8000318: 00000206 br 8000324
+ * (a peripheral which negates its interrupt output before its
+ * interrupt handler has been executed will cause spurious interrupts)
+ */
+ else {
+#ifdef NIOS2_HAS_DEBUG_STUB
+ NIOS2_BREAK();
+ 800031c: 003da03a break 0
+ ;
+#endif /* NIOS2_HAS_DEBUG_STUB */
+ }
+
+ /* We should not get here. Remove compiler warning. */
+ return NIOS2_EXCEPTION_RETURN_REISSUE_INST;
+ 8000320: 0005883a mov r2,zero
+}
+ 8000324: e037883a mov sp,fp
+ 8000328: dfc00117 ldw ra,4(sp)
+ 800032c: df000017 ldw fp,0(sp)
+ 8000330: dec00204 addi sp,sp,8
+ 8000334: f800283a ret
+
+Disassembly of section .text:
+
+08000338 <_start>:
+
+ /* Assume the data cache size is always a power of two. */
+#if NIOS2_DCACHE_SIZE > 0x8000
+ movhi r2, %hi(NIOS2_DCACHE_SIZE)
+#else
+ movui r2, NIOS2_DCACHE_SIZE
+ 8000338: 00820014 movui r2,2048
+#endif
+
+0:
+ initd 0(r2)
+ 800033c: 10000033 initd 0(r2)
+#ifdef NIOS2_ECC_PRESENT
+ addi r2, r2, -4
+#else
+ addi r2, r2, -NIOS2_DCACHE_LINE_SIZE
+ 8000340: 10bff804 addi r2,r2,-32
+#endif
+ bgt r2, zero, 0b
+ 8000344: 00bffd16 blt zero,r2,800033c <_start+0x4>
+
+ /*
+ * Now that the caches are initialized, set up the stack pointer and global pointer.
+ * The values provided by the linker are assumed to be correctly aligned.
+ */
+ movhi sp, %hi(__alt_stack_pointer)
+ 8000348: 06c40034 movhi sp,4096
+ ori sp, sp, %lo(__alt_stack_pointer)
+ 800034c: dec00014 ori sp,sp,0
+ movhi gp, %hi(_gp)
+ 8000350: 06820174 movhi gp,2053
+ ori gp, gp, %lo(_gp)
+ 8000354: d692ae14 ori gp,gp,19128
+ */
+#ifndef ALT_SIM_OPTIMIZE
+ /* Log that the BSS is about to be cleared. */
+ ALT_LOG_PUTS(alt_log_msg_bss)
+
+ movhi r2, %hi(__bss_start)
+ 8000358: 00820134 movhi r2,2052
+ ori r2, r2, %lo(__bss_start)
+ 800035c: 10b2e314 ori r2,r2,52108
+
+ movhi r3, %hi(__bss_end)
+ 8000360: 00c20174 movhi r3,2053
+ ori r3, r3, %lo(__bss_end)
+ 8000364: 18f96714 ori r3,r3,58780
+
+ beq r2, r3, 1f
+ 8000368: 10c00326 beq r2,r3,8000378 <_start+0x40>
+
+0:
+ stw zero, (r2)
+ 800036c: 10000015 stw zero,0(r2)
+ addi r2, r2, 4
+ 8000370: 10800104 addi r2,r2,4
+ bltu r2, r3, 0b
+ 8000374: 10fffd36 bltu r2,r3,800036c <_start+0x34>
+
+ /* Log that alt_main is about to be called. */
+ ALT_LOG_PUTS(alt_log_msg_alt_main)
+
+ /* Call the C entry point. It should never return. */
+ call alt_main
+ 8000378: 800fb7c0 call 800fb7c
+
+0800037c :
+
+ /* Wait in infinite loop in case alt_main does return. */
+alt_after_alt_main:
+ br alt_after_alt_main
+ 800037c: 003fff06 br 800037c
+
+08000380 :
+extern NET nets[MAXNETS]; /* pointers to the static network structs */
+
+// ****************************
+
+void control_delay()
+{
+ 8000380: defffe04 addi sp,sp,-8
+ 8000384: dfc00115 stw ra,4(sp)
+ 8000388: df000015 stw fp,0(sp)
+ 800038c: d839883a mov fp,sp
+ TK_SLEEP(1);
+ 8000390: 01000084 movi r4,2
+ 8000394: 801730c0 call 801730c
+}
+ 8000398: 0001883a nop
+ 800039c: e037883a mov sp,fp
+ 80003a0: dfc00117 ldw ra,4(sp)
+ 80003a4: df000017 ldw fp,0(sp)
+ 80003a8: dec00204 addi sp,sp,8
+ 80003ac: f800283a ret
+
+080003b0 :
+
+// ****************************
+
+ //simple reply
+void control_pong(command_header* header)
+{
+ 80003b0: defffb04 addi sp,sp,-20
+ 80003b4: dfc00415 stw ra,16(sp)
+ 80003b8: df000315 stw fp,12(sp)
+ 80003bc: df000304 addi fp,sp,12
+ 80003c0: e13ffd15 stw r4,-12(fp)
+ command_header tmp;
+ tmp = *header;
+ 80003c4: e0bffd17 ldw r2,-12(fp)
+ 80003c8: 10c0000b ldhu r3,0(r2)
+ 80003cc: e0fffe8d sth r3,-6(fp)
+ 80003d0: 10c0008b ldhu r3,2(r2)
+ 80003d4: e0ffff0d sth r3,-4(fp)
+ 80003d8: 1080010b ldhu r2,4(r2)
+ 80003dc: e0bfff8d sth r2,-2(fp)
+ swap_bytes((char*)(void*)(&tmp), sizeof(tmp));
+ 80003e0: e0bffe84 addi r2,fp,-6
+ 80003e4: 01400184 movi r5,6
+ 80003e8: 1009883a mov r4,r2
+ 80003ec: 80027a80 call 80027a8
+ ethernet_write(0, sizeof(command_header), (unsigned char*)(header));
+ 80003f0: e1bffd17 ldw r6,-12(fp)
+ 80003f4: 01400184 movi r5,6
+ 80003f8: 0009883a mov r4,zero
+ 80003fc: 800220c0 call 800220c
+}
+ 8000400: 0001883a nop
+ 8000404: e037883a mov sp,fp
+ 8000408: dfc00117 ldw ra,4(sp)
+ 800040c: df000017 ldw fp,0(sp)
+ 8000410: dec00204 addi sp,sp,8
+ 8000414: f800283a ret
+
+08000418 :
+
+void control_process_snapshot()
+{
+ 8000418: defffc04 addi sp,sp,-16
+ 800041c: dfc00315 stw ra,12(sp)
+ 8000420: df000215 stw fp,8(sp)
+ 8000424: df000204 addi fp,sp,8
+ command_header header = {.marker = 0x5555, .command = COMMAND_SLOWCTRL_SNAPSHOT,
+ 8000428: 00955544 movi r2,21845
+ 800042c: e0bffe8d sth r2,-6(fp)
+ 8000430: 00810404 movi r2,1040
+ 8000434: e0bfff0d sth r2,-4(fp)
+ 8000438: e03fff8d sth zero,-2(fp)
+ .length = 0}; //SLOWCTRL_ADC_CHANNEL_COUNT * sizeof(SLOWCTRL_ADC_DATA_TYPE) / sizeof(unsigned short)};
+ swap_bytes((char*)(void*)(&header), sizeof(header));
+ 800043c: e0bffe84 addi r2,fp,-6
+ 8000440: 01400184 movi r5,6
+ 8000444: 1009883a mov r4,r2
+ 8000448: 80027a80 call 80027a8
+ ethernet_write(0, sizeof(command_header), (unsigned char*)(&header));
+ 800044c: e0bffe84 addi r2,fp,-6
+ 8000450: 100d883a mov r6,r2
+ 8000454: 01400184 movi r5,6
+ 8000458: 0009883a mov r4,zero
+ 800045c: 800220c0 call 800220c
+ //ethernet_write(0, SLOWCTRL_ADC_CHANNEL_COUNT*sizeof(SLOWCTRL_ADC_DATA_TYPE), (unsigned char*)slowctrl_adc_buffer);
+}
+ 8000460: 0001883a nop
+ 8000464: e037883a mov sp,fp
+ 8000468: dfc00117 ldw ra,4(sp)
+ 800046c: df000017 ldw fp,0(sp)
+ 8000470: dec00204 addi sp,sp,8
+ 8000474: f800283a ret
+
+08000478 :
+
+ //helper for the one below
+int check_arp(struct arptabent * arp_entry, ip_addr ip)
+{
+ 8000478: defffc04 addi sp,sp,-16
+ 800047c: df000315 stw fp,12(sp)
+ 8000480: df000304 addi fp,sp,12
+ 8000484: e13ffe15 stw r4,-8(fp)
+ 8000488: e17ffd15 stw r5,-12(fp)
+ if (arp_entry->t_pro_addr != ip)
+ 800048c: e0bffe17 ldw r2,-8(fp)
+ 8000490: 10800017 ldw r2,0(r2)
+ 8000494: e0fffd17 ldw r3,-12(fp)
+ 8000498: 18800226 beq r3,r2,80004a4
+ return 0; //bad IP
+ 800049c: 0005883a mov r2,zero
+ 80004a0: 00001106 br 80004e8
+
+ for (int i = 0; i < 6; i++)
+ 80004a4: e03fff15 stw zero,-4(fp)
+ 80004a8: 00000b06 br 80004d8
+ if (arp_entry->t_phy_addr[i] != 0)
+ 80004ac: e0fffe17 ldw r3,-8(fp)
+ 80004b0: e0bfff17 ldw r2,-4(fp)
+ 80004b4: 1885883a add r2,r3,r2
+ 80004b8: 10800103 ldbu r2,4(r2)
+ 80004bc: 10803fcc andi r2,r2,255
+ 80004c0: 10000226 beq r2,zero,80004cc
+ return 1; //non-zero MAC
+ 80004c4: 00800044 movi r2,1
+ 80004c8: 00000706 br 80004e8
+ for (int i = 0; i < 6; i++)
+ 80004cc: e0bfff17 ldw r2,-4(fp)
+ 80004d0: 10800044 addi r2,r2,1
+ 80004d4: e0bfff15 stw r2,-4(fp)
+ 80004d8: e0bfff17 ldw r2,-4(fp)
+ 80004dc: 10800190 cmplti r2,r2,6
+ 80004e0: 103ff21e bne r2,zero,80004ac
+
+ return 0;
+ 80004e4: 0005883a mov r2,zero
+}
+ 80004e8: e037883a mov sp,fp
+ 80004ec: df000017 ldw fp,0(sp)
+ 80004f0: dec00104 addi sp,sp,4
+ 80004f4: f800283a ret
+
+080004f8 :
+
+void control_process_config_peer(unsigned short* data)
+{
+ 80004f8: defff104 addi sp,sp,-60
+ 80004fc: dfc00e15 stw ra,56(sp)
+ 8000500: df000d15 stw fp,52(sp)
+ 8000504: df000d04 addi fp,sp,52
+ 8000508: e13ff615 stw r4,-40(fp)
+ ip_addr ip = 0;
+ 800050c: e03ffa15 stw zero,-24(fp)
+ ip_addr srcip = 0;
+ 8000510: e03ff915 stw zero,-28(fp)
+ int i;
+ command_header header = {.marker = 0x5555, .command = COMMAND_DAQ_CONFIG_PEER, .length = 0};
+ 8000514: 00955544 movi r2,21845
+ 8000518: e0bff78d sth r2,-34(fp)
+ 800051c: 0080cc44 movi r2,817
+ 8000520: e0bff80d sth r2,-32(fp)
+ 8000524: e03ff88d sth zero,-30(fp)
+
+ for (i = 0; i < 4; i++)
+ 8000528: e03fff15 stw zero,-4(fp)
+ 800052c: 00001006 br 8000570
+ ip = (ip << 8) | (unsigned char)(data[3-i] & 0x00FF);
+ 8000530: e0bffa17 ldw r2,-24(fp)
+ 8000534: 1006923a slli r3,r2,8
+ 8000538: 010000c4 movi r4,3
+ 800053c: e0bfff17 ldw r2,-4(fp)
+ 8000540: 2085c83a sub r2,r4,r2
+ 8000544: 1085883a add r2,r2,r2
+ 8000548: 1009883a mov r4,r2
+ 800054c: e0bff617 ldw r2,-40(fp)
+ 8000550: 1105883a add r2,r2,r4
+ 8000554: 1080000b ldhu r2,0(r2)
+ 8000558: 10803fcc andi r2,r2,255
+ 800055c: 1884b03a or r2,r3,r2
+ 8000560: e0bffa15 stw r2,-24(fp)
+ for (i = 0; i < 4; i++)
+ 8000564: e0bfff17 ldw r2,-4(fp)
+ 8000568: 10800044 addi r2,r2,1
+ 800056c: e0bfff15 stw r2,-4(fp)
+ 8000570: e0bfff17 ldw r2,-4(fp)
+ 8000574: 10800110 cmplti r2,r2,4
+ 8000578: 103fed1e bne r2,zero,8000530
+
+ //daq_configure_peer_addr(ip, data[4]);
+
+ printf("Querying ARP for %d.%d.%d.%d ...\n",data[0],data[1],data[2],data[3]);
+ 800057c: e0bff617 ldw r2,-40(fp)
+ 8000580: 1080000b ldhu r2,0(r2)
+ 8000584: 10ffffcc andi r3,r2,65535
+ 8000588: e0bff617 ldw r2,-40(fp)
+ 800058c: 10800084 addi r2,r2,2
+ 8000590: 1080000b ldhu r2,0(r2)
+ 8000594: 113fffcc andi r4,r2,65535
+ 8000598: e0bff617 ldw r2,-40(fp)
+ 800059c: 10800104 addi r2,r2,4
+ 80005a0: 1080000b ldhu r2,0(r2)
+ 80005a4: 117fffcc andi r5,r2,65535
+ 80005a8: e0bff617 ldw r2,-40(fp)
+ 80005ac: 10800184 addi r2,r2,6
+ 80005b0: 1080000b ldhu r2,0(r2)
+ 80005b4: 10bfffcc andi r2,r2,65535
+ 80005b8: d8800015 stw r2,0(sp)
+ 80005bc: 280f883a mov r7,r5
+ 80005c0: 200d883a mov r6,r4
+ 80005c4: 180b883a mov r5,r3
+ 80005c8: 01020134 movhi r4,2052
+ 80005cc: 211a6a04 addi r4,r4,27048
+ 80005d0: 8002c780 call 8002c78
+
+ struct arptabent * arp_entry = find_oldest_arp(ip);
+ 80005d4: e0bffa17 ldw r2,-24(fp)
+ 80005d8: 1009883a mov r4,r2
+ 80005dc: 80233bc0 call 80233bc
+ 80005e0: e0bffe15 stw r2,-8(fp)
+
+ int pingseq = 0;
+ 80005e4: e03ffd15 stw zero,-12(fp)
+ while (!check_arp(arp_entry, ip)) //big loop for pinging 10 times
+ 80005e8: 00002606 br 8000684
+ {
+ printf("ARP entry could not be found, pinging!\n");
+ 80005ec: 01020134 movhi r4,2052
+ 80005f0: 211a7304 addi r4,r4,27084
+ 80005f4: 8002d9c0 call 8002d9c
+ //ping the peer to ARP it.
+ icmpEcho(ip, NULL, 8, pingseq++);
+ 80005f8: e13ffa17 ldw r4,-24(fp)
+ 80005fc: e0bffd17 ldw r2,-12(fp)
+ 8000600: 10c00044 addi r3,r2,1
+ 8000604: e0fffd15 stw r3,-12(fp)
+ 8000608: 10bfffcc andi r2,r2,65535
+ 800060c: 100f883a mov r7,r2
+ 8000610: 01800204 movi r6,8
+ 8000614: 000b883a mov r5,zero
+ 8000618: 8027f0c0 call 8027f0c
+
+ for (int i = 0; (i < 5) && (!check_arp(arp_entry, ip)); i++) //small loop for waiting 5 times after each ping
+ 800061c: e03ffc15 stw zero,-16(fp)
+ 8000620: 00000906 br 8000648
+ {
+ TK_SLEEP(10);
+ 8000624: 010002c4 movi r4,11
+ 8000628: 801730c0 call 801730c
+ arp_entry = find_oldest_arp(ip);
+ 800062c: e0bffa17 ldw r2,-24(fp)
+ 8000630: 1009883a mov r4,r2
+ 8000634: 80233bc0 call 80233bc
+ 8000638: e0bffe15 stw r2,-8(fp)
+ for (int i = 0; (i < 5) && (!check_arp(arp_entry, ip)); i++) //small loop for waiting 5 times after each ping
+ 800063c: e0bffc17 ldw r2,-16(fp)
+ 8000640: 10800044 addi r2,r2,1
+ 8000644: e0bffc15 stw r2,-16(fp)
+ 8000648: e0bffc17 ldw r2,-16(fp)
+ 800064c: 10800148 cmpgei r2,r2,5
+ 8000650: 1000051e bne r2,zero,8000668
+ 8000654: e0bffa17 ldw r2,-24(fp)
+ 8000658: 100b883a mov r5,r2
+ 800065c: e13ffe17 ldw r4,-8(fp)
+ 8000660: 80004780 call 8000478
+ 8000664: 103fef26 beq r2,zero,8000624
+ }
+
+ if (pingseq > 10)
+ 8000668: e0bffd17 ldw r2,-12(fp)
+ 800066c: 108002d0 cmplti r2,r2,11
+ 8000670: 1000041e bne r2,zero,8000684
+ {
+ printf("Could not resolve MAC! The result below is random!\n");
+ 8000674: 01020134 movhi r4,2052
+ 8000678: 211a7d04 addi r4,r4,27124
+ 800067c: 8002d9c0 call 8002d9c
+ break;
+ 8000680: 00000506 br 8000698
+ while (!check_arp(arp_entry, ip)) //big loop for pinging 10 times
+ 8000684: e0bffa17 ldw r2,-24(fp)
+ 8000688: 100b883a mov r5,r2
+ 800068c: e13ffe17 ldw r4,-8(fp)
+ 8000690: 80004780 call 8000478
+ 8000694: 103fd526 beq r2,zero,80005ec
+ }
+ }
+
+ printf("Peer MAC is %02x %02x %02x %02x %02x %02x\n",
+ arp_entry->t_phy_addr[0], arp_entry->t_phy_addr[1], arp_entry->t_phy_addr[2],
+ 8000698: e0bffe17 ldw r2,-8(fp)
+ 800069c: 10800103 ldbu r2,4(r2)
+ printf("Peer MAC is %02x %02x %02x %02x %02x %02x\n",
+ 80006a0: 11403fcc andi r5,r2,255
+ arp_entry->t_phy_addr[0], arp_entry->t_phy_addr[1], arp_entry->t_phy_addr[2],
+ 80006a4: e0bffe17 ldw r2,-8(fp)
+ 80006a8: 10800143 ldbu r2,5(r2)
+ printf("Peer MAC is %02x %02x %02x %02x %02x %02x\n",
+ 80006ac: 11803fcc andi r6,r2,255
+ arp_entry->t_phy_addr[0], arp_entry->t_phy_addr[1], arp_entry->t_phy_addr[2],
+ 80006b0: e0bffe17 ldw r2,-8(fp)
+ 80006b4: 10800183 ldbu r2,6(r2)
+ printf("Peer MAC is %02x %02x %02x %02x %02x %02x\n",
+ 80006b8: 11c03fcc andi r7,r2,255
+ arp_entry->t_phy_addr[3], arp_entry->t_phy_addr[4], arp_entry->t_phy_addr[5]);
+ 80006bc: e0bffe17 ldw r2,-8(fp)
+ 80006c0: 108001c3 ldbu r2,7(r2)
+ printf("Peer MAC is %02x %02x %02x %02x %02x %02x\n",
+ 80006c4: 10803fcc andi r2,r2,255
+ arp_entry->t_phy_addr[3], arp_entry->t_phy_addr[4], arp_entry->t_phy_addr[5]);
+ 80006c8: e0fffe17 ldw r3,-8(fp)
+ 80006cc: 18c00203 ldbu r3,8(r3)
+ printf("Peer MAC is %02x %02x %02x %02x %02x %02x\n",
+ 80006d0: 18c03fcc andi r3,r3,255
+ arp_entry->t_phy_addr[3], arp_entry->t_phy_addr[4], arp_entry->t_phy_addr[5]);
+ 80006d4: e13ffe17 ldw r4,-8(fp)
+ 80006d8: 21000243 ldbu r4,9(r4)
+ printf("Peer MAC is %02x %02x %02x %02x %02x %02x\n",
+ 80006dc: 21003fcc andi r4,r4,255
+ 80006e0: d9000215 stw r4,8(sp)
+ 80006e4: d8c00115 stw r3,4(sp)
+ 80006e8: d8800015 stw r2,0(sp)
+ 80006ec: 01020134 movhi r4,2052
+ 80006f0: 211a8a04 addi r4,r4,27176
+ 80006f4: 8002c780 call 8002c78
+
+ srcip = nets[0]->n_ipaddr;
+ 80006f8: 008201b4 movhi r2,2054
+ 80006fc: 10b77017 ldw r2,-8768(r2)
+ 8000700: 10800a17 ldw r2,40(r2)
+ 8000704: e0bff915 stw r2,-28(fp)
+ swap_quad((unsigned char*)(void*)(&srcip), 4); //UDP generator needs such a format
+ 8000708: e0bff904 addi r2,fp,-28
+ 800070c: 01400104 movi r5,4
+ 8000710: 1009883a mov r4,r2
+ 8000714: 80028400 call 8002840
+ swap_quad((unsigned char*)(void*)(&ip), 4);
+ 8000718: e0bffa04 addi r2,fp,-24
+ 800071c: 01400104 movi r5,4
+ 8000720: 1009883a mov r4,r2
+ 8000724: 80028400 call 8002840
+
+ //set up udpgen with correct values
+ udpgen_set_size(UDP_GENERATOR_BASE, 167); //sensor_interface.v:39
+ 8000728: 00c029c4 movi r3,167
+ 800072c: 00861034 movhi r2,6208
+ 8000730: 10cf30ad sthio r3,15554(r2)
+ udpgen_set_srcip(UDP_GENERATOR_BASE, srcip);
+ 8000734: e0bff917 ldw r2,-28(fp)
+ 8000738: 1007883a mov r3,r2
+ 800073c: 00861034 movhi r2,6208
+ 8000740: 10cf3135 stwio r3,15556(r2)
+ udpgen_set_dstip(UDP_GENERATOR_BASE, ip);
+ 8000744: e0bffa17 ldw r2,-24(fp)
+ 8000748: 1007883a mov r3,r2
+ 800074c: 00861034 movhi r2,6208
+ 8000750: 10cf3235 stwio r3,15560(r2)
+ udpgen_set_srcport(UDP_GENERATOR_BASE, DATA_PORT);
+ 8000754: 00c3e844 movi r3,4001
+ 8000758: 00861034 movhi r2,6208
+ 800075c: 10cf33ad sthio r3,15566(r2)
+ udpgen_set_dstport(UDP_GENERATOR_BASE, data[4]);
+ 8000760: e0bff617 ldw r2,-40(fp)
+ 8000764: 10800204 addi r2,r2,8
+ 8000768: 1080000b ldhu r2,0(r2)
+ 800076c: 10ffffcc andi r3,r2,65535
+ 8000770: 00861034 movhi r2,6208
+ 8000774: 10cf332d sthio r3,15564(r2)
+ udpgen_set_dstmac_a(UDP_GENERATOR_BASE, arp_entry->t_phy_addr);
+ 8000778: e03ffb15 stw zero,-20(fp)
+ 800077c: 00001106 br 80007c4
+ 8000780: e0bffb17 ldw r2,-20(fp)
+ 8000784: 10800404 addi r2,r2,16
+ 8000788: 1007883a mov r3,r2
+ 800078c: 00861034 movhi r2,6208
+ 8000790: 108f3004 addi r2,r2,15552
+ 8000794: 1885883a add r2,r3,r2
+ 8000798: 01000144 movi r4,5
+ 800079c: e0fffb17 ldw r3,-20(fp)
+ 80007a0: 20c7c83a sub r3,r4,r3
+ 80007a4: e13ffe17 ldw r4,-8(fp)
+ 80007a8: 20c7883a add r3,r4,r3
+ 80007ac: 18c00103 ldbu r3,4(r3)
+ 80007b0: 18c03fcc andi r3,r3,255
+ 80007b4: 10c00025 stbio r3,0(r2)
+ 80007b8: e0bffb17 ldw r2,-20(fp)
+ 80007bc: 10800044 addi r2,r2,1
+ 80007c0: e0bffb15 stw r2,-20(fp)
+ 80007c4: e0bffb17 ldw r2,-20(fp)
+ 80007c8: 10800190 cmplti r2,r2,6
+ 80007cc: 103fec1e bne r2,zero,8000780
+
+ swap_bytes((unsigned char*)(void*)(&header), sizeof(header));
+ 80007d0: e0bff784 addi r2,fp,-34
+ 80007d4: 01400184 movi r5,6
+ 80007d8: 1009883a mov r4,r2
+ 80007dc: 80027a80 call 80027a8
+ ethernet_write(0, sizeof(command_header), (unsigned char*)(&header));
+ 80007e0: e0bff784 addi r2,fp,-34
+ 80007e4: 100d883a mov r6,r2
+ 80007e8: 01400184 movi r5,6
+ 80007ec: 0009883a mov r4,zero
+ 80007f0: 800220c0 call 800220c
+}
+ 80007f4: 0001883a nop
+ 80007f8: e037883a mov sp,fp
+ 80007fc: dfc00117 ldw ra,4(sp)
+ 8000800: df000017 ldw fp,0(sp)
+ 8000804: dec00204 addi sp,sp,8
+ 8000808: f800283a ret
+
+0800080c :
+
+// ****************************
+
+ //Receive command header. Return (without loosing data!) if number of received bytes is insufficient.
+unsigned char control_get_header(command_header** result)
+{
+ 800080c: defffd04 addi sp,sp,-12
+ 8000810: dfc00215 stw ra,8(sp)
+ 8000814: df000115 stw fp,4(sp)
+ 8000818: df000104 addi fp,sp,4
+ 800081c: e13fff15 stw r4,-4(fp)
+ static command_header header;
+ static unsigned int bytes_received = 0;
+
+ bytes_received += ethernet_read(0, sizeof(command_header)-bytes_received, (unsigned char*)(&header) + bytes_received);
+ 8000820: d0a03517 ldw r2,-32556(gp)
+ 8000824: 00c00184 movi r3,6
+ 8000828: 1885c83a sub r2,r3,r2
+ 800082c: 1009883a mov r4,r2
+ 8000830: d0e03517 ldw r3,-32556(gp)
+ 8000834: d0a03604 addi r2,gp,-32552
+ 8000838: 1885883a add r2,r3,r2
+ 800083c: 100d883a mov r6,r2
+ 8000840: 200b883a mov r5,r4
+ 8000844: 0009883a mov r4,zero
+ 8000848: 80023140 call 8002314
+ 800084c: 1007883a mov r3,r2
+ 8000850: d0a03517 ldw r2,-32556(gp)
+ 8000854: 1885883a add r2,r3,r2
+ 8000858: d0a03515 stw r2,-32556(gp)
+
+ if (bytes_received < sizeof(command_header))
+ 800085c: d0a03517 ldw r2,-32556(gp)
+ 8000860: 108001a8 cmpgeui r2,r2,6
+ 8000864: 1000021e bne r2,zero,8000870
+ return 0;
+ 8000868: 0005883a mov r2,zero
+ 800086c: 00000806 br 8000890
+
+ swap_bytes((unsigned char*)(void*)(&header),sizeof(header)); //if the header is complete, swap bytes and return it
+ 8000870: 01400184 movi r5,6
+ 8000874: d1203604 addi r4,gp,-32552
+ 8000878: 80027a80 call 80027a8
+ *result = &header;
+ 800087c: e0bfff17 ldw r2,-4(fp)
+ 8000880: d0e03604 addi r3,gp,-32552
+ 8000884: 10c00015 stw r3,0(r2)
+ bytes_received = 0;
+ 8000888: d0203515 stw zero,-32556(gp)
+ return 1;
+ 800088c: 00800044 movi r2,1
+}
+ 8000890: e037883a mov sp,fp
+ 8000894: dfc00117 ldw ra,4(sp)
+ 8000898: df000017 ldw fp,0(sp)
+ 800089c: dec00204 addi sp,sp,8
+ 80008a0: f800283a ret
+
+080008a4 :
+
+ //Receive command data. Return (without loosing data!) if number of received bytes is insufficient.
+ //Expected data length is given in words!
+unsigned char control_get_data(unsigned short expected_length, unsigned short** data)
+{
+ 80008a4: defffc04 addi sp,sp,-16
+ 80008a8: dfc00315 stw ra,12(sp)
+ 80008ac: df000215 stw fp,8(sp)
+ 80008b0: df000204 addi fp,sp,8
+ 80008b4: 2005883a mov r2,r4
+ 80008b8: e17ffe15 stw r5,-8(fp)
+ 80008bc: e0bfff0d sth r2,-4(fp)
+ static unsigned short packet_data[CONTROL_MAX_DATA_LENGTH];
+ static unsigned int bytes_received = 0;
+
+ bytes_received += ethernet_read(0, 2*expected_length - bytes_received, (unsigned char*)(&packet_data) + bytes_received);
+ 80008c0: e0bfff0b ldhu r2,-4(fp)
+ 80008c4: 1085883a add r2,r2,r2
+ 80008c8: 1007883a mov r3,r2
+ 80008cc: d0a03817 ldw r2,-32544(gp)
+ 80008d0: 1885c83a sub r2,r3,r2
+ 80008d4: 1009883a mov r4,r2
+ 80008d8: d0e03817 ldw r3,-32544(gp)
+ 80008dc: 00820174 movhi r2,2053
+ 80008e0: 10b35804 addi r2,r2,-12960
+ 80008e4: 1885883a add r2,r3,r2
+ 80008e8: 100d883a mov r6,r2
+ 80008ec: 200b883a mov r5,r4
+ 80008f0: 0009883a mov r4,zero
+ 80008f4: 80023140 call 8002314
+ 80008f8: 1007883a mov r3,r2
+ 80008fc: d0a03817 ldw r2,-32544(gp)
+ 8000900: 1885883a add r2,r3,r2
+ 8000904: d0a03815 stw r2,-32544(gp)
+
+ if (bytes_received < (2*expected_length))
+ 8000908: e0bfff0b ldhu r2,-4(fp)
+ 800090c: 1085883a add r2,r2,r2
+ 8000910: 1007883a mov r3,r2
+ 8000914: d0a03817 ldw r2,-32544(gp)
+ 8000918: 10c0022e bgeu r2,r3,8000924
+ return 0;
+ 800091c: 0005883a mov r2,zero
+ 8000920: 00000606 br 800093c
+
+ *data = packet_data;
+ 8000924: e0fffe17 ldw r3,-8(fp)
+ 8000928: 00820174 movhi r2,2053
+ 800092c: 10b35804 addi r2,r2,-12960
+ 8000930: 18800015 stw r2,0(r3)
+ bytes_received = 0;
+ 8000934: d0203815 stw zero,-32544(gp)
+ return 1;
+ 8000938: 00800044 movi r2,1
+}
+ 800093c: e037883a mov sp,fp
+ 8000940: dfc00117 ldw ra,4(sp)
+ 8000944: df000017 ldw fp,0(sp)
+ 8000948: dec00204 addi sp,sp,8
+ 800094c: f800283a ret
+
+08000950 :
+
+// ****************************
+
+void control_step()
+{
+ 8000950: defffb04 addi sp,sp,-20
+ 8000954: dfc00415 stw ra,16(sp)
+ 8000958: df000315 stw fp,12(sp)
+ 800095c: df000304 addi fp,sp,12
+ command_header* header;
+ unsigned short* data;
+ unsigned int loop_ctr = 0;
+ 8000960: e03fff15 stw zero,-4(fp)
+
+
+ //get header - at this moment this is blocking!
+ while (!control_get_header(&header))
+ 8000964: 00000706 br 8000984
+ {
+ control_delay();
+ 8000968: 80003800 call 8000380
+
+ if (++loop_ctr > CONTROL_TIMEOUT)
+ 800096c: e0bfff17 ldw r2,-4(fp)
+ 8000970: 10800044 addi r2,r2,1
+ 8000974: e0bfff15 stw r2,-4(fp)
+ 8000978: e0bfff17 ldw r2,-4(fp)
+ 800097c: 1080fa70 cmpltui r2,r2,1001
+ 8000980: 1001ae26 beq r2,zero,800103c
+ while (!control_get_header(&header))
+ 8000984: e0bffe04 addi r2,fp,-8
+ 8000988: 1009883a mov r4,r2
+ 800098c: 800080c0 call 800080c
+ 8000990: 10803fcc andi r2,r2,255
+ 8000994: 103ff426 beq r2,zero,8000968
+ return;
+ }
+ }
+
+ //check start marker
+ if (header->marker != 0x5555)
+ 8000998: e0bffe17 ldw r2,-8(fp)
+ 800099c: 1080000b ldhu r2,0(r2)
+ 80009a0: 10bfffcc andi r2,r2,65535
+ 80009a4: 10955560 cmpeqi r2,r2,21845
+ 80009a8: 1001a626 beq r2,zero,8001044
+ return;
+
+
+ //get packet data - at this moment this is blocking!
+ while (!control_get_data(header->length, &data))
+ 80009ac: 00000706 br 80009cc
+ {
+ control_delay();
+ 80009b0: 80003800 call 8000380
+
+ if (++loop_ctr > CONTROL_TIMEOUT)
+ 80009b4: e0bfff17 ldw r2,-4(fp)
+ 80009b8: 10800044 addi r2,r2,1
+ 80009bc: e0bfff15 stw r2,-4(fp)
+ 80009c0: e0bfff17 ldw r2,-4(fp)
+ 80009c4: 1080fa70 cmpltui r2,r2,1001
+ 80009c8: 1001a026 beq r2,zero,800104c
+ while (!control_get_data(header->length, &data))
+ 80009cc: e0bffe17 ldw r2,-8(fp)
+ 80009d0: 1080010b ldhu r2,4(r2)
+ 80009d4: 10bfffcc andi r2,r2,65535
+ 80009d8: e0fffd04 addi r3,fp,-12
+ 80009dc: 180b883a mov r5,r3
+ 80009e0: 1009883a mov r4,r2
+ 80009e4: 80008a40 call 80008a4
+ 80009e8: 10803fcc andi r2,r2,255
+ 80009ec: 103ff026 beq r2,zero,80009b0
+ {
+ return;
+ }
+ }
+ //swap data bytes
+ swap_bytes((unsigned char*)(void*)data, header->length*2);
+ 80009f0: e0fffd17 ldw r3,-12(fp)
+ 80009f4: e0bffe17 ldw r2,-8(fp)
+ 80009f8: 1080010b ldhu r2,4(r2)
+ 80009fc: 10bfffcc andi r2,r2,65535
+ 8000a00: 1085883a add r2,r2,r2
+ 8000a04: 100b883a mov r5,r2
+ 8000a08: 1809883a mov r4,r3
+ 8000a0c: 80027a80 call 80027a8
+
+ switch(header->command)
+ 8000a10: e0bffe17 ldw r2,-8(fp)
+ 8000a14: 1080008b ldhu r2,2(r2)
+ 8000a18: 10bfffcc andi r2,r2,65535
+ 8000a1c: 10c09420 cmpeqi r3,r2,592
+ 8000a20: 1800b51e bne r3,zero,8000cf8
+ 8000a24: 10c09448 cmpgei r3,r2,593
+ 8000a28: 1800201e bne r3,zero,8000aac
+ 8000a2c: 10c08420 cmpeqi r3,r2,528
+ 8000a30: 1800691e bne r3,zero,8000bd8
+ 8000a34: 10c08448 cmpgei r3,r2,529
+ 8000a38: 18000e1e bne r3,zero,8000a74
+ 8000a3c: 10c00460 cmpeqi r3,r2,17
+ 8000a40: 18004a1e bne r3,zero,8000b6c
+ 8000a44: 10c00488 cmpgei r3,r2,18
+ 8000a48: 1800051e bne r3,zero,8000a60
+ 8000a4c: 10c00060 cmpeqi r3,r2,1
+ 8000a50: 1800361e bne r3,zero,8000b2c
+ 8000a54: 10800420 cmpeqi r2,r2,16
+ 8000a58: 10003b1e bne r2,zero,8000b48
+ control_pong(header);
+ break;
+
+
+ default:
+ break;
+ 8000a5c: 00017c06 br 8001050
+ switch(header->command)
+ 8000a60: 10c04420 cmpeqi r3,r2,272
+ 8000a64: 18004a1e bne r3,zero,8000b90
+ 8000a68: 10804460 cmpeqi r2,r2,273
+ 8000a6c: 1000511e bne r2,zero,8000bb4
+ break;
+ 8000a70: 00017706 br 8001050
+ switch(header->command)
+ 8000a74: 10c08860 cmpeqi r3,r2,545
+ 8000a78: 1800721e bne r3,zero,8000c44
+ 8000a7c: 10c08888 cmpgei r3,r2,546
+ 8000a80: 1800051e bne r3,zero,8000a98
+ 8000a84: 10c08460 cmpeqi r3,r2,529
+ 8000a88: 18005c1e bne r3,zero,8000bfc
+ 8000a8c: 10808820 cmpeqi r2,r2,544
+ 8000a90: 1000631e bne r2,zero,8000c20
+ break;
+ 8000a94: 00016e06 br 8001050
+ switch(header->command)
+ 8000a98: 10c08c20 cmpeqi r3,r2,560
+ 8000a9c: 1800721e bne r3,zero,8000c68
+ 8000aa0: 10809020 cmpeqi r2,r2,576
+ 8000aa4: 1000821e bne r2,zero,8000cb0
+ break;
+ 8000aa8: 00016906 br 8001050
+ switch(header->command)
+ 8000aac: 10c0c8a0 cmpeqi r3,r2,802
+ 8000ab0: 1800ff1e bne r3,zero,8000eb0
+ 8000ab4: 10c0c8c8 cmpgei r3,r2,803
+ 8000ab8: 18000e1e bne r3,zero,8000af4
+ 8000abc: 10c0c420 cmpeqi r3,r2,784
+ 8000ac0: 1800c81e bne r3,zero,8000de4
+ 8000ac4: 10c0c448 cmpgei r3,r2,785
+ 8000ac8: 1800051e bne r3,zero,8000ae0
+ 8000acc: 10c09820 cmpeqi r3,r2,608
+ 8000ad0: 18009e1e bne r3,zero,8000d4c
+ 8000ad4: 10809c20 cmpeqi r2,r2,624
+ 8000ad8: 1000af1e bne r2,zero,8000d98
+ break;
+ 8000adc: 00015c06 br 8001050
+ switch(header->command)
+ 8000ae0: 10c0c460 cmpeqi r3,r2,785
+ 8000ae4: 1800d01e bne r3,zero,8000e28
+ 8000ae8: 1080c860 cmpeqi r2,r2,801
+ 8000aec: 1000df1e bne r2,zero,8000e6c
+ break;
+ 8000af0: 00015706 br 8001050
+ switch(header->command)
+ 8000af4: 10d00060 cmpeqi r3,r2,16385
+ 8000af8: 1801001e bne r3,zero,8000efc
+ 8000afc: 10d00088 cmpgei r3,r2,16386
+ 8000b00: 1800051e bne r3,zero,8000b18
+ 8000b04: 10c0cc60 cmpeqi r3,r2,817
+ 8000b08: 1800f01e bne r3,zero,8000ecc
+ 8000b0c: 10810420 cmpeqi r2,r2,1040
+ 8000b10: 1000f51e bne r2,zero,8000ee8
+ break;
+ 8000b14: 00014e06 br 8001050
+ switch(header->command)
+ 8000b18: 10d000a0 cmpeqi r3,r2,16386
+ 8000b1c: 1801091e bne r3,zero,8000f44
+ 8000b20: 109000e0 cmpeqi r2,r2,16387
+ 8000b24: 1001191e bne r2,zero,8000f8c
+ break;
+ 8000b28: 00014906 br 8001050
+ printf("COMMAND_PING\n");
+ 8000b2c: 01020134 movhi r4,2052
+ 8000b30: 211a9504 addi r4,r4,27220
+ 8000b34: 8002d9c0 call 8002d9c
+ control_pong(header);
+ 8000b38: e0bffe17 ldw r2,-8(fp)
+ 8000b3c: 1009883a mov r4,r2
+ 8000b40: 80003b00 call 80003b0
+ break;
+ 8000b44: 00014206 br 8001050
+ printf("COMMAND_DEBUG_LED_OFF\n");
+ 8000b48: 01020134 movhi r4,2052
+ 8000b4c: 211a9904 addi r4,r4,27236
+ 8000b50: 8002d9c0 call 8002d9c
+ led_clear(0);
+ 8000b54: 0009883a mov r4,zero
+ 8000b58: 8002abc0 call 8002abc
+ control_pong(header);
+ 8000b5c: e0bffe17 ldw r2,-8(fp)
+ 8000b60: 1009883a mov r4,r2
+ 8000b64: 80003b00 call 80003b0
+ break;
+ 8000b68: 00013906 br 8001050
+ printf("COMMAND_DEBUG_LED_ON\n");
+ 8000b6c: 01020134 movhi r4,2052
+ 8000b70: 211a9f04 addi r4,r4,27260
+ 8000b74: 8002d9c0 call 8002d9c
+ led_set(0);
+ 8000b78: 0009883a mov r4,zero
+ 8000b7c: 8002a700 call 8002a70
+ control_pong(header);
+ 8000b80: e0bffe17 ldw r2,-8(fp)
+ 8000b84: 1009883a mov r4,r2
+ 8000b88: 80003b00 call 80003b0
+ break;
+ 8000b8c: 00013006 br 8001050
+ printf("COMMAND_LEDS_DISABLE\n");
+ 8000b90: 01020134 movhi r4,2052
+ 8000b94: 211aa504 addi r4,r4,27284
+ 8000b98: 8002d9c0 call 8002d9c
+ led4_blink_enable(0);
+ 8000b9c: 0009883a mov r4,zero
+ 8000ba0: 8002b7c0 call 8002b7c
+ control_pong(header);
+ 8000ba4: e0bffe17 ldw r2,-8(fp)
+ 8000ba8: 1009883a mov r4,r2
+ 8000bac: 80003b00 call 80003b0
+ break;
+ 8000bb0: 00012706 br 8001050
+ printf("COMMAND_LEDS_ENABLE\n");
+ 8000bb4: 01020134 movhi r4,2052
+ 8000bb8: 211aab04 addi r4,r4,27308
+ 8000bbc: 8002d9c0 call 8002d9c
+ led4_blink_enable(1);
+ 8000bc0: 01000044 movi r4,1
+ 8000bc4: 8002b7c0 call 8002b7c
+ control_pong(header);
+ 8000bc8: e0bffe17 ldw r2,-8(fp)
+ 8000bcc: 1009883a mov r4,r2
+ 8000bd0: 80003b00 call 80003b0
+ break;
+ 8000bd4: 00011e06 br 8001050
+ printf("COMMAND_TRIGGER_DISABLE\n");
+ 8000bd8: 01020134 movhi r4,2052
+ 8000bdc: 211ab004 addi r4,r4,27328
+ 8000be0: 8002d9c0 call 8002d9c
+ master_clock_enable(0);
+ 8000be4: 0009883a mov r4,zero
+ 8000be8: 8002a140 call 8002a14
+ control_pong(header);
+ 8000bec: e0bffe17 ldw r2,-8(fp)
+ 8000bf0: 1009883a mov r4,r2
+ 8000bf4: 80003b00 call 80003b0
+ break;
+ 8000bf8: 00011506 br 8001050
+ printf("COMMAND_TRIGGER_ENABLE\n");
+ 8000bfc: 01020134 movhi r4,2052
+ 8000c00: 211ab604 addi r4,r4,27352
+ 8000c04: 8002d9c0 call 8002d9c
+ master_clock_enable(1);
+ 8000c08: 01000044 movi r4,1
+ 8000c0c: 8002a140 call 8002a14
+ control_pong(header);
+ 8000c10: e0bffe17 ldw r2,-8(fp)
+ 8000c14: 1009883a mov r4,r2
+ 8000c18: 80003b00 call 80003b0
+ break;
+ 8000c1c: 00010c06 br 8001050
+ printf("COMMAND_TRIGGER_SET_SLAVE\n");
+ 8000c20: 01020134 movhi r4,2052
+ 8000c24: 211abc04 addi r4,r4,27376
+ 8000c28: 8002d9c0 call 8002d9c
+ masterslave(TRIGGER_SLAVE);
+ 8000c2c: 0009883a mov r4,zero
+ 8000c30: 80029440 call 8002944
+ control_pong(header);
+ 8000c34: e0bffe17 ldw r2,-8(fp)
+ 8000c38: 1009883a mov r4,r2
+ 8000c3c: 80003b00 call 80003b0
+ break;
+ 8000c40: 00010306 br 8001050
+ printf("COMMAND_TRIGGER_SET_MASTER\n");
+ 8000c44: 01020134 movhi r4,2052
+ 8000c48: 211ac304 addi r4,r4,27404
+ 8000c4c: 8002d9c0 call 8002d9c
+ masterslave(TRIGGER_MASTER);
+ 8000c50: 01000044 movi r4,1
+ 8000c54: 80029440 call 8002944
+ control_pong(header);
+ 8000c58: e0bffe17 ldw r2,-8(fp)
+ 8000c5c: 1009883a mov r4,r2
+ 8000c60: 80003b00 call 80003b0
+ break;
+ 8000c64: 0000fa06 br 8001050
+ printf("COMMAND_TRIGGER_SET_PERIOD: %d\n", data[0]);
+ 8000c68: e0bffd17 ldw r2,-12(fp)
+ 8000c6c: 1080000b ldhu r2,0(r2)
+ 8000c70: 10bfffcc andi r2,r2,65535
+ 8000c74: 100b883a mov r5,r2
+ 8000c78: 01020134 movhi r4,2052
+ 8000c7c: 211aca04 addi r4,r4,27432
+ 8000c80: 8002c780 call 8002c78
+ master_clock_period((alt_u32)data[0]); //we set only 16 lsbs!
+ 8000c84: e0bffd17 ldw r2,-12(fp)
+ 8000c88: 1080000b ldhu r2,0(r2)
+ 8000c8c: 10bfffcc andi r2,r2,65535
+ 8000c90: 1009883a mov r4,r2
+ 8000c94: 80029cc0 call 80029cc
+ header->length = 0;
+ 8000c98: e0bffe17 ldw r2,-8(fp)
+ 8000c9c: 1000010d sth zero,4(r2)
+ control_pong(header);
+ 8000ca0: e0bffe17 ldw r2,-8(fp)
+ 8000ca4: 1009883a mov r4,r2
+ 8000ca8: 80003b00 call 80003b0
+ break;
+ 8000cac: 0000e806 br 8001050
+ printf("COMMAND_TRIGGER_SET_TINT: %d\n", data[0]);
+ 8000cb0: e0bffd17 ldw r2,-12(fp)
+ 8000cb4: 1080000b ldhu r2,0(r2)
+ 8000cb8: 10bfffcc andi r2,r2,65535
+ 8000cbc: 100b883a mov r5,r2
+ 8000cc0: 01020134 movhi r4,2052
+ 8000cc4: 211ad204 addi r4,r4,27464
+ 8000cc8: 8002c780 call 8002c78
+ sensor_set_shutter(SENSOR_INTERFACE_BASE, data[0]);
+ 8000ccc: e0bffd17 ldw r2,-12(fp)
+ 8000cd0: 1080000b ldhu r2,0(r2)
+ 8000cd4: 10ffffcc andi r3,r2,65535
+ 8000cd8: 00861034 movhi r2,6208
+ 8000cdc: 10cf55ad sthio r3,15702(r2)
+ header->length = 0;
+ 8000ce0: e0bffe17 ldw r2,-8(fp)
+ 8000ce4: 1000010d sth zero,4(r2)
+ control_pong(header);
+ 8000ce8: e0bffe17 ldw r2,-8(fp)
+ 8000cec: 1009883a mov r4,r2
+ 8000cf0: 80003b00 call 80003b0
+ break;
+ 8000cf4: 0000d606 br 8001050
+ printf("COMMAND_SET_GAIN: %d\n", data[0]);
+ 8000cf8: e0bffd17 ldw r2,-12(fp)
+ 8000cfc: 1080000b ldhu r2,0(r2)
+ 8000d00: 10bfffcc andi r2,r2,65535
+ 8000d04: 100b883a mov r5,r2
+ 8000d08: 01020134 movhi r4,2052
+ 8000d0c: 211ada04 addi r4,r4,27496
+ 8000d10: 8002c780 call 8002c78
+ sensor_set_gain(SENSOR_INTERFACE_BASE, data[0]);
+ 8000d14: e0bffd17 ldw r2,-12(fp)
+ 8000d18: 1080000b ldhu r2,0(r2)
+ 8000d1c: 10803fcc andi r2,r2,255
+ 8000d20: 100d883a mov r6,r2
+ 8000d24: 01400084 movi r5,2
+ 8000d28: 01061034 movhi r4,6208
+ 8000d2c: 210f5404 addi r4,r4,15696
+ 8000d30: 8001b800 call 8001b80
+ header->length = 0;
+ 8000d34: e0bffe17 ldw r2,-8(fp)
+ 8000d38: 1000010d sth zero,4(r2)
+ control_pong(header);
+ 8000d3c: e0bffe17 ldw r2,-8(fp)
+ 8000d40: 1009883a mov r4,r2
+ 8000d44: 80003b00 call 80003b0
+ break;
+ 8000d48: 0000c106 br 8001050
+ printf("COMMAND_TRIGGER_SET_MASTER_DELAY: %d\n", data[0]);
+ 8000d4c: e0bffd17 ldw r2,-12(fp)
+ 8000d50: 1080000b ldhu r2,0(r2)
+ 8000d54: 10bfffcc andi r2,r2,65535
+ 8000d58: 100b883a mov r5,r2
+ 8000d5c: 01020134 movhi r4,2052
+ 8000d60: 211ae004 addi r4,r4,27520
+ 8000d64: 8002c780 call 8002c78
+ set_delay(TRIGGER_MASTER, data[0]);
+ 8000d68: e0bffd17 ldw r2,-12(fp)
+ 8000d6c: 1080000b ldhu r2,0(r2)
+ 8000d70: 10bfffcc andi r2,r2,65535
+ 8000d74: 100b883a mov r5,r2
+ 8000d78: 01000044 movi r4,1
+ 8000d7c: 8002bc80 call 8002bc8
+ header->length = 0;
+ 8000d80: e0bffe17 ldw r2,-8(fp)
+ 8000d84: 1000010d sth zero,4(r2)
+ control_pong(header);
+ 8000d88: e0bffe17 ldw r2,-8(fp)
+ 8000d8c: 1009883a mov r4,r2
+ 8000d90: 80003b00 call 80003b0
+ break;
+ 8000d94: 0000ae06 br 8001050
+ printf("COMMAND_TRIGGER_SET_SLAVE_DELAY: %d\n", data[0]);
+ 8000d98: e0bffd17 ldw r2,-12(fp)
+ 8000d9c: 1080000b ldhu r2,0(r2)
+ 8000da0: 10bfffcc andi r2,r2,65535
+ 8000da4: 100b883a mov r5,r2
+ 8000da8: 01020134 movhi r4,2052
+ 8000dac: 211aea04 addi r4,r4,27560
+ 8000db0: 8002c780 call 8002c78
+ set_delay(TRIGGER_SLAVE, data[0]);
+ 8000db4: e0bffd17 ldw r2,-12(fp)
+ 8000db8: 1080000b ldhu r2,0(r2)
+ 8000dbc: 10bfffcc andi r2,r2,65535
+ 8000dc0: 100b883a mov r5,r2
+ 8000dc4: 0009883a mov r4,zero
+ 8000dc8: 8002bc80 call 8002bc8
+ header->length = 0;
+ 8000dcc: e0bffe17 ldw r2,-8(fp)
+ 8000dd0: 1000010d sth zero,4(r2)
+ control_pong(header);
+ 8000dd4: e0bffe17 ldw r2,-8(fp)
+ 8000dd8: 1009883a mov r4,r2
+ 8000ddc: 80003b00 call 80003b0
+ break;
+ 8000de0: 00009b06 br 8001050
+ printf("COMMAND_DAQ_DISABLE\n");
+ 8000de4: 01020134 movhi r4,2052
+ 8000de8: 211af404 addi r4,r4,27600
+ 8000dec: 8002d9c0 call 8002d9c
+ sensor_set_enable(SENSOR_INTERFACE_BASE, 0);
+ 8000df0: 000d883a mov r6,zero
+ 8000df4: 01400044 movi r5,1
+ 8000df8: 01061034 movhi r4,6208
+ 8000dfc: 210f5404 addi r4,r4,15696
+ 8000e00: 8001b800 call 8001b80
+ udpgen_command_bit(UDP_GENERATOR_BASE, UDPGEN_CSR_EN_BITMASK,0);
+ 8000e04: 000d883a mov r6,zero
+ 8000e08: 01400044 movi r5,1
+ 8000e0c: 01061034 movhi r4,6208
+ 8000e10: 210f3004 addi r4,r4,15552
+ 8000e14: 80025540 call 8002554
+ control_pong(header);
+ 8000e18: e0bffe17 ldw r2,-8(fp)
+ 8000e1c: 1009883a mov r4,r2
+ 8000e20: 80003b00 call 80003b0
+ break;
+ 8000e24: 00008a06 br 8001050
+ printf("COMMAND_DAQ_ENABLE\n");
+ 8000e28: 01020134 movhi r4,2052
+ 8000e2c: 211af904 addi r4,r4,27620
+ 8000e30: 8002d9c0 call 8002d9c
+ udpgen_command_bit(UDP_GENERATOR_BASE, UDPGEN_CSR_EN_BITMASK,1);
+ 8000e34: 01800044 movi r6,1
+ 8000e38: 01400044 movi r5,1
+ 8000e3c: 01061034 movhi r4,6208
+ 8000e40: 210f3004 addi r4,r4,15552
+ 8000e44: 80025540 call 8002554
+ sensor_set_enable(SENSOR_INTERFACE_BASE, 1);
+ 8000e48: 01800044 movi r6,1
+ 8000e4c: 01400044 movi r5,1
+ 8000e50: 01061034 movhi r4,6208
+ 8000e54: 210f5404 addi r4,r4,15696
+ 8000e58: 8001b800 call 8001b80
+ control_pong(header);
+ 8000e5c: e0bffe17 ldw r2,-8(fp)
+ 8000e60: 1009883a mov r4,r2
+ 8000e64: 80003b00 call 80003b0
+ break;
+ 8000e68: 00007906 br 8001050
+ printf("COMMAND_DAQ_RESET_COUNTERS\n");
+ 8000e6c: 01020134 movhi r4,2052
+ 8000e70: 211afe04 addi r4,r4,27640
+ 8000e74: 8002d9c0 call 8002d9c
+ sensor_reset(SENSOR_INTERFACE_BASE);
+ 8000e78: 01800044 movi r6,1
+ 8000e7c: 01400204 movi r5,8
+ 8000e80: 01061034 movhi r4,6208
+ 8000e84: 210f5404 addi r4,r4,15696
+ 8000e88: 8001b800 call 8001b80
+ 8000e8c: 000d883a mov r6,zero
+ 8000e90: 01400204 movi r5,8
+ 8000e94: 01061034 movhi r4,6208
+ 8000e98: 210f5404 addi r4,r4,15696
+ 8000e9c: 8001b800 call 8001b80
+ control_pong(header);
+ 8000ea0: e0bffe17 ldw r2,-8(fp)
+ 8000ea4: 1009883a mov r4,r2
+ 8000ea8: 80003b00 call 80003b0
+ break;
+ 8000eac: 00006806 br 8001050
+ printf("COMMAND_DAQ_FLUSH_DATA\n");
+ 8000eb0: 01020134 movhi r4,2052
+ 8000eb4: 211b0504 addi r4,r4,27668
+ 8000eb8: 8002d9c0 call 8002d9c
+ control_pong(header);
+ 8000ebc: e0bffe17 ldw r2,-8(fp)
+ 8000ec0: 1009883a mov r4,r2
+ 8000ec4: 80003b00 call 80003b0
+ break;
+ 8000ec8: 00006106 br 8001050
+ printf("COMMAND_DAQ_CONFIG_PEER\n");
+ 8000ecc: 01020134 movhi r4,2052
+ 8000ed0: 211b0b04 addi r4,r4,27692
+ 8000ed4: 8002d9c0 call 8002d9c
+ control_process_config_peer(data);
+ 8000ed8: e0bffd17 ldw r2,-12(fp)
+ 8000edc: 1009883a mov r4,r2
+ 8000ee0: 80004f80 call 80004f8
+ break;
+ 8000ee4: 00005a06 br 8001050
+ printf("COMMAND_SLOWCTRL_SNAPSHOT\n");
+ 8000ee8: 01020134 movhi r4,2052
+ 8000eec: 211b1104 addi r4,r4,27716
+ 8000ef0: 8002d9c0 call 8002d9c
+ control_process_snapshot();
+ 8000ef4: 80004180 call 8000418
+ break;
+ 8000ef8: 00005506 br 8001050
+ printf("COMMAND_SET_CLUSTER_THRESHOLD: %d\n", data[0]);
+ 8000efc: e0bffd17 ldw r2,-12(fp)
+ 8000f00: 1080000b ldhu r2,0(r2)
+ 8000f04: 10bfffcc andi r2,r2,65535
+ 8000f08: 100b883a mov r5,r2
+ 8000f0c: 01020134 movhi r4,2052
+ 8000f10: 211b1804 addi r4,r4,27744
+ 8000f14: 8002c780 call 8002c78
+ sensor_set_cluster_threshold(SENSOR_INTERFACE_BASE,data[0]);
+ 8000f18: e0bffd17 ldw r2,-12(fp)
+ 8000f1c: 1080000b ldhu r2,0(r2)
+ 8000f20: 10ffffcc andi r3,r2,65535
+ 8000f24: 00861034 movhi r2,6208
+ 8000f28: 10cf5725 stbio r3,15708(r2)
+ header->length = 0;
+ 8000f2c: e0bffe17 ldw r2,-8(fp)
+ 8000f30: 1000010d sth zero,4(r2)
+ control_pong(header);
+ 8000f34: e0bffe17 ldw r2,-8(fp)
+ 8000f38: 1009883a mov r4,r2
+ 8000f3c: 80003b00 call 80003b0
+ break;
+ 8000f40: 00004306 br 8001050
+ printf("COMMAND_SET_CLUSTER_SIZE: %d\n", data[0]);
+ 8000f44: e0bffd17 ldw r2,-12(fp)
+ 8000f48: 1080000b ldhu r2,0(r2)
+ 8000f4c: 10bfffcc andi r2,r2,65535
+ 8000f50: 100b883a mov r5,r2
+ 8000f54: 01020134 movhi r4,2052
+ 8000f58: 211b2104 addi r4,r4,27780
+ 8000f5c: 8002c780 call 8002c78
+ sensor_set_cluster_size(SENSOR_INTERFACE_BASE,data[0]);
+ 8000f60: e0bffd17 ldw r2,-12(fp)
+ 8000f64: 1080000b ldhu r2,0(r2)
+ 8000f68: 10ffffcc andi r3,r2,65535
+ 8000f6c: 00861034 movhi r2,6208
+ 8000f70: 10cf5765 stbio r3,15709(r2)
+ header->length = 0;
+ 8000f74: e0bffe17 ldw r2,-8(fp)
+ 8000f78: 1000010d sth zero,4(r2)
+ control_pong(header);
+ 8000f7c: e0bffe17 ldw r2,-8(fp)
+ 8000f80: 1009883a mov r4,r2
+ 8000f84: 80003b00 call 80003b0
+ break;
+ 8000f88: 00003106 br 8001050
+ if (header->length>=2){
+ 8000f8c: e0bffe17 ldw r2,-8(fp)
+ 8000f90: 1080010b ldhu r2,4(r2)
+ 8000f94: 10bfffcc andi r2,r2,65535
+ 8000f98: 108000b0 cmpltui r2,r2,2
+ 8000f9c: 10001a1e bne r2,zero,8001008
+ calibration_ram_set_factor(CALIBRATION_RAM_BASE,data[0],data[1]); //i is channelID
+ 8000fa0: e0bffd17 ldw r2,-12(fp)
+ 8000fa4: 1080000b ldhu r2,0(r2)
+ 8000fa8: 10bfffcc andi r2,r2,65535
+ 8000fac: 1085883a add r2,r2,r2
+ 8000fb0: 1007883a mov r3,r2
+ 8000fb4: 00861034 movhi r2,6208
+ 8000fb8: 108d0004 addi r2,r2,13312
+ 8000fbc: 1885883a add r2,r3,r2
+ 8000fc0: e0fffd17 ldw r3,-12(fp)
+ 8000fc4: 18c00084 addi r3,r3,2
+ 8000fc8: 18c0000b ldhu r3,0(r3)
+ 8000fcc: 18ffffcc andi r3,r3,65535
+ 8000fd0: 10c0002d sthio r3,0(r2)
+ printf("COMMAND_SET_CALIBRATION_FACTOR ChannelIP%d : %d\n", data[0],data[1]);
+ 8000fd4: e0bffd17 ldw r2,-12(fp)
+ 8000fd8: 1080000b ldhu r2,0(r2)
+ 8000fdc: 10ffffcc andi r3,r2,65535
+ 8000fe0: e0bffd17 ldw r2,-12(fp)
+ 8000fe4: 10800084 addi r2,r2,2
+ 8000fe8: 1080000b ldhu r2,0(r2)
+ 8000fec: 10bfffcc andi r2,r2,65535
+ 8000ff0: 100d883a mov r6,r2
+ 8000ff4: 180b883a mov r5,r3
+ 8000ff8: 01020134 movhi r4,2052
+ 8000ffc: 211b2904 addi r4,r4,27812
+ 8001000: 8002c780 call 8002c78
+ 8001004: 00000706 br 8001024
+ printf("COMMAND_SET_CALIBRATION_FACTOR length: %d\n", header->length);
+ 8001008: e0bffe17 ldw r2,-8(fp)
+ 800100c: 1080010b ldhu r2,4(r2)
+ 8001010: 10bfffcc andi r2,r2,65535
+ 8001014: 100b883a mov r5,r2
+ 8001018: 01020134 movhi r4,2052
+ 800101c: 211b3604 addi r4,r4,27864
+ 8001020: 8002c780 call 8002c78
+ header->length = 0;
+ 8001024: e0bffe17 ldw r2,-8(fp)
+ 8001028: 1000010d sth zero,4(r2)
+ control_pong(header);
+ 800102c: e0bffe17 ldw r2,-8(fp)
+ 8001030: 1009883a mov r4,r2
+ 8001034: 80003b00 call 80003b0
+ break;
+ 8001038: 00000506 br 8001050
+ return;
+ 800103c: 0001883a nop
+ 8001040: 00000306 br 8001050
+ return;
+ 8001044: 0001883a nop
+ 8001048: 00000106 br 8001050
+ return;
+ 800104c: 0001883a nop
+ }
+
+}
+ 8001050: e037883a mov sp,fp
+ 8001054: dfc00117 ldw ra,4(sp)
+ 8001058: df000017 ldw fp,0(sp)
+ 800105c: dec00204 addi sp,sp,8
+ 8001060: f800283a ret
+
+08001064 :
+ CONTROL_STACK_SIZE,
+};
+
+
+void ControlTask(void* param)
+{
+ 8001064: defffc04 addi sp,sp,-16
+ 8001068: dfc00315 stw ra,12(sp)
+ 800106c: df000215 stw fp,8(sp)
+ 8001070: df000204 addi fp,sp,8
+ 8001074: e13ffe15 stw r4,-8(fp)
+ printf ("::: Control task started ::: \n");
+ 8001078: 01020134 movhi r4,2052
+ 800107c: 211b4504 addi r4,r4,27924
+ 8001080: 8002d9c0 call 8002d9c
+ ethernet_listen(0, CONTROL_PORT);
+ 8001084: 0143e804 movi r5,4000
+ 8001088: 0009883a mov r4,zero
+ 800108c: 80020d00 call 80020d0
+
+ sensor_preconfigure(SENSOR_INTERFACE_BASE);
+ 8001090: 01061034 movhi r4,6208
+ 8001094: 210f5404 addi r4,r4,15696
+ 8001098: 8001c080 call 8001c08
+
+ //initial calibration factor here
+ printf("Initiate Calibration Factor 1 to 320 from channel1 to channel320 \n");
+ 800109c: 01020134 movhi r4,2052
+ 80010a0: 211b4d04 addi r4,r4,27956
+ 80010a4: 8002d9c0 call 8002d9c
+
+
+ for (alt_u32 i = 0; i < 320; i++) {
+ 80010a8: e03fff15 stw zero,-4(fp)
+ 80010ac: 00000b06 br 80010dc
+ //pow(2,13)=8192. represent calibration factor 1; range[0.00012,8)
+ //default calibration factor is 1.
+ calibration_ram_set_factor(CALIBRATION_RAM_BASE,i,8192); //i is channelID
+ 80010b0: e0bfff17 ldw r2,-4(fp)
+ 80010b4: 1085883a add r2,r2,r2
+ 80010b8: 1007883a mov r3,r2
+ 80010bc: 00861034 movhi r2,6208
+ 80010c0: 108d0004 addi r2,r2,13312
+ 80010c4: 1885883a add r2,r3,r2
+ 80010c8: 00c80004 movi r3,8192
+ 80010cc: 10c0002d sthio r3,0(r2)
+ for (alt_u32 i = 0; i < 320; i++) {
+ 80010d0: e0bfff17 ldw r2,-4(fp)
+ 80010d4: 10800044 addi r2,r2,1
+ 80010d8: e0bfff15 stw r2,-4(fp)
+ 80010dc: e0bfff17 ldw r2,-4(fp)
+ 80010e0: 10805030 cmpltui r2,r2,320
+ 80010e4: 103ff21e bne r2,zero,80010b0
+ }
+
+ while(1)
+ control_step();
+ 80010e8: 80009500 call 8000950
+ 80010ec: 003ffe06 br 80010e8
+
+080010f0 :
+}
+
+void control_init()
+{
+ 80010f0: defffe04 addi sp,sp,-8
+ 80010f4: dfc00115 stw ra,4(sp)
+ 80010f8: df000015 stw fp,0(sp)
+ 80010fc: d839883a mov fp,sp
+ TK_NEWTASK(&controltask);
+ 8001100: 01020174 movhi r4,2053
+ 8001104: 212e4804 addi r4,r4,-18144
+ 8001108: 80290740 call 8029074
+}
+ 800110c: 0001883a nop
+ 8001110: e037883a mov sp,fp
+ 8001114: dfc00117 ldw ra,4(sp)
+ 8001118: df000017 ldw fp,0(sp)
+ 800111c: dec00204 addi sp,sp,8
+ 8001120: f800283a ret
+
+08001124 :
+/* InitialTask will initialize the NicheStack
+ * TCP/IP Stack and then initialize the rest of the Simple Socket Server example
+ * RTOS structures and tasks.
+ */
+void InitialTask(void *task_data)
+{
+ 8001124: defffc04 addi sp,sp,-16
+ 8001128: dfc00315 stw ra,12(sp)
+ 800112c: df000215 stw fp,8(sp)
+ 8001130: df000204 addi fp,sp,8
+ 8001134: e13ffe15 stw r4,-8(fp)
+ * I/O drivers are available. Two tasks are created:
+ * "Inet main" task with priority 2
+ * "clock tick" task with priority 3
+ */
+
+ alt_iniche_init();
+ 8001138: 80293dc0 call 80293dc
+ netmain();
+ 800113c: 80278140 call 8027814
+
+ /* Wait for the network stack to be ready before proceeding.
+ * iniche_net_ready indicates that TCP/IP stack is ready, and IP address is obtained.
+ */
+ while (!iniche_net_ready){
+ 8001140: 00000206 br 800114c
+ TK_SLEEP(1);
+ 8001144: 01000084 movi r4,2
+ 8001148: 801730c0 call 801730c
+ while (!iniche_net_ready){
+ 800114c: d0a06f17 ldw r2,-32324(gp)
+ 8001150: 103ffc26 beq r2,zero,8001144
+
+ /* Now that the stack is running, perform the application initialization steps */
+
+ /* Application Specific Task Launching Code Block Begin */
+
+ printf("\nSocket Server starting up\n");
+ 8001154: 01020134 movhi r4,2052
+ 8001158: 211b5e04 addi r4,r4,28024
+ 800115c: 8002d9c0 call 8002d9c
+
+ /* Create tasks */
+ ethernet_init();
+ 8001160: 80020500 call 8002050
+ control_init();
+ 8001164: 80010f00 call 80010f0
+ //TK_NEWTASK(&ssconntask);
+
+ /* Application Specific Task Launching Code Block End */
+
+ /*This task is deleted because there is no need for it to run again */
+ error_code = OSTaskDel(OS_PRIO_SELF);
+ 8001168: 01003fc4 movi r4,255
+ 800116c: 80167f00 call 80167f0
+ 8001170: e0bfffc5 stb r2,-1(fp)
+ //alt_uCOSIIErrorHandler(error_code, 0);
+
+ while (1); /* Correct Program Flow should never get here */
+ 8001174: 003fff06 br 8001174
+
+08001178 :
+
+/* Main creates a single task, SSSInitialTask, and starts task scheduler.
+ */
+
+int main (int argc, char* argv[], char* envp[])
+{
+ 8001178: defff504 addi sp,sp,-44
+ 800117c: dfc00a15 stw ra,40(sp)
+ 8001180: df000915 stw fp,36(sp)
+ 8001184: df000904 addi fp,sp,36
+ 8001188: e13ffe15 stw r4,-8(fp)
+ 800118c: e17ffd15 stw r5,-12(fp)
+ 8001190: e1bffc15 stw r6,-16(fp)
+
+ INT8U error_code;
+
+ /* Clear the RTOS timer */
+ OSTimeSet(0);
+ 8001194: 0009883a mov r4,zero
+ 8001198: 80177340 call 8017734
+
+ /* SSSInitialTask will initialize the NicheStack
+ * TCP/IP Stack and then initialize the rest of the Simple Socket Server example
+ * RTOS structures and tasks.
+ */
+ error_code = OSTaskCreateExt(InitialTask,
+ 800119c: d8000415 stw zero,16(sp)
+ 80011a0: d8000315 stw zero,12(sp)
+ 80011a4: 008e0004 movi r2,14336
+ 80011a8: d8800215 stw r2,8(sp)
+ 80011ac: 00820174 movhi r2,2053
+ 80011b0: 10b38b04 addi r2,r2,-12756
+ 80011b4: d8800115 stw r2,4(sp)
+ 80011b8: 00800144 movi r2,5
+ 80011bc: d8800015 stw r2,0(sp)
+ 80011c0: 01c00144 movi r7,5
+ 80011c4: 018201b4 movhi r6,2054
+ 80011c8: 31ab8b04 addi r6,r6,-20948
+ 80011cc: 000b883a mov r5,zero
+ 80011d0: 01020034 movhi r4,2048
+ 80011d4: 21044904 addi r4,r4,4388
+ 80011d8: 801664c0 call 801664c
+ 80011dc: e0bfffc5 stb r2,-1(fp)
+
+ /*
+ * As with all MicroC/OS-II designs, once the initial thread(s) and
+ * associated RTOS resources are declared, we start the RTOS. That's it!
+ */
+ OSStart();
+ 80011e0: 8010a700 call 8010a70
+
+
+
+ while(1); /* Correct Program Flow never gets here. */
+ 80011e4: 003fff06 br 80011e4
+
+080011e8 :
+* Read the MAC address in a board specific way. Prompt user to enter serial
+* number to generate MAC address if failed to read from flash.
+*
+*/
+int get_mac_addr(NET net, unsigned char mac_addr[6])
+{
+ 80011e8: defffb04 addi sp,sp,-20
+ 80011ec: dfc00415 stw ra,16(sp)
+ 80011f0: df000315 stw fp,12(sp)
+ 80011f4: df000304 addi fp,sp,12
+ 80011f8: e13ffe15 stw r4,-8(fp)
+ 80011fc: e17ffd15 stw r5,-12(fp)
+ error_t error = 0;
+ 8001200: e03fff15 stw zero,-4(fp)
+
+ error = get_board_mac_addr(mac_addr);
+ 8001204: e13ffd17 ldw r4,-12(fp)
+ 8001208: 80018b40 call 80018b4
+ 800120c: e0bfff15 stw r2,-4(fp)
+
+ if(error)
+ 8001210: e0bfff17 ldw r2,-4(fp)
+ 8001214: 10000326 beq r2,zero,8001224
+ {
+ /* Failed read MAC address from flash, prompt user to enter serial
+ number to generate MAC address. */
+ error = generate_mac_addr(mac_addr);
+ 8001218: e13ffd17 ldw r4,-12(fp)
+ 800121c: 80017800 call 8001780
+ 8001220: e0bfff15 stw r2,-4(fp)
+ }
+ return error;
+ 8001224: e0bfff17 ldw r2,-4(fp)
+}
+ 8001228: e037883a mov sp,fp
+ 800122c: dfc00117 ldw ra,4(sp)
+ 8001230: df000017 ldw fp,0(sp)
+ 8001234: dec00204 addi sp,sp,8
+ 8001238: f800283a ret
+
+0800123c :
+int get_ip_addr(alt_iniche_dev *p_dev,
+ ip_addr* ipaddr,
+ ip_addr* netmask,
+ ip_addr* gw,
+ int* use_dhcp)
+{
+ 800123c: defff804 addi sp,sp,-32
+ 8001240: dfc00715 stw ra,28(sp)
+ 8001244: df000615 stw fp,24(sp)
+ 8001248: df000604 addi fp,sp,24
+ 800124c: e13ffe15 stw r4,-8(fp)
+ 8001250: e17ffd15 stw r5,-12(fp)
+ 8001254: e1bffc15 stw r6,-16(fp)
+ 8001258: e1fffb15 stw r7,-20(fp)
+
+ alt_u32 sw_state = ~(IORD_ALTERA_AVALON_PIO_DATA(BUTTON_PIO_BASE));
+ 800125c: 00861034 movhi r2,6208
+ 8001260: 108f5037 ldwio r2,15680(r2)
+ 8001264: 0084303a nor r2,zero,r2
+ 8001268: e0bfff15 stw r2,-4(fp)
+
+ printf("Input state: 0x%08lx\n", sw_state);
+ 800126c: e17fff17 ldw r5,-4(fp)
+ 8001270: 01020134 movhi r4,2052
+ 8001274: 211b6504 addi r4,r4,28052
+ 8001278: 8002c780 call 8002c78
+ IP4_ADDR(*netmask, 0, 0, 0, 0);
+ printf("DHCP enabled.\n");
+ }
+ else
+ {*/
+ *use_dhcp = 0;
+ 800127c: e0800217 ldw r2,8(fp)
+ 8001280: 10000015 stw zero,0(r2)
+ IP4_ADDR(*ipaddr, IPADDR0, IPADDR1, IPADDR2, IPADDR3+((sw_state>>4)&0x0F));
+ 8001284: e0bfff17 ldw r2,-4(fp)
+ 8001288: 1004d13a srli r2,r2,4
+ 800128c: 108003cc andi r2,r2,15
+ 8001290: 10800404 addi r2,r2,16
+ 8001294: 1006963a slli r3,r2,24
+ 8001298: 008001f4 movhi r2,7
+ 800129c: 10800284 addi r2,r2,10
+ 80012a0: 1886b03a or r3,r3,r2
+ 80012a4: e0bffd17 ldw r2,-12(fp)
+ 80012a8: 10c00015 stw r3,0(r2)
+ IP4_ADDR(*gw, GWADDR0, GWADDR1, GWADDR2, GWADDR3);
+ 80012ac: e0fffb17 ldw r3,-20(fp)
+ 80012b0: 008041f4 movhi r2,263
+ 80012b4: 10800284 addi r2,r2,10
+ 80012b8: 18800015 stw r2,0(r3)
+ IP4_ADDR(*netmask, MSKADDR0, MSKADDR1, MSKADDR2, MSKADDR3);
+ 80012bc: e0fffc17 ldw r3,-16(fp)
+ 80012c0: 00804034 movhi r2,256
+ 80012c4: 10bfffc4 addi r2,r2,-1
+ 80012c8: 18800015 stw r2,0(r3)
+ printf("DHCP disabled.\n");
+ 80012cc: 01020134 movhi r4,2052
+ 80012d0: 211b6b04 addi r4,r4,28076
+ 80012d4: 8002d9c0 call 8002d9c
+ printf("Static IP Address is %d.%d.%d.%d\n",
+ ip4_addr1(*ipaddr),
+ 80012d8: e0bffd17 ldw r2,-12(fp)
+ 80012dc: 10800017 ldw r2,0(r2)
+ 80012e0: 1006d63a srli r3,r2,24
+ 80012e4: e0bffd17 ldw r2,-12(fp)
+ 80012e8: 10800017 ldw r2,0(r2)
+ 80012ec: 1004d23a srli r2,r2,8
+ 80012f0: 10bfc00c andi r2,r2,65280
+ 80012f4: 1886b03a or r3,r3,r2
+ 80012f8: e0bffd17 ldw r2,-12(fp)
+ 80012fc: 10800017 ldw r2,0(r2)
+ 8001300: 1004923a slli r2,r2,8
+ 8001304: 10803fec andhi r2,r2,255
+ 8001308: 1886b03a or r3,r3,r2
+ 800130c: e0bffd17 ldw r2,-12(fp)
+ 8001310: 10800017 ldw r2,0(r2)
+ 8001314: 1004963a slli r2,r2,24
+ 8001318: 1884b03a or r2,r3,r2
+ 800131c: 1008d63a srli r4,r2,24
+ ip4_addr2(*ipaddr),
+ 8001320: e0bffd17 ldw r2,-12(fp)
+ 8001324: 10800017 ldw r2,0(r2)
+ 8001328: 1006d63a srli r3,r2,24
+ 800132c: e0bffd17 ldw r2,-12(fp)
+ 8001330: 10800017 ldw r2,0(r2)
+ 8001334: 1004d23a srli r2,r2,8
+ 8001338: 10bfc00c andi r2,r2,65280
+ 800133c: 1886b03a or r3,r3,r2
+ 8001340: e0bffd17 ldw r2,-12(fp)
+ 8001344: 10800017 ldw r2,0(r2)
+ 8001348: 1004923a slli r2,r2,8
+ 800134c: 10803fec andhi r2,r2,255
+ 8001350: 1886b03a or r3,r3,r2
+ 8001354: e0bffd17 ldw r2,-12(fp)
+ 8001358: 10800017 ldw r2,0(r2)
+ 800135c: 1004963a slli r2,r2,24
+ 8001360: 1884b03a or r2,r3,r2
+ 8001364: 1004d43a srli r2,r2,16
+ printf("Static IP Address is %d.%d.%d.%d\n",
+ 8001368: 11403fcc andi r5,r2,255
+ ip4_addr3(*ipaddr),
+ 800136c: e0bffd17 ldw r2,-12(fp)
+ 8001370: 10800017 ldw r2,0(r2)
+ 8001374: 1006d63a srli r3,r2,24
+ 8001378: e0bffd17 ldw r2,-12(fp)
+ 800137c: 10800017 ldw r2,0(r2)
+ 8001380: 1004d23a srli r2,r2,8
+ 8001384: 10bfc00c andi r2,r2,65280
+ 8001388: 1886b03a or r3,r3,r2
+ 800138c: e0bffd17 ldw r2,-12(fp)
+ 8001390: 10800017 ldw r2,0(r2)
+ 8001394: 1004923a slli r2,r2,8
+ 8001398: 10803fec andhi r2,r2,255
+ 800139c: 1886b03a or r3,r3,r2
+ 80013a0: e0bffd17 ldw r2,-12(fp)
+ 80013a4: 10800017 ldw r2,0(r2)
+ 80013a8: 1004963a slli r2,r2,24
+ 80013ac: 1884b03a or r2,r3,r2
+ 80013b0: 1004d23a srli r2,r2,8
+ printf("Static IP Address is %d.%d.%d.%d\n",
+ 80013b4: 11803fcc andi r6,r2,255
+ ip4_addr4(*ipaddr));
+ 80013b8: e0bffd17 ldw r2,-12(fp)
+ 80013bc: 10800017 ldw r2,0(r2)
+ 80013c0: 1006d63a srli r3,r2,24
+ 80013c4: e0bffd17 ldw r2,-12(fp)
+ 80013c8: 10800017 ldw r2,0(r2)
+ 80013cc: 1004d23a srli r2,r2,8
+ 80013d0: 10bfc00c andi r2,r2,65280
+ 80013d4: 1886b03a or r3,r3,r2
+ 80013d8: e0bffd17 ldw r2,-12(fp)
+ 80013dc: 10800017 ldw r2,0(r2)
+ 80013e0: 1004923a slli r2,r2,8
+ 80013e4: 10803fec andhi r2,r2,255
+ 80013e8: 1886b03a or r3,r3,r2
+ 80013ec: e0bffd17 ldw r2,-12(fp)
+ 80013f0: 10800017 ldw r2,0(r2)
+ 80013f4: 1004963a slli r2,r2,24
+ 80013f8: 1884b03a or r2,r3,r2
+ printf("Static IP Address is %d.%d.%d.%d\n",
+ 80013fc: 10803fcc andi r2,r2,255
+ 8001400: d8800015 stw r2,0(sp)
+ 8001404: 300f883a mov r7,r6
+ 8001408: 280d883a mov r6,r5
+ 800140c: 200b883a mov r5,r4
+ 8001410: 01020134 movhi r4,2052
+ 8001414: 211b6f04 addi r4,r4,28092
+ 8001418: 8002c780 call 8002c78
+ //}
+
+
+ /* Non-standard API: return 1 for success */
+ return 1;
+ 800141c: 00800044 movi r2,1
+}
+ 8001420: e037883a mov sp,fp
+ 8001424: dfc00117 ldw ra,4(sp)
+ 8001428: df000017 ldw fp,0(sp)
+ 800142c: dec00204 addi sp,sp,8
+ 8001430: f800283a ret
+
+08001434 :
+*
+* Prompt user to enter 9-digit serial number.
+*
+*/
+alt_u32 get_serial_number (void)
+{
+ 8001434: defff904 addi sp,sp,-28
+ 8001438: dfc00615 stw ra,24(sp)
+ 800143c: df000515 stw fp,20(sp)
+ 8001440: df000504 addi fp,sp,20
+ alt_u32 ser_num = 0;
+ 8001444: e03fff15 stw zero,-4(fp)
+ char serial_number[9];
+ int i = 0;
+ 8001448: e03ffe15 stw zero,-8(fp)
+
+ while(!ser_num)
+ 800144c: 00005606 br 80015a8
+ {
+ printf("Please enter your 9-digit serial number. This is printed on a \n");
+ 8001450: 01020134 movhi r4,2052
+ 8001454: 211b7804 addi r4,r4,28128
+ 8001458: 8002d9c0 call 8002d9c
+ printf("label under your Nios dev. board. The first 3 digits of the \n");
+ 800145c: 01020134 movhi r4,2052
+ 8001460: 211b8804 addi r4,r4,28192
+ 8001464: 8002d9c0 call 8002d9c
+ printf("label are ASJ and the serial number follows this.\n -->");
+ 8001468: 01020134 movhi r4,2052
+ 800146c: 211b9804 addi r4,r4,28256
+ 8001470: 8002c780 call 8002c78
+
+ for(i=0; i<9; i++)
+ 8001474: e03ffe15 stw zero,-8(fp)
+ 8001478: 00001d06 br 80014f0