diff --git a/.gitignore b/.gitignore index 2edb906..a38862d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.o -*.d \ No newline at end of file +*.d +obj/ \ No newline at end of file diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index bcb7c49..097d7c8 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index cdba232..541686a 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,4 @@ eclipse.preferences.version=1 +encoding//Debug/mini212g2.h=UTF-8 encoding//User/ch32v30x_it.c=UTF-8 encoding//User/main.c=UTF-8 diff --git a/obj/Core/subdir.mk b/obj/Core/subdir.mk index b305516..755bb00 100644 --- a/obj/Core/subdir.mk +++ b/obj/Core/subdir.mk @@ -16,6 +16,6 @@ C_DEPS += \ # Each subdirectory must supply rules for building sources it contributes Core/%.o: ../Core/%.c - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Core" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Debug" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Peripheral\inc" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\User" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Middle\QDXnetworkStack" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\include" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\portable\GCC\RISC-V" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/Debug/subdir.mk b/obj/Debug/subdir.mk index dd5a616..71b5447 100644 --- a/obj/Debug/subdir.mk +++ b/obj/Debug/subdir.mk @@ -6,19 +6,22 @@ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../Debug/debug.c \ -../Debug/dvp.c +../Debug/dvp.c \ +../Debug/mini212g2.c OBJS += \ ./Debug/debug.o \ -./Debug/dvp.o +./Debug/dvp.o \ +./Debug/mini212g2.o C_DEPS += \ ./Debug/debug.d \ -./Debug/dvp.d +./Debug/dvp.d \ +./Debug/mini212g2.d # Each subdirectory must supply rules for building sources it contributes Debug/%.o: ../Debug/%.c - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Core" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Debug" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Peripheral\inc" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\User" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Middle\QDXnetworkStack" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\include" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\portable\GCC\RISC-V" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/FreeRTOS/portable/GCC/RISC-V/subdir.mk b/obj/FreeRTOS/portable/GCC/RISC-V/subdir.mk index b7bec0a..8faeef2 100644 --- a/obj/FreeRTOS/portable/GCC/RISC-V/subdir.mk +++ b/obj/FreeRTOS/portable/GCC/RISC-V/subdir.mk @@ -23,9 +23,9 @@ C_DEPS += \ # Each subdirectory must supply rules for building sources it contributes FreeRTOS/portable/GCC/RISC-V/%.o: ../FreeRTOS/portable/GCC/RISC-V/%.c - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Core" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Debug" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Peripheral\inc" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\User" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Middle\QDXnetworkStack" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\include" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\portable\GCC\RISC-V" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ FreeRTOS/portable/GCC/RISC-V/%.o: ../FreeRTOS/portable/GCC/RISC-V/%.S - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -x assembler-with-cpp -I"D:\zj\ch32v307_camera\prj\TCPClient\Startup" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -x assembler-with-cpp -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Startup" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/FreeRTOS/portable/MemMang/subdir.mk b/obj/FreeRTOS/portable/MemMang/subdir.mk index 327aa56..406ef5b 100644 --- a/obj/FreeRTOS/portable/MemMang/subdir.mk +++ b/obj/FreeRTOS/portable/MemMang/subdir.mk @@ -16,6 +16,6 @@ C_DEPS += \ # Each subdirectory must supply rules for building sources it contributes FreeRTOS/portable/MemMang/%.o: ../FreeRTOS/portable/MemMang/%.c - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Core" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Debug" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Peripheral\inc" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\User" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Middle\QDXnetworkStack" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\include" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\portable\GCC\RISC-V" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/FreeRTOS/subdir.mk b/obj/FreeRTOS/subdir.mk index 8509ec7..a42ca10 100644 --- a/obj/FreeRTOS/subdir.mk +++ b/obj/FreeRTOS/subdir.mk @@ -28,6 +28,6 @@ C_DEPS += \ # Each subdirectory must supply rules for building sources it contributes FreeRTOS/%.o: ../FreeRTOS/%.c - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Core" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Debug" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Peripheral\inc" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\User" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Middle\QDXnetworkStack" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\include" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\portable\GCC\RISC-V" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/Middle/QDXnetworkStack/subdir.mk b/obj/Middle/QDXnetworkStack/subdir.mk index 4238a35..5b3b249 100644 --- a/obj/Middle/QDXnetworkStack/subdir.mk +++ b/obj/Middle/QDXnetworkStack/subdir.mk @@ -25,6 +25,6 @@ C_DEPS += \ # Each subdirectory must supply rules for building sources it contributes Middle/QDXnetworkStack/%.o: ../Middle/QDXnetworkStack/%.c - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Core" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Debug" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Peripheral\inc" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\User" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Middle\QDXnetworkStack" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\include" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\portable\GCC\RISC-V" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/NetLib/subdir.mk b/obj/NetLib/subdir.mk index 402ea0d..f28bed4 100644 --- a/obj/NetLib/subdir.mk +++ b/obj/NetLib/subdir.mk @@ -16,6 +16,6 @@ C_DEPS += \ # Each subdirectory must supply rules for building sources it contributes NetLib/%.o: ../NetLib/%.c - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Core" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Debug" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Peripheral\inc" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\User" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Middle\QDXnetworkStack" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\include" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\portable\GCC\RISC-V" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/Peripheral/src/subdir.mk b/obj/Peripheral/src/subdir.mk index 0e4196a..447986a 100644 --- a/obj/Peripheral/src/subdir.mk +++ b/obj/Peripheral/src/subdir.mk @@ -91,6 +91,6 @@ C_DEPS += \ # Each subdirectory must supply rules for building sources it contributes Peripheral/src/%.o: ../Peripheral/src/%.c - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Core" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Debug" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Peripheral\inc" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\User" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Middle\QDXnetworkStack" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\include" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\portable\GCC\RISC-V" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/Startup/subdir.mk b/obj/Startup/subdir.mk index 6512983..776a42a 100644 --- a/obj/Startup/subdir.mk +++ b/obj/Startup/subdir.mk @@ -16,6 +16,6 @@ S_UPPER_DEPS += \ # Each subdirectory must supply rules for building sources it contributes Startup/%.o: ../Startup/%.S - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -x assembler-with-cpp -I"D:\zj\ch32v307_camera\prj\TCPClient\Startup" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -x assembler-with-cpp -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Startup" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/TCPClient1.elf b/obj/TCPClient1.elf deleted file mode 100644 index 95992c7..0000000 Binary files a/obj/TCPClient1.elf and /dev/null differ diff --git a/obj/TCPClient1.hex b/obj/TCPClient1.hex deleted file mode 100644 index 79bcf45..0000000 --- a/obj/TCPClient1.hex +++ /dev/null @@ -1,3418 +0,0 @@ -:040000006F009054A9 -:100004000000000000000000EE050000F005000004 -:1000140000000000460D0000000000000000000089 -:10002400460D0000460D0000000000000000000026 -:10003400B83A0000000000000002000000000000C8 -:10004400460D0000460D0000460D0000460D000060 -:10005400460D0000460D0000460D0000460D000050 -:10006400460D0000460D0000460D0000460D000040 -:10007400460D0000460D0000460D0000460D000030 -:10008400460D0000460D0000460D0000460D000020 -:10009400460D0000460D0000460D0000420600001B -:1000A400460D0000460D0000460D0000460D000000 -:1000B4009E060000460D0000460D0000460D00009F -:1000C400460D0000460D0000460D0000460D0000E0 -:1000D400460D0000460D0000460D0000460D0000D0 -:1000E400460D0000460D0000460D0000460D0000C0 -:1000F400460D0000460D0000460D0000460D0000B0 -:1001040000000000460D0000460D0000460D0000F2 -:10011400460D0000460D0000460D0000460D00008F -:10012400460D0000460D0000460D0000460D00007F -:10013400460D000096060000460D0000460D000026 -:10014400460D0000460D0000460D0000460D00005F -:10015400460D0000460D0000CC580000460D00007E -:10016400460D0000460D0000460D0000460D00003F -:10017400460D0000460D0000460D0000460D00002F -:10018400460D0000460D0000460D0000460D00001F -:10019400460D0000460D0000460D0000460D00000F -:1001A400000000000000000000000000000000004B -:0C01B4000000000000000000000000003F -:10020000130181F806C216C41AC61EC822CA26CC1B -:100210002ACE2ED032D236D43AD63ED842DA46DC76 -:100220004ADECEC0D2C2D6C4DAC6DEC8E2CAE6CC46 -:10023000EACEEED0F2D2F6D4FAD6FED8F3220030CF -:1002400096DA9702002083A222EC23A02200F32555 -:1002500010342EC09305000273A0458003A1818352 -:10026000EF40702817030020032303EA0321030053 -:10027000824273901234D652739002309240A2425E -:100280003243C2435244E244724582551256A2564A -:100290003257C2575258E25872598649164AA64AEE -:1002A000364BC64B564CE64C764D865D165EA65ECA -:1002B000365FC65F13018107730020301300000012 -:1002C00013000000130000001300000013000000E2 -:1002D00013000000130000001300000013000000D2 -:1002E00013000000130000001300000013000000C2 -:1002F00013000000130000001300000013000000B2 -:1003000083A28183938202E073900234170100205C -:10031000032181DF024182403243C2435244E2441E -:10032000724582551256A2563257C2575258E25859 -:1003300072598649164AA64A364BC64B564CE64C6D -:10034000764D865D165EA65E365FC65FD652A1020A -:1003500073900230A24213018107828013000000D3 -:100360001300000013000000130000001300000041 -:100370001300000013000000130000001300000031 -:100380001300000013000000130000001300000021 -:100390001300000013000000130000001300000011 -:1003A0001300000013000000130000001300000001 -:1003B00013000000130000001300000013000000F1 -:1003C00013000000130000001300000013000000E1 -:1003D00013000000130000001300000013000000D1 -:1003E00013000000130000001300000013000000C1 -:1003F00013000000130000001300000013000000B1 -:10040000F322003093F272FF130380781203B3E2F9 -:100410006200711523205500130585FA10C12115BE -:10042000232005009302000063870200711523203A -:100430000500FD12D5BF71150CC1828000000000BF -:1004400000000000000000000000000000000000AC -:10045000000000000000000000000000000000009C -:10046000000000000000000000000000000000008C -:10047000000000000000000000000000000000007C -:10048000000000000000000000000000000000006C -:10049000000000000000000000000000000000005C -:1004A000000000000000000000000000000000004C -:1004B000000000000000000000000000000000003C -:1004C000000000000000000000000000000000002C -:1004D000000000000000000000000000000000001C -:1004E000000000000000397101436EC619A0397187 -:1004F00041536AC866CA62CC5ECE19A039710153F5 -:100500005AD056D252D44ED64AD826DA22DC06DE4B -:1005100033016140828241114AC026C222C406C60C -:100520008282B24D4101024D924C224CB24B4101AC -:10053000024B924A224AB249410102499244224462 -:10054000B240410182803D432A876373C30293779F -:10055000F700BDEFADE5937606FF3D8ABA960CC372 -:100560004CC30CC74CC74107E36BD7FE11E2828036 -:10057000B306C3408A069702000096966780A600DD -:100580002307B700A306B7002306B700A305B700EB -:100590002305B700A304B7002304B700A303B700E3 -:1005A0002303B700A302B7002302B700A301B700DB -:1005B0002301B700A300B7002300B700828093F5A2 -:1005C000F50F93968500D58D93960501D58D61B76E -:1005D000939627009702000096968682E78086FA17 -:1005E0009680C1171D8F3E96E374C3F8A5B701A08E -:1005F00037D50000130545FDEFC0204AEF50A0326B -:10060000AA8537D50000130585FEEFC0C046EF5020 -:10061000E031AA8537D50000130585FFEFC0A0455E -:10062000EF502031AA8537D5000013058500EFC0B3 -:100630008044B707EFBE37E700E0938707083CC761 -:1006400001A0397106DE16DC1ADA1ED82AD62ED49D -:1006500032D236D03ACE3ECC42CA46C872C676C4F2 -:100660007AC27EC0EF10002C13050008EF00302482 -:10067000F250E2525253C2533255A255125682568C -:100680007247E2475248C248324EA24E124F824F42 -:10069000216173002030EF10607573002030B707C0 -:1006A00000209387070A98432945290798C3EF102C -:1006B0002011854537050040EF00307E7300203063 -:1006C000EFF27FE5AE87B2852A863E85EF10D066D1 -:1006D000ADB5EFF2BFE237640120B704002037095F -:1006E00000207971130484B0938404001309090174 -:1006F000EF50601783C7719193F7F70FA9CBB70736 -:10070000C000A38B0190938707103EC683A7C191B9 -:10071000280022C43EC8EF20E01C8547E31AF5FC00 -:1007200003C7C180A6899387C18011E3CA891337A3 -:1007300017005008CE85280098A3EF1070694DF976 -:10074000854605464C084E85EF20906755B7054510 -:10075000EF40005371BFEFF21FDC371501409305E6 -:10076000001013050580EF00D038C1BB95E9EFF20A -:100770009FDA371501409305001013050580EF003F -:100780001037B707002003A4C70A11C8EF40601D47 -:100790002A860147814685452285EF40306971BB35 -:1007A000828019C9EFF23FD7AA8537D5000013051B -:1007B000050BEFC0402C51B38280EFF2DFD5411121 -:1007C0008545054502C202C423160100EF00D0533F -:1007D00083A7018137470F0013070724B3D7E70228 -:1007E0004C003705004023130100FD177C82896708 -:1007F0009387F7703EC4EF00D0580546854537050E -:100800000040EF007068854537050040EF005066F6 -:10081000854537050040EF005068B7E700E0056701 -:1008200023A2E710410111BBEFF2FFCE93F7450081 -:100830002A84AE8499C3EF10007693F7840085CBA9 -:100840000566130686B6B305C402B7070020938772 -:1008500087212285BE95EF5070522285EF10607D72 -:1008600037D50000A28513058505EFC0C02093F79A -:10087000040199CB2285EF10E07D37D50000A285D9 -:1008800013054507EFC0201F93F4040499C822857F -:10089000EF10407C37D50000A28513054509EFC055 -:1008A000801D61B9EFF23FC7EF60E01F937715003D -:1008B0002A8499C737D5000013058501EFC0E01DD4 -:1008C0009377240099C737D500001305C502EFC000 -:1008D000C01C9377440099CBEF60C020118919C5E3 -:1008E00037D5000013054504EFC0201B418819CC03 -:1008F0000145EF60801CAA8519C1014535370545C2 -:10090000EF60A01BAA8519C10545393F3DB1EFF243 -:100910009FC0EF10601AEF60201511C161370945C3 -:10092000EF400036FDB7EFF27FBD0111C52CEF405F -:100930005057716513050520EF40705C83A5018158 -:1009400037D500001305050CEFC0E012EF00407929 -:100950009375F50F37D500001305050EEFC0A011F4 -:10096000EF0000781375F50F9375F50193E5050C0D -:100970002EC6630BB502EF002074B2453705002088 -:1009800013052580EF00E079EF00A07437D5000053 -:100990008D451305450FEFC0000EB707EFBE37E7D3 -:1009A00000E0938707083CC7EF509014AA8537D51D -:1009B000000013054512EFC0000CEF507013ED4717 -:1009C0006308F50037D5000013054513EFC0E00CB0 -:1009D000370400201305440AEF00905C37D500006F -:1009E00013054514EFC020098144130A440AB7D9FE -:1009F00000001949B3079A008C2313850915850453 -:100A0000EFC06007E39824FF2945EFC0A00DEF4039 -:100A1000105965338545114502CA02CC02CEEF005C -:100A2000D02C93070010B7140140FC82C1471385F6 -:100A300004803ECE4C0889473ECCEF00407F1385B2 -:100A4000048093050010EF00D00A3707000037D567 -:100A5000000013076775814601469305400613059C -:100A60004515EF407035B707002023A6A70AB70544 -:100A700000209306440A138681809385050413851C -:100A80004180EF108042AA84293B99E437D50000C9 -:100A900013058515EFC06000B5653146938585FC6B -:100AA0004808EFC0E0424808EF50E06EEF10A05C4D -:100AB0009305000C13050010EF10902181451305DC -:100AC000440AEF20B01C370500001305056CEF2029 -:100AD000702D370500001305C576EF20902DEF200F -:100AE000D024B7D50000371500008147194781464B -:100AF00013060040938505171305E590EF30103C71 -:100B0000B7D5000037050000814715478146130619 -:100B10000040938585171305256DEF30303AEF308F -:100B2000305A01A0B71702409843B706FFF04111B1 -:100B30001367170098C3D84337060200758FD8C3D0 -:100B40009843B706F7FEFD16758F98C39843B7060E -:100B5000FCFFFD16758F98C3D843B70601FFFD163D -:100B6000758FD8C39843B70600ECFD16758F98C3F0 -:100B70003707FF0098C723A6070202C402C698439E -:100B8000C166558F98C3B716024005679C42F18F26 -:100B90003EC6A24785073EC4B24781E7A247E39716 -:100BA000E7FEB71702409C431397E700635607061A -:100BB00085473EC632478547631EF704B717024094 -:100BC000D843B706C1FFFD16D8C3D843D8C3D8430E -:100BD00013670740D8C3D843758FD8C3D843C166BD -:100BE000558FD8C39843B7060001558F98C39843D3 -:100BF00093166700E3DD06FED843B7160240719BEB -:100C0000D8C3D84313672700D8C32147DC42B18B30 -:100C1000E39EE7FE4101828002C669BFB71602402B -:100C2000D8421146318B938701816305C700214665 -:100C30006308C70237177A001307072098C33717CE -:100C40000240584311839376F700370700201307BB -:100C500007023697142398433357D70098C38280EE -:100C6000D842D442416649833D8BF18E130627005A -:100C700015CF3D47630FE6024147630FE602454744 -:100C800081456313E6004146A1E23747024003274E -:100C90000780418B0DC737177A00130707203306EB -:100CA000C70290C3C9DD9843058349BF81454946C2 -:100CB000E1BF85453546C9BF81453D46F1B7371788 -:100CC0003D0013070790E1BF3715024058559316B2 -:100CD000F700585563DF060411833D8B9306170018 -:100CE00037177A00130707203357D70298C3545594 -:100CF000A182BD8A8DE295463307D702058398C34A -:100D000037170240585794433D8B050733D7E60207 -:100D100098C3984369B705456394A600E546E9BFC3 -:100D20003D456396A600D1463387E602C9BF8906D2 -:100D3000E5BF3D8B9306170037177A00130707208E -:100D40003357D702F1B701A097010020938181AFFB -:100D500017F102201301012B17C500001305C57BF5 -:100D600097F5FF1F9385052A1386018663FAC50050 -:100D70008322050023A0550011059105E3EAC5FE75 -:100D800017F5FF1F1305053297D50220938505EE51 -:100D90006377B500232005001105E36DB5FEFD4224 -:100DA000739002BCAD4273904280B76200009382A0 -:100DB00082087390023097F2FFFF9382E22493E25D -:100DC000320073905230EFF0FFD59702000093820B -:100DD000C2B57390123473002030B7F7FF1F03A51C -:100DE00047708280B7070550B82301C5D98DACA3E1 -:100DF000828093C5F5FFF98DDDBFB70705509823B5 -:100E00001377F70C98A3982319C9598D88A337072E -:100E100005501C2389C993E707041CA3828013771C -:100E2000F70C98A3EDB793F7F70BC5BF1DCD85471A -:100E30006318F500370705501C3393E717001CB300 -:100E40009DC985476398F500370705501C3393E724 -:100E500027001CB31DC685476318F60037070550E9 -:100E60001C3393E747001CB38280370705501C33BF -:100E700093F7E70FE9B7370705501C3393F7D70F00 -:100E8000C9BF370705501C3393F7B70FE9BFEFF21F -:100E90008FE885451165412D8145116569256FF004 -:100EA000CFE9411102C6B78602409C4A41672E0530 -:100EB0007D17F18B798D9A055D8D93F5057CC98D34 -:100EC00093E51500B70750008CCAF917324705079C -:100ED0003AC6984A058B01C73247E3F9E7FE324725 -:100EE000B7075000FD1701456307F700B7870240B9 -:100EF000C84B42054181410182804111B7870240C0 -:100F000002C6984BC166FD162E05758D718B9A052C -:100F1000598D93F5057CC98DD0CB93E535008CCBED -:100F2000B7070500B7860240F917324705073AC6EA -:100F3000984A058B01C73247E3F9E7FE3245B70708 -:100F40000500FD173335F5004101828037870240E7 -:100F50001C4309C593E787001CC38280DD9BEDBF5E -:100F6000378702401C4309C593E747001CC38280B2 -:100F7000ED9BEDBFB707002023AAA70A2A87814768 -:100F8000B70810401303405F130EF6FF6396C700C7 -:100F9000B797024088CB8280B3866702232017016F -:100FA0002A88AE9614C79306070163F3C7013688F3 -:100FB0002326070185073687D1BFB7070020916632 -:100FC00023A8A70A0147AA87370300809386465FB4 -:100FD000130E405F930EF6FF6316C700B7970240EB -:100FE000C8C782803308C70323A06700D4C3AA8878 -:100FF0002E9823A40701138807016373D701C288C1 -:1010000023A617010507C287C1BF379702401C43BB -:1010100093E717001CC38280B7970240C8CB828039 -:10102000379702401C4FB7061000D58F1CCF828027 -:10103000EFF26FCE378402401C4093E787001CC05C -:10104000C5371C40896693E747001CC0B79702402C -:10105000984F558F98CF984F1367270098CF6FF010 -:10106000CFCD99C5379702405C4F5D8D48CF8280C8 -:10107000B7970240D84F1345F5FF798DC8CF8280CE -:10108000378702401C4315C193E727001CC39D47C7 -:1010900063ECB700378702401C43F6058E078D834B -:1010A0001CC31C43DD8D0CC38280F59BC5B7B707FD -:1010B000014023AAA7408280B7076745372702402F -:1010C000938737125CC3B797EFCD9387B79A5CC30A -:1010D0008280372702401C4B93E707081CCB828095 -:1010E000B7270240C84F09818280372702405C47FA -:1010F0000545858B91E748474189133515000D0556 -:101100008280EFF24FC12A848544C5376318950069 -:1011100019E0154529A0D13F7D14CDBF7DD86FF0D2 -:10112000CFC1EFF24FBF79712A8415652EC6D13F2A -:101130009147B245631CF508B7076745372702405A -:10114000938737121CC7B797EFCD9387B79A1CC701 -:10115000A30F01001D47370600208347F101637A82 -:10116000F706B7270240984B1367070298CB984BB6 -:101170001367070498CBD847058B75FF984B9D469E -:10118000370600201377F7FD98CB371700E01307D9 -:1011900007803A94799818183A9413C7F5FF4207D4 -:1011A00041832207D98D984B2318B4FEB7250240FE -:1011B0001367070198CBA30F01008347F10163F088 -:1011C000F604372702401C4BBD9B1CCB45616FF0DA -:1011D000CFB68346F1018347F10113080103860668 -:1011E000B29683D606808607C2972398D7FE834798 -:1011F000F101850793F7F70FA30FF100B9BF03477C -:10120000F10100188347F10106072297035707FFF2 -:101210008607B2972390E780DC45858BF5FF8347EF -:10122000F101850793F7F70FA30FF10079B79C45FC -:1012300013F7070113F8F70001C7D8413368E80036 -:101240008E2113F7F50F39C318418146854E3D4F66 -:10125000930F800293028004214E3396DE00B3F890 -:10126000C500631116039398260033131F0113431F -:10127000F3FF3377E300B318180133E7E800639F07 -:10128000F70550C98506E39AC6FD18C11307F00F8C -:101290006375B70454412146854E3D4F930F80023C -:1012A00093028004414EB398CE0033F71501639248 -:1012B000E8021317260001173313EF001343F3FF5F -:1012C000B376D3003317E800D98E639DF701232A44 -:1012D00015010506E319C6FD54C18280E39457FA4F -:1012E00010C94DB7E39757FE23281501DDB70CC988 -:1012F00082804CC98280B707002003A7870B8947EB -:1013000010216311F70214318D4763EDD7003C21A2 -:101310009A0637E700E09607D58F93F7F70F3297D5 -:101320002300F74054410547935756003317C70031 -:1013300089CA938707048A07B7E600E0B69798C37F -:10134000828093870706B7E600E08A07B69798C3BE -:101350000F1000008280371702405C439146B18B2A -:101360006385D700A1466382D706B7177A009387B3 -:1013700007201CC1371602405C42370700201307C4 -:1013800007039183BD8BBA9794231C41B3D7D70031 -:101390005CC15442A1829D8ABA969422B3D6D700EA -:1013A00014C55442AD829D8A36971823B3D7E700FF -:1013B0005CC558423983937637001387418136974D -:1013C0001823B3D7E7021CC982805C435843C16627 -:1013D000C983758FB7F6FF1F83A6C670BD8B8907BB -:1013E0001396160163480600C54601466392D7026C -:1013F000C94739A88946638FD702BD46638ED70295 -:10140000C146638ED702C54601466393D700C147E4 -:101410001DEF3747024003270780418B05C7371769 -:101420007A0013070720B307F7021CC121D61C411D -:10143000858381B701466DBF0546B547D1BF0146DB -:10144000BD47F9B737173D0013070790E9BFB71538 -:101450000240D8559316F700D85563DF0604118370 -:101460003D8B9306170037177A0013070720335771 -:10147000D70218C1D455A182BD8A8DE295463307A3 -:10148000D702058318C137170240585714413D8BC6 -:10149000050733D7E60218C1184171B78545639433 -:1014A000B600E546E9BFBD456396B600D146338731 -:1014B000E602C9BF8906E5BF3D8B930617003717C3 -:1014C0007A00130707203357D702F1B799C53717AA -:1014D00002405C4B5D8D48CB8280B7170240D84BF1 -:1014E0001345F5FF798DC8CB828099C53717024027 -:1014F0001C4F5D8D08CF8280B7170240984F13456F -:10150000F5FF798D88CF828099C5371702405C4FEF -:101510005D8D48CF8280B7170240D84F1345F5FF45 -:10152000798DC8CF828099C5371702401C575D8DD1 -:1015300008D78280B717024098571345F5FF798D79 -:1015400088D78280B7170240D857B706D0FFFD165C -:10155000758FD8D7D8575205598DC8D7828009C9F9 -:10156000371702405C57B7064000D58F5CD78280A2 -:10157000B7160240DC563707C0FF7D17F98FDCD65F -:10158000828037F7FF1F032747701E219146118382 -:101590003D8BC2077117C18363E6E602373701400E -:1015A000930607C0630ED50013070740630AE500E2 -:1015B00037570140930607C06304D500631AE5005E -:1015C0000967D98F37370140130707C06302E50465 -:1015D00037070040630EE50213070740630AE50280 -:1015E00037170040930607806304D502130707C02E -:1015F0006300E5023737014013070740630AE5003F -:1016000037570140930607C06304D5006318E5000F -:1016100093F7F7F8BA21C207C183D98F3717004073 -:10162000630CE500130707406308E50093F7F7CF65 -:10163000FA21C207C183D98F1EA1DE215EB59E218A -:101640001EB5B7370140138707C0630EE5009387C7 -:101650000740630AF500B7570140138707C06304CA -:10166000E5006314F5009C251EB985475EA98280BC -:101670001E2189C593E717001EA18280C207C1837E -:10168000F99BC207C183CDBF5E2501C6DD8D4EA586 -:10169000828093C5F5FFFD8DDDBF93C5F5FFC205C3 -:1016A000C1810EA98280EFE21FE71629F577FD17A9 -:1016B000F58FF621DA257971D58F1EA95625FD778C -:1016C0009387379FF58FD6212A842EC6D58F9625EE -:1016D000D58FB625D58F5EA55E29C207C18393F746 -:1016E000F7CFD98F5EA96808BD31B747014093870E -:1016F0000780B245631EF402A2576547B387E7022D -:101700009841930640060A07B3D7E70233D7D702BA -:10171000B3F7D7021207920793872703B3D7D702ED -:10172000BD8BD98FC207C1831EA445616FE0FFE066 -:101730009257E1B791C55E250967D98F5EA5828072 -:101740005A25F977FD17F98FD5BF93F5F51F4EA1EF -:1017500082800A216D8D3335A0008280B70600207B -:1017600083A7460B9843634B070298433706003024 -:101770004E05518F98C39843370600804D81518F95 -:1017800098C3C8C38CC737970240114650CB232259 -:101790000700DC47054523AAF60A828001458280BE -:1017A00037F7FF1F81471307D77E99463306F74067 -:1017B0000C223306F50085070CA2E399D7FE828040 -:1017C000B70700209387870C98433A9588C3828097 -:1017D000EFE2FFD1411185450545013B8545714546 -:1017E000293337190140832749C0370701FF7D1787 -:1017F000F98F2322F9C0832749C03707BB000D4466 -:10180000D98F2322F9C0832709C07D773D07F98F3F -:10181000E1442320F9C04C009147130509807C82E4 -:1018200022C426C6EFF0BFA0A14B4C0013050980CF -:101830002312710122C426C6EFF07F9F130B00080C -:101840004C00130509802312610122C426C6EFF063 -:101850001F9EC1474C00371501407C8222C426C61A -:10186000EFF0FF9C930700024C00371501407C828B -:10187000930909C022C426C6EFF07F9B854A4C001D -:101880004E852312510122C426C6EFF05F9A91447F -:101890004C00371501402312510122C426C6EFF037 -:1018A0001F99094A4C00371501402312410122C4F7 -:1018B00026C6EFF0DF974C0037150140648222C442 -:1018C00026C6EFF0DF964C00371501402312710158 -:1018D00022C426C6EFF0BF954C00130509802312E1 -:1018E000510122C426C6EFF09F944C0013050980D5 -:1018F0002312410122C426C6EFF07F934C004E858F -:101900002312410122C426C6EFF07F924C00371506 -:1019100001402312610122C426C6EFF05F9141010C -:101920006FE07FC0EFE29FBDB70400201384C40CBA -:101930000A200566130636A4FD45EFF00FDC0A20E9 -:10194000E945B7090020EFF0CFD50A20E945938497 -:10195000C40CEFF00FD583A7C90B130700022A842C -:1019600093F7070F9389C90B4149637BF7061379F6 -:101970004400B707002022852390270DEF4020194F -:10198000630D090291450145EFF08FEF93778400D5 -:10199000B7860240ADC39C42056713070780D98F05 -:1019A0009CC21374040331ECB78602409C42517709 -:1019B0007D17F98F9CC2EFF0AFE78A20F545EFF075 -:1019C0004FCE05A813054006EF3010508A20E94598 -:1019D0007D19EFF00FCD1379F90F2A846303090005 -:1019E00075D0B707002003D7070C93774400E310A6 -:1019F000F7F86FE0FFB39C427D771307F77FF98F0D -:101A000045B7C147631EF400B78702409843D176BB -:101A1000FD16758F98C398439166558F98C361BF23 -:101A200093070002E319F4F8B78702409843D17690 -:101A3000FD16758F98C39843A166558F98C383A7E9 -:101A400009001307F00593F7070FE376F7F68945CA -:101A50000545EFF0EFE285B7370700201307870C45 -:101A600014431306803EB7070020B3D6C6029387FF -:101A7000470C8C436381B604EFE2FFA91843FD4590 -:101A800005453357C7020566130636A498C3EFF021 -:101A9000CFC6E9450545EFF0CFC0E9450545EFF074 -:101AA0004FC0B707002083D7070C11896383A700B5 -:101AB000953D6FE09FA88280EFE2FFA5EF40E00335 -:101AC000EF309067513F6FE05FA7EFE2DFA4B7868A -:101AD000024023A80600AA879047D8432E85814557 -:101AE000518FD047518FD053518FD057518FD04FF6 -:101AF000518F98C2D05F985F518FB043518FF043A0 -:101B0000518FB047518FF047518FB04B518FF04BF1 -:101B1000518FD8C2B84F98C6F84FD8C6B05BF857A7 -:101B2000518FF05B518FB0534206518F98CEF05FCA -:101B3000B85F518FD8CE83A6C70803A707082166D0 -:101B4000558F83A6470983A78709558F5D8FB79760 -:101B5000024098CFEFF06FBA05456FE01F9EEFE2AD -:101B6000FF9931718545AA847165EFF03F9637473B -:101B700002403709002085472316F90C8327078088 -:101B80000945096493E787002320F780EFF09F9BC6 -:101B90000545EFF0DF9C130404711D391309C90CCE -:101BA000EFF0EFAEB7990240EFF02FC67D1442047C -:101BB00029454180EF30503109C483A70900858B46 -:101BC000F5F7835509009307000437042000130735 -:101BD00000084800BEC222C93ACD3ECF02C402C6A8 -:101BE00002C802D402D802D002DE82C882C482CAED -:101BF00082CC82C682C082CE82D082DE02C182D2F4 -:101C000082D882DA82DC02C3C935DC30D820B786BC -:101C10000240A207D98FBCC298309C206165220780 -:101C20005D8FBC2085451305150CC2075D8FBC3048 -:101C3000E207D98FFCC2B707020023A8861093875A -:101C4000070223A6F610EFF0CFC10566130636A4EF -:101C5000FD450545EFF06FAAE9450545EFF06FA496 -:101C6000E9450545EFF0EFA31189B7070020239060 -:101C7000A70C29616FE0DF8BEFE2FF890145EFF0F0 -:101C8000EFACEFF0EFB90145EFF08FAD6FE0FF8AF9 -:101C9000EFE2FF8537840240B7940240B706700038 -:101CA00037076000DC48F58FE39EE7FEF137832BB2 -:101CB0000401032B0400832A4400032A840083299F -:101CC000C40003298401032CC4010964844C130457 -:101CD0000471EFF0CF9BB79C0240EFF00FB37D147F -:101CE000420429454180EF30301E09C483A70C000F -:101CF000858BF5F7B70600201387460A5C3350231F -:101D000037840240A207D18F3CC003C7560A83C75D -:101D1000460A616522075D8F83C7660A85451305FC -:101D2000150CC2075D8F83C7760AE207D98F7CC086 -:101D3000B70720002328F410B70702009387070293 -:101D40002326F410EFF0EFB137750020B79500208F -:101D5000930C859509469385453213058595EFF0DB -:101D60006FA137750020B7750020130D858E1D46B5 -:101D7000938585971305858EEFF02FA4B707002074 -:101D800023A8A70DB707002023AA970D23287401C5 -:101D900023206401232254012324440123263401F7 -:101DA000232C2401232E8401B797024084CFEFF027 -:101DB0002FA86FE04FF7B707002083A7C70B1307C3 -:101DC000000293F7070F6362F702EFE2CFF4379454 -:101DD00002401C503707FE1FF98F91C7553D232441 -:101DE0000400232204006FE04FF58280EFE2AFF29F -:101DF000B7970240C04B9317040163DD0700937748 -:101E0000040891C74D3F13050008EFF0EFA02165CE -:101E1000EFF08FA09317F40063D1070293770404C7 -:101E200089C713050004EFF02F9F058801C40545FD -:101E3000EFF08F9E4165EFF02F9E6FE00FF0EFE225 -:101E40008FED2A84EFE07FF9B707002023AEA70AC1 -:101E50002285313337750020B7950020130485950E -:101E600009469385453213058595EFF0AF90377598 -:101E70000020B77500209304858E1D4693858597B5 -:101E80001305858EEFF06F93B707002023A8970CFA -:101E9000B707002023AA870C0967B7E700E023A44F -:101EA000E710A38607446FE04FE9EFE2CFE6397110 -:101EB0009307405F3ECA9307405B3ECC8967938798 -:101EC000C7E63ECE930720033ED0930730103ED2A4 -:101ED000B727554089073ED4B71700009387C775C9 -:101EE0003EDAB7573412938787672A8948082EC687 -:101EF00032C4B68402D602D802DC3EDEEF40002BAC -:101F00002A8411E92246B245A6864A85EF40E01DA3 -:101F10002A8426852D37228521616FE00FE237F76D -:101F200000208347478C1307478C81C71C33638588 -:101F3000A7028566BA9603C6C6B7814701CE83C697 -:101F4000D6B76399A600854705651305C5B7B3875E -:101F5000A702BA973E8582808147FDB705CDEFE2A3 -:101F60008FDB8564AA942A8403A544B709C5EF20B2 -:101F7000A05923AA04B68564A29403A584B709C511 -:101F8000EF20805823AC04B6230004002301040092 -:101F90006FE0AFDA8280EFE26FD6130101DFAA892A -:101FA000BD3F3DC18564330995002A84130A002092 -:101FB000938484B670000C084E8552C6EF402061B1 -:101FC000B24695CA035609B793950601C181338776 -:101FD000C440BA874207418363F3E500B687C2076E -:101FE000C18381461397060141836363F702B29769 -:101FF0002318F9B661D185673E94032544B781461D -:1020000001468145EF10F061130101216FE04FD2CD -:102010000357C9B60C08B69503C80500B305E4001C -:102020000507336797022382050185062316E9B663 -:1020300055BFEFE24FCEE53501CD85473CA1856721 -:102040003E95032585B7814601468145EF10705DB9 -:102050006FE0AFCEEFE22FCCD93501CD85672301FC -:1020600005003E95032545B7814601468145EF10A1 -:10207000505B6FE08FCCEFE20FCA056637F50020AA -:102080001306866F81451305458CEFE0CFCB0545E0 -:10209000EF10B073B707002023ACA70C6FE0EFC9B7 -:1020A000EFE26FC7EF20F00B06056FE00FC9EFE21C -:1020B0008FC69307401F3305F5029307803E3355C3 -:1020C000F502EF20F03B6FE04FC7EFE2CFC40545CC -:1020D000EF10B06F6FE06FC601C9EFE2CFC3FD55DF -:1020E000EF20601A6FE06FC5828011C9EFE2AFC2C6 -:1020F000814601468145EF10D0526FE00FC48280C7 -:10210000EFE26FC19307F03F2A882E8593D5260012 -:1021100063E4D70093050010B2861396050181474A -:102120004182C285EF2080597D153335A0003305EB -:10213000A0406FE08FC0EFE28FBB5D712E8902CAB5 -:1021400002CC02CE02D0AA8501470D48A548130350 -:10215000E002294E83860500A1C6635AE800AA85DD -:1021600037D5000013058525EFA0F01069A09387EF -:1021700006FD93F7F70F63E1F8029C08131627009A -:102180003E96832746FCB307FE02B697938707FD6A -:102190002322F6FC85057DBFE39366FC0507DDBFC2 -:1021A0008D47E31EF7FA524A9307F00FE3E947FB26 -:1021B000E24A23084101E3E457FB724BA3085101B3 -:1021C000E3EF67F9825B23096101E3EA77F937F40A -:1021D00000208347448CA30971011304448C91CFE0 -:1021E0008567A29783C7C7B7C5CF37D5000013054A -:1021F000451AEFA0900A014491A281448569138693 -:10220000C9B7B384C402814526942285EFE0AFB3F9 -:1022100085471CA0B7F7002093874742BE9423A6AA -:102220000400338C89000D46814523180CB6054502 -:10223000EF105038232AACB60D4681450545EF1006 -:1022400070371306C003232CACB681454808EFE075 -:102250008FAFB70400208D479384840D3ED888400B -:10226000C247FD554ADCBEC0A3070100EF20A00114 -:102270004C081305F100EF40C00DAA8C8840814640 -:1022800001468145EF10F039638E0C0037D5000010 -:10229000E6851305451CEFA0007E2285C131A1BF54 -:1022A0008544A9BF8887138689B6B7070020B30580 -:1022B000C5029387872108B0BE95EF40202C884047 -:1022C000FD55EF10507C8887EF407002AA8C884043 -:1022D000814601468145EF10D034638E0C0037D51E -:1022E0000000E6851305851EEFA0E078888781450C -:1022F000EF40D0165DB703258CB79385499CEF104E -:10230000907885476309F50037D500001305C5208F -:10231000EFA0A078E1BF3C20888793F7F70F99E3FF -:102320008145F9B7AA8537D500004A88DE875A87E4 -:10233000D686528613058522EFA0E073228561615F -:102340006FE06F9E19E17D5582803C2193F7F70F76 -:10235000FDDBEFE24F9CB70400209384840D2A84B8 -:10236000884041112E89FD5532C6EF10D0710830DA -:102370007000CA85EF40E05A2A84884081460146B1 -:102380008145EF10102A7D5511E0324541016FE083 -:10239000CF9A11E57D5582807D556FE06F99EFE210 -:1023A000EF958567AA9783D707B793140601C18075 -:1023B00063F3F400A6870567C207C183814633082B -:1023C000E500130687B6139706014183636CF70097 -:1023D00005692A99035709B71D8F2318E9B68DC7D8 -:1023E0003E8565BF0357E8B62A9783484700338781 -:1023F000D5008506230017010357E8B605073367A4 -:10240000C7022317E8B6C1B73C2193F7F70FC9D726 -:102410002A84032549B7AE8993052003EF10B066DF -:10242000835709B763F3F400A6870567C207C18322 -:102430008146B305E400130687B61397060141836E -:102440006362F70205672297835607B79D8E2318AC -:10245000D7B6D9F728201375F50F133515003305B6 -:10246000A04025BF03D7E5B6229748233387D9007C -:10247000850608A303D7E5B605073367C702239788 -:10248000E5B665BF29C5EFE20F891C212A849DC3EB -:10249000B70400209384840D8840FD55EF10B05E92 -:1024A00008308145EF40807B884081460146814568 -:1024B000EF1030178567A297239607B6239707B6C4 -:1024C000239807B62285EFF07FA96FE00F878280FF -:1024D0009307001063F7A7007D5582807D556FE05C -:1024E000CF85EFE24F833705012013060040814579 -:1024F0001305C502EFE02F85370501201306E0061E -:1025000081451304C5FB1305C5FBEFE0CF83EFF056 -:10251000DFBBB707002023A0A70E69D185477CB891 -:102520001CBC0547B7070020230C0400230D040042 -:10253000238EE70C014565B7B707002083C7C70D99 -:10254000D1C7EFD2BFFB4111B70900202AC603A5AE -:10255000090E2E89B284EFF03FB8B2459389090E77 -:1025600089C9370501201306D0031305C5FBEFA069 -:102570003016370401201304C4FB630809006946C0 -:10258000CA851305D403EFA0B01499C45D46A6858F -:1025900013057405EFA0D0131C2C7838A207D98F2F -:1025A00089E785477CB8230C04001C4CA183C20733 -:1025B000C18389E785471CBC230D040003A50900DE -:1025C000EFF0BFB2014541016FD09FF67D5582808B -:1025D000B707002083C7C70D63830730FD5763012A -:1025E00005301841630E072E638C052E9841630950 -:1025F000072E6307062EEFD29FEF3709002013093D -:10260000090EAA89032509003284AE84EFF0DFACFD -:10261000B70701209387C7FB03AB8701F83B03256E -:102620000900937BFB0FA20BB3EBEB00039D27028A -:10263000EFF0BFAB03D94900135B8B00420B135B78 -:102640000B0183DC6900DE8A63737901CA8AC20ADE -:1026500093DA0A015A8A63F36C01668A420A135AB2 -:102660000A01338C4A039444D040F55713171C00D9 -:102670003697636CE60463EC2B09636A9B093303AA -:1026800099039040814581473696A1666175FD1694 -:1026900013971500639E6502B3D7B702904003A855 -:1026A000840058C023142401429610C023159401BD -:1026B00056A46AA4C207C187230A04001EA83EA824 -:1026C00083A789001CCCD8C481473E856FD0BFE565 -:1026D00003A80900B688429703580700131708019A -:1026E00041876353D700BA8893960801C186AA88A8 -:1026F0006353E500BA882300060113950801BA97D1 -:10270000090621874185A30FE6FE850551B7370BE2 -:1027100001201316290081451305CB02EFD0BFE23B -:10272000931E1900814701488148014EB38C4C41EA -:102730001307CB02130FFAFF63D7FC0233082803F9 -:102740009C4403A30400216593921A003E93014E1A -:102750008147E17E7D156303CA17338608010606AB -:102760009A85814699A23A830146A9CF9386F7FFBD -:102770003306FF00B386260381453306260386060B -:102780000606639B2505BA86814501466395BA080E -:102790006367CE0C8546B30FB94065A883AF0900C7 -:1027A000AA9F839F0F0063D4AF01930FA0058506F6 -:1027B000C206FE95C1827695E312DAFE2320B300AD -:1027C0000506110393160601C182E3FE26FB1315CD -:1027D000160081468145CDB783AF09003385DF0000 -:1027E00083120500B29F839F0F0063D4A20193025E -:1027F000A00563D4AF01930FA00503250300850551 -:10280000C205330555407E952320A300C1811103E5 -:1028100089060906BDB788428505C2052A96C18189 -:102820009106ADB73385B6007D151383F6FF0A0513 -:102830000A033A953A9308410323030033056540A0 -:102840002A966375CE003E88B688328E8506C2060B -:10285000C182E3D9DFFC8507C207C183F1BD3E8891 -:10286000328E814805BF03A70900AA8F3297035F04 -:10287000070013170F0141876353A700BA8F139501 -:102880000F014185F68F63D3EE00BA8F8506238052 -:10289000E501939E0F01BA9789052187C20693DE51 -:1028A0000E41A38FE5FEC1820906E39EDAFA050E0A -:1028B000420E1693135E0E014A9871BD98409444DF -:1028C000B3D7870323145401369718C013171C007D -:1028D00058C0231544014AA42317D401E1BBFD5776 -:1028E0003E858280B707002083C7C70D6385071226 -:1028F000FD5763030512184163000712EFD23FBF73 -:10290000B70B0020938B0B0E2A8A03A50B00EFF068 -:10291000AFFCB70701209387C7FB8057C45703C993 -:1029200077021377F40F03A50B00220713F6F40FB9 -:10293000220633692701A180135784006180931A0E -:10294000070103CB670283992702518CC204EFF081 -:10295000CFF993DA0A01C18081475DC8D5C8035712 -:102960004A006377E90A83566A0063F3DA0AB30719 -:1029700024016356F7003304274142044180B387A2 -:10298000540163D6F600B3845641C204C180131EBD -:1029900017003307570383270A0001480145814583 -:1029A0004A9706073E97E177BA8801468396080062 -:1029B00063D436019306A005368363D3F6003E83C5 -:1029C000050693DEF6414206AA9693170301F69593 -:1029D00033B3A6004182C18736859A958908E317EB -:1029E000C4FC05084208135808017297E39E04FBD3 -:1029F0000547630BEB00330694029356F641EFA0B4 -:102A0000E00F93170501C187B3A7370193C71700DC -:102A10003E856FD05FB1FD573E8582800CA1A181BC -:102A20000CB1828093D785000CA11CB193D705010E -:102A3000E1813CA12CB182801C310821A2075D8D6F -:102A400082801C311821A2075D8F3C212831C207EA -:102A5000D98F62055D8D8280C167E9760147FD17D8 -:102A600085066344B7003E8582803306E500102268 -:102A7000B18F214613F81700858363050800B58FD1 -:102A8000C207C1837D167DF60507E1BFEFD2BFA85F -:102A9000930457012E899305A0FA0CA1C204930553 -:102AA00050050CB1C180930500022CA1A3020501C1 -:102AB00093D584001358880041112A844CA124B175 -:102AC00023030501C6851D0532C636C43EC23AC081 -:102AD000913F9247024732465CA4A1835CB483478E -:102AE0000102A246854593E707027CB4935787000D -:102AF0002CB42307240110A818B83CA881CA19C710 -:102B00003A86B68513053401EFA0A0471389E4FF88 -:102B1000CA85228591374A9408A0218108B026856C -:102B200041016FD09FA1EFD21F9F49069314060168 -:102B30001306A0FA10A113065005C18010B11306A8 -:102B4000000230A158B113D68400218341112A8498 -:102B500050A178A124B12E891D05BE8536C642C478 -:102B6000D135B2462248854754A423072401A182C7 -:102B7000136808021389E4FF3CB454B4A3070401AA -:102B8000CA852285D13D4A9408A0218108B02685B6 -:102B900041016FD09F9AEFD27F96938426013289AC -:102BA0001306A0FA10A1C2041306500510B1C1808B -:102BB0001306000230A15CB113D68400A183411139 -:102BC0002A847CA1AE8924B150A1C2851D053AC6D4 -:102BD00046C436C2813D3247A248854758A4218366 -:102BE0003CB458B423073401A3071401630A090055 -:102BF000924699C63686CA8513050401EFA060384F -:102C00001389E4FFCA852285813D4A9408A0218169 -:102C100008B0268541016FD0BF911C4123090500F2 -:102C200099CBEFD25F8F2A843E85EFF0BF852320BA -:102C300004006FD09F908280EFD2FF8D2A842829D4 -:102C4000130101BD39C9032804007D556308080438 -:102C500003580401BE843AD6930718001EA8B7078C -:102C6000012083D7C74436D432D22ED042CE3ECCB8 -:102C7000EFF00FC3125682557248E2473257A25600 -:102C8000AA8826C0081819352A8608400C18EFF0C3 -:102C90006FEB63550500228549377D5513010143CC -:102CA0006FD0BF89EFD23F8739711306600381452A -:102CB0002A842800EFD03F89930500202800EFF0F8 -:102CC000FFD5B70501209384C54241469385C5428F -:102CD0001305A100EFA0C01F414693850401130511 -:102CE000A101EFA0E01E340037D7000036868147EF -:102CF0001307C72A2145B385E7008385050099C5D9 -:102D00002301B60285070506E397A7FE37D7000023 -:102D100081471307472BA1453386E70003060600CA -:102D200019C62385C60285078506E397B7FE1305F6 -:102D3000A1039D45EFF01FCF3400C1471307600387 -:102D4000054691452285CD3D21616FD00FFFEFD221 -:102D50008FFC41112A84EFF0AFB4AA852800EFF070 -:102D60007FCC85679387A7407C86340081471947CD -:102D7000094691452285C93541016FD00FFCEFD23C -:102D80008FF941112A842800EFF05FC91305B100C3 -:102D9000814523050100EFF07FC8340081471547C6 -:102DA000130600038D452285413D41016FD0EFF8A8 -:102DB000EFD26FF3B70B0120938BCB428967372A91 -:102DC000012041112A8933847701130ACA428347BB -:102DD000390181E741016FD0CFF483472901130501 -:102DE0004006F1C70566B304C9008C4C638AC50C64 -:102DF00003250900930989010D8ECE95EFF06FD957 -:102E0000635BA0549C4C3E9588CCEFF06FA92322C5 -:102E1000A9008567CA97904FBD4763F9C708CE8759 -:102E200081449305A00A130550051307E6FF03C864 -:102E3000070093861400631FB80203C81700631BC2 -:102E4000A802B1E48344A9011305B901EFF0DFBE84 -:102E5000930700022A8B638FF4048564CA94904C14 -:102E60009305A9014E857916EFA0A0119C4CF91786 -:102E70009CCC45B78507B684E37BD7FA4A967C3A63 -:102E80000547230CF9008567CA9798CF05A0058EE2 -:102E9000B38599004E85EFA0C00E05674A971C4F79 -:102EA000B384974004CFBD47E3EE97F82945EFF090 -:102EB0000FA031BFC547E3F2A7FA856763F7A70004 -:102EC0008567CA9723AC0700D5B7CA979C4FE3EF35 -:102ED000A7FC9305E5FF3385B9002EC0EFF0DFB501 -:102EE0008245AA844E85EFF03FB7639FA404130583 -:102EF000D901EFF07FB483477902AA8D814C3EC09F -:102F00009307EBFE3EC29307CBFE014D414C3EC4FE -:102F1000A2476353FD02B38789019C2313051C005C -:102F20004E953EC6EFF05FB1924613073D002A97DB -:102F3000AA8AB24763DAE60263910C3E8247C18BEC -:102F400081C7EE854A85253D8564CA94904CB3853A -:102F500069014E8533066641EFA0A0029C4C338B7D -:102F6000674123AC640175B593043C00130700026C -:102F7000CE946387E724636CF70015476385E722E7 -:102F800041476382E7368D0A569C569D51B7130719 -:102F900030026389E728130700046381E7361307CB -:102FA0002002E392E7FE9307C003E3FEA7FC68500C -:102FB000EFF08F929C20138524002300F4089C30AE -:102FC000A300F408EFF05FA72311A40813854400C1 -:102FD000EFF09FA62312A40813856400EFF0DFA58D -:102FE0002313A4089C24138594002304F408EFF011 -:102FF0005FA593578500A304A4082305F4089357FD -:10300000050161812306A408A305F408DC341385B7 -:10301000F400A306F408FC242307F408EFF0DFA172 -:1030200042054181A307A40821812308A408138530 -:103030001401EFF07FA0A308A40821812309A408AC -:1030400013853401EFF05F9FA309A4082181230AAF -:10305000A40813855401EFF03F9E42054181A30A65 -:10306000A4082181230BA40813857401EFF0DF9CD1 -:10307000A30BA4082181230CA40813859401EFF06D -:10308000BF9BA30CA4082181230DA408BC3C13857D -:10309000D401A30DF408DC2C230EF408EFF0DF9923 -:1030A000A30EA4082181230FA408FC3C138504026D -:1030B000A30FF408EFF05F982310A40A13852402ED -:1030C000EFF09F972311A40A13854402EFF0DF96D7 -:1030D0002312A40A83C76402138574022303F40A2B -:1030E000EFF09F95A303A40A21812304A40A13856A -:1030F0009402EFF07F94A304A40A21812305A40A7B -:103100001385B402EFF05F93A305A40A218123067F -:10311000A40A1385D402EFF03F92A306A40A2181EA -:103120002307A40A1385F402EFF01F91A307A40A52 -:1031300021812308A40A83C7140313853403A30839 -:10314000F40A83C724032309F40AEFF0FF8EA309CE -:10315000A40A2181230AA40A83C754031385740394 -:10316000A30AF40A83C76403230BF40AEFF0DF8C8D -:10317000A30BA40A2181230CA40A13859403EFF066 -:10318000BF8BA30CA40A2181230DA40A83C7B40317 -:10319000A30DF40A83C7C403230EF40A854723044E -:1031A000F4066850A5A88D47E3FFA7DC2685EFF05D -:1031B000BF8823A2AB02EE854A85EFF05FBCE1B386 -:1031C000D947E3F2A7DC6850EFE01FF18147C14621 -:1031D0003386F40009671307970610223E975E971F -:1031E00010A38507E396D7FE9C2803254A06A30C67 -:1031F000FA069C38230DFA06BC28A30DFA06BC3843 -:10320000230EFA06DC28A30EFA06DC38230FFA0692 -:10321000FC28A30FFA0685472304FA06EFE0FFEC2B -:10322000854C95B3E547E3F0A7D66850EFE0DFEAB9 -:103230009C2013853400A30EF40A9C30230FF40A5B -:10324000BC20A30FF40AEFF02FFF2310A40C13856A -:103250005400EFF06FFE2311A40C13857400EFF0FF -:10326000AFFD2312A40C13859400EFF0EFFC2313A1 -:10327000A40C1385B400EFF02FFC2314A40C1385C9 -:10328000D400EFF06FFB2315A40CFC34138504016C -:103290002306F40CEFF04FFAA306A40C21812307B8 -:1032A000A40C13852401EFF02FF9A307A40C2181AE -:1032B0002308A40C13854401EFF00FF8A308A40C15 -:1032C00021812309A40CFC2813858401A309F40C93 -:1032D000FC38230AF40CEFF02FF6A30AA40C21818A -:1032E000230BA40C65BD8327040EE38E07C8454756 -:1032F000014563735701A828829771B19D47E3F494 -:10330000A7C88327C40DE38007C82685EFF06FF3B5 -:103310008327C40DCC208297BDB18327840DE38F12 -:1033200007C083478406E38B07C06850EFE0DFDA0D -:103330008327840D37260120B7250120372501205A -:103340001306964E9385C54A1305554982976850D2 -:10335000EFE0BFD9E5B6E30B05B44A85EFF0FF8B8C -:10336000B1B6EFD2AF99370401201304C442B714A9 -:103370000120896A9384C442B7190120370A0120C9 -:1033800037DB0000A29AEFE0BFD15C502A8963C608 -:1033900007021EB013058A45FD575CD0EFF0FF878A -:1033A00013854947EFF07F871305401F232C040244 -:1033B00023AA0404EFE0BFCFF9B78347E403A9E3EE -:1033C0001C5C8565138785BBB307F540637AF702FC -:1033D0009385755813050B2AEFE0FFD548D411CD1E -:1033E0008547230FF402EFE0BFCB08D848D8130578 -:1033F0008A4523A20404EFF0FF8AEFE07FCA08DCCD -:1034000083C7A4058565A1E3FC48138785BBB30783 -:10341000F940637AF7029385855813050B2AEFE08C -:103420009FD1A8C411CD8547238DF404EFE05FC779 -:10343000E8C4A8C823A00A0613854947EFF09F8671 -:10344000EFE01FC6E8C88347E40391CF5C58130739 -:10345000007DB307F9406378F70013058A45EFF064 -:103460001F8F232A240383C7A40591CFBC481307C9 -:10347000007DB307F9406378F70013854947EFF003 -:103480001F8D23A82405130540062DB7EFD2AF8862 -:103490003704012009662A89AE841306460E814549 -:1034A0001305C442EFD02F8A630809004146CA853C -:1034B0001305C442EF90D021370401201304C44205 -:1034C00099C44146A68513050401EF907020930727 -:1034D00050061EB0FD575CD0EFE03FBF8967A29752 -:1034E000E8D3FD5721C185641389C4013705012044 -:1034F0004A86814513058545EFD0EF84B7D7000094 -:1035000093870727371501203CC04A86814513055C -:103510004547EFD04F83B7D700009387872726947E -:103520007CCC81473E856FD04F81EFC2DFFEB7076D -:103530000120056405479387C742A38FE702B7358B -:103540000000A29737D50000A38DE70493060480FE -:103550000D4701469385253613050528EFE05FBA30 -:10356000B73400003706012037D5000093060480E9 -:10357000938504DB11471306864513058528EFE084 -:103580003FB83716012037D5000011479306048055 -:1035900013064647938504DB13054529EFE05FB624 -:1035A0006FC0BFF9B72701209387C74223ACA70C90 -:1035B0008280B72701209387C74223AEA70C828061 -:1035C000EFC2FFF2B70A0120138BCA428569DA996C -:1035D00003C7A905130101A663060718AA877D552D -:1035E0006386070E6384050E03A9C7007955630F30 -:1035F000090C03278B028047755505072324EB022E -:10360000130760026374870C9C43AE8425149305F2 -:1036100049013E94C205C1471CA0C1811305140095 -:10362000B68B328CEFF08FBF8C4C13053400EFF06B -:103630006FBF8E2413057400EFF04FBEAE24130548 -:103640009400EFF0AFBDCE241305B400EFF00FBD32 -:10365000EE241305D400EFF06FBC8E281305F400A0 -:10366000EFF0CFBBAE2813051401EFF02FBBA30979 -:103670008401DC28A30A7401230B04005CA8930BCB -:1036800079019307805763E7770503D78905835648 -:103690000B024114930717003AC4239CF90436C265 -:1036A000EFE01FA02247924613960B01AA8701481C -:1036B000418289452285EFF00FC72A8603A5890438 -:1036C000A285EFE03FC87D85620561851301015A3F -:1036D0006FC07FE51309E9583359F902371A012001 -:1036E000938ACA42130ACA4281448149930C805783 -:1036F000130DF9FF639424010145C9BF338B3B418E -:1037000063F46C01130B80579308000263039D0060 -:10371000814883578A0546C6330C34011387170046 -:10372000231CEA0403D70A023EC43AC2EFE05F97C3 -:10373000B248A247124793160B012A886286894530 -:10374000C1824808EFF02FC52A8603258A044C0859 -:10375000EFE05FBF635A05003715012013054547A9 -:10376000EFF0AFCB7D559DB7DA99850461B7B70708 -:1037700000209387C70F9843636FA702D043B38697 -:10378000C7006316D50054413E85B296D4C350415C -:10379000B306C500631CD700B706002083A6460EFB -:1037A0006306D70054431843B29654C118C163034B -:1037B000F50088C38280BA877DBFEFC23FD4411134 -:1037C0002AC6EF100019B706002083A7460E370659 -:1037D00000209386460E1306860E3245A1EF37274A -:1037E00001209307075193F5F7001307075181C58F -:1037F0001387F700419BB70500209385C50F23A2CF -:10380000050098C18D65C115AE97C19B23A2070025 -:1038100023A00700B385E7409CC21CC3B707002064 -:1038200023A8B70EB707002023A6B70EB70700805E -:103830004CC31CC2032A0600B377AA0085E3930792 -:10384000F5FF3957636CF7009307050113F7F7008D -:1038500049C313F707FF410763ECE706814491A0D2 -:1038600022872E8469A058C15CC0EFF05FF05840F9 -:10387000B70600209386060F9042B307E94023A0C5 -:10388000F90063F3C7009CC2B70700203367EA0062 -:103890009387470F58C09843C104232004000507AD -:1038A00098C3EF10602793F7F400D1CBA1679387FB -:1038B00007807390073037D6000037D50000130615 -:1038C000C62B930500111305452EEF90C01A01A0D9 -:1038D000BA87370700200329C70E9309C70EE36F85 -:1038E000F9F6370700200324C70F1307C70F50400E -:1038F0006374F6000C40ADF59442E38186F6144003 -:10390000044314C33307F64093060002E3F1E6F6DE -:103910003305F4009376F500B9D6A1679387078045 -:103920007390073037D6000037D500001306C62B3A -:103930009305F00C1305452EEF90E01301A02685AA -:1039400041016FC0FFBE5DC1EFC2FFBCB7070020E1 -:10395000032745FF83A7870E2A84B376F7009DE2ED -:10396000A167938707807390073037D6000037D55B -:1039700000001306C62B930540121305452EEF9049 -:10398000800F01A0832605FF9DC2A1679387078052 -:103990007390073037D6000037D500001306C62BCA -:1039A000930550121305452EEF90E00C01A093C72C -:1039B000F7FFF98F232AF5FEEF00B079B707002053 -:1039C0009387C70E9443032744FF130504FF3697DC -:1039D00098C3EFF0DFD9B70700209387870F98438C -:1039E000050798C3EF1040136FC03FB58280B7E75B -:1039F00000E041572387E7402386E740B7F700E020 -:103A000023A0070023A20700814694C70147D8C717 -:103A100083A501811307401F814633D6E5023D4748 -:103A200090CBD4CB98C38280EFC2FFAE411102C6C7 -:103A3000F32750303EC6B2470D478D8B6384E702B3 -:103A4000A167938707807390073037D6000037D57A -:103A50000000130686309305600B1305452EEF908A -:103A6000800101A0B707032093870700BD8B9DC38A -:103A7000A167938707807390073037D6000037D54A -:103A80000000130686309305B00B1305452EEF801A -:103A9000907E01A0EFF0BFF5B7E700E0056723A037 -:103AA000E710116723A0E71023AC0180EFC05F850A -:103AB000014541016FC07FA873110134A16793874D -:103AC000078073900730B7F700E023A20700EF00EC -:103AD000F06911C5B7E700E0116723A0E720A167EF -:103AE00093878788739007307311013473002030F7 -:103AF000A1679387078073900730938781819843EC -:103B0000050798C38280138781811C438DE7EFC22C -:103B10009FA0A167938707807390073037D6000076 -:103B200037D5000013068630930520101305452E67 -:103B3000EF80707401A0FD171CC391E7A167938704 -:103B4000878873900730828021651305058073157F -:103B500005308280731005308280930785007D5781 -:103B60005CC118C55CC51CC92320050082802328C0 -:103B7000050082809841FD5693078500631ED7009B -:103B80001C49D843D8C10CC79CC5CCC31C4188C9AB -:103B900085071CC18280B687D4439042E37DC7FE6F -:103BA000CDB7544118451C4998C654C3D4436393B8 -:103BB000A600D8C39843232805007D1798C38843DF -:103BC0008280EFC25F9541112AC6EFF07FF2324545 -:103BD000005DEFF05FF31335140041016FC0FF95F6 -:103BE000EFC27F9332893041045D2A8409EE1C4183 -:103BF000014591E70844EF10A04E232404008504FA -:103C000004DC6FC09F93631009024841EF90402C81 -:103C10005C4038400145BA9718445CC0E3E1E7FED8 -:103C20001C405CC0E9BF4845EF90802A3C405844A6 -:103C30001440B307F0403E9758C46375D70018444A -:103C4000BA975CC489470145E31BF9FACDD8FD1446 -:103C50007DB7304115C2EFC21F8C58451445AA8765 -:103C6000329758C56364D700184158C52E85CC4794 -:103C7000EF9000266FC07F8C8280EFC2DF892A849C -:103C8000EFF01FE78344540413094402E204E18483 -:103C900063489002FD57A302F404EFF0DFE6EFF073 -:103CA0003FE58344440413090401E204E1846345CD -:103CB0009002FD572302F404EFF0FFE46FC0FF878A -:103CC0005C50E9DB4A85EF10801719C1EF10E03333 -:103CD000FD14E204E1846DBF1C48E1DF4A85EF106A -:103CE000001619C1EF106032FD14E204E184C1B77F -:103CF000EFC27F8241111DE1A16793870780739016 -:103D0000073037D6000037D5000013060633930579 -:103D100000111305452EEF80105601A05C5D2EC6E4 -:103D20002A84BDC73841B3B7E702BDE3EFF05FDCDB -:103D30003040585C1440232C0402B307E602B2451D -:103D400054C03387F600918FB6975CC4FD572302A9 -:103D5000F40418C4A302F4049DE11C4899CB130594 -:103D60000401EF10C00D11C5B7E700E0116723A0F3 -:103D7000E720EFF05FD9054541016FC00FFC130547 -:103D80000401EFF09FDD13054402EFF01FDDD5B70E -:103D9000A167938707807390073037D6000037D527 -:103DA000000013060633930550141305452EEF80CB -:103DB000904C01A0EFC22FF6411131C1B3B7A5025B -:103DC000AA8495EF3305B502930770FB63E9A70258 -:103DD000130585042EC6EFF05F9E2A8409CDB245F7 -:103DE000AA8799C1930785042CC01CC044DC854573 -:103DF0002285EFF0FFEF228541016FC00FF4A1672C -:103E0000938707807390073037D6000037D50000BE -:103E1000130606339305601C1305452EEF80B0454D -:103E200001A0EFC2CFEC011132C61DE1A16793875B -:103E300007807390073037D6000037D5000013068F -:103E400006339305E0321305452EEF80D04201A0E2 -:103E50002A842E89B6848DE53C419DC3A167938752 -:103E600007807390073037D6000037D5000013065F -:103E700006339305F0321305452EEF80D03F01A0A5 -:103E800089476398F402585C85476304F702A16789 -:103E9000938707807390073037D6000037D500002E -:103EA00013060633930500331305452EEF80B03C0F -:103EB00001A0EF10401615E5B247014C85C7A16778 -:103EC000938707807390073037D6000037D50000FE -:103ED00013060633930530331305452EEF80B039B2 -:103EE00001A0014C094BFD59930B040137EA00E096 -:103EF000916AA5A8B24789E7EFF0FFC0014555A038 -:103F000063150C002808EF104002EFF0DFBFEF0050 -:103F10005024EFF0FFBD83474404E207E187639438 -:103F200037012302040483475404E207E1876394C2 -:103F30003701A3020404EFF01FBD6C002808EF1046 -:103F4000200035EDEFF0DFBA185C5C5C631EF7040F -:103F5000EFF07FBBB2455E85EF0090622285EFF007 -:103F6000DFD1EF00703B29C9054CEFF07FB8185C3A -:103F70005C5C6364F700E39F64F72686CA8522854C -:103F8000EFF01FC65C5089C713054402EF00306B89 -:103F900011C5B7E700E0116723A0E720EFF0BFB637 -:103FA000054505616FC02FD8EFF0FFB52285EFF012 -:103FB000DFCCEF0070364DBF23205A2175B7228524 -:103FC000EFF0BFCBEF00503515BFEFC2CFD42A863C -:103FD00081450545EFF01FDE2A8401CD232405002D -:103FE0002320050023260500814601468145EFF088 -:103FF0005FE322856FC06FD4EFC24FD041111DE146 -:10400000A167938707807390073037D6000037D5B4 -:10401000000013060633930520401305452EEF805C -:10402000902501A02A84B2898DE53C419DC3A167FA -:10403000938707807390073037D6000037D500008C -:1040400013060633930530401305452EEF80B0224A -:1040500001A089476398F602585C85476304F7021C -:10406000A167938707807390073037D6000037D554 -:10407000000013060633930540401305452EEF80DC -:10408000901F01A036C62EC4EFF01FAC185C5C5C1C -:104090002A8AA245B2466366F70089478144639342 -:1040A000F602834454041C5C3686228513998401ED -:1040B000EFF01FB313598941FD576317F9025C50A4 -:1040C00089EB85445285EFF0FFA8268541016FC03A -:1040D0002FC613054402EF00905665D5E38309FE11 -:1040E000854723A0F900F1BF9307F0076314F90295 -:1040F000A167938707807390073037D6000037D5C4 -:104100000000130606339305D0481305452EEF80B3 -:10411000901601A08504E204E184A302940455B73B -:10412000EFC2EFBC011132C61DE1A1679387078082 -:104130007390073037D6000037D5000013060633DA -:10414000930510551305452EEF80F01201A02A8427 -:10415000AE898DE53C419DC3A1679387078073902D -:10416000073037D6000037D5000013060633930515 -:1041700050551305452EEF80101001A0EF00B069D7 -:1041800015E5B247014985C7A167938707807390FA -:10419000073037D6000037D50000130606339305E5 -:1041A000A0551305452EEF80100D01A001497D5A41 -:1041B000930A440237EB00E0916B95A8B24789E778 -:1041C000EFF07F94014569A8631509002808EF0006 -:1041D000D055EFF05F93EF00C077EFF07F9183470A -:1041E0004404E207E1876394470123020404834700 -:1041F0005404E207E18763944701A3020404EFF04B -:104200009F906C002808EF00B05325E52285EFF061 -:104210005F9B31C9B2455685EF0090362285EFF09D -:10422000DFA5EF00700F19E123207B210549EFF096 -:104230003F8C045CC1D4CE852285FD14EFF07FA1B4 -:1042400004DC1C4899CB13050401EF00503F11C555 -:10425000B7E700E0116723A0E720EFF0DF8A05450C -:1042600005616FC04FAC2285EFF03FA1EF00D00A8F -:1042700075BF2285EFF07FA0EF00100A2285EFF0D6 -:104280005F944DD581B7EFC26FA701112EC61DE116 -:10429000A167938707807390073037D6000037D522 -:1042A0000000130606339305305E1305452EEF809C -:1042B000807C01A03C412A849DC3A167938707802D -:1042C0007390073037D6000037D500001306063349 -:1042D0009305705E1305452EEF80E07901A0EF0095 -:1042E00090530DE5B2479DC3A167938707807390F4 -:1042F000073037D6000037D5000013060633930584 -:10430000C05E1305452EEF80007701A0814401496E -:10431000FD59130A4402B7EA00E0116B6DA0B247E1 -:104320009DE79DC0A167938707807390073037D6BC -:10433000000037D5000013060633930520631305EC -:10434000452EEF80407301A0EFF0EFFB7DA06315D9 -:1043500009002808EF00703DEFF0EFFADD2BEFF0D9 -:104360002FF983474404E207E1876394370123026E -:10437000040483475404E207E18763943701A302EE -:104380000404EFF04FF86C002808EF00703B41E1A7 -:104390002285EFF01F8335C51C4089EBEFF04FF508 -:1043A0000844EF001049AA84EFF0EFF5B2455285BA -:1043B000EF00101D2285EFF05F8CEF00E07519E132 -:1043C00023A06A210549EFF0AFF21C5CA9DBFD17C1 -:1043D0001CDC1C4081E7EF00B06B08C41C4899CB83 -:1043E00013050401EF00B02511C5B7E700E0116720 -:1043F00023A0E720EFF02FF18544268505616FC0EB -:104400002F932285EFF07F87EF00007165BF228533 -:10441000EFF0BF86EF0040702285EFF08FFA5DD19C -:10442000E9DCEFF0EFEC5C50814589C71C58BD45D5 -:104430009C439D8D08448144EF003057EFF0AFEC72 -:104440006DBF15E5EFC22F8DA1679387078073902D -:10445000073037D60000856537D5000013060633D0 -:10446000938585AC1305452EEF80E06001A09DCDBE -:10447000375601209306065181470147130606511E -:10448000214883A846006398A80093173700B29785 -:104490008CC3C8C321A891E783A8060063930800D2 -:1044A000B6870507A106E31E07FDFDF3828015E52B -:1044B000EFC26F86A167938707807390073037D666 -:1044C0000000856537D5000013060633938565B176 -:1044D0001305452EEF80205A01A0B757012093867F -:1044E00007510147938707512146CC426399A500A4 -:1044F0000E07BA9723A0070023A2070082800507B2 -:10450000A106E314C7FE8280EFC2EF8005E5A16734 -:10451000938707807390073037D60000856537D5BD -:10452000000013060633938505811305452EEF80A1 -:10453000805401A02A84EFF09FF72285EFF0AFC0EE -:104540006FB0BFFFEFB23FFD41112A842EC632C4C7 -:10455000EFF00FDA834744047D572246E207E187F4 -:10456000B2456394E70023020404834754047D5753 -:10457000E207E1876394E700A302040432C62EC475 -:10458000EFF06FD81C5CA245324689E71305440260 -:10459000EF0090032285EFF04FEE41016FB0FFF97D -:1045A00037070020130787101C439443B7070020E8 -:1045B0009387871281E67D5798C3828018435847B6 -:1045C0001843DDBFEFB29FF337090020B707002083 -:1045D0009304491083A987132A849C408840411181 -:1045E000A388070411052EC6EFF0AFDB7D579307B4 -:1045F0004910B245631CE40295C9B757012093875F -:10460000876B9440D84398C610479440D0C69440D6 -:104610001047910654C29440910614C798405CCB51 -:104620009843050798C341016FB09FF098434E949B -:1046300040C3637B3401370700200325C7108C4338 -:104640009105EFF02FD3C5B737070020032587105A -:104650008C439105EFF00FD2B707002093878712A4 -:104660009843E372E4FC80C37DBFEFB23FE9375467 -:104670000120B70900201304C46C370A002093847A -:1046800049119C40EDDFEFF0AFC65C4403A9C700C1 -:1046900013054900EFF0EFD013070A111C43FD1773 -:1046A0001CC39C40FD179CC0EFF0EFC50325090318 -:1046B000EFF06FA94A85EFF00FA9D1B7EFB23FE352 -:1046C00013192600AA8A4A852E8A368BBA8BBE8990 -:1046D000EFF0AF8E1DC1AA8413054005EFF0EF8DFA -:1046E0002A8409C904D98147C146631A0A00230AEA -:1046F000050225A02685EFF00FA57D5565A233079D -:10470000FA00030707003306F400230AE60201C794 -:104710008507E396D7FEA3010404B94763F4770342 -:10472000A167938707807390073037D6000037D58D -:10473000000013064634930570391305452EEF80AB -:10474000803301A0130A44005285232674032322D8 -:10475000740523240404EFF08FC113058401EFF0E6 -:104760000FC13D471305C9FF33077741269500C8A0 -:1047700018CC40D023060404A30604042307040431 -:10478000A307040423080404A30804045A86D68556 -:104790004199EFB0FFC608C06384090023A08900D7 -:1047A000EFF00FB5B7070020938707119843B704C0 -:1047B0000020B7590120050798C3138744101843F8 -:1047C00093844410138909556310070E80C09843E1 -:1047D00085476316F70693890955930AC9124E85D2 -:1047E000D109EFF08FB7E39C3AFF37550120930AC8 -:1047F000C5671305C567EFF04FB63755012093091C -:10480000056913050569EFF04FB53755012013050C -:10481000456AEFF08FB4375501201305C56CEFF0F2 -:10482000CFB3375501201305856BEFF00FB3B707F2 -:10483000002023A45711B707002023A63711B7077C -:1048400000209387C7119843050798C337070020B6 -:10485000130707125C54144363F3F6001CC351475B -:10486000B387E702CA97D843144718C454C41447FF -:1048700023A246012324470198435CC8050798C337 -:10488000EFF06FA8B707002083A74713054599CB22 -:104890009C40D8575C546377F700B7E700E0116796 -:1048A00023A0E7206FB03FC8B707002083A74713B6 -:1048B000D9F79C40D8575C54E3E3E7F880C041B790 -:1048C000EFB27FC5B7070020B7D50000374500001D -:1048D000938747120147814613060010938585355B -:1048E0001305A566EFF09FDD0544631E8502EF000A -:1048F0003047631A8502A16793870780739007305A -:10490000B70700207D5723A4E712B707002023AA8A -:10491000A712B707002023AC0712EFF0EF9083A790 -:10492000C1816FB09FC1FD57E31BF5FEA16793875F -:1049300007807390073037D60000856537D50000B3 -:1049400013064634938505841305452EEF80A01287 -:1049500001A0B7070020938787119843050798C3E4 -:104960008280B707002003A587138280B707002045 -:1049700083A7871163990718EFB2FFB9B707002023 -:10498000938787138043050480C321ECB707002079 -:10499000938787109843184305C7A16793870780BB -:1049A0007390073037D60000856537D500001306B1 -:1049B0004634938575AC1305452EEF80C00B01A0DE -:1049C000370700201307C7109443104390C3B7075D -:1049D000002014C39387C7129843050798C3EFF0CC -:1049E0003FBC37060020930786129C4337570120AF -:1049F000B705002013068612130707559385451047 -:104A000001456375F4029C41D146DC57B387D70258 -:104A10003E971843854763F3E7000545B707002035 -:104A200083A7C71391C305456FB03FB1370E002070 -:104A3000B70E0020514F93078E109443944281E6A5 -:104A4000FD571CC2C9B79C43DC47DC47D4436374A1 -:104A5000D40014C24DBF83A8870003A8C700D44B5D -:104A60001383470023A408012322180183A84600CA -:104A70006394680023A2060103A8060023AA070086 -:104A80007D1823A00601945795CA03A8C70183A8DF -:104A9000070283AF46002324180183A8070223A23C -:104AA00008011388870163940F0123A2160103A84C -:104AB000060023A407027D1823A0060193860E1288 -:104AC00003A8C70283A8060063F4080123A0060117 -:104AD000B306E803BA9683A8460083AF880023A4F0 -:104AE000170123A6F70183AF880023A26F0023A438 -:104AF0006800D4CB9C4285079CC29C41DC57E36C88 -:104B0000F8F205450DBFB7070020938707139843B8 -:104B10000145050798C38280EFB25F9E37040020ED -:104B2000130484111C40411185E7A1679387078016 -:104B30007390073037D60000856537D5000013061F -:104B400046349385358B1305452EEF70D07201A046 -:104B5000EFE01FFA1C40FD171CC01C4089CB01452B -:104B60002AC6EFE05FFA324541016FB07F9CB7077C -:104B7000002083A70711E5D7B7560120375501203C -:104B800081479386466A370F002013050555D148A3 -:104B900037030020370E0020854E59A8DC46DC473D -:104BA000CC4F9053985790C503A807022322B80012 -:104BB00003284700938587016313B80050C310434F -:104BC00023A407027D1610C38C47D047D84B138807 -:104BD000470090C54CC24C436393050150C310433A -:104BE00023AA07007D1610C313070F12D0570C43DA -:104BF00063F3C50010C3330716032A974C4383AFF2 -:104C000085008CC723A6F70183AF850023A20F017F -:104C100023A405010C43D8CB85050CC3130743100F -:104C2000184358576366E6001307CE132320D701B5 -:104C300098422DF799C3EFF0BF96B707002013876E -:104C4000071304431384071399CC370900208549BF -:104C5000EFF0DFD109C59307C91323A03701FD1475 -:104C6000E5F823200400B707002083A7C713E388D3 -:104C700007EEB7E700E0116723A0E7200545CDB5B3 -:104C800019E5B7E700E0116723A0E7208280EFB2C3 -:104C90009F88B707002083A7871141119DC3A16793 -:104CA000938707807390073037D6000037D5000010 -:104CB00013064634930590541305452EEF70B05BF0 -:104CC00001A02AC6EFF0FFC832458145EFF09F8F63 -:104CD000EFF09FE411E5B7E700E0116723A0E720BC -:104CE00041016FB09F85B707002003A78711B70761 -:104CF00000209387C71301C7054798C3828023A06C -:104D00000700B707002013870712184313860712FE -:104D1000B7570120938707555148B3060703B3855A -:104D2000D700884115C5C841A106BE964841C8C1F3 -:104D30006314D5005441D4C1D146B306D702B69707 -:104D4000DC43D447B707002023A2D71018C28280C3 -:104D500015E7EFB24FFCA167938707807390073088 -:104D600037D60000856537D5000013064634938595 -:104D700025C01305452EEF70105001A07D1771BF9F -:104D8000EFB26FF905E5A16793870780739007304D -:104D900037D60000856537D5000013064634938565 -:104DA000C5C11305452EEF70104D01A0B7070020B7 -:104DB0002E8483A54710E105EFE0DFDB85452285E2 -:104DC000EFF05F806FB06FF7EFB2EFF42A8705E581 -:104DD000A167938707807390073037D600008565F9 -:104DE00037D5000013064634938525C51305452E97 -:104DF000EF70704801A0B707002093874710544315 -:104E00002E858C4303A88600D4CD8C4323A00503B4 -:104E100003A807008C46610823A2050103A8070028 -:104E20009C43610823A4060198D71C4385071CC333 -:104E300011C27D55B285EFF0EFF86FB00FF05C4511 -:104E4000DC4795E7EFB22FEDA1679387078073905A -:104E5000073037D60000856537D500001306463485 -:104E6000938525C81305452EEF70F04001A0D04F63 -:104E7000945398579385870114C6D0C25043631347 -:104E8000B60054C3144323A40702FD1614C3370706 -:104E9000002003278711D45725EF8C47D047D84BE4 -:104EA00090C5D04748434CC2938547006313B50073 -:104EB00050C3104323AA07007D1610C337070020F4 -:104EC0001307071210436373D60014C35147338688 -:104ED000E60237570120130707553297504308461B -:104EE00090C7C8C708464CC10CC6D8CB1C43014567 -:104EF00085071CC3B707002083A74710DC5763F85A -:104F0000D700B7070020054723AEE712054582808A -:104F1000375701201307476A50430846D0CF88D33C -:104F200008464CC10CC698D7D1B7B707002083A755 -:104F3000C7121CC1B707002083A787135CC18280FA -:104F4000EFB26FDD411105E5A1679387078073908C -:104F5000073037D60000856537D500001306463484 -:104F60009385D5CF1305452EEF70F03001A085E570 -:104F7000A167938707807390073037D60000856557 -:104F800037D50000130646349385E5CF1305452E2B -:104F9000EF70702E01A02EC62AC4EFE07FB5370750 -:104FA0000020B70700201307471083A687131C4370 -:104FB0002245B24583C7170599CB1C43A388070434 -:104FC0000544EFE05FB4228541016FB00FD79C41EB -:104FD0007D570144E387E7FE370600200326C6120B -:104FE0000328050058416307C80063E5E60023A0D5 -:104FF0000500F9B73386E640E37BF6FE958FBA9756 -:105000009CC1EFF09FF201446DBFB7070020054738 -:1050100023AEE7128280B707002083A74713054518 -:1050200081CBB707002003A58711133515000605AE -:1050300082804DC5EFB28FCC37090020930749100D -:105040009443585513094910D4566373D7081C4D1F -:1050500063C8070083270900D457BD47958F1CCD2F -:1050600051463307C702B7570120938607559384EB -:105070000755369754496398E604930945002A84F6 -:105080004E85EFE01FB28327090037070020130782 -:105090000712DC5714435CD463F3F6001CC351477A -:1050A000B387E702A697D843144718C454C41447DB -:1050B00023A236012324370198435CC8050798C30F -:1050C00005456FB0EFC683270900DC575CD5CDBF1F -:1050D0009C436841DC573335F500E5B701458280D4 -:1050E00011E50145828001456FB02FC5EFB2AFC217 -:1050F000B707002083A747102A846385A702A1670A -:10510000938707807390073037D60000856537D5C1 -:105110000000130646349385F5041305452EEF7001 -:10512000901501A0BC4785E7A1679387078073901E -:10513000073037D60000856537D5000013064634A2 -:10514000938505051305452EEF70F01201A0545507 -:105150007841FD173CC5E388E6F8D1F79304450094 -:105160002685EFE01FA47C403D471D8F18CC3707F4 -:1051700000201307071214435CD463F3F6001CC32A -:1051800051473387E702B7570120938707550545F5 -:10519000BA97D843144718C454C41447C4C204C7A8 -:1051A00098435CC8050798C381B775C1EFB2AFB625 -:1051B00034452A8485E6A16793870780739007307A -:1051C00037D60000856537D5000013064634938531 -:1051D000F5091305452EEF70100A01A07C4163F319 -:1051E000B700AE8758546302F70A0546639FC608A6 -:1051F000B706002083A6461063958602A1679387B1 -:1052000007807390073037D60000856537D50000DA -:10521000130646349385A50B1305452EEF70B00594 -:1052200001A0144C5CD463C60600BD46B387F640AB -:105230001CCC51463307C702B75701209386075548 -:1052400093840755369754486391E6041309440044 -:105250004A85EFE01F9537070020130707125C54BB -:10526000144363F3F6001CC35147B387E702A697C4 -:10527000D843144718C454C4144723A22601232436 -:10528000270198435CC8050798C36FB00FAB8280B5 -:10529000B70700201387471018439387471009C7A3 -:1052A0009443B8460507B8C688438280EFB2AFA6DC -:1052B000EFE01F841384C1901C40B1E337550120F7 -:1052C0001309056E1305056EEFE03F893755012080 -:1052D0009304456F1305456FEFE03F8823A02191AC -:1052E0000146C145114523A29190EFE0BFAC08C033 -:1052F00019C5B7D5000093854538EFF08F94EFE0DE -:105300009F806FB08FA3EFB20FA14CC108C9AA87CD -:105310006360B602184D158E05456379E6009385E6 -:10532000470003A54190EFE0FF8401456FB0EFA077 -:105330006375D6000545E3FBD5FE9385470003A5BD -:105340000190D5B7EFB22F9D2A84AE8432890C4CE0 -:10535000A6864A86A6952285EFF0FFFA19E16FB07E -:10536000CF9D1C4C2285BE941C508297CDB7EFB2C6 -:105370008F9A83A701904111AA84DC472EC6C047AB -:1053800013054400EFE0FF8183474402324613F7E0 -:10539000470019CBA6852285EFF0DFFA1C50228545 -:1053A000829741016FB06F99F99B2302F402FDB718 -:1053B000EFB26F969386019098421C4381EB9387DE -:1053C0004190904398C390C26FB02F975C47FD55B2 -:1053D0008843EFF0DFF9F9BFEFB26F913569411102 -:1053E0001309093683A70190984329CBDC47814CE8 -:1053F00003AC0700EFF0EFD5EFF0AFD683A78190B5 -:105400002A8493848190138AC190636CF50288C0CA -:1054100063800C0483A74190904313361600032544 -:105420000A00B3058C40EFF0EF91EFF0EFEE19EDCD -:10543000B7E700E0116723A0E72009A8854C014CDD -:1054400055BFEFF0FFF680C0EFF00FED214C0DA03F -:105450000146E36685FDEFF02FECA2856285EFF053 -:105460001FF1EDB79247B2458297824763DD07008F -:1054700003250A0001468A85EFE09FCA25D58247A9 -:105480002245E3C107FE22445C489DE3EFF06FCD67 -:105490009C40AA8C6374F500EFF09FF1824723A033 -:1054A0009401FD17E366FCFC8A07CA979C43828738 -:1054B00013054400EFE0EFEED1BF834744020C4CEC -:1054C000924693E717002302F4026686B69522857A -:1054D000EFF07FE351DD8347440213F7470001CF2C -:1054E0001C4C924566862285BE95EFF0BFE51C50A8 -:1054F00022858297B5BFF99B2302F402CDBF834773 -:105500004402F99B2302F402A5B783474402924563 -:1055100093E717002302F4020CCC9DE1A167938767 -:1055200007807390073037D6000037D50000130688 -:10553000C638930590351305452EEF70C05301A072 -:10554000E6866686E6952285EFF0FFDB15B7834792 -:10555000440213F7270055F72285EFE0CFBE09BFBD -:10556000EFA27FFBEFF09FD483A7C1909DE3A167DB -:10557000938707807390073037D6000037D5000037 -:105580001306C638930590111305452EEF70A04EF3 -:1055900001A0B7D500003755000093870191394726 -:1055A0008146130600109385453A1305853DEFF0BB -:1055B000EF9055DD6FA07FF8EFA25FF4AA8A130584 -:1055C0008002AE843289368ABA89EFE00F9F2A843E -:1055D00039C9230205029DE0A16793870780739074 -:1055E000073037D6000037D500001306C6389305BC -:1055F000B0161305452EEF70004801A0EFF01FCB49 -:10560000130544002320540104CC232E44012320FD -:105610003403EFE0CFD5630809008347440293E7E2 -:1056200047002302F40222856FA09FF0EFA2BFEE95 -:1056300001111DE1A167938707807390073037D66A -:10564000000037D500001306C6389305B0181305BF -:10565000452EEF70404201A01384C1901C403AC611 -:105660002A8801458DC7B6882EC832CA42CC9546D5 -:1056700063C2B602EFF03F9A3247894781463A86C5 -:105680006303F500014608400C08EFE08FF905615F -:105690006FA0BFEA814646860C083E85EFE0DF95A5 -:1056A000FDB783A7018137177A0013070720B3D707 -:1056B000E70293F7F70F238BF1901307803EB38730 -:1056C000E702239AF1908280B7F700E0D843814641 -:1056D000799BD8C303C761913306A70290CBD4CB83 -:1056E00098431367070198C398431367170298C339 -:1056F000D843058B75DF9843799B98C38280EFA2CE -:105700009FE101112A84854537050400EFB0DFDFF2 -:1057100085452145EFB07FDD930700407C8237153A -:1057200001408D473EC44C00E147130505C03EC60D -:10573000EFB0FFAF22C837540040B70708000C088D -:10574000130504803ECC02CA231E0100EFB0BFF552 -:10575000854513050480EFB0FFFD05616FA0FFDDF7 -:10576000EFA2DFD9B7540040AE8932890144938457 -:105770000480634524014A856FA09FDB93050004E4 -:105780002685EFB01FFD7DD9B3878900838507008B -:1057900026850504C205C181EFB03FFBD9BFEFA24A -:1057A0009FD701118545714502CA02CC02CE02C6BF -:1057B00002C8EFB09FD385450965EFB03FD13714DC -:1057C000014091473ECE4C089307006713050480C3 -:1057D000FC82EFB0DFA58567938707B04C083715CB -:1057E0000140FC82EFB0BFA44C0893078030130542 -:1057F00004C0FC82EFB0BFA3930760058544680036 -:105800007C8626C823070100EFB0FFAE054685451C -:105810000145EFB0AFE181450145EFB00FDE370440 -:1058200005501C208D45054593F7170F1CA0B75751 -:105830000120938787701CC4B767012093878790E6 -:105840005CC446A0930700207EA0EFB0AFD901460C -:1058500081450545EFB08FDD1C2093E717001CA0A4 -:1058600005616FA09FCD9387819198231377F70FE0 -:1058700029CFEFA25FCA37E700E0B7064000232434 -:10588000D7180F10000083A5019203A44192238032 -:1058900007002324D7109304F00B63E68402B76754 -:1058A000012013159400938787B0130600203E95BE -:1058B000EF700062631994000547A38BE19003A782 -:1058C000819223AEE1906FA05FC7828037070550B9 -:1058D0001C2B858B91CB85471CAB23A20192938710 -:1058E00081929843050798C3B7070550982B098BF9 -:1058F00005C7094798AB9C33A18B8DE3B76701209F -:105900009387879023A0F19293874192984305074C -:1059100098C30547238CE19073002030B7570120CE -:1059200093878770C5B77325103482807325203420 -:105930008280732530348280EFA2FFBD37040020BF -:105940008327840C41113EC6EF10C01911896303EF -:105950000514938741949843B246998E37E7022005 -:10596000032787BA05836376D700324798C3EF30A1 -:10597000104DEF40E00683A7019691C7EF30504EDF -:1059800019E123A00196938401949840B247998F1E -:105990001307703E6376F700EF208021B2479CC06A -:1059A0009387C1929843B24613064006998E03C767 -:1059B00011953307C70263E6E600324798C3EF103C -:1059C000C07FB7E702209387C7B6D84711CF1387A8 -:1059D000C1931043B246918E1306703E6376D60093 -:1059E000B246DC4314C38297B7E4022083A744B1D4 -:1059F000A9CB138781931C43B2461306A00F9D8E3B -:105A0000B7E7022083A747BEED83B387C70263E9E8 -:105A1000F600B2471CC3938744B19C4B91C3829755 -:105A2000938741939843B246998E3D671307F7A534 -:105A30006379D7003247938444B198C3DC4891C35B -:105A40008297324593840193D92C9C4032471D8F15 -:105A5000BD679387F7A563F5E7007124B2479CC043 -:105A600003C7C195BE841377F70F0DC703C7C19550 -:105A70001377070C1DE3B7E7022083A7C7BE99C3BE -:105A8000054582970327840C23A6E194930700041D -:105A9000238EF19441016FA05FAA03C7C1951377CC -:105AA000070415CB83A6C1940327840C1389C194E2 -:105AB000158F93064006E3FFE6FCB7E7022083A7B5 -:105AC000C7BE99C3014582978327840C2320F90020 -:105AD000930700F875BF03C7C19562076187E35B51 -:105AE00007FA83A6C1940327840C158F93064006FA -:105AF000E3F2E6FA238E019471BFEFA2DFA137E54E -:105B000002201305C5BFEF10902B6FA01FA3EFA2BB -:105B10009FA0B7E702209387C7B8D85737E4022081 -:105B200088D313674700D8D71189930704BD9C4FCA -:105B3000130404BD01CD99C3014582975C4C99C300 -:105B4000014582970545BD2A6FA03F9F99C3054532 -:105B500082975C4CF5DB05458297FDB7370700203F -:105B60008327070D232005009DCB944363DB0600AC -:105B7000D4479042634506029C4363D40700232820 -:105B8000D70C8327070D91650146FD153548B708E9 -:105B90000080944363D7060019C22328F70C0145FF -:105BA000828094431393060163420304944393F663 -:105BB00006108DCE944393F606208DCA9443C1827D -:105BC000ED8EF11614C16371D802944393F6060268 -:105BD00081EA19C22328F70C9C475CC105458280E5 -:105BE000944393F61608F5D62320050023A0170149 -:105BF0000546DC4779BFB707002003A7070DB706A6 -:105C0000008014C3584723A8E70C8280EFA2BF90FE -:105C100083C7C19593F7F70F81E78547238EF194EA -:105C2000B707002003A7870C9387819409CB98C3FB -:105C3000B7E7022083A707BF82976FA01F90054791 -:105C4000FDB7B7F7FF1F03D567701375050F828087 -:105C5000EFA27F8CB7E7022083A707BF0149B9CB2A -:105C6000B707002083A4470BB1C49C4003A984005C -:105C70001384819463DE0702EFF0BFFC1440814778 -:105C800013060008B705002013083006A1681303A7 -:105C900000036304C5006312650203A7850C158F1A -:105CA0006364E80063FBF8009C40860785839CC022 -:105CB000232004004A856FA05F889840E35A07FEBE -:105CC0008507C1BF370700200327870CB7E70220ED -:105CD000938787B088A3239107002392070098C772 -:105CE000A38007008280EFA21F83B7E40220138401 -:105CF000C4BF5C4041116C001385C4BF3EC6232263 -:105D00000400EF10A03EB2476C001385C4BF5CC016 -:105D10005C443EC6EF10803D41016FA01F82B7E793 -:105D20000220938787B0982319E388C78280984719 -:105D30009306703E3307E54063F3E602EFA2AFFD42 -:105D4000BA2388C7914663F7E6000145EFF09FF755 -:105D50006FA0AFFE0507BAA3EFF0FFF8D5BF8280B2 -:105D6000EFA26FFB2A840145EFF0DFF5B7E70220D1 -:105D7000938787B011C8054798B3B7E70220094752 -:105D800023ACE7BA6FA06FFBA3800700E5BF82805A -:105D900003288503630B0802EFA2EFF7FC5D0147C0 -:105DA00091C70507420741839C43DDBF83A70508D0 -:105DB00091C70507420741839C43DDBF81460146E9 -:105DC0008145029801456FA04FF70145828001454A -:105DD0008280EFA2CFF15C42032A85000329C5002F -:105DE0000049AA8488239C33B289A2075D8DEF10F5 -:105DF000500C9355650093F5C503B305B0404E852F -:105E0000EF20704259E5DC44984C03DB8900998F00 -:105E100063E4670163180B004E85EF20B04705452A -:105E20006FA06FF04A9A4E890356A900B30A8A40C0 -:105E3000832B490063F4CA045686DE852285EF7001 -:105E400020098357A9009844330444413E94228694 -:105E5000B3855B013A85EF70A0072A9403290900F6 -:105E6000E31409FC4E85EF20F0429C4C80C8DA9781 -:105E70009CCC9C4093E747009CC055B72285DE85AB -:105E8000EF7000058357A9003E94E39957FD8044C5 -:105E9000F1B7014571B761CEEFA26FE5832BC50065 -:105EA0001C4D035B8600BA8AB387FB40368A328971 -:105EB0002A8463E4670163170B004A85EF20903D55 -:105EC0006FA06FE61C450449B289BE9B03D6A900AA -:105ED000338C9B4083AC49006377CC066286E685B1 -:105EE0002685EF60F07E83D7A9001844B3847441FF -:105EF000BE942686B3858C013A85EF60707DAA94A6 -:105F000083A90900E39409FC4A85EF20B0380328EF -:105F100084036305080483451A0083470A00144874 -:105F2000A205DD8D83472A005A875686C207CD8F8A -:105F300083453A002285E205DD8D02981C44232C1E -:105F400004001CC8B5BF2685E685EF60707883D74E -:105F5000A900BE94E39687FB04445DB7184C1C402F -:105F600004C85A9793E7470018CC1CC091BF8280A1 -:105F70001C49F1C7EFA2AFD7328AAE842A8455CA32 -:105F8000832A85005845835B86003289BA9AC20A03 -:105F900093DA0A019399070193D90901338B3A41A6 -:105FA0000356A900420B135B0B01032C49006376D7 -:105FB000CB065A86E2853E85EF6090710357A900B3 -:105FC0001C44B3056C0133075741BA99C20993D9F0 -:105FD00009013E854E86EF60B06FB3073501032996 -:105FE0000900E31909FA184C1CC852855E9718CCB1 -:105FF00018401367470018C0EF20D029FE38184C0E -:106000002685B38B77415C44239B7403998FDEB460 -:10601000EF30C00501456FA00FD13E85E285EF60EE -:10602000306B0357A900B307E500E31A67FB1C4474 -:106030007DB70145EDF22E85EF30204CE9BF7D554F -:106040008280EFA24FCD2E84B7650000AA8493858D -:1060500005F72285EF300011B76500002285938592 -:1060600005D9EF308010B76500002285054693857D -:10607000E5DCEF3040109C20014593E787009CC091 -:106080006FA0AFCB19C93305A040B5679387C73A56 -:106090001375F50F3E950821828001458280EFA29D -:1060A0008FC79307C003B387F50237F400201307A7 -:1060B000C4842A89AE841306C00381451304C484B2 -:1060C000BA973E85EFA02FC8630709001306C003E7 -:1060D000CA85EF60F05F9305C003B385B402A29553 -:1060E0009C459CC9DCC96FA04FC5EFA22FC12A8A6D -:1060F00037E502204111AE89B2848145614613051E -:1061000045B136C6EFA02FC4B24637E402201309CA -:10611000C4B8B68519461305C900EF60705B114617 -:10612000D2851305C4B8EF60B05A1146CE85130569 -:106130004900EF60F0591304C4B8A1E0B7070001AB -:10614000FD171CC4814483C7419563CFF402EF104F -:10615000004E85475CD01567B7E70220938707B8E4 -:10616000130707E298C31167130787A9D8C3254708 -:1061700098C7014541016FA0AFBB1146A685130525 -:106180008400EF60F0547DBF93F5F40F0145EFF00C -:106190001FF185044DBF1841B7E70220938707B868 -:1061A00098C35841D8C3184598C782801855B75727 -:1061B000341293878767631AF712EFA22FB41C512A -:1061C0002A842545638B071037E902201306400413 -:1061D00081451305C9B8EFA00FB7B7E40220130635 -:1061E000C0028145138504BDEFA0EFB51306C002C0 -:1061F000A285138504BDEF60B04D938904BD03A74C -:1062000049014A86938704BD25EBB56603D7461836 -:1062100093864618AE222E97CE22F6222E973697D8 -:106220009316270163DD060AD8CBD84B9356E700B7 -:10623000FD8A89EAB746F8FFFD16758FB706050097 -:10624000558FD8CBD84B93563701FD8A89EAB7468C -:10625000F8FFFD16758FB7065000558FD8CBD84B79 -:106260009316670063CA0600B70600FEFD16758F19 -:10627000B7060014558FD8CBD84B9356B70189E693 -:10628000B7060040558FD8CBA946A388D1948D4638 -:106290002388D1949306C0122399D194D85311E73F -:1062A000376700001307C7B5D8D3D44B014513D7C0 -:1062B000E6007D8B238AD1949307C6B898CF13D775 -:1062C00036017D8B130620033307C702D8CF1397FF -:1062D0006600635407000947B8C36FA06FA5F9763D -:1062E000FD16758F8966558F81B71305F00F828073 -:1062F0006D45828003C64195B7F700209386C78419 -:1063000001479387C7846317E60081476313F70249 -:106310000145828003A807036317A80009C5054546 -:10632000EDD998A1828005071377F70F9387C703EC -:10633000D9BFD05A6319A60019C50545F9D993E705 -:1063400007F89CA18280850793F7F70F9386C60311 -:1063500075BFEFA2AF9A37F900202300050003C7ED -:10636000419541119307C98481441309C984631776 -:1063700097001305000241016FA08F9B9387C7030D -:1063800083A647FE63810618850493F4F40FC5B70E -:10639000B7E7022083A7C7B86C003EC6EF20F02203 -:1063A00011469305C4026800EF6090326C004E8580 -:1063B000EF2090231306C0033386C402B7650000A4 -:1063C000938525DD4E854A96EF20F023954737E5E6 -:1063D00002206C00232834031CD01305C5BFEF0036 -:1063E000F050A6852285EFF09FCB014569B709479C -:1063F0006390E70AEF507042AA8963030512930A7B -:10640000C4021146D6856800EF60902C324A3705E9 -:1064100000F0EF10202D337AAA00370500E0EF10CE -:10642000602C6300AA04B7E502209385C5BF68000D -:10643000EF1060731DE5B7E7022083A7C7B81234D9 -:106440006C004E853EC6EF5010171DE1D6851146F3 -:106450006800EF60F02752306C004E85EF50B0308E -:1064600039A012349385C1844E85EF50D01401C5F4 -:10647000EFF05FC109B71306C0033386C402B765E6 -:106480000000938565E94E854A96EF50B0353DBFD3 -:106490000D4713051002E390E7EEEF3000425C4435 -:1064A00012346C005EB9B7E7022083A7C7B8AA8987 -:1064B0003EC6EF20502A2A8A11C54E85EF30E003F0 -:1064C00052857DB79305C003B385B4024E85CA9546 -:1064D000EF201049B76500004E859385E5D8EF2081 -:1064E00030499547A685228523283403232A34037F -:1064F0001CD0EFF0DFBA37E502206C001305C5BFF2 -:10650000EF00D03EDDB504A1DC4DC4C12E84E39084 -:1065100007EE03458402EF20501BAA89E31A05E623 -:10652000454591BDEF923FFF832785084EB52A84EC -:1065300081C79E279D8D4EB52285EF20303309CD32 -:1065400083476402228593E727002303F402EF4088 -:10655000D07705456F907FFEB7E7022083A707BE7F -:10656000A183858BFDD783476402858BFDD3894743 -:10657000A303F402054723A0E196E1BF83C7419539 -:106580006376F5041307C0033305E502B7F700206F -:106590009387C7843E95584D232C050050C50CC5E4 -:1065A0000CC94CC98D476313F702085905C15A3904 -:1065B00093371600631CF700EF92FFF59315060161 -:1065C000C1814EB9EFF01FF66F903FF78280EF92D6 -:1065D000FFF214426944CDCE23200600328A13060E -:1065E000C0033306C502B7F400201387C484AA8908 -:1065F000AE879384C4843297032B870050470329C6 -:106600008701404B329B63F326013689B30A8B40E6 -:1066100063F32A0981CB3E855686A285EF60500B35 -:10662000B30755011307C0033387E9024A943304C3 -:1066300064412697832A870091C72286D6853E85A6 -:10664000EF60100956949307C003B387F902232023 -:106650002A01A697984FC0CB3309274123AC2701C5 -:10666000631809009847D8CB98CB98436D9B98C383 -:106670009307C003B389F9028D470144CE94D84CE7 -:106680006318F70063160900CE248858EFF09FE9DD -:1066900022856F90FFE991C74A86A2853E85EF600B -:1066A00030034A94E3912AFB9307C003B387F902AE -:1066B000A697804749BFEF929FE300422320060040 -:1066C00055C4AA876945D9C51305C003B387A70276 -:1066D00037F500201305C584B7EA02208144AA9744 -:1066E00003AB07039387CAB8BC43938ACAB8898BA4 -:1066F00099E39304700C9307805C63F487001304A0 -:10670000805C931C0401328A2E8993DC0C01130CEB -:10671000800C0146E6850145EF20A03CAA8929C9E5 -:1067200048412286CA8523AE0A02EF60607ACE8590 -:106730005A85EF208075AA8B4E85EF20A03583A760 -:10674000CA0399CB8504C204C180EFF00FBBE3926A -:1067500084FD4D456F903FDD63D60B005E85EFF005 -:106760007F92CDBF23208A000145EDB76945DDB793 -:106770004545CDB7EF92BFD700422320060055C450 -:10678000AA876945D9C51305C003B387A70237F5A2 -:1067900000201305C584B7EA02208144AA9703AB01 -:1067A00007039387CAB8BC43938ACAB8898B99E315 -:1067B0009304700C9307005C63F487001304005C7F -:1067C000931C0401328A2E8993DC0C01130C800C7B -:1067D0000146E6850145EF20C030AA8929C9484114 -:1067E0002286CA8523AE0A02EF60806ECE855A8566 -:1067F000EF504076AA8B4E85EF20C02983A7CA03AD -:1068000099CB8504C204C180EFF02FAFE39284FDE1 -:106810004D456F905FD163D60B005E85EFF09F868C -:10682000CDBF23208A000145EDB76945DDB7454559 -:10683000CDB7EF92DFCB8329060023200600638EBD -:10684000090CAA872E8B6945A1C11305C003B38724 -:10685000A70237F500201305C58437EA0220B28B62 -:10686000930A900C8144114C130A0ABDFD5CAA974F -:1068700003A90703FD1AC20A93DA0A0163980A0002 -:1068800083A70B00C9CB01456F90FFC9832709017E -:1068900063978709EFF06FA60357690719E345452A -:1068A000E5B783270A01858B99E3E36A37FF032461 -:1068B0004A00637387003A8463F389004E84131699 -:1068C00004014182854691E38146DA854A85EF409D -:1068D000D035AA844A858DE4EF40303F83A70B0072 -:1068E000B3898940AA84A29723A0FB00229BE38C52 -:1068F00009F883270A01858BB5FFEFF0AFF869B778 -:1069000063999401EF40703C83270A01858BBDF3A6 -:1069100079B7EF40903B2685CDB76945B5B75D4562 -:10692000A5B79307C003B307F50237F70020130795 -:10693000C784BA9703A8070215476307E800DD4735 -:10694000232006003E858280EF92FFBCD84F8D4702 -:106950006318F700EFF0FFEDAA873E856F90FFBD4B -:1069600001E7EFF05FD5CDBF89469307A00FE3168F -:10697000D7FEEFF03FE0CDB7EF92FFB9A147AA8471 -:106980000021638AF50263ECB70085476381F50255 -:10699000894713642400638EF5006F901FBAC147C6 -:1069A000638EF5009307000413640404EDB71364C9 -:1069B000140080C0DDB713648400E5BF4859136438 -:1069C000040165D9EF207033EDB7EF923FB3411169 -:1069D0009305F100AA89A3070100EFF0BF9115C547 -:1069E000848793978401E18763D407021304C0036B -:1069F00093F4F407B384840237F400201304C484AE -:106A00002694232A04022320040241016F905FB2DE -:106A100083C74195E3FBF4FE1307C0033387E40209 -:106A2000B7F700201384C7841389C7843A94544C61 -:106A30000D47E39CE6FC83A709010547DD1793F7A3 -:106A4000F70F636EF700C1452285EFF0FFF2930761 -:106A5000C003B384F402CA9423A804026DB71C20B7 -:106A600093E707041CC0E5B737F7002083C64195BC -:106A70001307C7848147638FF6001307C7030326F4 -:106A800047FC11CEB7E702209387C7B8D8571367E2 -:106A90000701D8D7B7E7022003C587BB82808507E7 -:106AA00093F7F70FC9BFEF921FA7EFF0FFFBB7E710 -:106AB000022023AC07BA6F905FA883C7419563712A -:106AC000F5029307C0033305F502B7F7002093875B -:106AD000C784AA9798431375F70F118B98C38280C8 -:106AE00001458280B7E7022003C5C7BA828083C709 -:106AF00041956377F506EF921FA21304C003330597 -:106B0000850237F400201304C48441112A940458E8 -:106B10005D4585CC185095476319F7025C54232ACC -:106B20000402B76600003EC65230938626046C000D -:106B30002685EF20705C2A8901CD2685EF20F01B89 -:106B40004A8523200402EFF0EFD341016F90FF9EAE -:106B500083C76402014593F7F7FB2383F402F5B77B -:106B600069458280EF923F9B1304C0033304850282 -:106B700037F500201305C584DD442A94085801CD5B -:106B80001850954781446318F700EF5000462328BA -:106B900004022320040226856F903F9AEF92BF974C -:106BA0001304C0033304850237F500201305C584A0 -:106BB000DD442A94085801CD185095478144631844 -:106BC000F700EF20802D23280402232004022685CD -:106BD0006F90BF96EF929F929307C003B307F502A1 -:106BE00037F400209309C4842A8941111304C48412 -:106BF0008144BE9903A5490301C92EC6EF20F00FB9 -:106C0000B245AA8423A009029307C0033309F902FD -:106C10004A94085801CD99EDEF20300EAA8419E569 -:106C2000185095476314F70099471CD026854101F9 -:106C30006F901F901849A947630EF7008547639628 -:106C4000F5008545EF209029D5B789476396F50073 -:106C50008145CDBFC954D9BFD954C9BF03C74195D8 -:106C6000637BE5041307C003B307E50237F7002091 -:106C70001307C7849546BA9790535D47631ED602A3 -:106C8000EF927F89DC4F09476397E700EFF09FEDB4 -:106C90006205618531A00D47639AE700EFF09FF32D -:106CA000EFF04FBE2A873A856F903F896547E5FF31 -:106CB000EFF0DFEEF1BF69473A858280B7E7022047 -:106CC00003A547BE358105898280B7E702209387F7 -:106CD000C7B805474111C8CB94DBD0DB8CDFD8D7D0 -:106CE00041018280B7E70220054723A4E7BC8280E8 -:106CF000EF927F82B7E7022003A6C7BD83A6418239 -:106D0000131786016187630C051483C74196614898 -:106D100089483388070336980323C8006311131585 -:106D2000034315008348050003280800220333634A -:106D3000130183482500C20833E368008348350007 -:106D4000E208B3E86800639C0811E207E1873E852A -:106D50006F90AFFEB3885702B69803AEC800631AAF -:106D6000060763180E061398870113588841850794 -:106D7000C207C183E3E0C7FE6317060193F815005D -:106D8000FD57E38608FC8989FD57F1F19317080147 -:106D9000636BC800931703016367C300FD57E37873 -:106DA000C7FA93170701C18361473387E702BA9691 -:106DB00023A6060001CD103118212206598E382154 -:106DC0004207598E38316207518F98C223980600C6 -:106DD0000DA863147E040DC9834E1500034E0500F3 -:106DE000A20EB3EECE01034E2500420EB36EDE01BD -:106DF000034E3500620E336EDE0183AE080063156C -:106E0000DE012382F19691B783D80801E3E1E8F728 -:106E1000139787016187468F99BFE31A8EF415C5D2 -:106E2000834E1500034E0500A20EB3EECE01034EB5 -:106E30002500420EB36EDE01034E3500620E336E46 -:106E4000DE0183AE0800E30EDEFB83D80801E3E039 -:106E5000F8F31393870113538341C68F09BF3A8810 -:106E60003A83814F014F8147E1428543094419B775 -:106E7000EF92CFE898319C21368A22075D8FBC21A2 -:106E80005441C2075D8FBC31E207D98F639BF60086 -:106E900089E6D9573E856F90AFE90545EFE05FEC95 -:106EA000CDBFE5DB2E842A89AA852285B289EF0031 -:106EB000904B65F11C300420370500F0A207C58F08 -:106EC0002420C204C58F2430E204DD8CEF00900141 -:106ED000E98C370500E0EF00F000E38CA4FAD285DE -:106EE0002285EFF0FFE0AA87E34605FAE147B30702 -:106EF000F50203A541823E9589475CC5232A2501F9 -:106F0000938759001307950094237D1714B3938634 -:106F1000F7FF6396F900231805008147A5BFB687E0 -:106F2000E5B721CDEF922FDFC4412A84DC34C82499 -:106F3000A2075D8DEF000077A16793870710938507 -:106F400024016304F5009385E400D835DC2522078D -:106F50005D8FFC25C2075D8FFC35E207D98F584055 -:106F6000B98F1844F98F81EB814613866400B1050F -:106F70002285EFF0FFEF6F904FDC828063070516EC -:106F8000EF92CFD73A26930790024111B2892E8A09 -:106F9000AA8463E8E7004E85EF10D02F41016F907F -:106FA0002FD9032946008347D9000345C90013049C -:106FB0002901A2075D8DEF00E06EA167938707109E -:106FC0006304F5001304E900834A14001C200545FE -:106FD000A20AB3EAFA00EF00E06CE39EAAFA834A41 -:106FE00054005C2013054060A20AB3EAFA00EF00E7 -:106FF000606BE392AAFA834A34003C200565A20A3A -:1070000013050580B3EAFA00EF00C069E395AAF81A -:10701000930AE4001146D6856800EF50706BD440A7 -:1070200013068400ADC2183C1C2C22075D8F3C2C3B -:10703000C2075D8F3C3CE207D98F6396F604854614 -:107040006C002685EFF0DFE2054B7C306820A2075C -:107050005D8D892D8547630FF5028947E31DF5F2A4 -:107060006C002685EF10803FB7E7022003A747B1E9 -:10707000E30307F2938747B1DC47E38E07F06C0028 -:107080002685829709BF81466C002685EFF05FDE7A -:10709000014B65BFE3010BF00945292568A021815B -:1070A00068B01146D68513058401EF507062114611 -:1070B000938544005685EF50B06135041509954716 -:1070C000FD5618207D197D1438B4A300E90033075C -:1070D000FA001823FD1718B0A303E900E393D7FEC5 -:1070E0009C4CCE85268582977DB58280EF920FC11C -:1070F0002A89AE8901469305A0020D45EF10701E46 -:107100007D544DC94041AA840545692B48A8218179 -:1071100048B89306E90293075400154793854184C4 -:107120001386C1837D5503C80600FD17FD16A38B8A -:1071300007013388E50003480800A38007033308EC -:10714000E600034808007D17A380070103C8160066 -:10715000A3830701E319A7FC114693054900130512 -:10716000C401EF50F056CE85114613056402EF506E -:1071700030560545052B68A48569218168B41385BF -:1071800009800D2308A8218108B813054060192B38 -:1071900028A8218128B8138569802923832789019C -:1071A00048A4218148B4A6854A8582972A842685E9 -:1071B000EF10500E22856F90AFB7EF924FB3B7E448 -:1071C00002200144938404BDE14A894B054C930C91 -:1071D000F00FDC446364F4006F90EFB433095403A0 -:1071E0009389418283A50900CA959E29D8458507C0 -:1071F000C207C1839EA9631A770103D7219563FC57 -:10720000E70005041374F40FE9B7E31C87FF03C715 -:1072100001956375F70023A60500E5B7C849EFF0AF -:10722000FFEC83C70195E39E97FD83A70900CA97EA -:1072300023980700F9B7EF926FAC2E8441112A8989 -:10724000AA852285B289EF00101209C5595541015E -:107250006F900FAE1C300420370500F0A207C58FD9 -:107260002420C204C58F2430E204DD8CA529E98CDA -:10727000370500E08529E38BA4FC18301C20220789 -:107280005D8F3C20C2075D8F3C30E207D98FDDDF88 -:1072900085452285EFF0DFA5E34B05FAE147B3040E -:1072A000F50283A74182138A4182A697D84711C766 -:1072B0007D55639B0902814A31A00547D8C723AA9F -:1072C0002701854AEFF01FA2A2854A85EFF01FE251 -:1072D00001ED83270A000547A697D4476396E60089 -:1072E00063940A002398070083270A00A697D847CB -:1072F00085476316F7002AC6EFF0DF9E3245E38824 -:1073000009F483270A000947A697D447E391E6F4D6 -:1073100003A44900138797001306E902930654005B -:107320008D070C237D17FD168CB20C227D16ECB256 -:10733000E319F7FE056513050580AD26832789014E -:1073400048A4218148B4CE854A85829709B7EF9237 -:10735000EF9AAE8441112A89B94526853284EF100F -:10736000806C631E0510CA852285EF00C07F6315FF -:1073700005101C3083490400370500F0A207B3E76D -:10738000370183492400C209B3E7F9008349340077 -:10739000E209B3E9F900B926B3F9A900370500E01D -:1073A00091261020143038203C30639CA908139596 -:1073B0008600518D4207598DE20785456C845D8DAD -:1073C0009305E0054C85392E41811375F507C88575 -:1073D00008301C2022055D8D3C20C207C98F283053 -:1073E00062055D8D01262181488608301C2022051A -:1073F0005D8D3C20C207C98F283062055D8DDD247C -:10740000C8863400C04095477D5613075400B385A5 -:10741000F6008C217D170CB3B305F90083C59502E6 -:10742000FD176CB3E395C7FE0565130505809D2C1C -:107430008327890148A4218148B4A6854A8582977B -:107440000DA8A206D18E4207558FE207D98F0327D8 -:107450004900B98F03278900F98F99C78327C9008D -:10746000715581CB1304C9002686A2854A85EFF0A9 -:107470009FDC41016F90CF8B9386C18361B77955B3 -:10748000CDBFEF924F8944412A842E89DC34C82431 -:10749000A2075D8D012CA167938707106317F50084 -:1074A0009C388828A2075D8DF52A9307058091CB2B -:1074B0008567938767806302F5042285EF10805DFE -:1074C00015A8A2854A85EFF0DFA5DC34C824A20701 -:1074D0005D8DC92AA16793870710B9456313F5002D -:1074E000C945B305B0402285EF10E05379F5CA8550 -:1074F0002285A92401456F904F8422869305990225 -:107500004A85EFF0BFA7FDB7EF92EF80B7E7022003 -:107510009387C7B25CD193075006A309F50293077E -:10752000E006230AF502B77700009387E7345CC9C9 -:10753000B77700009387C7561CCDB7E5022099475F -:107540002A842304F502232E05001946938555C28B -:1075500013059502EF50D0179307C05D1EB893072F -:1075600030032309F40201456F803FFDEF82BFFA2B -:10757000B1642E8493841435EFF0CFD6118915CDE4 -:10758000FD1485CCEFE0CFEC2A897DD5AA87814414 -:1075900001E8CA852685EFE06FE701456F80FFF9B6 -:1075A00032244C403E85EF50B0123A240040BA9449 -:1075B000C204B307E500C180E1BF5155C5B7EF82F2 -:1075C000FFF3B7E7022083A747BFAA8913858196F7 -:1075D0009384819682978C40A9C983C7C1951384EF -:1075E000819693F7F70F81E78547238EF194C205C3 -:1075F0000D46C1810D454440EF10A04E2A8915C5A6 -:107600002A8432244840A685EF50900C3E24004046 -:10761000BE9465F8EFE02FDE83A70901CE854A8589 -:10762000829701C54A85EF10E0466F807FF0EF82B8 -:107630009FEE411137E4022002C202C402C6EF00ED -:10764000107A1305C4BFB7E502201946938585B9A2 -:1076500013059502EF50D007B7E7022003A7C7B87C -:107660009387C7B81305C4BF3AC29847DC433AC4EE -:107670003EC623A4019823A20198EF10E039377881 -:107680000000B7770000740030004C001308284851 -:107690009387875001471305C4BFEF104032410163 -:1076A0006F80BFE99317850021815D8D420541817F -:1076B00082809317850021815D8D42054181828002 -:1076C0001357850193178501D98FB706FF0013174C -:1076D0008500758FD98F4167130707F02181798D58 -:1076E0005D8D8280EF823FE3EFF09FFD6F80FFE4CE -:1076F000EF827FE203A48198AA8401EC03A541985C -:1077000011C5EF10C03119C103A4419822856F80C3 -:10771000DFE22285EF10A03005C198309C202207BF -:107720005D8FBC20C2075D8FBC30E207D98F584007 -:10773000B98F1844F98FF9DB0040C1B7EF823FDB06 -:107740004041AA84AE891C300820A2075D8DEFF06D -:107750005FF631814205418191476306F500268538 -:10776000EF10403331A41C300820A2075D8DEFF0EC -:107770005FF419813C30137AC5032820A2075D8D80 -:10778000EFF03FF3BE242A89E3EB47FD9E24E3E8B4 -:10779000A7FCD2852285EF40F05171F1CA8526857C -:1077A000EF102048370500F0EFF0DFF3370500E079 -:1077B000EFF05FF34E89054B930B04014A85EF1000 -:1077C000002611E563130B12032909000DA293078C -:1077D0004900EDDB83264900F5D618381C2822071E -:1077E0005D8F3C28C2075D8F3C38E207D98F6382EA -:1077F000F604CA855E85852E0DED1C38834A04018A -:10780000370500F0A207B3E75701834A2401C20AF3 -:10781000B3E7FA00834A3401E20AB3EAFA00EFF070 -:107820007FECB3FAAA00370500E0EFF0BFEBE39B73 -:10783000AAF858345C2422075D8F7C24C2075D8F30 -:107840007C34E207D98FB9C3CE851305C400212E3D -:10785000E31705F05C34034AC400370500F0A207C3 -:10786000B3E74701034AE400420AB367FA00034A58 -:10787000F400620A336AFA00EFF0DFE6337AAA0016 -:10788000370500E0EFF01FE6E30BAAECE30909EC93 -:1078900003497400682022093369A90011657D1528 -:1078A000EFF05FE03375A90011C52685ED26AA84A7 -:1078B00061C14041CE852685EF10A04A55E91C34B0 -:1078C0000824A2075D8DEFF0DFDE1375F50F9947F1 -:1078D0006303F50AC5476309F50885476312F50A8E -:1078E000CE852685EF40007D61A003A981986314B1 -:1078F000390103290900014BE31209EC1C34082467 -:10790000A2075D8DEFF0FFDA1375F50FC547631E13 -:10791000F500B3074401A823BC33A2075D8DEFF047 -:107920005FD993074004630DF502854A1C3408248F -:10793000A2075D8DEFF0FFD71375F50FC5476319EB -:10794000F508229A83473A0003452A00A2075D8D75 -:10795000EFF03FD69307C076631CF5064E893DB71E -:10796000E39809F2814AD9B7CE852685EF402021D8 -:1079700001456F805FBBCE852685EF201035CDBFDA -:10798000CE8513050401C522E31B05DC1C38034921 -:107990000401370500F0A207B3E7270103492401DA -:1079A0004209B367F9000349340162093369F900F8 -:1079B000EFF05FD33379A900370500E0EFF09FD2F5 -:1079C000E30FA9D8C0C089452685EF40B01341BB5D -:1079D000E3910AE669B3EF829FB1AA894289630FF6 -:1079E0000612AE8AD1453A8AB284B68B3E8BEF102E -:1079F000800379576311051203A44900A20B1C34BC -:107A00000824A2075D8DEFF0DFCA1375F50F33650B -:107A10007501EFF03FC91357850018B408A4EFF0C3 -:107A20005FC9218142054181220533656501420517 -:107A30004181EFF03FC798309C2008A422075D8F5A -:107A4000BC20218108B4C2075D8FBC3011651305CD -:107A50000550E207D98F13D787001CA818B813D791 -:107A60000701E1833CB838A83365AA00EFF09FC353 -:107A700008A0218108B003D58900138A0197EFF08F -:107A80007FC228A0218128B003550A0023030400E7 -:107A9000A3030400EFF01FC183570A0048A021810F -:107AA000850748B02310FA0063810A0203C71A0051 -:107AB00083C70A0022075D8F83C72A00C2075D8F34 -:107AC00083C73A00E207D98F99E713074900814736 -:107AD00019C38327490013D787005CA458B413D770 -:107AE0000701E18378A47CB423050400A305040006 -:107AF000D1452285EF40101C28A4218128B483574A -:107B0000090385C303D7890063FDE7002686CA857C -:107B10004E8585232A873A856F80FFA04441C104A2 -:107B2000F9BF832749012686CE854A858297DDB72E -:107B3000EF827F9E01112A8432852ECE36CC3ACA3E -:107B40003EC832C6EFF0DFBA09CDC2475247E2461F -:107B50003246F2452A882285EFF0FFE705616F8003 -:107B6000DF9D7155E5BF18311C2122075D8F3C2137 -:107B7000C2075D8F3C31E207D98F9386F7FF7557B7 -:107B80006366D70203C725030145098B0DC3D8419E -:107B9000630FF70094453D8F758F11EB13C5F6FF0A -:107BA000E98F3385A7401335150082800545828013 -:107BB000EF82FF9303A44197C544014B138941977A -:107BC00019E06F805F96FD1493F4F40FFDD87C3CB0 -:107BD000032C040091C7FD177CBC228B6284CDB7B7 -:107BE00083294400814A03A549005C315821A2073A -:107BF000D98F85EF18311C21514622075D8F3C211A -:107C000093058400C2075D8F3C31E207D98F5CC0C9 -:107C1000EF50002C85454E85EF4000704E85EF10EB -:107C2000C005AA8A4E85EF00F0668329440063965A -:107C30000902032709001C40631CE4042320F90007 -:107C4000A2851545EF00F047138721971E235A841C -:107C5000B38A57412310570149B703A749004E85FE -:107C60001C33034A0700A207B3E74701034A270072 -:107C7000420AB367FA00034A3700620A336AFA001D -:107C8000EF00B07FAA9A4E85EF00D060D28945B749 -:107C90002320FB0075B7EF829F8544412A899C30E1 -:107CA0008820A2075D8DEFF0DFA019811375C50351 -:107CB000D1476312F526FC30E820A2075D8DEFF076 -:107CC0005F9FBC302A8BA820A2075D8DEFF07F9EBE -:107CD0009C30AA8C8820A2075D8DEFF09F9D2A8C96 -:107CE0004A85EF009079B7E7022083A707BE03D744 -:107CF00021972A8D8D832A97FD8B9389219763EC99 -:107D0000E72003A44197814A138A41971DE815454E -:107D1000EF0030392A846300052071468145130540 -:107D20004400EF805F828D477CBC83270A002320BC -:107D30008A001CC05146A68513058400EF504019E7 -:107D400095ACD834DC2422075D8FFC24C2075D8FFC -:107D5000FC34E207D98F58486316F70298389C28FC -:107D600022075D8FBC28C2075D8FBC38E207D98F20 -:107D7000184C6319F700DC30D4205A24A207D58FA1 -:107D80006306F720A28A004051B7CC4203C85500D1 -:107D900003C34500220833686800637C060D93D551 -:107DA000860094A38CB393D50601E182ACA3B4B34F -:107DB000630E072A74336C23A206CD8E6364D61437 -:107DC0006362A814935689002300270114B39356C5 -:107DD00009011359890134A3A3012701782C014B10 -:107DE000058B630F0718638D081858404443D8303B -:107DF000D4202207558F6315071894339823A206C1 -:107E0000D98EB8234207D98EB8336207558F61E700 -:107E10005E2C03C904005146D1075EAC9C3093052B -:107E200084002685A207B3E7270103C9240042097D -:107E3000B367F90003C9340062093369F900EF50F0 -:107E400020094A2CEFF01F86A8A02181A8B0238327 -:107E50000400A383040023850400A3850400D14506 -:107E60002685EF402065A8A42181A8B4032B4400F7 -:107E7000D5A063090609F43103C36500A206B3E681 -:107E800066006361D60801CB742378332207558FCF -:107E90006303E8008148983194212207558FB4216B -:107EA000C206558FB431E206D98E2E8765AA935645 -:107EB00089002300270114B393560901135989013E -:107EC00034A3A3012701742378332207558FE307D6 -:107ED000E6F0814821B75443EC23F833DC32D0225A -:107EE0002207A2074D8FD18F631AF7029C32982286 -:107EF000A207D98FB8224207D98FB83262075D8FA7 -:107F0000B68731B74A85EF00505783D709003385CC -:107F1000A7402390A9004A85EF00D037014B8DA0E0 -:107F2000B1554A8583244900EF00F02FCA855A8550 -:107F3000EF0070569C3003C90400A207B3E7270185 -:107F400003C924004209B367F90003C93400620978 -:107F50003369F900E31609FC03270A001C40631487 -:107F6000E4022320FA00A2851545EF0090155A85FA -:107F7000EF00B05083D709003385A7402390A900B4 -:107F80005A856F804FDA23A0FA00F1BFFC30E82059 -:107F9000896BA2075D8DEFF0CFF1FD1B3375750185 -:107FA0004205418101E96A24EFF0AFF033757501B4 -:107FB000E31205D883D709003E9D2390A901FC3028 -:107FC000E820A2075D8DEFF0CFEE9317250163C285 -:107FD000070213153B017C2C4D810E05135C6C00D0 -:107FE0006695137CCC0393E71700330585417CAC81 -:107FF0004AAC83244900BC30A820A2075D8DEFF075 -:108000004FEB9C302A8B8820A2075D8DEFF06FEA42 -:10801000FC30AA8BE820A20793DB6B005D8DEFF0AC -:108020004FE94E054D81131635003305CB0013FB88 -:10803000CB0383274900330565414205135786006A -:1080400041815440D8B313578500F8B3238007000B -:10805000A380070023810700A3810700D0A3E8A322 -:1080600085480147E39306D2E31307E42322240162 -:10807000B5B3EF824FC7032C4500011132CA034745 -:108080007C00AA8D03456C00220783DB0503598D14 -:10809000AE8CEFF00FE28966B377D500138ACBFE82 -:1080A000A146334ADA0283D48D0009677D173EC6A4 -:1080B0003379E500B1144209C20413590901C180A2 -:1080C0000144514D3ACC420A135A0A0193163A0020 -:1080D00093970601C1833EC89387DBFE3ECE89E4B9 -:1080E000014505616F80EFC3E247A68A337BF90043 -:1080F000B24733EB6701F24763C6F400C24A8967AF -:10810000336BFB000146D1450945EF00901DAA895C -:1081100039C948415146E285EF40905B03A64D00C6 -:1081200083AB49006A9623A2CD0003D6AD00B30607 -:10813000A6412395DD00568D63090D0403D4AD00DF -:1081400063738D006A844204418001E483AD0D00B5 -:10815000E5B7814509460D45EF00B018AA8511E540 -:108160004E85EF0030137D55ADBF03A64D0002A52F -:1081700022A550C14E85EF001032B3068D40139DED -:108180000601135D0D01E3130DFC5A85EFF08FD14D -:108190002383AB002181A383AB0013854A014205F1 -:1081A0004181EFF02FD02381AB002181A381AB006F -:1081B000D14523850B00A3850B005E85EF40802F02 -:1081C00003A74C0152462385AB002181A385AB0058 -:1081D000CE8566850297B384544152994E85C20478 -:1081E0004209EF00300BC18013590901228DC5BD32 -:1081F0003C296389B700B7E702202CA9A309050031 -:1082000023AC07B082805E2D184DB306F70023889B -:10821000B60E938627008507C207C18356ADBA976D -:108220002388C70E82805A2D1C4D9306170056AD29 -:10823000BA972388B70E82805E2D184D13D685011C -:10824000B306F7002388C60E93861700C206C182C4 -:10825000BA9613D605012388C60E93862700C20658 -:10826000C182BA9613D685002388C60E938647002E -:108270008D07C207C18356ADBA972388B70E828097 -:1082800015C15E2D184D130630049386170056ADA8 -:10829000BA97FD562388D70E5E2D6376F60093F6C7 -:1082A000370091E282809386170056ADBA972388F3 -:1082B000070EDDB763020518EF82EFA50451DD5705 -:1082C000638904162A890146930540130145EF008E -:1082D0005001C8C82A87FD57630D0514BC3899EFB3 -:1082E000BC280546638CC700F11793F7F70F637737 -:1082F000F60083A70182850723A0F182404303A5EE -:108300000182854780CC88C01CA01CB099473CA046 -:10831000A3010400EFF0CFBA9357850048A05CB0EA -:108320009357050161817CA068B0804C29472304E4 -:108330000400A304040023050400A305040023068D -:108340000400A306040023070400A3070400BC28BC -:108350006388E700F11793F7F70F0547636EF7009F -:10836000834749005CA4834759005CB48347690094 -:108370007CA4834779007CB423080400A30804008C -:1083800023090400A3090400230A0400A30A04002B -:10839000230B0400A30B0400230C0400A30C040013 -:1083A000230D0400A30D0400834589028147414643 -:1083B00013970701418381466376B7003307F900BD -:1083C000834697023307F40054AF8507E392C7FE54 -:1083D0001307C4029307C406230007000507E39DA3 -:1083E000E7FE1307C40E238007008507E39DE7FE21 -:1083F0003755826313053536EFF08FAC9357850000 -:108400002306A40EA306F40E904C93570501618138 -:108410002307F40EA307A40E239E0400814713072D -:108420004004B306F6002388F60E8507E39BE7FEBB -:1084300081473E856F806F90D9573E85828011CDF0 -:10844000EF826F8D005101C8484811C1A125232A30 -:108450000400232C04006F804F8E82806300051877 -:10846000EF826F8B0051630904163828A14763150A -:10847000F71698319C2122075D8FBC21C2075D8FC2 -:10848000BC31E207D98F18546398E714AA84B14528 -:108490002285EFF0FFD52685EFF0DFE163190512A5 -:1084A0000546930550032285EFF0FFD591452285BF -:1084B000EFF07FD71146930520032285EFF0BFD45C -:1084C0000854EFF02FA2AA852285EFF0FFD61146BF -:1084D000930560032285EFF01FD34850EFF08FA083 -:1084E000AA852285EFF05FD51D469305D00322852E -:1084F000EFF07FD15E2C184C05462285B306F700BD -:108500002388C60E138627004206418252AC93860A -:10851000170083C59402C206C182BA962388B60E9C -:1085200093863700C206C18256AC83C5A4023A9630 -:10853000BA962308B60E138647004206418252AC13 -:1085400083C5B4023A962388B60E93865700C206B6 -:10855000C18256AC83C5C402BA962308B60E1386F0 -:1085600067004206418252AC83C5D4029D07329710 -:108570002388B60E5EAC83C7E4022308F70EEFF043 -:108580003FD04E2C48489385050FC205C181512D1F -:10859000034784021C4C4C484840D8A70347940228 -:1085A00003A94400D8B70347A402930630041386F6 -:1085B0000185F8A70347B402F8B723A20400268771 -:1085C000EF301009268523A22401EFF05FE73C3845 -:1085D00085073CB885477EAC6F703FF68280EF72AE -:1085E0009FF31128BD24B7E7022083A747B791C3A3 -:1085F00082976F709FF437A700201307F73B719B9A -:1086000023AEE196B7E7022083A787BD23110700B9 -:108610008D07F19B93960701C182BA9716A3230297 -:10862000070023A0F1980546D0A396A3B6A323ACD8 -:10863000E196828049C183A7C197636EF50683A541 -:108640000198637AB50683A68197130685FF230EEA -:1086500005FE138781976373D60010C3835685FF89 -:10866000BE966304D60203C8460063100802638EF8 -:10867000D5000C436393B60010C38E22231CB5FEB5 -:108680009622B305F640BE96AEA28355A5FFB386EB -:10869000B7006302D60203C84600631E0800032821 -:1086A00007006313060114C3035785FF9AA20357FB -:1086B00085FFBA97AEA382808D05C205C181F1996D -:1086C000C205C1813147AE8763F3E500B14737E7A3 -:1086D0000220032687BDC207C1830D06719A63601D -:1086E000F60A03A7C197636DE50883A6019863792D -:1086F000D508930685FF835885FF998EC206C182EF -:10870000938588FF958DC205C18163EAF50663896B -:10871000F5063303170103484300631408029385E9 -:10872000860013888197AE97032E0800C207C18385 -:1087300083580300B305F70063166E022320B800C8 -:1087400015A01388470163ED050393858600AE9756 -:1087500013888197C20703230800C183B305F7007C -:10876000E3EE65FC23901501B6A123820500231CCE -:10877000F5FE96216306D60036973EA3828001451A -:10878000828039C51307350042074183719B420738 -:108790004183B146BA876373D700B14737E70220F8 -:1087A000032687BDC207C1830D06719A0145636226 -:1087B000F60203A7819783AEC19793858197330310 -:1087C000F640B306D741C206C182615E63E466002B -:1087D000014582803385DE0003484500835805004B -:1087E000631708063308DE4046986362F806138371 -:1087F000470163626804A107B697C207C183338843 -:10880000FE00231018012311D8002302080085461A -:108810001EA154A1835608006304D600F696BEA29A -:108820006319A70083A601988147502301EE91C3E5 -:1088300098C12105828085475CA1DDB71A23854751 -:108840007697E5B7E39CE6FEEDD794C1DDB7C68623 -:10885000B5BF83A5818283A6C182B7C70020938755 -:10886000372337E70220F19B130747C3138506011F -:1088700003D805002320070001466318C8008906B5 -:1088800011078905E396A6FE828083280700050666 -:10889000420623A0170183D806001CC34182C69755 -:1088A000E9BF9D4763EDA700B7E702200A0593875C -:1088B00047C3AA97884309C5184198C382800145D8 -:1088C000828099C99317250037E50220130545C317 -:1088D0003E951C419CC10CC18280EF723FC2983111 -:1088E0009C21AA8422075D8FBC212E84C2075D8F44 -:1088F000BC31E207D98F5841639FE70018301C2034 -:1089000022075D8F3C20C2075D8F3C30E207D98F84 -:10891000DCC06F70FFC103A541990149930940066E -:1089200005C11841DC40032AC5006311F7048545E1 -:10893000EF00D05A9307190093F7F70F63F7290355 -:1089400083A7C199C5DF984319CFD440631DD700D1 -:1089500014301820A206D98E38204207D98E38301C -:108960006207558F98C3DC47F1BF3E8952854DBFE2 -:10897000EF727FBA411132C636C42A84EFF0FFF598 -:108980003246A246814719CA18321C2222075D8F3F -:108990003C22C2075D8F3C32E207D98F1CC481475D -:1089A00099CA98329C2222075D8FBC22C2075D8F34 -:1089B000BC32E207D98F5CC441016F701FB8EF72FF -:1089C0009FB558CD1387C1988348070041112322D2 -:1089D0000500232405002326050023090502232082 -:1089E000050213831800A30A1503232805012A840E -:1089F0003EC623006700EFF0BFF7B247228582979B -:108A000011E993878198984318C080C3228541015A -:108A10006F70BFB20144DDBF23A2A19882800345DD -:108A2000250305898280AA870145A5C5BDC3139684 -:108A300005014182328863DB05003308C040BA2754 -:108A4000420813580801054563650705D427D84334 -:108A500081C60D456391A6020D8F938607010545DA -:108A60006369D702D8C3BA2701453297BAA79A27B4 -:108A70003A9692A78280FD16C206C18285480545B6 -:108A800063E9D80063D70500B62763E406010D8FBC -:108A9000D1BF8280EF729FA601440DCDAA8501440B -:108AA0000D498549FE25FD17C207C183FEA59DE33B -:108AB000DC2584411D4563882701FD17C207C1835A -:108AC00063EDF9001945EFF0DFDF05041374F40FCF -:108AD000A685E9F822856F70BFA52E85EFF09FB5BA -:108AE000EDB7EF72BFA18547630DF50031C589472A -:108AF0006306F5048D476305F504014422856F7014 -:108B00003FA38144D104B904C204C1808947B2891A -:108B10002E8963E9C70279CA1945EFF09FD82A84E4 -:108B200069DD2322050023142501231525012320B7 -:108B3000050023063501B5A0D144E9B78144E1B76A -:108B40008144E9B78D470144E31AF6FA1D45EFF079 -:108B50005FD52A845DD1B3079500CD07F19B37E738 -:108B600002205CC1930707BDDC438D04F198938715 -:108B70009703F19B230635012320050023142501CB -:108B8000B3849740930907BD63739900CA848547EE -:108B900026A47EA4B30499400D4A2289854A6347DE -:108BA000900085477EA4A306040089BF1D45EFF011 -:108BB0005FCF09E52285EFF0FFED81B783A749007C -:108BC00023164501232005002320A900938797033E -:108BD00006A5F19B63F3F400A687130705013EA5E4 -:108BE00058C1231755019D8C2A8955BF938735009D -:108BF00013853401F19B71993E9542054181EFF057 -:108C00005FB82A84E30B05EEAA94CD04F19844C121 -:108C10002314250123152501232005002306050023 -:108C200049B71E2563FAF504EF72FF8E2A84AE84DD -:108C3000B387F5402E2463E995025C2481EF638BB2 -:108C400095004C402285818DA695C205C181EFF02B -:108C5000BFA62A84084026A406A419C1EFF09FE30A -:108C6000232004006F707F8D1A248D8CC2043E97E0 -:108C70001AA4C18000407DBF8280814719E13E85F2 -:108C80008280850793F7F70F0841CDBF01C57E2588 -:108C900085077EA5828009CD99E182803A859E254F -:108CA00016251841B697C207C1831EA565FB0CC1E6 -:108CB0008280EF725F862E84EFF0FFFD2285EFF059 -:108CC000FFFC6F709F873DCDEF725F832A84AE8477 -:108CD0005955ADC51A249E256362F7060149014A1C -:108CE0008359A400BE24B3894941B387274163C98E -:108CF000F904939907014840CC4093D90901529552 -:108D0000CA954E86EF40C01C4E9A3E24420A4E99A8 -:108D10004209135A0A01135909016394470100409B -:108D2000014ABE246365F900844099CC0149BA2404 -:108D30009E246316F7029C409DC35D556F704FFFE4 -:108D4000C20955BF5955828009C801493A241E24D9 -:108D50006314F7001C40F5F3C1F40145C5B77DF479 -:108D600041B7EF72AFF903294500AA8983479900FB -:108D700003458900014AA2075D8DEFE09F93937A36 -:108D8000F50F03A4019931099384019901E4014588 -:108D90006F700FFA1C280145639457035C488DC31C -:108DA000084CCA864E86A285829719C963080A00B4 -:108DB0005C442326FA009C4080C05CC40545814980 -:108DC0005C44228A71F53E84D1B7814799C99831B4 -:108DD0009C2122075D8FBC21C2075D8FBC31E20759 -:108DE000D98F1CC101458280814799C998319C2146 -:108DF00022075D8FBC21C2075D8FBC31E207D98F8E -:108E00005CC1014582804CC910CD8280EF720FEFAA -:108E1000AE842A89D1452685B289EFF0DFC015C915 -:108E2000014681450545EFF0DFCB2A8409E57D59F0 -:108E30004A856F70EFEFA685EFF0BFE74E85EFE054 -:108E40003F8B19ED7159E30594FE2285EFF09FC425 -:108E5000C5B7B1552685EFF01FBD71F92684F9BF5E -:108E6000CA85630509008327090099E39305450036 -:108E7000834709010347A9008346B9002A884E8623 -:108E80002285EFE05FB52A897DBFEF72CFE8130638 -:108E90004500EFF0BFF76F704FEAEF72CFE713872F -:108EA00001991C43AA856390A7025C451CC3014538 -:108EB000EFF03FA16F706FE8D84709C76314B700A0 -:108EC000D845D8C7DC47EDFBDDB7EF72CFE4AA8405 -:108ED0000145EFF01F9D2A8411CD71468145EF7049 -:108EE0008FE6930700F83CB493870199984304A850 -:108EF00080C358C422856F704FE483A6419903A6AE -:108F0000C19A83A5C19903D54183938741831307F0 -:108F10001500131507011318070141816353080059 -:108F20000565368719E7328719EB2E8719EF8AA373 -:108F300082800358C701E30CA8FC5847E5B70358E3 -:108F4000C701E306A8FC5847C5B70358C701E300AB -:108F5000A8FC5847E1BF1C4963960710EF720FDA6F -:108F60004111AA84328411E62EC6EFF01FF9B245F2 -:108F70002A8403A7C19931E703A7419925EB83A967 -:108F80008199138981994E8759E783A7C19ACDEBBF -:108F900085C198319C2122075D8FBC21C2075D8F5E -:108FA000BC31E207D98F89C711462685EF30507250 -:108FB000C2AC23A6340123209900014541016F7002 -:108FC0002FD75E2F63928702104359CED1CD9431B3 -:108FD0009C21A206DD8EBC21C207DD8EBC31E207DA -:108FE000D58FD9C36302F608584771B75E2F6392D5 -:108FF0008702104335CAADC994319C21A206DD8E8B -:10900000BC21C207DD8EBC31E207D58FB1CF630D25 -:10901000F6045847A5B75E2F63928702104329C60E -:10902000A1C594319C21A206DD8EBC21C207DD8E34 -:10903000BC31E207D58F8DCB6308F6025847A9B73C -:10904000DA2F631F870094319821A206D98EB821A8 -:109050004207D98EB8316207558F94436386E60084 -:10906000DC4735B74D558280555589BFAA870358CF -:10907000C5021459D23B0C5583D807043305D84098 -:1090800005822E95328763F3C800468742074183E5 -:109090003307E54063450700239707038280338742 -:1090A000D5406356E00023970702014582808D8EEC -:1090B000F6B7E5BFEF722FC65E352A84BE95C205AE -:1090C0005E39C1814EB563F3B7005EB52285EFF01E -:1090D000FFF95E388983634BF5008347640222857C -:1090E00093E727002303F402EF20203E6F70EFC4C4 -:1090F000EF726FC24111014409CDAA854841014474 -:1091000011C52EC6EFF01F99B2452A841145EFF024 -:109110004FFB228541016F704FC2EF72CFBF0144F8 -:1091200001E522856F706FC10441EFF07FFC2A9446 -:109130001374F40F2685EDB7EF72EFBD41112AC607 -:109140001145EFF00FF62A8401C9B2455146EF30C0 -:1091500030584840EFF09FB3228541016F70EFBD5A -:109160000CCD82802328B50882802326B508828012 -:10917000232EB5088280232CB508A30EC502828059 -:109180001C4905476374F70429476381E704EF72BC -:109190008FB82A840325850809C5EFF0BF8F2324E3 -:1091A000040803254408FD577EBCEFF01FF7685CF8 -:1091B00023220408EFF07FF603250408EFF0FFF503 -:1091C000232E0406232004086F702FB78280EF72CD -:1091D0008FB1B7E402209387C4B81387019A03CCF8 -:1091E00087011C43B56A850703AD41991CC3130968 -:1091F0006006014A9384C4B81384019A9389419903 -:109200008D4C938ACA3D138B4185631A0D0003A4CC -:10921000C19A9384C19A631904246F708FB07D1929 -:109220001379F90FE30B09FE03462D0583260D0183 -:10923000854D6302CC02834D0D0B63840D10032713 -:10924000CD0AB306BB0183C6F6FF05072326ED0A48 -:10925000637CD70C814D03270D019946631DD70010 -:1092600003268D031440918E904C6376D60093872D -:109270001D0093FDF70F83568D00814BA18A95CE7B -:1092800091466305D7009D466319D70283284D0A8E -:1092900083268D0A03250D0ACC4CB386D8021040D4 -:1092A00003278D03198EAA96B3D6B60263FCC610A7 -:1092B00093871D0093FDF70F854B03254D0805C1CE -:1092C00003278D0314401946998E03170D053307A4 -:1092D000C70263E6E600EFF05FE423220D080327F0 -:1092E0000D016314971183268D031840158F944C3C -:1092F00063E8E61063960D108347CD030347DD0353 -:10930000850793F7F70F230EFD0263EBE700832732 -:109310008D09230E0D02639207146A85EF20E01A6F -:109320006A8A032DCD00D5B523260D0A1947636639 -:10933000B70193871D002308FD0A6A85EF20007797 -:1093400011BF0317ED03634507000507231FED0257 -:1093500003270D08E30007F08315ED0303170D0540 -:10936000E35AB7EE63F4DC020317CD048316ED0471 -:10937000B1470D8736979376F60F63F3C700B14672 -:10938000D69694223317D7002318ED048356AD05E3 -:1093900003574D06231F0D0263F3E600368742078D -:1093A000418383560D040583231EED046376D700A5 -:1093B00013971600231EED04231DDD046A85EF209C -:1093C000C05751BD03471D0B814B330717032A9725 -:1093D0003357B702E373C7EE6A85EF204067034750 -:1093E0001D0B0507A308ED0AC9BDA546E314D7F078 -:1093F00003278D031440998E984C0607E37CD7EE23 -:109400006A85EFD08FDC6A85EFF09FD78327CD0088 -:1094100063020A042326FA008327CD0989C703259E -:109420008D01ED558297638F0B0083574D020357D3 -:10943000CD0183258D0203250D0693064D006A8616 -:10944000EF20203F832BCD00EA850945EFF06FC761 -:109450005E8D65BB23A0F900C1B703258D01EA85A8 -:109460008297E30C05EA6DBD2285EFD00FD62285E9 -:10947000EFF01FD10329C400A285094523A02401D0 -:109480004A84EFF00FC441BBEF72EF881C412E8479 -:109490006390B704DC451CC1232604002285EFF04D -:1094A0003FCE1C4829476381E7020547638EE700EA -:1094B0008347640213F7170001CB93E727002303C8 -:1094C000F4022285EF206000232804006F70EF86ED -:1094D00023A4F19A81461387819A89E7D5DE232058 -:1094E00007005DBFD0476317860091C21CC3584474 -:1094F000D8C75DB78546B287CDB71C491D476365A0 -:10950000F70AEF724F8135678A071307C73BBA978F -:109510009C432A848287EFD04FCB138781991C43C9 -:10952000639987005C441CC323260400A285094577 -:109530003DA823A4F19A81461387819A89E7EDD645 -:1095400023200700D5B7D0476317860091C21CC3FC -:109550005844D8C7D1BF8546B287CDB7EFD0EFC644 -:10956000A2851385C199EFF03FF2A2850D45EFF07A -:109570004FB5014531A8EFD04FC5A285138541995C -:10958000EFF09FF065B78545EF10D068954701C9AA -:109590006F60BFFA8545EF10F0677DF9A5471CC8DD -:1095A0002285EF109072F1B701458280EF62BFF61D -:1095B00041112E8511CE0E2632C6EFF0BFAF3246D6 -:1095C0003285EFF02FCD81473E8541016F60FFF678 -:1095D0008147FDFAEFF07FF2AA87FDB7EF62BFF394 -:1095E00003A441999304500619E06F601FF5032608 -:1095F000840819CA832704098146A2858DCF084CA7 -:10960000829719E123240408FD1493F4F40FF1DC8C -:109610008347640213F7170009CF93E7270023035A -:10962000F4022285EF10706A83476402F19B2303E2 -:10963000F402404455BF0145EFF05FF7D9B7EF6240 -:109640009FEDEFF0BFF91387419A1C23850793F72D -:10965000F70F1CA3858B99C3EFF07FB76F60FFED09 -:10966000EF627FEB03A4419993045006014901E4A2 -:109670004A856F609FEC0326840819CA8327040972 -:109680008146A285B1C7084C829719E123240408BA -:10969000FD1493F4F40FE9DC8347740285CB034790 -:1096A0006402937617009DC2FD1793F7F70FA3038B -:1096B000F4029DE3136727002303E4022285EF10E1 -:1096C000D06083476402F19B2303F402404445B712 -:1096D0000145EFF0BFED55BF0509CDBFEF623FE19A -:1096E0001849A94741112A84631EF700AA851385EA -:1096F000C19AEFF07FD9A2850945EFF08F9C410117 -:109700006F607FE21C412E8B032905063EC65C413B -:1097100083298502035AC5013EC4835A4502832426 -:10972000C509832B8501EFD04FAA13854199A285E6 -:10973000EFF09FD50325040819C1EFF01F9E685C68 -:1097400019C1EFF09F9D0325440819C1EFF0FF9C5C -:10975000A2850945EFF0EF9681C4ED555E858294B0 -:10976000E30F0BF8D687528734007000CE854A8508 -:10977000EF20200C69B793870183884303A7019AE0 -:109780003A9588C38280EF627FD72A890945EFF036 -:109790004F91B7E40220938404BD2A8425E19C48BC -:1097A0008983858B89E7014422856F607FD883A7F1 -:1097B000C19A03A6019A014581469389019AF1E76E -:1097C00001C58545EFF09FF10945EFF08F8D2A84A3 -:1097D00015E583A7419903A509007D191379F90FB0 -:1097E0001306F0078145DDEB09C485452285EFF0BE -:1097F000FFEE0945EFF0EF8A2A8455D51306400B9A -:1098000081452285EF603FD4930700045CA89C4407 -:10981000231C040613078021231BF4065E385EB464 -:109820007EB4E1773EA4DC406374F70093078021A7 -:109830002310F404C1677D577CC485472318F404C2 -:109840007ABC231DF404EFF01FF383A7019A68D4B8 -:1098500028D01CDCB79700009387C75A2328F40848 -:10986000B7E7022003A707B8938707B868C8232083 -:10987000E40AD8439C4728D8230E04022322E40A92 -:109880002324F40AA308040A05B7985F3307E640C7 -:109890006364D700BA863E85DC4715B7D42B636C6A -:1098A000D900636AD600985F3307E5406365B70067 -:1098B0003686BA853E84DC473DB7EF62DFC51305C7 -:1098C0000004EFF05FEC6F605FC7EF62DFC42A84D3 -:1098D0002E85EFD0FFE111CD1E3981CF938787FD13 -:1098E0003E87C207C1836373F40022871314070104 -:1098F000418022856F607FC4EF625FC01849CD54FC -:1099000045EBAE89DD54CDC52A84B28411051146DC -:109910003689EF30E05B5E2C46B081E7EFF0EFDD9B -:109920004AACEFF05FE55E3828D07D155EB47EB4BA -:109930002312F406B7E7022068C828D803A547BD5C -:1099400023240402232804029307802163F4A70040 -:1099500013058021420541812310A404CE85EFF038 -:10996000DFF68547231DF404A9472310A40433051B -:10997000F5028947138781991CC81C43232A2409AF -:10998000231EA404639987025C441CC393874199F6 -:109990009843894680C358C485470147014681459D -:1099A0002285EF10A062AA8401E52285EF10F03134 -:1099B00026856F60FFB723A4F19A81461387819AA9 -:1099C00089E7E9D623200700D1B7D047631786007F -:1099D00091C21CC35844D8C755BF8546B287CDB77E -:1099E000EF627FB303A4C19A9384C19A19E06F60B8 -:1099F000DFB42285EFC07FFD2285EFF06FF80329E9 -:109A0000C400A285094523A024014A84EFE07FEB2E -:109A1000F1BFEF62BFAE1C49AA842E8AC827DC378B -:109A2000A2075D8DEFD0FFC8058929E941691309B7 -:109A300009FC03270A0103A6419CDE2454334C236E -:109A4000B297A206D58D7423C206CD8E6C33E20583 -:109A5000D58D8356CA00AE96B386D74063D506022D -:109A60008D8F6359F000918DC205C840C181CEA48D -:109A7000EFF02F9B23A044016F609FAB5285EFF066 -:109A8000CFE9014AC5BF5C374827A2075D8DEFD0FB -:109A90005FC2058915CD9C48C037C8272204498C70 -:109AA0004A85EFD03FC09C48698CC827DC37A207A5 -:109AB0005D8DEFD01FC01375E50313651500EFD062 -:109AC0007FBE9C48418D42054181C8A72181C8B70E -:109AD00003240A005285EFF0AFE145D4228A91BFFA -:109AE000EF62FFA083C7419B2A84C18B9389419C6D -:109AF000F1C783A5090038558356450670553305CF -:109B0000B74083A7019B9384019B634405026316BE -:109B1000B7003307F640634E0700631EF60203A545 -:109B2000C19C78350348E50022073367070163F4D9 -:109B3000E60203A5C19C78350348E5002CD4220732 -:109B4000336707012312E4067CD411C70347040BD3 -:109B500019C32308040A6C483387B7406342E02ED8 -:109B600003D7019D231A04066319072C03574406E3 -:109B70006854B2962A976312D72C0317E403634EF6 -:109B8000072A639CF52A834784050D47850793F7C9 -:109B9000F70F230CF404637CF7280357A4058357BD -:109BA0000404BA97C207C1836374F700231DF40449 -:109BB0007C5C639F073A7040631A064403D6019D9C -:109BC00083A709001454138A019DE3000604B3859A -:109BD000F6401387F5FF634B074A05471D8F118F2A -:109BE00036976345E04A37E90220930749C5C443E5 -:109BF000139705014183BE24130949C563D3B748B0 -:109C00009E24998FC207C183BA246346B746B30521 -:109C1000B040C205C1852685EFE0FFE0DC408356F9 -:109C2000C90003A709002324F9001C5436971D8F8F -:109C30002316E9000327090193D6870023A0F90022 -:109C40005CA354B393D60701E18374A37CB383A6CA -:109C500009001854B387E64063C90700523493875C -:109C60001600998F918F6350F044B7E7022083A7C5 -:109C700047C6C827DC37A2075D8DEFD09FA30589B3 -:109C800063010578185483A70900631CF776B7E4CD -:109C90000220938A44C583A70A0103D9CA0093848A -:109CA00044C5C827DC37A2075D8DEFD09FA00D8982 -:109CB0003335A0002A9983A70A01420913590901E3 -:109CC00023102A01C827DC37A2075D8DEFD07F9EC5 -:109CD0000589631C053E5E3463F0270B9C48C8274A -:109CE000DC37A2075D8DEFD0DF9C058931C19C4830 -:109CF00003C9D700C82722093369A90041651305A4 -:109D000005FCEFD03F9A9C483379A900C827DC377F -:109D1000A2075D8DEFD0FF991375E503EFD09F98F3 -:109D20009C483365A90042054181C8A72181C8B775 -:109D30005E34DEA49C48C827DC37A2075D8DEFD0D7 -:109D40005F97098901C5DE24FD17DEA4CE24C84033 -:109D5000EFE03FED9C4803D9C400C827DC37A207D9 -:109D60005D8DEFD01F950D893335A0002A994209EA -:109D70001359090123102A018327440863840736F5 -:109D80009C48C827DC37A2075D8DEFD09F920589DC -:109D900063170534032B4408C16B938B0BFC03A59D -:109DA000090003570A002A9763000B0803260B01DA -:109DB0004C325422A205D58D7422C206D58D743240 -:109DC000E206CD8E8355CB00B695B305B74063D27E -:109DD0000536158F635AE00483274408984B5C339B -:109DE0005423A207D58F898FDEA49C48C827DC376F -:109DF000A2075D8DEFD0FF8B098901C5DE24FD1719 -:109E0000DEA4CE24C840EFE0DFE19C4883DAC40042 -:109E1000C827DC37A2075D8DEFD0BF890D893335A8 -:109E2000A000AA9A23105A012322640965ACE39189 -:109E3000E7D82285EF10903BA5BB230C04048DBB13 -:109E40003450B386D7406342D0128346640213F67F -:109E5000460001CAED9A2303D4028356C405231D8C -:109E6000D4048316C4040356E40442078D86B296D4 -:109E70002318D404835664074183231AE4063697D3 -:109E8000231BE40618487CC823090404230C04049B -:109E90008D4763F1E7020357A4058356C405835732 -:109EA00004046376D702BA97C207C1836374F700CC -:109EB000231DF4048327040885E383270408230E65 -:109EC000040293B71700B307F0407EBCD5B1B38747 -:109ED000F702B3C7E702C1BF984B48335C232205A2 -:109EE0005D8D7C23C207C98F683362055D8DEFD01D -:109EF0006FFF832704082A8903DAC7009C4BC82711 -:109F0000DC37A2075D8DEFD0CFFA9C400D89333549 -:109F1000A00052953309F9404A95E340A0FA03297D -:109F20000408832709002320F4088357440785C3C6 -:109F300083270901C827DC37A2075D8DEFD06FF7B3 -:109F4000058911C583574407FD17231AF406032515 -:109F50004900EFE09FD2835784073385A740231C35 -:109F6000A4064A85EFF0CF98B1B7231A040689B149 -:109F7000984B03A9040048335C2322055D8D7C23A4 -:109F8000C207C98F683362055D8DEFD0AFF57C5C89 -:109F9000AA8A3309594103DAC7009C4BC827DC372A -:109FA000A2075D8DEFD0EFF00D893335A0005295FB -:109FB0003309A940E34109C09C403850998FE34CD4 -:109FC000F0BE0329C407832709007CDC83574407BC -:109FD00085C383270901C827DC37A2075D8DEFD031 -:109FE0004FED058911C583574407FD17231AF40661 -:109FF00003254900EFE07FC8835784073385A740D6 -:10A00000231CA4064A85EFF0AF8E5DB63C44984011 -:10A01000998FE3D507BA8316C40403D7019A420681 -:10A0200093D536404182C205C181B307C7408D8FA9 -:10A03000C207C18313950701B697C207C18741853F -:10A040002316F40463570500198E2E961315060186 -:10A0500041858316E4048D872322040413D7264008 -:10A060003387E6402A9742074183BA972317E404CF -:10A070002318F404A1B69EA423950400998D84406E -:10A0800061B63307E0409315070169B6958FE3D0B9 -:10A0900007BC83476402228593E727002303F40269 -:10A0A000EF10A0426DB6E384E6BE2285EF10E03AE1 -:10A0B000832444086394041E37E50220130545C534 -:10A0C000EFF08F872322A408C1AA7D1942091359F2 -:10A0D000090111B11C412322F408EFF06F8103251F -:10A0E00044086DF903A7090083570A002285BA972F -:10A0F0001CD45E343389274123162403EFE01FF775 -:10A10000DC409A2709C723AEF19A23A204009C4899 -:10A11000C827DC37A2075D8DEFD0AFD9058919C5F7 -:10A120009387019C98231367070298A3914A1D4BBC -:10A1300039AA5C364826A2075D8DEFD08FD70589F6 -:10A1400035C59C48C827DC37A2075D8DEFD06FD698 -:10A15000098929ED9C4883CAD700C827A20AB3EA17 -:10A16000AA005E85EFD00FD49C48B3FAAA00C82796 -:10A17000DC37A2075D8DEFD0CFD31375E5031365F0 -:10A180001500EFD02FD233E5AA009C48420541814B -:10A1900013578500C8A7D8B783DAC400EFD06FD1B2 -:10A1A0000D893335A000AA9A23105A01832A0B0087 -:10A1B0005A85EFE0FFF3568BDDB623A0F9005C373C -:10A1C000482783DBC400A2075D8DEFD08FCE1C54DF -:10A1D0000D893335A0005E953E959C4808D483DBFD -:10A1E000C400C827DC37A2075D8DEFD08FCC5E346A -:10A1F0000D893335A0005E953385A7404AB422858A -:10A20000EFE0DFE6CC409E2589CB9387C19B884356 -:10A2100035CDEFE05FA823A204009C48C827DC37B7 -:10A22000A2075D8DEFD0EFC8058901CD1387019C92 -:10A230001C2393E707021CA31C486394570123289F -:10A2400064019C4026852322F408EFE07FEA832402 -:10A25000440899CC984854335C23A206DD8E7C23B5 -:10A26000C207DD8E7C33E207D58F1454E387D7F421 -:10A270008347640213F7170001CFF99B93E7270088 -:10A280002303F4022285EF10402439A08CC361B768 -:10A2900093E717002303F4026F60EFA803A70900F8 -:10A2A00001491305F7FF13081700904854325C2248 -:10A2B000A206DD8E7C22C207DD8E7C32E207D58FBE -:10A2C000639CE70237E50220930745C5DA27DE24C1 -:10A2D000E3F4E7FC130545C5EFE01FE655DD630A2F -:10A2E00009002320A900A685EFF0AFF275B7B68468 -:10A2F0006DBF2322A408C5BF63100902B306F7404F -:10A3000063DE060837E50220130545C5EFE0DFE20E -:10A3100041D52322A408C1BF8328090183C5580061 -:10A3200083C64800A205D58D83C66800C206D58DB8 -:10A3300083C67800E206CD8EB306D54063C006061C -:10A34000B306F840634CD00437E50220130545C539 -:10A35000EFE09FDE2A8429D1032709015C334C23D7 -:10A36000A207DD8D7C23C207CD8F6C330357C90054 -:10A37000E205CD8F83A509003E970D8F635BE0005A -:10A380009D8DC20503254900C1812316B900EFE068 -:10A390005F8923208900A6852285B9B79440268944 -:10A3A000B9F6B307F740E359F0EE5C364826A2074A -:10A3B0005D8DEFD00FB00589E31005EE37E5022083 -:10A3C000130545C5EFE05FD788C0E30705EC984863 -:10A3D0005C334C23A207DD8D7C23C207CD8F6C3309 -:10A3E000DA24E205CD8F83A509003E970D8FE35552 -:10A3F000E0EA9D8DC205C840C181CEA4EFE07F8216 -:10A4000061BD2285EF10600541BD3387D7406348A9 -:10A4100007005A348507958F998FE35FF0E68347ED -:10A420006402A9BDEF622F8F9384C19C03A904002D -:10A430002A848347D9000345C900A2075D8DEFD068 -:10A440004FA7318142054181954763FCA7029C409B -:10A450005109C827DC37A2075D8DEFD08FA5B7E77C -:10A46000022003A647BD31816D150A0542059315EB -:10A4700006014181C181814705488948114363E450 -:10A48000A7006F608F8BB306F9009822630907015C -:10A490006DDB630A170198326DD7BA9711A0850753 -:10A4A000C207C183E9BF9832E31D67FC13873700F9 -:10A4B000E359A7FCB822B4322207558F6363E60044 -:10A4C00011E32E871AA09107E1BFEF62CF814041CF -:10A4D000AA8B1C3008204111A2071389819B5D8D36 -:10A4E000AE8923208900EFD0CF9C832709001981F2 -:10A4F0001375C5032A9488239C3323A6819CA20745 -:10A500005D8DEFD00F9B9355650093F5C503B305A3 -:10A51000B0405E85EFE02FD111E503D78B00CD472A -:10A5200063E8E7005E85EFE0EFD641016F507FFF03 -:10A53000138B819B03250B00CE854105EFD0AFE245 -:10A5400075F103270B00370500F01C3B002BA20719 -:10A55000C18F202B4204C18F203B62045D8CEFD061 -:10A560006F98698C370500E0EFD0CF97E30CA4FA21 -:10A5700083250B0003D78B009946138605015E8562 -:10A58000B105EF10906259FD9384C19C9C40C8278F -:10A59000DC37A2075D8DEFD0CF913181F155B30546 -:10A5A000B5025E85C205C185EFE0EFC725FD80409D -:10A5B0001C300820A2075D8DEFD0AF8F08A021814D -:10A5C00008B080403C302820A2075D8DEFD06F8E10 -:10A5D00028A0218128B0804048305C2022055D8D74 -:10A5E0007C20C207C98F683062055D8DEFD08F8FE8 -:10A5F000935785005CB0935705017CA09357850164 -:10A6000048A07CB0804023A2A19C938A419C08343E -:10A610001C2422055D8D3C24C207C98F28346205A5 -:10A620005D8DEFD02F8C935785001CB49357050197 -:10A630003CA49357850108A43CB4804023A8A19A68 -:10A640001389019B7C346824A2075D8DEFD06F864F -:10A650009C4068A4218168B4C827DC37A2075D8DBF -:10A66000EFD02F859378F50F03D58B0093F5380045 -:10A67000B335B000AA9503A34199C20594400328BD -:10A680000B0093F7F803C181238AF19A2398B19CB8 -:10A690001A840146938C419B138C019D01E403A510 -:10A6A000C19AD9AA9C3203CE06005A30A207B3E75A -:10A6B000C7016319F70EBC3203CE26005A2CA2073D -:10A6C000B3E7C7016310F70E0347D8008347C800FC -:10A6D00022075D8F8347E800C2075D8F8347F8003C -:10A6E000E207D98F5840631FF70A034718018347D1 -:10A6F000080122075D8F83472801C2075D8F8347CA -:10A700003801E207D98F1840631EF70819C65C4468 -:10A7100023AA81985CC62326640003A74B00B7EDEB -:10A7200002200326840893874DC523AE019A238017 -:10A73000019C23A00700CAA798C723A2770194CB46 -:10A74000138A019C138DC19B938D4DC509CE832720 -:10A7500004098146A285638F072E084C8297E31374 -:10A7600005DC2324040883C70C0023A4819C13F771 -:10A770004700938B819C6302073418488947631F05 -:10A78000F72C3850832709006314F72E83470A00FB -:10A7900093E787002300FA0083476402F99B2303B1 -:10A7A000F402F9A422864044D5BD98329C222207A7 -:10A7B0005D8F5E316391E70CB032B8222206598E6C -:10A7C0005A2D631AC70A0343D8000346C800220360 -:10A7D0003363C3000346E800420633636600034662 -:10A7E000F800620633666600032345006315C3085C -:10A7F000034318010346080122033363C3000346E1 -:10A800002801420633636600034638016206336658 -:10A810006600032305006310C30693F64800E39324 -:10A8200006D093F6280095C683A80A001455B3866F -:10A83000D84063C706025235918E6343D002930617 -:10A84000C80013060801C69503250900EF00707EB5 -:10A85000D1B993F818006385080083A7019A1CDD1D -:10A86000E38205CC8347650293E727002303F502C3 -:10A87000EF00B04545B948450DF903A3C1993E8E97 -:10A880001A8A631C0A00DC36C826A2075D8DEFC059 -:10A890005FE21189E31805C845A003260A000DC22E -:10A8A000034718018347080122075D8F834728016A -:10A8B000C2075D8F83473801E207D98F6318F61806 -:10A8C000B832B0228357CA012207518F6390E7182C -:10A8D00001C98327CA0023AE41995CC523266A00BB -:10A8E00093F7080189CF9C32902203A50A00A207A2 -:10A8F000D18F9306C80013060801AA95B1B793F843 -:10A900002800E38108C283A88195638E080403456B -:10A91000D8008347C8008C2222055D8D8347E8005C -:10A9200094323A86C207C98F0345F800A206D58D36 -:10A9300062055D8D829805C9944003260B0003557E -:10A940000C009C32B83283C8060003C82600A20758 -:10A9500022079306C60083A50A00B3E717013367F1 -:10A960000701410659BF03454A01EFE0DFE12A84B0 -:10A97000E30A05BA83270B0001479386070199CAAA -:10A98000943B982BA206D98EB82B4207D98EB83BA0 -:10A990006207558F18C00357CA019386C7005AAC87 -:10A9A000014799CAD437D827A206D98EF82742077B -:10A9B000D98EF8376207558F944058C013050404A8 -:10A9C0009C329822A207D98F03A70A005EB08D4758 -:10A9D0001CC8930717001CD41CD8FC36F0267D1722 -:10A9E000A207D18F2312F406231EF40483278A01C1 -:10A9F00038D41CCCB7E7022083D747BD5EB47EB401 -:10AA000083270A021CD083578A0093F797191EA444 -:10AA100083A7419923AA81985CC4EFF0BFA0035596 -:10AA2000040493054400EFE05FEA2310A404854783 -:10AA30000147C946014681452285492B11C58145FB -:10AA40002285EFE0BFC9F9BC22851DB55285032AD6 -:10AA5000CA0005BD0145EFE07FB511B383A70A0029 -:10AA60001854998F63C607005A34998FE350F0D277 -:10AA700083470A0013F787006300073E9305F10040 -:10AA80002285EFB03F8785476316F5001848894750 -:10AA90006301F71C2285EFB05FF38327C40981C7E8 -:10AAA000084CE9558297A28513854199EFE0DF9D17 -:10AAB000A2850945EFD0FFE069AA898B85C31C48B0 -:10AAC0000547F917637CF70083476402228593E703 -:10AAD00027002303F402EF00501F59BF83A7019AF8 -:10AAE000A308040A130504041CDCEFF0BF931C4800 -:10AAF0001D47F917E36EF7F635678A071307C73E58 -:10AB0000BA979C43828783C70C004947C98B6392DD -:10AB1000E70C83270408984B48335C2322055D8D9E -:10AB20007C23C207C98F683362055D8DEFC09FBB70 -:10AB3000832709000505631EF5088357640703A7EB -:10AB40000A0094408507231BF4069307170068C882 -:10AB50001CD41CD8FC36F02603550404A207D18F60 -:10AB60007D172312F406914738D41CC8930544007E -:10AB7000EFE0BFD5A947B307F5020357A40523109B -:10AB8000A404231EF40485476315F7000605420557 -:10AB9000418183578407231DA40403250408FD175E -:10ABA000231CF4061C41230904042322040423204B -:10ABB000F40893B71700B307F0407EBCEFE04FD323 -:10ABC00083274409E38207F0084C0146A285829757 -:10ABD000E5BD83C70C00C18BE38C07E894400355A7 -:10ABE0000C0083A50A009C32B83203260B0083C8F0 -:10ABF000060003C82600AA9503250900A20722071C -:10AC00009306C600B3E71701336707014106EF005B -:10AC10005042B9BD83C70C0013F7070169C703256C -:10AC2000090078489307F5FF998F63C607083C50E1 -:10AC3000B307F5406341F00891471CC81C508DC70D -:10AC4000084C0146A285829705C185452285EFE023 -:10AC5000FFA803A54D0023A00B00E308058CEFD04F -:10AC60007FE323A20D00D1B022858354A405EFE039 -:10AC70003FE78357440781C7FD17231AF4060547AA -:10AC8000835704046395E4008607C207C183231D2C -:10AC9000F40483470A0093F70702E38B07DC83473A -:10ACA0006402228593E727002303F402EF00F001FA -:10ACB0009D471CC875BB944003260B0003580C002D -:10ACC0009C32B83203C3060083C8260083A50A005D -:10ACD000A20722079306C600B3E767003367170190 -:10ACE0004106C2952DB7898BE38407D81C5403A76E -:10ACF0000A00FD17E39EE7D62285EF0070478DBB63 -:10AD00002285EFE0FFDD71B72285EFE07FDD83472D -:10AD10000A0093F70702C1C303C70C00834764020C -:10AD2000418B93E727002DC3345003270900639D0F -:10AD3000E6042303F4022285EF0020792285EFE068 -:10AD40002FC483A74199631DF4005C4423AAF198A2 -:10AD5000A9471CC803A7C19A23A6819A58C409BB56 -:10AD600023A4F19A814689E7E5D623A4019ACDB7B9 -:10AD7000D0476318C40099C223A4F19A5844D8C795 -:10AD8000C1BF8546B287C5B72303F4022285EF0011 -:10AD9000C073A14739BF83C70C00C18BE38A07CCBE -:10ADA000385083270900E315F7CC994719B7228556 -:10ADB000EFE01FD383470A0093F70702E38A07CA2D -:10ADC00083476402228593E727002303F402EF0000 -:10ADD000C06F2285EFE0CFBA83A74199E307F4F66D -:10ADE00023A4F19A8146C9D3D047E306C4F8854627 -:10ADF000B287D5BF2285EFE0BFCE83C70C00C18BE1 -:10AE0000E38807C6385083270900E313F7C6228575 -:10AE1000EFE00FB783A74199E309F4F223A4F19A75 -:10AE20008146B9D3D047E308C4F48546B287D5BF7D -:10AE30002285EFE0FFCA83C70C00C18BE38A07C2FB -:10AE4000385083270900E315F7C283470A0093E7C8 -:10AE500007012300FA0029B9C18B85C72285EFB00D -:10AE6000DFB6A28513854199EFE00FE20945A2857F -:10AE7000EFD03FA503250D00E30D05DCEFD09FC10A -:10AE8000C9BB0356440719C68327C40881C7084CA9 -:10AE9000A285829703260D000DC683C70C00A18BE7 -:10AEA00089C75C3693E717005CB68327040981469F -:10AEB000A2859DCB084C829709C583270D002324CA -:10AEC000F40883470A0093F7070289CB8327040914 -:10AED00081460146A28589CF084C8297228523A00E -:10AEE0000B00EF00805EB5B30145EFE02FECE9B752 -:10AEF0000145EFE0AFEBDDB7EF52EFE12A894A2DD4 -:10AF000041112E8432C6EFC0EFF908A0218108B0AC -:10AF100003554902EFC00FF9324628A0218128B01D -:10AF2000935786000325890250A05CB09357060111 -:10AF3000618270B07CA0EFC0AFF89357850008A481 -:10AF40001CB4443493570501618128B44824A204F9 -:10AF50003CA4C98C4165130505FCEFC0AFF4E98C36 -:10AF60004145EFC02FF4458D4205418148A4218120 -:10AF700048B40355E902EFC0EFF28357E90268A431 -:10AF8000218168B4231BF9025C344824230904009E -:10AF9000A207A30904005D8DEFC0AFF1956713759B -:10AFA000F5035D8DEFC00FF00357E9028327890297 -:10AFB00048A4218148B423080400A3080400BA97D8 -:10AFC0002328F902228541016F502FD7EF52AFD1CC -:10AFD00079712EC63ACA2A89B28A368BBE8D01EEA5 -:10AFE00093F73600B3E7FD00595A91C38DC15285DE -:10AFF00045616F500FD38357650763FAC7008347D6 -:10B0000069027D5A93E707F82303F902CDB79397B6 -:10B010002D0013F72D00918BB14611E38146B697B1 -:10B020003EC28327090737ED022013070DBD3EC43A -:10B030001C475843835489078A07B3D7E702130D87 -:10B040000DBDE3FEF4FA41679306C7FFE3E996FA04 -:10B0500092473082130707FC898393F7F70F950710 -:10B0600032C85246B207C2073AD2B24C13170B018C -:10B07000C183058A41833ECCD68B8149814732CE3C -:10B0800036D03AD4035A09041247330AEA4063D34C -:10B090004B015E8A11453ED6131C0A01EFD07F801A -:10B0A000135C0C012A846306051823200500232263 -:10B0B000050063840914B25788C3F24763810714FB -:10B0C000C24701460145B305FC00C205C181EFD06E -:10B0D0005FA148C0630F0514EFD03FBAB247AA94EE -:10B0E000C204C18081CF5C40E685C843C167FD17BB -:10B0F0003376FA0092473E95EF10905D5C40DC435A -:10B100001CC483278D0003274D008A07B3D7E702AD -:10B1100063E19712825763EE97104840231684012B -:10B12000D145EFD05F90631605105C400355C9010F -:10B13000B38B8B41DC43C20B93DB0B011CC83ED6A7 -:10B14000EFC04FD6B25788A3218188B31C4803555E -:10B1500049023ED6EFC00FD5B257A8A32181A8B3AC -:10B160001C4822453ED6EFC0AFD5B25713578500D5 -:10B17000D8B313570501F8A31848C8A36181E8B3F1 -:10B180005C37482723090700A207C98F1255A30976 -:10B1900007003ED6EFC00FD1B257E98F22553ED6F9 -:10B1A000EFC04FD0B2575D8D42051C484181135707 -:10B1B0008500D8B7C8A72307B401EFC08FCF1C48BC -:10B1C0001375F5033ED6E2475D8DEFC0AFCDB257A4 -:10B1D000C8A72181C8B7C167FD17337AFA00A24713 -:10B1E000D29CD2973EC4A287E39E0BE8032AC907EC -:10B1F00063190A06232E390751A2AA897DBDC245CB -:10B2000001460145EFD0FF8D48C005C5EFD0FFA630 -:10B21000AA94C204C180E3860BEEE28505460D4583 -:10B22000EFD03F8CAA85484095E1EFD0BF8623221E -:10B230000400834769027D5A93E707F82303F90264 -:10B24000E38709DA4E85EFD05FED55B323A2950170 -:10B250008504C20423249401C180EFD0DFA355B537 -:10B260003E8A83270A00EDFF83270A01835BCA0019 -:10B27000C827DC37A2075D8DEFC0AFC30D8933351A -:10B28000A0005E956305051883270A01C827DC37EF -:10B29000A2075D8DEFC0EFC10D89631A0516937784 -:10B2A0003B0081C785476314FB1603D7C90083574A -:10B2B000CA00BA9703570904634BF7140347EA001F -:10B2C00083C7E9006315F71403270A0148335C2399 -:10B2D00022055D8D7C23C207C98F683362055D8DB1 -:10B2E000EFC04FC003A70901835BCA005C23AA9B80 -:10B2F000483322055D8D7C23C207C98F6833620500 -:10B300005D8DEFC02FBE6394AB10C247B15503A54E -:10B3100049009D8DC205C185EFD0EFF0E31B05F01C -:10B3200003A549003E2599EB1C41FD14C20423A24C -:10B33000F90023200500C180EFD0CFF593771B00E3 -:10B34000CDC783270A0183CBD700C827A20BB3EB55 -:10B35000AB000545EFC00FB583270A0133E5AB000D -:10B3600042054181C8A72181C8B763958900035C64 -:10B37000CA005284CE851145EFD0AFD493773B00FD -:10B3800089C7850AC20A93DA0A01137B1B00630886 -:10B390000B008347690293E707022303F90283271F -:10B3A0000907231C9906014AD6972328F9068357D3 -:10B3B0006907B38A5741231B5907E30A0CC21C488B -:10B3C000E38707C25247098BE31307C2C437C82774 -:10B3D000A204C98C2145EFC0EFAC1C48458D420545 -:10B3E0004181C8A72181C8B719B183A549000325A8 -:10B3F0004A00EFD05F8A03D7C9008357CA00BA97C3 -:10B400002316FA0083A709002320FA00B9BF2320DE -:10B410003A01ADB7EF522F90AE86814705470146FE -:10B420008145EFF0BFBA6F504F91AA8708491D4779 -:10B430006308E5001308E5FF09476155636E0701DE -:10B44000014519CAEF522F8D36873E8581468147C7 -:10B45000EFF0DFB76F506F8E8280EF522F8A2A8411 -:10B460000146D1450545EFD0CFE731CD8347640292 -:10B47000AA842850F19B2303F402EFC06FA4CC40B0 -:10B480002A862285EFF05FA79A2413094400AA892F -:10B4900099464A86A2852685EF0030712388A90047 -:10B4A0002181A388A9003824343499474A86A2858B -:10B4B0002685EFC0EFE72685EFD0CFDD0145A3035A -:10B4C00004026F50EF867955EDBF83A7819C63809E -:10B4D000A736EF524F8183574506035AA50563F3FC -:10B4E00047013E8A83476502420A2A84898B135AA0 -:10B4F0000A01645D95CB91E42285EFF01FF66F5051 -:10B500004F82984848335C2322055D8D7C23C20717 -:10B51000C98F683362055D8DEFC0CF9CDE2478480B -:10B52000998F3E95E36AAAFC83290408639609086B -:10B53000B7EA0220894B938A0ABD370C0402130B29 -:10B540004400FD5CADC0984848335C2322055D8D06 -:10B550007C23C207C98F683362055D8DEFC08F9869 -:10B56000DE247848998F3E95637CAA048347040BB8 -:10B570009DEB984848335C2322055D8D7C23C207F0 -:10B58000C98F683362055D8DEFC0CF95DE247848A2 -:10B59000998F3E958357440663F7A7008547232676 -:10B5A000040A2308F40A83476402014593F7F70766 -:10B5B0002303F402A9B7BE8983A70900EDFF8DBF5D -:10B5C0008327040895C38347640213F7470409EFF0 -:10B5D000785C01CB144389EA56270357040463F5CA -:10B5E000E60093F7070AD9D39C407CDC1C486389AA -:10B5F00077039C4803C9D700C82722093369A900EB -:10B600004145EFC02F8A9C483365A900420541811E -:10B61000C8A72181C8B783476402F19B2303F402C2 -:10B62000085403A90401EFC0AF8993578500230490 -:10B63000A900A304F900935705016181A305A9009E -:10B640006A342305F90003A90401EFC0AF857A34F9 -:10B650001C542307A9002181A307A900BA977AB82F -:10B660001CD8FC24858B99CB03A54A0003A90401AF -:10B670003365AC00EFC0CF84232AA9001C4099E7B2 -:10B680005A85EFC0EF8659C55C411CC08317E4039F -:10B6900063949701231F04027C4095E383A7019ADA -:10B6A00098487CC048335C2322055D8D7C23C2070B -:10B6B000C98F683362055D8DEFC0CF8228C4C84052 -:10B6C00003A9040199465841232225015A863307CC -:10B6D000E940931707013A25C183A2851D8F3AA53A -:10B6E0001A251D8F420741831AA523080900A308C4 -:10B6F0000900EF00904B2308A9002181A308A900AD -:10B7000038243434C84099475A86A285EFC04FC2C6 -:10B71000A3030402984848335C2322055D8D7C23F3 -:10B72000C207C98F683362055D8DEFB0BFFB9C48CF -:10B730002A8983DDC400C827DC37A2075D8DEFB0FE -:10B740005FF70D893335A0003C506E954A95898F7F -:10B7500063D3070028D09C4803D9C400C827DC372E -:10B76000A2075D8DEFB0FFF40D893335A0004A9537 -:10B770005DC98327040823A0040089E723209408D7 -:10B78000A68999A8984848335C2322055D8D7C23BF -:10B79000C207C98F683362055D8DEFB0BFF403A7A0 -:10B7A00009012A8948335C2322055D8D7C23C20769 -:10B7B000C98F683362055D8DEFB0DFF23305A940B4 -:10B7C00063500506130904088327090081EB8327CA -:10B7D00009009CC023209900645CADB3984B4833AA -:10B7E0005C2322055D8D7C23C207C98F6833620507 -:10B7F0005D8DEFB03FEF9848AA8D48335C2322055A -:10B800005D8D7C23C207C98F683362055D8DEFB003 -:10B810007FED3385AD40E35C05FA032909006DB780 -:10B8200023A09900B1BF2685EFD09F8C75B7014545 -:10B830008280EF42BFCC4111AA8AAE84B289D14541 -:10B8400001460545368A3AC63E8BEFD08FA9630381 -:10B85000050E324740412A893A85EFB0BFE408A07F -:10B86000218108B05A85EFB0FFE328A0218128B0DC -:10B870005685EFB0FFE49357850048A05CB093571E -:10B88000050161817CA068B02685EFB07FE3935706 -:10B89000850008A41CB4443493570501618128B481 -:10B8A0004824A2043CA4C98C4165130505FCEFB0F3 -:10B8B0007FDFE98C5145EFB0FFDE458D42054181C8 -:10B8C000B7E7022048A4218148B403D547BDEFB0B3 -:10B8D0007FDD68A45C34218168B44824A207230971 -:10B8E00004005D8DA3090400EFB0BFDC95671375FC -:10B8F000F5035D8DEFB01FDB0357890048A421815C -:10B9000048B499465286CE8523080400A308040053 -:10B910004A85EF00902908A8218108B89947014776 -:10B92000930600085286CE854A85EFC06FA04A85EF -:10B93000EFD04F9641016F40BFBF8327050885CBED -:10B94000EF427FBD3E8714438DE2745D14C37CDDFE -:10B95000834725052320050823220504850723099D -:10B96000F504EFF09FB66F405FBD3687E9BF828078 -:10B97000EF42DFB88324050895C49C402A8413094C -:10B98000C5072320F5088327090099EF83270900BD -:10B990009CC02320990083472405232204048507A3 -:10B9A0002309F4046F40DFB8984B48335C23220529 -:10B9B0005D8D7C23C207C98F683362055D8DEFB052 -:10B9C0007FD29848AA8948335C2322055D8D7C2369 -:10B9D000C207C98F683362055D8DEFB0BFD0338574 -:10B9E000A940E35505FA0329090071BF832705081B -:10B9F000B1CFEF425FB2834765022A84918BA9E7FA -:10BA0000EFF01FF78356A4058357440613D716009B -:10BA100063F4D70013D7170083570404231EE404EC -:10BA2000939617006354D700231ED4040D47B387A1 -:10BA3000E7020357C405BA97231DF4048347640241 -:10BA400093E747002303F4026F403FAF8280EF4249 -:10BA5000FFAAAA840146D1450545EFD08F8829C5A4 -:10BA60002A84A850138944007D15EFB07FC54C404F -:10BA70002A862685EFF04FC81A24AA8999464A8655 -:10BA8000A6852285EF0070122388A9002181A38852 -:10BA9000A900B434994701474A86A6852285EFC09C -:10BAA0002F892285EFC01FFF6F409FA8EF421FA57F -:10BAB0000324050819E0605D5DC41C48AA84C827FA -:10BAC000DC37A2075D8DEFB0DFBE058959CD5E245E -:10BAD000C9EF054AD14501460545EFD08F802A8937 -:10BAE00059C118484C41268550335C2322065D8E8F -:10BAF0007C23C207D18F703362065D8EEFF0CFBF1B -:10BB0000AA8963070A0640355C25416522041305AE -:10BB100005FC5D8CEFB01FB9698C4545EFB09FB84F -:10BB2000498C93170401C1832386F900A183A3865E -:10BB3000F900035789001384440099462286A6859C -:10BB40004A85EF0090062388A9002181A388A900D7 -:10BB5000B434994701472286A6854A85EFB05FFD38 -:10BB60004A85EFC03FF36F40BF9C014AD545A5B75A -:10BB700018448327490003070700D8AB5DBFEF4295 -:10BB80009F96404106252A891C3008204111A207B2 -:10BB90005D8D2E8AEFB0FFB121813D8909050A052F -:10BBA00063C2A4021C300820A2075D8DEFB07FB0F5 -:10BBB0009355650093F5C503B305B0404A85EFC0C2 -:10BBC0009FE619C54A85EFC0FFEC41016F407F95A4 -:10BBD000832A4900130C0401D2856285EFB0BFF8B7 -:10BBE00083C71A002A8B03C50A00A2075D8DEFB038 -:10BBF0005FAC83C73A00AA8B03C52A00A2075D8DFC -:10BC0000EFB03FAB93074004AA86631DF506930788 -:10BC100030046399FB1283270A0263850712C44329 -:10BC200063820412D44089CE58345C2422075D8F8D -:10BC30007C24C2075D8F7C34E207D98F6394F610B1 -:10BC400083C77A0003C76A00A207D98F99CB03572D -:10BC50008900C54662869305C4004A85EF00E074FA -:10BC600035F1E1554A85EFC01FDC29FD638C040ED8 -:10BC70009C4CA9DBC84C5E879306C4004A86A68507 -:10BC80008297A1B783A4419D014D814D938C419D25 -:10BC90001306C07689E463070D0AEA8455B7BE2807 -:10BCA000639CD708984063150B0439E363160D00B5 -:10BCB0009C28918B91E3268DDE2863927709CC40F6 -:10BCC00089CD58345C2422075D8F7C24C2075D8FA8 -:10BCD0007C34E207D98F6394F506E3830DF6DC44E8 -:10BCE00023A6FD0083A70C0023A09C00DCC489BF11 -:10BCF0001C3883490401A207B3E7370183492401B3 -:10BD0000C209B3E7F90083493401E209B3E9F90054 -:10BD1000E38EE9F8370500F036C6EFB0BF9CB3F903 -:10BD2000A900370500E0EFB0FF9BB2461306C076CE -:10BD3000E38EA9F6E31C0BF6A68DC444A1BFE39DD8 -:10BD4000C6FEFDBD18381C2822075D8F3C28C2079F -:10BD50005D8F3C38E207D98F03274A00E314F7E6EA -:10BD60008144F9BDE3100BE61C380428370500F0C8 -:10BD7000A207C58F2428C204C58F2438E204DD8CB5 -:10BD8000EFB05F96E98C370500E0EFB0BF95E38B2D -:10BD9000A4E21C300820A2075D8DEFB09F9193555F -:10BDA0008500BD8989058A054A85EFC0DFC78D45B5 -:10BDB0004A85892B01BD83A8419DAA860143C68778 -:10BDC0001388419D9DE799C998319C2122075D8F79 -:10BDD000BC21C2075D8FBC31E207D98F9CC225C64A -:10BDE000B2AA01456316030023A616012320D8003A -:10BDF0008280638BD702BA2B6316C70203AE07009B -:10BE000063140E0055558280F5DD88319821220596 -:10BE1000598DB8214207598DB8316207498F7DD3BA -:10BE2000E302EEFEDC4779BF0543EDBFAE2B639A1C -:10BE3000C500050642064182C687DDD3E318E6FE4B -:10BE4000D1B7DC47DDBF2167C68705667D17F5B72B -:10BE5000EF42CFEA3E292A89AE89B28A368B3A8AE6 -:10BE6000ADC7A1454E85EFC01FBCCE8401CD0146B4 -:10BE7000A1450545EFC0FFC6AA847D5429CDCE85D6 -:10BE8000EFC03FE303552901C040EFB0BF8108A0D8 -:10BE9000218108B05A85EFB0FF808327090028A0D0 -:10BEA000218128B023030400A3030400130B4A00DC -:10BEB00095C703274A004A8B6382E7025D54638C6F -:10BEC00034012685EFC01FBD39A00146AA85EFF0D9 -:10BED0009FEE2A8459D522856F408FE58A24EFB0E2 -:10BEE0006FFC48A0218148B083470901858B99EBFD -:10BEF0009A24C5465686DA85268545290DC168A04F -:10BF0000218168B00347A9008346B9005288C5471C -:10BF10005686DA852685EFB01FAC2A844DB7FD57CB -:10BF20007CA07CB0C5B7EF420FDF41112A84328577 -:10BF30002EC636C432C2EFB0AFFB19C9A2461246B4 -:10BF4000B2452A872285EFF0BFF041016F40EFDE56 -:10BF50007155E5BFEF422FDC562913064500EFF07F -:10BF60009FFC6F408FDDEF420FDB3E292A84AE84B9 -:10BF70003289B1CB814799C898309C2022075D8FC8 -:10BF8000BC20C2075D8FBC30E207D98F18285CC087 -:10BF9000231A24011367470018A8184005EF85CF1E -:10BFA00013054400EFB0CFF4AA87715595C3DC4365 -:10BFB0001CC083A6419D9387419D368705E354C4E9 -:10BFC00080C3014531A00146AA85EFF0DFDE5DD1D7 -:10BFD0006F40AFD6F9FF23200400E1BFE30387FEE3 -:10BFE0005847E9BF0CCD50CD8280EF42CFD21387A6 -:10BFF000419D1C43AA856390A7025C451CC305456F -:10C00000EFC03F8C6F406FD3D84709C76314B700A8 -:10C01000D845D8C7DC47EDFBDDB7EF42CFCF0545AC -:10C02000EFC03F882A8409C9130600028145EF400A -:10C030008FD1930700F83CB422856F400FD0EF42B8 -:10C04000EFCB2A842E8AB28993054002014605452A -:10C05000EFC03FA931CD032904004041AA847146B5 -:10C06000CA8523004401A300340123020400A30273 -:10C07000040023030400A303040013058400EF005D -:10C080003065AE2423010400A301040022851D2194 -:10C0900028A0218128B08547014793060008130690 -:10C0A000C90081452685EFB0BFA82685EFC09F9EB9 -:10C0B0006F400FC8EF42AFC34041AA8441111C300A -:10C0C0000820AE89A2075D8DEFB0AFDE1359650081 -:10C0D0001379C903B30A2041C20A93DA0A41D6850B -:10C0E0002685EFC05F9439E19E248D4663F0F60407 -:10C0F000DC4098236312D704982793868700883FF3 -:10C100003D8B0A0736972C2303483700982F2205CA -:10C110009433598DB82F903BA2054207498FA83F11 -:10C12000B3E505016205598DEFA03FBA2685EFC042 -:10C130007F9641016F402FBFA147E319F7FE1C38DE -:10C14000034A0401370500F0A207B3E74701034A99 -:10C150002401014B420AB367FA00034A3401620A20 -:10C16000336AFA00EFB00FD82A8C370500E0EFB041 -:10C170006FD7AA8BCE8513050401EFB0DF9E19E5BA -:10C1800033758A0133057541333BA000EFA01FB31F -:10C1900051DDE30D0BF89A249D47E3F9E7F8268576 -:10C1A000252649F5420993052002268513590941A0 -:10C1B000EFC07F8763040512CA852685EFC0BF865E -:10C1C00035F58E2401460945EFC0BF912A8A39DD35 -:10C1D000A685EFC05FAF39F9D685528503244A00A2 -:10C1E000EFC07F8421F52685EFC0DF8AD2845834E2 -:10C1F0005C24143822075D8F7C24A20603AA440025 -:10C20000C2075D8F7C343D651305F57FE207D98F4A -:10C2100018281CA8D98E38284207D98E38386207CA -:10C22000558F9356870058A454B4935607016183E1 -:10C2300078B413D7870018B813D70701E18374A423 -:10C2400038A83CB8834A3A0083472A0023000A00F2 -:10C25000A20AB3EAFA00EFB0EFC463E9AA080565E1 -:10C2600013050580EFB00FC483473A0003472A0047 -:10C27000A207D98F85073E95420541812301AA0077 -:10C280002181A301AA001C340824A2075D8DEFB010 -:10C290004FC2A1671375F50F5D8DEFB0AFC008A455 -:10C2A000218108B4D14523050400A305040022859B -:10C2B000112428A4218128B4CA852685EFC0AFF6B1 -:10C2C000E31605E64E8885470147930600080146B8 -:10C2D0009305C4002685EFB00FF089BD9305E0FDFE -:10C2E0002685EFC04FF4E30405F089B50565130515 -:10C2F0000580EFB02FBB83473A0003472A00A2070F -:10C30000D98F95BFEF422FA113F6F50F11058D457B -:10C31000EFF0FFD26F406FA2EF42EF9F13F6F50FE1 -:10C320001105AD45EFF0BFD16F402FA1EF42AF9E99 -:10C330003308B5004208AA8601471358080185480A -:10C34000B307D840C207C18363E4F80493D715004C -:10C35000939617003695F956B387D702BE95C20556 -:10C36000C18181C51C21A2073E9741659306F5FF57 -:10C3700093570701758F3385E700C177E98F99C31C -:10C38000758D050542054181EFB0CFB16F40EF9A41 -:10C390009C3290228906A207D18F13968700A18331 -:10C3A000D18FC207C1833E9761BFEF424F94B7E779 -:10C3B000022083A747BEBA844111139757006349EF -:10C3C000070E416B2A89AE8A328A814901447D1B5E -:10C3D000854B631E0908638B09004167931784002E -:10C3E0007D172180F98F1374F40F5D8C03C51A003B -:10C3F00083C70A0003470A0022055D8D83C72A0010 -:10C4000003463A004169C2075D8D83C73A00620660 -:10C410007D19E207C98F03451A002205498F03459C -:10C420002A004205598D498E33752601418233F722 -:10C43000270132953A95C1833E952A943685EFB00F -:10C440006FA62A942685EFB0EFA522951354050117 -:10C45000337525012A941355040133742401229560 -:10C460001345F5FF4205418141016F40CF8B835554 -:10C47000A9000325490036C6EFF05FEB2A949357D5 -:10C480000401337464013E948357A900B246858B3E -:10C4900089CF931784002180B3893B41B3F76701AB -:10C4A0001374F40F93F9F90F5D8C0329090015B784 -:10C4B00001455DBFEF422F86EFF05FE71345F5FFC3 -:10C4C000420541816F406F87EF424F83C169AA8463 -:10C4D00001490144FD19054A95E0630B09004167D4 -:10C4E000931784007D172180F98F1374F40F5D8CEE -:10C4F0001345F4FF420541816F408F83AE24C8404D -:10C50000EFF0DFE22A9493570401337434013E9430 -:10C51000BE24858B89CF93178400218033092A415B -:10C52000B3F737011374F40F1379F90F5D8C84405E -:10C5300065B7011106CE2EC60DCD1841AA8705C3D9 -:10C5400058417D5511CB8546631BD7009847230082 -:10C55000070023A207000545F24005618280984745 -:10C56000B24614A39847050798C7D8437D17D8C388 -:10C57000DDB705466C00EF90AF9EF1BF797122D414 -:10C5800026D24ECE52CC56CA06D64AD05AC82A8A8D -:10C59000AE8A328481449309000263440602B38761 -:10C5A0009A00838707009DE363D6840263D2E40286 -:10C5B000198C93F726009309000281C719E39309A8 -:10C5C0000003858A014985EA228931A88504C1BF13 -:10C5D000058CC5B70144F1BFCE8552853AC6EFF050 -:10C5E0005FF532477D19E34920FF22896353040038 -:10C5F00001493304244163CBE402CA84B387244154 -:10C60000D69783850700A1E1228963432005635300 -:10C610000400014433059400B2502254925402594C -:10C62000F249624AD24A424B45618280B304974044 -:10C63000268B9305000352857D1BEFF09FEFE31AD5 -:10C640000BFE26995DBF5285EFF0BFEE85047DB7E6 -:10C65000CE855285EFF0FFED7D1945BF5D71A6C215 -:10C6600052DC86C6A2C4CAC04EDE56DABA843E8AFE -:10C670009DE1930700030147D28626862C08FC849F -:10C68000EFF0DFEFB640264496440649F259625A6D -:10C69000D25A616182802A893684C68A91CAA947A2 -:10C6A00001446317F60063D50500B305B0400544A7 -:10C6B000A30701029307F102A546130568FC33F7AF -:10C6C000C50263D3E6002A9713070703A38FE7FE8B -:10C6D0009389F7FF33D7C50263FBC50409CCB9C8FA -:10C6E00013772A0021CB9305D0024A8542C6EFF08A -:10C6F0005FE43248FD1493774A008DC39307100618 -:10C70000930500034A85631FF802EFF09FE293054B -:10C7100080074A85EFF0FFE10904F9145687D286B5 -:10C720002686CE854A85EFF07FE52295A1BFBA85A2 -:10C73000CE8771B71307D002A38FE9FE0144938916 -:10C74000E7FF55BFEFF0FFDE93058005D9B7014540 -:10C7500082800145828039715AD037DB000022DCAB -:10C7600026DA4AD84ED652D456D25ECE62CC06DEF7 -:10C7700066CAAA892E893284014A8144930B5002E9 -:10C78000930AB002294C130BCB40830509008DE5B9 -:10C790006386090081454E85EFF0BFD9F25062549F -:10C7A00026854259D254B259225A925A025BF24B10 -:10C7B000624CD24C21618280638875014E85EFF016 -:10C7C0005FD785040509D1B783071900930C1900B9 -:10C7D000639A7701930550024E85EFF09FD585044B -:10C7E0006689CDB7D5D76387570563C8FA001307A5 -:10C7F00030026384E704814705A01307D002638AEF -:10C80000E70013070003E398E7FE930C290089472C -:10C8100021A0930C2900854703870C00630357056B -:10C8200063C1EA0293063002630BD70266890146B0 -:10C83000A54535A8930C29007DBF930C290091478D -:10C84000E1BF9306D0026309D70093060003E31FFC -:10C85000D7FC93E7270031A0850C8547C1BF93E73C -:10C860004700850CE1B733068603050936960307B2 -:10C870000900930607FD13F5F60FE3F6A5FE9305F1 -:10C88000E0029946631EB70005098146A5450307E6 -:10C890000900130707FD1375F70F63F5A502368A24 -:10C8A000030709009305A0066301B70A63C1E50207 -:10C8B0009305C004630BB708930580066300B708AF -:10C8C00081452DA0B38686030509BA96C9B793059D -:10C8D0004007630CB7069305A0076308B706130566 -:10C8E000C00681456314A7000509914503070900A7 -:10C8F00013050006130810066344E500130810042E -:10C90000130570066340E506130550066355A7142A -:10C9100013057004634DE50293055004635DB7127F -:10C9200093063004E310D7EA1840930C4400A306A2 -:10C9300001005886BE8601476C0041A0030519001E -:10C940008145E315E5FA090955B7050995BF930631 -:10C950003006E30BD7FC63C6E60693068005630347 -:10C96000D7028DB5930630076301D70463C8E6028A -:10C970009306F006630ED70A9306000793E7470075 -:10C98000E312D7E4D9CD1D04937584FFC2881384C4 -:10C9900085003E880147B287C1463DA893065007EF -:10C9A0006300D706930680075DBF1840930C4400D0 -:10C9B000DA8511C3BA855287BE864E85EFF01FBC5B -:10C9C0002DA895C11D04937584FFC288138485002A -:10C9D0003E880547B287A946D0418C414E85EFF08D -:10C9E0001FD7AA94C5B3930C4400D28832878546DA -:10C9F00029460C404E85EFF07FC6AA946684D9B3D1 -:10CA000099C91D04937584FFC288138485003E88EC -:10CA10000147B287C9B7930C4400D2883287814658 -:10CA2000C1BF3287930C4400D28881464146D1B7BA -:10CA300081CD1D04937584FFC288138485003E88D0 -:10CA40000147B287A14649BF3287930C4400D28880 -:10CA50008146214679BF1D04937584FF13848500A8 -:10CA60003287D0418C41C2884E853E88B687A94620 -:10CA7000EFF03FCEBDB739712ED232D4AA85501017 -:10CA8000014506CE36D63AD83EDA42DC46DE32C61C -:10CA9000EFF07FCCF24021618280011122CC26CAC6 -:10CAA00006CE1C21AA840144DC878307F10005041B -:10CAB00099EFA9479305F10005460145DC87EF8012 -:10CAC0003FCA2285F2406244D24405618280054615 -:10CAD0009305F1000145EF80BFC8B38784009C2314 -:10CAE000DC87E1B701112AC66C000546014506CE78 -:10CAF000EF801FC7F240054505618280014863C58C -:10CB0000050E63DB06003306C040B337C000B30632 -:10CB1000D0401348F8FF9D8EB6873283AA8EAE8828 -:10CB2000639F061663FBC50C4167636FE61CB7077E -:10CB300000016363F63693568601E147171700003C -:10CB40001307878D36971823BA97130700021D8F96 -:10CB500019CBB395E500B357F5003313E600B3E8FE -:10CB6000B700B31EE50013560301B3D7C8029316EE -:10CB70000301C18213D70E01B3F5C8023385F60253 -:10CB8000C205B3E8E50063FAA8009A981387F7FF97 -:10CB900063E4680063E8A832BA87B388A840B3D5D5 -:10CBA000C802C20E93DE0E01B3F8C802B386B60205 -:10CBB000C208B3E8D80163FBD8009A981387F5FF41 -:10CBC00063E56800F91563E3D800BA85139507019A -:10CBD0004D8D8145630908003305A040B337A0009F -:10CBE000B305B0409D8D82803305A040B337A000CF -:10CBF000B305B0409D8D7D5829B701E605433353F9 -:10CC0000D30241676369E30EB7070001636AF32843 -:10CC100093568301E147170700001307E77F369714 -:10CC20001823BA97130700021D8F65EB93180301B1 -:10CC3000B3866540135F030193D80801854513D778 -:10CC40000E01B3D7E603B3F6E60333861703C20635 -:10CC5000558F637AC7001A979386F7FF636467005E -:10CC60006365C726B687118FB356E703C20E93DEFE -:10CC70000E013377E703B388160342073367D70102 -:10CC8000637B17011A971386F6FF63656700F91631 -:10CC900063631701B28613950701558D25BF63E1C4 -:10CCA000D504C16763E1F604B707000163E2F61E2D -:10CCB00093D886016147970700009387E775C69769 -:10CCC00003C30700930700023A93B3876740E9EB79 -:10CCD00063ECB61C3335C500134515008145DDBD39 -:10CCE00081450145C5BD9307F00F63F2D71C93D86A -:10CCF00086002147C9B71307F00F9A86E37D67F0D6 -:10CD000093568300A14701BF1307F00FB286E37764 -:10CD1000C7E293568600A14715B53313E30033D617 -:10CD2000F500135F0301335EE603B396E500B357E6 -:10CD3000F500DD8E9318030193D80801B31EE500BA -:10CD400093D50601B377E6033387C803C207CD8FB7 -:10CD500063FBE7009A971306FEFF63E3671663F130 -:10CD6000E716791E9A97998F33D6E7031397060132 -:10CD70004183B3F7E7033385C80293960701D98E41 -:10CD800063FBA6009A969307F6FF63E7661263F5C6 -:10CD9000A61279169A9693150E01898ED18D45B5F6 -:10CDA00033576600B396F600D98EB3D8650013DF0B -:10CDB0000601B3DEE803139E060133536500135EDC -:10CDC0000E01B395F500B365B30013D70501331613 -:10CDD000F600B3F8E8033303DE03C20833E7E800E4 -:10CDE000637B670036979388FEFF6369D70C637790 -:10CDF000670CF91E3697330767403353E703C205C4 -:10CE0000C1813377E703B3086E024207D98D63FB14 -:10CE10001501B6951307F3FF63EED50863FC1509FA -:10CE20007913B695C20E416FB3EE6E001307FFFF84 -:10CE3000B3F6EE0013D30E01718F4182338EE602FA -:10CE4000B3851541B386C60293580E013307E3023A -:10CE5000BA96C6963306C30263F3E6007A9613D3F6 -:10CE600006011A9663E2C5026385C5007685814591 -:10CE700095B341677D17F98EC206337EEE00B31776 -:10CE8000F500F296E3F4D7FE1385FEFF814599B3D2 -:10CE900093D80601414705B593560601C14779B9B4 -:10CEA00093560301C14785BB8145054525B3B68827 -:10CEB000014711B53A83BDB73E86F1BDC68E25BF89 -:10CEC000328E55B5F9179A98C9B9F9171A9761BBF7 -:10CED000B3C7A5008D8B3307C50081E78D4763ED90 -:10CEE000C700AA87637EE508942185078505A38F7F -:10CEF000D7FEE3EBE7FE828093763500AA8789CAE6 -:10CF0000942185078505A38FD7FE93F63700C5BF0B -:10CF10009376C7FF138606FE63F0C70683A305005A -:10CF200083A2450083AF850003AFC50083AE050132 -:10CF300003AE450103A3850183A8C501938545027E -:10CF400023A0770003A8C5FF23A2570023A4F7015D -:10CF500023A6E70123A8D70123AAC70123AC6700B2 -:10CF600023AE17019387470223AE07FF75B79041A1 -:10CF70009107910523AEC7FEE3EBD7FEE3E6E7F6A4 -:10CF8000828063F1A504B386C500637DD502934515 -:10CF9000F6FF8147FD176393F50082803387F60023 -:10CFA000034807003387C7002A9723000701DDB72E -:10CFB0003387F50014233307F500850714A3E3191D -:10CFC000F6FE82808147E5BF204E0000983A0000BF -:10CFD00009000000486172644661756C745F4861C5 -:10CFE0006E646C65720D00006D65706320203A25DB -:10CFF0003038780D0A0000006D63617573653A255D -:10D000003038780D0A0000006D7476616C203A2586 -:10D010003038780D0A00000047494E545F535441A0 -:10D02000545F554E52454143480D000047494E5408 -:10D030005F535441545F49505F434F4E464C490D36 -:10D0400000000000504859204C696E6B20537563F6 -:10D05000636573730D00000054435020436F6E6E80 -:10D0600065637465642C20736F636B65742025643D -:10D070000D0A000054435020446973636F6E6E655F -:10D08000637465642C20736F636B65742025640D75 -:10D090000A0000005443502054696D656F75742C6C -:10D0A00020736F636B65742025640D0A0000000017 -:10D0B0004572726F723A20253032580D0A00000016 -:10D0C000544350436C69656E7420546573740D0A43 -:10D0D00053797374656D436C6B3A25640D0A0000D7 -:10D0E00055736572427974653A20253032780D0A9D -:10D0F00000000000466C6173682F5352414D20635D -:10D100006F6E666967206368616E67656420746F1F -:10D110002025642C20726573657474696E672E2EE9 -:10D120002E0D0A006E65742076657273696F6E3A13 -:10D1300025780A0076657273696F6E206572726F6A -:10D14000722E00006D616320616464723A00000019 -:10D15000257820006E6700005743484E45545F4CC9 -:10D160006962496E697420537563636573730D005A -:10D170007763686E65740000627573696E657373BA -:10D180000000000000000000020000000400000099 -:10D19000060006001C002000B4002400140020003B -:10D1A000100000067164785F706F72743A206E6FC1 -:10D1B000206672656520536F636B65744374780DE8 -:10D1C000000000007164785F706F72743A20536FD2 -:10D1D000636B65744372656174206661696C2025B8 -:10D1E0003032580D0A0000007164785F706F7274FD -:10D1F0003A20536F636B6574436F6E6E6563742082 -:10D200006661696C20253032580D0A007164785FC0 -:10D21000706F72743A20636F6E6E65637420746908 -:10D220006D656F75740D00007164785F706F727456 -:10D230003A20636F6E6E656374656420736F636B11 -:10D24000202564202D3E2025642E25642E25642E65 -:10D2500025643A25640D0A007164785F706F7274FA -:10D260003A2062616420495020222573220D0A0071 -:10D27000436F6E74726F6C00446174610000000053 -:10D280007463705F6D6772007463705F72785F6360 -:10D29000000000007463705F72785F64000000003B -:10D2A0003132372E302E302E3100000056312E30E4 -:10D2B0000000000056322E30000000002E2E2F46B7 -:10D2C00072656552544F532F706F727461626C6552 -:10D2D0002F4D656D4D616E672F686561705F342EEF -:10D2E00063000000657272206174206C696E6520B5 -:10D2F0002564206F662066696C6520222573222EC6 -:10D30000200D0A20000000002E2E2F467265655267 -:10D31000544F532F706F727461626C652F47434393 -:10D320002F524953432D562F706F72742E63000095 -:10D330002E2E2F4672656552544F532F71756575A9 -:10D34000652E63002E2E2F4672656552544F532F63 -:10D350007461736B732E630049444C4500000000F8 -:10D36000BA540000BA540000FE5400000A550000F0 -:10D370004E550000BA540000BA540000FE5400009C -:10D380000A550000546D7251000000002E2E2F46E9 -:10D3900072656552544F532F74696D6572732E63B5 -:10D3A00000000000546D72205376630000111213C8 -:10D3B0001415161718191A1B1C1D1E1F1695000090 -:10D3C0005C9500007695000086950000869500002B -:10D3D000729500007295000094950000010203040C -:10D3E00005060707070707070700000006AB000050 -:10D3F00014AC000000AD000008AD0000AEAD0000B0 -:10D4000000AD0000F4AD000030AE0000286E756C79 -:10D410006C29000000010202030303030404040456 -:10D4200004040404050505050505050505050505B0 -:10D430000505050506060606060606060606060690 -:10D44000060606060606060606060606060606067C -:10D450000606060607070707070707070707070760 -:10D46000070707070707070707070707070707074C -:10D47000070707070707070707070707070707073C -:10D48000070707070707070707070707070707072C -:10D490000707070708080808080808080808080810 -:10D4A00008080808080808080808080808080808FC -:10D4B00008080808080808080808080808080808EC -:10D4C00008080808080808080808080808080808DC -:10D4D00008080808080808080808080808080808CC -:10D4E00008080808080808080808080808080808BC -:10D4F00008080808080808080808080808080808AC -:10D50000080808080808080808080808080808089B -:04D5100008080808F7 -:10D51400E81800200028000040000000000000007F -:10D52400E840002000280000400000000000000047 -:10D5340000000000000000000102030406070809BF -:10D5440000000000010203040102030406070809A5 -:10D55400C0A80101C0A8010AFFFFFF0001000000EC -:10D564000044950802040608AAAAAAAA0E0000000C -:10D574000000CDAB0C9F002084D1000094D10000AA -:10D584006E1900000010000000000320FFFFFFFFE1 -:10D59400FFFF000000000000000000000000000089 -:10D5A400FFFFFFFF03060C18306078000000000046 -:00000001FF diff --git a/obj/TCPClient1.lst b/obj/TCPClient1.lst deleted file mode 100644 index ea71cf3..0000000 --- a/obj/TCPClient1.lst +++ /dev/null @@ -1,29193 +0,0 @@ - -TCPClient1.elf: file format elf32-littleriscv -TCPClient1.elf -architecture: riscv:rv32, flags 0x00000112: -EXEC_P, HAS_SYMS, D_PAGED -start address 0x00000000 - -Program Header: - LOAD off 0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**12 - filesz 0x0000d514 memsz 0x0000d514 flags r-x - LOAD off 0x0000f000 vaddr 0x20000000 paddr 0x0000d514 align 2**12 - filesz 0x000000a0 memsz 0x0002dc68 flags rw- - LOAD off 0x0000f800 vaddr 0x2002f800 paddr 0x2002f800 align 2**12 - filesz 0x00000000 memsz 0x00000800 flags rw- - -Sections: -Idx Name Size VMA LMA File off Algn Flags - 0 .init 00000004 00000000 00000000 00001000 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .vector 000001bc 00000004 00000004 00001004 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .text 0000d314 00000200 00000200 00001200 2**8 CONTENTS, ALLOC, LOAD, READONLY, CODE - 3 .fini 00000000 0000d514 0000d514 0000f0a0 2**0 CONTENTS, ALLOC, LOAD, CODE - 4 .dalign 00000000 20000000 20000000 0000f0a0 2**0 CONTENTS - 5 .dlalign 00000000 0000d514 0000d514 0000f0a0 2**0 CONTENTS - 6 .data 000000a0 20000000 0000d514 0000f000 2**2 CONTENTS, ALLOC, LOAD, DATA - 7 .bss 0002dbc8 200000a0 0000d5b4 0000f0a0 2**2 ALLOC - 8 .stack 00000800 2002f800 2002f800 0000f800 2**0 ALLOC - 9 .debug_info 00028d35 00000000 00000000 0000f0a0 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_abbrev 00005e8e 00000000 00000000 00037dd5 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_aranges 00001448 00000000 00000000 0003dc68 2**3 CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 00002018 00000000 00000000 0003f0b0 2**3 CONTENTS, READONLY, DEBUGGING - 13 .debug_line 00021534 00000000 00000000 000410c8 2**0 CONTENTS, READONLY, DEBUGGING - 14 .debug_str 0000782b 00000000 00000000 000625fc 2**0 CONTENTS, READONLY, DEBUGGING - 15 .comment 00000033 00000000 00000000 00069e27 2**0 CONTENTS, READONLY - 16 .debug_frame 0000357c 00000000 00000000 00069e5c 2**2 CONTENTS, READONLY, DEBUGGING - 17 .debug_loc 0000d0da 00000000 00000000 0006d3d8 2**0 CONTENTS, READONLY, DEBUGGING -SYMBOL TABLE: -00000000 l d .init 00000000 .init -00000004 l d .vector 00000000 .vector -00000200 l d .text 00000000 .text -0000d514 l d .fini 00000000 .fini -20000000 l d .dalign 00000000 .dalign -0000d514 l d .dlalign 00000000 .dlalign -20000000 l d .data 00000000 .data -200000a0 l d .bss 00000000 .bss -2002f800 l d .stack 00000000 .stack -00000000 l d .debug_info 00000000 .debug_info -00000000 l d .debug_abbrev 00000000 .debug_abbrev -00000000 l d .debug_aranges 00000000 .debug_aranges -00000000 l d .debug_ranges 00000000 .debug_ranges -00000000 l d .debug_line 00000000 .debug_line -00000000 l d .debug_str 00000000 .debug_str -00000000 l d .comment 00000000 .comment -00000000 l d .debug_frame 00000000 .debug_frame -00000000 l d .debug_loc 00000000 .debug_loc -00000000 l df *ABS* 00000000 ./Startup/startup_ch32v30x_D8C.o -00000004 l .vector 00000000 _vector_base -00000000 l df *ABS* 00000000 ./FreeRTOS/portable/GCC/RISC-V/portASM.o -00000264 l .text 00000000 processed_source -00000428 l .text 00000000 chip_specific_stack_frame -00000000 l df *ABS* 00000000 ch32v30x_it.c -00000000 l df *ABS* 00000000 main.c -000006d2 l F .text 00000084 task_business_entry -00000756 l F .text 00000016 ng_timer_callback -0000090e l F .text 00000018 task_wchnet_entry -200000ac l O .bss 00000004 g_ng_timer -2000004c l O .data 00000001 use_buffer_A.6728 -00000000 l df *ABS* 00000000 system_ch32v30x.c -00000000 l df *ABS* 00000000 ch32v30x_dbgmcu.c -00000000 l df *ABS* 00000000 ch32v30x_dvp.c -00000000 l df *ABS* 00000000 ch32v30x_eth.c -00000000 l df *ABS* 00000000 ch32v30x_exti.c -00000000 l df *ABS* 00000000 ch32v30x_flash.c -00000000 l df *ABS* 00000000 ch32v30x_gpio.c -00000000 l df *ABS* 00000000 ch32v30x_misc.c -00000000 l df *ABS* 00000000 ch32v30x_rcc.c -20000030 l O .data 00000010 APBAHBPrescTable -20000054 l O .data 00000004 ADCPrescTable -00000000 l df *ABS* 00000000 ch32v30x_tim.c -00000000 l df *ABS* 00000000 ch32v30x_usart.c -00000000 l df *ABS* 00000000 eth_driver_RGMII.c -00000000 l df *ABS* 00000000 qdx_port.c -00001f1e l F .text 0000003e find_ctx_by_wchnet_id -2000e8c4 l O .bss 000016f8 g_sock_ctx -00001f5c l F .text 0000003a free_sock_ctx -200000d8 l O .bss 00000004 g_wchnet_mutex -00000000 l df *ABS* 00000000 qdx_preprocess.c -2000ffbc l O .bss 0000006e g_PreprocessCfg -2001002c l O .bss 00000400 g_col_sums -200000dc l O .bss 00000001 g_is_initialized -200000e0 l O .bss 00000004 g_preprocess_mutex -00000000 l df *ABS* 00000000 qdx_protocol.c -00000000 l df *ABS* 00000000 qdx_tcp_logic.c -00002c1a l F .text 0000001e tcp_stream_disconnect -00002c38 l F .text 0000006c tcp_send_frame -2001042c l O .bss 000020e4 g_TcpLogic -00002ca4 l F .text 000000aa tcp_send_handshake -00002d4e l F .text 00000030 tcp_send_heartbeat -00002d7e l F .text 00000032 tcp_send_ack.constprop.3 -00002db0 l F .text 000005b2 recv_thread_entry -00003362 l F .text 0000012a manager_thread_entry -00000000 l df *ABS* 00000000 heap_4.c -0000376e l F .text 0000004c prvInsertBlockIntoFreeList -20012510 l O .bss 00003000 ucHeap -200000e4 l O .bss 00000004 pxEnd -200000e8 l O .bss 00000004 xBlockAllocatedBit -200000ec l O .bss 00000004 xFreeBytesRemaining -200000f0 l O .bss 00000004 xMinimumEverFreeBytesRemaining -200000f4 l O .bss 00000004 xNumberOfSuccessfulAllocations -200000f8 l O .bss 00000004 xNumberOfSuccessfulFrees -200000fc l O .bss 00000008 xStart -00000000 l df *ABS* 00000000 port.c -20000058 l O .data 00000004 uxCriticalNesting -00000000 l df *ABS* 00000000 list.c -00000000 l df *ABS* 00000000 queue.c -00003bc2 l F .text 0000001e prvIsQueueEmpty -00003be0 l F .text 00000072 prvCopyDataToQueue -00003c52 l F .text 00000028 prvCopyDataFromQueue -00003c7a l F .text 00000076 prvUnlockQueue -00000000 l df *ABS* 00000000 tasks.c -000045a0 l F .text 00000024 prvResetNextTaskUnblockTime -000045c4 l F .text 000000a6 prvAddCurrentTaskToDelayedList -0000466a l F .text 00000052 prvIdleTask -20015550 l O .bss 0000012c pxReadyTasksLists -2001567c l O .bss 00000014 xDelayedTaskList1 -20015690 l O .bss 00000014 xDelayedTaskList2 -200156a4 l O .bss 00000014 xPendingReadyList -200156b8 l O .bss 00000014 xSuspendedTaskList -200156cc l O .bss 00000014 xTasksWaitingTermination -20000108 l O .bss 00000004 pxDelayedTaskList -2000010c l O .bss 00000004 pxOverflowDelayedTaskList -20000110 l O .bss 00000004 uxCurrentNumberOfTasks -20000114 l O .bss 00000004 uxDeletedTasksWaitingCleanUp -20000118 l O .bss 00000004 uxSchedulerSuspended -2000011c l O .bss 00000004 uxTaskNumber -20000120 l O .bss 00000004 uxTopReadyPriority -20000124 l O .bss 00000004 xIdleTaskHandle -20000128 l O .bss 00000004 xNextTaskUnblockTime -2000012c l O .bss 00000004 xNumOfOverflows -20000130 l O .bss 00000004 xPendedTicks -20000134 l O .bss 00000004 xSchedulerRunning -20000138 l O .bss 00000004 xTickCount -2000013c l O .bss 00000004 xYieldPending -00000000 l df *ABS* 00000000 timers.c -000052ac l F .text 0000005a prvCheckForValidListAndQueue -00005306 l F .text 0000003e prvInsertTimerInActiveList -00005344 l F .text 0000002a prvReloadTimer -0000536e l F .text 00000042 prvProcessExpiredTimer -000053b0 l F .text 00000028 prvSwitchTimerLists -000053d8 l F .text 00000188 prvTimerTask -200156e0 l O .bss 00000014 xActiveTimerList1 -200156f4 l O .bss 00000014 xActiveTimerList2 -20000140 l O .bss 00000004 pxCurrentTimerList -20000144 l O .bss 00000004 pxOverflowTimerList -20000148 l O .bss 00000004 xLastTime.6646 -2000014c l O .bss 00000004 xTimerQueue -20000150 l O .bss 00000004 xTimerTaskHandle -00000000 l df *ABS* 00000000 debug.c -20000154 l O .bss 00000002 p_ms -20000156 l O .bss 00000001 p_us -00000000 l df *ABS* 00000000 dvp.c -20000168 l O .bss 00000004 frame_count -00000000 l df *ABS* 00000000 core_riscv.c -00000000 l df *ABS* 00000000 eth_api.c -00000000 l df *ABS* 00000000 ipcheck.c -00000000 l df *ABS* 00000000 socket.c -00000000 l df *ABS* 00000000 etharp.c -00006cf0 l F .text 00000180 find_entry -00006e70 l F .text 000000b2 update_arp_entry -200001a4 l O .bss 00000001 etharp_cached_entry -00000000 l df *ABS* 00000000 ethernetif.c -0000756c l F .text 00000052 low_level_output -00000000 l df *ABS* 00000000 inet.c -00000000 l df *ABS* 00000000 ip.c -200001b0 l O .bss 00000002 ip_id.2947 -00000000 l df *ABS* 00000000 ip_addr.c -00000000 l df *ABS* 00000000 ip_frag.c -200001b2 l O .bss 00000002 ip_reass_pbufcount -200001b4 l O .bss 00000004 reassdatagrams -00000000 l df *ABS* 00000000 dhcp.c -000081f0 l F .text 00000016 dhcp_set_state -00008206 l F .text 00000020 dhcp_option -00008226 l F .text 00000012 dhcp_option_byte -00008238 l F .text 00000048 dhcp_option_long -00008280 l F .text 00000034 dhcp_option_trailer -000082b4 l F .text 0000018a dhcp_create_request -0000843e l F .text 0000001e dhcp_delete_request -00000000 l df *ABS* 00000000 init.c -00000000 l df *ABS* 00000000 mem.c -200001b8 l O .bss 00000004 lfree -200001bc l O .bss 00000004 ram -200001c0 l O .bss 00000004 ram_end -00000000 l df *ABS* 00000000 memp.c -2002dc34 l O .bss 00000020 memp_tab -00000000 l df *ABS* 00000000 netif.c -200001cc l O .bss 00000001 netifnum.2482 -00000000 l df *ABS* 00000000 pbuf.c -00000000 l df *ABS* 00000000 raw.c -200001d0 l O .bss 00000004 raw_pcbs -00000000 l df *ABS* 00000000 tcp.c -00008efa l F .text 0000005c tcp_new_port -200001e4 l O .bss 00000001 tcp_timer -20000070 l O .data 00000004 iss.3197 -20000074 l O .data 00000002 port.3029 -00000000 l df *ABS* 00000000 tcp_in.c -00009a12 l F .text 000000ce tcp_oos_insert_segment -00009ae0 l F .text 00000944 tcp_receive -0000a424 l F .text 000000a6 tcp_parseopt.isra.0 -2002dc54 l O .bss 00000014 inseg -200001f0 l O .bss 00000004 ackno -200001f4 l O .bss 00000001 flags -200001f8 l O .bss 00000004 iphdr -200001fc l O .bss 00000004 recv_data -20000200 l O .bss 00000001 recv_flags -20000204 l O .bss 00000004 seqno -2000020c l O .bss 00000004 tcphdr -20000210 l O .bss 00000002 tcplen -00000000 l df *ABS* 00000000 tcp_out.c -0000aef8 l F .text 000000d4 tcp_output_set_header.isra.0.constprop.1 -00000000 l df *ABS* 00000000 udp.c -00000000 l df *ABS* 00000000 icmp.c -0000c03e l F .text 00000076 icmp_send_response.isra.0 -00000000 l df *ABS* 00000000 inet_chksum.c -0000c32c l F .text 0000007e lwip_standard_chksum -00000000 l df *ABS* 00000000 wchprintf.c -00000000 l df *ABS* 00000000 libgcc2.c -00000000 l df *ABS* 00000000 memcpy.c -00000000 l df *ABS* 00000000 memmove.c -00000000 l df *ABS* 00000000 libgcc2.c -00000000 l df *ABS* 00000000 net_dhcp.c -0000c752 w F .text 00000004 printDouble -00000d46 w .text 00000000 EXTI2_IRQHandler -0000cae4 g F .text 00000018 putchar -0000c4b4 g F .text 00000014 inet_chksum -000008a4 g F .text 0000006a WCHNET_HandleGlobalInt -20000157 g O .bss 00000001 Frame_Ready_Flag -00000d46 w .text 00000000 TIM8_TRG_COM_IRQHandler -00008dca g F .text 0000001e raw_bind -00007c96 g F .text 000003dc ip_reass -00000d46 w .text 00000000 TIM8_CC_IRQHandler -00008c22 g F .text 00000058 pbuf_realloc -00000e2c g F .text 00000062 DVP_Cfg -000010b8 g F .text 0000001a FLASH_Unlock -00009776 g F .text 00000010 tcp_next_iss -0000906c g F .text 00000048 tcp_update_rcv_ann_wnd -00005bf6 g F .text 00000016 setRxBuffAddr -00001020 g F .text 00000010 ETH_FlushTransmitFIFO -00001526 g F .text 0000001e RCC_AHBPeriphResetCmd -200001c8 g O .bss 00000004 netif_list -00000d46 w .text 00000000 UART8_IRQHandler -00002392 g F .text 000000f2 qdx_port_tcp_recv -0000b832 g F .text 00000108 tcp_rst -0000cafc g F .text 000003d4 .hidden __divdi3 -0000c756 w F .text 00000320 print -00003b06 g F .text 00000042 vPortExitCritical -000055b8 g F .text 00000074 xTimerCreate -20000184 g O .bss 00000004 TCPTimer -000070ec g F .text 000000ce etharp_request -0000ca76 w F .text 00000024 printf -20000840 g .data 00000000 __global_pointer$ -000004ee g F .text 00000028 .hidden __riscv_save_8 -00009170 g F .text 00000006 tcp_err -2000008c g O .data 00000004 ip_addr_any -00000d46 w .text 00000000 TIM1_CC_IRQHandler -00002a1c g F .text 00000008 qdx_write_u16_le -0000c3aa g F .text 0000010a inet_chksum_pseudo -00006196 g F .text 00000016 WCHNET_ConfigKeepLive -0000b414 g F .text 00000016 tcp_send_ctrl -0000bfea g F .text 00000030 udp_remove -000005f0 g F .text 00000052 HardFault_Handler -00004544 g F .text 0000005c vQueueWaitForMessageRestricted -000079d6 g F .text 0000015a ip_output_if -00002a24 g F .text 00000014 qdx_write_u32_le -000088c2 g F .text 00000018 memp_free -0000c65c w F .text 000000f2 printInt -00008a94 g F .text 0000004e pbuf_free -0000053a g F .text 0000000c .hidden __riscv_restore_3 -00006aa6 g F .text 00000014 WCHNET_GetGlobalInt -00009164 g F .text 00000006 tcp_recv -00000d46 w .text 00000000 TIM6_IRQHandler -00001e3e g F .text 0000006c ETH_Init -00003ab8 g F .text 00000038 SysTick_Handler -00008c96 g F .text 0000001c pbuf_cat -000012f6 g F .text 00000060 NVIC_Init -00002484 g F .text 0000004c qdx_port_tcp_close -00000d46 w .text 00000000 PVD_IRQHandler -000020ae g F .text 0000001c qdx_port_delay_ms -00000d46 w .text 00000000 SDIO_IRQHandler -20000190 g O .bss 00000001 ARP_Retry_Cnt -00006c5c g F .text 00000060 WCHNET_SocketClose -00006b64 g F .text 00000038 CloseUpdConnect -0000cf82 g F .text 00000046 memmove -00007b30 g F .text 00000036 ip_output -00000d46 w .text 00000000 TIM9_BRK_IRQHandler -00000526 g F .text 00000020 .hidden __riscv_restore_10 -00001c90 g F .text 00000126 ReInitMACReg -0000bf26 g F .text 0000002e udp_sendto -0000175c g F .text 00000044 ETH_TxPktChainMode -2000018c g O .bss 00000004 phydatatime -00003ff8 g F .text 00000128 xQueueGenericSendFromISR -00000d46 w .text 00000000 DMA2_Channel8_IRQHandler -000005ee g F .text 00000002 NMI_Handler -0000ba4e g F .text 0000005e tcp_keepalive -00000d46 w .text 00000000 CAN2_RX1_IRQHandler -00000d46 w .text 00000000 EXTI3_IRQHandler -000060ea g F .text 000000ac WCHNET_Init -000071ba g F .text 0000007c etharp_tmr -000004ee g F .text 00000028 .hidden __riscv_save_11 -00000dda g F .text 0000000a DBGMCU_GetCHIPID -00009786 g F .text 00000134 tcp_alloc -00005afa g F .text 00000014 WCHNET_NetInput -0000d194 g O .text 00000010 MemSize -0000be50 g F .text 000000d6 udp_sendto_if -00001dec g F .text 00000052 WCHNET_ETHIsr -00009160 g F .text 00000004 tcp_arg -20000104 g O .bss 00000004 pxCurrentTCB -00000d46 w .text 00000000 USBHS_IRQHandler -00006f7c g F .text 00000170 etharp_arp_input -00002076 g F .text 0000002a qdx_port_init -200001d4 g O .bss 00000004 tcp_active_pcbs -00001752 g F .text 0000000a USART_GetFlagStatus -00000d46 w .text 00000000 DMA2_Channel9_IRQHandler -20000214 g O .bss 00000004 udp_pcbs -00000d46 w .text 00000000 TIM10_CC_IRQHandler -200000a4 g O .bss 00000006 MACAddr -00007482 g F .text 00000086 ethernet_input -200000a0 g .bss 00000000 _sbss -00000800 g *ABS* 00000000 __stack_size -00008c8c g F .text 0000000a pbuf_ref -000056fe g F .text 00000062 USART_Printf_Init -00006922 g F .text 00000056 WCHNET_SocketSend -200000bc g O .bss 00000004 ChipId -000095ac g F .text 00000030 tcp_recv_null -20000194 g O .bss 00000001 SockNumber -000020ea g F .text 00000016 qdx_port_mutex_unlock -00000d46 w .text 00000000 USBFS_IRQHandler -00004f2a g F .text 00000016 vTaskInternalSetTimeOutState -000094fa g F .text 000000b2 tcp_close -2002db08 g O .bss 0000000c SelARP -000090b4 g F .text 0000003c tcp_recved -00000828 g F .text 0000007c WCHNET_HandleSockInt -0000053a g F .text 0000000c .hidden __riscv_restore_2 -00009180 g F .text 0000004e tcp_pcb_purge -20000094 g O .data 00000007 tcp_persist_backoff -00003a28 g F .text 00000090 xPortStartScheduler -00000e8e g F .text 00000014 ETH_DeInit -0000ced0 g F .text 000000b2 memcpy -00008634 g F .text 00000084 mem_free -00004d80 g F .text 00000048 vTaskPlaceOnEventList -200001e0 g O .bss 00000004 tcp_ticks -200001dc g O .bss 00000004 tcp_listen_pcbs -0000b93a g F .text 00000036 tcp_rexmit_rto -20000164 g O .bss 00000004 current_line_idx -00006b9c g F .text 00000038 CloseIPRAWConnect -000039ee w F .text 0000003a vPortSetupTimerInterrupt -00002b96 g F .text 00000084 qdx_build_fragment_frame -00007b66 g F .text 0000004a ip_addr_isbroadcast -0000c74e w F .text 00000004 printLongLongInt -200000b0 g O .bss 00000004 DMARxDescToGet -000098ba g F .text 00000010 tcp_new -20000010 g O .data 00000010 g_TxNetBuffer_B -00000d46 w .text 00000000 EXTI0_IRQHandler -0000155e g F .text 00000024 RCC_ETH1G_125Mcmd -00000d46 w .text 00000000 I2C2_EV_IRQHandler -00005c42 g F .text 0000000e GetChipID -00000d46 w .text 00000000 TIM10_TRG_COM_IRQHandler -00005d1e g F .text 00000042 IPCheckTmr -00001670 g F .text 00000018 TIM_Cmd -0000ca9a g F .text 0000004a puts -00003946 g F .text 000000a8 vPortFree -2002db14 g O .bss 00000018 DHCPCtrl -20000050 g O .data 00000004 SystemCoreClock -20030000 g .stack 00000000 __freertos_irq_stack_top -00008e8a g F .text 00000010 raw_send -0000c4c8 g F .text 0000006a inet_chksum_pbuf -00004286 g F .text 000001bc xQueueSemaphoreTake -0000c0b4 g F .text 00000250 icmp_input -00000004 g .init 00000000 _einit -0000169a g F .text 0000000c TIM_ClearITPendingBit -000035a4 g F .text 0000000e TcpLogic_RegisterConfigCallback -000089be g F .text 0000005a netif_add -000014ea g F .text 0000001e RCC_APB2PeriphClockCmd -000004e6 g F .text 00000030 .hidden __riscv_save_12 -0000911a g F .text 0000001e tcp_segs_free -00006a68 g F .text 0000003e WCHNET_QueryGlobalInt -00000d46 w .text 00000000 CAN2_SCE_IRQHandler -00000d46 w .text 00000000 ADC1_2_IRQHandler -0000122e g F .text 000000c0 GPIO_Init -00000d46 w .text 00000000 Break_Point_Handler -000088da g F .text 00000096 netif_set_ipaddr -00000526 g F .text 00000020 .hidden __riscv_restore_11 -200000b8 g O .bss 00000004 NVIC_Priority_Group -00000d46 w .text 00000000 SPI1_IRQHandler -00001734 g F .text 00000016 USART_Cmd -00006aba g F .text 0000002a WCHNET_GetSocketInt -0000b42a g F .text 00000030 tcp_write -00000d46 w .text 00000000 TAMPER_IRQHandler -00000516 g F .text 0000000c .hidden __riscv_save_1 -000010e0 g F .text 0000000a FLASH_GetUserOptionByte -2002dbd0 g O .bss 0000002c WCHCfg -0000053a g F .text 0000000c .hidden __riscv_restore_0 -00003b6e g F .text 00000006 vListInitialiseItem -00009660 g F .text 0000007c tcp_fastsendack -00001aca g F .text 00000094 ETH_RegInit -000004fc g F .text 0000001a .hidden __riscv_save_7 -00004120 g F .text 00000166 xQueueReceive -00000d46 w .text 00000000 CAN2_RX0_IRQHandler -20000060 g O .data 00000004 DHCPXid -20015510 g O .bss 00000040 xQueueRegistry -00008f56 g F .text 00000116 tcp_bind -00003b54 g F .text 00000006 vPortClearInterruptMask -0000c318 g F .text 00000014 icmp_time_exceeded -2000015c g O .bss 00000004 Ready_Frame_Count -20006978 g O .bss 000029ac MACRxBuf -00000d46 w .text 00000000 TIM8_UP_IRQHandler -00008072 g F .text 0000017e ip_frag -00001508 g F .text 0000001e RCC_APB1PeriphClockCmd -000065ce g F .text 000000e8 WCHNET_SocketRecv -200000d0 g O .bss 00000004 pDMARxSet -00000d46 w .text 00000000 Ecall_M_Mode_Handler -2002f800 g .stack 00000000 _heap_end -2002db2c g O .bss 00000040 dhcp_host_name -00008e0c g F .text 0000007e raw_sendto -000035c0 g F .text 000001ae TcpLogic_BuildAndSendTemperatureFrame -000056c8 g F .text 00000036 Delay_Us -00000530 g F .text 00000016 .hidden __riscv_restore_5 -00000d46 w .text 00000000 DMA2_Channel2_IRQHandler -000014cc g F .text 0000001e RCC_AHBPeriphClockCmd -00000d46 w .text 00000000 DMA1_Channel4_IRQHandler -20015b08 g O .bss 00018000 FrameBuffer -00008cc6 g F .text 0000009c pbuf_copy -0000b970 g F .text 0000007c tcp_rexmit -000037ba g F .text 0000018c pvPortMalloc -00005dce g F .text 00000004 LwipTCPPollCallBack -200000b4 g O .bss 00000004 DMATxDescToSet -00004508 g F .text 0000003c vQueueDelete -00000f4c g F .text 00000014 ETH_MACTransmissionCmd -00003b5a g F .text 00000014 vListInitialise -000010d2 g F .text 0000000e FLASH_Lock -20000048 g O .data 00000004 IPMask -00002032 g F .text 00000022 qdx_port_sock_connect_notify -20000158 g O .bss 00000001 Line_Ready_Flag -00000d46 w .text 00000000 TIM9_UP_IRQHandler -00000530 g F .text 00000016 .hidden __riscv_restore_6 -00000d46 w .text 00000000 USART3_IRQHandler -000010ae g F .text 0000000a EXTI_ClearITPendingBit -00004962 g F .text 0000000a xTaskGetTickCount -00003e22 g F .text 000001a8 xQueueGenericSend -00000d46 w .text 00000000 RTC_IRQHandler -200001e8 g O .bss 00000004 tcp_tmp_pcb -2002dc68 g .bss 00000000 _ebss -2000a3bc g O .bss 00001e74 Mem_Heap_Memory -00000d46 w .text 00000000 DMA1_Channel7_IRQHandler -20000174 g O .bss 00000004 DHCPcoarseTimer -00001080 g F .text 0000002e RGMII_TXC_Delay -000024d0 g F .text 00000068 Preprocess_Init -00000d46 w .text 00000000 CAN1_RX1_IRQHandler -000056a2 g F .text 00000026 Delay_Init -000050e0 g F .text 000000ca xTaskPriorityDisinherit -00002b26 g F .text 00000070 qdx_build_frame_inplace -000085f6 g F .text 0000003e mem_init -00001018 g F .text 00000008 ETH_DMAClearITPendingBit -000058cc g F .text 0000005a DVP_IRQHandler -00000d46 w .text 00000000 UART5_IRQHandler -200000cc g O .bss 00000002 gPHYAddress -0000b4ca g F .text 00000368 tcp_output -00004e3e g F .text 000000ec xTaskRemoveFromEventList -000012ee g F .text 00000004 GPIO_SetBits -00000d46 w .text 00000000 TIM4_IRQHandler -20000208 g O .bss 00000004 tcp_input_pcb -00008d62 g F .text 00000068 raw_input -0000b45a g F .text 00000070 tcp_send_empty_ack -000004ee g F .text 00000028 .hidden __riscv_save_9 -0000b9ec g F .text 00000062 tcp_rexmit_fast -00000d46 w .text 00000000 DMA2_Channel1_IRQHandler -2000c230 g O .bss 0000261b Memp_Memory -00001062 g F .text 0000001e ETH_DMAITConfig -0000076c g F .text 00000036 OnDetectionResult -0000762e g F .text 00000076 wch_ethernetif_init -00005c50 g F .text 00000074 getTxBuffAddr -000076e4 g F .text 0000000c ntohl -0000100a g F .text 0000000e ETH_SoftwareReset -000004fc g F .text 0000001a .hidden __riscv_save_4 -00008a18 g F .text 00000006 netif_set_default -0000609e g F .text 0000004c WCHSocketInit -00000efa g F .text 00000052 ETH_WritePHYRegister -0000bfe4 g F .text 00000006 udp_recv -00000d46 w .text 00000000 I2C1_EV_IRQHandler -20000078 g O .data 00000004 xISRStackTop -00005d60 g F .text 0000002e IPConflictHandle -00008ae2 g F .text 00000140 pbuf_alloc -00005ce6 g F .text 00000038 SelIPARPSend -000044ae g F .text 0000005a vQueueUnregisterQueue -00006978 g F .text 00000052 WCHScokedIntHandle -00001356 g F .text 00000176 RCC_GetClocksFreq -00005290 g F .text 0000001c pvTaskIncrementMutexHeldCount -00000d46 w .text 00000000 DMA1_Channel6_IRQHandler -00000d46 w .text 00000000 UART4_IRQHandler -20000198 g O .bss 00000004 TCPVerifyConnCallback -00000d46 w .text 00000000 DMA2_Channel4_IRQHandler -20000090 g O .data 00000004 ip_addr_broadcast -00007bb0 g F .text 000000e6 ip_reass_tmr -000016a6 g F .text 0000008e USART_Init -00004f40 g F .text 000000ca xTaskCheckForTimeOut -2000006c g O .data 00000004 memp_sizes -000017a0 g F .text 00000020 WCHNET_GetMacAddr -00005032 g F .text 000000ae xTaskPriorityInherit -00000d46 w .text 00000000 TIM3_IRQHandler -00000d46 w .text 00000000 RCC_IRQHandler -20006958 g O .bss 00000020 DMATxDscrTab -00000516 g F .text 0000000c .hidden __riscv_save_3 -0000bf66 g F .text 0000007e udp_connect -00000d46 w .text 00000000 TIM1_TRG_COM_IRQHandler -0000d3ac g O .text 00000010 ErrTable -00000d46 w .text 00000000 DMA1_Channel1_IRQHandler -00008970 g F .text 0000004e netif_set_addr -0000845c g F .text 00000182 dhcp_arp_reply -200001a0 g O .bss 00000004 tcpSendAckFlag -00000000 g .init 00000000 _start -00000d46 w .text 00000000 DMA2_Channel7_IRQHandler -00004952 g F .text 00000010 vTaskSuspendAll -20000020 g O .data 00000010 AHBPrescTable -000088a2 g F .text 00000020 memp_malloc -0000baac g F .text 000000d2 tcp_zero_window_probe -00002136 g F .text 0000020e qdx_port_tcp_connect -00001102 g F .text 00000020 FLASH_WaitForLastOperation -200040e8 g O .bss 00002800 g_TxNetBuffer_B_Mem -0000c57c w F .text 000000e0 prints -00005866 g F .text 00000066 DVP_Task -00003ba2 g F .text 00000020 uxListRemove -00000d46 w .text 00000000 EXTI15_10_IRQHandler -00001688 g F .text 00000012 TIM_ITConfig -2002db80 g O .bss 0000000c KeepLiveCfg -000035b2 g F .text 0000000e TcpLogic_RegisterDetectionCallback -00006352 g F .text 000001d2 WCHNET_SocketCreat -0000657c g F .text 00000052 WCHNET_ModifyRecvBuf -2002dbfc g O .bss 00000038 WCHNetIf -200001d8 g O .bss 00000004 tcp_bound_pcbs -000076c0 g F .text 00000024 htonl -000090f0 g F .text 0000002a tcp_seg_free -00004ce6 g F .text 0000009a vTaskSwitchContext -0000352a g F .text 0000007a TcpLogic_Start -20000160 g O .bss 00000004 Ready_Line_Ptr -00004dc8 g F .text 00000076 vTaskPlaceOnEventListRestricted -000069ca g F .text 0000009e LwipRemoveTcpPcb -000012f2 g F .text 00000004 GPIO_ResetBits -0000592c g F .text 00000006 __get_MCAUSE -00000d46 w .text 00000000 TIM7_IRQHandler -000098f8 g F .text 000000e8 tcp_connect -00008782 g F .text 000000d0 mem_malloc -00000d46 w .text 00000000 CAN2_TX_IRQHandler -20000000 g .dalign 00000000 _data_vma -00000de4 g F .text 00000016 DVP_INTCfg -00000d46 w .text 00000000 TIM5_IRQHandler -00001122 g F .text 0000010c FLASH_ProgramOptionByteData -000028e4 g F .text 00000138 Preprocess_CheckInternalTrigger2D -00000fba g F .text 00000050 ETH_DMARxDescChainInit -0000562c g F .text 00000076 xTimerGenericCommand -00000ea2 g F .text 00000058 ETH_ReadPHYRegister -00000642 g F .text 00000054 EXTI9_5_IRQHandler -0000afcc g F .text 00000448 tcp_enqueue -000098ca g F .text 0000002e tcp_eff_send_mss -000062f4 g F .text 0000005e WCHFindCorrectTCBPcb -00002100 g F .text 00000036 qdx_port_thread_create -000004ee g F .text 00000028 .hidden __riscv_save_10 -00001eaa g F .text 00000074 ETH_LibInit -00005f70 g F .text 000000d2 WCHSocketTCPReceive -00000d46 w .text 00000000 ETH_WKUP_IRQHandler -0000348c g F .text 0000009e TcpLogic_Init -00000530 g F .text 00000016 .hidden __riscv_restore_4 -00005932 g F .text 00000006 __get_MTVAL -00000526 g F .text 00000020 .hidden __riscv_restore_8 -00005926 g F .text 00000006 __get_MEPC -000004fc g F .text 0000001a .hidden __riscv_save_6 -00008de8 g F .text 0000001e raw_connect -00000d46 w .text 00000000 SPI2_IRQHandler -20000192 g O .bss 00000002 Arp_Entry_timeout -00000546 g F .text 000000a8 memset -00000526 g F .text 00000020 .hidden __riscv_restore_9 -00000530 g F .text 00000016 .hidden __riscv_restore_7 -00000926 g F .text 000001fe main -200000c8 g O .bss 00000004 LocalTime -20000068 g O .data 00000004 memp_num -00000d46 w .text 00000000 TIM10_BRK_IRQHandler -20000040 g O .data 00000004 GWIPAddr -000007a2 g F .text 00000018 mStopIfError -00000d46 w .text 00000000 TIM9_CC_IRQHandler -00003b74 g F .text 0000002e vListInsert -0000c304 g F .text 00000014 icmp_dest_unreach -00005dd2 g F .text 000000c4 SocketIPRAWReceive -0000916a g F .text 00000006 tcp_sent -00008a1e g F .text 00000008 netif_is_up -00000d46 w .text 00000000 DMA2_Channel5_IRQHandler -00005560 g F .text 00000058 xTimerCreateTimerTask -000076b2 g F .text 0000000e ntohs -00008eca g F .text 00000030 raw_new -20000180 g O .bss 00000004 IPFragTimer -00005d8e g F .text 00000002 NET_TCPError -000075be g F .text 00000070 ethernetif_input -20000000 g O .data 00000010 g_TxNetBuffer_A -00002054 g F .text 00000022 qdx_port_sock_disconnect_notify -00000d46 w .text 00000000 DMA1_Channel5_IRQHandler -00000d46 w .text 00000000 EXTI4_IRQHandler -00008e9a g F .text 00000030 raw_remove -00003db4 g F .text 0000006e xQueueGenericCreate -00000d46 w .text 00000000 USB_LP_CAN1_RX0_IRQHandler -20015908 g O .bss 00000200 DMA_LineBuf1 -2002db6c g O .bss 00000014 DNSInf -20015708 g O .bss 00000200 DMA_LineBuf0 -00006774 g F .text 000000be SocketUdpSend -0000bdb6 g F .text 0000009a udp_bind -0000963e g F .text 00000022 tcp_tmr -00007236 g F .text 00000118 etharp_query -00001ab8 g F .text 00000012 WCHNET_MainTask -000085de g F .text 00000018 lwip_init -000020a0 g F .text 0000000e qdx_port_get_tick_ms -00005c0c g F .text 00000036 WCHNET_Tx -0000734e g F .text 00000134 etharp_output -00000b24 g F .text 000000f8 SystemInit -00000d46 w .text 00000000 RNG_IRQHandler -0000579e g F .text 000000c8 DVP_Init -200068e8 g O .bss 00000070 DMARxDscrTab -200018e8 g O .bss 00002800 g_TxNetBuffer_A_Mem -0000c532 w F .text 0000004a printchar -00006832 g F .text 000000f0 SocketTcpSend -00004b18 g F .text 00000168 xTaskResumeAll -2000005c g O .data 00000004 uxTopUsedPriority -00000d46 w .text 00000000 USB_HP_CAN1_TX_IRQHandler -0000d414 g O .text 00000100 .hidden __clz_tab -00003b48 g F .text 0000000c xPortSetInterruptMask -000048c0 g F .text 00000092 vTaskStartScheduler -00008c7a g F .text 00000012 pbuf_clen -00000000 g .init 00000000 _sinit -200000c4 g O .bss 00000004 LastQueryPhyTime -00006084 g F .text 0000001a ErrorEncode -000020ca g F .text 0000000e qdx_port_mutex_create -00000300 g .text 00000000 xPortStartFirstTask -0000bf54 g F .text 00000012 udp_send -00000d46 w .text 00000000 DMA1_Channel3_IRQHandler -00002344 g F .text 0000004e qdx_port_tcp_send -00001c78 g F .text 00000018 ETH_Stop -000025d0 g F .text 00000314 Preprocess_Execute -00008e06 g F .text 00000006 raw_recv -200001a8 g O .bss 00000008 frame -0000d184 g O .text 00000010 MemNum -00000696 g F .text 00000008 ETH_IRQHandler -00000d46 w .text 00000000 TIM1_UP_IRQHandler -000091ce g F .text 000002ba tcp_slowtmr -00006bd4 g F .text 00000088 CloseTcpPCB -00005b5c g F .text 0000009a WCHNET_Rx -00001544 g F .text 0000001a RCC_ETH1GCLKConfig -20000044 g O .data 00000004 IPAddr -00000dfa g F .text 00000032 DVP_Mode -00000d46 w .text 00000000 WWDG_IRQHandler -00002a8c g F .text 0000009a qdx_build_frame -00000d46 w .text 00000000 USBHSWakeup_IRQHandler -200000c0 g O .bss 00000002 LastPhyStat -00002538 g F .text 00000098 Preprocess_Settings_Change -00000d46 w .text 00000000 DMA2_Channel11_IRQHandler -00001030 g F .text 00000032 ETH_Start -00000d46 w .text 00000000 Ecall_U_Mode_Handler -0000500a g F .text 0000000c vTaskMissedYield -00007508 g F .text 00000064 ethernetif_init -00000d46 w .text 00000000 DMA2_Channel6_IRQHandler -0000069e g F .text 00000022 TIM2_IRQHandler -20030000 g .stack 00000000 _eusrstack -00000516 g F .text 0000000c .hidden __riscv_save_2 -00000200 g .text 00000000 SW_Handler -00004442 g F .text 0000006c vQueueAddToRegistry -200000a0 g O .bss 00000004 sys_tick_ms -00006524 g F .text 00000058 tcp_recved_socket -20009324 g O .bss 00000be8 MACTxBuf -0000496c g F .text 000001ac xTaskIncrementTick -200000d4 g O .bss 00000004 pDMATxSet -00006ae4 g F .text 0000000a WCHNET_GetPHYStatus -00005cc4 g F .text 00000022 IPCheckParaInit -00000d46 w .text 00000000 TIM1_BRK_IRQHandler -0000174a g F .text 00000008 USART_SendData -200001ec g O .bss 00000004 tcp_tw_pcbs -00000d46 w .text 00000000 DMA2_Channel10_IRQHandler -00000d46 w .text 00000000 EXTI1_IRQHandler -0000bb7e g F .text 00000238 udp_input -000020d8 g F .text 00000012 qdx_port_mutex_lock -000004fc g F .text 0000001a .hidden __riscv_save_5 -20000178 g O .bss 00000004 DHCPfineTimer -20000188 g O .bss 00000004 TxTimer -00003cf0 g F .text 000000c4 xQueueGenericReset -00005760 g F .text 0000003e _write -200000a0 g .data 00000000 _edata -2002dc68 g .bss 00000000 _end -000076a4 g F .text 0000000e htons -2000017c g O .bss 00000004 DNSTimer -00001b5e g F .text 0000011a ETH_Configuration -20000170 g O .bss 00000004 ArpCheckTime -00001582 g F .text 000000ee TIM_TimeBaseInit -000076f0 g F .text 0000004c ip_route -00000d46 w .text 00000000 RTCAlarm_IRQHandler -000046bc g F .text 00000204 xTaskCreate -0000d514 g .dlalign 00000000 _data_lma -00000d46 w .text 00000000 TIM10_UP_IRQHandler -00000d46 w .text 00000000 TIM9_TRG_COM_IRQHandler -00000d46 w .text 00000000 UART7_IRQHandler -00008a26 g F .text 0000006e pbuf_header -000086b8 g F .text 000000ca mem_realloc -200001c4 g O .bss 00000004 netif_default -00009488 g F .text 00000072 tcp_pcb_remove -00000d46 w .text 00000000 USART2_IRQHandler -00000d46 w .text 00000000 UART6_IRQHandler -000017d0 g F .text 00000154 ETH_RGMIIPinInit -00008cb2 g F .text 00000014 pbuf_chain -20009f0c g O .bss 000004b0 Mem_ArpTable -00001a58 g F .text 00000060 WCHNET_QueryPhySta -2000016c g O .bss 00000004 ARPTimer -000096dc g F .text 0000009a tcp_abandon -20000064 g O .data 00000004 arp_table -00005e96 g F .text 000000da SocketUdpReceive -00000f60 g F .text 00000014 ETH_MACReceptionCmd -00006042 g F .text 00000042 LwipTcpConnectedCallBack -00000c1c g F .text 0000012a SystemCoreClockUpdate -2000e84c g O .bss 00000078 SocketInf -00008852 g F .text 00000050 memp_init -000095dc g F .text 00000062 tcp_fasttmr -000066b6 g F .text 000000be SocketIPRawSend -00002a58 g F .text 00000034 qdx_crc16_modbus -000062f0 g F .text 00000004 WCHNET_GetVer -00000d46 w .text 00000000 I2C2_ER_IRQHandler -00004c80 g F .text 00000066 vTaskDelay -2000019c g O .bss 00000001 phydata -00000d46 w .text 00000000 DMA1_Channel2_IRQHandler -00006f22 g F .text 0000005a etharp_ip_input -00000522 g F .text 00000024 .hidden __riscv_restore_12 -00000d46 w .text 00000000 TIM8_BRK_IRQHandler -00005016 g F .text 0000001c xTaskGetSchedulerState -000051aa g F .text 000000e6 vTaskPriorityDisinheritAfterTimeout -00000d48 w .text 00000000 handle_reset -00000d46 w .text 00000000 CAN1_SCE_IRQHandler -20000218 g O .bss 000016d0 SocketRecvBuf -00001924 g F .text 00000134 ETH_PHYLink -00000d46 w .text 00000000 FLASH_IRQHandler -00000516 g F .text 0000000c .hidden __riscv_save_0 -00006cbc g F .text 0000000e QueryPingEnable -00009138 g F .text 00000028 tcp_seg_copy -000007ba g F .text 0000006e TIM2_Init -00000d46 w .text 00000000 USART1_IRQHandler -00009176 g F .text 0000000a tcp_poll -00000400 g .text 00000000 pxPortInitialiseStack -00000d46 w .text 00000000 SPI3_IRQHandler -0000c01a g F .text 00000024 udp_new -00002a42 g F .text 00000016 qdx_read_u32_le -00000d46 w .text 00000000 I2C1_ER_IRQHandler -00002a38 g F .text 0000000a qdx_read_u16_le -2000007c g O .data 00000006 ethbroadcast -0000d3dc g O .text 0000000d tcp_backoff -000017c0 g F .text 00000010 WCHNET_TimeIsr -00003af0 g F .text 00000016 vPortEnterCritical -0000053a g F .text 0000000c .hidden __riscv_restore_1 -2002db8c g O .bss 00000044 NetInf -00005d90 g F .text 0000003e LwipTCPSendCallBack -00006ce4 g F .text 0000000c LwipArpCheck -00006aee g F .text 00000076 WCHNET_SocketConnect -000010ea g F .text 00000018 FLASH_GetBank1Status -00001db6 g F .text 00000036 WCHNET_RecProcess -0000a4ca g F .text 00000a2e tcp_input -00003fca g F .text 0000002e xQueueCreateMutex -000099e0 g F .text 00000032 RemoveTimeWaiTCP -0000773c g F .text 0000029a ip_input -000006c0 g F .text 00000012 OnConfigUpdate -20000084 g O .data 00000006 ethzero -00000d46 w .text 00000000 USBWakeUp_IRQHandler -00001f96 g F .text 0000009c qdx_port_sock_recv_notify -000061ac g F .text 00000144 WCHNET_ConfigLIB -00006cca g F .text 0000001a LwipUnreachPort -20000191 g O .bss 00000001 ARP_Retry_Period -00000d46 w .text 00000000 DMA2_Channel3_IRQHandler -00005b0e g F .text 0000004e WCHNET_PhyStatus -00005938 g F .text 000001c2 WCHNET_PeriodicHandle -00000f74 g F .text 00000046 ETH_DMATxDescChainInit - - - -Disassembly of section .init: - -00000000 <_sinit>: -_start(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:17 - - .section .init,"ax",@progbits - .global _start - .align 1 -_start: - j handle_reset - 0: 5490006f j d48 - -Disassembly of section .vector: - -00000004 <_vector_base>: - ... -_vector_base(): - c: 05ee slli a1,a1,0x1b - e: 0000 unimp - 10: 05f0 addi a2,sp,716 - 12: 0000 unimp - 14: 0000 unimp - 16: 0000 unimp - 18: 0d46 slli s10,s10,0x11 - ... - 22: 0000 unimp - 24: 0d46 slli s10,s10,0x11 - 26: 0000 unimp - 28: 0d46 slli s10,s10,0x11 - ... - 32: 0000 unimp - 34: 3ab8 lbu a4,19(a3) - 36: 0000 unimp - 38: 0000 unimp - 3a: 0000 unimp - 3c: 0200 addi s0,sp,256 - 3e: 0000 unimp - 40: 0000 unimp - 42: 0000 unimp - 44: 0d46 slli s10,s10,0x11 - 46: 0000 unimp - 48: 0d46 slli s10,s10,0x11 - 4a: 0000 unimp - 4c: 0d46 slli s10,s10,0x11 - 4e: 0000 unimp - 50: 0d46 slli s10,s10,0x11 - 52: 0000 unimp - 54: 0d46 slli s10,s10,0x11 - 56: 0000 unimp - 58: 0d46 slli s10,s10,0x11 - 5a: 0000 unimp - 5c: 0d46 slli s10,s10,0x11 - 5e: 0000 unimp - 60: 0d46 slli s10,s10,0x11 - 62: 0000 unimp - 64: 0d46 slli s10,s10,0x11 - 66: 0000 unimp - 68: 0d46 slli s10,s10,0x11 - 6a: 0000 unimp - 6c: 0d46 slli s10,s10,0x11 - 6e: 0000 unimp - 70: 0d46 slli s10,s10,0x11 - 72: 0000 unimp - 74: 0d46 slli s10,s10,0x11 - 76: 0000 unimp - 78: 0d46 slli s10,s10,0x11 - 7a: 0000 unimp - 7c: 0d46 slli s10,s10,0x11 - 7e: 0000 unimp - 80: 0d46 slli s10,s10,0x11 - 82: 0000 unimp - 84: 0d46 slli s10,s10,0x11 - 86: 0000 unimp - 88: 0d46 slli s10,s10,0x11 - 8a: 0000 unimp - 8c: 0d46 slli s10,s10,0x11 - 8e: 0000 unimp - 90: 0d46 slli s10,s10,0x11 - 92: 0000 unimp - 94: 0d46 slli s10,s10,0x11 - 96: 0000 unimp - 98: 0d46 slli s10,s10,0x11 - 9a: 0000 unimp - 9c: 0d46 slli s10,s10,0x11 - 9e: 0000 unimp - a0: 0642 slli a2,a2,0x10 - a2: 0000 unimp - a4: 0d46 slli s10,s10,0x11 - a6: 0000 unimp - a8: 0d46 slli s10,s10,0x11 - aa: 0000 unimp - ac: 0d46 slli s10,s10,0x11 - ae: 0000 unimp - b0: 0d46 slli s10,s10,0x11 - b2: 0000 unimp - b4: 069e slli a3,a3,0x7 - b6: 0000 unimp - b8: 0d46 slli s10,s10,0x11 - ba: 0000 unimp - bc: 0d46 slli s10,s10,0x11 - be: 0000 unimp - c0: 0d46 slli s10,s10,0x11 - c2: 0000 unimp - c4: 0d46 slli s10,s10,0x11 - c6: 0000 unimp - c8: 0d46 slli s10,s10,0x11 - ca: 0000 unimp - cc: 0d46 slli s10,s10,0x11 - ce: 0000 unimp - d0: 0d46 slli s10,s10,0x11 - d2: 0000 unimp - d4: 0d46 slli s10,s10,0x11 - d6: 0000 unimp - d8: 0d46 slli s10,s10,0x11 - da: 0000 unimp - dc: 0d46 slli s10,s10,0x11 - de: 0000 unimp - e0: 0d46 slli s10,s10,0x11 - e2: 0000 unimp - e4: 0d46 slli s10,s10,0x11 - e6: 0000 unimp - e8: 0d46 slli s10,s10,0x11 - ea: 0000 unimp - ec: 0d46 slli s10,s10,0x11 - ee: 0000 unimp - f0: 0d46 slli s10,s10,0x11 - f2: 0000 unimp - f4: 0d46 slli s10,s10,0x11 - f6: 0000 unimp - f8: 0d46 slli s10,s10,0x11 - fa: 0000 unimp - fc: 0d46 slli s10,s10,0x11 - fe: 0000 unimp - 100: 0d46 slli s10,s10,0x11 - 102: 0000 unimp - 104: 0000 unimp - 106: 0000 unimp - 108: 0d46 slli s10,s10,0x11 - 10a: 0000 unimp - 10c: 0d46 slli s10,s10,0x11 - 10e: 0000 unimp - 110: 0d46 slli s10,s10,0x11 - 112: 0000 unimp - 114: 0d46 slli s10,s10,0x11 - 116: 0000 unimp - 118: 0d46 slli s10,s10,0x11 - 11a: 0000 unimp - 11c: 0d46 slli s10,s10,0x11 - 11e: 0000 unimp - 120: 0d46 slli s10,s10,0x11 - 122: 0000 unimp - 124: 0d46 slli s10,s10,0x11 - 126: 0000 unimp - 128: 0d46 slli s10,s10,0x11 - 12a: 0000 unimp - 12c: 0d46 slli s10,s10,0x11 - 12e: 0000 unimp - 130: 0d46 slli s10,s10,0x11 - 132: 0000 unimp - 134: 0d46 slli s10,s10,0x11 - 136: 0000 unimp - 138: 0696 slli a3,a3,0x5 - 13a: 0000 unimp - 13c: 0d46 slli s10,s10,0x11 - 13e: 0000 unimp - 140: 0d46 slli s10,s10,0x11 - 142: 0000 unimp - 144: 0d46 slli s10,s10,0x11 - 146: 0000 unimp - 148: 0d46 slli s10,s10,0x11 - 14a: 0000 unimp - 14c: 0d46 slli s10,s10,0x11 - 14e: 0000 unimp - 150: 0d46 slli s10,s10,0x11 - 152: 0000 unimp - 154: 0d46 slli s10,s10,0x11 - 156: 0000 unimp - 158: 0d46 slli s10,s10,0x11 - 15a: 0000 unimp - 15c: 58cc lw a1,52(s1) - 15e: 0000 unimp - 160: 0d46 slli s10,s10,0x11 - 162: 0000 unimp - 164: 0d46 slli s10,s10,0x11 - 166: 0000 unimp - 168: 0d46 slli s10,s10,0x11 - 16a: 0000 unimp - 16c: 0d46 slli s10,s10,0x11 - 16e: 0000 unimp - 170: 0d46 slli s10,s10,0x11 - 172: 0000 unimp - 174: 0d46 slli s10,s10,0x11 - 176: 0000 unimp - 178: 0d46 slli s10,s10,0x11 - 17a: 0000 unimp - 17c: 0d46 slli s10,s10,0x11 - 17e: 0000 unimp - 180: 0d46 slli s10,s10,0x11 - 182: 0000 unimp - 184: 0d46 slli s10,s10,0x11 - 186: 0000 unimp - 188: 0d46 slli s10,s10,0x11 - 18a: 0000 unimp - 18c: 0d46 slli s10,s10,0x11 - 18e: 0000 unimp - 190: 0d46 slli s10,s10,0x11 - 192: 0000 unimp - 194: 0d46 slli s10,s10,0x11 - 196: 0000 unimp - 198: 0d46 slli s10,s10,0x11 - 19a: 0000 unimp - 19c: 0d46 slli s10,s10,0x11 - 19e: 0000 unimp - 1a0: 0d46 slli s10,s10,0x11 - ... - -Disassembly of section .text: - -00000200 : -SW_Handler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:118 -.extern xISRStackTop -/*-----------------------------------------------------------*/ -.align 8 -.func -SW_Handler: - addi sp, sp, -portCONTEXT_SIZE - 200: f8810113 addi sp,sp,-120 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:119 - store_x x1, 1 * portWORD_SIZE( sp ) - 204: c206 sw ra,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:120 - store_x x5, 2 * portWORD_SIZE( sp ) - 206: c416 sw t0,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:121 - store_x x6, 3 * portWORD_SIZE( sp ) - 208: c61a sw t1,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:122 - store_x x7, 4 * portWORD_SIZE( sp ) - 20a: c81e sw t2,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:123 - store_x x8, 5 * portWORD_SIZE( sp ) - 20c: ca22 sw s0,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:124 - store_x x9, 6 * portWORD_SIZE( sp ) - 20e: cc26 sw s1,24(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:125 - store_x x10, 7 * portWORD_SIZE( sp ) - 210: ce2a sw a0,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:126 - store_x x11, 8 * portWORD_SIZE( sp ) - 212: d02e sw a1,32(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:127 - store_x x12, 9 * portWORD_SIZE( sp ) - 214: d232 sw a2,36(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:128 - store_x x13, 10 * portWORD_SIZE( sp ) - 216: d436 sw a3,40(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:129 - store_x x14, 11 * portWORD_SIZE( sp ) - 218: d63a sw a4,44(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:130 - store_x x15, 12 * portWORD_SIZE( sp ) - 21a: d83e sw a5,48(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:131 - store_x x16, 13 * portWORD_SIZE( sp ) - 21c: da42 sw a6,52(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:132 - store_x x17, 14 * portWORD_SIZE( sp ) - 21e: dc46 sw a7,56(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:133 - store_x x18, 15 * portWORD_SIZE( sp ) - 220: de4a sw s2,60(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:134 - store_x x19, 16 * portWORD_SIZE( sp ) - 222: c0ce sw s3,64(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:135 - store_x x20, 17 * portWORD_SIZE( sp ) - 224: c2d2 sw s4,68(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:136 - store_x x21, 18 * portWORD_SIZE( sp ) - 226: c4d6 sw s5,72(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:137 - store_x x22, 19 * portWORD_SIZE( sp ) - 228: c6da sw s6,76(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:138 - store_x x23, 20 * portWORD_SIZE( sp ) - 22a: c8de sw s7,80(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:139 - store_x x24, 21 * portWORD_SIZE( sp ) - 22c: cae2 sw s8,84(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:140 - store_x x25, 22 * portWORD_SIZE( sp ) - 22e: cce6 sw s9,88(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:141 - store_x x26, 23 * portWORD_SIZE( sp ) - 230: ceea sw s10,92(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:142 - store_x x27, 24 * portWORD_SIZE( sp ) - 232: d0ee sw s11,96(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:143 - store_x x28, 25 * portWORD_SIZE( sp ) - 234: d2f2 sw t3,100(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:144 - store_x x29, 26 * portWORD_SIZE( sp ) - 236: d4f6 sw t4,104(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:145 - store_x x30, 27 * portWORD_SIZE( sp ) - 238: d6fa sw t5,108(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:146 - store_x x31, 28 * portWORD_SIZE( sp ) - 23a: d8fe sw t6,112(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:148 - - csrr t0, mstatus /* Required for MPIE bit. */ - 23c: 300022f3 csrr t0,mstatus -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:149 - store_x t0, 29 * portWORD_SIZE( sp ) - 240: da96 sw t0,116(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:153 - - portasmSAVE_ADDITIONAL_REGISTERS /* Defined in freertos_risc_v_chip_specific_extensions.h to save any registers unique to the RISC-V implementation. */ - - load_x t0, pxCurrentTCB /* Load pxCurrentTCB. */ - 242: 20000297 auipc t0,0x20000 - 246: ec22a283 lw t0,-318(t0) # 20000104 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:154 - store_x sp, 0( t0 ) /* Write sp to first TCB member. */ - 24a: 0022a023 sw sp,0(t0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:156 - - csrr a1, mepc - 24e: 341025f3 csrr a1,mepc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:157 - store_x a1, 0( sp ) /* Save updated exception return address. */ - 252: c02e sw a1,0(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:159 - - addi a1, x0, 0x20 - 254: 02000593 li a1,32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:160 - csrs 0x804, a1 - 258: 8045a073 csrs 0x804,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:162 - - load_x sp, xISRStackTop /* Switch to ISR stack before function call. */ - 25c: 8381a103 lw sp,-1992(gp) # 20000078 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:163 - jal vTaskSwitchContext - 260: 287040ef jal ra,4ce6 - -00000264 : -processed_source(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:166 - -processed_source: - load_x t1, pxCurrentTCB /* Load pxCurrentTCB. */ - 264: 20000317 auipc t1,0x20000 - 268: ea032303 lw t1,-352(t1) # 20000104 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:167 - load_x sp, 0( t1 ) /* Read sp from first TCB member. */ - 26c: 00032103 lw sp,0(t1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:170 - - /* Load mret with the address of the next instruction in the task to run next. */ - load_x t0, 0( sp ) - 270: 4282 lw t0,0(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:171 - csrw mepc, t0 - 272: 34129073 csrw mepc,t0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:176 - - portasmRESTORE_ADDITIONAL_REGISTERS /* Defined in freertos_risc_v_chip_specific_extensions.h to restore any registers unique to the RISC-V implementation. */ - - /* Load mstatus with the interrupt enable bits used by the task. */ - load_x t0, 29 * portWORD_SIZE( sp ) - 276: 52d6 lw t0,116(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:177 - csrw mstatus, t0 /* Required for MPIE bit. */ - 278: 30029073 csrw mstatus,t0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:179 - - load_x x1, 1 * portWORD_SIZE( sp ) - 27c: 4092 lw ra,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:180 - load_x x5, 2 * portWORD_SIZE( sp ) /* t0 */ - 27e: 42a2 lw t0,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:181 - load_x x6, 3 * portWORD_SIZE( sp ) /* t1 */ - 280: 4332 lw t1,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:182 - load_x x7, 4 * portWORD_SIZE( sp ) /* t2 */ - 282: 43c2 lw t2,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:183 - load_x x8, 5 * portWORD_SIZE( sp ) /* s0/fp */ - 284: 4452 lw s0,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:184 - load_x x9, 6 * portWORD_SIZE( sp ) /* s1 */ - 286: 44e2 lw s1,24(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:185 - load_x x10, 7 * portWORD_SIZE( sp ) /* a0 */ - 288: 4572 lw a0,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:186 - load_x x11, 8 * portWORD_SIZE( sp ) /* a1 */ - 28a: 5582 lw a1,32(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:187 - load_x x12, 9 * portWORD_SIZE( sp ) /* a2 */ - 28c: 5612 lw a2,36(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:188 - load_x x13, 10 * portWORD_SIZE( sp ) /* a3 */ - 28e: 56a2 lw a3,40(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:189 - load_x x14, 11 * portWORD_SIZE( sp ) /* a4 */ - 290: 5732 lw a4,44(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:190 - load_x x15, 12 * portWORD_SIZE( sp ) /* a5 */ - 292: 57c2 lw a5,48(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:191 - load_x x16, 13 * portWORD_SIZE( sp ) /* a6 */ - 294: 5852 lw a6,52(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:192 - load_x x17, 14 * portWORD_SIZE( sp ) /* a7 */ - 296: 58e2 lw a7,56(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:193 - load_x x18, 15 * portWORD_SIZE( sp ) /* s2 */ - 298: 5972 lw s2,60(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:194 - load_x x19, 16 * portWORD_SIZE( sp ) /* s3 */ - 29a: 4986 lw s3,64(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:195 - load_x x20, 17 * portWORD_SIZE( sp ) /* s4 */ - 29c: 4a16 lw s4,68(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:196 - load_x x21, 18 * portWORD_SIZE( sp ) /* s5 */ - 29e: 4aa6 lw s5,72(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:197 - load_x x22, 19 * portWORD_SIZE( sp ) /* s6 */ - 2a0: 4b36 lw s6,76(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:198 - load_x x23, 20 * portWORD_SIZE( sp ) /* s7 */ - 2a2: 4bc6 lw s7,80(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:199 - load_x x24, 21 * portWORD_SIZE( sp ) /* s8 */ - 2a4: 4c56 lw s8,84(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:200 - load_x x25, 22 * portWORD_SIZE( sp ) /* s9 */ - 2a6: 4ce6 lw s9,88(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:201 - load_x x26, 23 * portWORD_SIZE( sp ) /* s10 */ - 2a8: 4d76 lw s10,92(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:202 - load_x x27, 24 * portWORD_SIZE( sp ) /* s11 */ - 2aa: 5d86 lw s11,96(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:203 - load_x x28, 25 * portWORD_SIZE( sp ) /* t3 */ - 2ac: 5e16 lw t3,100(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:204 - load_x x29, 26 * portWORD_SIZE( sp ) /* t4 */ - 2ae: 5ea6 lw t4,104(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:205 - load_x x30, 27 * portWORD_SIZE( sp ) /* t5 */ - 2b0: 5f36 lw t5,108(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:206 - load_x x31, 28 * portWORD_SIZE( sp ) /* t6 */ - 2b2: 5fc6 lw t6,112(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:207 - addi sp, sp, portCONTEXT_SIZE - 2b4: 07810113 addi sp,sp,120 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:209 - - mret - 2b8: 30200073 mret - 2bc: 00000013 nop - 2c0: 00000013 nop - 2c4: 00000013 nop - 2c8: 00000013 nop - 2cc: 00000013 nop - 2d0: 00000013 nop - 2d4: 00000013 nop - 2d8: 00000013 nop - 2dc: 00000013 nop - 2e0: 00000013 nop - 2e4: 00000013 nop - 2e8: 00000013 nop - 2ec: 00000013 nop - 2f0: 00000013 nop - 2f4: 00000013 nop - 2f8: 00000013 nop - 2fc: 00000013 nop - -00000300 : -xPortStartFirstTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:224 -When entering the interrupt function of C code, the compiler automatically presses the stack -into the task stack. We can only change the SP value used by the calling function after switching -the interrupt stack.This problem can be solved by modifying the interrupt to the assembly entry, -and there is no need to reserve 512 bytes. You only need to switch the interrupt stack at the -beginning of the interrupt function */ - lw t0, xISRStackTop - 300: 8381a283 lw t0,-1992(gp) # 20000078 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:225 - addi t0, t0, -512 - 304: e0028293 addi t0,t0,-512 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:226 - csrw mscratch,t0 - 308: 34029073 csrw mscratch,t0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:228 - - load_x sp, pxCurrentTCB /* Load pxCurrentTCB. */ - 30c: 20000117 auipc sp,0x20000 - 310: df812103 lw sp,-520(sp) # 20000104 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:229 - load_x sp, 0( sp ) /* Read sp from first TCB member. */ - 314: 4102 lw sp,0(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:231 - - load_x x1, 0( sp ) /* Note for starting the scheduler the exception return address is used as the function return address. */ - 316: 4082 lw ra,0(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:235 - - portasmRESTORE_ADDITIONAL_REGISTERS /* Defined in freertos_risc_v_chip_specific_extensions.h to restore any registers unique to the RISC-V implementation. */ - - load_x x6, 3 * portWORD_SIZE( sp ) /* t1 */ - 318: 4332 lw t1,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:236 - load_x x7, 4 * portWORD_SIZE( sp ) /* t2 */ - 31a: 43c2 lw t2,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:237 - load_x x8, 5 * portWORD_SIZE( sp ) /* s0/fp */ - 31c: 4452 lw s0,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:238 - load_x x9, 6 * portWORD_SIZE( sp ) /* s1 */ - 31e: 44e2 lw s1,24(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:239 - load_x x10, 7 * portWORD_SIZE( sp ) /* a0 */ - 320: 4572 lw a0,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:240 - load_x x11, 8 * portWORD_SIZE( sp ) /* a1 */ - 322: 5582 lw a1,32(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:241 - load_x x12, 9 * portWORD_SIZE( sp ) /* a2 */ - 324: 5612 lw a2,36(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:242 - load_x x13, 10 * portWORD_SIZE( sp ) /* a3 */ - 326: 56a2 lw a3,40(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:243 - load_x x14, 11 * portWORD_SIZE( sp ) /* a4 */ - 328: 5732 lw a4,44(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:244 - load_x x15, 12 * portWORD_SIZE( sp ) /* a5 */ - 32a: 57c2 lw a5,48(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:245 - load_x x16, 13 * portWORD_SIZE( sp ) /* a6 */ - 32c: 5852 lw a6,52(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:246 - load_x x17, 14 * portWORD_SIZE( sp ) /* a7 */ - 32e: 58e2 lw a7,56(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:247 - load_x x18, 15 * portWORD_SIZE( sp ) /* s2 */ - 330: 5972 lw s2,60(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:248 - load_x x19, 16 * portWORD_SIZE( sp ) /* s3 */ - 332: 4986 lw s3,64(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:249 - load_x x20, 17 * portWORD_SIZE( sp ) /* s4 */ - 334: 4a16 lw s4,68(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:250 - load_x x21, 18 * portWORD_SIZE( sp ) /* s5 */ - 336: 4aa6 lw s5,72(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:251 - load_x x22, 19 * portWORD_SIZE( sp ) /* s6 */ - 338: 4b36 lw s6,76(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:252 - load_x x23, 20 * portWORD_SIZE( sp ) /* s7 */ - 33a: 4bc6 lw s7,80(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:253 - load_x x24, 21 * portWORD_SIZE( sp ) /* s8 */ - 33c: 4c56 lw s8,84(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:254 - load_x x25, 22 * portWORD_SIZE( sp ) /* s9 */ - 33e: 4ce6 lw s9,88(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:255 - load_x x26, 23 * portWORD_SIZE( sp ) /* s10 */ - 340: 4d76 lw s10,92(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:256 - load_x x27, 24 * portWORD_SIZE( sp ) /* s11 */ - 342: 5d86 lw s11,96(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:257 - load_x x28, 25 * portWORD_SIZE( sp ) /* t3 */ - 344: 5e16 lw t3,100(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:258 - load_x x29, 26 * portWORD_SIZE( sp ) /* t4 */ - 346: 5ea6 lw t4,104(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:259 - load_x x30, 27 * portWORD_SIZE( sp ) /* t5 */ - 348: 5f36 lw t5,108(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:260 - load_x x31, 28 * portWORD_SIZE( sp ) /* t6 */ - 34a: 5fc6 lw t6,112(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:262 - - load_x x5, 29 * portWORD_SIZE( sp ) /* Initial mstatus into x5 (t0) */ - 34c: 52d6 lw t0,116(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:263 - addi x5, x5, 0x08 /* Set MIE bit so the first task starts with interrupts enabled - required as returns with ret not eret. */ - 34e: 02a1 addi t0,t0,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:264 - csrrw x0, mstatus, x5 /* Interrupts enabled from here! */ - 350: 30029073 csrw mstatus,t0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:265 - load_x x5, 2 * portWORD_SIZE( sp ) /* Initial x5 (t0) value. */ - 354: 42a2 lw t0,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:267 - - addi sp, sp, portCONTEXT_SIZE - 356: 07810113 addi sp,sp,120 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:268 - ret - 35a: 8082 ret - 35c: 00000013 nop - 360: 00000013 nop - 364: 00000013 nop - 368: 00000013 nop - 36c: 00000013 nop - 370: 00000013 nop - 374: 00000013 nop - 378: 00000013 nop - 37c: 00000013 nop - 380: 00000013 nop - 384: 00000013 nop - 388: 00000013 nop - 38c: 00000013 nop - 390: 00000013 nop - 394: 00000013 nop - 398: 00000013 nop - 39c: 00000013 nop - 3a0: 00000013 nop - 3a4: 00000013 nop - 3a8: 00000013 nop - 3ac: 00000013 nop - 3b0: 00000013 nop - 3b4: 00000013 nop - 3b8: 00000013 nop - 3bc: 00000013 nop - 3c0: 00000013 nop - 3c4: 00000013 nop - 3c8: 00000013 nop - 3cc: 00000013 nop - 3d0: 00000013 nop - 3d4: 00000013 nop - 3d8: 00000013 nop - 3dc: 00000013 nop - 3e0: 00000013 nop - 3e4: 00000013 nop - 3e8: 00000013 nop - 3ec: 00000013 nop - 3f0: 00000013 nop - 3f4: 00000013 nop - 3f8: 00000013 nop - 3fc: 00000013 nop - -00000400 : -pxPortInitialiseStack(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:338 - */ -.align 8 -.func -pxPortInitialiseStack: - - csrr t0, mstatus /* Obtain current mstatus value. */ - 400: 300022f3 csrr t0,mstatus -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:339 - andi t0, t0, ~0x8 /* Ensure interrupts are disabled when the stack is restored within an ISR. Required when a task is created after the schedulre has been started, otherwise interrupts would be disabled anyway. */ - 404: ff72f293 andi t0,t0,-9 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:340 - addi t1, x0, 0x788 /* Generate the value 0x7880, which are the MPIE, MPP and FS bits to set in mstatus. */ - 408: 78800313 li t1,1928 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:341 - slli t1, t1, 4 - 40c: 0312 slli t1,t1,0x4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:342 - or t0, t0, t1 /* Set MPIE and MPP bits in mstatus value. */ - 40e: 0062e2b3 or t0,t0,t1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:344 - - addi a0, a0, -portWORD_SIZE - 412: 1571 addi a0,a0,-4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:345 - store_x t0, 0(a0) /* mstatus onto the stack. */ - 414: 00552023 sw t0,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:346 - addi a0, a0, -(22 * portWORD_SIZE) /* Space for registers x11-x31. */ - 418: fa850513 addi a0,a0,-88 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:347 - store_x a2, 0(a0) /* Task parameters (pvParameters parameter) goes into register X10/a0 on the stack. */ - 41c: c110 sw a2,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:348 - addi a0, a0, -(6 * portWORD_SIZE) /* Space for registers x5-x9. */ - 41e: 1521 addi a0,a0,-24 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:349 - store_x x0, 0(a0) /* Return address onto the stack, could be portTASK_RETURN_ADDRESS */ - 420: 00052023 sw zero,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:350 - addi t0, x0, portasmADDITIONAL_CONTEXT_SIZE /* The number of chip specific additional registers. */ - 424: 00000293 li t0,0 - -00000428 : -chip_specific_stack_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:352 -chip_specific_stack_frame: /* First add any chip specific registers to the stack frame being created. */ - beq t0, x0, 1f /* No more chip specific registers to save. */ - 428: 00028763 beqz t0,436 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:353 - addi a0, a0, -portWORD_SIZE /* Make space for chip specific register. */ - 42c: 1571 addi a0,a0,-4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:354 - store_x x0, 0(a0) /* Give the chip specific register an initial value of zero. */ - 42e: 00052023 sw zero,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:355 - addi t0, t0, -1 /* Decrement the count of chip specific registers remaining. */ - 432: 12fd addi t0,t0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:356 - j chip_specific_stack_frame /* Until no more chip specific registers. */ - 434: bfd5 j 428 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:358 -1: - addi a0, a0, -portWORD_SIZE - 436: 1571 addi a0,a0,-4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:359 - store_x a1, 0(a0) /* mret value (pxCode parameter) onto the stack. */ - 438: c10c sw a1,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/portASM.S:360 - ret - 43a: 8082 ret - ... - -000004e6 <__riscv_save_12>: -__riscv_save_12(): - 4e6: 7139 addi sp,sp,-64 - 4e8: 4301 li t1,0 - 4ea: c66e sw s11,12(sp) - 4ec: a019 j 4f2 <__riscv_save_10+0x4> - -000004ee <__riscv_save_10>: - 4ee: 7139 addi sp,sp,-64 - 4f0: 5341 li t1,-16 - 4f2: c86a sw s10,16(sp) - 4f4: ca66 sw s9,20(sp) - 4f6: cc62 sw s8,24(sp) - 4f8: ce5e sw s7,28(sp) - 4fa: a019 j 500 <__riscv_save_4+0x4> - -000004fc <__riscv_save_4>: - 4fc: 7139 addi sp,sp,-64 - 4fe: 5301 li t1,-32 - 500: d05a sw s6,32(sp) - 502: d256 sw s5,36(sp) - 504: d452 sw s4,40(sp) - 506: d64e sw s3,44(sp) - 508: d84a sw s2,48(sp) - 50a: da26 sw s1,52(sp) - 50c: dc22 sw s0,56(sp) - 50e: de06 sw ra,60(sp) - 510: 40610133 sub sp,sp,t1 - 514: 8282 jr t0 - -00000516 <__riscv_save_0>: -__riscv_save_1(): - 516: 1141 addi sp,sp,-16 - 518: c04a sw s2,0(sp) - 51a: c226 sw s1,4(sp) - 51c: c422 sw s0,8(sp) - 51e: c606 sw ra,12(sp) - 520: 8282 jr t0 - -00000522 <__riscv_restore_12>: -__riscv_restore_12(): - 522: 4db2 lw s11,12(sp) - 524: 0141 addi sp,sp,16 - -00000526 <__riscv_restore_10>: - 526: 4d02 lw s10,0(sp) - 528: 4c92 lw s9,4(sp) - 52a: 4c22 lw s8,8(sp) - 52c: 4bb2 lw s7,12(sp) - 52e: 0141 addi sp,sp,16 - -00000530 <__riscv_restore_4>: - 530: 4b02 lw s6,0(sp) - 532: 4a92 lw s5,4(sp) - 534: 4a22 lw s4,8(sp) - 536: 49b2 lw s3,12(sp) - 538: 0141 addi sp,sp,16 - -0000053a <__riscv_restore_0>: - 53a: 4902 lw s2,0(sp) - 53c: 4492 lw s1,4(sp) - 53e: 4422 lw s0,8(sp) - 540: 40b2 lw ra,12(sp) - 542: 0141 addi sp,sp,16 - 544: 8082 ret - -00000546 : -memset(): - 546: 433d li t1,15 - 548: 872a mv a4,a0 - 54a: 02c37363 bgeu t1,a2,570 - 54e: 00f77793 andi a5,a4,15 - 552: efbd bnez a5,5d0 - 554: e5ad bnez a1,5be - 556: ff067693 andi a3,a2,-16 - 55a: 8a3d andi a2,a2,15 - 55c: 96ba add a3,a3,a4 - 55e: c30c sw a1,0(a4) - 560: c34c sw a1,4(a4) - 562: c70c sw a1,8(a4) - 564: c74c sw a1,12(a4) - 566: 0741 addi a4,a4,16 - 568: fed76be3 bltu a4,a3,55e - 56c: e211 bnez a2,570 - 56e: 8082 ret - 570: 40c306b3 sub a3,t1,a2 - 574: 068a slli a3,a3,0x2 - 576: 00000297 auipc t0,0x0 - 57a: 9696 add a3,a3,t0 - 57c: 00a68067 jr 10(a3) - 580: 00b70723 sb a1,14(a4) - 584: 00b706a3 sb a1,13(a4) - 588: 00b70623 sb a1,12(a4) - 58c: 00b705a3 sb a1,11(a4) - 590: 00b70523 sb a1,10(a4) - 594: 00b704a3 sb a1,9(a4) - 598: 00b70423 sb a1,8(a4) - 59c: 00b703a3 sb a1,7(a4) - 5a0: 00b70323 sb a1,6(a4) - 5a4: 00b702a3 sb a1,5(a4) - 5a8: 00b70223 sb a1,4(a4) - 5ac: 00b701a3 sb a1,3(a4) - 5b0: 00b70123 sb a1,2(a4) - 5b4: 00b700a3 sb a1,1(a4) - 5b8: 00b70023 sb a1,0(a4) - 5bc: 8082 ret - 5be: 0ff5f593 andi a1,a1,255 - 5c2: 00859693 slli a3,a1,0x8 - 5c6: 8dd5 or a1,a1,a3 - 5c8: 01059693 slli a3,a1,0x10 - 5cc: 8dd5 or a1,a1,a3 - 5ce: b761 j 556 - 5d0: 00279693 slli a3,a5,0x2 - 5d4: 00000297 auipc t0,0x0 - 5d8: 9696 add a3,a3,t0 - 5da: 8286 mv t0,ra - 5dc: fa8680e7 jalr -88(a3) - 5e0: 8096 mv ra,t0 - 5e2: 17c1 addi a5,a5,-16 - 5e4: 8f1d sub a4,a4,a5 - 5e6: 963e add a2,a2,a5 - 5e8: f8c374e3 bgeu t1,a2,570 - 5ec: b7a5 j 554 - -000005ee : -NMI_Handler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:38 (discriminator 1) - */ -void NMI_Handler(void) -{ - while (1) - { - } - 5ee: a001 j 5ee - -000005f0 : -HardFault_Handler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:50 - * - * @return none - */ -void HardFault_Handler(void) -{ - printf("HardFault_Handler\r\n"); - 5f0: 0000d537 lui a0,0xd - 5f4: fd450513 addi a0,a0,-44 # cfd4 - 5f8: 4a20c0ef jal ra,ca9a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:51 - printf("mepc :%08x\r\n", __get_MEPC()); - 5fc: 32a050ef jal ra,5926 <__get_MEPC> - 600: 85aa mv a1,a0 - 602: 0000d537 lui a0,0xd - 606: fe850513 addi a0,a0,-24 # cfe8 - 60a: 46c0c0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:52 - printf("mcause:%08x\r\n", __get_MCAUSE()); - 60e: 31e050ef jal ra,592c <__get_MCAUSE> - 612: 85aa mv a1,a0 - 614: 0000d537 lui a0,0xd - 618: ff850513 addi a0,a0,-8 # cff8 - 61c: 45a0c0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:53 - printf("mtval :%08x\r\n", __get_MTVAL()); - 620: 312050ef jal ra,5932 <__get_MTVAL> - 624: 85aa mv a1,a0 - 626: 0000d537 lui a0,0xd - 62a: 00850513 addi a0,a0,8 # d008 - 62e: 4480c0ef jal ra,ca76 -NVIC_SystemReset(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:382 - * - * @return none - */ -__attribute__( ( always_inline ) ) RV_STATIC_INLINE void NVIC_SystemReset(void) -{ - NVIC->CFGR = NVIC_KEY3|(1<<7); - 632: beef07b7 lui a5,0xbeef0 - 636: e000e737 lui a4,0xe000e - 63a: 08078793 addi a5,a5,128 # beef0080 <__freertos_irq_stack_top+0x9eec0080> - 63e: c73c sw a5,72(a4) -HardFault_Handler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:55 (discriminator 1) - NVIC_SystemReset(); - while(1); - 640: a001 j 640 - -00000642 : -EXTI9_5_IRQHandler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:66 - * @brief This function handles GPIO exception. - * - * @return none - */ -void EXTI9_5_IRQHandler(void) -{ - 642: 7139 addi sp,sp,-64 - 644: de06 sw ra,60(sp) - 646: dc16 sw t0,56(sp) - 648: da1a sw t1,52(sp) - 64a: d81e sw t2,48(sp) - 64c: d62a sw a0,44(sp) - 64e: d42e sw a1,40(sp) - 650: d232 sw a2,36(sp) - 652: d036 sw a3,32(sp) - 654: ce3a sw a4,28(sp) - 656: cc3e sw a5,24(sp) - 658: ca42 sw a6,20(sp) - 65a: c846 sw a7,16(sp) - 65c: c672 sw t3,12(sp) - 65e: c476 sw t4,8(sp) - 660: c27a sw t5,4(sp) - 662: c07e sw t6,0(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:67 - ETH_PHYLink( ); - 664: 2c0010ef jal ra,1924 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:68 - EXTI_ClearITPendingBit(EXTI_Line7); /* Clear Flag */ - 668: 08000513 li a0,128 - 66c: 243000ef jal ra,10ae -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:69 -} - 670: 50f2 lw ra,60(sp) - 672: 52e2 lw t0,56(sp) - 674: 5352 lw t1,52(sp) - 676: 53c2 lw t2,48(sp) - 678: 5532 lw a0,44(sp) - 67a: 55a2 lw a1,40(sp) - 67c: 5612 lw a2,36(sp) - 67e: 5682 lw a3,32(sp) - 680: 4772 lw a4,28(sp) - 682: 47e2 lw a5,24(sp) - 684: 4852 lw a6,20(sp) - 686: 48c2 lw a7,16(sp) - 688: 4e32 lw t3,12(sp) - 68a: 4ea2 lw t4,8(sp) - 68c: 4f12 lw t5,4(sp) - 68e: 4f82 lw t6,0(sp) - 690: 6121 addi sp,sp,64 - 692: 30200073 mret - -00000696 : -ETH_IRQHandler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:80 - * - * @return none - */ -void ETH_IRQHandler(void) -{ - WCHNET_ETHIsr(); - 696: 756010ef jal ra,1dec -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:81 -} - 69a: 30200073 mret - -0000069e : -TIM2_IRQHandler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:92 - * - * @return none - */ -void TIM2_IRQHandler(void) -{ - sys_tick_ms += WCHNETTIMERPERIOD; - 69e: 200007b7 lui a5,0x20000 - 6a2: 0a078793 addi a5,a5,160 # 200000a0 <_edata> - 6a6: 4398 lw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:93 - WCHNET_TimeIsr(WCHNETTIMERPERIOD); - 6a8: 4529 li a0,10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:92 - sys_tick_ms += WCHNETTIMERPERIOD; - 6aa: 0729 addi a4,a4,10 - 6ac: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:93 - WCHNET_TimeIsr(WCHNETTIMERPERIOD); - 6ae: 112010ef jal ra,17c0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:94 - TIM_ClearITPendingBit(TIM2, TIM_IT_Update); - 6b2: 4585 li a1,1 - 6b4: 40000537 lui a0,0x40000 - 6b8: 7e3000ef jal ra,169a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/ch32v30x_it.c:95 -} - 6bc: 30200073 mret - -000006c0 : -OnConfigUpdate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:33 -}; - - - -void OnConfigUpdate(const ConfigCommon_t *common, const Config2D_t *cfg2d, const Config1D_t *cfg1d) -{ - 6c0: e57ff2ef jal t0,516 <__riscv_save_0> - 6c4: 87ae mv a5,a1 - 6c6: 85b2 mv a1,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:34 - Preprocess_Settings_Change(cfg2d, cfg1d, common); - 6c8: 862a mv a2,a0 - 6ca: 853e mv a0,a5 - 6cc: 66d010ef jal ra,2538 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:35 -} - 6d0: b5ad j 53a <__riscv_restore_0> - -000006d2 : -task_business_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:219 - -/* ============================================================ - * RTOS Task: Business logic (DVP + preprocess + send) - * ============================================================ */ -static void task_business_entry(void *pvParameters) -{ - 6d2: e2bff2ef jal t0,4fc <__riscv_save_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:232 - if (Frame_Ready_Flag) - { - Frame_Ready_Flag = 0; - - RawImageBuffer_t raw_img; - raw_img.pData = (uint16_t *)FrameBuffer; - 6d6: 20016437 lui s0,0x20016 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:240 - raw_img.FrameNumber = Ready_Frame_Count; - - if (Preprocess_CheckInternalTrigger2D(&raw_img) == 1) - { - PreprocessResult_t meta; - TcpTxBuffer_t *tx_buf = use_buffer_A ? &g_TxNetBuffer_A : &g_TxNetBuffer_B; - 6da: 200004b7 lui s1,0x20000 - 6de: 20000937 lui s2,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:219 -{ - 6e2: 7179 addi sp,sp,-48 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:232 - raw_img.pData = (uint16_t *)FrameBuffer; - 6e4: b0840413 addi s0,s0,-1272 # 20015b08 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:240 - TcpTxBuffer_t *tx_buf = use_buffer_A ? &g_TxNetBuffer_A : &g_TxNetBuffer_B; - 6e8: 00048493 mv s1,s1 - 6ec: 01090913 addi s2,s2,16 # 20000010 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:225 - DVP_Task(); - 6f0: 176050ef jal ra,5866 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:227 - if (Frame_Ready_Flag) - 6f4: 9171c783 lbu a5,-1769(gp) # 20000157 - 6f8: 0ff7f793 andi a5,a5,255 - 6fc: cba9 beqz a5,74e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:233 - raw_img.Width = SENSOR_WIDTH; - 6fe: 00c007b7 lui a5,0xc00 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:229 - Frame_Ready_Flag = 0; - 702: 90018ba3 sb zero,-1769(gp) # 20000157 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:233 - raw_img.Width = SENSOR_WIDTH; - 706: 10078793 addi a5,a5,256 # c00100 <_data_lma+0xbf2bec> - 70a: c63e sw a5,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:235 - raw_img.FrameNumber = Ready_Frame_Count; - 70c: 91c1a783 lw a5,-1764(gp) # 2000015c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:237 - if (Preprocess_CheckInternalTrigger2D(&raw_img) == 1) - 710: 0028 addi a0,sp,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:232 - raw_img.pData = (uint16_t *)FrameBuffer; - 712: c422 sw s0,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:235 - raw_img.FrameNumber = Ready_Frame_Count; - 714: c83e sw a5,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:237 - if (Preprocess_CheckInternalTrigger2D(&raw_img) == 1) - 716: 1ce020ef jal ra,28e4 - 71a: 4785 li a5,1 - 71c: fcf51ae3 bne a0,a5,6f0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:240 - TcpTxBuffer_t *tx_buf = use_buffer_A ? &g_TxNetBuffer_A : &g_TxNetBuffer_B; - 720: 80c1c703 lbu a4,-2036(gp) # 2000004c - 724: 89a6 mv s3,s1 - 726: 80c18793 addi a5,gp,-2036 # 2000004c - 72a: e311 bnez a4,72e - 72c: 89ca mv s3,s2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:241 (discriminator 4) - use_buffer_A = !use_buffer_A; - 72e: 00173713 seqz a4,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:243 (discriminator 4) - - if (Preprocess_Execute(&raw_img, tx_buf, &meta) == 0) - 732: 0850 addi a2,sp,20 - 734: 85ce mv a1,s3 - 736: 0028 addi a0,sp,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:241 (discriminator 4) - use_buffer_A = !use_buffer_A; - 738: a398 sb a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:243 (discriminator 4) - if (Preprocess_Execute(&raw_img, tx_buf, &meta) == 0) - 73a: 697010ef jal ra,25d0 - 73e: f94d bnez a0,6f0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:245 - { - TcpLogic_BuildAndSendTemperatureFrame(tx_buf, &meta, 1, 1); - 740: 4685 li a3,1 - 742: 4605 li a2,1 - 744: 084c addi a1,sp,20 - 746: 854e mv a0,s3 - 748: 679020ef jal ra,35c0 - 74c: b755 j 6f0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:251 - } - } - } - else - { - vTaskDelay(pdMS_TO_TICKS(2)); - 74e: 4505 li a0,1 - 750: 530040ef jal ra,4c80 - 754: bf71 j 6f0 - -00000756 : -ng_timer_callback(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:46 -{ - 756: dc1ff2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:48 - GPIO_ResetBits(NG_GPIO_PORT, NG_GPIO_PIN); - 75a: 40011537 lui a0,0x40011 - 75e: 10000593 li a1,256 - 762: 80050513 addi a0,a0,-2048 # 40010800 <__freertos_irq_stack_top+0x1ffe0800> - 766: 38d000ef jal ra,12f2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:49 -} - 76a: bbc1 j 53a <__riscv_restore_0> - -0000076c : -OnDetectionResult(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:69 - if (resultStatus == 0) { - 76c: e995 bnez a1,7a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:66 -{ - 76e: da9ff2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:70 - GPIO_SetBits(NG_GPIO_PORT, NG_GPIO_PIN); - 772: 40011537 lui a0,0x40011 - 776: 10000593 li a1,256 - 77a: 80050513 addi a0,a0,-2048 # 40010800 <__freertos_irq_stack_top+0x1ffe0800> - 77e: 371000ef jal ra,12ee -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:71 - if (g_ng_timer) - 782: 200007b7 lui a5,0x20000 - 786: 0ac7a403 lw s0,172(a5) # 200000ac - 78a: c811 beqz s0,79e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:72 - xTimerStart(g_ng_timer, 0); - 78c: 1d6040ef jal ra,4962 - 790: 862a mv a2,a0 - 792: 4701 li a4,0 - 794: 4681 li a3,0 - 796: 4585 li a1,1 - 798: 8522 mv a0,s0 - 79a: 693040ef jal ra,562c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:74 -} - 79e: bb71 j 53a <__riscv_restore_0> - 7a0: 8082 ret - -000007a2 : -mStopIfError(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:126 - if (iError == WCHNET_ERR_SUCCESS) return; - 7a2: c919 beqz a0,7b8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:125 -{ - 7a4: d73ff2ef jal t0,516 <__riscv_save_0> - 7a8: 85aa mv a1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:127 - printf("Error: %02X\r\n", (u16)iError); - 7aa: 0000d537 lui a0,0xd - 7ae: 0b050513 addi a0,a0,176 # d0b0 - 7b2: 2c40c0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:128 -} - 7b6: b351 j 53a <__riscv_restore_0> - 7b8: 8082 ret - -000007ba : -TIM2_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:131 -{ - 7ba: d5dff2ef jal t0,516 <__riscv_save_0> - 7be: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:133 - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); - 7c0: 4585 li a1,1 - 7c2: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:132 - TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure = {0}; - 7c4: c202 sw zero,4(sp) - 7c6: c402 sw zero,8(sp) - 7c8: 00011623 sh zero,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:133 - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); - 7cc: 53d000ef jal ra,1508 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:135 - TIM_TimeBaseStructure.TIM_Prescaler = SystemCoreClock / 1000000 - 1; - 7d0: 8101a783 lw a5,-2032(gp) # 20000050 - 7d4: 000f4737 lui a4,0xf4 - 7d8: 24070713 addi a4,a4,576 # f4240 <_data_lma+0xe6d2c> - 7dc: 02e7d7b3 divu a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:138 - TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); - 7e0: 004c addi a1,sp,4 - 7e2: 40000537 lui a0,0x40000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:137 - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - 7e6: 00011323 sh zero,6(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:135 - TIM_TimeBaseStructure.TIM_Prescaler = SystemCoreClock / 1000000 - 1; - 7ea: 17fd addi a5,a5,-1 - 7ec: 827c sh a5,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:134 - TIM_TimeBaseStructure.TIM_Period = WCHNETTIMERPERIOD * 1000 - 1; - 7ee: 6789 lui a5,0x2 - 7f0: 70f78793 addi a5,a5,1807 # 270f - 7f4: c43e sw a5,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:138 - TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); - 7f6: 58d000ef jal ra,1582 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:139 - TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); - 7fa: 4605 li a2,1 - 7fc: 4585 li a1,1 - 7fe: 40000537 lui a0,0x40000 - 802: 687000ef jal ra,1688 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:140 - TIM_Cmd(TIM2, ENABLE); - 806: 4585 li a1,1 - 808: 40000537 lui a0,0x40000 - 80c: 665000ef jal ra,1670 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:141 - TIM_ClearITPendingBit(TIM2, TIM_IT_Update); - 810: 4585 li a1,1 - 812: 40000537 lui a0,0x40000 - 816: 685000ef jal ra,169a -NVIC_EnableIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:170 - NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); - 81a: e000e7b7 lui a5,0xe000e - 81e: 6705 lui a4,0x1 - 820: 10e7a223 sw a4,260(a5) # e000e104 <__freertos_irq_stack_top+0xbffde104> -TIM2_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:143 -} - 824: 0141 addi sp,sp,16 - 826: bb11 j 53a <__riscv_restore_0> - -00000828 : -WCHNET_HandleSockInt(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:157 -{ - 828: cefff2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:158 - if (intstat & SINT_STAT_RECV) - 82c: 0045f793 andi a5,a1,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:157 -{ - 830: 842a mv s0,a0 - 832: 84ae mv s1,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:158 - if (intstat & SINT_STAT_RECV) - 834: c399 beqz a5,83a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:160 - qdx_port_sock_recv_notify(socketid); - 836: 760010ef jal ra,1f96 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:162 - if (intstat & SINT_STAT_CONNECT) - 83a: 0084f793 andi a5,s1,8 - 83e: cb85 beqz a5,86e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:164 - WCHNET_ModifyRecvBuf(socketid, (u32)SocketRecvBuf[socketid], RECE_BUF_LEN); - 840: 6605 lui a2,0x1 - 842: b6860613 addi a2,a2,-1176 # b68 - 846: 02c405b3 mul a1,s0,a2 - 84a: 200007b7 lui a5,0x20000 - 84e: 21878793 addi a5,a5,536 # 20000218 - 852: 8522 mv a0,s0 - 854: 95be add a1,a1,a5 - 856: 527050ef jal ra,657c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:165 - qdx_port_sock_connect_notify(socketid); - 85a: 8522 mv a0,s0 - 85c: 7d6010ef jal ra,2032 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:166 - printf("TCP Connected, socket %d\r\n", socketid); - 860: 0000d537 lui a0,0xd - 864: 85a2 mv a1,s0 - 866: 05850513 addi a0,a0,88 # d058 - 86a: 20c0c0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:168 - if (intstat & SINT_STAT_DISCONNECT) - 86e: 0104f793 andi a5,s1,16 - 872: cb99 beqz a5,888 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:170 - qdx_port_sock_disconnect_notify(socketid); - 874: 8522 mv a0,s0 - 876: 7de010ef jal ra,2054 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:171 - printf("TCP Disconnected, socket %d\r\n", socketid); - 87a: 0000d537 lui a0,0xd - 87e: 85a2 mv a1,s0 - 880: 07450513 addi a0,a0,116 # d074 - 884: 1f20c0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:173 - if (intstat & SINT_STAT_TIM_OUT) - 888: 0404f493 andi s1,s1,64 - 88c: c899 beqz s1,8a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:175 - qdx_port_sock_disconnect_notify(socketid); - 88e: 8522 mv a0,s0 - 890: 7c4010ef jal ra,2054 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:176 - printf("TCP Timeout, socket %d\r\n", socketid); - 894: 0000d537 lui a0,0xd - 898: 85a2 mv a1,s0 - 89a: 09450513 addi a0,a0,148 # d094 - 89e: 1d80c0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:178 -} - 8a2: b961 j 53a <__riscv_restore_0> - -000008a4 : -WCHNET_HandleGlobalInt(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:181 -{ - 8a4: c73ff2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:185 - intstat = WCHNET_GetGlobalInt(); - 8a8: 1fe060ef jal ra,6aa6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:186 - if (intstat & GINT_STAT_UNREACH) printf("GINT_STAT_UNREACH\r\n"); - 8ac: 00157793 andi a5,a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:185 - intstat = WCHNET_GetGlobalInt(); - 8b0: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:186 - if (intstat & GINT_STAT_UNREACH) printf("GINT_STAT_UNREACH\r\n"); - 8b2: c799 beqz a5,8c0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:186 (discriminator 1) - 8b4: 0000d537 lui a0,0xd - 8b8: 01850513 addi a0,a0,24 # d018 - 8bc: 1de0c0ef jal ra,ca9a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:187 - if (intstat & GINT_STAT_IP_CONFLI) printf("GINT_STAT_IP_CONFLI\r\n"); - 8c0: 00247793 andi a5,s0,2 - 8c4: c799 beqz a5,8d2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:187 (discriminator 1) - 8c6: 0000d537 lui a0,0xd - 8ca: 02c50513 addi a0,a0,44 # d02c - 8ce: 1cc0c0ef jal ra,ca9a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:188 - if (intstat & GINT_STAT_PHY_CHANGE) { - 8d2: 00447793 andi a5,s0,4 - 8d6: cb99 beqz a5,8ec -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:189 - if (WCHNET_GetPHYStatus() & PHY_Linked_Status) - 8d8: 20c060ef jal ra,6ae4 - 8dc: 8911 andi a0,a0,4 - 8de: c519 beqz a0,8ec -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:190 - printf("PHY Link Success\r\n"); - 8e0: 0000d537 lui a0,0xd - 8e4: 04450513 addi a0,a0,68 # d044 - 8e8: 1b20c0ef jal ra,ca9a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:192 - if (intstat & GINT_STAT_SOCKET) { - 8ec: 8841 andi s0,s0,16 - 8ee: cc19 beqz s0,90c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:194 (discriminator 1) - socketint = WCHNET_GetSocketInt(i); - 8f0: 4501 li a0,0 - 8f2: 1c8060ef jal ra,6aba - 8f6: 85aa mv a1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:195 (discriminator 1) - if (socketint) WCHNET_HandleSockInt(i, socketint); - 8f8: c119 beqz a0,8fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:195 - 8fa: 4501 li a0,0 - 8fc: 3735 jal 828 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:194 - socketint = WCHNET_GetSocketInt(i); - 8fe: 4505 li a0,1 - 900: 1ba060ef jal ra,6aba - 904: 85aa mv a1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:195 - if (socketint) WCHNET_HandleSockInt(i, socketint); - 906: c119 beqz a0,90c - 908: 4505 li a0,1 - 90a: 3f39 jal 828 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:198 -} - 90c: b13d j 53a <__riscv_restore_0> - -0000090e : -task_wchnet_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:204 -{ - 90e: c09ff2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:208 - WCHNET_MainTask(); - 912: 1a6010ef jal ra,1ab8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:209 - if (WCHNET_QueryGlobalInt()) - 916: 152060ef jal ra,6a68 - 91a: c111 beqz a0,91e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:210 - WCHNET_HandleGlobalInt(); - 91c: 3761 jal 8a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:211 - vTaskDelay(pdMS_TO_TICKS(5)); - 91e: 4509 li a0,2 - 920: 360040ef jal ra,4c80 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:208 - WCHNET_MainTask(); - 924: b7fd j 912 - -00000926
: -main(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:257 - } - } -} - -int main(void) -{ - 926: bd7ff2ef jal t0,4fc <__riscv_save_4> - 92a: 1101 addi sp,sp,-32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:259 - u8 i; - SystemCoreClockUpdate(); - 92c: 2cc5 jal c1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:260 - Delay_Init(); - 92e: 575040ef jal ra,56a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:261 - USART_Printf_Init(115200); - 932: 6571 lui a0,0x1c - 934: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0xecec> - 938: 5c7040ef jal ra,56fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:262 - printf("TCPClient Test\r\nSystemClk:%d\r\n", SystemCoreClock); - 93c: 8101a583 lw a1,-2032(gp) # 20000050 - 940: 0000d537 lui a0,0xd - 944: 0c050513 addi a0,a0,192 # d0c0 - 948: 12e0c0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:263 - printf("UserByte: %02x\r\n", FLASH_GetUserOptionByte() & 0xFF); - 94c: 794000ef jal ra,10e0 - 950: 0ff57593 andi a1,a0,255 - 954: 0000d537 lui a0,0xd - 958: 0e050513 addi a0,a0,224 # d0e0 - 95c: 11a0c0ef jal ra,ca76 -Config_Flash_SRAM(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:92 - uint8_t UserByte = FLASH_GetUserOptionByte() & 0xFF; - 960: 780000ef jal ra,10e0 - 964: 0ff57513 andi a0,a0,255 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:93 - uint8_t newByte = UserByte & ~0xE0; /* clear bits [7:5] */ - 968: 01f57593 andi a1,a0,31 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:99 - case FLASH_128_SRAM_192: newByte |= 0xC0; break; /* 110 */ - 96c: 0c05e593 ori a1,a1,192 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:104 - if (newByte == UserByte) return; /* already configured */ - 970: c62e sw a1,12(sp) - 972: 02b50b63 beq a0,a1,9a8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:106 - FLASH_Unlock(); - 976: 742000ef jal ra,10b8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:107 - FLASH_ProgramOptionByteData(0x1FFFF802, newByte); - 97a: 45b2 lw a1,12(sp) - 97c: 20000537 lui a0,0x20000 - 980: 80250513 addi a0,a0,-2046 # 1ffff802 <_data_lma+0x1fff22ee> - 984: 79e000ef jal ra,1122 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:108 - FLASH_Lock(); - 988: 74a000ef jal ra,10d2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:109 - printf("Flash/SRAM config changed to %d, resetting...\r\n", mode); - 98c: 0000d537 lui a0,0xd - 990: 458d li a1,3 - 992: 0f450513 addi a0,a0,244 # d0f4 - 996: 0e00c0ef jal ra,ca76 -NVIC_SystemReset(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:382 - NVIC->CFGR = NVIC_KEY3|(1<<7); - 99a: beef07b7 lui a5,0xbeef0 - 99e: e000e737 lui a4,0xe000e - 9a2: 08078793 addi a5,a5,128 # beef0080 <__freertos_irq_stack_top+0x9eec0080> - 9a6: c73c sw a5,72(a4) -main(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:265 - Config_Flash_SRAM(FLASH_128_SRAM_192); - printf("net version:%x\n", WCHNET_GetVer()); - 9a8: 149050ef jal ra,62f0 - 9ac: 85aa mv a1,a0 - 9ae: 0000d537 lui a0,0xd - 9b2: 12450513 addi a0,a0,292 # d124 - 9b6: 0c00c0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:266 - if (WCHNET_LIB_VER != WCHNET_GetVer()) printf("version error.\n"); - 9ba: 137050ef jal ra,62f0 - 9be: 47ed li a5,27 - 9c0: 00f50863 beq a0,a5,9d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:266 (discriminator 1) - 9c4: 0000d537 lui a0,0xd - 9c8: 13450513 addi a0,a0,308 # d134 - 9cc: 0ce0c0ef jal ra,ca9a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:268 - - WCHNET_GetMacAddr(MACAddr); - 9d0: 20000437 lui s0,0x20000 - 9d4: 0a440513 addi a0,s0,164 # 200000a4 - 9d8: 5c9000ef jal ra,17a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:269 - printf("mac addr:"); - 9dc: 0000d537 lui a0,0xd - 9e0: 14450513 addi a0,a0,324 # d144 - 9e4: 0920c0ef jal ra,ca76 - 9e8: 4481 li s1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:270 - for (i = 0; i < 6; i++) printf("%x ", MACAddr[i]); - 9ea: 0a440a13 addi s4,s0,164 - 9ee: 0000d9b7 lui s3,0xd - 9f2: 4919 li s2,6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:270 (discriminator 3) - 9f4: 009a07b3 add a5,s4,s1 - 9f8: 238c lbu a1,0(a5) - 9fa: 15098513 addi a0,s3,336 # d150 - 9fe: 0485 addi s1,s1,1 - a00: 0760c0ef jal ra,ca76 - a04: ff2498e3 bne s1,s2,9f4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:271 - printf("\n"); - a08: 4529 li a0,10 - a0a: 0da0c0ef jal ra,cae4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:273 - - DVP_Init(); - a0e: 591040ef jal ra,579e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:274 - TIM2_Init(); - a12: 3365 jal 7ba -NG_GPIO_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:54 - RCC_APB2PeriphClockCmd(NG_GPIO_CLK, ENABLE); - a14: 4585 li a1,1 - a16: 4511 li a0,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:53 - GPIO_InitTypeDef gpio = {0}; - a18: ca02 sw zero,20(sp) - a1a: cc02 sw zero,24(sp) - a1c: ce02 sw zero,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:54 - RCC_APB2PeriphClockCmd(NG_GPIO_CLK, ENABLE); - a1e: 2cd000ef jal ra,14ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:55 - gpio.GPIO_Pin = NG_GPIO_PIN; - a22: 10000793 li a5,256 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:58 - GPIO_Init(NG_GPIO_PORT, &gpio); - a26: 400114b7 lui s1,0x40011 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:55 - gpio.GPIO_Pin = NG_GPIO_PIN; - a2a: 82fc sh a5,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:56 - gpio.GPIO_Mode = GPIO_Mode_Out_PP; - a2c: 47c1 li a5,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:58 - GPIO_Init(NG_GPIO_PORT, &gpio); - a2e: 80048513 addi a0,s1,-2048 # 40010800 <__freertos_irq_stack_top+0x1ffe0800> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:56 - gpio.GPIO_Mode = GPIO_Mode_Out_PP; - a32: ce3e sw a5,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:58 - GPIO_Init(NG_GPIO_PORT, &gpio); - a34: 084c addi a1,sp,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:57 - gpio.GPIO_Speed = GPIO_Speed_2MHz; - a36: 4789 li a5,2 - a38: cc3e sw a5,24(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:58 - GPIO_Init(NG_GPIO_PORT, &gpio); - a3a: 7f4000ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:59 - GPIO_ResetBits(NG_GPIO_PORT, NG_GPIO_PIN); - a3e: 80048513 addi a0,s1,-2048 - a42: 10000593 li a1,256 - a46: 0ad000ef jal ra,12f2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:61 - g_ng_timer = xTimerCreate("ng", pdMS_TO_TICKS(NG_PULSE_MS), - a4a: 00000737 lui a4,0x0 - a4e: 0000d537 lui a0,0xd - a52: 75670713 addi a4,a4,1878 # 756 - a56: 4681 li a3,0 - a58: 4601 li a2,0 - a5a: 06400593 li a1,100 - a5e: 15450513 addi a0,a0,340 # d154 - a62: 357040ef jal ra,55b8 - a66: 200007b7 lui a5,0x20000 - a6a: 0aa7a623 sw a0,172(a5) # 200000ac -main(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:277 - NG_GPIO_Init(); - - i = ETH_LibInit(IPAddr, GWIPAddr, IPMask, MACAddr); - a6e: 200005b7 lui a1,0x20000 - a72: 0a440693 addi a3,s0,164 - a76: 80818613 addi a2,gp,-2040 # 20000048 - a7a: 04058593 addi a1,a1,64 # 20000040 - a7e: 80418513 addi a0,gp,-2044 # 20000044 - a82: 428010ef jal ra,1eaa - a86: 84aa mv s1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:278 - mStopIfError(i); - a88: 3b29 jal 7a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:279 - if (i == WCHNET_ERR_SUCCESS) printf("WCHNET_LibInit Success\r\n"); - a8a: e499 bnez s1,a98 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:279 (discriminator 1) - a8c: 0000d537 lui a0,0xd - a90: 15850513 addi a0,a0,344 # d158 - a94: 0060c0ef jal ra,ca9a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:283 - -#if KEEPALIVE_ENABLE - { - struct _KEEP_CFG cfg = {20000, 15000, 9}; - a98: 65b5 lui a1,0xd - a9a: 4631 li a2,12 - a9c: fc858593 addi a1,a1,-56 # cfc8 - aa0: 0848 addi a0,sp,20 - aa2: 42e0c0ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:284 - WCHNET_ConfigKeepLive(&cfg); - aa6: 0848 addi a0,sp,20 - aa8: 6ee050ef jal ra,6196 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:288 - } -#endif - - qdx_port_init(); - aac: 5ca010ef jal ra,2076 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:290 - - Preprocess_Init(SENSOR_WIDTH, SENSOR_HEIGHT); - ab0: 0c000593 li a1,192 - ab4: 10000513 li a0,256 - ab8: 219010ef jal ra,24d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:291 - TcpLogic_Init(MACAddr, NULL); - abc: 4581 li a1,0 - abe: 0a440513 addi a0,s0,164 - ac2: 1cb020ef jal ra,348c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:292 - TcpLogic_RegisterConfigCallback(OnConfigUpdate); - ac6: 00000537 lui a0,0x0 - aca: 6c050513 addi a0,a0,1728 # 6c0 - ace: 2d7020ef jal ra,35a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:293 - TcpLogic_RegisterDetectionCallback(OnDetectionResult); - ad2: 00000537 lui a0,0x0 - ad6: 76c50513 addi a0,a0,1900 # 76c - ada: 2d9020ef jal ra,35b2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:294 - TcpLogic_Start(); - ade: 24d020ef jal ra,352a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:296 - - xTaskCreate(task_wchnet_entry, "wchnet", 1024, NULL, 6, NULL); - ae2: 0000d5b7 lui a1,0xd - ae6: 00001537 lui a0,0x1 - aea: 4781 li a5,0 - aec: 4719 li a4,6 - aee: 4681 li a3,0 - af0: 40000613 li a2,1024 - af4: 17058593 addi a1,a1,368 # d170 - af8: 90e50513 addi a0,a0,-1778 # 90e - afc: 3c1030ef jal ra,46bc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:297 - xTaskCreate(task_business_entry, "business", 1024, NULL, 5, NULL); - b00: 0000d5b7 lui a1,0xd - b04: 00000537 lui a0,0x0 - b08: 4781 li a5,0 - b0a: 4715 li a4,5 - b0c: 4681 li a3,0 - b0e: 40000613 li a2,1024 - b12: 17858593 addi a1,a1,376 # d178 - b16: 6d250513 addi a0,a0,1746 # 6d2 - b1a: 3a3030ef jal ra,46bc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:298 - vTaskStartScheduler(); - b1e: 5a3030ef jal ra,48c0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/main.c:301 (discriminator 1) - - /* Should never reach here */ - while (1) {} - b22: a001 j b22 - -00000b24 : -SystemInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:113 - * - * @return none - */ -void SystemInit (void) -{ - RCC->CTLR |= (uint32_t)0x00000001; - b24: 400217b7 lui a5,0x40021 - b28: 4398 lw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:115 - - RCC->CFGR0 &= (uint32_t)0xF0FF0000; - b2a: f0ff06b7 lui a3,0xf0ff0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:112 -{ - b2e: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:113 - RCC->CTLR |= (uint32_t)0x00000001; - b30: 00176713 ori a4,a4,1 - b34: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:115 - RCC->CFGR0 &= (uint32_t)0xF0FF0000; - b36: 43d8 lw a4,4(a5) -SetSysClockTo144_HSE(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:713 - RCC->CTLR |= ((uint32_t)RCC_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CTLR & RCC_HSERDY; - b38: 00020637 lui a2,0x20 -SystemInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:115 - RCC->CFGR0 &= (uint32_t)0xF0FF0000; - b3c: 8f75 and a4,a4,a3 - b3e: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:117 - RCC->CTLR &= (uint32_t)0xFEF6FFFF; - b40: 4398 lw a4,0(a5) - b42: fef706b7 lui a3,0xfef70 - b46: 16fd addi a3,a3,-1 - b48: 8f75 and a4,a4,a3 - b4a: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:118 - RCC->CTLR &= (uint32_t)0xFFFBFFFF; - b4c: 4398 lw a4,0(a5) - b4e: fffc06b7 lui a3,0xfffc0 - b52: 16fd addi a3,a3,-1 - b54: 8f75 and a4,a4,a3 - b56: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:119 - RCC->CFGR0 &= (uint32_t)0xFF00FFFF; - b58: 43d8 lw a4,4(a5) - b5a: ff0106b7 lui a3,0xff010 - b5e: 16fd addi a3,a3,-1 - b60: 8f75 and a4,a4,a3 - b62: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:122 - RCC->CTLR &= (uint32_t)0xEBFFFFFF; - b64: 4398 lw a4,0(a5) - b66: ec0006b7 lui a3,0xec000 - b6a: 16fd addi a3,a3,-1 - b6c: 8f75 and a4,a4,a3 - b6e: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:123 - RCC->INTR = 0x00FF0000; - b70: 00ff0737 lui a4,0xff0 - b74: c798 sw a4,8(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:124 - RCC->CFGR2 = 0x00000000; - b76: 0207a623 sw zero,44(a5) # 4002102c <__freertos_irq_stack_top+0x1fff102c> -SetSysClockTo144_HSE(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:706 - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - b7a: c402 sw zero,8(sp) - b7c: c602 sw zero,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:708 - RCC->CTLR |= ((uint32_t)RCC_HSEON); - b7e: 4398 lw a4,0(a5) - b80: 66c1 lui a3,0x10 - b82: 8f55 or a4,a4,a3 - b84: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:713 - HSEStatus = RCC->CTLR & RCC_HSERDY; - b86: 400216b7 lui a3,0x40021 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:715 - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - b8a: 6705 lui a4,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:713 - HSEStatus = RCC->CTLR & RCC_HSERDY; - b8c: 429c lw a5,0(a3) - b8e: 8ff1 and a5,a5,a2 - b90: c63e sw a5,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:714 - StartUpCounter++; - b92: 47a2 lw a5,8(sp) - b94: 0785 addi a5,a5,1 - b96: c43e sw a5,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:715 - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - b98: 47b2 lw a5,12(sp) - b9a: e781 bnez a5,ba2 - b9c: 47a2 lw a5,8(sp) - b9e: fee797e3 bne a5,a4,b8c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:717 - - if ((RCC->CTLR & RCC_HSERDY) != RESET) - ba2: 400217b7 lui a5,0x40021 - ba6: 439c lw a5,0(a5) - ba8: 00e79713 slli a4,a5,0xe - bac: 06075663 bgez a4,c18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:719 - { - HSEStatus = (uint32_t)0x01; - bb0: 4785 li a5,1 - bb2: c63e sw a5,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:726 - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - bb4: 4732 lw a4,12(sp) - bb6: 4785 li a5,1 - bb8: 04f71e63 bne a4,a5,c14 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:729 - { - /* HCLK = SYSCLK */ - RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV1; - bbc: 400217b7 lui a5,0x40021 - bc0: 43d8 lw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:736 - RCC->CFGR0 |= (uint32_t)RCC_PPRE2_DIV1; - /* PCLK1 = HCLK */ - RCC->CFGR0 |= (uint32_t)RCC_PPRE1_DIV2; - - /* PLL configuration: PLLCLK = HSE * 18 = 144 MHz */ - RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_PLLSRC | RCC_PLLXTPRE | - bc2: ffc106b7 lui a3,0xffc10 - bc6: 16fd addi a3,a3,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:729 - RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV1; - bc8: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:731 - RCC->CFGR0 |= (uint32_t)RCC_PPRE2_DIV1; - bca: 43d8 lw a4,4(a5) - bcc: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:733 - RCC->CFGR0 |= (uint32_t)RCC_PPRE1_DIV2; - bce: 43d8 lw a4,4(a5) - bd0: 40076713 ori a4,a4,1024 - bd4: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:736 - RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_PLLSRC | RCC_PLLXTPRE | - bd6: 43d8 lw a4,4(a5) - bd8: 8f75 and a4,a4,a3 - bda: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:742 - RCC_PLLMULL)); - -#ifdef CH32V30x_D8 - RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSE | RCC_PLLXTPRE_HSE | RCC_PLLMULL18); -#else - RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSE | RCC_PLLXTPRE_HSE | RCC_PLLMULL18_EXTEN); - bdc: 43d8 lw a4,4(a5) - bde: 66c1 lui a3,0x10 - be0: 8f55 or a4,a4,a3 - be2: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:746 -#endif - - /* Enable PLL */ - RCC->CTLR |= RCC_PLLON; - be4: 4398 lw a4,0(a5) - be6: 010006b7 lui a3,0x1000 - bea: 8f55 or a4,a4,a3 - bec: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:748 - /* Wait till PLL is ready */ - while((RCC->CTLR & RCC_PLLRDY) == 0) - bee: 4398 lw a4,0(a5) - bf0: 00671693 slli a3,a4,0x6 - bf4: fe06dde3 bgez a3,bee -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:752 - { - } - /* Select PLL as system clock source */ - RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_SW)); - bf8: 43d8 lw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:755 - RCC->CFGR0 |= (uint32_t)RCC_SW_PLL; - /* Wait till PLL is used as system clock source */ - while ((RCC->CFGR0 & (uint32_t)RCC_SWS) != (uint32_t)0x08) - bfa: 400216b7 lui a3,0x40021 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:752 - RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_SW)); - bfe: 9b71 andi a4,a4,-4 - c00: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:753 - RCC->CFGR0 |= (uint32_t)RCC_SW_PLL; - c02: 43d8 lw a4,4(a5) - c04: 00276713 ori a4,a4,2 - c08: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:755 - while ((RCC->CFGR0 & (uint32_t)RCC_SWS) != (uint32_t)0x08) - c0a: 4721 li a4,8 - c0c: 42dc lw a5,4(a3) - c0e: 8bb1 andi a5,a5,12 - c10: fee79ee3 bne a5,a4,c0c -SystemInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:129 -} - c14: 0141 addi sp,sp,16 - c16: 8082 ret -SetSysClockTo144_HSE(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:723 - HSEStatus = (uint32_t)0x00; - c18: c602 sw zero,12(sp) - c1a: bf69 j bb4 - -00000c1c : -SystemCoreClockUpdate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:148 - tmp = RCC->CFGR0 & RCC_SWS; - c1c: 400216b7 lui a3,0x40021 - c20: 42d8 lw a4,4(a3) - c22: 4611 li a2,4 - c24: 8b31 andi a4,a4,12 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:150 - switch (tmp) - c26: 81018793 addi a5,gp,-2032 # 20000050 - c2a: 00c70563 beq a4,a2,c34 - c2e: 4621 li a2,8 - c30: 02c70863 beq a4,a2,c60 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:153 - SystemCoreClock = HSI_VALUE; - c34: 007a1737 lui a4,0x7a1 - c38: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x793cec> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:215 (discriminator 1) - if(Pll_6_5 == 1) SystemCoreClock = (SystemCoreClock / 2); - c3c: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:223 - tmp = AHBPrescTable[((RCC->CFGR0 & RCC_HPRE) >> 4)]; - c3e: 40021737 lui a4,0x40021 - c42: 4358 lw a4,4(a4) - c44: 8311 srli a4,a4,0x4 - c46: 00f77693 andi a3,a4,15 - c4a: 20000737 lui a4,0x20000 - c4e: 02070713 addi a4,a4,32 # 20000020 - c52: 9736 add a4,a4,a3 - c54: 2314 lbu a3,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:224 - SystemCoreClock >>= tmp; - c56: 4398 lw a4,0(a5) - c58: 00d75733 srl a4,a4,a3 - c5c: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:225 -} - c5e: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:159 - pllmull = RCC->CFGR0 & RCC_PLLMULL; - c60: 42d8 lw a4,4(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:160 - pllsource = RCC->CFGR0 & RCC_PLLSRC; - c62: 42d4 lw a3,4(a3) - c64: 6641 lui a2,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:161 - pllmull = ( pllmull >> 18) + 2; - c66: 8349 srli a4,a4,0x12 - c68: 8b3d andi a4,a4,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:160 - pllsource = RCC->CFGR0 & RCC_PLLSRC; - c6a: 8ef1 and a3,a3,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:166 - if(pllmull == 2) pllmull = 18; - c6c: 00270613 addi a2,a4,2 - c70: cf15 beqz a4,cac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:167 - if(pllmull == 15){ - c72: 473d li a4,15 - c74: 02e60f63 beq a2,a4,cb2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:171 - if(pllmull == 16) pllmull = 15; - c78: 4741 li a4,16 - c7a: 02e60f63 beq a2,a4,cb8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:172 - if(pllmull == 17) pllmull = 16; - c7e: 4745 li a4,17 - c80: 4581 li a1,0 - c82: 00e61363 bne a2,a4,c88 - c86: 4641 li a2,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:175 - if (pllsource == 0x00) - c88: e2a1 bnez a3,cc8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:177 - if(EXTEN->EXTEN_CTR & EXTEN_PLL_HSI_PRE) SystemCoreClock = HSI_VALUE * pllmull; - c8a: 40024737 lui a4,0x40024 - c8e: 80072703 lw a4,-2048(a4) # 40023800 <__freertos_irq_stack_top+0x1fff3800> - c92: 8b41 andi a4,a4,16 - c94: c70d beqz a4,cbe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:177 (discriminator 1) - c96: 007a1737 lui a4,0x7a1 - c9a: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x793cec> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:210 - SystemCoreClock = SystemCoreClock * pllmull; - c9e: 02c70633 mul a2,a4,a2 - ca2: c390 sw a2,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:215 - if(Pll_6_5 == 1) SystemCoreClock = (SystemCoreClock / 2); - ca4: ddc9 beqz a1,c3e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:215 (discriminator 1) - ca6: 4398 lw a4,0(a5) - ca8: 8305 srli a4,a4,0x1 - caa: bf49 j c3c - cac: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:166 - if(pllmull == 2) pllmull = 18; - cae: 4649 li a2,18 - cb0: bfe1 j c88 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:169 - Pll_6_5 = 1; - cb2: 4585 li a1,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:168 - pllmull = 13; /* *6.5 */ - cb4: 4635 li a2,13 - cb6: bfc9 j c88 - cb8: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:171 - if(pllmull == 16) pllmull = 15; - cba: 463d li a2,15 - cbc: b7f1 j c88 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:178 - else SystemCoreClock = (HSI_VALUE >> 1) * pllmull; - cbe: 003d1737 lui a4,0x3d1 - cc2: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c33ec> - cc6: bfe1 j c9e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:194 - if(RCC->CFGR2 & (1<<16)){ /* PLL2 */ - cc8: 40021537 lui a0,0x40021 - ccc: 5558 lw a4,44(a0) - cce: 00f71693 slli a3,a4,0xf -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:195 - SystemCoreClock = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */ - cd2: 5558 lw a4,44(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:194 - if(RCC->CFGR2 & (1<<16)){ /* PLL2 */ - cd4: 0406df63 bgez a3,d32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:195 - SystemCoreClock = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */ - cd8: 8311 srli a4,a4,0x4 - cda: 8b3d andi a4,a4,15 - cdc: 00170693 addi a3,a4,1 - ce0: 007a1737 lui a4,0x7a1 - ce4: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x793cec> - ce8: 02d75733 divu a4,a4,a3 - cec: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:197 - Pll2mull = (uint8_t)((RCC->CFGR2 & 0xF00)>>8); - cee: 5554 lw a3,44(a0) - cf0: 82a1 srli a3,a3,0x8 - cf2: 8abd andi a3,a3,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:199 - if(Pll2mull == 0) SystemCoreClock = (SystemCoreClock * 5)>>1; - cf4: e28d bnez a3,d16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:199 (discriminator 1) - cf6: 4695 li a3,5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:200 (discriminator 1) - else if(Pll2mull == 1) SystemCoreClock = (SystemCoreClock * 25)>>1; - cf8: 02d70733 mul a4,a4,a3 - cfc: 8305 srli a4,a4,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:202 - else SystemCoreClock = SystemCoreClock * (Pll2mull + 2); - cfe: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:204 - SystemCoreClock = SystemCoreClock/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ - d00: 40021737 lui a4,0x40021 - d04: 5758 lw a4,44(a4) - d06: 4394 lw a3,0(a5) - d08: 8b3d andi a4,a4,15 - d0a: 0705 addi a4,a4,1 - d0c: 02e6d733 divu a4,a3,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:207 - SystemCoreClock = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ - d10: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:210 - SystemCoreClock = SystemCoreClock * pllmull; - d12: 4398 lw a4,0(a5) - d14: b769 j c9e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:200 - else if(Pll2mull == 1) SystemCoreClock = (SystemCoreClock * 25)>>1; - d16: 4505 li a0,1 - d18: 00a69463 bne a3,a0,d20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:200 (discriminator 1) - d1c: 46e5 li a3,25 - d1e: bfe9 j cf8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:201 - else if(Pll2mull == 15) SystemCoreClock = SystemCoreClock * 20; - d20: 453d li a0,15 - d22: 00a69663 bne a3,a0,d2e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:201 (discriminator 1) - d26: 46d1 li a3,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:202 - else SystemCoreClock = SystemCoreClock * (Pll2mull + 2); - d28: 02e68733 mul a4,a3,a4 - d2c: bfc9 j cfe - d2e: 0689 addi a3,a3,2 - d30: bfe5 j d28 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../User/system_ch32v30x.c:207 - SystemCoreClock = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ - d32: 8b3d andi a4,a4,15 - d34: 00170693 addi a3,a4,1 # 40021001 <__freertos_irq_stack_top+0x1fff1001> - d38: 007a1737 lui a4,0x7a1 - d3c: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x793cec> - d40: 02d75733 divu a4,a4,a3 - d44: b7f1 j d10 - -00000d46 : -EXTI2_IRQHandler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:321 -DMA2_Channel8_IRQHandler: -DMA2_Channel9_IRQHandler: -DMA2_Channel10_IRQHandler: -DMA2_Channel11_IRQHandler: -1: - j 1b - d46: a001 j d46 - -00000d48 : -handle_reset(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:329 - .weak handle_reset - .align 1 -handle_reset: -.option push -.option norelax - la gp, __global_pointer$ - d48: 20000197 auipc gp,0x20000 - d4c: af818193 addi gp,gp,-1288 # 20000840 <__global_pointer$> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:332 -.option pop - - la sp, _eusrstack - d50: 2002f117 auipc sp,0x2002f - d54: 2b010113 addi sp,sp,688 # 20030000 <__freertos_irq_stack_top> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:335 - -/* Load data section from flash to RAM */ - la a0, _data_lma - d58: 0000c517 auipc a0,0xc - d5c: 7bc50513 addi a0,a0,1980 # d514 <_data_lma> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:336 - la a1, _data_vma - d60: 1ffff597 auipc a1,0x1ffff - d64: 2a058593 addi a1,a1,672 # 20000000 <_data_vma> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:337 - la a2, _edata - d68: 86018613 addi a2,gp,-1952 # 200000a0 <_edata> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:338 - bgeu a1, a2, 2f - d6c: 00c5fa63 bgeu a1,a2,d80 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:340 -1: - lw t0, (a0) - d70: 00052283 lw t0,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:341 - sw t0, (a1) - d74: 0055a023 sw t0,0(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:342 - addi a0, a0, 4 - d78: 0511 addi a0,a0,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:343 - addi a1, a1, 4 - d7a: 0591 addi a1,a1,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:344 - bltu a1, a2, 1b - d7c: fec5eae3 bltu a1,a2,d70 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:347 -2: -/* Clear bss section */ - la a0, _sbss - d80: 1ffff517 auipc a0,0x1ffff - d84: 32050513 addi a0,a0,800 # 200000a0 <_edata> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:348 - la a1, _ebss - d88: 2002d597 auipc a1,0x2002d - d8c: ee058593 addi a1,a1,-288 # 2002dc68 <_ebss> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:349 - bgeu a0, a1, 2f - d90: 00b57763 bgeu a0,a1,d9e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:351 -1: - sw zero, (a0) - d94: 00052023 sw zero,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:352 - addi a0, a0, 4 - d98: 0511 addi a0,a0,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:353 - bltu a0, a1, 1b - d9a: feb56de3 bltu a0,a1,d94 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:356 -2: -/* Configure pipelining and instruction prediction */ - li t0, 0x1f - d9e: 42fd li t0,31 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:357 - csrw 0xbc0, t0 - da0: bc029073 csrw 0xbc0,t0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:359 -/* Enable interrupt nesting and hardware stack */ - li t0, 0x0b - da4: 42ad li t0,11 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:360 - csrw 0x804, t0 - da6: 80429073 csrw 0x804,t0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:362 -/* Enable floating point and global interrupt, configure privileged mode */ - li t0, 0x6088 - daa: 000062b7 lui t0,0x6 - dae: 08828293 addi t0,t0,136 # 6088 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:363 - csrw mstatus, t0 - db2: 30029073 csrw mstatus,t0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:365 -/* Configure the interrupt vector table recognition mode and entry address mode */ - la t0, _vector_base - db6: fffff297 auipc t0,0xfffff - dba: 24e28293 addi t0,t0,590 # 4 <_einit> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:366 - ori t0, t0, 3 - dbe: 0032e293 ori t0,t0,3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:367 - csrw mtvec, t0 - dc2: 30529073 csrw mtvec,t0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:369 - - jal SystemInit - dc6: d5fff0ef jal ra,b24 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:370 - la t0, main - dca: 00000297 auipc t0,0x0 - dce: b5c28293 addi t0,t0,-1188 # 926
-D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:371 - csrw mepc, t0 - dd2: 34129073 csrw mepc,t0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:372 - mret - dd6: 30200073 mret - -00000dda : -DBGMCU_GetCHIPID(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dbgmcu.c:128 - * CH32V317TCU6-0x3175B5X8 - */ -uint32_t DBGMCU_GetCHIPID( void ) -{ - return( *( uint32_t * )0x1FFFF704 ); -} - dda: 1ffff7b7 lui a5,0x1ffff - dde: 7047a503 lw a0,1796(a5) # 1ffff704 <_data_lma+0x1fff21f0> - de2: 8082 ret - -00000de4 : -DVP_INTCfg(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:35 - */ -void DVP_INTCfg(uint8_t s, uint8_t i) -{ - if(s) - { - DVP->IER |= i; - de4: 500507b7 lui a5,0x50050 - de8: 23b8 lbu a4,2(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:33 - if(s) - dea: c501 beqz a0,df2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:35 - DVP->IER |= i; - dec: 8dd9 or a1,a1,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:39 - } - else - { - DVP->IER &= ~i; - dee: a3ac sb a1,2(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:41 - } -} - df0: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:39 - DVP->IER &= ~i; - df2: fff5c593 not a1,a1 - df6: 8df9 and a1,a1,a4 - df8: bfdd j dee - -00000dfa : -DVP_Mode(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:60 - * - * @return none - */ -void DVP_Mode(uint8_t s, DVP_Data_ModeTypeDef i) -{ - DVP->CR0 &= ~RB_DVP_MSK_DAT_MOD; - dfa: 500507b7 lui a5,0x50050 - dfe: 2398 lbu a4,0(a5) - e00: 0cf77713 andi a4,a4,207 - e04: a398 sb a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:64 - - if(s) - { - DVP->CR0 |= s; - e06: 2398 lbu a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:62 - if(s) - e08: c919 beqz a0,e1e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:64 - DVP->CR0 |= s; - e0a: 8d59 or a0,a0,a4 - e0c: a388 sb a0,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:73 - DVP->CR0 &= ~(3 << 4); - } - - if(i) - { - DVP->CR0 |= RB_DVP_JPEG; - e0e: 50050737 lui a4,0x50050 - e12: 231c lbu a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:71 - if(i) - e14: c989 beqz a1,e26 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:73 - DVP->CR0 |= RB_DVP_JPEG; - e16: 0407e793 ori a5,a5,64 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:77 - } - else - { - DVP->CR0 &= ~RB_DVP_JPEG; - e1a: a31c sb a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:79 - } -} - e1c: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:68 - DVP->CR0 &= ~(3 << 4); - e1e: 0cf77713 andi a4,a4,207 - e22: a398 sb a4,0(a5) - e24: b7ed j e0e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:77 - DVP->CR0 &= ~RB_DVP_JPEG; - e26: 0bf7f793 andi a5,a5,191 - e2a: bfc5 j e1a - -00000e2c : -DVP_Cfg(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:100 - * - * @return none - */ -void DVP_Cfg(DVP_DMATypeDef s, DVP_FLAG_FIFO_RESETTypeDef i, DVP_RX_RESETTypeDef j) -{ - switch(s) - e2c: cd1d beqz a0,e6a - e2e: 4785 li a5,1 - e30: 00f51863 bne a0,a5,e40 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:103 - { - case DVP_DMA_Enable: - DVP->CR1 |= RB_DVP_DMA_EN; - e34: 50050737 lui a4,0x50050 - e38: 331c lbu a5,1(a4) - e3a: 0017e793 ori a5,a5,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:106 - break; - case DVP_DMA_Disable: - DVP->CR1 &= ~RB_DVP_DMA_EN; - e3e: b31c sb a5,1(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:112 - break; - default: - break; - } - - switch(i) - e40: c99d beqz a1,e76 - e42: 4785 li a5,1 - e44: 00f59863 bne a1,a5,e54 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:115 - { - case DVP_RX_RESET_Enable: - DVP->CR1 |= RB_DVP_ALL_CLR; - e48: 50050737 lui a4,0x50050 - e4c: 331c lbu a5,1(a4) - e4e: 0027e793 ori a5,a5,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:118 - break; - case DVP_RX_RESET_Disable: - DVP->CR1 &= ~RB_DVP_ALL_CLR; - e52: b31c sb a5,1(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:124 - break; - default: - break; - } - - switch(j) - e54: c61d beqz a2,e82 - e56: 4785 li a5,1 - e58: 00f61863 bne a2,a5,e68 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:127 - { - case DVP_RX_RESET_Enable: - DVP->CR1 |= RB_DVP_RCV_CLR; - e5c: 50050737 lui a4,0x50050 - e60: 331c lbu a5,1(a4) - e62: 0047e793 ori a5,a5,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:130 - break; - case DVP_RX_RESET_Disable: - DVP->CR1 &= ~RB_DVP_RCV_CLR; - e66: b31c sb a5,1(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:135 - break; - default: - break; - } -} - e68: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:106 - DVP->CR1 &= ~RB_DVP_DMA_EN; - e6a: 50050737 lui a4,0x50050 - e6e: 331c lbu a5,1(a4) - e70: 0fe7f793 andi a5,a5,254 - e74: b7e9 j e3e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:118 - DVP->CR1 &= ~RB_DVP_ALL_CLR; - e76: 50050737 lui a4,0x50050 - e7a: 331c lbu a5,1(a4) - e7c: 0fd7f793 andi a5,a5,253 - e80: bfc9 j e52 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:130 - DVP->CR1 &= ~RB_DVP_RCV_CLR; - e82: 50050737 lui a4,0x50050 - e86: 331c lbu a5,1(a4) - e88: 0fb7f793 andi a5,a5,251 - e8c: bfe9 j e66 - -00000e8e : -ETH_DeInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:29 - * - * @return none - */ -#ifdef CH32V30x_D8C -void ETH_DeInit(void) -{ - e8e: e88ff2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:30 - RCC_AHBPeriphResetCmd(RCC_AHBPeriph_ETH_MAC, ENABLE); - e92: 4585 li a1,1 - e94: 6511 lui a0,0x4 - e96: 2d41 jal 1526 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:31 - RCC_AHBPeriphResetCmd(RCC_AHBPeriph_ETH_MAC, DISABLE); - e98: 4581 li a1,0 - e9a: 6511 lui a0,0x4 - e9c: 2569 jal 1526 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:32 -} - e9e: e9cff06f j 53a <__riscv_restore_0> - -00000ea2 : -ETH_ReadPHYRegister(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:292 - * - * @return ETH_ERROR - in case of timeout. - * MAC MIIDR register value - Data read from the selected PHY register. - */ -uint16_t ETH_ReadPHYRegister(uint16_t PHYAddress, uint16_t PHYReg) -{ - ea2: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:294 - uint32_t tmpreg = 0; - __IO uint32_t timeout = 0; - ea4: c602 sw zero,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:296 - - tmpreg = ETH->MACMIIAR; - ea6: 400286b7 lui a3,0x40028 - eaa: 4a9c lw a5,16(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:298 - tmpreg &= ~MACMIIAR_CR_MASK; - tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); - eac: 6741 lui a4,0x10 - eae: 052e slli a0,a0,0xb - eb0: 177d addi a4,a4,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:297 - tmpreg &= ~MACMIIAR_CR_MASK; - eb2: 8bf1 andi a5,a5,28 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:298 - tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); - eb4: 8d79 and a0,a0,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:299 - tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR); - eb6: 059a slli a1,a1,0x6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:298 - tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); - eb8: 8d5d or a0,a0,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:299 - tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR); - eba: 7c05f593 andi a1,a1,1984 - ebe: 8dc9 or a1,a1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:301 - tmpreg &= ~ETH_MACMIIAR_MW; - tmpreg |= ETH_MACMIIAR_MB; - ec0: 0015e593 ori a1,a1,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308 - - do - { - timeout++; - tmpreg = ETH->MACMIIAR; - } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO)); - ec4: 005007b7 lui a5,0x500 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:302 - ETH->MACMIIAR = tmpreg; - ec8: ca8c sw a1,16(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308 - } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO)); - eca: 17f9 addi a5,a5,-2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:306 (discriminator 2) - timeout++; - ecc: 4732 lw a4,12(sp) - ece: 0705 addi a4,a4,1 - ed0: c63a sw a4,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:307 (discriminator 2) - tmpreg = ETH->MACMIIAR; - ed2: 4a98 lw a4,16(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308 (discriminator 2) - } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO)); - ed4: 8b05 andi a4,a4,1 - ed6: c701 beqz a4,ede -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308 (discriminator 1) - ed8: 4732 lw a4,12(sp) - eda: fee7f9e3 bgeu a5,a4,ecc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:310 - - if(timeout == PHY_READ_TO) - ede: 4732 lw a4,12(sp) - ee0: 005007b7 lui a5,0x500 - ee4: 17fd addi a5,a5,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:312 - { - return (uint16_t)ETH_ERROR; - ee6: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:310 - if(timeout == PHY_READ_TO) - ee8: 00f70763 beq a4,a5,ef6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:315 - } - - return (uint16_t)(ETH->MACMIIDR); - eec: 400287b7 lui a5,0x40028 - ef0: 4bc8 lw a0,20(a5) - ef2: 0542 slli a0,a0,0x10 - ef4: 8141 srli a0,a0,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:316 -} - ef6: 0141 addi sp,sp,16 - ef8: 8082 ret - -00000efa : -ETH_WritePHYRegister(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:331 - * - * @return ETH_ERROR - in case of timeout. - * ETH_SUCCESS - for correct write - */ -uint32_t ETH_WritePHYRegister(uint16_t PHYAddress, uint16_t PHYReg, uint16_t PHYValue) -{ - efa: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:335 - uint32_t tmpreg = 0; - __IO uint32_t timeout = 0; - - tmpreg = ETH->MACMIIAR; - efc: 400287b7 lui a5,0x40028 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:333 - __IO uint32_t timeout = 0; - f00: c602 sw zero,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:335 - tmpreg = ETH->MACMIIAR; - f02: 4b98 lw a4,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:337 - tmpreg &= ~MACMIIAR_CR_MASK; - tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); - f04: 66c1 lui a3,0x10 - f06: 16fd addi a3,a3,-1 - f08: 052e slli a0,a0,0xb - f0a: 8d75 and a0,a0,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:336 - tmpreg &= ~MACMIIAR_CR_MASK; - f0c: 8b71 andi a4,a4,28 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:338 - tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR); - f0e: 059a slli a1,a1,0x6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:337 - tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA); - f10: 8d59 or a0,a0,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:338 - tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR); - f12: 7c05f593 andi a1,a1,1984 - f16: 8dc9 or a1,a1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:341 - tmpreg |= ETH_MACMIIAR_MW; - tmpreg |= ETH_MACMIIAR_MB; - ETH->MACMIIDR = PHYValue; - f18: cbd0 sw a2,20(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:340 - tmpreg |= ETH_MACMIIAR_MB; - f1a: 0035e593 ori a1,a1,3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:342 - ETH->MACMIIAR = tmpreg; - f1e: cb8c sw a1,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348 - - do - { - timeout++; - tmpreg = ETH->MACMIIAR; - } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO)); - f20: 000507b7 lui a5,0x50 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:347 - tmpreg = ETH->MACMIIAR; - f24: 400286b7 lui a3,0x40028 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348 - } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO)); - f28: 17f9 addi a5,a5,-2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:346 (discriminator 2) - timeout++; - f2a: 4732 lw a4,12(sp) - f2c: 0705 addi a4,a4,1 - f2e: c63a sw a4,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:347 (discriminator 2) - tmpreg = ETH->MACMIIAR; - f30: 4a98 lw a4,16(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348 (discriminator 2) - } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO)); - f32: 8b05 andi a4,a4,1 - f34: c701 beqz a4,f3c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348 (discriminator 1) - f36: 4732 lw a4,12(sp) - f38: fee7f9e3 bgeu a5,a4,f2a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:350 - - if(timeout >= PHY_WRITE_TO) - f3c: 4532 lw a0,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:356 - { - return ETH_ERROR; - } - - return ETH_SUCCESS; -} - f3e: 000507b7 lui a5,0x50 - f42: 17fd addi a5,a5,-1 - f44: 00f53533 sltu a0,a0,a5 - f48: 0141 addi sp,sp,16 - f4a: 8082 ret - -00000f4c : -ETH_MACTransmissionCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:407 - */ -void ETH_MACTransmissionCmd(FunctionalState NewState) -{ - if(NewState != DISABLE) - { - ETH->MACCR |= ETH_MACCR_TE; - f4c: 40028737 lui a4,0x40028 - f50: 431c lw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:405 - if(NewState != DISABLE) - f52: c509 beqz a0,f5c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:407 - ETH->MACCR |= ETH_MACCR_TE; - f54: 0087e793 ori a5,a5,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:411 - } - else - { - ETH->MACCR &= ~ETH_MACCR_TE; - f58: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:413 - } -} - f5a: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:411 - ETH->MACCR &= ~ETH_MACCR_TE; - f5c: 9bdd andi a5,a5,-9 - f5e: bfed j f58 - -00000f60 : -ETH_MACReceptionCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428 - */ -void ETH_MACReceptionCmd(FunctionalState NewState) -{ - if(NewState != DISABLE) - { - ETH->MACCR |= ETH_MACCR_RE; - f60: 40028737 lui a4,0x40028 - f64: 431c lw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:426 - if(NewState != DISABLE) - f66: c509 beqz a0,f70 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428 - ETH->MACCR |= ETH_MACCR_RE; - f68: 0047e793 ori a5,a5,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:432 - } - else - { - ETH->MACCR &= ~ETH_MACCR_RE; - f6c: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:434 - } -} - f6e: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:432 - ETH->MACCR &= ~ETH_MACCR_RE; - f70: 9bed andi a5,a5,-5 - f72: bfed j f6c - -00000f74 : -ETH_DMATxDescChainInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:712 -void ETH_DMATxDescChainInit(ETH_DMADESCTypeDef *DMATxDescTab, uint8_t *TxBuff, uint32_t TxBuffCount) -{ - uint32_t i = 0; - ETH_DMADESCTypeDef *DMATxDesc; - - DMATxDescToSet = DMATxDescTab; - f74: 200007b7 lui a5,0x20000 - f78: 0aa7aa23 sw a0,180(a5) # 200000b4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:714 - - for(i = 0; i < TxBuffCount; i++) - f7c: 872a mv a4,a0 - f7e: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:717 - { - DMATxDesc = DMATxDescTab + i; - DMATxDesc->Status = ETH_DMATxDesc_TCH | ETH_DMATxDesc_IC; - f80: 401008b7 lui a7,0x40100 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:718 - DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]); - f84: 5f400313 li t1,1524 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:720 - - if(i < (TxBuffCount - 1)) - f88: fff60e13 addi t3,a2,-1 # ffff <_data_lma+0x2aeb> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:714 (discriminator 1) - for(i = 0; i < TxBuffCount; i++) - f8c: 00c79663 bne a5,a2,f98 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:730 - { - DMATxDesc->Buffer2NextDescAddr = (uint32_t)DMATxDescTab; - } - } - - ETH->DMATDLAR = (uint32_t)DMATxDescTab; - f90: 400297b7 lui a5,0x40029 - f94: cb88 sw a0,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:731 -} - f96: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:718 - DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]); - f98: 026786b3 mul a3,a5,t1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:717 - DMATxDesc->Status = ETH_DMATxDesc_TCH | ETH_DMATxDesc_IC; - f9c: 01172023 sw a7,0(a4) # 40028000 <__freertos_irq_stack_top+0x1fff8000> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:718 - DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]); - fa0: 882a mv a6,a0 - fa2: 96ae add a3,a3,a1 - fa4: c714 sw a3,8(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:720 - if(i < (TxBuffCount - 1)) - fa6: 01070693 addi a3,a4,16 - faa: 01c7f363 bgeu a5,t3,fb0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:722 - DMATxDesc->Buffer2NextDescAddr = (uint32_t)(DMATxDescTab + i + 1); - fae: 8836 mv a6,a3 - fb0: 01072623 sw a6,12(a4) - fb4: 0785 addi a5,a5,1 - fb6: 8736 mv a4,a3 - fb8: bfd1 j f8c - -00000fba : -ETH_DMARxDescChainInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1040 -void ETH_DMARxDescChainInit(ETH_DMADESCTypeDef *DMARxDescTab, uint8_t *RxBuff, uint32_t RxBuffCount) -{ - uint32_t i = 0; - ETH_DMADESCTypeDef *DMARxDesc; - - DMARxDescToGet = DMARxDescTab; - fba: 200007b7 lui a5,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1046 - - for(i = 0; i < RxBuffCount; i++) - { - DMARxDesc = DMARxDescTab + i; - DMARxDesc->Status = ETH_DMARxDesc_OWN; - DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE; - fbe: 6691 lui a3,0x4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1040 - DMARxDescToGet = DMARxDescTab; - fc0: 0aa7a823 sw a0,176(a5) # 200000b0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1042 - for(i = 0; i < RxBuffCount; i++) - fc4: 4701 li a4,0 - fc6: 87aa mv a5,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1045 - DMARxDesc->Status = ETH_DMARxDesc_OWN; - fc8: 80000337 lui t1,0x80000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1046 - DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE; - fcc: 5f468693 addi a3,a3,1524 # 45f4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1047 - DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]); - fd0: 5f400e13 li t3,1524 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1049 - - if(i < (RxBuffCount - 1)) - fd4: fff60e93 addi t4,a2,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1042 (discriminator 1) - for(i = 0; i < RxBuffCount; i++) - fd8: 00c71663 bne a4,a2,fe4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1059 - { - DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab); - } - } - - ETH->DMARDLAR = (uint32_t)DMARxDescTab; - fdc: 400297b7 lui a5,0x40029 - fe0: c7c8 sw a0,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1060 -} - fe2: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1047 - DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]); - fe4: 03c70833 mul a6,a4,t3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1045 - DMARxDesc->Status = ETH_DMARxDesc_OWN; - fe8: 0067a023 sw t1,0(a5) # 40029000 <__freertos_irq_stack_top+0x1fff9000> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1046 - DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE; - fec: c3d4 sw a3,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1047 - DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]); - fee: 88aa mv a7,a0 - ff0: 982e add a6,a6,a1 - ff2: 0107a423 sw a6,8(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1049 - if(i < (RxBuffCount - 1)) - ff6: 01078813 addi a6,a5,16 - ffa: 01d77363 bgeu a4,t4,1000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1051 - DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab + i + 1); - ffe: 88c2 mv a7,a6 - 1000: 0117a623 sw a7,12(a5) - 1004: 0705 addi a4,a4,1 - 1006: 87c2 mv a5,a6 - 1008: bfc1 j fd8 - -0000100a : -ETH_SoftwareReset(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1269 - * - * @return none - */ -void ETH_SoftwareReset(void) -{ - ETH->DMABMR |= ETH_DMABMR_SR; - 100a: 40029737 lui a4,0x40029 - 100e: 431c lw a5,0(a4) - 1010: 0017e793 ori a5,a5,1 - 1014: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1270 -} - 1016: 8082 ret - -00001018 : -ETH_DMAClearITPendingBit(): - 1018: 400297b7 lui a5,0x40029 - 101c: cbc8 sw a0,20(a5) - 101e: 8082 ret - -00001020 : -ETH_FlushTransmitFIFO(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1507 - * - * @return none - */ -void ETH_FlushTransmitFIFO(void) -{ - ETH->DMAOMR |= ETH_DMAOMR_FTF; - 1020: 40029737 lui a4,0x40029 - 1024: 4f1c lw a5,24(a4) - 1026: 001006b7 lui a3,0x100 - 102a: 8fd5 or a5,a5,a3 - 102c: cf1c sw a5,24(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1508 -} - 102e: 8082 ret - -00001030 : -ETH_Start(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:107 -{ - 1030: ce6ff2ef jal t0,516 <__riscv_save_0> -ETH_MACTransmissionCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:407 - ETH->MACCR |= ETH_MACCR_TE; - 1034: 40028437 lui s0,0x40028 - 1038: 401c lw a5,0(s0) - 103a: 0087e793 ori a5,a5,8 - 103e: c01c sw a5,0(s0) -ETH_Start(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:109 - ETH_FlushTransmitFIFO(); - 1040: 37c5 jal 1020 -ETH_MACReceptionCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428 - ETH->MACCR |= ETH_MACCR_RE; - 1042: 401c lw a5,0(s0) -ETH_DMATransmissionCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1544 - */ -void ETH_DMATransmissionCmd(FunctionalState NewState) -{ - if(NewState != DISABLE) - { - ETH->DMAOMR |= ETH_DMAOMR_ST; - 1044: 6689 lui a3,0x2 -ETH_MACReceptionCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428 - ETH->MACCR |= ETH_MACCR_RE; - 1046: 0047e793 ori a5,a5,4 - 104a: c01c sw a5,0(s0) -ETH_DMATransmissionCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1544 - ETH->DMAOMR |= ETH_DMAOMR_ST; - 104c: 400297b7 lui a5,0x40029 - 1050: 4f98 lw a4,24(a5) - 1052: 8f55 or a4,a4,a3 - 1054: cf98 sw a4,24(a5) -ETH_DMAReceptionCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1565 - */ -void ETH_DMAReceptionCmd(FunctionalState NewState) -{ - if(NewState != DISABLE) - { - ETH->DMAOMR |= ETH_DMAOMR_SR; - 1056: 4f98 lw a4,24(a5) - 1058: 00276713 ori a4,a4,2 - 105c: cf98 sw a4,24(a5) -ETH_Start(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:113 -} - 105e: cdcff06f j 53a <__riscv_restore_0> - -00001062 : -ETH_DMAITConfig(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1602 - * - * @return new state of the specified ETHERNET DMA interrupts. - */ -void ETH_DMAITConfig(uint32_t ETH_DMA_IT, FunctionalState NewState) -{ - if(NewState != DISABLE) - 1062: c599 beqz a1,1070 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1604 - { - ETH->DMAIER |= ETH_DMA_IT; - 1064: 40029737 lui a4,0x40029 - 1068: 4f5c lw a5,28(a4) - 106a: 8d5d or a0,a0,a5 - 106c: cf48 sw a0,28(a4) - 106e: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1608 - } - else - { - ETH->DMAIER &= (~(uint32_t)ETH_DMA_IT); - 1070: 400297b7 lui a5,0x40029 - 1074: 4fd8 lw a4,28(a5) - 1076: fff54513 not a0,a0 - 107a: 8d79 and a0,a0,a4 - 107c: cfc8 sw a0,28(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1610 - } -} - 107e: 8082 ret - -00001080 : -RGMII_TXC_Delay(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2513 - */ -void RGMII_TXC_Delay(uint8_t clock_polarity, uint8_t delay_time) -{ - if(clock_polarity) - { - ETH->MACCR |= (uint32_t)(1 << 1); - 1080: 40028737 lui a4,0x40028 - 1084: 431c lw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2511 - if(clock_polarity) - 1086: c115 beqz a0,10aa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2513 - ETH->MACCR |= (uint32_t)(1 << 1); - 1088: 0027e793 ori a5,a5,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2517 - } - else - { - ETH->MACCR &= ~(uint32_t)(1 << 1); - 108c: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2519 - } - if(delay_time <= 7) - 108e: 479d li a5,7 - 1090: 00b7ec63 bltu a5,a1,10a8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2521 - { - ETH->MACCR &= ~(uint32_t)(7 << 29); - 1094: 40028737 lui a4,0x40028 - 1098: 431c lw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2522 - ETH->MACCR |= (uint32_t)(delay_time << 29); - 109a: 05f6 slli a1,a1,0x1d -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2521 - ETH->MACCR &= ~(uint32_t)(7 << 29); - 109c: 078e slli a5,a5,0x3 - 109e: 838d srli a5,a5,0x3 - 10a0: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2522 - ETH->MACCR |= (uint32_t)(delay_time << 29); - 10a2: 431c lw a5,0(a4) - 10a4: 8ddd or a1,a1,a5 - 10a6: c30c sw a1,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2524 - } -} - 10a8: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2517 - ETH->MACCR &= ~(uint32_t)(1 << 1); - 10aa: 9bf5 andi a5,a5,-3 - 10ac: b7c5 j 108c - -000010ae : -EXTI_ClearITPendingBit(): - 10ae: 400107b7 lui a5,0x40010 - 10b2: 40a7aa23 sw a0,1044(a5) # 40010414 <__freertos_irq_stack_top+0x1ffe0414> - 10b6: 8082 ret - -000010b8 : -FLASH_Unlock(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:80 - * @return none - */ -void FLASH_Unlock(void) -{ - /* Authorize the FPEC of Bank1 Access */ - FLASH->KEYR = FLASH_KEY1; - 10b8: 456707b7 lui a5,0x45670 - 10bc: 40022737 lui a4,0x40022 - 10c0: 12378793 addi a5,a5,291 # 45670123 <__freertos_irq_stack_top+0x25640123> - 10c4: c35c sw a5,4(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:81 - FLASH->KEYR = FLASH_KEY2; - 10c6: cdef97b7 lui a5,0xcdef9 - 10ca: 9ab78793 addi a5,a5,-1621 # cdef89ab <__freertos_irq_stack_top+0xadec89ab> - 10ce: c35c sw a5,4(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:82 -} - 10d0: 8082 ret - -000010d2 : -FLASH_Lock(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:107 - * - * @return none - */ -void FLASH_Lock(void) -{ - FLASH->CTLR |= CR_LOCK_Set; - 10d2: 40022737 lui a4,0x40022 - 10d6: 4b1c lw a5,16(a4) - 10d8: 0807e793 ori a5,a5,128 - 10dc: cb1c sw a5,16(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:108 -} - 10de: 8082 ret - -000010e0 : -FLASH_GetUserOptionByte(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:580 - * @return The FLASH User Option Bytes values:IWDG_SW(Bit0), RST_STOP(Bit1) - * and RST_STDBY(Bit2). - */ -uint32_t FLASH_GetUserOptionByte(void) -{ - return (uint32_t)(FLASH->OBR >> 2); - 10e0: 400227b7 lui a5,0x40022 - 10e4: 4fc8 lw a0,28(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:581 -} - 10e6: 8109 srli a0,a0,0x2 - 10e8: 8082 ret - -000010ea : -FLASH_GetBank1Status(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:740 - */ -FLASH_Status FLASH_GetBank1Status(void) -{ - FLASH_Status flashstatus = FLASH_COMPLETE; - - if((FLASH->STATR & FLASH_FLAG_BANK1_BSY) == FLASH_FLAG_BSY) - 10ea: 40022737 lui a4,0x40022 - 10ee: 475c lw a5,12(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:742 - { - flashstatus = FLASH_BUSY; - 10f0: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:740 - if((FLASH->STATR & FLASH_FLAG_BANK1_BSY) == FLASH_FLAG_BSY) - 10f2: 8b85 andi a5,a5,1 - 10f4: e791 bnez a5,1100 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:746 - } - else - { - if((FLASH->STATR & FLASH_FLAG_BANK1_WRPRTERR) != 0) - 10f6: 4748 lw a0,12(a4) - 10f8: 8941 andi a0,a0,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:752 - { - flashstatus = FLASH_ERROR_WRP; - } - else - { - flashstatus = FLASH_COMPLETE; - 10fa: 00153513 seqz a0,a0 - 10fe: 050d addi a0,a0,3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:756 - } - } - return flashstatus; -} - 1100: 8082 ret - -00001102 : -FLASH_WaitForLastOperation(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:769 - * - * @return FLASH Status - The returned value can be: FLASH_BUSY, FLASH_ERROR_PG, - * FLASH_ERROR_WRP or FLASH_COMPLETE. - */ -FLASH_Status FLASH_WaitForLastOperation(uint32_t Timeout) -{ - 1102: c14ff2ef jal t0,516 <__riscv_save_0> - 1106: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:773 - FLASH_Status status = FLASH_COMPLETE; - - status = FLASH_GetBank1Status(); - while((status == FLASH_BUSY) && (Timeout != 0x00)) - 1108: 4485 li s1,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:772 - status = FLASH_GetBank1Status(); - 110a: 37c5 jal 10ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:773 - while((status == FLASH_BUSY) && (Timeout != 0x00)) - 110c: 00951863 bne a0,s1,111c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:773 (discriminator 1) - 1110: e019 bnez s0,1116 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:780 - status = FLASH_GetBank1Status(); - Timeout--; - } - if(Timeout == 0x00) - { - status = FLASH_TIMEOUT; - 1112: 4515 li a0,5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:782 - } - return status; - 1114: a029 j 111e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:775 - status = FLASH_GetBank1Status(); - 1116: 3fd1 jal 10ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:776 - Timeout--; - 1118: 147d addi s0,s0,-1 - 111a: bfcd j 110c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:778 - if(Timeout == 0x00) - 111c: d87d beqz s0,1112 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:783 -} - 111e: c1cff06f j 53a <__riscv_restore_0> - -00001122 : -FLASH_ProgramOptionByteData(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:349 -{ - 1122: bf4ff2ef jal t0,516 <__riscv_save_0> - 1126: 7179 addi sp,sp,-48 - 1128: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:355 - status = FLASH_WaitForLastOperation(ProgramTimeout); - 112a: 6515 lui a0,0x5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:349 -{ - 112c: c62e sw a1,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:355 - status = FLASH_WaitForLastOperation(ProgramTimeout); - 112e: 3fd1 jal 1102 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:356 - if(status == FLASH_COMPLETE) - 1130: 4791 li a5,4 - 1132: 45b2 lw a1,12(sp) - 1134: 08f51c63 bne a0,a5,11cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:358 - FLASH->OBKEYR = FLASH_KEY1; - 1138: 456707b7 lui a5,0x45670 - 113c: 40022737 lui a4,0x40022 - 1140: 12378793 addi a5,a5,291 # 45670123 <__freertos_irq_stack_top+0x25640123> - 1144: c71c sw a5,8(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:359 - FLASH->OBKEYR = FLASH_KEY2; - 1146: cdef97b7 lui a5,0xcdef9 - 114a: 9ab78793 addi a5,a5,-1621 # cdef89ab <__freertos_irq_stack_top+0xadec89ab> - 114e: c71c sw a5,8(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:362 - for(i = 0; i < 8; i++) - 1150: 00010fa3 sb zero,31(sp) - 1154: 471d li a4,7 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:364 - pbuf[i] = *(uint16_t *)(Addr + 2 * i); - 1156: 20000637 lui a2,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:362 (discriminator 1) - for(i = 0; i < 8; i++) - 115a: 01f14783 lbu a5,31(sp) - 115e: 06f77a63 bgeu a4,a5,11d2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:368 - FLASH->CTLR |= CR_OPTER_Set; - 1162: 400227b7 lui a5,0x40022 - 1166: 4b98 lw a4,16(a5) - 1168: 02076713 ori a4,a4,32 - 116c: cb98 sw a4,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:369 - FLASH->CTLR |= CR_STRT_Set; - 116e: 4b98 lw a4,16(a5) - 1170: 04076713 ori a4,a4,64 - 1174: cb98 sw a4,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:370 (discriminator 1) - while(FLASH->STATR & SR_BSY) - 1176: 47d8 lw a4,12(a5) - 1178: 8b05 andi a4,a4,1 - 117a: ff75 bnez a4,1176 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:372 - FLASH->CTLR &= ~CR_OPTER_Set; - 117c: 4b98 lw a4,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:379 - for(i = 0; i < 8; i++) - 117e: 469d li a3,7 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:381 - *(uint16_t *)(Addr + 2 * i) = pbuf[i]; - 1180: 20000637 lui a2,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:372 - FLASH->CTLR &= ~CR_OPTER_Set; - 1184: fdf77713 andi a4,a4,-33 - 1188: cb98 sw a4,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:375 - pbuf[((Address - 0x1FFFF800) / 2)] = ((((uint16_t) ~(Data)) << 8) | ((uint16_t)Data)); - 118a: e0001737 lui a4,0xe0001 - 118e: 80070713 addi a4,a4,-2048 # e0000800 <__freertos_irq_stack_top+0xbffd0800> - 1192: 943a add s0,s0,a4 - 1194: 9879 andi s0,s0,-2 - 1196: 1818 addi a4,sp,48 - 1198: 943a add s0,s0,a4 - 119a: fff5c713 not a4,a1 - 119e: 0742 slli a4,a4,0x10 - 11a0: 8341 srli a4,a4,0x10 - 11a2: 0722 slli a4,a4,0x8 - 11a4: 8dd9 or a1,a1,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:377 - FLASH->CTLR |= CR_OPTPG_Set; - 11a6: 4b98 lw a4,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:375 - pbuf[((Address - 0x1FFFF800) / 2)] = ((((uint16_t) ~(Data)) << 8) | ((uint16_t)Data)); - 11a8: feb41823 sh a1,-16(s0) # 40027ff0 <__freertos_irq_stack_top+0x1fff7ff0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:382 - while(FLASH->STATR & SR_BSY) - 11ac: 400225b7 lui a1,0x40022 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:377 - FLASH->CTLR |= CR_OPTPG_Set; - 11b0: 01076713 ori a4,a4,16 - 11b4: cb98 sw a4,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:379 - for(i = 0; i < 8; i++) - 11b6: 00010fa3 sb zero,31(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:379 (discriminator 1) - 11ba: 01f14783 lbu a5,31(sp) - 11be: 04f6f063 bgeu a3,a5,11fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:386 - FLASH->CTLR &= ~CR_OPTPG_Set; - 11c2: 40022737 lui a4,0x40022 - 11c6: 4b1c lw a5,16(a4) - 11c8: 9bbd andi a5,a5,-17 - 11ca: cb1c sw a5,16(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:390 -} - 11cc: 6145 addi sp,sp,48 - 11ce: b6cff06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:364 (discriminator 3) - pbuf[i] = *(uint16_t *)(Addr + 2 * i); - 11d2: 01f14683 lbu a3,31(sp) - 11d6: 01f14783 lbu a5,31(sp) - 11da: 03010813 addi a6,sp,48 - 11de: 0686 slli a3,a3,0x1 - 11e0: 96b2 add a3,a3,a2 - 11e2: 8006d683 lhu a3,-2048(a3) # 1800 - 11e6: 0786 slli a5,a5,0x1 - 11e8: 97c2 add a5,a5,a6 - 11ea: fed79823 sh a3,-16(a5) # 40021ff0 <__freertos_irq_stack_top+0x1fff1ff0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:362 (discriminator 3) - for(i = 0; i < 8; i++) - 11ee: 01f14783 lbu a5,31(sp) - 11f2: 0785 addi a5,a5,1 - 11f4: 0ff7f793 andi a5,a5,255 - 11f8: 00f10fa3 sb a5,31(sp) - 11fc: bfb9 j 115a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:381 - *(uint16_t *)(Addr + 2 * i) = pbuf[i]; - 11fe: 01f14703 lbu a4,31(sp) - 1202: 1800 addi s0,sp,48 - 1204: 01f14783 lbu a5,31(sp) - 1208: 0706 slli a4,a4,0x1 - 120a: 9722 add a4,a4,s0 - 120c: ff075703 lhu a4,-16(a4) # 40021ff0 <__freertos_irq_stack_top+0x1fff1ff0> - 1210: 0786 slli a5,a5,0x1 - 1212: 97b2 add a5,a5,a2 - 1214: 80e79023 sh a4,-2048(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:382 (discriminator 1) - while(FLASH->STATR & SR_BSY) - 1218: 45dc lw a5,12(a1) - 121a: 8b85 andi a5,a5,1 - 121c: fff5 bnez a5,1218 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_flash.c:379 (discriminator 2) - for(i = 0; i < 8; i++) - 121e: 01f14783 lbu a5,31(sp) - 1222: 0785 addi a5,a5,1 - 1224: 0ff7f793 andi a5,a5,255 - 1228: 00f10fa3 sb a5,31(sp) - 122c: b779 j 11ba - -0000122e : -GPIO_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:90 -void GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct) -{ - uint32_t currentmode = 0x00, currentpin = 0x00, pinpos = 0x00, pos = 0x00; - uint32_t tmpreg = 0x00, pinmask = 0x00; - - currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F); - 122e: 459c lw a5,8(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:92 - - if((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00) - 1230: 0107f713 andi a4,a5,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:90 - currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F); - 1234: 00f7f813 andi a6,a5,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:92 - if((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00) - 1238: c701 beqz a4,1240 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:94 - { - currentmode |= (uint32_t)GPIO_InitStruct->GPIO_Speed; - 123a: 41d8 lw a4,4(a1) - 123c: 00e86833 or a6,a6,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:97 - } - - if(((uint32_t)GPIO_InitStruct->GPIO_Pin & ((uint32_t)0x00FF)) != 0x00) - 1240: 218e lhu a1,0(a1) - 1242: 0ff5f713 andi a4,a1,255 - 1246: c339 beqz a4,128c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:99 - { - tmpreg = GPIOx->CFGLR; - 1248: 4118 lw a4,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:101 - - for(pinpos = 0x00; pinpos < 0x08; pinpos++) - 124a: 4681 li a3,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:103 - { - pos = ((uint32_t)0x01) << pinpos; - 124c: 4e85 li t4,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:109 - currentpin = (GPIO_InitStruct->GPIO_Pin) & pos; - - if(currentpin == pos) - { - pos = pinpos << 2; - pinmask = ((uint32_t)0x0F) << pos; - 124e: 4f3d li t5,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:113 - tmpreg &= ~pinmask; - tmpreg |= (currentmode << pos); - - if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) - 1250: 02800f93 li t6,40 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:119 - { - GPIOx->BCR = (((uint32_t)0x01) << pinpos); - } - else - { - if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) - 1254: 04800293 li t0,72 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:101 - for(pinpos = 0x00; pinpos < 0x08; pinpos++) - 1258: 4e21 li t3,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:103 - pos = ((uint32_t)0x01) << pinpos; - 125a: 00de9633 sll a2,t4,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:104 - currentpin = (GPIO_InitStruct->GPIO_Pin) & pos; - 125e: 00c5f8b3 and a7,a1,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:106 - if(currentpin == pos) - 1262: 03161163 bne a2,a7,1284 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:108 - pos = pinpos << 2; - 1266: 00269893 slli a7,a3,0x2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:109 - pinmask = ((uint32_t)0x0F) << pos; - 126a: 011f1333 sll t1,t5,a7 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:110 - tmpreg &= ~pinmask; - 126e: fff34313 not t1,t1 - 1272: 00e37733 and a4,t1,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:111 - tmpreg |= (currentmode << pos); - 1276: 011818b3 sll a7,a6,a7 - 127a: 00e8e733 or a4,a7,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:113 - if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) - 127e: 05f79f63 bne a5,t6,12dc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:115 - GPIOx->BCR = (((uint32_t)0x01) << pinpos); - 1282: c950 sw a2,20(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:101 (discriminator 2) - for(pinpos = 0x00; pinpos < 0x08; pinpos++) - 1284: 0685 addi a3,a3,1 - 1286: fdc69ae3 bne a3,t3,125a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:126 - GPIOx->BSHR = (((uint32_t)0x01) << pinpos); - } - } - } - } - GPIOx->CFGLR = tmpreg; - 128a: c118 sw a4,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:129 - } - - if(GPIO_InitStruct->GPIO_Pin > 0x00FF) - 128c: 0ff00713 li a4,255 - 1290: 04b77563 bgeu a4,a1,12da -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:131 - { - tmpreg = GPIOx->CFGHR; - 1294: 4154 lw a3,4(a0) - 1296: 4621 li a2,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:135 - - for(pinpos = 0x00; pinpos < 0x08; pinpos++) - { - pos = (((uint32_t)0x01) << (pinpos + 0x08)); - 1298: 4e85 li t4,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:141 - currentpin = ((GPIO_InitStruct->GPIO_Pin) & pos); - - if(currentpin == pos) - { - pos = pinpos << 2; - pinmask = ((uint32_t)0x0F) << pos; - 129a: 4f3d li t5,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:145 - tmpreg &= ~pinmask; - tmpreg |= (currentmode << pos); - - if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) - 129c: 02800f93 li t6,40 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:150 - { - GPIOx->BCR = (((uint32_t)0x01) << (pinpos + 0x08)); - } - - if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) - 12a0: 04800293 li t0,72 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:133 - for(pinpos = 0x00; pinpos < 0x08; pinpos++) - 12a4: 4e41 li t3,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:135 - pos = (((uint32_t)0x01) << (pinpos + 0x08)); - 12a6: 00ce98b3 sll a7,t4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:136 - currentpin = ((GPIO_InitStruct->GPIO_Pin) & pos); - 12aa: 0115f733 and a4,a1,a7 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:138 - if(currentpin == pos) - 12ae: 02e89263 bne a7,a4,12d2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:140 - pos = pinpos << 2; - 12b2: 00261713 slli a4,a2,0x2 - 12b6: 1701 addi a4,a4,-32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:141 - pinmask = ((uint32_t)0x0F) << pos; - 12b8: 00ef1333 sll t1,t5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:142 - tmpreg &= ~pinmask; - 12bc: fff34313 not t1,t1 - 12c0: 00d376b3 and a3,t1,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:143 - tmpreg |= (currentmode << pos); - 12c4: 00e81733 sll a4,a6,a4 - 12c8: 8ed9 or a3,a3,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:145 - if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) - 12ca: 01f79d63 bne a5,t6,12e4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:147 - GPIOx->BCR = (((uint32_t)0x01) << (pinpos + 0x08)); - 12ce: 01152a23 sw a7,20(a0) # 5014 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:150 - if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) - 12d2: 0605 addi a2,a2,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:133 (discriminator 2) - for(pinpos = 0x00; pinpos < 0x08; pinpos++) - 12d4: fdc619e3 bne a2,t3,12a6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:156 - { - GPIOx->BSHR = (((uint32_t)0x01) << (pinpos + 0x08)); - } - } - } - GPIOx->CFGHR = tmpreg; - 12d8: c154 sw a3,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:158 - } -} - 12da: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:119 - if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) - 12dc: fa5794e3 bne a5,t0,1284 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:121 - GPIOx->BSHR = (((uint32_t)0x01) << pinpos); - 12e0: c910 sw a2,16(a0) - 12e2: b74d j 1284 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:150 - if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) - 12e4: fe5797e3 bne a5,t0,12d2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:152 - GPIOx->BSHR = (((uint32_t)0x01) << (pinpos + 0x08)); - 12e8: 01152823 sw a7,16(a0) - 12ec: b7dd j 12d2 - -000012ee : -GPIO_SetBits(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:271 - * - * @return none - */ -void GPIO_SetBits(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) -{ - GPIOx->BSHR = GPIO_Pin; - 12ee: c90c sw a1,16(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:272 -} - 12f0: 8082 ret - -000012f2 : -GPIO_ResetBits(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:287 - * - * @return none - */ -void GPIO_ResetBits(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) -{ - GPIOx->BCR = GPIO_Pin; - 12f2: c94c sw a1,20(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:288 -} - 12f4: 8082 ret - -000012f6 : -NVIC_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:80 - { - NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 7) | (NVIC_InitStruct->NVIC_IRQChannelSubPriority << 5)); - } - } -#elif (INTSYSCR_INEST == INTSYSCR_INEST_EN_4Level) - if(NVIC_Priority_Group == NVIC_PriorityGroup_2) - 12f6: 200007b7 lui a5,0x20000 - 12fa: 0b87a703 lw a4,184(a5) # 200000b8 - 12fe: 4789 li a5,2 - 1300: 2110 lbu a2,0(a0) - 1302: 02f71163 bne a4,a5,1324 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:82 - { - if(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority < 4) - 1306: 3114 lbu a3,1(a0) - 1308: 478d li a5,3 - 130a: 00d7ed63 bltu a5,a3,1324 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:84 - { - NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 6) | (NVIC_InitStruct->NVIC_IRQChannelSubPriority << 5)); - 130e: 213c lbu a5,2(a0) - 1310: 069a slli a3,a3,0x6 -NVIC_SetPriority(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:286 - NVIC->IPRIOR[(uint32_t)(IRQn)] = priority; - 1312: e000e737 lui a4,0xe000e -NVIC_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:84 - 1316: 0796 slli a5,a5,0x5 - 1318: 8fd5 or a5,a5,a3 - 131a: 0ff7f793 andi a5,a5,255 -NVIC_SetPriority(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:286 - 131e: 9732 add a4,a4,a2 - 1320: 40f70023 sb a5,1024(a4) # e000e400 <__freertos_irq_stack_top+0xbffde400> -NVIC_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:97 - NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 5) ); - } - } -#endif - - if(NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE) - 1324: 4154 lw a3,4(a0) - 1326: 4705 li a4,1 - 1328: 00565793 srli a5,a2,0x5 - 132c: 00c71733 sll a4,a4,a2 - 1330: ca89 beqz a3,1342 -NVIC_EnableIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:170 - NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); - 1332: 04078793 addi a5,a5,64 - 1336: 078a slli a5,a5,0x2 - 1338: e000e6b7 lui a3,0xe000e - 133c: 97b6 add a5,a5,a3 - 133e: c398 sw a4,0(a5) - 1340: 8082 ret -NVIC_DisableIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:184 - NVIC->IRER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); - 1342: 06078793 addi a5,a5,96 - 1346: e000e6b7 lui a3,0xe000e - 134a: 078a slli a5,a5,0x2 - 134c: 97b6 add a5,a5,a3 - 134e: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:185 - __asm volatile ("fence.i"); - 1350: 0000100f fence.i -NVIC_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:105 - } - else - { - NVIC_DisableIRQ(NVIC_InitStruct->NVIC_IRQChannel); - } -} - 1354: 8082 ret - -00001356 : -RCC_GetClocksFreq(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:585 -#ifdef CH32V30x_D8C - uint8_t Pll2mull = 0; - -#endif - - tmp = RCC->CFGR0 & CFGR0_SWS_Mask; - 1356: 40021737 lui a4,0x40021 - 135a: 435c lw a5,4(a4) - 135c: 4691 li a3,4 - 135e: 8bb1 andi a5,a5,12 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:587 - - switch(tmp) - 1360: 00d78563 beq a5,a3,136a - 1364: 46a1 li a3,8 - 1366: 06d78263 beq a5,a3,13ca -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:590 - { - case 0x00: - RCC_Clocks->SYSCLK_Frequency = HSI_VALUE; - 136a: 007a17b7 lui a5,0x7a1 - 136e: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x793cec> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:668 - -#endif - } - - if(Pll_6_5 == 1) - RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency / 2); - 1372: c11c sw a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:677 - default: - RCC_Clocks->SYSCLK_Frequency = HSI_VALUE; - break; - } - - tmp = RCC->CFGR0 & CFGR0_HPRE_Set_Mask; - 1374: 40021637 lui a2,0x40021 - 1378: 425c lw a5,4(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:679 - tmp = tmp >> 4; - presc = APBAHBPrescTable[tmp]; - 137a: 20000737 lui a4,0x20000 - 137e: 03070713 addi a4,a4,48 # 20000030 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:678 - tmp = tmp >> 4; - 1382: 8391 srli a5,a5,0x4 - 1384: 8bbd andi a5,a5,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:679 - presc = APBAHBPrescTable[tmp]; - 1386: 97ba add a5,a5,a4 - 1388: 2394 lbu a3,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:680 - RCC_Clocks->HCLK_Frequency = RCC_Clocks->SYSCLK_Frequency >> presc; - 138a: 411c lw a5,0(a0) - 138c: 00d7d7b3 srl a5,a5,a3 - 1390: c15c sw a5,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:681 - tmp = RCC->CFGR0 & CFGR0_PPRE1_Set_Mask; - 1392: 4254 lw a3,4(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:682 - tmp = tmp >> 8; - 1394: 82a1 srli a3,a3,0x8 - 1396: 8a9d andi a3,a3,7 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:683 - presc = APBAHBPrescTable[tmp]; - 1398: 96ba add a3,a3,a4 - 139a: 2294 lbu a3,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:684 - RCC_Clocks->PCLK1_Frequency = RCC_Clocks->HCLK_Frequency >> presc; - 139c: 00d7d6b3 srl a3,a5,a3 - 13a0: c514 sw a3,8(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:685 - tmp = RCC->CFGR0 & CFGR0_PPRE2_Set_Mask; - 13a2: 4254 lw a3,4(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:686 - tmp = tmp >> 11; - 13a4: 82ad srli a3,a3,0xb - 13a6: 8a9d andi a3,a3,7 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:687 - presc = APBAHBPrescTable[tmp]; - 13a8: 9736 add a4,a4,a3 - 13aa: 2318 lbu a4,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:688 - RCC_Clocks->PCLK2_Frequency = RCC_Clocks->HCLK_Frequency >> presc; - 13ac: 00e7d7b3 srl a5,a5,a4 - 13b0: c55c sw a5,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:689 - tmp = RCC->CFGR0 & CFGR0_ADCPRE_Set_Mask; - 13b2: 4258 lw a4,4(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:690 - tmp = tmp >> 14; - 13b4: 8339 srli a4,a4,0xe - 13b6: 00377693 andi a3,a4,3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:691 - presc = ADCPrescTable[tmp]; - 13ba: 81418713 addi a4,gp,-2028 # 20000054 - 13be: 9736 add a4,a4,a3 - 13c0: 2318 lbu a4,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:692 - RCC_Clocks->ADCCLK_Frequency = RCC_Clocks->PCLK2_Frequency / presc; - 13c2: 02e7d7b3 divu a5,a5,a4 - 13c6: c91c sw a5,16(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:693 -} - 13c8: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:598 - pllmull = RCC->CFGR0 & CFGR0_PLLMull_Mask; - 13ca: 435c lw a5,4(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:599 - pllsource = RCC->CFGR0 & CFGR0_PLLSRC_Mask; - 13cc: 4358 lw a4,4(a4) - 13ce: 66c1 lui a3,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:601 - pllmull = (pllmull >> 18) + 2; - 13d0: 83c9 srli a5,a5,0x12 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:599 - pllsource = RCC->CFGR0 & CFGR0_PLLSRC_Mask; - 13d2: 8f75 and a4,a4,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:603 - if(((*(uint32_t *)0x1FFFF70C) & (1 << 14)) != (1 << 14)) - 13d4: 1ffff6b7 lui a3,0x1ffff - 13d8: 70c6a683 lw a3,1804(a3) # 1ffff70c <_data_lma+0x1fff21f8> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:601 - pllmull = (pllmull >> 18) + 2; - 13dc: 8bbd andi a5,a5,15 - 13de: 0789 addi a5,a5,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:603 - if(((*(uint32_t *)0x1FFFF70C) & (1 << 14)) != (1 << 14)) - 13e0: 01169613 slli a2,a3,0x11 - 13e4: 00064863 bltz a2,13f4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:605 - if(pllmull == 17) - 13e8: 46c5 li a3,17 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:578 - uint8_t Pll_6_5 = 0; - 13ea: 4601 li a2,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:605 - if(pllmull == 17) - 13ec: 02d79263 bne a5,a3,1410 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:606 - pllmull = 18; - 13f0: 47c9 li a5,18 - 13f2: a839 j 1410 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:610 - if(pllmull == 2) - 13f4: 4689 li a3,2 - 13f6: 02d78f63 beq a5,a3,1434 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:612 - if(pllmull == 15) - 13fa: 46bd li a3,15 - 13fc: 02d78e63 beq a5,a3,1438 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:617 - if(pllmull == 16) - 1400: 46c1 li a3,16 - 1402: 02d78e63 beq a5,a3,143e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:619 - if(pllmull == 17) - 1406: 46c5 li a3,17 - 1408: 4601 li a2,0 - 140a: 00d79363 bne a5,a3,1410 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:620 - pllmull = 16; - 140e: 47c1 li a5,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:623 - if(pllsource == 0x00) - 1410: ef1d bnez a4,144e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:625 - if(EXTEN->EXTEN_CTR & EXTEN_PLL_HSI_PRE) - 1412: 40024737 lui a4,0x40024 - 1416: 80072703 lw a4,-2048(a4) # 40023800 <__freertos_irq_stack_top+0x1fff3800> - 141a: 8b41 andi a4,a4,16 - 141c: c705 beqz a4,1444 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:627 - RCC_Clocks->SYSCLK_Frequency = (HSI_VALUE)*pllmull; - 141e: 007a1737 lui a4,0x7a1 - 1422: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x793cec> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:662 - RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * pllmull; - 1426: 02f707b3 mul a5,a4,a5 - 142a: c11c sw a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:667 - if(Pll_6_5 == 1) - 142c: d621 beqz a2,1374 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:668 - RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency / 2); - 142e: 411c lw a5,0(a0) - 1430: 8385 srli a5,a5,0x1 - 1432: b781 j 1372 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:578 - uint8_t Pll_6_5 = 0; - 1434: 4601 li a2,0 - 1436: bf6d j 13f0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:615 - Pll_6_5 = 1; - 1438: 4605 li a2,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:614 - pllmull = 13; /* *6.5 */ - 143a: 47b5 li a5,13 - 143c: bfd1 j 1410 - 143e: 4601 li a2,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:618 - pllmull = 15; - 1440: 47bd li a5,15 - 1442: b7f9 j 1410 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:631 - RCC_Clocks->SYSCLK_Frequency = (HSI_VALUE >> 1) * pllmull; - 1444: 003d1737 lui a4,0x3d1 - 1448: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c33ec> - 144c: bfe9 j 1426 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:646 - if(RCC->CFGR2 & (1<<16)){ /* PLL2 */ - 144e: 400215b7 lui a1,0x40021 - 1452: 55d8 lw a4,44(a1) - 1454: 00f71693 slli a3,a4,0xf -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:647 - RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */ - 1458: 55d8 lw a4,44(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:646 - if(RCC->CFGR2 & (1<<16)){ /* PLL2 */ - 145a: 0406df63 bgez a3,14b8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:647 - RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */ - 145e: 8311 srli a4,a4,0x4 - 1460: 8b3d andi a4,a4,15 - 1462: 00170693 addi a3,a4,1 - 1466: 007a1737 lui a4,0x7a1 - 146a: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x793cec> - 146e: 02d75733 divu a4,a4,a3 - 1472: c118 sw a4,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:649 - Pll2mull = (uint8_t)((RCC->CFGR2 & 0xF00)>>8); - 1474: 55d4 lw a3,44(a1) - 1476: 82a1 srli a3,a3,0x8 - 1478: 8abd andi a3,a3,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:651 - if(Pll2mull == 0) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency * 5)>>1; - 147a: e28d bnez a3,149c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:651 (discriminator 1) - 147c: 4695 li a3,5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:652 (discriminator 1) - else if(Pll2mull == 1) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency * 25)>>1; - 147e: 02d70733 mul a4,a4,a3 - 1482: 8305 srli a4,a4,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:654 - else RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * (Pll2mull + 2); - 1484: c118 sw a4,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:656 - RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ - 1486: 40021737 lui a4,0x40021 - 148a: 5758 lw a4,44(a4) - 148c: 4114 lw a3,0(a0) - 148e: 8b3d andi a4,a4,15 - 1490: 0705 addi a4,a4,1 - 1492: 02e6d733 divu a4,a3,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:659 - RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ - 1496: c118 sw a4,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:662 - RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * pllmull; - 1498: 4118 lw a4,0(a0) - 149a: b771 j 1426 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:652 - else if(Pll2mull == 1) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency * 25)>>1; - 149c: 4585 li a1,1 - 149e: 00b69463 bne a3,a1,14a6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:652 (discriminator 1) - 14a2: 46e5 li a3,25 - 14a4: bfe9 j 147e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:653 - else if(Pll2mull == 15) RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * 20; - 14a6: 45bd li a1,15 - 14a8: 00b69663 bne a3,a1,14b4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:653 (discriminator 1) - 14ac: 46d1 li a3,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:654 - else RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * (Pll2mull + 2); - 14ae: 02e68733 mul a4,a3,a4 - 14b2: bfc9 j 1484 - 14b4: 0689 addi a3,a3,2 - 14b6: bfe5 j 14ae -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:659 - RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */ - 14b8: 8b3d andi a4,a4,15 - 14ba: 00170693 addi a3,a4,1 # 40021001 <__freertos_irq_stack_top+0x1fff1001> - 14be: 007a1737 lui a4,0x7a1 - 14c2: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x793cec> - 14c6: 02d75733 divu a4,a4,a3 - 14ca: b7f1 j 1496 - -000014cc : -RCC_AHBPeriphClockCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:722 - * - * @return none - */ -void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState) -{ - if(NewState != DISABLE) - 14cc: c599 beqz a1,14da -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:724 - { - RCC->AHBPCENR |= RCC_AHBPeriph; - 14ce: 40021737 lui a4,0x40021 - 14d2: 4b5c lw a5,20(a4) - 14d4: 8d5d or a0,a0,a5 - 14d6: cb48 sw a0,20(a4) - 14d8: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:728 - } - else - { - RCC->AHBPCENR &= ~RCC_AHBPeriph; - 14da: 400217b7 lui a5,0x40021 - 14de: 4bd8 lw a4,20(a5) - 14e0: fff54513 not a0,a0 - 14e4: 8d79 and a0,a0,a4 - 14e6: cbc8 sw a0,20(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:730 - } -} - 14e8: 8082 ret - -000014ea : -RCC_APB2PeriphClockCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:758 - * - * @return none - */ -void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState) -{ - if(NewState != DISABLE) - 14ea: c599 beqz a1,14f8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:760 - { - RCC->APB2PCENR |= RCC_APB2Periph; - 14ec: 40021737 lui a4,0x40021 - 14f0: 4f1c lw a5,24(a4) - 14f2: 8d5d or a0,a0,a5 - 14f4: cf08 sw a0,24(a4) - 14f6: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:764 - } - else - { - RCC->APB2PCENR &= ~RCC_APB2Periph; - 14f8: 400217b7 lui a5,0x40021 - 14fc: 4f98 lw a4,24(a5) - 14fe: fff54513 not a0,a0 - 1502: 8d79 and a0,a0,a4 - 1504: cf88 sw a0,24(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:766 - } -} - 1506: 8082 ret - -00001508 : -RCC_APB1PeriphClockCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:803 - * - * @return none - */ -void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState) -{ - if(NewState != DISABLE) - 1508: c599 beqz a1,1516 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:805 - { - RCC->APB1PCENR |= RCC_APB1Periph; - 150a: 40021737 lui a4,0x40021 - 150e: 4f5c lw a5,28(a4) - 1510: 8d5d or a0,a0,a5 - 1512: cf48 sw a0,28(a4) - 1514: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:809 - } - else - { - RCC->APB1PCENR &= ~RCC_APB1Periph; - 1516: 400217b7 lui a5,0x40021 - 151a: 4fd8 lw a4,28(a5) - 151c: fff54513 not a0,a0 - 1520: 8d79 and a0,a0,a4 - 1522: cfc8 sw a0,28(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:811 - } -} - 1524: 8082 ret - -00001526 : -RCC_AHBPeriphResetCmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1295 - * - * @return none - */ -void RCC_AHBPeriphResetCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState) -{ - if(NewState != DISABLE) - 1526: c599 beqz a1,1534 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1297 - { - RCC->AHBRSTR |= RCC_AHBPeriph; - 1528: 40021737 lui a4,0x40021 - 152c: 571c lw a5,40(a4) - 152e: 8d5d or a0,a0,a5 - 1530: d708 sw a0,40(a4) - 1532: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1301 - } - else - { - RCC->AHBRSTR &= ~RCC_AHBPeriph; - 1534: 400217b7 lui a5,0x40021 - 1538: 5798 lw a4,40(a5) - 153a: fff54513 not a0,a0 - 153e: 8d79 and a0,a0,a4 - 1540: d788 sw a0,40(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1303 - } -} - 1542: 8082 ret - -00001544 : -RCC_ETH1GCLKConfig(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1357 - * - * @return none - */ -void RCC_ETH1GCLKConfig(uint32_t RCC_ETH1GCLKSource) -{ - RCC->CFGR2 &= ~(3 << 20); - 1544: 400217b7 lui a5,0x40021 - 1548: 57d8 lw a4,44(a5) - 154a: ffd006b7 lui a3,0xffd00 - 154e: 16fd addi a3,a3,-1 - 1550: 8f75 and a4,a4,a3 - 1552: d7d8 sw a4,44(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1358 - RCC->CFGR2 |= RCC_ETH1GCLKSource << 20; - 1554: 57d8 lw a4,44(a5) - 1556: 0552 slli a0,a0,0x14 - 1558: 8d59 or a0,a0,a4 - 155a: d7c8 sw a0,44(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1359 -} - 155c: 8082 ret - -0000155e : -RCC_ETH1G_125Mcmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1372 - * - * @return none - */ -void RCC_ETH1G_125Mcmd(FunctionalState NewState) -{ - if(NewState != DISABLE) - 155e: c909 beqz a0,1570 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1374 - { - RCC->CFGR2 |= (1 << 22); - 1560: 40021737 lui a4,0x40021 - 1564: 575c lw a5,44(a4) - 1566: 004006b7 lui a3,0x400 - 156a: 8fd5 or a5,a5,a3 - 156c: d75c sw a5,44(a4) - 156e: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1378 - } - else - { - RCC->CFGR2 &= ~(1 << 22); - 1570: 400216b7 lui a3,0x40021 - 1574: 56dc lw a5,44(a3) - 1576: ffc00737 lui a4,0xffc00 - 157a: 177d addi a4,a4,-1 - 157c: 8ff9 and a5,a5,a4 - 157e: d6dc sw a5,44(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1380 - } -} - 1580: 8082 ret - -00001582 : -TIM_TimeBaseInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:110 - */ -void TIM_TimeBaseInit(TIM_TypeDef *TIMx, TIM_TimeBaseInitTypeDef *TIM_TimeBaseInitStruct) -{ - uint16_t tmpcr1 = 0; - uint32_t temper1 = 0; - temper1 = ((*( uint32_t * )0x1FFFF704) & 0x000000F0) >> 4; - 1582: 1ffff737 lui a4,0x1ffff - 1586: 70472703 lw a4,1796(a4) # 1ffff704 <_data_lma+0x1fff21f0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:111 - tmpcr1 = TIMx->CTLR1; - 158a: 211e lhu a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 - - if(((temper1>=4)&&(temper1<=8))&&((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10))) - 158c: 4691 li a3,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:110 - temper1 = ((*( uint32_t * )0x1FFFF704) & 0x000000F0) >> 4; - 158e: 8311 srli a4,a4,0x4 - 1590: 8b3d andi a4,a4,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:111 - tmpcr1 = TIMx->CTLR1; - 1592: 07c2 slli a5,a5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 - if(((temper1>=4)&&(temper1<=8))&&((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10))) - 1594: 1771 addi a4,a4,-4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:111 - tmpcr1 = TIMx->CTLR1; - 1596: 83c1 srli a5,a5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 - if(((temper1>=4)&&(temper1<=8))&&((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10))) - 1598: 02e6e663 bltu a3,a4,15c4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 (discriminator 1) - 159c: 40013737 lui a4,0x40013 - 15a0: c0070693 addi a3,a4,-1024 # 40012c00 <__freertos_irq_stack_top+0x1ffe2c00> - 15a4: 00d50e63 beq a0,a3,15c0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 (discriminator 2) - 15a8: 40070713 addi a4,a4,1024 - 15ac: 00e50a63 beq a0,a4,15c0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 (discriminator 3) - 15b0: 40015737 lui a4,0x40015 - 15b4: c0070693 addi a3,a4,-1024 # 40014c00 <__freertos_irq_stack_top+0x1ffe4c00> - 15b8: 00d50463 beq a0,a3,15c0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 (discriminator 4) - 15bc: 00e51a63 bne a0,a4,15d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:115 - { - tmpcr1 |= 1<<13; - 15c0: 6709 lui a4,0x2 - 15c2: 8fd9 or a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118 - } - - if((TIMx == TIM1) || (TIMx == TIM2) || (TIMx == TIM3) || (TIMx == TIM4) || - 15c4: 40013737 lui a4,0x40013 - 15c8: c0070713 addi a4,a4,-1024 # 40012c00 <__freertos_irq_stack_top+0x1ffe2c00> - 15cc: 04e50263 beq a0,a4,1610 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118 (discriminator 1) - 15d0: 40000737 lui a4,0x40000 - 15d4: 02e50e63 beq a0,a4,1610 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118 (discriminator 2) - 15d8: 40070713 addi a4,a4,1024 # 40000400 <__freertos_irq_stack_top+0x1ffd0400> - 15dc: 02e50a63 beq a0,a4,1610 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118 (discriminator 3) - 15e0: 40001737 lui a4,0x40001 - 15e4: 80070693 addi a3,a4,-2048 # 40000800 <__freertos_irq_stack_top+0x1ffd0800> - 15e8: 02d50463 beq a0,a3,1610 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118 (discriminator 4) - 15ec: c0070713 addi a4,a4,-1024 - 15f0: 02e50063 beq a0,a4,1610 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:119 - (TIMx == TIM5) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10)) - 15f4: 40013737 lui a4,0x40013 - 15f8: 40070713 addi a4,a4,1024 # 40013400 <__freertos_irq_stack_top+0x1ffe3400> - 15fc: 00e50a63 beq a0,a4,1610 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:119 (discriminator 1) - 1600: 40015737 lui a4,0x40015 - 1604: c0070693 addi a3,a4,-1024 # 40014c00 <__freertos_irq_stack_top+0x1ffe4c00> - 1608: 00d50463 beq a0,a3,1610 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:119 (discriminator 2) - 160c: 00e51863 bne a0,a4,161c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:121 - { - tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_DIR | TIM_CMS))); - 1610: f8f7f793 andi a5,a5,-113 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:122 - tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; - 1614: 21ba lhu a4,2(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:121 - tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_DIR | TIM_CMS))); - 1616: 07c2 slli a5,a5,0x10 - 1618: 83c1 srli a5,a5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:122 - tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; - 161a: 8fd9 or a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:125 - } - - if((TIMx != TIM6) && (TIMx != TIM7)) - 161c: 40001737 lui a4,0x40001 - 1620: 00e50c63 beq a0,a4,1638 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:125 (discriminator 1) - 1624: 40070713 addi a4,a4,1024 # 40001400 <__freertos_irq_stack_top+0x1ffd1400> - 1628: 00e50863 beq a0,a4,1638 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:127 - { - tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CTLR1_CKD)); - 162c: cff7f793 andi a5,a5,-769 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:128 - tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; - 1630: 21fa lhu a4,6(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:127 - tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CTLR1_CKD)); - 1632: 07c2 slli a5,a5,0x10 - 1634: 83c1 srli a5,a5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:128 - tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; - 1636: 8fd9 or a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:131 - } - - TIMx->CTLR1 = tmpcr1; - 1638: a11e sh a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:132 - TIMx->ATRLR = TIM_TimeBaseInitStruct->TIM_Period; - 163a: 21de lhu a5,4(a1) - 163c: b55e sh a5,44(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:133 - TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; - 163e: 219e lhu a5,0(a1) - 1640: b51e sh a5,40(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:135 - - if((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10)) - 1642: 400137b7 lui a5,0x40013 - 1646: c0078713 addi a4,a5,-1024 # 40012c00 <__freertos_irq_stack_top+0x1ffe2c00> - 164a: 00e50e63 beq a0,a4,1666 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:135 (discriminator 1) - 164e: 40078793 addi a5,a5,1024 - 1652: 00f50a63 beq a0,a5,1666 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:135 (discriminator 2) - 1656: 400157b7 lui a5,0x40015 - 165a: c0078713 addi a4,a5,-1024 # 40014c00 <__freertos_irq_stack_top+0x1ffe4c00> - 165e: 00e50463 beq a0,a4,1666 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:135 (discriminator 3) - 1662: 00f51463 bne a0,a5,166a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:137 - { - TIMx->RPTCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; - 1666: 259c lbu a5,8(a1) - 1668: b91e sh a5,48(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:140 - } - - TIMx->SWEVGR = TIM_PSCReloadMode_Immediate; - 166a: 4785 li a5,1 - 166c: a95e sh a5,20(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:141 -} - 166e: 8082 ret - -00001670 : -TIM_Cmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:522 - */ -void TIM_Cmd(TIM_TypeDef *TIMx, FunctionalState NewState) -{ - if(NewState != DISABLE) - { - TIMx->CTLR1 |= TIM_CEN; - 1670: 211e lhu a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:520 - if(NewState != DISABLE) - 1672: c589 beqz a1,167c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:522 - TIMx->CTLR1 |= TIM_CEN; - 1674: 0017e793 ori a5,a5,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:526 - } - else - { - TIMx->CTLR1 &= (uint16_t)(~((uint16_t)TIM_CEN)); - 1678: a11e sh a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:528 - } -} - 167a: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:526 - TIMx->CTLR1 &= (uint16_t)(~((uint16_t)TIM_CEN)); - 167c: 07c2 slli a5,a5,0x10 - 167e: 83c1 srli a5,a5,0x10 - 1680: 9bf9 andi a5,a5,-2 - 1682: 07c2 slli a5,a5,0x10 - 1684: 83c1 srli a5,a5,0x10 - 1686: bfcd j 1678 - -00001688 : -TIM_ITConfig(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:576 - */ -void TIM_ITConfig(TIM_TypeDef *TIMx, uint16_t TIM_IT, FunctionalState NewState) -{ - if(NewState != DISABLE) - { - TIMx->DMAINTENR |= TIM_IT; - 1688: 255e lhu a5,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:574 - if(NewState != DISABLE) - 168a: c601 beqz a2,1692 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:576 - TIMx->DMAINTENR |= TIM_IT; - 168c: 8ddd or a1,a1,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:580 - } - else - { - TIMx->DMAINTENR &= (uint16_t)~TIM_IT; - 168e: a54e sh a1,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:582 - } -} - 1690: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:580 - TIMx->DMAINTENR &= (uint16_t)~TIM_IT; - 1692: fff5c593 not a1,a1 - 1696: 8dfd and a1,a1,a5 - 1698: bfdd j 168e - -0000169a : -TIM_ClearITPendingBit(): - 169a: fff5c593 not a1,a1 - 169e: 05c2 slli a1,a1,0x10 - 16a0: 81c1 srli a1,a1,0x10 - 16a2: a90e sh a1,16(a0) - 16a4: 8082 ret - -000016a6 : -USART_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:122 - * USART peripheral. - * - * @return none - */ -void USART_Init(USART_TypeDef *USARTx, USART_InitTypeDef *USART_InitStruct) -{ - 16a6: e71fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:134 - if(USART_InitStruct->USART_HardwareFlowControl != USART_HardwareFlowControl_None) - { - } - - usartxbase = (uint32_t)USARTx; - tmpreg = USARTx->CTLR2; - 16aa: 2916 lhu a3,16(a0) - 16ac: 77f5 lui a5,0xffffd - 16ae: 17fd addi a5,a5,-1 - 16b0: 8ff5 and a5,a5,a3 - 16b2: 21f6 lhu a3,6(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:129 - if(USART_InitStruct->USART_HardwareFlowControl != USART_HardwareFlowControl_None) - 16b4: 25da lhu a4,12(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:122 -{ - 16b6: 7179 addi sp,sp,-48 - 16b8: 8fd5 or a5,a5,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:138 - tmpreg &= CTLR2_STOP_CLEAR_Mask; - tmpreg |= (uint32_t)USART_InitStruct->USART_StopBits; - - USARTx->CTLR2 = (uint16_t)tmpreg; - 16ba: a91e sh a5,16(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:139 - tmpreg = USARTx->CTLR1; - 16bc: 2556 lhu a3,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:141 - tmpreg &= CTLR1_CLEAR_Mask; - tmpreg |= (uint32_t)USART_InitStruct->USART_WordLength | USART_InitStruct->USART_Parity | - 16be: 77fd lui a5,0xfffff - 16c0: 9f378793 addi a5,a5,-1549 # ffffe9f3 <__freertos_irq_stack_top+0xdffce9f3> - 16c4: 8ff5 and a5,a5,a3 - 16c6: 21d6 lhu a3,4(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:122 -{ - 16c8: 842a mv s0,a0 - 16ca: c62e sw a1,12(sp) - 16cc: 8fd5 or a5,a5,a3 - 16ce: 2596 lhu a3,8(a1) - 16d0: 8fd5 or a5,a5,a3 - 16d2: 25b6 lhu a3,10(a1) - 16d4: 8fd5 or a5,a5,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:143 - USART_InitStruct->USART_Mode; - USARTx->CTLR1 = (uint16_t)tmpreg; - 16d6: a55e sh a5,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:145 - - tmpreg = USARTx->CTLR3; - 16d8: 295e lhu a5,20(a0) - 16da: 07c2 slli a5,a5,0x10 - 16dc: 83c1 srli a5,a5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:147 - tmpreg &= CTLR3_CLEAR_Mask; - tmpreg |= USART_InitStruct->USART_HardwareFlowControl; - 16de: cff7f793 andi a5,a5,-769 - 16e2: 8fd9 or a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:148 - USARTx->CTLR3 = (uint16_t)tmpreg; - 16e4: a95e sh a5,20(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:150 - - RCC_GetClocksFreq(&RCC_ClocksStatus); - 16e6: 0868 addi a0,sp,28 - 16e8: 31bd jal 1356 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:152 - - if(usartxbase == USART1_BASE) - 16ea: 400147b7 lui a5,0x40014 - 16ee: 80078793 addi a5,a5,-2048 # 40013800 <__freertos_irq_stack_top+0x1ffe3800> - 16f2: 45b2 lw a1,12(sp) - 16f4: 02f41e63 bne s0,a5,1730 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:154 - { - apbclock = RCC_ClocksStatus.PCLK2_Frequency; - 16f8: 57a2 lw a5,40(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:161 - else - { - apbclock = RCC_ClocksStatus.PCLK1_Frequency; - } - - integerdivider = ((25 * apbclock) / (4 * (USART_InitStruct->USART_BaudRate))); - 16fa: 4765 li a4,25 - 16fc: 02e787b3 mul a5,a5,a4 - 1700: 4198 lw a4,0(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:162 - tmpreg = (integerdivider / 100) << 4; - 1702: 06400693 li a3,100 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:161 - integerdivider = ((25 * apbclock) / (4 * (USART_InitStruct->USART_BaudRate))); - 1706: 070a slli a4,a4,0x2 - 1708: 02e7d7b3 divu a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:162 - tmpreg = (integerdivider / 100) << 4; - 170c: 02d7d733 divu a4,a5,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:164 - fractionaldivider = integerdivider - (100 * (tmpreg >> 4)); - tmpreg |= ((((fractionaldivider * 16) + 50) / 100)) & ((uint8_t)0x0F); - 1710: 02d7f7b3 remu a5,a5,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:162 - tmpreg = (integerdivider / 100) << 4; - 1714: 0712 slli a4,a4,0x4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:164 - tmpreg |= ((((fractionaldivider * 16) + 50) / 100)) & ((uint8_t)0x0F); - 1716: 0792 slli a5,a5,0x4 - 1718: 03278793 addi a5,a5,50 - 171c: 02d7d7b3 divu a5,a5,a3 - 1720: 8bbd andi a5,a5,15 - 1722: 8fd9 or a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:165 - USARTx->BRR = (uint16_t)tmpreg; - 1724: 07c2 slli a5,a5,0x10 - 1726: 83c1 srli a5,a5,0x10 - 1728: a41e sh a5,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:166 -} - 172a: 6145 addi sp,sp,48 - 172c: e0ffe06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:158 - apbclock = RCC_ClocksStatus.PCLK1_Frequency; - 1730: 5792 lw a5,36(sp) - 1732: b7e1 j 16fa - -00001734 : -USART_Cmd(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:244 - * - * @return none - */ -void USART_Cmd(USART_TypeDef *USARTx, FunctionalState NewState) -{ - if(NewState != DISABLE) - 1734: c591 beqz a1,1740 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:246 - { - USARTx->CTLR1 |= CTLR1_UE_Set; - 1736: 255e lhu a5,12(a0) - 1738: 6709 lui a4,0x2 - 173a: 8fd9 or a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:250 - } - else - { - USARTx->CTLR1 &= CTLR1_UE_Reset; - 173c: a55e sh a5,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:252 - } -} - 173e: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:250 - USARTx->CTLR1 &= CTLR1_UE_Reset; - 1740: 255a lhu a4,12(a0) - 1742: 77f9 lui a5,0xffffe - 1744: 17fd addi a5,a5,-1 - 1746: 8ff9 and a5,a5,a4 - 1748: bfd5 j 173c - -0000174a : -USART_SendData(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:447 - * - * @return none - */ -void USART_SendData(USART_TypeDef *USARTx, uint16_t Data) -{ - USARTx->DATAR = (Data & (uint16_t)0x01FF); - 174a: 1ff5f593 andi a1,a1,511 - 174e: a14e sh a1,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:448 -} - 1750: 8082 ret - -00001752 : -USART_GetFlagStatus(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:649 - */ -FlagStatus USART_GetFlagStatus(USART_TypeDef *USARTx, uint16_t USART_FLAG) -{ - FlagStatus bitstatus = RESET; - - if((USARTx->STATR & USART_FLAG) != (uint16_t)RESET) - 1752: 210a lhu a0,0(a0) - 1754: 8d6d and a0,a0,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:658 - else - { - bitstatus = RESET; - } - return bitstatus; -} - 1756: 00a03533 snez a0,a0 - 175a: 8082 ret - -0000175c : -ETH_TxPktChainMode(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:484 - * @return Send status. - */ -uint32_t ETH_TxPktChainMode(uint16_t len, uint32_t *pBuff ) -{ - /* Check if the descriptor is owned by the ETHERNET DMA (when set) or CPU (when reset) */ - if((DMATxDescToSet->Status & ETH_DMATxDesc_OWN) != (u32)RESET) - 175c: 200006b7 lui a3,0x20000 - 1760: 0b46a783 lw a5,180(a3) # 200000b4 - 1764: 4398 lw a4,0(a5) - 1766: 02074b63 bltz a4,179c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:497 - - /* Setting the last segment and first segment bits (in this case a frame is transmitted in one descriptor) */ -#if HARDWARE_CHECKSUM_CONFIG - DMATxDescToSet->Status |= ETH_DMATxDesc_LS | ETH_DMATxDesc_FS | ETH_DMATxDesc_CIC_TCPUDPICMP_Full; -#else - DMATxDescToSet->Status |= ETH_DMATxDesc_LS | ETH_DMATxDesc_FS; - 176a: 4398 lw a4,0(a5) - 176c: 30000637 lui a2,0x30000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:490 - DMATxDescToSet->ControlBufferSize = (len & ETH_DMATxDesc_TBS1); - 1770: 054e slli a0,a0,0x13 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:497 - DMATxDescToSet->Status |= ETH_DMATxDesc_LS | ETH_DMATxDesc_FS; - 1772: 8f51 or a4,a4,a2 - 1774: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:501 -#endif - - /* Set Own bit of the Tx descriptor Status: gives the buffer back to ETHERNET DMA */ - DMATxDescToSet->Status |= ETH_DMATxDesc_OWN; - 1776: 4398 lw a4,0(a5) - 1778: 80000637 lui a2,0x80000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:490 - DMATxDescToSet->ControlBufferSize = (len & ETH_DMATxDesc_TBS1); - 177c: 814d srli a0,a0,0x13 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:501 - DMATxDescToSet->Status |= ETH_DMATxDesc_OWN; - 177e: 8f51 or a4,a4,a2 - 1780: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:490 - DMATxDescToSet->ControlBufferSize = (len & ETH_DMATxDesc_TBS1); - 1782: c3c8 sw a0,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:491 - DMATxDescToSet->Buffer1Addr = (uint32_t)pBuff; - 1784: c78c sw a1,8(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:504 - - /* Clear TBUS ETHERNET DMA flag */ - ETH->DMASR = ETH_DMASR_TBUS; - 1786: 40029737 lui a4,0x40029 - 178a: 4611 li a2,4 - 178c: cb50 sw a2,20(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:506 - /* Resume DMA transmission*/ - ETH->DMATPDR = 0; - 178e: 00072223 sw zero,4(a4) # 40029004 <__freertos_irq_stack_top+0x1fff9004> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:511 - - /* Update the ETHERNET DMA global Tx descriptor with next Tx descriptor */ - /* Chained Mode */ - /* Selects the next DMA Tx descriptor list for next buffer to send */ - DMATxDescToSet = (ETH_DMADESCTypeDef*) (DMATxDescToSet->Buffer2NextDescAddr); - 1792: 47dc lw a5,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:513 - /* Return SUCCESS */ - return ETH_SUCCESS; - 1794: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:511 - DMATxDescToSet = (ETH_DMADESCTypeDef*) (DMATxDescToSet->Buffer2NextDescAddr); - 1796: 0af6aa23 sw a5,180(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:513 - return ETH_SUCCESS; - 179a: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:487 - return ETH_ERROR; - 179c: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:514 -} - 179e: 8082 ret - -000017a0 : -WCHNET_GetMacAddr(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:71 - *p = *macaddr; - 17a0: 1ffff737 lui a4,0x1ffff -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:65 -{ - 17a4: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:71 - *p = *macaddr; - 17a6: 7ed70713 addi a4,a4,2029 # 1ffff7ed <_data_lma+0x1fff22d9> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:69 - for(i=0;i<6;i++) - 17aa: 4699 li a3,6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:71 (discriminator 3) - *p = *macaddr; - 17ac: 40f70633 sub a2,a4,a5 - 17b0: 220c lbu a1,0(a2) - 17b2: 00f50633 add a2,a0,a5 - 17b6: 0785 addi a5,a5,1 - 17b8: a20c sb a1,0(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:69 (discriminator 3) - for(i=0;i<6;i++) - 17ba: fed799e3 bne a5,a3,17ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:75 -} - 17be: 8082 ret - -000017c0 : -WCHNET_TimeIsr(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:86 - LocalTime += timperiod; - 17c0: 200007b7 lui a5,0x20000 - 17c4: 0c878793 addi a5,a5,200 # 200000c8 - 17c8: 4398 lw a4,0(a5) - 17ca: 953a add a0,a0,a4 - 17cc: c388 sw a0,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:87 -} - 17ce: 8082 ret - -000017d0 : -ETH_RGMIIPinInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:143 -{ - 17d0: d1ffe2ef jal t0,4ee <__riscv_save_10> - 17d4: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:146 - RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); - 17d6: 4585 li a1,1 - 17d8: 4505 li a0,1 - 17da: 3b01 jal 14ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:147 - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); - 17dc: 4585 li a1,1 - 17de: 4571 li a0,28 - 17e0: 3329 jal 14ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:148 - GPIOB->CFGHR &= ~(0xff<<16); - 17e2: 40011937 lui s2,0x40011 - 17e6: c0492783 lw a5,-1020(s2) # 40010c04 <__freertos_irq_stack_top+0x1ffe0c04> - 17ea: ff010737 lui a4,0xff010 - 17ee: 177d addi a4,a4,-1 - 17f0: 8ff9 and a5,a5,a4 - 17f2: c0f92223 sw a5,-1020(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:149 - GPIOB->CFGHR |= (0xbb<<16); - 17f6: c0492783 lw a5,-1020(s2) - 17fa: 00bb0737 lui a4,0xbb0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:152 - GPIO_Output(GPIOA, GPIO_Pin_2); - 17fe: 440d li s0,3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:149 - GPIOB->CFGHR |= (0xbb<<16); - 1800: 8fd9 or a5,a5,a4 - 1802: c0f92223 sw a5,-1020(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:150 - GPIOB->CFGLR &= ~(0xff<<4); - 1806: c0092783 lw a5,-1024(s2) - 180a: 777d lui a4,0xfffff - 180c: 073d addi a4,a4,15 - 180e: 8ff9 and a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:152 - GPIO_Output(GPIOA, GPIO_Pin_2); - 1810: 44e1 li s1,24 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:150 - GPIOB->CFGLR &= ~(0xff<<4); - 1812: c0f92023 sw a5,-1024(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:152 - GPIO_Output(GPIOA, GPIO_Pin_2); - 1816: 004c addi a1,sp,4 - 1818: 4791 li a5,4 - 181a: 80090513 addi a0,s2,-2048 - 181e: 827c sh a5,4(sp) - 1820: c422 sw s0,8(sp) - 1822: c626 sw s1,12(sp) - 1824: a0bff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:153 - GPIO_Output(GPIOA, GPIO_Pin_3); - 1828: 4ba1 li s7,8 - 182a: 004c addi a1,sp,4 - 182c: 80090513 addi a0,s2,-2048 - 1830: 01711223 sh s7,4(sp) - 1834: c422 sw s0,8(sp) - 1836: c626 sw s1,12(sp) - 1838: 9f7ff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:154 - GPIO_Output(GPIOA, GPIO_Pin_7); - 183c: 08000b13 li s6,128 - 1840: 004c addi a1,sp,4 - 1842: 80090513 addi a0,s2,-2048 - 1846: 01611223 sh s6,4(sp) - 184a: c422 sw s0,8(sp) - 184c: c626 sw s1,12(sp) - 184e: 9e1ff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:155 - GPIO_Output(GPIOC, GPIO_Pin_4); - 1852: 47c1 li a5,16 - 1854: 004c addi a1,sp,4 - 1856: 40011537 lui a0,0x40011 - 185a: 827c sh a5,4(sp) - 185c: c422 sw s0,8(sp) - 185e: c626 sw s1,12(sp) - 1860: 9cfff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:156 - GPIO_Output(GPIOC, GPIO_Pin_5); - 1864: 02000793 li a5,32 - 1868: 004c addi a1,sp,4 - 186a: 40011537 lui a0,0x40011 - 186e: 827c sh a5,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:148 - GPIOB->CFGHR &= ~(0xff<<16); - 1870: c0090993 addi s3,s2,-1024 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:156 - GPIO_Output(GPIOC, GPIO_Pin_5); - 1874: c422 sw s0,8(sp) - 1876: c626 sw s1,12(sp) - 1878: 9b7ff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:157 - GPIO_Output(GPIOB, GPIO_Pin_0); - 187c: 4a85 li s5,1 - 187e: 004c addi a1,sp,4 - 1880: 854e mv a0,s3 - 1882: 01511223 sh s5,4(sp) - 1886: c422 sw s0,8(sp) - 1888: c626 sw s1,12(sp) - 188a: 9a5ff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:159 - GPIO_Input(GPIOC, GPIO_Pin_0); - 188e: 4491 li s1,4 - 1890: 004c addi a1,sp,4 - 1892: 40011537 lui a0,0x40011 - 1896: 01511223 sh s5,4(sp) - 189a: c422 sw s0,8(sp) - 189c: c626 sw s1,12(sp) - 189e: 991ff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:160 - GPIO_Input(GPIOC, GPIO_Pin_1); - 18a2: 4a09 li s4,2 - 18a4: 004c addi a1,sp,4 - 18a6: 40011537 lui a0,0x40011 - 18aa: 01411223 sh s4,4(sp) - 18ae: c422 sw s0,8(sp) - 18b0: c626 sw s1,12(sp) - 18b2: 97dff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:161 - GPIO_Input(GPIOC, GPIO_Pin_2); - 18b6: 004c addi a1,sp,4 - 18b8: 40011537 lui a0,0x40011 - 18bc: 8264 sh s1,4(sp) - 18be: c422 sw s0,8(sp) - 18c0: c626 sw s1,12(sp) - 18c2: 96dff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:162 - GPIO_Input(GPIOC, GPIO_Pin_3); - 18c6: 004c addi a1,sp,4 - 18c8: 40011537 lui a0,0x40011 - 18cc: 01711223 sh s7,4(sp) - 18d0: c422 sw s0,8(sp) - 18d2: c626 sw s1,12(sp) - 18d4: 95bff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:163 - GPIO_Input(GPIOA, GPIO_Pin_0); - 18d8: 004c addi a1,sp,4 - 18da: 80090513 addi a0,s2,-2048 - 18de: 01511223 sh s5,4(sp) - 18e2: c422 sw s0,8(sp) - 18e4: c626 sw s1,12(sp) - 18e6: 949ff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:164 - GPIO_Input(GPIOA, GPIO_Pin_1); - 18ea: 004c addi a1,sp,4 - 18ec: 80090513 addi a0,s2,-2048 - 18f0: 01411223 sh s4,4(sp) - 18f4: c422 sw s0,8(sp) - 18f6: c626 sw s1,12(sp) - 18f8: 937ff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:166 - GPIO_Input(GPIOB, GPIO_Pin_1); /* 125m in */ - 18fc: 004c addi a1,sp,4 - 18fe: 854e mv a0,s3 - 1900: 01411223 sh s4,4(sp) - 1904: c422 sw s0,8(sp) - 1906: c626 sw s1,12(sp) - 1908: 927ff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:167 - GPIO_Input(GPIOC, GPIO_Pin_7); /* interrupt pin */ - 190c: 004c addi a1,sp,4 - 190e: 40011537 lui a0,0x40011 - 1912: 01611223 sh s6,4(sp) - 1916: c422 sw s0,8(sp) - 1918: c626 sw s1,12(sp) - 191a: 915ff0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:168 -} - 191e: 0141 addi sp,sp,16 - 1920: c07fe06f j 526 <__riscv_restore_10> - -00001924 : -ETH_PHYLink(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:242 -{ - 1924: bd9fe2ef jal t0,4fc <__riscv_save_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:248 - ETH_WritePHYRegister( gPHYAddress, 0x1F, 0x0a43 ); - 1928: 200004b7 lui s1,0x20000 - 192c: 0cc48413 addi s0,s1,204 # 200000cc - 1930: 200a lhu a0,0(s0) - 1932: 6605 lui a2,0x1 - 1934: a4360613 addi a2,a2,-1469 # a43 - 1938: 45fd li a1,31 - 193a: dc0ff0ef jal ra,efa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:251 - ETH_ReadPHYRegister( gPHYAddress, 0x1A); - 193e: 200a lhu a0,0(s0) - 1940: 45e9 li a1,26 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:254 - if((ChipId & 0xf0) <= 0x20) - 1942: 200009b7 lui s3,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:251 - ETH_ReadPHYRegister( gPHYAddress, 0x1A); - 1946: d5cff0ef jal ra,ea2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:252 - phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1A); - 194a: 200a lhu a0,0(s0) - 194c: 45e9 li a1,26 - 194e: 0cc48493 addi s1,s1,204 - 1952: d50ff0ef jal ra,ea2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:254 - if((ChipId & 0xf0) <= 0x20) - 1956: 0bc9a783 lw a5,188(s3) # 200000bc - 195a: 02000713 li a4,32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:252 - phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1A); - 195e: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:254 - if((ChipId & 0xf0) <= 0x20) - 1960: 0f07f793 andi a5,a5,240 - 1964: 0bc98993 addi s3,s3,188 - 1968: 4941 li s2,16 - 196a: 06f77b63 bgeu a4,a5,19e0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:264 - LastPhyStat = phy_stat & 0x04; - 196e: 00447913 andi s2,s0,4 - 1972: 200007b7 lui a5,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:266 - WCHNET_PhyStatus( phy_stat ); - 1976: 8522 mv a0,s0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:264 - LastPhyStat = phy_stat & 0x04; - 1978: 0d279023 sh s2,192(a5) # 200000c0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:266 - WCHNET_PhyStatus( phy_stat ); - 197c: 192040ef jal ra,5b0e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:268 - if( phy_stat & 0x04 ) - 1980: 02090d63 beqz s2,19ba -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:271 - RGMII_TXC_Delay(0, 4); - 1984: 4591 li a1,4 - 1986: 4501 li a0,0 - 1988: ef8ff0ef jal ra,1080 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:272 - if( phy_stat & 0x08 ) - 198c: 00847793 andi a5,s0,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:274 - ETH->MACCR |= ETH_Mode_FullDuplex; - 1990: 400286b7 lui a3,0x40028 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:272 - if( phy_stat & 0x08 ) - 1994: c3ad beqz a5,19f6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:274 - ETH->MACCR |= ETH_Mode_FullDuplex; - 1996: 429c lw a5,0(a3) - 1998: 6705 lui a4,0x1 - 199a: 80070713 addi a4,a4,-2048 # 800 <__stack_size> - 199e: 8fd9 or a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:278 - ETH->MACCR &= ~ETH_Mode_FullDuplex; - 19a0: c29c sw a5,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:280 - if( (phy_stat & 0x30) == 0x00 ) - 19a2: 03047413 andi s0,s0,48 - 19a6: ec31 bnez s0,1a02 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:282 - ETH->MACCR &= ~(ETH_Speed_100M|ETH_Speed_1000M); - 19a8: 400286b7 lui a3,0x40028 - 19ac: 429c lw a5,0(a3) - 19ae: 7751 lui a4,0xffff4 - 19b0: 177d addi a4,a4,-1 - 19b2: 8ff9 and a5,a5,a4 - 19b4: c29c sw a5,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:297 - ETH_Start( ); - 19b6: e7aff0ef jal ra,1030 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:299 - phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1D); /* Clear the Interrupt status */ - 19ba: 208a lhu a0,0(s1) - 19bc: 45f5 li a1,29 - 19be: ce4ff0ef jal ra,ea2 - 19c2: a805 j 19f2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:258 - Delay_Us(100); - 19c4: 06400513 li a0,100 - 19c8: 501030ef jal ra,56c8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:259 - phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1A); - 19cc: 208a lhu a0,0(s1) - 19ce: 45e9 li a1,26 - 19d0: 197d addi s2,s2,-1 - 19d2: cd0ff0ef jal ra,ea2 - 19d6: 0ff97913 andi s2,s2,255 - 19da: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:260 - if(timeout++ == 15) break; - 19dc: 00090363 beqz s2,19e2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:256 - while(phy_stat == 0) - 19e0: d075 beqz s0,19c4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:262 - if(LastPhyStat == (phy_stat & 0x04)) return; - 19e2: 200007b7 lui a5,0x20000 - 19e6: 0c07d703 lhu a4,192(a5) # 200000c0 - 19ea: 00447793 andi a5,s0,4 - 19ee: f8f710e3 bne a4,a5,196e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:300 -} - 19f2: b3ffe06f j 530 <__riscv_restore_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:278 - ETH->MACCR &= ~ETH_Mode_FullDuplex; - 19f6: 429c lw a5,0(a3) - 19f8: 777d lui a4,0xfffff - 19fa: 7ff70713 addi a4,a4,2047 # fffff7ff <__freertos_irq_stack_top+0xdffcf7ff> - 19fe: 8ff9 and a5,a5,a4 - 1a00: b745 j 19a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:284 - else if( (phy_stat & 0x30) == 0x10 ) - 1a02: 47c1 li a5,16 - 1a04: 00f41e63 bne s0,a5,1a20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:286 - ETH->MACCR &= ~(ETH_Speed_100M|ETH_Speed_1000M); - 1a08: 400287b7 lui a5,0x40028 - 1a0c: 4398 lw a4,0(a5) - 1a0e: 76d1 lui a3,0xffff4 - 1a10: 16fd addi a3,a3,-1 - 1a12: 8f75 and a4,a4,a3 - 1a14: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:287 - ETH->MACCR |= ETH_Speed_100M; - 1a16: 4398 lw a4,0(a5) - 1a18: 6691 lui a3,0x4 - 1a1a: 8f55 or a4,a4,a3 - 1a1c: c398 sw a4,0(a5) - 1a1e: bf61 j 19b6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:289 - else if( (phy_stat & 0x30) == 0x20 ) - 1a20: 02000793 li a5,32 - 1a24: f8f419e3 bne s0,a5,19b6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:291 - ETH->MACCR &= ~(ETH_Speed_100M|ETH_Speed_1000M); - 1a28: 400287b7 lui a5,0x40028 - 1a2c: 4398 lw a4,0(a5) - 1a2e: 76d1 lui a3,0xffff4 - 1a30: 16fd addi a3,a3,-1 - 1a32: 8f75 and a4,a4,a3 - 1a34: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:292 - ETH->MACCR |= ETH_Speed_1000M; - 1a36: 4398 lw a4,0(a5) - 1a38: 66a1 lui a3,0x8 - 1a3a: 8f55 or a4,a4,a3 - 1a3c: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:294 - if((ChipId & 0xf0) >= 0x60) - 1a3e: 0009a783 lw a5,0(s3) - 1a42: 05f00713 li a4,95 - 1a46: 0f07f793 andi a5,a5,240 - 1a4a: f6f776e3 bgeu a4,a5,19b6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:295 - RGMII_TXC_Delay(1, 2); - 1a4e: 4589 li a1,2 - 1a50: 4505 li a0,1 - 1a52: e2eff0ef jal ra,1080 - 1a56: b785 j 19b6 - -00001a58 : -WCHNET_QueryPhySta(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:100 - if(QUERY_STAT_FLAG){ /* Query the PHY link status every 1s */ - 1a58: 20000737 lui a4,0x20000 - 1a5c: 0c870713 addi a4,a4,200 # 200000c8 - 1a60: 4314 lw a3,0(a4) - 1a62: 3e800613 li a2,1000 - 1a66: 200007b7 lui a5,0x20000 - 1a6a: 02c6d6b3 divu a3,a3,a2 - 1a6e: 0c478793 addi a5,a5,196 # 200000c4 - 1a72: 438c lw a1,0(a5) - 1a74: 04b68163 beq a3,a1,1ab6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:98 -{ - 1a78: a9ffe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:101 - LastQueryPhyTime = LocalTime / 1000; - 1a7c: 4318 lw a4,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:102 - ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 ); - 1a7e: 45fd li a1,31 - 1a80: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:101 - LastQueryPhyTime = LocalTime / 1000; - 1a82: 02c75733 divu a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:102 - ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 ); - 1a86: 6605 lui a2,0x1 - 1a88: a4360613 addi a2,a2,-1469 # a43 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:101 - LastQueryPhyTime = LocalTime / 1000; - 1a8c: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:102 - ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 ); - 1a8e: c6cff0ef jal ra,efa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:105 - ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A); - 1a92: 45e9 li a1,26 - 1a94: 4505 li a0,1 - 1a96: c0cff0ef jal ra,ea2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:106 - phy_stat = ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A) & 0x04; - 1a9a: 45e9 li a1,26 - 1a9c: 4505 li a0,1 - 1a9e: c04ff0ef jal ra,ea2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:107 - if((phy_stat != LastPhyStat) && (phy_stat != 0xffff)){ - 1aa2: 200007b7 lui a5,0x20000 - 1aa6: 0c07d783 lhu a5,192(a5) # 200000c0 - 1aaa: 8911 andi a0,a0,4 - 1aac: 00a78363 beq a5,a0,1ab2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:108 - ETH_PHYLink(); - 1ab0: 3d95 jal 1924 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:111 -} - 1ab2: a89fe06f j 53a <__riscv_restore_0> - 1ab6: 8082 ret - -00001ab8 : -WCHNET_MainTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:124 -{ - 1ab8: a5ffe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:125 - WCHNET_NetInput( ); /* Ethernet data input */ - 1abc: 03e040ef jal ra,5afa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:126 - WCHNET_PeriodicHandle( ); /* Protocol stack time-related task processing */ - 1ac0: 679030ef jal ra,5938 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:129 - WCHNET_QueryPhySta(); /* Query external PHY status */ - 1ac4: 3f51 jal 1a58 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:131 -} - 1ac6: a75fe06f j 53a <__riscv_restore_0> - -00001aca : -ETH_RegInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:313 -{ - 1aca: a4dfe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:315 - ETH->MACMIIAR = (uint32_t)ETH_MACMIIAR_CR_Div42; - 1ace: 400286b7 lui a3,0x40028 - 1ad2: 0006a823 sw zero,16(a3) # 40028010 <__freertos_irq_stack_top+0x1fff8010> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:313 -{ - 1ad6: 87aa mv a5,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:318 - ETH->MACCR = (uint32_t)(ETH_InitStruct->ETH_Watchdog | - 1ad8: 4790 lw a2,8(a5) - 1ada: 43d8 lw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:313 -{ - 1adc: 852e mv a0,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:351 - ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset); - 1ade: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:318 - ETH->MACCR = (uint32_t)(ETH_InitStruct->ETH_Watchdog | - 1ae0: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:319 - ETH_InitStruct->ETH_Jabber | - 1ae2: 47d0 lw a2,12(a5) - 1ae4: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:320 - ETH_InitStruct->ETH_InterFrameGap | - 1ae6: 53d0 lw a2,36(a5) - 1ae8: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:321 - ETH_InitStruct->ETH_ChecksumOffload | - 1aea: 57d0 lw a2,44(a5) - 1aec: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:322 - ETH_InitStruct->ETH_AutomaticPadCRCStrip | - 1aee: 4fd0 lw a2,28(a5) - 1af0: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:318 - ETH->MACCR = (uint32_t)(ETH_InitStruct->ETH_Watchdog | - 1af2: c298 sw a4,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:325 - ETH->MACFFR = (uint32_t)(ETH_InitStruct->ETH_ReceiveAll | - 1af4: 5fd0 lw a2,60(a5) - 1af6: 5f98 lw a4,56(a5) - 1af8: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:326 - ETH_InitStruct->ETH_SourceAddrFilter | - 1afa: 43b0 lw a2,64(a5) - 1afc: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:327 - ETH_InitStruct->ETH_PassControlFrames | - 1afe: 43f0 lw a2,68(a5) - 1b00: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:328 - ETH_InitStruct->ETH_BroadcastFramesReception | - 1b02: 47b0 lw a2,72(a5) - 1b04: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:329 - ETH_InitStruct->ETH_DestinationAddrFilter | - 1b06: 47f0 lw a2,76(a5) - 1b08: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:330 - ETH_InitStruct->ETH_PromiscuousMode | - 1b0a: 4bb0 lw a2,80(a5) - 1b0c: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:331 - ETH_InitStruct->ETH_MulticastFramesFilter | - 1b0e: 4bf0 lw a2,84(a5) - 1b10: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:325 - ETH->MACFFR = (uint32_t)(ETH_InitStruct->ETH_ReceiveAll | - 1b12: c2d8 sw a4,4(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:334 - ETH->MACHTHR = (uint32_t)ETH_InitStruct->ETH_HashTableHigh; - 1b14: 4fb8 lw a4,88(a5) - 1b16: c698 sw a4,8(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:335 - ETH->MACHTLR = (uint32_t)ETH_InitStruct->ETH_HashTableLow; - 1b18: 4ff8 lw a4,92(a5) - 1b1a: c6d8 sw a4,12(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:339 - ETH_InitStruct->ETH_ReceiveFlowControl | - 1b1c: 5bb0 lw a2,112(a5) - 1b1e: 57f8 lw a4,108(a5) - 1b20: 8f51 or a4,a4,a2 - 1b22: 5bf0 lw a2,116(a5) - 1b24: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:337 - ETH->MACFCR = (uint32_t)((ETH_InitStruct->ETH_PauseTime << 16) | - 1b26: 53b0 lw a2,96(a5) - 1b28: 0642 slli a2,a2,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:339 - ETH_InitStruct->ETH_ReceiveFlowControl | - 1b2a: 8f51 or a4,a4,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:337 - ETH->MACFCR = (uint32_t)((ETH_InitStruct->ETH_PauseTime << 16) | - 1b2c: ce98 sw a4,24(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:342 - ETH->MACVLANTR = (uint32_t)(ETH_InitStruct->ETH_VLANTagComparison | - 1b2e: 5ff0 lw a2,124(a5) - 1b30: 5fb8 lw a4,120(a5) - 1b32: 8f51 or a4,a4,a2 - 1b34: ced8 sw a4,28(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:345 - ETH->DMAOMR = (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame | - 1b36: 08c7a683 lw a3,140(a5) - 1b3a: 0807a703 lw a4,128(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:351 - ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset); - 1b3e: 6621 lui a2,0x8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:345 - ETH->DMAOMR = (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame | - 1b40: 8f55 or a4,a4,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:346 - ETH_InitStruct->ETH_TransmitStoreForward | - 1b42: 0947a683 lw a3,148(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:347 - ETH_InitStruct->ETH_ForwardErrorFrames | - 1b46: 0987a783 lw a5,152(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:346 - ETH_InitStruct->ETH_TransmitStoreForward | - 1b4a: 8f55 or a4,a4,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:347 - ETH_InitStruct->ETH_ForwardErrorFrames | - 1b4c: 8f5d or a4,a4,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:345 - ETH->DMAOMR = (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame | - 1b4e: 400297b7 lui a5,0x40029 - 1b52: cf98 sw a4,24(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:351 - ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset); - 1b54: ba6ff0ef jal ra,efa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:353 -} - 1b58: 4505 li a0,1 - 1b5a: 9e1fe06f j 53a <__riscv_restore_0> - -00001b5e : -ETH_Configuration(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:363 -{ - 1b5e: 99ffe2ef jal t0,4fc <__riscv_save_4> - 1b62: 7131 addi sp,sp,-192 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:368 - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | \ - 1b64: 4585 li a1,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:363 -{ - 1b66: 84aa mv s1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:368 - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | \ - 1b68: 6571 lui a0,0x1c - 1b6a: 963ff0ef jal ra,14cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:375 - EXTEN->EXTEN_CTR |= EXTEN_ETH_RGMII_SEL; - 1b6e: 40024737 lui a4,0x40024 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:372 - gPHYAddress = PHY_ADDRESS; - 1b72: 20000937 lui s2,0x20000 - 1b76: 4785 li a5,1 - 1b78: 0cf91623 sh a5,204(s2) # 200000cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:375 - EXTEN->EXTEN_CTR |= EXTEN_ETH_RGMII_SEL; - 1b7c: 80072783 lw a5,-2048(a4) # 40023800 <__freertos_irq_stack_top+0x1fff3800> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:376 - RCC_ETH1GCLKConfig(RCC_ETH1GCLKSource_PB1_IN); - 1b80: 4509 li a0,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:385 - ETH_SoftwareReset(); - 1b82: 6409 lui s0,0x2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:375 - EXTEN->EXTEN_CTR |= EXTEN_ETH_RGMII_SEL; - 1b84: 0087e793 ori a5,a5,8 - 1b88: 80f72023 sw a5,-2048(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:376 - RCC_ETH1GCLKConfig(RCC_ETH1GCLKSource_PB1_IN); - 1b8c: 9b9ff0ef jal ra,1544 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:377 - RCC_ETH1G_125Mcmd(ENABLE); - 1b90: 4505 li a0,1 - 1b92: 9cdff0ef jal ra,155e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:385 - ETH_SoftwareReset(); - 1b96: 71040413 addi s0,s0,1808 # 2710 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:379 - ETH_RGMIIPinInit(); - 1b9a: 391d jal 17d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:382 - ETH_DeInit(); - 1b9c: 0cc90913 addi s2,s2,204 - 1ba0: aeeff0ef jal ra,e8e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:391 - }while(ETH->DMABMR & ETH_DMABMR_SR); - 1ba4: 400299b7 lui s3,0x40029 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:385 - ETH_SoftwareReset(); - 1ba8: c62ff0ef jal ra,100a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:389 - Delay_Us(10); - 1bac: 147d addi s0,s0,-1 - 1bae: 0442 slli s0,s0,0x10 - 1bb0: 4529 li a0,10 - 1bb2: 8041 srli s0,s0,0x10 - 1bb4: 315030ef jal ra,56c8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:390 - if( !--timeout ) break; - 1bb8: c409 beqz s0,1bc2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:391 - }while(ETH->DMABMR & ETH_DMABMR_SR); - 1bba: 0009a783 lw a5,0(s3) # 40029000 <__freertos_irq_stack_top+0x1fff9000> - 1bbe: 8b85 andi a5,a5,1 - 1bc0: f7f5 bnez a5,1bac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:438 - ETH_RegInit( Ð_InitStructure, gPHYAddress ); - 1bc2: 00095583 lhu a1,0(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:412 - ETH_InitStructure.ETH_PassControlFrames = ETH_PassControlFrames_BlockAll; - 1bc6: 04000793 li a5,64 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:434 - ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable; - 1bca: 00200437 lui s0,0x200 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:435 - ETH_InitStructure.ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Enable; - 1bce: 08000713 li a4,128 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:438 - ETH_RegInit( Ð_InitStructure, gPHYAddress ); - 1bd2: 0048 addi a0,sp,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:412 - ETH_InitStructure.ETH_PassControlFrames = ETH_PassControlFrames_BlockAll; - 1bd4: c2be sw a5,68(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:434 - ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable; - 1bd6: c922 sw s0,144(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:435 - ETH_InitStructure.ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Enable; - 1bd8: cd3a sw a4,152(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:436 - ETH_InitStructure.ETH_ForwardUndersizedGoodFrames = ETH_ForwardUndersizedGoodFrames_Enable; - 1bda: cf3e sw a5,156(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:395 - ETH_InitStructure.ETH_Watchdog = ETH_Watchdog_Enable; - 1bdc: c402 sw zero,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:396 - ETH_InitStructure.ETH_Jabber = ETH_Jabber_Enable; - 1bde: c602 sw zero,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:397 - ETH_InitStructure.ETH_InterFrameGap = ETH_InterFrameGap_96Bit; - 1be0: c802 sw zero,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:401 - ETH_InitStructure.ETH_ChecksumOffload = ETH_ChecksumOffload_Disable; - 1be2: d402 sw zero,40(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:403 - ETH_InitStructure.ETH_AutomaticPadCRCStrip = ETH_AutomaticPadCRCStrip_Disable; - 1be4: d802 sw zero,48(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:404 - ETH_InitStructure.ETH_LoopbackMode = ETH_LoopbackMode_Disable; - 1be6: d002 sw zero,32(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:407 - ETH_InitStructure.ETH_ReceiveAll = ETH_ReceiveAll_Disable; - 1be8: de02 sw zero,60(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:408 - ETH_InitStructure.ETH_PromiscuousMode = ETH_PromiscuousMode_Disable; - 1bea: c882 sw zero,80(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:409 - ETH_InitStructure.ETH_BroadcastFramesReception = ETH_BroadcastFramesReception_Enable; - 1bec: c482 sw zero,72(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:410 - ETH_InitStructure.ETH_MulticastFramesFilter = ETH_MulticastFramesFilter_Perfect; - 1bee: ca82 sw zero,84(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:411 - ETH_InitStructure.ETH_UnicastFramesFilter = ETH_UnicastFramesFilter_Perfect; - 1bf0: cc82 sw zero,88(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:413 - ETH_InitStructure.ETH_DestinationAddrFilter = ETH_DestinationAddrFilter_Normal; - 1bf2: c682 sw zero,76(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:414 - ETH_InitStructure.ETH_SourceAddrFilter = ETH_SourceAddrFilter_Disable; - 1bf4: c082 sw zero,64(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:416 - ETH_InitStructure.ETH_HashTableHigh = 0x0; - 1bf6: ce82 sw zero,92(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:417 - ETH_InitStructure.ETH_HashTableLow = 0x0; - 1bf8: d082 sw zero,96(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:420 - ETH_InitStructure.ETH_VLANTagComparison = ETH_VLANTagComparison_16Bit; - 1bfa: de82 sw zero,124(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:421 - ETH_InitStructure.ETH_VLANTagIdentifier = 0x0; - 1bfc: c102 sw zero,128(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:424 - ETH_InitStructure.ETH_PauseTime = 0x0; - 1bfe: d282 sw zero,100(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:425 - ETH_InitStructure.ETH_UnicastPauseFrameDetect = ETH_UnicastPauseFrameDetect_Disable; - 1c00: d882 sw zero,112(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:426 - ETH_InitStructure.ETH_ReceiveFlowControl = ETH_ReceiveFlowControl_Disable; - 1c02: da82 sw zero,116(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:427 - ETH_InitStructure.ETH_TransmitFlowControl = ETH_TransmitFlowControl_Disable; - 1c04: dc82 sw zero,120(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:433 - ETH_InitStructure.ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Enable; - 1c06: c302 sw zero,132(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:438 - ETH_RegInit( Ð_InitStructure, gPHYAddress ); - 1c08: 35c9 jal 1aca -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:441 - ETH->MACA0HR = (uint32_t)((macAddr[5]<<8) | macAddr[4]); - 1c0a: 30dc lbu a5,5(s1) - 1c0c: 20d8 lbu a4,4(s1) - 1c0e: 400286b7 lui a3,0x40028 - 1c12: 07a2 slli a5,a5,0x8 - 1c14: 8fd9 or a5,a5,a4 - 1c16: c2bc sw a5,64(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:442 - ETH->MACA0LR = (uint32_t)(macAddr[0] | (macAddr[1]<<8) | (macAddr[2]<<16) | (macAddr[3]<<24)); - 1c18: 3098 lbu a4,1(s1) - 1c1a: 209c lbu a5,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:450 - ETH_DMAITConfig(ETH_DMA_IT_NIS |\ - 1c1c: 6561 lui a0,0x18 - 1c1e: 0722 slli a4,a4,0x8 - 1c20: 8f5d or a4,a4,a5 - 1c22: 20bc lbu a5,2(s1) - 1c24: 4585 li a1,1 - 1c26: 0c150513 addi a0,a0,193 # 180c1 <_data_lma+0xabad> - 1c2a: 07c2 slli a5,a5,0x10 - 1c2c: 8f5d or a4,a4,a5 - 1c2e: 30bc lbu a5,3(s1) - 1c30: 07e2 slli a5,a5,0x18 - 1c32: 8fd9 or a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:442 - ETH->MACA0LR = (uint32_t)(macAddr[0] | (macAddr[1]<<8) | (macAddr[2]<<16) | (macAddr[3]<<24)); - 1c34: c2fc sw a5,68(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:448 - ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM; - 1c36: 000207b7 lui a5,0x20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:445 - ETH->MMCTIMR = ETH_MMCTIMR_TGFM; - 1c3a: 1086a823 sw s0,272(a3) # 40028110 <__freertos_irq_stack_top+0x1fff8110> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:448 - ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM; - 1c3e: 02078793 addi a5,a5,32 # 20020 <_data_lma+0x12b0c> - 1c42: 10f6a623 sw a5,268(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:450 - ETH_DMAITConfig(ETH_DMA_IT_NIS |\ - 1c46: c1cff0ef jal ra,1062 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:463 - ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 ); - 1c4a: 6605 lui a2,0x1 - 1c4c: a4360613 addi a2,a2,-1469 # a43 - 1c50: 45fd li a1,31 - 1c52: 4505 li a0,1 - 1c54: aa6ff0ef jal ra,efa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:466 - ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A); - 1c58: 45e9 li a1,26 - 1c5a: 4505 li a0,1 - 1c5c: a46ff0ef jal ra,ea2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:467 - LastPhyStat = ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A) & 0x04; - 1c60: 45e9 li a1,26 - 1c62: 4505 li a0,1 - 1c64: a3eff0ef jal ra,ea2 - 1c68: 8911 andi a0,a0,4 - 1c6a: 200007b7 lui a5,0x20000 - 1c6e: 0ca79023 sh a0,192(a5) # 200000c0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:469 -} - 1c72: 6129 addi sp,sp,192 - 1c74: 8bdfe06f j 530 <__riscv_restore_4> - -00001c78 : -ETH_Stop(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:524 - * @brief Disables ENET MAC and DMA reception/transmission. - * - * @return none - */ -void ETH_Stop(void) -{ - 1c78: 89ffe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:525 - ETH_MACTransmissionCmd(DISABLE); - 1c7c: 4501 li a0,0 - 1c7e: aceff0ef jal ra,f4c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:526 - ETH_FlushTransmitFIFO(); - 1c82: b9eff0ef jal ra,1020 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:527 - ETH_MACReceptionCmd(DISABLE); - 1c86: 4501 li a0,0 - 1c88: ad8ff0ef jal ra,f60 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:528 -} - 1c8c: 8affe06f j 53a <__riscv_restore_0> - -00001c90 : -ReInitMACReg(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:540 - * @param none. - * - * @return none. - */ -void ReInitMACReg(void) -{ - 1c90: 85ffe2ef jal t0,4ee <__riscv_save_10> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:546 - uint16_t timeout = 10000; - uint32_t maccr, macmiiar, macffr, machthr, machtlr; - uint32_t macfcr, macvlantr, dmaomr; - - /* Wait for sending data to complete */ - while((ETH->DMASR & (7 << 20)) != ETH_DMA_TransmitProcess_Suspended); - 1c94: 40028437 lui s0,0x40028 - 1c98: 400294b7 lui s1,0x40029 - 1c9c: 007006b7 lui a3,0x700 - 1ca0: 00600737 lui a4,0x600 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:546 (discriminator 1) - 1ca4: 48dc lw a5,20(s1) - 1ca6: 8ff5 and a5,a5,a3 - 1ca8: fee79ee3 bne a5,a4,1ca4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:548 - - ETH_Stop(); - 1cac: 37f1 jal 1c78 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:551 - - /* Record the register value */ - macmiiar = ETH->MACMIIAR; - 1cae: 01042b83 lw s7,16(s0) # 40028010 <__freertos_irq_stack_top+0x1fff8010> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:552 - maccr = ETH->MACCR; - 1cb2: 00042b03 lw s6,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:553 - macffr = ETH->MACFFR; - 1cb6: 00442a83 lw s5,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:554 - machthr = ETH->MACHTHR; - 1cba: 00842a03 lw s4,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:555 - machtlr = ETH->MACHTLR; - 1cbe: 00c42983 lw s3,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:556 - macfcr = ETH->MACFCR; - 1cc2: 01842903 lw s2,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:557 - macvlantr = ETH->MACVLANTR; - 1cc6: 01c42c03 lw s8,28(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:564 - - /* Reset ETHERNET on AHB Bus */ - ETH_DeInit(); - - /* Software reset */ - ETH_SoftwareReset(); - 1cca: 6409 lui s0,0x2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:558 - dmaomr = ETH->DMAOMR; - 1ccc: 4c84 lw s1,24(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:564 - ETH_SoftwareReset(); - 1cce: 71040413 addi s0,s0,1808 # 2710 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:561 - ETH_DeInit(); - 1cd2: 9bcff0ef jal ra,e8e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:570 - - /* Wait for software reset */ - do{ - Delay_Us(10); - if( !--timeout ) break; - }while(ETH->DMABMR & ETH_DMABMR_SR); - 1cd6: 40029cb7 lui s9,0x40029 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:564 - ETH_SoftwareReset(); - 1cda: b30ff0ef jal ra,100a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:568 - Delay_Us(10); - 1cde: 147d addi s0,s0,-1 - 1ce0: 0442 slli s0,s0,0x10 - 1ce2: 4529 li a0,10 - 1ce4: 8041 srli s0,s0,0x10 - 1ce6: 1e3030ef jal ra,56c8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:569 - if( !--timeout ) break; - 1cea: c409 beqz s0,1cf4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:570 - }while(ETH->DMABMR & ETH_DMABMR_SR); - 1cec: 000ca783 lw a5,0(s9) # 40029000 <__freertos_irq_stack_top+0x1fff9000> - 1cf0: 8b85 andi a5,a5,1 - 1cf2: f7f5 bnez a5,1cde -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:573 - - /* Configure MAC address */ - ETH->MACA0HR = (uint32_t)((MACAddr[5]<<8) | MACAddr[4]); - 1cf4: 200006b7 lui a3,0x20000 - 1cf8: 0a468713 addi a4,a3,164 # 200000a4 - 1cfc: 335c lbu a5,5(a4) - 1cfe: 2350 lbu a2,4(a4) - 1d00: 40028437 lui s0,0x40028 - 1d04: 07a2 slli a5,a5,0x8 - 1d06: 8fd1 or a5,a5,a2 - 1d08: c03c sw a5,64(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:574 - ETH->MACA0LR = (uint32_t)(MACAddr[0] | (MACAddr[1]<<8) | (MACAddr[2]<<16) | (MACAddr[3]<<24)); - 1d0a: 0a56c703 lbu a4,165(a3) - 1d0e: 0a46c783 lbu a5,164(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:582 - ETH->MMCTIMR = ETH_MMCTIMR_TGFM; - /* Mask the interrupt that Rx good unicast frames counter reaches half the maximum value */ - /* Mask the interrupt that Rx crc error counter reaches half the maximum value */ - ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM; - - ETH_DMAITConfig(ETH_DMA_IT_NIS |\ - 1d12: 6561 lui a0,0x18 - 1d14: 0722 slli a4,a4,0x8 - 1d16: 8f5d or a4,a4,a5 - 1d18: 0a66c783 lbu a5,166(a3) - 1d1c: 4585 li a1,1 - 1d1e: 0c150513 addi a0,a0,193 # 180c1 <_data_lma+0xabad> - 1d22: 07c2 slli a5,a5,0x10 - 1d24: 8f5d or a4,a4,a5 - 1d26: 0a76c783 lbu a5,167(a3) - 1d2a: 07e2 slli a5,a5,0x18 - 1d2c: 8fd9 or a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:574 - ETH->MACA0LR = (uint32_t)(MACAddr[0] | (MACAddr[1]<<8) | (MACAddr[2]<<16) | (MACAddr[3]<<24)); - 1d2e: c07c sw a5,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:577 - ETH->MMCTIMR = ETH_MMCTIMR_TGFM; - 1d30: 002007b7 lui a5,0x200 - 1d34: 10f42823 sw a5,272(s0) # 40028110 <__freertos_irq_stack_top+0x1fff8110> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:580 - ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM; - 1d38: 000207b7 lui a5,0x20 - 1d3c: 02078793 addi a5,a5,32 # 20020 <_data_lma+0x12b0c> - 1d40: 10f42623 sw a5,268(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:582 - ETH_DMAITConfig(ETH_DMA_IT_NIS |\ - 1d44: b1eff0ef jal ra,1062 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:589 - ETH_DMA_IT_T |\ - ETH_DMA_IT_AIS |\ - ETH_DMA_IT_RBU,\ - ENABLE); - - ETH_DMATxDescChainInit(DMATxDscrTab, MACTxBuf, ETH_TXBUFNB); - 1d48: 20007537 lui a0,0x20007 - 1d4c: 200095b7 lui a1,0x20009 - 1d50: 95850c93 addi s9,a0,-1704 # 20006958 - 1d54: 4609 li a2,2 - 1d56: 32458593 addi a1,a1,804 # 20009324 - 1d5a: 95850513 addi a0,a0,-1704 - 1d5e: a16ff0ef jal ra,f74 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:590 - ETH_DMARxDescChainInit(DMARxDscrTab, MACRxBuf, ETH_RXBUFNB); - 1d62: 20007537 lui a0,0x20007 - 1d66: 200075b7 lui a1,0x20007 - 1d6a: 8e850d13 addi s10,a0,-1816 # 200068e8 - 1d6e: 461d li a2,7 - 1d70: 97858593 addi a1,a1,-1672 # 20006978 - 1d74: 8e850513 addi a0,a0,-1816 - 1d78: a42ff0ef jal ra,fba -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:591 - pDMARxSet = DMARxDscrTab; - 1d7c: 200007b7 lui a5,0x20000 - 1d80: 0da7a823 sw s10,208(a5) # 200000d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:592 - pDMATxSet = DMATxDscrTab; - 1d84: 200007b7 lui a5,0x20000 - 1d88: 0d97aa23 sw s9,212(a5) # 200000d4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:594 - - ETH->MACMIIAR = macmiiar; - 1d8c: 01742823 sw s7,16(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:595 - ETH->MACCR = maccr; - 1d90: 01642023 sw s6,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:596 - ETH->MACFFR = macffr; - 1d94: 01542223 sw s5,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:597 - ETH->MACHTHR = machthr; - 1d98: 01442423 sw s4,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:598 - ETH->MACHTLR = machtlr; - 1d9c: 01342623 sw s3,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:599 - ETH->MACFCR = macfcr; - 1da0: 01242c23 sw s2,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:600 - ETH->MACVLANTR = macvlantr; - 1da4: 01842e23 sw s8,28(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:601 - ETH->DMAOMR = dmaomr; - 1da8: 400297b7 lui a5,0x40029 - 1dac: cf84 sw s1,24(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:603 - - ETH_Start( ); - 1dae: a82ff0ef jal ra,1030 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:604 -} - 1db2: f74fe06f j 526 <__riscv_restore_10> - -00001db6 : -WCHNET_RecProcess(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:617 - * - * @return none. - */ -void WCHNET_RecProcess(void) -{ - if(((ChipId & 0xf0) <= 0x20) && \ - 1db6: 200007b7 lui a5,0x20000 - 1dba: 0bc7a783 lw a5,188(a5) # 200000bc - 1dbe: 02000713 li a4,32 - 1dc2: 0f07f793 andi a5,a5,240 - 1dc6: 02f76263 bltu a4,a5,1dea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:616 (discriminator 1) -{ - 1dca: f4cfe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:618 (discriminator 1) - ((ETH->DMAMFBOCR & 0x1FFE0000) != 0)) - 1dce: 40029437 lui s0,0x40029 - 1dd2: 501c lw a5,32(s0) - 1dd4: 1ffe0737 lui a4,0x1ffe0 - 1dd8: 8ff9 and a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:617 (discriminator 1) - if(((ChipId & 0xf0) <= 0x20) && \ - 1dda: c791 beqz a5,1de6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:620 - { - ReInitMACReg(); - 1ddc: 3d55 jal 1c90 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:622 - /* Resume DMA transport */ - ETH->DMARPDR = 0; - 1dde: 00042423 sw zero,8(s0) # 40029008 <__freertos_irq_stack_top+0x1fff9008> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:623 - ETH->DMATPDR = 0; - 1de2: 00042223 sw zero,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:625 - } -} - 1de6: f54fe06f j 53a <__riscv_restore_0> - 1dea: 8082 ret - -00001dec : -WCHNET_ETHIsr(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:635 - * @brief Ethernet Interrupt Service Routine - * - * @return none - */ -void WCHNET_ETHIsr(void) -{ - 1dec: f2afe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:638 - uint32_t int_sta; - - int_sta = ETH->DMASR; - 1df0: 400297b7 lui a5,0x40029 - 1df4: 4bc0 lw s0,20(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:639 - if (int_sta & ETH_DMA_IT_AIS) - 1df6: 01041793 slli a5,s0,0x10 - 1dfa: 0007dd63 bgez a5,1e14 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:641 - { - if (int_sta & ETH_DMA_IT_RBU) - 1dfe: 08047793 andi a5,s0,128 - 1e02: c791 beqz a5,1e0e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:643 - { - WCHNET_RecProcess(); - 1e04: 3f4d jal 1db6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:644 - ETH_DMAClearITPendingBit(ETH_DMA_IT_RBU); - 1e06: 08000513 li a0,128 - 1e0a: a0eff0ef jal ra,1018 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:646 - } - ETH_DMAClearITPendingBit(ETH_DMA_IT_AIS); - 1e0e: 6521 lui a0,0x8 - 1e10: a08ff0ef jal ra,1018 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:649 - } - - if( int_sta & ETH_DMA_IT_NIS ) - 1e14: 00f41793 slli a5,s0,0xf - 1e18: 0207d163 bgez a5,1e3a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:651 - { - if( int_sta & ETH_DMA_IT_R ) - 1e1c: 04047793 andi a5,s0,64 - 1e20: c789 beqz a5,1e2a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:655 - { - /*If you don't use the Ethernet library, - * you can do some data processing operations here*/ - ETH_DMAClearITPendingBit(ETH_DMA_IT_R); - 1e22: 04000513 li a0,64 - 1e26: 9f2ff0ef jal ra,1018 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:657 - } - if( int_sta & ETH_DMA_IT_T ) - 1e2a: 8805 andi s0,s0,1 - 1e2c: c401 beqz s0,1e34 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:659 - { - ETH_DMAClearITPendingBit(ETH_DMA_IT_T); - 1e2e: 4505 li a0,1 - 1e30: 9e8ff0ef jal ra,1018 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:661 - } - ETH_DMAClearITPendingBit(ETH_DMA_IT_NIS); - 1e34: 6541 lui a0,0x10 - 1e36: 9e2ff0ef jal ra,1018 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:663 - } -} - 1e3a: f00fe06f j 53a <__riscv_restore_0> - -00001e3e : -ETH_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:673 - * @brief Ethernet initialization. - * - * @return none - */ -void ETH_Init( uint8_t *macAddr ) -{ - 1e3e: ed8fe2ef jal t0,516 <__riscv_save_0> - 1e42: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:674 - ChipId = DBGMCU_GetCHIPID(); - 1e44: f97fe0ef jal ra,dda - 1e48: 200007b7 lui a5,0x20000 - 1e4c: 0aa7ae23 sw a0,188(a5) # 200000bc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:675 - ETH_Configuration( macAddr ); - 1e50: 8522 mv a0,s0 - 1e52: 3331 jal 1b5e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:676 - ETH_DMATxDescChainInit(DMATxDscrTab, MACTxBuf, ETH_TXBUFNB); - 1e54: 20007537 lui a0,0x20007 - 1e58: 200095b7 lui a1,0x20009 - 1e5c: 95850413 addi s0,a0,-1704 # 20006958 - 1e60: 4609 li a2,2 - 1e62: 32458593 addi a1,a1,804 # 20009324 - 1e66: 95850513 addi a0,a0,-1704 - 1e6a: 90aff0ef jal ra,f74 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:677 - ETH_DMARxDescChainInit(DMARxDscrTab, MACRxBuf, ETH_RXBUFNB); - 1e6e: 20007537 lui a0,0x20007 - 1e72: 200075b7 lui a1,0x20007 - 1e76: 8e850493 addi s1,a0,-1816 # 200068e8 - 1e7a: 461d li a2,7 - 1e7c: 97858593 addi a1,a1,-1672 # 20006978 - 1e80: 8e850513 addi a0,a0,-1816 - 1e84: 936ff0ef jal ra,fba -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:678 - pDMARxSet = DMARxDscrTab; - 1e88: 200007b7 lui a5,0x20000 - 1e8c: 0c97a823 sw s1,208(a5) # 200000d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:679 - pDMATxSet = DMATxDscrTab; - 1e90: 200007b7 lui a5,0x20000 - 1e94: 0c87aa23 sw s0,212(a5) # 200000d4 -NVIC_EnableIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:170 - NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); - 1e98: 6709 lui a4,0x2 - 1e9a: e000e7b7 lui a5,0xe000e - 1e9e: 10e7a423 sw a4,264(a5) # e000e108 <__freertos_irq_stack_top+0xbffde108> -NVIC_SetPriority(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:286 - NVIC->IPRIOR[(uint32_t)(IRQn)] = priority; - 1ea2: 440786a3 sb zero,1101(a5) -ETH_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:682 - NVIC_EnableIRQ(ETH_IRQn); - NVIC_SetPriority(ETH_IRQn, 0); -} - 1ea6: e94fe06f j 53a <__riscv_restore_0> - -00001eaa : -ETH_LibInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:692 - * @brief Ethernet library initialization program - * - * @return command status - */ -uint8_t ETH_LibInit( uint8_t *ip, uint8_t *gwip, uint8_t *mask, uint8_t *macaddr ) -{ - 1eaa: e6cfe2ef jal t0,516 <__riscv_save_0> - 1eae: 7139 addi sp,sp,-64 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:697 - uint8_t s; - struct _WCH_CFG cfg; - - memset(&cfg,0,sizeof(cfg)); - cfg.TxBufSize = ETH_TX_BUF_SZE; - 1eb0: 5f400793 li a5,1524 - 1eb4: ca3e sw a5,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:698 - cfg.TCPMss = WCHNET_TCP_MSS; - 1eb6: 5b400793 li a5,1460 - 1eba: cc3e sw a5,24(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:699 - cfg.HeapSize = WCHNET_MEM_HEAP_SIZE; - 1ebc: 6789 lui a5,0x2 - 1ebe: e6c78793 addi a5,a5,-404 # 1e6c - 1ec2: ce3e sw a5,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:700 - cfg.ARPTableNum = WCHNET_NUM_ARP_TABLE; - 1ec4: 03200793 li a5,50 - 1ec8: d03e sw a5,32(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:701 - cfg.MiscConfig0 = WCHNET_MISC_CONFIG0; - 1eca: 10300793 li a5,259 - 1ece: d23e sw a5,36(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:702 - cfg.MiscConfig1 = WCHNET_MISC_CONFIG1; - 1ed0: 405527b7 lui a5,0x40552 - 1ed4: 0789 addi a5,a5,2 - 1ed6: d43e sw a5,40(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:703 - cfg.net_send = ETH_TxPktChainMode; - 1ed8: 000017b7 lui a5,0x1 - 1edc: 75c78793 addi a5,a5,1884 # 175c - 1ee0: da3e sw a5,52(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:704 - cfg.CheckValid = WCHNET_CFG_VALID; - 1ee2: 123457b7 lui a5,0x12345 - 1ee6: 67878793 addi a5,a5,1656 # 12345678 <_data_lma+0x12338164> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:692 -{ - 1eea: 892a mv s2,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:705 - s = WCHNET_ConfigLIB(&cfg); - 1eec: 0848 addi a0,sp,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:692 -{ - 1eee: c62e sw a1,12(sp) - 1ef0: c432 sw a2,8(sp) - 1ef2: 84b6 mv s1,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:696 - memset(&cfg,0,sizeof(cfg)); - 1ef4: d602 sw zero,44(sp) - 1ef6: d802 sw zero,48(sp) - 1ef8: dc02 sw zero,56(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:704 - cfg.CheckValid = WCHNET_CFG_VALID; - 1efa: de3e sw a5,60(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:705 - s = WCHNET_ConfigLIB(&cfg); - 1efc: 2b0040ef jal ra,61ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:706 - if( s ){ - 1f00: 842a mv s0,a0 - 1f02: e911 bnez a0,1f16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:709 - return (s); - } - s = WCHNET_Init(ip,gwip,mask,macaddr); - 1f04: 4622 lw a2,8(sp) - 1f06: 45b2 lw a1,12(sp) - 1f08: 86a6 mv a3,s1 - 1f0a: 854a mv a0,s2 - 1f0c: 1de040ef jal ra,60ea - 1f10: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:710 - ETH_Init( macaddr ); - 1f12: 8526 mv a0,s1 - 1f14: 372d jal 1e3e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:712 - return (s); -} - 1f16: 8522 mv a0,s0 - 1f18: 6121 addi sp,sp,64 - 1f1a: e20fe06f j 53a <__riscv_restore_0> - -00001f1e : -find_ctx_by_wchnet_id(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:125 -} - -static SocketCtx_t *find_ctx_by_wchnet_id(uint8_t sockid) -{ - for (int i = 0; i < MAX_SOCKETS; i++) { - if (g_sock_ctx[i].in_use && g_sock_ctx[i].wchnet_sock_id == sockid) - 1f1e: 2000f737 lui a4,0x2000f - 1f22: 8c474783 lbu a5,-1852(a4) # 2000e8c4 - 1f26: 8c470713 addi a4,a4,-1852 - 1f2a: c781 beqz a5,1f32 - 1f2c: 331c lbu a5,1(a4) - 1f2e: 02a78563 beq a5,a0,1f58 - 1f32: 6685 lui a3,0x1 - 1f34: 96ba add a3,a3,a4 - 1f36: b7c6c603 lbu a2,-1156(a3) # b7c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:128 - return &g_sock_ctx[i]; - } - return NULL; - 1f3a: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:125 - if (g_sock_ctx[i].in_use && g_sock_ctx[i].wchnet_sock_id == sockid) - 1f3c: ce01 beqz a2,1f54 - 1f3e: b7d6c683 lbu a3,-1155(a3) - 1f42: 00a69963 bne a3,a0,1f54 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:124 - for (int i = 0; i < MAX_SOCKETS; i++) { - 1f46: 4785 li a5,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:126 - return &g_sock_ctx[i]; - 1f48: 6505 lui a0,0x1 - 1f4a: b7c50513 addi a0,a0,-1156 # b7c - 1f4e: 02a787b3 mul a5,a5,a0 - 1f52: 97ba add a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:129 -} - 1f54: 853e mv a0,a5 - 1f56: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:124 - for (int i = 0; i < MAX_SOCKETS; i++) { - 1f58: 4781 li a5,0 - 1f5a: b7fd j 1f48 - -00001f5c : -free_sock_ctx(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:115 - if (!ctx) return; - 1f5c: cd05 beqz a0,1f94 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:114 -{ - 1f5e: db8fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:116 - if (ctx->rx_sem) { vSemaphoreDelete(ctx->rx_sem); ctx->rx_sem = NULL; } - 1f62: 6485 lui s1,0x1 - 1f64: 94aa add s1,s1,a0 - 1f66: 842a mv s0,a0 - 1f68: b744a503 lw a0,-1164(s1) # b74 - 1f6c: c509 beqz a0,1f76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:116 (discriminator 1) - 1f6e: 59a020ef jal ra,4508 - 1f72: b604aa23 sw zero,-1164(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:117 - if (ctx->connect_sem) { vSemaphoreDelete(ctx->connect_sem); ctx->connect_sem = NULL; } - 1f76: 6485 lui s1,0x1 - 1f78: 94a2 add s1,s1,s0 - 1f7a: b784a503 lw a0,-1160(s1) # b78 - 1f7e: c509 beqz a0,1f88 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:117 (discriminator 1) - 1f80: 588020ef jal ra,4508 - 1f84: b604ac23 sw zero,-1160(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:118 - ctx->in_use = 0; - 1f88: 00040023 sb zero,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:119 - ctx->connected = 0; - 1f8c: 00040123 sb zero,2(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:120 -} - 1f90: daafe06f j 53a <__riscv_restore_0> - 1f94: 8082 ret - -00001f96 : -qdx_port_sock_recv_notify(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:163 -/* ============================================================ - * Public: called from WCHNET_HandleSockInt (task context) - * ============================================================ */ - -void qdx_port_sock_recv_notify(uint8_t sockid) -{ - 1f96: d66fe2ef jal t0,4fc <__riscv_save_4> - 1f9a: df010113 addi sp,sp,-528 - 1f9e: 89aa mv s3,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:164 - SocketCtx_t *ctx = find_ctx_by_wchnet_id(sockid); - 1fa0: 3fbd jal 1f1e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:165 - if (!ctx) return; - 1fa2: c13d beqz a0,2008 -ring_write(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:48 - uint16_t free = RX_RING_SIZE - r->count; - 1fa4: 6485 lui s1,0x1 - 1fa6: 00950933 add s2,a0,s1 - 1faa: 842a mv s0,a0 -qdx_port_sock_recv_notify(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:171 - - /* Read data from WCHNET into ring buffer */ - uint8_t tmp[512]; - uint32_t len; - while (1) { - len = sizeof(tmp); - 1fac: 20000a13 li s4,512 -ring_write(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:48 - uint16_t free = RX_RING_SIZE - r->count; - 1fb0: b6848493 addi s1,s1,-1176 # b68 -qdx_port_sock_recv_notify(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:172 - uint8_t err = WCHNET_SocketRecv(sockid, tmp, &len); - 1fb4: 0070 addi a2,sp,12 - 1fb6: 080c addi a1,sp,16 - 1fb8: 854e mv a0,s3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:171 - len = sizeof(tmp); - 1fba: c652 sw s4,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:172 - uint8_t err = WCHNET_SocketRecv(sockid, tmp, &len); - 1fbc: 612040ef jal ra,65ce -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:173 - if (len == 0) break; - 1fc0: 46b2 lw a3,12(sp) - 1fc2: ca95 beqz a3,1ff6 -ring_write(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:48 - uint16_t free = RX_RING_SIZE - r->count; - 1fc4: b7095603 lhu a2,-1168(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:49 - if (len > free) len = free; - 1fc8: 01069593 slli a1,a3,0x10 - 1fcc: 81c1 srli a1,a1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:48 - uint16_t free = RX_RING_SIZE - r->count; - 1fce: 40c48733 sub a4,s1,a2 - 1fd2: 87ba mv a5,a4 - 1fd4: 0742 slli a4,a4,0x10 - 1fd6: 8341 srli a4,a4,0x10 - 1fd8: 00e5f363 bgeu a1,a4,1fde - 1fdc: 87b6 mv a5,a3 - 1fde: 07c2 slli a5,a5,0x10 - 1fe0: 83c1 srli a5,a5,0x10 - 1fe2: 4681 li a3,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:51 - for (uint16_t i = 0; i < len; i++) { - 1fe4: 01069713 slli a4,a3,0x10 - 1fe8: 8341 srli a4,a4,0x10 - 1fea: 02f76363 bltu a4,a5,2010 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:55 - r->count += len; - 1fee: 97b2 add a5,a5,a2 - 1ff0: b6f91823 sh a5,-1168(s2) -qdx_port_sock_recv_notify(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:175 - ring_write(&ctx->rx_ring, tmp, (uint16_t)len); - if (err != WCHNET_ERR_SUCCESS) break; - 1ff4: d161 beqz a0,1fb4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:178 - } - /* Wake blocking recv thread */ - xSemaphoreGive(ctx->rx_sem); - 1ff6: 6785 lui a5,0x1 - 1ff8: 943e add s0,s0,a5 - 1ffa: b7442503 lw a0,-1164(s0) - 1ffe: 4681 li a3,0 - 2000: 4601 li a2,0 - 2002: 4581 li a1,0 - 2004: 61f010ef jal ra,3e22 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:179 -} - 2008: 21010113 addi sp,sp,528 - 200c: d24fe06f j 530 <__riscv_restore_4> -ring_write(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:52 - r->buf[r->head] = data[i]; - 2010: b6c95703 lhu a4,-1172(s2) - 2014: 080c addi a1,sp,16 - 2016: 95b6 add a1,a1,a3 - 2018: 0005c803 lbu a6,0(a1) - 201c: 00e405b3 add a1,s0,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:53 - r->head = (r->head + 1) % RX_RING_SIZE; - 2020: 0705 addi a4,a4,1 - 2022: 02976733 rem a4,a4,s1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:52 - r->buf[r->head] = data[i]; - 2026: 01058223 sb a6,4(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:53 - r->head = (r->head + 1) % RX_RING_SIZE; - 202a: 0685 addi a3,a3,1 - 202c: b6e91623 sh a4,-1172(s2) - 2030: bf55 j 1fe4 - -00002032 : -qdx_port_sock_connect_notify(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:182 - -void qdx_port_sock_connect_notify(uint8_t sockid) -{ - 2032: ce4fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:183 - SocketCtx_t *ctx = find_ctx_by_wchnet_id(sockid); - 2036: 35e5 jal 1f1e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:184 - if (!ctx) return; - 2038: cd01 beqz a0,2050 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:185 - ctx->connected = 1; - 203a: 4785 li a5,1 - 203c: a13c sb a5,2(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:186 - xSemaphoreGive(ctx->connect_sem); - 203e: 6785 lui a5,0x1 - 2040: 953e add a0,a0,a5 - 2042: b7852503 lw a0,-1160(a0) - 2046: 4681 li a3,0 - 2048: 4601 li a2,0 - 204a: 4581 li a1,0 - 204c: 5d7010ef jal ra,3e22 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:187 -} - 2050: ceafe06f j 53a <__riscv_restore_0> - -00002054 : -qdx_port_sock_disconnect_notify(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:190 - -void qdx_port_sock_disconnect_notify(uint8_t sockid) -{ - 2054: cc2fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:191 - SocketCtx_t *ctx = find_ctx_by_wchnet_id(sockid); - 2058: 35d9 jal 1f1e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:192 - if (!ctx) return; - 205a: cd01 beqz a0,2072 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:195 - ctx->connected = 0; - /* Wake recv thread so it can detect disconnect */ - xSemaphoreGive(ctx->rx_sem); - 205c: 6785 lui a5,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:193 - ctx->connected = 0; - 205e: 00050123 sb zero,2(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:195 - xSemaphoreGive(ctx->rx_sem); - 2062: 953e add a0,a0,a5 - 2064: b7452503 lw a0,-1164(a0) - 2068: 4681 li a3,0 - 206a: 4601 li a2,0 - 206c: 4581 li a1,0 - 206e: 5b5010ef jal ra,3e22 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:196 -} - 2072: cc8fe06f j 53a <__riscv_restore_0> - -00002076 : -qdx_port_init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:203 -/* ============================================================ - * Init 鈥 call once before scheduler starts - * ============================================================ */ - -void qdx_port_init(void) -{ - 2076: ca0fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:204 - memset(g_sock_ctx, 0, sizeof(g_sock_ctx)); - 207a: 6605 lui a2,0x1 - 207c: 2000f537 lui a0,0x2000f - 2080: 6f860613 addi a2,a2,1784 # 16f8 - 2084: 4581 li a1,0 - 2086: 8c450513 addi a0,a0,-1852 # 2000e8c4 - 208a: cbcfe0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:205 - g_wchnet_mutex = xSemaphoreCreateMutex(); - 208e: 4505 li a0,1 - 2090: 73b010ef jal ra,3fca - 2094: 200007b7 lui a5,0x20000 - 2098: 0ca7ac23 sw a0,216(a5) # 200000d8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:206 -} - 209c: c9efe06f j 53a <__riscv_restore_0> - -000020a0 : -qdx_port_get_tick_ms(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:213 -/* ============================================================ - * Time & Delay - * ============================================================ */ - -uint32_t qdx_port_get_tick_ms(void) -{ - 20a0: c76fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:214 - return xTaskGetTickCount() * portTICK_PERIOD_MS; - 20a4: 0bf020ef jal ra,4962 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:215 -} - 20a8: 0506 slli a0,a0,0x1 - 20aa: c90fe06f j 53a <__riscv_restore_0> - -000020ae : -qdx_port_delay_ms(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:218 - -void qdx_port_delay_ms(uint32_t ms) -{ - 20ae: c68fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:219 - vTaskDelay(pdMS_TO_TICKS(ms)); - 20b2: 1f400793 li a5,500 - 20b6: 02f50533 mul a0,a0,a5 - 20ba: 3e800793 li a5,1000 - 20be: 02f55533 divu a0,a0,a5 - 20c2: 3bf020ef jal ra,4c80 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:220 -} - 20c6: c74fe06f j 53a <__riscv_restore_0> - -000020ca : -qdx_port_mutex_create(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:227 -/* ============================================================ - * Mutex - * ============================================================ */ - -qdx_mutex_t qdx_port_mutex_create(void) -{ - 20ca: c4cfe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:228 - return (qdx_mutex_t)xSemaphoreCreateMutex(); - 20ce: 4505 li a0,1 - 20d0: 6fb010ef jal ra,3fca -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:229 -} - 20d4: c66fe06f j 53a <__riscv_restore_0> - -000020d8 : -qdx_port_mutex_lock(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:233 - -void qdx_port_mutex_lock(qdx_mutex_t mutex) -{ - if (mutex) - 20d8: c901 beqz a0,20e8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:232 -{ - 20da: c3cfe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:234 - xSemaphoreTake((SemaphoreHandle_t)mutex, portMAX_DELAY); - 20de: 55fd li a1,-1 - 20e0: 1a6020ef jal ra,4286 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:235 -} - 20e4: c56fe06f j 53a <__riscv_restore_0> - 20e8: 8082 ret - -000020ea : -qdx_port_mutex_unlock(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:239 - -void qdx_port_mutex_unlock(qdx_mutex_t mutex) -{ - if (mutex) - 20ea: c911 beqz a0,20fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:238 -{ - 20ec: c2afe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:240 - xSemaphoreGive((SemaphoreHandle_t)mutex); - 20f0: 4681 li a3,0 - 20f2: 4601 li a2,0 - 20f4: 4581 li a1,0 - 20f6: 52d010ef jal ra,3e22 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:241 -} - 20fa: c40fe06f j 53a <__riscv_restore_0> - 20fe: 8082 ret - -00002100 : -qdx_port_thread_create(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:255 - * Thread - * ============================================================ */ - -int8_t qdx_port_thread_create(const char *name, qdx_thread_entry_t entry, - void *arg, uint32_t stack_size, uint8_t priority) -{ - 2100: c16fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:258 - /* stack_size from caller is in bytes; xTaskCreate expects words */ - uint32_t stack_words = stack_size / sizeof(StackType_t); - if (stack_words < configMINIMAL_STACK_SIZE) - 2104: 3ff00793 li a5,1023 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:255 -{ - 2108: 882a mv a6,a0 - 210a: 852e mv a0,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:257 - uint32_t stack_words = stack_size / sizeof(StackType_t); - 210c: 0026d593 srli a1,a3,0x2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:258 - if (stack_words < configMINIMAL_STACK_SIZE) - 2110: 00d7e463 bltu a5,a3,2118 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:259 - stack_words = configMINIMAL_STACK_SIZE; - 2114: 10000593 li a1,256 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:261 - - BaseType_t ret = xTaskCreate((TaskFunction_t)entry, name, - 2118: 86b2 mv a3,a2 - 211a: 01059613 slli a2,a1,0x10 - 211e: 4781 li a5,0 - 2120: 8241 srli a2,a2,0x10 - 2122: 85c2 mv a1,a6 - 2124: 598020ef jal ra,46bc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:264 - (uint16_t)stack_words, arg, - (UBaseType_t)priority, NULL); - return (ret == pdPASS) ? 0 : -1; - 2128: 157d addi a0,a0,-1 - 212a: 00a03533 snez a0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:265 -} - 212e: 40a00533 neg a0,a0 - 2132: c08fe06f j 53a <__riscv_restore_0> - -00002136 : -qdx_port_tcp_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:272 -/* ============================================================ - * TCP Socket 鈥 connect / send / recv / close - * ============================================================ */ - -qdx_socket_t qdx_port_tcp_connect(const char *ip, uint16_t port) -{ - 2136: bb8fe2ef jal t0,4ee <__riscv_save_10> - 213a: 715d addi sp,sp,-80 - 213c: 892e mv s2,a1 -parse_ip(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:139 - uint32_t vals[4] = {0}; - 213e: ca02 sw zero,20(sp) - 2140: cc02 sw zero,24(sp) - 2142: ce02 sw zero,28(sp) - 2144: d002 sw zero,32(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:136 - const char *p = ip_str; - 2146: 85aa mv a1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:135 - int n = 0, idx = 0; - 2148: 4701 li a4,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:140 - while (*p && idx < 4) { - 214a: 480d li a6,3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:141 - if (*p >= '0' && *p <= '9') { - 214c: 48a5 li a7,9 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:143 - } else if (*p == '.') { - 214e: 02e00313 li t1,46 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:142 - vals[idx] = vals[idx] * 10 + (*p - '0'); - 2152: 4e29 li t3,10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:140 - while (*p && idx < 4) { - 2154: 00058683 lb a3,0(a1) - 2158: c6a1 beqz a3,21a0 - 215a: 00e85a63 bge a6,a4,216e -qdx_port_tcp_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:275 - uint8_t dest_ip[4]; - if (parse_ip(ip, dest_ip) != 0) { - printf("qdx_port: bad IP \"%s\"\r\n", ip); - 215e: 85aa mv a1,a0 - 2160: 0000d537 lui a0,0xd - 2164: 25850513 addi a0,a0,600 # d258 - 2168: 10f0a0ef jal ra,ca76 - 216c: a069 j 21f6 -parse_ip(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:141 - if (*p >= '0' && *p <= '9') { - 216e: fd068793 addi a5,a3,-48 - 2172: 0ff7f793 andi a5,a5,255 - 2176: 02f8e163 bltu a7,a5,2198 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:142 - vals[idx] = vals[idx] * 10 + (*p - '0'); - 217a: 089c addi a5,sp,80 - 217c: 00271613 slli a2,a4,0x2 - 2180: 963e add a2,a2,a5 - 2182: fc462783 lw a5,-60(a2) - 2186: 02fe07b3 mul a5,t3,a5 - 218a: 97b6 add a5,a5,a3 - 218c: fd078793 addi a5,a5,-48 - 2190: fcf62223 sw a5,-60(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:148 - p++; - 2194: 0585 addi a1,a1,1 - 2196: bf7d j 2154 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:143 - } else if (*p == '.') { - 2198: fc6693e3 bne a3,t1,215e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:144 - idx++; - 219c: 0705 addi a4,a4,1 - 219e: bfdd j 2194 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:150 - if (idx != 3) return -1; - 21a0: 478d li a5,3 - 21a2: faf71ee3 bne a4,a5,215e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:152 - if (vals[i] > 255) return -1; - 21a6: 4a52 lw s4,20(sp) - 21a8: 0ff00793 li a5,255 - 21ac: fb47e9e3 bltu a5,s4,215e - 21b0: 4ae2 lw s5,24(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:153 - ip[i] = (uint8_t)vals[i]; - 21b2: 01410823 sb s4,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:152 - if (vals[i] > 255) return -1; - 21b6: fb57e4e3 bltu a5,s5,215e - 21ba: 4b72 lw s6,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:153 - ip[i] = (uint8_t)vals[i]; - 21bc: 015108a3 sb s5,17(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:152 - if (vals[i] > 255) return -1; - 21c0: f967efe3 bltu a5,s6,215e - 21c4: 5b82 lw s7,32(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:153 - ip[i] = (uint8_t)vals[i]; - 21c6: 01610923 sb s6,18(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:152 - if (vals[i] > 255) return -1; - 21ca: f977eae3 bltu a5,s7,215e -alloc_sock_ctx(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:101 - if (!g_sock_ctx[i].in_use) { - 21ce: 2000f437 lui s0,0x2000f - 21d2: 8c444783 lbu a5,-1852(s0) # 2000e8c4 -parse_ip(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:153 - ip[i] = (uint8_t)vals[i]; - 21d6: 017109a3 sb s7,19(sp) -alloc_sock_ctx(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:101 - if (!g_sock_ctx[i].in_use) { - 21da: 8c440413 addi s0,s0,-1852 - 21de: cf91 beqz a5,21fa - 21e0: 6785 lui a5,0x1 - 21e2: 97a2 add a5,a5,s0 - 21e4: b7c7c783 lbu a5,-1156(a5) # b7c - 21e8: cfc5 beqz a5,22a0 -qdx_port_tcp_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:281 - return NULL; - } - - SocketCtx_t *ctx = alloc_sock_ctx(); - if (!ctx) { - printf("qdx_port: no free SocketCtx\r\n"); - 21ea: 0000d537 lui a0,0xd - 21ee: 1a450513 addi a0,a0,420 # d1a4 - 21f2: 0a90a0ef jal ra,ca9a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:276 - return NULL; - 21f6: 4401 li s0,0 - 21f8: a291 j 233c -alloc_sock_ctx(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:100 - for (int i = 0; i < MAX_SOCKETS; i++) { - 21fa: 4481 li s1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:102 - memset(&g_sock_ctx[i], 0, sizeof(SocketCtx_t)); - 21fc: 6985 lui s3,0x1 - 21fe: b7c98613 addi a2,s3,-1156 # b7c - 2202: 02c484b3 mul s1,s1,a2 - 2206: 4581 li a1,0 - 2208: 9426 add s0,s0,s1 - 220a: 8522 mv a0,s0 - 220c: b3afe0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:103 - g_sock_ctx[i].in_use = 1; - 2210: 4785 li a5,1 - 2212: a01c sb a5,0(s0) -ring_init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:36 - r->head = 0; - 2214: 2000f7b7 lui a5,0x2000f - 2218: 42478793 addi a5,a5,1060 # 2000f424 - 221c: 94be add s1,s1,a5 - 221e: 0004a623 sw zero,12(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:38 - r->count = 0; - 2222: 00898c33 add s8,s3,s0 -alloc_sock_ctx(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:105 - g_sock_ctx[i].rx_sem = xSemaphoreCreateBinary(); - 2226: 460d li a2,3 - 2228: 4581 li a1,0 -ring_init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:38 - r->count = 0; - 222a: b60c1823 sh zero,-1168(s8) -alloc_sock_ctx(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:105 - g_sock_ctx[i].rx_sem = xSemaphoreCreateBinary(); - 222e: 4505 li a0,1 - 2230: 385010ef jal ra,3db4 - 2234: b6ac2a23 sw a0,-1164(s8) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:106 - g_sock_ctx[i].connect_sem = xSemaphoreCreateBinary(); - 2238: 460d li a2,3 - 223a: 4581 li a1,0 - 223c: 4505 li a0,1 - 223e: 377010ef jal ra,3db4 -qdx_port_tcp_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:286 - return NULL; - } - - SOCK_INF sock_inf; - memset(&sock_inf, 0, sizeof(sock_inf)); - 2242: 03c00613 li a2,60 -alloc_sock_ctx(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:106 - g_sock_ctx[i].connect_sem = xSemaphoreCreateBinary(); - 2246: b6ac2c23 sw a0,-1160(s8) -qdx_port_tcp_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:286 - memset(&sock_inf, 0, sizeof(sock_inf)); - 224a: 4581 li a1,0 - 224c: 0848 addi a0,sp,20 - 224e: af8fe0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:294 - sock_inf.DesPort = port; - memcpy(sock_inf.IPAddr, dest_ip, 4); - - uint8_t wchnet_id = 0; - - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 2252: 200004b7 lui s1,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:287 - sock_inf.ProtoType = PROTO_TYPE_TCP; - 2256: 478d li a5,3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:294 - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 2258: 0d848493 addi s1,s1,216 # 200000d8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:287 - sock_inf.ProtoType = PROTO_TYPE_TCP; - 225c: d83e sw a5,48(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:294 - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 225e: 4088 lw a0,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:290 - memcpy(sock_inf.IPAddr, dest_ip, 4); - 2260: 47c2 lw a5,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:294 - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 2262: 55fd li a1,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:289 - sock_inf.DesPort = port; - 2264: dc4a sw s2,56(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:290 - memcpy(sock_inf.IPAddr, dest_ip, 4); - 2266: c0be sw a5,64(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:292 - uint8_t wchnet_id = 0; - 2268: 000107a3 sb zero,15(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:294 - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 226c: 01a020ef jal ra,4286 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:295 - uint8_t err = WCHNET_SocketCreat(&wchnet_id, &sock_inf); - 2270: 084c addi a1,sp,20 - 2272: 00f10513 addi a0,sp,15 - 2276: 0dc040ef jal ra,6352 - 227a: 8caa mv s9,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:296 - xSemaphoreGive(g_wchnet_mutex); - 227c: 4088 lw a0,0(s1) - 227e: 4681 li a3,0 - 2280: 4601 li a2,0 - 2282: 4581 li a1,0 - 2284: 39f010ef jal ra,3e22 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:298 - - if (err != WCHNET_ERR_SUCCESS) { - 2288: 000c8e63 beqz s9,22a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:299 - printf("qdx_port: SocketCreat fail %02X\r\n", err); - 228c: 0000d537 lui a0,0xd - 2290: 85e6 mv a1,s9 - 2292: 1c450513 addi a0,a0,452 # d1c4 - 2296: 7e00a0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:331 - return NULL; - } - - if (!ctx->connected) { - WCHNET_SocketClose(wchnet_id, 0); - free_sock_ctx(ctx); - 229a: 8522 mv a0,s0 - 229c: 31c1 jal 1f5c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:332 - return NULL; - 229e: bfa1 j 21f6 -alloc_sock_ctx(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:100 - for (int i = 0; i < MAX_SOCKETS; i++) { - 22a0: 4485 li s1,1 - 22a2: bfa9 j 21fc -qdx_port_tcp_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:304 - ctx->wchnet_sock_id = wchnet_id; - 22a4: 8788 lbu a0,15(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:308 - (uint32_t)SocketRecvBuf[wchnet_id], RECE_BUF_LEN); - 22a6: b6898613 addi a2,s3,-1176 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:307 - WCHNET_ModifyRecvBuf(wchnet_id, - 22aa: 200007b7 lui a5,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:308 - (uint32_t)SocketRecvBuf[wchnet_id], RECE_BUF_LEN); - 22ae: 02c505b3 mul a1,a0,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:307 - WCHNET_ModifyRecvBuf(wchnet_id, - 22b2: 21878793 addi a5,a5,536 # 20000218 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:304 - ctx->wchnet_sock_id = wchnet_id; - 22b6: b008 sb a0,1(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:307 - WCHNET_ModifyRecvBuf(wchnet_id, - 22b8: 95be add a1,a1,a5 - 22ba: 2c2040ef jal ra,657c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:310 - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 22be: 4088 lw a0,0(s1) - 22c0: 55fd li a1,-1 - 22c2: 7c5010ef jal ra,4286 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:311 - err = WCHNET_SocketConnect(wchnet_id); - 22c6: 8788 lbu a0,15(sp) - 22c8: 027040ef jal ra,6aee - 22cc: 8caa mv s9,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:312 - xSemaphoreGive(g_wchnet_mutex); - 22ce: 4088 lw a0,0(s1) - 22d0: 4681 li a3,0 - 22d2: 4601 li a2,0 - 22d4: 4581 li a1,0 - 22d6: 34d010ef jal ra,3e22 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:314 - if (err != WCHNET_ERR_SUCCESS) { - 22da: 000c8e63 beqz s9,22f6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:315 - printf("qdx_port: SocketConnect fail %02X\r\n", err); - 22de: 0000d537 lui a0,0xd - 22e2: 85e6 mv a1,s9 - 22e4: 1e850513 addi a0,a0,488 # d1e8 - 22e8: 78e0a0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:324 - WCHNET_SocketClose(wchnet_id, 0); - 22ec: 8788 lbu a0,15(sp) - 22ee: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:330 - WCHNET_SocketClose(wchnet_id, 0); - 22f0: 16d040ef jal ra,6c5c - 22f4: b75d j 229a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:322 - if (xSemaphoreTake(ctx->connect_sem, pdMS_TO_TICKS(5000)) != pdTRUE) { - 22f6: b78c2503 lw a0,-1160(s8) - 22fa: 9c498593 addi a1,s3,-1596 - 22fe: 789010ef jal ra,4286 - 2302: 4785 li a5,1 - 2304: 00f50963 beq a0,a5,2316 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:323 - printf("qdx_port: connect timeout\r\n"); - 2308: 0000d537 lui a0,0xd - 230c: 20c50513 addi a0,a0,524 # d20c - 2310: 78a0a0ef jal ra,ca9a - 2314: bfe1 j 22ec -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:329 - if (!ctx->connected) { - 2316: 203c lbu a5,2(s0) - 2318: 8788 lbu a0,15(sp) - 231a: 0ff7f793 andi a5,a5,255 - 231e: e399 bnez a5,2324 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:330 - WCHNET_SocketClose(wchnet_id, 0); - 2320: 4581 li a1,0 - 2322: b7f9 j 22f0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:339 - -#if KEEPALIVE_ENABLE - WCHNET_SocketSetKeepLive(wchnet_id, ENABLE); -#endif - - printf("qdx_port: connected sock %d -> %d.%d.%d.%d:%d\r\n", - 2324: 85aa mv a1,a0 - 2326: 0000d537 lui a0,0xd - 232a: 884a mv a6,s2 - 232c: 87de mv a5,s7 - 232e: 875a mv a4,s6 - 2330: 86d6 mv a3,s5 - 2332: 8652 mv a2,s4 - 2334: 22850513 addi a0,a0,552 # d228 - 2338: 73e0a0ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:342 - wchnet_id, dest_ip[0], dest_ip[1], dest_ip[2], dest_ip[3], port); - return (qdx_socket_t)ctx; -} - 233c: 8522 mv a0,s0 - 233e: 6161 addi sp,sp,80 - 2340: 9e6fe06f j 526 <__riscv_restore_10> - -00002344 : -qdx_port_tcp_send(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:347 - -int32_t qdx_port_tcp_send(qdx_socket_t sock, const uint8_t *data, uint32_t len) -{ - SocketCtx_t *ctx = (SocketCtx_t *)sock; - if (!ctx || !ctx->connected) - 2344: e119 bnez a0,234a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:348 - return -1; - 2346: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:360 - - if (err != WCHNET_ERR_SUCCESS) - return -1; - - return (int32_t)send_len; -} - 2348: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:347 (discriminator 1) - if (!ctx || !ctx->connected) - 234a: 213c lbu a5,2(a0) - 234c: 0ff7f793 andi a5,a5,255 - 2350: dbfd beqz a5,2346 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:345 -{ - 2352: 9c4fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:352 - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 2356: 200004b7 lui s1,0x20000 - 235a: 0d848493 addi s1,s1,216 # 200000d8 - 235e: 842a mv s0,a0 - 2360: 4088 lw a0,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:345 -{ - 2362: 1141 addi sp,sp,-16 - 2364: 892e mv s2,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:352 - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 2366: 55fd li a1,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:350 - uint32_t send_len = len; - 2368: c632 sw a2,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:352 - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 236a: 71d010ef jal ra,4286 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:353 - uint8_t err = WCHNET_SocketSend(ctx->wchnet_sock_id, (uint8_t *)data, &send_len); - 236e: 3008 lbu a0,1(s0) - 2370: 0070 addi a2,sp,12 - 2372: 85ca mv a1,s2 - 2374: 5ae040ef jal ra,6922 - 2378: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:354 - xSemaphoreGive(g_wchnet_mutex); - 237a: 4088 lw a0,0(s1) - 237c: 4681 li a3,0 - 237e: 4601 li a2,0 - 2380: 4581 li a1,0 - 2382: 2a1010ef jal ra,3e22 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:348 - return -1; - 2386: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:356 - if (err != WCHNET_ERR_SUCCESS) - 2388: e011 bnez s0,238c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:359 - return (int32_t)send_len; - 238a: 4532 lw a0,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:360 -} - 238c: 0141 addi sp,sp,16 - 238e: 9acfe06f j 53a <__riscv_restore_0> - -00002392 : -qdx_port_tcp_recv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:365 - -int32_t qdx_port_tcp_recv(qdx_socket_t sock, uint8_t *buf, uint32_t max_len) -{ - SocketCtx_t *ctx = (SocketCtx_t *)sock; - if (!ctx) - 2392: e511 bnez a0,239e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:366 - return -1; - 2394: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:390 - /* Still no data 鈥 disconnected? */ - if (!ctx->connected) - return -1; - - return 0; /* timeout, no data */ -} - 2396: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:366 - return -1; - 2398: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:390 -} - 239a: 996fe06f j 530 <__riscv_restore_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:363 -{ - 239e: 95efe2ef jal t0,4fc <__riscv_save_4> -ring_read(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:61 - uint16_t to_read = (r->count < max_len) ? r->count : max_len; - 23a2: 6785 lui a5,0x1 - 23a4: 97aa add a5,a5,a0 - 23a6: b707d783 lhu a5,-1168(a5) # b70 -qdx_port_tcp_recv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:369 - uint16_t got = ring_read(&ctx->rx_ring, buf, (uint16_t)max_len); - 23aa: 01061493 slli s1,a2,0x10 - 23ae: 80c1 srli s1,s1,0x10 -ring_read(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:61 - uint16_t to_read = (r->count < max_len) ? r->count : max_len; - 23b0: 00f4f363 bgeu s1,a5,23b6 - 23b4: 87a6 mv a5,s1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:64 - data[i] = r->buf[r->tail]; - 23b6: 6705 lui a4,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:61 - uint16_t to_read = (r->count < max_len) ? r->count : max_len; - 23b8: 07c2 slli a5,a5,0x10 - 23ba: 83c1 srli a5,a5,0x10 - 23bc: 4681 li a3,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:64 - data[i] = r->buf[r->tail]; - 23be: 00e50833 add a6,a0,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:65 - r->tail = (r->tail + 1) % RX_RING_SIZE; - 23c2: b6870613 addi a2,a4,-1176 # b68 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:63 - for (uint16_t i = 0; i < to_read; i++) { - 23c6: 01069713 slli a4,a3,0x10 - 23ca: 8341 srli a4,a4,0x10 - 23cc: 00f76c63 bltu a4,a5,23e4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:67 - r->count -= to_read; - 23d0: 6905 lui s2,0x1 - 23d2: 992a add s2,s2,a0 - 23d4: b7095703 lhu a4,-1168(s2) # b70 - 23d8: 8f1d sub a4,a4,a5 - 23da: b6e91823 sh a4,-1168(s2) -qdx_port_tcp_recv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:370 - if (got > 0) - 23de: c78d beqz a5,2408 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:383 - return (int32_t)got; - 23e0: 853e mv a0,a5 - 23e2: bf65 j 239a -ring_read(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:64 - data[i] = r->buf[r->tail]; - 23e4: b6e85703 lhu a4,-1170(a6) - 23e8: 972a add a4,a4,a0 - 23ea: 00474883 lbu a7,4(a4) - 23ee: 00d58733 add a4,a1,a3 - 23f2: 0685 addi a3,a3,1 - 23f4: 01170023 sb a7,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:65 - r->tail = (r->tail + 1) % RX_RING_SIZE; - 23f8: b6e85703 lhu a4,-1170(a6) - 23fc: 0705 addi a4,a4,1 - 23fe: 02c76733 rem a4,a4,a2 - 2402: b6e81723 sh a4,-1170(a6) - 2406: b7c1 j 23c6 -qdx_port_tcp_recv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:374 - if (!ctx->connected) - 2408: 213c lbu a5,2(a0) - 240a: 0ff7f793 andi a5,a5,255 - 240e: d7c9 beqz a5,2398 - 2410: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:378 - xSemaphoreTake(ctx->rx_sem, pdMS_TO_TICKS(100)); - 2412: b7492503 lw a0,-1164(s2) - 2416: 89ae mv s3,a1 - 2418: 03200593 li a1,50 - 241c: 66b010ef jal ra,4286 -ring_read(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:61 - uint16_t to_read = (r->count < max_len) ? r->count : max_len; - 2420: b7095783 lhu a5,-1168(s2) - 2424: 00f4f363 bgeu s1,a5,242a - 2428: 87a6 mv a5,s1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:64 - data[i] = r->buf[r->tail]; - 242a: 6705 lui a4,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:61 - uint16_t to_read = (r->count < max_len) ? r->count : max_len; - 242c: 07c2 slli a5,a5,0x10 - 242e: 83c1 srli a5,a5,0x10 - 2430: 4681 li a3,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:64 - data[i] = r->buf[r->tail]; - 2432: 00e405b3 add a1,s0,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:65 - r->tail = (r->tail + 1) % RX_RING_SIZE; - 2436: b6870613 addi a2,a4,-1176 # b68 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:63 - for (uint16_t i = 0; i < to_read; i++) { - 243a: 01069713 slli a4,a3,0x10 - 243e: 8341 srli a4,a4,0x10 - 2440: 02f76263 bltu a4,a5,2464 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:67 - r->count -= to_read; - 2444: 6705 lui a4,0x1 - 2446: 9722 add a4,a4,s0 - 2448: b7075683 lhu a3,-1168(a4) # b70 - 244c: 8e9d sub a3,a3,a5 - 244e: b6d71823 sh a3,-1168(a4) -qdx_port_tcp_recv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:382 - if (got > 0) - 2452: f7d9 bnez a5,23e0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:386 - if (!ctx->connected) - 2454: 2028 lbu a0,2(s0) - 2456: 0ff57513 andi a0,a0,255 - 245a: 00153513 seqz a0,a0 - 245e: 40a00533 neg a0,a0 - 2462: bf25 j 239a -ring_read(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:64 - data[i] = r->buf[r->tail]; - 2464: b6e5d703 lhu a4,-1170(a1) - 2468: 9722 add a4,a4,s0 - 246a: 2348 lbu a0,4(a4) - 246c: 00d98733 add a4,s3,a3 - 2470: 0685 addi a3,a3,1 - 2472: a308 sb a0,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:65 - r->tail = (r->tail + 1) % RX_RING_SIZE; - 2474: b6e5d703 lhu a4,-1170(a1) - 2478: 0705 addi a4,a4,1 - 247a: 02c76733 rem a4,a4,a2 - 247e: b6e59723 sh a4,-1170(a1) - 2482: bf65 j 243a - -00002484 : -qdx_port_tcp_close(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:395 - -void qdx_port_tcp_close(qdx_socket_t sock) -{ - SocketCtx_t *ctx = (SocketCtx_t *)sock; - if (!ctx) return; - 2484: c529 beqz a0,24ce -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:393 -{ - 2486: 890fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:397 - - if (ctx->in_use) { - 248a: 211c lbu a5,0(a0) - 248c: 842a mv s0,a0 - 248e: c39d beqz a5,24b4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:398 - xSemaphoreTake(g_wchnet_mutex, portMAX_DELAY); - 2490: 200004b7 lui s1,0x20000 - 2494: 0d848493 addi s1,s1,216 # 200000d8 - 2498: 4088 lw a0,0(s1) - 249a: 55fd li a1,-1 - 249c: 5eb010ef jal ra,4286 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:399 - WCHNET_SocketClose(ctx->wchnet_sock_id, 0); - 24a0: 3008 lbu a0,1(s0) - 24a2: 4581 li a1,0 - 24a4: 7b8040ef jal ra,6c5c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:400 - xSemaphoreGive(g_wchnet_mutex); - 24a8: 4088 lw a0,0(s1) - 24aa: 4681 li a3,0 - 24ac: 4601 li a2,0 - 24ae: 4581 li a1,0 - 24b0: 173010ef jal ra,3e22 -ring_init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:36 - r->head = 0; - 24b4: 6785 lui a5,0x1 - 24b6: 97a2 add a5,a5,s0 - 24b8: b6079623 sh zero,-1172(a5) # b6c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:37 - r->tail = 0; - 24bc: b6079723 sh zero,-1170(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:38 - r->count = 0; - 24c0: b6079823 sh zero,-1168(a5) -qdx_port_tcp_close(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:403 - } - ring_init(&ctx->rx_ring); - free_sock_ctx(ctx); - 24c4: 8522 mv a0,s0 - 24c6: a97ff0ef jal ra,1f5c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_port.c:404 -} - 24ca: 870fe06f j 53a <__riscv_restore_0> - 24ce: 8082 ret - -000024d0 : -Preprocess_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:35 - * ============================================================ */ - -int8_t Preprocess_Init(uint16_t maxWidth, uint16_t maxHeight) { - (void)maxHeight; /* 鍒楃疮鍔犱粎渚濊禆瀹藉害 */ - - if (maxWidth > PREPROCESS_MAX_WIDTH) { - 24d0: 10000793 li a5,256 - 24d4: 00a7f763 bgeu a5,a0,24e2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:36 - return -1; /* 瓒呭嚭闈欐佸垎閰嶇紦鍐插尯涓婇檺 */ - 24d8: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:53 - g_PreprocessCfg.cfg2d.TargetWidth = 1; - g_PreprocessCfg.cfg2d.TargetHeight = 1; - - g_is_initialized = 1; - return 0; -} - 24da: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:36 - return -1; /* 瓒呭嚭闈欐佸垎閰嶇紦鍐插尯涓婇檺 */ - 24dc: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:53 -} - 24de: 85cfe06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:32 -int8_t Preprocess_Init(uint16_t maxWidth, uint16_t maxHeight) { - 24e2: 834fe2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:39 - memset(g_col_sums, 0, sizeof(g_col_sums)); - 24e6: 20010537 lui a0,0x20010 - 24ea: 40000613 li a2,1024 - 24ee: 4581 li a1,0 - 24f0: 02c50513 addi a0,a0,44 # 2001002c - 24f4: 852fe0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:40 - memset(&g_PreprocessCfg, 0, sizeof(g_PreprocessCfg)); - 24f8: 20010537 lui a0,0x20010 - 24fc: 06e00613 li a2,110 - 2500: 4581 li a1,0 - 2502: fbc50413 addi s0,a0,-68 # 2000ffbc - 2506: fbc50513 addi a0,a0,-68 - 250a: 83cfe0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:43 - g_preprocess_mutex = qdx_port_mutex_create(); - 250e: bbdff0ef jal ra,20ca - 2512: 200007b7 lui a5,0x20000 - 2516: 0ea7a023 sw a0,224(a5) # 200000e0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:44 - if (g_preprocess_mutex == NULL) - 251a: d169 beqz a0,24dc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:48 - g_PreprocessCfg.cfg2d.TargetWidth = 1; - 251c: 4785 li a5,1 - 251e: b87c sb a5,23(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:49 - g_PreprocessCfg.cfg2d.TargetHeight = 1; - 2520: bc1c sb a5,25(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:51 - g_is_initialized = 1; - 2522: 4705 li a4,1 - 2524: 200007b7 lui a5,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:48 - g_PreprocessCfg.cfg2d.TargetWidth = 1; - 2528: 00040c23 sb zero,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:49 - g_PreprocessCfg.cfg2d.TargetHeight = 1; - 252c: 00040d23 sb zero,26(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:51 - g_is_initialized = 1; - 2530: 0ce78e23 sb a4,220(a5) # 200000dc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:52 - return 0; - 2534: 4501 li a0,0 - 2536: b765 j 24de - -00002538 : -Preprocess_Settings_Change(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:58 - -int8_t Preprocess_Settings_Change(const Config2D_t *newConfig2D, - const Config1D_t *newConfig1D, - const ConfigCommon_t *newCommon) { - if (!g_is_initialized) - 2538: 200007b7 lui a5,0x20000 - 253c: 0dc7c783 lbu a5,220(a5) # 200000dc - 2540: c7d1 beqz a5,25cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:57 - const ConfigCommon_t *newCommon) { - 2542: fbbfd2ef jal t0,4fc <__riscv_save_4> - 2546: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:62 - return -1; - - /* 鍔犻攣淇濇姢閰嶇疆鏇存柊锛岄槻姝笌 Execute 璇诲彇浜х敓绔炴 */ - qdx_port_mutex_lock(g_preprocess_mutex); - 2548: 200009b7 lui s3,0x20000 - 254c: c62a sw a0,12(sp) - 254e: 0e09a503 lw a0,224(s3) # 200000e0 - 2552: 892e mv s2,a1 - 2554: 84b2 mv s1,a2 - 2556: b83ff0ef jal ra,20d8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:64 - - if (newConfig2D) - 255a: 45b2 lw a1,12(sp) - 255c: 0e098993 addi s3,s3,224 - 2560: c989 beqz a1,2572 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:65 - memcpy(&g_PreprocessCfg.cfg2d, newConfig2D, sizeof(Config2D_t)); - 2562: 20010537 lui a0,0x20010 - 2566: 03d00613 li a2,61 - 256a: fbc50513 addi a0,a0,-68 # 2000ffbc - 256e: 1630a0ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:66 - if (newConfig1D) - 2572: 20010437 lui s0,0x20010 - 2576: fbc40413 addi s0,s0,-68 # 2000ffbc - 257a: 00090863 beqz s2,258a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:67 - memcpy(&g_PreprocessCfg.cfg1d, newConfig1D, sizeof(Config1D_t)); - 257e: 4669 li a2,26 - 2580: 85ca mv a1,s2 - 2582: 03d40513 addi a0,s0,61 - 2586: 14b0a0ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:68 - if (newCommon) - 258a: c499 beqz s1,2598 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:69 - memcpy(&g_PreprocessCfg.common, newCommon, sizeof(ConfigCommon_t)); - 258c: 465d li a2,23 - 258e: 85a6 mv a1,s1 - 2590: 05740513 addi a0,s0,87 - 2594: 13d0a0ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:72 - - /* 瀹夊叏妫鏌 */ - if (g_PreprocessCfg.cfg2d.TargetWidth == 0) - 2598: 2c1c lbu a5,24(s0) - 259a: 3878 lbu a4,23(s0) - 259c: 07a2 slli a5,a5,0x8 - 259e: 8fd9 or a5,a5,a4 - 25a0: e789 bnez a5,25aa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:73 - g_PreprocessCfg.cfg2d.TargetWidth = 1; - 25a2: 4785 li a5,1 - 25a4: b87c sb a5,23(s0) - 25a6: 00040c23 sb zero,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:74 - if (g_PreprocessCfg.cfg2d.TargetHeight == 0) - 25aa: 4c1c lw a5,24(s0) - 25ac: 83a1 srli a5,a5,0x8 - 25ae: 07c2 slli a5,a5,0x10 - 25b0: 83c1 srli a5,a5,0x10 - 25b2: e789 bnez a5,25bc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:75 - g_PreprocessCfg.cfg2d.TargetHeight = 1; - 25b4: 4785 li a5,1 - 25b6: bc1c sb a5,25(s0) - 25b8: 00040d23 sb zero,26(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:77 - - qdx_port_mutex_unlock(g_preprocess_mutex); - 25bc: 0009a503 lw a0,0(s3) - 25c0: b2bff0ef jal ra,20ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:78 - return 0; - 25c4: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:79 -} - 25c6: 0141 addi sp,sp,16 - 25c8: f69fd06f j 530 <__riscv_restore_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:59 - return -1; - 25cc: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:79 -} - 25ce: 8082 ret - -000025d0 : -Preprocess_Execute(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:84 - -int8_t Preprocess_Execute(const RawImageBuffer_t *input, - TcpTxBuffer_t *out_buffer, - PreprocessResult_t *output_meta) { - if (!g_is_initialized || !input || !input->pData || !out_buffer || - 25d0: 200007b7 lui a5,0x20000 - 25d4: 0dc7c783 lbu a5,220(a5) # 200000dc - 25d8: 30078363 beqz a5,28de -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:86 (discriminator 1) - !out_buffer->pBuffer || !output_meta) - return -1; - 25dc: 57fd li a5,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:84 (discriminator 1) - if (!g_is_initialized || !input || !input->pData || !out_buffer || - 25de: 30050163 beqz a0,28e0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:84 (discriminator 2) - 25e2: 4118 lw a4,0(a0) - 25e4: 2e070e63 beqz a4,28e0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:84 (discriminator 3) - 25e8: 2e058c63 beqz a1,28e0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:84 (discriminator 4) - 25ec: 4198 lw a4,0(a1) - 25ee: 2e070963 beqz a4,28e0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:85 - !out_buffer->pBuffer || !output_meta) - 25f2: 2e060763 beqz a2,28e0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:83 - PreprocessResult_t *output_meta) { - 25f6: ef9fd2ef jal t0,4ee <__riscv_save_10> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:89 - - /* 鍔犻攣蹇収褰撳墠閰嶇疆锛屾渶灏忓寲鎸侀攣鏃堕棿 */ - qdx_port_mutex_lock(g_preprocess_mutex); - 25fa: 20000937 lui s2,0x20000 - 25fe: 0e090913 addi s2,s2,224 # 200000e0 - 2602: 89aa mv s3,a0 - 2604: 00092503 lw a0,0(s2) - 2608: 8432 mv s0,a2 - 260a: 84ae mv s1,a1 - 260c: acdff0ef jal ra,20d8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:90 - uint16_t tgt_w = g_PreprocessCfg.cfg2d.TargetWidth; - 2610: 200107b7 lui a5,0x20010 - 2614: fbc78793 addi a5,a5,-68 # 2000ffbc - 2618: 0187ab03 lw s6,24(a5) - 261c: 3bf8 lbu a4,23(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:93 - uint16_t tgt_h = g_PreprocessCfg.cfg2d.TargetHeight; - int16_t thresh = g_PreprocessCfg.cfg2d.TriggerTemperatureThreshold; - qdx_port_mutex_unlock(g_preprocess_mutex); - 261e: 00092503 lw a0,0(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:90 - uint16_t tgt_w = g_PreprocessCfg.cfg2d.TargetWidth; - 2622: 0ffb7b93 andi s7,s6,255 - 2626: 0ba2 slli s7,s7,0x8 - 2628: 00ebebb3 or s7,s7,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:92 - int16_t thresh = g_PreprocessCfg.cfg2d.TriggerTemperatureThreshold; - 262c: 02279d03 lh s10,34(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:93 - qdx_port_mutex_unlock(g_preprocess_mutex); - 2630: abbff0ef jal ra,20ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:95 - - uint16_t w = input->Width; - 2634: 0049d903 lhu s2,4(s3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:91 - uint16_t tgt_h = g_PreprocessCfg.cfg2d.TargetHeight; - 2638: 008b5b13 srli s6,s6,0x8 - 263c: 0b42 slli s6,s6,0x10 - 263e: 010b5b13 srli s6,s6,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:96 - uint16_t h = input->Height; - 2642: 0069dc83 lhu s9,6(s3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:99 - - /* 鐩爣瓒呰繃杈撳叆鏃跺洖閫鍒版暣骞呭浘鍍 */ - if (tgt_w > w) - 2646: 8ade mv s5,s7 - 2648: 01797363 bgeu s2,s7,264e - 264c: 8aca mv s5,s2 - 264e: 0ac2 slli s5,s5,0x10 - 2650: 010ada93 srli s5,s5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:101 - tgt_w = w; - if (tgt_h > h) - 2654: 8a5a mv s4,s6 - 2656: 016cf363 bgeu s9,s6,265c - 265a: 8a66 mv s4,s9 - 265c: 0a42 slli s4,s4,0x10 - 265e: 010a5a13 srli s4,s4,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:105 - tgt_h = h; - - /* ---- 缂撳啿鍖哄閲忚秺鐣屾鏌 ---- */ - uint32_t required_bytes = (uint32_t)tgt_w * tgt_h * 2u; - 2662: 034a8c33 mul s8,s5,s4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:106 - if (out_buffer->HeadOffset + required_bytes > out_buffer->TotalCapacity) { - 2666: 4494 lw a3,8(s1) - 2668: 40d0 lw a2,4(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:107 - return -3; /* 杈撳嚭缂撳啿鍖虹┖闂翠笉瓒 */ - 266a: 57f5 li a5,-3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:105 - uint32_t required_bytes = (uint32_t)tgt_w * tgt_h * 2u; - 266c: 001c1713 slli a4,s8,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:106 - if (out_buffer->HeadOffset + required_bytes > out_buffer->TotalCapacity) { - 2670: 9736 add a4,a4,a3 - 2672: 04e66c63 bltu a2,a4,26ca -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:111 - } - - /* 鍒ゆ柇鏄惁闇瑕佹粦绐楄绠楋紝鎴栫洿鎺ュ鍑哄叏鍥 */ - if (tgt_w == w && tgt_h == h) { - 2676: 092bec63 bltu s7,s2,270e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:111 (discriminator 1) - 267a: 099b6a63 bltu s6,s9,270e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:116 - /* 鏃犻渶婊戠獥锛屼粎鍋氭俯搴﹁繃婊や笌鏁翠綋缁熻 */ - int16_t min_t = 32767; - int16_t max_t = -32768; - uint32_t total_sum = 0; - uint32_t pixels = w * h; - 267e: 03990333 mul t1,s2,s9 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:119 - - /* Write directly to out_buffer starting at HeadOffset */ - uint8_t *dest_ptr = out_buffer->pBuffer + out_buffer->HeadOffset; - 2682: 4090 lw a2,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:121 - - for (uint32_t i = 0; i < pixels; i++) { - 2684: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:115 - uint32_t total_sum = 0; - 2686: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:119 - uint8_t *dest_ptr = out_buffer->pBuffer + out_buffer->HeadOffset; - 2688: 9636 add a2,a2,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:113 - int16_t min_t = 32767; - 268a: 66a1 lui a3,0x8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:114 - int16_t max_t = -32768; - 268c: 7561 lui a0,0xffff8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:113 - int16_t min_t = 32767; - 268e: 16fd addi a3,a3,-1 - 2690: 00159713 slli a4,a1,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:121 (discriminator 1) - for (uint32_t i = 0; i < pixels; i++) { - 2694: 02659e63 bne a1,t1,26d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:141 - output_meta->DataLength = pixels * 2; - output_meta->ValidWidth = w; - output_meta->ValidHeight = h; - output_meta->MinTemp = min_t; - output_meta->MaxTemp = max_t; - output_meta->AvgTemp = (int16_t)(total_sum / pixels); - 2698: 02b7d7b3 divu a5,a5,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:135 - output_meta->pValidData = out_buffer->pBuffer + out_buffer->HeadOffset; - 269c: 4090 lw a2,0(s1) - 269e: 0084a803 lw a6,8(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:136 - output_meta->DataLength = pixels * 2; - 26a2: c058 sw a4,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:137 - output_meta->ValidWidth = w; - 26a4: 01241423 sh s2,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:135 - output_meta->pValidData = out_buffer->pBuffer + out_buffer->HeadOffset; - 26a8: 9642 add a2,a2,a6 - 26aa: c010 sw a2,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:138 - output_meta->ValidHeight = h; - 26ac: 01941523 sh s9,10(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:139 - output_meta->MinTemp = min_t; - 26b0: a456 sh a3,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:140 - output_meta->MaxTemp = max_t; - 26b2: a46a sh a0,14(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:253 - output_meta->DataLength = pixels * 2; - output_meta->ValidWidth = tgt_w; - output_meta->ValidHeight = tgt_h; - output_meta->MinTemp = min_t; - output_meta->MaxTemp = max_t; - output_meta->AvgTemp = (int16_t)(total_sum / pixels); - 26b4: 07c2 slli a5,a5,0x10 - 26b6: 87c1 srai a5,a5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:255 - output_meta->RoiTemp = output_meta->AvgTemp; - output_meta->Status = 0; - 26b8: 00040a23 sb zero,20(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:253 - output_meta->AvgTemp = (int16_t)(total_sum / pixels); - 26bc: a81e sh a5,16(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:254 - output_meta->RoiTemp = output_meta->AvgTemp; - 26be: a83e sh a5,18(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:256 - output_meta->FrameNumber = input->FrameNumber; - 26c0: 0089a783 lw a5,8(s3) - 26c4: cc1c sw a5,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:258 - - out_buffer->ValidPayloadLen = output_meta->DataLength; - 26c6: c4d8 sw a4,12(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:260 - - return 0; - 26c8: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:261 -} - 26ca: 853e mv a0,a5 - 26cc: e5bfd06f j 526 <__riscv_restore_10> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:122 - int16_t raww_val = (int16_t)input->pData[i]; - 26d0: 0009a803 lw a6,0(s3) - 26d4: 88b6 mv a7,a3 - 26d6: 9742 add a4,a4,a6 - 26d8: 00075803 lhu a6,0(a4) - 26dc: 01081713 slli a4,a6,0x10 - 26e0: 8741 srai a4,a4,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:124 - if (raww_val < min_t) - 26e2: 00d75363 bge a4,a3,26e8 - 26e6: 88ba mv a7,a4 - 26e8: 01089693 slli a3,a7,0x10 - 26ec: 86c1 srai a3,a3,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:126 - if (raww_val > max_t) - 26ee: 88aa mv a7,a0 - 26f0: 00e55363 bge a0,a4,26f6 - 26f4: 88ba mv a7,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:131 - *dest_ptr++ = (uint8_t)(raww_val & 0xFF); - 26f6: 01060023 sb a6,0(a2) - 26fa: 01089513 slli a0,a7,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:128 - total_sum += raww_val; - 26fe: 97ba add a5,a5,a4 - 2700: 0609 addi a2,a2,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:132 - *dest_ptr++ = (uint8_t)((raww_val >> 8) & 0xFF); - 2702: 8721 srai a4,a4,0x8 - 2704: 8541 srai a0,a0,0x10 - 2706: fee60fa3 sb a4,-1(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:121 - for (uint32_t i = 0; i < pixels; i++) { - 270a: 0585 addi a1,a1,1 - 270c: b751 j 2690 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:154 - memset(g_col_sums, 0, w * sizeof(uint32_t)); - 270e: 20010b37 lui s6,0x20010 - 2712: 00291613 slli a2,s2,0x2 - 2716: 4581 li a1,0 - 2718: 02cb0513 addi a0,s6,44 # 2001002c - 271c: e2bfd0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:159 - for (uint16_t y = 0; y <= h - tgt_h; y++) { - 2720: 00191e93 slli t4,s2,0x1 - 2724: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:157 - uint16_t best_y = 0; - 2726: 4801 li a6,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:156 - uint16_t best_x = 0; - 2728: 4881 li a7,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:155 - uint32_t max_region_sum = 0; - 272a: 4e01 li t3,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:159 - for (uint16_t y = 0; y <= h - tgt_h; y++) { - 272c: 414c8cb3 sub s9,s9,s4 - 2730: 02cb0713 addi a4,s6,44 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:181 - int16_t bot_val = (int16_t)input->pData[(y + tgt_h - 1) * w + c]; - 2734: fffa0f13 addi t5,s4,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:159 (discriminator 1) - for (uint16_t y = 0; y <= h - tgt_h; y++) { - 2738: 02fcd763 bge s9,a5,2766 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:227 - uint8_t *dest_ptr = out_buffer->pBuffer + out_buffer->HeadOffset; - 273c: 03280833 mul a6,a6,s2 - 2740: 449c lw a5,8(s1) - 2742: 0004a303 lw t1,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:223 - int16_t min_t = 32767; - 2746: 6521 lui a0,0x8 - 2748: 001a9293 slli t0,s5,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:227 - uint8_t *dest_ptr = out_buffer->pBuffer + out_buffer->HeadOffset; - 274c: 933e add t1,t1,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:229 - for (uint16_t r = 0; r < tgt_h; r++) { - 274e: 4e01 li t3,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:225 - uint32_t total_sum = 0; - 2750: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:224 - int16_t max_t = -32768; - 2752: 7ee1 lui t4,0xffff8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:223 - int16_t min_t = 32767; - 2754: 157d addi a0,a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:229 (discriminator 1) - for (uint16_t r = 0; r < tgt_h; r++) { - 2756: 17ca0363 beq s4,t3,28bc - 275a: 01088633 add a2,a7,a6 - 275e: 0606 slli a2,a2,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:229 - 2760: 859a mv a1,t1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:230 - for (uint16_t c = 0; c < tgt_w; c++) { - 2762: 4681 li a3,0 - 2764: a299 j 28aa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:166 - if (y == 0) { - 2766: 833a mv t1,a4 - 2768: 4601 li a2,0 - 276a: cfa9 beqz a5,27c4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:180 - int16_t top_val = (int16_t)input->pData[(y - 1) * w + c]; - 276c: fff78693 addi a3,a5,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:181 - int16_t bot_val = (int16_t)input->pData[(y + tgt_h - 1) * w + c]; - 2770: 00ff0633 add a2,t5,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:180 - int16_t top_val = (int16_t)input->pData[(y - 1) * w + c]; - 2774: 032686b3 mul a3,a3,s2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:179 - for (uint16_t c = 0; c < w; c++) { - 2778: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:181 - int16_t bot_val = (int16_t)input->pData[(y + tgt_h - 1) * w + c]; - 277a: 03260633 mul a2,a2,s2 - 277e: 0686 slli a3,a3,0x1 - 2780: 0606 slli a2,a2,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:179 (discriminator 1) - for (uint16_t c = 0; c < w; c++) { - 2782: 05259b63 bne a1,s2,27d8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:196 - for (uint16_t c = 0; c < tgt_w; c++) { - 2786: 86ba mv a3,a4 - 2788: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:193 - uint32_t current_window_sum = 0; - 278a: 4601 li a2,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:196 (discriminator 1) - for (uint16_t c = 0; c < tgt_w; c++) { - 278c: 08ba9563 bne s5,a1,2816 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:200 - if (current_window_sum > max_region_sum) { - 2790: 0cce6763 bltu t3,a2,285e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:202 (discriminator 1) - best_x = 0; - 2794: 4685 li a3,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:207 (discriminator 1) - for (uint16_t x = 1; x <= w - tgt_w; x++) { - 2796: 40b90fb3 sub t6,s2,a1 - 279a: a865 j 2852 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:170 - int16_t val = (int16_t)input->pData[r * w + c]; - 279c: 0009af83 lw t6,0(s3) - 27a0: 9faa add t6,t6,a0 - 27a2: 000f9f83 lh t6,0(t6) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:171 - if (val < thresh) - 27a6: 01afd463 bge t6,s10,27ae -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:172 - val = 90; - 27aa: 05a00f93 li t6,90 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:169 (discriminator 2) - for (uint16_t r = 0; r < tgt_h; r++) { - 27ae: 0685 addi a3,a3,1 - 27b0: 06c2 slli a3,a3,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:173 (discriminator 2) - col_total += val; - 27b2: 95fe add a1,a1,t6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:169 (discriminator 2) - for (uint16_t r = 0; r < tgt_h; r++) { - 27b4: 82c1 srli a3,a3,0x10 - 27b6: 9576 add a0,a0,t4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:169 (discriminator 1) - 27b8: feda12e3 bne s4,a3,279c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:175 (discriminator 2) - g_col_sums[c] = col_total; - 27bc: 00b32023 sw a1,0(t1) # 80000000 <__freertos_irq_stack_top+0x5ffd0000> - 27c0: 0605 addi a2,a2,1 - 27c2: 0311 addi t1,t1,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:167 (discriminator 1) - for (uint16_t c = 0; c < w; c++) { - 27c4: 01061693 slli a3,a2,0x10 - 27c8: 82c1 srli a3,a3,0x10 - 27ca: fb26fee3 bgeu a3,s2,2786 - 27ce: 00161513 slli a0,a2,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:169 - for (uint16_t r = 0; r < tgt_h; r++) { - 27d2: 4681 li a3,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:168 - uint32_t col_total = 0; - 27d4: 4581 li a1,0 - 27d6: b7cd j 27b8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:180 - int16_t top_val = (int16_t)input->pData[(y - 1) * w + c]; - 27d8: 0009af83 lw t6,0(s3) - 27dc: 00df8533 add a0,t6,a3 - 27e0: 00051283 lh t0,0(a0) # 8000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:181 - int16_t bot_val = (int16_t)input->pData[(y + tgt_h - 1) * w + c]; - 27e4: 9fb2 add t6,t6,a2 - 27e6: 000f9f83 lh t6,0(t6) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:183 - if (top_val < thresh) - 27ea: 01a2d463 bge t0,s10,27f2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:184 - top_val = 90; - 27ee: 05a00293 li t0,90 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:185 - if (bot_val < thresh) - 27f2: 01afd463 bge t6,s10,27fa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:186 - bot_val = 90; - 27f6: 05a00f93 li t6,90 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:188 (discriminator 2) - g_col_sums[c] = g_col_sums[c] - top_val + bot_val; - 27fa: 00032503 lw a0,0(t1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:179 (discriminator 2) - for (uint16_t c = 0; c < w; c++) { - 27fe: 0585 addi a1,a1,1 - 2800: 05c2 slli a1,a1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:188 (discriminator 2) - g_col_sums[c] = g_col_sums[c] - top_val + bot_val; - 2802: 40550533 sub a0,a0,t0 - 2806: 957e add a0,a0,t6 - 2808: 00a32023 sw a0,0(t1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:179 (discriminator 2) - for (uint16_t c = 0; c < w; c++) { - 280c: 81c1 srli a1,a1,0x10 - 280e: 0311 addi t1,t1,4 - 2810: 0689 addi a3,a3,2 - 2812: 0609 addi a2,a2,2 - 2814: b7bd j 2782 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:197 (discriminator 3) - current_window_sum += g_col_sums[c]; - 2816: 4288 lw a0,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:196 (discriminator 3) - for (uint16_t c = 0; c < tgt_w; c++) { - 2818: 0585 addi a1,a1,1 - 281a: 05c2 slli a1,a1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:197 (discriminator 3) - current_window_sum += g_col_sums[c]; - 281c: 962a add a2,a2,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:196 (discriminator 3) - for (uint16_t c = 0; c < tgt_w; c++) { - 281e: 81c1 srli a1,a1,0x10 - 2820: 0691 addi a3,a3,4 - 2822: b7ad j 278c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:209 - current_window_sum - g_col_sums[x - 1] + g_col_sums[x + tgt_w - 1]; - 2824: 00b68533 add a0,a3,a1 - 2828: 157d addi a0,a0,-1 - 282a: fff68313 addi t1,a3,-1 # 7fff - 282e: 050a slli a0,a0,0x2 - 2830: 030a slli t1,t1,0x2 - 2832: 953a add a0,a0,a4 - 2834: 933a add t1,t1,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:208 - current_window_sum = - 2836: 4108 lw a0,0(a0) - 2838: 00032303 lw t1,0(t1) - 283c: 40650533 sub a0,a0,t1 - 2840: 962a add a2,a2,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:211 - if (current_window_sum > max_region_sum) { - 2842: 00ce7563 bgeu t3,a2,284c - 2846: 883e mv a6,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:213 - best_x = x; - 2848: 88b6 mv a7,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:211 - if (current_window_sum > max_region_sum) { - 284a: 8e32 mv t3,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:207 (discriminator 2) - for (uint16_t x = 1; x <= w - tgt_w; x++) { - 284c: 0685 addi a3,a3,1 - 284e: 06c2 slli a3,a3,0x10 - 2850: 82c1 srli a3,a3,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:207 (discriminator 1) - 2852: fcdfd9e3 bge t6,a3,2824 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:159 (discriminator 2) - for (uint16_t y = 0; y <= h - tgt_h; y++) { - 2856: 0785 addi a5,a5,1 - 2858: 07c2 slli a5,a5,0x10 - 285a: 83c1 srli a5,a5,0x10 - 285c: bdf1 j 2738 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:200 - if (current_window_sum > max_region_sum) { - 285e: 883e mv a6,a5 - 2860: 8e32 mv t3,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:202 - best_x = 0; - 2862: 4881 li a7,0 - 2864: bf05 j 2794 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:233 - int16_t raww_val = (int16_t)input->pData[src_idx]; - 2866: 0009a703 lw a4,0(s3) - 286a: 8faa mv t6,a0 - 286c: 9732 add a4,a4,a2 - 286e: 00075f03 lhu t5,0(a4) - 2872: 010f1713 slli a4,t5,0x10 - 2876: 8741 srai a4,a4,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:235 - if (raww_val < min_t) - 2878: 00a75363 bge a4,a0,287e - 287c: 8fba mv t6,a4 - 287e: 010f9513 slli a0,t6,0x10 - 2882: 8541 srai a0,a0,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:237 - if (raww_val > max_t) - 2884: 8ff6 mv t6,t4 - 2886: 00eed363 bge t4,a4,288c - 288a: 8fba mv t6,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:230 - for (uint16_t c = 0; c < tgt_w; c++) { - 288c: 0685 addi a3,a3,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:242 - *dest_ptr++ = (uint8_t)(raww_val & 0xFF); - 288e: 01e58023 sb t5,0(a1) - 2892: 010f9e93 slli t4,t6,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:239 - total_sum += raww_val; - 2896: 97ba add a5,a5,a4 - 2898: 0589 addi a1,a1,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:243 - *dest_ptr++ = (uint8_t)((raww_val >> 8) & 0xFF); - 289a: 8721 srai a4,a4,0x8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:230 - for (uint16_t c = 0; c < tgt_w; c++) { - 289c: 06c2 slli a3,a3,0x10 - 289e: 410ede93 srai t4,t4,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:243 - *dest_ptr++ = (uint8_t)((raww_val >> 8) & 0xFF); - 28a2: fee58fa3 sb a4,-1(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:230 - for (uint16_t c = 0; c < tgt_w; c++) { - 28a6: 82c1 srli a3,a3,0x10 - 28a8: 0609 addi a2,a2,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:230 (discriminator 1) - 28aa: fada9ee3 bne s5,a3,2866 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:229 (discriminator 2) - for (uint16_t r = 0; r < tgt_h; r++) { - 28ae: 0e05 addi t3,t3,1 - 28b0: 0e42 slli t3,t3,0x10 - 28b2: 9316 add t1,t1,t0 - 28b4: 010e5e13 srli t3,t3,0x10 - 28b8: 984a add a6,a6,s2 - 28ba: bd71 j 2756 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:247 - output_meta->pValidData = out_buffer->pBuffer + out_buffer->HeadOffset; - 28bc: 4098 lw a4,0(s1) - 28be: 4494 lw a3,8(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:253 - output_meta->AvgTemp = (int16_t)(total_sum / pixels); - 28c0: 0387d7b3 divu a5,a5,s8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:249 - output_meta->ValidWidth = tgt_w; - 28c4: 01541423 sh s5,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:247 - output_meta->pValidData = out_buffer->pBuffer + out_buffer->HeadOffset; - 28c8: 9736 add a4,a4,a3 - 28ca: c018 sw a4,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:248 - output_meta->DataLength = pixels * 2; - 28cc: 001c1713 slli a4,s8,0x1 - 28d0: c058 sw a4,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:250 - output_meta->ValidHeight = tgt_h; - 28d2: 01441523 sh s4,10(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:251 - output_meta->MinTemp = min_t; - 28d6: a44a sh a0,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:252 - output_meta->MaxTemp = max_t; - 28d8: 01d41723 sh t4,14(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:253 - output_meta->AvgTemp = (int16_t)(total_sum / pixels); - 28dc: bbe1 j 26b4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:86 - return -1; - 28de: 57fd li a5,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:261 -} - 28e0: 853e mv a0,a5 - 28e2: 8082 ret - -000028e4 : -Preprocess_CheckInternalTrigger2D(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:267 - -/* ============================================================ - * Internal Trigger Check - * ============================================================ */ -int8_t Preprocess_CheckInternalTrigger2D(const RawImageBuffer_t *input) { - if (!g_is_initialized || !input || !input->pData) - 28e4: 200007b7 lui a5,0x20000 - 28e8: 0dc7c783 lbu a5,220(a5) # 200000dc - 28ec: 12078563 beqz a5,2a16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:268 (discriminator 1) - return -1; - 28f0: 57fd li a5,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:267 (discriminator 1) - if (!g_is_initialized || !input || !input->pData) - 28f2: 12050363 beqz a0,2a18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:267 (discriminator 2) - 28f6: 4118 lw a4,0(a0) - 28f8: 12070063 beqz a4,2a18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:266 -int8_t Preprocess_CheckInternalTrigger2D(const RawImageBuffer_t *input) { - 28fc: bf3fd2ef jal t0,4ee <__riscv_save_10> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:270 - - qdx_port_mutex_lock(g_preprocess_mutex); - 2900: 20000bb7 lui s7,0x20000 - 2904: 0e0b8b93 addi s7,s7,224 # 200000e0 - 2908: 8a2a mv s4,a0 - 290a: 000ba503 lw a0,0(s7) - 290e: fcaff0ef jal ra,20d8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:271 - uint16_t roi_x = g_PreprocessCfg.cfg2d.TriggerRoiX; - 2912: 200107b7 lui a5,0x20010 - 2916: fbc78793 addi a5,a5,-68 # 2000ffbc - 291a: 5780 lw s0,40(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:273 - uint16_t roi_y = g_PreprocessCfg.cfg2d.TriggerRoiY; - uint16_t roi_w = g_PreprocessCfg.cfg2d.TriggerRoiW; - 291c: 57c4 lw s1,44(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:271 - uint16_t roi_x = g_PreprocessCfg.cfg2d.TriggerRoiX; - 291e: 0277c903 lbu s2,39(a5) - 2922: 0ff47713 andi a4,s0,255 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:277 - uint16_t roi_h = g_PreprocessCfg.cfg2d.TriggerRoiH; - uint8_t condition = g_PreprocessCfg.cfg2d.TriggerCondition; - int16_t thresh = g_PreprocessCfg.cfg2d.TriggerTemperatureThreshold; - qdx_port_mutex_unlock(g_preprocess_mutex); - 2926: 000ba503 lw a0,0(s7) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:271 - uint16_t roi_x = g_PreprocessCfg.cfg2d.TriggerRoiX; - 292a: 0722 slli a4,a4,0x8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:273 - uint16_t roi_w = g_PreprocessCfg.cfg2d.TriggerRoiW; - 292c: 0ff4f613 andi a2,s1,255 - 2930: 0622 slli a2,a2,0x8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:271 - uint16_t roi_x = g_PreprocessCfg.cfg2d.TriggerRoiX; - 2932: 01276933 or s2,a4,s2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:274 - uint16_t roi_h = g_PreprocessCfg.cfg2d.TriggerRoiH; - 2936: 80a1 srli s1,s1,0x8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:272 - uint16_t roi_y = g_PreprocessCfg.cfg2d.TriggerRoiY; - 2938: 00845713 srli a4,s0,0x8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:273 - uint16_t roi_w = g_PreprocessCfg.cfg2d.TriggerRoiW; - 293c: 8061 srli s0,s0,0x18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:272 - uint16_t roi_y = g_PreprocessCfg.cfg2d.TriggerRoiY; - 293e: 01071a93 slli s5,a4,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:275 - uint8_t condition = g_PreprocessCfg.cfg2d.TriggerCondition; - 2942: 0267cb03 lbu s6,38(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:276 - int16_t thresh = g_PreprocessCfg.cfg2d.TriggerTemperatureThreshold; - 2946: 02279983 lh s3,34(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:273 - uint16_t roi_w = g_PreprocessCfg.cfg2d.TriggerRoiW; - 294a: 8c51 or s0,s0,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:274 - uint16_t roi_h = g_PreprocessCfg.cfg2d.TriggerRoiH; - 294c: 04c2 slli s1,s1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:277 - qdx_port_mutex_unlock(g_preprocess_mutex); - 294e: f9cff0ef jal ra,20ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:272 - uint16_t roi_y = g_PreprocessCfg.cfg2d.TriggerRoiY; - 2952: 010ada93 srli s5,s5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:274 - uint16_t roi_h = g_PreprocessCfg.cfg2d.TriggerRoiH; - 2956: 80c1 srli s1,s1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:284 - uint16_t w = input->Width; - uint16_t h = input->Height; - - /* Boundary Check & Clipping */ - if (roi_w == 0 || roi_h == 0) - return 0; - 2958: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:283 - if (roi_w == 0 || roi_h == 0) - 295a: c85d beqz s0,2a10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:283 (discriminator 1) - 295c: c8d5 beqz s1,2a10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:279 - uint16_t w = input->Width; - 295e: 004a5703 lhu a4,4(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:285 - if (roi_x >= w || roi_y >= h) - 2962: 0ae97763 bgeu s2,a4,2a10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:280 (discriminator 1) - uint16_t h = input->Height; - 2966: 006a5683 lhu a3,6(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:285 (discriminator 1) - if (roi_x >= w || roi_y >= h) - 296a: 0adaf363 bgeu s5,a3,2a10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:287 - return 0; - if (roi_x + roi_w > w) - 296e: 012407b3 add a5,s0,s2 - 2972: 00f75663 bge a4,a5,297e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:288 - roi_w = w - roi_x; - 2976: 41270433 sub s0,a4,s2 - 297a: 0442 slli s0,s0,0x10 - 297c: 8041 srli s0,s0,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:289 - if (roi_y + roi_h > h) - 297e: 015487b3 add a5,s1,s5 - 2982: 00f6d663 bge a3,a5,298e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:290 - roi_h = h - roi_y; - 2986: 415684b3 sub s1,a3,s5 - 298a: 04c2 slli s1,s1,0x10 - 298c: 80c1 srli s1,s1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:296 - - int16_t max_temp = -32768; - int64_t sum_temp = 0; - uint32_t count = roi_w * roi_h; - - for (uint16_t r = 0; r < roi_h; r++) { - 298e: 00171e13 slli t3,a4,0x1 - 2992: 03570733 mul a4,a4,s5 - 2996: 000a2783 lw a5,0(s4) - 299a: 4801 li a6,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:293 - int64_t sum_temp = 0; - 299c: 4501 li a0,0 - 299e: 4581 li a1,0 - 29a0: 974a add a4,a4,s2 - 29a2: 0706 slli a4,a4,0x1 - 29a4: 973e add a4,a4,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:292 - int16_t max_temp = -32768; - 29a6: 77e1 lui a5,0xffff8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:266 -int8_t Preprocess_CheckInternalTrigger2D(const RawImageBuffer_t *input) { - 29a8: 88ba mv a7,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:297 - for (uint16_t c = 0; c < roi_w; c++) { - 29aa: 4601 li a2,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:298 - int16_t val = (int16_t)input->pData[(roi_y + r) * w + (roi_x + c)]; - 29ac: 00089683 lh a3,0(a7) # 40100000 <__freertos_irq_stack_top+0x200d0000> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:301 - - /* Temperature Filtration Preprocessing */ - if (val < thresh) { - 29b0: 0136d463 bge a3,s3,29b8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:302 - val = 90; /* Treat as 9.0C */ - 29b4: 05a00693 li a3,90 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:305 - } - - if (val > max_temp) - 29b8: 8336 mv t1,a3 - 29ba: 00f6d363 bge a3,a5,29c0 - 29be: 833e mv t1,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:297 - for (uint16_t c = 0; c < roi_w; c++) { - 29c0: 0605 addi a2,a2,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:307 - max_temp = val; - sum_temp += val; - 29c2: 41f6de93 srai t4,a3,0x1f -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:297 - for (uint16_t c = 0; c < roi_w; c++) { - 29c6: 0642 slli a2,a2,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:307 - sum_temp += val; - 29c8: 96aa add a3,a3,a0 - 29ca: 01031793 slli a5,t1,0x10 - 29ce: 95f6 add a1,a1,t4 - 29d0: 00a6b333 sltu t1,a3,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:297 - for (uint16_t c = 0; c < roi_w; c++) { - 29d4: 8241 srli a2,a2,0x10 - 29d6: 87c1 srai a5,a5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:307 - sum_temp += val; - 29d8: 8536 mv a0,a3 - 29da: 959a add a1,a1,t1 - 29dc: 0889 addi a7,a7,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:297 - for (uint16_t c = 0; c < roi_w; c++) { - 29de: fcc417e3 bne s0,a2,29ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:296 (discriminator 2) - for (uint16_t r = 0; r < roi_h; r++) { - 29e2: 0805 addi a6,a6,1 - 29e4: 0842 slli a6,a6,0x10 - 29e6: 01085813 srli a6,a6,0x10 - 29ea: 9772 add a4,a4,t3 - 29ec: fb049ee3 bne s1,a6,29a8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:312 - } - } - - int16_t calc_val = 0; - if (condition == 1) { - 29f0: 4705 li a4,1 - 29f2: 00eb0b63 beq s6,a4,2a08 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:294 - uint32_t count = roi_w * roi_h; - 29f6: 02940633 mul a2,s0,s1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:317 - /* 1: Max */ - calc_val = max_temp; - } else { - /* 0: Average */ - calc_val = (int16_t)(sum_temp / count); - 29fa: 41f65693 srai a3,a2,0x1f - 29fe: 0fe0a0ef jal ra,cafc <__divdi3> - 2a02: 01051793 slli a5,a0,0x10 - 2a06: 87c1 srai a5,a5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:320 - } - - if (calc_val >= thresh) { - 2a08: 0137a7b3 slt a5,a5,s3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:268 - return -1; - 2a0c: 0017c793 xori a5,a5,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:325 - return 1; /* Triggered */ - } - - return 0; /* Not triggered */ -} - 2a10: 853e mv a0,a5 - 2a12: b15fd06f j 526 <__riscv_restore_10> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:268 - return -1; - 2a16: 57fd li a5,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_preprocess.c:325 -} - 2a18: 853e mv a0,a5 - 2a1a: 8082 ret - -00002a1c : -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 -/* ============================================================ - * Shift-Safe Serialization (Little-Endian) - * ============================================================ */ - -void qdx_write_u16_le(uint8_t *buf, uint16_t val) { - buf[0] = (uint8_t)(val & 0xFF); - 2a1c: a10c sb a1,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2a1e: 81a1 srli a1,a1,0x8 - 2a20: b10c sb a1,1(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:16 -} - 2a22: 8082 ret - -00002a24 : -qdx_write_u32_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:20 - -void qdx_write_u32_le(uint8_t *buf, uint32_t val) { - buf[0] = (uint8_t)(val & 0xFF); - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2a24: 0085d793 srli a5,a1,0x8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:19 - buf[0] = (uint8_t)(val & 0xFF); - 2a28: a10c sb a1,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:20 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2a2a: b11c sb a5,1(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:21 - buf[2] = (uint8_t)((val >> 16) & 0xFF); - 2a2c: 0105d793 srli a5,a1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:22 - buf[3] = (uint8_t)((val >> 24) & 0xFF); - 2a30: 81e1 srli a1,a1,0x18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:21 - buf[2] = (uint8_t)((val >> 16) & 0xFF); - 2a32: a13c sb a5,2(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:22 - buf[3] = (uint8_t)((val >> 24) & 0xFF); - 2a34: b12c sb a1,3(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:23 -} - 2a36: 8082 ret - -00002a38 : -qdx_read_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:26 - -uint16_t qdx_read_u16_le(const uint8_t *buf) { - return (uint16_t)(buf[0] | (buf[1] << 8)); - 2a38: 311c lbu a5,1(a0) - 2a3a: 2108 lbu a0,0(a0) - 2a3c: 07a2 slli a5,a5,0x8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:27 -} - 2a3e: 8d5d or a0,a0,a5 - 2a40: 8082 ret - -00002a42 : -qdx_read_u32_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:32 - -uint32_t qdx_read_u32_le(const uint8_t *buf) { - /* 鏄惧紡杞瀷闃叉楂樹綅瀛楄妭鐨勭鍙蜂綅鎵╁睍 */ - return ((uint32_t)buf[0]) | ((uint32_t)buf[1] << 8) | - ((uint32_t)buf[2] << 16) | ((uint32_t)buf[3] << 24); - 2a42: 311c lbu a5,1(a0) - 2a44: 2118 lbu a4,0(a0) - 2a46: 07a2 slli a5,a5,0x8 - 2a48: 8f5d or a4,a4,a5 - 2a4a: 213c lbu a5,2(a0) - 2a4c: 3128 lbu a0,3(a0) - 2a4e: 07c2 slli a5,a5,0x10 - 2a50: 8fd9 or a5,a5,a4 - 2a52: 0562 slli a0,a0,0x18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:33 -} - 2a54: 8d5d or a0,a0,a5 - 2a56: 8082 ret - -00002a58 : -qdx_crc16_modbus(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:39 - -/* ============================================================ - * CRC16-MODBUS Checksum (Polynomial: 0xA001, Init: 0xFFFF) - * ============================================================ */ -uint16_t qdx_crc16_modbus(const uint8_t *data, int len) { - uint16_t crc = 0xFFFF; - 2a58: 67c1 lui a5,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:45 - for (int i = 0; i < len; i++) { - crc ^= data[i]; - for (int j = 0; j < 8; j++) { - if (crc & 0x0001) { - crc >>= 1; - crc ^= 0xA001; - 2a5a: 76e9 lui a3,0xffffa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:40 - for (int i = 0; i < len; i++) { - 2a5c: 4701 li a4,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:39 - uint16_t crc = 0xFFFF; - 2a5e: 17fd addi a5,a5,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:45 - crc ^= 0xA001; - 2a60: 0685 addi a3,a3,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:40 (discriminator 1) - for (int i = 0; i < len; i++) { - 2a62: 00b74463 blt a4,a1,2a6a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:52 - crc >>= 1; - } - } - } - return crc; -} - 2a66: 853e mv a0,a5 - 2a68: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:41 - crc ^= data[i]; - 2a6a: 00e50633 add a2,a0,a4 - 2a6e: 2210 lbu a2,0(a2) - 2a70: 8fb1 xor a5,a5,a2 - 2a72: 4621 li a2,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:43 - if (crc & 0x0001) { - 2a74: 0017f813 andi a6,a5,1 - 2a78: 8385 srli a5,a5,0x1 - 2a7a: 00080563 beqz a6,2a84 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:45 - crc ^= 0xA001; - 2a7e: 8fb5 xor a5,a5,a3 - 2a80: 07c2 slli a5,a5,0x10 - 2a82: 83c1 srli a5,a5,0x10 - 2a84: 167d addi a2,a2,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:42 (discriminator 2) - for (int j = 0; j < 8; j++) { - 2a86: f67d bnez a2,2a74 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:40 (discriminator 2) - for (int i = 0; i < len; i++) { - 2a88: 0705 addi a4,a4,1 - 2a8a: bfe1 j 2a62 - -00002a8c : -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:61 - * Uses strict byte shifting to prevent unaligned struct access on MCU. - * ============================================================ */ -int qdx_build_frame(uint8_t *buf, uint8_t msg_class, uint8_t tlv_type, - const uint8_t *payload, uint16_t payload_len, - uint16_t dev_id, uint16_t seq, uint32_t timestamp, - uint8_t flags) { - 2a8c: a8bfd2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:64 - - flags |= FLAG_LAST_FRAGMENT; - uint16_t total_len = HEADER_SIZE + TLV_HEADER_SIZE + payload_len + CRC_SIZE; - 2a90: 01570493 addi s1,a4,21 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:61 - uint8_t flags) { - 2a94: 892e mv s2,a1 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2a96: faa00593 li a1,-86 - 2a9a: a10c sb a1,0(a0) -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:64 - uint16_t total_len = HEADER_SIZE + TLV_HEADER_SIZE + payload_len + CRC_SIZE; - 2a9c: 04c2 slli s1,s1,0x10 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2a9e: 05500593 li a1,85 - 2aa2: b10c sb a1,1(a0) -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:64 - uint16_t total_len = HEADER_SIZE + TLV_HEADER_SIZE + payload_len + CRC_SIZE; - 2aa4: 80c1 srli s1,s1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:68 - - /* 1. Fill FrameHeader (16 bytes) safely */ - qdx_write_u16_le(buf + 0, PROTO_MAGIC); /* Magic */ - buf[2] = PROTO_VERSION; /* Version */ - 2aa6: 02000593 li a1,32 - 2aaa: a12c sb a1,2(a0) -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2aac: 010502a3 sb a6,5(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2ab0: 0084d593 srli a1,s1,0x8 - 2ab4: 00885813 srli a6,a6,0x8 -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:61 - uint8_t flags) { - 2ab8: 1141 addi sp,sp,-16 - 2aba: 842a mv s0,a0 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2abc: a14c sb a1,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2abe: b124 sb s1,3(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2ac0: 01050323 sb a6,6(a0) -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:71 - qdx_write_u16_le(buf + 3, total_len); /* Length */ - qdx_write_u16_le(buf + 5, seq); /* Sequence */ - qdx_write_u32_le(buf + 7, timestamp); /* Timestamp */ - 2ac4: 85c6 mv a1,a7 - 2ac6: 051d addi a0,a0,7 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:61 - uint8_t flags) { - 2ac8: c632 sw a2,12(sp) - 2aca: c436 sw a3,8(sp) - 2acc: c23e sw a5,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:64 - uint16_t total_len = HEADER_SIZE + TLV_HEADER_SIZE + payload_len + CRC_SIZE; - 2ace: c03a sw a4,0(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:71 - qdx_write_u32_le(buf + 7, timestamp); /* Timestamp */ - 2ad0: 3f91 jal 2a24 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2ad2: 4792 lw a5,4(sp) - 2ad4: 4702 lw a4,0(sp) -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:78 - qdx_write_u16_le(buf + 12, dev_id); /* DevID */ - buf[14] = msg_class; /* Class */ - buf[15] = flags; /* Flags */ - - /* 2. Fill TLV Header (3 bytes) safely */ - buf[16] = tlv_type; /* TLV Type */ - 2ad6: 4632 lw a2,12(sp) -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2ad8: a45c sb a5,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2ada: 83a1 srli a5,a5,0x8 - 2adc: b45c sb a5,13(s0) -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:63 - flags |= FLAG_LAST_FRAGMENT; - 2ade: 02014783 lbu a5,32(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:82 - qdx_write_u16_le(buf + 17, payload_len); /* TLV Length */ - - /* 3. Copy Payload锛堜娇鐢 memmove 闃叉 payload 涓 buf 閲嶅彔鏃剁殑鏈畾涔夎涓猴級 */ - if (payload && payload_len > 0) { - 2ae2: 46a2 lw a3,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:72 - buf[11] = 0x01; /* Source = MCU (0x01) */ - 2ae4: 4585 li a1,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:63 - flags |= FLAG_LAST_FRAGMENT; - 2ae6: 0207e793 ori a5,a5,32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:75 - buf[15] = flags; /* Flags */ - 2aea: b47c sb a5,15(s0) -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2aec: 00875793 srli a5,a4,0x8 -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:72 - buf[11] = 0x01; /* Source = MCU (0x01) */ - 2af0: b42c sb a1,11(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:74 - buf[14] = msg_class; /* Class */ - 2af2: 01240723 sb s2,14(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:78 - buf[16] = tlv_type; /* TLV Type */ - 2af6: a810 sb a2,16(s0) -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2af8: b818 sb a4,17(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2afa: a83c sb a5,18(s0) -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:82 - if (payload && payload_len > 0) { - 2afc: ca81 beqz a3,2b0c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:82 (discriminator 1) - 2afe: c719 beqz a4,2b0c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:83 - memmove(buf + HEADER_SIZE + TLV_HEADER_SIZE, payload, payload_len); - 2b00: 863a mv a2,a4 - 2b02: 85b6 mv a1,a3 - 2b04: 01340513 addi a0,s0,19 - 2b08: 47a0a0ef jal ra,cf82 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:87 - } - - /* 4. Append CRC16 */ - uint16_t crc = qdx_crc16_modbus(buf, total_len - CRC_SIZE); - 2b0c: ffe48913 addi s2,s1,-2 - 2b10: 85ca mv a1,s2 - 2b12: 8522 mv a0,s0 - 2b14: 3791 jal 2a58 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:88 - qdx_write_u16_le(buf + total_len - CRC_SIZE, crc); - 2b16: 944a add s0,s0,s2 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2b18: a008 sb a0,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2b1a: 8121 srli a0,a0,0x8 - 2b1c: b008 sb a0,1(s0) -qdx_build_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:91 - - return total_len; -} - 2b1e: 8526 mv a0,s1 - 2b20: 0141 addi sp,sp,16 - 2b22: a19fd06f j 53a <__riscv_restore_0> - -00002b26 : -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:100 - * 鐢ㄤ簬闆舵嫹璐濆満鏅細payload锛堝惈 TLV + 鏁版嵁锛夊凡濉厖鍦 buf[HEADER_SIZE] 澶勶紝 - * 鏈嚱鏁颁粎鍐欏叆 16 瀛楄妭甯уご骞跺湪灏鹃儴杩藉姞 CRC16銆 - * ============================================================ */ -int qdx_build_frame_inplace(uint8_t *buf, uint8_t msg_class, - uint16_t payload_len, uint16_t dev_id, uint16_t seq, - uint32_t timestamp, uint8_t flags) { - 2b26: 9f1fd2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:103 - - flags |= FLAG_LAST_FRAGMENT; - uint16_t total_len = HEADER_SIZE + payload_len + CRC_SIZE; - 2b2a: 0649 addi a2,a2,18 - 2b2c: 01061493 slli s1,a2,0x10 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2b30: faa00613 li a2,-86 - 2b34: a110 sb a2,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2b36: 05500613 li a2,85 -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:103 - uint16_t total_len = HEADER_SIZE + payload_len + CRC_SIZE; - 2b3a: 80c1 srli s1,s1,0x10 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2b3c: b110 sb a2,1(a0) -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:107 - - /* 濉啓 16 瀛楄妭甯уご */ - qdx_write_u16_le(buf + 0, PROTO_MAGIC); - buf[2] = PROTO_VERSION; - 2b3e: 02000613 li a2,32 - 2b42: a130 sb a2,2(a0) -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2b44: b158 sb a4,5(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2b46: 0084d613 srli a2,s1,0x8 - 2b4a: 8321 srli a4,a4,0x8 -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:100 - uint32_t timestamp, uint8_t flags) { - 2b4c: 1141 addi sp,sp,-16 - 2b4e: 842a mv s0,a0 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2b50: a150 sb a2,4(a0) - 2b52: a178 sb a4,6(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2b54: b124 sb s1,3(a0) -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:100 - uint32_t timestamp, uint8_t flags) { - 2b56: 892e mv s2,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:110 - qdx_write_u16_le(buf + 3, total_len); - qdx_write_u16_le(buf + 5, seq); - qdx_write_u32_le(buf + 7, timestamp); - 2b58: 051d addi a0,a0,7 - 2b5a: 85be mv a1,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:100 - uint32_t timestamp, uint8_t flags) { - 2b5c: c636 sw a3,12(sp) - 2b5e: c442 sw a6,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:110 - qdx_write_u32_le(buf + 7, timestamp); - 2b60: 35d1 jal 2a24 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2b62: 46b2 lw a3,12(sp) -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:102 - flags |= FLAG_LAST_FRAGMENT; - 2b64: 4822 lw a6,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:111 - buf[11] = 0x01; /* Source = MCU */ - 2b66: 4785 li a5,1 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2b68: a454 sb a3,12(s0) -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:113 - qdx_write_u16_le(buf + 12, dev_id); - buf[14] = msg_class; - 2b6a: 01240723 sb s2,14(s0) -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2b6e: 82a1 srli a3,a3,0x8 -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:102 - flags |= FLAG_LAST_FRAGMENT; - 2b70: 02086813 ori a6,a6,32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:119 - buf[15] = flags; - - /* payload 宸插湪 buf[16..16+payload_len-1]锛屾棤闇鎷疯礉 */ - - /* 杩藉姞 CRC16 */ - uint16_t crc = qdx_crc16_modbus(buf, total_len - CRC_SIZE); - 2b74: ffe48913 addi s2,s1,-2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:111 - buf[11] = 0x01; /* Source = MCU */ - 2b78: b43c sb a5,11(s0) -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2b7a: b454 sb a3,13(s0) -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:114 - buf[15] = flags; - 2b7c: 010407a3 sb a6,15(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:119 - uint16_t crc = qdx_crc16_modbus(buf, total_len - CRC_SIZE); - 2b80: 85ca mv a1,s2 - 2b82: 8522 mv a0,s0 - 2b84: 3dd1 jal 2a58 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:120 - qdx_write_u16_le(buf + total_len - CRC_SIZE, crc); - 2b86: 944a add s0,s0,s2 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2b88: a008 sb a0,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2b8a: 8121 srli a0,a0,0x8 - 2b8c: b008 sb a0,1(s0) -qdx_build_frame_inplace(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:123 - - return total_len; -} - 2b8e: 8526 mv a0,s1 - 2b90: 0141 addi sp,sp,16 - 2b92: 9a9fd06f j 53a <__riscv_restore_0> - -00002b96 : -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:131 - * Build Fragmented Frame (Header + Chunk + CRC16, NO TLV) - * ============================================================ */ -int qdx_build_fragment_frame(uint8_t *buf, uint8_t msg_class, - const uint8_t *chunk, uint16_t chunk_len, - uint16_t dev_id, uint16_t seq, uint32_t timestamp, - uint8_t flags) { - 2b96: 967fd2ef jal t0,4fc <__riscv_save_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:133 - - uint16_t total_len = HEADER_SIZE + chunk_len + CRC_SIZE; - 2b9a: 01268493 addi s1,a3,18 # ffffa012 <__freertos_irq_stack_top+0xdffca012> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:131 - uint8_t flags) { - 2b9e: 8932 mv s2,a2 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2ba0: faa00613 li a2,-86 - 2ba4: a110 sb a2,0(a0) -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:133 - uint16_t total_len = HEADER_SIZE + chunk_len + CRC_SIZE; - 2ba6: 04c2 slli s1,s1,0x10 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2ba8: 05500613 li a2,85 - 2bac: b110 sb a2,1(a0) -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:133 - uint16_t total_len = HEADER_SIZE + chunk_len + CRC_SIZE; - 2bae: 80c1 srli s1,s1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:137 - - /* 1. Fill FrameHeader (16 bytes) safely */ - qdx_write_u16_le(buf + 0, PROTO_MAGIC); - buf[2] = PROTO_VERSION; - 2bb0: 02000613 li a2,32 - 2bb4: a130 sb a2,2(a0) -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2bb6: b15c sb a5,5(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2bb8: 0084d613 srli a2,s1,0x8 - 2bbc: 83a1 srli a5,a5,0x8 -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:131 - uint8_t flags) { - 2bbe: 1141 addi sp,sp,-16 - 2bc0: 842a mv s0,a0 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2bc2: a17c sb a5,6(a0) -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:131 - uint8_t flags) { - 2bc4: 89ae mv s3,a1 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2bc6: b124 sb s1,3(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2bc8: a150 sb a2,4(a0) -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:140 - qdx_write_u16_le(buf + 3, total_len); - qdx_write_u16_le(buf + 5, seq); - qdx_write_u32_le(buf + 7, timestamp); - 2bca: 85c2 mv a1,a6 - 2bcc: 051d addi a0,a0,7 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:131 - uint8_t flags) { - 2bce: c63a sw a4,12(sp) - 2bd0: c446 sw a7,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:133 - uint16_t total_len = HEADER_SIZE + chunk_len + CRC_SIZE; - 2bd2: c236 sw a3,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:140 - qdx_write_u32_le(buf + 7, timestamp); - 2bd4: 3d81 jal 2a24 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2bd6: 4732 lw a4,12(sp) -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:144 - buf[11] = 0x01; /* Source MCU */ - qdx_write_u16_le(buf + 12, dev_id); - buf[14] = msg_class; - buf[15] = flags; - 2bd8: 48a2 lw a7,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:141 - buf[11] = 0x01; /* Source MCU */ - 2bda: 4785 li a5,1 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2bdc: a458 sb a4,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2bde: 8321 srli a4,a4,0x8 -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:141 - buf[11] = 0x01; /* Source MCU */ - 2be0: b43c sb a5,11(s0) -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2be2: b458 sb a4,13(s0) -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:143 - buf[14] = msg_class; - 2be4: 01340723 sb s3,14(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:144 - buf[15] = flags; - 2be8: 011407a3 sb a7,15(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:147 - - /* 2. Copy Payload Chunk锛堜娇鐢 memmove 搴斿娼滃湪閲嶅彔锛 */ - if (chunk && chunk_len > 0) { - 2bec: 00090a63 beqz s2,2c00 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:147 (discriminator 1) - 2bf0: 4692 lw a3,4(sp) - 2bf2: c699 beqz a3,2c00 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:148 - memmove(buf + HEADER_SIZE, chunk, chunk_len); - 2bf4: 8636 mv a2,a3 - 2bf6: 85ca mv a1,s2 - 2bf8: 01040513 addi a0,s0,16 - 2bfc: 3860a0ef jal ra,cf82 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:152 - } - - /* 3. Append CRC16 */ - uint16_t crc = qdx_crc16_modbus(buf, total_len - CRC_SIZE); - 2c00: ffe48913 addi s2,s1,-2 - 2c04: 85ca mv a1,s2 - 2c06: 8522 mv a0,s0 - 2c08: 3d81 jal 2a58 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:153 - qdx_write_u16_le(buf + total_len - CRC_SIZE, crc); - 2c0a: 944a add s0,s0,s2 -qdx_write_u16_le(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:14 - buf[0] = (uint8_t)(val & 0xFF); - 2c0c: a008 sb a0,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:15 - buf[1] = (uint8_t)((val >> 8) & 0xFF); - 2c0e: 8121 srli a0,a0,0x8 - 2c10: b008 sb a0,1(s0) -qdx_build_fragment_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_protocol.c:156 - - return total_len; -} - 2c12: 8526 mv a0,s1 - 2c14: 0141 addi sp,sp,16 - 2c16: 91bfd06f j 530 <__riscv_restore_4> - -00002c1a : -tcp_stream_disconnect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:73 - ctx->label = label; -} - -static void tcp_stream_disconnect(TcpStreamCtx_t *ctx) { - ctx->is_connected = 0; - if (ctx->sock) { - 2c1a: 411c lw a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:72 - ctx->is_connected = 0; - 2c1c: 00050923 sb zero,18(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:73 - if (ctx->sock) { - 2c20: cb99 beqz a5,2c36 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:71 -static void tcp_stream_disconnect(TcpStreamCtx_t *ctx) { - 2c22: 8f5fd2ef jal t0,516 <__riscv_save_0> - 2c26: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:74 - qdx_port_tcp_close(ctx->sock); - 2c28: 853e mv a0,a5 - 2c2a: 85bff0ef jal ra,2484 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:75 - ctx->sock = NULL; - 2c2e: 00042023 sw zero,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:77 - } -} - 2c32: 909fd06f j 53a <__riscv_restore_0> - 2c36: 8082 ret - -00002c38 : -tcp_send_frame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:94 - return 0; -} - -static int32_t tcp_send_frame(TcpStreamCtx_t *ctx, uint8_t msg_class, - uint8_t tlv_type, const uint8_t *payload, - uint16_t payload_len, uint8_t flags) { - 2c38: 8dffd2ef jal t0,516 <__riscv_save_0> - 2c3c: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:95 - if (!ctx->is_connected || ctx->sock == NULL) - 2c3e: 2928 lbu a0,18(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:94 - uint16_t payload_len, uint8_t flags) { - 2c40: bd010113 addi sp,sp,-1072 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:95 - if (!ctx->is_connected || ctx->sock == NULL) - 2c44: c939 beqz a0,2c9a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:95 (discriminator 1) - 2c46: 00042803 lw a6,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:96 (discriminator 1) - return -1; - 2c4a: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:95 (discriminator 1) - if (!ctx->is_connected || ctx->sock == NULL) - 2c4c: 04080863 beqz a6,2c9c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:105 - uint8_t buffer[1024]; - if (HEADER_SIZE + TLV_HEADER_SIZE + payload_len + CRC_SIZE > sizeof(buffer)) { - return -1; /* Too large for generic send */ - } - - uint16_t seq = ctx->sequence++; - 2c50: 01045803 lhu a6,16(s0) - 2c54: 84be mv s1,a5 - 2c56: d63a sw a4,44(sp) - 2c58: 00180793 addi a5,a6,1 - 2c5c: a81e sh a5,16(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:107 - int frame_len = - qdx_build_frame(buffer, msg_class, tlv_type, payload, payload_len, - 2c5e: 200107b7 lui a5,0x20010 - 2c62: 44c7d783 lhu a5,1100(a5) # 2001044c - 2c66: d436 sw a3,40(sp) - 2c68: d232 sw a2,36(sp) - 2c6a: d02e sw a1,32(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:105 - uint16_t seq = ctx->sequence++; - 2c6c: ce42 sw a6,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:107 - qdx_build_frame(buffer, msg_class, tlv_type, payload, payload_len, - 2c6e: cc3e sw a5,24(sp) - 2c70: c30ff0ef jal ra,20a0 - 2c74: 5612 lw a2,36(sp) - 2c76: 5582 lw a1,32(sp) - 2c78: 4872 lw a6,28(sp) - 2c7a: 47e2 lw a5,24(sp) - 2c7c: 5732 lw a4,44(sp) - 2c7e: 56a2 lw a3,40(sp) - 2c80: 88aa mv a7,a0 - 2c82: c026 sw s1,0(sp) - 2c84: 1808 addi a0,sp,48 - 2c86: 3519 jal 2a8c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:110 - g_TcpLogic.dev_id, seq, qdx_port_get_tick_ms(), flags); - - int32_t sent = qdx_port_tcp_send(ctx->sock, buffer, frame_len); - 2c88: 862a mv a2,a0 - 2c8a: 4008 lw a0,0(s0) - 2c8c: 180c addi a1,sp,48 - 2c8e: eb6ff0ef jal ra,2344 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:111 - if (sent < 0) { - 2c92: 00055563 bgez a0,2c9c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:112 - tcp_stream_disconnect(ctx); - 2c96: 8522 mv a0,s0 - 2c98: 3749 jal 2c1a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:96 - return -1; - 2c9a: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:116 - return -1; - } - return sent; -} - 2c9c: 43010113 addi sp,sp,1072 - 2ca0: 89bfd06f j 53a <__riscv_restore_0> - -00002ca4 : -tcp_send_handshake(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:118 - -static void tcp_send_handshake(TcpStreamCtx_t *ctx) { - 2ca4: 873fd2ef jal t0,516 <__riscv_save_0> - 2ca8: 7139 addi sp,sp,-64 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:120 - uint8_t payload[54]; - memset(payload, 0, sizeof(payload)); - 2caa: 03600613 li a2,54 - 2cae: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:118 -static void tcp_send_handshake(TcpStreamCtx_t *ctx) { - 2cb0: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:120 - memset(payload, 0, sizeof(payload)); - 2cb2: 0028 addi a0,sp,8 - 2cb4: 893fd0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:121 - qdx_write_u16_le(payload + 0, 0x0200); - 2cb8: 20000593 li a1,512 - 2cbc: 0028 addi a0,sp,8 - 2cbe: d5fff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:122 - memcpy(payload + 2, g_TcpLogic.uuid, 16); - 2cc2: 200105b7 lui a1,0x20010 - 2cc6: 42c58493 addi s1,a1,1068 # 2001042c - 2cca: 4641 li a2,16 - 2ccc: 42c58593 addi a1,a1,1068 - 2cd0: 00a10513 addi a0,sp,10 - 2cd4: 1fc0a0ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:123 - memcpy(payload + 18, g_TcpLogic.auth_token, 16); - 2cd8: 4641 li a2,16 - 2cda: 01048593 addi a1,s1,16 - 2cde: 01a10513 addi a0,sp,26 - 2ce2: 1ee0a0ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:127 - /* Safe string copy without relying on strncpy platform behavior */ - const char *hw = "V1.0"; - const char *fw = "V2.0"; - for (int i = 0; i < 8 && hw[i]; i++) - 2ce6: 0034 addi a3,sp,8 - 2ce8: 0000d737 lui a4,0xd -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:123 - memcpy(payload + 18, g_TcpLogic.auth_token, 16); - 2cec: 8636 mv a2,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:127 - for (int i = 0; i < 8 && hw[i]; i++) - 2cee: 4781 li a5,0 - 2cf0: 2ac70713 addi a4,a4,684 # d2ac - 2cf4: 4521 li a0,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:127 (discriminator 3) - 2cf6: 00e785b3 add a1,a5,a4 - 2cfa: 00058583 lb a1,0(a1) - 2cfe: c599 beqz a1,2d0c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:128 (discriminator 4) - payload[34 + i] = hw[i]; - 2d00: 02b60123 sb a1,34(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:127 (discriminator 4) - for (int i = 0; i < 8 && hw[i]; i++) - 2d04: 0785 addi a5,a5,1 - 2d06: 0605 addi a2,a2,1 - 2d08: fea797e3 bne a5,a0,2cf6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:129 - for (int i = 0; i < 8 && fw[i]; i++) - 2d0c: 0000d737 lui a4,0xd -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:127 - for (int i = 0; i < 8 && hw[i]; i++) - 2d10: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:129 - for (int i = 0; i < 8 && fw[i]; i++) - 2d12: 2b470713 addi a4,a4,692 # d2b4 - 2d16: 45a1 li a1,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:129 (discriminator 3) - 2d18: 00e78633 add a2,a5,a4 - 2d1c: 00060603 lb a2,0(a2) - 2d20: c619 beqz a2,2d2e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:130 (discriminator 4) - payload[42 + i] = fw[i]; - 2d22: 02c68523 sb a2,42(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:129 (discriminator 4) - for (int i = 0; i < 8 && fw[i]; i++) - 2d26: 0785 addi a5,a5,1 - 2d28: 0685 addi a3,a3,1 - 2d2a: feb797e3 bne a5,a1,2d18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:131 - qdx_write_u32_le(payload + 50, 0x07); - 2d2e: 03a10513 addi a0,sp,58 - 2d32: 459d li a1,7 - 2d34: cf1ff0ef jal ra,2a24 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:133 - - tcp_send_frame(ctx, CLASS_SYSTEM, TYPE_HANDSHAKE, payload, sizeof(payload), - 2d38: 0034 addi a3,sp,8 - 2d3a: 47c1 li a5,16 - 2d3c: 03600713 li a4,54 - 2d40: 4605 li a2,1 - 2d42: 4591 li a1,4 - 2d44: 8522 mv a0,s0 - 2d46: 3dcd jal 2c38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:135 - FLAG_ACK_REQ); -} - 2d48: 6121 addi sp,sp,64 - 2d4a: ff0fd06f j 53a <__riscv_restore_0> - -00002d4e : -tcp_send_heartbeat(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:137 - -static void tcp_send_heartbeat(TcpStreamCtx_t *ctx) { - 2d4e: fc8fd2ef jal t0,516 <__riscv_save_0> - 2d52: 1141 addi sp,sp,-16 - 2d54: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:139 - uint8_t payload[6]; - qdx_write_u32_le(payload + 0, qdx_port_get_tick_ms()); - 2d56: b4aff0ef jal ra,20a0 - 2d5a: 85aa mv a1,a0 - 2d5c: 0028 addi a0,sp,8 - 2d5e: cc7ff0ef jal ra,2a24 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:140 - payload[4] = 10; /* Placeholder CpuLoad */ - 2d62: 6785 lui a5,0x1 - 2d64: 40a78793 addi a5,a5,1034 # 140a - 2d68: 867c sh a5,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:143 - payload[5] = 20; /* Placeholder MemUsage */ - - tcp_send_frame(ctx, CLASS_SYSTEM, TYPE_HEARTBEAT, payload, sizeof(payload), - 2d6a: 0034 addi a3,sp,8 - 2d6c: 4781 li a5,0 - 2d6e: 4719 li a4,6 - 2d70: 4609 li a2,2 - 2d72: 4591 li a1,4 - 2d74: 8522 mv a0,s0 - 2d76: 35c9 jal 2c38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:145 - 0); -} - 2d78: 0141 addi sp,sp,16 - 2d7a: fc0fd06f j 53a <__riscv_restore_0> - -00002d7e : -tcp_send_ack(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:147 - -static void tcp_send_ack(TcpStreamCtx_t *ctx, uint16_t ack_seq, uint8_t status, - 2d7e: f98fd2ef jal t0,516 <__riscv_save_0> - 2d82: 1141 addi sp,sp,-16 - 2d84: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:150 - uint16_t error_code) { - uint8_t payload[5]; - qdx_write_u16_le(payload + 0, ack_seq); - 2d86: 0028 addi a0,sp,8 - 2d88: c95ff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:152 - payload[2] = status; - qdx_write_u16_le(payload + 3, error_code); - 2d8c: 00b10513 addi a0,sp,11 - 2d90: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:151 - payload[2] = status; - 2d92: 00010523 sb zero,10(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:152 - qdx_write_u16_le(payload + 3, error_code); - 2d96: c87ff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:154 - - tcp_send_frame(ctx, CLASS_RESPONSE, TYPE_ACK_PAYLOAD, payload, - 2d9a: 0034 addi a3,sp,8 - 2d9c: 4781 li a5,0 - 2d9e: 4715 li a4,5 - 2da0: 03000613 li a2,48 - 2da4: 458d li a1,3 - 2da6: 8522 mv a0,s0 - 2da8: 3d41 jal 2c38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:156 - sizeof(payload), 0); -} - 2daa: 0141 addi sp,sp,16 - 2dac: f8efd06f j 53a <__riscv_restore_0> - -00002db0 : -recv_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:423 - ctx->recv_len - length); - ctx->recv_len -= length; - } -} - -static void recv_thread_entry(void *arg) { - 2db0: f36fd2ef jal t0,4e6 <__riscv_save_12> -parse_and_dispatch_tlv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:276 - qdx_port_mutex_lock(g_TcpLogic.config_mutex); - 2db4: 20010bb7 lui s7,0x20010 - 2db8: 42cb8b93 addi s7,s7,1068 # 2001042c - 2dbc: 6789 lui a5,0x2 - 2dbe: 20012a37 lui s4,0x20012 -recv_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:423 -static void recv_thread_entry(void *arg) { - 2dc2: 1141 addi sp,sp,-16 - 2dc4: 892a mv s2,a0 -parse_and_dispatch_tlv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:276 - qdx_port_mutex_lock(g_TcpLogic.config_mutex); - 2dc6: 01778433 add s0,a5,s7 - 2dca: 42ca0a13 addi s4,s4,1068 # 2001242c -recv_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:426 - TcpStreamCtx_t *ctx = (TcpStreamCtx_t *)arg; - - while (ctx->is_running) { - 2dce: 01394783 lbu a5,19(s2) - 2dd2: e781 bnez a5,2dda -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:454 - ctx->recv_len = 0; - } - - qdx_port_delay_ms(10); - } -} - 2dd4: 0141 addi sp,sp,16 - 2dd6: f4cfd06f j 522 <__riscv_restore_12> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:427 - if (!ctx->is_connected) { - 2dda: 01294783 lbu a5,18(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:428 - qdx_port_delay_ms(100); - 2dde: 06400513 li a0,100 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:427 - if (!ctx->is_connected) { - 2de2: c7f1 beqz a5,2eae -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:433 - if (sizeof(ctx->recv_buffer) - ctx->recv_len > 0) { - 2de4: 6605 lui a2,0x1 - 2de6: 00c904b3 add s1,s2,a2 - 2dea: 4c8c lw a1,24(s1) - 2dec: 0cc58a63 beq a1,a2,2ec0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:435 - qdx_port_tcp_recv(ctx->sock, ctx->recv_buffer + ctx->recv_len, - 2df0: 00092503 lw a0,0(s2) - 2df4: 01890993 addi s3,s2,24 - 2df8: 8e0d sub a2,a2,a1 - 2dfa: 95ce add a1,a1,s3 - 2dfc: d96ff0ef jal ra,2392 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:438 - if (bytes > 0) { - 2e00: 54a05b63 blez a0,3356 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:439 - ctx->recv_len += bytes; - 2e04: 4c9c lw a5,24(s1) - 2e06: 953e add a0,a0,a5 - 2e08: cc88 sw a0,24(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:440 - ctx->last_activity_ms = qdx_port_get_tick_ms(); - 2e0a: a96ff0ef jal ra,20a0 - 2e0e: 00a92223 sw a0,4(s2) -tcp_process_rx_buffer(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:353 - while (ctx->recv_len >= HEADER_SIZE) { - 2e12: 6785 lui a5,0x1 - 2e14: 97ca add a5,a5,s2 - 2e16: 4f90 lw a2,24(a5) - 2e18: 47bd li a5,15 - 2e1a: 08c7f963 bgeu a5,a2,2eac - 2e1e: 87ce mv a5,s3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:356 - for (uint32_t i = 0; i <= ctx->recv_len - 2; i++) { - 2e20: 4481 li s1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:357 - if (ctx->recv_buffer[i] == 0xAA && ctx->recv_buffer[i + 1] == 0x55) { - 2e22: 0aa00593 li a1,170 - 2e26: 05500513 li a0,85 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:356 - for (uint32_t i = 0; i <= ctx->recv_len - 2; i++) { - 2e2a: ffe60713 addi a4,a2,-2 # ffe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:357 - if (ctx->recv_buffer[i] == 0xAA && ctx->recv_buffer[i + 1] == 0x55) { - 2e2e: 0007c803 lbu a6,0(a5) # 1000 - 2e32: 00148693 addi a3,s1,1 - 2e36: 02b81f63 bne a6,a1,2e74 - 2e3a: 0017c803 lbu a6,1(a5) - 2e3e: 02a81b63 bne a6,a0,2e74 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:369 - if (start_idx > 0) { - 2e42: e4b1 bnez s1,2e8e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:378 - uint8_t version = ctx->recv_buffer[2]; - 2e44: 01a94483 lbu s1,26(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:379 - uint16_t length = qdx_read_u16_le(ctx->recv_buffer + 3); - 2e48: 01b90513 addi a0,s2,27 - 2e4c: bedff0ef jal ra,2a38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:381 - if (version != PROTO_VERSION || length < HEADER_SIZE + CRC_SIZE) { - 2e50: 02000793 li a5,32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:379 - uint16_t length = qdx_read_u16_le(ctx->recv_buffer + 3); - 2e54: 8b2a mv s6,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:381 - if (version != PROTO_VERSION || length < HEADER_SIZE + CRC_SIZE) { - 2e56: 04f48f63 beq s1,a5,2eb4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:386 - memmove(ctx->recv_buffer, ctx->recv_buffer + 2, ctx->recv_len - 2); - 2e5a: 6485 lui s1,0x1 - 2e5c: 94ca add s1,s1,s2 - 2e5e: 4c90 lw a2,24(s1) - 2e60: 01a90593 addi a1,s2,26 - 2e64: 854e mv a0,s3 - 2e66: 1679 addi a2,a2,-2 - 2e68: 11a0a0ef jal ra,cf82 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:387 - ctx->recv_len -= 2; - 2e6c: 4c9c lw a5,24(s1) - 2e6e: 17f9 addi a5,a5,-2 - 2e70: cc9c sw a5,24(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:388 - continue; - 2e72: b745 j 2e12 - 2e74: 0785 addi a5,a5,1 - 2e76: 84b6 mv s1,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:356 - for (uint32_t i = 0; i <= ctx->recv_len - 2; i++) { - 2e78: fad77be3 bgeu a4,a3,2e2e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:364 - ctx->recv_buffer[0] = ctx->recv_buffer[ctx->recv_len - 1]; - 2e7c: 964a add a2,a2,s2 - 2e7e: 3a7c lbu a5,23(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:365 - ctx->recv_len = 1; - 2e80: 4705 li a4,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:364 - ctx->recv_buffer[0] = ctx->recv_buffer[ctx->recv_len - 1]; - 2e82: 00f90c23 sb a5,24(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:365 - ctx->recv_len = 1; - 2e86: 6785 lui a5,0x1 - 2e88: 97ca add a5,a5,s2 - 2e8a: cf98 sw a4,24(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:366 - break; - 2e8c: a005 j 2eac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:371 - memmove(ctx->recv_buffer, ctx->recv_buffer + start_idx, - 2e8e: 8e05 sub a2,a2,s1 - 2e90: 009985b3 add a1,s3,s1 - 2e94: 854e mv a0,s3 - 2e96: 0ec0a0ef jal ra,cf82 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:373 - ctx->recv_len -= start_idx; - 2e9a: 6705 lui a4,0x1 - 2e9c: 974a add a4,a4,s2 - 2e9e: 4f1c lw a5,24(a4) - 2ea0: 409784b3 sub s1,a5,s1 - 2ea4: cf04 sw s1,24(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:374 - if (ctx->recv_len < HEADER_SIZE) - 2ea6: 47bd li a5,15 - 2ea8: f897eee3 bltu a5,s1,2e44 -recv_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:452 - qdx_port_delay_ms(10); - 2eac: 4529 li a0,10 - 2eae: a00ff0ef jal ra,20ae - 2eb2: bf31 j 2dce -tcp_process_rx_buffer(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:381 - if (version != PROTO_VERSION || length < HEADER_SIZE + CRC_SIZE) { - 2eb4: 47c5 li a5,17 - 2eb6: faa7f2e3 bgeu a5,a0,2e5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:391 - if (length > sizeof(ctx->recv_buffer)) { - 2eba: 6785 lui a5,0x1 - 2ebc: 00a7f763 bgeu a5,a0,2eca -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:395 - ctx->recv_len = 0; - 2ec0: 6785 lui a5,0x1 - 2ec2: 97ca add a5,a5,s2 - 2ec4: 0007ac23 sw zero,24(a5) # 1018 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:396 - break; - 2ec8: b7d5 j 2eac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:399 - if (ctx->recv_len < length) { - 2eca: 97ca add a5,a5,s2 - 2ecc: 4f9c lw a5,24(a5) - 2ece: fca7efe3 bltu a5,a0,2eac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:404 - uint16_t received_crc = qdx_read_u16_le(ctx->recv_buffer + length - 2); - 2ed2: ffe50593 addi a1,a0,-2 - 2ed6: 00b98533 add a0,s3,a1 - 2eda: c02e sw a1,0(sp) - 2edc: b5dff0ef jal ra,2a38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:405 - uint16_t calculated_crc = qdx_crc16_modbus(ctx->recv_buffer, length - 2); - 2ee0: 4582 lw a1,0(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:404 - uint16_t received_crc = qdx_read_u16_le(ctx->recv_buffer + length - 2); - 2ee2: 84aa mv s1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:405 - uint16_t calculated_crc = qdx_crc16_modbus(ctx->recv_buffer, length - 2); - 2ee4: 854e mv a0,s3 - 2ee6: b73ff0ef jal ra,2a58 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:407 - if (received_crc == calculated_crc) { - 2eea: 04a49f63 bne s1,a0,2f48 -parse_and_dispatch_tlv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:237 - uint16_t hdr_seq = qdx_read_u16_le(packet + 5); - 2eee: 01d90513 addi a0,s2,29 - 2ef2: b47ff0ef jal ra,2a38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:238 - uint8_t hdr_flags = packet[15]; - 2ef6: 02794783 lbu a5,39(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:237 - uint16_t hdr_seq = qdx_read_u16_le(packet + 5); - 2efa: 8daa mv s11,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:245 - uint8_t cfg_updated = 0; - 2efc: 4c81 li s9,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:238 - uint8_t hdr_flags = packet[15]; - 2efe: c03e sw a5,0(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:242 - int payload_len = pkt_len - HEADER_SIZE - CRC_SIZE; - 2f00: feeb0793 addi a5,s6,-18 - 2f04: c23e sw a5,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:250 - while (parsed_len <= payload_len - 3) { - 2f06: fecb0793 addi a5,s6,-20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:243 - int parsed_len = 0; - 2f0a: 4d01 li s10,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:241 - int offset = HEADER_SIZE; - 2f0c: 4c41 li s8,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:250 - while (parsed_len <= payload_len - 3) { - 2f0e: c43e sw a5,8(sp) - 2f10: 47a2 lw a5,8(sp) - 2f12: 02fd5363 bge s10,a5,2f38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:251 - uint8_t type = packet[offset]; - 2f16: 018987b3 add a5,s3,s8 - 2f1a: 239c lbu a5,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:252 - uint16_t len = qdx_read_u16_le(packet + offset + 1); - 2f1c: 001c0513 addi a0,s8,1 - 2f20: 954e add a0,a0,s3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:251 - uint8_t type = packet[offset]; - 2f22: c63e sw a5,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:252 - uint16_t len = qdx_read_u16_le(packet + offset + 1); - 2f24: b15ff0ef jal ra,2a38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:257 - if (parsed_len + 3 + len > payload_len) { - 2f28: 4692 lw a3,4(sp) - 2f2a: 003d0713 addi a4,s10,3 - 2f2e: 972a add a4,a4,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:252 - uint16_t len = qdx_read_u16_le(packet + offset + 1); - 2f30: 8aaa mv s5,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:257 - if (parsed_len + 3 + len > payload_len) { - 2f32: 47b2 lw a5,12(sp) - 2f34: 02e6da63 bge a3,a4,2f68 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:337 - if (cfg_updated && g_TcpLogic.config_cb && g_TcpLogic.has_valid_config) { - 2f38: 3e0c9163 bnez s9,331a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:347 - if (hdr_flags & FLAG_ACK_REQ) { - 2f3c: 4782 lw a5,0(sp) - 2f3e: 8bc1 andi a5,a5,16 - 2f40: c781 beqz a5,2f48 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:348 - tcp_send_ack(ctx, hdr_seq, 0, 0); - 2f42: 85ee mv a1,s11 - 2f44: 854a mv a0,s2 - 2f46: 3d25 jal 2d7e -tcp_process_rx_buffer(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:418 - ctx->recv_len - length); - 2f48: 6485 lui s1,0x1 - 2f4a: 94ca add s1,s1,s2 - 2f4c: 4c90 lw a2,24(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:417 - memmove(ctx->recv_buffer, ctx->recv_buffer + length, - 2f4e: 016985b3 add a1,s3,s6 - 2f52: 854e mv a0,s3 - 2f54: 41660633 sub a2,a2,s6 - 2f58: 02a0a0ef jal ra,cf82 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:419 - ctx->recv_len -= length; - 2f5c: 4c9c lw a5,24(s1) - 2f5e: 41678b33 sub s6,a5,s6 - 2f62: 0164ac23 sw s6,24(s1) # 1018 - 2f66: b575 j 2e12 -parse_and_dispatch_tlv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:263 - const uint8_t *value = packet + offset + 3; - 2f68: 003c0493 addi s1,s8,3 - 2f6c: 02000713 li a4,32 - 2f70: 94ce add s1,s1,s3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:265 - switch (type) { - 2f72: 24e78763 beq a5,a4,31c0 - 2f76: 00f76c63 bltu a4,a5,2f8e - 2f7a: 4715 li a4,5 - 2f7c: 22e78563 beq a5,a4,31a6 - 2f80: 4741 li a4,16 - 2f82: 36e78263 beq a5,a4,32e6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:333 - offset += (3 + len); - 2f86: 0a8d addi s5,s5,3 - 2f88: 9c56 add s8,s8,s5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:334 - parsed_len += (3 + len); - 2f8a: 9d56 add s10,s10,s5 - 2f8c: b751 j 2f10 - 2f8e: 02300713 li a4,35 - 2f92: 28e78963 beq a5,a4,3224 - 2f96: 04000713 li a4,64 - 2f9a: 36e78163 beq a5,a4,32fc - 2f9e: 02200713 li a4,34 - 2fa2: fee792e3 bne a5,a4,2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:285 - if (len >= sizeof(Config2D_t)) { - 2fa6: 03c00793 li a5,60 - 2faa: fca7fee3 bgeu a5,a0,2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:287 - qdx_port_mutex_lock(g_TcpLogic.config_mutex); - 2fae: 5068 lw a0,100(s0) - 2fb0: 928ff0ef jal ra,20d8 -qdx_deserialize_config2d(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:177 - cfg->Enabled = val[0]; - 2fb4: 209c lbu a5,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:179 - cfg->DeviceId = qdx_read_u16_le(val + 2); - 2fb6: 00248513 addi a0,s1,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:177 - cfg->Enabled = val[0]; - 2fba: 08f40023 sb a5,128(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:178 - cfg->IsLive = val[1]; - 2fbe: 309c lbu a5,1(s1) - 2fc0: 08f400a3 sb a5,129(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:179 - cfg->DeviceId = qdx_read_u16_le(val + 2); - 2fc4: a75ff0ef jal ra,2a38 - 2fc8: 08a41123 sh a0,130(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:180 - cfg->Width = qdx_read_u16_le(val + 4); - 2fcc: 00448513 addi a0,s1,4 - 2fd0: a69ff0ef jal ra,2a38 - 2fd4: 08a41223 sh a0,132(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:181 - cfg->Height = qdx_read_u16_le(val + 6); - 2fd8: 00648513 addi a0,s1,6 - 2fdc: a5dff0ef jal ra,2a38 - 2fe0: 08a41323 sh a0,134(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:182 - cfg->Fps = val[8]; - 2fe4: 249c lbu a5,8(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:183 - cfg->Exposure = qdx_read_u32_le(val + 9); - 2fe6: 00948513 addi a0,s1,9 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:182 - cfg->Fps = val[8]; - 2fea: 08f40423 sb a5,136(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:183 - cfg->Exposure = qdx_read_u32_le(val + 9); - 2fee: a55ff0ef jal ra,2a42 - 2ff2: 00855793 srli a5,a0,0x8 - 2ff6: 08a404a3 sb a0,137(s0) - 2ffa: 08f40523 sb a5,138(s0) - 2ffe: 01055793 srli a5,a0,0x10 - 3002: 8161 srli a0,a0,0x18 - 3004: 08a40623 sb a0,140(s0) - 3008: 08f405a3 sb a5,139(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:184 - cfg->AutoExposure = val[13]; - 300c: 34dc lbu a5,13(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:186 - cfg->MaskThreshold = (int16_t)qdx_read_u16_le(val + 15); - 300e: 00f48513 addi a0,s1,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:184 - cfg->AutoExposure = val[13]; - 3012: 08f406a3 sb a5,141(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:185 - cfg->MaskEnabled = val[14]; - 3016: 24fc lbu a5,14(s1) - 3018: 08f40723 sb a5,142(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:186 - cfg->MaskThreshold = (int16_t)qdx_read_u16_le(val + 15); - 301c: a1dff0ef jal ra,2a38 - 3020: 0542 slli a0,a0,0x10 - 3022: 8141 srli a0,a0,0x10 - 3024: 08a407a3 sb a0,143(s0) - 3028: 8121 srli a0,a0,0x8 - 302a: 08a40823 sb a0,144(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:187 - cfg->MaskWidth = qdx_read_u16_le(val + 17); - 302e: 01148513 addi a0,s1,17 - 3032: a07ff0ef jal ra,2a38 - 3036: 08a408a3 sb a0,145(s0) - 303a: 8121 srli a0,a0,0x8 - 303c: 08a40923 sb a0,146(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:188 - cfg->MaskHeight = qdx_read_u16_le(val + 19); - 3040: 01348513 addi a0,s1,19 - 3044: 9f5ff0ef jal ra,2a38 - 3048: 08a409a3 sb a0,147(s0) - 304c: 8121 srli a0,a0,0x8 - 304e: 08a40a23 sb a0,148(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:189 - cfg->Angle = (int16_t)qdx_read_u16_le(val + 21); - 3052: 01548513 addi a0,s1,21 - 3056: 9e3ff0ef jal ra,2a38 - 305a: 0542 slli a0,a0,0x10 - 305c: 8141 srli a0,a0,0x10 - 305e: 08a40aa3 sb a0,149(s0) - 3062: 8121 srli a0,a0,0x8 - 3064: 08a40b23 sb a0,150(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:190 - cfg->TargetWidth = qdx_read_u16_le(val + 23); - 3068: 01748513 addi a0,s1,23 - 306c: 9cdff0ef jal ra,2a38 - 3070: 08a40ba3 sb a0,151(s0) - 3074: 8121 srli a0,a0,0x8 - 3076: 08a40c23 sb a0,152(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:191 - cfg->TargetHeight = qdx_read_u16_le(val + 25); - 307a: 01948513 addi a0,s1,25 - 307e: 9bbff0ef jal ra,2a38 - 3082: 08a40ca3 sb a0,153(s0) - 3086: 8121 srli a0,a0,0x8 - 3088: 08a40d23 sb a0,154(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:192 - cfg->TriggerMode = val[27]; - 308c: 3cbc lbu a5,27(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:194 - cfg->TriggerDelayMs = qdx_read_u16_le(val + 29); - 308e: 01d48513 addi a0,s1,29 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:192 - cfg->TriggerMode = val[27]; - 3092: 08f40da3 sb a5,155(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:193 - cfg->TriggerGpioLine = val[28]; - 3096: 2cdc lbu a5,28(s1) - 3098: 08f40e23 sb a5,156(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:194 - cfg->TriggerDelayMs = qdx_read_u16_le(val + 29); - 309c: 99dff0ef jal ra,2a38 - 30a0: 08a40ea3 sb a0,157(s0) - 30a4: 8121 srli a0,a0,0x8 - 30a6: 08a40f23 sb a0,158(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:195 - cfg->TriggerBurstCount = val[31]; - 30aa: 3cfc lbu a5,31(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:196 - cfg->TriggerInternalIntervalMs = qdx_read_u16_le(val + 32); - 30ac: 02048513 addi a0,s1,32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:195 - cfg->TriggerBurstCount = val[31]; - 30b0: 08f40fa3 sb a5,159(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:196 - cfg->TriggerInternalIntervalMs = qdx_read_u16_le(val + 32); - 30b4: 985ff0ef jal ra,2a38 - 30b8: 0aa41023 sh a0,160(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:197 - cfg->TriggerTemperatureThreshold = (int16_t)qdx_read_u16_le(val + 34); - 30bc: 02248513 addi a0,s1,34 - 30c0: 979ff0ef jal ra,2a38 - 30c4: 0aa41123 sh a0,162(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:198 - cfg->TriggerDebounceIntervalMs = qdx_read_u16_le(val + 36); - 30c8: 02448513 addi a0,s1,36 - 30cc: 96dff0ef jal ra,2a38 - 30d0: 0aa41223 sh a0,164(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:199 - cfg->TriggerCondition = val[38]; - 30d4: 0264c783 lbu a5,38(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:200 - cfg->TriggerRoiX = qdx_read_u16_le(val + 39); - 30d8: 02748513 addi a0,s1,39 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:199 - cfg->TriggerCondition = val[38]; - 30dc: 0af40323 sb a5,166(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:200 - cfg->TriggerRoiX = qdx_read_u16_le(val + 39); - 30e0: 959ff0ef jal ra,2a38 - 30e4: 0aa403a3 sb a0,167(s0) - 30e8: 8121 srli a0,a0,0x8 - 30ea: 0aa40423 sb a0,168(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:201 - cfg->TriggerRoiY = qdx_read_u16_le(val + 41); - 30ee: 02948513 addi a0,s1,41 - 30f2: 947ff0ef jal ra,2a38 - 30f6: 0aa404a3 sb a0,169(s0) - 30fa: 8121 srli a0,a0,0x8 - 30fc: 0aa40523 sb a0,170(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:202 - cfg->TriggerRoiW = qdx_read_u16_le(val + 43); - 3100: 02b48513 addi a0,s1,43 - 3104: 935ff0ef jal ra,2a38 - 3108: 0aa405a3 sb a0,171(s0) - 310c: 8121 srli a0,a0,0x8 - 310e: 0aa40623 sb a0,172(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:203 - cfg->TriggerRoiH = qdx_read_u16_le(val + 45); - 3112: 02d48513 addi a0,s1,45 - 3116: 923ff0ef jal ra,2a38 - 311a: 0aa406a3 sb a0,173(s0) - 311e: 8121 srli a0,a0,0x8 - 3120: 0aa40723 sb a0,174(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:204 - cfg->NGioDelay = qdx_read_u16_le(val + 47); - 3124: 02f48513 addi a0,s1,47 - 3128: 911ff0ef jal ra,2a38 - 312c: 0aa407a3 sb a0,175(s0) - 3130: 8121 srli a0,a0,0x8 - 3132: 0aa40823 sb a0,176(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:205 - cfg->OutputGpioLine = val[49]; - 3136: 0314c783 lbu a5,49(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:207 - cfg->AlarmHoldMs = qdx_read_u16_le(val + 51); - 313a: 03348513 addi a0,s1,51 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:205 - cfg->OutputGpioLine = val[49]; - 313e: 0af408a3 sb a5,177(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:206 - cfg->AlarmGpioLine = val[50]; - 3142: 0324c783 lbu a5,50(s1) - 3146: 0af40923 sb a5,178(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:207 - cfg->AlarmHoldMs = qdx_read_u16_le(val + 51); - 314a: 8efff0ef jal ra,2a38 - 314e: 0aa409a3 sb a0,179(s0) - 3152: 8121 srli a0,a0,0x8 - 3154: 0aa40a23 sb a0,180(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:208 - cfg->StoreNgImagesOnly = val[53]; - 3158: 0354c783 lbu a5,53(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:210 - cfg->TrainingSampleThreshold = qdx_read_u16_le(val + 55); - 315c: 03748513 addi a0,s1,55 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:208 - cfg->StoreNgImagesOnly = val[53]; - 3160: 0af40aa3 sb a5,181(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:209 - cfg->TrainingEnabled = val[54]; - 3164: 0364c783 lbu a5,54(s1) - 3168: 0af40b23 sb a5,182(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:210 - cfg->TrainingSampleThreshold = qdx_read_u16_le(val + 55); - 316c: 8cdff0ef jal ra,2a38 - 3170: 0aa40ba3 sb a0,183(s0) - 3174: 8121 srli a0,a0,0x8 - 3176: 0aa40c23 sb a0,184(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:211 - cfg->ProcessingTimeoutMs = qdx_read_u16_le(val + 57); - 317a: 03948513 addi a0,s1,57 - 317e: 8bbff0ef jal ra,2a38 - 3182: 0aa40ca3 sb a0,185(s0) - 3186: 8121 srli a0,a0,0x8 - 3188: 0aa40d23 sb a0,186(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:212 - cfg->MaxProcessingQueueSize = val[59]; - 318c: 03b4c783 lbu a5,59(s1) - 3190: 0af40da3 sb a5,187(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:213 - cfg->Reserved = val[60]; - 3194: 03c4c783 lbu a5,60(s1) - 3198: 0af40e23 sb a5,188(s0) -parse_and_dispatch_tlv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:289 - g_TcpLogic.has_valid_config = 1; /* 浠绘剰閰嶇疆鍒拌揪鍗虫爣璁版湁鏁 */ - 319c: 4785 li a5,1 - 319e: 06f40423 sb a5,104(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:291 - qdx_port_mutex_unlock(g_TcpLogic.config_mutex); - 31a2: 5068 lw a0,100(s0) - 31a4: a8a5 j 321c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:267 - if (len >= sizeof(DevIDAssignment_t)) { - 31a6: 478d li a5,3 - 31a8: dca7ffe3 bgeu a5,a0,2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:268 - uint16_t new_id = qdx_read_u16_le(value); - 31ac: 8526 mv a0,s1 - 31ae: 88bff0ef jal ra,2a38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:269 - g_TcpLogic.pending_new_dev_id = new_id; - 31b2: 02aba223 sw a0,36(s7) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:270 - tcp_send_ack(ctx, hdr_seq, 0, 0); - 31b6: 85ee mv a1,s11 - 31b8: 854a mv a0,s2 - 31ba: bc5ff0ef jal ra,2d7e - 31be: b3e1 j 2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:275 - if (len >= sizeof(ConfigCommon_t)) { - 31c0: 47d9 li a5,22 - 31c2: dca7f2e3 bgeu a5,a0,2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:276 - qdx_port_mutex_lock(g_TcpLogic.config_mutex); - 31c6: 5068 lw a0,100(s0) - 31c8: f11fe0ef jal ra,20d8 -qdx_deserialize_config_common(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:165 - for (int i = 0; i < 16; i++) - 31cc: 4781 li a5,0 - 31ce: 46c1 li a3,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:166 - cfg->PipelineId[i] = (char)val[i]; - 31d0: 00f48633 add a2,s1,a5 - 31d4: 6709 lui a4,0x2 - 31d6: 06970713 addi a4,a4,105 # 2069 - 31da: 2210 lbu a2,0(a2) - 31dc: 973e add a4,a4,a5 - 31de: 975e add a4,a4,s7 - 31e0: a310 sb a2,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:165 - for (int i = 0; i < 16; i++) - 31e2: 0785 addi a5,a5,1 - 31e4: fed796e3 bne a5,a3,31d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:167 - cfg->PipelineType = val[16]; - 31e8: 289c lbu a5,16(s1) -parse_and_dispatch_tlv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:280 - qdx_port_mutex_unlock(g_TcpLogic.config_mutex); - 31ea: 064a2503 lw a0,100(s4) -qdx_deserialize_config_common(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:167 - cfg->PipelineType = val[16]; - 31ee: 06fa0ca3 sb a5,121(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:168 - cfg->WorkMode = val[17]; - 31f2: 389c lbu a5,17(s1) - 31f4: 06fa0d23 sb a5,122(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:169 - cfg->ConfigTag = val[18]; - 31f8: 28bc lbu a5,18(s1) - 31fa: 06fa0da3 sb a5,123(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:170 - cfg->StrictnessLevel = val[19]; - 31fe: 38bc lbu a5,19(s1) - 3200: 06fa0e23 sb a5,124(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:171 - cfg->IsCustomMode = val[20]; - 3204: 28dc lbu a5,20(s1) - 3206: 06fa0ea3 sb a5,125(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:172 - cfg->Reserved[0] = val[21]; - 320a: 38dc lbu a5,21(s1) - 320c: 06fa0f23 sb a5,126(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:173 - cfg->Reserved[1] = val[22]; - 3210: 28fc lbu a5,22(s1) - 3212: 06fa0fa3 sb a5,127(s4) -parse_and_dispatch_tlv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:278 - g_TcpLogic.has_valid_config = 1; - 3216: 4785 li a5,1 - 3218: 06fa0423 sb a5,104(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:291 - qdx_port_mutex_unlock(g_TcpLogic.config_mutex); - 321c: ecffe0ef jal ra,20ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:290 - cfg_updated = 1; - 3220: 4c85 li s9,1 - 3222: b395 j 2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:299 - if (len >= sizeof(Config1D_t)) { - 3224: 47e5 li a5,25 - 3226: d6a7f0e3 bgeu a5,a0,2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:300 - qdx_port_mutex_lock(g_TcpLogic.config_mutex); - 322a: 5068 lw a0,100(s0) - 322c: eadfe0ef jal ra,20d8 -qdx_deserialize_config1d(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:217 - cfg->Enabled = val[0]; - 3230: 209c lbu a5,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:220 - cfg->BufferSize = qdx_read_u16_le(val + 3); - 3232: 00348513 addi a0,s1,3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:217 - cfg->Enabled = val[0]; - 3236: 0af40ea3 sb a5,189(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:218 - cfg->RunMode = val[1]; - 323a: 309c lbu a5,1(s1) - 323c: 0af40f23 sb a5,190(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:219 - cfg->TriggerType = val[2]; - 3240: 20bc lbu a5,2(s1) - 3242: 0af40fa3 sb a5,191(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:220 - cfg->BufferSize = qdx_read_u16_le(val + 3); - 3246: ff2ff0ef jal ra,2a38 - 324a: 0ca41023 sh a0,192(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:221 - cfg->TriggerTempLimit = (int16_t)qdx_read_u16_le(val + 5); - 324e: 00548513 addi a0,s1,5 - 3252: fe6ff0ef jal ra,2a38 - 3256: 0ca41123 sh a0,194(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:222 - cfg->StartPointsToRemove = qdx_read_u16_le(val + 7); - 325a: 00748513 addi a0,s1,7 - 325e: fdaff0ef jal ra,2a38 - 3262: 0ca41223 sh a0,196(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:223 - cfg->ReferenceLength = qdx_read_u16_le(val + 9); - 3266: 00948513 addi a0,s1,9 - 326a: fceff0ef jal ra,2a38 - 326e: 0ca41323 sh a0,198(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:224 - cfg->HighTimerLimit = qdx_read_u16_le(val + 11); - 3272: 00b48513 addi a0,s1,11 - 3276: fc2ff0ef jal ra,2a38 - 327a: 0ca41423 sh a0,200(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:225 - cfg->TimerCLimit = qdx_read_u16_le(val + 13); - 327e: 00d48513 addi a0,s1,13 - 3282: fb6ff0ef jal ra,2a38 - 3286: 0ca41523 sh a0,202(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:226 - cfg->NgCountLimit = val[15]; - 328a: 34fc lbu a5,15(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:227 - cfg->LSizeStart = qdx_read_u16_le(val + 16); - 328c: 01048513 addi a0,s1,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:226 - cfg->NgCountLimit = val[15]; - 3290: 0cf40623 sb a5,204(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:227 - cfg->LSizeStart = qdx_read_u16_le(val + 16); - 3294: fa4ff0ef jal ra,2a38 - 3298: 0ca406a3 sb a0,205(s0) - 329c: 8121 srli a0,a0,0x8 - 329e: 0ca40723 sb a0,206(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:228 - cfg->RSizeStart = qdx_read_u16_le(val + 18); - 32a2: 01248513 addi a0,s1,18 - 32a6: f92ff0ef jal ra,2a38 - 32aa: 0ca407a3 sb a0,207(s0) - 32ae: 8121 srli a0,a0,0x8 - 32b0: 0ca40823 sb a0,208(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:229 - cfg->NGioDelay = qdx_read_u16_le(val + 20); - 32b4: 01448513 addi a0,s1,20 - 32b8: f80ff0ef jal ra,2a38 - 32bc: 0ca408a3 sb a0,209(s0) - 32c0: 8121 srli a0,a0,0x8 - 32c2: 0ca40923 sb a0,210(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:230 - cfg->OutputGpioLine = val[22]; - 32c6: 28fc lbu a5,22(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:232 - cfg->AlarmHoldMs = qdx_read_u16_le(val + 24); - 32c8: 01848513 addi a0,s1,24 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:230 - cfg->OutputGpioLine = val[22]; - 32cc: 0cf409a3 sb a5,211(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:231 - cfg->AlarmGpioLine = val[23]; - 32d0: 38fc lbu a5,23(s1) - 32d2: 0cf40a23 sb a5,212(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:232 - cfg->AlarmHoldMs = qdx_read_u16_le(val + 24); - 32d6: f62ff0ef jal ra,2a38 - 32da: 0ca40aa3 sb a0,213(s0) - 32de: 8121 srli a0,a0,0x8 - 32e0: 0ca40b23 sb a0,214(s0) -parse_and_dispatch_tlv(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:302 - g_TcpLogic.has_valid_config = 1; /* 浠绘剰閰嶇疆鍒拌揪鍗虫爣璁版湁鏁 */ - 32e4: bd65 j 319c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:309 - if (g_TcpLogic.temp_req_cb) { - 32e6: 0e042783 lw a5,224(s0) - 32ea: c8078ee3 beqz a5,2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:314 - if (len >= 18) { - 32ee: 4745 li a4,17 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:313 - uint8_t is2d = 0; - 32f0: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:314 - if (len >= 18) { - 32f2: 01577363 bgeu a4,s5,32f8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:315 - is2d = value[18]; /* index 18 in TemperatureFrameHeader_t is Is2D */ - 32f6: 28a8 lbu a0,18(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:317 - g_TcpLogic.temp_req_cb(is2d); - 32f8: 9782 jalr a5 - 32fa: b171 j 2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:322 - if (len >= sizeof(DetectionResult_t) && g_TcpLogic.detect_cb) { - 32fc: 479d li a5,7 - 32fe: c8a7f4e3 bgeu a5,a0,2f86 - 3302: 0dc42783 lw a5,220(s0) - 3306: c80780e3 beqz a5,2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:323 - uint32_t frame_num = qdx_read_u32_le(value); - 330a: 8526 mv a0,s1 - 330c: f36ff0ef jal ra,2a42 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:325 - g_TcpLogic.detect_cb(frame_num, result_status); - 3310: 0dc42783 lw a5,220(s0) - 3314: 20cc lbu a1,4(s1) - 3316: 9782 jalr a5 - 3318: b1bd j 2f86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:337 - if (cfg_updated && g_TcpLogic.config_cb && g_TcpLogic.has_valid_config) { - 331a: 0d842783 lw a5,216(s0) - 331e: c0078fe3 beqz a5,2f3c - 3322: 06844783 lbu a5,104(s0) - 3326: c0078be3 beqz a5,2f3c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:341 - qdx_port_mutex_lock(g_TcpLogic.config_mutex); - 332a: 5068 lw a0,100(s0) - 332c: dadfe0ef jal ra,20d8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:342 - g_TcpLogic.config_cb(&g_TcpLogic.cached_common, &g_TcpLogic.cached_cfg2d, - 3330: 0d842783 lw a5,216(s0) - 3334: 20012637 lui a2,0x20012 - 3338: 200125b7 lui a1,0x20012 - 333c: 20012537 lui a0,0x20012 - 3340: 4e960613 addi a2,a2,1257 # 200124e9 - 3344: 4ac58593 addi a1,a1,1196 # 200124ac - 3348: 49550513 addi a0,a0,1173 # 20012495 - 334c: 9782 jalr a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:344 - qdx_port_mutex_unlock(g_TcpLogic.config_mutex); - 334e: 5068 lw a0,100(s0) - 3350: d9bfe0ef jal ra,20ea - 3354: b6e5 j 2f3c -recv_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:442 - } else if (bytes < 0) { - 3356: b4050be3 beqz a0,2eac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:444 - tcp_stream_disconnect(ctx); - 335a: 854a mv a0,s2 - 335c: 8bfff0ef jal ra,2c1a - 3360: b6b1 j 2eac - -00003362 : -manager_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:460 - -/* ============================================================ - * Main Background Manager - * ============================================================ */ - -static void manager_thread_entry(void *arg) { - 3362: 99afd2ef jal t0,4fc <__riscv_save_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:465 - while (1) { - uint32_t now = qdx_port_get_tick_ms(); - - /* DevID Reassignment Handling */ - if (g_TcpLogic.pending_new_dev_id >= 0) { - 3366: 20010437 lui s0,0x20010 - 336a: 42c40413 addi s0,s0,1068 # 2001042c - 336e: 200114b7 lui s1,0x20011 -tcp_stream_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:88 - ctx->recv_len = 0; - 3372: 6a89 lui s5,0x2 - 3374: 42c48493 addi s1,s1,1068 # 2001142c -manager_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:513 - } - - if (g_TcpLogic.data_stream.is_connected) { - if (now - g_TcpLogic.data_stream.last_heartbeat_ms > - HEARTBEAT_INTERVAL_MS) { - tcp_send_heartbeat(&g_TcpLogic.data_stream); - 3378: 200119b7 lui s3,0x20011 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:505 - tcp_send_heartbeat(&g_TcpLogic.control_stream); - 337c: 20010a37 lui s4,0x20010 -tcp_stream_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:81 - ctx->sock = qdx_port_tcp_connect(ip, port); - 3380: 0000db37 lui s6,0xd -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:88 - ctx->recv_len = 0; - 3384: 9aa2 add s5,s5,s0 -manager_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:462 - uint32_t now = qdx_port_get_tick_ms(); - 3386: d1bfe0ef jal ra,20a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:465 - if (g_TcpLogic.pending_new_dev_id >= 0) { - 338a: 505c lw a5,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:462 - uint32_t now = qdx_port_get_tick_ms(); - 338c: 892a mv s2,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:465 - if (g_TcpLogic.pending_new_dev_id >= 0) { - 338e: 0207c663 bltz a5,33ba -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:466 - g_TcpLogic.dev_id = (uint16_t)g_TcpLogic.pending_new_dev_id; - 3392: b01e sh a5,32(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:469 - tcp_stream_disconnect(&g_TcpLogic.control_stream); - 3394: 458a0513 addi a0,s4,1112 # 20010458 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:467 - g_TcpLogic.pending_new_dev_id = -1; - 3398: 57fd li a5,-1 - 339a: d05c sw a5,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:469 - tcp_stream_disconnect(&g_TcpLogic.control_stream); - 339c: 87fff0ef jal ra,2c1a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:470 - tcp_stream_disconnect(&g_TcpLogic.data_stream); - 33a0: 47498513 addi a0,s3,1140 # 20011474 - 33a4: 877ff0ef jal ra,2c1a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:474 - qdx_port_delay_ms(500); - 33a8: 1f400513 li a0,500 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:472 - g_TcpLogic.control_stream.last_reconnect_ms = 0; - 33ac: 02042c23 sw zero,56(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:473 - g_TcpLogic.data_stream.last_reconnect_ms = 0; - 33b0: 0404aa23 sw zero,84(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:518 - g_TcpLogic.data_stream.last_heartbeat_ms = now; - } - } - - qdx_port_delay_ms(100); - 33b4: cfbfe0ef jal ra,20ae - 33b8: b7f9 j 3386 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:479 - if (!g_TcpLogic.control_stream.is_connected) { - 33ba: 03e44783 lbu a5,62(s0) - 33be: e3a9 bnez a5,3400 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:480 - if (now - g_TcpLogic.control_stream.last_reconnect_ms > - 33c0: 5c1c lw a5,56(s0) - 33c2: 6585 lui a1,0x1 - 33c4: bb858713 addi a4,a1,-1096 # bb8 - 33c8: 40f507b3 sub a5,a0,a5 - 33cc: 02f77a63 bgeu a4,a5,3400 -tcp_stream_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:81 - ctx->sock = qdx_port_tcp_connect(ip, port); - 33d0: 58758593 addi a1,a1,1415 - 33d4: 2a0b0513 addi a0,s6,672 # d2a0 - 33d8: d5ffe0ef jal ra,2136 - 33dc: d448 sw a0,44(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:82 - if (ctx->sock == NULL) - 33de: cd11 beqz a0,33fa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:85 - ctx->is_connected = 1; - 33e0: 4785 li a5,1 - 33e2: 02f40f23 sb a5,62(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:86 - ctx->last_activity_ms = qdx_port_get_tick_ms(); - 33e6: cbbfe0ef jal ra,20a0 - 33ea: d808 sw a0,48(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:87 - ctx->last_heartbeat_ms = ctx->last_activity_ms; - 33ec: d848 sw a0,52(s0) -manager_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:484 - tcp_send_handshake(&g_TcpLogic.control_stream); - 33ee: 458a0513 addi a0,s4,1112 -tcp_stream_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:88 - ctx->recv_len = 0; - 33f2: 0404a223 sw zero,68(s1) -manager_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:484 - tcp_send_handshake(&g_TcpLogic.control_stream); - 33f6: 8afff0ef jal ra,2ca4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:486 - g_TcpLogic.control_stream.last_reconnect_ms = qdx_port_get_tick_ms(); - 33fa: ca7fe0ef jal ra,20a0 - 33fe: dc08 sw a0,56(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:491 - if (!g_TcpLogic.data_stream.is_connected) { - 3400: 05a4c783 lbu a5,90(s1) - 3404: 6585 lui a1,0x1 - 3406: e3a1 bnez a5,3446 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:492 - if (now - g_TcpLogic.data_stream.last_reconnect_ms > RECONNECT_DELAY_MS) { - 3408: 48fc lw a5,84(s1) - 340a: bb858713 addi a4,a1,-1096 # bb8 - 340e: 40f907b3 sub a5,s2,a5 - 3412: 02f77a63 bgeu a4,a5,3446 -tcp_stream_connect(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:81 - ctx->sock = qdx_port_tcp_connect(ip, port); - 3416: 58858593 addi a1,a1,1416 - 341a: 2a0b0513 addi a0,s6,672 - 341e: d19fe0ef jal ra,2136 - 3422: c4a8 sw a0,72(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:82 - if (ctx->sock == NULL) - 3424: cd11 beqz a0,3440 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:85 - ctx->is_connected = 1; - 3426: 4785 li a5,1 - 3428: 04f48d23 sb a5,90(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:86 - ctx->last_activity_ms = qdx_port_get_tick_ms(); - 342c: c75fe0ef jal ra,20a0 - 3430: c4e8 sw a0,76(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:87 - ctx->last_heartbeat_ms = ctx->last_activity_ms; - 3432: c8a8 sw a0,80(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:88 - ctx->recv_len = 0; - 3434: 060aa023 sw zero,96(s5) # 2060 -manager_thread_entry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:495 - tcp_send_handshake(&g_TcpLogic.data_stream); - 3438: 47498513 addi a0,s3,1140 - 343c: 869ff0ef jal ra,2ca4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:497 - g_TcpLogic.data_stream.last_reconnect_ms = qdx_port_get_tick_ms(); - 3440: c61fe0ef jal ra,20a0 - 3444: c8e8 sw a0,84(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:502 - if (g_TcpLogic.control_stream.is_connected) { - 3446: 03e44783 lbu a5,62(s0) - 344a: cf91 beqz a5,3466 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:503 - if (now - g_TcpLogic.control_stream.last_heartbeat_ms > - 344c: 585c lw a5,52(s0) - 344e: 7d000713 li a4,2000 - 3452: 40f907b3 sub a5,s2,a5 - 3456: 00f77863 bgeu a4,a5,3466 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:505 - tcp_send_heartbeat(&g_TcpLogic.control_stream); - 345a: 458a0513 addi a0,s4,1112 - 345e: 8f1ff0ef jal ra,2d4e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:506 - g_TcpLogic.control_stream.last_heartbeat_ms = now; - 3462: 03242a23 sw s2,52(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:510 - if (g_TcpLogic.data_stream.is_connected) { - 3466: 05a4c783 lbu a5,90(s1) - 346a: cf91 beqz a5,3486 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:511 - if (now - g_TcpLogic.data_stream.last_heartbeat_ms > - 346c: 48bc lw a5,80(s1) - 346e: 7d000713 li a4,2000 - 3472: 40f907b3 sub a5,s2,a5 - 3476: 00f77863 bgeu a4,a5,3486 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:513 - tcp_send_heartbeat(&g_TcpLogic.data_stream); - 347a: 47498513 addi a0,s3,1140 - 347e: 8d1ff0ef jal ra,2d4e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:514 - g_TcpLogic.data_stream.last_heartbeat_ms = now; - 3482: 0524a823 sw s2,80(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:518 - qdx_port_delay_ms(100); - 3486: 06400513 li a0,100 - 348a: b72d j 33b4 - -0000348c : -TcpLogic_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:526 - -/* ============================================================ - * Public API Implementations - * ============================================================ */ - -int8_t TcpLogic_Init(const uint8_t *deviceUUID, const uint8_t *authToken) { - 348c: 88afd2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:527 - memset(&g_TcpLogic, 0, sizeof(g_TcpLogic)); - 3490: 20010437 lui s0,0x20010 - 3494: 6609 lui a2,0x2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:526 -int8_t TcpLogic_Init(const uint8_t *deviceUUID, const uint8_t *authToken) { - 3496: 892a mv s2,a0 - 3498: 84ae mv s1,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:527 - memset(&g_TcpLogic, 0, sizeof(g_TcpLogic)); - 349a: 0e460613 addi a2,a2,228 # 20e4 - 349e: 4581 li a1,0 - 34a0: 42c40513 addi a0,s0,1068 # 2001042c - 34a4: 8a2fd0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:529 - - if (deviceUUID) - 34a8: 00090863 beqz s2,34b8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:530 - memcpy(g_TcpLogic.uuid, deviceUUID, 16); - 34ac: 4641 li a2,16 - 34ae: 85ca mv a1,s2 - 34b0: 42c40513 addi a0,s0,1068 - 34b4: 21d090ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:531 - if (authToken) - 34b8: 20010437 lui s0,0x20010 - 34bc: 42c40413 addi s0,s0,1068 # 2001042c - 34c0: c499 beqz s1,34ce -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:532 - memcpy(g_TcpLogic.auth_token, authToken, 16); - 34c2: 4641 li a2,16 - 34c4: 85a6 mv a1,s1 - 34c6: 01040513 addi a0,s0,16 - 34ca: 207090ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:535 - - /* Default DevID = 101 */ - g_TcpLogic.dev_id = 101; - 34ce: 06500793 li a5,101 - 34d2: b01e sh a5,32(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:536 - g_TcpLogic.pending_new_dev_id = -1; - 34d4: 57fd li a5,-1 - 34d6: d05c sw a5,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:538 - - g_TcpLogic.config_mutex = qdx_port_mutex_create(); - 34d8: bf3fe0ef jal ra,20ca - 34dc: 6789 lui a5,0x2 - 34de: 97a2 add a5,a5,s0 - 34e0: d3e8 sw a0,100(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:540 - if (g_TcpLogic.config_mutex == NULL) - return -1; - 34e2: 57fd li a5,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:539 - if (g_TcpLogic.config_mutex == NULL) - 34e4: c121 beqz a0,3524 -tcp_stream_init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:67 - memset(ctx, 0, sizeof(TcpStreamCtx_t)); - 34e6: 6485 lui s1,0x1 - 34e8: 01c48913 addi s2,s1,28 # 101c - 34ec: 20010537 lui a0,0x20010 - 34f0: 864a mv a2,s2 - 34f2: 4581 li a1,0 - 34f4: 45850513 addi a0,a0,1112 # 20010458 - 34f8: 84efd0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:68 - ctx->label = label; - 34fc: 0000d7b7 lui a5,0xd - 3500: 27078793 addi a5,a5,624 # d270 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:67 - memset(ctx, 0, sizeof(TcpStreamCtx_t)); - 3504: 20011537 lui a0,0x20011 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:68 - ctx->label = label; - 3508: c03c sw a5,64(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:67 - memset(ctx, 0, sizeof(TcpStreamCtx_t)); - 350a: 864a mv a2,s2 - 350c: 4581 li a1,0 - 350e: 47450513 addi a0,a0,1140 # 20011474 - 3512: 834fd0ef jal ra,546 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:68 - ctx->label = label; - 3516: 0000d7b7 lui a5,0xd - 351a: 27878793 addi a5,a5,632 # d278 - 351e: 9426 add s0,s0,s1 - 3520: cc7c sw a5,92(s0) -TcpLogic_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:545 - - tcp_stream_init(&g_TcpLogic.control_stream, "Control"); - tcp_stream_init(&g_TcpLogic.data_stream, "Data"); - - return 0; - 3522: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:546 -} - 3524: 853e mv a0,a5 - 3526: 814fd06f j 53a <__riscv_restore_0> - -0000352a : -TcpLogic_Start(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:548 - -void TcpLogic_Start(void) { - 352a: fedfc2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:549 - g_TcpLogic.control_stream.is_running = 1; - 352e: 200107b7 lui a5,0x20010 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:550 - g_TcpLogic.data_stream.is_running = 1; - 3532: 6405 lui s0,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:549 - g_TcpLogic.control_stream.is_running = 1; - 3534: 4705 li a4,1 - 3536: 42c78793 addi a5,a5,1068 # 2001042c - 353a: 02e78fa3 sb a4,63(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:552 - - qdx_port_thread_create("tcp_mgr", manager_thread_entry, NULL, 2048, 3); - 353e: 000035b7 lui a1,0x3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:550 - g_TcpLogic.data_stream.is_running = 1; - 3542: 97a2 add a5,a5,s0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:552 - qdx_port_thread_create("tcp_mgr", manager_thread_entry, NULL, 2048, 3); - 3544: 0000d537 lui a0,0xd -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:550 - g_TcpLogic.data_stream.is_running = 1; - 3548: 04e78da3 sb a4,91(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:552 - qdx_port_thread_create("tcp_mgr", manager_thread_entry, NULL, 2048, 3); - 354c: 80040693 addi a3,s0,-2048 # 800 <__stack_size> - 3550: 470d li a4,3 - 3552: 4601 li a2,0 - 3554: 36258593 addi a1,a1,866 # 3362 - 3558: 28050513 addi a0,a0,640 # d280 - 355c: ba5fe0ef jal ra,2100 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:553 - qdx_port_thread_create("tcp_rx_c", recv_thread_entry, - 3560: 000034b7 lui s1,0x3 - 3564: 20010637 lui a2,0x20010 - 3568: 0000d537 lui a0,0xd - 356c: 80040693 addi a3,s0,-2048 - 3570: db048593 addi a1,s1,-592 # 2db0 - 3574: 4711 li a4,4 - 3576: 45860613 addi a2,a2,1112 # 20010458 - 357a: 28850513 addi a0,a0,648 # d288 - 357e: b83fe0ef jal ra,2100 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:555 - &g_TcpLogic.control_stream, 2048, 4); - qdx_port_thread_create("tcp_rx_d", recv_thread_entry, &g_TcpLogic.data_stream, - 3582: 20011637 lui a2,0x20011 - 3586: 0000d537 lui a0,0xd - 358a: 4711 li a4,4 - 358c: 80040693 addi a3,s0,-2048 - 3590: 47460613 addi a2,a2,1140 # 20011474 - 3594: db048593 addi a1,s1,-592 - 3598: 29450513 addi a0,a0,660 # d294 - 359c: b65fe0ef jal ra,2100 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:557 - 2048, 4); -} - 35a0: f9bfc06f j 53a <__riscv_restore_0> - -000035a4 : -TcpLogic_RegisterConfigCallback(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:579 - - return 0; -} - -void TcpLogic_RegisterConfigCallback(ConfigUpdateCallback_t cb) { - g_TcpLogic.config_cb = cb; - 35a4: 200127b7 lui a5,0x20012 - 35a8: 42c78793 addi a5,a5,1068 # 2001242c - 35ac: 0ca7ac23 sw a0,216(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:580 -} - 35b0: 8082 ret - -000035b2 : -TcpLogic_RegisterDetectionCallback(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:583 - -void TcpLogic_RegisterDetectionCallback(DetectionResultCallback_t cb) { - g_TcpLogic.detect_cb = cb; - 35b2: 200127b7 lui a5,0x20012 - 35b6: 42c78793 addi a5,a5,1068 # 2001242c - 35ba: 0ca7ae23 sw a0,220(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:584 -} - 35be: 8082 ret - -000035c0 : -TcpLogic_BuildAndSendTemperatureFrame(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:597 - * ============================================================ */ - -int8_t -TcpLogic_BuildAndSendTemperatureFrame(TcpTxBuffer_t *io_buffer, - const PreprocessResult_t *processMeta, - uint8_t frameType, uint8_t is2D) { - 35c0: f2ffc2ef jal t0,4ee <__riscv_save_10> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:599 - - if (!g_TcpLogic.data_stream.is_connected || !io_buffer || !processMeta) - 35c4: 20010ab7 lui s5,0x20010 - 35c8: 42ca8b13 addi s6,s5,1068 # 2001042c - 35cc: 6985 lui s3,0x1 - 35ce: 99da add s3,s3,s6 - 35d0: 05a9c703 lbu a4,90(s3) # 105a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:597 - uint8_t frameType, uint8_t is2D) { - 35d4: a6010113 addi sp,sp,-1440 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:599 - if (!g_TcpLogic.data_stream.is_connected || !io_buffer || !processMeta) - 35d8: 18070663 beqz a4,3764 - 35dc: 87aa mv a5,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:600 (discriminator 1) - return -1; - 35de: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:599 (discriminator 1) - if (!g_TcpLogic.data_stream.is_connected || !io_buffer || !processMeta) - 35e0: 0e078663 beqz a5,36cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:599 (discriminator 2) - 35e4: 0e058463 beqz a1,36cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:601 - if (io_buffer->ValidPayloadLen == 0) - 35e8: 00c7a903 lw s2,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:602 - return -2; - 35ec: 5579 li a0,-2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:601 - if (io_buffer->ValidPayloadLen == 0) - 35ee: 0c090f63 beqz s2,36cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:604 - - g_TcpLogic.frame_count++; - 35f2: 028b2703 lw a4,40(s6) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:610 - - /* We need to prepend: TLV Header (3) + TemperatureFrameHeader_t (18) */ - uint32_t tlv_wrapper_len = TLV_HEADER_SIZE + sizeof(TemperatureFrameHeader_t); - - /* Ensure application left enough head room */ - if (io_buffer->HeadOffset < HEADER_SIZE + tlv_wrapper_len) { - 35f6: 4780 lw s0,8(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:611 - return -3; /* Not enough offset space allocated by user memory pool */ - 35f8: 5575 li a0,-3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:604 - g_TcpLogic.frame_count++; - 35fa: 0705 addi a4,a4,1 - 35fc: 02eb2423 sw a4,40(s6) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:610 - if (io_buffer->HeadOffset < HEADER_SIZE + tlv_wrapper_len) { - 3600: 02600713 li a4,38 - 3604: 0c877463 bgeu a4,s0,36cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:615 - } - - /* Start writing right before the application payload */ - uint8_t *tlv_start = - 3608: 439c lw a5,0(a5) - 360a: 84ae mv s1,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:616 - io_buffer->pBuffer + io_buffer->HeadOffset - tlv_wrapper_len; - 360c: 1425 addi s0,s0,-23 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:619 - - /* 1. Fill TLV Header manually via shift */ - uint32_t tlv_value_len = - 360e: 01490593 addi a1,s2,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:615 - uint8_t *tlv_start = - 3612: 943e add s0,s0,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:622 - sizeof(TemperatureFrameHeader_t) + io_buffer->ValidPayloadLen; - tlv_start[0] = TYPE_TEMP_FRAME; - qdx_write_u16_le(tlv_start + 1, (uint16_t)tlv_value_len); - 3614: 05c2 slli a1,a1,0x10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:621 - tlv_start[0] = TYPE_TEMP_FRAME; - 3616: 47c1 li a5,16 - 3618: a01c sb a5,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:622 - qdx_write_u16_le(tlv_start + 1, (uint16_t)tlv_value_len); - 361a: 81c1 srli a1,a1,0x10 - 361c: 00140513 addi a0,s0,1 - 3620: 8bb6 mv s7,a3 - 3622: 8c32 mv s8,a2 - 3624: bf8ff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:628 - - /* 2. Fill TemperatureFrameHeader manually via shift to avoid alignment - * faults - */ - uint8_t *temp_hdr = tlv_start + TLV_HEADER_SIZE; - qdx_write_u32_le(temp_hdr + 0, processMeta->FrameNumber); - 3628: 4c8c lw a1,24(s1) - 362a: 00340513 addi a0,s0,3 - 362e: bf6ff0ef jal ra,2a24 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:629 - qdx_write_u16_le(temp_hdr + 4, processMeta->ValidWidth); - 3632: 248e lhu a1,8(s1) - 3634: 00740513 addi a0,s0,7 - 3638: be4ff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:630 - qdx_write_u16_le(temp_hdr + 6, processMeta->ValidHeight); - 363c: 24ae lhu a1,10(s1) - 363e: 00940513 addi a0,s0,9 - 3642: bdaff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:631 - qdx_write_u16_le(temp_hdr + 8, (uint16_t)processMeta->MinTemp); - 3646: 24ce lhu a1,12(s1) - 3648: 00b40513 addi a0,s0,11 - 364c: bd0ff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:632 - qdx_write_u16_le(temp_hdr + 10, (uint16_t)processMeta->MaxTemp); - 3650: 24ee lhu a1,14(s1) - 3652: 00d40513 addi a0,s0,13 - 3656: bc6ff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:633 - qdx_write_u16_le(temp_hdr + 12, (uint16_t)processMeta->AvgTemp); - 365a: 288e lhu a1,16(s1) - 365c: 00f40513 addi a0,s0,15 - 3660: bbcff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:634 - qdx_write_u16_le(temp_hdr + 14, (uint16_t)processMeta->RoiTemp); - 3664: 28ae lhu a1,18(s1) - 3666: 01140513 addi a0,s0,17 - 366a: bb2ff0ef jal ra,2a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:635 - temp_hdr[16] = frameType; - 366e: 018409a3 sb s8,19(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:636 - temp_hdr[17] = processMeta->Status; - 3672: 28dc lbu a5,20(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:637 - temp_hdr[18] = is2D; - 3674: 01740aa3 sb s7,21(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:638 - temp_hdr[19] = 0; /* Reserved */ - 3678: 00040b23 sb zero,22(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:636 - temp_hdr[17] = processMeta->Status; - 367c: a85c sb a5,20(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:641 - - /* Total payload length is the entire TLV block */ - uint32_t total_tlv_len = TLV_HEADER_SIZE + tlv_value_len; - 367e: 01790b93 addi s7,s2,23 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:644 - - /* 3. Handle Fragmentation if necessary */ - if (total_tlv_len <= MAX_FRAGMENT_PAYLOAD) { - 3682: 57800793 li a5,1400 - 3686: 0577e763 bltu a5,s7,36d4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:647 - /* No fragmentation needed, build frame in place at the front */ - uint8_t *frame_start = tlv_start - HEADER_SIZE; - uint16_t seq = g_TcpLogic.data_stream.sequence++; - 368a: 0589d703 lhu a4,88(s3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:649 - - int final_len = qdx_build_frame_inplace( - 368e: 020b5683 lhu a3,32(s6) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:646 - uint8_t *frame_start = tlv_start - HEADER_SIZE; - 3692: 1441 addi s0,s0,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:647 - uint16_t seq = g_TcpLogic.data_stream.sequence++; - 3694: 00170793 addi a5,a4,1 - 3698: c43a sw a4,8(sp) - 369a: 04f99c23 sh a5,88(s3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:649 - int final_len = qdx_build_frame_inplace( - 369e: c236 sw a3,4(sp) - 36a0: a01fe0ef jal ra,20a0 - 36a4: 4722 lw a4,8(sp) - 36a6: 4692 lw a3,4(sp) - 36a8: 010b9613 slli a2,s7,0x10 - 36ac: 87aa mv a5,a0 - 36ae: 4801 li a6,0 - 36b0: 8241 srli a2,a2,0x10 - 36b2: 4589 li a1,2 - 36b4: 8522 mv a0,s0 - 36b6: c70ff0ef jal ra,2b26 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:654 - frame_start, CLASS_DATA, (uint16_t)total_tlv_len, g_TcpLogic.dev_id, - seq, qdx_port_get_tick_ms(), 0); - - int32_t sent = - qdx_port_tcp_send(g_TcpLogic.data_stream.sock, frame_start, final_len); - 36ba: 862a mv a2,a0 - 36bc: 0489a503 lw a0,72(s3) - 36c0: 85a2 mv a1,s0 - 36c2: c83fe0ef jal ra,2344 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:655 - return (sent >= 0) ? 0 : -1; - 36c6: 857d srai a0,a0,0x1f - 36c8: 0562 slli a0,a0,0x18 - 36ca: 8561 srai a0,a0,0x18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:694 - - offset += chunk_len; - } - - return 0; -} - 36cc: 5a010113 addi sp,sp,1440 - 36d0: e57fc06f j 526 <__riscv_restore_10> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:666 - (total_tlv_len + MAX_FRAGMENT_PAYLOAD - 1) / MAX_FRAGMENT_PAYLOAD; - 36d4: 58e90913 addi s2,s2,1422 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:665 - uint32_t frag_count = - 36d8: 02f95933 divu s2,s2,a5 - 36dc: 20011a37 lui s4,0x20011 - 36e0: 42ca8a93 addi s5,s5,1068 - 36e4: 42ca0a13 addi s4,s4,1068 # 2001142c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:668 - for (uint32_t i = 0; i < frag_count; i++) { - 36e8: 4481 li s1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:663 - uint32_t offset = 0; - 36ea: 4981 li s3,0 - 36ec: 57800c93 li s9,1400 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:673 - uint8_t flags = (i == frag_count - 1) ? FLAG_LAST_FRAGMENT : 0; - 36f0: fff90d13 addi s10,s2,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:668 (discriminator 1) - for (uint32_t i = 0; i < frag_count; i++) { - 36f4: 01249463 bne s1,s2,36fc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:693 - return 0; - 36f8: 4501 li a0,0 - 36fa: bfc9 j 36cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:669 - uint32_t chunk_len = total_tlv_len - offset; - 36fc: 413b8b33 sub s6,s7,s3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:670 - if (chunk_len > MAX_FRAGMENT_PAYLOAD) - 3700: 016cf463 bgeu s9,s6,3708 - 3704: 57800b13 li s6,1400 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:673 - uint8_t flags = (i == frag_count - 1) ? FLAG_LAST_FRAGMENT : 0; - 3708: 02000893 li a7,32 - 370c: 009d0363 beq s10,s1,3712 - 3710: 4881 li a7,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:674 (discriminator 4) - uint16_t seq = g_TcpLogic.data_stream.sequence++; - 3712: 058a5783 lhu a5,88(s4) - 3716: c646 sw a7,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:680 (discriminator 4) - frag_buf, CLASS_DATA, tlv_start + offset, (uint16_t)chunk_len, - 3718: 01340c33 add s8,s0,s3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:674 (discriminator 4) - uint16_t seq = g_TcpLogic.data_stream.sequence++; - 371c: 00178713 addi a4,a5,1 - 3720: 04ea1c23 sh a4,88(s4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:679 (discriminator 4) - int frame_len = qdx_build_fragment_frame( - 3724: 020ad703 lhu a4,32(s5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:674 (discriminator 4) - uint16_t seq = g_TcpLogic.data_stream.sequence++; - 3728: c43e sw a5,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:679 (discriminator 4) - int frame_len = qdx_build_fragment_frame( - 372a: c23a sw a4,4(sp) - 372c: 975fe0ef jal ra,20a0 - 3730: 48b2 lw a7,12(sp) - 3732: 47a2 lw a5,8(sp) - 3734: 4712 lw a4,4(sp) - 3736: 010b1693 slli a3,s6,0x10 - 373a: 882a mv a6,a0 - 373c: 8662 mv a2,s8 - 373e: 4589 li a1,2 - 3740: 82c1 srli a3,a3,0x10 - 3742: 0848 addi a0,sp,20 - 3744: c52ff0ef jal ra,2b96 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:684 (discriminator 4) - qdx_port_tcp_send(g_TcpLogic.data_stream.sock, frag_buf, frame_len); - 3748: 862a mv a2,a0 - 374a: 048a2503 lw a0,72(s4) - 374e: 084c addi a1,sp,20 - 3750: bf5fe0ef jal ra,2344 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:685 (discriminator 4) - if (sent < 0) { - 3754: 00055a63 bgez a0,3768 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:686 - tcp_stream_disconnect(&g_TcpLogic.data_stream); - 3758: 20011537 lui a0,0x20011 - 375c: 47450513 addi a0,a0,1140 # 20011474 - 3760: cbaff0ef jal ra,2c1a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:600 - return -1; - 3764: 557d li a0,-1 - 3766: b79d j 36cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:690 (discriminator 2) - offset += chunk_len; - 3768: 99da add s3,s3,s6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Middle/QDXnetworkStack/qdx_tcp_logic.c:668 (discriminator 2) - for (uint32_t i = 0; i < frag_count; i++) { - 376a: 0485 addi s1,s1,1 - 376c: b761 j 36f4 - -0000376e : -prvInsertBlockIntoFreeList(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:399 - BlockLink_t * pxIterator; - uint8_t * puc; - - /* Iterate through the list until a block is found that has a higher address - * than the block being inserted. */ - for( pxIterator = &xStart; pxIterator->pxNextFreeBlock < pxBlockToInsert; pxIterator = pxIterator->pxNextFreeBlock ) - 376e: 200007b7 lui a5,0x20000 - 3772: 0fc78793 addi a5,a5,252 # 200000fc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:399 (discriminator 1) - 3776: 4398 lw a4,0(a5) - 3778: 02a76f63 bltu a4,a0,37b6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:408 - - /* Do the block being inserted, and the block it is being inserted after - * make a contiguous block of memory? */ - puc = ( uint8_t * ) pxIterator; - - if( ( puc + pxIterator->xBlockSize ) == ( uint8_t * ) pxBlockToInsert ) - 377c: 43d0 lw a2,4(a5) - 377e: 00c786b3 add a3,a5,a2 - 3782: 00d51663 bne a0,a3,378e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:410 - { - pxIterator->xBlockSize += pxBlockToInsert->xBlockSize; - 3786: 4154 lw a3,4(a0) - 3788: 853e mv a0,a5 - 378a: 96b2 add a3,a3,a2 - 378c: c3d4 sw a3,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:422 - - /* Do the block being inserted, and the block it is being inserted before - * make a contiguous block of memory? */ - puc = ( uint8_t * ) pxBlockToInsert; - - if( ( puc + pxBlockToInsert->xBlockSize ) == ( uint8_t * ) pxIterator->pxNextFreeBlock ) - 378e: 4150 lw a2,4(a0) - 3790: 00c506b3 add a3,a0,a2 - 3794: 00d71c63 bne a4,a3,37ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:424 - { - if( pxIterator->pxNextFreeBlock != pxEnd ) - 3798: 200006b7 lui a3,0x20000 - 379c: 0e46a683 lw a3,228(a3) # 200000e4 - 37a0: 00d70663 beq a4,a3,37ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:427 - { - /* Form one big block from the two blocks. */ - pxBlockToInsert->xBlockSize += pxIterator->pxNextFreeBlock->xBlockSize; - 37a4: 4354 lw a3,4(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:428 - pxBlockToInsert->pxNextFreeBlock = pxIterator->pxNextFreeBlock->pxNextFreeBlock; - 37a6: 4318 lw a4,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:427 - pxBlockToInsert->xBlockSize += pxIterator->pxNextFreeBlock->xBlockSize; - 37a8: 96b2 add a3,a3,a2 - 37aa: c154 sw a3,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:437 - pxBlockToInsert->pxNextFreeBlock = pxEnd; - } - } - else - { - pxBlockToInsert->pxNextFreeBlock = pxIterator->pxNextFreeBlock; - 37ac: c118 sw a4,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:444 - - /* If the block being inserted plugged a gab, so was merged with the block - * before and the block after, then it's pxNextFreeBlock pointer will have - * already been set, and should not be set here as that would make it point - * to itself. */ - if( pxIterator != pxBlockToInsert ) - 37ae: 00f50363 beq a0,a5,37b4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:446 - { - pxIterator->pxNextFreeBlock = pxBlockToInsert; - 37b2: c388 sw a0,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:452 - } - else - { - mtCOVERAGE_TEST_MARKER(); - } -} - 37b4: 8082 ret - 37b6: 87ba mv a5,a4 - 37b8: bf7d j 3776 - -000037ba : -pvPortMalloc(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:118 -{ - 37ba: d43fc2ef jal t0,4fc <__riscv_save_4> - 37be: 1141 addi sp,sp,-16 - 37c0: c62a sw a0,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:122 - vTaskSuspendAll(); - 37c2: 190010ef jal ra,4952 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:126 - if( pxEnd == NULL ) - 37c6: 200006b7 lui a3,0x20000 - 37ca: 0e46a783 lw a5,228(a3) # 200000e4 - 37ce: 20000637 lui a2,0x20000 - 37d2: 0e468693 addi a3,a3,228 - 37d6: 0e860613 addi a2,a2,232 # 200000e8 - 37da: 4532 lw a0,12(sp) - 37dc: efa1 bnez a5,3834 -prvHeapInit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:352 - uxAddress = ( size_t ) ucHeap; - 37de: 20012737 lui a4,0x20012 - 37e2: 51070793 addi a5,a4,1296 # 20012510 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:354 - if( ( uxAddress & portBYTE_ALIGNMENT_MASK ) != 0 ) - 37e6: 00f7f593 andi a1,a5,15 - 37ea: 51070713 addi a4,a4,1296 - 37ee: c581 beqz a1,37f6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:356 - uxAddress += ( portBYTE_ALIGNMENT - 1 ); - 37f0: 00f78713 addi a4,a5,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:357 - uxAddress &= ~( ( size_t ) portBYTE_ALIGNMENT_MASK ); - 37f4: 9b41 andi a4,a4,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:365 - xStart.pxNextFreeBlock = ( void * ) pucAlignedHeap; - 37f6: 200005b7 lui a1,0x20000 - 37fa: 0fc58593 addi a1,a1,252 # 200000fc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:366 - xStart.xBlockSize = ( size_t ) 0; - 37fe: 0005a223 sw zero,4(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:365 - xStart.pxNextFreeBlock = ( void * ) pucAlignedHeap; - 3802: c198 sw a4,0(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:371 - uxAddress -= xHeapStructSize; - 3804: 658d lui a1,0x3 - 3806: 15c1 addi a1,a1,-16 - 3808: 97ae add a5,a5,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:372 - uxAddress &= ~( ( size_t ) portBYTE_ALIGNMENT_MASK ); - 380a: 9bc1 andi a5,a5,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:374 - pxEnd->xBlockSize = 0; - 380c: 0007a223 sw zero,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:375 - pxEnd->pxNextFreeBlock = NULL; - 3810: 0007a023 sw zero,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:380 - pxFirstFreeBlock->xBlockSize = uxAddress - ( size_t ) pxFirstFreeBlock; - 3814: 40e785b3 sub a1,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:373 - pxEnd = ( void * ) uxAddress; - 3818: c29c sw a5,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:381 - pxFirstFreeBlock->pxNextFreeBlock = pxEnd; - 381a: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:384 - xMinimumEverFreeBytesRemaining = pxFirstFreeBlock->xBlockSize; - 381c: 200007b7 lui a5,0x20000 - 3820: 0eb7a823 sw a1,240(a5) # 200000f0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:385 - xFreeBytesRemaining = pxFirstFreeBlock->xBlockSize; - 3824: 200007b7 lui a5,0x20000 - 3828: 0eb7a623 sw a1,236(a5) # 200000ec -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:388 - xBlockAllocatedBit = ( ( size_t ) 1 ) << ( ( sizeof( size_t ) * heapBITS_PER_BYTE ) - 1 ); - 382c: 800007b7 lui a5,0x80000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:380 - pxFirstFreeBlock->xBlockSize = uxAddress - ( size_t ) pxFirstFreeBlock; - 3830: c34c sw a1,4(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:388 - xBlockAllocatedBit = ( ( size_t ) 1 ) << ( ( sizeof( size_t ) * heapBITS_PER_BYTE ) - 1 ); - 3832: c21c sw a5,0(a2) -pvPortMalloc(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:139 - if( ( xWantedSize & xBlockAllocatedBit ) == 0 ) - 3834: 00062a03 lw s4,0(a2) - 3838: 00aa77b3 and a5,s4,a0 - 383c: e385 bnez a5,385c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:143 - if( ( xWantedSize > 0 ) && - 383e: fff50793 addi a5,a0,-1 - 3842: 5739 li a4,-18 - 3844: 00f76c63 bltu a4,a5,385c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:146 - xWantedSize += xHeapStructSize; - 3848: 01050793 addi a5,a0,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:149 - if( ( xWantedSize & portBYTE_ALIGNMENT_MASK ) != 0x00 ) - 384c: 00f7f713 andi a4,a5,15 - 3850: c349 beqz a4,38d2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:152 - if( ( xWantedSize + ( portBYTE_ALIGNMENT - ( xWantedSize & portBYTE_ALIGNMENT_MASK ) ) ) - 3852: ff07f713 andi a4,a5,-16 - 3856: 0741 addi a4,a4,16 - 3858: 06e7ec63 bltu a5,a4,38d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:120 - void * pvReturn = NULL; - 385c: 4481 li s1,0 - 385e: a091 j 38a2 - 3860: 8722 mv a4,s0 - 3862: 842e mv s0,a1 - 3864: a069 j 38ee -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:211 (discriminator 2) - pxNewBlockLink->xBlockSize = pxBlock->xBlockSize - xWantedSize; - 3866: c158 sw a4,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:212 (discriminator 2) - pxBlock->xBlockSize = xWantedSize; - 3868: c05c sw a5,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:215 (discriminator 2) - prvInsertBlockIntoFreeList( pxNewBlockLink ); - 386a: f05ff0ef jal ra,376e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:222 - xFreeBytesRemaining -= pxBlock->xBlockSize; - 386e: 4058 lw a4,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:224 - if( xFreeBytesRemaining < xMinimumEverFreeBytesRemaining ) - 3870: 200006b7 lui a3,0x20000 - 3874: 0f068693 addi a3,a3,240 # 200000f0 - 3878: 4290 lw a2,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:222 - xFreeBytesRemaining -= pxBlock->xBlockSize; - 387a: 40e907b3 sub a5,s2,a4 - 387e: 00f9a023 sw a5,0(s3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:224 - if( xFreeBytesRemaining < xMinimumEverFreeBytesRemaining ) - 3882: 00c7f363 bgeu a5,a2,3888 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:226 - xMinimumEverFreeBytesRemaining = xFreeBytesRemaining; - 3886: c29c sw a5,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:237 - xNumberOfSuccessfulAllocations++; - 3888: 200007b7 lui a5,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:235 - pxBlock->xBlockSize |= xBlockAllocatedBit; - 388c: 00ea6733 or a4,s4,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:237 - xNumberOfSuccessfulAllocations++; - 3890: 0f478793 addi a5,a5,244 # 200000f4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:235 - pxBlock->xBlockSize |= xBlockAllocatedBit; - 3894: c058 sw a4,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:237 - xNumberOfSuccessfulAllocations++; - 3896: 4398 lw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:192 - pvReturn = ( void * ) ( ( ( uint8_t * ) pxPreviousBlock->pxNextFreeBlock ) + xHeapStructSize ); - 3898: 04c1 addi s1,s1,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:236 - pxBlock->pxNextFreeBlock = NULL; - 389a: 00042023 sw zero,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:237 - xNumberOfSuccessfulAllocations++; - 389e: 0705 addi a4,a4,1 - 38a0: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:256 - ( void ) xTaskResumeAll(); - 38a2: 276010ef jal ra,4b18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:272 - configASSERT( ( ( ( size_t ) pvReturn ) & ( size_t ) portBYTE_ALIGNMENT_MASK ) == 0 ); - 38a6: 00f4f793 andi a5,s1,15 - 38aa: cbd1 beqz a5,393e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:272 (discriminator 1) - 38ac: 67a1 lui a5,0x8 - 38ae: 80078793 addi a5,a5,-2048 # 7800 - 38b2: 30079073 csrw mstatus,a5 - 38b6: 0000d637 lui a2,0xd - 38ba: 0000d537 lui a0,0xd - 38be: 2bc60613 addi a2,a2,700 # d2bc - 38c2: 11000593 li a1,272 - 38c6: 2e450513 addi a0,a0,740 # d2e4 - 38ca: 1ac090ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:272 (discriminator 6) - 38ce: a001 j 38ce - 38d0: 87ba mv a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:173 - if( ( xWantedSize > 0 ) && ( xWantedSize <= xFreeBytesRemaining ) ) - 38d2: 20000737 lui a4,0x20000 - 38d6: 0ec72903 lw s2,236(a4) # 200000ec - 38da: 0ec70993 addi s3,a4,236 - 38de: f6f96fe3 bltu s2,a5,385c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:178 - pxBlock = xStart.pxNextFreeBlock; - 38e2: 20000737 lui a4,0x20000 - 38e6: 0fc72403 lw s0,252(a4) # 200000fc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:177 - pxPreviousBlock = &xStart; - 38ea: 0fc70713 addi a4,a4,252 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:180 - while( ( pxBlock->xBlockSize < xWantedSize ) && ( pxBlock->pxNextFreeBlock != NULL ) ) - 38ee: 4050 lw a2,4(s0) - 38f0: 00f67463 bgeu a2,a5,38f8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:180 (discriminator 1) - 38f4: 400c lw a1,0(s0) - 38f6: f5ad bnez a1,3860 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:188 - if( pxBlock != pxEnd ) - 38f8: 4294 lw a3,0(a3) - 38fa: f68681e3 beq a3,s0,385c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:196 - pxPreviousBlock->pxNextFreeBlock = pxBlock->pxNextFreeBlock; - 38fe: 4014 lw a3,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:192 - pvReturn = ( void * ) ( ( ( uint8_t * ) pxPreviousBlock->pxNextFreeBlock ) + xHeapStructSize ); - 3900: 4304 lw s1,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:196 - pxPreviousBlock->pxNextFreeBlock = pxBlock->pxNextFreeBlock; - 3902: c314 sw a3,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:200 - if( ( pxBlock->xBlockSize - xWantedSize ) > heapMINIMUM_BLOCK_SIZE ) - 3904: 40f60733 sub a4,a2,a5 - 3908: 02000693 li a3,32 - 390c: f6e6f1e3 bgeu a3,a4,386e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:206 - pxNewBlockLink = ( void * ) ( ( ( uint8_t * ) pxBlock ) + xWantedSize ); - 3910: 00f40533 add a0,s0,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:207 - configASSERT( ( ( ( size_t ) pxNewBlockLink ) & portBYTE_ALIGNMENT_MASK ) == 0 ); - 3914: 00f57693 andi a3,a0,15 - 3918: d6b9 beqz a3,3866 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:207 (discriminator 1) - 391a: 67a1 lui a5,0x8 - 391c: 80078793 addi a5,a5,-2048 # 7800 - 3920: 30079073 csrw mstatus,a5 - 3924: 0000d637 lui a2,0xd - 3928: 0000d537 lui a0,0xd - 392c: 2bc60613 addi a2,a2,700 # d2bc - 3930: 0cf00593 li a1,207 - 3934: 2e450513 addi a0,a0,740 # d2e4 - 3938: 13e090ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:207 (discriminator 4) - 393c: a001 j 393c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:274 -} - 393e: 8526 mv a0,s1 - 3940: 0141 addi sp,sp,16 - 3942: beffc06f j 530 <__riscv_restore_4> - -00003946 : -vPortFree(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:282 - if( pv != NULL ) - 3946: c15d beqz a0,39ec -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:278 -{ - 3948: bcffc2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:292 - configASSERT( ( pxLink->xBlockSize & xBlockAllocatedBit ) != 0 ); - 394c: 200007b7 lui a5,0x20000 - 3950: ff452703 lw a4,-12(a0) - 3954: 0e87a783 lw a5,232(a5) # 200000e8 - 3958: 842a mv s0,a0 - 395a: 00f776b3 and a3,a4,a5 - 395e: e29d bnez a3,3984 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:292 (discriminator 1) - 3960: 67a1 lui a5,0x8 - 3962: 80078793 addi a5,a5,-2048 # 7800 - 3966: 30079073 csrw mstatus,a5 - 396a: 0000d637 lui a2,0xd - 396e: 0000d537 lui a0,0xd - 3972: 2bc60613 addi a2,a2,700 # d2bc - 3976: 12400593 li a1,292 - 397a: 2e450513 addi a0,a0,740 # d2e4 - 397e: 0f8090ef jal ra,ca76 - 3982: a001 j 3982 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:293 (discriminator 2) - configASSERT( pxLink->pxNextFreeBlock == NULL ); - 3984: ff052683 lw a3,-16(a0) - 3988: c29d beqz a3,39ae -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:293 (discriminator 1) - 398a: 67a1 lui a5,0x8 - 398c: 80078793 addi a5,a5,-2048 # 7800 - 3990: 30079073 csrw mstatus,a5 - 3994: 0000d637 lui a2,0xd - 3998: 0000d537 lui a0,0xd - 399c: 2bc60613 addi a2,a2,700 # d2bc - 39a0: 12500593 li a1,293 - 39a4: 2e450513 addi a0,a0,740 # d2e4 - 39a8: 0ce090ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:293 (discriminator 2) - 39ac: a001 j 39ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:301 - pxLink->xBlockSize &= ~xBlockAllocatedBit; - 39ae: fff7c793 not a5,a5 - 39b2: 8ff9 and a5,a5,a4 - 39b4: fef52a23 sw a5,-12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:303 - vTaskSuspendAll(); - 39b8: 79b000ef jal ra,4952 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:306 - xFreeBytesRemaining += pxLink->xBlockSize; - 39bc: 200007b7 lui a5,0x20000 - 39c0: 0ec78793 addi a5,a5,236 # 200000ec - 39c4: 4394 lw a3,0(a5) - 39c6: ff442703 lw a4,-12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:308 - prvInsertBlockIntoFreeList( ( ( BlockLink_t * ) pxLink ) ); - 39ca: ff040513 addi a0,s0,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:306 - xFreeBytesRemaining += pxLink->xBlockSize; - 39ce: 9736 add a4,a4,a3 - 39d0: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:308 - prvInsertBlockIntoFreeList( ( ( BlockLink_t * ) pxLink ) ); - 39d2: d9dff0ef jal ra,376e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:309 - xNumberOfSuccessfulFrees++; - 39d6: 200007b7 lui a5,0x20000 - 39da: 0f878793 addi a5,a5,248 # 200000f8 - 39de: 4398 lw a4,0(a5) - 39e0: 0705 addi a4,a4,1 - 39e2: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:311 - ( void ) xTaskResumeAll(); - 39e4: 134010ef jal ra,4b18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/MemMang/heap_4.c:323 -} - 39e8: b53fc06f j 53a <__riscv_restore_0> - 39ec: 8082 ret - -000039ee : -NVIC_SetPriority(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:286 - 39ee: e000e7b7 lui a5,0xe000e - 39f2: 5741 li a4,-16 - 39f4: 40e78723 sb a4,1038(a5) # e000e40e <__freertos_irq_stack_top+0xbffde40e> - 39f8: 40e78623 sb a4,1036(a5) -vPortSetupTimerInterrupt(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:161 - /* set software is lowest priority */ - NVIC_SetPriority(Software_IRQn,0xf0); - /* set systick is lowest priority */ - NVIC_SetPriority(SysTicK_IRQn,0xf0); - - SysTick->CTLR= 0; - 39fc: e000f7b7 lui a5,0xe000f - 3a00: 0007a023 sw zero,0(a5) # e000f000 <__freertos_irq_stack_top+0xbffdf000> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:162 - SysTick->SR = 0; - 3a04: 0007a223 sw zero,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:163 - SysTick->CNT = 0; - 3a08: 4681 li a3,0 - 3a0a: c794 sw a3,8(a5) - 3a0c: 4701 li a4,0 - 3a0e: c7d8 sw a4,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:164 - SysTick->CMP = configCPU_CLOCK_HZ/configTICK_RATE_HZ; - 3a10: 8101a583 lw a1,-2032(gp) # 20000050 - 3a14: 1f400713 li a4,500 - 3a18: 4681 li a3,0 - 3a1a: 02e5d633 divu a2,a1,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:165 - SysTick->CTLR= 0xf; - 3a1e: 473d li a4,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:164 - SysTick->CMP = configCPU_CLOCK_HZ/configTICK_RATE_HZ; - 3a20: cb90 sw a2,16(a5) - 3a22: cbd4 sw a3,20(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:165 - SysTick->CTLR= 0xf; - 3a24: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:166 -} - 3a26: 8082 ret - -00003a28 : -xPortStartScheduler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:172 - -#endif /* ( configMTIME_BASE_ADDRESS != 0 ) && ( configMTIME_BASE_ADDRESS != 0 ) */ -/*-----------------------------------------------------------*/ - -BaseType_t xPortStartScheduler( void ) -{ - 3a28: aeffc2ef jal t0,516 <__riscv_save_0> - 3a2c: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:177 -extern void xPortStartFirstTask( void ); - - #if( configASSERT_DEFINED == 1 ) - { - volatile uint32_t mtvec = 0; - 3a2e: c602 sw zero,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:181 - - /* Check the least significant two bits of mtvec are 0b11 - indicating - multiply vector mode. */ - __asm volatile( "csrr %0, mtvec" : "=r"( mtvec ) ); - 3a30: 305027f3 csrr a5,mtvec - 3a34: c63e sw a5,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:182 - configASSERT( ( mtvec & 0x03UL ) == 0x3 ); - 3a36: 47b2 lw a5,12(sp) - 3a38: 470d li a4,3 - 3a3a: 8b8d andi a5,a5,3 - 3a3c: 02e78463 beq a5,a4,3a64 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:182 (discriminator 1) - 3a40: 67a1 lui a5,0x8 - 3a42: 80078793 addi a5,a5,-2048 # 7800 - 3a46: 30079073 csrw mstatus,a5 - 3a4a: 0000d637 lui a2,0xd - 3a4e: 0000d537 lui a0,0xd - 3a52: 30860613 addi a2,a2,776 # d308 - 3a56: 0b600593 li a1,182 - 3a5a: 2e450513 addi a0,a0,740 # d2e4 - 3a5e: 018090ef jal ra,ca76 - 3a62: a001 j 3a62 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:187 (discriminator 2) - - /* Check alignment of the interrupt stack - which is the same as the - stack that was being used by main() prior to the scheduler being - started. */ - configASSERT( ( xISRStackTop & portBYTE_ALIGNMENT_MASK ) == 0 ); - 3a64: 200307b7 lui a5,0x20030 - 3a68: 00078793 mv a5,a5 - 3a6c: 8bbd andi a5,a5,15 - 3a6e: c39d beqz a5,3a94 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:187 (discriminator 1) - 3a70: 67a1 lui a5,0x8 - 3a72: 80078793 addi a5,a5,-2048 # 7800 - 3a76: 30079073 csrw mstatus,a5 - 3a7a: 0000d637 lui a2,0xd - 3a7e: 0000d537 lui a0,0xd - 3a82: 30860613 addi a2,a2,776 # d308 - 3a86: 0bb00593 li a1,187 - 3a8a: 2e450513 addi a0,a0,740 # d2e4 - 3a8e: 7e9080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:187 (discriminator 2) - 3a92: a001 j 3a92 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:200 (discriminator 2) - #endif /* configASSERT_DEFINED */ - - /* If there is a CLINT then it is ok to use the default implementation - in this file, otherwise vPortSetupTimerInterrupt() must be implemented to - configure whichever clock is to be used to generate the tick interrupt. */ - vPortSetupTimerInterrupt(); - 3a94: f5bff0ef jal ra,39ee -NVIC_EnableIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:170 (discriminator 2) - NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); - 3a98: e000e7b7 lui a5,0xe000e - 3a9c: 6705 lui a4,0x1 - 3a9e: 10e7a023 sw a4,256(a5) # e000e100 <__freertos_irq_stack_top+0xbffde100> - 3aa2: 6711 lui a4,0x4 - 3aa4: 10e7a023 sw a4,256(a5) -xPortStartScheduler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:219 (discriminator 2) - NVIC_EnableIRQ(Software_IRQn); - } - #endif /* ( configMTIME_BASE_ADDRESS != 0 ) && ( configMTIMECMP_BASE_ADDRESS != 0 ) */ - - /* Initialise the critical nesting count ready for the first task. */ - uxCriticalNesting = 0; - 3aa8: 8001ac23 sw zero,-2024(gp) # 20000058 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:220 (discriminator 2) - xPortStartFirstTask(); - 3aac: 855fc0ef jal ra,300 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:225 (discriminator 2) - - /* Should not get here as after calling xPortStartFirstTask() only tasks - should be executing. */ - return pdFAIL; -} - 3ab0: 4501 li a0,0 - 3ab2: 0141 addi sp,sp,16 - 3ab4: a87fc06f j 53a <__riscv_restore_0> - -00003ab8 : -SysTick_Handler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:237 -} -/*-----------------------------------------------------------*/ -void SysTick_Handler(void) __attribute__((interrupt("WCH-Interrupt-fast"))); -void SysTick_Handler( void ) -{ - GET_INT_SP(); - 3ab8: 34011173 csrrw sp,mscratch,sp -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:238 - portDISABLE_INTERRUPTS(); - 3abc: 67a1 lui a5,0x8 - 3abe: 80078793 addi a5,a5,-2048 # 7800 - 3ac2: 30079073 csrw mstatus,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:239 - SysTick->SR=0; - 3ac6: e000f7b7 lui a5,0xe000f - 3aca: 0007a223 sw zero,4(a5) # e000f004 <__freertos_irq_stack_top+0xbffdf004> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:240 - if( xTaskIncrementTick() != pdFALSE ) - 3ace: 69f000ef jal ra,496c - 3ad2: c511 beqz a0,3ade -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - NVIC->IPSR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); - 3ad4: e000e7b7 lui a5,0xe000e - 3ad8: 6711 lui a4,0x4 - 3ada: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> -SysTick_Handler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:244 - { - portYIELD(); - } - portENABLE_INTERRUPTS(); - 3ade: 67a1 lui a5,0x8 - 3ae0: 88878793 addi a5,a5,-1912 # 7888 - 3ae4: 30079073 csrw mstatus,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:245 - FREE_INT_SP(); - 3ae8: 34011173 csrrw sp,mscratch,sp -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:246 -} - 3aec: 30200073 mret - -00003af0 : -vPortEnterCritical(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:251 - -/*-----------------------------------------------------------*/ -void vPortEnterCritical( void ) -{ - portDISABLE_INTERRUPTS(); - 3af0: 67a1 lui a5,0x8 - 3af2: 80078793 addi a5,a5,-2048 # 7800 - 3af6: 30079073 csrw mstatus,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:252 - uxCriticalNesting++; - 3afa: 81818793 addi a5,gp,-2024 # 20000058 - 3afe: 4398 lw a4,0(a5) - 3b00: 0705 addi a4,a4,1 - 3b02: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:253 -} - 3b04: 8082 ret - -00003b06 : -vPortExitCritical(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:258 - -/*-----------------------------------------------------------*/ -void vPortExitCritical( void ) -{ - configASSERT( uxCriticalNesting ); - 3b06: 81818713 addi a4,gp,-2024 # 20000058 - 3b0a: 431c lw a5,0(a4) - 3b0c: e78d bnez a5,3b36 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:257 (discriminator 1) -{ - 3b0e: a09fc2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:258 (discriminator 1) - configASSERT( uxCriticalNesting ); - 3b12: 67a1 lui a5,0x8 - 3b14: 80078793 addi a5,a5,-2048 # 7800 - 3b18: 30079073 csrw mstatus,a5 - 3b1c: 0000d637 lui a2,0xd - 3b20: 0000d537 lui a0,0xd - 3b24: 30860613 addi a2,a2,776 # d308 - 3b28: 10200593 li a1,258 - 3b2c: 2e450513 addi a0,a0,740 # d2e4 - 3b30: 747080ef jal ra,ca76 - 3b34: a001 j 3b34 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:259 (discriminator 2) - uxCriticalNesting--; - 3b36: 17fd addi a5,a5,-1 - 3b38: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:261 (discriminator 2) - - if( uxCriticalNesting == 0 ) - 3b3a: e791 bnez a5,3b46 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:263 - { - portENABLE_INTERRUPTS(); - 3b3c: 67a1 lui a5,0x8 - 3b3e: 88878793 addi a5,a5,-1912 # 7888 - 3b42: 30079073 csrw mstatus,a5 - 3b46: 8082 ret - -00003b48 : -xPortSetInterruptMask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:270 -} -/*-----------------------------------------------------------*/ -portUBASE_TYPE xPortSetInterruptMask(void) -{ - portUBASE_TYPE uvalue=0; - __asm volatile("csrrw %0, mstatus, %1":"=r"(uvalue):"r"(0x7800)); - 3b48: 6521 lui a0,0x8 - 3b4a: 80050513 addi a0,a0,-2048 # 7800 - 3b4e: 30051573 csrrw a0,mstatus,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:272 - return uvalue; -} - 3b52: 8082 ret - -00003b54 : -vPortClearInterruptMask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:277 - -/*-----------------------------------------------------------*/ -void vPortClearInterruptMask(portUBASE_TYPE uvalue) -{ - __asm volatile("csrw mstatus, %0"::"r"(uvalue)); - 3b54: 30051073 csrw mstatus,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/portable/GCC/RISC-V/port.c:278 -} - 3b58: 8082 ret - -00003b5a : -vListInitialise(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:55 -void vListInitialise( List_t * const pxList ) -{ - /* The list structure contains a list item which is used to mark the - * end of the list. To initialise the list the list end is inserted - * as the only list entry. */ - pxList->pxIndex = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */ - 3b5a: 00850793 addi a5,a0,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:59 - - /* The list end value is the highest possible value in the list to - * ensure it remains at the end of the list. */ - pxList->xListEnd.xItemValue = portMAX_DELAY; - 3b5e: 577d li a4,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:55 - pxList->pxIndex = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */ - 3b60: c15c sw a5,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:59 - pxList->xListEnd.xItemValue = portMAX_DELAY; - 3b62: c518 sw a4,8(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:63 - - /* The list end next and previous pointers point to itself so we know - * when the list is empty. */ - pxList->xListEnd.pxNext = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */ - 3b64: c55c sw a5,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:64 - pxList->xListEnd.pxPrevious = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */ - 3b66: c91c sw a5,16(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:66 - - pxList->uxNumberOfItems = ( UBaseType_t ) 0U; - 3b68: 00052023 sw zero,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:72 - - /* Write known values into the list if - * configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ - listSET_LIST_INTEGRITY_CHECK_1_VALUE( pxList ); - listSET_LIST_INTEGRITY_CHECK_2_VALUE( pxList ); -} - 3b6c: 8082 ret - -00003b6e : -vListInitialiseItem(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:78 -/*-----------------------------------------------------------*/ - -void vListInitialiseItem( ListItem_t * const pxItem ) -{ - /* Make sure the list item is not recorded as being on a list. */ - pxItem->pxContainer = NULL; - 3b6e: 00052823 sw zero,16(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:84 - - /* Write known values into the list item if - * configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ - listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ); - listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ); -} - 3b72: 8082 ret - -00003b74 : -vListInsert(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:121 - -void vListInsert( List_t * const pxList, - ListItem_t * const pxNewListItem ) -{ - ListItem_t * pxIterator; - const TickType_t xValueOfInsertion = pxNewListItem->xItemValue; - 3b74: 4198 lw a4,0(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:137 - * new list item should be placed after it. This ensures that TCBs which are - * stored in ready lists (all of which have the same xItemValue value) get a - * share of the CPU. However, if the xItemValue is the same as the back marker - * the iteration loop below will not end. Therefore the value is checked - * first, and the algorithm slightly modified if necessary. */ - if( xValueOfInsertion == portMAX_DELAY ) - 3b76: 56fd li a3,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:168 - * 5) If the FreeRTOS port supports interrupt nesting then ensure that - * the priority of the tick interrupt is at or below - * configMAX_SYSCALL_INTERRUPT_PRIORITY. - **********************************************************************/ - - for( pxIterator = ( ListItem_t * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValue <= xValueOfInsertion; pxIterator = pxIterator->pxNext ) /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. *//*lint !e440 The iterator moves to a different value, not xValueOfInsertion. */ - 3b78: 00850793 addi a5,a0,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:137 - if( xValueOfInsertion == portMAX_DELAY ) - 3b7c: 00d71e63 bne a4,a3,3b98 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:139 - pxIterator = pxList->xListEnd.pxPrevious; - 3b80: 491c lw a5,16(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:175 - /* There is nothing to do here, just iterating to the wanted - * insertion position. */ - } - } - - pxNewListItem->pxNext = pxIterator->pxNext; - 3b82: 43d8 lw a4,4(a5) - 3b84: c1d8 sw a4,4(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:176 - pxNewListItem->pxNext->pxPrevious = pxNewListItem; - 3b86: c70c sw a1,8(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:177 - pxNewListItem->pxPrevious = pxIterator; - 3b88: c59c sw a5,8(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:178 - pxIterator->pxNext = pxNewListItem; - 3b8a: c3cc sw a1,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:184 - - /* Remember which list the item is in. This allows fast removal of the - * item later. */ - pxNewListItem->pxContainer = pxList; - - ( pxList->uxNumberOfItems )++; - 3b8c: 411c lw a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:182 - pxNewListItem->pxContainer = pxList; - 3b8e: c988 sw a0,16(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:184 - ( pxList->uxNumberOfItems )++; - 3b90: 0785 addi a5,a5,1 - 3b92: c11c sw a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:185 -} - 3b94: 8082 ret - 3b96: 87b6 mv a5,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:168 (discriminator 1) - for( pxIterator = ( ListItem_t * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValue <= xValueOfInsertion; pxIterator = pxIterator->pxNext ) /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. *//*lint !e440 The iterator moves to a different value, not xValueOfInsertion. */ - 3b98: 43d4 lw a3,4(a5) - 3b9a: 4290 lw a2,0(a3) - 3b9c: fec77de3 bgeu a4,a2,3b96 - 3ba0: b7cd j 3b82 - -00003ba2 : -uxListRemove(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:194 -{ -/* The list item knows which list it is in. Obtain the list from the list - * item. */ - List_t * const pxList = pxItemToRemove->pxContainer; - - pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious; - 3ba2: 4154 lw a3,4(a0) - 3ba4: 4518 lw a4,8(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:192 - List_t * const pxList = pxItemToRemove->pxContainer; - 3ba6: 491c lw a5,16(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:194 - pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious; - 3ba8: c698 sw a4,8(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:195 - pxItemToRemove->pxPrevious->pxNext = pxItemToRemove->pxNext; - 3baa: c354 sw a3,4(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:201 - - /* Only used during decision coverage testing. */ - mtCOVERAGE_TEST_DELAY(); - - /* Make sure the index is left pointing to a valid item. */ - if( pxList->pxIndex == pxItemToRemove ) - 3bac: 43d4 lw a3,4(a5) - 3bae: 00a69363 bne a3,a0,3bb4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:203 - { - pxList->pxIndex = pxItemToRemove->pxPrevious; - 3bb2: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:211 - { - mtCOVERAGE_TEST_MARKER(); - } - - pxItemToRemove->pxContainer = NULL; - ( pxList->uxNumberOfItems )--; - 3bb4: 4398 lw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:210 - pxItemToRemove->pxContainer = NULL; - 3bb6: 00052823 sw zero,16(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:211 - ( pxList->uxNumberOfItems )--; - 3bba: 177d addi a4,a4,-1 - 3bbc: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:213 - - return pxList->uxNumberOfItems; - 3bbe: 4388 lw a0,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/list.c:214 -} - 3bc0: 8082 ret - -00003bc2 : -prvIsQueueEmpty(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2385 - taskEXIT_CRITICAL(); -} -/*-----------------------------------------------------------*/ - -static BaseType_t prvIsQueueEmpty( const Queue_t * pxQueue ) -{ - 3bc2: 955fc2ef jal t0,516 <__riscv_save_0> - 3bc6: 1141 addi sp,sp,-16 - 3bc8: c62a sw a0,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2388 - BaseType_t xReturn; - - taskENTER_CRITICAL(); - 3bca: f27ff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2390 - { - if( pxQueue->uxMessagesWaiting == ( UBaseType_t ) 0 ) - 3bce: 4532 lw a0,12(sp) - 3bd0: 5d00 lw s0,56(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2399 - else - { - xReturn = pdFALSE; - } - } - taskEXIT_CRITICAL(); - 3bd2: f35ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2402 - - return xReturn; -} - 3bd6: 00143513 seqz a0,s0 - 3bda: 0141 addi sp,sp,16 - 3bdc: 95ffc06f j 53a <__riscv_restore_0> - -00003be0 : -prvCopyDataToQueue(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2163 -{ - 3be0: 937fc2ef jal t0,516 <__riscv_save_0> - 3be4: 8932 mv s2,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2171 - if( pxQueue->uxItemSize == ( UBaseType_t ) 0 ) - 3be6: 4130 lw a2,64(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2169 - uxMessagesWaiting = pxQueue->uxMessagesWaiting; - 3be8: 5d04 lw s1,56(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2163 -{ - 3bea: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2171 - if( pxQueue->uxItemSize == ( UBaseType_t ) 0 ) - 3bec: ee09 bnez a2,3c06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2175 - if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) - 3bee: 411c lw a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2164 - BaseType_t xReturn = pdFALSE; - 3bf0: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2175 - if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) - 3bf2: e791 bnez a5,3bfe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2178 - xReturn = xTaskPriorityDisinherit( pxQueue->u.xSemaphore.xMutexHolder ); - 3bf4: 4408 lw a0,8(s0) - 3bf6: 4ea010ef jal ra,50e0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2179 - pxQueue->u.xSemaphore.xMutexHolder = NULL; - 3bfa: 00042423 sw zero,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2237 - pxQueue->uxMessagesWaiting = uxMessagesWaiting + ( UBaseType_t ) 1; - 3bfe: 0485 addi s1,s1,1 - 3c00: dc04 sw s1,56(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2240 -} - 3c02: 939fc06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2188 - else if( xPosition == queueSEND_TO_BACK ) - 3c06: 02091063 bnez s2,3c26 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2190 - ( void ) memcpy( ( void * ) pxQueue->pcWriteTo, pvItemToQueue, ( size_t ) pxQueue->uxItemSize ); /*lint !e961 !e418 !e9087 MISRA exception as the casts are only redundant for some ports, plus previous logic ensures a null pointer can only be passed to memcpy() if the copy size is 0. Cast to void required by function signature and safe as no alignment requirement and copy length specified in bytes. */ - 3c0a: 4148 lw a0,4(a0) - 3c0c: 2c4090ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2191 - pxQueue->pcWriteTo += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ - 3c10: 405c lw a5,4(s0) - 3c12: 4038 lw a4,64(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2164 - BaseType_t xReturn = pdFALSE; - 3c14: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2191 - pxQueue->pcWriteTo += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ - 3c16: 97ba add a5,a5,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2193 - if( pxQueue->pcWriteTo >= pxQueue->u.xQueue.pcTail ) /*lint !e946 MISRA exception justified as comparison of pointers is the cleanest solution. */ - 3c18: 4418 lw a4,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2191 - pxQueue->pcWriteTo += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ - 3c1a: c05c sw a5,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2193 - if( pxQueue->pcWriteTo >= pxQueue->u.xQueue.pcTail ) /*lint !e946 MISRA exception justified as comparison of pointers is the cleanest solution. */ - 3c1c: fee7e1e3 bltu a5,a4,3bfe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2195 - pxQueue->pcWriteTo = pxQueue->pcHead; - 3c20: 401c lw a5,0(s0) - 3c22: c05c sw a5,4(s0) - 3c24: bfe9 j 3bfe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2204 - ( void ) memcpy( ( void * ) pxQueue->u.xQueue.pcReadFrom, pvItemToQueue, ( size_t ) pxQueue->uxItemSize ); /*lint !e961 !e9087 !e418 MISRA exception as the casts are only redundant for some ports. Cast to void required by function signature and safe as no alignment requirement and copy length specified in bytes. Assert checks null pointer only used when length is 0. */ - 3c26: 4548 lw a0,12(a0) - 3c28: 2a8090ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2205 - pxQueue->u.xQueue.pcReadFrom -= pxQueue->uxItemSize; - 3c2c: 403c lw a5,64(s0) - 3c2e: 4458 lw a4,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2207 - if( pxQueue->u.xQueue.pcReadFrom < pxQueue->pcHead ) /*lint !e946 MISRA exception justified as comparison of pointers is the cleanest solution. */ - 3c30: 4014 lw a3,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2205 - pxQueue->u.xQueue.pcReadFrom -= pxQueue->uxItemSize; - 3c32: 40f007b3 neg a5,a5 - 3c36: 973e add a4,a4,a5 - 3c38: c458 sw a4,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2207 - if( pxQueue->u.xQueue.pcReadFrom < pxQueue->pcHead ) /*lint !e946 MISRA exception justified as comparison of pointers is the cleanest solution. */ - 3c3a: 00d77563 bgeu a4,a3,3c44 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2209 - pxQueue->u.xQueue.pcReadFrom = ( pxQueue->u.xQueue.pcTail - pxQueue->uxItemSize ); - 3c3e: 4418 lw a4,8(s0) - 3c40: 97ba add a5,a5,a4 - 3c42: c45c sw a5,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2216 - if( xPosition == queueOVERWRITE ) - 3c44: 4789 li a5,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2164 - BaseType_t xReturn = pdFALSE; - 3c46: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2216 - if( xPosition == queueOVERWRITE ) - 3c48: faf91be3 bne s2,a5,3bfe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2218 - if( uxMessagesWaiting > ( UBaseType_t ) 0 ) - 3c4c: d8cd beqz s1,3bfe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2224 - --uxMessagesWaiting; - 3c4e: 14fd addi s1,s1,-1 - 3c50: b77d j 3bfe - -00003c52 : -prvCopyDataFromQueue(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2246 - if( pxQueue->uxItemSize != ( UBaseType_t ) 0 ) - 3c52: 4130 lw a2,64(a0) - 3c54: c215 beqz a2,3c78 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2245 -{ - 3c56: 8c1fc2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2248 - pxQueue->u.xQueue.pcReadFrom += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ - 3c5a: 4558 lw a4,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2250 - if( pxQueue->u.xQueue.pcReadFrom >= pxQueue->u.xQueue.pcTail ) /*lint !e946 MISRA exception justified as use of the relational operator is the cleanest solutions. */ - 3c5c: 4514 lw a3,8(a0) - 3c5e: 87aa mv a5,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2248 - pxQueue->u.xQueue.pcReadFrom += pxQueue->uxItemSize; /*lint !e9016 Pointer arithmetic on char types ok, especially in this use case where it is the clearest way of conveying intent. */ - 3c60: 9732 add a4,a4,a2 - 3c62: c558 sw a4,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2250 - if( pxQueue->u.xQueue.pcReadFrom >= pxQueue->u.xQueue.pcTail ) /*lint !e946 MISRA exception justified as use of the relational operator is the cleanest solutions. */ - 3c64: 00d76463 bltu a4,a3,3c6c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2252 - pxQueue->u.xQueue.pcReadFrom = pxQueue->pcHead; - 3c68: 4118 lw a4,0(a0) - 3c6a: c558 sw a4,12(a0) - 3c6c: 852e mv a0,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2259 - ( void ) memcpy( ( void * ) pvBuffer, ( void * ) pxQueue->u.xQueue.pcReadFrom, ( size_t ) pxQueue->uxItemSize ); /*lint !e961 !e418 !e9087 MISRA exception as the casts are only redundant for some ports. Also previous logic ensures a null pointer can only be passed to memcpy() when the count is 0. Cast to void required by function signature and safe as no alignment requirement and copy length specified in bytes. */ - 3c6e: 47cc lw a1,12(a5) - 3c70: 260090ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2261 -} - 3c74: 8c7fc06f j 53a <__riscv_restore_0> - 3c78: 8082 ret - -00003c7a : -prvUnlockQueue(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2265 -{ - 3c7a: 89dfc2ef jal t0,516 <__riscv_save_0> - 3c7e: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2272 - taskENTER_CRITICAL(); - 3c80: e71ff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2274 - int8_t cTxLock = pxQueue->cTxLock; - 3c84: 04544483 lbu s1,69(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2327 - if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) - 3c88: 02440913 addi s2,s0,36 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2274 - int8_t cTxLock = pxQueue->cTxLock; - 3c8c: 04e2 slli s1,s1,0x18 - 3c8e: 84e1 srai s1,s1,0x18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2277 - while( cTxLock > queueLOCKED_UNMODIFIED ) - 3c90: 02904863 bgtz s1,3cc0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2348 - pxQueue->cTxLock = queueUNLOCKED; - 3c94: 57fd li a5,-1 - 3c96: 04f402a3 sb a5,69(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2350 - taskEXIT_CRITICAL(); - 3c9a: e6dff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2353 - taskENTER_CRITICAL(); - 3c9e: e53ff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2355 - int8_t cRxLock = pxQueue->cRxLock; - 3ca2: 04444483 lbu s1,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2361 - if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 3ca6: 01040913 addi s2,s0,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2355 - int8_t cRxLock = pxQueue->cRxLock; - 3caa: 04e2 slli s1,s1,0x18 - 3cac: 84e1 srai s1,s1,0x18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2357 - while( cRxLock > queueLOCKED_UNMODIFIED ) - 3cae: 02904563 bgtz s1,3cd8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2378 - pxQueue->cRxLock = queueUNLOCKED; - 3cb2: 57fd li a5,-1 - 3cb4: 04f40223 sb a5,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2380 - taskEXIT_CRITICAL(); - 3cb8: e4fff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2381 -} - 3cbc: 87ffc06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2325 - if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) - 3cc0: 505c lw a5,36(s0) - 3cc2: dbe9 beqz a5,3c94 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2327 - if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) - 3cc4: 854a mv a0,s2 - 3cc6: 178010ef jal ra,4e3e - 3cca: c119 beqz a0,3cd0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2331 - vTaskMissedYield(); - 3ccc: 33e010ef jal ra,500a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2345 - --cTxLock; - 3cd0: 14fd addi s1,s1,-1 - 3cd2: 04e2 slli s1,s1,0x18 - 3cd4: 84e1 srai s1,s1,0x18 - 3cd6: bf6d j 3c90 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2359 - if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) - 3cd8: 481c lw a5,16(s0) - 3cda: dfe1 beqz a5,3cb2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2361 - if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 3cdc: 854a mv a0,s2 - 3cde: 160010ef jal ra,4e3e - 3ce2: c119 beqz a0,3ce8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2363 - vTaskMissedYield(); - 3ce4: 326010ef jal ra,500a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2370 - --cRxLock; - 3ce8: 14fd addi s1,s1,-1 - 3cea: 04e2 slli s1,s1,0x18 - 3cec: 84e1 srai s1,s1,0x18 - 3cee: b7c1 j 3cae - -00003cf0 : -xQueueGenericReset(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:268 -{ - 3cf0: 827fc2ef jal t0,516 <__riscv_save_0> - 3cf4: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:272 - configASSERT( pxQueue ); - 3cf6: e11d bnez a0,3d1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:272 (discriminator 1) - 3cf8: 67a1 lui a5,0x8 - 3cfa: 80078793 addi a5,a5,-2048 # 7800 - 3cfe: 30079073 csrw mstatus,a5 - 3d02: 0000d637 lui a2,0xd - 3d06: 0000d537 lui a0,0xd - 3d0a: 33060613 addi a2,a2,816 # d330 - 3d0e: 11000593 li a1,272 - 3d12: 2e450513 addi a0,a0,740 # d2e4 - 3d16: 561080ef jal ra,ca76 - 3d1a: a001 j 3d1a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:275 (discriminator 1) - ( pxQueue->uxLength >= 1U ) && - 3d1c: 5d5c lw a5,60(a0) - 3d1e: c62e sw a1,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:274 (discriminator 1) - if( ( pxQueue != NULL ) && - 3d20: 842a mv s0,a0 - 3d22: c7bd beqz a5,3d90 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:277 - ( ( SIZE_MAX / pxQueue->uxLength ) >= pxQueue->uxItemSize ) ) - 3d24: 4138 lw a4,64(a0) - 3d26: 02e7b7b3 mulhu a5,a5,a4 - 3d2a: e3bd bnez a5,3d90 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:279 - taskENTER_CRITICAL(); - 3d2c: dc5ff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:281 - pxQueue->u.xQueue.pcTail = pxQueue->pcHead + ( pxQueue->uxLength * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ - 3d30: 4030 lw a2,64(s0) - 3d32: 5c58 lw a4,60(s0) - 3d34: 4014 lw a3,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:282 - pxQueue->uxMessagesWaiting = ( UBaseType_t ) 0U; - 3d36: 02042c23 sw zero,56(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:281 - pxQueue->u.xQueue.pcTail = pxQueue->pcHead + ( pxQueue->uxLength * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ - 3d3a: 02e607b3 mul a5,a2,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:288 - if( xNewQueue == pdFALSE ) - 3d3e: 45b2 lw a1,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:283 - pxQueue->pcWriteTo = pxQueue->pcHead; - 3d40: c054 sw a3,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:281 - pxQueue->u.xQueue.pcTail = pxQueue->pcHead + ( pxQueue->uxLength * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ - 3d42: 00f68733 add a4,a3,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:284 - pxQueue->u.xQueue.pcReadFrom = pxQueue->pcHead + ( ( pxQueue->uxLength - 1U ) * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ - 3d46: 8f91 sub a5,a5,a2 - 3d48: 97b6 add a5,a5,a3 - 3d4a: c45c sw a5,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:285 - pxQueue->cRxLock = queueUNLOCKED; - 3d4c: 57fd li a5,-1 - 3d4e: 04f40223 sb a5,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:281 - pxQueue->u.xQueue.pcTail = pxQueue->pcHead + ( pxQueue->uxLength * pxQueue->uxItemSize ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ - 3d52: c418 sw a4,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:286 - pxQueue->cTxLock = queueUNLOCKED; - 3d54: 04f402a3 sb a5,69(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:288 - if( xNewQueue == pdFALSE ) - 3d58: e19d bnez a1,3d7e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:295 - if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) - 3d5a: 481c lw a5,16(s0) - 3d5c: cb99 beqz a5,3d72 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:297 - if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 3d5e: 01040513 addi a0,s0,16 - 3d62: 0dc010ef jal ra,4e3e - 3d66: c511 beqz a0,3d72 -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 3d68: e000e7b7 lui a5,0xe000e - 3d6c: 6711 lui a4,0x4 - 3d6e: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> -xQueueGenericReset(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:318 - taskEXIT_CRITICAL(); - 3d72: d95ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:330 -} - 3d76: 4505 li a0,1 - 3d78: 0141 addi sp,sp,16 - 3d7a: fc0fc06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:314 - vListInitialise( &( pxQueue->xTasksWaitingToSend ) ); - 3d7e: 01040513 addi a0,s0,16 - 3d82: dd9ff0ef jal ra,3b5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:315 - vListInitialise( &( pxQueue->xTasksWaitingToReceive ) ); - 3d86: 02440513 addi a0,s0,36 - 3d8a: dd1ff0ef jal ra,3b5a - 3d8e: b7d5 j 3d72 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:325 (discriminator 1) - configASSERT( xReturn != pdFAIL ); - 3d90: 67a1 lui a5,0x8 - 3d92: 80078793 addi a5,a5,-2048 # 7800 - 3d96: 30079073 csrw mstatus,a5 - 3d9a: 0000d637 lui a2,0xd - 3d9e: 0000d537 lui a0,0xd - 3da2: 33060613 addi a2,a2,816 # d330 - 3da6: 14500593 li a1,325 - 3daa: 2e450513 addi a0,a0,740 # d2e4 - 3dae: 4c9080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:325 (discriminator 3) - 3db2: a001 j 3db2 - -00003db4 : -xQueueGenericCreate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:401 - { - 3db4: f62fc2ef jal t0,516 <__riscv_save_0> - 3db8: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:406 - if( ( uxQueueLength > ( UBaseType_t ) 0 ) && - 3dba: c131 beqz a0,3dfe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:408 (discriminator 1) - ( ( SIZE_MAX / uxQueueLength ) >= uxItemSize ) && - 3dbc: 02a5b7b3 mulhu a5,a1,a0 - 3dc0: 84aa mv s1,a0 - 3dc2: ef95 bnez a5,3dfe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:410 - ( ( SIZE_MAX - sizeof( Queue_t ) ) >= ( uxQueueLength * uxItemSize ) ) ) - 3dc4: 02b50533 mul a0,a0,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:408 - ( ( SIZE_MAX / uxQueueLength ) >= uxItemSize ) && - 3dc8: fb700793 li a5,-73 - 3dcc: 02a7e963 bltu a5,a0,3dfe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:426 - pxNewQueue = ( Queue_t * ) pvPortMalloc( sizeof( Queue_t ) + xQueueSizeInBytes ); /*lint !e9087 !e9079 see comment above. */ - 3dd0: 04850513 addi a0,a0,72 - 3dd4: c62e sw a1,12(sp) - 3dd6: 9e5ff0ef jal ra,37ba - 3dda: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:428 - if( pxNewQueue != NULL ) - 3ddc: cd09 beqz a0,3df6 -prvInitialiseNewQueue(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:474 - if( uxItemSize == ( UBaseType_t ) 0 ) - 3dde: 45b2 lw a1,12(sp) - 3de0: 87aa mv a5,a0 - 3de2: c199 beqz a1,3de8 -xQueueGenericCreate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:433 - pucQueueStorage += sizeof( Queue_t ); /*lint !e9016 Pointer arithmetic allowed on char types, especially when it assists conveying intent. */ - 3de4: 04850793 addi a5,a0,72 -prvInitialiseNewQueue(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:491 - pxNewQueue->uxItemSize = uxItemSize; - 3de8: c02c sw a1,64(s0) - 3dea: c01c sw a5,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:490 - pxNewQueue->uxLength = uxQueueLength; - 3dec: dc44 sw s1,60(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:492 - ( void ) xQueueGenericReset( pxNewQueue, pdTRUE ); - 3dee: 4585 li a1,1 - 3df0: 8522 mv a0,s0 - 3df2: effff0ef jal ra,3cf0 -xQueueGenericCreate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:459 - } - 3df6: 8522 mv a0,s0 - 3df8: 0141 addi sp,sp,16 - 3dfa: f40fc06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:454 (discriminator 1) - configASSERT( pxNewQueue ); - 3dfe: 67a1 lui a5,0x8 - 3e00: 80078793 addi a5,a5,-2048 # 7800 - 3e04: 30079073 csrw mstatus,a5 - 3e08: 0000d637 lui a2,0xd - 3e0c: 0000d537 lui a0,0xd - 3e10: 33060613 addi a2,a2,816 # d330 - 3e14: 1c600593 li a1,454 - 3e18: 2e450513 addi a0,a0,740 # d2e4 - 3e1c: 45b080ef jal ra,ca76 - 3e20: a001 j 3e20 - -00003e22 : -xQueueGenericSend(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:809 -{ - 3e22: eccfc2ef jal t0,4ee <__riscv_save_10> - 3e26: 1101 addi sp,sp,-32 - 3e28: c632 sw a2,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:814 - configASSERT( pxQueue ); - 3e2a: e11d bnez a0,3e50 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:814 (discriminator 1) - 3e2c: 67a1 lui a5,0x8 - 3e2e: 80078793 addi a5,a5,-2048 # 7800 - 3e32: 30079073 csrw mstatus,a5 - 3e36: 0000d637 lui a2,0xd - 3e3a: 0000d537 lui a0,0xd - 3e3e: 33060613 addi a2,a2,816 # d330 - 3e42: 32e00593 li a1,814 - 3e46: 2e450513 addi a0,a0,740 # d2e4 - 3e4a: 42d080ef jal ra,ca76 - 3e4e: a001 j 3e4e - 3e50: 842a mv s0,a0 - 3e52: 892e mv s2,a1 - 3e54: 84b6 mv s1,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:815 (discriminator 2) - configASSERT( !( ( pvItemToQueue == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) ); - 3e56: e58d bnez a1,3e80 - 3e58: 413c lw a5,64(a0) - 3e5a: c39d beqz a5,3e80 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:815 - 3e5c: 67a1 lui a5,0x8 - 3e5e: 80078793 addi a5,a5,-2048 # 7800 - 3e62: 30079073 csrw mstatus,a5 - 3e66: 0000d637 lui a2,0xd - 3e6a: 0000d537 lui a0,0xd - 3e6e: 33060613 addi a2,a2,816 # d330 - 3e72: 32f00593 li a1,815 - 3e76: 2e450513 addi a0,a0,740 # d2e4 - 3e7a: 3fd080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:815 (discriminator 2) - 3e7e: a001 j 3e7e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:816 (discriminator 8) - configASSERT( !( ( xCopyPosition == queueOVERWRITE ) && ( pxQueue->uxLength != 1 ) ) ); - 3e80: 4789 li a5,2 - 3e82: 02f49863 bne s1,a5,3eb2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:816 (discriminator 2) - 3e86: 5c58 lw a4,60(s0) - 3e88: 4785 li a5,1 - 3e8a: 02f70463 beq a4,a5,3eb2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:816 - 3e8e: 67a1 lui a5,0x8 - 3e90: 80078793 addi a5,a5,-2048 # 7800 - 3e94: 30079073 csrw mstatus,a5 - 3e98: 0000d637 lui a2,0xd - 3e9c: 0000d537 lui a0,0xd - 3ea0: 33060613 addi a2,a2,816 # d330 - 3ea4: 33000593 li a1,816 - 3ea8: 2e450513 addi a0,a0,740 # d2e4 - 3eac: 3cb080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:816 (discriminator 3) - 3eb0: a001 j 3eb0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:819 (discriminator 8) - configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); - 3eb2: 164010ef jal ra,5016 - 3eb6: e515 bnez a0,3ee2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:819 (discriminator 2) - 3eb8: 47b2 lw a5,12(sp) - 3eba: 4c01 li s8,0 - 3ebc: c785 beqz a5,3ee4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:819 - 3ebe: 67a1 lui a5,0x8 - 3ec0: 80078793 addi a5,a5,-2048 # 7800 - 3ec4: 30079073 csrw mstatus,a5 - 3ec8: 0000d637 lui a2,0xd - 3ecc: 0000d537 lui a0,0xd - 3ed0: 33060613 addi a2,a2,816 # d330 - 3ed4: 33300593 li a1,819 - 3ed8: 2e450513 addi a0,a0,740 # d2e4 - 3edc: 39b080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:819 (discriminator 4) - 3ee0: a001 j 3ee0 - 3ee2: 4c01 li s8,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:834 (discriminator 8) - if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) - 3ee4: 4b09 li s6,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:970 (discriminator 8) - prvLockQueue( pxQueue ); - 3ee6: 59fd li s3,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:978 (discriminator 8) - vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToSend ), xTicksToWait ); - 3ee8: 01040b93 addi s7,s0,16 -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 (discriminator 8) - 3eec: e000ea37 lui s4,0xe000e - 3ef0: 6a91 lui s5,0x4 - 3ef2: a8a5 j 3f6a -xQueueGenericSend(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:939 - if( xTicksToWait == ( TickType_t ) 0 ) - 3ef4: 47b2 lw a5,12(sp) - 3ef6: e789 bnez a5,3f00 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:943 - taskEXIT_CRITICAL(); - 3ef8: c0fff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1011 - return errQUEUE_FULL; - 3efc: 4501 li a0,0 - 3efe: a055 j 3fa2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:950 - else if( xEntryTimeSet == pdFALSE ) - 3f00: 000c1563 bnez s8,3f0a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:954 - vTaskInternalSetTimeOutState( &xTimeOut ); - 3f04: 0828 addi a0,sp,24 - 3f06: 024010ef jal ra,4f2a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:964 - taskEXIT_CRITICAL(); - 3f0a: bfdff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:969 - vTaskSuspendAll(); - 3f0e: 245000ef jal ra,4952 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:970 - prvLockQueue( pxQueue ); - 3f12: bdfff0ef jal ra,3af0 - 3f16: 04444783 lbu a5,68(s0) - 3f1a: 07e2 slli a5,a5,0x18 - 3f1c: 87e1 srai a5,a5,0x18 - 3f1e: 01379463 bne a5,s3,3f26 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:970 (discriminator 1) - 3f22: 04040223 sb zero,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:970 (discriminator 3) - 3f26: 04544783 lbu a5,69(s0) - 3f2a: 07e2 slli a5,a5,0x18 - 3f2c: 87e1 srai a5,a5,0x18 - 3f2e: 01379463 bne a5,s3,3f36 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:970 (discriminator 4) - 3f32: 040402a3 sb zero,69(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:970 (discriminator 6) - 3f36: bd1ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:973 (discriminator 6) - if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE ) - 3f3a: 006c addi a1,sp,12 - 3f3c: 0828 addi a0,sp,24 - 3f3e: 002010ef jal ra,4f40 - 3f42: ed35 bnez a0,3fbe -prvIsQueueFull(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2429 - -static BaseType_t prvIsQueueFull( const Queue_t * pxQueue ) -{ - BaseType_t xReturn; - - taskENTER_CRITICAL(); - 3f44: badff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2431 - { - if( pxQueue->uxMessagesWaiting == pxQueue->uxLength ) - 3f48: 5c18 lw a4,56(s0) - 3f4a: 5c5c lw a5,60(s0) - 3f4c: 04f71e63 bne a4,a5,3fa8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2440 - else - { - xReturn = pdFALSE; - } - } - taskEXIT_CRITICAL(); - 3f50: bb7ff0ef jal ra,3b06 -xQueueGenericSend(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:978 - vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToSend ), xTicksToWait ); - 3f54: 45b2 lw a1,12(sp) - 3f56: 855e mv a0,s7 - 3f58: 629000ef jal ra,4d80 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:985 - prvUnlockQueue( pxQueue ); - 3f5c: 8522 mv a0,s0 - 3f5e: d1dff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:992 - if( xTaskResumeAll() == pdFALSE ) - 3f62: 3b7000ef jal ra,4b18 - 3f66: c929 beqz a0,3fb8 - 3f68: 4c05 li s8,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:828 (discriminator 8) - taskENTER_CRITICAL(); - 3f6a: b87ff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:834 (discriminator 8) - if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) - 3f6e: 5c18 lw a4,56(s0) - 3f70: 5c5c lw a5,60(s0) - 3f72: 00f76463 bltu a4,a5,3f7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:834 (discriminator 1) - 3f76: f7649fe3 bne s1,s6,3ef4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:900 - xYieldRequired = prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition ); - 3f7a: 8626 mv a2,s1 - 3f7c: 85ca mv a1,s2 - 3f7e: 8522 mv a0,s0 - 3f80: c61ff0ef jal ra,3be0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:904 - if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) - 3f84: 505c lw a5,36(s0) - 3f86: c789 beqz a5,3f90 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:906 - if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) - 3f88: 02440513 addi a0,s0,36 - 3f8c: 6b3000ef jal ra,4e3e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:919 - else if( xYieldRequired != pdFALSE ) - 3f90: c511 beqz a0,3f9c -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 3f92: e000e7b7 lui a5,0xe000e - 3f96: 6711 lui a4,0x4 - 3f98: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> -xQueueGenericSend(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:934 - taskEXIT_CRITICAL(); - 3f9c: b6bff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:935 - return pdPASS; - 3fa0: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1014 -} - 3fa2: 6105 addi sp,sp,32 - 3fa4: d82fc06f j 526 <__riscv_restore_10> -prvIsQueueFull(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2440 - taskEXIT_CRITICAL(); - 3fa8: b5fff0ef jal ra,3b06 -xQueueGenericSend(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1000 - prvUnlockQueue( pxQueue ); - 3fac: 8522 mv a0,s0 - 3fae: ccdff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1001 - ( void ) xTaskResumeAll(); - 3fb2: 367000ef jal ra,4b18 - 3fb6: bf4d j 3f68 -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 3fb8: 215a2023 sw s5,512(s4) # e000e200 <__freertos_irq_stack_top+0xbffde200> - 3fbc: b775 j 3f68 -xQueueGenericSend(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1007 - prvUnlockQueue( pxQueue ); - 3fbe: 8522 mv a0,s0 - 3fc0: cbbff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1008 - ( void ) xTaskResumeAll(); - 3fc4: 355000ef jal ra,4b18 - 3fc8: bf15 j 3efc - -00003fca : -xQueueCreateMutex(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:543 - { - 3fca: d4cfc2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:547 - xNewQueue = xQueueGenericCreate( uxMutexLength, uxMutexSize, ucQueueType ); - 3fce: 862a mv a2,a0 - 3fd0: 4581 li a1,0 - 3fd2: 4505 li a0,1 - 3fd4: de1ff0ef jal ra,3db4 - 3fd8: 842a mv s0,a0 -prvInitialiseMutex(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:514 - if( pxNewQueue != NULL ) - 3fda: cd01 beqz a0,3ff2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:520 - pxNewQueue->u.xSemaphore.xMutexHolder = NULL; - 3fdc: 00052423 sw zero,8(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:521 - pxNewQueue->uxQueueType = queueQUEUE_IS_MUTEX; - 3fe0: 00052023 sw zero,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:524 - pxNewQueue->u.xSemaphore.uxRecursiveCallCount = 0; - 3fe4: 00052623 sw zero,12(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:529 - ( void ) xQueueGenericSend( pxNewQueue, NULL, ( TickType_t ) 0U, queueSEND_TO_BACK ); - 3fe8: 4681 li a3,0 - 3fea: 4601 li a2,0 - 3fec: 4581 li a1,0 - 3fee: e35ff0ef jal ra,3e22 -xQueueCreateMutex(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:551 - } - 3ff2: 8522 mv a0,s0 - 3ff4: d46fc06f j 53a <__riscv_restore_0> - -00003ff8 : -xQueueGenericSendFromISR(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1021 -{ - 3ff8: d04fc2ef jal t0,4fc <__riscv_save_4> - 3ffc: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1026 - configASSERT( pxQueue ); - 3ffe: e11d bnez a0,4024 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1026 (discriminator 1) - 4000: 67a1 lui a5,0x8 - 4002: 80078793 addi a5,a5,-2048 # 7800 - 4006: 30079073 csrw mstatus,a5 - 400a: 0000d637 lui a2,0xd - 400e: 0000d537 lui a0,0xd - 4012: 33060613 addi a2,a2,816 # d330 - 4016: 40200593 li a1,1026 - 401a: 2e450513 addi a0,a0,740 # d2e4 - 401e: 259080ef jal ra,ca76 - 4022: a001 j 4022 - 4024: 842a mv s0,a0 - 4026: 89b2 mv s3,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1027 (discriminator 2) - configASSERT( !( ( pvItemToQueue == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) ); - 4028: e58d bnez a1,4052 - 402a: 413c lw a5,64(a0) - 402c: c39d beqz a5,4052 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1027 - 402e: 67a1 lui a5,0x8 - 4030: 80078793 addi a5,a5,-2048 # 7800 - 4034: 30079073 csrw mstatus,a5 - 4038: 0000d637 lui a2,0xd - 403c: 0000d537 lui a0,0xd - 4040: 33060613 addi a2,a2,816 # d330 - 4044: 40300593 li a1,1027 - 4048: 2e450513 addi a0,a0,740 # d2e4 - 404c: 22b080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1027 (discriminator 2) - 4050: a001 j 4050 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1028 (discriminator 8) - configASSERT( !( ( xCopyPosition == queueOVERWRITE ) && ( pxQueue->uxLength != 1 ) ) ); - 4052: 4789 li a5,2 - 4054: 02f69863 bne a3,a5,4084 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1028 (discriminator 2) - 4058: 5c58 lw a4,60(s0) - 405a: 4785 li a5,1 - 405c: 02f70463 beq a4,a5,4084 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1028 - 4060: 67a1 lui a5,0x8 - 4062: 80078793 addi a5,a5,-2048 # 7800 - 4066: 30079073 csrw mstatus,a5 - 406a: 0000d637 lui a2,0xd - 406e: 0000d537 lui a0,0xd - 4072: 33060613 addi a2,a2,816 # d330 - 4076: 40400593 li a1,1028 - 407a: 2e450513 addi a0,a0,740 # d2e4 - 407e: 1f9080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1028 (discriminator 3) - 4082: a001 j 4082 - 4084: c636 sw a3,12(sp) - 4086: c42e sw a1,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1051 (discriminator 8) - uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR(); - 4088: ac1ff0ef jal ra,3b48 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1053 (discriminator 8) - if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) - 408c: 5c18 lw a4,56(s0) - 408e: 5c5c lw a5,60(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1051 (discriminator 8) - uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR(); - 4090: 8a2a mv s4,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1053 (discriminator 8) - if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) - 4092: 45a2 lw a1,8(sp) - 4094: 46b2 lw a3,12(sp) - 4096: 00f76663 bltu a4,a5,40a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1053 (discriminator 1) - 409a: 4789 li a5,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1175 (discriminator 1) - xReturn = errQUEUE_FULL; - 409c: 4481 li s1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1053 (discriminator 1) - if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) - 409e: 02f69363 bne a3,a5,40c4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1055 - const int8_t cTxLock = pxQueue->cTxLock; - 40a2: 04544483 lbu s1,69(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1056 - const UBaseType_t uxPreviousMessagesWaiting = pxQueue->uxMessagesWaiting; - 40a6: 5c1c lw a5,56(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1065 - ( void ) prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition ); - 40a8: 8636 mv a2,a3 - 40aa: 8522 mv a0,s0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1055 - const int8_t cTxLock = pxQueue->cTxLock; - 40ac: 01849913 slli s2,s1,0x18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1065 - ( void ) prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition ); - 40b0: b31ff0ef jal ra,3be0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1055 - const int8_t cTxLock = pxQueue->cTxLock; - 40b4: 41895913 srai s2,s2,0x18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1069 - if( cTxLock == queueUNLOCKED ) - 40b8: 57fd li a5,-1 - 40ba: 02f91763 bne s2,a5,40e8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1131 - if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE ) - 40be: 505c lw a5,36(s0) - 40c0: eb89 bnez a5,40d2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1170 (discriminator 2) - xReturn = pdPASS; - 40c2: 4485 li s1,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1178 - portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ); - 40c4: 8552 mv a0,s4 - 40c6: a8fff0ef jal ra,3b54 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1181 -} - 40ca: 8526 mv a0,s1 - 40cc: 0141 addi sp,sp,16 - 40ce: c62fc06f j 530 <__riscv_restore_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1133 - if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE ) - 40d2: 02440513 addi a0,s0,36 - 40d6: 569000ef jal ra,4e3e - 40da: d565 beqz a0,40c2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1137 - if( pxHigherPriorityTaskWoken != NULL ) - 40dc: fe0983e3 beqz s3,40c2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1139 - *pxHigherPriorityTaskWoken = pdTRUE; - 40e0: 4785 li a5,1 - 40e2: 00f9a023 sw a5,0(s3) - 40e6: bff1 j 40c2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1165 - configASSERT( cTxLock != queueINT8_MAX ); - 40e8: 07f00793 li a5,127 - 40ec: 02f91463 bne s2,a5,4114 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1165 (discriminator 1) - 40f0: 67a1 lui a5,0x8 - 40f2: 80078793 addi a5,a5,-2048 # 7800 - 40f6: 30079073 csrw mstatus,a5 - 40fa: 0000d637 lui a2,0xd - 40fe: 0000d537 lui a0,0xd - 4102: 33060613 addi a2,a2,816 # d330 - 4106: 48d00593 li a1,1165 - 410a: 2e450513 addi a0,a0,740 # d2e4 - 410e: 169080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1165 (discriminator 6) - 4112: a001 j 4112 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1167 (discriminator 2) - pxQueue->cTxLock = ( int8_t ) ( cTxLock + 1 ); - 4114: 0485 addi s1,s1,1 - 4116: 04e2 slli s1,s1,0x18 - 4118: 84e1 srai s1,s1,0x18 - 411a: 049402a3 sb s1,69(s0) - 411e: b755 j 40c2 - -00004120 : -xQueueReceive(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1355 -{ - 4120: bcefc2ef jal t0,4ee <__riscv_save_10> - 4124: 1101 addi sp,sp,-32 - 4126: c632 sw a2,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1361 - configASSERT( ( pxQueue ) ); - 4128: e11d bnez a0,414e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1361 (discriminator 1) - 412a: 67a1 lui a5,0x8 - 412c: 80078793 addi a5,a5,-2048 # 7800 - 4130: 30079073 csrw mstatus,a5 - 4134: 0000d637 lui a2,0xd - 4138: 0000d537 lui a0,0xd - 413c: 33060613 addi a2,a2,816 # d330 - 4140: 55100593 li a1,1361 - 4144: 2e450513 addi a0,a0,740 # d2e4 - 4148: 12f080ef jal ra,ca76 - 414c: a001 j 414c - 414e: 842a mv s0,a0 - 4150: 89ae mv s3,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1365 (discriminator 2) - configASSERT( !( ( ( pvBuffer ) == NULL ) && ( ( pxQueue )->uxItemSize != ( UBaseType_t ) 0U ) ) ); - 4152: e58d bnez a1,417c - 4154: 413c lw a5,64(a0) - 4156: c39d beqz a5,417c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1365 - 4158: 67a1 lui a5,0x8 - 415a: 80078793 addi a5,a5,-2048 # 7800 - 415e: 30079073 csrw mstatus,a5 - 4162: 0000d637 lui a2,0xd - 4166: 0000d537 lui a0,0xd - 416a: 33060613 addi a2,a2,816 # d330 - 416e: 55500593 li a1,1365 - 4172: 2e450513 addi a0,a0,740 # d2e4 - 4176: 101080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1365 (discriminator 2) - 417a: a001 j 417a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1370 (discriminator 8) - configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); - 417c: 69b000ef jal ra,5016 - 4180: e515 bnez a0,41ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1370 (discriminator 2) - 4182: 47b2 lw a5,12(sp) - 4184: 4901 li s2,0 - 4186: c785 beqz a5,41ae -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1370 - 4188: 67a1 lui a5,0x8 - 418a: 80078793 addi a5,a5,-2048 # 7800 - 418e: 30079073 csrw mstatus,a5 - 4192: 0000d637 lui a2,0xd - 4196: 0000d537 lui a0,0xd - 419a: 33060613 addi a2,a2,816 # d330 - 419e: 55a00593 li a1,1370 - 41a2: 2e450513 addi a0,a0,740 # d2e4 - 41a6: 0d1080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1370 (discriminator 3) - 41aa: a001 j 41aa - 41ac: 4901 li s2,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1444 (discriminator 8) - prvLockQueue( pxQueue ); - 41ae: 5a7d li s4,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1454 (discriminator 8) - vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait ); - 41b0: 02440a93 addi s5,s0,36 -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 (discriminator 8) - 41b4: e000eb37 lui s6,0xe000e - 41b8: 6b91 lui s7,0x4 - 41ba: a895 j 422e -xQueueReceive(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1416 - if( xTicksToWait == ( TickType_t ) 0 ) - 41bc: 47b2 lw a5,12(sp) - 41be: e789 bnez a5,41c8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1420 - taskEXIT_CRITICAL(); - 41c0: 947ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1484 - return errQUEUE_EMPTY; - 41c4: 4501 li a0,0 - 41c6: a869 j 4260 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1424 - else if( xEntryTimeSet == pdFALSE ) - 41c8: 00091563 bnez s2,41d2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1428 - vTaskInternalSetTimeOutState( &xTimeOut ); - 41cc: 0828 addi a0,sp,24 - 41ce: 55d000ef jal ra,4f2a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1438 - taskEXIT_CRITICAL(); - 41d2: 935ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1443 - vTaskSuspendAll(); - 41d6: 77c000ef jal ra,4952 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1444 - prvLockQueue( pxQueue ); - 41da: 917ff0ef jal ra,3af0 - 41de: 04444783 lbu a5,68(s0) - 41e2: 07e2 slli a5,a5,0x18 - 41e4: 87e1 srai a5,a5,0x18 - 41e6: 01479463 bne a5,s4,41ee -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1444 (discriminator 1) - 41ea: 04040223 sb zero,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1444 (discriminator 3) - 41ee: 04544783 lbu a5,69(s0) - 41f2: 07e2 slli a5,a5,0x18 - 41f4: 87e1 srai a5,a5,0x18 - 41f6: 01479463 bne a5,s4,41fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1444 (discriminator 4) - 41fa: 040402a3 sb zero,69(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1444 (discriminator 6) - 41fe: 909ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1447 (discriminator 6) - if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE ) - 4202: 006c addi a1,sp,12 - 4204: 0828 addi a0,sp,24 - 4206: 53b000ef jal ra,4f40 - 420a: e525 bnez a0,4272 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1451 - if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) - 420c: 8522 mv a0,s0 - 420e: 9b5ff0ef jal ra,3bc2 - 4212: c931 beqz a0,4266 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1454 - vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait ); - 4214: 45b2 lw a1,12(sp) - 4216: 8556 mv a0,s5 - 4218: 369000ef jal ra,4d80 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1455 - prvUnlockQueue( pxQueue ); - 421c: 8522 mv a0,s0 - 421e: a5dff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1457 - if( xTaskResumeAll() == pdFALSE ) - 4222: 0f7000ef jal ra,4b18 - 4226: e119 bnez a0,422c -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 4228: 217b2023 sw s7,512(s6) # e000e200 <__freertos_irq_stack_top+0xbffde200> - 422c: 4905 li s2,1 -xQueueReceive(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1379 (discriminator 8) - taskENTER_CRITICAL(); - 422e: 8c3ff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1381 (discriminator 8) - const UBaseType_t uxMessagesWaiting = pxQueue->uxMessagesWaiting; - 4232: 5c04 lw s1,56(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1385 (discriminator 8) - if( uxMessagesWaiting > ( UBaseType_t ) 0 ) - 4234: d4c1 beqz s1,41bc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1388 - prvCopyDataFromQueue( pxQueue, pvBuffer ); - 4236: 85ce mv a1,s3 - 4238: 8522 mv a0,s0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1390 - pxQueue->uxMessagesWaiting = uxMessagesWaiting - ( UBaseType_t ) 1; - 423a: 14fd addi s1,s1,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1388 - prvCopyDataFromQueue( pxQueue, pvBuffer ); - 423c: a17ff0ef jal ra,3c52 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1390 - pxQueue->uxMessagesWaiting = uxMessagesWaiting - ( UBaseType_t ) 1; - 4240: dc04 sw s1,56(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1395 - if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) - 4242: 481c lw a5,16(s0) - 4244: cb99 beqz a5,425a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1397 - if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 4246: 01040513 addi a0,s0,16 - 424a: 3f5000ef jal ra,4e3e - 424e: c511 beqz a0,425a -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 4250: e000e7b7 lui a5,0xe000e - 4254: 6711 lui a4,0x4 - 4256: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> -xQueueReceive(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1411 - taskEXIT_CRITICAL(); - 425a: 8adff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1412 - return pdPASS; - 425e: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1492 -} - 4260: 6105 addi sp,sp,32 - 4262: ac4fc06f j 526 <__riscv_restore_10> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1470 - prvUnlockQueue( pxQueue ); - 4266: 8522 mv a0,s0 - 4268: a13ff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1471 - ( void ) xTaskResumeAll(); - 426c: 0ad000ef jal ra,4b18 - 4270: bf75 j 422c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1478 - prvUnlockQueue( pxQueue ); - 4272: 8522 mv a0,s0 - 4274: a07ff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1479 - ( void ) xTaskResumeAll(); - 4278: 0a1000ef jal ra,4b18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1481 - if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) - 427c: 8522 mv a0,s0 - 427e: 945ff0ef jal ra,3bc2 - 4282: d54d beqz a0,422c - 4284: b781 j 41c4 - -00004286 : -xQueueSemaphoreTake(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1497 -{ - 4286: a76fc2ef jal t0,4fc <__riscv_save_4> - 428a: 1101 addi sp,sp,-32 - 428c: c62e sw a1,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1507 - configASSERT( ( pxQueue ) ); - 428e: e11d bnez a0,42b4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1507 (discriminator 1) - 4290: 67a1 lui a5,0x8 - 4292: 80078793 addi a5,a5,-2048 # 7800 - 4296: 30079073 csrw mstatus,a5 - 429a: 0000d637 lui a2,0xd - 429e: 0000d537 lui a0,0xd - 42a2: 33060613 addi a2,a2,816 # d330 - 42a6: 5e300593 li a1,1507 - 42aa: 2e450513 addi a0,a0,740 # d2e4 - 42ae: 7c8080ef jal ra,ca76 - 42b2: a001 j 42b2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1511 (discriminator 2) - configASSERT( pxQueue->uxItemSize == 0 ); - 42b4: 413c lw a5,64(a0) - 42b6: 842a mv s0,a0 - 42b8: c39d beqz a5,42de -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1511 (discriminator 1) - 42ba: 67a1 lui a5,0x8 - 42bc: 80078793 addi a5,a5,-2048 # 7800 - 42c0: 30079073 csrw mstatus,a5 - 42c4: 0000d637 lui a2,0xd - 42c8: 0000d537 lui a0,0xd - 42cc: 33060613 addi a2,a2,816 # d330 - 42d0: 5e700593 li a1,1511 - 42d4: 2e450513 addi a0,a0,740 # d2e4 - 42d8: 79e080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1511 (discriminator 2) - 42dc: a001 j 42dc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1516 (discriminator 2) - configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); - 42de: 539000ef jal ra,5016 - 42e2: e50d bnez a0,430c - 42e4: 47b2 lw a5,12(sp) - 42e6: c39d beqz a5,430c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1516 - 42e8: 67a1 lui a5,0x8 - 42ea: 80078793 addi a5,a5,-2048 # 7800 - 42ee: 30079073 csrw mstatus,a5 - 42f2: 0000d637 lui a2,0xd - 42f6: 0000d537 lui a0,0xd - 42fa: 33060613 addi a2,a2,816 # d330 - 42fe: 5ec00593 li a1,1516 - 4302: 2e450513 addi a0,a0,740 # d2e4 - 4306: 770080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1516 (discriminator 3) - 430a: a001 j 430a - 430c: 4481 li s1,0 - 430e: 4901 li s2,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1616 - prvLockQueue( pxQueue ); - 4310: 59fd li s3,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1646 - vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait ); - 4312: 02440a13 addi s4,s0,36 -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 4316: e000eab7 lui s5,0xe000e - 431a: 6b11 lui s6,0x4 - 431c: a06d j 43c6 -xQueueSemaphoreTake(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1579 - if( xTicksToWait == ( TickType_t ) 0 ) - 431e: 47b2 lw a5,12(sp) - 4320: e79d bnez a5,434e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1586 - configASSERT( xInheritanceOccurred == pdFALSE ); - 4322: c09d beqz s1,4348 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1586 (discriminator 1) - 4324: 67a1 lui a5,0x8 - 4326: 80078793 addi a5,a5,-2048 # 7800 - 432a: 30079073 csrw mstatus,a5 - 432e: 0000d637 lui a2,0xd - 4332: 0000d537 lui a0,0xd - 4336: 33060613 addi a2,a2,816 # d330 - 433a: 63200593 li a1,1586 - 433e: 2e450513 addi a0,a0,740 # d2e4 - 4342: 734080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1586 (discriminator 4) - 4346: a001 j 4346 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1592 (discriminator 2) - taskEXIT_CRITICAL(); - 4348: fbeff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1594 (discriminator 2) - return errQUEUE_EMPTY; - 434c: a07d j 43fa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1596 - else if( xEntryTimeSet == pdFALSE ) - 434e: 00091563 bnez s2,4358 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1600 - vTaskInternalSetTimeOutState( &xTimeOut ); - 4352: 0828 addi a0,sp,24 - 4354: 3d7000ef jal ra,4f2a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1610 - taskEXIT_CRITICAL(); - 4358: faeff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1615 - vTaskSuspendAll(); - 435c: 2bdd jal 4952 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1616 - prvLockQueue( pxQueue ); - 435e: f92ff0ef jal ra,3af0 - 4362: 04444783 lbu a5,68(s0) - 4366: 07e2 slli a5,a5,0x18 - 4368: 87e1 srai a5,a5,0x18 - 436a: 01379463 bne a5,s3,4372 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1616 (discriminator 1) - 436e: 04040223 sb zero,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1616 (discriminator 3) - 4372: 04544783 lbu a5,69(s0) - 4376: 07e2 slli a5,a5,0x18 - 4378: 87e1 srai a5,a5,0x18 - 437a: 01379463 bne a5,s3,4382 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1616 (discriminator 4) - 437e: 040402a3 sb zero,69(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1616 (discriminator 6) - 4382: f84ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1619 (discriminator 6) - if( xTaskCheckForTimeOut( &xTimeOut, &xTicksToWait ) == pdFALSE ) - 4386: 006c addi a1,sp,12 - 4388: 0828 addi a0,sp,24 - 438a: 3b7000ef jal ra,4f40 - 438e: e141 bnez a0,440e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1625 - if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) - 4390: 8522 mv a0,s0 - 4392: 831ff0ef jal ra,3bc2 - 4396: c535 beqz a0,4402 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1631 - if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) - 4398: 401c lw a5,0(s0) - 439a: eb89 bnez a5,43ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1633 - taskENTER_CRITICAL(); - 439c: f54ff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1635 - xInheritanceOccurred = xTaskPriorityInherit( pxQueue->u.xSemaphore.xMutexHolder ); - 43a0: 4408 lw a0,8(s0) - 43a2: 491000ef jal ra,5032 - 43a6: 84aa mv s1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1637 - taskEXIT_CRITICAL(); - 43a8: f5eff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1646 - vTaskPlaceOnEventList( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait ); - 43ac: 45b2 lw a1,12(sp) - 43ae: 8552 mv a0,s4 - 43b0: 1d1000ef jal ra,4d80 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1647 - prvUnlockQueue( pxQueue ); - 43b4: 8522 mv a0,s0 - 43b6: 8c5ff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1649 - if( xTaskResumeAll() == pdFALSE ) - 43ba: 75e000ef jal ra,4b18 - 43be: e119 bnez a0,43c4 -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 43c0: 216aa023 sw s6,512(s5) # e000e200 <__freertos_irq_stack_top+0xbffde200> - 43c4: 4905 li s2,1 -xQueueSemaphoreTake(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1525 (discriminator 8) - taskENTER_CRITICAL(); - 43c6: f2aff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1529 (discriminator 8) - const UBaseType_t uxSemaphoreCount = pxQueue->uxMessagesWaiting; - 43ca: 5c1c lw a5,56(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1533 (discriminator 8) - if( uxSemaphoreCount > ( UBaseType_t ) 0 ) - 43cc: dba9 beqz a5,431e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1539 - pxQueue->uxMessagesWaiting = uxSemaphoreCount - ( UBaseType_t ) 1; - 43ce: 17fd addi a5,a5,-1 - 43d0: dc1c sw a5,56(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1543 - if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) - 43d2: 401c lw a5,0(s0) - 43d4: e781 bnez a5,43dc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1547 - pxQueue->u.xSemaphore.xMutexHolder = pvTaskIncrementMutexHeldCount(); - 43d6: 6bb000ef jal ra,5290 - 43da: c408 sw a0,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1558 - if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToSend ) ) == pdFALSE ) - 43dc: 481c lw a5,16(s0) - 43de: cb99 beqz a5,43f4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1560 - if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToSend ) ) != pdFALSE ) - 43e0: 01040513 addi a0,s0,16 - 43e4: 25b000ef jal ra,4e3e - 43e8: c511 beqz a0,43f4 -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 43ea: e000e7b7 lui a5,0xe000e - 43ee: 6711 lui a4,0x4 - 43f0: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> -xQueueSemaphoreTake(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1574 - taskEXIT_CRITICAL(); - 43f4: f12ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1575 - return pdPASS; - 43f8: 4485 li s1,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1711 -} - 43fa: 8526 mv a0,s1 - 43fc: 6105 addi sp,sp,32 - 43fe: 932fc06f j 530 <__riscv_restore_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1662 - prvUnlockQueue( pxQueue ); - 4402: 8522 mv a0,s0 - 4404: 877ff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1663 - ( void ) xTaskResumeAll(); - 4408: 710000ef jal ra,4b18 - 440c: bf65 j 43c4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1669 - prvUnlockQueue( pxQueue ); - 440e: 8522 mv a0,s0 - 4410: 86bff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1670 - ( void ) xTaskResumeAll(); - 4414: 704000ef jal ra,4b18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1676 - if( prvIsQueueEmpty( pxQueue ) != pdFALSE ) - 4418: 8522 mv a0,s0 - 441a: fa8ff0ef jal ra,3bc2 - 441e: d15d beqz a0,43c4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1683 - if( xInheritanceOccurred != pdFALSE ) - 4420: dce9 beqz s1,43fa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1685 - taskENTER_CRITICAL(); - 4422: eceff0ef jal ra,3af0 -prvGetDisinheritPriorityAfterTimeout(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2145 - if( listCURRENT_LIST_LENGTH( &( pxQueue->xTasksWaitingToReceive ) ) > 0U ) - 4426: 505c lw a5,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2151 - uxHighestPriorityOfWaitingTasks = tskIDLE_PRIORITY; - 4428: 4581 li a1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2145 - if( listCURRENT_LIST_LENGTH( &( pxQueue->xTasksWaitingToReceive ) ) > 0U ) - 442a: c789 beqz a5,4434 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2147 - uxHighestPriorityOfWaitingTasks = ( UBaseType_t ) configMAX_PRIORITIES - ( UBaseType_t ) listGET_ITEM_VALUE_OF_HEAD_ENTRY( &( pxQueue->xTasksWaitingToReceive ) ); - 442c: 581c lw a5,48(s0) - 442e: 45bd li a1,15 - 4430: 439c lw a5,0(a5) - 4432: 8d9d sub a1,a1,a5 -xQueueSemaphoreTake(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1695 - vTaskPriorityDisinheritAfterTimeout( pxQueue->u.xSemaphore.xMutexHolder, uxHighestWaitingPriority ); - 4434: 4408 lw a0,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1703 - return errQUEUE_EMPTY; - 4436: 4481 li s1,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1695 - vTaskPriorityDisinheritAfterTimeout( pxQueue->u.xSemaphore.xMutexHolder, uxHighestWaitingPriority ); - 4438: 573000ef jal ra,51aa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:1697 - taskEXIT_CRITICAL(); - 443c: ecaff0ef jal ra,3b06 - 4440: bf6d j 43fa - -00004442 : -vQueueAddToRegistry(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2760 - void vQueueAddToRegistry( QueueHandle_t xQueue, - const char * pcQueueName ) /*lint !e971 Unqualified char types are allowed for strings and single characters only. */ - { - UBaseType_t ux; - - configASSERT( xQueue ); - 4442: e515 bnez a0,446e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2757 (discriminator 1) - { - 4444: 8d2fc2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2760 (discriminator 1) - configASSERT( xQueue ); - 4448: 67a1 lui a5,0x8 - 444a: 80078793 addi a5,a5,-2048 # 7800 - 444e: 30079073 csrw mstatus,a5 - 4452: 0000d637 lui a2,0xd - 4456: 6585 lui a1,0x1 - 4458: 0000d537 lui a0,0xd - 445c: 33060613 addi a2,a2,816 # d330 - 4460: ac858593 addi a1,a1,-1336 # ac8 - 4464: 2e450513 addi a0,a0,740 # d2e4 - 4468: 60e080ef jal ra,ca76 - 446c: a001 j 446c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2764 (discriminator 2) - - QueueRegistryItem_t * pxEntryToWrite = NULL; - - if( pcQueueName != NULL ) - 446e: cd9d beqz a1,44ac - 4470: 20015637 lui a2,0x20015 - 4474: 51060693 addi a3,a2,1296 # 20015510 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2762 - QueueRegistryItem_t * pxEntryToWrite = NULL; - 4478: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2768 - { - /* See if there is an empty space in the registry. A NULL name denotes - * a free slot. */ - for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) - 447a: 4701 li a4,0 - 447c: 51060613 addi a2,a2,1296 - 4480: 4821 li a6,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2771 - { - /* Replace an existing entry if the queue is already in the registry. */ - if( xQueue == xQueueRegistry[ ux ].xHandle ) - 4482: 0046a883 lw a7,4(a3) - 4486: 00a89863 bne a7,a0,4496 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2773 - { - pxEntryToWrite = &( xQueueRegistry[ ux ] ); - 448a: 00371793 slli a5,a4,0x3 - 448e: 97b2 add a5,a5,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2791 - } - - if( pxEntryToWrite != NULL ) - { - /* Store the information on this queue. */ - pxEntryToWrite->pcQueueName = pcQueueName; - 4490: c38c sw a1,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2792 - pxEntryToWrite->xHandle = xQueue; - 4492: c3c8 sw a0,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2796 - - traceQUEUE_REGISTRY_ADD( xQueue, pcQueueName ); - } - } - 4494: a821 j 44ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2777 - else if( ( pxEntryToWrite == NULL ) && ( xQueueRegistry[ ux ].pcQueueName == NULL ) ) - 4496: e791 bnez a5,44a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2777 (discriminator 1) - 4498: 0006a883 lw a7,0(a3) - 449c: 00089363 bnez a7,44a2 - 44a0: 87b6 mv a5,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2768 (discriminator 2) - for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) - 44a2: 0705 addi a4,a4,1 - 44a4: 06a1 addi a3,a3,8 - 44a6: fd071ee3 bne a4,a6,4482 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2788 - if( pxEntryToWrite != NULL ) - 44aa: f3fd bnez a5,4490 - 44ac: 8082 ret - -000044ae : -vQueueUnregisterQueue(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2838 - - void vQueueUnregisterQueue( QueueHandle_t xQueue ) - { - UBaseType_t ux; - - configASSERT( xQueue ); - 44ae: e515 bnez a0,44da -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2835 - { - 44b0: 866fc2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2838 - configASSERT( xQueue ); - 44b4: 67a1 lui a5,0x8 - 44b6: 80078793 addi a5,a5,-2048 # 7800 - 44ba: 30079073 csrw mstatus,a5 - 44be: 0000d637 lui a2,0xd - 44c2: 6585 lui a1,0x1 - 44c4: 0000d537 lui a0,0xd - 44c8: 33060613 addi a2,a2,816 # d330 - 44cc: b1658593 addi a1,a1,-1258 # b16 - 44d0: 2e450513 addi a0,a0,740 # d2e4 - 44d4: 5a2080ef jal ra,ca76 - 44d8: a001 j 44d8 - 44da: 200157b7 lui a5,0x20015 - 44de: 51078693 addi a3,a5,1296 # 20015510 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2842 - - /* See if the handle of the queue being unregistered in actually in the - * registry. */ - for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) - 44e2: 4701 li a4,0 - 44e4: 51078793 addi a5,a5,1296 - 44e8: 4621 li a2,8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2844 - { - if( xQueueRegistry[ ux ].xHandle == xQueue ) - 44ea: 42cc lw a1,4(a3) - 44ec: 00a59963 bne a1,a0,44fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2847 - { - /* Set the name to NULL to show that this slot if free again. */ - xQueueRegistry[ ux ].pcQueueName = NULL; - 44f0: 070e slli a4,a4,0x3 - 44f2: 97ba add a5,a5,a4 - 44f4: 0007a023 sw zero,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2852 - - /* Set the handle to NULL to ensure the same queue handle cannot - * appear in the registry twice if it is added, removed, then - * added again. */ - xQueueRegistry[ ux ].xHandle = ( QueueHandle_t ) 0; - 44f8: 0007a223 sw zero,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2853 - break; - 44fc: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2842 (discriminator 2) - for( ux = ( UBaseType_t ) 0U; ux < ( UBaseType_t ) configQUEUE_REGISTRY_SIZE; ux++ ) - 44fe: 0705 addi a4,a4,1 - 4500: 06a1 addi a3,a3,8 - 4502: fec714e3 bne a4,a2,44ea - 4506: 8082 ret - -00004508 : -vQueueDelete(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2061 -{ - 4508: 80efc2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2064 - configASSERT( pxQueue ); - 450c: e505 bnez a0,4534 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2064 (discriminator 1) - 450e: 67a1 lui a5,0x8 - 4510: 80078793 addi a5,a5,-2048 # 7800 - 4514: 30079073 csrw mstatus,a5 - 4518: 0000d637 lui a2,0xd - 451c: 6585 lui a1,0x1 - 451e: 0000d537 lui a0,0xd - 4522: 33060613 addi a2,a2,816 # d330 - 4526: 81058593 addi a1,a1,-2032 # 810 <__stack_size+0x10> - 452a: 2e450513 addi a0,a0,740 # d2e4 - 452e: 548080ef jal ra,ca76 - 4532: a001 j 4532 - 4534: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2069 (discriminator 2) - vQueueUnregisterQueue( pxQueue ); - 4536: f79ff0ef jal ra,44ae -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2077 (discriminator 2) - vPortFree( pxQueue ); - 453a: 8522 mv a0,s0 - 453c: c0aff0ef jal ra,3946 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2099 (discriminator 2) -} - 4540: ffbfb06f j 53a <__riscv_restore_0> - -00004544 : -vQueueWaitForMessageRestricted(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2870 -#if ( configUSE_TIMERS == 1 ) - - void vQueueWaitForMessageRestricted( QueueHandle_t xQueue, - TickType_t xTicksToWait, - const BaseType_t xWaitIndefinitely ) - { - 4544: fd3fb2ef jal t0,516 <__riscv_save_0> - 4548: 1141 addi sp,sp,-16 - 454a: 842a mv s0,a0 - 454c: c62e sw a1,12(sp) - 454e: c432 sw a2,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2887 - * will not actually cause the task to block, just place it on a blocked - * list. It will not block until the scheduler is unlocked - at which - * time a yield will be performed. If an item is added to the queue while - * the queue is locked, and the calling task blocks on the queue, then the - * calling task will be immediately unblocked when the queue is unlocked. */ - prvLockQueue( pxQueue ); - 4550: da0ff0ef jal ra,3af0 - 4554: 04444783 lbu a5,68(s0) - 4558: 577d li a4,-1 - 455a: 4622 lw a2,8(sp) - 455c: 07e2 slli a5,a5,0x18 - 455e: 87e1 srai a5,a5,0x18 - 4560: 45b2 lw a1,12(sp) - 4562: 00e79463 bne a5,a4,456a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2887 (discriminator 1) - 4566: 04040223 sb zero,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2887 (discriminator 3) - 456a: 04544783 lbu a5,69(s0) - 456e: 577d li a4,-1 - 4570: 07e2 slli a5,a5,0x18 - 4572: 87e1 srai a5,a5,0x18 - 4574: 00e79463 bne a5,a4,457c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2887 (discriminator 4) - 4578: 040402a3 sb zero,69(s0) - 457c: c632 sw a2,12(sp) - 457e: c42e sw a1,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2887 (discriminator 6) - 4580: d86ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2889 (discriminator 6) - - if( pxQueue->uxMessagesWaiting == ( UBaseType_t ) 0U ) - 4584: 5c1c lw a5,56(s0) - 4586: 45a2 lw a1,8(sp) - 4588: 4632 lw a2,12(sp) - 458a: e789 bnez a5,4594 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2892 - { - /* There is nothing in the queue, block for the specified period. */ - vTaskPlaceOnEventListRestricted( &( pxQueue->xTasksWaitingToReceive ), xTicksToWait, xWaitIndefinitely ); - 458c: 02440513 addi a0,s0,36 - 4590: 039000ef jal ra,4dc8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2899 - else - { - mtCOVERAGE_TEST_MARKER(); - } - - prvUnlockQueue( pxQueue ); - 4594: 8522 mv a0,s0 - 4596: ee4ff0ef jal ra,3c7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/queue.c:2900 - } - 459a: 0141 addi sp,sp,16 - 459c: f9ffb06f j 53a <__riscv_restore_0> - -000045a0 : -prvResetNextTaskUnblockTime(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4008 -#endif /* INCLUDE_vTaskDelete */ -/*-----------------------------------------------------------*/ - -static void prvResetNextTaskUnblockTime( void ) -{ - if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE ) - 45a0: 20000737 lui a4,0x20000 - 45a4: 10870713 addi a4,a4,264 # 20000108 - 45a8: 431c lw a5,0(a4) - 45aa: 4394 lw a3,0(a5) - 45ac: 200007b7 lui a5,0x20000 - 45b0: 12878793 addi a5,a5,296 # 20000128 - 45b4: e681 bnez a3,45bc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4014 - { - /* The new current delayed list is empty. Set xNextTaskUnblockTime to - * the maximum possible value so it is extremely unlikely that the - * if( xTickCount >= xNextTaskUnblockTime ) test will pass until - * there is an item in the delayed list. */ - xNextTaskUnblockTime = portMAX_DELAY; - 45b6: 577d li a4,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4022 - { - /* The new current delayed list is not empty, get the value of - * the item at the head of the delayed list. This is the time at - * which the task at the head of the delayed list should be removed - * from the Blocked state. */ - xNextTaskUnblockTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxDelayedTaskList ); - 45b8: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4024 - } -} - 45ba: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4022 - xNextTaskUnblockTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxDelayedTaskList ); - 45bc: 4318 lw a4,0(a4) - 45be: 4758 lw a4,12(a4) - 45c0: 4318 lw a4,0(a4) - 45c2: bfdd j 45b8 - -000045c4 : -prvAddCurrentTaskToDelayedList(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5312 -#endif /* if ( ( configGENERATE_RUN_TIME_STATS == 1 ) && ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) ) */ -/*-----------------------------------------------------------*/ - -static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait, - const BaseType_t xCanBlockIndefinitely ) -{ - 45c4: f39fb2ef jal t0,4fc <__riscv_save_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5321 - #if ( INCLUDE_xTaskAbortDelay == 1 ) - { - /* About to enter a delayed list, so ensure the ucDelayAborted flag is - * reset to pdFALSE so it can be detected as having been set to pdTRUE - * when the task leaves the Blocked state. */ - pxCurrentTCB->ucDelayAborted = pdFALSE; - 45c8: 20000937 lui s2,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5314 - const TickType_t xConstTickCount = xTickCount; - 45cc: 200007b7 lui a5,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5321 - pxCurrentTCB->ucDelayAborted = pdFALSE; - 45d0: 10490493 addi s1,s2,260 # 20000104 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5314 - const TickType_t xConstTickCount = xTickCount; - 45d4: 1387a983 lw s3,312(a5) # 20000138 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5312 -{ - 45d8: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5321 - pxCurrentTCB->ucDelayAborted = pdFALSE; - 45da: 409c lw a5,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5327 - } - #endif - - /* Remove the task from the ready list before adding it to the blocked list - * as the same list item is used for both lists. */ - if( uxListRemove( &( pxCurrentTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 45dc: 4088 lw a0,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5312 -{ - 45de: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5321 - pxCurrentTCB->ucDelayAborted = pdFALSE; - 45e0: 040788a3 sb zero,81(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5327 - if( uxListRemove( &( pxCurrentTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 45e4: 0511 addi a0,a0,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5312 -{ - 45e6: c62e sw a1,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5327 - if( uxListRemove( &( pxCurrentTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 45e8: dbaff0ef jal ra,3ba2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5340 - mtCOVERAGE_TEST_MARKER(); - } - - #if ( INCLUDE_vTaskSuspend == 1 ) - { - if( ( xTicksToWait == portMAX_DELAY ) && ( xCanBlockIndefinitely != pdFALSE ) ) - 45ec: 577d li a4,-1 - 45ee: 10490793 addi a5,s2,260 - 45f2: 45b2 lw a1,12(sp) - 45f4: 02e41c63 bne s0,a4,462c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5340 (discriminator 1) - 45f8: c995 beqz a1,462c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5345 - { - /* Add the task to the suspended task list instead of a delayed task - * list to ensure it is not woken by a timing event. It will block - * indefinitely. */ - listINSERT_END( &xSuspendedTaskList, &( pxCurrentTCB->xStateListItem ) ); - 45fa: 200157b7 lui a5,0x20015 - 45fe: 6b878793 addi a5,a5,1720 # 200156b8 - 4602: 4094 lw a3,0(s1) - 4604: 43d8 lw a4,4(a5) - 4606: c698 sw a4,8(a3) - 4608: 4710 lw a2,8(a4) - 460a: 4094 lw a3,0(s1) - 460c: c6d0 sw a2,12(a3) - 460e: 4094 lw a3,0(s1) - 4610: 4710 lw a2,8(a4) - 4612: 0691 addi a3,a3,4 - 4614: c254 sw a3,4(a2) - 4616: 4094 lw a3,0(s1) - 4618: 0691 addi a3,a3,4 - 461a: c714 sw a3,8(a4) - 461c: 4098 lw a4,0(s1) - 461e: cb5c sw a5,20(a4) - 4620: 4398 lw a4,0(a5) - 4622: 0705 addi a4,a4,1 - 4624: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5420 - - /* Avoid compiler warning when INCLUDE_vTaskSuspend is not 1. */ - ( void ) xCanBlockIndefinitely; - } - #endif /* INCLUDE_vTaskSuspend */ -} - 4626: 0141 addi sp,sp,16 - 4628: f09fb06f j 530 <__riscv_restore_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5355 - listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xStateListItem ), xTimeToWake ); - 462c: 4398 lw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5352 - xTimeToWake = xConstTickCount + xTicksToWait; - 462e: 944e add s0,s0,s3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5355 - listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xStateListItem ), xTimeToWake ); - 4630: c340 sw s0,4(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5357 - if( xTimeToWake < xConstTickCount ) - 4632: 01347b63 bgeu s0,s3,4648 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5361 - vListInsert( pxOverflowDelayedTaskList, &( pxCurrentTCB->xStateListItem ) ); - 4636: 20000737 lui a4,0x20000 - 463a: 10c72503 lw a0,268(a4) # 2000010c - 463e: 438c lw a1,0(a5) - 4640: 0591 addi a1,a1,4 - 4642: d32ff0ef jal ra,3b74 - 4646: b7c5 j 4626 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5367 - vListInsert( pxDelayedTaskList, &( pxCurrentTCB->xStateListItem ) ); - 4648: 20000737 lui a4,0x20000 - 464c: 10872503 lw a0,264(a4) # 20000108 - 4650: 438c lw a1,0(a5) - 4652: 0591 addi a1,a1,4 - 4654: d20ff0ef jal ra,3b74 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5372 - if( xTimeToWake < xNextTaskUnblockTime ) - 4658: 200007b7 lui a5,0x20000 - 465c: 12878793 addi a5,a5,296 # 20000128 - 4660: 4398 lw a4,0(a5) - 4662: fce472e3 bgeu s0,a4,4626 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5374 - xNextTaskUnblockTime = xTimeToWake; - 4666: c380 sw s0,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:5420 -} - 4668: bf7d j 4626 - -0000466a : -prvIdleTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3442 -{ - 466a: e93fb2ef jal t0,4fc <__riscv_save_4> -prvCheckTasksWaitingTermination(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3712 - pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xTasksWaitingTermination ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 466e: 20015437 lui s0,0x20015 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3708 - while( uxDeletedTasksWaitingCleanUp > ( UBaseType_t ) 0U ) - 4672: 200009b7 lui s3,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3712 - pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xTasksWaitingTermination ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 4676: 6cc40413 addi s0,s0,1740 # 200156cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3714 - --uxCurrentNumberOfTasks; - 467a: 20000a37 lui s4,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3708 - while( uxDeletedTasksWaitingCleanUp > ( UBaseType_t ) 0U ) - 467e: 11498493 addi s1,s3,276 # 20000114 - 4682: 409c lw a5,0(s1) - 4684: dfed beqz a5,467e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3710 - taskENTER_CRITICAL(); - 4686: c6aff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3712 - pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xTasksWaitingTermination ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 468a: 445c lw a5,12(s0) - 468c: 00c7a903 lw s2,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3713 - ( void ) uxListRemove( &( pxTCB->xStateListItem ) ); - 4690: 00490513 addi a0,s2,4 - 4694: d0eff0ef jal ra,3ba2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3714 - --uxCurrentNumberOfTasks; - 4698: 110a0713 addi a4,s4,272 # 20000110 - 469c: 431c lw a5,0(a4) - 469e: 17fd addi a5,a5,-1 - 46a0: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3715 - --uxDeletedTasksWaitingCleanUp; - 46a2: 409c lw a5,0(s1) - 46a4: 17fd addi a5,a5,-1 - 46a6: c09c sw a5,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3717 - taskEXIT_CRITICAL(); - 46a8: c5eff0ef jal ra,3b06 -prvDeleteTCB(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3971 - vPortFreeStack( pxTCB->pxStack ); - 46ac: 03092503 lw a0,48(s2) - 46b0: a96ff0ef jal ra,3946 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3972 - vPortFree( pxTCB ); - 46b4: 854a mv a0,s2 - 46b6: a90ff0ef jal ra,3946 - 46ba: b7d1 j 467e - -000046bc : -xTaskCreate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:734 - { - 46bc: e33fb2ef jal t0,4ee <__riscv_save_10> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:768 - pxStack = pvPortMallocStack( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) ); /*lint !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack and this allocation is the stack. */ - 46c0: 00261913 slli s2,a2,0x2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:734 - { - 46c4: 8aaa mv s5,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:768 - pxStack = pvPortMallocStack( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) ); /*lint !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack and this allocation is the stack. */ - 46c6: 854a mv a0,s2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:734 - { - 46c8: 8a2e mv s4,a1 - 46ca: 8b36 mv s6,a3 - 46cc: 8bba mv s7,a4 - 46ce: 89be mv s3,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:768 - pxStack = pvPortMallocStack( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) ); /*lint !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack and this allocation is the stack. */ - 46d0: 8eaff0ef jal ra,37ba -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:770 - if( pxStack != NULL ) - 46d4: c11d beqz a0,46fa - 46d6: 84aa mv s1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:773 - pxNewTCB = ( TCB_t * ) pvPortMalloc( sizeof( TCB_t ) ); /*lint !e9087 !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack, and the first member of TCB_t is always a pointer to the task's stack. */ - 46d8: 05400513 li a0,84 - 46dc: 8deff0ef jal ra,37ba - 46e0: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:775 - if( pxNewTCB != NULL ) - 46e2: c909 beqz a0,46f4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:778 - pxNewTCB->pxStack = pxStack; - 46e4: d904 sw s1,48(a0) -prvInitialiseNewTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:890 - for( x = ( UBaseType_t ) 0; x < ( UBaseType_t ) configMAX_TASK_NAME_LEN; x++ ) - 46e6: 4781 li a5,0 - 46e8: 46c1 li a3,16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:888 - if( pcName != NULL ) - 46ea: 000a1a63 bnez s4,46fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:915 - pxNewTCB->pcTaskName[ 0 ] = 0x00; - 46ee: 02050a23 sb zero,52(a0) - 46f2: a025 j 471a -xTaskCreate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:784 - vPortFreeStack( pxStack ); - 46f4: 8526 mv a0,s1 - 46f6: a50ff0ef jal ra,3946 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:810 - xReturn = errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY; - 46fa: 557d li a0,-1 - 46fc: a265 j 48a4 -prvInitialiseNewTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:892 - pxNewTCB->pcTaskName[ x ] = pcName[ x ]; - 46fe: 00fa0733 add a4,s4,a5 - 4702: 00070703 lb a4,0(a4) - 4706: 00f40633 add a2,s0,a5 - 470a: 02e60a23 sb a4,52(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:897 - if( pcName[ x ] == ( char ) 0x00 ) - 470e: c701 beqz a4,4716 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:890 - for( x = ( UBaseType_t ) 0; x < ( UBaseType_t ) configMAX_TASK_NAME_LEN; x++ ) - 4710: 0785 addi a5,a5,1 - 4712: fed796e3 bne a5,a3,46fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:909 - pxNewTCB->pcTaskName[ configMAX_TASK_NAME_LEN - 1 ] = '\0'; - 4716: 040401a3 sb zero,67(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:919 - configASSERT( uxPriority < configMAX_PRIORITIES ); - 471a: 47b9 li a5,14 - 471c: 0377f463 bgeu a5,s7,4744 - 4720: 67a1 lui a5,0x8 - 4722: 80078793 addi a5,a5,-2048 # 7800 - 4726: 30079073 csrw mstatus,a5 - 472a: 0000d637 lui a2,0xd - 472e: 0000d537 lui a0,0xd - 4732: 34460613 addi a2,a2,836 # d344 - 4736: 39700593 li a1,919 - 473a: 2e450513 addi a0,a0,740 # d2e4 - 473e: 338080ef jal ra,ca76 - 4742: a001 j 4742 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:938 - vListInitialiseItem( &( pxNewTCB->xStateListItem ) ); - 4744: 00440a13 addi s4,s0,4 - 4748: 8552 mv a0,s4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:930 - pxNewTCB->uxPriority = uxPriority; - 474a: 03742623 sw s7,44(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:933 - pxNewTCB->uxBasePriority = uxPriority; - 474e: 05742223 sw s7,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:934 - pxNewTCB->uxMutexesHeld = 0; - 4752: 04042423 sw zero,72(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:938 - vListInitialiseItem( &( pxNewTCB->xStateListItem ) ); - 4756: c18ff0ef jal ra,3b6e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:939 - vListInitialiseItem( &( pxNewTCB->xEventListItem ) ); - 475a: 01840513 addi a0,s0,24 - 475e: c10ff0ef jal ra,3b6e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:946 - listSET_LIST_ITEM_VALUE( &( pxNewTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 4762: 473d li a4,15 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:860 - pxTopOfStack = &( pxNewTCB->pxStack[ ulStackDepth - ( uint32_t ) 1 ] ); - 4764: ffc90513 addi a0,s2,-4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:946 - listSET_LIST_ITEM_VALUE( &( pxNewTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 4768: 41770733 sub a4,a4,s7 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:860 - pxTopOfStack = &( pxNewTCB->pxStack[ ulStackDepth - ( uint32_t ) 1 ] ); - 476c: 9526 add a0,a0,s1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:943 - listSET_LIST_ITEM_OWNER( &( pxNewTCB->xStateListItem ), pxNewTCB ); - 476e: c800 sw s0,16(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:946 - listSET_LIST_ITEM_VALUE( &( pxNewTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 4770: cc18 sw a4,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:947 - listSET_LIST_ITEM_OWNER( &( pxNewTCB->xEventListItem ), pxNewTCB ); - 4772: d040 sw s0,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:986 - memset( ( void * ) &( pxNewTCB->ulNotifiedValue[ 0 ] ), 0x00, sizeof( pxNewTCB->ulNotifiedValue ) ); - 4774: 04040623 sb zero,76(s0) - 4778: 040406a3 sb zero,77(s0) - 477c: 04040723 sb zero,78(s0) - 4780: 040407a3 sb zero,79(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:987 - memset( ( void * ) &( pxNewTCB->ucNotifyState[ 0 ] ), 0x00, sizeof( pxNewTCB->ucNotifyState ) ); - 4784: 04040823 sb zero,80(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1002 - pxNewTCB->ucDelayAborted = pdFALSE; - 4788: 040408a3 sb zero,81(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1052 - pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pxTaskCode, pvParameters ); - 478c: 865a mv a2,s6 - 478e: 85d6 mv a1,s5 - 4790: 9941 andi a0,a0,-16 - 4792: c6ffb0ef jal ra,400 - 4796: c008 sw a0,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1058 - if( pxCreatedTask != NULL ) - 4798: 00098463 beqz s3,47a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1062 - *pxCreatedTask = ( TaskHandle_t ) pxNewTCB; - 479c: 0089a023 sw s0,0(s3) -prvAddNewTaskToReadyList(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1075 - taskENTER_CRITICAL(); - 47a0: b50ff0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1077 - uxCurrentNumberOfTasks++; - 47a4: 200007b7 lui a5,0x20000 - 47a8: 11078793 addi a5,a5,272 # 20000110 - 47ac: 4398 lw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1079 - if( pxCurrentTCB == NULL ) - 47ae: 200004b7 lui s1,0x20000 - 47b2: 200159b7 lui s3,0x20015 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1077 - uxCurrentNumberOfTasks++; - 47b6: 0705 addi a4,a4,1 - 47b8: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1079 - if( pxCurrentTCB == NULL ) - 47ba: 10448713 addi a4,s1,260 # 20000104 - 47be: 4318 lw a4,0(a4) - 47c0: 10448493 addi s1,s1,260 - 47c4: 55098913 addi s2,s3,1360 # 20015550 - 47c8: 0e071063 bnez a4,48a8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1083 - pxCurrentTCB = pxNewTCB; - 47cc: c080 sw s0,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1085 - if( uxCurrentNumberOfTasks == ( UBaseType_t ) 1 ) - 47ce: 4398 lw a4,0(a5) - 47d0: 4785 li a5,1 - 47d2: 06f71663 bne a4,a5,483e - 47d6: 55098993 addi s3,s3,1360 - 47da: 12c90a93 addi s5,s2,300 -prvInitialiseTaskLists(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3672 - vListInitialise( &( pxReadyTasksLists[ uxPriority ] ) ); - 47de: 854e mv a0,s3 - 47e0: 09d1 addi s3,s3,20 - 47e2: b78ff0ef jal ra,3b5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3670 - for( uxPriority = ( UBaseType_t ) 0U; uxPriority < ( UBaseType_t ) configMAX_PRIORITIES; uxPriority++ ) - 47e6: ff3a9ce3 bne s5,s3,47de -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3675 - vListInitialise( &xDelayedTaskList1 ); - 47ea: 20015537 lui a0,0x20015 - 47ee: 67c50a93 addi s5,a0,1660 # 2001567c - 47f2: 67c50513 addi a0,a0,1660 - 47f6: b64ff0ef jal ra,3b5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3676 - vListInitialise( &xDelayedTaskList2 ); - 47fa: 20015537 lui a0,0x20015 - 47fe: 69050993 addi s3,a0,1680 # 20015690 - 4802: 69050513 addi a0,a0,1680 - 4806: b54ff0ef jal ra,3b5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3677 - vListInitialise( &xPendingReadyList ); - 480a: 20015537 lui a0,0x20015 - 480e: 6a450513 addi a0,a0,1700 # 200156a4 - 4812: b48ff0ef jal ra,3b5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3681 - vListInitialise( &xTasksWaitingTermination ); - 4816: 20015537 lui a0,0x20015 - 481a: 6cc50513 addi a0,a0,1740 # 200156cc - 481e: b3cff0ef jal ra,3b5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3687 - vListInitialise( &xSuspendedTaskList ); - 4822: 20015537 lui a0,0x20015 - 4826: 6b850513 addi a0,a0,1720 # 200156b8 - 482a: b30ff0ef jal ra,3b5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3693 - pxDelayedTaskList = &xDelayedTaskList1; - 482e: 200007b7 lui a5,0x20000 - 4832: 1157a423 sw s5,264(a5) # 20000108 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3694 - pxOverflowDelayedTaskList = &xDelayedTaskList2; - 4836: 200007b7 lui a5,0x20000 - 483a: 1137a623 sw s3,268(a5) # 2000010c -prvAddNewTaskToReadyList(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1119 - uxTaskNumber++; - 483e: 200007b7 lui a5,0x20000 - 4842: 11c78793 addi a5,a5,284 # 2000011c - 4846: 4398 lw a4,0(a5) - 4848: 0705 addi a4,a4,1 - 484a: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1129 - prvAddTaskToReadyList( pxNewTCB ); - 484c: 20000737 lui a4,0x20000 - 4850: 12070713 addi a4,a4,288 # 20000120 - 4854: 545c lw a5,44(s0) - 4856: 4314 lw a3,0(a4) - 4858: 00f6f363 bgeu a3,a5,485e - 485c: c31c sw a5,0(a4) - 485e: 4751 li a4,20 - 4860: 02e787b3 mul a5,a5,a4 - 4864: 97ca add a5,a5,s2 - 4866: 43d8 lw a4,4(a5) - 4868: 4714 lw a3,8(a4) - 486a: c418 sw a4,8(s0) - 486c: c454 sw a3,12(s0) - 486e: 4714 lw a3,8(a4) - 4870: 0146a223 sw s4,4(a3) - 4874: 01472423 sw s4,8(a4) - 4878: 4398 lw a4,0(a5) - 487a: c85c sw a5,20(s0) - 487c: 0705 addi a4,a4,1 - 487e: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1133 - taskEXIT_CRITICAL(); - 4880: a86ff0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1135 - if( xSchedulerRunning != pdFALSE ) - 4884: 200007b7 lui a5,0x20000 - 4888: 1347a783 lw a5,308(a5) # 20000134 -xTaskCreate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:806 - xReturn = pdPASS; - 488c: 4505 li a0,1 -prvAddNewTaskToReadyList(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1135 - if( xSchedulerRunning != pdFALSE ) - 488e: cb99 beqz a5,48a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1139 - if( pxCurrentTCB->uxPriority < pxNewTCB->uxPriority ) - 4890: 409c lw a5,0(s1) - 4892: 57d8 lw a4,44(a5) - 4894: 545c lw a5,44(s0) - 4896: 00f77763 bgeu a4,a5,48a4 -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 489a: e000e7b7 lui a5,0xe000e - 489e: 6711 lui a4,0x4 - 48a0: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> -xTaskCreate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:814 - } - 48a4: c83fb06f j 526 <__riscv_restore_10> -prvAddNewTaskToReadyList(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1102 - if( xSchedulerRunning == pdFALSE ) - 48a8: 200007b7 lui a5,0x20000 - 48ac: 1347a783 lw a5,308(a5) # 20000134 - 48b0: f7d9 bnez a5,483e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1104 - if( pxCurrentTCB->uxPriority <= pxNewTCB->uxPriority ) - 48b2: 409c lw a5,0(s1) - 48b4: 57d8 lw a4,44(a5) - 48b6: 545c lw a5,44(s0) - 48b8: f8e7e3e3 bltu a5,a4,483e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1106 - pxCurrentTCB = pxNewTCB; - 48bc: c080 sw s0,0(s1) - 48be: b741 j 483e - -000048c0 : -vTaskStartScheduler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1998 -{ - 48c0: c57fb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2031 - xReturn = xTaskCreate( prvIdleTask, - 48c4: 200007b7 lui a5,0x20000 - 48c8: 0000d5b7 lui a1,0xd - 48cc: 00004537 lui a0,0x4 - 48d0: 12478793 addi a5,a5,292 # 20000124 - 48d4: 4701 li a4,0 - 48d6: 4681 li a3,0 - 48d8: 10000613 li a2,256 - 48dc: 35858593 addi a1,a1,856 # d358 - 48e0: 66a50513 addi a0,a0,1642 # 466a - 48e4: dd9ff0ef jal ra,46bc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2042 - if( xReturn == pdPASS ) - 48e8: 4405 li s0,1 - 48ea: 02851e63 bne a0,s0,4926 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2044 - xReturn = xTimerCreateTimerTask(); - 48ee: 473000ef jal ra,5560 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2053 - if( xReturn == pdPASS ) - 48f2: 02851a63 bne a0,s0,4926 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2069 - portDISABLE_INTERRUPTS(); - 48f6: 67a1 lui a5,0x8 - 48f8: 80078793 addi a5,a5,-2048 # 7800 - 48fc: 30079073 csrw mstatus,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2081 - xNextTaskUnblockTime = portMAX_DELAY; - 4900: 200007b7 lui a5,0x20000 - 4904: 577d li a4,-1 - 4906: 12e7a423 sw a4,296(a5) # 20000128 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2082 - xSchedulerRunning = pdTRUE; - 490a: 200007b7 lui a5,0x20000 - 490e: 12a7aa23 sw a0,308(a5) # 20000134 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2083 - xTickCount = ( TickType_t ) configINITIAL_TICK_COUNT; - 4912: 200007b7 lui a5,0x20000 - 4916: 1207ac23 sw zero,312(a5) # 20000138 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2097 - if( xPortStartScheduler() != pdFALSE ) - 491a: 90eff0ef jal ra,3a28 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2121 (discriminator 2) - ( void ) uxTopUsedPriority; - 491e: 81c1a783 lw a5,-2020(gp) # 2000005c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2122 (discriminator 2) -} - 4922: c19fb06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2112 - configASSERT( xReturn != errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY ); - 4926: 57fd li a5,-1 - 4928: fef51be3 bne a0,a5,491e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2112 (discriminator 1) - 492c: 67a1 lui a5,0x8 - 492e: 80078793 addi a5,a5,-2048 # 7800 - 4932: 30079073 csrw mstatus,a5 - 4936: 0000d637 lui a2,0xd - 493a: 6585 lui a1,0x1 - 493c: 0000d537 lui a0,0xd - 4940: 34460613 addi a2,a2,836 # d344 - 4944: 84058593 addi a1,a1,-1984 # 840 - 4948: 2e450513 addi a0,a0,740 # d2e4 - 494c: 12a080ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2112 (discriminator 2) - 4950: a001 j 4950 - -00004952 : -vTaskSuspendAll(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2149 - ++uxSchedulerSuspended; - 4952: 200007b7 lui a5,0x20000 - 4956: 11878793 addi a5,a5,280 # 20000118 - 495a: 4398 lw a4,0(a5) - 495c: 0705 addi a4,a4,1 - 495e: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2154 -} - 4960: 8082 ret - -00004962 : -xTaskGetTickCount(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2339 - xTicks = xTickCount; - 4962: 200007b7 lui a5,0x20000 - 4966: 1387a503 lw a0,312(a5) # 20000138 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2344 -} - 496a: 8082 ret - -0000496c : -xTaskIncrementTick(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2747 - if( uxSchedulerSuspended == ( UBaseType_t ) pdFALSE ) - 496c: 200007b7 lui a5,0x20000 - 4970: 1187a783 lw a5,280(a5) # 20000118 - 4974: 18079963 bnez a5,4b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2737 -{ - 4978: b9ffb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2751 - const TickType_t xConstTickCount = xTickCount + ( TickType_t ) 1; - 497c: 200007b7 lui a5,0x20000 - 4980: 13878793 addi a5,a5,312 # 20000138 - 4984: 4380 lw s0,0(a5) - 4986: 0405 addi s0,s0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2755 - xTickCount = xConstTickCount; - 4988: c380 sw s0,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2757 - if( xConstTickCount == ( TickType_t ) 0U ) /*lint !e774 'if' does not always evaluate to false as it is looking for an overflow. */ - 498a: ec21 bnez s0,49e2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2759 - taskSWITCH_DELAYED_LISTS(); - 498c: 200007b7 lui a5,0x20000 - 4990: 10878793 addi a5,a5,264 # 20000108 - 4994: 4398 lw a4,0(a5) - 4996: 4318 lw a4,0(a4) - 4998: c705 beqz a4,49c0 - 499a: 67a1 lui a5,0x8 - 499c: 80078793 addi a5,a5,-2048 # 7800 - 49a0: 30079073 csrw mstatus,a5 - 49a4: 0000d637 lui a2,0xd - 49a8: 6585 lui a1,0x1 - 49aa: 0000d537 lui a0,0xd - 49ae: 34460613 addi a2,a2,836 # d344 - 49b2: ac758593 addi a1,a1,-1337 # ac7 - 49b6: 2e450513 addi a0,a0,740 # d2e4 - 49ba: 0bc080ef jal ra,ca76 - 49be: a001 j 49be - 49c0: 20000737 lui a4,0x20000 - 49c4: 10c70713 addi a4,a4,268 # 2000010c - 49c8: 4394 lw a3,0(a5) - 49ca: 4310 lw a2,0(a4) - 49cc: c390 sw a2,0(a5) - 49ce: 200007b7 lui a5,0x20000 - 49d2: c314 sw a3,0(a4) - 49d4: 12c78793 addi a5,a5,300 # 2000012c - 49d8: 4398 lw a4,0(a5) - 49da: 0705 addi a4,a4,1 - 49dc: c398 sw a4,0(a5) - 49de: bc3ff0ef jal ra,45a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2770 - if( xConstTickCount >= xNextTaskUnblockTime ) - 49e2: 20000637 lui a2,0x20000 - 49e6: 12860793 addi a5,a2,296 # 20000128 - 49ea: 439c lw a5,0(a5) - 49ec: 20015737 lui a4,0x20015 - 49f0: 200005b7 lui a1,0x20000 - 49f4: 12860613 addi a2,a2,296 - 49f8: 55070713 addi a4,a4,1360 # 20015550 - 49fc: 10458593 addi a1,a1,260 # 20000104 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2740 - BaseType_t xSwitchRequired = pdFALSE; - 4a00: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2770 - if( xConstTickCount >= xNextTaskUnblockTime ) - 4a02: 02f47563 bgeu s0,a5,4a2c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2853 - if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ pxCurrentTCB->uxPriority ] ) ) > ( UBaseType_t ) 1 ) - 4a06: 419c lw a5,0(a1) - 4a08: 46d1 li a3,20 - 4a0a: 57dc lw a5,44(a5) - 4a0c: 02d787b3 mul a5,a5,a3 - 4a10: 973e add a4,a4,a5 - 4a12: 4318 lw a4,0(a4) - 4a14: 4785 li a5,1 - 4a16: 00e7f363 bgeu a5,a4,4a1c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2855 - xSwitchRequired = pdTRUE; - 4a1a: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2881 - if( xYieldPending != pdFALSE ) - 4a1c: 200007b7 lui a5,0x20000 - 4a20: 13c7a783 lw a5,316(a5) # 2000013c - 4a24: c391 beqz a5,4a28 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2883 - xSwitchRequired = pdTRUE; - 4a26: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2906 -} - 4a28: b13fb06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2774 - if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE ) - 4a2c: 20000e37 lui t3,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2824 - prvAddTaskToReadyList( pxTCB ); - 4a30: 20000eb7 lui t4,0x20000 - 4a34: 4f51 li t5,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2774 - if( listLIST_IS_EMPTY( pxDelayedTaskList ) != pdFALSE ) - 4a36: 108e0793 addi a5,t3,264 # 20000108 - 4a3a: 4394 lw a3,0(a5) - 4a3c: 4294 lw a3,0(a3) - 4a3e: e681 bnez a3,4a46 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2781 - xNextTaskUnblockTime = portMAX_DELAY; /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 4a40: 57fd li a5,-1 - 4a42: c21c sw a5,0(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2782 - break; - 4a44: b7c9 j 4a06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2790 - pxTCB = listGET_OWNER_OF_HEAD_ENTRY( pxDelayedTaskList ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 4a46: 439c lw a5,0(a5) - 4a48: 47dc lw a5,12(a5) - 4a4a: 47dc lw a5,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2791 - xItemValue = listGET_LIST_ITEM_VALUE( &( pxTCB->xStateListItem ) ); - 4a4c: 43d4 lw a3,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2793 - if( xConstTickCount < xItemValue ) - 4a4e: 00d47463 bgeu s0,a3,4a56 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2800 - xNextTaskUnblockTime = xItemValue; - 4a52: c214 sw a3,0(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2801 - break; /*lint !e9011 Code structure here is deemed easier to understand with multiple breaks. */ - 4a54: bf4d j 4a06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2809 - listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); - 4a56: 0087a883 lw a7,8(a5) - 4a5a: 00c7a803 lw a6,12(a5) - 4a5e: 4bd4 lw a3,20(a5) - 4a60: 00478313 addi t1,a5,4 - 4a64: 0108a423 sw a6,8(a7) - 4a68: 01182223 sw a7,4(a6) - 4a6c: 0046a883 lw a7,4(a3) - 4a70: 00689463 bne a7,t1,4a78 - 4a74: 0106a223 sw a6,4(a3) - 4a78: 0006a803 lw a6,0(a3) - 4a7c: 0007aa23 sw zero,20(a5) - 4a80: 187d addi a6,a6,-1 - 4a82: 0106a023 sw a6,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2813 - if( listLIST_ITEM_CONTAINER( &( pxTCB->xEventListItem ) ) != NULL ) - 4a86: 5794 lw a3,40(a5) - 4a88: ca95 beqz a3,4abc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2815 - listREMOVE_ITEM( &( pxTCB->xEventListItem ) ); - 4a8a: 01c7a803 lw a6,28(a5) - 4a8e: 0207a883 lw a7,32(a5) - 4a92: 0046af83 lw t6,4(a3) - 4a96: 01182423 sw a7,8(a6) - 4a9a: 0207a883 lw a7,32(a5) - 4a9e: 0108a223 sw a6,4(a7) - 4aa2: 01878813 addi a6,a5,24 - 4aa6: 010f9463 bne t6,a6,4aae - 4aaa: 0116a223 sw a7,4(a3) - 4aae: 0006a803 lw a6,0(a3) - 4ab2: 0207a423 sw zero,40(a5) - 4ab6: 187d addi a6,a6,-1 - 4ab8: 0106a023 sw a6,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2824 - prvAddTaskToReadyList( pxTCB ); - 4abc: 120e8693 addi a3,t4,288 # 20000120 - 4ac0: 02c7a803 lw a6,44(a5) - 4ac4: 0006a883 lw a7,0(a3) - 4ac8: 0108f463 bgeu a7,a6,4ad0 - 4acc: 0106a023 sw a6,0(a3) - 4ad0: 03e806b3 mul a3,a6,t5 - 4ad4: 96ba add a3,a3,a4 - 4ad6: 0046a883 lw a7,4(a3) - 4ada: 0088af83 lw t6,8(a7) - 4ade: 0117a423 sw a7,8(a5) - 4ae2: 01f7a623 sw t6,12(a5) - 4ae6: 0088af83 lw t6,8(a7) - 4aea: 006fa223 sw t1,4(t6) - 4aee: 0068a423 sw t1,8(a7) - 4af2: cbd4 sw a3,20(a5) - 4af4: 429c lw a5,0(a3) - 4af6: 0785 addi a5,a5,1 - 4af8: c29c sw a5,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2834 - if( pxTCB->uxPriority >= pxCurrentTCB->uxPriority ) - 4afa: 419c lw a5,0(a1) - 4afc: 57dc lw a5,44(a5) - 4afe: f2f86ce3 bltu a6,a5,4a36 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2836 - xSwitchRequired = pdTRUE; - 4b02: 4505 li a0,1 - 4b04: bf0d j 4a36 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2894 - ++xPendedTicks; - 4b06: 200007b7 lui a5,0x20000 - 4b0a: 13078793 addi a5,a5,304 # 20000130 - 4b0e: 4398 lw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2740 - BaseType_t xSwitchRequired = pdFALSE; - 4b10: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2894 - ++xPendedTicks; - 4b12: 0705 addi a4,a4,1 - 4b14: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2906 -} - 4b16: 8082 ret - -00004b18 : -xTaskResumeAll(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2221 -{ - 4b18: 9e5fb2ef jal t0,4fc <__riscv_save_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2227 - configASSERT( uxSchedulerSuspended ); - 4b1c: 20000437 lui s0,0x20000 - 4b20: 11840413 addi s0,s0,280 # 20000118 - 4b24: 401c lw a5,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2221 -{ - 4b26: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2227 - configASSERT( uxSchedulerSuspended ); - 4b28: e785 bnez a5,4b50 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2227 (discriminator 1) - 4b2a: 67a1 lui a5,0x8 - 4b2c: 80078793 addi a5,a5,-2048 # 7800 - 4b30: 30079073 csrw mstatus,a5 - 4b34: 0000d637 lui a2,0xd - 4b38: 6585 lui a1,0x1 - 4b3a: 0000d537 lui a0,0xd - 4b3e: 34460613 addi a2,a2,836 # d344 - 4b42: 8b358593 addi a1,a1,-1869 # 8b3 - 4b46: 2e450513 addi a0,a0,740 # d2e4 - 4b4a: 72d070ef jal ra,ca76 - 4b4e: a001 j 4b4e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2234 - taskENTER_CRITICAL(); - 4b50: fa1fe0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2236 - --uxSchedulerSuspended; - 4b54: 401c lw a5,0(s0) - 4b56: 17fd addi a5,a5,-1 - 4b58: c01c sw a5,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2238 - if( uxSchedulerSuspended == ( UBaseType_t ) pdFALSE ) - 4b5a: 401c lw a5,0(s0) - 4b5c: cb89 beqz a5,4b6e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2223 - BaseType_t xAlreadyYielded = pdFALSE; - 4b5e: 4501 li a0,0 - 4b60: c62a sw a0,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2326 - taskEXIT_CRITICAL(); - 4b62: fa5fe0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2329 -} - 4b66: 4532 lw a0,12(sp) - 4b68: 0141 addi sp,sp,16 - 4b6a: 9c7fb06f j 530 <__riscv_restore_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2240 - if( uxCurrentNumberOfTasks > ( UBaseType_t ) 0U ) - 4b6e: 200007b7 lui a5,0x20000 - 4b72: 1107a783 lw a5,272(a5) # 20000110 - 4b76: d7e5 beqz a5,4b5e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2244 - while( listLIST_IS_EMPTY( &xPendingReadyList ) == pdFALSE ) - 4b78: 200156b7 lui a3,0x20015 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2250 - prvAddTaskToReadyList( pxTCB ); - 4b7c: 20015537 lui a0,0x20015 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2222 - TCB_t * pxTCB = NULL; - 4b80: 4781 li a5,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2244 - while( listLIST_IS_EMPTY( &xPendingReadyList ) == pdFALSE ) - 4b82: 6a468693 addi a3,a3,1700 # 200156a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2250 - prvAddTaskToReadyList( pxTCB ); - 4b86: 20000f37 lui t5,0x20000 - 4b8a: 55050513 addi a0,a0,1360 # 20015550 - 4b8e: 48d1 li a7,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2254 - if( pxTCB->uxPriority >= pxCurrentTCB->uxPriority ) - 4b90: 20000337 lui t1,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2256 - xYieldPending = pdTRUE; - 4b94: 20000e37 lui t3,0x20000 - 4b98: 4e85 li t4,1 - 4b9a: a859 j 4c30 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2246 - pxTCB = listGET_OWNER_OF_HEAD_ENTRY( ( &xPendingReadyList ) ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 4b9c: 46dc lw a5,12(a3) - 4b9e: 47dc lw a5,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2247 - listREMOVE_ITEM( &( pxTCB->xEventListItem ) ); - 4ba0: 4fcc lw a1,28(a5) - 4ba2: 5390 lw a2,32(a5) - 4ba4: 5798 lw a4,40(a5) - 4ba6: c590 sw a2,8(a1) - 4ba8: 0207a803 lw a6,32(a5) - 4bac: 00b82223 sw a1,4(a6) - 4bb0: 00472803 lw a6,4(a4) - 4bb4: 01878593 addi a1,a5,24 - 4bb8: 00b81363 bne a6,a1,4bbe - 4bbc: c350 sw a2,4(a4) - 4bbe: 4310 lw a2,0(a4) - 4bc0: 0207a423 sw zero,40(a5) - 4bc4: 167d addi a2,a2,-1 - 4bc6: c310 sw a2,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2249 - listREMOVE_ITEM( &( pxTCB->xStateListItem ) ); - 4bc8: 478c lw a1,8(a5) - 4bca: 47d0 lw a2,12(a5) - 4bcc: 4bd8 lw a4,20(a5) - 4bce: 00478813 addi a6,a5,4 - 4bd2: c590 sw a2,8(a1) - 4bd4: c24c sw a1,4(a2) - 4bd6: 434c lw a1,4(a4) - 4bd8: 01059363 bne a1,a6,4bde - 4bdc: c350 sw a2,4(a4) - 4bde: 4310 lw a2,0(a4) - 4be0: 0007aa23 sw zero,20(a5) - 4be4: 167d addi a2,a2,-1 - 4be6: c310 sw a2,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2250 - prvAddTaskToReadyList( pxTCB ); - 4be8: 120f0713 addi a4,t5,288 # 20000120 - 4bec: 57d0 lw a2,44(a5) - 4bee: 430c lw a1,0(a4) - 4bf0: 00c5f363 bgeu a1,a2,4bf6 - 4bf4: c310 sw a2,0(a4) - 4bf6: 03160733 mul a4,a2,a7 - 4bfa: 972a add a4,a4,a0 - 4bfc: 434c lw a1,4(a4) - 4bfe: 0085af83 lw t6,8(a1) - 4c02: c78c sw a1,8(a5) - 4c04: 01f7a623 sw t6,12(a5) - 4c08: 0085af83 lw t6,8(a1) - 4c0c: 010fa223 sw a6,4(t6) - 4c10: 0105a423 sw a6,8(a1) - 4c14: 430c lw a1,0(a4) - 4c16: cbd8 sw a4,20(a5) - 4c18: 0585 addi a1,a1,1 - 4c1a: c30c sw a1,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2254 - if( pxTCB->uxPriority >= pxCurrentTCB->uxPriority ) - 4c1c: 10430713 addi a4,t1,260 # 20000104 - 4c20: 4318 lw a4,0(a4) - 4c22: 5758 lw a4,44(a4) - 4c24: 00e66663 bltu a2,a4,4c30 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2256 - xYieldPending = pdTRUE; - 4c28: 13ce0713 addi a4,t3,316 # 2000013c - 4c2c: 01d72023 sw t4,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2244 - while( listLIST_IS_EMPTY( &xPendingReadyList ) == pdFALSE ) - 4c30: 4298 lw a4,0(a3) - 4c32: f72d bnez a4,4b9c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2264 - if( pxTCB != NULL ) - 4c34: c399 beqz a5,4c3a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2272 - prvResetNextTaskUnblockTime(); - 4c36: 96bff0ef jal ra,45a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2280 - TickType_t xPendedCounts = xPendedTicks; /* Non-volatile copy. */ - 4c3a: 200007b7 lui a5,0x20000 - 4c3e: 13078713 addi a4,a5,304 # 20000130 - 4c42: 4304 lw s1,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2282 - if( xPendedCounts > ( TickType_t ) 0U ) - 4c44: 13078413 addi s0,a5,304 - 4c48: cc99 beqz s1,4c66 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2288 - xYieldPending = pdTRUE; - 4c4a: 20000937 lui s2,0x20000 - 4c4e: 4985 li s3,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2286 - if( xTaskIncrementTick() != pdFALSE ) - 4c50: d1dff0ef jal ra,496c - 4c54: c509 beqz a0,4c5e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2288 - xYieldPending = pdTRUE; - 4c56: 13c90793 addi a5,s2,316 # 2000013c - 4c5a: 0137a023 sw s3,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2295 - --xPendedCounts; - 4c5e: 14fd addi s1,s1,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2296 - } while( xPendedCounts > ( TickType_t ) 0U ); - 4c60: f8e5 bnez s1,4c50 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2298 - xPendedTicks = 0; - 4c62: 00042023 sw zero,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2306 - if( xYieldPending != pdFALSE ) - 4c66: 200007b7 lui a5,0x20000 - 4c6a: 13c7a783 lw a5,316(a5) # 2000013c - 4c6e: ee0788e3 beqz a5,4b5e -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 4c72: e000e7b7 lui a5,0xe000e - 4c76: 6711 lui a4,0x4 - 4c78: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> -xTaskResumeAll(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:2310 - xAlreadyYielded = pdTRUE; - 4c7c: 4505 li a0,1 - 4c7e: b5cd j 4b60 - -00004c80 : -vTaskDelay(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1351 - if( xTicksToDelay > ( TickType_t ) 0U ) - 4c80: e519 bnez a0,4c8e -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 4c82: e000e7b7 lui a5,0xe000e - 4c86: 6711 lui a4,0x4 - 4c88: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> - 4c8c: 8082 ret -vTaskDelay(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1347 - { - 4c8e: 889fb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1353 - configASSERT( uxSchedulerSuspended == 0 ); - 4c92: 200007b7 lui a5,0x20000 - 4c96: 1187a783 lw a5,280(a5) # 20000118 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1347 - { - 4c9a: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1353 - configASSERT( uxSchedulerSuspended == 0 ); - 4c9c: c39d beqz a5,4cc2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1353 (discriminator 1) - 4c9e: 67a1 lui a5,0x8 - 4ca0: 80078793 addi a5,a5,-2048 # 7800 - 4ca4: 30079073 csrw mstatus,a5 - 4ca8: 0000d637 lui a2,0xd - 4cac: 0000d537 lui a0,0xd - 4cb0: 34460613 addi a2,a2,836 # d344 - 4cb4: 54900593 li a1,1353 - 4cb8: 2e450513 addi a0,a0,740 # d2e4 - 4cbc: 5bb070ef jal ra,ca76 - 4cc0: a001 j 4cc0 - 4cc2: c62a sw a0,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1354 (discriminator 2) - vTaskSuspendAll(); - 4cc4: c8fff0ef jal ra,4952 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1365 (discriminator 2) - prvAddCurrentTaskToDelayedList( xTicksToDelay, pdFALSE ); - 4cc8: 4532 lw a0,12(sp) - 4cca: 4581 li a1,0 - 4ccc: 8f9ff0ef jal ra,45c4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1367 (discriminator 2) - xAlreadyYielded = xTaskResumeAll(); - 4cd0: e49ff0ef jal ra,4b18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1376 (discriminator 2) - if( xAlreadyYielded == pdFALSE ) - 4cd4: e511 bnez a0,4ce0 -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 4cd6: e000e7b7 lui a5,0xe000e - 4cda: 6711 lui a4,0x4 - 4cdc: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> -vTaskDelay(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:1384 - } - 4ce0: 0141 addi sp,sp,16 - 4ce2: 859fb06f j 53a <__riscv_restore_0> - -00004ce6 : -vTaskSwitchContext(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3023 - if( uxSchedulerSuspended != ( UBaseType_t ) pdFALSE ) - 4ce6: 200007b7 lui a5,0x20000 - 4cea: 1187a703 lw a4,280(a5) # 20000118 - 4cee: 200007b7 lui a5,0x20000 - 4cf2: 13c78793 addi a5,a5,316 # 2000013c - 4cf6: c701 beqz a4,4cfe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3027 - xYieldPending = pdTRUE; - 4cf8: 4705 li a4,1 - 4cfa: c398 sw a4,0(a5) - 4cfc: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3031 - xYieldPending = pdFALSE; - 4cfe: 0007a023 sw zero,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3074 - taskSELECT_HIGHEST_PRIORITY_TASK(); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 4d02: 200007b7 lui a5,0x20000 - 4d06: 12078713 addi a4,a5,288 # 20000120 - 4d0a: 4318 lw a4,0(a4) - 4d0c: 12078613 addi a2,a5,288 - 4d10: 200157b7 lui a5,0x20015 - 4d14: 55078793 addi a5,a5,1360 # 20015550 - 4d18: 4851 li a6,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3074 (discriminator 5) - 4d1a: 030706b3 mul a3,a4,a6 - 4d1e: 00d785b3 add a1,a5,a3 - 4d22: 4188 lw a0,0(a1) - 4d24: c515 beqz a0,4d50 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3074 (discriminator 7) - 4d26: 41c8 lw a0,4(a1) - 4d28: 06a1 addi a3,a3,8 - 4d2a: 96be add a3,a3,a5 - 4d2c: 4148 lw a0,4(a0) - 4d2e: c1c8 sw a0,4(a1) - 4d30: 00d51463 bne a0,a3,4d38 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3074 (discriminator 8) - 4d34: 4154 lw a3,4(a0) - 4d36: c1d4 sw a3,4(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3074 (discriminator 10) - 4d38: 46d1 li a3,20 - 4d3a: 02d706b3 mul a3,a4,a3 - 4d3e: 97b6 add a5,a5,a3 - 4d40: 43dc lw a5,4(a5) - 4d42: 47d4 lw a3,12(a5) - 4d44: 200007b7 lui a5,0x20000 - 4d48: 10d7a223 sw a3,260(a5) # 20000104 - 4d4c: c218 sw a4,0(a2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3075 (discriminator 10) - traceTASK_SWITCHED_IN(); - 4d4e: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3074 (discriminator 6) - taskSELECT_HIGHEST_PRIORITY_TASK(); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 4d50: e715 bnez a4,4d7c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3022 -{ - 4d52: fc4fb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3074 - taskSELECT_HIGHEST_PRIORITY_TASK(); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 4d56: 67a1 lui a5,0x8 - 4d58: 80078793 addi a5,a5,-2048 # 7800 - 4d5c: 30079073 csrw mstatus,a5 - 4d60: 0000d637 lui a2,0xd - 4d64: 6585 lui a1,0x1 - 4d66: 0000d537 lui a0,0xd - 4d6a: 34460613 addi a2,a2,836 # d344 - 4d6e: c0258593 addi a1,a1,-1022 # c02 - 4d72: 2e450513 addi a0,a0,740 # d2e4 - 4d76: 501070ef jal ra,ca76 - 4d7a: a001 j 4d7a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3074 (discriminator 3) - 4d7c: 177d addi a4,a4,-1 - 4d7e: bf71 j 4d1a - -00004d80 : -vTaskPlaceOnEventList(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3099 -{ - 4d80: f96fb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3100 - configASSERT( pxEventList ); - 4d84: e505 bnez a0,4dac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3100 (discriminator 1) - 4d86: 67a1 lui a5,0x8 - 4d88: 80078793 addi a5,a5,-2048 # 7800 - 4d8c: 30079073 csrw mstatus,a5 - 4d90: 0000d637 lui a2,0xd - 4d94: 6585 lui a1,0x1 - 4d96: 0000d537 lui a0,0xd - 4d9a: 34460613 addi a2,a2,836 # d344 - 4d9e: c1c58593 addi a1,a1,-996 # c1c - 4da2: 2e450513 addi a0,a0,740 # d2e4 - 4da6: 4d1070ef jal ra,ca76 - 4daa: a001 j 4daa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3116 (discriminator 2) - vListInsert( pxEventList, &( pxCurrentTCB->xEventListItem ) ); - 4dac: 200007b7 lui a5,0x20000 - 4db0: 842e mv s0,a1 - 4db2: 1047a583 lw a1,260(a5) # 20000104 - 4db6: 05e1 addi a1,a1,24 - 4db8: dbdfe0ef jal ra,3b74 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3118 (discriminator 2) - prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); - 4dbc: 4585 li a1,1 - 4dbe: 8522 mv a0,s0 - 4dc0: 805ff0ef jal ra,45c4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3119 (discriminator 2) -} - 4dc4: f76fb06f j 53a <__riscv_restore_0> - -00004dc8 : -vTaskPlaceOnEventListRestricted(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3153 - { - 4dc8: f4efb2ef jal t0,516 <__riscv_save_0> - 4dcc: 872a mv a4,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3154 - configASSERT( pxEventList ); - 4dce: e505 bnez a0,4df6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3154 (discriminator 1) - 4dd0: 67a1 lui a5,0x8 - 4dd2: 80078793 addi a5,a5,-2048 # 7800 - 4dd6: 30079073 csrw mstatus,a5 - 4dda: 0000d637 lui a2,0xd - 4dde: 6585 lui a1,0x1 - 4de0: 0000d537 lui a0,0xd - 4de4: 34460613 addi a2,a2,836 # d344 - 4de8: c5258593 addi a1,a1,-942 # c52 - 4dec: 2e450513 addi a0,a0,740 # d2e4 - 4df0: 487070ef jal ra,ca76 - 4df4: a001 j 4df4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3166 (discriminator 2) - listINSERT_END( pxEventList, &( pxCurrentTCB->xEventListItem ) ); - 4df6: 200007b7 lui a5,0x20000 - 4dfa: 10478793 addi a5,a5,260 # 20000104 - 4dfe: 4354 lw a3,4(a4) - 4e00: 852e mv a0,a1 - 4e02: 438c lw a1,0(a5) - 4e04: 0086a803 lw a6,8(a3) - 4e08: cdd4 sw a3,28(a1) - 4e0a: 438c lw a1,0(a5) - 4e0c: 0305a023 sw a6,32(a1) - 4e10: 0007a803 lw a6,0(a5) - 4e14: 468c lw a1,8(a3) - 4e16: 0861 addi a6,a6,24 - 4e18: 0105a223 sw a6,4(a1) - 4e1c: 0007a803 lw a6,0(a5) - 4e20: 439c lw a5,0(a5) - 4e22: 0861 addi a6,a6,24 - 4e24: 0106a423 sw a6,8(a3) - 4e28: d798 sw a4,40(a5) - 4e2a: 431c lw a5,0(a4) - 4e2c: 0785 addi a5,a5,1 - 4e2e: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3171 (discriminator 2) - if( xWaitIndefinitely != pdFALSE ) - 4e30: c211 beqz a2,4e34 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3173 - xTicksToWait = portMAX_DELAY; - 4e32: 557d li a0,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3177 - prvAddCurrentTaskToDelayedList( xTicksToWait, xWaitIndefinitely ); - 4e34: 85b2 mv a1,a2 - 4e36: f8eff0ef jal ra,45c4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3178 - } - 4e3a: f00fb06f j 53a <__riscv_restore_0> - -00004e3e : -xTaskRemoveFromEventList(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3201 - pxUnblockedTCB = listGET_OWNER_OF_HEAD_ENTRY( pxEventList ); /*lint !e9079 void * is used as this macro is used with timers and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 4e3e: 455c lw a5,12(a0) - 4e40: 47dc lw a5,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3202 - configASSERT( pxUnblockedTCB ); - 4e42: e795 bnez a5,4e6e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3184 (discriminator 1) -{ - 4e44: ed2fb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3202 (discriminator 1) - configASSERT( pxUnblockedTCB ); - 4e48: 67a1 lui a5,0x8 - 4e4a: 80078793 addi a5,a5,-2048 # 7800 - 4e4e: 30079073 csrw mstatus,a5 - 4e52: 0000d637 lui a2,0xd - 4e56: 6585 lui a1,0x1 - 4e58: 0000d537 lui a0,0xd - 4e5c: 34460613 addi a2,a2,836 # d344 - 4e60: c8258593 addi a1,a1,-894 # c82 - 4e64: 2e450513 addi a0,a0,740 # d2e4 - 4e68: 40f070ef jal ra,ca76 - 4e6c: a001 j 4e6c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3203 (discriminator 2) - listREMOVE_ITEM( &( pxUnblockedTCB->xEventListItem ) ); - 4e6e: 4fd0 lw a2,28(a5) - 4e70: 5394 lw a3,32(a5) - 4e72: 5798 lw a4,40(a5) - 4e74: 01878593 addi a1,a5,24 - 4e78: c614 sw a3,8(a2) - 4e7a: c2d0 sw a2,4(a3) - 4e7c: 4350 lw a2,4(a4) - 4e7e: 00b61363 bne a2,a1,4e84 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3203 (discriminator 1) - 4e82: c354 sw a3,4(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3203 (discriminator 3) - 4e84: 4314 lw a3,0(a4) - 4e86: 0207a423 sw zero,40(a5) - 4e8a: 16fd addi a3,a3,-1 - 4e8c: c314 sw a3,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3205 (discriminator 3) - if( uxSchedulerSuspended == ( UBaseType_t ) pdFALSE ) - 4e8e: 20000737 lui a4,0x20000 - 4e92: 11872703 lw a4,280(a4) # 20000118 - 4e96: 57d4 lw a3,44(a5) - 4e98: ef25 bnez a4,4f10 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3207 - listREMOVE_ITEM( &( pxUnblockedTCB->xStateListItem ) ); - 4e9a: 478c lw a1,8(a5) - 4e9c: 47d0 lw a2,12(a5) - 4e9e: 4bd8 lw a4,20(a5) - 4ea0: c590 sw a2,8(a1) - 4ea2: 47d0 lw a2,12(a5) - 4ea4: 4348 lw a0,4(a4) - 4ea6: c24c sw a1,4(a2) - 4ea8: 00478593 addi a1,a5,4 - 4eac: 00b51363 bne a0,a1,4eb2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3207 (discriminator 1) - 4eb0: c350 sw a2,4(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3207 (discriminator 3) - 4eb2: 4310 lw a2,0(a4) - 4eb4: 0007aa23 sw zero,20(a5) - 4eb8: 167d addi a2,a2,-1 - 4eba: c310 sw a2,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3208 (discriminator 3) - prvAddTaskToReadyList( pxUnblockedTCB ); - 4ebc: 20000737 lui a4,0x20000 - 4ec0: 12070713 addi a4,a4,288 # 20000120 - 4ec4: 4310 lw a2,0(a4) - 4ec6: 00d67363 bgeu a2,a3,4ecc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3208 (discriminator 1) - 4eca: c314 sw a3,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3208 (discriminator 3) - 4ecc: 4751 li a4,20 - 4ece: 02e68633 mul a2,a3,a4 - 4ed2: 20015737 lui a4,0x20015 - 4ed6: 55070713 addi a4,a4,1360 # 20015550 - 4eda: 9732 add a4,a4,a2 - 4edc: 4350 lw a2,4(a4) - 4ede: 4608 lw a0,8(a2) - 4ee0: c790 sw a2,8(a5) - 4ee2: c7c8 sw a0,12(a5) - 4ee4: 4608 lw a0,8(a2) - 4ee6: c14c sw a1,4(a0) - 4ee8: c60c sw a1,8(a2) - 4eea: cbd8 sw a4,20(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3228 - listINSERT_END( &( xPendingReadyList ), &( pxUnblockedTCB->xEventListItem ) ); - 4eec: 431c lw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3244 - xReturn = pdFALSE; - 4eee: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3228 - listINSERT_END( &( xPendingReadyList ), &( pxUnblockedTCB->xEventListItem ) ); - 4ef0: 0785 addi a5,a5,1 - 4ef2: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3231 - if( pxUnblockedTCB->uxPriority > pxCurrentTCB->uxPriority ) - 4ef4: 200007b7 lui a5,0x20000 - 4ef8: 1047a783 lw a5,260(a5) # 20000104 - 4efc: 57dc lw a5,44(a5) - 4efe: 00d7f863 bgeu a5,a3,4f0e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3240 - xYieldPending = pdTRUE; - 4f02: 200007b7 lui a5,0x20000 - 4f06: 4705 li a4,1 - 4f08: 12e7ae23 sw a4,316(a5) # 2000013c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3236 - xReturn = pdTRUE; - 4f0c: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3248 -} - 4f0e: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3228 - listINSERT_END( &( xPendingReadyList ), &( pxUnblockedTCB->xEventListItem ) ); - 4f10: 20015737 lui a4,0x20015 - 4f14: 6a470713 addi a4,a4,1700 # 200156a4 - 4f18: 4350 lw a2,4(a4) - 4f1a: 4608 lw a0,8(a2) - 4f1c: cfd0 sw a2,28(a5) - 4f1e: d388 sw a0,32(a5) - 4f20: 4608 lw a0,8(a2) - 4f22: c14c sw a1,4(a0) - 4f24: c60c sw a1,8(a2) - 4f26: d798 sw a4,40(a5) - 4f28: b7d1 j 4eec - -00004f2a : -vTaskInternalSetTimeOutState(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3315 - pxTimeOut->xOverflowCount = xNumOfOverflows; - 4f2a: 200007b7 lui a5,0x20000 - 4f2e: 12c7a783 lw a5,300(a5) # 2000012c - 4f32: c11c sw a5,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3316 - pxTimeOut->xTimeOnEntering = xTickCount; - 4f34: 200007b7 lui a5,0x20000 - 4f38: 1387a783 lw a5,312(a5) # 20000138 - 4f3c: c15c sw a5,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3317 -} - 4f3e: 8082 ret - -00004f40 : -xTaskCheckForTimeOut(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3322 -{ - 4f40: dd6fb2ef jal t0,516 <__riscv_save_0> - 4f44: 1141 addi sp,sp,-16 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3325 - configASSERT( pxTimeOut ); - 4f46: e505 bnez a0,4f6e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3325 (discriminator 1) - 4f48: 67a1 lui a5,0x8 - 4f4a: 80078793 addi a5,a5,-2048 # 7800 - 4f4e: 30079073 csrw mstatus,a5 - 4f52: 0000d637 lui a2,0xd - 4f56: 6585 lui a1,0x1 - 4f58: 0000d537 lui a0,0xd - 4f5c: 34460613 addi a2,a2,836 # d344 - 4f60: cfd58593 addi a1,a1,-771 # cfd - 4f64: 2e450513 addi a0,a0,740 # d2e4 - 4f68: 30f070ef jal ra,ca76 - 4f6c: a001 j 4f6c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3326 (discriminator 2) - configASSERT( pxTicksToWait ); - 4f6e: e585 bnez a1,4f96 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3326 (discriminator 1) - 4f70: 67a1 lui a5,0x8 - 4f72: 80078793 addi a5,a5,-2048 # 7800 - 4f76: 30079073 csrw mstatus,a5 - 4f7a: 0000d637 lui a2,0xd - 4f7e: 6585 lui a1,0x1 - 4f80: 0000d537 lui a0,0xd - 4f84: 34460613 addi a2,a2,836 # d344 - 4f88: cfe58593 addi a1,a1,-770 # cfe - 4f8c: 2e450513 addi a0,a0,740 # d2e4 - 4f90: 2e7070ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3326 (discriminator 2) - 4f94: a001 j 4f94 - 4f96: c62e sw a1,12(sp) - 4f98: c42a sw a0,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3328 (discriminator 2) - taskENTER_CRITICAL(); - 4f9a: b57fe0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3335 (discriminator 2) - if( pxCurrentTCB->ucDelayAborted != ( uint8_t ) pdFALSE ) - 4f9e: 20000737 lui a4,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3331 (discriminator 2) - const TickType_t xConstTickCount = xTickCount; - 4fa2: 200007b7 lui a5,0x20000 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3335 (discriminator 2) - if( pxCurrentTCB->ucDelayAborted != ( uint8_t ) pdFALSE ) - 4fa6: 10470713 addi a4,a4,260 # 20000104 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3331 (discriminator 2) - const TickType_t xConstTickCount = xTickCount; - 4faa: 1387a683 lw a3,312(a5) # 20000138 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3335 (discriminator 2) - if( pxCurrentTCB->ucDelayAborted != ( uint8_t ) pdFALSE ) - 4fae: 431c lw a5,0(a4) - 4fb0: 4522 lw a0,8(sp) - 4fb2: 45b2 lw a1,12(sp) - 4fb4: 0517c783 lbu a5,81(a5) - 4fb8: cb99 beqz a5,4fce -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3339 - pxCurrentTCB->ucDelayAborted = pdFALSE; - 4fba: 431c lw a5,0(a4) - 4fbc: 040788a3 sb zero,81(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3363 - xReturn = pdTRUE; - 4fc0: 4405 li s0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3379 - taskEXIT_CRITICAL(); - 4fc2: b45fe0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3382 -} - 4fc6: 8522 mv a0,s0 - 4fc8: 0141 addi sp,sp,16 - 4fca: d70fb06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3346 - if( *pxTicksToWait == portMAX_DELAY ) - 4fce: 419c lw a5,0(a1) - 4fd0: 577d li a4,-1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3351 - xReturn = pdFALSE; - 4fd2: 4401 li s0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3346 - if( *pxTicksToWait == portMAX_DELAY ) - 4fd4: fee787e3 beq a5,a4,4fc2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3356 - if( ( xNumOfOverflows != pxTimeOut->xOverflowCount ) && ( xConstTickCount >= pxTimeOut->xTimeOnEntering ) ) /*lint !e525 Indentation preferred as is to make code within pre-processor directives clearer. */ - 4fd8: 20000637 lui a2,0x20000 - 4fdc: 12c62603 lw a2,300(a2) # 2000012c - 4fe0: 00052803 lw a6,0(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3332 - const TickType_t xElapsedTime = xConstTickCount - pxTimeOut->xTimeOnEntering; - 4fe4: 4158 lw a4,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3356 - if( ( xNumOfOverflows != pxTimeOut->xOverflowCount ) && ( xConstTickCount >= pxTimeOut->xTimeOnEntering ) ) /*lint !e525 Indentation preferred as is to make code within pre-processor directives clearer. */ - 4fe6: 00c80763 beq a6,a2,4ff4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3356 (discriminator 1) - 4fea: 00e6e563 bltu a3,a4,4ff4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3364 - *pxTicksToWait = ( TickType_t ) 0; - 4fee: 0005a023 sw zero,0(a1) - 4ff2: b7f9 j 4fc0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3332 - const TickType_t xElapsedTime = xConstTickCount - pxTimeOut->xTimeOnEntering; - 4ff4: 40e68633 sub a2,a3,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3366 - else if( xElapsedTime < *pxTicksToWait ) /*lint !e961 Explicit casting is only redundant with some compilers, whereas others require it to prevent integer conversion errors. */ - 4ff8: fef67be3 bgeu a2,a5,4fee -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3369 - *pxTicksToWait -= xElapsedTime; - 4ffc: 8f95 sub a5,a5,a3 - 4ffe: 97ba add a5,a5,a4 - 5000: c19c sw a5,0(a1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3370 - vTaskInternalSetTimeOutState( pxTimeOut ); - 5002: f29ff0ef jal ra,4f2a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3371 - xReturn = pdFALSE; - 5006: 4401 li s0,0 - 5008: bf6d j 4fc2 - -0000500a : -vTaskMissedYield(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3387 - xYieldPending = pdTRUE; - 500a: 200007b7 lui a5,0x20000 - 500e: 4705 li a4,1 - 5010: 12e7ae23 sw a4,316(a5) # 2000013c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:3388 -} - 5014: 8082 ret - -00005016 : -xTaskGetSchedulerState(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4050 - if( xSchedulerRunning == pdFALSE ) - 5016: 200007b7 lui a5,0x20000 - 501a: 1347a783 lw a5,308(a5) # 20000134 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4052 - xReturn = taskSCHEDULER_NOT_STARTED; - 501e: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4050 - if( xSchedulerRunning == pdFALSE ) - 5020: cb81 beqz a5,5030 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4056 - if( uxSchedulerSuspended == ( UBaseType_t ) pdFALSE ) - 5022: 200007b7 lui a5,0x20000 - 5026: 1187a503 lw a0,280(a5) # 20000118 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4062 - xReturn = taskSCHEDULER_SUSPENDED; - 502a: 00153513 seqz a0,a0 - 502e: 0506 slli a0,a0,0x1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4067 - } - 5030: 8082 ret - -00005032 : -xTaskPriorityInherit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4082 - if( pxMutexHolder != NULL ) - 5032: c54d beqz a0,50dc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4075 - { - 5034: cc8fb2ef jal t0,4fc <__riscv_save_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4087 - if( pxMutexHolderTCB->uxPriority < pxCurrentTCB->uxPriority ) - 5038: 20000937 lui s2,0x20000 - 503c: 10490793 addi a5,s2,260 # 20000104 - 5040: 4394 lw a3,0(a5) - 5042: 5558 lw a4,44(a0) - 5044: 10490913 addi s2,s2,260 - 5048: 56d4 lw a3,44(a3) - 504a: 08d77363 bgeu a4,a3,50d0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4092 - if( ( listGET_LIST_ITEM_VALUE( &( pxMutexHolderTCB->xEventListItem ) ) & taskEVENT_LIST_ITEM_VALUE_IN_USE ) == 0UL ) - 504e: 4d1c lw a5,24(a0) - 5050: 0007c863 bltz a5,5060 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4094 - listSET_LIST_ITEM_VALUE( &( pxMutexHolderTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) pxCurrentTCB->uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 5054: 00092783 lw a5,0(s2) - 5058: 57d4 lw a3,44(a5) - 505a: 47bd li a5,15 - 505c: 8f95 sub a5,a5,a3 - 505e: cd1c sw a5,24(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4103 - if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ pxMutexHolderTCB->uxPriority ] ), &( pxMutexHolderTCB->xStateListItem ) ) != pdFALSE ) - 5060: 4651 li a2,20 - 5062: 02c70733 mul a4,a4,a2 - 5066: 200157b7 lui a5,0x20015 - 506a: 55078693 addi a3,a5,1360 # 20015550 - 506e: 55078493 addi s1,a5,1360 - 5072: 9736 add a4,a4,a3 - 5074: 4954 lw a3,20(a0) - 5076: 04e69863 bne a3,a4,50c6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4105 - if( uxListRemove( &( pxMutexHolderTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 507a: 00450993 addi s3,a0,4 - 507e: 842a mv s0,a0 - 5080: 854e mv a0,s3 - 5082: b21fe0ef jal ra,3ba2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4118 - pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; - 5086: 00092783 lw a5,0(s2) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4119 - prvAddTaskToReadyList( pxMutexHolderTCB ); - 508a: 20000737 lui a4,0x20000 - 508e: 12070713 addi a4,a4,288 # 20000120 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4118 - pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; - 5092: 57dc lw a5,44(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4119 - prvAddTaskToReadyList( pxMutexHolderTCB ); - 5094: 4314 lw a3,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4118 - pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; - 5096: d45c sw a5,44(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4119 - prvAddTaskToReadyList( pxMutexHolderTCB ); - 5098: 00f6f363 bgeu a3,a5,509e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4119 (discriminator 1) - 509c: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4119 (discriminator 3) - 509e: 4751 li a4,20 - 50a0: 02e787b3 mul a5,a5,a4 - 50a4: 97a6 add a5,a5,s1 - 50a6: 43d8 lw a4,4(a5) - 50a8: 4714 lw a3,8(a4) - 50aa: c418 sw a4,8(s0) - 50ac: c454 sw a3,12(s0) - 50ae: 4714 lw a3,8(a4) - 50b0: 0136a223 sw s3,4(a3) - 50b4: 01372423 sw s3,8(a4) - 50b8: 4398 lw a4,0(a5) - 50ba: c85c sw a5,20(s0) - 50bc: 0705 addi a4,a4,1 - 50be: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4130 - xReturn = pdTRUE; - 50c0: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4157 - } - 50c2: c6efb06f j 530 <__riscv_restore_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4124 - pxMutexHolderTCB->uxPriority = pxCurrentTCB->uxPriority; - 50c6: 00092783 lw a5,0(s2) - 50ca: 57dc lw a5,44(a5) - 50cc: d55c sw a5,44(a0) - 50ce: bfcd j 50c0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4134 - if( pxMutexHolderTCB->uxBasePriority < pxCurrentTCB->uxPriority ) - 50d0: 439c lw a5,0(a5) - 50d2: 4168 lw a0,68(a0) - 50d4: 57dc lw a5,44(a5) - 50d6: 00f53533 sltu a0,a0,a5 - 50da: b7e5 j 50c2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4077 - BaseType_t xReturn = pdFALSE; - 50dc: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4157 - } - 50de: 8082 ret - -000050e0 : -xTaskPriorityDisinherit(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4169 - if( pxMutexHolder != NULL ) - 50e0: e511 bnez a0,50ec -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4167 - BaseType_t xReturn = pdFALSE; - 50e2: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4237 - } - 50e4: 8082 ret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4167 - BaseType_t xReturn = pdFALSE; - 50e6: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4237 - } - 50e8: c52fb06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4165 - { - 50ec: c2afb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4175 - configASSERT( pxTCB == pxCurrentTCB ); - 50f0: 200007b7 lui a5,0x20000 - 50f4: 1047a783 lw a5,260(a5) # 20000104 - 50f8: 842a mv s0,a0 - 50fa: 02a78563 beq a5,a0,5124 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4175 (discriminator 1) - 50fe: 67a1 lui a5,0x8 - 5100: 80078793 addi a5,a5,-2048 # 7800 - 5104: 30079073 csrw mstatus,a5 - 5108: 0000d637 lui a2,0xd - 510c: 6585 lui a1,0x1 - 510e: 0000d537 lui a0,0xd - 5112: 34460613 addi a2,a2,836 # d344 - 5116: 04f58593 addi a1,a1,79 # 104f - 511a: 2e450513 addi a0,a0,740 # d2e4 - 511e: 159070ef jal ra,ca76 - 5122: a001 j 5122 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4176 (discriminator 2) - configASSERT( pxTCB->uxMutexesHeld ); - 5124: 47bc lw a5,72(a5) - 5126: e785 bnez a5,514e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4176 (discriminator 1) - 5128: 67a1 lui a5,0x8 - 512a: 80078793 addi a5,a5,-2048 # 7800 - 512e: 30079073 csrw mstatus,a5 - 5132: 0000d637 lui a2,0xd - 5136: 6585 lui a1,0x1 - 5138: 0000d537 lui a0,0xd - 513c: 34460613 addi a2,a2,836 # d344 - 5140: 05058593 addi a1,a1,80 # 1050 - 5144: 2e450513 addi a0,a0,740 # d2e4 - 5148: 12f070ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4176 (discriminator 2) - 514c: a001 j 514c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4181 (discriminator 2) - if( pxTCB->uxPriority != pxTCB->uxBasePriority ) - 514e: 5554 lw a3,44(a0) - 5150: 4178 lw a4,68(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4177 (discriminator 2) - ( pxTCB->uxMutexesHeld )--; - 5152: 17fd addi a5,a5,-1 - 5154: c53c sw a5,72(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4181 (discriminator 2) - if( pxTCB->uxPriority != pxTCB->uxBasePriority ) - 5156: f8e688e3 beq a3,a4,50e6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4184 - if( pxTCB->uxMutexesHeld == ( UBaseType_t ) 0 ) - 515a: f7d1 bnez a5,50e6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4191 - if( uxListRemove( &( pxTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 515c: 00450493 addi s1,a0,4 - 5160: 8526 mv a0,s1 - 5162: a41fe0ef jal ra,3ba2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4203 - pxTCB->uxPriority = pxTCB->uxBasePriority; - 5166: 407c lw a5,68(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4208 - listSET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) pxTCB->uxPriority ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 5168: 473d li a4,15 - 516a: 8f1d sub a4,a4,a5 - 516c: cc18 sw a4,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4209 - prvAddTaskToReadyList( pxTCB ); - 516e: 20000737 lui a4,0x20000 - 5172: 12070713 addi a4,a4,288 # 20000120 - 5176: 4314 lw a3,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4203 - pxTCB->uxPriority = pxTCB->uxBasePriority; - 5178: d45c sw a5,44(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4209 - prvAddTaskToReadyList( pxTCB ); - 517a: 00f6f363 bgeu a3,a5,5180 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4209 (discriminator 1) - 517e: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4209 (discriminator 3) - 5180: 4751 li a4,20 - 5182: 02e78733 mul a4,a5,a4 - 5186: 200157b7 lui a5,0x20015 - 518a: 55078793 addi a5,a5,1360 # 20015550 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4219 (discriminator 3) - xReturn = pdTRUE; - 518e: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4209 (discriminator 3) - prvAddTaskToReadyList( pxTCB ); - 5190: 97ba add a5,a5,a4 - 5192: 43d8 lw a4,4(a5) - 5194: 4714 lw a3,8(a4) - 5196: c418 sw a4,8(s0) - 5198: c454 sw a3,12(s0) - 519a: 4714 lw a3,8(a4) - 519c: c2c4 sw s1,4(a3) - 519e: c704 sw s1,8(a4) - 51a0: 4398 lw a4,0(a5) - 51a2: c85c sw a5,20(s0) - 51a4: 0705 addi a4,a4,1 - 51a6: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4236 (discriminator 3) - return xReturn; - 51a8: b781 j 50e8 - -000051aa : -vTaskPriorityDisinheritAfterTimeout(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4251 - if( pxMutexHolder != NULL ) - 51aa: c175 beqz a0,528e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4246 - { - 51ac: b6afb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4255 - configASSERT( pxTCB->uxMutexesHeld ); - 51b0: 4534 lw a3,72(a0) - 51b2: 842a mv s0,a0 - 51b4: e685 bnez a3,51dc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4255 (discriminator 1) - 51b6: 67a1 lui a5,0x8 - 51b8: 80078793 addi a5,a5,-2048 # 7800 - 51bc: 30079073 csrw mstatus,a5 - 51c0: 0000d637 lui a2,0xd - 51c4: 6585 lui a1,0x1 - 51c6: 0000d537 lui a0,0xd - 51ca: 34460613 addi a2,a2,836 # d344 - 51ce: 09f58593 addi a1,a1,159 # 109f - 51d2: 2e450513 addi a0,a0,740 # d2e4 - 51d6: 0a1070ef jal ra,ca76 - 51da: a001 j 51da -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4261 (discriminator 2) - if( pxTCB->uxBasePriority < uxHighestPriorityWaitingTask ) - 51dc: 417c lw a5,68(a0) - 51de: 00b7f363 bgeu a5,a1,51e4 - 51e2: 87ae mv a5,a1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4271 (discriminator 2) - if( pxTCB->uxPriority != uxPriorityToUse ) - 51e4: 5458 lw a4,44(s0) - 51e6: 0af70263 beq a4,a5,528a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4277 - if( pxTCB->uxMutexesHeld == uxOnlyOneMutexHeld ) - 51ea: 4605 li a2,1 - 51ec: 08c69f63 bne a3,a2,528a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4282 - configASSERT( pxTCB != pxCurrentTCB ); - 51f0: 200006b7 lui a3,0x20000 - 51f4: 1046a683 lw a3,260(a3) # 20000104 - 51f8: 02869563 bne a3,s0,5222 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4282 (discriminator 1) - 51fc: 67a1 lui a5,0x8 - 51fe: 80078793 addi a5,a5,-2048 # 7800 - 5202: 30079073 csrw mstatus,a5 - 5206: 0000d637 lui a2,0xd - 520a: 6585 lui a1,0x1 - 520c: 0000d537 lui a0,0xd - 5210: 34460613 addi a2,a2,836 # d344 - 5214: 0ba58593 addi a1,a1,186 # 10ba - 5218: 2e450513 addi a0,a0,740 # d2e4 - 521c: 05b070ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4282 (discriminator 2) - 5220: a001 j 5220 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4293 (discriminator 2) - if( ( listGET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ) ) & taskEVENT_LIST_ITEM_VALUE_IN_USE ) == 0UL ) - 5222: 4c14 lw a3,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4289 (discriminator 2) - pxTCB->uxPriority = uxPriorityToUse; - 5224: d45c sw a5,44(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4293 (discriminator 2) - if( ( listGET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ) ) & taskEVENT_LIST_ITEM_VALUE_IN_USE ) == 0UL ) - 5226: 0006c663 bltz a3,5232 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4295 - listSET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ), ( TickType_t ) configMAX_PRIORITIES - ( TickType_t ) uxPriorityToUse ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 522a: 46bd li a3,15 - 522c: 40f687b3 sub a5,a3,a5 - 5230: cc1c sw a5,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4308 - if( listIS_CONTAINED_WITHIN( &( pxReadyTasksLists[ uxPriorityUsedOnEntry ] ), &( pxTCB->xStateListItem ) ) != pdFALSE ) - 5232: 4651 li a2,20 - 5234: 02c70733 mul a4,a4,a2 - 5238: 200157b7 lui a5,0x20015 - 523c: 55078693 addi a3,a5,1360 # 20015550 - 5240: 55078493 addi s1,a5,1360 - 5244: 9736 add a4,a4,a3 - 5246: 4854 lw a3,20(s0) - 5248: 04e69163 bne a3,a4,528a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4310 - if( uxListRemove( &( pxTCB->xStateListItem ) ) == ( UBaseType_t ) 0 ) - 524c: 00440913 addi s2,s0,4 - 5250: 854a mv a0,s2 - 5252: 951fe0ef jal ra,3ba2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4322 - prvAddTaskToReadyList( pxTCB ); - 5256: 20000737 lui a4,0x20000 - 525a: 12070713 addi a4,a4,288 # 20000120 - 525e: 545c lw a5,44(s0) - 5260: 4314 lw a3,0(a4) - 5262: 00f6f363 bgeu a3,a5,5268 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4322 (discriminator 1) - 5266: c31c sw a5,0(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4322 (discriminator 3) - 5268: 4751 li a4,20 - 526a: 02e787b3 mul a5,a5,a4 - 526e: 97a6 add a5,a5,s1 - 5270: 43d8 lw a4,4(a5) - 5272: 4714 lw a3,8(a4) - 5274: c418 sw a4,8(s0) - 5276: c454 sw a3,12(s0) - 5278: 4714 lw a3,8(a4) - 527a: 0126a223 sw s2,4(a3) - 527e: 01272423 sw s2,8(a4) - 5282: 4398 lw a4,0(a5) - 5284: c85c sw a5,20(s0) - 5286: 0705 addi a4,a4,1 - 5288: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4343 - } - 528a: ab0fb06f j 53a <__riscv_restore_0> - 528e: 8082 ret - -00005290 : -pvTaskIncrementMutexHeldCount(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4691 - if( pxCurrentTCB != NULL ) - 5290: 200007b7 lui a5,0x20000 - 5294: 10478713 addi a4,a5,260 # 20000104 - 5298: 4318 lw a4,0(a4) - 529a: 10478793 addi a5,a5,260 - 529e: c709 beqz a4,52a8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4693 - ( pxCurrentTCB->uxMutexesHeld )++; - 52a0: 4394 lw a3,0(a5) - 52a2: 46b8 lw a4,72(a3) - 52a4: 0705 addi a4,a4,1 - 52a6: c6b8 sw a4,72(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4696 - return pxCurrentTCB; - 52a8: 4388 lw a0,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/tasks.c:4697 - } - 52aa: 8082 ret - -000052ac : -prvCheckForValidListAndQueue(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:929 - pxOverflowTimerList = pxTemp; - } -/*-----------------------------------------------------------*/ - - static void prvCheckForValidListAndQueue( void ) - { - 52ac: a6afb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:933 - /* Check that the list from which active timers are referenced, and the - * queue used to communicate with the timer service, have been - * initialised. */ - taskENTER_CRITICAL(); - 52b0: 841fe0ef jal ra,3af0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:935 - { - if( xTimerQueue == NULL ) - 52b4: 90c18413 addi s0,gp,-1780 # 2000014c - 52b8: 401c lw a5,0(s0) - 52ba: e3b1 bnez a5,52fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:937 - { - vListInitialise( &xActiveTimerList1 ); - 52bc: 20015537 lui a0,0x20015 - 52c0: 6e050913 addi s2,a0,1760 # 200156e0 - 52c4: 6e050513 addi a0,a0,1760 - 52c8: 893fe0ef jal ra,3b5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:938 - vListInitialise( &xActiveTimerList2 ); - 52cc: 20015537 lui a0,0x20015 - 52d0: 6f450493 addi s1,a0,1780 # 200156f4 - 52d4: 6f450513 addi a0,a0,1780 - 52d8: 883fe0ef jal ra,3b5a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:939 - pxCurrentTimerList = &xActiveTimerList1; - 52dc: 9121a023 sw s2,-1792(gp) # 20000140 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:953 - - xTimerQueue = xQueueCreateStatic( ( UBaseType_t ) configTIMER_QUEUE_LENGTH, ( UBaseType_t ) sizeof( DaemonTaskMessage_t ), &( ucStaticTimerQueueStorage[ 0 ] ), &xStaticTimerQueue ); - } - #else - { - xTimerQueue = xQueueCreate( ( UBaseType_t ) configTIMER_QUEUE_LENGTH, sizeof( DaemonTaskMessage_t ) ); - 52e0: 4601 li a2,0 - 52e2: 45c1 li a1,16 - 52e4: 4511 li a0,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:940 - pxOverflowTimerList = &xActiveTimerList2; - 52e6: 9091a223 sw s1,-1788(gp) # 20000144 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:953 - xTimerQueue = xQueueCreate( ( UBaseType_t ) configTIMER_QUEUE_LENGTH, sizeof( DaemonTaskMessage_t ) ); - 52ea: acbfe0ef jal ra,3db4 - 52ee: c008 sw a0,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:959 - } - #endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ - - #if ( configQUEUE_REGISTRY_SIZE > 0 ) - { - if( xTimerQueue != NULL ) - 52f0: c519 beqz a0,52fe -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:961 - { - vQueueAddToRegistry( xTimerQueue, "TmrQ" ); - 52f2: 0000d5b7 lui a1,0xd - 52f6: 38458593 addi a1,a1,900 # d384 - 52fa: 948ff0ef jal ra,4442 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:975 - else - { - mtCOVERAGE_TEST_MARKER(); - } - } - taskEXIT_CRITICAL(); - 52fe: 809fe0ef jal ra,3b06 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:976 - } - 5302: a38fb06f j 53a <__riscv_restore_0> - -00005306 : -prvInsertTimerInActiveList(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:715 - { - 5306: a10fb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:718 - listSET_LIST_ITEM_VALUE( &( pxTimer->xTimerListItem ), xNextExpiryTime ); - 530a: c14c sw a1,4(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:719 - listSET_LIST_ITEM_OWNER( &( pxTimer->xTimerListItem ), pxTimer ); - 530c: c908 sw a0,16(a0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:715 - { - 530e: 87aa mv a5,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:721 - if( xNextExpiryTime <= xTimeNow ) - 5310: 02b66063 bltu a2,a1,5330 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:725 - if( ( ( TickType_t ) ( xTimeNow - xCommandTime ) ) >= pxTimer->xTimerPeriodInTicks ) /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 5314: 4d18 lw a4,24(a0) - 5316: 8e15 sub a2,a2,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:729 - xProcessTimerNow = pdTRUE; - 5318: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:725 - if( ( ( TickType_t ) ( xTimeNow - xCommandTime ) ) >= pxTimer->xTimerPeriodInTicks ) /*lint !e961 MISRA exception as the casts are only redundant for some ports. */ - 531a: 00e67963 bgeu a2,a4,532c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:733 - vListInsert( pxOverflowTimerList, &( pxTimer->xTimerListItem ) ); - 531e: 00478593 addi a1,a5,4 - 5322: 9041a503 lw a0,-1788(gp) # 20000144 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:747 - vListInsert( pxCurrentTimerList, &( pxTimer->xTimerListItem ) ); - 5326: 84ffe0ef jal ra,3b74 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:716 - BaseType_t xProcessTimerNow = pdFALSE; - 532a: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:752 - } - 532c: a0efb06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:738 - if( ( xTimeNow < xCommandTime ) && ( xNextExpiryTime >= xCommandTime ) ) - 5330: 00d67563 bgeu a2,a3,533a -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:729 (discriminator 1) - xProcessTimerNow = pdTRUE; - 5334: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:738 (discriminator 1) - if( ( xTimeNow < xCommandTime ) && ( xNextExpiryTime >= xCommandTime ) ) - 5336: fed5fbe3 bgeu a1,a3,532c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:747 - vListInsert( pxCurrentTimerList, &( pxTimer->xTimerListItem ) ); - 533a: 00478593 addi a1,a5,4 - 533e: 9001a503 lw a0,-1792(gp) # 20000140 - 5342: b7d5 j 5326 - -00005344 : -prvReloadTimer(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:520 - { - 5344: 9d2fb2ef jal t0,516 <__riscv_save_0> - 5348: 842a mv s0,a0 - 534a: 84ae mv s1,a1 - 534c: 8932 mv s2,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:524 - while( prvInsertTimerInActiveList( pxTimer, ( xExpiredTime + pxTimer->xTimerPeriodInTicks ), xTimeNow, xExpiredTime ) != pdFALSE ) - 534e: 4c0c lw a1,24(s0) - 5350: 86a6 mv a3,s1 - 5352: 864a mv a2,s2 - 5354: 95a6 add a1,a1,s1 - 5356: 8522 mv a0,s0 - 5358: fafff0ef jal ra,5306 - 535c: e119 bnez a0,5362 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:533 - } - 535e: 9dcfb06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:527 - xExpiredTime += pxTimer->xTimerPeriodInTicks; - 5362: 4c1c lw a5,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:531 - pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); - 5364: 8522 mv a0,s0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:527 - xExpiredTime += pxTimer->xTimerPeriodInTicks; - 5366: 94be add s1,s1,a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:531 - pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); - 5368: 501c lw a5,32(s0) - 536a: 9782 jalr a5 - 536c: b7cd j 534e - -0000536e : -prvProcessExpiredTimer(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:538 - { - 536e: 9a8fb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:539 - Timer_t * const pxTimer = ( Timer_t * ) listGET_OWNER_OF_HEAD_ENTRY( pxCurrentTimerList ); /*lint !e9087 !e9079 void * is used as this macro is used with tasks and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 5372: 9001a783 lw a5,-1792(gp) # 20000140 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:538 - { - 5376: 1141 addi sp,sp,-16 - 5378: 84aa mv s1,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:539 - Timer_t * const pxTimer = ( Timer_t * ) listGET_OWNER_OF_HEAD_ENTRY( pxCurrentTimerList ); /*lint !e9087 !e9079 void * is used as this macro is used with tasks and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 537a: 47dc lw a5,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:538 - { - 537c: c62e sw a1,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:539 - Timer_t * const pxTimer = ( Timer_t * ) listGET_OWNER_OF_HEAD_ENTRY( pxCurrentTimerList ); /*lint !e9087 !e9079 void * is used as this macro is used with tasks and co-routines too. Alignment is known to be fine as the type of the pointer stored and retrieved is the same. */ - 537e: 47c0 lw s0,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:544 - ( void ) uxListRemove( &( pxTimer->xTimerListItem ) ); - 5380: 00440513 addi a0,s0,4 - 5384: 81ffe0ef jal ra,3ba2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:548 - if( ( pxTimer->ucStatus & tmrSTATUS_IS_AUTORELOAD ) != 0 ) - 5388: 02444783 lbu a5,36(s0) - 538c: 4632 lw a2,12(sp) - 538e: 0047f713 andi a4,a5,4 - 5392: cb19 beqz a4,53a8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:550 - prvReloadTimer( pxTimer, xNextExpireTime, xTimeNow ); - 5394: 85a6 mv a1,s1 - 5396: 8522 mv a0,s0 - 5398: fadff0ef jal ra,5344 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:559 - pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); - 539c: 501c lw a5,32(s0) - 539e: 8522 mv a0,s0 - 53a0: 9782 jalr a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:560 - } - 53a2: 0141 addi sp,sp,16 - 53a4: 996fb06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:554 - pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); - 53a8: 9bf9 andi a5,a5,-2 - 53aa: 02f40223 sb a5,36(s0) - 53ae: b7fd j 539c - -000053b0 : -prvSwitchTimerLists(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:904 - { - 53b0: 966fb2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:912 - while( listLIST_IS_EMPTY( pxCurrentTimerList ) == pdFALSE ) - 53b4: 90018693 addi a3,gp,-1792 # 20000140 - 53b8: 4298 lw a4,0(a3) - 53ba: 431c lw a5,0(a4) - 53bc: eb81 bnez a5,53cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:923 - pxCurrentTimerList = pxOverflowTimerList; - 53be: 90418793 addi a5,gp,-1788 # 20000144 - 53c2: 4390 lw a2,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:924 - pxOverflowTimerList = pxTemp; - 53c4: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:923 - pxCurrentTimerList = pxOverflowTimerList; - 53c6: c290 sw a2,0(a3) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:925 - } - 53c8: 972fb06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:914 - xNextExpireTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxCurrentTimerList ); - 53cc: 475c lw a5,12(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:919 - prvProcessExpiredTimer( xNextExpireTime, tmrMAX_TIME_BEFORE_OVERFLOW ); - 53ce: 55fd li a1,-1 - 53d0: 4388 lw a0,0(a5) - 53d2: f9dff0ef jal ra,536e - 53d6: bff9 j 53b4 - -000053d8 : -prvTimerTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:564 - { - 53d8: 916fb2ef jal t0,4ee <__riscv_save_10> -prvProcessReceivedCommands(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:814 - switch( xMessage.xMessageID ) - 53dc: 6935 lui s2,0xd -prvTimerTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:564 - { - 53de: 1141 addi sp,sp,-16 -prvProcessReceivedCommands(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:814 - switch( xMessage.xMessageID ) - 53e0: 36090913 addi s2,s2,864 # d360 -prvGetNextExpireTime(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:672 (discriminator 1) - *pxListWasEmpty = listLIST_IS_EMPTY( pxCurrentTimerList ); - 53e4: 9001a783 lw a5,-1792(gp) # 20000140 - 53e8: 4398 lw a4,0(a5) - 53ea: cb29 beqz a4,543c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:676 - xNextExpireTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxCurrentTimerList ); - 53ec: 47dc lw a5,12(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:672 - *pxListWasEmpty = listLIST_IS_EMPTY( pxCurrentTimerList ); - 53ee: 4c81 li s9,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:676 - xNextExpireTime = listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxCurrentTimerList ); - 53f0: 0007ac03 lw s8,0(a5) -prvProcessTimerOrBlockTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:605 - vTaskSuspendAll(); - 53f4: d5eff0ef jal ra,4952 -prvSampleTimeNow(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:693 - xTimeNow = xTaskGetTickCount(); - 53f8: d6aff0ef jal ra,4962 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:695 - if( xTimeNow < xLastTime ) - 53fc: 9081a783 lw a5,-1784(gp) # 20000148 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:693 - xTimeNow = xTaskGetTickCount(); - 5400: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:695 - if( xTimeNow < xLastTime ) - 5402: 90818493 addi s1,gp,-1784 # 20000148 - 5406: 90c18a13 addi s4,gp,-1780 # 2000014c - 540a: 02f56c63 bltu a0,a5,5442 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:705 - xLastTime = xTimeNow; - 540e: c088 sw a0,0(s1) -prvProcessTimerOrBlockTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:617 - if( ( xListWasEmpty == pdFALSE ) && ( xNextExpireTime <= xTimeNow ) ) - 5410: 040c8063 beqz s9,5450 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:634 - xListWasEmpty = listLIST_IS_EMPTY( pxOverflowTimerList ); - 5414: 9041a783 lw a5,-1788(gp) # 20000144 - 5418: 4390 lw a2,0(a5) - 541a: 00163613 seqz a2,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:637 - vQueueWaitForMessageRestricted( xTimerQueue, ( xNextExpireTime - xTimeNow ), xListWasEmpty ); - 541e: 000a2503 lw a0,0(s4) - 5422: 408c05b3 sub a1,s8,s0 - 5426: 91eff0ef jal ra,4544 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:639 - if( xTaskResumeAll() == pdFALSE ) - 542a: eeeff0ef jal ra,4b18 - 542e: ed19 bnez a0,544c -NVIC_SetPendingIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:229 - 5430: e000e7b7 lui a5,0xe000e - 5434: 6711 lui a4,0x4 - 5436: 20e7a023 sw a4,512(a5) # e000e200 <__freertos_irq_stack_top+0xbffde200> - 543a: a809 j 544c -prvGetNextExpireTime(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:672 - *pxListWasEmpty = listLIST_IS_EMPTY( pxCurrentTimerList ); - 543c: 4c85 li s9,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:681 - xNextExpireTime = ( TickType_t ) 0U; - 543e: 4c01 li s8,0 - 5440: bf55 j 53f4 -prvSampleTimeNow(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:697 - prvSwitchTimerLists(); - 5442: f6fff0ef jal ra,53b0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:705 - xLastTime = xTimeNow; - 5446: c080 sw s0,0(s1) -prvProcessTimerOrBlockTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:655 - ( void ) xTaskResumeAll(); - 5448: ed0ff0ef jal ra,4b18 -prvProcessReceivedCommands(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:814 - switch( xMessage.xMessageID ) - 544c: 4c21 li s8,8 - 544e: a00d j 5470 -prvProcessTimerOrBlockTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:617 - if( ( xListWasEmpty == pdFALSE ) && ( xNextExpireTime <= xTimeNow ) ) - 5450: 4601 li a2,0 - 5452: fd8566e3 bltu a0,s8,541e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:619 - ( void ) xTaskResumeAll(); - 5456: ec2ff0ef jal ra,4b18 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:620 - prvProcessExpiredTimer( xNextExpireTime, xTimeNow ); - 545a: 85a2 mv a1,s0 - 545c: 8562 mv a0,s8 - 545e: f11ff0ef jal ra,536e - 5462: b7ed j 544c -prvProcessReceivedCommands(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:777 - pxCallback->pxCallbackFunction( pxCallback->pvParameter1, pxCallback->ulParameter2 ); - 5464: 4792 lw a5,4(sp) - 5466: 45b2 lw a1,12(sp) - 5468: 9782 jalr a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:788 - if( xMessage.xMessageID >= ( BaseType_t ) 0 ) - 546a: 4782 lw a5,0(sp) - 546c: 0007dd63 bgez a5,5486 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:762 - while( xQueueReceive( xTimerQueue, &xMessage, tmrNO_DELAY ) != pdFAIL ) /*lint !e603 xMessage does not have to be initialised as it is passed out, not in, and it is not used unless xQueueReceive() returns pdTRUE. */ - 5470: 000a2503 lw a0,0(s4) - 5474: 4601 li a2,0 - 5476: 858a mv a1,sp - 5478: ca9fe0ef jal ra,4120 - 547c: d525 beqz a0,53e4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:768 - if( xMessage.xMessageID < ( BaseType_t ) 0 ) - 547e: 4782 lw a5,0(sp) - 5480: 4522 lw a0,8(sp) - 5482: fe07c1e3 bltz a5,5464 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:792 - pxTimer = xMessage.u.xTimerParameters.pxTimer; - 5486: 4422 lw s0,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:794 - if( listIS_CONTAINED_WITHIN( NULL, &( pxTimer->xTimerListItem ) ) == pdFALSE ) /*lint !e961. The cast is only redundant when NULL is passed into the macro. */ - 5488: 485c lw a5,20(s0) - 548a: e39d bnez a5,54b0 -prvSampleTimeNow(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:693 - xTimeNow = xTaskGetTickCount(); - 548c: cd6ff0ef jal ra,4962 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:695 - if( xTimeNow < xLastTime ) - 5490: 409c lw a5,0(s1) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:693 - xTimeNow = xTaskGetTickCount(); - 5492: 8caa mv s9,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:695 - if( xTimeNow < xLastTime ) - 5494: 00f57463 bgeu a0,a5,549c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:697 - prvSwitchTimerLists(); - 5498: f19ff0ef jal ra,53b0 -prvProcessReceivedCommands(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:814 - switch( xMessage.xMessageID ) - 549c: 4782 lw a5,0(sp) -prvSampleTimeNow(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:705 - xLastTime = xTimeNow; - 549e: 0194a023 sw s9,0(s1) -prvProcessReceivedCommands(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:814 - switch( xMessage.xMessageID ) - 54a2: 17fd addi a5,a5,-1 - 54a4: fcfc66e3 bltu s8,a5,5470 - 54a8: 078a slli a5,a5,0x2 - 54aa: 97ca add a5,a5,s2 - 54ac: 439c lw a5,0(a5) - 54ae: 8782 jr a5 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:797 - ( void ) uxListRemove( &( pxTimer->xTimerListItem ) ); - 54b0: 00440513 addi a0,s0,4 - 54b4: eeefe0ef jal ra,3ba2 - 54b8: bfd1 j 548c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:821 - pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; - 54ba: 02444783 lbu a5,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:823 - if( prvInsertTimerInActiveList( pxTimer, xMessage.u.xTimerParameters.xMessageValue + pxTimer->xTimerPeriodInTicks, xTimeNow, xMessage.u.xTimerParameters.xMessageValue ) != pdFALSE ) - 54be: 4c0c lw a1,24(s0) - 54c0: 4692 lw a3,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:821 - pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; - 54c2: 0017e793 ori a5,a5,1 - 54c6: 02f40223 sb a5,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:823 - if( prvInsertTimerInActiveList( pxTimer, xMessage.u.xTimerParameters.xMessageValue + pxTimer->xTimerPeriodInTicks, xTimeNow, xMessage.u.xTimerParameters.xMessageValue ) != pdFALSE ) - 54ca: 8666 mv a2,s9 - 54cc: 95b6 add a1,a1,a3 - 54ce: 8522 mv a0,s0 - 54d0: e37ff0ef jal ra,5306 - 54d4: dd51 beqz a0,5470 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:827 - if( ( pxTimer->ucStatus & tmrSTATUS_IS_AUTORELOAD ) != 0 ) - 54d6: 02444783 lbu a5,36(s0) - 54da: 0047f713 andi a4,a5,4 - 54de: cf01 beqz a4,54f6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:829 - prvReloadTimer( pxTimer, xMessage.u.xTimerParameters.xMessageValue + pxTimer->xTimerPeriodInTicks, xTimeNow ); - 54e0: 4c1c lw a5,24(s0) - 54e2: 4592 lw a1,4(sp) - 54e4: 8666 mv a2,s9 - 54e6: 8522 mv a0,s0 - 54e8: 95be add a1,a1,a5 - 54ea: e5bff0ef jal ra,5344 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:838 - pxTimer->pxCallbackFunction( ( TimerHandle_t ) pxTimer ); - 54ee: 501c lw a5,32(s0) - 54f0: 8522 mv a0,s0 - 54f2: 9782 jalr a5 - 54f4: bfb5 j 5470 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:833 - pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); - 54f6: 9bf9 andi a5,a5,-2 - 54f8: 02f40223 sb a5,36(s0) - 54fc: bfcd j 54ee -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:850 - pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); - 54fe: 02444783 lbu a5,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:880 - pxTimer->ucStatus &= ( ( uint8_t ) ~tmrSTATUS_IS_ACTIVE ); - 5502: 9bf9 andi a5,a5,-2 - 5504: 02f40223 sb a5,36(s0) - 5508: b7a5 j 5470 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:855 - pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; - 550a: 02444783 lbu a5,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:856 - pxTimer->xTimerPeriodInTicks = xMessage.u.xTimerParameters.xMessageValue; - 550e: 4592 lw a1,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:855 - pxTimer->ucStatus |= tmrSTATUS_IS_ACTIVE; - 5510: 0017e793 ori a5,a5,1 - 5514: 02f40223 sb a5,36(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:856 - pxTimer->xTimerPeriodInTicks = xMessage.u.xTimerParameters.xMessageValue; - 5518: cc0c sw a1,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:857 - configASSERT( ( pxTimer->xTimerPeriodInTicks > 0 ) ); - 551a: e19d bnez a1,5540 - 551c: 67a1 lui a5,0x8 - 551e: 80078793 addi a5,a5,-2048 # 7800 - 5522: 30079073 csrw mstatus,a5 - 5526: 0000d637 lui a2,0xd - 552a: 0000d537 lui a0,0xd - 552e: 38c60613 addi a2,a2,908 # d38c - 5532: 35900593 li a1,857 - 5536: 2e450513 addi a0,a0,740 # d2e4 - 553a: 53c070ef jal ra,ca76 - 553e: a001 j 553e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:865 - ( void ) prvInsertTimerInActiveList( pxTimer, ( xTimeNow + pxTimer->xTimerPeriodInTicks ), xTimeNow, xTimeNow ); - 5540: 86e6 mv a3,s9 - 5542: 8666 mv a2,s9 - 5544: 95e6 add a1,a1,s9 - 5546: 8522 mv a0,s0 - 5548: dbfff0ef jal ra,5306 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:866 - break; - 554c: b715 j 5470 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:874 - if( ( pxTimer->ucStatus & tmrSTATUS_IS_STATICALLY_ALLOCATED ) == ( uint8_t ) 0 ) - 554e: 02444783 lbu a5,36(s0) - 5552: 0027f713 andi a4,a5,2 - 5556: f755 bnez a4,5502 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:876 - vPortFree( pxTimer ); - 5558: 8522 mv a0,s0 - 555a: becfe0ef jal ra,3946 - 555e: bf09 j 5470 - -00005560 : -xTimerCreateTimerTask(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:234 - { - 5560: fb7fa2ef jal t0,516 <__riscv_save_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:241 - prvCheckForValidListAndQueue(); - 5564: d49ff0ef jal ra,52ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:243 - if( xTimerQueue != NULL ) - 5568: 90c1a783 lw a5,-1780(gp) # 2000014c - 556c: e39d bnez a5,5592 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:281 - configASSERT( xReturn ); - 556e: 67a1 lui a5,0x8 - 5570: 80078793 addi a5,a5,-2048 # 7800 - 5574: 30079073 csrw mstatus,a5 - 5578: 0000d637 lui a2,0xd - 557c: 0000d537 lui a0,0xd - 5580: 38c60613 addi a2,a2,908 # d38c - 5584: 11900593 li a1,281 - 5588: 2e450513 addi a0,a0,740 # d2e4 - 558c: 4ea070ef jal ra,ca76 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:281 (discriminator 1) - 5590: a001 j 5590 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:267 - xReturn = xTaskCreate( prvTimerTask, - 5592: 0000d5b7 lui a1,0xd - 5596: 00005537 lui a0,0x5 - 559a: 91018793 addi a5,gp,-1776 # 20000150 - 559e: 4739 li a4,14 - 55a0: 4681 li a3,0 - 55a2: 10000613 li a2,256 - 55a6: 3a458593 addi a1,a1,932 # d3a4 - 55aa: 3d850513 addi a0,a0,984 # 53d8 - 55ae: 90eff0ef jal ra,46bc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:281 - configASSERT( xReturn ); - 55b2: dd55 beqz a0,556e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:283 - } - 55b4: f87fa06f j 53a <__riscv_restore_0> - -000055b8 : -xTimerCreate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:293 - { - 55b8: f45fa2ef jal t0,4fc <__riscv_save_4> - 55bc: 8aaa mv s5,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:296 - pxNewTimer = ( Timer_t * ) pvPortMalloc( sizeof( Timer_t ) ); /*lint !e9087 !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack, and the first member of Timer_t is always a pointer to the timer's mame. */ - 55be: 02800513 li a0,40 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:293 - { - 55c2: 84ae mv s1,a1 - 55c4: 8932 mv s2,a2 - 55c6: 8a36 mv s4,a3 - 55c8: 89ba mv s3,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:296 - pxNewTimer = ( Timer_t * ) pvPortMalloc( sizeof( Timer_t ) ); /*lint !e9087 !e9079 All values returned by pvPortMalloc() have at least the alignment required by the MCU's stack, and the first member of Timer_t is always a pointer to the timer's mame. */ - 55ca: 9f0fe0ef jal ra,37ba - 55ce: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:298 - if( pxNewTimer != NULL ) - 55d0: c939 beqz a0,5626 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:303 - pxNewTimer->ucStatus = 0x00; - 55d2: 02050223 sb zero,36(a0) -prvInitialiseNewTimer(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:363 - configASSERT( ( xTimerPeriodInTicks > 0 ) ); - 55d6: e09d bnez s1,55fc - 55d8: 67a1 lui a5,0x8 - 55da: 80078793 addi a5,a5,-2048 # 7800 - 55de: 30079073 csrw mstatus,a5 - 55e2: 0000d637 lui a2,0xd - 55e6: 0000d537 lui a0,0xd - 55ea: 38c60613 addi a2,a2,908 # d38c - 55ee: 16b00593 li a1,363 - 55f2: 2e450513 addi a0,a0,740 # d2e4 - 55f6: 480070ef jal ra,ca76 - 55fa: a001 j 55fa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:367 - prvCheckForValidListAndQueue(); - 55fc: cb1ff0ef jal ra,52ac -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:375 - vListInitialiseItem( &( pxNewTimer->xTimerListItem ) ); - 5600: 00440513 addi a0,s0,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:371 - pxNewTimer->pcTimerName = pcTimerName; - 5604: 01542023 sw s5,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:372 - pxNewTimer->xTimerPeriodInTicks = xTimerPeriodInTicks; - 5608: cc04 sw s1,24(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:373 - pxNewTimer->pvTimerID = pvTimerID; - 560a: 01442e23 sw s4,28(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:374 - pxNewTimer->pxCallbackFunction = pxCallbackFunction; - 560e: 03342023 sw s3,32(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:375 - vListInitialiseItem( &( pxNewTimer->xTimerListItem ) ); - 5612: d5cfe0ef jal ra,3b6e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:377 - if( uxAutoReload != pdFALSE ) - 5616: 00090863 beqz s2,5626 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:379 - pxNewTimer->ucStatus |= tmrSTATUS_IS_AUTORELOAD; - 561a: 02444783 lbu a5,36(s0) - 561e: 0047e793 ori a5,a5,4 - 5622: 02f40223 sb a5,36(s0) -xTimerCreate(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:308 - } - 5626: 8522 mv a0,s0 - 5628: f09fa06f j 530 <__riscv_restore_4> - -0000562c : -xTimerGenericCommand(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:391 - { - 562c: eebfa2ef jal t0,516 <__riscv_save_0> - 5630: 1101 addi sp,sp,-32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:395 - configASSERT( xTimer ); - 5632: e11d bnez a0,5658 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:395 (discriminator 1) - 5634: 67a1 lui a5,0x8 - 5636: 80078793 addi a5,a5,-2048 # 7800 - 563a: 30079073 csrw mstatus,a5 - 563e: 0000d637 lui a2,0xd - 5642: 0000d537 lui a0,0xd - 5646: 38c60613 addi a2,a2,908 # d38c - 564a: 18b00593 li a1,395 - 564e: 2e450513 addi a0,a0,740 # d2e4 - 5652: 424070ef jal ra,ca76 - 5656: a001 j 5656 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:399 (discriminator 2) - if( xTimerQueue != NULL ) - 5658: 90c18413 addi s0,gp,-1780 # 2000014c - 565c: 401c lw a5,0(s0) - 565e: c63a sw a4,12(sp) - 5660: 882a mv a6,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:392 (discriminator 2) - BaseType_t xReturn = pdFAIL; - 5662: 4501 li a0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:399 (discriminator 2) - if( xTimerQueue != NULL ) - 5664: c78d beqz a5,568e - 5666: 88b6 mv a7,a3 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:402 - xMessage.xMessageID = xCommandID; - 5668: c82e sw a1,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:403 - xMessage.u.xTimerParameters.xMessageValue = xOptionalValue; - 566a: ca32 sw a2,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:404 - xMessage.u.xTimerParameters.pxTimer = xTimer; - 566c: cc42 sw a6,24(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:406 - if( xCommandID < tmrFIRST_FROM_ISR_COMMAND ) - 566e: 4695 li a3,5 - 5670: 02b6c263 blt a3,a1,5694 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:408 - if( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING ) - 5674: 9a3ff0ef jal ra,5016 - 5678: 4732 lw a4,12(sp) - 567a: 4789 li a5,2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:410 - xReturn = xQueueSendToBack( xTimerQueue, &xMessage, xTicksToWait ); - 567c: 4681 li a3,0 - 567e: 863a mv a2,a4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:408 - if( xTaskGetSchedulerState() == taskSCHEDULER_RUNNING ) - 5680: 00f50363 beq a0,a5,5686 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:414 - xReturn = xQueueSendToBack( xTimerQueue, &xMessage, tmrNO_DELAY ); - 5684: 4601 li a2,0 - 5686: 4008 lw a0,0(s0) - 5688: 080c addi a1,sp,16 - 568a: f98fe0ef jal ra,3e22 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:430 - } - 568e: 6105 addi sp,sp,32 - 5690: eabfa06f j 53a <__riscv_restore_0> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../FreeRTOS/timers.c:419 - xReturn = xQueueSendToBackFromISR( xTimerQueue, &xMessage, pxHigherPriorityTaskWoken ); - 5694: 4681 li a3,0 - 5696: 8646 mv a2,a7 - 5698: 080c addi a1,sp,16 - 569a: 853e mv a0,a5 - 569c: 95dfe0ef jal ra,3ff8 - 56a0: b7fd j 568e - -000056a2 : -Delay_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:30 - * - * @return none - */ -void Delay_Init(void) -{ - p_us = SystemCoreClock / 8000000; - 56a2: 8101a783 lw a5,-2032(gp) # 20000050 - 56a6: 007a1737 lui a4,0x7a1 - 56aa: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x793cec> - 56ae: 02e7d7b3 divu a5,a5,a4 - 56b2: 0ff7f793 andi a5,a5,255 - 56b6: 90f18b23 sb a5,-1770(gp) # 20000156 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:31 - p_ms = (uint16_t)p_us * 1000; - 56ba: 3e800713 li a4,1000 - 56be: 02e787b3 mul a5,a5,a4 - 56c2: 90f19a23 sh a5,-1772(gp) # 20000154 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:32 -} - 56c6: 8082 ret - -000056c8 : -Delay_Us(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:47 - */ -void Delay_Us(uint32_t n) -{ - uint32_t i; - - SysTick->SR &= ~(1 << 0); - 56c8: e000f7b7 lui a5,0xe000f - 56cc: 43d8 lw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:50 - i = (uint32_t)n * p_us; - - SysTick->CMP = i; - 56ce: 4681 li a3,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:47 - SysTick->SR &= ~(1 << 0); - 56d0: 9b79 andi a4,a4,-2 - 56d2: c3d8 sw a4,4(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:48 - i = (uint32_t)n * p_us; - 56d4: 9161c703 lbu a4,-1770(gp) # 20000156 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:50 - SysTick->CMP = i; - 56d8: 02a70633 mul a2,a4,a0 - 56dc: cb90 sw a2,16(a5) - 56de: cbd4 sw a3,20(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:51 - SysTick->CTLR |= (1 << 4); - 56e0: 4398 lw a4,0(a5) - 56e2: 01076713 ori a4,a4,16 - 56e6: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:52 - SysTick->CTLR |= (1 << 5) | (1 << 0); - 56e8: 4398 lw a4,0(a5) - 56ea: 02176713 ori a4,a4,33 - 56ee: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:54 (discriminator 1) - - while((SysTick->SR & (1 << 0)) != (1 << 0)) - 56f0: 43d8 lw a4,4(a5) - 56f2: 8b05 andi a4,a4,1 - 56f4: df75 beqz a4,56f0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:56 - ; - SysTick->CTLR &= ~(1 << 0); - 56f6: 4398 lw a4,0(a5) - 56f8: 9b79 andi a4,a4,-2 - 56fa: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:57 -} - 56fc: 8082 ret - -000056fe : -USART_Printf_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:94 - * @param baudrate - USART communication baud rate. - * - * @return None - */ -void USART_Printf_Init(uint32_t baudrate) -{ - 56fe: e19fa2ef jal t0,516 <__riscv_save_0> - 5702: 1101 addi sp,sp,-32 - 5704: 842a mv s0,a0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:116 - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(GPIOA, &GPIO_InitStructure); - -#elif(DEBUG == DEBUG_UART3) - RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); - 5706: 4585 li a1,1 - 5708: 00040537 lui a0,0x40 - 570c: dfdfb0ef jal ra,1508 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:117 - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); - 5710: 4585 li a1,1 - 5712: 4521 li a0,8 - 5714: dd7fb0ef jal ra,14ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:119 - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; - 5718: 40000793 li a5,1024 - 571c: 827c sh a5,4(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:122 - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(GPIOB, &GPIO_InitStructure); - 571e: 40011537 lui a0,0x40011 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:120 - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 5722: 478d li a5,3 - 5724: c43e sw a5,8(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:122 - GPIO_Init(GPIOB, &GPIO_InitStructure); - 5726: 004c addi a1,sp,4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:121 - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - 5728: 47e1 li a5,24 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:122 - GPIO_Init(GPIOB, &GPIO_InitStructure); - 572a: c0050513 addi a0,a0,-1024 # 40010c00 <__freertos_irq_stack_top+0x1ffe0c00> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:121 - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - 572e: c63e sw a5,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:122 - GPIO_Init(GPIOB, &GPIO_InitStructure); - 5730: afffb0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:126 - -#endif - - USART_InitStructure.USART_BaudRate = baudrate; - 5734: c822 sw s0,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:142 -#elif(DEBUG == DEBUG_UART2) - USART_Init(USART2, &USART_InitStructure); - USART_Cmd(USART2, ENABLE); - -#elif(DEBUG == DEBUG_UART3) - USART_Init(USART3, &USART_InitStructure); - 5736: 40005437 lui s0,0x40005 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:129 - USART_InitStructure.USART_Parity = USART_Parity_No; - 573a: 000807b7 lui a5,0x80 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:142 - USART_Init(USART3, &USART_InitStructure); - 573e: 080c addi a1,sp,16 - 5740: 80040513 addi a0,s0,-2048 # 40004800 <__freertos_irq_stack_top+0x1ffd4800> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:129 - USART_InitStructure.USART_Parity = USART_Parity_No; - 5744: cc3e sw a5,24(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:127 - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - 5746: ca02 sw zero,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:130 - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - 5748: 00011e23 sh zero,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:142 - USART_Init(USART3, &USART_InitStructure); - 574c: f5bfb0ef jal ra,16a6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:143 - USART_Cmd(USART3, ENABLE); - 5750: 4585 li a1,1 - 5752: 80040513 addi a0,s0,-2048 - 5756: fdffb0ef jal ra,1734 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:146 - -#endif -} - 575a: 6105 addi sp,sp,32 - 575c: ddffa06f j 53a <__riscv_restore_0> - -00005760 <_write>: -_write(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:175 - * size - Data length - * - * @return size: Data length - */ -__attribute__((used)) int _write(int fd, char *buf, int size) -{ - 5760: d9dfa2ef jal t0,4fc <__riscv_save_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:224 - USART_SendData(USART1, *buf++); -#elif(DEBUG == DEBUG_UART2) - while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET); - USART_SendData(USART2, *buf++); -#elif(DEBUG == DEBUG_UART3) - while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET); - 5764: 400054b7 lui s1,0x40005 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:175 -{ - 5768: 89ae mv s3,a1 - 576a: 8932 mv s2,a2 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:215 - for(i = 0; i < size; i++) - 576c: 4401 li s0,0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:224 - while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET); - 576e: 80048493 addi s1,s1,-2048 # 40004800 <__freertos_irq_stack_top+0x1ffd4800> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:215 (discriminator 1) - for(i = 0; i < size; i++) - 5772: 01244563 blt s0,s2,577c <_write+0x1c> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:230 - USART_SendData(USART3, *buf++); -#endif - } -#endif - return size; -} - 5776: 854a mv a0,s2 - 5778: db9fa06f j 530 <__riscv_restore_4> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:224 (discriminator 1) - while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET); - 577c: 04000593 li a1,64 - 5780: 8526 mv a0,s1 - 5782: fd1fb0ef jal ra,1752 - 5786: d97d beqz a0,577c <_write+0x1c> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:225 (discriminator 2) - USART_SendData(USART3, *buf++); - 5788: 008987b3 add a5,s3,s0 - 578c: 00078583 lb a1,0(a5) # 80000 <_data_lma+0x72aec> - 5790: 8526 mv a0,s1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:215 (discriminator 2) - for(i = 0; i < size; i++) - 5792: 0405 addi s0,s0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/debug.c:225 (discriminator 2) - USART_SendData(USART3, *buf++); - 5794: 05c2 slli a1,a1,0x10 - 5796: 81c1 srli a1,a1,0x10 - 5798: fb3fb0ef jal ra,174a - 579c: bfd9 j 5772 <_write+0x12> - -0000579e : -DVP_Init(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:18 - -extern u8 socket[]; -extern volatile uint32_t sys_tick_ms; - -void DVP_Init(void) -{ - 579e: d79fa2ef jal t0,516 <__riscv_save_0> - 57a2: 1101 addi sp,sp,-32 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:22 - GPIO_InitTypeDef GPIO_InitStructure = {0}; - NVIC_InitTypeDef NVIC_InitStructure = {0}; - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); - 57a4: 4585 li a1,1 - 57a6: 4571 li a0,28 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:19 - GPIO_InitTypeDef GPIO_InitStructure = {0}; - 57a8: ca02 sw zero,20(sp) - 57aa: cc02 sw zero,24(sp) - 57ac: ce02 sw zero,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:20 - NVIC_InitTypeDef NVIC_InitStructure = {0}; - 57ae: c602 sw zero,12(sp) - 57b0: c802 sw zero,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:22 - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); - 57b2: d39fb0ef jal ra,14ea -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:23 - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DVP, ENABLE); - 57b6: 4585 li a1,1 - 57b8: 6509 lui a0,0x2 - 57ba: d13fb0ef jal ra,14cc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:27 - - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_9 | GPIO_Pin_10; - GPIO_Init(GPIOA, &GPIO_InitStructure); - 57be: 40011437 lui s0,0x40011 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:25 - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - 57c2: 4791 li a5,4 - 57c4: ce3e sw a5,28(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:27 - GPIO_Init(GPIOA, &GPIO_InitStructure); - 57c6: 084c addi a1,sp,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:26 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_9 | GPIO_Pin_10; - 57c8: 67000793 li a5,1648 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:27 - GPIO_Init(GPIOA, &GPIO_InitStructure); - 57cc: 80040513 addi a0,s0,-2048 # 40010800 <__freertos_irq_stack_top+0x1ffe0800> -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:26 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_9 | GPIO_Pin_10; - 57d0: 82fc sh a5,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:27 - GPIO_Init(GPIOA, &GPIO_InitStructure); - 57d2: a5dfb0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:28 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_11; - 57d6: 6785 lui a5,0x1 - 57d8: b0078793 addi a5,a5,-1280 # b00 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:29 - GPIO_Init(GPIOC, &GPIO_InitStructure); - 57dc: 084c addi a1,sp,20 - 57de: 40011537 lui a0,0x40011 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:28 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_11; - 57e2: 82fc sh a5,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:29 - GPIO_Init(GPIOC, &GPIO_InitStructure); - 57e4: a4bfb0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:31 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9; - GPIO_Init(GPIOB, &GPIO_InitStructure); - 57e8: 084c addi a1,sp,20 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:30 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9; - 57ea: 30800793 li a5,776 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:31 - GPIO_Init(GPIOB, &GPIO_InitStructure); - 57ee: c0040513 addi a0,s0,-1024 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:30 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9; - 57f2: 82fc sh a5,20(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:31 - GPIO_Init(GPIOB, &GPIO_InitStructure); - 57f4: a3bfb0ef jal ra,122e -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:33 - - NVIC_InitStructure.NVIC_IRQChannel = DVP_IRQn; - 57f8: 05600793 li a5,86 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:36 - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - 57fc: 4485 li s1,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:37 - NVIC_Init(&NVIC_InitStructure); - 57fe: 0068 addi a0,sp,12 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:33 - NVIC_InitStructure.NVIC_IRQChannel = DVP_IRQn; - 5800: 867c sh a5,12(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:36 - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - 5802: c826 sw s1,16(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:35 - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - 5804: 00010723 sb zero,14(sp) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:37 - NVIC_Init(&NVIC_InitStructure); - 5808: aeffb0ef jal ra,12f6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:39 - - DVP_Cfg(DVP_DMA_Disable, DVP_FLAG_FIFO_RESET_Enable, DVP_RX_RESET_Enable); - 580c: 4605 li a2,1 - 580e: 4585 li a1,1 - 5810: 4501 li a0,0 - 5812: e1afb0ef jal ra,e2c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:40 - DVP_Mode(RB_DVP_D8_MOD, Video_Mode); - 5816: 4581 li a1,0 - 5818: 4501 li a0,0 - 581a: de0fb0ef jal ra,dfa -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:41 - DVP->CR0 &= ~(RB_DVP_P_POLAR | RB_DVP_V_POLAR | RB_DVP_H_POLAR); - 581e: 50050437 lui s0,0x50050 - 5822: 201c lbu a5,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:46 - DVP->DMA_BUF0 = (uint32_t)DMA_LineBuf0; - DVP->DMA_BUF1 = (uint32_t)DMA_LineBuf1; - DVP->ROW_NUM = 1; - DVP->COL_NUM = BYTES_PER_LINE; - DVP_INTCfg(ENABLE, RB_DVP_IE_STR_FRM | RB_DVP_IE_ROW_DONE); - 5824: 458d li a1,3 - 5826: 4505 li a0,1 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:41 - DVP->CR0 &= ~(RB_DVP_P_POLAR | RB_DVP_V_POLAR | RB_DVP_H_POLAR); - 5828: 0f17f793 andi a5,a5,241 - 582c: a01c sb a5,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:42 - DVP->DMA_BUF0 = (uint32_t)DMA_LineBuf0; - 582e: 200157b7 lui a5,0x20015 - 5832: 70878793 addi a5,a5,1800 # 20015708 - 5836: c41c sw a5,8(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:43 - DVP->DMA_BUF1 = (uint32_t)DMA_LineBuf1; - 5838: 200167b7 lui a5,0x20016 - 583c: 90878793 addi a5,a5,-1784 # 20015908 - 5840: c45c sw a5,12(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:44 - DVP->ROW_NUM = 1; - 5842: a046 sh s1,4(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:45 - DVP->COL_NUM = BYTES_PER_LINE; - 5844: 20000793 li a5,512 - 5848: a07e sh a5,6(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:46 - DVP_INTCfg(ENABLE, RB_DVP_IE_STR_FRM | RB_DVP_IE_ROW_DONE); - 584a: d9afb0ef jal ra,de4 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:47 - DVP_Cfg(DVP_DMA_Enable, DVP_FLAG_FIFO_RESET_Disable, DVP_RX_RESET_Disable); - 584e: 4601 li a2,0 - 5850: 4581 li a1,0 - 5852: 4505 li a0,1 - 5854: dd8fb0ef jal ra,e2c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:48 - DVP->CR0 |= RB_DVP_ENABLE; - 5858: 201c lbu a5,0(s0) - 585a: 0017e793 ori a5,a5,1 - 585e: a01c sb a5,0(s0) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:49 -} - 5860: 6105 addi sp,sp,32 - 5862: cd9fa06f j 53a <__riscv_restore_0> - -00005866 : -DVP_Task(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:59 -volatile uint8_t Frame_Ready_Flag = 0; -volatile uint32_t Ready_Frame_Count = 0; - -void DVP_Task(void) -{ - if (!Line_Ready_Flag) return; - 5866: 91818793 addi a5,gp,-1768 # 20000158 - 586a: 2398 lbu a4,0(a5) - 586c: 0ff77713 andi a4,a4,255 - 5870: cf29 beqz a4,58ca -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:58 -{ - 5872: ca5fa2ef jal t0,516 <__riscv_save_0> -NVIC_DisableIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:184 - NVIC->IRER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); - 5876: e000e737 lui a4,0xe000e - 587a: 004006b7 lui a3,0x400 - 587e: 18d72423 sw a3,392(a4) # e000e188 <__freertos_irq_stack_top+0xbffde188> -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:185 - __asm volatile ("fence.i"); - 5882: 0000100f fence.i -DVP_Task(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:62 - - NVIC_DisableIRQ(DVP_IRQn); - uint8_t *line = (uint8_t *)Ready_Line_Ptr; - 5886: 9201a583 lw a1,-1760(gp) # 20000160 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:63 - uint32_t idx = current_line_idx; - 588a: 9241a403 lw s0,-1756(gp) # 20000164 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:64 - Line_Ready_Flag = 0; - 588e: 00078023 sb zero,0(a5) -NVIC_EnableIRQ(): -D:\zj\ch32v307_camera\prj\TCPClient\Core/core_riscv.h:170 - NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); - 5892: 10d72423 sw a3,264(a4) -DVP_Task(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:67 - NVIC_EnableIRQ(DVP_IRQn); - - if (idx < SENSOR_HEIGHT) - 5896: 0bf00493 li s1,191 - 589a: 0284e663 bltu s1,s0,58c6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:69 - { - memcpy(FrameBuffer[idx], line, BYTES_PER_LINE); - 589e: 200167b7 lui a5,0x20016 - 58a2: 00941513 slli a0,s0,0x9 - 58a6: b0878793 addi a5,a5,-1272 # 20015b08 - 58aa: 20000613 li a2,512 - 58ae: 953e add a0,a0,a5 - 58b0: 620070ef jal ra,ced0 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:71 - - if (idx == SENSOR_HEIGHT - 1) - 58b4: 00941963 bne s0,s1,58c6 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:73 - { - Frame_Ready_Flag = 1; - 58b8: 4705 li a4,1 - 58ba: 90e18ba3 sb a4,-1769(gp) # 20000157 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:74 - Ready_Frame_Count = frame_count; - 58be: 9281a703 lw a4,-1752(gp) # 20000168 - 58c2: 90e1ae23 sw a4,-1764(gp) # 2000015c -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:77 - } - } -} - 58c6: c75fa06f j 53a <__riscv_restore_0> - 58ca: 8082 ret - -000058cc : -DVP_IRQHandler(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:82 - -void DVP_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast"))); -void DVP_IRQHandler(void) -{ - if (DVP->IFR & RB_DVP_IF_STR_FRM) - 58cc: 50050737 lui a4,0x50050 - 58d0: 2b1c lbu a5,16(a4) - 58d2: 8b85 andi a5,a5,1 - 58d4: cb91 beqz a5,58e8 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:84 - { - DVP->IFR = RB_DVP_IF_STR_FRM; - 58d6: 4785 li a5,1 - 58d8: ab1c sb a5,16(a4) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:85 - current_line_idx = 0; - 58da: 9201a223 sw zero,-1756(gp) # 20000164 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:86 - frame_count++; - 58de: 92818793 addi a5,gp,-1752 # 20000168 - 58e2: 4398 lw a4,0(a5) - 58e4: 0705 addi a4,a4,1 - 58e6: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:88 - } - if (DVP->IFR & RB_DVP_IF_ROW_DONE) - 58e8: 500507b7 lui a5,0x50050 - 58ec: 2b98 lbu a4,16(a5) - 58ee: 8b09 andi a4,a4,2 - 58f0: c705 beqz a4,5918 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:90 - { - DVP->IFR = RB_DVP_IF_ROW_DONE; - 58f2: 4709 li a4,2 - 58f4: ab98 sb a4,16(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:91 - Ready_Line_Ptr = (DVP->CR1 & RB_DVP_BUF_TOG) ? DMA_LineBuf0 : DMA_LineBuf1; - 58f6: 339c lbu a5,1(a5) - 58f8: 8ba1 andi a5,a5,8 - 58fa: e38d bnez a5,591c - 58fc: 200167b7 lui a5,0x20016 - 5900: 90878793 addi a5,a5,-1784 # 20015908 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:91 (discriminator 4) - 5904: 92f1a023 sw a5,-1760(gp) # 20000160 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:92 (discriminator 4) - current_line_idx++; - 5908: 92418793 addi a5,gp,-1756 # 20000164 - 590c: 4398 lw a4,0(a5) - 590e: 0705 addi a4,a4,1 - 5910: c398 sw a4,0(a5) -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:93 (discriminator 4) - Line_Ready_Flag = 1; - 5912: 4705 li a4,1 - 5914: 90e18c23 sb a4,-1768(gp) # 20000158 -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:95 - } -} - 5918: 30200073 mret -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Debug/dvp.c:91 - Ready_Line_Ptr = (DVP->CR1 & RB_DVP_BUF_TOG) ? DMA_LineBuf0 : DMA_LineBuf1; - 591c: 200157b7 lui a5,0x20015 - 5920: 70878793 addi a5,a5,1800 # 20015708 - 5924: b7c5 j 5904 - -00005926 <__get_MEPC>: -__get_MEPC(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Core/core_riscv.c:248 - */ -uint32_t __get_MEPC(void) -{ - uint32_t result; - - __ASM volatile ( "csrr %0," "mepc" : "=r" (result) ); - 5926: 34102573 csrr a0,mepc -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Core/core_riscv.c:250 - return (result); -} - 592a: 8082 ret - -0000592c <__get_MCAUSE>: -__get_MCAUSE(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Core/core_riscv.c:275 - */ -uint32_t __get_MCAUSE(void) -{ - uint32_t result; - - __ASM volatile ( "csrr %0," "mcause" : "=r" (result) ); - 592c: 34202573 csrr a0,mcause -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Core/core_riscv.c:277 - return (result); -} - 5930: 8082 ret - -00005932 <__get_MTVAL>: -__get_MTVAL(): -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Core/core_riscv.c:302 - */ -uint32_t __get_MTVAL(void) -{ - uint32_t result; - - __ASM volatile ( "csrr %0," "mtval" : "=r" (result) ); - 5932: 34302573 csrr a0,mtval -D:\zj\ch32v307_camera\prj\TCPClient\obj/../Core/core_riscv.c:304 - return (result); -} - 5936: 8082 ret - -00005938 : -WCHNET_PeriodicHandle(): - 5938: bdffa2ef jal t0,516 <__riscv_save_0> - 593c: 20000437 lui s0,0x20000 - 5940: 0c842783 lw a5,200(s0) # 200000c8 - 5944: 1141 addi sp,sp,-16 - 5946: c63e sw a5,12(sp) - 5948: 19c010ef jal ra,6ae4 - 594c: 8911 andi a0,a0,4 - 594e: 14050363 beqz a0,5a94 - 5952: 94418793 addi a5,gp,-1724 # 20000184 - 5956: 4398 lw a4,0(a5) - 5958: 46b2 lw a3,12(sp) - 595a: 8e99 sub a3,a3,a4 - 595c: 2002e737 lui a4,0x2002e - 5960: ba872703 lw a4,-1112(a4) # 2002dba8 - 5964: 8305 srli a4,a4,0x1 - 5966: 00d77663 bgeu a4,a3,5972 - 596a: 4732 lw a4,12(sp) - 596c: c398 sw a4,0(a5) - 596e: 4d1030ef jal ra,963e - 5972: 06e040ef jal ra,99e0 - 5976: 9601a783 lw a5,-1696(gp) # 200001a0 - 597a: c791 beqz a5,5986 - 597c: 4e5030ef jal ra,9660 - 5980: e119 bnez a0,5986 - 5982: 9601a023 sw zero,-1696(gp) # 200001a0 - 5986: 94018493 addi s1,gp,-1728 # 20000180 - 598a: 4098 lw a4,0(s1) - 598c: 47b2 lw a5,12(sp) - 598e: 8f99 sub a5,a5,a4 - 5990: 3e700713 li a4,999 - 5994: 00f77663 bgeu a4,a5,59a0 - 5998: 218020ef jal ra,7bb0 - 599c: 47b2 lw a5,12(sp) - 599e: c09c sw a5,0(s1) - 59a0: 92c18793 addi a5,gp,-1748 # 2000016c - 59a4: 4398 lw a4,0(a5) - 59a6: 46b2 lw a3,12(sp) - 59a8: 06400613 li a2,100 - 59ac: 8e99 sub a3,a3,a4 - 59ae: 9511c703 lbu a4,-1711(gp) # 20000191 - 59b2: 02c70733 mul a4,a4,a2 - 59b6: 00e6e663 bltu a3,a4,59c2 - 59ba: 4732 lw a4,12(sp) - 59bc: c398 sw a4,0(a5) - 59be: 7fc010ef jal ra,71ba - 59c2: 2002e7b7 lui a5,0x2002e - 59c6: b6c78793 addi a5,a5,-1172 # 2002db6c - 59ca: 47d8 lw a4,12(a5) - 59cc: cf11 beqz a4,59e8 - 59ce: 93c18713 addi a4,gp,-1732 # 2000017c - 59d2: 4310 lw a2,0(a4) - 59d4: 46b2 lw a3,12(sp) - 59d6: 8e91 sub a3,a3,a2 - 59d8: 3e700613 li a2,999 - 59dc: 00d67663 bgeu a2,a3,59e8 - 59e0: 46b2 lw a3,12(sp) - 59e2: 43dc lw a5,4(a5) - 59e4: c314 sw a3,0(a4) - 59e6: 9782 jalr a5 - 59e8: 2002e4b7 lui s1,0x2002e - 59ec: b144a783 lw a5,-1260(s1) # 2002db14 - 59f0: cba9 beqz a5,5a42 - 59f2: 93818713 addi a4,gp,-1736 # 20000178 - 59f6: 431c lw a5,0(a4) - 59f8: 46b2 lw a3,12(sp) - 59fa: 0fa00613 li a2,250 - 59fe: 8e9d sub a3,a3,a5 - 5a00: 2002e7b7 lui a5,0x2002e - 5a04: be47a783 lw a5,-1052(a5) # 2002dbe4 - 5a08: 83ed srli a5,a5,0x1b - 5a0a: 02c787b3 mul a5,a5,a2 - 5a0e: 00f6e963 bltu a3,a5,5a20 - 5a12: 47b2 lw a5,12(sp) - 5a14: c31c sw a5,0(a4) - 5a16: b1448793 addi a5,s1,-1260 - 5a1a: 4b9c lw a5,16(a5) - 5a1c: c391 beqz a5,5a20 - 5a1e: 9782 jalr a5 - 5a20: 93418793 addi a5,gp,-1740 # 20000174 - 5a24: 4398 lw a4,0(a5) - 5a26: 46b2 lw a3,12(sp) - 5a28: 8e99 sub a3,a3,a4 - 5a2a: 673d lui a4,0xf - 5a2c: a5f70713 addi a4,a4,-1441 # ea5f <_data_lma+0x154b> - 5a30: 00d77963 bgeu a4,a3,5a42 - 5a34: 4732 lw a4,12(sp) - 5a36: b1448493 addi s1,s1,-1260 - 5a3a: c398 sw a4,0(a5) - 5a3c: 48dc lw a5,20(s1) - 5a3e: c391 beqz a5,5a42 - 5a40: 9782 jalr a5 - 5a42: 4532 lw a0,12(sp) - 5a44: 93018493 addi s1,gp,-1744 # 20000170 - 5a48: 2cd9 jal 5d1e - 5a4a: 409c lw a5,0(s1) - 5a4c: 4732 lw a4,12(sp) - 5a4e: 8f1d sub a4,a4,a5 - 5a50: 67bd lui a5,0xf - 5a52: a5f78793 addi a5,a5,-1441 # ea5f <_data_lma+0x154b> - 5a56: 00e7f563 bgeu a5,a4,5a60 - 5a5a: 2471 jal 5ce6 - 5a5c: 47b2 lw a5,12(sp) - 5a5e: c09c sw a5,0(s1) - 5a60: 95c1c703 lbu a4,-1700(gp) # 2000019c - 5a64: 84be mv s1,a5 - 5a66: 0ff77713 andi a4,a4,255 - 5a6a: c70d beqz a4,5a94 - 5a6c: 95c1c703 lbu a4,-1700(gp) # 2000019c - 5a70: 0c077713 andi a4,a4,192 - 5a74: e31d bnez a4,5a9a - 5a76: 2002e7b7 lui a5,0x2002e - 5a7a: bec7a783 lw a5,-1044(a5) # 2002dbec - 5a7e: c399 beqz a5,5a84 - 5a80: 4505 li a0,1 - 5a82: 9782 jalr a5 - 5a84: 0c842703 lw a4,200(s0) - 5a88: 94e1a623 sw a4,-1716(gp) # 2000018c - 5a8c: 04000793 li a5,64 - 5a90: 94f18e23 sb a5,-1700(gp) # 2000019c - 5a94: 0141 addi sp,sp,16 - 5a96: aa5fa06f j 53a <__riscv_restore_0> - 5a9a: 95c1c703 lbu a4,-1700(gp) # 2000019c - 5a9e: 04077713 andi a4,a4,64 - 5aa2: cb15 beqz a4,5ad6 - 5aa4: 94c1a683 lw a3,-1716(gp) # 2000018c - 5aa8: 0c842703 lw a4,200(s0) - 5aac: 94c18913 addi s2,gp,-1716 # 2000018c - 5ab0: 8f15 sub a4,a4,a3 - 5ab2: 06400693 li a3,100 - 5ab6: fce6ffe3 bgeu a3,a4,5a94 - 5aba: 2002e7b7 lui a5,0x2002e - 5abe: bec7a783 lw a5,-1044(a5) # 2002dbec - 5ac2: c399 beqz a5,5ac8 - 5ac4: 4501 li a0,0 - 5ac6: 9782 jalr a5 - 5ac8: 0c842783 lw a5,200(s0) - 5acc: 00f92023 sw a5,0(s2) - 5ad0: f8000793 li a5,-128 - 5ad4: bf75 j 5a90 - 5ad6: 95c1c703 lbu a4,-1700(gp) # 2000019c - 5ada: 0762 slli a4,a4,0x18 - 5adc: 8761 srai a4,a4,0x18 - 5ade: fa075be3 bgez a4,5a94 - 5ae2: 94c1a683 lw a3,-1716(gp) # 2000018c - 5ae6: 0c842703 lw a4,200(s0) - 5aea: 8f15 sub a4,a4,a3 - 5aec: 06400693 li a3,100 - 5af0: fae6f2e3 bgeu a3,a4,5a94 - 5af4: 94018e23 sb zero,-1700(gp) # 2000019c - 5af8: bf71 j 5a94 - -00005afa : -WCHNET_NetInput(): - 5afa: a1dfa2ef jal t0,516 <__riscv_save_0> - 5afe: 2002e537 lui a0,0x2002e - 5b02: bfc50513 addi a0,a0,-1028 # 2002dbfc - 5b06: 2b9010ef jal ra,75be - 5b0a: a31fa06f j 53a <__riscv_restore_0> - -00005b0e : -WCHNET_PhyStatus(): - 5b0e: a09fa2ef jal t0,516 <__riscv_save_0> - 5b12: 2002e7b7 lui a5,0x2002e - 5b16: b8c78793 addi a5,a5,-1140 # 2002db8c - 5b1a: 57d8 lw a4,44(a5) - 5b1c: 2002e437 lui s0,0x2002e - 5b20: d388 sw a0,32(a5) - 5b22: 00476713 ori a4,a4,4 - 5b26: d7d8 sw a4,44(a5) - 5b28: 8911 andi a0,a0,4 - 5b2a: bd040793 addi a5,s0,-1072 # 2002dbd0 - 5b2e: 4f9c lw a5,24(a5) - 5b30: bd040413 addi s0,s0,-1072 - 5b34: cd01 beqz a0,5b4c - 5b36: c399 beqz a5,5b3c - 5b38: 4501 li a0,0 - 5b3a: 9782 jalr a5 - 5b3c: 4c5c lw a5,28(s0) - 5b3e: c399 beqz a5,5b44 - 5b40: 4501 li a0,0 - 5b42: 9782 jalr a5 - 5b44: 4505 li a0,1 - 5b46: 2abd jal 5cc4 - 5b48: 9f3fa06f j 53a <__riscv_restore_0> - 5b4c: c399 beqz a5,5b52 - 5b4e: 4505 li a0,1 - 5b50: 9782 jalr a5 - 5b52: 4c5c lw a5,28(s0) - 5b54: dbf5 beqz a5,5b48 - 5b56: 4505 li a0,1 - 5b58: 9782 jalr a5 - 5b5a: b7fd j 5b48 - -00005b5c : -WCHNET_Rx(): - 5b5c: 20000737 lui a4,0x20000 - 5b60: 0d072783 lw a5,208(a4) # 200000d0 - 5b64: 00052023 sw zero,0(a0) - 5b68: cb9d beqz a5,5b9e - 5b6a: 4394 lw a3,0(a5) - 5b6c: 0006db63 bgez a3,5b82 - 5b70: 47d4 lw a3,12(a5) - 5b72: 4290 lw a2,0(a3) - 5b74: 02064563 bltz a2,5b9e - 5b78: 439c lw a5,0(a5) - 5b7a: 0007d463 bgez a5,5b82 - 5b7e: 0cd72823 sw a3,208(a4) - 5b82: 0d072783 lw a5,208(a4) - 5b86: 6591 lui a1,0x4 - 5b88: 4601 li a2,0 - 5b8a: 15fd addi a1,a1,-1 - 5b8c: 4835 li a6,13 - 5b8e: 800008b7 lui a7,0x80000 - 5b92: 4394 lw a3,0(a5) - 5b94: 0006d763 bgez a3,5ba2 - 5b98: c219 beqz a2,5b9e - 5b9a: 0cf72823 sw a5,208(a4) - 5b9e: 4501 li a0,0 - 5ba0: 8082 ret - 5ba2: 4394 lw a3,0(a5) - 5ba4: 01069313 slli t1,a3,0x10 - 5ba8: 04034263 bltz t1,5bec - 5bac: 4394 lw a3,0(a5) - 5bae: 1006f693 andi a3,a3,256 - 5bb2: ce8d beqz a3,5bec - 5bb4: 4394 lw a3,0(a5) - 5bb6: 2006f693 andi a3,a3,512 - 5bba: ca8d beqz a3,5bec - 5bbc: 4394 lw a3,0(a5) - 5bbe: 82c1 srli a3,a3,0x10 - 5bc0: 8eed and a3,a3,a1 - 5bc2: 16f1 addi a3,a3,-4 - 5bc4: c114 sw a3,0(a0) - 5bc6: 02d87163 bgeu a6,a3,5be8 - 5bca: 4394 lw a3,0(a5) - 5bcc: 0206f693 andi a3,a3,32 - 5bd0: ea81 bnez a3,5be0 - 5bd2: c219 beqz a2,5bd8 - 5bd4: 0cf72823 sw a5,208(a4) - 5bd8: 479c lw a5,8(a5) - 5bda: c15c sw a5,4(a0) - 5bdc: 4505 li a0,1 - 5bde: 8082 ret - 5be0: 4394 lw a3,0(a5) - 5be2: 0816f693 andi a3,a3,129 - 5be6: d6f5 beqz a3,5bd2 - 5be8: 00052023 sw zero,0(a0) - 5bec: 0117a023 sw a7,0(a5) - 5bf0: 4605 li a2,1 - 5bf2: 47dc lw a5,12(a5) - 5bf4: bf79 j 5b92 - -00005bf6 : -setRxBuffAddr(): - 5bf6: 200007b7 lui a5,0x20000 - 5bfa: 0d07a703 lw a4,208(a5) # 200000d0 - 5bfe: 800006b7 lui a3,0x80000 - 5c02: c314 sw a3,0(a4) - 5c04: 4758 lw a4,12(a4) - 5c06: 0ce7a823 sw a4,208(a5) - 5c0a: 8082 ret - -00005c0c : -WCHNET_Tx(): - 5c0c: 90bfa2ef jal t0,516 <__riscv_save_0> - 5c10: 95c1c783 lbu a5,-1700(gp) # 2000019c - 5c14: 0ff7f793 andi a5,a5,255 - 5c18: e781 bnez a5,5c20 - 5c1a: 4785 li a5,1 - 5c1c: 94f18e23 sb a5,-1700(gp) # 2000019c - 5c20: 200007b7 lui a5,0x20000 - 5c24: 0c87a703 lw a4,200(a5) # 200000c8 - 5c28: 94818793 addi a5,gp,-1720 # 20000188 - 5c2c: cb09 beqz a4,5c3e - 5c2e: c398 sw a4,0(a5) - 5c30: 2002e7b7 lui a5,0x2002e - 5c34: bf07a783 lw a5,-1040(a5) # 2002dbf0 - 5c38: 9782 jalr a5 - 5c3a: 901fa06f j 53a <__riscv_restore_0> - 5c3e: 4705 li a4,1 - 5c40: b7fd j 5c2e - -00005c42 : -GetChipID(): - 5c42: 1ffff7b7 lui a5,0x1ffff - 5c46: 7067d503 lhu a0,1798(a5) # 1ffff706 <_data_lma+0x1fff21f2> - 5c4a: 0f057513 andi a0,a0,240 - 5c4e: 8082 ret - -00005c50 : -getTxBuffAddr(): - 5c50: 8c7fa2ef jal t0,516 <__riscv_save_0> - 5c54: 2002e7b7 lui a5,0x2002e - 5c58: bf07a783 lw a5,-1040(a5) # 2002dbf0 - 5c5c: 4901 li s2,0 - 5c5e: cbb9 beqz a5,5cb4 - 5c60: 200007b7 lui a5,0x20000 - 5c64: 0b47a483 lw s1,180(a5) # 200000b4 - 5c68: c4b1 beqz s1,5cb4 - 5c6a: 409c lw a5,0(s1) - 5c6c: 0084a903 lw s2,8(s1) - 5c70: 94818413 addi s0,gp,-1720 # 20000188 - 5c74: 0207de63 bgez a5,5cb0 - 5c78: fcbff0ef jal ra,5c42 - 5c7c: 4014 lw a3,0(s0) - 5c7e: 4781 li a5,0 - 5c80: 08000613 li a2,128 - 5c84: 200005b7 lui a1,0x20000 - 5c88: 06300813 li a6,99 - 5c8c: 68a1 lui a7,0x8 - 5c8e: 03000313 li t1,48 - 5c92: 00c50463 beq a0,a2,5c9a - 5c96: 02651263 bne a0,t1,5cba - 5c9a: 0c85a703 lw a4,200(a1) # 200000c8 - 5c9e: 8f15 sub a4,a4,a3 - 5ca0: 00e86463 bltu a6,a4,5ca8 - 5ca4: 00f8fb63 bgeu a7,a5,5cba - 5ca8: 409c lw a5,0(s1) - 5caa: 0786 slli a5,a5,0x1 - 5cac: 8385 srli a5,a5,0x1 - 5cae: c09c sw a5,0(s1) - 5cb0: 00042023 sw zero,0(s0) - 5cb4: 854a mv a0,s2 - 5cb6: 885fa06f j 53a <__riscv_restore_0> - 5cba: 4098 lw a4,0(s1) - 5cbc: fe075ae3 bgez a4,5cb0 - 5cc0: 0785 addi a5,a5,1 - 5cc2: bfc1 j 5c92 - -00005cc4 : -IPCheckParaInit(): - 5cc4: 20000737 lui a4,0x20000 - 5cc8: 0c872703 lw a4,200(a4) # 200000c8 - 5ccc: 2002e7b7 lui a5,0x2002e - 5cd0: b0878793 addi a5,a5,-1272 # 2002db08 - 5cd4: a388 sb a0,0(a5) - 5cd6: 00079123 sh zero,2(a5) - 5cda: 00079223 sh zero,4(a5) - 5cde: c798 sw a4,8(a5) - 5ce0: 000780a3 sb zero,1(a5) - 5ce4: 8082 ret - -00005ce6 : -SelIPARPSend(): - 5ce6: 831fa2ef jal t0,516 <__riscv_save_0> - 5cea: 2002e4b7 lui s1,0x2002e - 5cee: bfc48413 addi s0,s1,-1028 # 2002dbfc - 5cf2: 405c lw a5,4(s0) - 5cf4: 1141 addi sp,sp,-16 - 5cf6: 006c addi a1,sp,12 - 5cf8: bfc48513 addi a0,s1,-1028 - 5cfc: c63e sw a5,12(sp) - 5cfe: 00042223 sw zero,4(s0) - 5d02: 3ea010ef jal ra,70ec - 5d06: 47b2 lw a5,12(sp) - 5d08: 006c addi a1,sp,12 - 5d0a: bfc48513 addi a0,s1,-1028 - 5d0e: c05c sw a5,4(s0) - 5d10: 445c lw a5,12(s0) - 5d12: c63e sw a5,12(sp) - 5d14: 3d8010ef jal ra,70ec - 5d18: 0141 addi sp,sp,16 - 5d1a: 821fa06f j 53a <__riscv_restore_0> - -00005d1e : -IPCheckTmr(): - 5d1e: 2002e7b7 lui a5,0x2002e - 5d22: b0878793 addi a5,a5,-1272 # 2002db08 - 5d26: 2398 lbu a4,0(a5) - 5d28: e319 bnez a4,5d2e - 5d2a: c788 sw a0,8(a5) - 5d2c: 8082 ret - 5d2e: 4798 lw a4,8(a5) - 5d30: 3e700693 li a3,999 - 5d34: 40e50733 sub a4,a0,a4 - 5d38: 02e6f363 bgeu a3,a4,5d5e - 5d3c: fdafa2ef jal t0,516 <__riscv_save_0> - 5d40: 23ba lhu a4,2(a5) - 5d42: c788 sw a0,8(a5) - 5d44: 4691 li a3,4 - 5d46: 00e6f763 bgeu a3,a4,5d54 - 5d4a: 4501 li a0,0 - 5d4c: f79ff0ef jal ra,5cc4 - 5d50: feafa06f j 53a <__riscv_restore_0> - 5d54: 0705 addi a4,a4,1 - 5d56: a3ba sh a4,2(a5) - 5d58: f8fff0ef jal ra,5ce6 - 5d5c: bfd5 j 5d50 - 5d5e: 8082 ret - -00005d60 : -IPConflictHandle(): - 5d60: fb6fa2ef jal t0,516 <__riscv_save_0> - 5d64: 842a mv s0,a0 - 5d66: 4501 li a0,0 - 5d68: f5dff0ef jal ra,5cc4 - 5d6c: 2002e7b7 lui a5,0x2002e - 5d70: b0878793 addi a5,a5,-1272 # 2002db08 - 5d74: c811 beqz s0,5d88 - 5d76: 4705 li a4,1 - 5d78: b398 sb a4,1(a5) - 5d7a: 2002e7b7 lui a5,0x2002e - 5d7e: 4709 li a4,2 - 5d80: bae7ac23 sw a4,-1096(a5) # 2002dbb8 - 5d84: fb6fa06f j 53a <__riscv_restore_0> - 5d88: 000780a3 sb zero,1(a5) - 5d8c: bfe5 j 5d84 - -00005d8e : -NET_TCPError(): - 5d8e: 8082 ret - -00005d90 : -LwipTCPSendCallBack(): - 5d90: 03852803 lw a6,56(a0) - 5d94: 02080b63 beqz a6,5dca - 5d98: f7efa2ef jal t0,516 <__riscv_save_0> - 5d9c: 5dfc lw a5,124(a1) - 5d9e: 4701 li a4,0 - 5da0: c791 beqz a5,5dac - 5da2: 0705 addi a4,a4,1 - 5da4: 0742 slli a4,a4,0x10 - 5da6: 8341 srli a4,a4,0x10 - 5da8: 439c lw a5,0(a5) - 5daa: bfdd j 5da0 - 5dac: 0805a783 lw a5,128(a1) - 5db0: c791 beqz a5,5dbc - 5db2: 0705 addi a4,a4,1 - 5db4: 0742 slli a4,a4,0x10 - 5db6: 8341 srli a4,a4,0x10 - 5db8: 439c lw a5,0(a5) - 5dba: bfdd j 5db0 - 5dbc: 4681 li a3,0 - 5dbe: 4601 li a2,0 - 5dc0: 4581 li a1,0 - 5dc2: 9802 jalr a6 - 5dc4: 4501 li a0,0 - 5dc6: f74fa06f j 53a <__riscv_restore_0> - 5dca: 4501 li a0,0 - 5dcc: 8082 ret - -00005dce : -LwipTCPPollCallBack(): - 5dce: 4501 li a0,0 - 5dd0: 8082 ret - -00005dd2 : -SocketIPRAWReceive(): - 5dd2: f1cfa2ef jal t0,4ee <__riscv_save_10> - 5dd6: 425c lw a5,4(a2) - 5dd8: 00852a03 lw s4,8(a0) - 5ddc: 00c52903 lw s2,12(a0) - 5de0: 4900 lw s0,16(a0) - 5de2: 84aa mv s1,a0 - 5de4: 2388 lbu a0,0(a5) - 5de6: 339c lbu a5,1(a5) - 5de8: 89b2 mv s3,a2 - 5dea: 07a2 slli a5,a5,0x8 - 5dec: 8d5d or a0,a0,a5 - 5dee: 0c5010ef jal ra,76b2 - 5df2: 00655593 srli a1,a0,0x6 - 5df6: 03c5f593 andi a1,a1,60 - 5dfa: 40b005b3 neg a1,a1 - 5dfe: 854e mv a0,s3 - 5e00: 427020ef jal ra,8a26 - 5e04: e559 bnez a0,5e92 - 5e06: 44dc lw a5,12(s1) - 5e08: 4c98 lw a4,24(s1) - 5e0a: 0089db03 lhu s6,8(s3) - 5e0e: 8f99 sub a5,a5,a4 - 5e10: 0167e463 bltu a5,s6,5e18 - 5e14: 000b1863 bnez s6,5e24 - 5e18: 854e mv a0,s3 - 5e1a: 47b020ef jal ra,8a94 - 5e1e: 4505 li a0,1 - 5e20: f06fa06f j 526 <__riscv_restore_10> - 5e24: 9a4a add s4,s4,s2 - 5e26: 894e mv s2,s3 - 5e28: 00a95603 lhu a2,10(s2) - 5e2c: 408a0ab3 sub s5,s4,s0 - 5e30: 00492b83 lw s7,4(s2) - 5e34: 04caf463 bgeu s5,a2,5e7c - 5e38: 8656 mv a2,s5 - 5e3a: 85de mv a1,s7 - 5e3c: 8522 mv a0,s0 - 5e3e: 092070ef jal ra,ced0 - 5e42: 00a95783 lhu a5,10(s2) - 5e46: 4498 lw a4,8(s1) - 5e48: 41440433 sub s0,s0,s4 - 5e4c: 943e add s0,s0,a5 - 5e4e: 8622 mv a2,s0 - 5e50: 015b85b3 add a1,s7,s5 - 5e54: 853a mv a0,a4 - 5e56: 07a070ef jal ra,ced0 - 5e5a: 942a add s0,s0,a0 - 5e5c: 00092903 lw s2,0(s2) - 5e60: fc0914e3 bnez s2,5e28 - 5e64: 854e mv a0,s3 - 5e66: 42f020ef jal ra,8a94 - 5e6a: 4c9c lw a5,24(s1) - 5e6c: c880 sw s0,16(s1) - 5e6e: 97da add a5,a5,s6 - 5e70: cc9c sw a5,24(s1) - 5e72: 409c lw a5,0(s1) - 5e74: 0047e793 ori a5,a5,4 - 5e78: c09c sw a5,0(s1) - 5e7a: b755 j 5e1e - 5e7c: 8522 mv a0,s0 - 5e7e: 85de mv a1,s7 - 5e80: 050070ef jal ra,ced0 - 5e84: 00a95783 lhu a5,10(s2) - 5e88: 943e add s0,s0,a5 - 5e8a: fd5799e3 bne a5,s5,5e5c - 5e8e: 4480 lw s0,8(s1) - 5e90: b7f1 j 5e5c - 5e92: 4501 li a0,0 - 5e94: b771 j 5e20 - -00005e96 : -SocketUdpReceive(): - 5e96: ce61 beqz a2,5f6e - 5e98: e56fa2ef jal t0,4ee <__riscv_save_10> - 5e9c: 00c52b83 lw s7,12(a0) - 5ea0: 4d1c lw a5,24(a0) - 5ea2: 00865b03 lhu s6,8(a2) - 5ea6: 8aba mv s5,a4 - 5ea8: 40fb87b3 sub a5,s7,a5 - 5eac: 8a36 mv s4,a3 - 5eae: 8932 mv s2,a2 - 5eb0: 842a mv s0,a0 - 5eb2: 0167e463 bltu a5,s6,5eba - 5eb6: 000b1763 bnez s6,5ec4 - 5eba: 854a mv a0,s2 - 5ebc: 3d9020ef jal ra,8a94 - 5ec0: e66fa06f j 526 <__riscv_restore_10> - 5ec4: 451c lw a5,8(a0) - 5ec6: 4904 lw s1,16(a0) - 5ec8: 89b2 mv s3,a2 - 5eca: 9bbe add s7,s7,a5 - 5ecc: 00a9d603 lhu a2,10(s3) - 5ed0: 409b8c33 sub s8,s7,s1 - 5ed4: 0049ac83 lw s9,4(s3) - 5ed8: 06cc7763 bgeu s8,a2,5f46 - 5edc: 8662 mv a2,s8 - 5ede: 85e6 mv a1,s9 - 5ee0: 8526 mv a0,s1 - 5ee2: 7ef060ef jal ra,ced0 - 5ee6: 00a9d783 lhu a5,10(s3) - 5eea: 4418 lw a4,8(s0) - 5eec: 417484b3 sub s1,s1,s7 - 5ef0: 94be add s1,s1,a5 - 5ef2: 8626 mv a2,s1 - 5ef4: 018c85b3 add a1,s9,s8 - 5ef8: 853a mv a0,a4 - 5efa: 7d7060ef jal ra,ced0 - 5efe: 94aa add s1,s1,a0 - 5f00: 0009a983 lw s3,0(s3) - 5f04: fc0994e3 bnez s3,5ecc - 5f08: 854a mv a0,s2 - 5f0a: 38b020ef jal ra,8a94 - 5f0e: 03842803 lw a6,56(s0) - 5f12: 04080563 beqz a6,5f5c - 5f16: 001a4583 lbu a1,1(s4) - 5f1a: 000a4783 lbu a5,0(s4) - 5f1e: 4814 lw a3,16(s0) - 5f20: 05a2 slli a1,a1,0x8 - 5f22: 8ddd or a1,a1,a5 - 5f24: 002a4783 lbu a5,2(s4) - 5f28: 875a mv a4,s6 - 5f2a: 8656 mv a2,s5 - 5f2c: 07c2 slli a5,a5,0x10 - 5f2e: 8fcd or a5,a5,a1 - 5f30: 003a4583 lbu a1,3(s4) - 5f34: 8522 mv a0,s0 - 5f36: 05e2 slli a1,a1,0x18 - 5f38: 8ddd or a1,a1,a5 - 5f3a: 9802 jalr a6 - 5f3c: 441c lw a5,8(s0) - 5f3e: 00042c23 sw zero,24(s0) - 5f42: c81c sw a5,16(s0) - 5f44: bfb5 j 5ec0 - 5f46: 8526 mv a0,s1 - 5f48: 85e6 mv a1,s9 - 5f4a: 787060ef jal ra,ced0 - 5f4e: 00a9d783 lhu a5,10(s3) - 5f52: 94be add s1,s1,a5 - 5f54: fb8796e3 bne a5,s8,5f00 - 5f58: 4404 lw s1,8(s0) - 5f5a: b75d j 5f00 - 5f5c: 4c18 lw a4,24(s0) - 5f5e: 401c lw a5,0(s0) - 5f60: c804 sw s1,16(s0) - 5f62: 975a add a4,a4,s6 - 5f64: 0047e793 ori a5,a5,4 - 5f68: cc18 sw a4,24(s0) - 5f6a: c01c sw a5,0(s0) - 5f6c: bf91 j 5ec0 - 5f6e: 8082 ret - -00005f70 : -WCHSocketTCPReceive(): - 5f70: 491c lw a5,16(a0) - 5f72: c7f1 beqz a5,603e - 5f74: d7afa2ef jal t0,4ee <__riscv_save_10> - 5f78: 8a32 mv s4,a2 - 5f7a: 84ae mv s1,a1 - 5f7c: 842a mv s0,a0 - 5f7e: ca55 beqz a2,6032 - 5f80: 00852a83 lw s5,8(a0) - 5f84: 4558 lw a4,12(a0) - 5f86: 00865b83 lhu s7,8(a2) - 5f8a: 8932 mv s2,a2 - 5f8c: 9aba add s5,s5,a4 - 5f8e: 0ac2 slli s5,s5,0x10 - 5f90: 010ada93 srli s5,s5,0x10 - 5f94: 01079993 slli s3,a5,0x10 - 5f98: 0109d993 srli s3,s3,0x10 - 5f9c: 413a8b33 sub s6,s5,s3 - 5fa0: 00a95603 lhu a2,10(s2) - 5fa4: 0b42 slli s6,s6,0x10 - 5fa6: 010b5b13 srli s6,s6,0x10 - 5faa: 00492c03 lw s8,4(s2) - 5fae: 06cb7663 bgeu s6,a2,601a - 5fb2: 865a mv a2,s6 - 5fb4: 85e2 mv a1,s8 - 5fb6: 853e mv a0,a5 - 5fb8: 719060ef jal ra,ced0 - 5fbc: 00a95703 lhu a4,10(s2) - 5fc0: 441c lw a5,8(s0) - 5fc2: 016c05b3 add a1,s8,s6 - 5fc6: 41570733 sub a4,a4,s5 - 5fca: 99ba add s3,s3,a4 - 5fcc: 09c2 slli s3,s3,0x10 - 5fce: 0109d993 srli s3,s3,0x10 - 5fd2: 853e mv a0,a5 - 5fd4: 864e mv a2,s3 - 5fd6: 6fb060ef jal ra,ced0 - 5fda: 013507b3 add a5,a0,s3 - 5fde: 00092903 lw s2,0(s2) - 5fe2: fa0919e3 bnez s2,5f94 - 5fe6: 4c18 lw a4,24(s0) - 5fe8: c81c sw a5,16(s0) - 5fea: 8552 mv a0,s4 - 5fec: 975e add a4,a4,s7 - 5fee: cc18 sw a4,24(s0) - 5ff0: 4018 lw a4,0(s0) - 5ff2: 00476713 ori a4,a4,4 - 5ff6: c018 sw a4,0(s0) - 5ff8: 29d020ef jal ra,8a94 - 5ffc: 38fe lhu a5,54(s1) - 5ffe: 4c18 lw a4,24(s0) - 6000: 8526 mv a0,s1 - 6002: 41778bb3 sub s7,a5,s7 - 6006: 445c lw a5,12(s0) - 6008: 03749b23 sh s7,54(s1) - 600c: 8f99 sub a5,a5,a4 - 600e: b4de sh a5,44(s1) - 6010: 05c030ef jal ra,906c - 6014: 4501 li a0,0 - 6016: d10fa06f j 526 <__riscv_restore_10> - 601a: 853e mv a0,a5 - 601c: 85e2 mv a1,s8 - 601e: 6b3060ef jal ra,ced0 - 6022: 00a95703 lhu a4,10(s2) - 6026: 00e507b3 add a5,a0,a4 - 602a: fb671ae3 bne a4,s6,5fde - 602e: 441c lw a5,8(s0) - 6030: b77d j 5fde - 6032: 4501 li a0,0 - 6034: f2ed bnez a3,6016 - 6036: 852e mv a0,a1 - 6038: 4c2030ef jal ra,94fa - 603c: bfe9 j 6016 - 603e: 557d li a0,-1 - 6040: 8082 ret - -00006042 : -LwipTcpConnectedCallBack(): - 6042: cd4fa2ef jal t0,516 <__riscv_save_0> - 6046: 842e mv s0,a1 - 6048: 000065b7 lui a1,0x6 - 604c: 84aa mv s1,a0 - 604e: f7058593 addi a1,a1,-144 # 5f70 - 6052: 8522 mv a0,s0 - 6054: 110030ef jal ra,9164 - 6058: 000065b7 lui a1,0x6 - 605c: 8522 mv a0,s0 - 605e: d9058593 addi a1,a1,-624 # 5d90 - 6062: 108030ef jal ra,916a - 6066: 000065b7 lui a1,0x6 - 606a: 8522 mv a0,s0 - 606c: 4605 li a2,1 - 606e: dce58593 addi a1,a1,-562 # 5dce - 6072: 104030ef jal ra,9176 - 6076: 209c lbu a5,0(s1) - 6078: 4501 li a0,0 - 607a: 0087e793 ori a5,a5,8 - 607e: c09c sw a5,0(s1) - 6080: cbafa06f j 53a <__riscv_restore_0> - -00006084 : -ErrorEncode(): - 6084: c919 beqz a0,609a - 6086: 40a00533 neg a0,a0 - 608a: 67b5 lui a5,0xd - 608c: 3ac78793 addi a5,a5,940 # d3ac - 6090: 0ff57513 andi a0,a0,255 - 6094: 953e add a0,a0,a5 - 6096: 2108 lbu a0,0(a0) - 6098: 8082 ret - 609a: 4501 li a0,0 - 609c: 8082 ret - -0000609e : -WCHSocketInit(): - 609e: c78fa2ef jal t0,516 <__riscv_save_0> - 60a2: 03c00793 li a5,60 - 60a6: 02f587b3 mul a5,a1,a5 - 60aa: 2000f437 lui s0,0x2000f - 60ae: 84c40713 addi a4,s0,-1972 # 2000e84c - 60b2: 892a mv s2,a0 - 60b4: 84ae mv s1,a1 - 60b6: 03c00613 li a2,60 - 60ba: 4581 li a1,0 - 60bc: 84c40413 addi s0,s0,-1972 - 60c0: 97ba add a5,a5,a4 - 60c2: 853e mv a0,a5 - 60c4: c82fa0ef jal ra,546 - 60c8: 00090763 beqz s2,60d6 - 60cc: 03c00613 li a2,60 - 60d0: 85ca mv a1,s2 - 60d2: 5ff060ef jal ra,ced0 - 60d6: 03c00593 li a1,60 - 60da: 02b485b3 mul a1,s1,a1 - 60de: 95a2 add a1,a1,s0 - 60e0: 459c lw a5,8(a1) - 60e2: c99c sw a5,16(a1) - 60e4: c9dc sw a5,20(a1) - 60e6: c54fa06f j 53a <__riscv_restore_0> - -000060ea : -WCHNET_Init(): - 60ea: c12fa2ef jal t0,4fc <__riscv_save_4> - 60ee: 8a2a mv s4,a0 - 60f0: 2002e537 lui a0,0x2002e - 60f4: 1141 addi sp,sp,-16 - 60f6: 89ae mv s3,a1 - 60f8: 84b2 mv s1,a2 - 60fa: 4581 li a1,0 - 60fc: 4661 li a2,24 - 60fe: b1450513 addi a0,a0,-1260 # 2002db14 - 6102: c636 sw a3,12(sp) - 6104: c42fa0ef jal ra,546 - 6108: 46b2 lw a3,12(sp) - 610a: 2002e437 lui s0,0x2002e - 610e: b8c40913 addi s2,s0,-1140 # 2002db8c - 6112: 85b6 mv a1,a3 - 6114: 4619 li a2,6 - 6116: 00c90513 addi a0,s2,12 - 611a: 5b7060ef jal ra,ced0 - 611e: 4611 li a2,4 - 6120: 85d2 mv a1,s4 - 6122: b8c40513 addi a0,s0,-1140 - 6126: 5ab060ef jal ra,ced0 - 612a: 4611 li a2,4 - 612c: 85ce mv a1,s3 - 612e: 00490513 addi a0,s2,4 - 6132: 59f060ef jal ra,ced0 - 6136: b8c40413 addi s0,s0,-1140 - 613a: e0a1 bnez s1,617a - 613c: 010007b7 lui a5,0x1000 - 6140: 17fd addi a5,a5,-1 - 6142: c41c sw a5,8(s0) - 6144: 4481 li s1,0 - 6146: 9541c783 lbu a5,-1708(gp) # 20000194 - 614a: 02f4cf63 blt s1,a5,6188 - 614e: 4e0010ef jal ra,762e - 6152: 4785 li a5,1 - 6154: d05c sw a5,36(s0) - 6156: 6715 lui a4,0x5 - 6158: 2002e7b7 lui a5,0x2002e - 615c: b8078793 addi a5,a5,-1152 # 2002db80 - 6160: e2070713 addi a4,a4,-480 # 4e20 - 6164: c398 sw a4,0(a5) - 6166: 6711 lui a4,0x4 - 6168: a9870713 addi a4,a4,-1384 # 3a98 - 616c: c3d8 sw a4,4(a5) - 616e: 4725 li a4,9 - 6170: c798 sw a4,8(a5) - 6172: 4501 li a0,0 - 6174: 0141 addi sp,sp,16 - 6176: bbafa06f j 530 <__riscv_restore_4> - 617a: 4611 li a2,4 - 617c: 85a6 mv a1,s1 - 617e: 00840513 addi a0,s0,8 - 6182: 54f060ef jal ra,ced0 - 6186: bf7d j 6144 - 6188: 0ff4f593 andi a1,s1,255 - 618c: 4501 li a0,0 - 618e: f11ff0ef jal ra,609e - 6192: 0485 addi s1,s1,1 - 6194: bf4d j 6146 - -00006196 : -WCHNET_ConfigKeepLive(): - 6196: 4118 lw a4,0(a0) - 6198: 2002e7b7 lui a5,0x2002e - 619c: b8078793 addi a5,a5,-1152 # 2002db80 - 61a0: c398 sw a4,0(a5) - 61a2: 4158 lw a4,4(a0) - 61a4: c3d8 sw a4,4(a5) - 61a6: 4518 lw a4,8(a0) - 61a8: c798 sw a4,8(a5) - 61aa: 8082 ret - -000061ac : -WCHNET_ConfigLIB(): - 61ac: 5518 lw a4,40(a0) - 61ae: 123457b7 lui a5,0x12345 - 61b2: 67878793 addi a5,a5,1656 # 12345678 <_data_lma+0x12338164> - 61b6: 12f71a63 bne a4,a5,62ea - 61ba: b42fa2ef jal t0,4fc <__riscv_save_4> - 61be: 511c lw a5,32(a0) - 61c0: 842a mv s0,a0 - 61c2: 4525 li a0,9 - 61c4: 10078b63 beqz a5,62da - 61c8: 2002e937 lui s2,0x2002e - 61cc: 04400613 li a2,68 - 61d0: 4581 li a1,0 - 61d2: b8c90513 addi a0,s2,-1140 # 2002db8c - 61d6: b70fa0ef jal ra,546 - 61da: 2002e4b7 lui s1,0x2002e - 61de: 02c00613 li a2,44 - 61e2: 4581 li a1,0 - 61e4: bd048513 addi a0,s1,-1072 # 2002dbd0 - 61e8: b5efa0ef jal ra,546 - 61ec: 02c00613 li a2,44 - 61f0: 85a2 mv a1,s0 - 61f2: bd048513 addi a0,s1,-1072 - 61f6: 4db060ef jal ra,ced0 - 61fa: bd048993 addi s3,s1,-1072 - 61fe: 0149a703 lw a4,20(s3) - 6202: 864a mv a2,s2 - 6204: bd048793 addi a5,s1,-1072 - 6208: eb25 bnez a4,6278 - 620a: 66b5 lui a3,0xd - 620c: 1846d703 lhu a4,388(a3) # d184 - 6210: 18468693 addi a3,a3,388 - 6214: 22ae lhu a1,2(a3) - 6216: 972e add a4,a4,a1 - 6218: 22ce lhu a1,4(a3) - 621a: 22f6 lhu a3,6(a3) - 621c: 972e add a4,a4,a1 - 621e: 9736 add a4,a4,a3 - 6220: 01271693 slli a3,a4,0x12 - 6224: 0a06dd63 bgez a3,62de - 6228: cbd8 sw a4,20(a5) - 622a: 4bd8 lw a4,20(a5) - 622c: 00e75693 srli a3,a4,0xe - 6230: 8afd andi a3,a3,31 - 6232: ea89 bnez a3,6244 - 6234: fff846b7 lui a3,0xfff84 - 6238: 16fd addi a3,a3,-1 - 623a: 8f75 and a4,a4,a3 - 623c: 000506b7 lui a3,0x50 - 6240: 8f55 or a4,a4,a3 - 6242: cbd8 sw a4,20(a5) - 6244: 4bd8 lw a4,20(a5) - 6246: 01375693 srli a3,a4,0x13 - 624a: 8afd andi a3,a3,31 - 624c: ea89 bnez a3,625e - 624e: fff846b7 lui a3,0xfff84 - 6252: 16fd addi a3,a3,-1 - 6254: 8f75 and a4,a4,a3 - 6256: 005006b7 lui a3,0x500 - 625a: 8f55 or a4,a4,a3 - 625c: cbd8 sw a4,20(a5) - 625e: 4bd8 lw a4,20(a5) - 6260: 00671693 slli a3,a4,0x6 - 6264: 0006ca63 bltz a3,6278 - 6268: fe0006b7 lui a3,0xfe000 - 626c: 16fd addi a3,a3,-1 - 626e: 8f75 and a4,a4,a3 - 6270: 140006b7 lui a3,0x14000 - 6274: 8f55 or a4,a4,a3 - 6276: cbd8 sw a4,20(a5) - 6278: 4bd8 lw a4,20(a5) - 627a: 01b75693 srli a3,a4,0x1b - 627e: e689 bnez a3,6288 - 6280: 400006b7 lui a3,0x40000 - 6284: 8f55 or a4,a4,a3 - 6286: cbd8 sw a4,20(a5) - 6288: 46a9 li a3,10 - 628a: 94d188a3 sb a3,-1711(gp) # 20000191 - 628e: 468d li a3,3 - 6290: 94d18823 sb a3,-1712(gp) # 20000190 - 6294: 12c00693 li a3,300 - 6298: 94d19923 sh a3,-1710(gp) # 20000192 - 629c: 53d8 lw a4,36(a5) - 629e: e711 bnez a4,62aa - 62a0: 00006737 lui a4,0x6 - 62a4: b5c70713 addi a4,a4,-1188 # 5b5c - 62a8: d3d8 sw a4,36(a5) - 62aa: 4bd4 lw a3,20(a5) - 62ac: 4501 li a0,0 - 62ae: 00e6d713 srli a4,a3,0xe - 62b2: 8b7d andi a4,a4,31 - 62b4: 94d18a23 sb a3,-1708(gp) # 20000194 - 62b8: b8c60793 addi a5,a2,-1140 - 62bc: cf98 sw a4,24(a5) - 62be: 0136d713 srli a4,a3,0x13 - 62c2: 8b7d andi a4,a4,31 - 62c4: 03200613 li a2,50 - 62c8: 02c70733 mul a4,a4,a2 - 62cc: cfd8 sw a4,28(a5) - 62ce: 00669713 slli a4,a3,0x6 - 62d2: 00075463 bgez a4,62da - 62d6: 4709 li a4,2 - 62d8: c3b8 sw a4,64(a5) - 62da: a56fa06f j 530 <__riscv_restore_4> - 62de: 76f9 lui a3,0xffffe - 62e0: 16fd addi a3,a3,-1 - 62e2: 8f75 and a4,a4,a3 - 62e4: 6689 lui a3,0x2 - 62e6: 8f55 or a4,a4,a3 - 62e8: b781 j 6228 - 62ea: 0ff00513 li a0,255 - 62ee: 8082 ret - -000062f0 : -WCHNET_GetVer(): - 62f0: 456d li a0,27 - 62f2: 8082 ret - -000062f4 : -WCHFindCorrectTCBPcb(): - 62f4: 9541c603 lbu a2,-1708(gp) # 20000194 - 62f8: 2000f7b7 lui a5,0x2000f - 62fc: 84c78693 addi a3,a5,-1972 # 2000e84c - 6300: 4701 li a4,0 - 6302: 84c78793 addi a5,a5,-1972 - 6306: 00e61763 bne a2,a4,6314 - 630a: 4781 li a5,0 - 630c: 02f71363 bne a4,a5,6332 - 6310: 4501 li a0,0 - 6312: 8082 ret - 6314: 0307a803 lw a6,48(a5) - 6318: 00a81763 bne a6,a0,6326 - 631c: c509 beqz a0,6326 - 631e: 4505 li a0,1 - 6320: d9ed beqz a1,6312 - 6322: a198 sb a4,0(a1) - 6324: 8082 ret - 6326: 0705 addi a4,a4,1 - 6328: 0ff77713 andi a4,a4,255 - 632c: 03c78793 addi a5,a5,60 - 6330: bfd9 j 6306 - 6332: 5ad0 lw a2,52(a3) - 6334: 00a61963 bne a2,a0,6346 - 6338: c519 beqz a0,6346 - 633a: 4505 li a0,1 - 633c: d9f9 beqz a1,6312 - 633e: f807e793 ori a5,a5,-128 - 6342: a19c sb a5,0(a1) - 6344: 8082 ret - 6346: 0785 addi a5,a5,1 - 6348: 0ff7f793 andi a5,a5,255 - 634c: 03c68693 addi a3,a3,60 # 203c - 6350: bf75 j 630c - -00006352 : -WCHNET_SocketCreat(): - 6352: 9aafa2ef jal t0,4fc <__riscv_save_4> - 6356: 2000f937 lui s2,0x2000f - 635a: 00050023 sb zero,0(a0) - 635e: 9541c703 lbu a4,-1708(gp) # 20000194 - 6362: 1141 addi sp,sp,-16 - 6364: 84c90793 addi a5,s2,-1972 # 2000e84c - 6368: 4481 li s1,0 - 636a: 84c90913 addi s2,s2,-1972 - 636e: 00971763 bne a4,s1,637c - 6372: 02000513 li a0,32 - 6376: 0141 addi sp,sp,16 - 6378: 9b8fa06f j 530 <__riscv_restore_4> - 637c: 03c78793 addi a5,a5,60 - 6380: fe47a683 lw a3,-28(a5) - 6384: 18068163 beqz a3,6506 - 6388: 0485 addi s1,s1,1 - 638a: 0ff4f493 andi s1,s1,255 - 638e: b7c5 j 636e - 6390: 2002e7b7 lui a5,0x2002e - 6394: b8c7a783 lw a5,-1140(a5) # 2002db8c - 6398: 006c addi a1,sp,12 - 639a: c63e sw a5,12(sp) - 639c: 22f020ef jal ra,8dca - 63a0: 4611 li a2,4 - 63a2: 02c40593 addi a1,s0,44 - 63a6: 0068 addi a0,sp,12 - 63a8: 329060ef jal ra,ced0 - 63ac: 006c addi a1,sp,12 - 63ae: 854e mv a0,s3 - 63b0: 239020ef jal ra,8de8 - 63b4: 03c00613 li a2,60 - 63b8: 02c48633 mul a2,s1,a2 - 63bc: 000065b7 lui a1,0x6 - 63c0: dd258593 addi a1,a1,-558 # 5dd2 - 63c4: 854e mv a0,s3 - 63c6: 964a add a2,a2,s2 - 63c8: 23f020ef jal ra,8e06 - 63cc: 4795 li a5,5 - 63ce: 2002e537 lui a0,0x2002e - 63d2: 006c addi a1,sp,12 - 63d4: 03342823 sw s3,48(s0) - 63d8: d01c sw a5,32(s0) - 63da: bfc50513 addi a0,a0,-1028 # 2002dbfc - 63de: 50f000ef jal ra,70ec - 63e2: 85a6 mv a1,s1 - 63e4: 8522 mv a0,s0 - 63e6: cb9ff0ef jal ra,609e - 63ea: 4501 li a0,0 - 63ec: b769 j 6376 - 63ee: 4709 li a4,2 - 63f0: 0ae79063 bne a5,a4,6490 - 63f4: 427050ef jal ra,c01a - 63f8: 89aa mv s3,a0 - 63fa: 12050363 beqz a0,6520 - 63fe: 02c40a93 addi s5,s0,44 - 6402: 4611 li a2,4 - 6404: 85d6 mv a1,s5 - 6406: 0068 addi a0,sp,12 - 6408: 2c9060ef jal ra,ced0 - 640c: 4a32 lw s4,12(sp) - 640e: f0000537 lui a0,0xf0000 - 6412: 2d2010ef jal ra,76e4 - 6416: 00aa7a33 and s4,s4,a0 - 641a: e0000537 lui a0,0xe0000 - 641e: 2c6010ef jal ra,76e4 - 6422: 04aa0063 beq s4,a0,6462 - 6426: 2002e5b7 lui a1,0x2002e - 642a: bfc58593 addi a1,a1,-1028 # 2002dbfc - 642e: 0068 addi a0,sp,12 - 6430: 736010ef jal ra,7b66 - 6434: e51d bnez a0,6462 - 6436: 2002e7b7 lui a5,0x2002e - 643a: b8c7a783 lw a5,-1140(a5) # 2002db8c - 643e: 3412 lhu a2,40(s0) - 6440: 006c addi a1,sp,12 - 6442: 854e mv a0,s3 - 6444: c63e sw a5,12(sp) - 6446: 171050ef jal ra,bdb6 - 644a: e11d bnez a0,6470 - 644c: 85d6 mv a1,s5 - 644e: 4611 li a2,4 - 6450: 0068 addi a0,sp,12 - 6452: 27f060ef jal ra,ced0 - 6456: 3052 lhu a2,36(s0) - 6458: 006c addi a1,sp,12 - 645a: 854e mv a0,s3 - 645c: 30b050ef jal ra,bf66 - 6460: a039 j 646e - 6462: 3412 lhu a2,40(s0) - 6464: 84c18593 addi a1,gp,-1972 # 2000008c - 6468: 854e mv a0,s3 - 646a: 14d050ef jal ra,bdb6 - 646e: c501 beqz a0,6476 - 6470: c15ff0ef jal ra,6084 - 6474: b709 j 6376 - 6476: 03c00613 li a2,60 - 647a: 02c48633 mul a2,s1,a2 - 647e: 000065b7 lui a1,0x6 - 6482: e9658593 addi a1,a1,-362 # 5e96 - 6486: 854e mv a0,s3 - 6488: 964a add a2,a2,s2 - 648a: 35b050ef jal ra,bfe4 - 648e: bf3d j 63cc - 6490: 470d li a4,3 - 6492: 02100513 li a0,33 - 6496: eee790e3 bne a5,a4,6376 - 649a: 420030ef jal ra,98ba - 649e: 445c lw a5,12(s0) - 64a0: 3412 lhu a2,40(s0) - 64a2: 006c addi a1,sp,12 - 64a4: b95e sh a5,52(a0) - 64a6: 2002e7b7 lui a5,0x2002e - 64aa: b8c7a783 lw a5,-1140(a5) # 2002db8c - 64ae: 89aa mv s3,a0 - 64b0: c63e sw a5,12(sp) - 64b2: 2a5020ef jal ra,8f56 - 64b6: 8a2a mv s4,a0 - 64b8: c511 beqz a0,64c4 - 64ba: 854e mv a0,s3 - 64bc: 03e030ef jal ra,94fa - 64c0: 8552 mv a0,s4 - 64c2: b77d j 6470 - 64c4: 03c00593 li a1,60 - 64c8: 02b485b3 mul a1,s1,a1 - 64cc: 854e mv a0,s3 - 64ce: 95ca add a1,a1,s2 - 64d0: 491020ef jal ra,9160 - 64d4: 000065b7 lui a1,0x6 - 64d8: 854e mv a0,s3 - 64da: d8e58593 addi a1,a1,-626 # 5d8e - 64de: 493020ef jal ra,9170 - 64e2: 4795 li a5,5 - 64e4: 85a6 mv a1,s1 - 64e6: 8522 mv a0,s0 - 64e8: 03342823 sw s3,48(s0) - 64ec: 03342a23 sw s3,52(s0) - 64f0: d01c sw a5,32(s0) - 64f2: badff0ef jal ra,609e - 64f6: 2002e537 lui a0,0x2002e - 64fa: 006c addi a1,sp,12 - 64fc: bfc50513 addi a0,a0,-1028 # 2002dbfc - 6500: 3ed000ef jal ra,70ec - 6504: b5dd j 63ea - 6506: a104 sb s1,0(a0) - 6508: 4ddc lw a5,28(a1) - 650a: c1c4 sw s1,4(a1) - 650c: 842e mv s0,a1 - 650e: ee0790e3 bnez a5,63ee - 6512: 02844503 lbu a0,40(s0) - 6516: 1b5020ef jal ra,8eca - 651a: 89aa mv s3,a0 - 651c: e6051ae3 bnez a0,6390 - 6520: 4545 li a0,17 - 6522: bd91 j 6376 - -00006524 : -tcp_recved_socket(): - 6524: ff3f92ef jal t0,516 <__riscv_save_0> - 6528: 08852783 lw a5,136(a0) - 652c: b54e sh a1,44(a0) - 652e: 842a mv s0,a0 - 6530: c781 beqz a5,6538 - 6532: 279e lhu a5,8(a5) - 6534: 8d9d sub a1,a1,a5 - 6536: b54e sh a1,44(a0) - 6538: 8522 mv a0,s0 - 653a: 333020ef jal ra,906c - 653e: cd09 beqz a0,6558 - 6540: 02644783 lbu a5,38(s0) - 6544: 8522 mv a0,s0 - 6546: 0027e793 ori a5,a5,2 - 654a: 02f40323 sb a5,38(s0) - 654e: 77d040ef jal ra,b4ca - 6552: 4505 li a0,1 - 6554: fe7f906f j 53a <__riscv_restore_0> - 6558: 2002e7b7 lui a5,0x2002e - 655c: be07a783 lw a5,-1056(a5) # 2002dbe0 - 6560: 83a1 srli a5,a5,0x8 - 6562: 8b85 andi a5,a5,1 - 6564: d7fd beqz a5,6552 - 6566: 02644783 lbu a5,38(s0) - 656a: 8b85 andi a5,a5,1 - 656c: d3fd beqz a5,6552 - 656e: 4789 li a5,2 - 6570: 02f403a3 sb a5,39(s0) - 6574: 4705 li a4,1 - 6576: 96e1a023 sw a4,-1696(gp) # 200001a0 - 657a: bfe1 j 6552 - -0000657c : -WCHNET_ModifyRecvBuf(): - 657c: 9541c783 lbu a5,-1708(gp) # 20000194 - 6580: 04f57663 bgeu a0,a5,65cc - 6584: 03c00713 li a4,60 - 6588: 02e50533 mul a0,a0,a4 - 658c: 2000f7b7 lui a5,0x2000f - 6590: 84c78793 addi a5,a5,-1972 # 2000e84c - 6594: 953e add a0,a0,a5 - 6596: 4d58 lw a4,28(a0) - 6598: 00052c23 sw zero,24(a0) - 659c: c550 sw a2,12(a0) - 659e: c50c sw a1,8(a0) - 65a0: c90c sw a1,16(a0) - 65a2: c94c sw a1,20(a0) - 65a4: 478d li a5,3 - 65a6: 02f71363 bne a4,a5,65cc - 65aa: 5908 lw a0,48(a0) - 65ac: c105 beqz a0,65cc - 65ae: 395a lhu a4,52(a0) - 65b0: 00163793 seqz a5,a2 - 65b4: 00f71c63 bne a4,a5,65cc - 65b8: f5ff92ef jal t0,516 <__riscv_save_0> - 65bc: 01061593 slli a1,a2,0x10 - 65c0: 81c1 srli a1,a1,0x10 - 65c2: b94e sh a1,52(a0) - 65c4: f61ff0ef jal ra,6524 - 65c8: f73f906f j 53a <__riscv_restore_0> - 65cc: 8082 ret - -000065ce : -WCHNET_SocketRecv(): - 65ce: f2ff92ef jal t0,4fc <__riscv_save_4> - 65d2: 4214 lw a3,0(a2) - 65d4: 4469 li s0,26 - 65d6: cecd beqz a3,6690 - 65d8: 00062023 sw zero,0(a2) - 65dc: 8a32 mv s4,a2 - 65de: 03c00613 li a2,60 - 65e2: 02c50633 mul a2,a0,a2 - 65e6: 2000f4b7 lui s1,0x2000f - 65ea: 84c48713 addi a4,s1,-1972 # 2000e84c - 65ee: 89aa mv s3,a0 - 65f0: 87ae mv a5,a1 - 65f2: 84c48493 addi s1,s1,-1972 - 65f6: 9732 add a4,a4,a2 - 65f8: 00872b03 lw s6,8(a4) - 65fc: 4750 lw a2,12(a4) - 65fe: 01872903 lw s2,24(a4) - 6602: 4b40 lw s0,20(a4) - 6604: 9b32 add s6,s6,a2 - 6606: 0126f363 bgeu a3,s2,660c - 660a: 8936 mv s2,a3 - 660c: 408b0ab3 sub s5,s6,s0 - 6610: 092af363 bgeu s5,s2,6696 - 6614: cb81 beqz a5,6624 - 6616: 853e mv a0,a5 - 6618: 8656 mv a2,s5 - 661a: 85a2 mv a1,s0 - 661c: 0b5060ef jal ra,ced0 - 6620: 015507b3 add a5,a0,s5 - 6624: 03c00713 li a4,60 - 6628: 02e98733 mul a4,s3,a4 - 662c: 944a add s0,s0,s2 - 662e: 41640433 sub s0,s0,s6 - 6632: 9726 add a4,a4,s1 - 6634: 00872a83 lw s5,8(a4) - 6638: c791 beqz a5,6644 - 663a: 8622 mv a2,s0 - 663c: 85d6 mv a1,s5 - 663e: 853e mv a0,a5 - 6640: 091060ef jal ra,ced0 - 6644: 9456 add s0,s0,s5 - 6646: 03c00793 li a5,60 - 664a: 02f987b3 mul a5,s3,a5 - 664e: 012a2023 sw s2,0(s4) - 6652: 97a6 add a5,a5,s1 - 6654: 4f98 lw a4,24(a5) - 6656: cbc0 sw s0,20(a5) - 6658: 41270933 sub s2,a4,s2 - 665c: 0127ac23 sw s2,24(a5) - 6660: 00091863 bnez s2,6670 - 6664: 4798 lw a4,8(a5) - 6666: cbd8 sw a4,20(a5) - 6668: cb98 sw a4,16(a5) - 666a: 4398 lw a4,0(a5) - 666c: 9b6d andi a4,a4,-5 - 666e: c398 sw a4,0(a5) - 6670: 03c00793 li a5,60 - 6674: 02f989b3 mul s3,s3,a5 - 6678: 478d li a5,3 - 667a: 4401 li s0,0 - 667c: 94ce add s1,s1,s3 - 667e: 4cd8 lw a4,28(s1) - 6680: 00f71863 bne a4,a5,6690 - 6684: 00091663 bnez s2,6690 - 6688: 24ce lhu a1,12(s1) - 668a: 5888 lw a0,48(s1) - 668c: e99ff0ef jal ra,6524 - 6690: 8522 mv a0,s0 - 6692: e9ff906f j 530 <__riscv_restore_4> - 6696: c791 beqz a5,66a2 - 6698: 864a mv a2,s2 - 669a: 85a2 mv a1,s0 - 669c: 853e mv a0,a5 - 669e: 033060ef jal ra,ced0 - 66a2: 944a add s0,s0,s2 - 66a4: fb2a91e3 bne s5,s2,6646 - 66a8: 03c00793 li a5,60 - 66ac: 02f987b3 mul a5,s3,a5 - 66b0: 97a6 add a5,a5,s1 - 66b2: 4780 lw s0,8(a5) - 66b4: bf49 j 6646 - -000066b6 : -SocketIPRawSend(): - 66b6: e39f92ef jal t0,4ee <__riscv_save_10> - 66ba: 4200 lw s0,0(a2) - 66bc: 00062023 sw zero,0(a2) - 66c0: c455 beqz s0,676c - 66c2: 87aa mv a5,a0 - 66c4: 4569 li a0,26 - 66c6: c5d9 beqz a1,6754 - 66c8: 03c00513 li a0,60 - 66cc: 02a787b3 mul a5,a5,a0 - 66d0: 2000f537 lui a0,0x2000f - 66d4: 84c50513 addi a0,a0,-1972 # 2000e84c - 66d8: 2002eab7 lui s5,0x2002e - 66dc: 4481 li s1,0 - 66de: 97aa add a5,a5,a0 - 66e0: 0307ab03 lw s6,48(a5) - 66e4: b8ca8793 addi a5,s5,-1140 # 2002db8c - 66e8: 43bc lw a5,64(a5) - 66ea: b8ca8a93 addi s5,s5,-1140 - 66ee: 8b89 andi a5,a5,2 - 66f0: e399 bnez a5,66f6 - 66f2: 0c700493 li s1,199 - 66f6: 5c800793 li a5,1480 - 66fa: 0087f463 bgeu a5,s0,6702 - 66fe: 5c800413 li s0,1480 - 6702: 01041c93 slli s9,s0,0x10 - 6706: 8a32 mv s4,a2 - 6708: 892e mv s2,a1 - 670a: 010cdc93 srli s9,s9,0x10 - 670e: 0c800c13 li s8,200 - 6712: 4601 li a2,0 - 6714: 85e6 mv a1,s9 - 6716: 4501 li a0,0 - 6718: 3ca020ef jal ra,8ae2 - 671c: 89aa mv s3,a0 - 671e: c929 beqz a0,6770 - 6720: 4148 lw a0,4(a0) - 6722: 8622 mv a2,s0 - 6724: 85ca mv a1,s2 - 6726: 020aae23 sw zero,60(s5) - 672a: 7a6060ef jal ra,ced0 - 672e: 85ce mv a1,s3 - 6730: 855a mv a0,s6 - 6732: 758020ef jal ra,8e8a - 6736: 8baa mv s7,a0 - 6738: 854e mv a0,s3 - 673a: 35a020ef jal ra,8a94 - 673e: 03caa783 lw a5,60(s5) - 6742: cb99 beqz a5,6758 - 6744: 0485 addi s1,s1,1 - 6746: 04c2 slli s1,s1,0x10 - 6748: 80c1 srli s1,s1,0x10 - 674a: bb0ff0ef jal ra,5afa - 674e: fd8492e3 bne s1,s8,6712 - 6752: 454d li a0,19 - 6754: dd3f906f j 526 <__riscv_restore_10> - 6758: 000bd663 bgez s7,6764 - 675c: 855e mv a0,s7 - 675e: 927ff0ef jal ra,6084 - 6762: bfcd j 6754 - 6764: 008a2023 sw s0,0(s4) - 6768: 4501 li a0,0 - 676a: b7ed j 6754 - 676c: 4569 li a0,26 - 676e: b7dd j 6754 - 6770: 4545 li a0,17 - 6772: b7cd j 6754 - -00006774 : -SocketUdpSend(): - 6774: d7bf92ef jal t0,4ee <__riscv_save_10> - 6778: 4200 lw s0,0(a2) - 677a: 00062023 sw zero,0(a2) - 677e: c455 beqz s0,682a - 6780: 87aa mv a5,a0 - 6782: 4569 li a0,26 - 6784: c5d9 beqz a1,6812 - 6786: 03c00513 li a0,60 - 678a: 02a787b3 mul a5,a5,a0 - 678e: 2000f537 lui a0,0x2000f - 6792: 84c50513 addi a0,a0,-1972 # 2000e84c - 6796: 2002eab7 lui s5,0x2002e - 679a: 4481 li s1,0 - 679c: 97aa add a5,a5,a0 - 679e: 0307ab03 lw s6,48(a5) - 67a2: b8ca8793 addi a5,s5,-1140 # 2002db8c - 67a6: 43bc lw a5,64(a5) - 67a8: b8ca8a93 addi s5,s5,-1140 - 67ac: 8b89 andi a5,a5,2 - 67ae: e399 bnez a5,67b4 - 67b0: 0c700493 li s1,199 - 67b4: 5c000793 li a5,1472 - 67b8: 0087f463 bgeu a5,s0,67c0 - 67bc: 5c000413 li s0,1472 - 67c0: 01041c93 slli s9,s0,0x10 - 67c4: 8a32 mv s4,a2 - 67c6: 892e mv s2,a1 - 67c8: 010cdc93 srli s9,s9,0x10 - 67cc: 0c800c13 li s8,200 - 67d0: 4601 li a2,0 - 67d2: 85e6 mv a1,s9 - 67d4: 4501 li a0,0 - 67d6: 30c020ef jal ra,8ae2 - 67da: 89aa mv s3,a0 - 67dc: c929 beqz a0,682e - 67de: 4148 lw a0,4(a0) - 67e0: 8622 mv a2,s0 - 67e2: 85ca mv a1,s2 - 67e4: 020aae23 sw zero,60(s5) - 67e8: 6e8060ef jal ra,ced0 - 67ec: 85ce mv a1,s3 - 67ee: 855a mv a0,s6 - 67f0: 764050ef jal ra,bf54 - 67f4: 8baa mv s7,a0 - 67f6: 854e mv a0,s3 - 67f8: 29c020ef jal ra,8a94 - 67fc: 03caa783 lw a5,60(s5) - 6800: cb99 beqz a5,6816 - 6802: 0485 addi s1,s1,1 - 6804: 04c2 slli s1,s1,0x10 - 6806: 80c1 srli s1,s1,0x10 - 6808: af2ff0ef jal ra,5afa - 680c: fd8492e3 bne s1,s8,67d0 - 6810: 454d li a0,19 - 6812: d15f906f j 526 <__riscv_restore_10> - 6816: 000bd663 bgez s7,6822 - 681a: 855e mv a0,s7 - 681c: 869ff0ef jal ra,6084 - 6820: bfcd j 6812 - 6822: 008a2023 sw s0,0(s4) - 6826: 4501 li a0,0 - 6828: b7ed j 6812 - 682a: 4569 li a0,26 - 682c: b7dd j 6812 - 682e: 4545 li a0,17 - 6830: b7cd j 6812 - -00006832 : -SocketTcpSend(): - 6832: cbdf92ef jal t0,4ee <__riscv_save_10> - 6836: 00062983 lw s3,0(a2) - 683a: 00062023 sw zero,0(a2) - 683e: 0c098e63 beqz s3,691a - 6842: 87aa mv a5,a0 - 6844: 8b2e mv s6,a1 - 6846: 4569 li a0,26 - 6848: c1a1 beqz a1,6888 - 684a: 03c00513 li a0,60 - 684e: 02a787b3 mul a5,a5,a0 - 6852: 2000f537 lui a0,0x2000f - 6856: 84c50513 addi a0,a0,-1972 # 2000e84c - 685a: 2002ea37 lui s4,0x2002e - 685e: 8bb2 mv s7,a2 - 6860: 0c900a93 li s5,201 - 6864: 4481 li s1,0 - 6866: 4c11 li s8,4 - 6868: bd0a0a13 addi s4,s4,-1072 # 2002dbd0 - 686c: 5cfd li s9,-1 - 686e: 97aa add a5,a5,a0 - 6870: 0307a903 lw s2,48(a5) - 6874: 1afd addi s5,s5,-1 - 6876: 0ac2 slli s5,s5,0x10 - 6878: 010ada93 srli s5,s5,0x10 - 687c: 000a9863 bnez s5,688c - 6880: 000ba783 lw a5,0(s7) # 4000 - 6884: cbc9 beqz a5,6916 - 6886: 4501 li a0,0 - 6888: c9ff906f j 526 <__riscv_restore_10> - 688c: 01092783 lw a5,16(s2) - 6890: 09879763 bne a5,s8,691e - 6894: a66ff0ef jal ra,5afa - 6898: 07695703 lhu a4,118(s2) - 689c: e319 bnez a4,68a2 - 689e: 4545 li a0,17 - 68a0: b7e5 j 6888 - 68a2: 010a2783 lw a5,16(s4) - 68a6: 8b85 andi a5,a5,1 - 68a8: e399 bnez a5,68ae - 68aa: ff376ae3 bltu a4,s3,689e - 68ae: 004a2403 lw s0,4(s4) - 68b2: 00877363 bgeu a4,s0,68b8 - 68b6: 843a mv s0,a4 - 68b8: 0089f363 bgeu s3,s0,68be - 68bc: 844e mv s0,s3 - 68be: 01041613 slli a2,s0,0x10 - 68c2: 8241 srli a2,a2,0x10 - 68c4: 4685 li a3,1 - 68c6: e391 bnez a5,68ca - 68c8: 4681 li a3,0 - 68ca: 85da mv a1,s6 - 68cc: 854a mv a0,s2 - 68ce: 35d040ef jal ra,b42a - 68d2: 84aa mv s1,a0 - 68d4: 854a mv a0,s2 - 68d6: e48d bnez s1,6900 - 68d8: 3f3040ef jal ra,b4ca - 68dc: 000ba783 lw a5,0(s7) - 68e0: 408989b3 sub s3,s3,s0 - 68e4: 84aa mv s1,a0 - 68e6: 97a2 add a5,a5,s0 - 68e8: 00fba023 sw a5,0(s7) - 68ec: 9b22 add s6,s6,s0 - 68ee: f8098ce3 beqz s3,6886 - 68f2: 010a2783 lw a5,16(s4) - 68f6: 8b85 andi a5,a5,1 - 68f8: ffb5 bnez a5,6874 - 68fa: f8aff0ef jal ra,6084 - 68fe: b769 j 6888 - 6900: 01949963 bne s1,s9,6912 - 6904: 3c7040ef jal ra,b4ca - 6908: 010a2783 lw a5,16(s4) - 690c: 8b85 andi a5,a5,1 - 690e: f3bd bnez a5,6874 - 6910: b779 j 689e - 6912: 3b9040ef jal ra,b4ca - 6916: 8526 mv a0,s1 - 6918: b7cd j 68fa - 691a: 4569 li a0,26 - 691c: b7b5 j 6888 - 691e: 455d li a0,23 - 6920: b7a5 j 6888 - -00006922 : -WCHNET_SocketSend(): - 6922: 03c00793 li a5,60 - 6926: 02f507b3 mul a5,a0,a5 - 692a: 2000f737 lui a4,0x2000f - 692e: 84c70713 addi a4,a4,-1972 # 2000e84c - 6932: 97ba add a5,a5,a4 - 6934: 0207a803 lw a6,32(a5) - 6938: 4715 li a4,5 - 693a: 00e80763 beq a6,a4,6948 - 693e: 47dd li a5,23 - 6940: 00062023 sw zero,0(a2) - 6944: 853e mv a0,a5 - 6946: 8082 ret - 6948: bcff92ef jal t0,516 <__riscv_save_0> - 694c: 4fd8 lw a4,28(a5) - 694e: 478d li a5,3 - 6950: 00f71863 bne a4,a5,6960 - 6954: edfff0ef jal ra,6832 - 6958: 87aa mv a5,a0 - 695a: 853e mv a0,a5 - 695c: bdff906f j 53a <__riscv_restore_0> - 6960: e701 bnez a4,6968 - 6962: d55ff0ef jal ra,66b6 - 6966: bfcd j 6958 - 6968: 4689 li a3,2 - 696a: 0fa00793 li a5,250 - 696e: fed716e3 bne a4,a3,695a - 6972: e03ff0ef jal ra,6774 - 6976: b7cd j 6958 - -00006978 : -WCHScokedIntHandle(): - 6978: b9ff92ef jal t0,516 <__riscv_save_0> - 697c: 47a1 li a5,8 - 697e: 84aa mv s1,a0 - 6980: 2100 lbu s0,0(a0) - 6982: 02f58a63 beq a1,a5,69b6 - 6986: 00b7ec63 bltu a5,a1,699e - 698a: 4785 li a5,1 - 698c: 02f58163 beq a1,a5,69ae - 6990: 4789 li a5,2 - 6992: 00246413 ori s0,s0,2 - 6996: 00f58e63 beq a1,a5,69b2 - 699a: ba1f906f j 53a <__riscv_restore_0> - 699e: 47c1 li a5,16 - 69a0: 00f58e63 beq a1,a5,69bc - 69a4: 04000793 li a5,64 - 69a8: 04046413 ori s0,s0,64 - 69ac: b7ed j 6996 - 69ae: 00146413 ori s0,s0,1 - 69b2: c080 sw s0,0(s1) - 69b4: b7dd j 699a - 69b6: 00846413 ori s0,s0,8 - 69ba: bfe5 j 69b2 - 69bc: 5948 lw a0,52(a0) - 69be: 01046413 ori s0,s0,16 - 69c2: d965 beqz a0,69b2 - 69c4: 337020ef jal ra,94fa - 69c8: b7ed j 69b2 - -000069ca : -LwipRemoveTcpPcb(): - 69ca: b33f92ef jal t0,4fc <__riscv_save_4> - 69ce: 1141 addi sp,sp,-16 - 69d0: 00f10593 addi a1,sp,15 - 69d4: 89aa mv s3,a0 - 69d6: 000107a3 sb zero,15(sp) - 69da: 91bff0ef jal ra,62f4 - 69de: c515 beqz a0,6a0a - 69e0: 8784 lbu s1,15(sp) - 69e2: 01849793 slli a5,s1,0x18 - 69e6: 87e1 srai a5,a5,0x18 - 69e8: 0207d463 bgez a5,6a10 - 69ec: 03c00413 li s0,60 - 69f0: 07f4f493 andi s1,s1,127 - 69f4: 028484b3 mul s1,s1,s0 - 69f8: 2000f437 lui s0,0x2000f - 69fc: 84c40413 addi s0,s0,-1972 # 2000e84c - 6a00: 9426 add s0,s0,s1 - 6a02: 02042a23 sw zero,52(s0) - 6a06: 02042023 sw zero,32(s0) - 6a0a: 0141 addi sp,sp,16 - 6a0c: b25f906f j 530 <__riscv_restore_4> - 6a10: 9541c783 lbu a5,-1708(gp) # 20000194 - 6a14: fef4fbe3 bgeu s1,a5,6a0a - 6a18: 03c00713 li a4,60 - 6a1c: 02e48733 mul a4,s1,a4 - 6a20: 2000f7b7 lui a5,0x2000f - 6a24: 84c78413 addi s0,a5,-1972 # 2000e84c - 6a28: 84c78913 addi s2,a5,-1972 - 6a2c: 943a add s0,s0,a4 - 6a2e: 4c54 lw a3,28(s0) - 6a30: 470d li a4,3 - 6a32: fce69ce3 bne a3,a4,6a0a - 6a36: 0109a783 lw a5,16(s3) - 6a3a: 4705 li a4,1 - 6a3c: 17dd addi a5,a5,-9 - 6a3e: 0ff7f793 andi a5,a5,255 - 6a42: 00f76e63 bltu a4,a5,6a5e - 6a46: 45c1 li a1,16 - 6a48: 8522 mv a0,s0 - 6a4a: f2fff0ef jal ra,6978 - 6a4e: 03c00793 li a5,60 - 6a52: 02f484b3 mul s1,s1,a5 - 6a56: 94ca add s1,s1,s2 - 6a58: 0204a823 sw zero,48(s1) - 6a5c: b76d j 6a06 - 6a5e: 201c lbu a5,0(s0) - 6a60: 0407e793 ori a5,a5,64 - 6a64: c01c sw a5,0(s0) - 6a66: b7e5 j 6a4e - -00006a68 : -WCHNET_QueryGlobalInt(): - 6a68: 2000f737 lui a4,0x2000f - 6a6c: 9541c683 lbu a3,-1708(gp) # 20000194 - 6a70: 84c70713 addi a4,a4,-1972 # 2000e84c - 6a74: 4781 li a5,0 - 6a76: 00f68f63 beq a3,a5,6a94 - 6a7a: 03c70713 addi a4,a4,60 - 6a7e: fc472603 lw a2,-60(a4) - 6a82: ce11 beqz a2,6a9e - 6a84: 2002e7b7 lui a5,0x2002e - 6a88: b8c78793 addi a5,a5,-1140 # 2002db8c - 6a8c: 57d8 lw a4,44(a5) - 6a8e: 01076713 ori a4,a4,16 - 6a92: d7d8 sw a4,44(a5) - 6a94: 2002e7b7 lui a5,0x2002e - 6a98: bb87c503 lbu a0,-1096(a5) # 2002dbb8 - 6a9c: 8082 ret - 6a9e: 0785 addi a5,a5,1 - 6aa0: 0ff7f793 andi a5,a5,255 - 6aa4: bfc9 j 6a76 - -00006aa6 : -WCHNET_GetGlobalInt(): - 6aa6: a71f92ef jal t0,516 <__riscv_save_0> - 6aaa: fbfff0ef jal ra,6a68 - 6aae: 2002e7b7 lui a5,0x2002e - 6ab2: ba07ac23 sw zero,-1096(a5) # 2002dbb8 - 6ab6: a85f906f j 53a <__riscv_restore_0> - -00006aba : -WCHNET_GetSocketInt(): - 6aba: 9541c783 lbu a5,-1708(gp) # 20000194 - 6abe: 02f57163 bgeu a0,a5,6ae0 - 6ac2: 03c00793 li a5,60 - 6ac6: 02f50533 mul a0,a0,a5 - 6aca: 2000f7b7 lui a5,0x2000f - 6ace: 84c78793 addi a5,a5,-1972 # 2000e84c - 6ad2: 97aa add a5,a5,a0 - 6ad4: 4398 lw a4,0(a5) - 6ad6: 0ff77513 andi a0,a4,255 - 6ada: 8b11 andi a4,a4,4 - 6adc: c398 sw a4,0(a5) - 6ade: 8082 ret - 6ae0: 4501 li a0,0 - 6ae2: 8082 ret - -00006ae4 : -WCHNET_GetPHYStatus(): - 6ae4: 2002e7b7 lui a5,0x2002e - 6ae8: bac7c503 lbu a0,-1108(a5) # 2002dbac - 6aec: 8082 ret - -00006aee : -WCHNET_SocketConnect(): - 6aee: 9541c783 lbu a5,-1708(gp) # 20000194 - 6af2: 06f57763 bgeu a0,a5,6b60 - 6af6: a21f92ef jal t0,516 <__riscv_save_0> - 6afa: 03c00413 li s0,60 - 6afe: 02850533 mul a0,a0,s0 - 6b02: 2000f437 lui s0,0x2000f - 6b06: 84c40413 addi s0,s0,-1972 # 2000e84c - 6b0a: 1141 addi sp,sp,-16 - 6b0c: 942a add s0,s0,a0 - 6b0e: 5804 lw s1,48(s0) - 6b10: 455d li a0,23 - 6b12: cc85 beqz s1,6b4a - 6b14: 5018 lw a4,32(s0) - 6b16: 4795 li a5,5 - 6b18: 02f71963 bne a4,a5,6b4a - 6b1c: 545c lw a5,44(s0) - 6b1e: 02042a23 sw zero,52(s0) - 6b22: 000066b7 lui a3,0x6 - 6b26: c63e sw a5,12(sp) - 6b28: 3052 lhu a2,36(s0) - 6b2a: 04268693 addi a3,a3,66 # 6042 - 6b2e: 006c addi a1,sp,12 - 6b30: 8526 mv a0,s1 - 6b32: 5c7020ef jal ra,98f8 - 6b36: 892a mv s2,a0 - 6b38: cd01 beqz a0,6b50 - 6b3a: 8526 mv a0,s1 - 6b3c: 1bf020ef jal ra,94fa - 6b40: 854a mv a0,s2 - 6b42: 02042023 sw zero,32(s0) - 6b46: d3eff0ef jal ra,6084 - 6b4a: 0141 addi sp,sp,16 - 6b4c: 9eff906f j 53a <__riscv_restore_0> - 6b50: 0264c783 lbu a5,38(s1) - 6b54: 4501 li a0,0 - 6b56: fbf7f793 andi a5,a5,-65 - 6b5a: 02f48323 sb a5,38(s1) - 6b5e: b7f5 j 6b4a - 6b60: 4569 li a0,26 - 6b62: 8082 ret - -00006b64 : -CloseUpdConnect(): - 6b64: 9b3f92ef jal t0,516 <__riscv_save_0> - 6b68: 03c00413 li s0,60 - 6b6c: 02850433 mul s0,a0,s0 - 6b70: 2000f537 lui a0,0x2000f - 6b74: 84c50513 addi a0,a0,-1972 # 2000e84c - 6b78: 44dd li s1,23 - 6b7a: 942a add s0,s0,a0 - 6b7c: 5808 lw a0,48(s0) - 6b7e: cd01 beqz a0,6b96 - 6b80: 5018 lw a4,32(s0) - 6b82: 4795 li a5,5 - 6b84: 4481 li s1,0 - 6b86: 00f71863 bne a4,a5,6b96 - 6b8a: 460050ef jal ra,bfea - 6b8e: 02042823 sw zero,48(s0) - 6b92: 02042023 sw zero,32(s0) - 6b96: 8526 mv a0,s1 - 6b98: 9a3f906f j 53a <__riscv_restore_0> - -00006b9c : -CloseIPRAWConnect(): - 6b9c: 97bf92ef jal t0,516 <__riscv_save_0> - 6ba0: 03c00413 li s0,60 - 6ba4: 02850433 mul s0,a0,s0 - 6ba8: 2000f537 lui a0,0x2000f - 6bac: 84c50513 addi a0,a0,-1972 # 2000e84c - 6bb0: 44dd li s1,23 - 6bb2: 942a add s0,s0,a0 - 6bb4: 5808 lw a0,48(s0) - 6bb6: cd01 beqz a0,6bce - 6bb8: 5018 lw a4,32(s0) - 6bba: 4795 li a5,5 - 6bbc: 4481 li s1,0 - 6bbe: 00f71863 bne a4,a5,6bce - 6bc2: 2d8020ef jal ra,8e9a - 6bc6: 02042823 sw zero,48(s0) - 6bca: 02042023 sw zero,32(s0) - 6bce: 8526 mv a0,s1 - 6bd0: 96bf906f j 53a <__riscv_restore_0> - -00006bd4 : -CloseTcpPCB(): - 6bd4: 929f92ef jal t0,4fc <__riscv_save_4> - 6bd8: 03c00793 li a5,60 - 6bdc: 02f507b3 mul a5,a0,a5 - 6be0: 2000f437 lui s0,0x2000f - 6be4: 84c40993 addi s3,s0,-1972 # 2000e84c - 6be8: 892a mv s2,a0 - 6bea: 1141 addi sp,sp,-16 - 6bec: 84c40413 addi s0,s0,-1972 - 6bf0: 4481 li s1,0 - 6bf2: 99be add s3,s3,a5 - 6bf4: 0349a503 lw a0,52(s3) - 6bf8: c901 beqz a0,6c08 - 6bfa: c62e sw a1,12(sp) - 6bfc: 0ff020ef jal ra,94fa - 6c00: 45b2 lw a1,12(sp) - 6c02: 84aa mv s1,a0 - 6c04: 0209a023 sw zero,32(s3) - 6c08: 03c00793 li a5,60 - 6c0c: 02f90933 mul s2,s2,a5 - 6c10: 944a add s0,s0,s2 - 6c12: 5808 lw a0,48(s0) - 6c14: cd01 beqz a0,6c2c - 6c16: ed99 bnez a1,6c34 - 6c18: 0e3020ef jal ra,94fa - 6c1c: 84aa mv s1,a0 - 6c1e: e519 bnez a0,6c2c - 6c20: 5018 lw a4,32(s0) - 6c22: 4795 li a5,5 - 6c24: 00f71463 bne a4,a5,6c2c - 6c28: 4799 li a5,6 - 6c2a: d01c sw a5,32(s0) - 6c2c: 8526 mv a0,s1 - 6c2e: 0141 addi sp,sp,16 - 6c30: 901f906f j 530 <__riscv_restore_4> - 6c34: 4918 lw a4,16(a0) - 6c36: 47a9 li a5,10 - 6c38: 00f70e63 beq a4,a5,6c54 - 6c3c: 4785 li a5,1 - 6c3e: 00f59663 bne a1,a5,6c4a - 6c42: 4585 li a1,1 - 6c44: 299020ef jal ra,96dc - 6c48: b7d5 j 6c2c - 6c4a: 4789 li a5,2 - 6c4c: 00f59663 bne a1,a5,6c58 - 6c50: 4581 li a1,0 - 6c52: bfcd j 6c44 - 6c54: 54c9 li s1,-14 - 6c56: bfd9 j 6c2c - 6c58: 54d9 li s1,-10 - 6c5a: bfc9 j 6c2c - -00006c5c : -WCHNET_SocketClose(): - 6c5c: 9541c703 lbu a4,-1708(gp) # 20000194 - 6c60: 04e57b63 bgeu a0,a4,6cb6 - 6c64: 03c00713 li a4,60 - 6c68: 02e507b3 mul a5,a0,a4 - 6c6c: 2000f737 lui a4,0x2000f - 6c70: 84c70713 addi a4,a4,-1972 # 2000e84c - 6c74: 4695 li a3,5 - 6c76: 97ba add a5,a5,a4 - 6c78: 5390 lw a2,32(a5) - 6c7a: 475d li a4,23 - 6c7c: 02d61e63 bne a2,a3,6cb8 - 6c80: 897f92ef jal t0,516 <__riscv_save_0> - 6c84: 4fdc lw a5,28(a5) - 6c86: 4709 li a4,2 - 6c88: 00e79763 bne a5,a4,6c96 - 6c8c: ed9ff0ef jal ra,6b64 - 6c90: 0562 slli a0,a0,0x18 - 6c92: 8561 srai a0,a0,0x18 - 6c94: a031 j 6ca0 - 6c96: 470d li a4,3 - 6c98: 00e79a63 bne a5,a4,6cac - 6c9c: f39ff0ef jal ra,6bd4 - 6ca0: be4ff0ef jal ra,6084 - 6ca4: 872a mv a4,a0 - 6ca6: 853a mv a0,a4 - 6ca8: 893f906f j 53a <__riscv_restore_0> - 6cac: 4765 li a4,25 - 6cae: ffe5 bnez a5,6ca6 - 6cb0: eedff0ef jal ra,6b9c - 6cb4: bff1 j 6c90 - 6cb6: 4769 li a4,26 - 6cb8: 853a mv a0,a4 - 6cba: 8082 ret - -00006cbc : -QueryPingEnable(): - 6cbc: 2002e7b7 lui a5,0x2002e - 6cc0: be47a503 lw a0,-1052(a5) # 2002dbe4 - 6cc4: 8135 srli a0,a0,0xd - 6cc6: 8905 andi a0,a0,1 - 6cc8: 8082 ret - -00006cca : -LwipUnreachPort(): - 6cca: 2002e7b7 lui a5,0x2002e - 6cce: b8c78793 addi a5,a5,-1140 # 2002db8c - 6cd2: 4705 li a4,1 - 6cd4: 1141 addi sp,sp,-16 - 6cd6: cbc8 sw a0,20(a5) - 6cd8: db94 sw a3,48(a5) - 6cda: dbd0 sw a2,52(a5) - 6cdc: df8c sw a1,56(a5) - 6cde: d7d8 sw a4,44(a5) - 6ce0: 0141 addi sp,sp,16 - 6ce2: 8082 ret - -00006ce4 : -LwipArpCheck(): - 6ce4: 2002e7b7 lui a5,0x2002e - 6ce8: 4705 li a4,1 - 6cea: bce7a423 sw a4,-1080(a5) # 2002dbc8 - 6cee: 8082 ret - -00006cf0 : -find_entry(): - 6cf0: 827f92ef jal t0,516 <__riscv_save_0> - 6cf4: 2002e7b7 lui a5,0x2002e - 6cf8: bdc7a603 lw a2,-1060(a5) # 2002dbdc - 6cfc: 8241a683 lw a3,-2012(gp) # 20000064 - 6d00: 01861713 slli a4,a2,0x18 - 6d04: 8761 srai a4,a4,0x18 - 6d06: 14050c63 beqz a0,6e5e - 6d0a: 9641c783 lbu a5,-1692(gp) # 200001a4 - 6d0e: 4861 li a6,24 - 6d10: 4889 li a7,2 - 6d12: 03078833 mul a6,a5,a6 - 6d16: 9836 add a6,a6,a3 - 6d18: 00c82303 lw t1,12(a6) - 6d1c: 15131163 bne t1,a7,6e5e - 6d20: 00154303 lbu t1,1(a0) - 6d24: 00054883 lbu a7,0(a0) - 6d28: 00082803 lw a6,0(a6) - 6d2c: 0322 slli t1,t1,0x8 - 6d2e: 01136333 or t1,t1,a7 - 6d32: 00254883 lbu a7,2(a0) - 6d36: 08c2 slli a7,a7,0x10 - 6d38: 0068e333 or t1,a7,t1 - 6d3c: 00354883 lbu a7,3(a0) - 6d40: 08e2 slli a7,a7,0x18 - 6d42: 0068e8b3 or a7,a7,t1 - 6d46: 11089c63 bne a7,a6,6e5e - 6d4a: 07e2 slli a5,a5,0x18 - 6d4c: 87e1 srai a5,a5,0x18 - 6d4e: 853e mv a0,a5 - 6d50: feaf906f j 53a <__riscv_restore_0> - 6d54: 025788b3 mul a7,a5,t0 - 6d58: 98b6 add a7,a7,a3 - 6d5a: 00c8ae03 lw t3,12(a7) # 800c - 6d5e: 07061a63 bne a2,a6,6dd2 - 6d62: 060e1863 bnez t3,6dd2 - 6d66: 01879813 slli a6,a5,0x18 - 6d6a: 41885813 srai a6,a6,0x18 - 6d6e: 0785 addi a5,a5,1 - 6d70: 07c2 slli a5,a5,0x10 - 6d72: 83c1 srli a5,a5,0x10 - 6d74: fec7e0e3 bltu a5,a2,6d54 - 6d78: 01061763 bne a2,a6,6d86 - 6d7c: 0015f893 andi a7,a1,1 - 6d80: 57fd li a5,-1 - 6d82: fc0886e3 beqz a7,6d4e - 6d86: 8989 andi a1,a1,2 - 6d88: 57fd li a5,-1 - 6d8a: f1f1 bnez a1,6d4e - 6d8c: 01081793 slli a5,a6,0x10 - 6d90: 00c86b63 bltu a6,a2,6da6 - 6d94: 01031793 slli a5,t1,0x10 - 6d98: 00c36763 bltu t1,a2,6da6 - 6d9c: 57fd li a5,-1 - 6d9e: fac778e3 bgeu a4,a2,6d4e - 6da2: 01071793 slli a5,a4,0x10 - 6da6: 83c1 srli a5,a5,0x10 - 6da8: 4761 li a4,24 - 6daa: 02e78733 mul a4,a5,a4 - 6dae: 96ba add a3,a3,a4 - 6db0: 0006a623 sw zero,12(a3) - 6db4: cd01 beqz a0,6dcc - 6db6: 3110 lbu a2,1(a0) - 6db8: 2118 lbu a4,0(a0) - 6dba: 0622 slli a2,a2,0x8 - 6dbc: 8e59 or a2,a2,a4 - 6dbe: 2138 lbu a4,2(a0) - 6dc0: 0742 slli a4,a4,0x10 - 6dc2: 8e59 or a2,a2,a4 - 6dc4: 3138 lbu a4,3(a0) - 6dc6: 0762 slli a4,a4,0x18 - 6dc8: 8f51 or a4,a4,a2 - 6dca: c298 sw a4,0(a3) - 6dcc: 00069823 sh zero,16(a3) - 6dd0: a80d j 6e02 - 6dd2: 047e1463 bne t3,t2,6e1a - 6dd6: c90d beqz a0,6e08 - 6dd8: 00154e83 lbu t4,1(a0) - 6ddc: 00054e03 lbu t3,0(a0) - 6de0: 0ea2 slli t4,t4,0x8 - 6de2: 01ceeeb3 or t4,t4,t3 - 6de6: 00254e03 lbu t3,2(a0) - 6dea: 0e42 slli t3,t3,0x10 - 6dec: 01de6eb3 or t4,t3,t4 - 6df0: 00354e03 lbu t3,3(a0) - 6df4: 0e62 slli t3,t3,0x18 - 6df6: 01de6e33 or t3,t3,t4 - 6dfa: 0008ae83 lw t4,0(a7) - 6dfe: 01de1563 bne t3,t4,6e08 - 6e02: 96f18223 sb a5,-1692(gp) # 200001a4 - 6e06: b791 j 6d4a - 6e08: 0108d883 lhu a7,16(a7) - 6e0c: f7e8e1e3 bltu a7,t5,6d6e - 6e10: 01879713 slli a4,a5,0x18 - 6e14: 8761 srai a4,a4,0x18 - 6e16: 8f46 mv t5,a7 - 6e18: bf99 j 6d6e - 6e1a: f48e1ae3 bne t3,s0,6d6e - 6e1e: c515 beqz a0,6e4a - 6e20: 00154e83 lbu t4,1(a0) - 6e24: 00054e03 lbu t3,0(a0) - 6e28: 0ea2 slli t4,t4,0x8 - 6e2a: 01ceeeb3 or t4,t4,t3 - 6e2e: 00254e03 lbu t3,2(a0) - 6e32: 0e42 slli t3,t3,0x10 - 6e34: 01de6eb3 or t4,t3,t4 - 6e38: 00354e03 lbu t3,3(a0) - 6e3c: 0e62 slli t3,t3,0x18 - 6e3e: 01de6e33 or t3,t3,t4 - 6e42: 0008ae83 lw t4,0(a7) - 6e46: fbde0ee3 beq t3,t4,6e02 - 6e4a: 0108d883 lhu a7,16(a7) - 6e4e: f3f8e0e3 bltu a7,t6,6d6e - 6e52: 01879313 slli t1,a5,0x18 - 6e56: 41835313 srai t1,t1,0x18 - 6e5a: 8fc6 mv t6,a7 - 6e5c: bf09 j 6d6e - 6e5e: 883a mv a6,a4 - 6e60: 833a mv t1,a4 - 6e62: 4f81 li t6,0 - 6e64: 4f01 li t5,0 - 6e66: 4781 li a5,0 - 6e68: 42e1 li t0,24 - 6e6a: 4385 li t2,1 - 6e6c: 4409 li s0,2 - 6e6e: b719 j 6d74 - -00006e70 : -update_arp_entry(): - 6e70: e8cf92ef jal t0,4fc <__riscv_save_4> - 6e74: 3198 lbu a4,1(a1) - 6e76: 219c lbu a5,0(a1) - 6e78: 8a36 mv s4,a3 - 6e7a: 0722 slli a4,a4,0x8 - 6e7c: 8f5d or a4,a4,a5 - 6e7e: 21bc lbu a5,2(a1) - 6e80: 4154 lw a3,4(a0) - 6e82: 07c2 slli a5,a5,0x10 - 6e84: 8f5d or a4,a4,a5 - 6e86: 31bc lbu a5,3(a1) - 6e88: 07e2 slli a5,a5,0x18 - 6e8a: 8fd9 or a5,a5,a4 - 6e8c: 00f69b63 bne a3,a5,6ea2 - 6e90: e689 bnez a3,6e9a - 6e92: 57d9 li a5,-10 - 6e94: 853e mv a0,a5 - 6e96: e9af906f j 530 <__riscv_restore_4> - 6e9a: 4505 li a0,1 - 6e9c: ec5fe0ef jal ra,5d60 - 6ea0: bfcd j 6e92 - 6ea2: dbe5 beqz a5,6e92 - 6ea4: 842e mv s0,a1 - 6ea6: 892a mv s2,a0 - 6ea8: 85aa mv a1,a0 - 6eaa: 8522 mv a0,s0 - 6eac: 89b2 mv s3,a2 - 6eae: 4b9000ef jal ra,7b66 - 6eb2: f165 bnez a0,6e92 - 6eb4: 301c lbu a5,1(s0) - 6eb6: 2004 lbu s1,0(s0) - 6eb8: f0000537 lui a0,0xf0000 - 6ebc: 07a2 slli a5,a5,0x8 - 6ebe: 8fc5 or a5,a5,s1 - 6ec0: 2024 lbu s1,2(s0) - 6ec2: 04c2 slli s1,s1,0x10 - 6ec4: 8fc5 or a5,a5,s1 - 6ec6: 3024 lbu s1,3(s0) - 6ec8: 04e2 slli s1,s1,0x18 - 6eca: 8cdd or s1,s1,a5 - 6ecc: 019000ef jal ra,76e4 - 6ed0: 8ce9 and s1,s1,a0 - 6ed2: e0000537 lui a0,0xe0000 - 6ed6: 00f000ef jal ra,76e4 - 6eda: faa48ce3 beq s1,a0,6e92 - 6ede: 85d2 mv a1,s4 - 6ee0: 8522 mv a0,s0 - 6ee2: e0fff0ef jal ra,6cf0 - 6ee6: 87aa mv a5,a0 - 6ee8: fa0546e3 bltz a0,6e94 - 6eec: 47e1 li a5,24 - 6eee: 02f507b3 mul a5,a0,a5 - 6ef2: 8241a503 lw a0,-2012(gp) # 20000064 - 6ef6: 953e add a0,a0,a5 - 6ef8: 4789 li a5,2 - 6efa: c55c sw a5,12(a0) - 6efc: 01252a23 sw s2,20(a0) # e0000014 <__freertos_irq_stack_top+0xbffd0014> - 6f00: 00598793 addi a5,s3,5 - 6f04: 00950713 addi a4,a0,9 - 6f08: 2394 lbu a3,0(a5) - 6f0a: 177d addi a4,a4,-1 - 6f0c: b314 sb a3,1(a4) - 6f0e: fff78693 addi a3,a5,-1 - 6f12: 00f99663 bne s3,a5,6f1e - 6f16: 00051823 sh zero,16(a0) - 6f1a: 4781 li a5,0 - 6f1c: bfa5 j 6e94 - 6f1e: 87b6 mv a5,a3 - 6f20: b7e5 j 6f08 - -00006f22 : -etharp_ip_input(): - 6f22: cd21 beqz a0,6f7a - 6f24: df2f92ef jal t0,516 <__riscv_save_0> - 6f28: 41c4 lw s1,4(a1) - 6f2a: 842a mv s0,a0 - 6f2c: 34dc lbu a5,13(s1) - 6f2e: 24c8 lbu a0,12(s1) - 6f30: 07a2 slli a5,a5,0x8 - 6f32: 8d5d or a0,a0,a5 - 6f34: 770000ef jal ra,76a4 - 6f38: 67a1 lui a5,0x8 - 6f3a: 10078793 addi a5,a5,256 # 8100 - 6f3e: 01248593 addi a1,s1,18 - 6f42: 00f50463 beq a0,a5,6f4a - 6f46: 00e48593 addi a1,s1,14 - 6f4a: 35d8 lbu a4,13(a1) - 6f4c: 25dc lbu a5,12(a1) - 6f4e: 0722 slli a4,a4,0x8 - 6f50: 8f5d or a4,a4,a5 - 6f52: 25fc lbu a5,14(a1) - 6f54: 07c2 slli a5,a5,0x10 - 6f56: 8f5d or a4,a4,a5 - 6f58: 35fc lbu a5,15(a1) - 6f5a: 07e2 slli a5,a5,0x18 - 6f5c: 8fd9 or a5,a5,a4 - 6f5e: 4058 lw a4,4(s0) - 6f60: 8fb9 xor a5,a5,a4 - 6f62: 4418 lw a4,8(s0) - 6f64: 8ff9 and a5,a5,a4 - 6f66: eb81 bnez a5,6f76 - 6f68: 4681 li a3,0 - 6f6a: 00648613 addi a2,s1,6 - 6f6e: 05b1 addi a1,a1,12 - 6f70: 8522 mv a0,s0 - 6f72: effff0ef jal ra,6e70 - 6f76: dc4f906f j 53a <__riscv_restore_0> - 6f7a: 8082 ret - -00006f7c : -etharp_arp_input(): - 6f7c: 16050763 beqz a0,70ea - 6f80: d7cf92ef jal t0,4fc <__riscv_save_4> - 6f84: 263a lhu a4,10(a2) - 6f86: 02900793 li a5,41 - 6f8a: 1141 addi sp,sp,-16 - 6f8c: 89b2 mv s3,a2 - 6f8e: 8a2e mv s4,a1 - 6f90: 84aa mv s1,a0 - 6f92: 00e7e863 bltu a5,a4,6fa2 - 6f96: 854e mv a0,s3 - 6f98: 2fd010ef jal ra,8a94 - 6f9c: 0141 addi sp,sp,16 - 6f9e: d92f906f j 530 <__riscv_restore_4> - 6fa2: 00462903 lw s2,4(a2) - 6fa6: 00d94783 lbu a5,13(s2) - 6faa: 00c94503 lbu a0,12(s2) - 6fae: 01290413 addi s0,s2,18 - 6fb2: 07a2 slli a5,a5,0x8 - 6fb4: 8d5d or a0,a0,a5 - 6fb6: 6ee000ef jal ra,76a4 - 6fba: 67a1 lui a5,0x8 - 6fbc: 10078793 addi a5,a5,256 # 8100 - 6fc0: 00f50463 beq a0,a5,6fc8 - 6fc4: 00e90413 addi s0,s2,14 - 6fc8: 00144a83 lbu s5,1(s0) - 6fcc: 201c lbu a5,0(s0) - 6fce: 4505 li a0,1 - 6fd0: 0aa2 slli s5,s5,0x8 - 6fd2: 00faeab3 or s5,s5,a5 - 6fd6: 6ce000ef jal ra,76a4 - 6fda: faaa9ee3 bne s5,a0,6f96 - 6fde: 00544a83 lbu s5,5(s0) - 6fe2: 205c lbu a5,4(s0) - 6fe4: 60400513 li a0,1540 - 6fe8: 0aa2 slli s5,s5,0x8 - 6fea: 00faeab3 or s5,s5,a5 - 6fee: 6b6000ef jal ra,76a4 - 6ff2: faaa92e3 bne s5,a0,6f96 - 6ff6: 00344a83 lbu s5,3(s0) - 6ffa: 203c lbu a5,2(s0) - 6ffc: 6505 lui a0,0x1 - 6ffe: 0aa2 slli s5,s5,0x8 - 7000: 80050513 addi a0,a0,-2048 # 800 <__stack_size> - 7004: 00faeab3 or s5,s5,a5 - 7008: 69c000ef jal ra,76a4 - 700c: f8aa95e3 bne s5,a0,6f96 - 7010: 00e40a93 addi s5,s0,14 - 7014: 4611 li a2,4 - 7016: 85d6 mv a1,s5 - 7018: 0068 addi a0,sp,12 - 701a: 6b7050ef jal ra,ced0 - 701e: 40d4 lw a3,4(s1) - 7020: 00840613 addi a2,s0,8 - 7024: c2ad beqz a3,7086 - 7026: 3c18 lbu a4,25(s0) - 7028: 2c1c lbu a5,24(s0) - 702a: 0722 slli a4,a4,0x8 - 702c: 8f5d or a4,a4,a5 - 702e: 2c3c lbu a5,26(s0) - 7030: 07c2 slli a5,a5,0x10 - 7032: 8f5d or a4,a4,a5 - 7034: 3c3c lbu a5,27(s0) - 7036: 07e2 slli a5,a5,0x18 - 7038: 8fd9 or a5,a5,a4 - 703a: 04f69663 bne a3,a5,7086 - 703e: 4685 li a3,1 - 7040: 006c addi a1,sp,12 - 7042: 8526 mv a0,s1 - 7044: e2dff0ef jal ra,6e70 - 7048: 4b05 li s6,1 - 704a: 307c lbu a5,7(s0) - 704c: 2068 lbu a0,6(s0) - 704e: 07a2 slli a5,a5,0x8 - 7050: 8d5d or a0,a0,a5 - 7052: 2d89 jal 76a4 - 7054: 4785 li a5,1 - 7056: 02f50f63 beq a0,a5,7094 - 705a: 4789 li a5,2 - 705c: f2f51de3 bne a0,a5,6f96 - 7060: 006c addi a1,sp,12 - 7062: 8526 mv a0,s1 - 7064: 3f8010ef jal ra,845c - 7068: 2002e7b7 lui a5,0x2002e - 706c: b147a703 lw a4,-1260(a5) # 2002db14 - 7070: f20703e3 beqz a4,6f96 - 7074: b1478793 addi a5,a5,-1260 - 7078: 47dc lw a5,12(a5) - 707a: f0078ee3 beqz a5,6f96 - 707e: 006c addi a1,sp,12 - 7080: 8526 mv a0,s1 - 7082: 9782 jalr a5 - 7084: bf09 j 6f96 - 7086: 4681 li a3,0 - 7088: 006c addi a1,sp,12 - 708a: 8526 mv a0,s1 - 708c: de5ff0ef jal ra,6e70 - 7090: 4b01 li s6,0 - 7092: bf65 j 704a - 7094: f00b01e3 beqz s6,6f96 - 7098: 4509 li a0,2 - 709a: 2529 jal 76a4 - 709c: a068 sb a0,6(s0) - 709e: 8121 srli a0,a0,0x8 - 70a0: b068 sb a0,7(s0) - 70a2: 4611 li a2,4 - 70a4: 85d6 mv a1,s5 - 70a6: 01840513 addi a0,s0,24 - 70aa: 627050ef jal ra,ced0 - 70ae: 4611 li a2,4 - 70b0: 00448593 addi a1,s1,4 - 70b4: 8556 mv a0,s5 - 70b6: 61b050ef jal ra,ced0 - 70ba: 0435 addi s0,s0,13 - 70bc: 0915 addi s2,s2,5 - 70be: 4795 li a5,5 - 70c0: 56fd li a3,-1 - 70c2: 2018 lbu a4,0(s0) - 70c4: 197d addi s2,s2,-1 - 70c6: 147d addi s0,s0,-1 - 70c8: b438 sb a4,11(s0) - 70ca: 00e900a3 sb a4,1(s2) - 70ce: 00fa0733 add a4,s4,a5 - 70d2: 2318 lbu a4,0(a4) - 70d4: 17fd addi a5,a5,-1 - 70d6: b018 sb a4,1(s0) - 70d8: 00e903a3 sb a4,7(s2) - 70dc: fed793e3 bne a5,a3,70c2 - 70e0: 4c9c lw a5,24(s1) - 70e2: 85ce mv a1,s3 - 70e4: 8526 mv a0,s1 - 70e6: 9782 jalr a5 - 70e8: b57d j 6f96 - 70ea: 8082 ret - -000070ec : -etharp_request(): - 70ec: c10f92ef jal t0,4fc <__riscv_save_4> - 70f0: 892a mv s2,a0 - 70f2: 89ae mv s3,a1 - 70f4: 4601 li a2,0 - 70f6: 02a00593 li a1,42 - 70fa: 450d li a0,3 - 70fc: 1e7010ef jal ra,8ae2 - 7100: 547d li s0,-1 - 7102: c94d beqz a0,71b4 - 7104: 4140 lw s0,4(a0) - 7106: 84aa mv s1,a0 - 7108: 4505 li a0,1 - 710a: 2b69 jal 76a4 - 710c: a848 sb a0,20(s0) - 710e: 8121 srli a0,a0,0x8 - 7110: b848 sb a0,21(s0) - 7112: 02e90693 addi a3,s2,46 - 7116: 00540793 addi a5,s0,5 - 711a: 4715 li a4,5 - 711c: 84418593 addi a1,gp,-1980 # 20000084 - 7120: 83c18613 addi a2,gp,-1988 # 2000007c - 7124: 557d li a0,-1 - 7126: 0006c803 lbu a6,0(a3) - 712a: 17fd addi a5,a5,-1 - 712c: 16fd addi a3,a3,-1 - 712e: 01078ba3 sb a6,23(a5) - 7132: 00e58833 add a6,a1,a4 - 7136: 00084803 lbu a6,0(a6) - 713a: 030780a3 sb a6,33(a5) - 713e: 00e60833 add a6,a2,a4 - 7142: 00084803 lbu a6,0(a6) - 7146: 177d addi a4,a4,-1 - 7148: 010780a3 sb a6,1(a5) - 714c: 0016c803 lbu a6,1(a3) - 7150: 010783a3 sb a6,7(a5) - 7154: fca719e3 bne a4,a0,7126 - 7158: 4611 li a2,4 - 715a: 00490593 addi a1,s2,4 - 715e: 01c40513 addi a0,s0,28 - 7162: 56f050ef jal ra,ced0 - 7166: 85ce mv a1,s3 - 7168: 4611 li a2,4 - 716a: 02640513 addi a0,s0,38 - 716e: 563050ef jal ra,ced0 - 7172: 4505 li a0,1 - 7174: 2b05 jal 76a4 - 7176: a468 sb a0,14(s0) - 7178: 6985 lui s3,0x1 - 717a: 8121 srli a0,a0,0x8 - 717c: b468 sb a0,15(s0) - 717e: 80098513 addi a0,s3,-2048 # 800 <__stack_size> - 7182: 230d jal 76a4 - 7184: a808 sb a0,16(s0) - 7186: 8121 srli a0,a0,0x8 - 7188: b808 sb a0,17(s0) - 718a: 60400513 li a0,1540 - 718e: 2b19 jal 76a4 - 7190: a828 sb a0,18(s0) - 7192: 8121 srli a0,a0,0x8 - 7194: b828 sb a0,19(s0) - 7196: 80698513 addi a0,s3,-2042 - 719a: 2329 jal 76a4 - 719c: 01892783 lw a5,24(s2) - 71a0: a448 sb a0,12(s0) - 71a2: 8121 srli a0,a0,0x8 - 71a4: b448 sb a0,13(s0) - 71a6: 85a6 mv a1,s1 - 71a8: 854a mv a0,s2 - 71aa: 9782 jalr a5 - 71ac: 842a mv s0,a0 - 71ae: 8526 mv a0,s1 - 71b0: 0e5010ef jal ra,8a94 - 71b4: 8522 mv a0,s0 - 71b6: b7af906f j 530 <__riscv_restore_4> - -000071ba : -etharp_tmr(): - 71ba: b34f92ef jal t0,4ee <__riscv_save_10> - 71be: 2002e4b7 lui s1,0x2002e - 71c2: 4401 li s0,0 - 71c4: bd048493 addi s1,s1,-1072 # 2002dbd0 - 71c8: 4ae1 li s5,24 - 71ca: 4b89 li s7,2 - 71cc: 4c05 li s8,1 - 71ce: 0ff00c93 li s9,255 - 71d2: 44dc lw a5,12(s1) - 71d4: 00f46463 bltu s0,a5,71dc - 71d8: b4ef906f j 526 <__riscv_restore_10> - 71dc: 03540933 mul s2,s0,s5 - 71e0: 82418993 addi s3,gp,-2012 # 20000064 - 71e4: 0009a583 lw a1,0(s3) - 71e8: 95ca add a1,a1,s2 - 71ea: 299e lhu a5,16(a1) - 71ec: 45d8 lw a4,12(a1) - 71ee: 0785 addi a5,a5,1 - 71f0: 07c2 slli a5,a5,0x10 - 71f2: 83c1 srli a5,a5,0x10 - 71f4: a99e sh a5,16(a1) - 71f6: 01771a63 bne a4,s7,720a - 71fa: 9521d703 lhu a4,-1710(gp) # 20000192 - 71fe: 00e7fc63 bgeu a5,a4,7216 - 7202: 0405 addi s0,s0,1 - 7204: 0ff47413 andi s0,s0,255 - 7208: b7e9 j 71d2 - 720a: ff871ce3 bne a4,s8,7202 - 720e: 9501c703 lbu a4,-1712(gp) # 20000190 - 7212: 00f77563 bgeu a4,a5,721c - 7216: 0005a623 sw zero,12(a1) - 721a: b7e5 j 7202 - 721c: 49c8 lw a0,20(a1) - 721e: ecfff0ef jal ra,70ec - 7222: 9501c783 lbu a5,-1712(gp) # 20000190 - 7226: fd979ee3 bne a5,s9,7202 - 722a: 0009a783 lw a5,0(s3) - 722e: 97ca add a5,a5,s2 - 7230: 00079823 sh zero,16(a5) - 7234: b7f9 j 7202 - -00007236 : -etharp_query(): - 7236: ac6f92ef jal t0,4fc <__riscv_save_4> - 723a: 842e mv s0,a1 - 723c: 1141 addi sp,sp,-16 - 723e: 892a mv s2,a0 - 7240: 85aa mv a1,a0 - 7242: 8522 mv a0,s0 - 7244: 89b2 mv s3,a2 - 7246: 121000ef jal ra,7b66 - 724a: c509 beqz a0,7254 - 724c: 5559 li a0,-10 - 724e: 0141 addi sp,sp,16 - 7250: ae0f906f j 530 <__riscv_restore_4> - 7254: 301c lbu a5,1(s0) - 7256: 2004 lbu s1,0(s0) - 7258: f0000537 lui a0,0xf0000 - 725c: 07a2 slli a5,a5,0x8 - 725e: 8fc5 or a5,a5,s1 - 7260: 2024 lbu s1,2(s0) - 7262: 04c2 slli s1,s1,0x10 - 7264: 8fc5 or a5,a5,s1 - 7266: 3024 lbu s1,3(s0) - 7268: 04e2 slli s1,s1,0x18 - 726a: 8cdd or s1,s1,a5 - 726c: 29a5 jal 76e4 - 726e: 8ce9 and s1,s1,a0 - 7270: e0000537 lui a0,0xe0000 - 7274: 2985 jal 76e4 - 7276: fca48be3 beq s1,a0,724c - 727a: 3018 lbu a4,1(s0) - 727c: 201c lbu a5,0(s0) - 727e: 0722 slli a4,a4,0x8 - 7280: 8f5d or a4,a4,a5 - 7282: 203c lbu a5,2(s0) - 7284: 07c2 slli a5,a5,0x10 - 7286: 8f5d or a4,a4,a5 - 7288: 303c lbu a5,3(s0) - 728a: 07e2 slli a5,a5,0x18 - 728c: 8fd9 or a5,a5,a4 - 728e: dfdd beqz a5,724c - 7290: 4585 li a1,1 - 7292: 8522 mv a0,s0 - 7294: a5dff0ef jal ra,6cf0 - 7298: fa054be3 bltz a0,724e - 729c: 47e1 li a5,24 - 729e: 02f504b3 mul s1,a0,a5 - 72a2: 8241a783 lw a5,-2012(gp) # 20000064 - 72a6: 82418a13 addi s4,gp,-2012 # 20000064 - 72aa: 97a6 add a5,a5,s1 - 72ac: 47d8 lw a4,12(a5) - 72ae: c711 beqz a4,72ba - 72b0: 557d li a0,-1 - 72b2: 02099b63 bnez s3,72e8 - 72b6: 4a81 li s5,0 - 72b8: a031 j 72c4 - 72ba: 4705 li a4,1 - 72bc: c7d8 sw a4,12(a5) - 72be: 0127aa23 sw s2,20(a5) - 72c2: 4a85 li s5,1 - 72c4: a21ff0ef jal ra,6ce4 - 72c8: 85a2 mv a1,s0 - 72ca: 854a mv a0,s2 - 72cc: e21ff0ef jal ra,70ec - 72d0: ed01 bnez a0,72e8 - 72d2: 000a2783 lw a5,0(s4) - 72d6: 4705 li a4,1 - 72d8: 97a6 add a5,a5,s1 - 72da: 47d4 lw a3,12(a5) - 72dc: 00e69663 bne a3,a4,72e8 - 72e0: 000a9463 bnez s5,72e8 - 72e4: 00079823 sh zero,16(a5) - 72e8: 000a2783 lw a5,0(s4) - 72ec: 97a6 add a5,a5,s1 - 72ee: 47d8 lw a4,12(a5) - 72f0: 4785 li a5,1 - 72f2: 00f71663 bne a4,a5,72fe - 72f6: c62a sw a0,12(sp) - 72f8: 9edff0ef jal ra,6ce4 - 72fc: 4532 lw a0,12(sp) - 72fe: f40988e3 beqz s3,724e - 7302: 000a2783 lw a5,0(s4) - 7306: 4709 li a4,2 - 7308: 97a6 add a5,a5,s1 - 730a: 47d4 lw a3,12(a5) - 730c: f4e691e3 bne a3,a4,724e - 7310: 0049a403 lw s0,4(s3) - 7314: 00978713 addi a4,a5,9 - 7318: 02e90613 addi a2,s2,46 - 731c: 00540693 addi a3,s0,5 - 7320: 078d addi a5,a5,3 - 7322: 230c lbu a1,0(a4) - 7324: 177d addi a4,a4,-1 - 7326: 16fd addi a3,a3,-1 - 7328: b28c sb a1,1(a3) - 732a: 220c lbu a1,0(a2) - 732c: 167d addi a2,a2,-1 - 732e: b2ec sb a1,7(a3) - 7330: fef719e3 bne a4,a5,7322 - 7334: 6505 lui a0,0x1 - 7336: 80050513 addi a0,a0,-2048 # 800 <__stack_size> - 733a: 26ad jal 76a4 - 733c: 01892783 lw a5,24(s2) - 7340: a448 sb a0,12(s0) - 7342: 8121 srli a0,a0,0x8 - 7344: b448 sb a0,13(s0) - 7346: 85ce mv a1,s3 - 7348: 854a mv a0,s2 - 734a: 9782 jalr a5 - 734c: b709 j 724e - -0000734e : -etharp_output(): - 734e: 9aef92ef jal t0,4fc <__riscv_save_4> - 7352: 84ae mv s1,a1 - 7354: 1141 addi sp,sp,-16 - 7356: 892a mv s2,a0 - 7358: 45b9 li a1,14 - 735a: 8526 mv a0,s1 - 735c: 8432 mv s0,a2 - 735e: 6c8010ef jal ra,8a26 - 7362: 10051e63 bnez a0,747e - 7366: 85ca mv a1,s2 - 7368: 8522 mv a0,s0 - 736a: 7fc000ef jal ra,7b66 - 736e: 10051563 bnez a0,7478 - 7372: 301c lbu a5,1(s0) - 7374: 00044983 lbu s3,0(s0) - 7378: f0000537 lui a0,0xf0000 - 737c: 07a2 slli a5,a5,0x8 - 737e: 0137e7b3 or a5,a5,s3 - 7382: 00244983 lbu s3,2(s0) - 7386: 09c2 slli s3,s3,0x10 - 7388: 00f9e7b3 or a5,s3,a5 - 738c: 00344983 lbu s3,3(s0) - 7390: 09e2 slli s3,s3,0x18 - 7392: 00f9e9b3 or s3,s3,a5 - 7396: 26b9 jal 76e4 - 7398: 00a9f9b3 and s3,s3,a0 - 739c: e0000537 lui a0,0xe0000 - 73a0: 2691 jal 76e4 - 73a2: 2010 lbu a2,0(s0) - 73a4: 3014 lbu a3,1(s0) - 73a6: 2038 lbu a4,2(s0) - 73a8: 303c lbu a5,3(s0) - 73aa: 08a99c63 bne s3,a0,7442 - 73ae: 00869513 slli a0,a3,0x8 - 73b2: 8d51 or a0,a0,a2 - 73b4: 0742 slli a4,a4,0x10 - 73b6: 8d59 or a0,a0,a4 - 73b8: 07e2 slli a5,a5,0x18 - 73ba: 4585 li a1,1 - 73bc: 846c sh a1,8(sp) - 73be: 8d5d or a0,a0,a5 - 73c0: 05e00593 li a1,94 - 73c4: 854c sb a1,10(sp) - 73c6: 2e39 jal 76e4 - 73c8: 8141 srli a0,a0,0x10 - 73ca: 07f57513 andi a0,a0,127 - 73ce: 85c8 sb a0,11(sp) - 73d0: 3008 lbu a0,1(s0) - 73d2: 201c lbu a5,0(s0) - 73d4: 0522 slli a0,a0,0x8 - 73d6: 8d5d or a0,a0,a5 - 73d8: 203c lbu a5,2(s0) - 73da: 07c2 slli a5,a5,0x10 - 73dc: 8fc9 or a5,a5,a0 - 73de: 3028 lbu a0,3(s0) - 73e0: 0562 slli a0,a0,0x18 - 73e2: 8d5d or a0,a0,a5 - 73e4: 2601 jal 76e4 - 73e6: 8121 srli a0,a0,0x8 - 73e8: 8648 sb a0,12(sp) - 73ea: 3008 lbu a0,1(s0) - 73ec: 201c lbu a5,0(s0) - 73ee: 0522 slli a0,a0,0x8 - 73f0: 8d5d or a0,a0,a5 - 73f2: 203c lbu a5,2(s0) - 73f4: 07c2 slli a5,a5,0x10 - 73f6: 8fc9 or a5,a5,a0 - 73f8: 3028 lbu a0,3(s0) - 73fa: 0562 slli a0,a0,0x18 - 73fc: 8d5d or a0,a0,a5 - 73fe: 24dd jal 76e4 - 7400: 86c8 sb a0,13(sp) - 7402: 0034 addi a3,sp,8 - 7404: 40c0 lw s0,4(s1) - 7406: 4795 li a5,5 - 7408: 567d li a2,-1 - 740a: 00540713 addi a4,s0,5 - 740e: 00f685b3 add a1,a3,a5 - 7412: 218c lbu a1,0(a1) - 7414: 177d addi a4,a4,-1 - 7416: b30c sb a1,1(a4) - 7418: 00f905b3 add a1,s2,a5 - 741c: 0295c583 lbu a1,41(a1) - 7420: 17fd addi a5,a5,-1 - 7422: b36c sb a1,7(a4) - 7424: fec795e3 bne a5,a2,740e - 7428: 6505 lui a0,0x1 - 742a: 80050513 addi a0,a0,-2048 # 800 <__stack_size> - 742e: 2c9d jal 76a4 - 7430: 01892783 lw a5,24(s2) - 7434: a448 sb a0,12(s0) - 7436: 8121 srli a0,a0,0x8 - 7438: b448 sb a0,13(s0) - 743a: 85a6 mv a1,s1 - 743c: 854a mv a0,s2 - 743e: 9782 jalr a5 - 7440: a80d j 7472 - 7442: 06a2 slli a3,a3,0x8 - 7444: 8ed1 or a3,a3,a2 - 7446: 0742 slli a4,a4,0x10 - 7448: 8f55 or a4,a4,a3 - 744a: 07e2 slli a5,a5,0x18 - 744c: 8fd9 or a5,a5,a4 - 744e: 00492703 lw a4,4(s2) - 7452: 8fb9 xor a5,a5,a4 - 7454: 00892703 lw a4,8(s2) - 7458: 8ff9 and a5,a5,a4 - 745a: c799 beqz a5,7468 - 745c: 00c92783 lw a5,12(s2) - 7460: 5571 li a0,-4 - 7462: cb81 beqz a5,7472 - 7464: 00c90413 addi s0,s2,12 - 7468: 8626 mv a2,s1 - 746a: 85a2 mv a1,s0 - 746c: 854a mv a0,s2 - 746e: dc9ff0ef jal ra,7236 - 7472: 0141 addi sp,sp,16 - 7474: 8bcf906f j 530 <__riscv_restore_4> - 7478: 83c18693 addi a3,gp,-1988 # 2000007c - 747c: b761 j 7404 - 747e: 5579 li a0,-2 - 7480: bfcd j 7472 - -00007482 : -ethernet_input(): - 7482: 894f92ef jal t0,516 <__riscv_save_0> - 7486: 4144 lw s1,4(a0) - 7488: 842a mv s0,a0 - 748a: 892e mv s2,a1 - 748c: 34dc lbu a5,13(s1) - 748e: 24c8 lbu a0,12(s1) - 7490: 07a2 slli a5,a5,0x8 - 7492: 8d5d or a0,a0,a5 - 7494: 2c01 jal 76a4 - 7496: 67a1 lui a5,0x8 - 7498: 10078793 addi a5,a5,256 # 8100 - 749c: 00f51763 bne a0,a5,74aa - 74a0: 389c lbu a5,17(s1) - 74a2: 2888 lbu a0,16(s1) - 74a4: 07a2 slli a5,a5,0x8 - 74a6: 8d5d or a0,a0,a5 - 74a8: 2af5 jal 76a4 - 74aa: 80050793 addi a5,a0,-2048 - 74ae: cb91 beqz a5,74c2 - 74b0: 6785 lui a5,0x1 - 74b2: 80678793 addi a5,a5,-2042 # 806 <__stack_size+0x6> - 74b6: 04f50263 beq a0,a5,74fa - 74ba: 8522 mv a0,s0 - 74bc: 5d8010ef jal ra,8a94 - 74c0: a815 j 74f4 - 74c2: 85a2 mv a1,s0 - 74c4: 854a mv a0,s2 - 74c6: a5dff0ef jal ra,6f22 - 74ca: 34dc lbu a5,13(s1) - 74cc: 24c8 lbu a0,12(s1) - 74ce: 07a2 slli a5,a5,0x8 - 74d0: 8d5d or a0,a0,a5 - 74d2: 2ac9 jal 76a4 - 74d4: 67a1 lui a5,0x8 - 74d6: 10078793 addi a5,a5,256 # 8100 - 74da: 45b9 li a1,14 - 74dc: 00f51363 bne a0,a5,74e2 - 74e0: 45c9 li a1,18 - 74e2: 40b005b3 neg a1,a1 - 74e6: 8522 mv a0,s0 - 74e8: 53e010ef jal ra,8a26 - 74ec: f579 bnez a0,74ba - 74ee: 85ca mv a1,s2 - 74f0: 8522 mv a0,s0 - 74f2: 24a9 jal 773c - 74f4: 4501 li a0,0 - 74f6: 844f906f j 53a <__riscv_restore_0> - 74fa: 8622 mv a2,s0 - 74fc: 02990593 addi a1,s2,41 - 7500: 854a mv a0,s2 - 7502: a7bff0ef jal ra,6f7c - 7506: b7fd j 74f4 - -00007508 : -ethernetif_init(): - 7508: 80ef92ef jal t0,516 <__riscv_save_0> - 750c: 2002e7b7 lui a5,0x2002e - 7510: b2c78793 addi a5,a5,-1236 # 2002db2c - 7514: d15c sw a5,36(a0) - 7516: 06500793 li a5,101 - 751a: 02f509a3 sb a5,51(a0) - 751e: 06e00793 li a5,110 - 7522: 02f50a23 sb a5,52(a0) - 7526: 000077b7 lui a5,0x7 - 752a: 34e78793 addi a5,a5,846 # 734e - 752e: c95c sw a5,20(a0) - 7530: 000077b7 lui a5,0x7 - 7534: 56c78793 addi a5,a5,1388 # 756c - 7538: cd1c sw a5,24(a0) - 753a: 2002e5b7 lui a1,0x2002e - 753e: 4799 li a5,6 - 7540: 842a mv s0,a0 - 7542: 02f50423 sb a5,40(a0) - 7546: 00052e23 sw zero,28(a0) - 754a: 4619 li a2,6 - 754c: c2558593 addi a1,a1,-987 # 2002dc25 - 7550: 02950513 addi a0,a0,41 - 7554: 17d050ef jal ra,ced0 - 7558: 5dc00793 li a5,1500 - 755c: b81e sh a5,48(s0) - 755e: 03300793 li a5,51 - 7562: 02f40923 sb a5,50(s0) - 7566: 4501 li a0,0 - 7568: fd3f806f j 53a <__riscv_restore_0> - -0000756c : -low_level_output(): - 756c: fabf82ef jal t0,516 <__riscv_save_0> - 7570: 64b1 lui s1,0xc - 7572: 842e mv s0,a1 - 7574: 35148493 addi s1,s1,849 # c351 - 7578: d6cff0ef jal ra,6ae4 - 757c: 8911 andi a0,a0,4 - 757e: cd15 beqz a0,75ba - 7580: 14fd addi s1,s1,-1 - 7582: cc85 beqz s1,75ba - 7584: eccfe0ef jal ra,5c50 - 7588: 892a mv s2,a0 - 758a: d57d beqz a0,7578 - 758c: 87aa mv a5,a0 - 758e: 4481 li s1,0 - 7590: e801 bnez s0,75a0 - 7592: 85ca mv a1,s2 - 7594: 8526 mv a0,s1 - 7596: e76fe0ef jal ra,5c0c - 759a: 4501 li a0,0 - 759c: f9ff806f j 53a <__riscv_restore_0> - 75a0: 2432 lhu a2,10(s0) - 75a2: 404c lw a1,4(s0) - 75a4: 853e mv a0,a5 - 75a6: 12b050ef jal ra,ced0 - 75aa: 243a lhu a4,10(s0) - 75ac: 4000 lw s0,0(s0) - 75ae: 94ba add s1,s1,a4 - 75b0: 04c2 slli s1,s1,0x10 - 75b2: 00e507b3 add a5,a0,a4 - 75b6: 80c1 srli s1,s1,0x10 - 75b8: bfe1 j 7590 - 75ba: 5551 li a0,-12 - 75bc: b7c5 j 759c - -000075be : -ethernetif_input(): - 75be: f3ff82ef jal t0,4fc <__riscv_save_4> - 75c2: 2002e7b7 lui a5,0x2002e - 75c6: bf47a783 lw a5,-1036(a5) # 2002dbf4 - 75ca: 89aa mv s3,a0 - 75cc: 96818513 addi a0,gp,-1688 # 200001a8 - 75d0: 96818493 addi s1,gp,-1688 # 200001a8 - 75d4: 9782 jalr a5 - 75d6: 408c lw a1,0(s1) - 75d8: c9a9 beqz a1,762a - 75da: 95c1c783 lbu a5,-1700(gp) # 2000019c - 75de: 96818413 addi s0,gp,-1688 # 200001a8 - 75e2: 0ff7f793 andi a5,a5,255 - 75e6: e781 bnez a5,75ee - 75e8: 4785 li a5,1 - 75ea: 94f18e23 sb a5,-1700(gp) # 2000019c - 75ee: 05c2 slli a1,a1,0x10 - 75f0: 460d li a2,3 - 75f2: 81c1 srli a1,a1,0x10 - 75f4: 450d li a0,3 - 75f6: 4044 lw s1,4(s0) - 75f8: 4ea010ef jal ra,8ae2 - 75fc: 892a mv s2,a0 - 75fe: c515 beqz a0,762a - 7600: 842a mv s0,a0 - 7602: 2432 lhu a2,10(s0) - 7604: 4048 lw a0,4(s0) - 7606: 85a6 mv a1,s1 - 7608: 0c9050ef jal ra,ced0 - 760c: 243e lhu a5,10(s0) - 760e: 4000 lw s0,0(s0) - 7610: 94be add s1,s1,a5 - 7612: f865 bnez s0,7602 - 7614: de2fe0ef jal ra,5bf6 - 7618: 0109a783 lw a5,16(s3) - 761c: 85ce mv a1,s3 - 761e: 854a mv a0,s2 - 7620: 9782 jalr a5 - 7622: c501 beqz a0,762a - 7624: 854a mv a0,s2 - 7626: 46e010ef jal ra,8a94 - 762a: f07f806f j 530 <__riscv_restore_4> - -0000762e : -wch_ethernetif_init(): - 762e: ee9f82ef jal t0,516 <__riscv_save_0> - 7632: 1141 addi sp,sp,-16 - 7634: 2002e437 lui s0,0x2002e - 7638: c202 sw zero,4(sp) - 763a: c402 sw zero,8(sp) - 763c: c602 sw zero,12(sp) - 763e: 7a1000ef jal ra,85de - 7642: bfc40513 addi a0,s0,-1028 # 2002dbfc - 7646: 2002e5b7 lui a1,0x2002e - 764a: 4619 li a2,6 - 764c: b9858593 addi a1,a1,-1128 # 2002db98 - 7650: 02950513 addi a0,a0,41 - 7654: 07d050ef jal ra,ced0 - 7658: 2002e7b7 lui a5,0x2002e - 765c: b8c7a703 lw a4,-1140(a5) # 2002db8c - 7660: b8c78793 addi a5,a5,-1140 - 7664: bfc40513 addi a0,s0,-1028 - 7668: c23a sw a4,4(sp) - 766a: 4798 lw a4,8(a5) - 766c: 43dc lw a5,4(a5) - 766e: c43a sw a4,8(sp) - 7670: c63e sw a5,12(sp) - 7672: 9801a423 sw zero,-1656(gp) # 200001c8 - 7676: 9801a223 sw zero,-1660(gp) # 200001c4 - 767a: 39e010ef jal ra,8a18 - 767e: 00007837 lui a6,0x7 - 7682: 000077b7 lui a5,0x7 - 7686: 0074 addi a3,sp,12 - 7688: 0030 addi a2,sp,8 - 768a: 004c addi a1,sp,4 - 768c: 48280813 addi a6,a6,1154 # 7482 - 7690: 50878793 addi a5,a5,1288 # 7508 - 7694: 4701 li a4,0 - 7696: bfc40513 addi a0,s0,-1028 - 769a: 324010ef jal ra,89be - 769e: 0141 addi sp,sp,16 - 76a0: e9bf806f j 53a <__riscv_restore_0> - -000076a4 : -htons(): - 76a4: 00851793 slli a5,a0,0x8 - 76a8: 8121 srli a0,a0,0x8 - 76aa: 8d5d or a0,a0,a5 - 76ac: 0542 slli a0,a0,0x10 - 76ae: 8141 srli a0,a0,0x10 - 76b0: 8082 ret - -000076b2 : -ntohs(): - 76b2: 00851793 slli a5,a0,0x8 - 76b6: 8121 srli a0,a0,0x8 - 76b8: 8d5d or a0,a0,a5 - 76ba: 0542 slli a0,a0,0x10 - 76bc: 8141 srli a0,a0,0x10 - 76be: 8082 ret - -000076c0 : -htonl(): - 76c0: 01855713 srli a4,a0,0x18 - 76c4: 01851793 slli a5,a0,0x18 - 76c8: 8fd9 or a5,a5,a4 - 76ca: 00ff06b7 lui a3,0xff0 - 76ce: 00851713 slli a4,a0,0x8 - 76d2: 8f75 and a4,a4,a3 - 76d4: 8fd9 or a5,a5,a4 - 76d6: 6741 lui a4,0x10 - 76d8: f0070713 addi a4,a4,-256 # ff00 <_data_lma+0x29ec> - 76dc: 8121 srli a0,a0,0x8 - 76de: 8d79 and a0,a0,a4 - 76e0: 8d5d or a0,a0,a5 - 76e2: 8082 ret - -000076e4 : -ntohl(): - 76e4: e33f82ef jal t0,516 <__riscv_save_0> - 76e8: fd9ff0ef jal ra,76c0 - 76ec: e4ff806f j 53a <__riscv_restore_0> - -000076f0 : -ip_route(): - 76f0: e27f82ef jal t0,516 <__riscv_save_0> - 76f4: 9881a403 lw s0,-1656(gp) # 200001c8 - 76f8: 84aa mv s1,a0 - 76fa: ec01 bnez s0,7712 - 76fc: 9841a503 lw a0,-1660(gp) # 200001c4 - 7700: c511 beqz a0,770c - 7702: 31c010ef jal ra,8a1e - 7706: c119 beqz a0,770c - 7708: 9841a403 lw s0,-1660(gp) # 200001c4 - 770c: 8522 mv a0,s0 - 770e: e2df806f j 53a <__riscv_restore_0> - 7712: 8522 mv a0,s0 - 7714: 30a010ef jal ra,8a1e - 7718: c105 beqz a0,7738 - 771a: 3098 lbu a4,1(s1) - 771c: 209c lbu a5,0(s1) - 771e: 0722 slli a4,a4,0x8 - 7720: 8f5d or a4,a4,a5 - 7722: 20bc lbu a5,2(s1) - 7724: 07c2 slli a5,a5,0x10 - 7726: 8f5d or a4,a4,a5 - 7728: 30bc lbu a5,3(s1) - 772a: 07e2 slli a5,a5,0x18 - 772c: 8fd9 or a5,a5,a4 - 772e: 4058 lw a4,4(s0) - 7730: 8fb9 xor a5,a5,a4 - 7732: 4418 lw a4,8(s0) - 7734: 8ff9 and a5,a5,a4 - 7736: dbf9 beqz a5,770c - 7738: 4000 lw s0,0(s0) - 773a: b7c1 j 76fa - -0000773c : -ip_input(): - 773c: db3f82ef jal t0,4ee <__riscv_save_10> - 7740: 4140 lw s0,4(a0) - 7742: 84aa mv s1,a0 - 7744: 89ae mv s3,a1 - 7746: 301c lbu a5,1(s0) - 7748: 2008 lbu a0,0(s0) - 774a: 07a2 slli a5,a5,0x8 - 774c: 8d5d or a0,a0,a5 - 774e: f65ff0ef jal ra,76b2 - 7752: 8131 srli a0,a0,0xc - 7754: 0542 slli a0,a0,0x10 - 7756: 8141 srli a0,a0,0x10 - 7758: 4791 li a5,4 - 775a: 00f50663 beq a0,a5,7766 - 775e: 8526 mv a0,s1 - 7760: 334010ef jal ra,8a94 - 7764: a431 j 7970 - 7766: 301c lbu a5,1(s0) - 7768: 2008 lbu a0,0(s0) - 776a: 07a2 slli a5,a5,0x8 - 776c: 8d5d or a0,a0,a5 - 776e: f45ff0ef jal ra,76b2 - 7772: 8119 srli a0,a0,0x6 - 7774: 303c lbu a5,3(s0) - 7776: 03c57a13 andi s4,a0,60 - 777a: 2028 lbu a0,2(s0) - 777c: 07a2 slli a5,a5,0x8 - 777e: 8d5d or a0,a0,a5 - 7780: f33ff0ef jal ra,76b2 - 7784: 24be lhu a5,10(s1) - 7786: 892a mv s2,a0 - 7788: fd47ebe3 bltu a5,s4,775e - 778c: 249e lhu a5,8(s1) - 778e: fca7e8e3 bltu a5,a0,775e - 7792: 85d2 mv a1,s4 - 7794: 8522 mv a0,s0 - 7796: 51f040ef jal ra,c4b4 - 779a: f171 bnez a0,775e - 779c: 85ca mv a1,s2 - 779e: 8526 mv a0,s1 - 77a0: 482010ef jal ra,8c22 - 77a4: f0000537 lui a0,0xf0000 - 77a8: f3dff0ef jal ra,76e4 - 77ac: e0000537 lui a0,0xe0000 - 77b0: f35ff0ef jal ra,76e4 - 77b4: 894e mv s2,s3 - 77b6: 4b05 li s6,1 - 77b8: 01040b93 addi s7,s0,16 - 77bc: 854a mv a0,s2 - 77be: 260010ef jal ra,8a1e - 77c2: e511 bnez a0,77ce - 77c4: 120b1363 bnez s6,78ea - 77c8: 00092903 lw s2,0(s2) - 77cc: a20d j 78ee - 77ce: 00490793 addi a5,s2,4 - 77d2: dbed beqz a5,77c4 - 77d4: 00492683 lw a3,4(s2) - 77d8: d6f5 beqz a3,77c4 - 77da: 3818 lbu a4,17(s0) - 77dc: 281c lbu a5,16(s0) - 77de: 0722 slli a4,a4,0x8 - 77e0: 8f5d or a4,a4,a5 - 77e2: 283c lbu a5,18(s0) - 77e4: 07c2 slli a5,a5,0x10 - 77e6: 8f5d or a4,a4,a5 - 77e8: 383c lbu a5,19(s0) - 77ea: 07e2 slli a5,a5,0x18 - 77ec: 8fd9 or a5,a5,a4 - 77ee: 04f68263 beq a3,a5,7832 - 77f2: 85ca mv a1,s2 - 77f4: 855e mv a0,s7 - 77f6: 2e85 jal 7b66 - 77f8: ed0d bnez a0,7832 - 77fa: 381c lbu a5,17(s0) - 77fc: 01044a83 lbu s5,16(s0) - 7800: f0000537 lui a0,0xf0000 - 7804: 07a2 slli a5,a5,0x8 - 7806: 0157e7b3 or a5,a5,s5 - 780a: 01244a83 lbu s5,18(s0) - 780e: 0ac2 slli s5,s5,0x10 - 7810: 00fae7b3 or a5,s5,a5 - 7814: 01344a83 lbu s5,19(s0) - 7818: 0ae2 slli s5,s5,0x18 - 781a: 00faeab3 or s5,s5,a5 - 781e: ec7ff0ef jal ra,76e4 - 7822: 00aafab3 and s5,s5,a0 - 7826: e0000537 lui a0,0xe0000 - 782a: ebbff0ef jal ra,76e4 - 782e: f8aa9be3 bne s5,a0,77c4 - 7832: 3458 lbu a4,13(s0) - 7834: 245c lbu a5,12(s0) - 7836: 0722 slli a4,a4,0x8 - 7838: 8f5d or a4,a4,a5 - 783a: 247c lbu a5,14(s0) - 783c: 07c2 slli a5,a5,0x10 - 783e: 8f5d or a4,a4,a5 - 7840: 347c lbu a5,15(s0) - 7842: 07e2 slli a5,a5,0x18 - 7844: 8fd9 or a5,a5,a4 - 7846: c3b9 beqz a5,788c - 7848: 85ce mv a1,s3 - 784a: 00c40513 addi a0,s0,12 - 784e: 2e21 jal 7b66 - 7850: f00517e3 bnez a0,775e - 7854: 345c lbu a5,13(s0) - 7856: 00c44a03 lbu s4,12(s0) - 785a: f0000537 lui a0,0xf0000 - 785e: 07a2 slli a5,a5,0x8 - 7860: 0147e7b3 or a5,a5,s4 - 7864: 00e44a03 lbu s4,14(s0) - 7868: 0a42 slli s4,s4,0x10 - 786a: 00fa67b3 or a5,s4,a5 - 786e: 00f44a03 lbu s4,15(s0) - 7872: 0a62 slli s4,s4,0x18 - 7874: 00fa6a33 or s4,s4,a5 - 7878: e6dff0ef jal ra,76e4 - 787c: 00aa7a33 and s4,s4,a0 - 7880: e0000537 lui a0,0xe0000 - 7884: e61ff0ef jal ra,76e4 - 7888: ecaa0be3 beq s4,a0,775e - 788c: ec0909e3 beqz s2,775e - 7890: 00744903 lbu s2,7(s0) - 7894: 2068 lbu a0,6(s0) - 7896: 0922 slli s2,s2,0x8 - 7898: 00a96933 or s2,s2,a0 - 789c: 6511 lui a0,0x4 - 789e: 157d addi a0,a0,-1 - 78a0: e05ff0ef jal ra,76a4 - 78a4: 00a97533 and a0,s2,a0 - 78a8: c511 beqz a0,78b4 - 78aa: 8526 mv a0,s1 - 78ac: 26ed jal 7c96 - 78ae: 84aa mv s1,a0 - 78b0: c161 beqz a0,7970 - 78b2: 4140 lw s0,4(a0) - 78b4: 85ce mv a1,s3 - 78b6: 8526 mv a0,s1 - 78b8: 4aa010ef jal ra,8d62 - 78bc: e955 bnez a0,7970 - 78be: 341c lbu a5,9(s0) - 78c0: 2408 lbu a0,8(s0) - 78c2: 07a2 slli a5,a5,0x8 - 78c4: 8d5d or a0,a0,a5 - 78c6: dedff0ef jal ra,76b2 - 78ca: 0ff57513 andi a0,a0,255 - 78ce: 4799 li a5,6 - 78d0: 0af50363 beq a0,a5,7976 - 78d4: 47c5 li a5,17 - 78d6: 08f50963 beq a0,a5,7968 - 78da: 4785 li a5,1 - 78dc: 0af51263 bne a0,a5,7980 - 78e0: 85ce mv a1,s3 - 78e2: 8526 mv a0,s1 - 78e4: 7d0040ef jal ra,c0b4 - 78e8: a061 j 7970 - 78ea: 9881a903 lw s2,-1656(gp) # 200001c8 - 78ee: 01391463 bne s2,s3,78f6 - 78f2: 00092903 lw s2,0(s2) - 78f6: 4b01 li s6,0 - 78f8: ec0912e3 bnez s2,77bc - 78fc: 341c lbu a5,9(s0) - 78fe: 2408 lbu a0,8(s0) - 7900: 07a2 slli a5,a5,0x8 - 7902: 8d5d or a0,a0,a5 - 7904: dafff0ef jal ra,76b2 - 7908: 0ff57513 andi a0,a0,255 - 790c: 47c5 li a5,17 - 790e: 00f51e63 bne a0,a5,792a - 7912: 014407b3 add a5,s0,s4 - 7916: 23a8 lbu a0,2(a5) - 7918: 33bc lbu a5,3(a5) - 791a: 07a2 slli a5,a5,0x8 - 791c: 8d5d or a0,a0,a5 - 791e: d95ff0ef jal ra,76b2 - 7922: 04400793 li a5,68 - 7926: 02f50d63 beq a0,a5,7960 - 792a: 4a85 li s5,1 - 792c: 341c lbu a5,9(s0) - 792e: 2408 lbu a0,8(s0) - 7930: 07a2 slli a5,a5,0x8 - 7932: 8d5d or a0,a0,a5 - 7934: d7fff0ef jal ra,76b2 - 7938: 0ff57513 andi a0,a0,255 - 793c: 47c5 li a5,17 - 793e: 08f51963 bne a0,a5,79d0 - 7942: 9a22 add s4,s4,s0 - 7944: 003a4783 lbu a5,3(s4) - 7948: 002a4503 lbu a0,2(s4) - 794c: 07a2 slli a5,a5,0x8 - 794e: 8d5d or a0,a0,a5 - 7950: d63ff0ef jal ra,76b2 - 7954: 76c00793 li a5,1900 - 7958: 06f51c63 bne a0,a5,79d0 - 795c: 894e mv s2,s3 - 795e: b73d j 788c - 7960: f20998e3 bnez s3,7890 - 7964: 4a81 li s5,0 - 7966: b7d9 j 792c - 7968: 85ce mv a1,s3 - 796a: 8526 mv a0,s1 - 796c: 212040ef jal ra,bb7e - 7970: 4501 li a0,0 - 7972: bb5f806f j 526 <__riscv_restore_10> - 7976: 85ce mv a1,s3 - 7978: 8526 mv a0,s1 - 797a: 351020ef jal ra,a4ca - 797e: bfcd j 7970 - 7980: 85ce mv a1,s3 - 7982: 01040513 addi a0,s0,16 - 7986: 22c5 jal 7b66 - 7988: dc051be3 bnez a0,775e - 798c: 381c lbu a5,17(s0) - 798e: 01044903 lbu s2,16(s0) - 7992: f0000537 lui a0,0xf0000 - 7996: 07a2 slli a5,a5,0x8 - 7998: 0127e7b3 or a5,a5,s2 - 799c: 01244903 lbu s2,18(s0) - 79a0: 0942 slli s2,s2,0x10 - 79a2: 00f967b3 or a5,s2,a5 - 79a6: 01344903 lbu s2,19(s0) - 79aa: 0962 slli s2,s2,0x18 - 79ac: 00f96933 or s2,s2,a5 - 79b0: d35ff0ef jal ra,76e4 - 79b4: 00a97933 and s2,s2,a0 - 79b8: e0000537 lui a0,0xe0000 - 79bc: d29ff0ef jal ra,76e4 - 79c0: d8a90fe3 beq s2,a0,775e - 79c4: c0c0 sw s0,4(s1) - 79c6: 4589 li a1,2 - 79c8: 8526 mv a0,s1 - 79ca: 13b040ef jal ra,c304 - 79ce: bb41 j 775e - 79d0: e60a91e3 bnez s5,7832 - 79d4: b369 j 775e - -000079d6 : -ip_output_if(): - 79d6: b19f82ef jal t0,4ee <__riscv_save_10> - 79da: 89aa mv s3,a0 - 79dc: 8942 mv s2,a6 - 79de: 12060f63 beqz a2,7b1c - 79e2: 8aae mv s5,a1 - 79e4: 45d1 li a1,20 - 79e6: 8a3a mv s4,a4 - 79e8: 84b2 mv s1,a2 - 79ea: 8bb6 mv s7,a3 - 79ec: 8b3e mv s6,a5 - 79ee: 038010ef jal ra,8a26 - 79f2: 5779 li a4,-2 - 79f4: 12051163 bnez a0,7b16 - 79f8: 0049a403 lw s0,4(s3) - 79fc: 0ba2 slli s7,s7,0x8 - 79fe: 341c lbu a5,9(s0) - 7a00: 2408 lbu a0,8(s0) - 7a02: 07a2 slli a5,a5,0x8 - 7a04: 8d5d or a0,a0,a5 - 7a06: cadff0ef jal ra,76b2 - 7a0a: 0ff57513 andi a0,a0,255 - 7a0e: 01756533 or a0,a0,s7 - 7a12: c93ff0ef jal ra,76a4 - 7a16: 00855713 srli a4,a0,0x8 - 7a1a: b418 sb a4,9(s0) - 7a1c: a408 sb a0,8(s0) - 7a1e: c95ff0ef jal ra,76b2 - 7a22: 8121 srli a0,a0,0x8 - 7a24: 0542 slli a0,a0,0x10 - 7a26: 8141 srli a0,a0,0x10 - 7a28: 0522 slli a0,a0,0x8 - 7a2a: 01656533 or a0,a0,s6 - 7a2e: 0542 slli a0,a0,0x10 - 7a30: 8141 srli a0,a0,0x10 - 7a32: c73ff0ef jal ra,76a4 - 7a36: 3098 lbu a4,1(s1) - 7a38: 209c lbu a5,0(s1) - 7a3a: a408 sb a0,8(s0) - 7a3c: 0722 slli a4,a4,0x8 - 7a3e: 8f5d or a4,a4,a5 - 7a40: 20bc lbu a5,2(s1) - 7a42: 8121 srli a0,a0,0x8 - 7a44: b408 sb a0,9(s0) - 7a46: 07c2 slli a5,a5,0x10 - 7a48: 8f5d or a4,a4,a5 - 7a4a: 30bc lbu a5,3(s1) - 7a4c: 6511 lui a0,0x4 - 7a4e: 50050513 addi a0,a0,1280 # 4500 - 7a52: 07e2 slli a5,a5,0x18 - 7a54: 8fd9 or a5,a5,a4 - 7a56: 0087d713 srli a4,a5,0x8 - 7a5a: a81c sb a5,16(s0) - 7a5c: b818 sb a4,17(s0) - 7a5e: 0107d713 srli a4,a5,0x10 - 7a62: 83e1 srli a5,a5,0x18 - 7a64: b83c sb a5,19(s0) - 7a66: a838 sb a4,18(s0) - 7a68: 00aa6533 or a0,s4,a0 - 7a6c: c39ff0ef jal ra,76a4 - 7a70: a008 sb a0,0(s0) - 7a72: 8121 srli a0,a0,0x8 - 7a74: b008 sb a0,1(s0) - 7a76: 0089d503 lhu a0,8(s3) - 7a7a: 97018a13 addi s4,gp,-1680 # 200001b0 - 7a7e: c27ff0ef jal ra,76a4 - 7a82: a028 sb a0,2(s0) - 7a84: 8121 srli a0,a0,0x8 - 7a86: b028 sb a0,3(s0) - 7a88: 000a5503 lhu a0,0(s4) - 7a8c: 00040323 sb zero,6(s0) - 7a90: 000403a3 sb zero,7(s0) - 7a94: c11ff0ef jal ra,76a4 - 7a98: 000a5783 lhu a5,0(s4) - 7a9c: a048 sb a0,4(s0) - 7a9e: 8121 srli a0,a0,0x8 - 7aa0: 0785 addi a5,a5,1 - 7aa2: b048 sb a0,5(s0) - 7aa4: 00fa1023 sh a5,0(s4) - 7aa8: 020a8163 beqz s5,7aca - 7aac: 001ac703 lbu a4,1(s5) - 7ab0: 000ac783 lbu a5,0(s5) - 7ab4: 0722 slli a4,a4,0x8 - 7ab6: 8f5d or a4,a4,a5 - 7ab8: 002ac783 lbu a5,2(s5) - 7abc: 07c2 slli a5,a5,0x10 - 7abe: 8f5d or a4,a4,a5 - 7ac0: 003ac783 lbu a5,3(s5) - 7ac4: 07e2 slli a5,a5,0x18 - 7ac6: 8fd9 or a5,a5,a4 - 7ac8: e799 bnez a5,7ad6 - 7aca: 00490713 addi a4,s2,4 - 7ace: 4781 li a5,0 - 7ad0: c319 beqz a4,7ad6 - 7ad2: 00492783 lw a5,4(s2) - 7ad6: 0087d713 srli a4,a5,0x8 - 7ada: a45c sb a5,12(s0) - 7adc: b458 sb a4,13(s0) - 7ade: 0107d713 srli a4,a5,0x10 - 7ae2: 83e1 srli a5,a5,0x18 - 7ae4: a478 sb a4,14(s0) - 7ae6: b47c sb a5,15(s0) - 7ae8: 00040523 sb zero,10(s0) - 7aec: 000405a3 sb zero,11(s0) - 7af0: 45d1 li a1,20 - 7af2: 8522 mv a0,s0 - 7af4: 1c1040ef jal ra,c4b4 - 7af8: a428 sb a0,10(s0) - 7afa: 8121 srli a0,a0,0x8 - 7afc: b428 sb a0,11(s0) - 7afe: 03095783 lhu a5,48(s2) - 7b02: c385 beqz a5,7b22 - 7b04: 0089d703 lhu a4,8(s3) - 7b08: 00e7fd63 bgeu a5,a4,7b22 - 7b0c: 8626 mv a2,s1 - 7b0e: 85ca mv a1,s2 - 7b10: 854e mv a0,s3 - 7b12: 2385 jal 8072 - 7b14: 872a mv a4,a0 - 7b16: 853a mv a0,a4 - 7b18: a0ff806f j 526 <__riscv_restore_10> - 7b1c: 4144 lw s1,4(a0) - 7b1e: 04c1 addi s1,s1,16 - 7b20: bff9 j 7afe - 7b22: 01492783 lw a5,20(s2) - 7b26: 8626 mv a2,s1 - 7b28: 85ce mv a1,s3 - 7b2a: 854a mv a0,s2 - 7b2c: 9782 jalr a5 - 7b2e: b7dd j 7b14 - -00007b30 : -ip_output(): - 7b30: 9e7f82ef jal t0,516 <__riscv_save_0> - 7b34: 1101 addi sp,sp,-32 - 7b36: 842a mv s0,a0 - 7b38: 8532 mv a0,a2 - 7b3a: ce2e sw a1,28(sp) - 7b3c: cc36 sw a3,24(sp) - 7b3e: ca3a sw a4,20(sp) - 7b40: c83e sw a5,16(sp) - 7b42: c632 sw a2,12(sp) - 7b44: badff0ef jal ra,76f0 - 7b48: cd09 beqz a0,7b62 - 7b4a: 47c2 lw a5,16(sp) - 7b4c: 4752 lw a4,20(sp) - 7b4e: 46e2 lw a3,24(sp) - 7b50: 4632 lw a2,12(sp) - 7b52: 45f2 lw a1,28(sp) - 7b54: 882a mv a6,a0 - 7b56: 8522 mv a0,s0 - 7b58: e7fff0ef jal ra,79d6 - 7b5c: 6105 addi sp,sp,32 - 7b5e: 9ddf806f j 53a <__riscv_restore_0> - 7b62: 5571 li a0,-4 - 7b64: bfe5 j 7b5c - -00007b66 : -ip_addr_isbroadcast(): - 7b66: 3118 lbu a4,1(a0) - 7b68: 211c lbu a5,0(a0) - 7b6a: 0722 slli a4,a4,0x8 - 7b6c: 8f5d or a4,a4,a5 - 7b6e: 213c lbu a5,2(a0) - 7b70: 07c2 slli a5,a5,0x10 - 7b72: 8f5d or a4,a4,a5 - 7b74: 313c lbu a5,3(a0) - 7b76: 07e2 slli a5,a5,0x18 - 7b78: 8fd9 or a5,a5,a4 - 7b7a: fff78693 addi a3,a5,-1 - 7b7e: 5775 li a4,-3 - 7b80: 02d76663 bltu a4,a3,7bac - 7b84: 0325c703 lbu a4,50(a1) - 7b88: 4501 li a0,0 - 7b8a: 8b09 andi a4,a4,2 - 7b8c: c30d beqz a4,7bae - 7b8e: 41d8 lw a4,4(a1) - 7b90: 00f70f63 beq a4,a5,7bae - 7b94: 4594 lw a3,8(a1) - 7b96: 8f3d xor a4,a4,a5 - 7b98: 8f75 and a4,a4,a3 - 7b9a: eb11 bnez a4,7bae - 7b9c: fff6c513 not a0,a3 - 7ba0: 8fe9 and a5,a5,a0 - 7ba2: 40a78533 sub a0,a5,a0 - 7ba6: 00153513 seqz a0,a0 - 7baa: 8082 ret - 7bac: 4505 li a0,1 - 7bae: 8082 ret - -00007bb0 : -ip_reass_tmr(): - 7bb0: 93ff82ef jal t0,4ee <__riscv_save_10> - 7bb4: 9741a403 lw s0,-1676(gp) # 200001b4 - 7bb8: 44c5 li s1,17 - 7bba: 4b01 li s6,0 - 7bbc: 97418913 addi s2,gp,-1676 # 200001b4 - 7bc0: e019 bnez s0,7bc6 - 7bc2: 965f806f j 526 <__riscv_restore_10> - 7bc6: 14fd addi s1,s1,-1 - 7bc8: 0ff4f493 andi s1,s1,255 - 7bcc: d8fd beqz s1,7bc2 - 7bce: 3c7c lbu a5,31(s0) - 7bd0: 00042c03 lw s8,0(s0) - 7bd4: c791 beqz a5,7be0 - 7bd6: 17fd addi a5,a5,-1 - 7bd8: bc7c sb a5,31(s0) - 7bda: 8b22 mv s6,s0 - 7bdc: 8462 mv s0,s8 - 7bde: b7cd j 7bc0 - 7be0: 00442983 lw s3,4(s0) - 7be4: 4a81 li s5,0 - 7be6: 0049a503 lw a0,4(s3) - 7bea: 315c lbu a5,5(a0) - 7bec: 2158 lbu a4,4(a0) - 7bee: 07a2 slli a5,a5,0x8 - 7bf0: 8fd9 or a5,a5,a4 - 7bf2: ef85 bnez a5,7c2a - 7bf4: 3118 lbu a4,1(a0) - 7bf6: 211c lbu a5,0(a0) - 7bf8: 4651 li a2,20 - 7bfa: 0722 slli a4,a4,0x8 - 7bfc: 8f5d or a4,a4,a5 - 7bfe: 213c lbu a5,2(a0) - 7c00: 00840593 addi a1,s0,8 - 7c04: 07c2 slli a5,a5,0x10 - 7c06: 8f5d or a4,a4,a5 - 7c08: 313c lbu a5,3(a0) - 7c0a: 07e2 slli a5,a5,0x18 - 7c0c: 8fd9 or a5,a5,a4 - 7c0e: c05c sw a5,4(s0) - 7c10: 2c0050ef jal ra,ced0 - 7c14: 4585 li a1,1 - 7c16: 854e mv a0,s3 - 7c18: 700040ef jal ra,c318 - 7c1c: 854e mv a0,s3 - 7c1e: 05c010ef jal ra,8c7a - 7c22: 8aaa mv s5,a0 - 7c24: 854e mv a0,s3 - 7c26: 66f000ef jal ra,8a94 - 7c2a: 00442983 lw s3,4(s0) - 7c2e: 02099663 bnez s3,7c5a - 7c32: 00092703 lw a4,0(s2) - 7c36: 401c lw a5,0(s0) - 7c38: 04e41c63 bne s0,a4,7c90 - 7c3c: 00f92023 sw a5,0(s2) - 7c40: 85a2 mv a1,s0 - 7c42: 4515 li a0,5 - 7c44: 47f000ef jal ra,88c2 - 7c48: 97218713 addi a4,gp,-1678 # 200001b2 - 7c4c: 231e lhu a5,0(a4) - 7c4e: 845a mv s0,s6 - 7c50: 41578ab3 sub s5,a5,s5 - 7c54: 01571023 sh s5,0(a4) - 7c58: b749 j 7bda - 7c5a: 0049a703 lw a4,4(s3) - 7c5e: 854e mv a0,s3 - 7c60: 331c lbu a5,1(a4) - 7c62: 00074a03 lbu s4,0(a4) - 7c66: 07a2 slli a5,a5,0x8 - 7c68: 0147e7b3 or a5,a5,s4 - 7c6c: 00274a03 lbu s4,2(a4) - 7c70: 0a42 slli s4,s4,0x10 - 7c72: 00fa67b3 or a5,s4,a5 - 7c76: 00374a03 lbu s4,3(a4) - 7c7a: 0a62 slli s4,s4,0x18 - 7c7c: 00fa6a33 or s4,s4,a5 - 7c80: 7fb000ef jal ra,8c7a - 7c84: 9aaa add s5,s5,a0 - 7c86: 854e mv a0,s3 - 7c88: 60d000ef jal ra,8a94 - 7c8c: 89d2 mv s3,s4 - 7c8e: b745 j 7c2e - 7c90: 00fb2023 sw a5,0(s6) # 4000 - 7c94: b775 j 7c40 - -00007c96 : -ip_reass(): - 7c96: 859f82ef jal t0,4ee <__riscv_save_10> - 7c9a: 4144 lw s1,4(a0) - 7c9c: 892a mv s2,a0 - 7c9e: 309c lbu a5,1(s1) - 7ca0: 2088 lbu a0,0(s1) - 7ca2: 07a2 slli a5,a5,0x8 - 7ca4: 8d5d or a0,a0,a5 - 7ca6: a0dff0ef jal ra,76b2 - 7caa: 8119 srli a0,a0,0x6 - 7cac: 03c57513 andi a0,a0,60 - 7cb0: 47d1 li a5,20 - 7cb2: 26f51263 bne a0,a5,7f16 - 7cb6: 30fc lbu a5,7(s1) - 7cb8: 20e8 lbu a0,6(s1) - 7cba: 07a2 slli a5,a5,0x8 - 7cbc: 8d5d or a0,a0,a5 - 7cbe: 9f5ff0ef jal ra,76b2 - 7cc2: 30bc lbu a5,3(s1) - 7cc4: 8b2a mv s6,a0 - 7cc6: 20a8 lbu a0,2(s1) - 7cc8: 07a2 slli a5,a5,0x8 - 7cca: 8d5d or a0,a0,a5 - 7ccc: 9e7ff0ef jal ra,76b2 - 7cd0: 309c lbu a5,1(s1) - 7cd2: 8caa mv s9,a0 - 7cd4: 2088 lbu a0,0(s1) - 7cd6: 07a2 slli a5,a5,0x8 - 7cd8: 8d5d or a0,a0,a5 - 7cda: 9d9ff0ef jal ra,76b2 - 7cde: 8c2a mv s8,a0 - 7ce0: 854a mv a0,s2 - 7ce2: 799000ef jal ra,8c7a - 7ce6: 2002e7b7 lui a5,0x2002e - 7cea: be07a783 lw a5,-1056(a5) # 2002dbe0 - 7cee: 9721d703 lhu a4,-1678(gp) # 200001b2 - 7cf2: 8d2a mv s10,a0 - 7cf4: 838d srli a5,a5,0x3 - 7cf6: 972a add a4,a4,a0 - 7cf8: 8bfd andi a5,a5,31 - 7cfa: 97218993 addi s3,gp,-1678 # 200001b2 - 7cfe: 20e7ec63 bltu a5,a4,7f16 - 7d02: 9741a403 lw s0,-1676(gp) # 200001b4 - 7d06: 4a81 li s5,0 - 7d08: 97418a13 addi s4,gp,-1676 # 200001b4 - 7d0c: e81d bnez s0,7d42 - 7d0e: 4515 li a0,5 - 7d10: 393000ef jal ra,88a2 - 7d14: 842a mv s0,a0 - 7d16: 20050063 beqz a0,7f16 - 7d1a: 4671 li a2,28 - 7d1c: 4581 li a1,0 - 7d1e: 00440513 addi a0,s0,4 - 7d22: 825f80ef jal ra,546 - 7d26: 478d li a5,3 - 7d28: bc7c sb a5,31(s0) - 7d2a: 000a2783 lw a5,0(s4) - 7d2e: 008a2023 sw s0,0(s4) - 7d32: c01c sw a5,0(s0) - 7d34: 4651 li a2,20 - 7d36: 85a6 mv a1,s1 - 7d38: 00840513 addi a0,s0,8 - 7d3c: 194050ef jal ra,ced0 - 7d40: ac95 j 7fb4 - 7d42: 34d8 lbu a4,13(s1) - 7d44: 24dc lbu a5,12(s1) - 7d46: 0722 slli a4,a4,0x8 - 7d48: 8f5d or a4,a4,a5 - 7d4a: 24fc lbu a5,14(s1) - 7d4c: 07c2 slli a5,a5,0x10 - 7d4e: 8f5d or a4,a4,a5 - 7d50: 34fc lbu a5,15(s1) - 7d52: 07e2 slli a5,a5,0x18 - 7d54: 8fd9 or a5,a5,a4 - 7d56: 4858 lw a4,20(s0) - 7d58: 02f71663 bne a4,a5,7d84 - 7d5c: 3898 lbu a4,17(s1) - 7d5e: 289c lbu a5,16(s1) - 7d60: 0722 slli a4,a4,0x8 - 7d62: 8f5d or a4,a4,a5 - 7d64: 28bc lbu a5,18(s1) - 7d66: 07c2 slli a5,a5,0x10 - 7d68: 8f5d or a4,a4,a5 - 7d6a: 38bc lbu a5,19(s1) - 7d6c: 07e2 slli a5,a5,0x18 - 7d6e: 8fd9 or a5,a5,a4 - 7d70: 4c18 lw a4,24(s0) - 7d72: 00f71963 bne a4,a5,7d84 - 7d76: 30dc lbu a5,5(s1) - 7d78: 20d4 lbu a3,4(s1) - 7d7a: 245a lhu a4,12(s0) - 7d7c: 07a2 slli a5,a5,0x8 - 7d7e: 8fd5 or a5,a5,a3 - 7d80: 20f70663 beq a4,a5,7f8c - 7d84: 8aa2 mv s5,s0 - 7d86: 4000 lw s0,0(s0) - 7d88: b751 j 7d0c - 7d8a: 42cc lw a1,4(a3) - 7d8c: 0055c803 lbu a6,5(a1) - 7d90: 0045c303 lbu t1,4(a1) - 7d94: 0822 slli a6,a6,0x8 - 7d96: 00686833 or a6,a6,t1 - 7d9a: 0d067c63 bgeu a2,a6,7e72 - 7d9e: 0086d593 srli a1,a3,0x8 - 7da2: a394 sb a3,0(a5) - 7da4: b38c sb a1,1(a5) - 7da6: 0106d593 srli a1,a3,0x10 - 7daa: 82e1 srli a3,a3,0x18 - 7dac: a3ac sb a1,2(a5) - 7dae: b3b4 sb a3,3(a5) - 7db0: 2a070e63 beqz a4,806c - 7db4: 3374 lbu a3,7(a4) - 7db6: 236c lbu a1,6(a4) - 7db8: 06a2 slli a3,a3,0x8 - 7dba: 8ecd or a3,a3,a1 - 7dbc: 14d66463 bltu a2,a3,7f04 - 7dc0: 14a86263 bltu a6,a0,7f04 - 7dc4: 00895693 srli a3,s2,0x8 - 7dc8: 01270023 sb s2,0(a4) - 7dcc: b314 sb a3,1(a4) - 7dce: 01095693 srli a3,s2,0x10 - 7dd2: 01895913 srli s2,s2,0x18 - 7dd6: a334 sb a3,2(a4) - 7dd8: 012701a3 sb s2,3(a4) - 7ddc: 2c78 lbu a4,30(s0) - 7dde: 4b01 li s6,0 - 7de0: 8b05 andi a4,a4,1 - 7de2: 18070f63 beqz a4,7f80 - 7de6: 18088d63 beqz a7,7f80 - 7dea: 4058 lw a4,4(s0) - 7dec: 4344 lw s1,4(a4) - 7dee: 30d8 lbu a4,5(s1) - 7df0: 20d4 lbu a3,4(s1) - 7df2: 0722 slli a4,a4,0x8 - 7df4: 8f55 or a4,a4,a3 - 7df6: 18071563 bnez a4,7f80 - 7dfa: 3394 lbu a3,1(a5) - 7dfc: 2398 lbu a4,0(a5) - 7dfe: 06a2 slli a3,a3,0x8 - 7e00: 8ed9 or a3,a3,a4 - 7e02: 23b8 lbu a4,2(a5) - 7e04: 0742 slli a4,a4,0x10 - 7e06: 8ed9 or a3,a3,a4 - 7e08: 33b8 lbu a4,3(a5) - 7e0a: 0762 slli a4,a4,0x18 - 7e0c: 8f55 or a4,a4,a3 - 7e0e: e761 bnez a4,7ed6 - 7e10: 2c5e lhu a5,28(s0) - 7e12: 0004c903 lbu s2,0(s1) - 7e16: 4651 li a2,20 - 7e18: 07d1 addi a5,a5,20 - 7e1a: ac5e sh a5,28(s0) - 7e1c: 309c lbu a5,1(s1) - 7e1e: 00840593 addi a1,s0,8 - 7e22: 8526 mv a0,s1 - 7e24: 07a2 slli a5,a5,0x8 - 7e26: 0127e7b3 or a5,a5,s2 - 7e2a: 0024c903 lbu s2,2(s1) - 7e2e: 0942 slli s2,s2,0x10 - 7e30: 00f967b3 or a5,s2,a5 - 7e34: 0034c903 lbu s2,3(s1) - 7e38: 0962 slli s2,s2,0x18 - 7e3a: 00f96933 or s2,s2,a5 - 7e3e: 092050ef jal ra,ced0 - 7e42: 2c4a lhu a0,28(s0) - 7e44: 861ff0ef jal ra,76a4 - 7e48: a0a8 sb a0,2(s1) - 7e4a: 8121 srli a0,a0,0x8 - 7e4c: b0a8 sb a0,3(s1) - 7e4e: 00048323 sb zero,6(s1) - 7e52: 000483a3 sb zero,7(s1) - 7e56: 00048523 sb zero,10(s1) - 7e5a: 000485a3 sb zero,11(s1) - 7e5e: 45d1 li a1,20 - 7e60: 8526 mv a0,s1 - 7e62: 652040ef jal ra,c4b4 - 7e66: a4a8 sb a0,10(s1) - 7e68: 8121 srli a0,a0,0x8 - 7e6a: b4a8 sb a0,11(s1) - 7e6c: 00442b03 lw s6,4(s0) - 7e70: a0d5 j 7f54 - 7e72: 09060963 beq a2,a6,7f04 - 7e76: 31f4 lbu a3,7(a1) - 7e78: 0065c303 lbu t1,6(a1) - 7e7c: 06a2 slli a3,a3,0x8 - 7e7e: 0066e6b3 or a3,a3,t1 - 7e82: 08d66163 bltu a2,a3,7f04 - 7e86: cb01 beqz a4,7e96 - 7e88: 2374 lbu a3,6(a4) - 7e8a: 3378 lbu a4,7(a4) - 7e8c: 0722 slli a4,a4,0x8 - 7e8e: 8f55 or a4,a4,a3 - 7e90: 00e80363 beq a6,a4,7e96 - 7e94: 4881 li a7,0 - 7e96: 3198 lbu a4,1(a1) - 7e98: 2194 lbu a3,0(a1) - 7e9a: 0722 slli a4,a4,0x8 - 7e9c: 8f55 or a4,a4,a3 - 7e9e: 21b4 lbu a3,2(a1) - 7ea0: 06c2 slli a3,a3,0x10 - 7ea2: 8f55 or a4,a4,a3 - 7ea4: 31b4 lbu a3,3(a1) - 7ea6: 06e2 slli a3,a3,0x18 - 7ea8: 8ed9 or a3,a3,a4 - 7eaa: 872e mv a4,a1 - 7eac: aa65 j 8064 - 7eae: 00895693 srli a3,s2,0x8 - 7eb2: 01270023 sb s2,0(a4) - 7eb6: b314 sb a3,1(a4) - 7eb8: 01095693 srli a3,s2,0x10 - 7ebc: 01895913 srli s2,s2,0x18 - 7ec0: a334 sb a3,2(a4) - 7ec2: 012701a3 sb s2,3(a4) - 7ec6: 2374 lbu a3,6(a4) - 7ec8: 3378 lbu a4,7(a4) - 7eca: 0722 slli a4,a4,0x8 - 7ecc: 8f55 or a4,a4,a3 - 7ece: f0e607e3 beq a2,a4,7ddc - 7ed2: 4881 li a7,0 - 7ed4: b721 j 7ddc - 7ed6: 4354 lw a3,4(a4) - 7ed8: 23ec lbu a1,6(a5) - 7eda: 33f8 lbu a4,7(a5) - 7edc: 32dc lbu a5,5(a3) - 7ede: 22d0 lbu a2,4(a3) - 7ee0: 0722 slli a4,a4,0x8 - 7ee2: 07a2 slli a5,a5,0x8 - 7ee4: 8f4d or a4,a4,a1 - 7ee6: 8fd1 or a5,a5,a2 - 7ee8: 02f71a63 bne a4,a5,7f1c - 7eec: 329c lbu a5,1(a3) - 7eee: 2298 lbu a4,0(a3) - 7ef0: 07a2 slli a5,a5,0x8 - 7ef2: 8fd9 or a5,a5,a4 - 7ef4: 22b8 lbu a4,2(a3) - 7ef6: 0742 slli a4,a4,0x10 - 7ef8: 8fd9 or a5,a5,a4 - 7efa: 32b8 lbu a4,3(a3) - 7efc: 0762 slli a4,a4,0x18 - 7efe: 8f5d or a4,a4,a5 - 7f00: 87b6 mv a5,a3 - 7f02: b731 j 7e0e - 7f04: 854a mv a0,s2 - 7f06: 575000ef jal ra,8c7a - 7f0a: 0009d783 lhu a5,0(s3) - 7f0e: 40a78533 sub a0,a5,a0 - 7f12: 00a99023 sh a0,0(s3) - 7f16: 854a mv a0,s2 - 7f18: 37d000ef jal ra,8a94 - 7f1c: 4b01 li s6,0 - 7f1e: a08d j 7f80 - 7f20: 55b1 li a1,-20 - 7f22: 854a mv a0,s2 - 7f24: 00492483 lw s1,4(s2) - 7f28: 2ff000ef jal ra,8a26 - 7f2c: 85ca mv a1,s2 - 7f2e: 855a mv a0,s6 - 7f30: 567000ef jal ra,8c96 - 7f34: 309c lbu a5,1(s1) - 7f36: 0004c903 lbu s2,0(s1) - 7f3a: 07a2 slli a5,a5,0x8 - 7f3c: 0127e7b3 or a5,a5,s2 - 7f40: 0024c903 lbu s2,2(s1) - 7f44: 0942 slli s2,s2,0x10 - 7f46: 00f967b3 or a5,s2,a5 - 7f4a: 0034c903 lbu s2,3(s1) - 7f4e: 0962 slli s2,s2,0x18 - 7f50: 00f96933 or s2,s2,a5 - 7f54: fc0916e3 bnez s2,7f20 - 7f58: 000a2703 lw a4,0(s4) - 7f5c: 401c lw a5,0(s0) - 7f5e: 02e41463 bne s0,a4,7f86 - 7f62: 00fa2023 sw a5,0(s4) - 7f66: 85a2 mv a1,s0 - 7f68: 4515 li a0,5 - 7f6a: 159000ef jal ra,88c2 - 7f6e: 855a mv a0,s6 - 7f70: 50b000ef jal ra,8c7a - 7f74: 0009d783 lhu a5,0(s3) - 7f78: 40a78533 sub a0,a5,a0 - 7f7c: 00a99023 sh a0,0(s3) - 7f80: 855a mv a0,s6 - 7f82: da4f806f j 526 <__riscv_restore_10> - 7f86: 00faa023 sw a5,0(s5) - 7f8a: bff1 j 7f66 - 7f8c: 30fc lbu a5,7(s1) - 7f8e: 20e8 lbu a0,6(s1) - 7f90: 6b89 lui s7,0x2 - 7f92: 07a2 slli a5,a5,0x8 - 7f94: 8d5d or a0,a0,a5 - 7f96: f1cff0ef jal ra,76b2 - 7f9a: 1bfd addi s7,s7,-1 - 7f9c: 01757533 and a0,a0,s7 - 7fa0: 0542 slli a0,a0,0x10 - 7fa2: 8141 srli a0,a0,0x10 - 7fa4: e901 bnez a0,7fb4 - 7fa6: 246a lhu a0,14(s0) - 7fa8: f0aff0ef jal ra,76b2 - 7fac: 01757533 and a0,a0,s7 - 7fb0: d80512e3 bnez a0,7d34 - 7fb4: 0009d783 lhu a5,0(s3) - 7fb8: 9d3e add s10,s10,a5 - 7fba: 01a99023 sh s10,0(s3) - 7fbe: 30fc lbu a5,7(s1) - 7fc0: 20e8 lbu a0,6(s1) - 7fc2: 07a2 slli a5,a5,0x8 - 7fc4: 8d5d or a0,a0,a5 - 7fc6: eecff0ef jal ra,76b2 - 7fca: 01251793 slli a5,a0,0x12 - 7fce: 0207c263 bltz a5,7ff2 - 7fd2: 013b1513 slli a0,s6,0x13 - 7fd6: 2c7c lbu a5,30(s0) - 7fd8: 814d srli a0,a0,0x13 - 7fda: 050e slli a0,a0,0x3 - 7fdc: 006c5c13 srli s8,s8,0x6 - 7fe0: 9566 add a0,a0,s9 - 7fe2: 03cc7c13 andi s8,s8,60 - 7fe6: 0017e793 ori a5,a5,1 - 7fea: 41850533 sub a0,a0,s8 - 7fee: ac7c sb a5,30(s0) - 7ff0: ac4a sh a0,28(s0) - 7ff2: 00492483 lw s1,4(s2) - 7ff6: 30bc lbu a5,3(s1) - 7ff8: 20a8 lbu a0,2(s1) - 7ffa: 07a2 slli a5,a5,0x8 - 7ffc: 8d5d or a0,a0,a5 - 7ffe: eb4ff0ef jal ra,76b2 - 8002: 309c lbu a5,1(s1) - 8004: 8b2a mv s6,a0 - 8006: 2088 lbu a0,0(s1) - 8008: 07a2 slli a5,a5,0x8 - 800a: 8d5d or a0,a0,a5 - 800c: ea6ff0ef jal ra,76b2 - 8010: 30fc lbu a5,7(s1) - 8012: 8baa mv s7,a0 - 8014: 20e8 lbu a0,6(s1) - 8016: 07a2 slli a5,a5,0x8 - 8018: 006bdb93 srli s7,s7,0x6 - 801c: 8d5d or a0,a0,a5 - 801e: e94ff0ef jal ra,76b2 - 8022: 054e slli a0,a0,0x13 - 8024: 814d srli a0,a0,0x13 - 8026: 00351613 slli a2,a0,0x3 - 802a: 00cb0533 add a0,s6,a2 - 802e: 03cbfb13 andi s6,s7,60 - 8032: 00492783 lw a5,4(s2) - 8036: 41650533 sub a0,a0,s6 - 803a: 0542 slli a0,a0,0x10 - 803c: 00865713 srli a4,a2,0x8 - 8040: 8141 srli a0,a0,0x10 - 8042: 4054 lw a3,4(s0) - 8044: b3d8 sb a4,5(a5) - 8046: 00855713 srli a4,a0,0x8 - 804a: b3f8 sb a4,7(a5) - 804c: 00078023 sb zero,0(a5) - 8050: 000780a3 sb zero,1(a5) - 8054: 00078123 sb zero,2(a5) - 8058: 000781a3 sb zero,3(a5) - 805c: a3d0 sb a2,4(a5) - 805e: a3e8 sb a0,6(a5) - 8060: 4885 li a7,1 - 8062: 4701 li a4,0 - 8064: d20693e3 bnez a3,7d8a - 8068: e40713e3 bnez a4,7eae - 806c: 01242223 sw s2,4(s0) - 8070: b3b5 j 7ddc - -00008072 : -ip_frag(): - 8072: c74f82ef jal t0,4e6 <__riscv_save_12> - 8076: 00452c03 lw s8,4(a0) - 807a: 1101 addi sp,sp,-32 - 807c: ca32 sw a2,20(sp) - 807e: 007c4703 lbu a4,7(s8) - 8082: 8daa mv s11,a0 - 8084: 006c4503 lbu a0,6(s8) - 8088: 0722 slli a4,a4,0x8 - 808a: 0305db83 lhu s7,48(a1) - 808e: 8d59 or a0,a0,a4 - 8090: 8cae mv s9,a1 - 8092: e20ff0ef jal ra,76b2 - 8096: 6689 lui a3,0x2 - 8098: 00d577b3 and a5,a0,a3 - 809c: fecb8a13 addi s4,s7,-20 # 1fec - 80a0: 46a1 li a3,8 - 80a2: 02da4a33 div s4,s4,a3 - 80a6: 008dd483 lhu s1,8(s11) - 80aa: 6709 lui a4,0x2 - 80ac: 177d addi a4,a4,-1 - 80ae: c63e sw a5,12(sp) - 80b0: 00e57933 and s2,a0,a4 - 80b4: 14b1 addi s1,s1,-20 - 80b6: 0942 slli s2,s2,0x10 - 80b8: 04c2 slli s1,s1,0x10 - 80ba: 01095913 srli s2,s2,0x10 - 80be: 80c1 srli s1,s1,0x10 - 80c0: 4401 li s0,0 - 80c2: 4d51 li s10,20 - 80c4: cc3a sw a4,24(sp) - 80c6: 0a42 slli s4,s4,0x10 - 80c8: 010a5a13 srli s4,s4,0x10 - 80cc: 003a1693 slli a3,s4,0x3 - 80d0: 01069793 slli a5,a3,0x10 - 80d4: 83c1 srli a5,a5,0x10 - 80d6: c83e sw a5,16(sp) - 80d8: fedb8793 addi a5,s7,-19 - 80dc: ce3e sw a5,28(sp) - 80de: e489 bnez s1,80e8 - 80e0: 4501 li a0,0 - 80e2: 6105 addi sp,sp,32 - 80e4: c3ef806f j 522 <__riscv_restore_12> - 80e8: 47e2 lw a5,24(sp) - 80ea: 8aa6 mv s5,s1 - 80ec: 00f97b33 and s6,s2,a5 - 80f0: 47b2 lw a5,12(sp) - 80f2: 0167eb33 or s6,a5,s6 - 80f6: 47f2 lw a5,28(sp) - 80f8: 00f4c663 blt s1,a5,8104 - 80fc: 4ac2 lw s5,16(sp) - 80fe: 6789 lui a5,0x2 - 8100: 00fb6b33 or s6,s6,a5 - 8104: 4601 li a2,0 - 8106: 45d1 li a1,20 - 8108: 4509 li a0,2 - 810a: 1d9000ef jal ra,8ae2 - 810e: 89aa mv s3,a0 - 8110: c939 beqz a0,8166 - 8112: 4148 lw a0,4(a0) - 8114: 4651 li a2,20 - 8116: 85e2 mv a1,s8 - 8118: 5b9040ef jal ra,ced0 - 811c: 004da603 lw a2,4(s11) - 8120: 0049ab83 lw s7,4(s3) - 8124: 966a add a2,a2,s10 - 8126: 00cda223 sw a2,4(s11) - 812a: 00add603 lhu a2,10(s11) - 812e: 41a606b3 sub a3,a2,s10 - 8132: 00dd9523 sh a3,10(s11) - 8136: 8d56 mv s10,s5 - 8138: 040d0963 beqz s10,818a - 813c: 00add403 lhu s0,10(s11) - 8140: 008d7363 bgeu s10,s0,8146 - 8144: 846a mv s0,s10 - 8146: 0442 slli s0,s0,0x10 - 8148: 8041 srli s0,s0,0x10 - 814a: e401 bnez s0,8152 - 814c: 000dad83 lw s11,0(s11) - 8150: b7e5 j 8138 - 8152: 4581 li a1,0 - 8154: 4609 li a2,2 - 8156: 450d li a0,3 - 8158: 18b000ef jal ra,8ae2 - 815c: 85aa mv a1,a0 - 815e: e511 bnez a0,816a - 8160: 854e mv a0,s3 - 8162: 133000ef jal ra,8a94 - 8166: 557d li a0,-1 - 8168: bfad j 80e2 - 816a: 004da603 lw a2,4(s11) - 816e: a502 sh s0,8(a0) - 8170: a522 sh s0,10(a0) - 8172: c150 sw a2,4(a0) - 8174: 854e mv a0,s3 - 8176: 321000ef jal ra,8c96 - 817a: 408d06b3 sub a3,s10,s0 - 817e: 01069d13 slli s10,a3,0x10 - 8182: 010d5d13 srli s10,s10,0x10 - 8186: fc0d13e3 bnez s10,814c - 818a: 855a mv a0,s6 - 818c: d18ff0ef jal ra,76a4 - 8190: 00ab8323 sb a0,6(s7) - 8194: 8121 srli a0,a0,0x8 - 8196: 00ab83a3 sb a0,7(s7) - 819a: 014a8513 addi a0,s5,20 - 819e: 0542 slli a0,a0,0x10 - 81a0: 8141 srli a0,a0,0x10 - 81a2: d02ff0ef jal ra,76a4 - 81a6: 00ab8123 sb a0,2(s7) - 81aa: 8121 srli a0,a0,0x8 - 81ac: 00ab81a3 sb a0,3(s7) - 81b0: 45d1 li a1,20 - 81b2: 000b8523 sb zero,10(s7) - 81b6: 000b85a3 sb zero,11(s7) - 81ba: 855e mv a0,s7 - 81bc: 2f8040ef jal ra,c4b4 - 81c0: 014ca703 lw a4,20(s9) - 81c4: 4652 lw a2,20(sp) - 81c6: 00ab8523 sb a0,10(s7) - 81ca: 8121 srli a0,a0,0x8 - 81cc: 00ab85a3 sb a0,11(s7) - 81d0: 85ce mv a1,s3 - 81d2: 8566 mv a0,s9 - 81d4: 9702 jalr a4 - 81d6: 415484b3 sub s1,s1,s5 - 81da: 9952 add s2,s2,s4 - 81dc: 854e mv a0,s3 - 81de: 04c2 slli s1,s1,0x10 - 81e0: 0942 slli s2,s2,0x10 - 81e2: 0b3000ef jal ra,8a94 - 81e6: 80c1 srli s1,s1,0x10 - 81e8: 01095913 srli s2,s2,0x10 - 81ec: 8d22 mv s10,s0 - 81ee: bdc5 j 80de - -000081f0 : -dhcp_set_state(): - 81f0: 293c lbu a5,18(a0) - 81f2: 00b78963 beq a5,a1,8204 - 81f6: 2002e7b7 lui a5,0x2002e - 81fa: a92c sb a1,18(a0) - 81fc: 000509a3 sb zero,19(a0) - 8200: b007ac23 sw zero,-1256(a5) # 2002db18 - 8204: 8082 ret - -00008206 : -dhcp_option(): - 8206: 2d5e lhu a5,28(a0) - 8208: 4d18 lw a4,24(a0) - 820a: 00f706b3 add a3,a4,a5 - 820e: 0eb68823 sb a1,240(a3) # 20f0 - 8212: 00278693 addi a3,a5,2 - 8216: 0785 addi a5,a5,1 - 8218: 07c2 slli a5,a5,0x10 - 821a: 83c1 srli a5,a5,0x10 - 821c: ad56 sh a3,28(a0) - 821e: 97ba add a5,a5,a4 - 8220: 0ec78823 sb a2,240(a5) - 8224: 8082 ret - -00008226 : -dhcp_option_byte(): - 8226: 2d5a lhu a4,28(a0) - 8228: 4d1c lw a5,24(a0) - 822a: 00170693 addi a3,a4,1 # 2001 - 822e: ad56 sh a3,28(a0) - 8230: 97ba add a5,a5,a4 - 8232: 0eb78823 sb a1,240(a5) - 8236: 8082 ret - -00008238 : -dhcp_option_long(): - 8238: 2d5e lhu a5,28(a0) - 823a: 4d18 lw a4,24(a0) - 823c: 0185d613 srli a2,a1,0x18 - 8240: 00f706b3 add a3,a4,a5 - 8244: 0ec68823 sb a2,240(a3) - 8248: 00178693 addi a3,a5,1 - 824c: 06c2 slli a3,a3,0x10 - 824e: 82c1 srli a3,a3,0x10 - 8250: 96ba add a3,a3,a4 - 8252: 0105d613 srli a2,a1,0x10 - 8256: 0ec68823 sb a2,240(a3) - 825a: 00278693 addi a3,a5,2 - 825e: 06c2 slli a3,a3,0x10 - 8260: 82c1 srli a3,a3,0x10 - 8262: 96ba add a3,a3,a4 - 8264: 0085d613 srli a2,a1,0x8 - 8268: 0ec68823 sb a2,240(a3) - 826c: 00478693 addi a3,a5,4 - 8270: 078d addi a5,a5,3 - 8272: 07c2 slli a5,a5,0x10 - 8274: 83c1 srli a5,a5,0x10 - 8276: ad56 sh a3,28(a0) - 8278: 97ba add a5,a5,a4 - 827a: 0eb78823 sb a1,240(a5) - 827e: 8082 ret - -00008280 : -dhcp_option_trailer(): - 8280: c115 beqz a0,82a4 - 8282: 2d5e lhu a5,28(a0) - 8284: 4d18 lw a4,24(a0) - 8286: 04300613 li a2,67 - 828a: 00178693 addi a3,a5,1 - 828e: ad56 sh a3,28(a0) - 8290: 97ba add a5,a5,a4 - 8292: 56fd li a3,-1 - 8294: 0ed78823 sb a3,240(a5) - 8298: 2d5e lhu a5,28(a0) - 829a: 00f67663 bgeu a2,a5,82a6 - 829e: 0037f693 andi a3,a5,3 - 82a2: e291 bnez a3,82a6 - 82a4: 8082 ret - 82a6: 00178693 addi a3,a5,1 - 82aa: ad56 sh a3,28(a0) - 82ac: 97ba add a5,a5,a4 - 82ae: 0e078823 sb zero,240(a5) - 82b2: b7dd j 8298 - -000082b4 : -dhcp_create_request(): - 82b4: 18050263 beqz a0,8438 - 82b8: a5ef82ef jal t0,516 <__riscv_save_0> - 82bc: 5104 lw s1,32(a0) - 82be: 57dd li a5,-9 - 82c0: 16048963 beqz s1,8432 - 82c4: 892a mv s2,a0 - 82c6: 4601 li a2,0 - 82c8: 13400593 li a1,308 - 82cc: 4501 li a0,0 - 82ce: 015000ef jal ra,8ae2 - 82d2: c8c8 sw a0,20(s1) - 82d4: 872a mv a4,a0 - 82d6: 57fd li a5,-1 - 82d8: 14050d63 beqz a0,8432 - 82dc: 38bc lbu a5,19(s1) - 82de: ef99 bnez a5,82fc - 82e0: 28bc lbu a5,18(s1) - 82e2: 4605 li a2,1 - 82e4: 00c78c63 beq a5,a2,82fc - 82e8: 17f1 addi a5,a5,-4 - 82ea: 0ff7f793 andi a5,a5,255 - 82ee: 00f67763 bgeu a2,a5,82fc - 82f2: 8201a783 lw a5,-2016(gp) # 20000060 - 82f6: 0785 addi a5,a5,1 - 82f8: 82f1a023 sw a5,-2016(gp) # 20000060 - 82fc: 4340 lw s0,4(a4) - 82fe: 8201a503 lw a0,-2016(gp) # 20000060 - 8302: 4785 li a5,1 - 8304: cc80 sw s0,24(s1) - 8306: c088 sw a0,0(s1) - 8308: a01c sb a5,0(s0) - 830a: b01c sb a5,1(s0) - 830c: 4799 li a5,6 - 830e: a03c sb a5,2(s0) - 8310: 000401a3 sb zero,3(s0) - 8314: bacff0ef jal ra,76c0 - 8318: 00855793 srli a5,a0,0x8 - 831c: a048 sb a0,4(s0) - 831e: b05c sb a5,5(s0) - 8320: 01055793 srli a5,a0,0x10 - 8324: 8161 srli a0,a0,0x18 - 8326: a07c sb a5,6(s0) - 8328: b068 sb a0,7(s0) - 832a: 4c80 lw s0,24(s1) - 832c: 4729 li a4,10 - 832e: 00040423 sb zero,8(s0) - 8332: 000404a3 sb zero,9(s0) - 8336: 00040523 sb zero,10(s0) - 833a: 000405a3 sb zero,11(s0) - 833e: 00040623 sb zero,12(s0) - 8342: 000406a3 sb zero,13(s0) - 8346: 00040723 sb zero,14(s0) - 834a: 000407a3 sb zero,15(s0) - 834e: 28bc lbu a5,18(s1) - 8350: 00e78863 beq a5,a4,8360 - 8354: 17f1 addi a5,a5,-4 - 8356: 0ff7f793 andi a5,a5,255 - 835a: 4705 li a4,1 - 835c: 00f76e63 bltu a4,a5,8378 - 8360: 00494783 lbu a5,4(s2) - 8364: a45c sb a5,12(s0) - 8366: 00594783 lbu a5,5(s2) - 836a: b45c sb a5,13(s0) - 836c: 00694783 lbu a5,6(s2) - 8370: a47c sb a5,14(s0) - 8372: 00794783 lbu a5,7(s2) - 8376: b47c sb a5,15(s0) - 8378: 00040823 sb zero,16(s0) - 837c: 000408a3 sb zero,17(s0) - 8380: 00040923 sb zero,18(s0) - 8384: 000409a3 sb zero,19(s0) - 8388: 00040a23 sb zero,20(s0) - 838c: 00040aa3 sb zero,21(s0) - 8390: 00040b23 sb zero,22(s0) - 8394: 00040ba3 sb zero,23(s0) - 8398: 00040c23 sb zero,24(s0) - 839c: 00040ca3 sb zero,25(s0) - 83a0: 00040d23 sb zero,26(s0) - 83a4: 00040da3 sb zero,27(s0) - 83a8: 02894583 lbu a1,40(s2) - 83ac: 4781 li a5,0 - 83ae: 4641 li a2,16 - 83b0: 01079713 slli a4,a5,0x10 - 83b4: 8341 srli a4,a4,0x10 - 83b6: 4681 li a3,0 - 83b8: 00b77663 bgeu a4,a1,83c4 - 83bc: 00f90733 add a4,s2,a5 - 83c0: 02974683 lbu a3,41(a4) - 83c4: 00f40733 add a4,s0,a5 - 83c8: af54 sb a3,28(a4) - 83ca: 0785 addi a5,a5,1 - 83cc: fec792e3 bne a5,a2,83b0 - 83d0: 02c40713 addi a4,s0,44 - 83d4: 06c40793 addi a5,s0,108 - 83d8: 00070023 sb zero,0(a4) - 83dc: 0705 addi a4,a4,1 - 83de: fee79de3 bne a5,a4,83d8 - 83e2: 0ec40713 addi a4,s0,236 - 83e6: 00078023 sb zero,0(a5) - 83ea: 0785 addi a5,a5,1 - 83ec: fee79de3 bne a5,a4,83e6 - 83f0: 63825537 lui a0,0x63825 - 83f4: 36350513 addi a0,a0,867 # 63825363 <__freertos_irq_stack_top+0x437f5363> - 83f8: ac8ff0ef jal ra,76c0 - 83fc: 00855793 srli a5,a0,0x8 - 8400: 0ea40623 sb a0,236(s0) - 8404: 0ef406a3 sb a5,237(s0) - 8408: 4c90 lw a2,24(s1) - 840a: 01055793 srli a5,a0,0x10 - 840e: 8161 srli a0,a0,0x18 - 8410: 0ef40723 sb a5,238(s0) - 8414: 0ea407a3 sb a0,239(s0) - 8418: 00049e23 sh zero,28(s1) - 841c: 4781 li a5,0 - 841e: 04400713 li a4,68 - 8422: 00f606b3 add a3,a2,a5 - 8426: 0ef68823 sb a5,240(a3) - 842a: 0785 addi a5,a5,1 - 842c: fee79be3 bne a5,a4,8422 - 8430: 4781 li a5,0 - 8432: 853e mv a0,a5 - 8434: 906f806f j 53a <__riscv_restore_0> - 8438: 57d9 li a5,-10 - 843a: 853e mv a0,a5 - 843c: 8082 ret - -0000843e : -dhcp_delete_request(): - 843e: cd11 beqz a0,845a - 8440: 8d6f82ef jal t0,516 <__riscv_save_0> - 8444: 5100 lw s0,32(a0) - 8446: c801 beqz s0,8456 - 8448: 4848 lw a0,20(s0) - 844a: c111 beqz a0,844e - 844c: 25a1 jal 8a94 - 844e: 00042a23 sw zero,20(s0) - 8452: 00042c23 sw zero,24(s0) - 8456: 8e4f806f j 53a <__riscv_restore_0> - 845a: 8082 ret - -0000845c : -dhcp_arp_reply(): - 845c: 18050063 beqz a0,85dc - 8460: 8b6f82ef jal t0,516 <__riscv_save_0> - 8464: 5100 lw s0,32(a0) - 8466: 16040963 beqz s0,85d8 - 846a: 2838 lbu a4,18(s0) - 846c: 47a1 li a5,8 - 846e: 16f71563 bne a4,a5,85d8 - 8472: 3198 lbu a4,1(a1) - 8474: 219c lbu a5,0(a1) - 8476: 0722 slli a4,a4,0x8 - 8478: 8f5d or a4,a4,a5 - 847a: 21bc lbu a5,2(a1) - 847c: 07c2 slli a5,a5,0x10 - 847e: 8f5d or a4,a4,a5 - 8480: 31bc lbu a5,3(a1) - 8482: 07e2 slli a5,a5,0x18 - 8484: 8fd9 or a5,a5,a4 - 8486: 5418 lw a4,40(s0) - 8488: 14e79863 bne a5,a4,85d8 - 848c: 84aa mv s1,a0 - 848e: 45b1 li a1,12 - 8490: 8522 mv a0,s0 - 8492: d5fff0ef jal ra,81f0 - 8496: 8526 mv a0,s1 - 8498: e1dff0ef jal ra,82b4 - 849c: 12051963 bnez a0,85ce - 84a0: 4605 li a2,1 - 84a2: 03500593 li a1,53 - 84a6: 8522 mv a0,s0 - 84a8: d5fff0ef jal ra,8206 - 84ac: 4591 li a1,4 - 84ae: 8522 mv a0,s0 - 84b0: d77ff0ef jal ra,8226 - 84b4: 4611 li a2,4 - 84b6: 03200593 li a1,50 - 84ba: 8522 mv a0,s0 - 84bc: d4bff0ef jal ra,8206 - 84c0: 5408 lw a0,40(s0) - 84c2: a22ff0ef jal ra,76e4 - 84c6: 85aa mv a1,a0 - 84c8: 8522 mv a0,s0 - 84ca: d6fff0ef jal ra,8238 - 84ce: 4611 li a2,4 - 84d0: 03600593 li a1,54 - 84d4: 8522 mv a0,s0 - 84d6: d31ff0ef jal ra,8206 - 84da: 5048 lw a0,36(s0) - 84dc: a08ff0ef jal ra,76e4 - 84e0: 85aa mv a1,a0 - 84e2: 8522 mv a0,s0 - 84e4: d55ff0ef jal ra,8238 - 84e8: 461d li a2,7 - 84ea: 03d00593 li a1,61 - 84ee: 8522 mv a0,s0 - 84f0: d17ff0ef jal ra,8206 - 84f4: 2c5e lhu a5,28(s0) - 84f6: 4c18 lw a4,24(s0) - 84f8: 4605 li a2,1 - 84fa: 8522 mv a0,s0 - 84fc: 00f706b3 add a3,a4,a5 - 8500: 0ec68823 sb a2,240(a3) - 8504: 00278613 addi a2,a5,2 - 8508: 0642 slli a2,a2,0x10 - 850a: 8241 srli a2,a2,0x10 - 850c: ac52 sh a2,28(s0) - 850e: 00178693 addi a3,a5,1 - 8512: 0294c583 lbu a1,41(s1) - 8516: 06c2 slli a3,a3,0x10 - 8518: 82c1 srli a3,a3,0x10 - 851a: 96ba add a3,a3,a4 - 851c: 0eb68823 sb a1,240(a3) - 8520: 00378693 addi a3,a5,3 - 8524: 06c2 slli a3,a3,0x10 - 8526: 82c1 srli a3,a3,0x10 - 8528: ac56 sh a3,28(s0) - 852a: 02a4c583 lbu a1,42(s1) - 852e: 963a add a2,a2,a4 - 8530: 96ba add a3,a3,a4 - 8532: 0eb60823 sb a1,240(a2) - 8536: 00478613 addi a2,a5,4 - 853a: 0642 slli a2,a2,0x10 - 853c: 8241 srli a2,a2,0x10 - 853e: ac52 sh a2,28(s0) - 8540: 02b4c583 lbu a1,43(s1) - 8544: 963a add a2,a2,a4 - 8546: 0eb68823 sb a1,240(a3) - 854a: 00578693 addi a3,a5,5 - 854e: 06c2 slli a3,a3,0x10 - 8550: 82c1 srli a3,a3,0x10 - 8552: ac56 sh a3,28(s0) - 8554: 02c4c583 lbu a1,44(s1) - 8558: 96ba add a3,a3,a4 - 855a: 0eb60823 sb a1,240(a2) - 855e: 00678613 addi a2,a5,6 - 8562: 0642 slli a2,a2,0x10 - 8564: 8241 srli a2,a2,0x10 - 8566: ac52 sh a2,28(s0) - 8568: 02d4c583 lbu a1,45(s1) - 856c: 079d addi a5,a5,7 - 856e: 9732 add a4,a4,a2 - 8570: 0eb68823 sb a1,240(a3) - 8574: ac5e sh a5,28(s0) - 8576: 02e4c783 lbu a5,46(s1) - 857a: 0ef70823 sb a5,240(a4) - 857e: d03ff0ef jal ra,8280 - 8582: 2c4e lhu a1,28(s0) - 8584: 4848 lw a0,20(s0) - 8586: 0f058593 addi a1,a1,240 - 858a: 05c2 slli a1,a1,0x10 - 858c: 81c1 srli a1,a1,0x10 - 858e: 2d51 jal 8c22 - 8590: 02844703 lbu a4,40(s0) - 8594: 4c1c lw a5,24(s0) - 8596: 484c lw a1,20(s0) - 8598: 4048 lw a0,4(s0) - 859a: a7d8 sb a4,12(a5) - 859c: 02944703 lbu a4,41(s0) - 85a0: 0044a903 lw s2,4(s1) - 85a4: b7d8 sb a4,13(a5) - 85a6: 02a44703 lbu a4,42(s0) - 85aa: 04300693 li a3,67 - 85ae: 85018613 addi a2,gp,-1968 # 20000090 - 85b2: a7f8 sb a4,14(a5) - 85b4: 02b44703 lbu a4,43(s0) - 85b8: b7f8 sb a4,15(a5) - 85ba: 0004a223 sw zero,4(s1) - 85be: 8726 mv a4,s1 - 85c0: 091030ef jal ra,be50 - 85c4: 8526 mv a0,s1 - 85c6: 0124a223 sw s2,4(s1) - 85ca: e75ff0ef jal ra,843e - 85ce: 383c lbu a5,19(s0) - 85d0: 0785 addi a5,a5,1 - 85d2: b83c sb a5,19(s0) - 85d4: 4785 li a5,1 - 85d6: ac7e sh a5,30(s0) - 85d8: f63f706f j 53a <__riscv_restore_0> - 85dc: 8082 ret - -000085de : -lwip_init(): - 85de: f39f72ef jal t0,516 <__riscv_save_0> - 85e2: 2811 jal 85f6 - 85e4: 24bd jal 8852 - 85e6: 2002e7b7 lui a5,0x2002e - 85ea: b747a783 lw a5,-1164(a5) # 2002db74 - 85ee: c391 beqz a5,85f2 - 85f0: 9782 jalr a5 - 85f2: f49f706f j 53a <__riscv_restore_0> - -000085f6 : -mem_init(): - 85f6: 2000a737 lui a4,0x2000a - 85fa: 3bf70713 addi a4,a4,959 # 2000a3bf - 85fe: 9b71 andi a4,a4,-4 - 8600: 96e1ae23 sw a4,-1668(gp) # 200001bc - 8604: 2002e7b7 lui a5,0x2002e - 8608: bd87a783 lw a5,-1064(a5) # 2002dbd8 - 860c: 00071123 sh zero,2(a4) - 8610: 078d addi a5,a5,3 - 8612: 9bf1 andi a5,a5,-4 - 8614: 01079693 slli a3,a5,0x10 - 8618: 82c1 srli a3,a3,0x10 - 861a: 97ba add a5,a5,a4 - 861c: a316 sh a3,0(a4) - 861e: 00070223 sb zero,4(a4) - 8622: 98f1a023 sw a5,-1664(gp) # 200001c0 - 8626: 4605 li a2,1 - 8628: a3d0 sb a2,4(a5) - 862a: a396 sh a3,0(a5) - 862c: a3b6 sh a3,2(a5) - 862e: 96e1ac23 sw a4,-1672(gp) # 200001b8 - 8632: 8082 ret - -00008634 : -mem_free(): - 8634: c149 beqz a0,86b6 - 8636: 97c1a783 lw a5,-1668(gp) # 200001bc - 863a: 06f56e63 bltu a0,a5,86b6 - 863e: 9801a583 lw a1,-1664(gp) # 200001c0 - 8642: 06b57a63 bgeu a0,a1,86b6 - 8646: 9781a683 lw a3,-1672(gp) # 200001b8 - 864a: ff850613 addi a2,a0,-8 - 864e: fe050e23 sb zero,-4(a0) - 8652: 97818713 addi a4,gp,-1672 # 200001b8 - 8656: 00d67363 bgeu a2,a3,865c - 865a: c310 sw a2,0(a4) - 865c: ff855683 lhu a3,-8(a0) - 8660: 96be add a3,a3,a5 - 8662: 02d60463 beq a2,a3,868a - 8666: 0046c803 lbu a6,4(a3) - 866a: 02081063 bnez a6,868a - 866e: 00d58e63 beq a1,a3,868a - 8672: 430c lw a1,0(a4) - 8674: 00b69363 bne a3,a1,867a - 8678: c310 sw a2,0(a4) - 867a: 228e lhu a1,0(a3) - 867c: feb51c23 sh a1,-8(a0) - 8680: 2296 lhu a3,0(a3) - 8682: 40f605b3 sub a1,a2,a5 - 8686: 96be add a3,a3,a5 - 8688: a2ae sh a1,2(a3) - 868a: ffa55583 lhu a1,-6(a0) - 868e: 00b786b3 add a3,a5,a1 - 8692: 02d60263 beq a2,a3,86b6 - 8696: 0046c803 lbu a6,4(a3) - 869a: 00081e63 bnez a6,86b6 - 869e: 00072803 lw a6,0(a4) - 86a2: 01061363 bne a2,a6,86a8 - 86a6: c314 sw a3,0(a4) - 86a8: ff855703 lhu a4,-8(a0) - 86ac: a29a sh a4,0(a3) - 86ae: ff855703 lhu a4,-8(a0) - 86b2: 97ba add a5,a5,a4 - 86b4: a3ae sh a1,2(a5) - 86b6: 8082 ret - -000086b8 : -mem_realloc(): - 86b8: 058d addi a1,a1,3 - 86ba: 05c2 slli a1,a1,0x10 - 86bc: 81c1 srli a1,a1,0x10 - 86be: 99f1 andi a1,a1,-4 - 86c0: 05c2 slli a1,a1,0x10 - 86c2: 81c1 srli a1,a1,0x10 - 86c4: 4731 li a4,12 - 86c6: 87ae mv a5,a1 - 86c8: 00e5f363 bgeu a1,a4,86ce - 86cc: 47b1 li a5,12 - 86ce: 2002e737 lui a4,0x2002e - 86d2: bd872603 lw a2,-1064(a4) # 2002dbd8 - 86d6: 07c2 slli a5,a5,0x10 - 86d8: 83c1 srli a5,a5,0x10 - 86da: 060d addi a2,a2,3 - 86dc: 9a71 andi a2,a2,-4 - 86de: 0af66063 bltu a2,a5,877e - 86e2: 97c1a703 lw a4,-1668(gp) # 200001bc - 86e6: 08e56d63 bltu a0,a4,8780 - 86ea: 9801a683 lw a3,-1664(gp) # 200001c0 - 86ee: 08d57963 bgeu a0,a3,8780 - 86f2: ff850693 addi a3,a0,-8 - 86f6: ff855883 lhu a7,-8(a0) - 86fa: 8e99 sub a3,a3,a4 - 86fc: 06c2 slli a3,a3,0x10 - 86fe: 82c1 srli a3,a3,0x10 - 8700: ff888593 addi a1,a7,-8 - 8704: 8d95 sub a1,a1,a3 - 8706: 05c2 slli a1,a1,0x10 - 8708: 81c1 srli a1,a1,0x10 - 870a: 06f5ea63 bltu a1,a5,877e - 870e: 06f58963 beq a1,a5,8780 - 8712: 01170333 add t1,a4,a7 - 8716: 00434803 lbu a6,4(t1) - 871a: 02081463 bnez a6,8742 - 871e: 00868593 addi a1,a3,8 - 8722: 97818813 addi a6,gp,-1672 # 200001b8 - 8726: 97ae add a5,a5,a1 - 8728: 00082e03 lw t3,0(a6) - 872c: 07c2 slli a5,a5,0x10 - 872e: 83c1 srli a5,a5,0x10 - 8730: 00035883 lhu a7,0(t1) - 8734: 00f705b3 add a1,a4,a5 - 8738: 026e1663 bne t3,t1,8764 - 873c: 00b82023 sw a1,0(a6) - 8740: a015 j 8764 - 8742: 01478813 addi a6,a5,20 - 8746: 0305ed63 bltu a1,a6,8780 - 874a: 00868593 addi a1,a3,8 - 874e: 97ae add a5,a5,a1 - 8750: 97818813 addi a6,gp,-1672 # 200001b8 - 8754: 07c2 slli a5,a5,0x10 - 8756: 00082303 lw t1,0(a6) - 875a: 83c1 srli a5,a5,0x10 - 875c: 00f705b3 add a1,a4,a5 - 8760: fc65eee3 bltu a1,t1,873c - 8764: 01159023 sh a7,0(a1) - 8768: a1b6 sh a3,2(a1) - 876a: 00058223 sb zero,4(a1) - 876e: fef51c23 sh a5,-8(a0) - 8772: 2196 lhu a3,0(a1) - 8774: 00d60663 beq a2,a3,8780 - 8778: 9736 add a4,a4,a3 - 877a: a33e sh a5,2(a4) - 877c: 8082 ret - 877e: 4501 li a0,0 - 8780: 8082 ret - -00008782 : -mem_malloc(): - 8782: c539 beqz a0,87d0 - 8784: 00350713 addi a4,a0,3 - 8788: 0742 slli a4,a4,0x10 - 878a: 8341 srli a4,a4,0x10 - 878c: 9b71 andi a4,a4,-4 - 878e: 0742 slli a4,a4,0x10 - 8790: 8341 srli a4,a4,0x10 - 8792: 46b1 li a3,12 - 8794: 87ba mv a5,a4 - 8796: 00d77363 bgeu a4,a3,879c - 879a: 47b1 li a5,12 - 879c: 2002e737 lui a4,0x2002e - 87a0: bd872603 lw a2,-1064(a4) # 2002dbd8 - 87a4: 07c2 slli a5,a5,0x10 - 87a6: 83c1 srli a5,a5,0x10 - 87a8: 060d addi a2,a2,3 - 87aa: 9a71 andi a2,a2,-4 - 87ac: 4501 li a0,0 - 87ae: 02f66263 bltu a2,a5,87d2 - 87b2: 9781a703 lw a4,-1672(gp) # 200001b8 - 87b6: 97c1ae83 lw t4,-1668(gp) # 200001bc - 87ba: 97818593 addi a1,gp,-1672 # 200001b8 - 87be: 40f60333 sub t1,a2,a5 - 87c2: 41d706b3 sub a3,a4,t4 - 87c6: 06c2 slli a3,a3,0x10 - 87c8: 82c1 srli a3,a3,0x10 - 87ca: 5e61 li t3,-8 - 87cc: 0066e463 bltu a3,t1,87d4 - 87d0: 4501 li a0,0 - 87d2: 8082 ret - 87d4: 00de8533 add a0,t4,a3 - 87d8: 00454803 lbu a6,4(a0) - 87dc: 00055883 lhu a7,0(a0) - 87e0: 06081763 bnez a6,884e - 87e4: 40de0833 sub a6,t3,a3 - 87e8: 9846 add a6,a6,a7 - 87ea: 06f86263 bltu a6,a5,884e - 87ee: 01478313 addi t1,a5,20 - 87f2: 04686263 bltu a6,t1,8836 - 87f6: 07a1 addi a5,a5,8 - 87f8: 97b6 add a5,a5,a3 - 87fa: 07c2 slli a5,a5,0x10 - 87fc: 83c1 srli a5,a5,0x10 - 87fe: 00fe8833 add a6,t4,a5 - 8802: 01181023 sh a7,0(a6) - 8806: 00d81123 sh a3,2(a6) - 880a: 00080223 sb zero,4(a6) - 880e: 4685 li a3,1 - 8810: a11e sh a5,0(a0) - 8812: a154 sb a3,4(a0) - 8814: 00085683 lhu a3,0(a6) - 8818: 00d60463 beq a2,a3,8820 - 881c: 96f6 add a3,a3,t4 - 881e: a2be sh a5,2(a3) - 8820: 00a71963 bne a4,a0,8832 - 8824: 9801a683 lw a3,-1664(gp) # 200001c0 - 8828: 4781 li a5,0 - 882a: 2350 lbu a2,4(a4) - 882c: ee01 bnez a2,8844 - 882e: c391 beqz a5,8832 - 8830: c198 sw a4,0(a1) - 8832: 0521 addi a0,a0,8 - 8834: 8082 ret - 8836: 4785 li a5,1 - 8838: a15c sb a5,4(a0) - 883a: b7dd j 8820 - 883c: 231a lhu a4,0(a4) - 883e: 4785 li a5,1 - 8840: 9776 add a4,a4,t4 - 8842: b7e5 j 882a - 8844: fee69ce3 bne a3,a4,883c - 8848: d7ed beqz a5,8832 - 884a: c194 sw a3,0(a1) - 884c: b7dd j 8832 - 884e: 86c6 mv a3,a7 - 8850: bfb5 j 87cc - -00008852 : -memp_init(): - 8852: 8281a583 lw a1,-2008(gp) # 20000068 - 8856: 82c1a683 lw a3,-2004(gp) # 2000006c - 885a: 2000c7b7 lui a5,0x2000c - 885e: 23378793 addi a5,a5,563 # 2000c233 - 8862: 2002e737 lui a4,0x2002e - 8866: 9bf1 andi a5,a5,-4 - 8868: c3470713 addi a4,a4,-972 # 2002dc34 - 886c: 01068513 addi a0,a3,16 - 8870: 0005d803 lhu a6,0(a1) - 8874: 00072023 sw zero,0(a4) - 8878: 4601 li a2,0 - 887a: 00c81863 bne a6,a2,888a - 887e: 0689 addi a3,a3,2 - 8880: 0711 addi a4,a4,4 - 8882: 0589 addi a1,a1,2 - 8884: fea696e3 bne a3,a0,8870 - 8888: 8082 ret - 888a: 00072883 lw a7,0(a4) - 888e: 0605 addi a2,a2,1 - 8890: 0642 slli a2,a2,0x10 - 8892: 0117a023 sw a7,0(a5) - 8896: 0006d883 lhu a7,0(a3) - 889a: c31c sw a5,0(a4) - 889c: 8241 srli a2,a2,0x10 - 889e: 97c6 add a5,a5,a7 - 88a0: bfe9 j 887a - -000088a2 : -memp_malloc(): - 88a2: 479d li a5,7 - 88a4: 00a7ed63 bltu a5,a0,88be - 88a8: 2002e7b7 lui a5,0x2002e - 88ac: 050a slli a0,a0,0x2 - 88ae: c3478793 addi a5,a5,-972 # 2002dc34 - 88b2: 97aa add a5,a5,a0 - 88b4: 4388 lw a0,0(a5) - 88b6: c509 beqz a0,88c0 - 88b8: 4118 lw a4,0(a0) - 88ba: c398 sw a4,0(a5) - 88bc: 8082 ret - 88be: 4501 li a0,0 - 88c0: 8082 ret - -000088c2 : -memp_free(): - 88c2: c999 beqz a1,88d8 - 88c4: 00251793 slli a5,a0,0x2 - 88c8: 2002e537 lui a0,0x2002e - 88cc: c3450513 addi a0,a0,-972 # 2002dc34 - 88d0: 953e add a0,a0,a5 - 88d2: 411c lw a5,0(a0) - 88d4: c19c sw a5,0(a1) - 88d6: c10c sw a1,0(a0) - 88d8: 8082 ret - -000088da : -netif_set_ipaddr(): - 88da: c23f72ef jal t0,4fc <__riscv_save_4> - 88de: 3198 lbu a4,1(a1) - 88e0: 219c lbu a5,0(a1) - 88e2: 84aa mv s1,a0 - 88e4: 0722 slli a4,a4,0x8 - 88e6: 8f5d or a4,a4,a5 - 88e8: 21bc lbu a5,2(a1) - 88ea: 842e mv s0,a1 - 88ec: 07c2 slli a5,a5,0x10 - 88ee: 8f5d or a4,a4,a5 - 88f0: 31bc lbu a5,3(a1) - 88f2: 07e2 slli a5,a5,0x18 - 88f4: 8fd9 or a5,a5,a4 - 88f6: 4158 lw a4,4(a0) - 88f8: 00e79f63 bne a5,a4,8916 - 88fc: 3018 lbu a4,1(s0) - 88fe: 201c lbu a5,0(s0) - 8900: 0722 slli a4,a4,0x8 - 8902: 8f5d or a4,a4,a5 - 8904: 203c lbu a5,2(s0) - 8906: 07c2 slli a5,a5,0x10 - 8908: 8f5d or a4,a4,a5 - 890a: 303c lbu a5,3(s0) - 890c: 07e2 slli a5,a5,0x18 - 890e: 8fd9 or a5,a5,a4 - 8910: c0dc sw a5,4(s1) - 8912: c1ff706f j 530 <__riscv_restore_4> - 8916: 9941a503 lw a0,-1644(gp) # 200001d4 - 891a: 4901 li s2,0 - 891c: 06400993 li s3,100 - 8920: c105 beqz a0,8940 - 8922: 4118 lw a4,0(a0) - 8924: 40dc lw a5,4(s1) - 8926: 00c52a03 lw s4,12(a0) - 892a: 04f71163 bne a4,a5,896c - 892e: 4585 li a1,1 - 8930: 5ad000ef jal ra,96dc - 8934: 00190793 addi a5,s2,1 - 8938: 0ff7f793 andi a5,a5,255 - 893c: 0329f763 bgeu s3,s2,896a - 8940: 99c1a783 lw a5,-1636(gp) # 200001dc - 8944: dfc5 beqz a5,88fc - 8946: 4398 lw a4,0(a5) - 8948: cf19 beqz a4,8966 - 894a: 40d4 lw a3,4(s1) - 894c: 00d71d63 bne a4,a3,8966 - 8950: 3014 lbu a3,1(s0) - 8952: 2018 lbu a4,0(s0) - 8954: 06a2 slli a3,a3,0x8 - 8956: 8ed9 or a3,a3,a4 - 8958: 2038 lbu a4,2(s0) - 895a: 0742 slli a4,a4,0x10 - 895c: 8ed9 or a3,a3,a4 - 895e: 3038 lbu a4,3(s0) - 8960: 0762 slli a4,a4,0x18 - 8962: 8f55 or a4,a4,a3 - 8964: c398 sw a4,0(a5) - 8966: 47dc lw a5,12(a5) - 8968: bff1 j 8944 - 896a: 893e mv s2,a5 - 896c: 8552 mv a0,s4 - 896e: bf4d j 8920 - -00008970 : -netif_set_addr(): - 8970: ba7f72ef jal t0,516 <__riscv_save_0> - 8974: 1141 addi sp,sp,-16 - 8976: c632 sw a2,12(sp) - 8978: c436 sw a3,8(sp) - 897a: 842a mv s0,a0 - 897c: f5fff0ef jal ra,88da - 8980: 4632 lw a2,12(sp) - 8982: 46a2 lw a3,8(sp) - 8984: 4781 li a5,0 - 8986: ca19 beqz a2,899c - 8988: 3218 lbu a4,1(a2) - 898a: 221c lbu a5,0(a2) - 898c: 0722 slli a4,a4,0x8 - 898e: 8f5d or a4,a4,a5 - 8990: 223c lbu a5,2(a2) - 8992: 07c2 slli a5,a5,0x10 - 8994: 8f5d or a4,a4,a5 - 8996: 323c lbu a5,3(a2) - 8998: 07e2 slli a5,a5,0x18 - 899a: 8fd9 or a5,a5,a4 - 899c: c41c sw a5,8(s0) - 899e: 4781 li a5,0 - 89a0: ca99 beqz a3,89b6 - 89a2: 3298 lbu a4,1(a3) - 89a4: 229c lbu a5,0(a3) - 89a6: 0722 slli a4,a4,0x8 - 89a8: 8f5d or a4,a4,a5 - 89aa: 22bc lbu a5,2(a3) - 89ac: 07c2 slli a5,a5,0x10 - 89ae: 8f5d or a4,a4,a5 - 89b0: 32bc lbu a5,3(a3) - 89b2: 07e2 slli a5,a5,0x18 - 89b4: 8fd9 or a5,a5,a4 - 89b6: c45c sw a5,12(s0) - 89b8: 0141 addi sp,sp,16 - 89ba: b81f706f j 53a <__riscv_restore_0> - -000089be : -netif_add(): - 89be: b59f72ef jal t0,516 <__riscv_save_0> - 89c2: cd58 sw a4,28(a0) - 89c4: 98c18713 addi a4,gp,-1652 # 200001cc - 89c8: 00074883 lbu a7,0(a4) - 89cc: 1141 addi sp,sp,-16 - 89ce: 00052223 sw zero,4(a0) - 89d2: 00052423 sw zero,8(a0) - 89d6: 00052623 sw zero,12(a0) - 89da: 02050923 sb zero,50(a0) - 89de: 02052023 sw zero,32(a0) - 89e2: 00188313 addi t1,a7,1 - 89e6: 03150aa3 sb a7,53(a0) - 89ea: 01052823 sw a6,16(a0) - 89ee: 842a mv s0,a0 - 89f0: c63e sw a5,12(sp) - 89f2: 00670023 sb t1,0(a4) - 89f6: f7bff0ef jal ra,8970 - 89fa: 47b2 lw a5,12(sp) - 89fc: 8522 mv a0,s0 - 89fe: 9782 jalr a5 - 8a00: e911 bnez a0,8a14 - 8a02: 98818793 addi a5,gp,-1656 # 200001c8 - 8a06: 4398 lw a4,0(a5) - 8a08: c018 sw a4,0(s0) - 8a0a: c380 sw s0,0(a5) - 8a0c: 8522 mv a0,s0 - 8a0e: 0141 addi sp,sp,16 - 8a10: b2bf706f j 53a <__riscv_restore_0> - 8a14: 4401 li s0,0 - 8a16: bfdd j 8a0c - -00008a18 : -netif_set_default(): - 8a18: 98a1a223 sw a0,-1660(gp) # 200001c4 - 8a1c: 8082 ret - -00008a1e : -netif_is_up(): - 8a1e: 03254503 lbu a0,50(a0) - 8a22: 8905 andi a0,a0,1 - 8a24: 8082 ret - -00008a26 : -pbuf_header(): - 8a26: 87aa mv a5,a0 - 8a28: 4501 li a0,0 - 8a2a: c5a5 beqz a1,8a92 - 8a2c: c3bd beqz a5,8a92 - 8a2e: 01059613 slli a2,a1,0x10 - 8a32: 8241 srli a2,a2,0x10 - 8a34: 8832 mv a6,a2 - 8a36: 0005db63 bgez a1,8a4c - 8a3a: 40c00833 neg a6,a2 - 8a3e: 27ba lhu a4,10(a5) - 8a40: 0842 slli a6,a6,0x10 - 8a42: 01085813 srli a6,a6,0x10 - 8a46: 4505 li a0,1 - 8a48: 05076563 bltu a4,a6,8a92 - 8a4c: 27d4 lbu a3,12(a5) - 8a4e: 43d8 lw a4,4(a5) - 8a50: c681 beqz a3,8a58 - 8a52: 450d li a0,3 - 8a54: 02a69163 bne a3,a0,8a76 - 8a58: 8f0d sub a4,a4,a1 - 8a5a: 01078693 addi a3,a5,16 - 8a5e: 4505 li a0,1 - 8a60: 02d76963 bltu a4,a3,8a92 - 8a64: c3d8 sw a4,4(a5) - 8a66: 27ba lhu a4,10(a5) - 8a68: 4501 li a0,0 - 8a6a: 9732 add a4,a4,a2 - 8a6c: a7ba sh a4,10(a5) - 8a6e: 279a lhu a4,8(a5) - 8a70: 963a add a2,a2,a4 - 8a72: a792 sh a2,8(a5) - 8a74: 8082 ret - 8a76: 16fd addi a3,a3,-1 - 8a78: 06c2 slli a3,a3,0x10 - 8a7a: 82c1 srli a3,a3,0x10 - 8a7c: 4885 li a7,1 - 8a7e: 4505 li a0,1 - 8a80: 00d8e963 bltu a7,a3,8a92 - 8a84: 0005d763 bgez a1,8a92 - 8a88: 27b6 lhu a3,10(a5) - 8a8a: 0106e463 bltu a3,a6,8a92 - 8a8e: 8f0d sub a4,a4,a1 - 8a90: bfd1 j 8a64 - 8a92: 8082 ret - -00008a94 : -pbuf_free(): - 8a94: a69f72ef jal t0,4fc <__riscv_save_4> - 8a98: 4401 li s0,0 - 8a9a: cd0d beqz a0,8ad4 - 8a9c: 85aa mv a1,a0 - 8a9e: 4401 li s0,0 - 8aa0: 490d li s2,3 - 8aa2: 4985 li s3,1 - 8aa4: 25fe lhu a5,14(a1) - 8aa6: 17fd addi a5,a5,-1 - 8aa8: 07c2 slli a5,a5,0x10 - 8aaa: 83c1 srli a5,a5,0x10 - 8aac: a5fe sh a5,14(a1) - 8aae: e39d bnez a5,8ad4 - 8ab0: 25dc lbu a5,12(a1) - 8ab2: 4184 lw s1,0(a1) - 8ab4: 451d li a0,7 - 8ab6: 01278863 beq a5,s2,8ac6 - 8aba: 17fd addi a5,a5,-1 - 8abc: 07c2 slli a5,a5,0x10 - 8abe: 83c1 srli a5,a5,0x10 - 8ac0: 00f9ed63 bltu s3,a5,8ada - 8ac4: 4519 li a0,6 - 8ac6: dfdff0ef jal ra,88c2 - 8aca: 0405 addi s0,s0,1 - 8acc: 0ff47413 andi s0,s0,255 - 8ad0: 85a6 mv a1,s1 - 8ad2: f8e9 bnez s1,8aa4 - 8ad4: 8522 mv a0,s0 - 8ad6: a5bf706f j 530 <__riscv_restore_4> - 8ada: 852e mv a0,a1 - 8adc: b59ff0ef jal ra,8634 - 8ae0: b7ed j 8aca - -00008ae2 : -pbuf_alloc(): - 8ae2: a1bf72ef jal t0,4fc <__riscv_save_4> - 8ae6: 4785 li a5,1 - 8ae8: 00f50d63 beq a0,a5,8b02 - 8aec: c531 beqz a0,8b38 - 8aee: 4789 li a5,2 - 8af0: 04f50663 beq a0,a5,8b3c - 8af4: 478d li a5,3 - 8af6: 04f50563 beq a0,a5,8b40 - 8afa: 4401 li s0,0 - 8afc: 8522 mv a0,s0 - 8afe: a33f706f j 530 <__riscv_restore_4> - 8b02: 4481 li s1,0 - 8b04: 04d1 addi s1,s1,20 - 8b06: 04b9 addi s1,s1,14 - 8b08: 04c2 slli s1,s1,0x10 - 8b0a: 80c1 srli s1,s1,0x10 - 8b0c: 4789 li a5,2 - 8b0e: 89b2 mv s3,a2 - 8b10: 892e mv s2,a1 - 8b12: 02c7e963 bltu a5,a2,8b44 - 8b16: ca79 beqz a2,8bec - 8b18: 4519 li a0,6 - 8b1a: d89ff0ef jal ra,88a2 - 8b1e: 842a mv s0,a0 - 8b20: dd69 beqz a0,8afa - 8b22: 00052223 sw zero,4(a0) - 8b26: 01251423 sh s2,8(a0) - 8b2a: 01251523 sh s2,10(a0) - 8b2e: 00052023 sw zero,0(a0) - 8b32: 01350623 sb s3,12(a0) - 8b36: a0b5 j 8ba2 - 8b38: 44d1 li s1,20 - 8b3a: b7e9 j 8b04 - 8b3c: 4481 li s1,0 - 8b3e: b7e1 j 8b06 - 8b40: 4481 li s1,0 - 8b42: b7e9 j 8b0c - 8b44: 478d li a5,3 - 8b46: 4401 li s0,0 - 8b48: faf61ae3 bne a2,a5,8afc - 8b4c: 451d li a0,7 - 8b4e: d55ff0ef jal ra,88a2 - 8b52: 842a mv s0,a0 - 8b54: d15d beqz a0,8afa - 8b56: 009507b3 add a5,a0,s1 - 8b5a: 07cd addi a5,a5,19 - 8b5c: 9bf1 andi a5,a5,-4 - 8b5e: 2002e737 lui a4,0x2002e - 8b62: c15c sw a5,4(a0) - 8b64: bd070793 addi a5,a4,-1072 # 2002dbd0 - 8b68: 43dc lw a5,4(a5) - 8b6a: 048d addi s1,s1,3 - 8b6c: 98f1 andi s1,s1,-4 - 8b6e: 03978793 addi a5,a5,57 - 8b72: 9bf1 andi a5,a5,-4 - 8b74: 01350623 sb s3,12(a0) - 8b78: 00052023 sw zero,0(a0) - 8b7c: 01251423 sh s2,8(a0) - 8b80: 409784b3 sub s1,a5,s1 - 8b84: bd070993 addi s3,a4,-1072 - 8b88: 00997363 bgeu s2,s1,8b8e - 8b8c: 84ca mv s1,s2 - 8b8e: 4785 li a5,1 - 8b90: a426 sh s1,10(s0) - 8b92: a47e sh a5,14(s0) - 8b94: 409904b3 sub s1,s2,s1 - 8b98: 4a0d li s4,3 - 8b9a: 8922 mv s2,s0 - 8b9c: 4a85 li s5,1 - 8b9e: 00904763 bgtz s1,8bac - 8ba2: 4785 li a5,1 - 8ba4: a47e sh a5,14(s0) - 8ba6: 000406a3 sb zero,13(s0) - 8baa: bf89 j 8afc - 8bac: 451d li a0,7 - 8bae: cf5ff0ef jal ra,88a2 - 8bb2: e509 bnez a0,8bbc - 8bb4: 8522 mv a0,s0 - 8bb6: edfff0ef jal ra,8a94 - 8bba: b781 j 8afa - 8bbc: 0049a783 lw a5,4(s3) - 8bc0: 01451623 sh s4,12(a0) - 8bc4: 00052023 sw zero,0(a0) - 8bc8: 00a92023 sw a0,0(s2) - 8bcc: 03978793 addi a5,a5,57 - 8bd0: a506 sh s1,8(a0) - 8bd2: 9bf1 andi a5,a5,-4 - 8bd4: 00f4f363 bgeu s1,a5,8bda - 8bd8: 87a6 mv a5,s1 - 8bda: 01050713 addi a4,a0,16 - 8bde: a53e sh a5,10(a0) - 8be0: c158 sw a4,4(a0) - 8be2: 01551723 sh s5,14(a0) - 8be6: 8c9d sub s1,s1,a5 - 8be8: 892a mv s2,a0 - 8bea: bf55 j 8b9e - 8bec: 00358793 addi a5,a1,3 - 8bf0: 01348513 addi a0,s1,19 - 8bf4: 9bf1 andi a5,a5,-4 - 8bf6: 9971 andi a0,a0,-4 - 8bf8: 953e add a0,a0,a5 - 8bfa: 0542 slli a0,a0,0x10 - 8bfc: 8141 srli a0,a0,0x10 - 8bfe: b85ff0ef jal ra,8782 - 8c02: 842a mv s0,a0 - 8c04: ee050be3 beqz a0,8afa - 8c08: 94aa add s1,s1,a0 - 8c0a: 04cd addi s1,s1,19 - 8c0c: 98f1 andi s1,s1,-4 - 8c0e: c144 sw s1,4(a0) - 8c10: 01251423 sh s2,8(a0) - 8c14: 01251523 sh s2,10(a0) - 8c18: 00052023 sw zero,0(a0) - 8c1c: 00050623 sb zero,12(a0) - 8c20: b749 j 8ba2 - -00008c22 : -pbuf_realloc(): - 8c22: 251e lhu a5,8(a0) - 8c24: 04f5fa63 bgeu a1,a5,8c78 - 8c28: 8eff72ef jal t0,516 <__riscv_save_0> - 8c2c: 842a mv s0,a0 - 8c2e: 84ae mv s1,a1 - 8c30: 40f587b3 sub a5,a1,a5 - 8c34: 242e lhu a1,10(s0) - 8c36: 0295e963 bltu a1,s1,8c68 - 8c3a: 245c lbu a5,12(s0) - 8c3c: ef81 bnez a5,8c54 - 8c3e: 00958b63 beq a1,s1,8c54 - 8c42: 404c lw a1,4(s0) - 8c44: 8522 mv a0,s0 - 8c46: 8d81 sub a1,a1,s0 - 8c48: 95a6 add a1,a1,s1 - 8c4a: 05c2 slli a1,a1,0x10 - 8c4c: 81c1 srli a1,a1,0x10 - 8c4e: a6bff0ef jal ra,86b8 - 8c52: 842a mv s0,a0 - 8c54: 4008 lw a0,0(s0) - 8c56: a426 sh s1,10(s0) - 8c58: a406 sh s1,8(s0) - 8c5a: c119 beqz a0,8c60 - 8c5c: e39ff0ef jal ra,8a94 - 8c60: 00042023 sw zero,0(s0) - 8c64: 8d7f706f j 53a <__riscv_restore_0> - 8c68: 241a lhu a4,8(s0) - 8c6a: 8c8d sub s1,s1,a1 - 8c6c: 04c2 slli s1,s1,0x10 - 8c6e: 973e add a4,a4,a5 - 8c70: a41a sh a4,8(s0) - 8c72: 80c1 srli s1,s1,0x10 - 8c74: 4000 lw s0,0(s0) - 8c76: bf7d j 8c34 - 8c78: 8082 ret - -00008c7a : -pbuf_clen(): - 8c7a: 4781 li a5,0 - 8c7c: e119 bnez a0,8c82 - 8c7e: 853e mv a0,a5 - 8c80: 8082 ret - 8c82: 0785 addi a5,a5,1 - 8c84: 0ff7f793 andi a5,a5,255 - 8c88: 4108 lw a0,0(a0) - 8c8a: bfcd j 8c7c - -00008c8c : -pbuf_ref(): - 8c8c: c501 beqz a0,8c94 - 8c8e: 257e lhu a5,14(a0) - 8c90: 0785 addi a5,a5,1 - 8c92: a57e sh a5,14(a0) - 8c94: 8082 ret - -00008c96 : -pbuf_cat(): - 8c96: cd09 beqz a0,8cb0 - 8c98: e199 bnez a1,8c9e - 8c9a: 8082 ret - 8c9c: 853a mv a0,a4 - 8c9e: 259e lhu a5,8(a1) - 8ca0: 2516 lhu a3,8(a0) - 8ca2: 4118 lw a4,0(a0) - 8ca4: 97b6 add a5,a5,a3 - 8ca6: 07c2 slli a5,a5,0x10 - 8ca8: 83c1 srli a5,a5,0x10 - 8caa: a51e sh a5,8(a0) - 8cac: fb65 bnez a4,8c9c - 8cae: c10c sw a1,0(a0) - 8cb0: 8082 ret - -00008cb2 : -pbuf_chain(): - 8cb2: 865f72ef jal t0,516 <__riscv_save_0> - 8cb6: 842e mv s0,a1 - 8cb8: fdfff0ef jal ra,8c96 - 8cbc: 8522 mv a0,s0 - 8cbe: fcfff0ef jal ra,8c8c - 8cc2: 879f706f j 53a <__riscv_restore_0> - -00008cc6 : -pbuf_copy(): - 8cc6: cd3d beqz a0,8d44 - 8cc8: 835f72ef jal t0,4fc <__riscv_save_4> - 8ccc: 842a mv s0,a0 - 8cce: 84ae mv s1,a1 - 8cd0: 5559 li a0,-10 - 8cd2: c5ad beqz a1,8d3c - 8cd4: 241a lhu a4,8(s0) - 8cd6: 259e lhu a5,8(a1) - 8cd8: 06f76263 bltu a4,a5,8d3c - 8cdc: 4901 li s2,0 - 8cde: 4a01 li s4,0 - 8ce0: 00a45983 lhu s3,10(s0) - 8ce4: 24be lhu a5,10(s1) - 8ce6: 414989b3 sub s3,s3,s4 - 8cea: 412787b3 sub a5,a5,s2 - 8cee: 04f9c963 blt s3,a5,8d40 - 8cf2: 01079993 slli s3,a5,0x10 - 8cf6: 4048 lw a0,4(s0) - 8cf8: 40cc lw a1,4(s1) - 8cfa: 0109d993 srli s3,s3,0x10 - 8cfe: 9552 add a0,a0,s4 - 8d00: 95ca add a1,a1,s2 - 8d02: 864e mv a2,s3 - 8d04: 1cc040ef jal ra,ced0 - 8d08: 9a4e add s4,s4,s3 - 8d0a: 243e lhu a5,10(s0) - 8d0c: 0a42 slli s4,s4,0x10 - 8d0e: 994e add s2,s2,s3 - 8d10: 0942 slli s2,s2,0x10 - 8d12: 010a5a13 srli s4,s4,0x10 - 8d16: 01095913 srli s2,s2,0x10 - 8d1a: 01479463 bne a5,s4,8d22 - 8d1e: 4000 lw s0,0(s0) - 8d20: 4a01 li s4,0 - 8d22: 24be lhu a5,10(s1) - 8d24: 00f96563 bltu s2,a5,8d2e - 8d28: 4084 lw s1,0(s1) - 8d2a: cc99 beqz s1,8d48 - 8d2c: 4901 li s2,0 - 8d2e: 24ba lhu a4,10(s1) - 8d30: 249e lhu a5,8(s1) - 8d32: 02f71663 bne a4,a5,8d5e - 8d36: 409c lw a5,0(s1) - 8d38: c39d beqz a5,8d5e - 8d3a: 555d li a0,-9 - 8d3c: ff4f706f j 530 <__riscv_restore_4> - 8d40: 09c2 slli s3,s3,0x10 - 8d42: bf55 j 8cf6 - 8d44: 5559 li a0,-10 - 8d46: 8082 ret - 8d48: c809 beqz s0,8d5a - 8d4a: 4901 li s2,0 - 8d4c: 243a lhu a4,10(s0) - 8d4e: 241e lhu a5,8(s0) - 8d50: 00f71463 bne a4,a5,8d58 - 8d54: 401c lw a5,0(s0) - 8d56: f3f5 bnez a5,8d3a - 8d58: f4c1 bnez s1,8ce0 - 8d5a: 4501 li a0,0 - 8d5c: b7c5 j 8d3c - 8d5e: f47d bnez s0,8d4c - 8d60: b741 j 8ce0 - -00008d62 : -raw_input(): - 8d62: f9af72ef jal t0,4fc <__riscv_save_4> - 8d66: 00452903 lw s2,4(a0) - 8d6a: 89aa mv s3,a0 - 8d6c: 00994783 lbu a5,9(s2) - 8d70: 00894503 lbu a0,8(s2) - 8d74: 4a01 li s4,0 - 8d76: 07a2 slli a5,a5,0x8 - 8d78: 8d5d or a0,a0,a5 - 8d7a: 939fe0ef jal ra,76b2 - 8d7e: 0ff57a93 andi s5,a0,255 - 8d82: 9901a403 lw s0,-1648(gp) # 200001d0 - 8d86: 0931 addi s2,s2,12 - 8d88: 99018493 addi s1,gp,-1648 # 200001d0 - 8d8c: e401 bnez s0,8d94 - 8d8e: 4501 li a0,0 - 8d90: fa0f706f j 530 <__riscv_restore_4> - 8d94: 281c lbu a5,16(s0) - 8d96: 4501 li a0,0 - 8d98: 03579463 bne a5,s5,8dc0 - 8d9c: 485c lw a5,20(s0) - 8d9e: c38d beqz a5,8dc0 - 8da0: 4c08 lw a0,24(s0) - 8da2: 86ca mv a3,s2 - 8da4: 864e mv a2,s3 - 8da6: 85a2 mv a1,s0 - 8da8: 9782 jalr a5 - 8daa: c919 beqz a0,8dc0 - 8dac: 000a0863 beqz s4,8dbc - 8db0: 445c lw a5,12(s0) - 8db2: 00fa2623 sw a5,12(s4) - 8db6: 409c lw a5,0(s1) - 8db8: c080 sw s0,0(s1) - 8dba: c45c sw a5,12(s0) - 8dbc: 4505 li a0,1 - 8dbe: 4981 li s3,0 - 8dc0: 445c lw a5,12(s0) - 8dc2: 8a22 mv s4,s0 - 8dc4: f571 bnez a0,8d90 - 8dc6: 843e mv s0,a5 - 8dc8: b7d1 j 8d8c - -00008dca : -raw_bind(): - 8dca: 4781 li a5,0 - 8dcc: c999 beqz a1,8de2 - 8dce: 3198 lbu a4,1(a1) - 8dd0: 219c lbu a5,0(a1) - 8dd2: 0722 slli a4,a4,0x8 - 8dd4: 8f5d or a4,a4,a5 - 8dd6: 21bc lbu a5,2(a1) - 8dd8: 07c2 slli a5,a5,0x10 - 8dda: 8f5d or a4,a4,a5 - 8ddc: 31bc lbu a5,3(a1) - 8dde: 07e2 slli a5,a5,0x18 - 8de0: 8fd9 or a5,a5,a4 - 8de2: c11c sw a5,0(a0) - 8de4: 4501 li a0,0 - 8de6: 8082 ret - -00008de8 : -raw_connect(): - 8de8: 4781 li a5,0 - 8dea: c999 beqz a1,8e00 - 8dec: 3198 lbu a4,1(a1) - 8dee: 219c lbu a5,0(a1) - 8df0: 0722 slli a4,a4,0x8 - 8df2: 8f5d or a4,a4,a5 - 8df4: 21bc lbu a5,2(a1) - 8df6: 07c2 slli a5,a5,0x10 - 8df8: 8f5d or a4,a4,a5 - 8dfa: 31bc lbu a5,3(a1) - 8dfc: 07e2 slli a5,a5,0x18 - 8dfe: 8fd9 or a5,a5,a4 - 8e00: c15c sw a5,4(a0) - 8e02: 4501 li a0,0 - 8e04: 8082 ret - -00008e06 : -raw_recv(): - 8e06: c94c sw a1,20(a0) - 8e08: cd10 sw a2,24(a0) - 8e0a: 8082 ret - -00008e0c : -raw_sendto(): - 8e0c: ef0f72ef jal t0,4fc <__riscv_save_4> - 8e10: 84ae mv s1,a1 - 8e12: 892a mv s2,a0 - 8e14: 45d1 li a1,20 - 8e16: 8526 mv a0,s1 - 8e18: 89b2 mv s3,a2 - 8e1a: c0dff0ef jal ra,8a26 - 8e1e: c915 beqz a0,8e52 - 8e20: 4601 li a2,0 - 8e22: 4581 li a1,0 - 8e24: 4505 li a0,1 - 8e26: cbdff0ef jal ra,8ae2 - 8e2a: 842a mv s0,a0 - 8e2c: e509 bnez a0,8e36 - 8e2e: 597d li s2,-1 - 8e30: 854a mv a0,s2 - 8e32: efef706f j 530 <__riscv_restore_4> - 8e36: 85a6 mv a1,s1 - 8e38: e7bff0ef jal ra,8cb2 - 8e3c: 854e mv a0,s3 - 8e3e: 8b3fe0ef jal ra,76f0 - 8e42: ed19 bnez a0,8e60 - 8e44: 5971 li s2,-4 - 8e46: fe9405e3 beq s0,s1,8e30 - 8e4a: 8522 mv a0,s0 - 8e4c: c49ff0ef jal ra,8a94 - 8e50: b7c5 j 8e30 - 8e52: 55b1 li a1,-20 - 8e54: 8526 mv a0,s1 - 8e56: bd1ff0ef jal ra,8a26 - 8e5a: f971 bnez a0,8e2e - 8e5c: 8426 mv s0,s1 - 8e5e: bff9 j 8e3c - 8e60: 85ca mv a1,s2 - 8e62: 00090563 beqz s2,8e6c - 8e66: 00092783 lw a5,0(s2) - 8e6a: e399 bnez a5,8e70 - 8e6c: 00450593 addi a1,a0,4 - 8e70: 01094783 lbu a5,16(s2) - 8e74: 00a94703 lbu a4,10(s2) - 8e78: 00b94683 lbu a3,11(s2) - 8e7c: 882a mv a6,a0 - 8e7e: 864e mv a2,s3 - 8e80: 8522 mv a0,s0 - 8e82: b55fe0ef jal ra,79d6 - 8e86: 892a mv s2,a0 - 8e88: bf7d j 8e46 - -00008e8a : -raw_send(): - 8e8a: e8cf72ef jal t0,516 <__riscv_save_0> - 8e8e: 00450613 addi a2,a0,4 - 8e92: f7bff0ef jal ra,8e0c - 8e96: ea4f706f j 53a <__riscv_restore_0> - -00008e9a : -raw_remove(): - 8e9a: e7cf72ef jal t0,516 <__riscv_save_0> - 8e9e: 99018713 addi a4,gp,-1648 # 200001d0 - 8ea2: 431c lw a5,0(a4) - 8ea4: 85aa mv a1,a0 - 8ea6: 02a79063 bne a5,a0,8ec6 - 8eaa: 455c lw a5,12(a0) - 8eac: c31c sw a5,0(a4) - 8eae: 4501 li a0,0 - 8eb0: a13ff0ef jal ra,88c2 - 8eb4: e86f706f j 53a <__riscv_restore_0> - 8eb8: 47d8 lw a4,12(a5) - 8eba: c709 beqz a4,8ec4 - 8ebc: 00b71463 bne a4,a1,8ec4 - 8ec0: 45d8 lw a4,12(a1) - 8ec2: c7d8 sw a4,12(a5) - 8ec4: 47dc lw a5,12(a5) - 8ec6: fbed bnez a5,8eb8 - 8ec8: b7dd j 8eae - -00008eca : -raw_new(): - 8eca: e4cf72ef jal t0,516 <__riscv_save_0> - 8ece: 84aa mv s1,a0 - 8ed0: 4501 li a0,0 - 8ed2: 9d1ff0ef jal ra,88a2 - 8ed6: 842a mv s0,a0 - 8ed8: cd11 beqz a0,8ef4 - 8eda: 4671 li a2,28 - 8edc: 4581 li a1,0 - 8ede: e68f70ef jal ra,546 - 8ee2: f8000793 li a5,-128 - 8ee6: b43c sb a5,11(s0) - 8ee8: 99018793 addi a5,gp,-1648 # 200001d0 - 8eec: 4398 lw a4,0(a5) - 8eee: a804 sb s1,16(s0) - 8ef0: c380 sw s0,0(a5) - 8ef2: c458 sw a4,12(s0) - 8ef4: 8522 mv a0,s0 - 8ef6: e44f706f j 53a <__riscv_restore_0> - -00008efa : -tcp_new_port(): - 8efa: 9941a683 lw a3,-1644(gp) # 200001d4 - 8efe: 9ac1a603 lw a2,-1620(gp) # 200001ec - 8f02: 99c1a583 lw a1,-1636(gp) # 200001dc - 8f06: 8341d503 lhu a0,-1996(gp) # 20000074 - 8f0a: 83418793 addi a5,gp,-1996 # 20000074 - 8f0e: 00150713 addi a4,a0,1 - 8f12: 01071513 slli a0,a4,0x10 - 8f16: 01071813 slli a6,a4,0x10 - 8f1a: 8141 srli a0,a0,0x10 - 8f1c: 00085363 bgez a6,8f22 - 8f20: 6505 lui a0,0x1 - 8f22: 8736 mv a4,a3 - 8f24: e719 bnez a4,8f32 - 8f26: 8732 mv a4,a2 - 8f28: eb19 bnez a4,8f3e - 8f2a: 872e mv a4,a1 - 8f2c: ef19 bnez a4,8f4a - 8f2e: a38a sh a0,0(a5) - 8f30: 8082 ret - 8f32: 01c75803 lhu a6,28(a4) - 8f36: fca80ce3 beq a6,a0,8f0e - 8f3a: 4758 lw a4,12(a4) - 8f3c: b7e5 j 8f24 - 8f3e: 01c75803 lhu a6,28(a4) - 8f42: fca806e3 beq a6,a0,8f0e - 8f46: 4758 lw a4,12(a4) - 8f48: b7c5 j 8f28 - 8f4a: 01c75803 lhu a6,28(a4) - 8f4e: fca800e3 beq a6,a0,8f0e - 8f52: 4758 lw a4,12(a4) - 8f54: bfe1 j 8f2c - -00008f56 : -tcp_bind(): - 8f56: 491c lw a5,16(a0) - 8f58: 10079663 bnez a5,9064 - 8f5c: da0f72ef jal t0,4fc <__riscv_save_4> - 8f60: 1141 addi sp,sp,-16 - 8f62: 84aa mv s1,a0 - 8f64: 8432 mv s0,a2 - 8f66: e611 bnez a2,8f72 - 8f68: c62e sw a1,12(sp) - 8f6a: f91ff0ef jal ra,8efa - 8f6e: 45b2 lw a1,12(sp) - 8f70: 842a mv s0,a0 - 8f72: 99c1a703 lw a4,-1636(gp) # 200001dc - 8f76: e731 bnez a4,8fc2 - 8f78: 9941a703 lw a4,-1644(gp) # 200001d4 - 8f7c: eb25 bnez a4,8fec - 8f7e: 9981a983 lw s3,-1640(gp) # 200001d8 - 8f82: 99818913 addi s2,gp,-1640 # 200001d8 - 8f86: 874e mv a4,s3 - 8f88: e759 bnez a4,9016 - 8f8a: 9ac1a783 lw a5,-1620(gp) # 200001ec - 8f8e: ebcd bnez a5,9040 - 8f90: c185 beqz a1,8fb0 - 8f92: 3198 lbu a4,1(a1) - 8f94: 219c lbu a5,0(a1) - 8f96: 0722 slli a4,a4,0x8 - 8f98: 8f5d or a4,a4,a5 - 8f9a: 21bc lbu a5,2(a1) - 8f9c: 07c2 slli a5,a5,0x10 - 8f9e: 8f5d or a4,a4,a5 - 8fa0: 31bc lbu a5,3(a1) - 8fa2: 07e2 slli a5,a5,0x18 - 8fa4: 8fd9 or a5,a5,a4 - 8fa6: c789 beqz a5,8fb0 - 8fa8: 4611 li a2,4 - 8faa: 8526 mv a0,s1 - 8fac: 725030ef jal ra,ced0 - 8fb0: acc2 sh s0,28(s1) - 8fb2: 0134a623 sw s3,12(s1) - 8fb6: 00992023 sw s1,0(s2) - 8fba: 4501 li a0,0 - 8fbc: 0141 addi sp,sp,16 - 8fbe: d72f706f j 530 <__riscv_restore_4> - 8fc2: 2f5e lhu a5,28(a4) - 8fc4: 02879263 bne a5,s0,8fe8 - 8fc8: 4310 lw a2,0(a4) - 8fca: ce59 beqz a2,9068 - 8fcc: cdd1 beqz a1,9068 - 8fce: 3194 lbu a3,1(a1) - 8fd0: 219c lbu a5,0(a1) - 8fd2: 06a2 slli a3,a3,0x8 - 8fd4: 8edd or a3,a3,a5 - 8fd6: 21bc lbu a5,2(a1) - 8fd8: 07c2 slli a5,a5,0x10 - 8fda: 8edd or a3,a3,a5 - 8fdc: 31bc lbu a5,3(a1) - 8fde: 07e2 slli a5,a5,0x18 - 8fe0: 8fd5 or a5,a5,a3 - 8fe2: c3d9 beqz a5,9068 - 8fe4: 08f60263 beq a2,a5,9068 - 8fe8: 4758 lw a4,12(a4) - 8fea: b771 j 8f76 - 8fec: 2f5e lhu a5,28(a4) - 8fee: 02879263 bne a5,s0,9012 - 8ff2: 4310 lw a2,0(a4) - 8ff4: ca35 beqz a2,9068 - 8ff6: c9ad beqz a1,9068 - 8ff8: 3194 lbu a3,1(a1) - 8ffa: 219c lbu a5,0(a1) - 8ffc: 06a2 slli a3,a3,0x8 - 8ffe: 8edd or a3,a3,a5 - 9000: 21bc lbu a5,2(a1) - 9002: 07c2 slli a5,a5,0x10 - 9004: 8edd or a3,a3,a5 - 9006: 31bc lbu a5,3(a1) - 9008: 07e2 slli a5,a5,0x18 - 900a: 8fd5 or a5,a5,a3 - 900c: cfb1 beqz a5,9068 - 900e: 04f60d63 beq a2,a5,9068 - 9012: 4758 lw a4,12(a4) - 9014: b7a5 j 8f7c - 9016: 2f5e lhu a5,28(a4) - 9018: 02879263 bne a5,s0,903c - 901c: 4310 lw a2,0(a4) - 901e: c629 beqz a2,9068 - 9020: c5a1 beqz a1,9068 - 9022: 3194 lbu a3,1(a1) - 9024: 219c lbu a5,0(a1) - 9026: 06a2 slli a3,a3,0x8 - 9028: 8edd or a3,a3,a5 - 902a: 21bc lbu a5,2(a1) - 902c: 07c2 slli a5,a5,0x10 - 902e: 8edd or a3,a3,a5 - 9030: 31bc lbu a5,3(a1) - 9032: 07e2 slli a5,a5,0x18 - 9034: 8fd5 or a5,a5,a3 - 9036: cb8d beqz a5,9068 - 9038: 02f60863 beq a2,a5,9068 - 903c: 4758 lw a4,12(a4) - 903e: b7a9 j 8f88 - 9040: 2fda lhu a4,28(a5) - 9042: 00871f63 bne a4,s0,9060 - 9046: 3194 lbu a3,1(a1) - 9048: 2198 lbu a4,0(a1) - 904a: 06a2 slli a3,a3,0x8 - 904c: 8ed9 or a3,a3,a4 - 904e: 21b8 lbu a4,2(a1) - 9050: 0742 slli a4,a4,0x10 - 9052: 8ed9 or a3,a3,a4 - 9054: 31b8 lbu a4,3(a1) - 9056: 0762 slli a4,a4,0x18 - 9058: 8f55 or a4,a4,a3 - 905a: 4394 lw a3,0(a5) - 905c: 00e68663 beq a3,a4,9068 - 9060: 47dc lw a5,12(a5) - 9062: b735 j 8f8e - 9064: 554d li a0,-13 - 9066: 8082 ret - 9068: 5555 li a0,-11 - 906a: bf89 j 8fbc - -0000906c : -tcp_update_rcv_ann_wnd(): - 906c: 87aa mv a5,a0 - 906e: 02c55803 lhu a6,44(a0) # 102c - 9072: 5914 lw a3,48(a0) - 9074: 3bd2 lhu a2,52(a5) - 9076: 550c lw a1,40(a0) - 9078: 0407d883 lhu a7,64(a5) - 907c: 40d80533 sub a0,a6,a3 - 9080: 8205 srli a2,a2,0x1 - 9082: 952e add a0,a0,a1 - 9084: 8732 mv a4,a2 - 9086: 00c8f363 bgeu a7,a2,908c - 908a: 8746 mv a4,a7 - 908c: 0742 slli a4,a4,0x10 - 908e: 8341 srli a4,a4,0x10 - 9090: 40e50733 sub a4,a0,a4 - 9094: 00074563 bltz a4,909e - 9098: 03079723 sh a6,46(a5) - 909c: 8082 ret - 909e: 40d58733 sub a4,a1,a3 - 90a2: 00e05663 blez a4,90ae - 90a6: 02079723 sh zero,46(a5) - 90aa: 4501 li a0,0 - 90ac: 8082 ret - 90ae: 8e8d sub a3,a3,a1 - 90b0: b7f6 sh a3,46(a5) - 90b2: bfe5 j 90aa - -000090b4 : -tcp_recved(): - 90b4: c62f72ef jal t0,516 <__riscv_save_0> - 90b8: 355e lhu a5,44(a0) - 90ba: 842a mv s0,a0 - 90bc: 95be add a1,a1,a5 - 90be: 05c2 slli a1,a1,0x10 - 90c0: 395e lhu a5,52(a0) - 90c2: 81c1 srli a1,a1,0x10 - 90c4: b54e sh a1,44(a0) - 90c6: 00b7f363 bgeu a5,a1,90cc - 90ca: b55e sh a5,44(a0) - 90cc: 8522 mv a0,s0 - 90ce: f9fff0ef jal ra,906c - 90d2: 385e lhu a5,52(s0) - 90d4: 8389 srli a5,a5,0x2 - 90d6: 00f54b63 blt a0,a5,90ec - 90da: 02644783 lbu a5,38(s0) - 90de: 8522 mv a0,s0 - 90e0: 0027e793 ori a5,a5,2 - 90e4: 02f40323 sb a5,38(s0) - 90e8: 3e2020ef jal ra,b4ca - 90ec: c4ef706f j 53a <__riscv_restore_0> - -000090f0 : -tcp_seg_free(): - 90f0: c26f72ef jal t0,516 <__riscv_save_0> - 90f4: 1141 addi sp,sp,-16 - 90f6: 4401 li s0,0 - 90f8: cd09 beqz a0,9112 - 90fa: 85aa mv a1,a0 - 90fc: 4148 lw a0,4(a0) - 90fe: 4401 li s0,0 - 9100: c511 beqz a0,910c - 9102: c62e sw a1,12(sp) - 9104: 991ff0ef jal ra,8a94 - 9108: 45b2 lw a1,12(sp) - 910a: 842a mv s0,a0 - 910c: 4511 li a0,4 - 910e: fb4ff0ef jal ra,88c2 - 9112: 8522 mv a0,s0 - 9114: 0141 addi sp,sp,16 - 9116: c24f706f j 53a <__riscv_restore_0> - -0000911a : -tcp_segs_free(): - 911a: bfcf72ef jal t0,516 <__riscv_save_0> - 911e: 4401 li s0,0 - 9120: e501 bnez a0,9128 - 9122: 8522 mv a0,s0 - 9124: c16f706f j 53a <__riscv_restore_0> - 9128: 4104 lw s1,0(a0) - 912a: fc7ff0ef jal ra,90f0 - 912e: 942a add s0,s0,a0 - 9130: 0ff47413 andi s0,s0,255 - 9134: 8526 mv a0,s1 - 9136: b7ed j 9120 - -00009138 : -tcp_seg_copy(): - 9138: bdef72ef jal t0,516 <__riscv_save_0> - 913c: 1141 addi sp,sp,-16 - 913e: c62a sw a0,12(sp) - 9140: 4511 li a0,4 - 9142: f60ff0ef jal ra,88a2 - 9146: 842a mv s0,a0 - 9148: c901 beqz a0,9158 - 914a: 45b2 lw a1,12(sp) - 914c: 4651 li a2,20 - 914e: 583030ef jal ra,ced0 - 9152: 4048 lw a0,4(s0) - 9154: b39ff0ef jal ra,8c8c - 9158: 8522 mv a0,s0 - 915a: 0141 addi sp,sp,16 - 915c: bdef706f j 53a <__riscv_restore_0> - -00009160 : -tcp_arg(): - 9160: cd0c sw a1,24(a0) - 9162: 8082 ret - -00009164 : -tcp_recv(): - 9164: 08b52823 sw a1,144(a0) - 9168: 8082 ret - -0000916a : -tcp_sent(): - 916a: 08b52623 sw a1,140(a0) - 916e: 8082 ret - -00009170 : -tcp_err(): - 9170: 08b52e23 sw a1,156(a0) - 9174: 8082 ret - -00009176 : -tcp_poll(): - 9176: 08b52c23 sw a1,152(a0) - 917a: 02c50ea3 sb a2,61(a0) - 917e: 8082 ret - -00009180 : -tcp_pcb_purge(): - 9180: 491c lw a5,16(a0) - 9182: 4705 li a4,1 - 9184: 04f77463 bgeu a4,a5,91cc - 9188: 4729 li a4,10 - 918a: 04e78163 beq a5,a4,91cc - 918e: b88f72ef jal t0,516 <__riscv_save_0> - 9192: 842a mv s0,a0 - 9194: 08852503 lw a0,136(a0) - 9198: c509 beqz a0,91a2 - 919a: 8fbff0ef jal ra,8a94 - 919e: 08042423 sw zero,136(s0) - 91a2: 08442503 lw a0,132(s0) - 91a6: 57fd li a5,-1 - 91a8: bc7e sh a5,62(s0) - 91aa: f71ff0ef jal ra,911a - 91ae: 5c68 lw a0,124(s0) - 91b0: 08042223 sw zero,132(s0) - 91b4: f67ff0ef jal ra,911a - 91b8: 08042503 lw a0,128(s0) - 91bc: f5fff0ef jal ra,911a - 91c0: 06042e23 sw zero,124(s0) - 91c4: 08042023 sw zero,128(s0) - 91c8: b72f706f j 53a <__riscv_restore_0> - 91cc: 8082 ret - -000091ce : -tcp_slowtmr(): - 91ce: b18f72ef jal t0,4e6 <__riscv_save_12> - 91d2: 2002e4b7 lui s1,0x2002e - 91d6: b8c48793 addi a5,s1,-1140 # 2002db8c - 91da: 9a018713 addi a4,gp,-1632 # 200001e0 - 91de: 0187cc03 lbu s8,24(a5) - 91e2: 431c lw a5,0(a4) - 91e4: 6ab5 lui s5,0xd - 91e6: 0785 addi a5,a5,1 - 91e8: 9941ad03 lw s10,-1644(gp) # 200001d4 - 91ec: c31c sw a5,0(a4) - 91ee: 06600913 li s2,102 - 91f2: 4a01 li s4,0 - 91f4: b8c48493 addi s1,s1,-1140 - 91f8: 9a018413 addi s0,gp,-1632 # 200001e0 - 91fc: 99418993 addi s3,gp,-1644 # 200001d4 - 9200: 4c8d li s9,3 - 9202: 3dca8a93 addi s5,s5,988 # d3dc - 9206: 85418b13 addi s6,gp,-1964 # 20000094 - 920a: 000d1a63 bnez s10,921e - 920e: 9ac1a403 lw s0,-1620(gp) # 200001ec - 9212: 9ac18493 addi s1,gp,-1620 # 200001ec - 9216: 24041963 bnez s0,9468 - 921a: b08f706f j 522 <__riscv_restore_12> - 921e: 197d addi s2,s2,-1 - 9220: 0ff97913 andi s2,s2,255 - 9224: fe090be3 beqz s2,921a - 9228: 052d4603 lbu a2,82(s10) - 922c: 010d2683 lw a3,16(s10) - 9230: 4d85 li s11,1 - 9232: 02cc0263 beq s8,a2,9256 - 9236: 0b0d4d83 lbu s11,176(s10) - 923a: 100d8463 beqz s11,9342 - 923e: 0acd2703 lw a4,172(s10) - 9242: 01bb06b3 add a3,s6,s11 - 9246: fff6c683 lbu a3,-1(a3) - 924a: 0705 addi a4,a4,1 - 924c: 0aed2623 sw a4,172(s10) - 9250: 0cd77c63 bgeu a4,a3,9328 - 9254: 4d81 li s11,0 - 9256: 010d2703 lw a4,16(s10) - 925a: 4699 li a3,6 - 925c: 00d71d63 bne a4,a3,9276 - 9260: 038d2603 lw a2,56(s10) - 9264: 4014 lw a3,0(s0) - 9266: 8e91 sub a3,a3,a2 - 9268: 4c90 lw a2,24(s1) - 926a: 00d67663 bgeu a2,a3,9276 - 926e: 001d8793 addi a5,s11,1 - 9272: 0ff7fd93 andi s11,a5,255 - 9276: 008d5683 lhu a3,8(s10) - 927a: 4b81 li s7,0 - 927c: 8aa1 andi a3,a3,8 - 927e: ce95 beqz a3,92ba - 9280: 4691 li a3,4 - 9282: 00d70563 beq a4,a3,928c - 9286: 469d li a3,7 - 9288: 02d71963 bne a4,a3,92ba - 928c: 0a4d2883 lw a7,164(s10) - 9290: 0a8d2683 lw a3,168(s10) - 9294: 0a0d2503 lw a0,160(s10) - 9298: 4ccc lw a1,28(s1) - 929a: 02d886b3 mul a3,a7,a3 - 929e: 4010 lw a2,0(s0) - 92a0: 038d2703 lw a4,56(s10) - 92a4: 8e19 sub a2,a2,a4 - 92a6: 96aa add a3,a3,a0 - 92a8: 02b6d6b3 divu a3,a3,a1 - 92ac: 10c6fc63 bgeu a3,a2,93c4 - 92b0: 001d8793 addi a5,s11,1 - 92b4: 0ff7fd93 andi s11,a5,255 - 92b8: 4b85 li s7,1 - 92ba: 084d2503 lw a0,132(s10) - 92be: c105 beqz a0,92de - 92c0: 038d2703 lw a4,56(s10) - 92c4: 4014 lw a3,0(s0) - 92c6: 4619 li a2,6 - 92c8: 8e99 sub a3,a3,a4 - 92ca: 050d1703 lh a4,80(s10) - 92ce: 02c70733 mul a4,a4,a2 - 92d2: 00e6e663 bltu a3,a4,92de - 92d6: e45ff0ef jal ra,911a - 92da: 080d2223 sw zero,132(s10) - 92de: 010d2703 lw a4,16(s10) - 92e2: 11971463 bne a4,s9,93ea - 92e6: 038d2683 lw a3,56(s10) - 92ea: 4018 lw a4,0(s0) - 92ec: 8f15 sub a4,a4,a3 - 92ee: 4c94 lw a3,24(s1) - 92f0: 10e6e863 bltu a3,a4,9400 - 92f4: 100d9663 bnez s11,9400 - 92f8: 03cd4783 lbu a5,60(s10) - 92fc: 03dd4703 lbu a4,61(s10) - 9300: 0785 addi a5,a5,1 - 9302: 0ff7f793 andi a5,a5,255 - 9306: 02fd0e23 sb a5,60(s10) - 930a: 00e7eb63 bltu a5,a4,9320 - 930e: 098d2783 lw a5,152(s10) - 9312: 020d0e23 sb zero,60(s10) - 9316: 14079263 bnez a5,945a - 931a: 856a mv a0,s10 - 931c: 1ae020ef jal ra,b4ca - 9320: 8a6a mv s4,s10 - 9322: 00cd2d03 lw s10,12(s10) - 9326: b5d5 j 920a - 9328: 0a0d2623 sw zero,172(s10) - 932c: 4719 li a4,6 - 932e: 01b76663 bltu a4,s11,933a - 9332: 001d8793 addi a5,s11,1 - 9336: 0afd0823 sb a5,176(s10) - 933a: 856a mv a0,s10 - 933c: 770020ef jal ra,baac - 9340: bf11 j 9254 - 9342: 03ed1703 lh a4,62(s10) - 9346: 00074563 bltz a4,9350 - 934a: 0705 addi a4,a4,1 - 934c: 02ed1f23 sh a4,62(s10) - 9350: 080d2703 lw a4,128(s10) - 9354: f00700e3 beqz a4,9254 - 9358: 03ed1583 lh a1,62(s10) - 935c: 050d1703 lh a4,80(s10) - 9360: eeb75ae3 bge a4,a1,9254 - 9364: 02dcf463 bgeu s9,a3,938c - 9368: 04cd1703 lh a4,76(s10) - 936c: 04ed1683 lh a3,78(s10) - 9370: 47b1 li a5,12 - 9372: 870d srai a4,a4,0x3 - 9374: 9736 add a4,a4,a3 - 9376: 0ff67693 andi a3,a2,255 - 937a: 00c7f363 bgeu a5,a2,9380 - 937e: 46b1 li a3,12 - 9380: 96d6 add a3,a3,s5 - 9382: 2294 lbu a3,0(a3) - 9384: 00d71733 sll a4,a4,a3 - 9388: 04ed1823 sh a4,80(s10) - 938c: 05ad5683 lhu a3,90(s10) - 9390: 064d5703 lhu a4,100(s10) - 9394: 020d1f23 sh zero,62(s10) - 9398: 00e6f363 bgeu a3,a4,939e - 939c: 8736 mv a4,a3 - 939e: 0742 slli a4,a4,0x10 - 93a0: 8341 srli a4,a4,0x10 - 93a2: 040d5683 lhu a3,64(s10) - 93a6: 8305 srli a4,a4,0x1 - 93a8: 04ed1e23 sh a4,92(s10) - 93ac: 00d77663 bgeu a4,a3,93b8 - 93b0: 00169713 slli a4,a3,0x1 - 93b4: 04ed1e23 sh a4,92(s10) - 93b8: 04dd1d23 sh a3,90(s10) - 93bc: 856a mv a0,s10 - 93be: 57c020ef jal ra,b93a - 93c2: bd51 j 9256 - 93c4: 0b1d4703 lbu a4,177(s10) - 93c8: 4b81 li s7,0 - 93ca: 03170733 mul a4,a4,a7 - 93ce: 972a add a4,a4,a0 - 93d0: 02b75733 divu a4,a4,a1 - 93d4: eec773e3 bgeu a4,a2,92ba - 93d8: 856a mv a0,s10 - 93da: 674020ef jal ra,ba4e - 93de: 0b1d4703 lbu a4,177(s10) - 93e2: 0705 addi a4,a4,1 - 93e4: 0aed08a3 sb a4,177(s10) - 93e8: bdc9 j 92ba - 93ea: 46a5 li a3,9 - 93ec: f0d714e3 bne a4,a3,92f4 - 93f0: 038d2703 lw a4,56(s10) - 93f4: 4014 lw a3,0(s0) - 93f6: 8e99 sub a3,a3,a4 - 93f8: 4c98 lw a4,24(s1) - 93fa: 0706 slli a4,a4,0x1 - 93fc: eed77ce3 bgeu a4,a3,92f4 - 9400: 856a mv a0,s10 - 9402: dc8fd0ef jal ra,69ca - 9406: 856a mv a0,s10 - 9408: d79ff0ef jal ra,9180 - 940c: 00cd2783 lw a5,12(s10) - 9410: 040a0263 beqz s4,9454 - 9414: 00fa2623 sw a5,12(s4) - 9418: 09cd2783 lw a5,156(s10) - 941c: c789 beqz a5,9426 - 941e: 018d2503 lw a0,24(s10) - 9422: 55ed li a1,-5 - 9424: 9782 jalr a5 - 9426: 000b8f63 beqz s7,9444 - 942a: 024d5783 lhu a5,36(s10) - 942e: 01cd5703 lhu a4,28(s10) - 9432: 028d2583 lw a1,40(s10) - 9436: 060d2503 lw a0,96(s10) - 943a: 004d0693 addi a3,s10,4 - 943e: 866a mv a2,s10 - 9440: 3f2020ef jal ra,b832 - 9444: 00cd2b83 lw s7,12(s10) - 9448: 85ea mv a1,s10 - 944a: 4509 li a0,2 - 944c: c76ff0ef jal ra,88c2 - 9450: 8d5e mv s10,s7 - 9452: bb65 j 920a - 9454: 00f9a023 sw a5,0(s3) - 9458: b7c1 j 9418 - 945a: 018d2503 lw a0,24(s10) - 945e: 85ea mv a1,s10 - 9460: 9782 jalr a5 - 9462: ea050ce3 beqz a0,931a - 9466: bd6d j 9320 - 9468: 8522 mv a0,s0 - 946a: d60fd0ef jal ra,69ca - 946e: 8522 mv a0,s0 - 9470: d11ff0ef jal ra,9180 - 9474: 00c42903 lw s2,12(s0) - 9478: 85a2 mv a1,s0 - 947a: 4509 li a0,2 - 947c: 0124a023 sw s2,0(s1) - 9480: 844a mv s0,s2 - 9482: c40ff0ef jal ra,88c2 - 9486: bb41 j 9216 - -00009488 : -tcp_pcb_remove(): - 9488: 88ef72ef jal t0,516 <__riscv_save_0> - 948c: 411c lw a5,0(a0) - 948e: 842e mv s0,a1 - 9490: 04b79063 bne a5,a1,94d0 - 9494: 45dc lw a5,12(a1) - 9496: c11c sw a5,0(a0) - 9498: 00042623 sw zero,12(s0) - 949c: 8522 mv a0,s0 - 949e: ce3ff0ef jal ra,9180 - 94a2: 481c lw a5,16(s0) - 94a4: 4729 li a4,10 - 94a6: 02e78163 beq a5,a4,94c8 - 94aa: 4705 li a4,1 - 94ac: 00e78e63 beq a5,a4,94c8 - 94b0: 02644783 lbu a5,38(s0) - 94b4: 0017f713 andi a4,a5,1 - 94b8: cb01 beqz a4,94c8 - 94ba: 0027e793 ori a5,a5,2 - 94be: 02f40323 sb a5,38(s0) - 94c2: 8522 mv a0,s0 - 94c4: 006020ef jal ra,b4ca - 94c8: 00042823 sw zero,16(s0) - 94cc: 86ef706f j 53a <__riscv_restore_0> - 94d0: 9af1a423 sw a5,-1624(gp) # 200001e8 - 94d4: 4681 li a3,0 - 94d6: 9a818713 addi a4,gp,-1624 # 200001e8 - 94da: e789 bnez a5,94e4 - 94dc: ded5 beqz a3,9498 - 94de: 00072023 sw zero,0(a4) - 94e2: bf5d j 9498 - 94e4: 47d0 lw a2,12(a5) - 94e6: 00861763 bne a2,s0,94f4 - 94ea: c291 beqz a3,94ee - 94ec: c31c sw a5,0(a4) - 94ee: 4458 lw a4,12(s0) - 94f0: c7d8 sw a4,12(a5) - 94f2: b75d j 9498 - 94f4: 4685 li a3,1 - 94f6: 87b2 mv a5,a2 - 94f8: b7cd j 94da - -000094fa : -tcp_close(): - 94fa: 491c lw a5,16(a0) - 94fc: 471d li a4,7 - 94fe: 0af76563 bltu a4,a5,95a8 - 9502: 814f72ef jal t0,516 <__riscv_save_0> - 9506: 6735 lui a4,0xd - 9508: 078a slli a5,a5,0x2 - 950a: 3bc70713 addi a4,a4,956 # d3bc - 950e: 97ba add a5,a5,a4 - 9510: 439c lw a5,0(a5) - 9512: 842a mv s0,a0 - 9514: 8782 jr a5 - 9516: cb4fd0ef jal ra,69ca - 951a: 99818713 addi a4,gp,-1640 # 200001d8 - 951e: 431c lw a5,0(a4) - 9520: 00879963 bne a5,s0,9532 - 9524: 445c lw a5,12(s0) - 9526: c31c sw a5,0(a4) - 9528: 00042623 sw zero,12(s0) - 952c: 85a2 mv a1,s0 - 952e: 4509 li a0,2 - 9530: a83d j 956e - 9532: 9af1a423 sw a5,-1624(gp) # 200001e8 - 9536: 4681 li a3,0 - 9538: 9a818713 addi a4,gp,-1624 # 200001e8 - 953c: e789 bnez a5,9546 - 953e: d6ed beqz a3,9528 - 9540: 00072023 sw zero,0(a4) - 9544: b7d5 j 9528 - 9546: 47d0 lw a2,12(a5) - 9548: 00861763 bne a2,s0,9556 - 954c: c291 beqz a3,9550 - 954e: c31c sw a5,0(a4) - 9550: 4458 lw a4,12(s0) - 9552: c7d8 sw a4,12(a5) - 9554: bfd1 j 9528 - 9556: 4685 li a3,1 - 9558: 87b2 mv a5,a2 - 955a: b7cd j 953c - 955c: c6efd0ef jal ra,69ca - 9560: 85a2 mv a1,s0 - 9562: 99c18513 addi a0,gp,-1636 # 200001dc - 9566: f23ff0ef jal ra,9488 - 956a: 85a2 mv a1,s0 - 956c: 450d li a0,3 - 956e: b54ff0ef jal ra,88c2 - 9572: 4501 li a0,0 - 9574: a831 j 9590 - 9576: c54fd0ef jal ra,69ca - 957a: 85a2 mv a1,s0 - 957c: 99418513 addi a0,gp,-1644 # 200001d4 - 9580: f09ff0ef jal ra,9488 - 9584: b765 j 952c - 9586: 4585 li a1,1 - 9588: 68d010ef jal ra,b414 - 958c: 4795 li a5,5 - 958e: c901 beqz a0,959e - 9590: fabf606f j 53a <__riscv_restore_0> - 9594: 4585 li a1,1 - 9596: 67f010ef jal ra,b414 - 959a: f97d bnez a0,9590 - 959c: 47a5 li a5,9 - 959e: c81c sw a5,16(s0) - 95a0: 8522 mv a0,s0 - 95a2: 729010ef jal ra,b4ca - 95a6: b7f1 j 9572 - 95a8: 4501 li a0,0 - 95aa: 8082 ret - -000095ac : -tcp_recv_null(): - 95ac: f6bf62ef jal t0,516 <__riscv_save_0> - 95b0: 1141 addi sp,sp,-16 - 95b2: 852e mv a0,a1 - 95b4: ce11 beqz a2,95d0 - 95b6: 260e lhu a1,8(a2) - 95b8: c632 sw a2,12(sp) - 95ba: afbff0ef jal ra,90b4 - 95be: 4632 lw a2,12(sp) - 95c0: 8532 mv a0,a2 - 95c2: cd2ff0ef jal ra,8a94 - 95c6: 4781 li a5,0 - 95c8: 853e mv a0,a5 - 95ca: 0141 addi sp,sp,16 - 95cc: f6ff606f j 53a <__riscv_restore_0> - 95d0: 4781 li a5,0 - 95d2: fafd bnez a3,95c8 - 95d4: f27ff0ef jal ra,94fa - 95d8: 87aa mv a5,a0 - 95da: b7fd j 95c8 - -000095dc : -tcp_fasttmr(): - 95dc: f3bf62ef jal t0,516 <__riscv_save_0> - 95e0: 9941a403 lw s0,-1644(gp) # 200001d4 - 95e4: 06500493 li s1,101 - 95e8: e019 bnez s0,95ee - 95ea: f51f606f j 53a <__riscv_restore_0> - 95ee: 08842603 lw a2,136(s0) - 95f2: ca19 beqz a2,9608 - 95f4: 09042783 lw a5,144(s0) - 95f8: 4681 li a3,0 - 95fa: 85a2 mv a1,s0 - 95fc: cf8d beqz a5,9636 - 95fe: 4c08 lw a0,24(s0) - 9600: 9782 jalr a5 - 9602: e119 bnez a0,9608 - 9604: 08042423 sw zero,136(s0) - 9608: 14fd addi s1,s1,-1 - 960a: 0ff4f493 andi s1,s1,255 - 960e: dcf1 beqz s1,95ea - 9610: 02644783 lbu a5,38(s0) - 9614: 0017f713 andi a4,a5,1 - 9618: cf09 beqz a4,9632 - 961a: 0027e793 ori a5,a5,2 - 961e: 02f40323 sb a5,38(s0) - 9622: 8522 mv a0,s0 - 9624: 6a7010ef jal ra,b4ca - 9628: 02644783 lbu a5,38(s0) - 962c: 9bf1 andi a5,a5,-4 - 962e: 02f40323 sb a5,38(s0) - 9632: 4440 lw s0,12(s0) - 9634: bf55 j 95e8 - 9636: 4501 li a0,0 - 9638: f75ff0ef jal ra,95ac - 963c: b7d9 j 9602 - -0000963e : -tcp_tmr(): - 963e: ed9f62ef jal t0,516 <__riscv_save_0> - 9642: f9bff0ef jal ra,95dc - 9646: 9a418713 addi a4,gp,-1628 # 200001e4 - 964a: 231c lbu a5,0(a4) - 964c: 0785 addi a5,a5,1 - 964e: 0ff7f793 andi a5,a5,255 - 9652: a31c sb a5,0(a4) - 9654: 8b85 andi a5,a5,1 - 9656: c399 beqz a5,965c - 9658: b77ff0ef jal ra,91ce - 965c: edff606f j 53a <__riscv_restore_0> - -00009660 : -tcp_fastsendack(): - 9660: eb7f62ef jal t0,516 <__riscv_save_0> - 9664: 9941a403 lw s0,-1644(gp) # 200001d4 - 9668: 06500493 li s1,101 - 966c: 4901 li s2,0 - 966e: e401 bnez s0,9676 - 9670: 854a mv a0,s2 - 9672: ec9f606f j 53a <__riscv_restore_0> - 9676: 08842603 lw a2,136(s0) - 967a: ca19 beqz a2,9690 - 967c: 09042783 lw a5,144(s0) - 9680: 4681 li a3,0 - 9682: 85a2 mv a1,s0 - 9684: c7b1 beqz a5,96d0 - 9686: 4c08 lw a0,24(s0) - 9688: 9782 jalr a5 - 968a: e119 bnez a0,9690 - 968c: 08042423 sw zero,136(s0) - 9690: 14fd addi s1,s1,-1 - 9692: 0ff4f493 andi s1,s1,255 - 9696: dce9 beqz s1,9670 - 9698: 02744783 lbu a5,39(s0) - 969c: cb85 beqz a5,96cc - 969e: 02644703 lbu a4,38(s0) - 96a2: 00177693 andi a3,a4,1 - 96a6: c29d beqz a3,96cc - 96a8: 17fd addi a5,a5,-1 - 96aa: 0ff7f793 andi a5,a5,255 - 96ae: 02f403a3 sb a5,39(s0) - 96b2: e39d bnez a5,96d8 - 96b4: 00276713 ori a4,a4,2 - 96b8: 02e40323 sb a4,38(s0) - 96bc: 8522 mv a0,s0 - 96be: 60d010ef jal ra,b4ca - 96c2: 02644783 lbu a5,38(s0) - 96c6: 9bf1 andi a5,a5,-4 - 96c8: 02f40323 sb a5,38(s0) - 96cc: 4440 lw s0,12(s0) - 96ce: b745 j 966e - 96d0: 4501 li a0,0 - 96d2: edbff0ef jal ra,95ac - 96d6: bf55 j 968a - 96d8: 0905 addi s2,s2,1 - 96da: bfcd j 96cc - -000096dc : -tcp_abandon(): - 96dc: e13f62ef jal t0,4ee <__riscv_save_10> - 96e0: 4918 lw a4,16(a0) - 96e2: 47a9 li a5,10 - 96e4: 1141 addi sp,sp,-16 - 96e6: 842a mv s0,a0 - 96e8: 00f71e63 bne a4,a5,9704 - 96ec: 85aa mv a1,a0 - 96ee: 9ac18513 addi a0,gp,-1620 # 200001ec - 96f2: d97ff0ef jal ra,9488 - 96f6: 85a2 mv a1,s0 - 96f8: 4509 li a0,2 - 96fa: 9c8ff0ef jal ra,88c2 - 96fe: 0141 addi sp,sp,16 - 9700: e27f606f j 526 <__riscv_restore_10> - 9704: 411c lw a5,0(a0) - 9706: 8b2e mv s6,a1 - 9708: 06052903 lw s2,96(a0) - 970c: c63e sw a5,12(sp) - 970e: 415c lw a5,4(a0) - 9710: 02852983 lw s3,40(a0) - 9714: 01c55a03 lhu s4,28(a0) - 9718: c43e sw a5,8(sp) - 971a: 02455a83 lhu s5,36(a0) - 971e: 09c52483 lw s1,156(a0) - 9722: 01852b83 lw s7,24(a0) - 9726: aa4fd0ef jal ra,69ca - 972a: 99418513 addi a0,gp,-1644 # 200001d4 - 972e: 85a2 mv a1,s0 - 9730: d59ff0ef jal ra,9488 - 9734: 08042503 lw a0,128(s0) - 9738: c119 beqz a0,973e - 973a: 9e1ff0ef jal ra,911a - 973e: 5c68 lw a0,124(s0) - 9740: c119 beqz a0,9746 - 9742: 9d9ff0ef jal ra,911a - 9746: 08442503 lw a0,132(s0) - 974a: c119 beqz a0,9750 - 974c: 9cfff0ef jal ra,911a - 9750: 85a2 mv a1,s0 - 9752: 4509 li a0,2 - 9754: 96eff0ef jal ra,88c2 - 9758: c481 beqz s1,9760 - 975a: 55ed li a1,-5 - 975c: 855e mv a0,s7 - 975e: 9482 jalr s1 - 9760: f80b0fe3 beqz s6,96fe - 9764: 87d6 mv a5,s5 - 9766: 8752 mv a4,s4 - 9768: 0034 addi a3,sp,8 - 976a: 0070 addi a2,sp,12 - 976c: 85ce mv a1,s3 - 976e: 854a mv a0,s2 - 9770: 0c2020ef jal ra,b832 - 9774: b769 j 96fe - -00009776 : -tcp_next_iss(): - 9776: 83018793 addi a5,gp,-2000 # 20000070 - 977a: 4388 lw a0,0(a5) - 977c: 9a01a703 lw a4,-1632(gp) # 200001e0 - 9780: 953a add a0,a0,a4 - 9782: c388 sw a0,0(a5) - 9784: 8082 ret - -00009786 : -tcp_alloc(): - 9786: d77f62ef jal t0,4fc <__riscv_save_4> - 978a: 892a mv s2,a0 - 978c: 4509 li a0,2 - 978e: 914ff0ef jal ra,88a2 - 9792: 2002e4b7 lui s1,0x2002e - 9796: bd048493 addi s1,s1,-1072 # 2002dbd0 - 979a: 842a mv s0,a0 - 979c: e125 bnez a0,97fc - 979e: 489c lw a5,16(s1) - 97a0: 8389 srli a5,a5,0x2 - 97a2: 8b85 andi a5,a5,1 - 97a4: e789 bnez a5,97ae - 97a6: 4401 li s0,0 - 97a8: 8522 mv a0,s0 - 97aa: d87f606f j 530 <__riscv_restore_4> - 97ae: 9ac1a783 lw a5,-1620(gp) # 200001ec - 97b2: 9a01a603 lw a2,-1632(gp) # 200001e0 - 97b6: 4501 li a0,0 - 97b8: 4681 li a3,0 - 97ba: 9a018993 addi s3,gp,-1632 # 200001e0 - 97be: e7f1 bnez a5,988a - 97c0: c501 beqz a0,97c8 - 97c2: 4585 li a1,1 - 97c4: f19ff0ef jal ra,96dc - 97c8: 4509 li a0,2 - 97ca: 8d8ff0ef jal ra,88a2 - 97ce: 842a mv s0,a0 - 97d0: e515 bnez a0,97fc - 97d2: 9941a783 lw a5,-1644(gp) # 200001d4 - 97d6: 0009a503 lw a0,0(s3) - 97da: 197d addi s2,s2,-1 - 97dc: 0ff97913 andi s2,s2,255 - 97e0: 07f00613 li a2,127 - 97e4: 4581 li a1,0 - 97e6: ebdd bnez a5,989c - 97e8: c409 beqz s0,97f2 - 97ea: 4585 li a1,1 - 97ec: 8522 mv a0,s0 - 97ee: eefff0ef jal ra,96dc - 97f2: 4509 li a0,2 - 97f4: 8aeff0ef jal ra,88a2 - 97f8: 842a mv s0,a0 - 97fa: d555 beqz a0,97a6 - 97fc: 0b400613 li a2,180 - 9800: 4581 li a1,0 - 9802: 8522 mv a0,s0 - 9804: d43f60ef jal ra,546 - 9808: 04000793 li a5,64 - 980c: a85c sb a5,20(s0) - 980e: 449c lw a5,8(s1) - 9810: 06041c23 sh zero,120(s0) - 9814: 21800713 li a4,536 - 9818: 06f41b23 sh a5,118(s0) - 981c: 385e lhu a5,52(s0) - 981e: b45e sh a5,44(s0) - 9820: b47e sh a5,46(s0) - 9822: 77e1 lui a5,0xffff8 - 9824: a43e sh a5,10(s0) - 9826: 40dc lw a5,4(s1) - 9828: 00f77463 bgeu a4,a5,9830 - 982c: 21800793 li a5,536 - 9830: 04f41023 sh a5,64(s0) - 9834: 67c1 lui a5,0x10 - 9836: 577d li a4,-1 - 9838: c47c sw a5,76(s0) - 983a: 4785 li a5,1 - 983c: 04f41823 sh a5,80(s0) - 9840: bc7a sh a4,62(s0) - 9842: 04f41d23 sh a5,90(s0) - 9846: f31ff0ef jal ra,9776 - 984a: 9a01a783 lw a5,-1632(gp) # 200001e0 - 984e: d468 sw a0,108(s0) - 9850: d028 sw a0,96(s0) - 9852: dc1c sw a5,56(s0) - 9854: 000097b7 lui a5,0x9 - 9858: 5ac78793 addi a5,a5,1452 # 95ac - 985c: 08f42823 sw a5,144(s0) - 9860: 2002e7b7 lui a5,0x2002e - 9864: b807a703 lw a4,-1152(a5) # 2002db80 - 9868: b8078793 addi a5,a5,-1152 - 986c: c868 sw a0,84(s0) - 986e: 0ae42023 sw a4,160(s0) - 9872: 43d8 lw a4,4(a5) - 9874: 479c lw a5,8(a5) - 9876: d828 sw a0,112(s0) - 9878: 02040e23 sb zero,60(s0) - 987c: 0ae42223 sw a4,164(s0) - 9880: 0af42423 sw a5,168(s0) - 9884: 0a0408a3 sb zero,177(s0) - 9888: b705 j 97a8 - 988a: 5f98 lw a4,56(a5) - 988c: 40e60733 sub a4,a2,a4 - 9890: 00d76463 bltu a4,a3,9898 - 9894: 86ba mv a3,a4 - 9896: 853e mv a0,a5 - 9898: 47dc lw a5,12(a5) - 989a: b715 j 97be - 989c: 2bd4 lbu a3,20(a5) - 989e: 00d96c63 bltu s2,a3,98b6 - 98a2: 00d66a63 bltu a2,a3,98b6 - 98a6: 5f98 lw a4,56(a5) - 98a8: 40e50733 sub a4,a0,a4 - 98ac: 00b76563 bltu a4,a1,98b6 - 98b0: 8636 mv a2,a3 - 98b2: 85ba mv a1,a4 - 98b4: 843e mv s0,a5 - 98b6: 47dc lw a5,12(a5) - 98b8: b73d j 97e6 - -000098ba : -tcp_new(): - 98ba: c5df62ef jal t0,516 <__riscv_save_0> - 98be: 04000513 li a0,64 - 98c2: ec5ff0ef jal ra,9786 - 98c6: c75f606f j 53a <__riscv_restore_0> - -000098ca : -tcp_eff_send_mss(): - 98ca: c4df62ef jal t0,516 <__riscv_save_0> - 98ce: 842a mv s0,a0 - 98d0: 852e mv a0,a1 - 98d2: e1ffd0ef jal ra,76f0 - 98d6: cd11 beqz a0,98f2 - 98d8: 391e lhu a5,48(a0) - 98da: cf81 beqz a5,98f2 - 98dc: fd878793 addi a5,a5,-40 - 98e0: 873e mv a4,a5 - 98e2: 07c2 slli a5,a5,0x10 - 98e4: 83c1 srli a5,a5,0x10 - 98e6: 00f47363 bgeu s0,a5,98ec - 98ea: 8722 mv a4,s0 - 98ec: 01071413 slli s0,a4,0x10 - 98f0: 8041 srli s0,s0,0x10 - 98f2: 8522 mv a0,s0 - 98f4: c47f606f j 53a <__riscv_restore_0> - -000098f8 : -tcp_connect(): - 98f8: c05f62ef jal t0,4fc <__riscv_save_4> - 98fc: 4918 lw a4,16(a0) - 98fe: 54cd li s1,-13 - 9900: eb45 bnez a4,99b0 - 9902: 89ae mv s3,a1 - 9904: 54dd li s1,-9 - 9906: c5cd beqz a1,99b0 - 9908: 842a mv s0,a0 - 990a: 84b2 mv s1,a2 - 990c: 0511 addi a0,a0,4 - 990e: 4611 li a2,4 - 9910: 8936 mv s2,a3 - 9912: 5be030ef jal ra,ced0 - 9916: 2c5e lhu a5,28(s0) - 9918: b046 sh s1,36(s0) - 991a: e781 bnez a5,9922 - 991c: ddeff0ef jal ra,8efa - 9920: ac4a sh a0,28(s0) - 9922: e55ff0ef jal ra,9776 - 9926: 385e lhu a5,52(s0) - 9928: d028 sw a0,96(s0) - 992a: 157d addi a0,a0,-1 - 992c: b45e sh a5,44(s0) - 992e: b47e sh a5,46(s0) - 9930: 06f41223 sh a5,100(s0) - 9934: 2002e7b7 lui a5,0x2002e - 9938: c868 sw a0,84(s0) - 993a: d828 sw a0,112(s0) - 993c: bd47a503 lw a0,-1068(a5) # 2002dbd4 - 9940: 02042423 sw zero,40(s0) - 9944: 02042823 sw zero,48(s0) - 9948: 21800793 li a5,536 - 994c: 00a7f463 bgeu a5,a0,9954 - 9950: 21800513 li a0,536 - 9954: 0542 slli a0,a0,0x10 - 9956: 8141 srli a0,a0,0x10 - 9958: 04a41023 sh a0,64(s0) - 995c: 85ce mv a1,s3 - 995e: f6dff0ef jal ra,98ca - 9962: 4785 li a5,1 - 9964: 04f41d23 sh a5,90(s0) - 9968: 47a9 li a5,10 - 996a: 04a41023 sh a0,64(s0) - 996e: 02f50533 mul a0,a0,a5 - 9972: 4789 li a5,2 - 9974: 99818713 addi a4,gp,-1640 # 200001d8 - 9978: c81c sw a5,16(s0) - 997a: 431c lw a5,0(a4) - 997c: 09242a23 sw s2,148(s0) - 9980: 04a41e23 sh a0,92(s0) - 9984: 02879963 bne a5,s0,99b6 - 9988: 445c lw a5,12(s0) - 998a: c31c sw a5,0(a4) - 998c: 99418793 addi a5,gp,-1644 # 200001d4 - 9990: 4398 lw a4,0(a5) - 9992: 4689 li a3,2 - 9994: c380 sw s0,0(a5) - 9996: c458 sw a4,12(s0) - 9998: 4785 li a5,1 - 999a: 4701 li a4,0 - 999c: 4601 li a2,0 - 999e: 4581 li a1,0 - 99a0: 8522 mv a0,s0 - 99a2: 62a010ef jal ra,afcc - 99a6: 84aa mv s1,a0 - 99a8: e501 bnez a0,99b0 - 99aa: 8522 mv a0,s0 - 99ac: 31f010ef jal ra,b4ca - 99b0: 8526 mv a0,s1 - 99b2: b7ff606f j 530 <__riscv_restore_4> - 99b6: 9af1a423 sw a5,-1624(gp) # 200001e8 - 99ba: 4681 li a3,0 - 99bc: 9a818713 addi a4,gp,-1624 # 200001e8 - 99c0: e789 bnez a5,99ca - 99c2: d6e9 beqz a3,998c - 99c4: 00072023 sw zero,0(a4) - 99c8: b7d1 j 998c - 99ca: 47d0 lw a2,12(a5) - 99cc: 00861763 bne a2,s0,99da - 99d0: c291 beqz a3,99d4 - 99d2: c31c sw a5,0(a4) - 99d4: 4458 lw a4,12(s0) - 99d6: c7d8 sw a4,12(a5) - 99d8: bf55 j 998c - 99da: 4685 li a3,1 - 99dc: 87b2 mv a5,a2 - 99de: b7cd j 99c0 - -000099e0 : -RemoveTimeWaiTCP(): - 99e0: b37f62ef jal t0,516 <__riscv_save_0> - 99e4: 9ac1a403 lw s0,-1620(gp) # 200001ec - 99e8: 9ac18493 addi s1,gp,-1620 # 200001ec - 99ec: e019 bnez s0,99f2 - 99ee: b4df606f j 53a <__riscv_restore_0> - 99f2: 8522 mv a0,s0 - 99f4: fd7fc0ef jal ra,69ca - 99f8: 8522 mv a0,s0 - 99fa: f86ff0ef jal ra,9180 - 99fe: 00c42903 lw s2,12(s0) - 9a02: 85a2 mv a1,s0 - 9a04: 4509 li a0,2 - 9a06: 0124a023 sw s2,0(s1) - 9a0a: 844a mv s0,s2 - 9a0c: eb7fe0ef jal ra,88c2 - 9a10: bff1 j 99ec - -00009a12 : -tcp_oos_insert_segment(): - 9a12: aebf62ef jal t0,4fc <__riscv_save_4> - 9a16: 491c lw a5,16(a0) - 9a18: 84aa mv s1,a0 - 9a1a: 8a2e mv s4,a1 - 9a1c: 27c8 lbu a0,12(a5) - 9a1e: 37dc lbu a5,13(a5) - 9a20: 07a2 slli a5,a5,0x8 - 9a22: 8d5d or a0,a0,a5 - 9a24: c8ffd0ef jal ra,76b2 - 9a28: 8905 andi a0,a0,1 - 9a2a: e929 bnez a0,9a7c - 9a2c: 6941 lui s2,0x10 - 9a2e: fc090913 addi s2,s2,-64 # ffc0 <_data_lma+0x2aac> - 9a32: 010a2703 lw a4,16(s4) - 9a36: 9c41a603 lw a2,-1596(gp) # 20000204 - 9a3a: 24de lhu a5,12(s1) - 9a3c: 3354 lbu a3,5(a4) - 9a3e: 234c lbu a1,4(a4) - 9a40: 97b2 add a5,a5,a2 - 9a42: 06a2 slli a3,a3,0x8 - 9a44: 8dd5 or a1,a1,a3 - 9a46: 2374 lbu a3,6(a4) - 9a48: 06c2 slli a3,a3,0x10 - 9a4a: 8ecd or a3,a3,a1 - 9a4c: 336c lbu a1,7(a4) - 9a4e: 05e2 slli a1,a1,0x18 - 9a50: 8dd5 or a1,a1,a3 - 9a52: 00ca5683 lhu a3,12(s4) - 9a56: 96ae add a3,a3,a1 - 9a58: 40d786b3 sub a3,a5,a3 - 9a5c: 0206d563 bgez a3,9a86 - 9a60: 8f8d sub a5,a5,a1 - 9a62: 00f05963 blez a5,9a74 - 9a66: 8d91 sub a1,a1,a2 - 9a68: 05c2 slli a1,a1,0x10 - 9a6a: 40c8 lw a0,4(s1) - 9a6c: 81c1 srli a1,a1,0x10 - 9a6e: a4ce sh a1,12(s1) - 9a70: 9b2ff0ef jal ra,8c22 - 9a74: 0144a023 sw s4,0(s1) - 9a78: ab9f606f j 530 <__riscv_restore_4> - 9a7c: 8552 mv a0,s4 - 9a7e: e9cff0ef jal ra,911a - 9a82: 4a01 li s4,0 - 9a84: bfc5 j 9a74 - 9a86: 375c lbu a5,13(a4) - 9a88: 2748 lbu a0,12(a4) - 9a8a: 07a2 slli a5,a5,0x8 - 9a8c: 8d5d or a0,a0,a5 - 9a8e: c25fd0ef jal ra,76b2 - 9a92: 8905 andi a0,a0,1 - 9a94: cd15 beqz a0,9ad0 - 9a96: 489c lw a5,16(s1) - 9a98: 37c0 lbu s0,13(a5) - 9a9a: 27c8 lbu a0,12(a5) - 9a9c: 0422 slli s0,s0,0x8 - 9a9e: 8c49 or s0,s0,a0 - 9aa0: 854a mv a0,s2 - 9aa2: c03fd0ef jal ra,76a4 - 9aa6: 489c lw a5,16(s1) - 9aa8: 8c69 and s0,s0,a0 - 9aaa: 27c8 lbu a0,12(a5) - 9aac: 37dc lbu a5,13(a5) - 9aae: 07a2 slli a5,a5,0x8 - 9ab0: 8d5d or a0,a0,a5 - 9ab2: c01fd0ef jal ra,76b2 - 9ab6: 03e57513 andi a0,a0,62 - 9aba: 00156513 ori a0,a0,1 - 9abe: be7fd0ef jal ra,76a4 - 9ac2: 489c lw a5,16(s1) - 9ac4: 8d41 or a0,a0,s0 - 9ac6: 0542 slli a0,a0,0x10 - 9ac8: 8141 srli a0,a0,0x10 - 9aca: a7c8 sb a0,12(a5) - 9acc: 8121 srli a0,a0,0x8 - 9ace: b7c8 sb a0,13(a5) - 9ad0: 000a2403 lw s0,0(s4) - 9ad4: 8552 mv a0,s4 - 9ad6: e1aff0ef jal ra,90f0 - 9ada: d445 beqz s0,9a82 - 9adc: 8a22 mv s4,s0 - 9ade: bf91 j 9a32 - -00009ae0 : -tcp_receive(): - 9ae0: a0ff62ef jal t0,4ee <__riscv_save_10> - 9ae4: 9b41c783 lbu a5,-1612(gp) # 200001f4 - 9ae8: 842a mv s0,a0 - 9aea: 8bc1 andi a5,a5,16 - 9aec: 9c418993 addi s3,gp,-1596 # 20000204 - 9af0: c7f1 beqz a5,9bbc - 9af2: 0009a583 lw a1,0(s3) - 9af6: 5538 lw a4,104(a0) - 9af8: 06455683 lhu a3,100(a0) - 9afc: 5570 lw a2,108(a0) - 9afe: 40b70533 sub a0,a4,a1 - 9b02: 9b01a783 lw a5,-1616(gp) # 200001f0 - 9b06: 9b018493 addi s1,gp,-1616 # 200001f0 - 9b0a: 02054463 bltz a0,9b32 - 9b0e: 00b71663 bne a4,a1,9b1a - 9b12: 40f60733 sub a4,a2,a5 - 9b16: 00074e63 bltz a4,9b32 - 9b1a: 02f61e63 bne a2,a5,9b56 - 9b1e: 9cc1a503 lw a0,-1588(gp) # 2000020c - 9b22: 3578 lbu a4,15(a0) - 9b24: 00e54803 lbu a6,14(a0) - 9b28: 0722 slli a4,a4,0x8 - 9b2a: 01076733 or a4,a4,a6 - 9b2e: 02e6f463 bgeu a3,a4,9b56 - 9b32: 9cc1a503 lw a0,-1588(gp) # 2000020c - 9b36: 3578 lbu a4,15(a0) - 9b38: 00e54803 lbu a6,14(a0) - 9b3c: d42c sw a1,104(s0) - 9b3e: 0722 slli a4,a4,0x8 - 9b40: 01076733 or a4,a4,a6 - 9b44: 06e41223 sh a4,100(s0) - 9b48: d47c sw a5,108(s0) - 9b4a: c711 beqz a4,9b56 - 9b4c: 0b044703 lbu a4,176(s0) - 9b50: c319 beqz a4,9b56 - 9b52: 0a040823 sb zero,176(s0) - 9b56: 486c lw a1,84(s0) - 9b58: 40b78733 sub a4,a5,a1 - 9b5c: 2ee04263 bgtz a4,9e40 - 9b60: 9d01d703 lhu a4,-1584(gp) # 20000210 - 9b64: 06041a23 sh zero,116(s0) - 9b68: 2c071963 bnez a4,9e3a - 9b6c: 06445703 lhu a4,100(s0) - 9b70: 5468 lw a0,108(s0) - 9b72: 96b2 add a3,a3,a2 - 9b74: 972a add a4,a4,a0 - 9b76: 2cd71263 bne a4,a3,9e3a - 9b7a: 03e41703 lh a4,62(s0) - 9b7e: 2a074e63 bltz a4,9e3a - 9b82: 2af59c63 bne a1,a5,9e3a - 9b86: 05844783 lbu a5,88(s0) - 9b8a: 470d li a4,3 - 9b8c: 0785 addi a5,a5,1 - 9b8e: 0ff7f793 andi a5,a5,255 - 9b92: 04f40c23 sb a5,88(s0) - 9b96: 28f77c63 bgeu a4,a5,9e2e - 9b9a: 05a45703 lhu a4,90(s0) - 9b9e: 04045783 lhu a5,64(s0) - 9ba2: 97ba add a5,a5,a4 - 9ba4: 07c2 slli a5,a5,0x10 - 9ba6: 83c1 srli a5,a5,0x10 - 9ba8: 00f77463 bgeu a4,a5,9bb0 - 9bac: 04f41d23 sh a5,90(s0) - 9bb0: 5c7c lw a5,124(s0) - 9bb2: 3a079f63 bnez a5,9f70 - 9bb6: 4070 lw a2,68(s0) - 9bb8: 44061a63 bnez a2,a00c - 9bbc: 9d01d603 lhu a2,-1584(gp) # 20000210 - 9bc0: 0009a783 lw a5,0(s3) - 9bc4: 5414 lw a3,40(s0) - 9bc6: 9d018a13 addi s4,gp,-1584 # 20000210 - 9bca: 040600e3 beqz a2,a40a - 9bce: 40f685b3 sub a1,a3,a5 - 9bd2: fff58713 addi a4,a1,-1 - 9bd6: 4a074b63 bltz a4,a08c - 9bda: 4705 li a4,1 - 9bdc: 8f1d sub a4,a4,a5 - 9bde: 8f11 sub a4,a4,a2 - 9be0: 9736 add a4,a4,a3 - 9be2: 4ae04563 bgtz a4,a08c - 9be6: 2002e937 lui s2,0x2002e - 9bea: c5490793 addi a5,s2,-940 # 2002dc54 - 9bee: 43c4 lw s1,4(a5) - 9bf0: 01059713 slli a4,a1,0x10 - 9bf4: 8341 srli a4,a4,0x10 - 9bf6: 24be lhu a5,10(s1) - 9bf8: c5490913 addi s2,s2,-940 - 9bfc: 48b7d363 bge a5,a1,a082 - 9c00: 249e lhu a5,8(s1) - 9c02: 8f99 sub a5,a5,a4 - 9c04: 07c2 slli a5,a5,0x10 - 9c06: 83c1 srli a5,a5,0x10 - 9c08: 24ba lhu a4,10(s1) - 9c0a: 46b74663 blt a4,a1,a076 - 9c0e: 40b005b3 neg a1,a1 - 9c12: 05c2 slli a1,a1,0x10 - 9c14: 85c1 srai a1,a1,0x10 - 9c16: 8526 mv a0,s1 - 9c18: e0ffe0ef jal ra,8a26 - 9c1c: 40dc lw a5,4(s1) - 9c1e: 00c95683 lhu a3,12(s2) - 9c22: 0009a703 lw a4,0(s3) - 9c26: 00f92423 sw a5,8(s2) - 9c2a: 541c lw a5,40(s0) - 9c2c: 9736 add a4,a4,a3 - 9c2e: 8f1d sub a4,a4,a5 - 9c30: 00e91623 sh a4,12(s2) - 9c34: 01092703 lw a4,16(s2) - 9c38: 0087d693 srli a3,a5,0x8 - 9c3c: 00f9a023 sw a5,0(s3) - 9c40: a35c sb a5,4(a4) - 9c42: b354 sb a3,5(a4) - 9c44: 0107d693 srli a3,a5,0x10 - 9c48: 83e1 srli a5,a5,0x18 - 9c4a: a374 sb a3,6(a4) - 9c4c: b37c sb a5,7(a4) - 9c4e: 0009a683 lw a3,0(s3) - 9c52: 5418 lw a4,40(s0) - 9c54: 40e687b3 sub a5,a3,a4 - 9c58: 0007c963 bltz a5,9c6a - 9c5c: 3452 lhu a2,44(s0) - 9c5e: 00168793 addi a5,a3,1 - 9c62: 8f99 sub a5,a5,a4 - 9c64: 8f91 sub a5,a5,a2 - 9c66: 44f05063 blez a5,a0a6 - 9c6a: 2002e7b7 lui a5,0x2002e - 9c6e: c647a783 lw a5,-924(a5) # 2002dc64 - 9c72: 27c8 lbu a0,12(a5) - 9c74: 37dc lbu a5,13(a5) - 9c76: 07a2 slli a5,a5,0x8 - 9c78: 8d5d or a0,a0,a5 - 9c7a: a39fd0ef jal ra,76b2 - 9c7e: 8905 andi a0,a0,1 - 9c80: 78050163 beqz a0,a402 - 9c84: 5418 lw a4,40(s0) - 9c86: 0009a783 lw a5,0(s3) - 9c8a: 76f71c63 bne a4,a5,a402 - 9c8e: 2002e4b7 lui s1,0x2002e - 9c92: c5448a93 addi s5,s1,-940 # 2002dc54 - 9c96: 010aa783 lw a5,16(s5) - 9c9a: 00cad903 lhu s2,12(s5) - 9c9e: c5448493 addi s1,s1,-940 - 9ca2: 27c8 lbu a0,12(a5) - 9ca4: 37dc lbu a5,13(a5) - 9ca6: 07a2 slli a5,a5,0x8 - 9ca8: 8d5d or a0,a0,a5 - 9caa: a09fd0ef jal ra,76b2 - 9cae: 890d andi a0,a0,3 - 9cb0: 00a03533 snez a0,a0 - 9cb4: 992a add s2,s2,a0 - 9cb6: 010aa783 lw a5,16(s5) - 9cba: 0942 slli s2,s2,0x10 - 9cbc: 01095913 srli s2,s2,0x10 - 9cc0: 012a1023 sh s2,0(s4) - 9cc4: 27c8 lbu a0,12(a5) - 9cc6: 37dc lbu a5,13(a5) - 9cc8: 07a2 slli a5,a5,0x8 - 9cca: 8d5d or a0,a0,a5 - 9ccc: 9e7fd0ef jal ra,76b2 - 9cd0: 8905 andi a0,a0,1 - 9cd2: 3e051c63 bnez a0,a0ca - 9cd6: 345e lhu a5,44(s0) - 9cd8: 0b27f063 bgeu a5,s2,9d78 - 9cdc: 489c lw a5,16(s1) - 9cde: 27c8 lbu a0,12(a5) - 9ce0: 37dc lbu a5,13(a5) - 9ce2: 07a2 slli a5,a5,0x8 - 9ce4: 8d5d or a0,a0,a5 - 9ce6: 9cdfd0ef jal ra,76b2 - 9cea: 8905 andi a0,a0,1 - 9cec: c131 beqz a0,9d30 - 9cee: 489c lw a5,16(s1) - 9cf0: 00d7c903 lbu s2,13(a5) - 9cf4: 27c8 lbu a0,12(a5) - 9cf6: 0922 slli s2,s2,0x8 - 9cf8: 00a96933 or s2,s2,a0 - 9cfc: 6541 lui a0,0x10 - 9cfe: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x2aac> - 9d02: 9a3fd0ef jal ra,76a4 - 9d06: 489c lw a5,16(s1) - 9d08: 00a97933 and s2,s2,a0 - 9d0c: 27c8 lbu a0,12(a5) - 9d0e: 37dc lbu a5,13(a5) - 9d10: 07a2 slli a5,a5,0x8 - 9d12: 8d5d or a0,a0,a5 - 9d14: 99ffd0ef jal ra,76b2 - 9d18: 03e57513 andi a0,a0,62 - 9d1c: 989fd0ef jal ra,76a4 - 9d20: 489c lw a5,16(s1) - 9d22: 00a96533 or a0,s2,a0 - 9d26: 0542 slli a0,a0,0x10 - 9d28: 8141 srli a0,a0,0x10 - 9d2a: a7c8 sb a0,12(a5) - 9d2c: 8121 srli a0,a0,0x8 - 9d2e: b7c8 sb a0,13(a5) - 9d30: 345e lhu a5,44(s0) - 9d32: a4de sh a5,12(s1) - 9d34: 489c lw a5,16(s1) - 9d36: 27c8 lbu a0,12(a5) - 9d38: 37dc lbu a5,13(a5) - 9d3a: 07a2 slli a5,a5,0x8 - 9d3c: 8d5d or a0,a0,a5 - 9d3e: 975fd0ef jal ra,76b2 - 9d42: 8909 andi a0,a0,2 - 9d44: c501 beqz a0,9d4c - 9d46: 24de lhu a5,12(s1) - 9d48: 17fd addi a5,a5,-1 - 9d4a: a4de sh a5,12(s1) - 9d4c: 24ce lhu a1,12(s1) - 9d4e: 40c8 lw a0,4(s1) - 9d50: ed3fe0ef jal ra,8c22 - 9d54: 489c lw a5,16(s1) - 9d56: 00c4d903 lhu s2,12(s1) - 9d5a: 27c8 lbu a0,12(a5) - 9d5c: 37dc lbu a5,13(a5) - 9d5e: 07a2 slli a5,a5,0x8 - 9d60: 8d5d or a0,a0,a5 - 9d62: 951fd0ef jal ra,76b2 - 9d66: 890d andi a0,a0,3 - 9d68: 00a03533 snez a0,a0 - 9d6c: 992a add s2,s2,a0 - 9d6e: 0942 slli s2,s2,0x10 - 9d70: 01095913 srli s2,s2,0x10 - 9d74: 012a1023 sh s2,0(s4) - 9d78: 08442783 lw a5,132(s0) - 9d7c: 36078463 beqz a5,a0e4 - 9d80: 489c lw a5,16(s1) - 9d82: 27c8 lbu a0,12(a5) - 9d84: 37dc lbu a5,13(a5) - 9d86: 07a2 slli a5,a5,0x8 - 9d88: 8d5d or a0,a0,a5 - 9d8a: 929fd0ef jal ra,76b2 - 9d8e: 8905 andi a0,a0,1 - 9d90: 34051763 bnez a0,a0de - 9d94: 08442b03 lw s6,132(s0) - 9d98: 6bc1 lui s7,0x10 - 9d9a: fc0b8b93 addi s7,s7,-64 # ffc0 <_data_lma+0x2aac> - 9d9e: 0009a503 lw a0,0(s3) - 9da2: 000a5703 lhu a4,0(s4) - 9da6: 972a add a4,a4,a0 - 9da8: 080b0063 beqz s6,9e28 - 9dac: 010b2603 lw a2,16(s6) - 9db0: 324c lbu a1,5(a2) - 9db2: 2254 lbu a3,4(a2) - 9db4: 05a2 slli a1,a1,0x8 - 9db6: 8dd5 or a1,a1,a3 - 9db8: 2274 lbu a3,6(a2) - 9dba: 06c2 slli a3,a3,0x10 - 9dbc: 8dd5 or a1,a1,a3 - 9dbe: 3274 lbu a3,7(a2) - 9dc0: 06e2 slli a3,a3,0x18 - 9dc2: 8ecd or a3,a3,a1 - 9dc4: 00cb5583 lhu a1,12(s6) - 9dc8: 95b6 add a1,a1,a3 - 9dca: 40b705b3 sub a1,a4,a1 - 9dce: 3605d263 bgez a1,a132 - 9dd2: 8f15 sub a4,a4,a3 - 9dd4: 04e05a63 blez a4,9e28 - 9dd8: 08442783 lw a5,132(s0) - 9ddc: 4b98 lw a4,16(a5) - 9dde: 335c lbu a5,5(a4) - 9de0: 2354 lbu a3,4(a4) - 9de2: 07a2 slli a5,a5,0x8 - 9de4: 8fd5 or a5,a5,a3 - 9de6: 8f89 sub a5,a5,a0 - 9de8: a4de sh a5,12(s1) - 9dea: 489c lw a5,16(s1) - 9dec: 27c8 lbu a0,12(a5) - 9dee: 37dc lbu a5,13(a5) - 9df0: 07a2 slli a5,a5,0x8 - 9df2: 8d5d or a0,a0,a5 - 9df4: 8bffd0ef jal ra,76b2 - 9df8: 8909 andi a0,a0,2 - 9dfa: c501 beqz a0,9e02 - 9dfc: 24de lhu a5,12(s1) - 9dfe: 17fd addi a5,a5,-1 - 9e00: a4de sh a5,12(s1) - 9e02: 24ce lhu a1,12(s1) - 9e04: 40c8 lw a0,4(s1) - 9e06: e1dfe0ef jal ra,8c22 - 9e0a: 489c lw a5,16(s1) - 9e0c: 00c4da83 lhu s5,12(s1) - 9e10: 27c8 lbu a0,12(a5) - 9e12: 37dc lbu a5,13(a5) - 9e14: 07a2 slli a5,a5,0x8 - 9e16: 8d5d or a0,a0,a5 - 9e18: 89bfd0ef jal ra,76b2 - 9e1c: 890d andi a0,a0,3 - 9e1e: 00a03533 snez a0,a0 - 9e22: 9aaa add s5,s5,a0 - 9e24: 015a1023 sh s5,0(s4) - 9e28: 09642223 sw s6,132(s0) - 9e2c: ac65 j a0e4 - 9e2e: d8e791e3 bne a5,a4,9bb0 - 9e32: 8522 mv a0,s0 - 9e34: 3b9010ef jal ra,b9ec - 9e38: bba5 j 9bb0 - 9e3a: 04040c23 sb zero,88(s0) - 9e3e: bb8d j 9bb0 - 9e40: 5034 lw a3,96(s0) - 9e42: 40d786b3 sub a3,a5,a3 - 9e46: 12d04263 bgtz a3,9f6a - 9e4a: 02644683 lbu a3,38(s0) - 9e4e: 0046f613 andi a2,a3,4 - 9e52: ca01 beqz a2,9e62 - 9e54: 9aed andi a3,a3,-5 - 9e56: 02d40323 sb a3,38(s0) - 9e5a: 05c45683 lhu a3,92(s0) - 9e5e: 04d41d23 sh a3,90(s0) - 9e62: 04c41683 lh a3,76(s0) - 9e66: 04e45603 lhu a2,78(s0) - 9e6a: 0742 slli a4,a4,0x10 - 9e6c: 868d srai a3,a3,0x3 - 9e6e: 96b2 add a3,a3,a2 - 9e70: 04d41823 sh a3,80(s0) - 9e74: 07645683 lhu a3,118(s0) - 9e78: 8341 srli a4,a4,0x10 - 9e7a: 06e41a23 sh a4,116(s0) - 9e7e: 9736 add a4,a4,a3 - 9e80: 06e41b23 sh a4,118(s0) - 9e84: 4818 lw a4,16(s0) - 9e86: c87c sw a5,84(s0) - 9e88: 04040923 sb zero,82(s0) - 9e8c: 04040c23 sb zero,88(s0) - 9e90: 478d li a5,3 - 9e92: 02e7f163 bgeu a5,a4,9eb4 - 9e96: 05a45703 lhu a4,90(s0) - 9e9a: 05c45683 lhu a3,92(s0) - 9e9e: 04045783 lhu a5,64(s0) - 9ea2: 02d77663 bgeu a4,a3,9ece - 9ea6: 97ba add a5,a5,a4 - 9ea8: 07c2 slli a5,a5,0x10 - 9eaa: 83c1 srli a5,a5,0x10 - 9eac: 00f77463 bgeu a4,a5,9eb4 - 9eb0: 04f41d23 sh a5,90(s0) - 9eb4: 08042783 lw a5,128(s0) - 9eb8: e385 bnez a5,9ed8 - 9eba: 08042783 lw a5,128(s0) - 9ebe: 02040e23 sb zero,60(s0) - 9ec2: 0017b793 seqz a5,a5 - 9ec6: 40f007b3 neg a5,a5 - 9eca: bc7e sh a5,62(s0) - 9ecc: b1d5 j 9bb0 - 9ece: 02f787b3 mul a5,a5,a5 - 9ed2: 02e7c7b3 div a5,a5,a4 - 9ed6: bfc1 j 9ea6 - 9ed8: 4b98 lw a4,16(a5) - 9eda: 3348 lbu a0,5(a4) - 9edc: 235c lbu a5,4(a4) - 9ede: 0522 slli a0,a0,0x8 - 9ee0: 8d5d or a0,a0,a5 - 9ee2: 237c lbu a5,6(a4) - 9ee4: 07c2 slli a5,a5,0x10 - 9ee6: 8fc9 or a5,a5,a0 - 9ee8: 3368 lbu a0,7(a4) - 9eea: 0562 slli a0,a0,0x18 - 9eec: 8d5d or a0,a0,a5 - 9eee: ff6fd0ef jal ra,76e4 - 9ef2: 08042783 lw a5,128(s0) - 9ef6: 892a mv s2,a0 - 9ef8: 00c7da03 lhu s4,12(a5) - 9efc: 4b9c lw a5,16(a5) - 9efe: 27c8 lbu a0,12(a5) - 9f00: 37dc lbu a5,13(a5) - 9f02: 07a2 slli a5,a5,0x8 - 9f04: 8d5d or a0,a0,a5 - 9f06: facfd0ef jal ra,76b2 - 9f0a: 409c lw a5,0(s1) - 9f0c: 890d andi a0,a0,3 - 9f0e: 00a03533 snez a0,a0 - 9f12: 9552 add a0,a0,s4 - 9f14: 40f90933 sub s2,s2,a5 - 9f18: 954a add a0,a0,s2 - 9f1a: faa040e3 bgtz a0,9eba - 9f1e: 08042903 lw s2,128(s0) - 9f22: 00092783 lw a5,0(s2) - 9f26: 08f42023 sw a5,128(s0) - 9f2a: 07445783 lhu a5,116(s0) - 9f2e: c385 beqz a5,9f4e - 9f30: 01092783 lw a5,16(s2) - 9f34: 27c8 lbu a0,12(a5) - 9f36: 37dc lbu a5,13(a5) - 9f38: 07a2 slli a5,a5,0x8 - 9f3a: 8d5d or a0,a0,a5 - 9f3c: f76fd0ef jal ra,76b2 - 9f40: 8905 andi a0,a0,1 - 9f42: c511 beqz a0,9f4e - 9f44: 07445783 lhu a5,116(s0) - 9f48: 17fd addi a5,a5,-1 - 9f4a: 06f41a23 sh a5,116(s0) - 9f4e: 00492503 lw a0,4(s2) - 9f52: d29fe0ef jal ra,8c7a - 9f56: 07845783 lhu a5,120(s0) - 9f5a: 40a78533 sub a0,a5,a0 - 9f5e: 06a41c23 sh a0,120(s0) - 9f62: 854a mv a0,s2 - 9f64: 98cff0ef jal ra,90f0 - 9f68: b7b1 j 9eb4 - 9f6a: 06041a23 sh zero,116(s0) - 9f6e: b189 j 9bb0 - 9f70: 4b98 lw a4,16(a5) - 9f72: 0004a903 lw s2,0(s1) - 9f76: 3348 lbu a0,5(a4) - 9f78: 235c lbu a5,4(a4) - 9f7a: 0522 slli a0,a0,0x8 - 9f7c: 8d5d or a0,a0,a5 - 9f7e: 237c lbu a5,6(a4) - 9f80: 07c2 slli a5,a5,0x10 - 9f82: 8fc9 or a5,a5,a0 - 9f84: 3368 lbu a0,7(a4) - 9f86: 0562 slli a0,a0,0x18 - 9f88: 8d5d or a0,a0,a5 - 9f8a: f5afd0ef jal ra,76e4 - 9f8e: 5c7c lw a5,124(s0) - 9f90: 8aaa mv s5,a0 - 9f92: 41590933 sub s2,s2,s5 - 9f96: 00c7da03 lhu s4,12(a5) - 9f9a: 4b9c lw a5,16(a5) - 9f9c: 27c8 lbu a0,12(a5) - 9f9e: 37dc lbu a5,13(a5) - 9fa0: 07a2 slli a5,a5,0x8 - 9fa2: 8d5d or a0,a0,a5 - 9fa4: f0efd0ef jal ra,76b2 - 9fa8: 890d andi a0,a0,3 - 9faa: 00a03533 snez a0,a0 - 9fae: 9552 add a0,a0,s4 - 9fb0: 40a90933 sub s2,s2,a0 - 9fb4: c00941e3 bltz s2,9bb6 - 9fb8: 409c lw a5,0(s1) - 9fba: 5038 lw a4,96(s0) - 9fbc: 8f99 sub a5,a5,a4 - 9fbe: bef04ce3 bgtz a5,9bb6 - 9fc2: 07c42903 lw s2,124(s0) - 9fc6: 00092783 lw a5,0(s2) - 9fca: dc7c sw a5,124(s0) - 9fcc: 07445783 lhu a5,116(s0) - 9fd0: c385 beqz a5,9ff0 - 9fd2: 01092783 lw a5,16(s2) - 9fd6: 27c8 lbu a0,12(a5) - 9fd8: 37dc lbu a5,13(a5) - 9fda: 07a2 slli a5,a5,0x8 - 9fdc: 8d5d or a0,a0,a5 - 9fde: ed4fd0ef jal ra,76b2 - 9fe2: 8905 andi a0,a0,1 - 9fe4: c511 beqz a0,9ff0 - 9fe6: 07445783 lhu a5,116(s0) - 9fea: 17fd addi a5,a5,-1 - 9fec: 06f41a23 sh a5,116(s0) - 9ff0: 00492503 lw a0,4(s2) - 9ff4: c87fe0ef jal ra,8c7a - 9ff8: 07845783 lhu a5,120(s0) - 9ffc: 40a78533 sub a0,a5,a0 - a000: 06a41c23 sh a0,120(s0) - a004: 854a mv a0,s2 - a006: 8eaff0ef jal ra,90f0 - a00a: b65d j 9bb0 - a00c: 443c lw a5,72(s0) - a00e: 4098 lw a4,0(s1) - a010: 8f99 sub a5,a5,a4 - a012: ba07d5e3 bgez a5,9bbc - a016: 04c41683 lh a3,76(s0) - a01a: 9a01d703 lhu a4,-1632(gp) # 200001e0 - a01e: 0642 slli a2,a2,0x10 - a020: 4036d593 srai a1,a3,0x3 - a024: 8241 srli a2,a2,0x10 - a026: 05c2 slli a1,a1,0x10 - a028: 81c1 srli a1,a1,0x10 - a02a: 40c707b3 sub a5,a4,a2 - a02e: 8f8d sub a5,a5,a1 - a030: 07c2 slli a5,a5,0x10 - a032: 83c1 srli a5,a5,0x10 - a034: 01079513 slli a0,a5,0x10 - a038: 97b6 add a5,a5,a3 - a03a: 07c2 slli a5,a5,0x10 - a03c: 87c1 srai a5,a5,0x10 - a03e: 8541 srai a0,a0,0x10 - a040: 04f41623 sh a5,76(s0) - a044: 00055763 bgez a0,a052 - a048: 8e19 sub a2,a2,a4 - a04a: 962e add a2,a2,a1 - a04c: 01061513 slli a0,a2,0x10 - a050: 8541 srai a0,a0,0x10 - a052: 04e41683 lh a3,78(s0) - a056: 878d srai a5,a5,0x3 - a058: 04042223 sw zero,68(s0) - a05c: 4026d713 srai a4,a3,0x2 - a060: 40e68733 sub a4,a3,a4 - a064: 972a add a4,a4,a0 - a066: 0742 slli a4,a4,0x10 - a068: 8341 srli a4,a4,0x10 - a06a: 97ba add a5,a5,a4 - a06c: 04e41723 sh a4,78(s0) - a070: 04f41823 sh a5,80(s0) - a074: b6a1 j 9bbc - a076: a49e sh a5,8(s1) - a078: 00049523 sh zero,10(s1) - a07c: 8d99 sub a1,a1,a4 - a07e: 4084 lw s1,0(s1) - a080: b661 j 9c08 - a082: 40e00733 neg a4,a4 - a086: 01071593 slli a1,a4,0x10 - a08a: b669 j 9c14 - a08c: 8f95 sub a5,a5,a3 - a08e: bc07d0e3 bgez a5,9c4e - a092: 02644783 lbu a5,38(s0) - a096: 8522 mv a0,s0 - a098: 0027e793 ori a5,a5,2 - a09c: 02f40323 sb a5,38(s0) - a0a0: 42a010ef jal ra,b4ca - a0a4: b66d j 9c4e - a0a6: bee684e3 beq a3,a4,9c8e - a0aa: 8522 mv a0,s0 - a0ac: 3ae010ef jal ra,b45a - a0b0: 08442483 lw s1,132(s0) - a0b4: 1e049463 bnez s1,a29c - a0b8: 2002e537 lui a0,0x2002e - a0bc: c5450513 addi a0,a0,-940 # 2002dc54 - a0c0: 878ff0ef jal ra,9138 - a0c4: 08a42223 sw a0,132(s0) - a0c8: aac1 j a298 - a0ca: 197d addi s2,s2,-1 - a0cc: 0942 slli s2,s2,0x10 - a0ce: 01095913 srli s2,s2,0x10 - a0d2: b111 j 9cd6 - a0d4: 411c lw a5,0(a0) - a0d6: 08f42223 sw a5,132(s0) - a0da: 816ff0ef jal ra,90f0 - a0de: 08442503 lw a0,132(s0) - a0e2: f96d bnez a0,a0d4 - a0e4: 0009a703 lw a4,0(s3) - a0e8: 000a5783 lhu a5,0(s4) - a0ec: 8522 mv a0,s0 - a0ee: 97ba add a5,a5,a4 - a0f0: d41c sw a5,40(s0) - a0f2: 345e lhu a5,44(s0) - a0f4: 41278933 sub s2,a5,s2 - a0f8: 03241623 sh s2,44(s0) - a0fc: f71fe0ef jal ra,906c - a100: 40dc lw a5,4(s1) - a102: 279a lhu a4,8(a5) - a104: c709 beqz a4,a10e - a106: 9af1ae23 sw a5,-1604(gp) # 200001fc - a10a: 0004a223 sw zero,4(s1) - a10e: 489c lw a5,16(s1) - a110: 27c8 lbu a0,12(a5) - a112: 37dc lbu a5,13(a5) - a114: 07a2 slli a5,a5,0x8 - a116: 8d5d or a0,a0,a5 - a118: d9afd0ef jal ra,76b2 - a11c: 8905 andi a0,a0,1 - a11e: c519 beqz a0,a12c - a120: 9c018793 addi a5,gp,-1600 # 20000200 - a124: 2398 lbu a4,0(a5) - a126: 02076713 ori a4,a4,32 - a12a: a398 sb a4,0(a5) - a12c: 4a91 li s5,4 - a12e: 4b1d li s6,7 - a130: aa39 j a24e - a132: 365c lbu a5,13(a2) - a134: 2648 lbu a0,12(a2) - a136: 07a2 slli a5,a5,0x8 - a138: 8d5d or a0,a0,a5 - a13a: d78fd0ef jal ra,76b2 - a13e: 8905 andi a0,a0,1 - a140: c535 beqz a0,a1ac - a142: 489c lw a5,16(s1) - a144: 27c8 lbu a0,12(a5) - a146: 37dc lbu a5,13(a5) - a148: 07a2 slli a5,a5,0x8 - a14a: 8d5d or a0,a0,a5 - a14c: d66fd0ef jal ra,76b2 - a150: 8909 andi a0,a0,2 - a152: ed29 bnez a0,a1ac - a154: 489c lw a5,16(s1) - a156: 00d7ca83 lbu s5,13(a5) - a15a: 27c8 lbu a0,12(a5) - a15c: 0aa2 slli s5,s5,0x8 - a15e: 00aaeab3 or s5,s5,a0 - a162: 855e mv a0,s7 - a164: d40fd0ef jal ra,76a4 - a168: 489c lw a5,16(s1) - a16a: 00aafab3 and s5,s5,a0 - a16e: 27c8 lbu a0,12(a5) - a170: 37dc lbu a5,13(a5) - a172: 07a2 slli a5,a5,0x8 - a174: 8d5d or a0,a0,a5 - a176: d3cfd0ef jal ra,76b2 - a17a: 03e57513 andi a0,a0,62 - a17e: 00156513 ori a0,a0,1 - a182: d22fd0ef jal ra,76a4 - a186: 00aae533 or a0,s5,a0 - a18a: 489c lw a5,16(s1) - a18c: 0542 slli a0,a0,0x10 - a18e: 8141 srli a0,a0,0x10 - a190: 00855713 srli a4,a0,0x8 - a194: a7c8 sb a0,12(a5) - a196: b7d8 sb a4,13(a5) - a198: 00c4da83 lhu s5,12(s1) - a19c: d16fd0ef jal ra,76b2 - a1a0: 890d andi a0,a0,3 - a1a2: 00a03533 snez a0,a0 - a1a6: 9aaa add s5,s5,a0 - a1a8: 015a1023 sh s5,0(s4) - a1ac: 000b2a83 lw s5,0(s6) - a1b0: 855a mv a0,s6 - a1b2: f3ffe0ef jal ra,90f0 - a1b6: 8b56 mv s6,s5 - a1b8: b6dd j 9d9e - a1ba: 00f9a023 sw a5,0(s3) - a1be: 375c lbu a5,13(a4) - a1c0: 2748 lbu a0,12(a4) - a1c2: 00c4db83 lhu s7,12(s1) - a1c6: 07a2 slli a5,a5,0x8 - a1c8: 8d5d or a0,a0,a5 - a1ca: ce8fd0ef jal ra,76b2 - a1ce: 541c lw a5,40(s0) - a1d0: 890d andi a0,a0,3 - a1d2: 00a03533 snez a0,a0 - a1d6: 955e add a0,a0,s7 - a1d8: 953e add a0,a0,a5 - a1da: 489c lw a5,16(s1) - a1dc: d408 sw a0,40(s0) - a1de: 00c4db83 lhu s7,12(s1) - a1e2: 27c8 lbu a0,12(a5) - a1e4: 37dc lbu a5,13(a5) - a1e6: 07a2 slli a5,a5,0x8 - a1e8: 8d5d or a0,a0,a5 - a1ea: cc8fd0ef jal ra,76b2 - a1ee: 345e lhu a5,44(s0) - a1f0: 890d andi a0,a0,3 - a1f2: 00a03533 snez a0,a0 - a1f6: 955e add a0,a0,s7 - a1f8: 40a78533 sub a0,a5,a0 - a1fc: b44a sh a0,44(s0) - a1fe: 8522 mv a0,s0 - a200: e6dfe0ef jal ra,906c - a204: 40cc lw a1,4(s1) - a206: 259e lhu a5,8(a1) - a208: cb89 beqz a5,a21a - a20a: 9bc18793 addi a5,gp,-1604 # 200001fc - a20e: 4388 lw a0,0(a5) - a210: cd35 beqz a0,a28c - a212: a85fe0ef jal ra,8c96 - a216: 0004a223 sw zero,4(s1) - a21a: 489c lw a5,16(s1) - a21c: 27c8 lbu a0,12(a5) - a21e: 37dc lbu a5,13(a5) - a220: 07a2 slli a5,a5,0x8 - a222: 8d5d or a0,a0,a5 - a224: c8efd0ef jal ra,76b2 - a228: 8905 andi a0,a0,1 - a22a: cd01 beqz a0,a242 - a22c: 9c018713 addi a4,gp,-1600 # 20000200 - a230: 231c lbu a5,0(a4) - a232: 0207e793 ori a5,a5,32 - a236: a31c sb a5,0(a4) - a238: 481c lw a5,16(s0) - a23a: 01579463 bne a5,s5,a242 - a23e: 01642823 sw s6,16(s0) - a242: 409c lw a5,0(s1) - a244: 8526 mv a0,s1 - a246: 08f42223 sw a5,132(s0) - a24a: ea7fe0ef jal ra,90f0 - a24e: 08442483 lw s1,132(s0) - a252: cc99 beqz s1,a270 - a254: 4898 lw a4,16(s1) - a256: 3354 lbu a3,5(a4) - a258: 235c lbu a5,4(a4) - a25a: 06a2 slli a3,a3,0x8 - a25c: 8edd or a3,a3,a5 - a25e: 237c lbu a5,6(a4) - a260: 07c2 slli a5,a5,0x10 - a262: 8edd or a3,a3,a5 - a264: 337c lbu a5,7(a4) - a266: 07e2 slli a5,a5,0x18 - a268: 8fd5 or a5,a5,a3 - a26a: 5414 lw a3,40(s0) - a26c: f4d787e3 beq a5,a3,a1ba - a270: 02644783 lbu a5,38(s0) - a274: 0017f713 andi a4,a5,1 - a278: cf01 beqz a4,a290 - a27a: 9bf9 andi a5,a5,-2 - a27c: 0027e793 ori a5,a5,2 - a280: 02f40323 sb a5,38(s0) - a284: 8522 mv a0,s0 - a286: 244010ef jal ra,b4ca - a28a: a039 j a298 - a28c: c38c sw a1,0(a5) - a28e: b761 j a216 - a290: 0017e793 ori a5,a5,1 - a294: 02f40323 sb a5,38(s0) - a298: a8ef606f j 526 <__riscv_restore_10> - a29c: 0009a703 lw a4,0(s3) - a2a0: 4901 li s2,0 - a2a2: fff70513 addi a0,a4,-1 - a2a6: 00170813 addi a6,a4,1 - a2aa: 4890 lw a2,16(s1) - a2ac: 3254 lbu a3,5(a2) - a2ae: 225c lbu a5,4(a2) - a2b0: 06a2 slli a3,a3,0x8 - a2b2: 8edd or a3,a3,a5 - a2b4: 227c lbu a5,6(a2) - a2b6: 07c2 slli a5,a5,0x10 - a2b8: 8edd or a3,a3,a5 - a2ba: 327c lbu a5,7(a2) - a2bc: 07e2 slli a5,a5,0x18 - a2be: 8fd5 or a5,a5,a3 - a2c0: 02e79c63 bne a5,a4,a2f8 - a2c4: 2002e537 lui a0,0x2002e - a2c8: c5450793 addi a5,a0,-940 # 2002dc54 - a2cc: 27da lhu a4,12(a5) - a2ce: 24de lhu a5,12(s1) - a2d0: fce7f4e3 bgeu a5,a4,a298 - a2d4: c5450513 addi a0,a0,-940 - a2d8: e61fe0ef jal ra,9138 - a2dc: dd55 beqz a0,a298 - a2de: 00090a63 beqz s2,a2f2 - a2e2: 00a92023 sw a0,0(s2) - a2e6: 85a6 mv a1,s1 - a2e8: f2aff0ef jal ra,9a12 - a2ec: b775 j a298 - a2ee: 84b6 mv s1,a3 - a2f0: bf6d j a2aa - a2f2: 08a42223 sw a0,132(s0) - a2f6: bfc5 j a2e6 - a2f8: 02091063 bnez s2,a318 - a2fc: 40f706b3 sub a3,a4,a5 - a300: 0806de63 bgez a3,a39c - a304: 2002e537 lui a0,0x2002e - a308: c5450513 addi a0,a0,-940 # 2002dc54 - a30c: e2dfe0ef jal ra,9138 - a310: d541 beqz a0,a298 - a312: 08a42223 sw a0,132(s0) - a316: bfc1 j a2e6 - a318: 01092883 lw a7,16(s2) - a31c: 0058c583 lbu a1,5(a7) - a320: 0048c683 lbu a3,4(a7) - a324: 05a2 slli a1,a1,0x8 - a326: 8dd5 or a1,a1,a3 - a328: 0068c683 lbu a3,6(a7) - a32c: 06c2 slli a3,a3,0x10 - a32e: 8dd5 or a1,a1,a3 - a330: 0078c683 lbu a3,7(a7) - a334: 06e2 slli a3,a3,0x18 - a336: 8ecd or a3,a3,a1 - a338: 40d506b3 sub a3,a0,a3 - a33c: 0606c063 bltz a3,a39c - a340: 40f806b3 sub a3,a6,a5 - a344: 04d04c63 bgtz a3,a39c - a348: 2002e537 lui a0,0x2002e - a34c: c5450513 addi a0,a0,-940 # 2002dc54 - a350: de9fe0ef jal ra,9138 - a354: 842a mv s0,a0 - a356: d129 beqz a0,a298 - a358: 01092703 lw a4,16(s2) - a35c: 335c lbu a5,5(a4) - a35e: 234c lbu a1,4(a4) - a360: 07a2 slli a5,a5,0x8 - a362: 8ddd or a1,a1,a5 - a364: 237c lbu a5,6(a4) - a366: 07c2 slli a5,a5,0x10 - a368: 8fcd or a5,a5,a1 - a36a: 336c lbu a1,7(a4) - a36c: 00c95703 lhu a4,12(s2) - a370: 05e2 slli a1,a1,0x18 - a372: 8fcd or a5,a5,a1 - a374: 0009a583 lw a1,0(s3) - a378: 973e add a4,a4,a5 - a37a: 8f0d sub a4,a4,a1 - a37c: 00e05b63 blez a4,a392 - a380: 8d9d sub a1,a1,a5 - a382: 05c2 slli a1,a1,0x10 - a384: 00492503 lw a0,4(s2) - a388: 81c1 srli a1,a1,0x10 - a38a: 00b91623 sh a1,12(s2) - a38e: 895fe0ef jal ra,8c22 - a392: 00892023 sw s0,0(s2) - a396: 85a6 mv a1,s1 - a398: 8522 mv a0,s0 - a39a: b7b9 j a2e8 - a39c: 4094 lw a3,0(s1) - a39e: 8926 mv s2,s1 - a3a0: f6b9 bnez a3,a2ee - a3a2: 40f707b3 sub a5,a4,a5 - a3a6: eef059e3 blez a5,a298 - a3aa: 365c lbu a5,13(a2) - a3ac: 2648 lbu a0,12(a2) - a3ae: 07a2 slli a5,a5,0x8 - a3b0: 8d5d or a0,a0,a5 - a3b2: b00fd0ef jal ra,76b2 - a3b6: 8905 andi a0,a0,1 - a3b8: ee0510e3 bnez a0,a298 - a3bc: 2002e537 lui a0,0x2002e - a3c0: c5450513 addi a0,a0,-940 # 2002dc54 - a3c4: d75fe0ef jal ra,9138 - a3c8: c088 sw a0,0(s1) - a3ca: ec0507e3 beqz a0,a298 - a3ce: 4898 lw a4,16(s1) - a3d0: 335c lbu a5,5(a4) - a3d2: 234c lbu a1,4(a4) - a3d4: 07a2 slli a5,a5,0x8 - a3d6: 8ddd or a1,a1,a5 - a3d8: 237c lbu a5,6(a4) - a3da: 07c2 slli a5,a5,0x10 - a3dc: 8fcd or a5,a5,a1 - a3de: 336c lbu a1,7(a4) - a3e0: 24da lhu a4,12(s1) - a3e2: 05e2 slli a1,a1,0x18 - a3e4: 8fcd or a5,a5,a1 - a3e6: 0009a583 lw a1,0(s3) - a3ea: 973e add a4,a4,a5 - a3ec: 8f0d sub a4,a4,a1 - a3ee: eae055e3 blez a4,a298 - a3f2: 8d9d sub a1,a1,a5 - a3f4: 05c2 slli a1,a1,0x10 - a3f6: 40c8 lw a0,4(s1) - a3f8: 81c1 srli a1,a1,0x10 - a3fa: a4ce sh a1,12(s1) - a3fc: 827fe0ef jal ra,8c22 - a400: bd61 j a298 - a402: 8522 mv a0,s0 - a404: 056010ef jal ra,b45a - a408: bd41 j a298 - a40a: 40d78733 sub a4,a5,a3 - a40e: 00074863 bltz a4,a41e - a412: 345a lhu a4,44(s0) - a414: 0785 addi a5,a5,1 - a416: 8f95 sub a5,a5,a3 - a418: 8f99 sub a5,a5,a4 - a41a: e6f05fe3 blez a5,a298 - a41e: 02644783 lbu a5,38(s0) - a422: bda9 j a27c - -0000a424 : -tcp_parseopt.isra.0(): - a424: 8f2f62ef jal t0,516 <__riscv_save_0> - a428: 9cc18493 addi s1,gp,-1588 # 2000020c - a42c: 0004a903 lw s2,0(s1) - a430: 842a mv s0,a0 - a432: 00d94783 lbu a5,13(s2) - a436: 00c94503 lbu a0,12(s2) - a43a: 07a2 slli a5,a5,0x8 - a43c: 8d5d or a0,a0,a5 - a43e: a74fd0ef jal ra,76b2 - a442: 8131 srli a0,a0,0xc - a444: 0542 slli a0,a0,0x10 - a446: 8141 srli a0,a0,0x10 - a448: 4795 li a5,5 - a44a: 02a7fc63 bgeu a5,a0,a482 - a44e: 409c lw a5,0(s1) - a450: 0951 addi s2,s2,20 - a452: 27c8 lbu a0,12(a5) - a454: 37dc lbu a5,13(a5) - a456: 07a2 slli a5,a5,0x8 - a458: 8d5d or a0,a0,a5 - a45a: a58fd0ef jal ra,76b2 - a45e: 2002e7b7 lui a5,0x2002e - a462: bd47a603 lw a2,-1068(a5) # 2002dbd4 - a466: 8131 srli a0,a0,0xc - a468: 156d addi a0,a0,-5 - a46a: 050a slli a0,a0,0x2 - a46c: 0542 slli a0,a0,0x10 - a46e: 01061593 slli a1,a2,0x10 - a472: 8141 srli a0,a0,0x10 - a474: 81c1 srli a1,a1,0x10 - a476: 4781 li a5,0 - a478: 4805 li a6,1 - a47a: 4889 li a7,2 - a47c: 4311 li t1,4 - a47e: 00a7e463 bltu a5,a0,a486 - a482: 8b8f606f j 53a <__riscv_restore_0> - a486: 00f906b3 add a3,s2,a5 - a48a: 2298 lbu a4,0(a3) - a48c: 01070963 beq a4,a6,a49e - a490: db6d beqz a4,a482 - a492: 01170a63 beq a4,a7,a4a6 - a496: 3298 lbu a4,1(a3) - a498: d76d beqz a4,a482 - a49a: 97ba add a5,a5,a4 - a49c: a011 j a4a0 - a49e: 0785 addi a5,a5,1 - a4a0: 07c2 slli a5,a5,0x10 - a4a2: 83c1 srli a5,a5,0x10 - a4a4: bfe9 j a47e - a4a6: 3298 lbu a4,1(a3) - a4a8: fc671de3 bne a4,t1,a482 - a4ac: 00378713 addi a4,a5,3 - a4b0: fca759e3 bge a4,a0,a482 - a4b4: 22b8 lbu a4,2(a3) - a4b6: 32b4 lbu a3,3(a3) - a4b8: 0722 slli a4,a4,0x8 - a4ba: 8f55 or a4,a4,a3 - a4bc: 00e66363 bltu a2,a4,a4c2 - a4c0: e311 bnez a4,a4c4 - a4c2: 872e mv a4,a1 - a4c4: a01a sh a4,0(s0) - a4c6: 0791 addi a5,a5,4 - a4c8: bfe1 j a4a0 - -0000a4ca : -tcp_input(): - a4ca: 81cf62ef jal t0,4e6 <__riscv_save_12> - a4ce: 4140 lw s0,4(a0) - a4d0: 8baa mv s7,a0 - a4d2: 301c lbu a5,1(s0) - a4d4: 2008 lbu a0,0(s0) - a4d6: 1141 addi sp,sp,-16 - a4d8: 07a2 slli a5,a5,0x8 - a4da: 9b818913 addi s2,gp,-1608 # 200001f8 - a4de: 8d5d or a0,a0,a5 - a4e0: 89ae mv s3,a1 - a4e2: 00892023 sw s0,0(s2) - a4e6: 9ccfd0ef jal ra,76b2 - a4ea: 00092783 lw a5,0(s2) - a4ee: 8119 srli a0,a0,0x6 - a4f0: 03c57513 andi a0,a0,60 - a4f4: 942a add s0,s0,a0 - a4f6: 2388 lbu a0,0(a5) - a4f8: 339c lbu a5,1(a5) - a4fa: 9c81a623 sw s0,-1588(gp) # 2000020c - a4fe: 07a2 slli a5,a5,0x8 - a500: 8d5d or a0,a0,a5 - a502: 9b0fd0ef jal ra,76b2 - a506: 00655593 srli a1,a0,0x6 - a50a: 03c5f593 andi a1,a1,60 - a50e: 40b005b3 neg a1,a1 - a512: 855e mv a0,s7 - a514: d12fe0ef jal ra,8a26 - a518: e511 bnez a0,a524 - a51a: 008bd703 lhu a4,8(s7) - a51e: 47cd li a5,19 - a520: 00e7e863 bltu a5,a4,a530 - a524: 855e mv a0,s7 - a526: d6efe0ef jal ra,8a94 - a52a: 0141 addi sp,sp,16 - a52c: ff7f506f j 522 <__riscv_restore_12> - a530: 9b818b13 addi s6,gp,-1608 # 200001f8 - a534: 000b2503 lw a0,0(s6) - a538: 85ce mv a1,s3 - a53a: 0541 addi a0,a0,16 - a53c: e2afd0ef jal ra,7b66 - a540: f175 bnez a0,a524 - a542: 000b2703 lw a4,0(s6) - a546: f0000537 lui a0,0xf0000 - a54a: 3b1c lbu a5,17(a4) - a54c: 2b00 lbu s0,16(a4) - a54e: 07a2 slli a5,a5,0x8 - a550: 8fc1 or a5,a5,s0 - a552: 2b20 lbu s0,18(a4) - a554: 0442 slli s0,s0,0x10 - a556: 8fc1 or a5,a5,s0 - a558: 3b20 lbu s0,19(a4) - a55a: 0462 slli s0,s0,0x18 - a55c: 8c5d or s0,s0,a5 - a55e: 986fd0ef jal ra,76e4 - a562: 8c69 and s0,s0,a0 - a564: e0000537 lui a0,0xe0000 - a568: 97cfd0ef jal ra,76e4 - a56c: faa40ce3 beq s0,a0,a524 - a570: 000b2583 lw a1,0(s6) - a574: 008bd703 lhu a4,8(s7) - a578: 4699 li a3,6 - a57a: 01058613 addi a2,a1,16 - a57e: 855e mv a0,s7 - a580: 05b1 addi a1,a1,12 - a582: 629010ef jal ra,c3aa - a586: fd59 bnez a0,a524 - a588: 9cc18493 addi s1,gp,-1588 # 2000020c - a58c: 409c lw a5,0(s1) - a58e: 27c8 lbu a0,12(a5) - a590: 37dc lbu a5,13(a5) - a592: 07a2 slli a5,a5,0x8 - a594: 8d5d or a0,a0,a5 - a596: 91cfd0ef jal ra,76b2 - a59a: 8131 srli a0,a0,0xc - a59c: 55f1 li a1,-4 - a59e: 02b505b3 mul a1,a0,a1 - a5a2: 855e mv a0,s7 - a5a4: 05c2 slli a1,a1,0x10 - a5a6: 85c1 srai a1,a1,0x10 - a5a8: c7efe0ef jal ra,8a26 - a5ac: fd25 bnez a0,a524 - a5ae: 4080 lw s0,0(s1) - a5b0: 301c lbu a5,1(s0) - a5b2: 2008 lbu a0,0(s0) - a5b4: 07a2 slli a5,a5,0x8 - a5b6: 8d5d or a0,a0,a5 - a5b8: 8fafd0ef jal ra,76b2 - a5bc: a008 sb a0,0(s0) - a5be: 8121 srli a0,a0,0x8 - a5c0: b008 sb a0,1(s0) - a5c2: 4080 lw s0,0(s1) - a5c4: 303c lbu a5,3(s0) - a5c6: 2028 lbu a0,2(s0) - a5c8: 07a2 slli a5,a5,0x8 - a5ca: 8d5d or a0,a0,a5 - a5cc: 8e6fd0ef jal ra,76b2 - a5d0: a028 sb a0,2(s0) - a5d2: 8121 srli a0,a0,0x8 - a5d4: b028 sb a0,3(s0) - a5d6: 4080 lw s0,0(s1) - a5d8: 3048 lbu a0,5(s0) - a5da: 205c lbu a5,4(s0) - a5dc: 0522 slli a0,a0,0x8 - a5de: 8d5d or a0,a0,a5 - a5e0: 207c lbu a5,6(s0) - a5e2: 07c2 slli a5,a5,0x10 - a5e4: 8fc9 or a5,a5,a0 - a5e6: 3068 lbu a0,7(s0) - a5e8: 0562 slli a0,a0,0x18 - a5ea: 8d5d or a0,a0,a5 - a5ec: 8f8fd0ef jal ra,76e4 - a5f0: 00855793 srli a5,a0,0x8 - a5f4: b05c sb a5,5(s0) - a5f6: 01055793 srli a5,a0,0x10 - a5fa: a07c sb a5,6(s0) - a5fc: 01855793 srli a5,a0,0x18 - a600: a048 sb a0,4(s0) - a602: b07c sb a5,7(s0) - a604: 4080 lw s0,0(s1) - a606: 9ca1a223 sw a0,-1596(gp) # 20000204 - a60a: 9c418a93 addi s5,gp,-1596 # 20000204 - a60e: 3408 lbu a0,9(s0) - a610: 241c lbu a5,8(s0) - a612: 0522 slli a0,a0,0x8 - a614: 8d5d or a0,a0,a5 - a616: 243c lbu a5,10(s0) - a618: 07c2 slli a5,a5,0x10 - a61a: 8fc9 or a5,a5,a0 - a61c: 3428 lbu a0,11(s0) - a61e: 0562 slli a0,a0,0x18 - a620: 8d5d or a0,a0,a5 - a622: 8c2fd0ef jal ra,76e4 - a626: 00855793 srli a5,a0,0x8 - a62a: b41c sb a5,9(s0) - a62c: 01055793 srli a5,a0,0x10 - a630: a43c sb a5,10(s0) - a632: 01855793 srli a5,a0,0x18 - a636: a408 sb a0,8(s0) - a638: b43c sb a5,11(s0) - a63a: 4080 lw s0,0(s1) - a63c: 9aa1a823 sw a0,-1616(gp) # 200001f0 - a640: 9b018913 addi s2,gp,-1616 # 200001f0 - a644: 347c lbu a5,15(s0) - a646: 2468 lbu a0,14(s0) - a648: 07a2 slli a5,a5,0x8 - a64a: 8d5d or a0,a0,a5 - a64c: 866fd0ef jal ra,76b2 - a650: 409c lw a5,0(s1) - a652: a468 sb a0,14(s0) - a654: 8121 srli a0,a0,0x8 - a656: b468 sb a0,15(s0) - a658: 27c8 lbu a0,12(a5) - a65a: 37dc lbu a5,13(a5) - a65c: 07a2 slli a5,a5,0x8 - a65e: 8d5d or a0,a0,a5 - a660: 852fd0ef jal ra,76b2 - a664: 0ff57893 andi a7,a0,255 - a668: 008bd503 lhu a0,8(s7) - a66c: 0038f593 andi a1,a7,3 - a670: 00b035b3 snez a1,a1 - a674: 95aa add a1,a1,a0 - a676: 9941a303 lw t1,-1644(gp) # 200001d4 - a67a: 05c2 slli a1,a1,0x10 - a67c: 4094 lw a3,0(s1) - a67e: 000b2803 lw a6,0(s6) - a682: 03f8f793 andi a5,a7,63 - a686: 81c1 srli a1,a1,0x10 - a688: 9af18a23 sb a5,-1612(gp) # 200001f4 - a68c: 9cb19823 sh a1,-1584(gp) # 20000210 - a690: 841a mv s0,t1 - a692: 4601 li a2,0 - a694: 9b418c93 addi s9,gp,-1612 # 200001f4 - a698: 9d018c13 addi s8,gp,-1584 # 20000210 - a69c: e401 bnez s0,a6a4 - a69e: 9ac1a503 lw a0,-1620(gp) # 200001ec - a6a2: aad9 j a878 - a6a4: 329c lbu a5,1(a3) - a6a6: 0006ce03 lbu t3,0(a3) - a6aa: 305a lhu a4,36(s0) - a6ac: 07a2 slli a5,a5,0x8 - a6ae: 01c7e7b3 or a5,a5,t3 - a6b2: 0ef71963 bne a4,a5,a7a4 - a6b6: 32bc lbu a5,3(a3) - a6b8: 0026ce03 lbu t3,2(a3) - a6bc: 2c5a lhu a4,28(s0) - a6be: 07a2 slli a5,a5,0x8 - a6c0: 01c7e7b3 or a5,a5,t3 - a6c4: 0ef71063 bne a4,a5,a7a4 - a6c8: 00d84703 lbu a4,13(a6) - a6cc: 00c84783 lbu a5,12(a6) - a6d0: 0722 slli a4,a4,0x8 - a6d2: 8f5d or a4,a4,a5 - a6d4: 00e84783 lbu a5,14(a6) - a6d8: 07c2 slli a5,a5,0x10 - a6da: 8f5d or a4,a4,a5 - a6dc: 00f84783 lbu a5,15(a6) - a6e0: 07e2 slli a5,a5,0x18 - a6e2: 8fd9 or a5,a5,a4 - a6e4: 4058 lw a4,4(s0) - a6e6: 0af71f63 bne a4,a5,a7a4 - a6ea: 01184703 lbu a4,17(a6) - a6ee: 01084783 lbu a5,16(a6) - a6f2: 0722 slli a4,a4,0x8 - a6f4: 8f5d or a4,a4,a5 - a6f6: 01284783 lbu a5,18(a6) - a6fa: 07c2 slli a5,a5,0x10 - a6fc: 8f5d or a4,a4,a5 - a6fe: 01384783 lbu a5,19(a6) - a702: 07e2 slli a5,a5,0x18 - a704: 8fd9 or a5,a5,a4 - a706: 4018 lw a4,0(s0) - a708: 08f71e63 bne a4,a5,a7a4 - a70c: c619 beqz a2,a71a - a70e: 445c lw a5,12(s0) - a710: 9881aa23 sw s0,-1644(gp) # 200001d4 - a714: c65c sw a5,12(a2) - a716: 00642623 sw t1,12(s0) - a71a: 004ba703 lw a4,4(s7) - a71e: 2002edb7 lui s11,0x2002e - a722: 08842603 lw a2,136(s0) - a726: c54d8793 addi a5,s11,-940 # 2002dc54 - a72a: 9a01ae23 sw zero,-1604(gp) # 200001fc - a72e: 9c018023 sb zero,-1600(gp) # 20000200 - a732: 0007a023 sw zero,0(a5) - a736: a7ca sh a0,12(a5) - a738: c798 sw a4,8(a5) - a73a: 0177a223 sw s7,4(a5) - a73e: cb94 sw a3,16(a5) - a740: 9c018a13 addi s4,gp,-1600 # 20000200 - a744: 9bc18d13 addi s10,gp,-1604 # 200001fc - a748: c54d8d93 addi s11,s11,-940 - a74c: ce09 beqz a2,a766 - a74e: 09042783 lw a5,144(s0) - a752: 4681 li a3,0 - a754: 85a2 mv a1,s0 - a756: 2e078f63 beqz a5,aa54 - a75a: 4c08 lw a0,24(s0) - a75c: 9782 jalr a5 - a75e: dc0513e3 bnez a0,a524 - a762: 08042423 sw zero,136(s0) - a766: 000cc783 lbu a5,0(s9) - a76a: 9c81a423 sw s0,-1592(gp) # 20000208 - a76e: 0047f713 andi a4,a5,4 - a772: 9c818b93 addi s7,gp,-1592 # 20000208 - a776: 34070263 beqz a4,aaba - a77a: 4818 lw a4,16(s0) - a77c: 4789 li a5,2 - a77e: 2cf71f63 bne a4,a5,aa5c - a782: 5038 lw a4,96(s0) - a784: 00092783 lw a5,0(s2) - a788: 2ef71463 bne a4,a5,aa70 - a78c: 000a4783 lbu a5,0(s4) - a790: 0087e793 ori a5,a5,8 - a794: 00fa0023 sb a5,0(s4) - a798: 02644783 lbu a5,38(s0) - a79c: 9bf9 andi a5,a5,-2 - a79e: 02f40323 sb a5,38(s0) - a7a2: a4f9 j aa70 - a7a4: 8622 mv a2,s0 - a7a6: 4440 lw s0,12(s0) - a7a8: bdd5 j a69c - a7aa: 3298 lbu a4,1(a3) - a7ac: 229c lbu a5,0(a3) - a7ae: 0722 slli a4,a4,0x8 - a7b0: 8f5d or a4,a4,a5 - a7b2: 315e lhu a5,36(a0) - a7b4: 0ce79163 bne a5,a4,a876 - a7b8: 32b0 lbu a2,3(a3) - a7ba: 22b8 lbu a4,2(a3) - a7bc: 0622 slli a2,a2,0x8 - a7be: 8e59 or a2,a2,a4 - a7c0: 2d5a lhu a4,28(a0) - a7c2: 0ac71a63 bne a4,a2,a876 - a7c6: 00d84303 lbu t1,13(a6) - a7ca: 00c84603 lbu a2,12(a6) - a7ce: 0322 slli t1,t1,0x8 - a7d0: 00c36333 or t1,t1,a2 - a7d4: 00e84603 lbu a2,14(a6) - a7d8: 0642 slli a2,a2,0x10 - a7da: 00666333 or t1,a2,t1 - a7de: 00f84603 lbu a2,15(a6) - a7e2: 0662 slli a2,a2,0x18 - a7e4: 00666633 or a2,a2,t1 - a7e8: 00452303 lw t1,4(a0) # e0000004 <__freertos_irq_stack_top+0xbffd0004> - a7ec: 08c31563 bne t1,a2,a876 - a7f0: 01184303 lbu t1,17(a6) - a7f4: 01084603 lbu a2,16(a6) - a7f8: 0322 slli t1,t1,0x8 - a7fa: 00c36333 or t1,t1,a2 - a7fe: 01284603 lbu a2,18(a6) - a802: 0642 slli a2,a2,0x10 - a804: 00666333 or t1,a2,t1 - a808: 01384603 lbu a2,19(a6) - a80c: 0662 slli a2,a2,0x18 - a80e: 00666633 or a2,a2,t1 - a812: 00052303 lw t1,0(a0) - a816: 06c31063 bne t1,a2,a876 - a81a: 0048f693 andi a3,a7,4 - a81e: d00693e3 bnez a3,a524 - a822: 0028f693 andi a3,a7,2 - a826: c695 beqz a3,a852 - a828: 000aa883 lw a7,0(s5) - a82c: 5514 lw a3,40(a0) - a82e: 40d886b3 sub a3,a7,a3 - a832: 0206c763 bltz a3,a860 - a836: 3552 lhu a2,44(a0) - a838: 8e91 sub a3,a3,a2 - a83a: 02d04363 bgtz a3,a860 - a83e: 00c80693 addi a3,a6,12 - a842: 01080613 addi a2,a6,16 - a846: 95c6 add a1,a1,a7 - a848: 00092503 lw a0,0(s2) - a84c: 7e7000ef jal ra,b832 - a850: b9d1 j a524 - a852: 0018f893 andi a7,a7,1 - a856: 00088563 beqz a7,a860 - a85a: 9a01a783 lw a5,-1632(gp) # 200001e0 - a85e: dd1c sw a5,56(a0) - a860: cc0582e3 beqz a1,a524 - a864: 02654783 lbu a5,38(a0) - a868: 0027e793 ori a5,a5,2 - a86c: 02f50323 sb a5,38(a0) - a870: 45b000ef jal ra,b4ca - a874: b945 j a524 - a876: 4548 lw a0,12(a0) - a878: f90d bnez a0,a7aa - a87a: 99c1a303 lw t1,-1636(gp) # 200001dc - a87e: 8e3e mv t3,a5 - a880: 8a1a mv s4,t1 - a882: 000a1c63 bnez s4,a89a - a886: 36dc lbu a5,13(a3) - a888: 26c8 lbu a0,12(a3) - a88a: 07a2 slli a5,a5,0x8 - a88c: 8d5d or a0,a0,a5 - a88e: e25fc0ef jal ra,76b2 - a892: 8911 andi a0,a0,4 - a894: c80518e3 bnez a0,a524 - a898: a045 j a938 - a89a: 000a2603 lw a2,0(s4) - a89e: c20d beqz a2,a8c0 - a8a0: 01184703 lbu a4,17(a6) - a8a4: 01084783 lbu a5,16(a6) - a8a8: 0722 slli a4,a4,0x8 - a8aa: 8f5d or a4,a4,a5 - a8ac: 01284783 lbu a5,18(a6) - a8b0: 07c2 slli a5,a5,0x10 - a8b2: 8f5d or a4,a4,a5 - a8b4: 01384783 lbu a5,19(a6) - a8b8: 07e2 slli a5,a5,0x18 - a8ba: 8fd9 or a5,a5,a4 - a8bc: 18f61863 bne a2,a5,aa4c - a8c0: 32b8 lbu a4,3(a3) - a8c2: 22b0 lbu a2,2(a3) - a8c4: 01ca5783 lhu a5,28(s4) - a8c8: 0722 slli a4,a4,0x8 - a8ca: 8f51 or a4,a4,a2 - a8cc: 18e79063 bne a5,a4,aa4c - a8d0: c901 beqz a0,a8e0 - a8d2: 00ca2783 lw a5,12(s4) - a8d6: 9941ae23 sw s4,-1636(gp) # 200001dc - a8da: c55c sw a5,12(a0) - a8dc: 006a2623 sw t1,12(s4) - a8e0: 0108f793 andi a5,a7,16 - a8e4: cf89 beqz a5,a8fe - a8e6: 329c lbu a5,1(a3) - a8e8: 2290 lbu a2,0(a3) - a8ea: 000aa503 lw a0,0(s5) - a8ee: 07a2 slli a5,a5,0x8 - a8f0: 8fd1 or a5,a5,a2 - a8f2: 00c80693 addi a3,a6,12 - a8f6: 01080613 addi a2,a6,16 - a8fa: 95aa add a1,a1,a0 - a8fc: b7b1 j a848 - a8fe: 0028f893 andi a7,a7,2 - a902: c20881e3 beqz a7,a524 - a906: 9581a883 lw a7,-1704(gp) # 20000198 - a90a: 04088e63 beqz a7,a966 - a90e: 00d84503 lbu a0,13(a6) - a912: 00c84783 lbu a5,12(a6) - a916: 228c lbu a1,0(a3) - a918: 0522 slli a0,a0,0x8 - a91a: 8d5d or a0,a0,a5 - a91c: 00e84783 lbu a5,14(a6) - a920: 3294 lbu a3,1(a3) - a922: 863a mv a2,a4 - a924: 07c2 slli a5,a5,0x10 - a926: 8fc9 or a5,a5,a0 - a928: 00f84503 lbu a0,15(a6) - a92c: 06a2 slli a3,a3,0x8 - a92e: 8dd5 or a1,a1,a3 - a930: 0562 slli a0,a0,0x18 - a932: 8d5d or a0,a0,a5 - a934: 9882 jalr a7 - a936: c905 beqz a0,a966 - a938: 4094 lw a3,0(s1) - a93a: 000b2603 lw a2,0(s6) - a93e: 000c5503 lhu a0,0(s8) - a942: 329c lbu a5,1(a3) - a944: 32b8 lbu a4,3(a3) - a946: 0006c883 lbu a7,0(a3) - a94a: 0026c803 lbu a6,2(a3) - a94e: 07a2 slli a5,a5,0x8 - a950: 0722 slli a4,a4,0x8 - a952: 00c60693 addi a3,a2,12 - a956: 000aa583 lw a1,0(s5) - a95a: 0117e7b3 or a5,a5,a7 - a95e: 01076733 or a4,a4,a6 - a962: 0641 addi a2,a2,16 - a964: bf59 j a8fa - a966: 014a4503 lbu a0,20(s4) - a96a: e1dfe0ef jal ra,9786 - a96e: 842a mv s0,a0 - a970: ba050ae3 beqz a0,a524 - a974: 000b2783 lw a5,0(s6) - a978: 4701 li a4,0 - a97a: 01078693 addi a3,a5,16 - a97e: ca99 beqz a3,a994 - a980: 3b94 lbu a3,17(a5) - a982: 2b98 lbu a4,16(a5) - a984: 06a2 slli a3,a3,0x8 - a986: 8ed9 or a3,a3,a4 - a988: 2bb8 lbu a4,18(a5) - a98a: 0742 slli a4,a4,0x10 - a98c: 8ed9 or a3,a3,a4 - a98e: 3bb8 lbu a4,19(a5) - a990: 0762 slli a4,a4,0x18 - a992: 8f55 or a4,a4,a3 - a994: c018 sw a4,0(s0) - a996: 01ca5703 lhu a4,28(s4) - a99a: 00c78693 addi a3,a5,12 - a99e: ac5a sh a4,28(s0) - a9a0: 4701 li a4,0 - a9a2: ca99 beqz a3,a9b8 - a9a4: 37d4 lbu a3,13(a5) - a9a6: 27d8 lbu a4,12(a5) - a9a8: 06a2 slli a3,a3,0x8 - a9aa: 8ed9 or a3,a3,a4 - a9ac: 27f8 lbu a4,14(a5) - a9ae: 0742 slli a4,a4,0x10 - a9b0: 8ed9 or a3,a3,a4 - a9b2: 37f8 lbu a4,15(a5) - a9b4: 0762 slli a4,a4,0x18 - a9b6: 8f55 or a4,a4,a3 - a9b8: 4094 lw a3,0(s1) - a9ba: c058 sw a4,4(s0) - a9bc: 04040513 addi a0,s0,64 - a9c0: 329c lbu a5,1(a3) - a9c2: 2298 lbu a4,0(a3) - a9c4: 07a2 slli a5,a5,0x8 - a9c6: 8fd9 or a5,a5,a4 - a9c8: 000aa703 lw a4,0(s5) - a9cc: b05e sh a5,36(s0) - a9ce: 478d li a5,3 - a9d0: c81c sw a5,16(s0) - a9d2: 00170793 addi a5,a4,1 - a9d6: d41c sw a5,40(s0) - a9d8: d81c sw a5,48(s0) - a9da: 36fc lbu a5,15(a3) - a9dc: 26f0 lbu a2,14(a3) - a9de: 177d addi a4,a4,-1 - a9e0: 07a2 slli a5,a5,0x8 - a9e2: 8fd1 or a5,a5,a2 - a9e4: 06f41223 sh a5,100(s0) - a9e8: 04f41e23 sh a5,92(s0) - a9ec: 018a2783 lw a5,24(s4) - a9f0: d438 sw a4,104(s0) - a9f2: cc1c sw a5,24(s0) - a9f4: 2002e7b7 lui a5,0x2002e - a9f8: bd47d783 lhu a5,-1068(a5) # 2002dbd4 - a9fc: b45e sh a5,44(s0) - a9fe: b47e sh a5,46(s0) - aa00: 020a2783 lw a5,32(s4) - aa04: d01c sw a5,32(s0) - aa06: 008a5783 lhu a5,8(s4) - aa0a: 1997f793 andi a5,a5,409 - aa0e: a41e sh a5,8(s0) - aa10: 9941a783 lw a5,-1644(gp) # 200001d4 - aa14: 9881aa23 sw s0,-1644(gp) # 200001d4 - aa18: c45c sw a5,12(s0) - aa1a: a0bff0ef jal ra,a424 - aa1e: 04045503 lhu a0,64(s0) - aa22: 00440593 addi a1,s0,4 - aa26: ea5fe0ef jal ra,98ca - aa2a: 04a41023 sh a0,64(s0) - aa2e: 4785 li a5,1 - aa30: 4701 li a4,0 - aa32: 46c9 li a3,18 - aa34: 4601 li a2,0 - aa36: 4581 li a1,0 - aa38: 8522 mv a0,s0 - aa3a: 2b49 jal afcc - aa3c: c511 beqz a0,aa48 - aa3e: 4581 li a1,0 - aa40: 8522 mv a0,s0 - aa42: c9bfe0ef jal ra,96dc - aa46: bcf9 j a524 - aa48: 8522 mv a0,s0 - aa4a: b51d j a870 - aa4c: 8552 mv a0,s4 - aa4e: 00ca2a03 lw s4,12(s4) - aa52: bd05 j a882 - aa54: 4501 li a0,0 - aa56: b57fe0ef jal ra,95ac - aa5a: b311 j a75e - aa5c: 000aa783 lw a5,0(s5) - aa60: 5418 lw a4,40(s0) - aa62: 8f99 sub a5,a5,a4 - aa64: 0007c663 bltz a5,aa70 - aa68: 345a lhu a4,44(s0) - aa6a: 8f99 sub a5,a5,a4 - aa6c: d2f050e3 blez a5,a78c - aa70: 000a4783 lbu a5,0(s4) - aa74: 0087f713 andi a4,a5,8 - aa78: 3e070063 beqz a4,ae58 - aa7c: 00f10593 addi a1,sp,15 - aa80: 8522 mv a0,s0 - aa82: 873fb0ef jal ra,62f4 - aa86: 4785 li a5,1 - aa88: 00f51663 bne a0,a5,aa94 - aa8c: 4818 lw a4,16(s0) - aa8e: 4789 li a5,2 - aa90: 1cf70163 beq a4,a5,ac52 - aa94: 8522 mv a0,s0 - aa96: f35fb0ef jal ra,69ca - aa9a: 09c42783 lw a5,156(s0) - aa9e: c781 beqz a5,aaa6 - aaa0: 4c08 lw a0,24(s0) - aaa2: 55e9 li a1,-6 - aaa4: 9782 jalr a5 - aaa6: 85a2 mv a1,s0 - aaa8: 99418513 addi a0,gp,-1644 # 200001d4 - aaac: 9ddfe0ef jal ra,9488 - aab0: 85a2 mv a1,s0 - aab2: 4509 li a0,2 - aab4: e0ffd0ef jal ra,88c2 - aab8: aa69 j ac52 - aaba: 8b89 andi a5,a5,2 - aabc: c385 beqz a5,aadc - aabe: 481c lw a5,16(s0) - aac0: 4705 li a4,1 - aac2: 17f9 addi a5,a5,-2 - aac4: 00f77c63 bgeu a4,a5,aadc - aac8: 02644783 lbu a5,38(s0) - aacc: 8522 mv a0,s0 - aace: 0027e793 ori a5,a5,2 - aad2: 02f40323 sb a5,38(s0) - aad6: 1f5000ef jal ra,b4ca - aada: bf59 j aa70 - aadc: 9a01a783 lw a5,-1632(gp) # 200001e0 - aae0: 0a0408a3 sb zero,177(s0) - aae4: 04040513 addi a0,s0,64 - aae8: dc1c sw a5,56(s0) - aaea: 93bff0ef jal ra,a424 - aaee: 481c lw a5,16(s0) - aaf0: 471d li a4,7 - aaf2: 17f9 addi a5,a5,-2 - aaf4: f6f76ee3 bltu a4,a5,aa70 - aaf8: 6735 lui a4,0xd - aafa: 078a slli a5,a5,0x2 - aafc: 3ec70713 addi a4,a4,1004 # d3ec - ab00: 97ba add a5,a5,a4 - ab02: 439c lw a5,0(a5) - ab04: 8782 jr a5 - ab06: 000cc783 lbu a5,0(s9) - ab0a: 4749 li a4,18 - ab0c: 8bc9 andi a5,a5,18 - ab0e: 0ce79263 bne a5,a4,abd2 - ab12: 08042783 lw a5,128(s0) - ab16: 4b98 lw a4,16(a5) - ab18: 3348 lbu a0,5(a4) - ab1a: 235c lbu a5,4(a4) - ab1c: 0522 slli a0,a0,0x8 - ab1e: 8d5d or a0,a0,a5 - ab20: 237c lbu a5,6(a4) - ab22: 07c2 slli a5,a5,0x10 - ab24: 8fc9 or a5,a5,a0 - ab26: 3368 lbu a0,7(a4) - ab28: 0562 slli a0,a0,0x18 - ab2a: 8d5d or a0,a0,a5 - ab2c: bb9fc0ef jal ra,76e4 - ab30: 00092783 lw a5,0(s2) - ab34: 0505 addi a0,a0,1 - ab36: 08f51e63 bne a0,a5,abd2 - ab3a: 07645783 lhu a5,118(s0) - ab3e: 000aa703 lw a4,0(s5) - ab42: 4094 lw a3,0(s1) - ab44: 0785 addi a5,a5,1 - ab46: 06f41b23 sh a5,118(s0) - ab4a: 00170793 addi a5,a4,1 - ab4e: c868 sw a0,84(s0) - ab50: d41c sw a5,40(s0) - ab52: d81c sw a5,48(s0) - ab54: 36fc lbu a5,15(a3) - ab56: 26f0 lbu a2,14(a3) - ab58: 04045503 lhu a0,64(s0) - ab5c: 07a2 slli a5,a5,0x8 - ab5e: 8fd1 or a5,a5,a2 - ab60: 177d addi a4,a4,-1 - ab62: 06f41223 sh a5,100(s0) - ab66: 4791 li a5,4 - ab68: d438 sw a4,104(s0) - ab6a: c81c sw a5,16(s0) - ab6c: 00440593 addi a1,s0,4 - ab70: d5bfe0ef jal ra,98ca - ab74: 47a9 li a5,10 - ab76: 02f507b3 mul a5,a0,a5 - ab7a: 05a45703 lhu a4,90(s0) - ab7e: 04a41023 sh a0,64(s0) - ab82: 04f41e23 sh a5,92(s0) - ab86: 4785 li a5,1 - ab88: 00f71563 bne a4,a5,ab92 - ab8c: 0506 slli a0,a0,0x1 - ab8e: 0542 slli a0,a0,0x10 - ab90: 8141 srli a0,a0,0x10 - ab92: 07845783 lhu a5,120(s0) - ab96: 04a41d23 sh a0,90(s0) - ab9a: 08042503 lw a0,128(s0) - ab9e: 17fd addi a5,a5,-1 - aba0: 06f41c23 sh a5,120(s0) - aba4: 411c lw a5,0(a0) - aba6: 04040923 sb zero,82(s0) - abaa: 04042223 sw zero,68(s0) - abae: 08f42023 sw a5,128(s0) - abb2: 0017b793 seqz a5,a5 - abb6: 40f007b3 neg a5,a5 - abba: bc7e sh a5,62(s0) - abbc: d34fe0ef jal ra,90f0 - abc0: 09442783 lw a5,148(s0) - abc4: f00782e3 beqz a5,aac8 - abc8: 4c08 lw a0,24(s0) - abca: 4601 li a2,0 - abcc: 85a2 mv a1,s0 - abce: 9782 jalr a5 - abd0: bde5 j aac8 - abd2: 000cc783 lbu a5,0(s9) - abd6: 8bc1 andi a5,a5,16 - abd8: e8078ce3 beqz a5,aa70 - abdc: 4094 lw a3,0(s1) - abde: 000c5503 lhu a0,0(s8) - abe2: 000aa583 lw a1,0(s5) - abe6: 329c lbu a5,1(a3) - abe8: 32b8 lbu a4,3(a3) - abea: 000b2603 lw a2,0(s6) - abee: 0006c883 lbu a7,0(a3) - abf2: 0026c803 lbu a6,2(a3) - abf6: 95aa add a1,a1,a0 - abf8: 00092503 lw a0,0(s2) - abfc: 07a2 slli a5,a5,0x8 - abfe: 0722 slli a4,a4,0x8 - ac00: 00c60693 addi a3,a2,12 - ac04: 0117e7b3 or a5,a5,a7 - ac08: 01076733 or a4,a4,a6 - ac0c: 0641 addi a2,a2,16 - ac0e: 425000ef jal ra,b832 - ac12: bdb9 j aa70 - ac14: 000cc783 lbu a5,0(s9) - ac18: 0107f713 andi a4,a5,16 - ac1c: c769 beqz a4,ace6 - ac1e: 00092503 lw a0,0(s2) - ac22: 4878 lw a4,84(s0) - ac24: fff50793 addi a5,a0,-1 - ac28: 8f99 sub a5,a5,a4 - ac2a: 0807c663 bltz a5,acb6 - ac2e: 503c lw a5,96(s0) - ac30: 40f507b3 sub a5,a0,a5 - ac34: 08f04163 bgtz a5,acb6 - ac38: 4791 li a5,4 - ac3a: c81c sw a5,16(s0) - ac3c: 501c lw a5,32(s0) - ac3e: c78d beqz a5,ac68 - ac40: 4c08 lw a0,24(s0) - ac42: 4601 li a2,0 - ac44: 85a2 mv a1,s0 - ac46: 9782 jalr a5 - ac48: c105 beqz a0,ac68 - ac4a: 4585 li a1,1 - ac4c: 8522 mv a0,s0 - ac4e: a8ffe0ef jal ra,96dc - ac52: 004da503 lw a0,4(s11) - ac56: 000ba023 sw zero,0(s7) - ac5a: 8c0508e3 beqz a0,a52a - ac5e: e37fd0ef jal ra,8a94 - ac62: 000da223 sw zero,4(s11) - ac66: b0d1 j a52a - ac68: 8522 mv a0,s0 - ac6a: 05a45483 lhu s1,90(s0) - ac6e: e73fe0ef jal ra,9ae0 - ac72: 07445783 lhu a5,116(s0) - ac76: c781 beqz a5,ac7e - ac78: 17fd addi a5,a5,-1 - ac7a: 06f41a23 sh a5,116(s0) - ac7e: 4705 li a4,1 - ac80: 04045783 lhu a5,64(s0) - ac84: 00e49563 bne s1,a4,ac8e - ac88: 0786 slli a5,a5,0x1 - ac8a: 07c2 slli a5,a5,0x10 - ac8c: 83c1 srli a5,a5,0x10 - ac8e: 04f41d23 sh a5,90(s0) - ac92: 000a4783 lbu a5,0(s4) - ac96: 0207f793 andi a5,a5,32 - ac9a: dc078be3 beqz a5,aa70 - ac9e: 02644783 lbu a5,38(s0) - aca2: 8522 mv a0,s0 - aca4: 0027e793 ori a5,a5,2 - aca8: 02f40323 sb a5,38(s0) - acac: 01f000ef jal ra,b4ca - acb0: 479d li a5,7 - acb2: c81c sw a5,16(s0) - acb4: bb75 j aa70 - acb6: 4094 lw a3,0(s1) - acb8: 000b2603 lw a2,0(s6) - acbc: 000c5803 lhu a6,0(s8) - acc0: 329c lbu a5,1(a3) - acc2: 32b8 lbu a4,3(a3) - acc4: 0006c303 lbu t1,0(a3) - acc8: 0026c883 lbu a7,2(a3) - accc: 000aa583 lw a1,0(s5) - acd0: 07a2 slli a5,a5,0x8 - acd2: 0722 slli a4,a4,0x8 - acd4: 00c60693 addi a3,a2,12 - acd8: 0067e7b3 or a5,a5,t1 - acdc: 01176733 or a4,a4,a7 - ace0: 0641 addi a2,a2,16 - ace2: 95c2 add a1,a1,a6 - ace4: b72d j ac0e - ace6: 8b89 andi a5,a5,2 - ace8: d80784e3 beqz a5,aa70 - acec: 541c lw a5,40(s0) - acee: 000aa703 lw a4,0(s5) - acf2: 17fd addi a5,a5,-1 - acf4: d6e79ee3 bne a5,a4,aa70 - acf8: 8522 mv a0,s0 - acfa: 477000ef jal ra,b970 - acfe: bb8d j aa70 - ad00: 8522 mv a0,s0 - ad02: ddffe0ef jal ra,9ae0 - ad06: b771 j ac92 - ad08: 8522 mv a0,s0 - ad0a: dd7fe0ef jal ra,9ae0 - ad0e: 000a4783 lbu a5,0(s4) - ad12: 0207f793 andi a5,a5,32 - ad16: c3c1 beqz a5,ad96 - ad18: 000cc703 lbu a4,0(s9) - ad1c: 02644783 lbu a5,38(s0) - ad20: 8b41 andi a4,a4,16 - ad22: 0027e793 ori a5,a5,2 - ad26: c32d beqz a4,ad88 - ad28: 5034 lw a3,96(s0) - ad2a: 00092703 lw a4,0(s2) - ad2e: 04e69d63 bne a3,a4,ad88 - ad32: 02f40323 sb a5,38(s0) - ad36: 8522 mv a0,s0 - ad38: 792000ef jal ra,b4ca - ad3c: 8522 mv a0,s0 - ad3e: c42fe0ef jal ra,9180 - ad42: 9941a783 lw a5,-1644(gp) # 200001d4 - ad46: 00f41d63 bne s0,a5,ad60 - ad4a: 445c lw a5,12(s0) - ad4c: 98f1aa23 sw a5,-1644(gp) # 200001d4 - ad50: 47a9 li a5,10 - ad52: c81c sw a5,16(s0) - ad54: 9ac1a703 lw a4,-1620(gp) # 200001ec - ad58: 9a81a623 sw s0,-1620(gp) # 200001ec - ad5c: c458 sw a4,12(s0) - ad5e: bb09 j aa70 - ad60: 9af1a423 sw a5,-1624(gp) # 200001e8 - ad64: 4681 li a3,0 - ad66: e789 bnez a5,ad70 - ad68: d6e5 beqz a3,ad50 - ad6a: 9a01a423 sw zero,-1624(gp) # 200001e8 - ad6e: b7cd j ad50 - ad70: 47d0 lw a2,12(a5) - ad72: 00c41863 bne s0,a2,ad82 - ad76: c299 beqz a3,ad7c - ad78: 9af1a423 sw a5,-1624(gp) # 200001e8 - ad7c: 4458 lw a4,12(s0) - ad7e: c7d8 sw a4,12(a5) - ad80: bfc1 j ad50 - ad82: 4685 li a3,1 - ad84: 87b2 mv a5,a2 - ad86: b7c5 j ad66 - ad88: 02f40323 sb a5,38(s0) - ad8c: 8522 mv a0,s0 - ad8e: 73c000ef jal ra,b4ca - ad92: 47a1 li a5,8 - ad94: bf39 j acb2 - ad96: 000cc783 lbu a5,0(s9) - ad9a: 8bc1 andi a5,a5,16 - ad9c: cc078ae3 beqz a5,aa70 - ada0: 5038 lw a4,96(s0) - ada2: 00092783 lw a5,0(s2) - ada6: ccf715e3 bne a4,a5,aa70 - adaa: 4799 li a5,6 - adac: b719 j acb2 - adae: 8522 mv a0,s0 - adb0: d31fe0ef jal ra,9ae0 - adb4: 000a4783 lbu a5,0(s4) - adb8: 0207f793 andi a5,a5,32 - adbc: ca078ae3 beqz a5,aa70 - adc0: 02644783 lbu a5,38(s0) - adc4: 8522 mv a0,s0 - adc6: 0027e793 ori a5,a5,2 - adca: 02f40323 sb a5,38(s0) - adce: 6fc000ef jal ra,b4ca - add2: 8522 mv a0,s0 - add4: bacfe0ef jal ra,9180 - add8: 9941a783 lw a5,-1644(gp) # 200001d4 - addc: f6f407e3 beq s0,a5,ad4a - ade0: 9af1a423 sw a5,-1624(gp) # 200001e8 - ade4: 4681 li a3,0 - ade6: d3c9 beqz a5,ad68 - ade8: 47d0 lw a2,12(a5) - adea: f8c406e3 beq s0,a2,ad76 - adee: 4685 li a3,1 - adf0: 87b2 mv a5,a2 - adf2: bfd5 j ade6 - adf4: 8522 mv a0,s0 - adf6: cebfe0ef jal ra,9ae0 - adfa: 000cc783 lbu a5,0(s9) - adfe: 8bc1 andi a5,a5,16 - ae00: c60788e3 beqz a5,aa70 - ae04: 5038 lw a4,96(s0) - ae06: 00092783 lw a5,0(s2) - ae0a: c6f713e3 bne a4,a5,aa70 - ae0e: 8522 mv a0,s0 - ae10: b70fe0ef jal ra,9180 - ae14: 9941a783 lw a5,-1644(gp) # 200001d4 - ae18: f2f409e3 beq s0,a5,ad4a - ae1c: 9af1a423 sw a5,-1624(gp) # 200001e8 - ae20: 4681 li a3,0 - ae22: d3b9 beqz a5,ad68 - ae24: 47d0 lw a2,12(a5) - ae26: f4c408e3 beq s0,a2,ad76 - ae2a: 4685 li a3,1 - ae2c: 87b2 mv a5,a2 - ae2e: bfd5 j ae22 - ae30: 8522 mv a0,s0 - ae32: caffe0ef jal ra,9ae0 - ae36: 000cc783 lbu a5,0(s9) - ae3a: 8bc1 andi a5,a5,16 - ae3c: c2078ae3 beqz a5,aa70 - ae40: 5038 lw a4,96(s0) - ae42: 00092783 lw a5,0(s2) - ae46: c2f715e3 bne a4,a5,aa70 - ae4a: 000a4783 lbu a5,0(s4) - ae4e: 0107e793 ori a5,a5,16 - ae52: 00fa0023 sb a5,0(s4) - ae56: b929 j aa70 - ae58: 8bc1 andi a5,a5,16 - ae5a: c785 beqz a5,ae82 - ae5c: 8522 mv a0,s0 - ae5e: b6dfb0ef jal ra,69ca - ae62: 85a2 mv a1,s0 - ae64: 99418513 addi a0,gp,-1644 # 200001d4 - ae68: e20fe0ef jal ra,9488 - ae6c: 4509 li a0,2 - ae6e: 85a2 mv a1,s0 - ae70: a53fd0ef jal ra,88c2 - ae74: 000d2503 lw a0,0(s10) - ae78: dc050de3 beqz a0,ac52 - ae7c: c19fd0ef jal ra,8a94 - ae80: bbc9 j ac52 - ae82: 07445603 lhu a2,116(s0) - ae86: c619 beqz a2,ae94 - ae88: 08c42783 lw a5,140(s0) - ae8c: c781 beqz a5,ae94 - ae8e: 4c08 lw a0,24(s0) - ae90: 85a2 mv a1,s0 - ae92: 9782 jalr a5 - ae94: 000d2603 lw a2,0(s10) - ae98: c60d beqz a2,aec2 - ae9a: 000cc783 lbu a5,0(s9) - ae9e: 8ba1 andi a5,a5,8 - aea0: c789 beqz a5,aeaa - aea2: 365c lbu a5,13(a2) - aea4: 0017e793 ori a5,a5,1 - aea8: b65c sb a5,13(a2) - aeaa: 09042783 lw a5,144(s0) - aeae: 4681 li a3,0 - aeb0: 85a2 mv a1,s0 - aeb2: cb9d beqz a5,aee8 - aeb4: 4c08 lw a0,24(s0) - aeb6: 9782 jalr a5 - aeb8: c509 beqz a0,aec2 - aeba: 000d2783 lw a5,0(s10) - aebe: 08f42423 sw a5,136(s0) - aec2: 000a4783 lbu a5,0(s4) - aec6: 0207f793 andi a5,a5,32 - aeca: cb89 beqz a5,aedc - aecc: 09042783 lw a5,144(s0) - aed0: 4681 li a3,0 - aed2: 4601 li a2,0 - aed4: 85a2 mv a1,s0 - aed6: cf89 beqz a5,aef0 - aed8: 4c08 lw a0,24(s0) - aeda: 9782 jalr a5 - aedc: 8522 mv a0,s0 - aede: 000ba023 sw zero,0(s7) - aee2: 5e8000ef jal ra,b4ca - aee6: b3b5 j ac52 - aee8: 4501 li a0,0 - aeea: ec2fe0ef jal ra,95ac - aeee: b7e9 j aeb8 - aef0: 4501 li a0,0 - aef2: ebafe0ef jal ra,95ac - aef6: b7dd j aedc - -0000aef8 : -tcp_output_set_header.isra.0.constprop.1(): - aef8: e1ef52ef jal t0,516 <__riscv_save_0> - aefc: 892a mv s2,a0 - aefe: 2d4a lhu a0,28(a0) - af00: 1141 addi sp,sp,-16 - af02: 842e mv s0,a1 - af04: c632 sw a2,12(sp) - af06: f9efc0ef jal ra,76a4 - af0a: a008 sb a0,0(s0) - af0c: 8121 srli a0,a0,0x8 - af0e: b008 sb a0,1(s0) - af10: 02495503 lhu a0,36(s2) - af14: f90fc0ef jal ra,76a4 - af18: 4632 lw a2,12(sp) - af1a: a028 sb a0,2(s0) - af1c: 8121 srli a0,a0,0x8 - af1e: b028 sb a0,3(s0) - af20: 00865793 srli a5,a2,0x8 - af24: 02892503 lw a0,40(s2) - af28: a050 sb a2,4(s0) - af2a: b05c sb a5,5(s0) - af2c: 01065793 srli a5,a2,0x10 - af30: 8261 srli a2,a2,0x18 - af32: b070 sb a2,7(s0) - af34: a07c sb a5,6(s0) - af36: f8afc0ef jal ra,76c0 - af3a: 00855793 srli a5,a0,0x8 - af3e: a408 sb a0,8(s0) - af40: b41c sb a5,9(s0) - af42: 3444 lbu s1,13(s0) - af44: 01055793 srli a5,a0,0x10 - af48: 8161 srli a0,a0,0x18 - af4a: b428 sb a0,11(s0) - af4c: 2448 lbu a0,12(s0) - af4e: 04a2 slli s1,s1,0x8 - af50: a43c sb a5,10(s0) - af52: 8cc9 or s1,s1,a0 - af54: 6541 lui a0,0x10 - af56: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x2aac> - af5a: f4afc0ef jal ra,76a4 - af5e: 8ce9 and s1,s1,a0 - af60: 4541 li a0,16 - af62: f42fc0ef jal ra,76a4 - af66: 8d45 or a0,a0,s1 - af68: 0542 slli a0,a0,0x10 - af6a: 8141 srli a0,a0,0x10 - af6c: a448 sb a0,12(s0) - af6e: 8121 srli a0,a0,0x8 - af70: b448 sb a0,13(s0) - af72: 02e95503 lhu a0,46(s2) - af76: f2efc0ef jal ra,76a4 - af7a: 02e95783 lhu a5,46(s2) - af7e: a468 sb a0,14(s0) - af80: 8121 srli a0,a0,0x8 - af82: b468 sb a0,15(s0) - af84: 02f91b23 sh a5,54(s2) - af88: 345c lbu a5,13(s0) - af8a: 2448 lbu a0,12(s0) - af8c: 00040923 sb zero,18(s0) - af90: 07a2 slli a5,a5,0x8 - af92: 000409a3 sb zero,19(s0) - af96: 8d5d or a0,a0,a5 - af98: f1afc0ef jal ra,76b2 - af9c: 6795 lui a5,0x5 - af9e: 03f57513 andi a0,a0,63 - afa2: 8d5d or a0,a0,a5 - afa4: f00fc0ef jal ra,76a4 - afa8: 02e95703 lhu a4,46(s2) - afac: 02892783 lw a5,40(s2) - afb0: a448 sb a0,12(s0) - afb2: 8121 srli a0,a0,0x8 - afb4: b448 sb a0,13(s0) - afb6: 00040823 sb zero,16(s0) - afba: 000408a3 sb zero,17(s0) - afbe: 97ba add a5,a5,a4 - afc0: 02f92823 sw a5,48(s2) - afc4: 8522 mv a0,s0 - afc6: 0141 addi sp,sp,16 - afc8: d72f506f j 53a <__riscv_restore_0> - -0000afcc : -tcp_enqueue(): - afcc: d1af52ef jal t0,4e6 <__riscv_save_12> - afd0: 7179 addi sp,sp,-48 - afd2: c62e sw a1,12(sp) - afd4: ca3a sw a4,20(sp) - afd6: 892a mv s2,a0 - afd8: 8ab2 mv s5,a2 - afda: 8b36 mv s6,a3 - afdc: 8dbe mv s11,a5 - afde: ee01 bnez a2,aff6 - afe0: 0036f793 andi a5,a3,3 - afe4: 00fde7b3 or a5,s11,a5 - afe8: 5a59 li s4,-10 - afea: c391 beqz a5,afee - afec: c18d beqz a1,b00e - afee: 8552 mv a0,s4 - aff0: 6145 addi sp,sp,48 - aff2: d30f506f j 522 <__riscv_restore_12> - aff6: 07655783 lhu a5,118(a0) - affa: 00c7fa63 bgeu a5,a2,b00e - affe: 02694783 lbu a5,38(s2) - b002: 5a7d li s4,-1 - b004: f807e793 ori a5,a5,-128 - b008: 02f90323 sb a5,38(s2) - b00c: b7cd j afee - b00e: 002d9793 slli a5,s11,0x2 - b012: 002df713 andi a4,s11,2 - b016: 8b91 andi a5,a5,4 - b018: 46b1 li a3,12 - b01a: e311 bnez a4,b01e - b01c: 4681 li a3,0 - b01e: 97b6 add a5,a5,a3 - b020: c23e sw a5,4(sp) - b022: 07092783 lw a5,112(s2) - b026: 2002ed37 lui s10,0x2002e - b02a: bd0d0713 addi a4,s10,-1072 # 2002dbd0 - b02e: c43e sw a5,8(sp) - b030: 471c lw a5,8(a4) - b032: 4358 lw a4,4(a4) - b034: 07895483 lhu s1,120(s2) - b038: 078a slli a5,a5,0x2 - b03a: 02e7d7b3 divu a5,a5,a4 - b03e: bd0d0d13 addi s10,s10,-1072 - b042: faf4fee3 bgeu s1,a5,affe - b046: 6741 lui a4,0x10 - b048: ffc70693 addi a3,a4,-4 # fffc <_data_lma+0x2ae8> - b04c: fa96e9e3 bltu a3,s1,affe - b050: 4792 lw a5,4(sp) - b052: 8230 lhu a2,4(sp) - b054: fc070713 addi a4,a4,-64 - b058: 8389 srli a5,a5,0x2 - b05a: 0ff7f793 andi a5,a5,255 - b05e: 0795 addi a5,a5,5 - b060: c832 sw a2,16(sp) - b062: 4652 lw a2,20(sp) - b064: 07b2 slli a5,a5,0xc - b066: 07c2 slli a5,a5,0x10 - b068: d23a sw a4,36(sp) - b06a: 4cb2 lw s9,12(sp) - b06c: 010b1713 slli a4,s6,0x10 - b070: 83c1 srli a5,a5,0x10 - b072: 8a05 andi a2,a2,1 - b074: 8341 srli a4,a4,0x10 - b076: cc3e sw a5,24(sp) - b078: 8bd6 mv s7,s5 - b07a: 4981 li s3,0 - b07c: 4781 li a5,0 - b07e: ce32 sw a2,28(sp) - b080: d036 sw a3,32(sp) - b082: d43a sw a4,40(sp) - b084: 04095a03 lhu s4,64(s2) - b088: 4712 lw a4,4(sp) - b08a: 40ea0a33 sub s4,s4,a4 - b08e: 014bd363 bge s7,s4,b094 - b092: 8a5e mv s4,s7 - b094: 4511 li a0,4 - b096: d63e sw a5,44(sp) - b098: 010a1c13 slli s8,s4,0x10 - b09c: 807fd0ef jal ra,88a2 - b0a0: 010c5c13 srli s8,s8,0x10 - b0a4: 842a mv s0,a0 - b0a6: 18050663 beqz a0,b232 - b0aa: 00052023 sw zero,0(a0) - b0ae: 00052223 sw zero,4(a0) - b0b2: 14098463 beqz s3,b1fa - b0b6: 57b2 lw a5,44(sp) - b0b8: c388 sw a0,0(a5) - b0ba: 47f2 lw a5,28(sp) - b0bc: 14078163 beqz a5,b1fe - b0c0: 47c2 lw a5,16(sp) - b0c2: 4601 li a2,0 - b0c4: 4501 li a0,0 - b0c6: 00fc05b3 add a1,s8,a5 - b0ca: 05c2 slli a1,a1,0x10 - b0cc: 81c1 srli a1,a1,0x10 - b0ce: a15fd0ef jal ra,8ae2 - b0d2: c048 sw a0,4(s0) - b0d4: 14050f63 beqz a0,b232 - b0d8: ba3fd0ef jal ra,8c7a - b0dc: 47b2 lw a5,12(sp) - b0de: 94aa add s1,s1,a0 - b0e0: 04c2 slli s1,s1,0x10 - b0e2: 80c1 srli s1,s1,0x10 - b0e4: cf81 beqz a5,b0fc - b0e6: 405c lw a5,4(s0) - b0e8: 85e6 mv a1,s9 - b0ea: 43c8 lw a0,4(a5) - b0ec: 67c1 lui a5,0x10 - b0ee: 17fd addi a5,a5,-1 - b0f0: 00fa7633 and a2,s4,a5 - b0f4: 4792 lw a5,4(sp) - b0f6: 953e add a0,a0,a5 - b0f8: 5d9010ef jal ra,ced0 - b0fc: 405c lw a5,4(s0) - b0fe: 43dc lw a5,4(a5) - b100: c41c sw a5,8(s0) - b102: 008d2783 lw a5,8(s10) - b106: 004d2703 lw a4,4(s10) - b10a: 078a slli a5,a5,0x2 - b10c: 02e7d7b3 divu a5,a5,a4 - b110: 1297e163 bltu a5,s1,b232 - b114: 5782 lw a5,32(sp) - b116: 1097ee63 bltu a5,s1,b232 - b11a: 4048 lw a0,4(s0) - b11c: 01841623 sh s8,12(s0) - b120: 45d1 li a1,20 - b122: 905fd0ef jal ra,8a26 - b126: 10051663 bnez a0,b232 - b12a: 405c lw a5,4(s0) - b12c: 01c95503 lhu a0,28(s2) - b130: 418b8bb3 sub s7,s7,s8 - b134: 43dc lw a5,4(a5) - b136: 0bc2 slli s7,s7,0x10 - b138: 010bdb93 srli s7,s7,0x10 - b13c: c81c sw a5,16(s0) - b13e: d63e sw a5,44(sp) - b140: d64fc0ef jal ra,76a4 - b144: 57b2 lw a5,44(sp) - b146: a388 sb a0,0(a5) - b148: 8121 srli a0,a0,0x8 - b14a: b388 sb a0,1(a5) - b14c: 481c lw a5,16(s0) - b14e: 02495503 lhu a0,36(s2) - b152: d63e sw a5,44(sp) - b154: d50fc0ef jal ra,76a4 - b158: 57b2 lw a5,44(sp) - b15a: a3a8 sb a0,2(a5) - b15c: 8121 srli a0,a0,0x8 - b15e: b3a8 sb a0,3(a5) - b160: 481c lw a5,16(s0) - b162: 4522 lw a0,8(sp) - b164: d63e sw a5,44(sp) - b166: d5afc0ef jal ra,76c0 - b16a: 57b2 lw a5,44(sp) - b16c: 00855713 srli a4,a0,0x8 - b170: b3d8 sb a4,5(a5) - b172: 01055713 srli a4,a0,0x10 - b176: a3f8 sb a4,6(a5) - b178: 4818 lw a4,16(s0) - b17a: a3c8 sb a0,4(a5) - b17c: 8161 srli a0,a0,0x18 - b17e: b3e8 sb a0,7(a5) - b180: 375c lbu a5,13(a4) - b182: 2748 lbu a0,12(a4) - b184: 00070923 sb zero,18(a4) - b188: 07a2 slli a5,a5,0x8 - b18a: 8fc9 or a5,a5,a0 - b18c: 5512 lw a0,36(sp) - b18e: 000709a3 sb zero,19(a4) - b192: d63e sw a5,44(sp) - b194: d10fc0ef jal ra,76a4 - b198: 57b2 lw a5,44(sp) - b19a: 8fe9 and a5,a5,a0 - b19c: 5522 lw a0,40(sp) - b19e: d63e sw a5,44(sp) - b1a0: d04fc0ef jal ra,76a4 - b1a4: 57b2 lw a5,44(sp) - b1a6: 8d5d or a0,a0,a5 - b1a8: 0542 slli a0,a0,0x10 - b1aa: 481c lw a5,16(s0) - b1ac: 8141 srli a0,a0,0x10 - b1ae: 00855713 srli a4,a0,0x8 - b1b2: b7d8 sb a4,13(a5) - b1b4: a7c8 sb a0,12(a5) - b1b6: 01b40723 sb s11,14(s0) - b1ba: cf8fc0ef jal ra,76b2 - b1be: 481c lw a5,16(s0) - b1c0: 03f57513 andi a0,a0,63 - b1c4: d63e sw a5,44(sp) - b1c6: 47e2 lw a5,24(sp) - b1c8: 8d5d or a0,a0,a5 - b1ca: cdafc0ef jal ra,76a4 - b1ce: 57b2 lw a5,44(sp) - b1d0: a7c8 sb a0,12(a5) - b1d2: 8121 srli a0,a0,0x8 - b1d4: b7c8 sb a0,13(a5) - b1d6: 67c1 lui a5,0x10 - b1d8: 17fd addi a5,a5,-1 - b1da: 00fa7a33 and s4,s4,a5 - b1de: 47a2 lw a5,8(sp) - b1e0: 9cd2 add s9,s9,s4 - b1e2: 97d2 add a5,a5,s4 - b1e4: c43e sw a5,8(sp) - b1e6: 87a2 mv a5,s0 - b1e8: e80b9ee3 bnez s7,b084 - b1ec: 07c92a03 lw s4,124(s2) - b1f0: 060a1963 bnez s4,b262 - b1f4: 07392e23 sw s3,124(s2) - b1f8: a251 j b37c - b1fa: 89aa mv s3,a0 - b1fc: bd7d j b0ba - b1fe: 45c2 lw a1,16(sp) - b200: 4601 li a2,0 - b202: 4501 li a0,0 - b204: 8dffd0ef jal ra,8ae2 - b208: c048 sw a0,4(s0) - b20a: c505 beqz a0,b232 - b20c: a6ffd0ef jal ra,8c7a - b210: 94aa add s1,s1,a0 - b212: 04c2 slli s1,s1,0x10 - b214: 80c1 srli s1,s1,0x10 - b216: ee0b86e3 beqz s7,b102 - b21a: 85e2 mv a1,s8 - b21c: 4605 li a2,1 - b21e: 450d li a0,3 - b220: 8c3fd0ef jal ra,8ae2 - b224: 85aa mv a1,a0 - b226: 4048 lw a0,4(s0) - b228: e195 bnez a1,b24c - b22a: 86bfd0ef jal ra,8a94 - b22e: 00042223 sw zero,4(s0) - b232: 02694783 lbu a5,38(s2) - b236: 5a7d li s4,-1 - b238: f807e793 ori a5,a5,-128 - b23c: 02f90323 sb a5,38(s2) - b240: da0987e3 beqz s3,afee - b244: 854e mv a0,s3 - b246: ed5fd0ef jal ra,911a - b24a: b355 j afee - b24c: 0195a223 sw s9,4(a1) - b250: 0485 addi s1,s1,1 - b252: 04c2 slli s1,s1,0x10 - b254: 01942423 sw s9,8(s0) - b258: 80c1 srli s1,s1,0x10 - b25a: a3dfd0ef jal ra,8c96 - b25e: b555 j b102 - b260: 8a3e mv s4,a5 - b262: 000a2783 lw a5,0(s4) - b266: ffed bnez a5,b260 - b268: 010a2783 lw a5,16(s4) - b26c: 00ca5b83 lhu s7,12(s4) - b270: 27c8 lbu a0,12(a5) - b272: 37dc lbu a5,13(a5) - b274: 07a2 slli a5,a5,0x8 - b276: 8d5d or a0,a0,a5 - b278: c3afc0ef jal ra,76b2 - b27c: 890d andi a0,a0,3 - b27e: 00a03533 snez a0,a0 - b282: 955e add a0,a0,s7 - b284: 18050563 beqz a0,b40e - b288: 010a2783 lw a5,16(s4) - b28c: 27c8 lbu a0,12(a5) - b28e: 37dc lbu a5,13(a5) - b290: 07a2 slli a5,a5,0x8 - b292: 8d5d or a0,a0,a5 - b294: c1efc0ef jal ra,76b2 - b298: 890d andi a0,a0,3 - b29a: 16051a63 bnez a0,b40e - b29e: 003b7793 andi a5,s6,3 - b2a2: c781 beqz a5,b2aa - b2a4: 4785 li a5,1 - b2a6: 16fb1463 bne s6,a5,b40e - b2aa: 00c9d703 lhu a4,12(s3) - b2ae: 00ca5783 lhu a5,12(s4) - b2b2: 97ba add a5,a5,a4 - b2b4: 04095703 lhu a4,64(s2) - b2b8: 14f74b63 blt a4,a5,b40e - b2bc: 00ea4703 lbu a4,14(s4) - b2c0: 00e9c783 lbu a5,14(s3) - b2c4: 14f71563 bne a4,a5,b40e - b2c8: 010a2703 lw a4,16(s4) - b2cc: 3348 lbu a0,5(a4) - b2ce: 235c lbu a5,4(a4) - b2d0: 0522 slli a0,a0,0x8 - b2d2: 8d5d or a0,a0,a5 - b2d4: 237c lbu a5,6(a4) - b2d6: 07c2 slli a5,a5,0x10 - b2d8: 8fc9 or a5,a5,a0 - b2da: 3368 lbu a0,7(a4) - b2dc: 0562 slli a0,a0,0x18 - b2de: 8d5d or a0,a0,a5 - b2e0: c04fc0ef jal ra,76e4 - b2e4: 0109a703 lw a4,16(s3) - b2e8: 00ca5b83 lhu s7,12(s4) - b2ec: 235c lbu a5,4(a4) - b2ee: 9baa add s7,s7,a0 - b2f0: 3348 lbu a0,5(a4) - b2f2: 0522 slli a0,a0,0x8 - b2f4: 8d5d or a0,a0,a5 - b2f6: 237c lbu a5,6(a4) - b2f8: 07c2 slli a5,a5,0x10 - b2fa: 8fc9 or a5,a5,a0 - b2fc: 3368 lbu a0,7(a4) - b2fe: 0562 slli a0,a0,0x18 - b300: 8d5d or a0,a0,a5 - b302: be2fc0ef jal ra,76e4 - b306: 10ab9463 bne s7,a0,b40e - b30a: 47c2 lw a5,16(sp) - b30c: 55b1 li a1,-20 - b30e: 0049a503 lw a0,4(s3) - b312: 8d9d sub a1,a1,a5 - b314: 05c2 slli a1,a1,0x10 - b316: 85c1 srai a1,a1,0x10 - b318: f0efd0ef jal ra,8a26 - b31c: f0051be3 bnez a0,b232 - b320: 0049a503 lw a0,4(s3) - b324: 253e lhu a5,10(a0) - b326: eb99 bnez a5,b33c - b328: 411c lw a5,0(a0) - b32a: 14fd addi s1,s1,-1 - b32c: 04c2 slli s1,s1,0x10 - b32e: 00f9a223 sw a5,4(s3) - b332: 00052023 sw zero,0(a0) - b336: 80c1 srli s1,s1,0x10 - b338: f5cfd0ef jal ra,8a94 - b33c: 001b7793 andi a5,s6,1 - b340: c7cd beqz a5,b3ea - b342: 010a2783 lw a5,16(s4) - b346: 00d7cb83 lbu s7,13(a5) # 1000d <_data_lma+0x2af9> - b34a: 27c8 lbu a0,12(a5) - b34c: 0ba2 slli s7,s7,0x8 - b34e: 00abebb3 or s7,s7,a0 - b352: 4505 li a0,1 - b354: b50fc0ef jal ra,76a4 - b358: 010a2783 lw a5,16(s4) - b35c: 00abe533 or a0,s7,a0 - b360: 0542 slli a0,a0,0x10 - b362: 8141 srli a0,a0,0x10 - b364: a7c8 sb a0,12(a5) - b366: 8121 srli a0,a0,0x8 - b368: b7c8 sb a0,13(a5) - b36a: 00899563 bne s3,s0,b374 - b36e: 00ca5c03 lhu s8,12(s4) - b372: 8452 mv s0,s4 - b374: 85ce mv a1,s3 - b376: 4511 li a0,4 - b378: d4afd0ef jal ra,88c2 - b37c: 003b7793 andi a5,s6,3 - b380: c789 beqz a5,b38a - b382: 0a85 addi s5,s5,1 - b384: 0ac2 slli s5,s5,0x10 - b386: 010ada93 srli s5,s5,0x10 - b38a: 001b7b13 andi s6,s6,1 - b38e: 000b0863 beqz s6,b39e - b392: 02694783 lbu a5,38(s2) - b396: 0207e793 ori a5,a5,32 - b39a: 02f90323 sb a5,38(s2) - b39e: 07092783 lw a5,112(s2) - b3a2: 06991c23 sh s1,120(s2) - b3a6: 4a01 li s4,0 - b3a8: 97d6 add a5,a5,s5 - b3aa: 06f92823 sw a5,112(s2) - b3ae: 07695783 lhu a5,118(s2) - b3b2: 41578ab3 sub s5,a5,s5 - b3b6: 07591b23 sh s5,118(s2) - b3ba: c20c0ae3 beqz s8,afee - b3be: 481c lw a5,16(s0) - b3c0: c20787e3 beqz a5,afee - b3c4: 4752 lw a4,20(sp) - b3c6: 8b09 andi a4,a4,2 - b3c8: c20713e3 bnez a4,afee - b3cc: 37c4 lbu s1,13(a5) - b3ce: 27c8 lbu a0,12(a5) - b3d0: 04a2 slli s1,s1,0x8 - b3d2: 8cc9 or s1,s1,a0 - b3d4: 4521 li a0,8 - b3d6: acefc0ef jal ra,76a4 - b3da: 481c lw a5,16(s0) - b3dc: 8d45 or a0,a0,s1 - b3de: 0542 slli a0,a0,0x10 - b3e0: 8141 srli a0,a0,0x10 - b3e2: a7c8 sb a0,12(a5) - b3e4: 8121 srli a0,a0,0x8 - b3e6: b7c8 sb a0,13(a5) - b3e8: b119 j afee - b3ea: 0049a583 lw a1,4(s3) - b3ee: 004a2503 lw a0,4(s4) - b3f2: 8a5fd0ef jal ra,8c96 - b3f6: 00c9d703 lhu a4,12(s3) - b3fa: 00ca5783 lhu a5,12(s4) - b3fe: 97ba add a5,a5,a4 - b400: 00fa1623 sh a5,12(s4) - b404: 0009a783 lw a5,0(s3) - b408: 00fa2023 sw a5,0(s4) - b40c: bfb9 j b36a - b40e: 013a2023 sw s3,0(s4) - b412: b7ad j b37c - -0000b414 : -tcp_send_ctrl(): - b414: 902f52ef jal t0,516 <__riscv_save_0> - b418: 86ae mv a3,a1 - b41a: 4781 li a5,0 - b41c: 4705 li a4,1 - b41e: 4601 li a2,0 - b420: 4581 li a1,0 - b422: babff0ef jal ra,afcc - b426: 914f506f j 53a <__riscv_restore_0> - -0000b42a : -tcp_write(): - b42a: 87aa mv a5,a0 - b42c: 4908 lw a0,16(a0) - b42e: 471d li a4,7 - b430: 00e50863 beq a0,a4,b440 - b434: ffe50813 addi a6,a0,-2 - b438: 4709 li a4,2 - b43a: 5561 li a0,-8 - b43c: 01076e63 bltu a4,a6,b458 - b440: 4501 li a0,0 - b442: ca19 beqz a2,b458 - b444: 8d2f52ef jal t0,516 <__riscv_save_0> - b448: 8736 mv a4,a3 - b44a: 853e mv a0,a5 - b44c: 4681 li a3,0 - b44e: 4781 li a5,0 - b450: b7dff0ef jal ra,afcc - b454: 8e6f506f j 53a <__riscv_restore_0> - b458: 8082 ret - -0000b45a : -tcp_send_empty_ack(): - b45a: 8a2f52ef jal t0,4fc <__riscv_save_4> - b45e: 842a mv s0,a0 - b460: 4601 li a2,0 - b462: 45d1 li a1,20 - b464: 4505 li a0,1 - b466: e7cfd0ef jal ra,8ae2 - b46a: cd31 beqz a0,b4c6 - b46c: 02644783 lbu a5,38(s0) - b470: 84aa mv s1,a0 - b472: 5028 lw a0,96(s0) - b474: 9bf1 andi a5,a5,-4 - b476: 02f40323 sb a5,38(s0) - b47a: a46fc0ef jal ra,76c0 - b47e: 40cc lw a1,4(s1) - b480: 862a mv a2,a0 - b482: 8522 mv a0,s0 - b484: a75ff0ef jal ra,aef8 - b488: 249a lhu a4,8(s1) - b48a: 00440913 addi s2,s0,4 - b48e: 89aa mv s3,a0 - b490: 4699 li a3,6 - b492: 864a mv a2,s2 - b494: 85a2 mv a1,s0 - b496: 8526 mv a0,s1 - b498: 713000ef jal ra,c3aa - b49c: 00a98823 sb a0,16(s3) - b4a0: 8121 srli a0,a0,0x8 - b4a2: 00a988a3 sb a0,17(s3) - b4a6: 2438 lbu a4,10(s0) - b4a8: 3434 lbu a3,11(s0) - b4aa: 4799 li a5,6 - b4ac: 864a mv a2,s2 - b4ae: 85a2 mv a1,s0 - b4b0: 8526 mv a0,s1 - b4b2: e7efc0ef jal ra,7b30 - b4b6: 8526 mv a0,s1 - b4b8: ddcfd0ef jal ra,8a94 - b4bc: 4501 li a0,0 - b4be: 020403a3 sb zero,39(s0) - b4c2: 86ef506f j 530 <__riscv_restore_4> - b4c6: 5579 li a0,-2 - b4c8: bfed j b4c2 - -0000b4ca : -tcp_output(): - b4ca: 9c81a783 lw a5,-1592(gp) # 20000208 - b4ce: 36a78063 beq a5,a0,b82e - b4d2: 814f52ef jal t0,4e6 <__riscv_save_12> - b4d6: 06455783 lhu a5,100(a0) - b4da: 05a55a03 lhu s4,90(a0) - b4de: 0147f363 bgeu a5,s4,b4e4 - b4e2: 8a3e mv s4,a5 - b4e4: 02654783 lbu a5,38(a0) - b4e8: 0a42 slli s4,s4,0x10 - b4ea: 842a mv s0,a0 - b4ec: 8b89 andi a5,a5,2 - b4ee: 010a5a13 srli s4,s4,0x10 - b4f2: 5d64 lw s1,124(a0) - b4f4: cb95 beqz a5,b528 - b4f6: e491 bnez s1,b502 - b4f8: 8522 mv a0,s0 - b4fa: f61ff0ef jal ra,b45a - b4fe: 824f506f j 522 <__riscv_restore_12> - b502: 4898 lw a4,16(s1) - b504: 3348 lbu a0,5(a4) - b506: 235c lbu a5,4(a4) - b508: 0522 slli a0,a0,0x8 - b50a: 8d5d or a0,a0,a5 - b50c: 237c lbu a5,6(a4) - b50e: 07c2 slli a5,a5,0x10 - b510: 8fc9 or a5,a5,a0 - b512: 3368 lbu a0,7(a4) - b514: 0562 slli a0,a0,0x18 - b516: 8d5d or a0,a0,a5 - b518: 9ccfc0ef jal ra,76e4 - b51c: 24de lhu a5,12(s1) - b51e: 4878 lw a4,84(s0) - b520: 8f99 sub a5,a5,a4 - b522: 953e add a0,a0,a5 - b524: fcaa6ae3 bltu s4,a0,b4f8 - b528: 08042983 lw s3,128(s0) - b52c: 08099663 bnez s3,b5b8 - b530: 2002eab7 lui s5,0x2002e - b534: 4b89 li s7,2 - b536: bd0a8a93 addi s5,s5,-1072 # 2002dbd0 - b53a: 02040c37 lui s8,0x2040 - b53e: 00440b13 addi s6,s0,4 - b542: 5cfd li s9,-1 - b544: c0ad beqz s1,b5a6 - b546: 4898 lw a4,16(s1) - b548: 3348 lbu a0,5(a4) - b54a: 235c lbu a5,4(a4) - b54c: 0522 slli a0,a0,0x8 - b54e: 8d5d or a0,a0,a5 - b550: 237c lbu a5,6(a4) - b552: 07c2 slli a5,a5,0x10 - b554: 8fc9 or a5,a5,a0 - b556: 3368 lbu a0,7(a4) - b558: 0562 slli a0,a0,0x18 - b55a: 8d5d or a0,a0,a5 - b55c: 988fc0ef jal ra,76e4 - b560: 24de lhu a5,12(s1) - b562: 4878 lw a4,84(s0) - b564: 8f99 sub a5,a5,a4 - b566: 953e add a0,a0,a5 - b568: 04aa7c63 bgeu s4,a0,b5c0 - b56c: 0b044783 lbu a5,176(s0) - b570: eb9d bnez a5,b5a6 - b572: 4898 lw a4,16(s1) - b574: 3348 lbu a0,5(a4) - b576: 235c lbu a5,4(a4) - b578: 0522 slli a0,a0,0x8 - b57a: 8d5d or a0,a0,a5 - b57c: 237c lbu a5,6(a4) - b57e: 07c2 slli a5,a5,0x10 - b580: 8fc9 or a5,a5,a0 - b582: 3368 lbu a0,7(a4) - b584: 0562 slli a0,a0,0x18 - b586: 8d5d or a0,a0,a5 - b588: 95cfc0ef jal ra,76e4 - b58c: 24de lhu a5,12(s1) - b58e: 4878 lw a4,84(s0) - b590: 8f99 sub a5,a5,a4 - b592: 953e add a0,a0,a5 - b594: 06445783 lhu a5,100(s0) - b598: 00a7f763 bgeu a5,a0,b5a6 - b59c: 4785 li a5,1 - b59e: 0a042623 sw zero,172(s0) - b5a2: 0af40823 sb a5,176(s0) - b5a6: 02644783 lbu a5,38(s0) - b5aa: 4501 li a0,0 - b5ac: 07f7f793 andi a5,a5,127 - b5b0: 02f40323 sb a5,38(s0) - b5b4: b7a9 j b4fe - b5b6: 89be mv s3,a5 - b5b8: 0009a783 lw a5,0(s3) - b5bc: ffed bnez a5,b5b6 - b5be: bf8d j b530 - b5c0: 08042783 lw a5,128(s0) - b5c4: c395 beqz a5,b5e8 - b5c6: 02644783 lbu a5,38(s0) - b5ca: 0447f713 andi a4,a5,68 - b5ce: ef09 bnez a4,b5e8 - b5d0: 5c78 lw a4,124(s0) - b5d2: cb01 beqz a4,b5e2 - b5d4: 4314 lw a3,0(a4) - b5d6: ea89 bnez a3,b5e8 - b5d8: 2756 lhu a3,12(a4) - b5da: 04045703 lhu a4,64(s0) - b5de: 00e6f563 bgeu a3,a4,b5e8 - b5e2: 0a07f793 andi a5,a5,160 - b5e6: d3d9 beqz a5,b56c - b5e8: 409c lw a5,0(s1) - b5ea: dc7c sw a5,124(s0) - b5ec: 481c lw a5,16(s0) - b5ee: 03778963 beq a5,s7,b620 - b5f2: 489c lw a5,16(s1) - b5f4: 00d7c903 lbu s2,13(a5) - b5f8: 27c8 lbu a0,12(a5) - b5fa: 0922 slli s2,s2,0x8 - b5fc: 00a96933 or s2,s2,a0 - b600: 4541 li a0,16 - b602: 8a2fc0ef jal ra,76a4 - b606: 489c lw a5,16(s1) - b608: 00a96533 or a0,s2,a0 - b60c: 0542 slli a0,a0,0x10 - b60e: 8141 srli a0,a0,0x10 - b610: a7c8 sb a0,12(a5) - b612: 8121 srli a0,a0,0x8 - b614: b7c8 sb a0,13(a5) - b616: 02644783 lbu a5,38(s0) - b61a: 9bf1 andi a5,a5,-4 - b61c: 02f40323 sb a5,38(s0) - b620: 5408 lw a0,40(s0) - b622: 0104a903 lw s2,16(s1) - b626: 89afc0ef jal ra,76c0 - b62a: 00855793 srli a5,a0,0x8 - b62e: 00a90423 sb a0,8(s2) - b632: 00f904a3 sb a5,9(s2) - b636: 01055793 srli a5,a0,0x10 - b63a: 8161 srli a0,a0,0x18 - b63c: 00a905a3 sb a0,11(s2) - b640: 346a lhu a0,46(s0) - b642: 00f90523 sb a5,10(s2) - b646: 0104a903 lw s2,16(s1) - b64a: 85afc0ef jal ra,76a4 - b64e: 347a lhu a4,46(s0) - b650: 541c lw a5,40(s0) - b652: 00a90723 sb a0,14(s2) - b656: 8121 srli a0,a0,0x8 - b658: 00a907a3 sb a0,15(s2) - b65c: 97ba add a5,a5,a4 - b65e: b87a sh a4,54(s0) - b660: d81c sw a5,48(s0) - b662: 24fc lbu a5,14(s1) - b664: 8b85 andi a5,a5,1 - b666: cb99 beqz a5,b67c - b668: 004aa503 lw a0,4(s5) - b66c: 0104a903 lw s2,16(s1) - b670: 00ac6533 or a0,s8,a0 - b674: 84cfc0ef jal ra,76c0 - b678: 00a92a23 sw a0,20(s2) - b67c: 401c lw a5,0(s0) - b67e: e799 bnez a5,b68c - b680: 855a mv a0,s6 - b682: 86efc0ef jal ra,76f0 - b686: c559 beqz a0,b714 - b688: 415c lw a5,4(a0) - b68a: c01c sw a5,0(s0) - b68c: 03e41783 lh a5,62(s0) - b690: 01979463 bne a5,s9,b698 - b694: 02041f23 sh zero,62(s0) - b698: 407c lw a5,68(s0) - b69a: e395 bnez a5,b6be - b69c: 9a01a783 lw a5,-1632(gp) # 200001e0 - b6a0: 4898 lw a4,16(s1) - b6a2: c07c sw a5,68(s0) - b6a4: 3348 lbu a0,5(a4) - b6a6: 235c lbu a5,4(a4) - b6a8: 0522 slli a0,a0,0x8 - b6aa: 8d5d or a0,a0,a5 - b6ac: 237c lbu a5,6(a4) - b6ae: 07c2 slli a5,a5,0x10 - b6b0: 8fc9 or a5,a5,a0 - b6b2: 3368 lbu a0,7(a4) - b6b4: 0562 slli a0,a0,0x18 - b6b6: 8d5d or a0,a0,a5 - b6b8: 82cfc0ef jal ra,76e4 - b6bc: c428 sw a0,72(s0) - b6be: 40c8 lw a0,4(s1) - b6c0: 0104a903 lw s2,16(s1) - b6c4: 4699 li a3,6 - b6c6: 4158 lw a4,4(a0) - b6c8: 01252223 sw s2,4(a0) - b6cc: 865a mv a2,s6 - b6ce: 40e90733 sub a4,s2,a4 - b6d2: 01071793 slli a5,a4,0x10 - b6d6: 253a lhu a4,10(a0) - b6d8: 83c1 srli a5,a5,0x10 - b6da: 85a2 mv a1,s0 - b6dc: 8f1d sub a4,a4,a5 - b6de: a53a sh a4,10(a0) - b6e0: 251a lhu a4,8(a0) - b6e2: 8f1d sub a4,a4,a5 - b6e4: 0742 slli a4,a4,0x10 - b6e6: 8341 srli a4,a4,0x10 - b6e8: a51a sh a4,8(a0) - b6ea: 00090823 sb zero,16(s2) - b6ee: 000908a3 sb zero,17(s2) - b6f2: 4b9000ef jal ra,c3aa - b6f6: 00a90823 sb a0,16(s2) - b6fa: 8121 srli a0,a0,0x8 - b6fc: 00a908a3 sb a0,17(s2) - b700: 2438 lbu a4,10(s0) - b702: 3434 lbu a3,11(s0) - b704: 40c8 lw a0,4(s1) - b706: 4799 li a5,6 - b708: 865a mv a2,s6 - b70a: 85a2 mv a1,s0 - b70c: c24fc0ef jal ra,7b30 - b710: 020403a3 sb zero,39(s0) - b714: 4898 lw a4,16(s1) - b716: 3348 lbu a0,5(a4) - b718: 235c lbu a5,4(a4) - b71a: 0522 slli a0,a0,0x8 - b71c: 8d5d or a0,a0,a5 - b71e: 237c lbu a5,6(a4) - b720: 07c2 slli a5,a5,0x10 - b722: 8fc9 or a5,a5,a0 - b724: 3368 lbu a0,7(a4) - b726: 0562 slli a0,a0,0x18 - b728: 8d5d or a0,a0,a5 - b72a: fbbfb0ef jal ra,76e4 - b72e: 489c lw a5,16(s1) - b730: 892a mv s2,a0 - b732: 00c4dd83 lhu s11,12(s1) - b736: 27c8 lbu a0,12(a5) - b738: 37dc lbu a5,13(a5) - b73a: 07a2 slli a5,a5,0x8 - b73c: 8d5d or a0,a0,a5 - b73e: f75fb0ef jal ra,76b2 - b742: 890d andi a0,a0,3 - b744: 00a03533 snez a0,a0 - b748: 503c lw a5,96(s0) - b74a: 956e add a0,a0,s11 - b74c: 954a add a0,a0,s2 - b74e: 8f89 sub a5,a5,a0 - b750: 0007d363 bgez a5,b756 - b754: d028 sw a0,96(s0) - b756: 489c lw a5,16(s1) - b758: 00c4d903 lhu s2,12(s1) - b75c: 27c8 lbu a0,12(a5) - b75e: 37dc lbu a5,13(a5) - b760: 07a2 slli a5,a5,0x8 - b762: 8d5d or a0,a0,a5 - b764: f4ffb0ef jal ra,76b2 - b768: 890d andi a0,a0,3 - b76a: 00a03533 snez a0,a0 - b76e: 954a add a0,a0,s2 - b770: c95d beqz a0,b826 - b772: 08042783 lw a5,128(s0) - b776: 0004a023 sw zero,0(s1) - b77a: e789 bnez a5,b784 - b77c: 08942023 sw s1,128(s0) - b780: 89a6 mv s3,s1 - b782: a899 j b7d8 - b784: 4898 lw a4,16(s1) - b786: 3348 lbu a0,5(a4) - b788: 235c lbu a5,4(a4) - b78a: 0522 slli a0,a0,0x8 - b78c: 8d5d or a0,a0,a5 - b78e: 237c lbu a5,6(a4) - b790: 07c2 slli a5,a5,0x10 - b792: 8fc9 or a5,a5,a0 - b794: 3368 lbu a0,7(a4) - b796: 0562 slli a0,a0,0x18 - b798: 8d5d or a0,a0,a5 - b79a: f4bfb0ef jal ra,76e4 - b79e: 0109a703 lw a4,16(s3) - b7a2: 892a mv s2,a0 - b7a4: 3348 lbu a0,5(a4) - b7a6: 235c lbu a5,4(a4) - b7a8: 0522 slli a0,a0,0x8 - b7aa: 8d5d or a0,a0,a5 - b7ac: 237c lbu a5,6(a4) - b7ae: 07c2 slli a5,a5,0x10 - b7b0: 8fc9 or a5,a5,a0 - b7b2: 3368 lbu a0,7(a4) - b7b4: 0562 slli a0,a0,0x18 - b7b6: 8d5d or a0,a0,a5 - b7b8: f2dfb0ef jal ra,76e4 - b7bc: 40a90533 sub a0,s2,a0 - b7c0: 06055063 bgez a0,b820 - b7c4: 08040913 addi s2,s0,128 - b7c8: 00092783 lw a5,0(s2) - b7cc: eb81 bnez a5,b7dc - b7ce: 00092783 lw a5,0(s2) - b7d2: c09c sw a5,0(s1) - b7d4: 00992023 sw s1,0(s2) - b7d8: 5c64 lw s1,124(s0) - b7da: b3ad j b544 - b7dc: 4b98 lw a4,16(a5) - b7de: 3348 lbu a0,5(a4) - b7e0: 235c lbu a5,4(a4) - b7e2: 0522 slli a0,a0,0x8 - b7e4: 8d5d or a0,a0,a5 - b7e6: 237c lbu a5,6(a4) - b7e8: 07c2 slli a5,a5,0x10 - b7ea: 8fc9 or a5,a5,a0 - b7ec: 3368 lbu a0,7(a4) - b7ee: 0562 slli a0,a0,0x18 - b7f0: 8d5d or a0,a0,a5 - b7f2: ef3fb0ef jal ra,76e4 - b7f6: 4898 lw a4,16(s1) - b7f8: 8daa mv s11,a0 - b7fa: 3348 lbu a0,5(a4) - b7fc: 235c lbu a5,4(a4) - b7fe: 0522 slli a0,a0,0x8 - b800: 8d5d or a0,a0,a5 - b802: 237c lbu a5,6(a4) - b804: 07c2 slli a5,a5,0x10 - b806: 8fc9 or a5,a5,a0 - b808: 3368 lbu a0,7(a4) - b80a: 0562 slli a0,a0,0x18 - b80c: 8d5d or a0,a0,a5 - b80e: ed7fb0ef jal ra,76e4 - b812: 40ad8533 sub a0,s11,a0 - b816: fa055ce3 bgez a0,b7ce - b81a: 00092903 lw s2,0(s2) - b81e: b76d j b7c8 - b820: 0099a023 sw s1,0(s3) - b824: bfb1 j b780 - b826: 8526 mv a0,s1 - b828: 8c9fd0ef jal ra,90f0 - b82c: b775 j b7d8 - b82e: 4501 li a0,0 - b830: 8082 ret - -0000b832 : -tcp_rst(): - b832: ccbf42ef jal t0,4fc <__riscv_save_4> - b836: 1141 addi sp,sp,-16 - b838: 8aaa mv s5,a0 - b83a: 84ae mv s1,a1 - b83c: 89b2 mv s3,a2 - b83e: 45d1 li a1,20 - b840: 4601 li a2,0 - b842: 4505 li a0,1 - b844: 8a36 mv s4,a3 - b846: c63a sw a4,12(sp) - b848: 8b3e mv s6,a5 - b84a: a98fd0ef jal ra,8ae2 - b84e: 0e050363 beqz a0,b934 - b852: 4732 lw a4,12(sp) - b854: 4140 lw s0,4(a0) - b856: 892a mv s2,a0 - b858: 853a mv a0,a4 - b85a: e4bfb0ef jal ra,76a4 - b85e: a008 sb a0,0(s0) - b860: 8121 srli a0,a0,0x8 - b862: b008 sb a0,1(s0) - b864: 855a mv a0,s6 - b866: e3ffb0ef jal ra,76a4 - b86a: a028 sb a0,2(s0) - b86c: 8121 srli a0,a0,0x8 - b86e: b028 sb a0,3(s0) - b870: 8556 mv a0,s5 - b872: e4ffb0ef jal ra,76c0 - b876: 00855793 srli a5,a0,0x8 - b87a: a048 sb a0,4(s0) - b87c: b05c sb a5,5(s0) - b87e: 01055793 srli a5,a0,0x10 - b882: 8161 srli a0,a0,0x18 - b884: a07c sb a5,6(s0) - b886: b068 sb a0,7(s0) - b888: 8526 mv a0,s1 - b88a: e37fb0ef jal ra,76c0 - b88e: 00855793 srli a5,a0,0x8 - b892: a408 sb a0,8(s0) - b894: b41c sb a5,9(s0) - b896: 3444 lbu s1,13(s0) - b898: 01055793 srli a5,a0,0x10 - b89c: 8161 srli a0,a0,0x18 - b89e: b428 sb a0,11(s0) - b8a0: 2448 lbu a0,12(s0) - b8a2: 04a2 slli s1,s1,0x8 - b8a4: a43c sb a5,10(s0) - b8a6: 8cc9 or s1,s1,a0 - b8a8: 6541 lui a0,0x10 - b8aa: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x2aac> - b8ae: df7fb0ef jal ra,76a4 - b8b2: 8ce9 and s1,s1,a0 - b8b4: 4551 li a0,20 - b8b6: deffb0ef jal ra,76a4 - b8ba: 8d45 or a0,a0,s1 - b8bc: 0542 slli a0,a0,0x10 - b8be: 8141 srli a0,a0,0x10 - b8c0: 2002e7b7 lui a5,0x2002e - b8c4: a448 sb a0,12(s0) - b8c6: 8121 srli a0,a0,0x8 - b8c8: b448 sb a0,13(s0) - b8ca: bd47d503 lhu a0,-1068(a5) # 2002dbd4 - b8ce: dd7fb0ef jal ra,76a4 - b8d2: a468 sb a0,14(s0) - b8d4: 345c lbu a5,13(s0) - b8d6: 8121 srli a0,a0,0x8 - b8d8: b468 sb a0,15(s0) - b8da: 2448 lbu a0,12(s0) - b8dc: 07a2 slli a5,a5,0x8 - b8de: 00040923 sb zero,18(s0) - b8e2: 8d5d or a0,a0,a5 - b8e4: 000409a3 sb zero,19(s0) - b8e8: dcbfb0ef jal ra,76b2 - b8ec: 6795 lui a5,0x5 - b8ee: 03f57513 andi a0,a0,63 - b8f2: 8d5d or a0,a0,a5 - b8f4: db1fb0ef jal ra,76a4 - b8f8: 00895703 lhu a4,8(s2) - b8fc: a448 sb a0,12(s0) - b8fe: 8121 srli a0,a0,0x8 - b900: b448 sb a0,13(s0) - b902: 4699 li a3,6 - b904: 8652 mv a2,s4 - b906: 85ce mv a1,s3 - b908: 00040823 sb zero,16(s0) - b90c: 000408a3 sb zero,17(s0) - b910: 854a mv a0,s2 - b912: 299000ef jal ra,c3aa - b916: a808 sb a0,16(s0) - b918: 8121 srli a0,a0,0x8 - b91a: b808 sb a0,17(s0) - b91c: 4799 li a5,6 - b91e: 4701 li a4,0 - b920: 08000693 li a3,128 - b924: 8652 mv a2,s4 - b926: 85ce mv a1,s3 - b928: 854a mv a0,s2 - b92a: a06fc0ef jal ra,7b30 - b92e: 854a mv a0,s2 - b930: 964fd0ef jal ra,8a94 - b934: 0141 addi sp,sp,16 - b936: bfbf406f j 530 <__riscv_restore_4> - -0000b93a : -tcp_rexmit_rto(): - b93a: 08052783 lw a5,128(a0) - b93e: cb85 beqz a5,b96e - b940: bd7f42ef jal t0,516 <__riscv_save_0> - b944: 873e mv a4,a5 - b946: 4314 lw a3,0(a4) - b948: e28d bnez a3,b96a - b94a: 5d74 lw a3,124(a0) - b94c: c314 sw a3,0(a4) - b94e: dd7c sw a5,124(a0) - b950: 05254783 lbu a5,82(a0) - b954: 08052023 sw zero,128(a0) - b958: 04052223 sw zero,68(a0) - b95c: 0785 addi a5,a5,1 - b95e: 04f50923 sb a5,82(a0) - b962: b69ff0ef jal ra,b4ca - b966: bd5f406f j 53a <__riscv_restore_0> - b96a: 8736 mv a4,a3 - b96c: bfe9 j b946 - b96e: 8082 ret - -0000b970 : -tcp_rexmit(): - b970: b8df42ef jal t0,4fc <__riscv_save_4> - b974: 08052483 lw s1,128(a0) - b978: c495 beqz s1,b9a4 - b97a: 409c lw a5,0(s1) - b97c: 842a mv s0,a0 - b97e: 07c50913 addi s2,a0,124 - b982: 08f52023 sw a5,128(a0) - b986: 00092783 lw a5,0(s2) - b98a: ef99 bnez a5,b9a8 - b98c: 00092783 lw a5,0(s2) - b990: c09c sw a5,0(s1) - b992: 00992023 sw s1,0(s2) - b996: 05244783 lbu a5,82(s0) - b99a: 04042223 sw zero,68(s0) - b99e: 0785 addi a5,a5,1 - b9a0: 04f40923 sb a5,82(s0) - b9a4: b8df406f j 530 <__riscv_restore_4> - b9a8: 4b98 lw a4,16(a5) - b9aa: 3348 lbu a0,5(a4) - b9ac: 235c lbu a5,4(a4) - b9ae: 0522 slli a0,a0,0x8 - b9b0: 8d5d or a0,a0,a5 - b9b2: 237c lbu a5,6(a4) - b9b4: 07c2 slli a5,a5,0x10 - b9b6: 8fc9 or a5,a5,a0 - b9b8: 3368 lbu a0,7(a4) - b9ba: 0562 slli a0,a0,0x18 - b9bc: 8d5d or a0,a0,a5 - b9be: d27fb0ef jal ra,76e4 - b9c2: 4898 lw a4,16(s1) - b9c4: 89aa mv s3,a0 - b9c6: 3348 lbu a0,5(a4) - b9c8: 235c lbu a5,4(a4) - b9ca: 0522 slli a0,a0,0x8 - b9cc: 8d5d or a0,a0,a5 - b9ce: 237c lbu a5,6(a4) - b9d0: 07c2 slli a5,a5,0x10 - b9d2: 8fc9 or a5,a5,a0 - b9d4: 3368 lbu a0,7(a4) - b9d6: 0562 slli a0,a0,0x18 - b9d8: 8d5d or a0,a0,a5 - b9da: d0bfb0ef jal ra,76e4 - b9de: 40a98533 sub a0,s3,a0 - b9e2: fa0555e3 bgez a0,b98c - b9e6: 00092903 lw s2,0(s2) - b9ea: bf71 j b986 - -0000b9ec : -tcp_rexmit_fast(): - b9ec: 08052783 lw a5,128(a0) - b9f0: cfb1 beqz a5,ba4c - b9f2: b25f42ef jal t0,516 <__riscv_save_0> - b9f6: 02654783 lbu a5,38(a0) - b9fa: 842a mv s0,a0 - b9fc: 8b91 andi a5,a5,4 - b9fe: e7a9 bnez a5,ba48 - ba00: f71ff0ef jal ra,b970 - ba04: 05a45683 lhu a3,90(s0) - ba08: 06445783 lhu a5,100(s0) - ba0c: 0016d713 srli a4,a3,0x1 - ba10: 00d7f463 bgeu a5,a3,ba18 - ba14: 0017d713 srli a4,a5,0x1 - ba18: 04045783 lhu a5,64(s0) - ba1c: 04e41e23 sh a4,92(s0) - ba20: 00179693 slli a3,a5,0x1 - ba24: 00d75463 bge a4,a3,ba2c - ba28: 04d41e23 sh a3,92(s0) - ba2c: 470d li a4,3 - ba2e: 02e787b3 mul a5,a5,a4 - ba32: 05c45703 lhu a4,92(s0) - ba36: 97ba add a5,a5,a4 - ba38: 04f41d23 sh a5,90(s0) - ba3c: 02644783 lbu a5,38(s0) - ba40: 0047e793 ori a5,a5,4 - ba44: 02f40323 sb a5,38(s0) - ba48: af3f406f j 53a <__riscv_restore_0> - ba4c: 8082 ret - -0000ba4e : -tcp_keepalive(): - ba4e: aaff42ef jal t0,4fc <__riscv_save_4> - ba52: 84aa mv s1,a0 - ba54: 4601 li a2,0 - ba56: 45d1 li a1,20 - ba58: 4505 li a0,1 - ba5a: 888fd0ef jal ra,8ae2 - ba5e: c529 beqz a0,baa8 - ba60: 842a mv s0,a0 - ba62: 50a8 lw a0,96(s1) - ba64: 00448913 addi s2,s1,4 - ba68: 157d addi a0,a0,-1 - ba6a: c57fb0ef jal ra,76c0 - ba6e: 404c lw a1,4(s0) - ba70: 862a mv a2,a0 - ba72: 8526 mv a0,s1 - ba74: c84ff0ef jal ra,aef8 - ba78: 241a lhu a4,8(s0) - ba7a: 89aa mv s3,a0 - ba7c: 4699 li a3,6 - ba7e: 864a mv a2,s2 - ba80: 85a6 mv a1,s1 - ba82: 8522 mv a0,s0 - ba84: 127000ef jal ra,c3aa - ba88: 00a98823 sb a0,16(s3) - ba8c: 8121 srli a0,a0,0x8 - ba8e: 00a988a3 sb a0,17(s3) - ba92: 34b4 lbu a3,11(s1) - ba94: 4799 li a5,6 - ba96: 4701 li a4,0 - ba98: 864a mv a2,s2 - ba9a: 85a6 mv a1,s1 - ba9c: 8522 mv a0,s0 - ba9e: 892fc0ef jal ra,7b30 - baa2: 8522 mv a0,s0 - baa4: ff1fc0ef jal ra,8a94 - baa8: a89f406f j 530 <__riscv_restore_4> - -0000baac : -tcp_zero_window_probe(): - baac: a51f42ef jal t0,4fc <__riscv_save_4> - bab0: 08052403 lw s0,128(a0) - bab4: e019 bnez s0,baba - bab6: 5d60 lw s0,124(a0) - bab8: c45d beqz s0,bb66 - baba: 481c lw a5,16(s0) - babc: 84aa mv s1,a0 - babe: 27c8 lbu a0,12(a5) - bac0: 37dc lbu a5,13(a5) - bac2: 07a2 slli a5,a5,0x8 - bac4: 8d5d or a0,a0,a5 - bac6: bedfb0ef jal ra,76b2 - baca: 8905 andi a0,a0,1 - bacc: cd59 beqz a0,bb6a - bace: 245e lhu a5,12(s0) - bad0: efc9 bnez a5,bb6a - bad2: 4a05 li s4,1 - bad4: 45d1 li a1,20 - bad6: 4601 li a2,0 - bad8: 4505 li a0,1 - bada: 808fd0ef jal ra,8ae2 - bade: 892a mv s2,a0 - bae0: c159 beqz a0,bb66 - bae2: 4818 lw a4,16(s0) - bae4: 414c lw a1,4(a0) - bae6: 8526 mv a0,s1 - bae8: 3350 lbu a2,5(a4) - baea: 235c lbu a5,4(a4) - baec: 0622 slli a2,a2,0x8 - baee: 8e5d or a2,a2,a5 - baf0: 237c lbu a5,6(a4) - baf2: 07c2 slli a5,a5,0x10 - baf4: 8fd1 or a5,a5,a2 - baf6: 3370 lbu a2,7(a4) - baf8: 0662 slli a2,a2,0x18 - bafa: 8e5d or a2,a2,a5 - bafc: bfcff0ef jal ra,aef8 - bb00: 89aa mv s3,a0 - bb02: 060a0763 beqz s4,bb70 - bb06: 3540 lbu s0,13(a0) - bb08: 255c lbu a5,12(a0) - bb0a: 6541 lui a0,0x10 - bb0c: 0422 slli s0,s0,0x8 - bb0e: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x2aac> - bb12: 8c5d or s0,s0,a5 - bb14: b91fb0ef jal ra,76a4 - bb18: 8c69 and s0,s0,a0 - bb1a: 4545 li a0,17 - bb1c: b89fb0ef jal ra,76a4 - bb20: 8c49 or s0,s0,a0 - bb22: 01041793 slli a5,s0,0x10 - bb26: 83c1 srli a5,a5,0x10 - bb28: 00f98623 sb a5,12(s3) - bb2c: 83a1 srli a5,a5,0x8 - bb2e: 00f986a3 sb a5,13(s3) - bb32: 00895703 lhu a4,8(s2) - bb36: 00448413 addi s0,s1,4 - bb3a: 4699 li a3,6 - bb3c: 8622 mv a2,s0 - bb3e: 85a6 mv a1,s1 - bb40: 854a mv a0,s2 - bb42: 069000ef jal ra,c3aa - bb46: 00a98823 sb a0,16(s3) - bb4a: 8121 srli a0,a0,0x8 - bb4c: 00a988a3 sb a0,17(s3) - bb50: 34b4 lbu a3,11(s1) - bb52: 4799 li a5,6 - bb54: 4701 li a4,0 - bb56: 8622 mv a2,s0 - bb58: 85a6 mv a1,s1 - bb5a: 854a mv a0,s2 - bb5c: fd5fb0ef jal ra,7b30 - bb60: 854a mv a0,s2 - bb62: f33fc0ef jal ra,8a94 - bb66: 9cbf406f j 530 <__riscv_restore_4> - bb6a: 4a01 li s4,0 - bb6c: 45d5 li a1,21 - bb6e: b7a5 j bad6 - bb70: 4418 lw a4,8(s0) - bb72: 00492783 lw a5,4(s2) - bb76: 00070703 lb a4,0(a4) - bb7a: abd8 sb a4,20(a5) - bb7c: bf5d j bb32 - -0000bb7e : -udp_input(): - bb7e: 969f42ef jal t0,4e6 <__riscv_save_12> - bb82: 4140 lw s0,4(a0) - bb84: 2506 lhu s1,8(a0) - bb86: 892a mv s2,a0 - bb88: 301c lbu a5,1(s0) - bb8a: 2008 lbu a0,0(s0) - bb8c: 1141 addi sp,sp,-16 - bb8e: 07a2 slli a5,a5,0x8 - bb90: 8d5d or a0,a0,a5 - bb92: 8a2e mv s4,a1 - bb94: b1ffb0ef jal ra,76b2 - bb98: 8121 srli a0,a0,0x8 - bb9a: 893d andi a0,a0,15 - bb9c: 0509 addi a0,a0,2 - bb9e: 050a slli a0,a0,0x2 - bba0: 02a4c263 blt s1,a0,bbc4 - bba4: 301c lbu a5,1(s0) - bba6: 2008 lbu a0,0(s0) - bba8: 07a2 slli a5,a5,0x8 - bbaa: 8d5d or a0,a0,a5 - bbac: b07fb0ef jal ra,76b2 - bbb0: 00655593 srli a1,a0,0x6 - bbb4: 03c5f593 andi a1,a1,60 - bbb8: 40b005b3 neg a1,a1 - bbbc: 854a mv a0,s2 - bbbe: e69fc0ef jal ra,8a26 - bbc2: c519 beqz a0,bbd0 - bbc4: 854a mv a0,s2 - bbc6: ecffc0ef jal ra,8a94 - bbca: 0141 addi sp,sp,16 - bbcc: 957f406f j 522 <__riscv_restore_12> - bbd0: 00492a83 lw s5,4(s2) - bbd4: 01040c13 addi s8,s0,16 - bbd8: 85d2 mv a1,s4 - bbda: 8562 mv a0,s8 - bbdc: f8bfb0ef jal ra,7b66 - bbe0: 001ac783 lbu a5,1(s5) - bbe4: 8b2a mv s6,a0 - bbe6: 000ac503 lbu a0,0(s5) - bbea: 07a2 slli a5,a5,0x8 - bbec: 8d5d or a0,a0,a5 - bbee: ac5fb0ef jal ra,76b2 - bbf2: 003ac783 lbu a5,3(s5) - bbf6: 8baa mv s7,a0 - bbf8: 002ac503 lbu a0,2(s5) - bbfc: 07a2 slli a5,a5,0x8 - bbfe: 8d5d or a0,a0,a5 - bc00: ab3fb0ef jal ra,76b2 - bc04: 04400793 li a5,68 - bc08: 86aa mv a3,a0 - bc0a: 06f51d63 bne a0,a5,bc84 - bc0e: 04300793 li a5,67 - bc12: 12fb9963 bne s7,a5,bd44 - bc16: 020a2783 lw a5,32(s4) - bc1a: 12078563 beqz a5,bd44 - bc1e: 43c4 lw s1,4(a5) - bc20: 12048263 beqz s1,bd44 - bc24: 40d4 lw a3,4(s1) - bc26: ce89 beqz a3,bc40 - bc28: 3458 lbu a4,13(s0) - bc2a: 245c lbu a5,12(s0) - bc2c: 0722 slli a4,a4,0x8 - bc2e: 8f5d or a4,a4,a5 - bc30: 247c lbu a5,14(s0) - bc32: 07c2 slli a5,a5,0x10 - bc34: 8f5d or a4,a4,a5 - bc36: 347c lbu a5,15(s0) - bc38: 07e2 slli a5,a5,0x18 - bc3a: 8fd9 or a5,a5,a4 - bc3c: 10f69463 bne a3,a5,bd44 - bc40: 007ac783 lbu a5,7(s5) - bc44: 006ac703 lbu a4,6(s5) - bc48: 07a2 slli a5,a5,0x8 - bc4a: 8fd9 or a5,a5,a4 - bc4c: cb99 beqz a5,bc62 - bc4e: 00895703 lhu a4,8(s2) - bc52: 46c5 li a3,17 - bc54: 8662 mv a2,s8 - bc56: 00c40593 addi a1,s0,12 - bc5a: 854a mv a0,s2 - bc5c: 74e000ef jal ra,c3aa - bc60: f135 bnez a0,bbc4 - bc62: 55e1 li a1,-8 - bc64: 854a mv a0,s2 - bc66: dc1fc0ef jal ra,8a26 - bc6a: fd29 bnez a0,bbc4 - bc6c: 0e048c63 beqz s1,bd64 - bc70: 4c9c lw a5,24(s1) - bc72: dba9 beqz a5,bbc4 - bc74: 4cc8 lw a0,28(s1) - bc76: 875e mv a4,s7 - bc78: 00c40693 addi a3,s0,12 - bc7c: 864a mv a2,s2 - bc7e: 85a6 mv a1,s1 - bc80: 9782 jalr a5 - bc82: b7a1 j bbca - bc84: 9d41a483 lw s1,-1580(gp) # 20000214 - bc88: 4d01 li s10,0 - bc8a: 4d81 li s11,0 - bc8c: 9d418c93 addi s9,gp,-1580 # 20000214 - bc90: 76c00613 li a2,1900 - bc94: e489 bnez s1,bc9e - bc96: 0a0d0763 beqz s10,bd44 - bc9a: 84ea mv s1,s10 - bc9c: b755 j bc40 - bc9e: 28be lhu a5,18(s1) - bca0: 08d79c63 bne a5,a3,bd38 - bca4: 4098 lw a4,0(s1) - bca6: 040b1563 bnez s6,bcf0 - bcaa: e339 bnez a4,bcf0 - bcac: 000d1663 bnez s10,bcb8 - bcb0: 289c lbu a5,16(s1) - bcb2: 8b91 andi a5,a5,4 - bcb4: e391 bnez a5,bcb8 - bcb6: 8d26 mv s10,s1 - bcb8: 28de lhu a5,20(s1) - bcba: 09779263 bne a5,s7,bd3e - bcbe: 40cc lw a1,4(s1) - bcc0: cd89 beqz a1,bcda - bcc2: 3458 lbu a4,13(s0) - bcc4: 245c lbu a5,12(s0) - bcc6: 0722 slli a4,a4,0x8 - bcc8: 8f5d or a4,a4,a5 - bcca: 247c lbu a5,14(s0) - bccc: 07c2 slli a5,a5,0x10 - bcce: 8f5d or a4,a4,a5 - bcd0: 347c lbu a5,15(s0) - bcd2: 07e2 slli a5,a5,0x18 - bcd4: 8fd9 or a5,a5,a4 - bcd6: 06f59463 bne a1,a5,bd3e - bcda: f60d83e3 beqz s11,bc40 - bcde: 44dc lw a5,12(s1) - bce0: 00fda623 sw a5,12(s11) - bce4: 000ca783 lw a5,0(s9) - bce8: 009ca023 sw s1,0(s9) - bcec: c4dc sw a5,12(s1) - bcee: bf89 j bc40 - bcf0: 381c lbu a5,17(s0) - bcf2: 01044983 lbu s3,16(s0) - bcf6: 07a2 slli a5,a5,0x8 - bcf8: 0137e7b3 or a5,a5,s3 - bcfc: 01244983 lbu s3,18(s0) - bd00: 09c2 slli s3,s3,0x10 - bd02: 00f9e7b3 or a5,s3,a5 - bd06: 01344983 lbu s3,19(s0) - bd0a: 09e2 slli s3,s3,0x18 - bd0c: 00f9e9b3 or s3,s3,a5 - bd10: f8e98ee3 beq s3,a4,bcac - bd14: f0000537 lui a0,0xf0000 - bd18: c636 sw a3,12(sp) - bd1a: 9cbfb0ef jal ra,76e4 - bd1e: 00a9f9b3 and s3,s3,a0 - bd22: e0000537 lui a0,0xe0000 - bd26: 9bffb0ef jal ra,76e4 - bd2a: 46b2 lw a3,12(sp) - bd2c: 76c00613 li a2,1900 - bd30: f6a98ee3 beq s3,a0,bcac - bd34: f60b1ce3 bnez s6,bcac - bd38: 8da6 mv s11,s1 - bd3a: 44c4 lw s1,12(s1) - bd3c: bfa1 j bc94 - bd3e: fec69de3 bne a3,a2,bd38 - bd42: bdfd j bc40 - bd44: 3818 lbu a4,17(s0) - bd46: 281c lbu a5,16(s0) - bd48: 0722 slli a4,a4,0x8 - bd4a: 8f5d or a4,a4,a5 - bd4c: 283c lbu a5,18(s0) - bd4e: 07c2 slli a5,a5,0x10 - bd50: 8f5d or a4,a4,a5 - bd52: 383c lbu a5,19(s0) - bd54: 07e2 slli a5,a5,0x18 - bd56: 8fd9 or a5,a5,a4 - bd58: 004a2703 lw a4,4(s4) - bd5c: e6f714e3 bne a4,a5,bbc4 - bd60: 4481 li s1,0 - bd62: bdf9 j bc40 - bd64: e60b10e3 bnez s6,bbc4 - bd68: 381c lbu a5,17(s0) - bd6a: 2804 lbu s1,16(s0) - bd6c: f0000537 lui a0,0xf0000 - bd70: 07a2 slli a5,a5,0x8 - bd72: 8fc5 or a5,a5,s1 - bd74: 2824 lbu s1,18(s0) - bd76: 04c2 slli s1,s1,0x10 - bd78: 8fc5 or a5,a5,s1 - bd7a: 3824 lbu s1,19(s0) - bd7c: 04e2 slli s1,s1,0x18 - bd7e: 8cdd or s1,s1,a5 - bd80: 965fb0ef jal ra,76e4 - bd84: 8ce9 and s1,s1,a0 - bd86: e0000537 lui a0,0xe0000 - bd8a: 95bfb0ef jal ra,76e4 - bd8e: e2a48be3 beq s1,a0,bbc4 - bd92: 301c lbu a5,1(s0) - bd94: 2008 lbu a0,0(s0) - bd96: 07a2 slli a5,a5,0x8 - bd98: 8d5d or a0,a0,a5 - bd9a: 919fb0ef jal ra,76b2 - bd9e: 00855593 srli a1,a0,0x8 - bda2: 89bd andi a1,a1,15 - bda4: 0589 addi a1,a1,2 - bda6: 058a slli a1,a1,0x2 - bda8: 854a mv a0,s2 - bdaa: c7dfc0ef jal ra,8a26 - bdae: 458d li a1,3 - bdb0: 854a mv a0,s2 - bdb2: 2b89 jal c304 - bdb4: bd01 j bbc4 - -0000bdb6 : -udp_bind(): - bdb6: 9d41a883 lw a7,-1580(gp) # 20000214 - bdba: 86aa mv a3,a0 - bdbc: 4301 li t1,0 - bdbe: 87c6 mv a5,a7 - bdc0: 9d418813 addi a6,gp,-1580 # 20000214 - bdc4: e79d bnez a5,bdf2 - bdc6: c999 beqz a1,bddc - bdc8: 3198 lbu a4,1(a1) - bdca: 219c lbu a5,0(a1) - bdcc: 0722 slli a4,a4,0x8 - bdce: 8f5d or a4,a4,a5 - bdd0: 21bc lbu a5,2(a1) - bdd2: 07c2 slli a5,a5,0x10 - bdd4: 8f5d or a4,a4,a5 - bdd6: 31bc lbu a5,3(a1) - bdd8: 07e2 slli a5,a5,0x18 - bdda: 8fd9 or a5,a5,a4 - bddc: c29c sw a5,0(a3) - bdde: c625 beqz a2,be46 - bde0: aab2 sh a2,18(a3) - bde2: 4501 li a0,0 - bde4: 00031663 bnez t1,bdf0 - bde8: 0116a623 sw a7,12(a3) - bdec: 00d82023 sw a3,0(a6) - bdf0: 8082 ret - bdf2: 02d78b63 beq a5,a3,be28 - bdf6: 2bba lhu a4,18(a5) - bdf8: 02c71663 bne a4,a2,be24 - bdfc: 0007ae03 lw t3,0(a5) # 5000 - be00: 000e1463 bnez t3,be08 - be04: 5555 li a0,-11 - be06: 8082 ret - be08: ddf5 beqz a1,be04 - be0a: 3188 lbu a0,1(a1) - be0c: 2198 lbu a4,0(a1) - be0e: 0522 slli a0,a0,0x8 - be10: 8d59 or a0,a0,a4 - be12: 21b8 lbu a4,2(a1) - be14: 0742 slli a4,a4,0x10 - be16: 8d59 or a0,a0,a4 - be18: 31b8 lbu a4,3(a1) - be1a: 0762 slli a4,a4,0x18 - be1c: 8f49 or a4,a4,a0 - be1e: d37d beqz a4,be04 - be20: feee02e3 beq t3,a4,be04 - be24: 47dc lw a5,12(a5) - be26: bf79 j bdc4 - be28: 4305 li t1,1 - be2a: bfed j be24 - be2c: 2bae lhu a1,18(a5) - be2e: 00c59a63 bne a1,a2,be42 - be32: 0605 addi a2,a2,1 - be34: 0642 slli a2,a2,0x10 - be36: 8241 srli a2,a2,0x10 - be38: 87c6 mv a5,a7 - be3a: d3dd beqz a5,bde0 - be3c: fee618e3 bne a2,a4,be2c - be40: b7d1 j be04 - be42: 47dc lw a5,12(a5) - be44: bfdd j be3a - be46: 6721 lui a4,0x8 - be48: 87c6 mv a5,a7 - be4a: 6605 lui a2,0x1 - be4c: 177d addi a4,a4,-1 - be4e: b7f5 j be3a - -0000be50 : -udp_sendto_if(): - be50: eacf42ef jal t0,4fc <__riscv_save_4> - be54: 293e lhu a5,18(a0) - be56: 892a mv s2,a0 - be58: 89ae mv s3,a1 - be5a: 8ab2 mv s5,a2 - be5c: 8b36 mv s6,a3 - be5e: 8a3a mv s4,a4 - be60: c7ad beqz a5,beca - be62: 45a1 li a1,8 - be64: 854e mv a0,s3 - be66: bc1fc0ef jal ra,8a26 - be6a: 84ce mv s1,s3 - be6c: cd01 beqz a0,be84 - be6e: 4601 li a2,0 - be70: 45a1 li a1,8 - be72: 4505 li a0,1 - be74: c6ffc0ef jal ra,8ae2 - be78: 84aa mv s1,a0 - be7a: 547d li s0,-1 - be7c: cd29 beqz a0,bed6 - be7e: 85ce mv a1,s3 - be80: e33fc0ef jal ra,8cb2 - be84: 01295503 lhu a0,18(s2) - be88: 40c0 lw s0,4(s1) - be8a: 81bfb0ef jal ra,76a4 - be8e: a008 sb a0,0(s0) - be90: 8121 srli a0,a0,0x8 - be92: b008 sb a0,1(s0) - be94: 855a mv a0,s6 - be96: 80ffb0ef jal ra,76a4 - be9a: 00092783 lw a5,0(s2) - be9e: a028 sb a0,2(s0) - bea0: 8121 srli a0,a0,0x8 - bea2: b028 sb a0,3(s0) - bea4: 00040323 sb zero,6(s0) - bea8: 000403a3 sb zero,7(s0) - beac: 004a0b13 addi s6,s4,4 - beb0: c795 beqz a5,bedc - beb2: 004a2703 lw a4,4(s4) - beb6: 8b4a mv s6,s2 - beb8: 02e78263 beq a5,a4,bedc - bebc: 545d li s0,-9 - bebe: 01348c63 beq s1,s3,bed6 - bec2: 8526 mv a0,s1 - bec4: bd1fc0ef jal ra,8a94 - bec8: a039 j bed6 - beca: 4601 li a2,0 - becc: 85aa mv a1,a0 - bece: ee9ff0ef jal ra,bdb6 - bed2: 842a mv s0,a0 - bed4: d559 beqz a0,be62 - bed6: 8522 mv a0,s0 - bed8: e58f406f j 530 <__riscv_restore_4> - bedc: 248a lhu a0,8(s1) - bede: fc6fb0ef jal ra,76a4 - bee2: a048 sb a0,4(s0) - bee4: 8121 srli a0,a0,0x8 - bee6: b048 sb a0,5(s0) - bee8: 01094783 lbu a5,16(s2) - beec: 8b85 andi a5,a5,1 - beee: eb99 bnez a5,bf04 - bef0: 249a lhu a4,8(s1) - bef2: 46c5 li a3,17 - bef4: 8656 mv a2,s5 - bef6: 85da mv a1,s6 - bef8: 8526 mv a0,s1 - befa: 2945 jal c3aa - befc: c10d beqz a0,bf1e - befe: a068 sb a0,6(s0) - bf00: 8121 srli a0,a0,0x8 - bf02: b068 sb a0,7(s0) - bf04: 00a94703 lbu a4,10(s2) - bf08: 00b94683 lbu a3,11(s2) - bf0c: 8852 mv a6,s4 - bf0e: 47c5 li a5,17 - bf10: 8656 mv a2,s5 - bf12: 85da mv a1,s6 - bf14: 8526 mv a0,s1 - bf16: ac1fb0ef jal ra,79d6 - bf1a: 842a mv s0,a0 - bf1c: b74d j bebe - bf1e: 57fd li a5,-1 - bf20: a07c sb a5,6(s0) - bf22: b07c sb a5,7(s0) - bf24: b7c5 j bf04 - -0000bf26 : -udp_sendto(): - bf26: df0f42ef jal t0,516 <__riscv_save_0> - bf2a: 1141 addi sp,sp,-16 - bf2c: 842a mv s0,a0 - bf2e: 8532 mv a0,a2 - bf30: c62e sw a1,12(sp) - bf32: c436 sw a3,8(sp) - bf34: c232 sw a2,4(sp) - bf36: fbafb0ef jal ra,76f0 - bf3a: c919 beqz a0,bf50 - bf3c: 46a2 lw a3,8(sp) - bf3e: 4612 lw a2,4(sp) - bf40: 45b2 lw a1,12(sp) - bf42: 872a mv a4,a0 - bf44: 8522 mv a0,s0 - bf46: f0bff0ef jal ra,be50 - bf4a: 0141 addi sp,sp,16 - bf4c: deef406f j 53a <__riscv_restore_0> - bf50: 5571 li a0,-4 - bf52: bfe5 j bf4a - -0000bf54 : -udp_send(): - bf54: dc2f42ef jal t0,516 <__riscv_save_0> - bf58: 2956 lhu a3,20(a0) - bf5a: 00450613 addi a2,a0,4 # e0000004 <__freertos_irq_stack_top+0xbffd0004> - bf5e: fc9ff0ef jal ra,bf26 - bf62: dd8f406f j 53a <__riscv_restore_0> - -0000bf66 : -udp_connect(): - bf66: db0f42ef jal t0,516 <__riscv_save_0> - bf6a: 293e lhu a5,18(a0) - bf6c: 842a mv s0,a0 - bf6e: 84ae mv s1,a1 - bf70: 8932 mv s2,a2 - bf72: cbb1 beqz a5,bfc6 - bf74: 4781 li a5,0 - bf76: c899 beqz s1,bf8c - bf78: 3098 lbu a4,1(s1) - bf7a: 209c lbu a5,0(s1) - bf7c: 0722 slli a4,a4,0x8 - bf7e: 8f5d or a4,a4,a5 - bf80: 20bc lbu a5,2(s1) - bf82: 07c2 slli a5,a5,0x10 - bf84: 8f5d or a4,a4,a5 - bf86: 30bc lbu a5,3(s1) - bf88: 07e2 slli a5,a5,0x18 - bf8a: 8fd9 or a5,a5,a4 - bf8c: 2818 lbu a4,16(s0) - bf8e: c05c sw a5,4(s0) - bf90: 01241a23 sh s2,20(s0) - bf94: 00476713 ori a4,a4,4 - bf98: a818 sb a4,16(s0) - bf9a: 4018 lw a4,0(s0) - bf9c: ef05 bnez a4,bfd4 - bf9e: cf85 beqz a5,bfd6 - bfa0: 00440513 addi a0,s0,4 - bfa4: f4cfb0ef jal ra,76f0 - bfa8: 87aa mv a5,a0 - bfaa: 5571 li a0,-4 - bfac: c395 beqz a5,bfd0 - bfae: 43dc lw a5,4(a5) - bfb0: c01c sw a5,0(s0) - bfb2: 9d41a683 lw a3,-1580(gp) # 20000214 - bfb6: 9d418793 addi a5,gp,-1580 # 20000214 - bfba: 8736 mv a4,a3 - bfbc: e305 bnez a4,bfdc - bfbe: c454 sw a3,12(s0) - bfc0: c380 sw s0,0(a5) - bfc2: 4501 li a0,0 - bfc4: a031 j bfd0 - bfc6: 4601 li a2,0 - bfc8: 85aa mv a1,a0 - bfca: dedff0ef jal ra,bdb6 - bfce: d15d beqz a0,bf74 - bfd0: d6af406f j 53a <__riscv_restore_0> - bfd4: fff9 bnez a5,bfb2 - bfd6: 00042023 sw zero,0(s0) - bfda: bfe1 j bfb2 - bfdc: fe8703e3 beq a4,s0,bfc2 - bfe0: 4758 lw a4,12(a4) - bfe2: bfe9 j bfbc - -0000bfe4 : -udp_recv(): - bfe4: cd0c sw a1,24(a0) - bfe6: cd50 sw a2,28(a0) - bfe8: 8082 ret - -0000bfea : -udp_remove(): - bfea: d2cf42ef jal t0,516 <__riscv_save_0> - bfee: 9d418713 addi a4,gp,-1580 # 20000214 - bff2: 431c lw a5,0(a4) - bff4: 85aa mv a1,a0 - bff6: 02a79063 bne a5,a0,c016 - bffa: 455c lw a5,12(a0) - bffc: c31c sw a5,0(a4) - bffe: 4505 li a0,1 - c000: 8c3fc0ef jal ra,88c2 - c004: d36f406f j 53a <__riscv_restore_0> - c008: 47d8 lw a4,12(a5) - c00a: c709 beqz a4,c014 - c00c: 00b71463 bne a4,a1,c014 - c010: 45d8 lw a4,12(a1) - c012: c7d8 sw a4,12(a5) - c014: 47dc lw a5,12(a5) - c016: fbed bnez a5,c008 - c018: b7dd j bffe - -0000c01a : -udp_new(): - c01a: cfcf42ef jal t0,516 <__riscv_save_0> - c01e: 4505 li a0,1 - c020: 883fc0ef jal ra,88a2 - c024: 842a mv s0,a0 - c026: c909 beqz a0,c038 - c028: 02000613 li a2,32 - c02c: 4581 li a1,0 - c02e: d18f40ef jal ra,546 - c032: f8000793 li a5,-128 - c036: b43c sb a5,11(s0) - c038: 8522 mv a0,s0 - c03a: d00f406f j 53a <__riscv_restore_0> - -0000c03e : -icmp_send_response.isra.0(): - c03e: cbef42ef jal t0,4fc <__riscv_save_4> - c042: 842a mv s0,a0 - c044: 8a2e mv s4,a1 - c046: 89b2 mv s3,a2 - c048: 02400593 li a1,36 - c04c: 4601 li a2,0 - c04e: 4505 li a0,1 - c050: a93fc0ef jal ra,8ae2 - c054: cd31 beqz a0,c0b0 - c056: 00042903 lw s2,0(s0) - c05a: 4140 lw s0,4(a0) - c05c: 84aa mv s1,a0 - c05e: 4671 li a2,28 - c060: 85ca mv a1,s2 - c062: 01440023 sb s4,0(s0) - c066: 013400a3 sb s3,1(s0) - c06a: 00040223 sb zero,4(s0) - c06e: 000402a3 sb zero,5(s0) - c072: 00040323 sb zero,6(s0) - c076: 000403a3 sb zero,7(s0) - c07a: 00840513 addi a0,s0,8 - c07e: 653000ef jal ra,ced0 - c082: 24ae lhu a1,10(s1) - c084: 00040123 sb zero,2(s0) - c088: 000401a3 sb zero,3(s0) - c08c: 8522 mv a0,s0 - c08e: 211d jal c4b4 - c090: a028 sb a0,2(s0) - c092: 8121 srli a0,a0,0x8 - c094: b028 sb a0,3(s0) - c096: 4785 li a5,1 - c098: 4701 li a4,0 - c09a: 08000693 li a3,128 - c09e: 00c90613 addi a2,s2,12 - c0a2: 4581 li a1,0 - c0a4: 8526 mv a0,s1 - c0a6: a8bfb0ef jal ra,7b30 - c0aa: 8526 mv a0,s1 - c0ac: 9e9fc0ef jal ra,8a94 - c0b0: c80f406f j 530 <__riscv_restore_4> - -0000c0b4 : -icmp_input(): - c0b4: c3af42ef jal t0,4ee <__riscv_save_10> - c0b8: 4140 lw s0,4(a0) - c0ba: 84aa mv s1,a0 - c0bc: 1141 addi sp,sp,-16 - c0be: 301c lbu a5,1(s0) - c0c0: 2008 lbu a0,0(s0) - c0c2: 89ae mv s3,a1 - c0c4: 07a2 slli a5,a5,0x8 - c0c6: 8d5d or a0,a0,a5 - c0c8: deafb0ef jal ra,76b2 - c0cc: 00655913 srli s2,a0,0x6 - c0d0: 03c97913 andi s2,s2,60 - c0d4: 41200ab3 neg s5,s2 - c0d8: 0ac2 slli s5,s5,0x10 - c0da: 410ada93 srai s5,s5,0x10 - c0de: 85d6 mv a1,s5 - c0e0: 8526 mv a0,s1 - c0e2: 945fc0ef jal ra,8a26 - c0e6: e139 bnez a0,c12c - c0e8: 249e lhu a5,8(s1) - c0ea: 468d li a3,3 - c0ec: 04f6f063 bgeu a3,a5,c12c - c0f0: 40dc lw a5,4(s1) - c0f2: 2398 lbu a4,0(a5) - c0f4: 04d71263 bne a4,a3,c138 - c0f8: 2798 lbu a4,8(a5) - c0fa: 00878693 addi a3,a5,8 - c0fe: 3f88 lbu a0,25(a5) - c100: 8b3d andi a4,a4,15 - c102: 070a slli a4,a4,0x2 - c104: 9736 add a4,a4,a3 - c106: 232c lbu a1,2(a4) - c108: 00374803 lbu a6,3(a4) # 8003 - c10c: 2f98 lbu a4,24(a5) - c10e: 0522 slli a0,a0,0x8 - c110: 3394 lbu a3,1(a5) - c112: 8d59 or a0,a0,a4 - c114: 2fb8 lbu a4,26(a5) - c116: 3b90 lbu a2,17(a5) - c118: 05a2 slli a1,a1,0x8 - c11a: 0742 slli a4,a4,0x10 - c11c: 8f49 or a4,a4,a0 - c11e: 3fa8 lbu a0,27(a5) - c120: 0105e5b3 or a1,a1,a6 - c124: 0562 slli a0,a0,0x18 - c126: 8d59 or a0,a0,a4 - c128: ba3fa0ef jal ra,6cca - c12c: 8526 mv a0,s1 - c12e: 967fc0ef jal ra,8a94 - c132: 0141 addi sp,sp,16 - c134: bf2f406f j 526 <__riscv_restore_10> - c138: 47a1 li a5,8 - c13a: fef719e3 bne a4,a5,c12c - c13e: 381c lbu a5,17(s0) - c140: 01044a03 lbu s4,16(s0) - c144: f0000537 lui a0,0xf0000 - c148: 07a2 slli a5,a5,0x8 - c14a: 0147e7b3 or a5,a5,s4 - c14e: 01244a03 lbu s4,18(s0) - c152: 4b01 li s6,0 - c154: 0a42 slli s4,s4,0x10 - c156: 00fa67b3 or a5,s4,a5 - c15a: 01344a03 lbu s4,19(s0) - c15e: 0a62 slli s4,s4,0x18 - c160: 00fa6a33 or s4,s4,a5 - c164: d80fb0ef jal ra,76e4 - c168: 8c2a mv s8,a0 - c16a: e0000537 lui a0,0xe0000 - c16e: d76fb0ef jal ra,76e4 - c172: 8baa mv s7,a0 - c174: 85ce mv a1,s3 - c176: 01040513 addi a0,s0,16 - c17a: 9edfb0ef jal ra,7b66 - c17e: e519 bnez a0,c18c - c180: 018a7533 and a0,s4,s8 - c184: 41750533 sub a0,a0,s7 - c188: 00a03b33 snez s6,a0 - c18c: b31fa0ef jal ra,6cbc - c190: dd51 beqz a0,c12c - c192: f80b0de3 beqz s6,c12c - c196: 249a lhu a4,8(s1) - c198: 479d li a5,7 - c19a: f8e7f9e3 bgeu a5,a4,c12c - c19e: 8526 mv a0,s1 - c1a0: 2625 jal c4c8 - c1a2: f549 bnez a0,c12c - c1a4: 0942 slli s2,s2,0x10 - c1a6: 02200593 li a1,34 - c1aa: 8526 mv a0,s1 - c1ac: 41095913 srai s2,s2,0x10 - c1b0: 877fc0ef jal ra,8a26 - c1b4: 12050463 beqz a0,c2dc - c1b8: 85ca mv a1,s2 - c1ba: 8526 mv a0,s1 - c1bc: 86bfc0ef jal ra,8a26 - c1c0: f535 bnez a0,c12c - c1c2: 248e lhu a1,8(s1) - c1c4: 4601 li a2,0 - c1c6: 4509 li a0,2 - c1c8: 91bfc0ef jal ra,8ae2 - c1cc: 8a2a mv s4,a0 - c1ce: dd39 beqz a0,c12c - c1d0: 85a6 mv a1,s1 - c1d2: af5fc0ef jal ra,8cc6 - c1d6: f939 bnez a0,c12c - c1d8: 85d6 mv a1,s5 - c1da: 8552 mv a0,s4 - c1dc: 004a2403 lw s0,4(s4) - c1e0: 847fc0ef jal ra,8a26 - c1e4: f521 bnez a0,c12c - c1e6: 8526 mv a0,s1 - c1e8: 8adfc0ef jal ra,8a94 - c1ec: 84d2 mv s1,s4 - c1ee: 3458 lbu a4,13(s0) - c1f0: 245c lbu a5,12(s0) - c1f2: 3814 lbu a3,17(s0) - c1f4: 0722 slli a4,a4,0x8 - c1f6: 8f5d or a4,a4,a5 - c1f8: 247c lbu a5,14(s0) - c1fa: 06a2 slli a3,a3,0x8 - c1fc: 0044aa03 lw s4,4(s1) - c200: 07c2 slli a5,a5,0x10 - c202: 8f5d or a4,a4,a5 - c204: 347c lbu a5,15(s0) - c206: 653d lui a0,0xf - c208: 7ff50513 addi a0,a0,2047 # f7ff <_data_lma+0x22eb> - c20c: 07e2 slli a5,a5,0x18 - c20e: 8fd9 or a5,a5,a4 - c210: 2818 lbu a4,16(s0) - c212: a81c sb a5,16(s0) - c214: 8ed9 or a3,a3,a4 - c216: 2838 lbu a4,18(s0) - c218: 0742 slli a4,a4,0x10 - c21a: 8ed9 or a3,a3,a4 - c21c: 3838 lbu a4,19(s0) - c21e: 0762 slli a4,a4,0x18 - c220: 8f55 or a4,a4,a3 - c222: 00875693 srli a3,a4,0x8 - c226: a458 sb a4,12(s0) - c228: b454 sb a3,13(s0) - c22a: 01075693 srli a3,a4,0x10 - c22e: 8361 srli a4,a4,0x18 - c230: b478 sb a4,15(s0) - c232: 0087d713 srli a4,a5,0x8 - c236: b818 sb a4,17(s0) - c238: 0107d713 srli a4,a5,0x10 - c23c: 83e1 srli a5,a5,0x18 - c23e: a474 sb a3,14(s0) - c240: a838 sb a4,18(s0) - c242: b83c sb a5,19(s0) - c244: 003a4a83 lbu s5,3(s4) - c248: 002a4783 lbu a5,2(s4) - c24c: 000a0023 sb zero,0(s4) - c250: 0aa2 slli s5,s5,0x8 - c252: 00faeab3 or s5,s5,a5 - c256: c4efb0ef jal ra,76a4 - c25a: 08aae963 bltu s5,a0,c2ec - c25e: 6505 lui a0,0x1 - c260: 80050513 addi a0,a0,-2048 # 800 <__stack_size> - c264: c40fb0ef jal ra,76a4 - c268: 003a4783 lbu a5,3(s4) - c26c: 002a4703 lbu a4,2(s4) - c270: 07a2 slli a5,a5,0x8 - c272: 8fd9 or a5,a5,a4 - c274: 0785 addi a5,a5,1 - c276: 953e add a0,a0,a5 - c278: 0542 slli a0,a0,0x10 - c27a: 8141 srli a0,a0,0x10 - c27c: 00aa0123 sb a0,2(s4) - c280: 8121 srli a0,a0,0x8 - c282: 00aa01a3 sb a0,3(s4) - c286: 341c lbu a5,9(s0) - c288: 2408 lbu a0,8(s0) - c28a: 07a2 slli a5,a5,0x8 - c28c: 8d5d or a0,a0,a5 - c28e: c24fb0ef jal ra,76b2 - c292: 67a1 lui a5,0x8 - c294: 0ff57513 andi a0,a0,255 - c298: 8d5d or a0,a0,a5 - c29a: c0afb0ef jal ra,76a4 - c29e: a408 sb a0,8(s0) - c2a0: 8121 srli a0,a0,0x8 - c2a2: b408 sb a0,9(s0) - c2a4: 45d1 li a1,20 - c2a6: 00040523 sb zero,10(s0) - c2aa: 000405a3 sb zero,11(s0) - c2ae: 8522 mv a0,s0 - c2b0: 2411 jal c4b4 - c2b2: a428 sb a0,10(s0) - c2b4: 8121 srli a0,a0,0x8 - c2b6: b428 sb a0,11(s0) - c2b8: 85ca mv a1,s2 - c2ba: 8526 mv a0,s1 - c2bc: f6afc0ef jal ra,8a26 - c2c0: e60516e3 bnez a0,c12c - c2c4: 884e mv a6,s3 - c2c6: 4785 li a5,1 - c2c8: 4701 li a4,0 - c2ca: 08000693 li a3,128 - c2ce: 4601 li a2,0 - c2d0: 00c40593 addi a1,s0,12 - c2d4: 8526 mv a0,s1 - c2d6: f00fb0ef jal ra,79d6 - c2da: bd89 j c12c - c2dc: fde00593 li a1,-34 - c2e0: 8526 mv a0,s1 - c2e2: f44fc0ef jal ra,8a26 - c2e6: f00504e3 beqz a0,c1ee - c2ea: b589 j c12c - c2ec: 6505 lui a0,0x1 - c2ee: 80050513 addi a0,a0,-2048 # 800 <__stack_size> - c2f2: bb2fb0ef jal ra,76a4 - c2f6: 003a4783 lbu a5,3(s4) - c2fa: 002a4703 lbu a4,2(s4) - c2fe: 07a2 slli a5,a5,0x8 - c300: 8fd9 or a5,a5,a4 - c302: bf95 j c276 - -0000c304 : -icmp_dest_unreach(): - c304: a12f42ef jal t0,516 <__riscv_save_0> - c308: 0ff5f613 andi a2,a1,255 - c30c: 0511 addi a0,a0,4 - c30e: 458d li a1,3 - c310: d2fff0ef jal ra,c03e - c314: a26f406f j 53a <__riscv_restore_0> - -0000c318 : -icmp_time_exceeded(): - c318: 9fef42ef jal t0,516 <__riscv_save_0> - c31c: 0ff5f613 andi a2,a1,255 - c320: 0511 addi a0,a0,4 - c322: 45ad li a1,11 - c324: d1bff0ef jal ra,c03e - c328: a12f406f j 53a <__riscv_restore_0> - -0000c32c : -lwip_standard_chksum(): - c32c: 9eaf42ef jal t0,516 <__riscv_save_0> - c330: 00b50833 add a6,a0,a1 - c334: 0842 slli a6,a6,0x10 - c336: 86aa mv a3,a0 - c338: 4701 li a4,0 - c33a: 01085813 srli a6,a6,0x10 - c33e: 4885 li a7,1 - c340: 40d807b3 sub a5,a6,a3 - c344: 07c2 slli a5,a5,0x10 - c346: 83c1 srli a5,a5,0x10 - c348: 04f8e463 bltu a7,a5,c390 - c34c: 0015d793 srli a5,a1,0x1 - c350: 00179693 slli a3,a5,0x1 - c354: 9536 add a0,a0,a3 - c356: 56f9 li a3,-2 - c358: 02d787b3 mul a5,a5,a3 - c35c: 95be add a1,a1,a5 - c35e: 05c2 slli a1,a1,0x10 - c360: 81c1 srli a1,a1,0x10 - c362: c581 beqz a1,c36a - c364: 211c lbu a5,0(a0) - c366: 07a2 slli a5,a5,0x8 - c368: 973e add a4,a4,a5 - c36a: 6541 lui a0,0x10 - c36c: fff50693 addi a3,a0,-1 # ffff <_data_lma+0x2aeb> - c370: 01075793 srli a5,a4,0x10 - c374: 8f75 and a4,a4,a3 - c376: 00e78533 add a0,a5,a4 - c37a: 77c1 lui a5,0xffff0 - c37c: 8fe9 and a5,a5,a0 - c37e: c399 beqz a5,c384 - c380: 8d75 and a0,a0,a3 - c382: 0505 addi a0,a0,1 - c384: 0542 slli a0,a0,0x10 - c386: 8141 srli a0,a0,0x10 - c388: b1cfb0ef jal ra,76a4 - c38c: 9aef406f j 53a <__riscv_restore_0> - c390: 329c lbu a5,1(a3) - c392: 2290 lbu a2,0(a3) - c394: 0689 addi a3,a3,2 - c396: 07a2 slli a5,a5,0x8 - c398: 8fd1 or a5,a5,a2 - c39a: 00879613 slli a2,a5,0x8 - c39e: 83a1 srli a5,a5,0x8 - c3a0: 8fd1 or a5,a5,a2 - c3a2: 07c2 slli a5,a5,0x10 - c3a4: 83c1 srli a5,a5,0x10 - c3a6: 973e add a4,a4,a5 - c3a8: bf61 j c340 - -0000c3aa : -inet_chksum_pseudo(): - c3aa: 944f42ef jal t0,4ee <__riscv_save_10> - c3ae: 2002e7b7 lui a5,0x2002e - c3b2: be47a783 lw a5,-1052(a5) # 2002dbe4 - c3b6: 84ba mv s1,a4 - c3b8: 1141 addi sp,sp,-16 - c3ba: 00579713 slli a4,a5,0x5 - c3be: 0e074963 bltz a4,c4b0 - c3c2: 6b41 lui s6,0x10 - c3c4: 892a mv s2,a0 - c3c6: 8aae mv s5,a1 - c3c8: 8a32 mv s4,a2 - c3ca: 4981 li s3,0 - c3cc: 4401 li s0,0 - c3ce: 1b7d addi s6,s6,-1 - c3d0: 4b85 li s7,1 - c3d2: 08091e63 bnez s2,c46e - c3d6: 00098b63 beqz s3,c3ec - c3da: 6741 lui a4,0x10 - c3dc: 00841793 slli a5,s0,0x8 - c3e0: 177d addi a4,a4,-1 - c3e2: 8021 srli s0,s0,0x8 - c3e4: 8ff9 and a5,a5,a4 - c3e6: 0ff47413 andi s0,s0,255 - c3ea: 8c5d or s0,s0,a5 - c3ec: 001ac503 lbu a0,1(s5) - c3f0: 000ac783 lbu a5,0(s5) - c3f4: 000a4703 lbu a4,0(s4) - c3f8: 0522 slli a0,a0,0x8 - c3fa: 8d5d or a0,a0,a5 - c3fc: 002ac783 lbu a5,2(s5) - c400: 003a4603 lbu a2,3(s4) - c404: 6941 lui s2,0x10 - c406: 07c2 slli a5,a5,0x10 - c408: 8d5d or a0,a0,a5 - c40a: 003ac783 lbu a5,3(s5) - c40e: 0662 slli a2,a2,0x18 - c410: 197d addi s2,s2,-1 - c412: 07e2 slli a5,a5,0x18 - c414: 8fc9 or a5,a5,a0 - c416: 001a4503 lbu a0,1(s4) - c41a: 0522 slli a0,a0,0x8 - c41c: 8f49 or a4,a4,a0 - c41e: 002a4503 lbu a0,2(s4) - c422: 0542 slli a0,a0,0x10 - c424: 8d59 or a0,a0,a4 - c426: 8e49 or a2,a2,a0 - c428: 01267533 and a0,a2,s2 - c42c: 8241 srli a2,a2,0x10 - c42e: 0127f733 and a4,a5,s2 - c432: 9532 add a0,a0,a2 - c434: 953a add a0,a0,a4 - c436: 83c1 srli a5,a5,0x10 - c438: 953e add a0,a0,a5 - c43a: 942a add s0,s0,a0 - c43c: 8536 mv a0,a3 - c43e: a66fb0ef jal ra,76a4 - c442: 942a add s0,s0,a0 - c444: 8526 mv a0,s1 - c446: a5efb0ef jal ra,76a4 - c44a: 9522 add a0,a0,s0 - c44c: 01055413 srli s0,a0,0x10 - c450: 01257533 and a0,a0,s2 - c454: 942a add s0,s0,a0 - c456: 01045513 srli a0,s0,0x10 - c45a: 01247433 and s0,s0,s2 - c45e: 9522 add a0,a0,s0 - c460: fff54513 not a0,a0 - c464: 0542 slli a0,a0,0x10 - c466: 8141 srli a0,a0,0x10 - c468: 0141 addi sp,sp,16 - c46a: 8bcf406f j 526 <__riscv_restore_10> - c46e: 00a95583 lhu a1,10(s2) # 1000a <_data_lma+0x2af6> - c472: 00492503 lw a0,4(s2) - c476: c636 sw a3,12(sp) - c478: eb5ff0ef jal ra,c32c - c47c: 942a add s0,s0,a0 - c47e: 01045793 srli a5,s0,0x10 - c482: 01647433 and s0,s0,s6 - c486: 943e add s0,s0,a5 - c488: 00a95783 lhu a5,10(s2) - c48c: 46b2 lw a3,12(sp) - c48e: 8b85 andi a5,a5,1 - c490: cf89 beqz a5,c4aa - c492: 00841793 slli a5,s0,0x8 - c496: 8021 srli s0,s0,0x8 - c498: 413b89b3 sub s3,s7,s3 - c49c: 0167f7b3 and a5,a5,s6 - c4a0: 0ff47413 andi s0,s0,255 - c4a4: 0ff9f993 andi s3,s3,255 - c4a8: 8c5d or s0,s0,a5 - c4aa: 00092903 lw s2,0(s2) - c4ae: b715 j c3d2 - c4b0: 4501 li a0,0 - c4b2: bf5d j c468 - -0000c4b4 : -inet_chksum(): - c4b4: 862f42ef jal t0,516 <__riscv_save_0> - c4b8: e75ff0ef jal ra,c32c - c4bc: fff54513 not a0,a0 - c4c0: 0542 slli a0,a0,0x10 - c4c2: 8141 srli a0,a0,0x10 - c4c4: 876f406f j 53a <__riscv_restore_0> - -0000c4c8 : -inet_chksum_pbuf(): - c4c8: 834f42ef jal t0,4fc <__riscv_save_4> - c4cc: 69c1 lui s3,0x10 - c4ce: 84aa mv s1,a0 - c4d0: 4901 li s2,0 - c4d2: 4401 li s0,0 - c4d4: 19fd addi s3,s3,-1 - c4d6: 4a05 li s4,1 - c4d8: e095 bnez s1,c4fc - c4da: 00090b63 beqz s2,c4f0 - c4de: 6741 lui a4,0x10 - c4e0: 00841793 slli a5,s0,0x8 - c4e4: 177d addi a4,a4,-1 - c4e6: 8021 srli s0,s0,0x8 - c4e8: 8ff9 and a5,a5,a4 - c4ea: 0ff47413 andi s0,s0,255 - c4ee: 8c5d or s0,s0,a5 - c4f0: fff44513 not a0,s0 - c4f4: 0542 slli a0,a0,0x10 - c4f6: 8141 srli a0,a0,0x10 - c4f8: 838f406f j 530 <__riscv_restore_4> - c4fc: 24ae lhu a1,10(s1) - c4fe: 40c8 lw a0,4(s1) - c500: e2dff0ef jal ra,c32c - c504: 942a add s0,s0,a0 - c506: 01045793 srli a5,s0,0x10 - c50a: 01347433 and s0,s0,s3 - c50e: 943e add s0,s0,a5 - c510: 24be lhu a5,10(s1) - c512: 8b85 andi a5,a5,1 - c514: cf89 beqz a5,c52e - c516: 00841793 slli a5,s0,0x8 - c51a: 8021 srli s0,s0,0x8 - c51c: 412a0933 sub s2,s4,s2 - c520: 0137f7b3 and a5,a5,s3 - c524: 0ff47413 andi s0,s0,255 - c528: 0ff97913 andi s2,s2,255 - c52c: 8c5d or s0,s0,a5 - c52e: 4084 lw s1,0(s1) - c530: b765 j c4d8 - -0000c532 : -printchar(): - c532: 1101 addi sp,sp,-32 - c534: ce06 sw ra,28(sp) - c536: c62e sw a1,12(sp) - c538: cd0d beqz a0,c572 - c53a: 4118 lw a4,0(a0) - c53c: 87aa mv a5,a0 - c53e: c305 beqz a4,c55e - c540: 4158 lw a4,4(a0) - c542: 557d li a0,-1 - c544: cb11 beqz a4,c558 - c546: 4685 li a3,1 - c548: 00d71b63 bne a4,a3,c55e - c54c: 4798 lw a4,8(a5) - c54e: 00070023 sb zero,0(a4) # 10000 <_data_lma+0x2aec> - c552: 0007a223 sw zero,4(a5) - c556: 4505 li a0,1 - c558: 40f2 lw ra,28(sp) - c55a: 6105 addi sp,sp,32 - c55c: 8082 ret - c55e: 4798 lw a4,8(a5) - c560: 46b2 lw a3,12(sp) - c562: a314 sb a3,0(a4) - c564: 4798 lw a4,8(a5) - c566: 0705 addi a4,a4,1 - c568: c798 sw a4,8(a5) - c56a: 43d8 lw a4,4(a5) - c56c: 177d addi a4,a4,-1 - c56e: c3d8 sw a4,4(a5) - c570: b7dd j c556 - c572: 4605 li a2,1 - c574: 006c addi a1,sp,12 - c576: 9eaf90ef jal ra,5760 <_write> - c57a: bff1 j c556 - -0000c57c : -prints(): - c57c: 7179 addi sp,sp,-48 - c57e: d422 sw s0,40(sp) - c580: d226 sw s1,36(sp) - c582: ce4e sw s3,28(sp) - c584: cc52 sw s4,24(sp) - c586: ca56 sw s5,20(sp) - c588: d606 sw ra,44(sp) - c58a: d04a sw s2,32(sp) - c58c: c85a sw s6,16(sp) - c58e: 8a2a mv s4,a0 - c590: 8aae mv s5,a1 - c592: 8432 mv s0,a2 - c594: 4481 li s1,0 - c596: 02000993 li s3,32 - c59a: 02064463 bltz a2,c5c2 - c59e: 009a87b3 add a5,s5,s1 - c5a2: 00078783 lb a5,0(a5) - c5a6: e39d bnez a5,c5cc - c5a8: 0284d663 bge s1,s0,c5d4 - c5ac: 02e4d263 bge s1,a4,c5d0 - c5b0: 8c19 sub s0,s0,a4 - c5b2: 0026f793 andi a5,a3,2 - c5b6: 02000993 li s3,32 - c5ba: c781 beqz a5,c5c2 - c5bc: e319 bnez a4,c5c2 - c5be: 03000993 li s3,48 - c5c2: 8a85 andi a3,a3,1 - c5c4: 4901 li s2,0 - c5c6: ea85 bnez a3,c5f6 - c5c8: 8922 mv s2,s0 - c5ca: a831 j c5e6 - c5cc: 0485 addi s1,s1,1 - c5ce: bfc1 j c59e - c5d0: 8c05 sub s0,s0,s1 - c5d2: b7c5 j c5b2 - c5d4: 4401 li s0,0 - c5d6: bff1 j c5b2 - c5d8: 85ce mv a1,s3 - c5da: 8552 mv a0,s4 - c5dc: c63a sw a4,12(sp) - c5de: f55ff0ef jal ra,c532 - c5e2: 4732 lw a4,12(sp) - c5e4: 197d addi s2,s2,-1 - c5e6: ff2049e3 bgtz s2,c5d8 - c5ea: 8922 mv s2,s0 - c5ec: 00045363 bgez s0,c5f2 - c5f0: 4901 li s2,0 - c5f2: 41240433 sub s0,s0,s2 - c5f6: 02e4cb63 blt s1,a4,c62c - c5fa: 84ca mv s1,s2 - c5fc: 412487b3 sub a5,s1,s2 - c600: 97d6 add a5,a5,s5 - c602: 00078583 lb a1,0(a5) - c606: e1a1 bnez a1,c646 - c608: 8922 mv s2,s0 - c60a: 05204363 bgtz s2,c650 - c60e: 00045363 bgez s0,c614 - c612: 4401 li s0,0 - c614: 00940533 add a0,s0,s1 - c618: 50b2 lw ra,44(sp) - c61a: 5422 lw s0,40(sp) - c61c: 5492 lw s1,36(sp) - c61e: 5902 lw s2,32(sp) - c620: 49f2 lw s3,28(sp) - c622: 4a62 lw s4,24(sp) - c624: 4ad2 lw s5,20(sp) - c626: 4b42 lw s6,16(sp) - c628: 6145 addi sp,sp,48 - c62a: 8082 ret - c62c: 409704b3 sub s1,a4,s1 - c630: 8b26 mv s6,s1 - c632: 03000593 li a1,48 - c636: 8552 mv a0,s4 - c638: 1b7d addi s6,s6,-1 - c63a: ef9ff0ef jal ra,c532 - c63e: fe0b1ae3 bnez s6,c632 - c642: 9926 add s2,s2,s1 - c644: bf5d j c5fa - c646: 8552 mv a0,s4 - c648: eebff0ef jal ra,c532 - c64c: 0485 addi s1,s1,1 - c64e: b77d j c5fc - c650: 85ce mv a1,s3 - c652: 8552 mv a0,s4 - c654: edfff0ef jal ra,c532 - c658: 197d addi s2,s2,-1 - c65a: bf45 j c60a - -0000c65c : -printInt(): - c65c: 715d addi sp,sp,-80 - c65e: c2a6 sw s1,68(sp) - c660: dc52 sw s4,56(sp) - c662: c686 sw ra,76(sp) - c664: c4a2 sw s0,72(sp) - c666: c0ca sw s2,64(sp) - c668: de4e sw s3,60(sp) - c66a: da56 sw s5,52(sp) - c66c: 84ba mv s1,a4 - c66e: 8a3e mv s4,a5 - c670: e19d bnez a1,c696 - c672: 03000793 li a5,48 - c676: 4701 li a4,0 - c678: 86d2 mv a3,s4 - c67a: 8626 mv a2,s1 - c67c: 082c addi a1,sp,24 - c67e: 84fc sh a5,24(sp) - c680: efdff0ef jal ra,c57c - c684: 40b6 lw ra,76(sp) - c686: 4426 lw s0,72(sp) - c688: 4496 lw s1,68(sp) - c68a: 4906 lw s2,64(sp) - c68c: 59f2 lw s3,60(sp) - c68e: 5a62 lw s4,56(sp) - c690: 5ad2 lw s5,52(sp) - c692: 6161 addi sp,sp,80 - c694: 8082 ret - c696: 892a mv s2,a0 - c698: 8436 mv s0,a3 - c69a: 8ac6 mv s5,a7 - c69c: ca91 beqz a3,c6b0 - c69e: 47a9 li a5,10 - c6a0: 4401 li s0,0 - c6a2: 00f61763 bne a2,a5,c6b0 - c6a6: 0005d563 bgez a1,c6b0 - c6aa: 40b005b3 neg a1,a1 - c6ae: 4405 li s0,1 - c6b0: 020107a3 sb zero,47(sp) - c6b4: 02f10793 addi a5,sp,47 - c6b8: 46a5 li a3,9 - c6ba: fc680513 addi a0,a6,-58 - c6be: 02c5f733 remu a4,a1,a2 - c6c2: 00e6d363 bge a3,a4,c6c8 - c6c6: 972a add a4,a4,a0 - c6c8: 03070713 addi a4,a4,48 - c6cc: fee78fa3 sb a4,-1(a5) - c6d0: fff78993 addi s3,a5,-1 - c6d4: 02c5d733 divu a4,a1,a2 - c6d8: 04c5fb63 bgeu a1,a2,c72e - c6dc: cc09 beqz s0,c6f6 - c6de: c8b9 beqz s1,c734 - c6e0: 002a7713 andi a4,s4,2 - c6e4: cb21 beqz a4,c734 - c6e6: 02d00593 li a1,45 - c6ea: 854a mv a0,s2 - c6ec: c642 sw a6,12(sp) - c6ee: e45ff0ef jal ra,c532 - c6f2: 4832 lw a6,12(sp) - c6f4: 14fd addi s1,s1,-1 - c6f6: 004a7793 andi a5,s4,4 - c6fa: c38d beqz a5,c71c - c6fc: 06100793 li a5,97 - c700: 03000593 li a1,48 - c704: 854a mv a0,s2 - c706: 02f81f63 bne a6,a5,c744 - c70a: e29ff0ef jal ra,c532 - c70e: 07800593 li a1,120 - c712: 854a mv a0,s2 - c714: e1fff0ef jal ra,c532 - c718: 0409 addi s0,s0,2 - c71a: 14f9 addi s1,s1,-2 - c71c: 8756 mv a4,s5 - c71e: 86d2 mv a3,s4 - c720: 8626 mv a2,s1 - c722: 85ce mv a1,s3 - c724: 854a mv a0,s2 - c726: e57ff0ef jal ra,c57c - c72a: 9522 add a0,a0,s0 - c72c: bfa1 j c684 - c72e: 85ba mv a1,a4 - c730: 87ce mv a5,s3 - c732: b771 j c6be - c734: 02d00713 li a4,45 - c738: fee98fa3 sb a4,-1(s3) # ffff <_data_lma+0x2aeb> - c73c: 4401 li s0,0 - c73e: ffe78993 addi s3,a5,-2 - c742: bf55 j c6f6 - c744: defff0ef jal ra,c532 - c748: 05800593 li a1,88 - c74c: b7d9 j c712 - -0000c74e : -printLongLongInt(): - c74e: 4501 li a0,0 - c750: 8082 ret - -0000c752 : -printDouble(): - c752: 4501 li a0,0 - c754: 8082 ret - -0000c756 : -print(): - c756: 7139 addi sp,sp,-64 - c758: d05a sw s6,32(sp) - c75a: 0000db37 lui s6,0xd - c75e: dc22 sw s0,56(sp) - c760: da26 sw s1,52(sp) - c762: d84a sw s2,48(sp) - c764: d64e sw s3,44(sp) - c766: d452 sw s4,40(sp) - c768: d256 sw s5,36(sp) - c76a: ce5e sw s7,28(sp) - c76c: cc62 sw s8,24(sp) - c76e: de06 sw ra,60(sp) - c770: ca66 sw s9,20(sp) - c772: 89aa mv s3,a0 - c774: 892e mv s2,a1 - c776: 8432 mv s0,a2 - c778: 4a01 li s4,0 - c77a: 4481 li s1,0 - c77c: 02500b93 li s7,37 - c780: 02b00a93 li s5,43 - c784: 4c29 li s8,10 - c786: 40cb0b13 addi s6,s6,1036 # d40c - c78a: 00090583 lb a1,0(s2) - c78e: e58d bnez a1,c7b8 - c790: 00098663 beqz s3,c79c - c794: 4581 li a1,0 - c796: 854e mv a0,s3 - c798: d9bff0ef jal ra,c532 - c79c: 50f2 lw ra,60(sp) - c79e: 5462 lw s0,56(sp) - c7a0: 8526 mv a0,s1 - c7a2: 5942 lw s2,48(sp) - c7a4: 54d2 lw s1,52(sp) - c7a6: 59b2 lw s3,44(sp) - c7a8: 5a22 lw s4,40(sp) - c7aa: 5a92 lw s5,36(sp) - c7ac: 5b02 lw s6,32(sp) - c7ae: 4bf2 lw s7,28(sp) - c7b0: 4c62 lw s8,24(sp) - c7b2: 4cd2 lw s9,20(sp) - c7b4: 6121 addi sp,sp,64 - c7b6: 8082 ret - c7b8: 01758863 beq a1,s7,c7c8 - c7bc: 854e mv a0,s3 - c7be: d75ff0ef jal ra,c532 - c7c2: 0485 addi s1,s1,1 - c7c4: 0905 addi s2,s2,1 - c7c6: b7d1 j c78a - c7c8: 00190783 lb a5,1(s2) - c7cc: 00190c93 addi s9,s2,1 - c7d0: 01779a63 bne a5,s7,c7e4 - c7d4: 02500593 li a1,37 - c7d8: 854e mv a0,s3 - c7da: d59ff0ef jal ra,c532 - c7de: 0485 addi s1,s1,1 - c7e0: 8966 mv s2,s9 - c7e2: b7cd j c7c4 - c7e4: d7d5 beqz a5,c790 - c7e6: 05578763 beq a5,s5,c834 - c7ea: 00fac863 blt s5,a5,c7fa - c7ee: 02300713 li a4,35 - c7f2: 04e78463 beq a5,a4,c83a - c7f6: 4781 li a5,0 - c7f8: a005 j c818 - c7fa: 02d00713 li a4,45 - c7fe: 00e78a63 beq a5,a4,c812 - c802: 03000713 li a4,48 - c806: fee798e3 bne a5,a4,c7f6 - c80a: 00290c93 addi s9,s2,2 - c80e: 4789 li a5,2 - c810: a021 j c818 - c812: 00290c93 addi s9,s2,2 - c816: 4785 li a5,1 - c818: 000c8703 lb a4,0(s9) - c81c: 05570363 beq a4,s5,c862 - c820: 02eac163 blt s5,a4,c842 - c824: 02300693 li a3,35 - c828: 02d70b63 beq a4,a3,c85e - c82c: 8966 mv s2,s9 - c82e: 4601 li a2,0 - c830: 45a5 li a1,9 - c832: a835 j c86e - c834: 00290c93 addi s9,s2,2 - c838: bf7d j c7f6 - c83a: 00290c93 addi s9,s2,2 - c83e: 4791 li a5,4 - c840: bfe1 j c818 - c842: 02d00693 li a3,45 - c846: 00d70963 beq a4,a3,c858 - c84a: 03000693 li a3,48 - c84e: fcd71fe3 bne a4,a3,c82c - c852: 0027e793 ori a5,a5,2 - c856: a031 j c862 - c858: 0c85 addi s9,s9,1 - c85a: 4785 li a5,1 - c85c: bfc1 j c82c - c85e: 0047e793 ori a5,a5,4 - c862: 0c85 addi s9,s9,1 - c864: b7e1 j c82c - c866: 03860633 mul a2,a2,s8 - c86a: 0905 addi s2,s2,1 - c86c: 9636 add a2,a2,a3 - c86e: 00090703 lb a4,0(s2) - c872: fd070693 addi a3,a4,-48 - c876: 0ff6f513 andi a0,a3,255 - c87a: fea5f6e3 bgeu a1,a0,c866 - c87e: 02e00593 li a1,46 - c882: 4699 li a3,6 - c884: 00b71e63 bne a4,a1,c8a0 - c888: 0905 addi s2,s2,1 - c88a: 4681 li a3,0 - c88c: 45a5 li a1,9 - c88e: 00090703 lb a4,0(s2) - c892: fd070713 addi a4,a4,-48 - c896: 0ff77513 andi a0,a4,255 - c89a: 02a5f563 bgeu a1,a0,c8c4 - c89e: 8a36 mv s4,a3 - c8a0: 00090703 lb a4,0(s2) - c8a4: 06a00593 li a1,106 - c8a8: 0ab70163 beq a4,a1,c94a - c8ac: 02e5c163 blt a1,a4,c8ce - c8b0: 04c00593 li a1,76 - c8b4: 08b70b63 beq a4,a1,c94a - c8b8: 06800593 li a1,104 - c8bc: 08b70063 beq a4,a1,c93c - c8c0: 4581 li a1,0 - c8c2: a02d j c8ec - c8c4: 038686b3 mul a3,a3,s8 - c8c8: 0905 addi s2,s2,1 - c8ca: 96ba add a3,a3,a4 - c8cc: b7c9 j c88e - c8ce: 07400593 li a1,116 - c8d2: 06b70c63 beq a4,a1,c94a - c8d6: 07a00593 li a1,122 - c8da: 06b70863 beq a4,a1,c94a - c8de: 06c00513 li a0,108 - c8e2: 4581 li a1,0 - c8e4: 00a71463 bne a4,a0,c8ec - c8e8: 0905 addi s2,s2,1 - c8ea: 4591 li a1,4 - c8ec: 00090703 lb a4,0(s2) - c8f0: 06000513 li a0,96 - c8f4: 06100813 li a6,97 - c8f8: 00e54463 blt a0,a4,c900 - c8fc: 04100813 li a6,65 - c900: 06700513 li a0,103 - c904: 06e54063 blt a0,a4,c964 - c908: 06500513 li a0,101 - c90c: 14a75563 bge a4,a0,ca56 - c910: 04700513 li a0,71 - c914: 02e54d63 blt a0,a4,c94e - c918: 04500593 li a1,69 - c91c: 12b75d63 bge a4,a1,ca56 - c920: 04300693 li a3,67 - c924: ead710e3 bne a4,a3,c7c4 - c928: 4018 lw a4,0(s0) - c92a: 00440c93 addi s9,s0,4 - c92e: 000106a3 sb zero,13(sp) - c932: 8658 sb a4,12(sp) - c934: 86be mv a3,a5 - c936: 4701 li a4,0 - c938: 006c addi a1,sp,12 - c93a: a041 j c9ba - c93c: 00190503 lb a0,1(s2) - c940: 4581 li a1,0 - c942: fae515e3 bne a0,a4,c8ec - c946: 0909 addi s2,s2,2 - c948: b755 j c8ec - c94a: 0905 addi s2,s2,1 - c94c: bf95 j c8c0 - c94e: 06300693 li a3,99 - c952: fcd70be3 beq a4,a3,c928 - c956: 06e6c663 blt a3,a4,c9c2 - c95a: 05800693 li a3,88 - c95e: 02d70363 beq a4,a3,c984 - c962: b58d j c7c4 - c964: 07300693 li a3,115 - c968: 04d70163 beq a4,a3,c9aa - c96c: 02e6c863 blt a3,a4,c99c - c970: 06f00693 li a3,111 - c974: 0ad70e63 beq a4,a3,ca30 - c978: 07000693 li a3,112 - c97c: 0047e793 ori a5,a5,4 - c980: e4d712e3 bne a4,a3,c7c4 - c984: cdd9 beqz a1,ca22 - c986: 041d addi s0,s0,7 - c988: ff847593 andi a1,s0,-8 - c98c: 88c2 mv a7,a6 - c98e: 00858413 addi s0,a1,8 - c992: 883e mv a6,a5 - c994: 4701 li a4,0 - c996: 87b2 mv a5,a2 - c998: 46c1 li a3,16 - c99a: a83d j c9d8 - c99c: 07500693 li a3,117 - c9a0: 06d70063 beq a4,a3,ca00 - c9a4: 07800693 li a3,120 - c9a8: bf5d j c95e - c9aa: 4018 lw a4,0(s0) - c9ac: 00440c93 addi s9,s0,4 - c9b0: 85da mv a1,s6 - c9b2: c311 beqz a4,c9b6 - c9b4: 85ba mv a1,a4 - c9b6: 8752 mv a4,s4 - c9b8: 86be mv a3,a5 - c9ba: 854e mv a0,s3 - c9bc: bc1ff0ef jal ra,c57c - c9c0: a82d j c9fa - c9c2: c195 beqz a1,c9e6 - c9c4: 041d addi s0,s0,7 - c9c6: ff847593 andi a1,s0,-8 - c9ca: 88c2 mv a7,a6 - c9cc: 00858413 addi s0,a1,8 - c9d0: 883e mv a6,a5 - c9d2: 4705 li a4,1 - c9d4: 87b2 mv a5,a2 - c9d6: 46a9 li a3,10 - c9d8: 41d0 lw a2,4(a1) - c9da: 418c lw a1,0(a1) - c9dc: 854e mv a0,s3 - c9de: d71ff0ef jal ra,c74e - c9e2: 94aa add s1,s1,a0 - c9e4: b3c5 j c7c4 - c9e6: 00440c93 addi s9,s0,4 - c9ea: 88d2 mv a7,s4 - c9ec: 8732 mv a4,a2 - c9ee: 4685 li a3,1 - c9f0: 4629 li a2,10 - c9f2: 400c lw a1,0(s0) - c9f4: 854e mv a0,s3 - c9f6: c67ff0ef jal ra,c65c - c9fa: 94aa add s1,s1,a0 - c9fc: 8466 mv s0,s9 - c9fe: b3d9 j c7c4 - ca00: c999 beqz a1,ca16 - ca02: 041d addi s0,s0,7 - ca04: ff847593 andi a1,s0,-8 - ca08: 88c2 mv a7,a6 - ca0a: 00858413 addi s0,a1,8 - ca0e: 883e mv a6,a5 - ca10: 4701 li a4,0 - ca12: 87b2 mv a5,a2 - ca14: b7c9 j c9d6 - ca16: 00440c93 addi s9,s0,4 - ca1a: 88d2 mv a7,s4 - ca1c: 8732 mv a4,a2 - ca1e: 4681 li a3,0 - ca20: bfc1 j c9f0 - ca22: 8732 mv a4,a2 - ca24: 00440c93 addi s9,s0,4 - ca28: 88d2 mv a7,s4 - ca2a: 4681 li a3,0 - ca2c: 4641 li a2,16 - ca2e: b7d1 j c9f2 - ca30: cd81 beqz a1,ca48 - ca32: 041d addi s0,s0,7 - ca34: ff847593 andi a1,s0,-8 - ca38: 88c2 mv a7,a6 - ca3a: 00858413 addi s0,a1,8 - ca3e: 883e mv a6,a5 - ca40: 4701 li a4,0 - ca42: 87b2 mv a5,a2 - ca44: 46a1 li a3,8 - ca46: bf49 j c9d8 - ca48: 8732 mv a4,a2 - ca4a: 00440c93 addi s9,s0,4 - ca4e: 88d2 mv a7,s4 - ca50: 4681 li a3,0 - ca52: 4621 li a2,8 - ca54: bf79 j c9f2 - ca56: 041d addi s0,s0,7 - ca58: ff847593 andi a1,s0,-8 - ca5c: 00858413 addi s0,a1,8 - ca60: 8732 mv a4,a2 - ca62: 41d0 lw a2,4(a1) - ca64: 418c lw a1,0(a1) - ca66: 88c2 mv a7,a6 - ca68: 854e mv a0,s3 - ca6a: 883e mv a6,a5 - ca6c: 87b6 mv a5,a3 - ca6e: 46a9 li a3,10 - ca70: ce3ff0ef jal ra,c752 - ca74: b7bd j c9e2 - -0000ca76 : -printf(): - ca76: 7139 addi sp,sp,-64 - ca78: d22e sw a1,36(sp) - ca7a: d432 sw a2,40(sp) - ca7c: 85aa mv a1,a0 - ca7e: 1050 addi a2,sp,36 - ca80: 4501 li a0,0 - ca82: ce06 sw ra,28(sp) - ca84: d636 sw a3,44(sp) - ca86: d83a sw a4,48(sp) - ca88: da3e sw a5,52(sp) - ca8a: dc42 sw a6,56(sp) - ca8c: de46 sw a7,60(sp) - ca8e: c632 sw a2,12(sp) - ca90: cc7ff0ef jal ra,c756 - ca94: 40f2 lw ra,28(sp) - ca96: 6121 addi sp,sp,64 - ca98: 8082 ret - -0000ca9a : -puts(): - ca9a: 1101 addi sp,sp,-32 - ca9c: cc22 sw s0,24(sp) - ca9e: ca26 sw s1,20(sp) - caa0: ce06 sw ra,28(sp) - caa2: 211c lbu a5,0(a0) - caa4: 84aa mv s1,a0 - caa6: 4401 li s0,0 - caa8: 87dc sb a5,15(sp) - caaa: 00f10783 lb a5,15(sp) - caae: 0405 addi s0,s0,1 - cab0: ef99 bnez a5,cace - cab2: 47a9 li a5,10 - cab4: 00f10593 addi a1,sp,15 - cab8: 4605 li a2,1 - caba: 4501 li a0,0 - cabc: 87dc sb a5,15(sp) - cabe: ca3f80ef jal ra,5760 <_write> - cac2: 8522 mv a0,s0 - cac4: 40f2 lw ra,28(sp) - cac6: 4462 lw s0,24(sp) - cac8: 44d2 lw s1,20(sp) - caca: 6105 addi sp,sp,32 - cacc: 8082 ret - cace: 4605 li a2,1 - cad0: 00f10593 addi a1,sp,15 - cad4: 4501 li a0,0 - cad6: c8bf80ef jal ra,5760 <_write> - cada: 008487b3 add a5,s1,s0 - cade: 239c lbu a5,0(a5) - cae0: 87dc sb a5,15(sp) - cae2: b7e1 j caaa - -0000cae4 : -putchar(): - cae4: 1101 addi sp,sp,-32 - cae6: c62a sw a0,12(sp) - cae8: 006c addi a1,sp,12 - caea: 4605 li a2,1 - caec: 4501 li a0,0 - caee: ce06 sw ra,28(sp) - caf0: c71f80ef jal ra,5760 <_write> - caf4: 40f2 lw ra,28(sp) - caf6: 4505 li a0,1 - caf8: 6105 addi sp,sp,32 - cafa: 8082 ret - -0000cafc <__divdi3>: -__divdi3(): - cafc: 4801 li a6,0 - cafe: 0e05c563 bltz a1,cbe8 <__divdi3+0xec> - cb02: 0006db63 bgez a3,cb18 <__divdi3+0x1c> - cb06: 40c00633 neg a2,a2 - cb0a: 00c037b3 snez a5,a2 - cb0e: 40d006b3 neg a3,a3 - cb12: fff84813 not a6,a6 - cb16: 8e9d sub a3,a3,a5 - cb18: 87b6 mv a5,a3 - cb1a: 8332 mv t1,a2 - cb1c: 8eaa mv t4,a0 - cb1e: 88ae mv a7,a1 - cb20: 16069f63 bnez a3,cc9e <__divdi3+0x1a2> - cb24: 0cc5fb63 bgeu a1,a2,cbfa <__divdi3+0xfe> - cb28: 6741 lui a4,0x10 - cb2a: 1ce66f63 bltu a2,a4,cd08 <__divdi3+0x20c> - cb2e: 010007b7 lui a5,0x1000 - cb32: 36f66363 bltu a2,a5,ce98 <__divdi3+0x39c> - cb36: 01865693 srli a3,a2,0x18 - cb3a: 47e1 li a5,24 - cb3c: 00001717 auipc a4,0x1 - cb40: 8d870713 addi a4,a4,-1832 # d414 <__clz_tab> - cb44: 9736 add a4,a4,a3 - cb46: 2318 lbu a4,0(a4) - cb48: 97ba add a5,a5,a4 - cb4a: 02000713 li a4,32 - cb4e: 8f1d sub a4,a4,a5 - cb50: cb19 beqz a4,cb66 <__divdi3+0x6a> - cb52: 00e595b3 sll a1,a1,a4 - cb56: 00f557b3 srl a5,a0,a5 - cb5a: 00e61333 sll t1,a2,a4 - cb5e: 00b7e8b3 or a7,a5,a1 - cb62: 00e51eb3 sll t4,a0,a4 - cb66: 01035613 srli a2,t1,0x10 - cb6a: 02c8d7b3 divu a5,a7,a2 - cb6e: 01031693 slli a3,t1,0x10 - cb72: 82c1 srli a3,a3,0x10 - cb74: 010ed713 srli a4,t4,0x10 - cb78: 02c8f5b3 remu a1,a7,a2 - cb7c: 02f68533 mul a0,a3,a5 - cb80: 05c2 slli a1,a1,0x10 - cb82: 00e5e8b3 or a7,a1,a4 - cb86: 00a8fa63 bgeu a7,a0,cb9a <__divdi3+0x9e> - cb8a: 989a add a7,a7,t1 - cb8c: fff78713 addi a4,a5,-1 # ffffff <_data_lma+0xff2aeb> - cb90: 0068e463 bltu a7,t1,cb98 <__divdi3+0x9c> - cb94: 32a8e863 bltu a7,a0,cec4 <__divdi3+0x3c8> - cb98: 87ba mv a5,a4 - cb9a: 40a888b3 sub a7,a7,a0 - cb9e: 02c8d5b3 divu a1,a7,a2 - cba2: 0ec2 slli t4,t4,0x10 - cba4: 010ede93 srli t4,t4,0x10 - cba8: 02c8f8b3 remu a7,a7,a2 - cbac: 02b686b3 mul a3,a3,a1 - cbb0: 08c2 slli a7,a7,0x10 - cbb2: 01d8e8b3 or a7,a7,t4 - cbb6: 00d8fb63 bgeu a7,a3,cbcc <__divdi3+0xd0> - cbba: 989a add a7,a7,t1 - cbbc: fff58713 addi a4,a1,-1 - cbc0: 0068e563 bltu a7,t1,cbca <__divdi3+0xce> - cbc4: 15f9 addi a1,a1,-2 - cbc6: 00d8e363 bltu a7,a3,cbcc <__divdi3+0xd0> - cbca: 85ba mv a1,a4 - cbcc: 01079513 slli a0,a5,0x10 - cbd0: 8d4d or a0,a0,a1 - cbd2: 4581 li a1,0 - cbd4: 00080963 beqz a6,cbe6 <__divdi3+0xea> - cbd8: 40a00533 neg a0,a0 - cbdc: 00a037b3 snez a5,a0 - cbe0: 40b005b3 neg a1,a1 - cbe4: 8d9d sub a1,a1,a5 - cbe6: 8082 ret - cbe8: 40a00533 neg a0,a0 - cbec: 00a037b3 snez a5,a0 - cbf0: 40b005b3 neg a1,a1 - cbf4: 8d9d sub a1,a1,a5 - cbf6: 587d li a6,-1 - cbf8: b729 j cb02 <__divdi3+0x6> - cbfa: e601 bnez a2,cc02 <__divdi3+0x106> - cbfc: 4305 li t1,1 - cbfe: 02d35333 divu t1,t1,a3 - cc02: 6741 lui a4,0x10 - cc04: 0ee36963 bltu t1,a4,ccf6 <__divdi3+0x1fa> - cc08: 010007b7 lui a5,0x1000 - cc0c: 28f36a63 bltu t1,a5,cea0 <__divdi3+0x3a4> - cc10: 01835693 srli a3,t1,0x18 - cc14: 47e1 li a5,24 - cc16: 00000717 auipc a4,0x0 - cc1a: 7fe70713 addi a4,a4,2046 # d414 <__clz_tab> - cc1e: 9736 add a4,a4,a3 - cc20: 2318 lbu a4,0(a4) - cc22: 97ba add a5,a5,a4 - cc24: 02000713 li a4,32 - cc28: 8f1d sub a4,a4,a5 - cc2a: eb65 bnez a4,cd1a <__divdi3+0x21e> - cc2c: 01031893 slli a7,t1,0x10 - cc30: 406586b3 sub a3,a1,t1 - cc34: 01035f13 srli t5,t1,0x10 - cc38: 0108d893 srli a7,a7,0x10 - cc3c: 4585 li a1,1 - cc3e: 010ed713 srli a4,t4,0x10 - cc42: 03e6d7b3 divu a5,a3,t5 - cc46: 03e6f6b3 remu a3,a3,t5 - cc4a: 03178633 mul a2,a5,a7 - cc4e: 06c2 slli a3,a3,0x10 - cc50: 8f55 or a4,a4,a3 - cc52: 00c77a63 bgeu a4,a2,cc66 <__divdi3+0x16a> - cc56: 971a add a4,a4,t1 - cc58: fff78693 addi a3,a5,-1 # ffffff <_data_lma+0xff2aeb> - cc5c: 00676463 bltu a4,t1,cc64 <__divdi3+0x168> - cc60: 26c76563 bltu a4,a2,ceca <__divdi3+0x3ce> - cc64: 87b6 mv a5,a3 - cc66: 8f11 sub a4,a4,a2 - cc68: 03e756b3 divu a3,a4,t5 - cc6c: 0ec2 slli t4,t4,0x10 - cc6e: 010ede93 srli t4,t4,0x10 - cc72: 03e77733 remu a4,a4,t5 - cc76: 031688b3 mul a7,a3,a7 - cc7a: 0742 slli a4,a4,0x10 - cc7c: 01d76733 or a4,a4,t4 - cc80: 01177b63 bgeu a4,a7,cc96 <__divdi3+0x19a> - cc84: 971a add a4,a4,t1 - cc86: fff68613 addi a2,a3,-1 - cc8a: 00676563 bltu a4,t1,cc94 <__divdi3+0x198> - cc8e: 16f9 addi a3,a3,-2 - cc90: 01176363 bltu a4,a7,cc96 <__divdi3+0x19a> - cc94: 86b2 mv a3,a2 - cc96: 01079513 slli a0,a5,0x10 - cc9a: 8d55 or a0,a0,a3 - cc9c: bf25 j cbd4 <__divdi3+0xd8> - cc9e: 04d5e163 bltu a1,a3,cce0 <__divdi3+0x1e4> - cca2: 67c1 lui a5,0x10 - cca4: 04f6e163 bltu a3,a5,cce6 <__divdi3+0x1ea> - cca8: 010007b7 lui a5,0x1000 - ccac: 1ef6e263 bltu a3,a5,ce90 <__divdi3+0x394> - ccb0: 0186d893 srli a7,a3,0x18 - ccb4: 4761 li a4,24 - ccb6: 00000797 auipc a5,0x0 - ccba: 75e78793 addi a5,a5,1886 # d414 <__clz_tab> - ccbe: 97c6 add a5,a5,a7 - ccc0: 0007c303 lbu t1,0(a5) - ccc4: 02000793 li a5,32 - ccc8: 933a add t1,t1,a4 - ccca: 406787b3 sub a5,a5,t1 - ccce: ebe9 bnez a5,cda0 <__divdi3+0x2a4> - ccd0: 1cb6ec63 bltu a3,a1,cea8 <__divdi3+0x3ac> - ccd4: 00c53533 sltu a0,a0,a2 - ccd8: 00154513 xori a0,a0,1 - ccdc: 4581 li a1,0 - ccde: bddd j cbd4 <__divdi3+0xd8> - cce0: 4581 li a1,0 - cce2: 4501 li a0,0 - cce4: bdc5 j cbd4 <__divdi3+0xd8> - cce6: 0ff00793 li a5,255 - ccea: 1cd7f263 bgeu a5,a3,ceae <__divdi3+0x3b2> - ccee: 0086d893 srli a7,a3,0x8 - ccf2: 4721 li a4,8 - ccf4: b7c9 j ccb6 <__divdi3+0x1ba> - ccf6: 0ff00713 li a4,255 - ccfa: 869a mv a3,t1 - ccfc: f0677de3 bgeu a4,t1,cc16 <__divdi3+0x11a> - cd00: 00835693 srli a3,t1,0x8 - cd04: 47a1 li a5,8 - cd06: bf01 j cc16 <__divdi3+0x11a> - cd08: 0ff00713 li a4,255 - cd0c: 86b2 mv a3,a2 - cd0e: e2c777e3 bgeu a4,a2,cb3c <__divdi3+0x40> - cd12: 00865693 srli a3,a2,0x8 - cd16: 47a1 li a5,8 - cd18: b515 j cb3c <__divdi3+0x40> - cd1a: 00e31333 sll t1,t1,a4 - cd1e: 00f5d633 srl a2,a1,a5 - cd22: 01035f13 srli t5,t1,0x10 - cd26: 03e65e33 divu t3,a2,t5 - cd2a: 00e596b3 sll a3,a1,a4 - cd2e: 00f557b3 srl a5,a0,a5 - cd32: 8edd or a3,a3,a5 - cd34: 01031893 slli a7,t1,0x10 - cd38: 0108d893 srli a7,a7,0x10 - cd3c: 00e51eb3 sll t4,a0,a4 - cd40: 0106d593 srli a1,a3,0x10 - cd44: 03e677b3 remu a5,a2,t5 - cd48: 03c88733 mul a4,a7,t3 - cd4c: 07c2 slli a5,a5,0x10 - cd4e: 8fcd or a5,a5,a1 - cd50: 00e7fb63 bgeu a5,a4,cd66 <__divdi3+0x26a> - cd54: 979a add a5,a5,t1 - cd56: fffe0613 addi a2,t3,-1 - cd5a: 1667e363 bltu a5,t1,cec0 <__divdi3+0x3c4> - cd5e: 16e7f163 bgeu a5,a4,cec0 <__divdi3+0x3c4> - cd62: 1e79 addi t3,t3,-2 - cd64: 979a add a5,a5,t1 - cd66: 8f99 sub a5,a5,a4 - cd68: 03e7d633 divu a2,a5,t5 - cd6c: 01069713 slli a4,a3,0x10 - cd70: 8341 srli a4,a4,0x10 - cd72: 03e7f7b3 remu a5,a5,t5 - cd76: 02c88533 mul a0,a7,a2 - cd7a: 01079693 slli a3,a5,0x10 - cd7e: 8ed9 or a3,a3,a4 - cd80: 00a6fb63 bgeu a3,a0,cd96 <__divdi3+0x29a> - cd84: 969a add a3,a3,t1 - cd86: fff60793 addi a5,a2,-1 # fff - cd8a: 1266e763 bltu a3,t1,ceb8 <__divdi3+0x3bc> - cd8e: 12a6f563 bgeu a3,a0,ceb8 <__divdi3+0x3bc> - cd92: 1679 addi a2,a2,-2 - cd94: 969a add a3,a3,t1 - cd96: 010e1593 slli a1,t3,0x10 - cd9a: 8e89 sub a3,a3,a0 - cd9c: 8dd1 or a1,a1,a2 - cd9e: b545 j cc3e <__divdi3+0x142> - cda0: 00665733 srl a4,a2,t1 - cda4: 00f696b3 sll a3,a3,a5 - cda8: 8ed9 or a3,a3,a4 - cdaa: 0065d8b3 srl a7,a1,t1 - cdae: 0106df13 srli t5,a3,0x10 - cdb2: 03e8deb3 divu t4,a7,t5 - cdb6: 01069e13 slli t3,a3,0x10 - cdba: 00655333 srl t1,a0,t1 - cdbe: 010e5e13 srli t3,t3,0x10 - cdc2: 00f595b3 sll a1,a1,a5 - cdc6: 00b365b3 or a1,t1,a1 - cdca: 0105d713 srli a4,a1,0x10 - cdce: 00f61633 sll a2,a2,a5 - cdd2: 03e8f8b3 remu a7,a7,t5 - cdd6: 03de0333 mul t1,t3,t4 - cdda: 08c2 slli a7,a7,0x10 - cddc: 00e8e733 or a4,a7,a4 - cde0: 00677b63 bgeu a4,t1,cdf6 <__divdi3+0x2fa> - cde4: 9736 add a4,a4,a3 - cde6: fffe8893 addi a7,t4,-1 - cdea: 0cd76963 bltu a4,a3,cebc <__divdi3+0x3c0> - cdee: 0c677763 bgeu a4,t1,cebc <__divdi3+0x3c0> - cdf2: 1ef9 addi t4,t4,-2 - cdf4: 9736 add a4,a4,a3 - cdf6: 40670733 sub a4,a4,t1 - cdfa: 03e75333 divu t1,a4,t5 - cdfe: 05c2 slli a1,a1,0x10 - ce00: 81c1 srli a1,a1,0x10 - ce02: 03e77733 remu a4,a4,t5 - ce06: 026e08b3 mul a7,t3,t1 - ce0a: 0742 slli a4,a4,0x10 - ce0c: 8dd9 or a1,a1,a4 - ce0e: 0115fb63 bgeu a1,a7,ce24 <__divdi3+0x328> - ce12: 95b6 add a1,a1,a3 - ce14: fff30713 addi a4,t1,-1 - ce18: 08d5ee63 bltu a1,a3,ceb4 <__divdi3+0x3b8> - ce1c: 0915fc63 bgeu a1,a7,ceb4 <__divdi3+0x3b8> - ce20: 1379 addi t1,t1,-2 - ce22: 95b6 add a1,a1,a3 - ce24: 0ec2 slli t4,t4,0x10 - ce26: 6f41 lui t5,0x10 - ce28: 006eeeb3 or t4,t4,t1 - ce2c: ffff0713 addi a4,t5,-1 # ffff <_data_lma+0x2aeb> - ce30: 00eef6b3 and a3,t4,a4 - ce34: 010ed313 srli t1,t4,0x10 - ce38: 8f71 and a4,a4,a2 - ce3a: 8241 srli a2,a2,0x10 - ce3c: 02e68e33 mul t3,a3,a4 - ce40: 411585b3 sub a1,a1,a7 - ce44: 02c686b3 mul a3,a3,a2 - ce48: 010e5893 srli a7,t3,0x10 - ce4c: 02e30733 mul a4,t1,a4 - ce50: 96ba add a3,a3,a4 - ce52: 96c6 add a3,a3,a7 - ce54: 02c30633 mul a2,t1,a2 - ce58: 00e6f363 bgeu a3,a4,ce5e <__divdi3+0x362> - ce5c: 967a add a2,a2,t5 - ce5e: 0106d313 srli t1,a3,0x10 - ce62: 961a add a2,a2,t1 - ce64: 02c5e263 bltu a1,a2,ce88 <__divdi3+0x38c> - ce68: 00c58563 beq a1,a2,ce72 <__divdi3+0x376> - ce6c: 8576 mv a0,t4 - ce6e: 4581 li a1,0 - ce70: b395 j cbd4 <__divdi3+0xd8> - ce72: 6741 lui a4,0x10 - ce74: 177d addi a4,a4,-1 - ce76: 8ef9 and a3,a3,a4 - ce78: 06c2 slli a3,a3,0x10 - ce7a: 00ee7e33 and t3,t3,a4 - ce7e: 00f517b3 sll a5,a0,a5 - ce82: 96f2 add a3,a3,t3 - ce84: fed7f4e3 bgeu a5,a3,ce6c <__divdi3+0x370> - ce88: fffe8513 addi a0,t4,-1 - ce8c: 4581 li a1,0 - ce8e: b399 j cbd4 <__divdi3+0xd8> - ce90: 0106d893 srli a7,a3,0x10 - ce94: 4741 li a4,16 - ce96: b505 j ccb6 <__divdi3+0x1ba> - ce98: 01065693 srli a3,a2,0x10 - ce9c: 47c1 li a5,16 - ce9e: b979 j cb3c <__divdi3+0x40> - cea0: 01035693 srli a3,t1,0x10 - cea4: 47c1 li a5,16 - cea6: bb85 j cc16 <__divdi3+0x11a> - cea8: 4581 li a1,0 - ceaa: 4505 li a0,1 - ceac: b325 j cbd4 <__divdi3+0xd8> - ceae: 88b6 mv a7,a3 - ceb0: 4701 li a4,0 - ceb2: b511 j ccb6 <__divdi3+0x1ba> - ceb4: 833a mv t1,a4 - ceb6: b7bd j ce24 <__divdi3+0x328> - ceb8: 863e mv a2,a5 - ceba: bdf1 j cd96 <__divdi3+0x29a> - cebc: 8ec6 mv t4,a7 - cebe: bf25 j cdf6 <__divdi3+0x2fa> - cec0: 8e32 mv t3,a2 - cec2: b555 j cd66 <__divdi3+0x26a> - cec4: 17f9 addi a5,a5,-2 - cec6: 989a add a7,a7,t1 - cec8: b9c9 j cb9a <__divdi3+0x9e> - ceca: 17f9 addi a5,a5,-2 - cecc: 971a add a4,a4,t1 - cece: bb61 j cc66 <__divdi3+0x16a> - -0000ced0 : -memcpy(): - ced0: 00a5c7b3 xor a5,a1,a0 - ced4: 8b8d andi a5,a5,3 - ced6: 00c50733 add a4,a0,a2 - ceda: e781 bnez a5,cee2 - cedc: 478d li a5,3 - cede: 00c7ed63 bltu a5,a2,cef8 - cee2: 87aa mv a5,a0 - cee4: 08e57e63 bgeu a0,a4,cf80 - cee8: 2194 lbu a3,0(a1) - ceea: 0785 addi a5,a5,1 - ceec: 0585 addi a1,a1,1 - ceee: fed78fa3 sb a3,-1(a5) - cef2: fee7ebe3 bltu a5,a4,cee8 - cef6: 8082 ret - cef8: 00357693 andi a3,a0,3 - cefc: 87aa mv a5,a0 - cefe: ca89 beqz a3,cf10 - cf00: 2194 lbu a3,0(a1) - cf02: 0785 addi a5,a5,1 - cf04: 0585 addi a1,a1,1 - cf06: fed78fa3 sb a3,-1(a5) - cf0a: 0037f693 andi a3,a5,3 - cf0e: bfc5 j cefe - cf10: ffc77693 andi a3,a4,-4 - cf14: fe068613 addi a2,a3,-32 - cf18: 06c7f063 bgeu a5,a2,cf78 - cf1c: 0005a383 lw t2,0(a1) - cf20: 0045a283 lw t0,4(a1) - cf24: 0085af83 lw t6,8(a1) - cf28: 00c5af03 lw t5,12(a1) - cf2c: 0105ae83 lw t4,16(a1) - cf30: 0145ae03 lw t3,20(a1) - cf34: 0185a303 lw t1,24(a1) - cf38: 01c5a883 lw a7,28(a1) - cf3c: 02458593 addi a1,a1,36 - cf40: 0077a023 sw t2,0(a5) - cf44: ffc5a803 lw a6,-4(a1) - cf48: 0057a223 sw t0,4(a5) - cf4c: 01f7a423 sw t6,8(a5) - cf50: 01e7a623 sw t5,12(a5) - cf54: 01d7a823 sw t4,16(a5) - cf58: 01c7aa23 sw t3,20(a5) - cf5c: 0067ac23 sw t1,24(a5) - cf60: 0117ae23 sw a7,28(a5) - cf64: 02478793 addi a5,a5,36 - cf68: ff07ae23 sw a6,-4(a5) - cf6c: b775 j cf18 - cf6e: 4190 lw a2,0(a1) - cf70: 0791 addi a5,a5,4 - cf72: 0591 addi a1,a1,4 - cf74: fec7ae23 sw a2,-4(a5) - cf78: fed7ebe3 bltu a5,a3,cf6e - cf7c: f6e7e6e3 bltu a5,a4,cee8 - cf80: 8082 ret - -0000cf82 : -memmove(): - cf82: 04a5f163 bgeu a1,a0,cfc4 - cf86: 00c586b3 add a3,a1,a2 - cf8a: 02d57d63 bgeu a0,a3,cfc4 - cf8e: fff64593 not a1,a2 - cf92: 4781 li a5,0 - cf94: 17fd addi a5,a5,-1 - cf96: 00f59363 bne a1,a5,cf9c - cf9a: 8082 ret - cf9c: 00f68733 add a4,a3,a5 - cfa0: 00074803 lbu a6,0(a4) # 10000 <_data_lma+0x2aec> - cfa4: 00c78733 add a4,a5,a2 - cfa8: 972a add a4,a4,a0 - cfaa: 01070023 sb a6,0(a4) - cfae: b7dd j cf94 - cfb0: 00f58733 add a4,a1,a5 - cfb4: 2314 lbu a3,0(a4) - cfb6: 00f50733 add a4,a0,a5 - cfba: 0785 addi a5,a5,1 - cfbc: a314 sb a3,0(a4) - cfbe: fef619e3 bne a2,a5,cfb0 - cfc2: 8082 ret - cfc4: 4781 li a5,0 - cfc6: bfe5 j cfbe - cfc8: 4e20 lw s0,88(a2) - cfca: 0000 unimp - cfcc: 3a98 lbu a4,17(a3) - cfce: 0000 unimp - cfd0: 0009 c.nop 2 - cfd2: 0000 unimp - cfd4: 6148 flw fa0,4(a0) - cfd6: 6472 flw fs0,28(sp) - cfd8: 6146 flw ft2,80(sp) - cfda: 6c75 lui s8,0x1d - cfdc: 5f74 lw a3,124(a4) - cfde: 6148 flw fa0,4(a0) - cfe0: 646e flw fs0,216(sp) - cfe2: 656c flw fa1,76(a0) - cfe4: 0d72 slli s10,s10,0x1c - cfe6: 0000 unimp - cfe8: 656d lui a0,0x1b - cfea: 6370 flw fa2,68(a4) - cfec: 2020 lbu s0,2(s0) - cfee: 253a lhu a4,10(a0) - cff0: 3830 lbu a2,19(s0) - cff2: 0d78 addi a4,sp,668 - cff4: 000a c.slli zero,0x2 - cff6: 0000 unimp - cff8: 636d lui t1,0x1b - cffa: 7561 lui a0,0xffff8 - cffc: 253a6573 csrrsi a0,0x253,20 - d000: 3830 lbu a2,19(s0) - d002: 0d78 addi a4,sp,668 - d004: 000a c.slli zero,0x2 - d006: 0000 unimp - d008: 746d lui s0,0xffffb - d00a: 6176 flw ft2,92(sp) - d00c: 206c lbu a1,6(s0) - d00e: 253a lhu a4,10(a0) - d010: 3830 lbu a2,19(s0) - d012: 0d78 addi a4,sp,668 - d014: 000a c.slli zero,0x2 - d016: 0000 unimp - d018: 544e4947 0x544e4947 - d01c: 535f 4154 5f54 0x5f544154535f - d022: 4e55 li t3,21 - d024: 4552 lw a0,20(sp) - d026: 4341 li t1,16 - d028: 0d48 addi a0,sp,660 - d02a: 0000 unimp - d02c: 544e4947 0x544e4947 - d030: 535f 4154 5f54 0x5f544154535f - d036: 5049 c.li zero,-14 - d038: 435f 4e4f 4c46 0x4c464e4f435f - d03e: 0d49 addi s10,s10,18 - d040: 0000 unimp - d042: 0000 unimp - d044: 4850 lw a2,20(s0) - d046: 2059 jal d0cc - d048: 694c flw fa1,20(a0) - d04a: 6b6e flw fs6,216(sp) - d04c: 5320 lw s0,96(a4) - d04e: 6375 lui t1,0x1d - d050: 73736563 bltu t1,s7,d77a <_data_lma+0x266> - d054: 000d c.nop 3 - d056: 0000 unimp - d058: 4354 lw a3,4(a4) - d05a: 2050 lbu a2,4(s0) - d05c: 6e6e6f43 fmadd.q ft10,ft8,ft6,fa3,unknown - d060: 6365 lui t1,0x19 - d062: 6574 flw fa3,76(a0) - d064: 2c64 lbu s1,30(s0) - d066: 7320 flw fs0,96(a4) - d068: 656b636f jal t1,c36be <_data_lma+0xb61aa> - d06c: 2074 lbu a3,6(s0) - d06e: 6425 lui s0,0x9 - d070: 0a0d addi s4,s4,3 - d072: 0000 unimp - d074: 4354 lw a3,4(a4) - d076: 2050 lbu a2,4(s0) - d078: 6944 flw fs1,20(a0) - d07a: 6e6f6373 csrrsi t1,0x6e6,30 - d07e: 656e flw fa0,216(sp) - d080: 64657463 bgeu a0,t1,d6c8 <_data_lma+0x1b4> - d084: 202c lbu a1,2(s0) - d086: 6b636f73 csrrsi t5,0x6b6,6 - d08a: 7465 lui s0,0xffff9 - d08c: 2520 lbu s0,10(a0) - d08e: 0d64 addi s1,sp,668 - d090: 000a c.slli zero,0x2 - d092: 0000 unimp - d094: 4354 lw a3,4(a4) - d096: 2050 lbu a2,4(s0) - d098: 6954 flw fa3,20(a0) - d09a: 656d lui a0,0x1b - d09c: 2c74756f jal a0,54b62 <_data_lma+0x4764e> - d0a0: 7320 flw fs0,96(a4) - d0a2: 656b636f jal t1,c36f8 <_data_lma+0xb61e4> - d0a6: 2074 lbu a3,6(s0) - d0a8: 6425 lui s0,0x9 - d0aa: 0a0d addi s4,s4,3 - d0ac: 0000 unimp - d0ae: 0000 unimp - d0b0: 7245 lui tp,0xffff1 - d0b2: 6f72 flw ft10,28(sp) - d0b4: 3a72 lhu a2,54(a2) - d0b6: 2520 lbu s0,10(a0) - d0b8: 3230 lbu a2,3(a2) - d0ba: 0d58 addi a4,sp,660 - d0bc: 000a c.slli zero,0x2 - d0be: 0000 unimp - d0c0: 4354 lw a3,4(a4) - d0c2: 4350 lw a2,4(a4) - d0c4: 696c flw fa1,84(a0) - d0c6: 6e65 lui t3,0x19 - d0c8: 2074 lbu a3,6(s0) - d0ca: 6554 flw fa3,12(a0) - d0cc: 0a0d7473 csrrci s0,0xa0,26 - d0d0: 74737953 0x74737953 - d0d4: 6d65 lui s10,0x19 - d0d6: 3a6b6c43 fmadd.d fs8,fs6,ft6,ft7,unknown - d0da: 6425 lui s0,0x9 - d0dc: 0a0d addi s4,s4,3 - d0de: 0000 unimp - d0e0: 7355 lui t1,0xffff5 - d0e2: 7265 lui tp,0xffff9 - d0e4: 7942 flw fs2,48(sp) - d0e6: 6574 flw fa3,76(a0) - d0e8: 203a lhu a4,2(s0) - d0ea: 3025 jal c912 - d0ec: 7832 flw fa6,44(sp) - d0ee: 0a0d addi s4,s4,3 - d0f0: 0000 unimp - d0f2: 0000 unimp - d0f4: 6c46 flw fs8,80(sp) - d0f6: 7361 lui t1,0xffff8 - d0f8: 2f68 lbu a0,30(a4) - d0fa: 4d415253 0x4d415253 - d0fe: 6320 flw fs0,64(a4) - d100: 69666e6f jal t3,73796 <_data_lma+0x66282> - d104: 68632067 0x68632067 - d108: 6e61 lui t3,0x18 - d10a: 20646567 0x20646567 - d10e: 6f74 flw fa3,92(a4) - d110: 2520 lbu s0,10(a0) - d112: 2c64 lbu s1,30(s0) - d114: 7220 flw fs0,96(a2) - d116: 7365 lui t1,0xffff9 - d118: 7465 lui s0,0xffff9 - d11a: 6974 flw fa3,84(a0) - d11c: 676e flw fa4,216(sp) - d11e: 2e2e lhu a1,26(a2) - d120: 0d2e slli s10,s10,0xb - d122: 000a c.slli zero,0x2 - d124: 656e flw fa0,216(sp) - d126: 2074 lbu a3,6(s0) - d128: 6576 flw fa0,92(sp) - d12a: 7372 flw ft6,60(sp) - d12c: 6f69 lui t5,0x1a - d12e: 3a6e lhu a1,54(a2) - d130: 7825 lui a6,0xfffe9 - d132: 000a c.slli zero,0x2 - d134: 6576 flw fa0,92(sp) - d136: 7372 flw ft6,60(sp) - d138: 6f69 lui t5,0x1a - d13a: 206e lhu a1,6(s0) - d13c: 7265 lui tp,0xffff9 - d13e: 6f72 flw ft10,28(sp) - d140: 2e72 lhu a2,30(a2) - d142: 0000 unimp - d144: 616d addi sp,sp,240 - d146: 64612063 0x64612063 - d14a: 7264 flw fs1,100(a2) - d14c: 003a c.slli zero,0xe - d14e: 0000 unimp - d150: 7825 lui a6,0xfffe9 - d152: 0020 addi s0,sp,8 - d154: 676e flw fa4,216(sp) - d156: 0000 unimp - d158: 4e484357 0x4e484357 - d15c: 5445 li s0,-15 - d15e: 4c5f 6269 6e49 0x6e4962694c5f - d164: 7469 lui s0,0xffffa - d166: 5320 lw s0,96(a4) - d168: 6375 lui t1,0x1d - d16a: 73736563 bltu t1,s7,d894 <_data_lma+0x380> - d16e: 000d c.nop 3 - d170: 6e686377 0x6e686377 - d174: 7465 lui s0,0xffff9 - d176: 0000 unimp - d178: 7562 flw fa0,56(sp) - d17a: 656e6973 csrrsi s2,0x656,28 - d17e: 00007373 csrrci t1,ustatus,0 - ... - -0000d184 : - d184: 00000000 00000002 00000004 00060006 ................ - -0000d194 : - d194: 0020001c 002400b4 00200014 06000010 .. ...$... ..... - d1a4: 5f786471 74726f70 6f6e203a 65726620 qdx_port: no fre - d1b4: 6f532065 74656b63 0d787443 00000000 e SocketCtx..... - d1c4: 5f786471 74726f70 6f53203a 74656b63 qdx_port: Socket - d1d4: 61657243 61662074 25206c69 0d583230 Creat fail %02X. - d1e4: 0000000a 5f786471 74726f70 6f53203a ....qdx_port: So - d1f4: 74656b63 6e6e6f43 20746365 6c696166 cketConnect fail - d204: 32302520 000a0d58 5f786471 74726f70 %02X...qdx_port - d214: 6f63203a 63656e6e 69742074 756f656d : connect timeou - d224: 00000d74 5f786471 74726f70 6f63203a t...qdx_port: co - d234: 63656e6e 20646574 6b636f73 20642520 nnected sock %d - d244: 25203e2d 64252e64 2e64252e 253a6425 -> %d.%d.%d.%d:% - d254: 000a0d64 5f786471 74726f70 6162203a d...qdx_port: ba - d264: 50492064 73252220 000a0d22 746e6f43 d IP "%s"...Cont - d274: 006c6f72 61746144 00000000 5f706374 rol.Data....tcp_ - d284: 0072676d 5f706374 635f7872 00000000 mgr.tcp_rx_c.... - d294: 5f706374 645f7872 00000000 2e373231 tcp_rx_d....127. - d2a4: 2e302e30 00000031 302e3156 00000000 0.0.1...V1.0.... - d2b4: 302e3256 00000000 462f2e2e 52656572 V2.0....../FreeR - d2c4: 2f534f54 74726f70 656c6261 6d654d2f TOS/portable/Mem - d2d4: 676e614d 6165682f 2e345f70 00000063 Mang/heap_4.c... - d2e4: 20727265 6c207461 20656e69 6f206425 err at line %d o - d2f4: 69662066 2220656c 2e227325 200a0d20 f file "%s". .. - d304: 00000000 462f2e2e 52656572 2f534f54 ....../FreeRTOS/ - d314: 74726f70 656c6261 4343472f 5349522f portable/GCC/RIS - d324: 2f562d43 74726f70 0000632e 462f2e2e C-V/port.c..../F - d334: 52656572 2f534f54 75657571 00632e65 reeRTOS/queue.c. - d344: 462f2e2e 52656572 2f534f54 6b736174 ../FreeRTOS/task - d354: 00632e73 454c4449 00000000 000054ba s.c.IDLE.....T.. - d364: 000054ba 000054fe 0000550a 0000554e .T...T...U..NU.. - d374: 000054ba 000054ba 000054fe 0000550a .T...T...T...U.. - d384: 51726d54 00000000 462f2e2e 52656572 TmrQ....../FreeR - d394: 2f534f54 656d6974 632e7372 00000000 TOS/timers.c.... - d3a4: 20726d54 00637653 Tmr Svc. - -0000d3ac : - d3ac: 13121100 17161514 1b1a1918 1f1e1d1c ................ - d3bc: 00009516 0000955c 00009576 00009586 ....\...v....... - d3cc: 00009586 00009572 00009572 00009594 ....r...r....... - -0000d3dc : - d3dc: 04030201 07070605 07070707 00000007 ................ - d3ec: 0000ab06 0000ac14 0000ad00 0000ad08 ................ - d3fc: 0000adae 0000ad00 0000adf4 0000ae30 ............0... - d40c: 6c756e28 0000296c (null).. - -0000d414 <__clz_tab>: - d414: 02020100 03030303 04040404 04040404 ................ - d424: 05050505 05050505 05050505 05050505 ................ - d434: 06060606 06060606 06060606 06060606 ................ - d444: 06060606 06060606 06060606 06060606 ................ - d454: 07070707 07070707 07070707 07070707 ................ - d464: 07070707 07070707 07070707 07070707 ................ - d474: 07070707 07070707 07070707 07070707 ................ - d484: 07070707 07070707 07070707 07070707 ................ - d494: 08080808 08080808 08080808 08080808 ................ - d4a4: 08080808 08080808 08080808 08080808 ................ - d4b4: 08080808 08080808 08080808 08080808 ................ - d4c4: 08080808 08080808 08080808 08080808 ................ - d4d4: 08080808 08080808 08080808 08080808 ................ - d4e4: 08080808 08080808 08080808 08080808 ................ - d4f4: 08080808 08080808 08080808 08080808 ................ - d504: 08080808 08080808 08080808 08080808 ................ diff --git a/obj/User/subdir.mk b/obj/User/subdir.mk index 47d0423..ef6500b 100644 --- a/obj/User/subdir.mk +++ b/obj/User/subdir.mk @@ -22,6 +22,6 @@ C_DEPS += \ # Each subdirectory must supply rules for building sources it contributes User/%.o: ../User/%.c - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Core" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Debug" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Peripheral\inc" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\User" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\Middle\QDXnetworkStack" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\include" -I"F:\1_Projects\2026\zj\Code\Project_Ch32v307\FreeRTOS\portable\GCC\RISC-V" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<" @ @ diff --git a/obj/makefile b/obj/makefile index 7635822..0bb1c57 100644 --- a/obj/makefile +++ b/obj/makefile @@ -44,34 +44,34 @@ endif # Add inputs and outputs from these tool invocations to the build variables SECONDARY_FLASH += \ -TCPClient1.hex \ +SealCheck.hex \ SECONDARY_LIST += \ -TCPClient1.lst \ +SealCheck.lst \ SECONDARY_SIZE += \ -TCPClient1.siz \ +SealCheck.siz \ # 所有目标 -all: TCPClient1.elf secondary-outputs +all: SealCheck.elf secondary-outputs # 工具调用 -TCPClient1.elf: $(OBJS) $(USER_OBJS) - @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -T "D:\zj\ch32v307_camera\prj\TCPClient\Ld\Link.ld" -nostartfiles -Xlinker --gc-sections -L"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -Wl,-Map,"TCPClient1.map" --specs=nano.specs --specs=nosys.specs -o "TCPClient1.elf" $(OBJS) $(USER_OBJS) $(LIBS) -lprintf +SealCheck.elf: $(OBJS) $(USER_OBJS) + @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -T "F:\1_Projects\2026\zj\Code\Project_Ch32v307\Ld\Link.ld" -nostartfiles -Xlinker --gc-sections -L"F:\1_Projects\2026\zj\Code\Project_Ch32v307\NetLib" -Wl,-Map,"SealCheck.map" --specs=nano.specs --specs=nosys.specs -o "SealCheck.elf" $(OBJS) $(USER_OBJS) $(LIBS) -lprintf @ @ -TCPClient1.hex: TCPClient1.elf - @ riscv-none-embed-objcopy -O ihex "TCPClient1.elf" "TCPClient1.hex" +SealCheck.hex: SealCheck.elf + @ riscv-none-embed-objcopy -O ihex "SealCheck.elf" "SealCheck.hex" @ @ -TCPClient1.lst: TCPClient1.elf - @ riscv-none-embed-objdump --source --all-headers --demangle --line-numbers --wide -M xw "TCPClient1.elf" > "TCPClient1.lst" +SealCheck.lst: SealCheck.elf + @ riscv-none-embed-objdump --source --all-headers --demangle --line-numbers --wide -M xw "SealCheck.elf" > "SealCheck.lst" @ @ -TCPClient1.siz: TCPClient1.elf - @ riscv-none-embed-size --format=berkeley "TCPClient1.elf" +SealCheck.siz: SealCheck.elf + @ riscv-none-embed-size --format=berkeley "SealCheck.elf" @ @ # 其他目标 clean: - -$(RM) $(ASM_UPPER_DEPS)$(OBJS)$(SECONDARY_FLASH)$(SECONDARY_LIST)$(SECONDARY_SIZE)$(ASM_DEPS)$(S_DEPS)$(S_UPPER_DEPS)$(C_DEPS) TCPClient1.elf + -$(RM) $(ASM_UPPER_DEPS)$(OBJS)$(SECONDARY_FLASH)$(SECONDARY_LIST)$(SECONDARY_SIZE)$(ASM_DEPS)$(S_DEPS)$(S_UPPER_DEPS)$(C_DEPS) SealCheck.elf -@ secondary-outputs: $(SECONDARY_FLASH) $(SECONDARY_LIST) $(SECONDARY_SIZE)