diff --git a/.DS_Store b/.DS_Store
deleted file mode 100755
index 13c43ef..0000000
Binary files a/.DS_Store and /dev/null differ
diff --git a/.gitignore b/.gitignore
index a953280..aa5e006 100755
--- a/.gitignore
+++ b/.gitignore
@@ -1,63 +1,96 @@
-# macOS
-.DS_Store
-**/.DS_Store
+# =============================================================================
+# STM32 / ARM GCC / STM32CubeIDE — standardized firmware .gitignore
+# Track: sources + final firmware images (*.elf *.bin *.hex *.srec)
+# Ignore: build intermediates, IDE noise, logs, captures, backups
+#
+# NOTE: Only root /Debug /Release /Build are build dirs.
+# Do NOT use **/Debug — on Windows (core.ignorecase) that also matches
+# source folders like Libs/**/DEBUG/.
+# =============================================================================
-# Temporary/editor files
-*.swp
-*.swo
-*~
-*.tmp
-*.bak
+# -----------------------------------------------------------------------------
+# Build dirs (project root only): ignore all, then re-include firmware images
+# -----------------------------------------------------------------------------
+/Debug/*
+!/Debug/
+/Release/*
+!/Release/
+/Build/*
+!/Build/
-# STM32CubeIDE build intermediates
-Debug/**/*.o
-Debug/**/*.d
-Debug/**/*.su
-Debug/**/*.cyclo
-Debug/**/*.mk
-Debug/**/*.lst
-Debug/**/*.log
-Debug/**/*.tmp
-Debug/**/*.a
-Debug/**/*.obj
-
-Release/**/*.o
-Release/**/*.d
-Release/**/*.su
-Release/**/*.cyclo
-Release/**/*.mk
-Release/**/*.lst
-Release/**/*.log
-Release/**/*.tmp
-Release/**/*.a
-Release/**/*.obj
-
-# Generic C/C++ intermediates
+# -----------------------------------------------------------------------------
+# Object / dependency / analysis outputs (any path)
+# -----------------------------------------------------------------------------
*.o
*.obj
*.d
*.su
-*.gch
-*.pch
-*.ilk
-*.exp
-*.idb
-*.pdb
-*.dSYM/
+*.cyclo
-# Preserve firmware artifacts in git
-!*.hex
-!*.bin
-!*.srec
-!*.elf
+# -----------------------------------------------------------------------------
+# Generated make fragments (CubeIDE)
+# -----------------------------------------------------------------------------
+*.mk
+makefile
+Makefile
+objects.list
+objects.mk
+sources.mk
+subdir.mk
-# Eclipse local workspace metadata
-.metadata/
+# -----------------------------------------------------------------------------
+# Linker listings (not needed in repo)
+# -----------------------------------------------------------------------------
+*.map
+*.list
+
+# -----------------------------------------------------------------------------
+# Backups / temp
+# -----------------------------------------------------------------------------
+**/Backup/
+*.bak
+*.tmp
+*.swp
+*.swo
+*~
+
+# -----------------------------------------------------------------------------
+# IDE / tooling (local machine)
+# -----------------------------------------------------------------------------
+.settings/
+.mxproject
.externalToolBuilders/
-
-# Optional local launch configs
+.metadata/
+.idea/
*.launch
+*.code-workspace
-# VS Code local settings
-.vscode/
+# -----------------------------------------------------------------------------
+# Logs / analyzer captures
+# -----------------------------------------------------------------------------
+log.txt
+log*.txt
+*.log
+*.asc
+# -----------------------------------------------------------------------------
+# OS junk
+# -----------------------------------------------------------------------------
+.DS_Store
+Thumbs.db
+
+# =============================================================================
+# Keep final firmware images under root build dirs
+# =============================================================================
+!/Debug/*.elf
+!/Debug/*.bin
+!/Debug/*.hex
+!/Debug/*.srec
+!/Release/*.elf
+!/Release/*.bin
+!/Release/*.hex
+!/Release/*.srec
+!/Build/*.elf
+!/Build/*.bin
+!/Build/*.hex
+!/Build/*.srec
diff --git a/.mxproject b/.mxproject
deleted file mode 100644
index e7ffe1f..0000000
--- a/.mxproject
+++ /dev/null
@@ -1,41 +0,0 @@
-[PreviousLibFiles]
-LibFiles=Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_adc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_bus.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_system.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_utils.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_exti.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_can.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_crc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_crc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rtc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rtc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rtc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_tim.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usart.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_adc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_bus.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_system.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_utils.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_exti.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_can.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_crc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_crc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rtc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_rtc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rtc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_tim.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usart.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f107xc.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_armv8mbl.h;
-
-[PreviousUsedCubeIDEFiles]
-SourceFiles=Core/Src/main.c;Core/Src/gpio.c;Core/Src/adc.c;Core/Src/can.c;Core/Src/crc.c;Core/Src/dma.c;Core/Src/rtc.c;Core/Src/tim.c;Core/Src/usart.c;Core/Src/stm32f1xx_it.c;Core/Src/stm32f1xx_hal_msp.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;Core/Src/system_stm32f1xx.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_crc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rtc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;Core/Src/system_stm32f1xx.c;;;
-HeaderPath=Drivers/STM32F1xx_HAL_Driver/Inc;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;Drivers/CMSIS/Device/ST/STM32F1xx/Include;Drivers/CMSIS/Include;Core/Inc;
-CDefines=USE_HAL_DRIVER;STM32F107xC;USE_HAL_DRIVER;USE_HAL_DRIVER;
-
-[PreviousGenFiles]
-AdvancedFolderStructure=true
-HeaderFileListSize=11
-HeaderFiles#0=../Core/Inc/gpio.h
-HeaderFiles#1=../Core/Inc/adc.h
-HeaderFiles#2=../Core/Inc/can.h
-HeaderFiles#3=../Core/Inc/crc.h
-HeaderFiles#4=../Core/Inc/dma.h
-HeaderFiles#5=../Core/Inc/rtc.h
-HeaderFiles#6=../Core/Inc/tim.h
-HeaderFiles#7=../Core/Inc/usart.h
-HeaderFiles#8=../Core/Inc/stm32f1xx_it.h
-HeaderFiles#9=../Core/Inc/stm32f1xx_hal_conf.h
-HeaderFiles#10=../Core/Inc/main.h
-HeaderFolderListSize=1
-HeaderPath#0=../Core/Inc
-HeaderFiles=;
-SourceFileListSize=11
-SourceFiles#0=../Core/Src/gpio.c
-SourceFiles#1=../Core/Src/adc.c
-SourceFiles#2=../Core/Src/can.c
-SourceFiles#3=../Core/Src/crc.c
-SourceFiles#4=../Core/Src/dma.c
-SourceFiles#5=../Core/Src/rtc.c
-SourceFiles#6=../Core/Src/tim.c
-SourceFiles#7=../Core/Src/usart.c
-SourceFiles#8=../Core/Src/stm32f1xx_it.c
-SourceFiles#9=../Core/Src/stm32f1xx_hal_msp.c
-SourceFiles#10=../Core/Src/main.c
-SourceFolderListSize=1
-SourcePath#0=../Core/Src
-SourceFiles=;
-
diff --git a/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs b/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs
deleted file mode 100755
index 98a69fc..0000000
--- a/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-sfrviewstate={"fFavorites"\:{"fLists"\:{}},"fProperties"\:{"fNodeProperties"\:{}}}
diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
deleted file mode 100755
index dae24b6..0000000
--- a/.settings/language.settings.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.settings/org.eclipse.cdt.core.prefs b/.settings/org.eclipse.cdt.core.prefs
deleted file mode 100755
index c8ec5df..0000000
--- a/.settings/org.eclipse.cdt.core.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-doxygen/doxygen_new_line_after_brief=true
-doxygen/doxygen_use_brief_tag=false
-doxygen/doxygen_use_javadoc_tags=true
-doxygen/doxygen_use_pre_tag=false
-doxygen/doxygen_use_structural_commands=false
-eclipse.preferences.version=1
diff --git a/.settings/stm32cubeide.project.prefs b/.settings/stm32cubeide.project.prefs
deleted file mode 100755
index e3e642d..0000000
--- a/.settings/stm32cubeide.project.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-2F62501ED4689FB349E356AB974DBE57=0A9B2D4C5DCB32842F05F53136A1D1D7
-66BE74F758C12D739921AEA421D593D3=1
-8DF89ED150041C4CBC7CB9A9CAA90856=0A9B2D4C5DCB32842F05F53136A1D1D7
-DC22A860405A8BF2F2C095E5B6529F12=283F84148D7B38E239E7ECD52C68B71F
-eclipse.preferences.version=1
diff --git a/Core/.DS_Store b/Core/.DS_Store
deleted file mode 100755
index 32afbf3..0000000
Binary files a/Core/.DS_Store and /dev/null differ
diff --git a/Core/Inc/.DS_Store b/Core/Inc/.DS_Store
deleted file mode 100755
index 4f090d2..0000000
Binary files a/Core/Inc/.DS_Store and /dev/null differ
diff --git a/Core/Src/.DS_Store b/Core/Src/.DS_Store
deleted file mode 100755
index 5d3e20a..0000000
Binary files a/Core/Src/.DS_Store and /dev/null differ
diff --git a/Debug/.DS_Store b/Debug/.DS_Store
deleted file mode 100644
index 373163e..0000000
Binary files a/Debug/.DS_Store and /dev/null differ
diff --git a/Debug/CCSModuleSW30Web.list b/Debug/CCSModuleSW30Web.list
deleted file mode 100644
index afaeb0a..0000000
--- a/Debug/CCSModuleSW30Web.list
+++ /dev/null
@@ -1,39090 +0,0 @@
-
-CCSModuleSW30Web.elf: file format elf32-littlearm
-
-Sections:
-Idx Name Size VMA LMA File off Algn
- 0 .isr_vector 000001e8 08008000 08008000 00001000 2**0
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 00010018 080081e8 080081e8 000011e8 2**3
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 00001154 08018200 08018200 00011200 2**3
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 08019354 08019354 00013258 2**0
- CONTENTS
- 4 .ARM 00000008 08019354 08019354 00012354 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 5 .preinit_array 00000000 0801935c 0801935c 00013258 2**0
- CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 0801935c 0801935c 0001235c 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 7 .fini_array 00000004 08019360 08019360 00012360 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 8 .data 00000258 20000000 08019364 00013000 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 000013c0 20000258 080195bc 00013258 2**3
- ALLOC
- 10 ._user_heap_stack 00000600 20001618 080195bc 00013618 2**0
- ALLOC
- 11 .ARM.attributes 00000029 00000000 00000000 00013258 2**0
- CONTENTS, READONLY
- 12 .debug_info 0001eb1d 00000000 00000000 00013281 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 13 .debug_abbrev 00005d86 00000000 00000000 00031d9e 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_loclists 00000feb 00000000 00000000 00037b24 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_aranges 00001858 00000000 00000000 00038b10 2**3
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_rnglists 0000131d 00000000 00000000 0003a368 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_macro 00026db7 00000000 00000000 0003b685 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_line 00024f41 00000000 00000000 0006243c 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .debug_str 000ca319 00000000 00000000 0008737d 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 20 .comment 00000043 00000000 00000000 00151696 2**0
- CONTENTS, READONLY
- 21 .debug_frame 000071c4 00000000 00000000 001516dc 2**2
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 22 .debug_line_str 00000063 00000000 00000000 001588a0 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
-
-Disassembly of section .text:
-
-080081e8 <__do_global_dtors_aux>:
- 80081e8: b510 push {r4, lr}
- 80081ea: 4c05 ldr r4, [pc, #20] @ (8008200 <__do_global_dtors_aux+0x18>)
- 80081ec: 7823 ldrb r3, [r4, #0]
- 80081ee: b933 cbnz r3, 80081fe <__do_global_dtors_aux+0x16>
- 80081f0: 4b04 ldr r3, [pc, #16] @ (8008204 <__do_global_dtors_aux+0x1c>)
- 80081f2: b113 cbz r3, 80081fa <__do_global_dtors_aux+0x12>
- 80081f4: 4804 ldr r0, [pc, #16] @ (8008208 <__do_global_dtors_aux+0x20>)
- 80081f6: f3af 8000 nop.w
- 80081fa: 2301 movs r3, #1
- 80081fc: 7023 strb r3, [r4, #0]
- 80081fe: bd10 pop {r4, pc}
- 8008200: 20000258 .word 0x20000258
- 8008204: 00000000 .word 0x00000000
- 8008208: 080181e8 .word 0x080181e8
-
-0800820c :
- 800820c: b508 push {r3, lr}
- 800820e: 4b03 ldr r3, [pc, #12] @ (800821c )
- 8008210: b11b cbz r3, 800821a
- 8008212: 4903 ldr r1, [pc, #12] @ (8008220 )
- 8008214: 4803 ldr r0, [pc, #12] @ (8008224 )
- 8008216: f3af 8000 nop.w
- 800821a: bd08 pop {r3, pc}
- 800821c: 00000000 .word 0x00000000
- 8008220: 2000025c .word 0x2000025c
- 8008224: 080181e8 .word 0x080181e8
-
-08008228 :
- 8008228: 4603 mov r3, r0
- 800822a: f813 2b01 ldrb.w r2, [r3], #1
- 800822e: 2a00 cmp r2, #0
- 8008230: d1fb bne.n 800822a
- 8008232: 1a18 subs r0, r3, r0
- 8008234: 3801 subs r0, #1
- 8008236: 4770 bx lr
-
-08008238 <__aeabi_drsub>:
- 8008238: f081 4100 eor.w r1, r1, #2147483648 @ 0x80000000
- 800823c: e002 b.n 8008244 <__adddf3>
- 800823e: bf00 nop
-
-08008240 <__aeabi_dsub>:
- 8008240: f083 4300 eor.w r3, r3, #2147483648 @ 0x80000000
-
-08008244 <__adddf3>:
- 8008244: b530 push {r4, r5, lr}
- 8008246: ea4f 0441 mov.w r4, r1, lsl #1
- 800824a: ea4f 0543 mov.w r5, r3, lsl #1
- 800824e: ea94 0f05 teq r4, r5
- 8008252: bf08 it eq
- 8008254: ea90 0f02 teqeq r0, r2
- 8008258: bf1f itttt ne
- 800825a: ea54 0c00 orrsne.w ip, r4, r0
- 800825e: ea55 0c02 orrsne.w ip, r5, r2
- 8008262: ea7f 5c64 mvnsne.w ip, r4, asr #21
- 8008266: ea7f 5c65 mvnsne.w ip, r5, asr #21
- 800826a: f000 80e2 beq.w 8008432 <__adddf3+0x1ee>
- 800826e: ea4f 5454 mov.w r4, r4, lsr #21
- 8008272: ebd4 5555 rsbs r5, r4, r5, lsr #21
- 8008276: bfb8 it lt
- 8008278: 426d neglt r5, r5
- 800827a: dd0c ble.n 8008296 <__adddf3+0x52>
- 800827c: 442c add r4, r5
- 800827e: ea80 0202 eor.w r2, r0, r2
- 8008282: ea81 0303 eor.w r3, r1, r3
- 8008286: ea82 0000 eor.w r0, r2, r0
- 800828a: ea83 0101 eor.w r1, r3, r1
- 800828e: ea80 0202 eor.w r2, r0, r2
- 8008292: ea81 0303 eor.w r3, r1, r3
- 8008296: 2d36 cmp r5, #54 @ 0x36
- 8008298: bf88 it hi
- 800829a: bd30 pophi {r4, r5, pc}
- 800829c: f011 4f00 tst.w r1, #2147483648 @ 0x80000000
- 80082a0: ea4f 3101 mov.w r1, r1, lsl #12
- 80082a4: f44f 1c80 mov.w ip, #1048576 @ 0x100000
- 80082a8: ea4c 3111 orr.w r1, ip, r1, lsr #12
- 80082ac: d002 beq.n 80082b4 <__adddf3+0x70>
- 80082ae: 4240 negs r0, r0
- 80082b0: eb61 0141 sbc.w r1, r1, r1, lsl #1
- 80082b4: f013 4f00 tst.w r3, #2147483648 @ 0x80000000
- 80082b8: ea4f 3303 mov.w r3, r3, lsl #12
- 80082bc: ea4c 3313 orr.w r3, ip, r3, lsr #12
- 80082c0: d002 beq.n 80082c8 <__adddf3+0x84>
- 80082c2: 4252 negs r2, r2
- 80082c4: eb63 0343 sbc.w r3, r3, r3, lsl #1
- 80082c8: ea94 0f05 teq r4, r5
- 80082cc: f000 80a7 beq.w 800841e <__adddf3+0x1da>
- 80082d0: f1a4 0401 sub.w r4, r4, #1
- 80082d4: f1d5 0e20 rsbs lr, r5, #32
- 80082d8: db0d blt.n 80082f6 <__adddf3+0xb2>
- 80082da: fa02 fc0e lsl.w ip, r2, lr
- 80082de: fa22 f205 lsr.w r2, r2, r5
- 80082e2: 1880 adds r0, r0, r2
- 80082e4: f141 0100 adc.w r1, r1, #0
- 80082e8: fa03 f20e lsl.w r2, r3, lr
- 80082ec: 1880 adds r0, r0, r2
- 80082ee: fa43 f305 asr.w r3, r3, r5
- 80082f2: 4159 adcs r1, r3
- 80082f4: e00e b.n 8008314 <__adddf3+0xd0>
- 80082f6: f1a5 0520 sub.w r5, r5, #32
- 80082fa: f10e 0e20 add.w lr, lr, #32
- 80082fe: 2a01 cmp r2, #1
- 8008300: fa03 fc0e lsl.w ip, r3, lr
- 8008304: bf28 it cs
- 8008306: f04c 0c02 orrcs.w ip, ip, #2
- 800830a: fa43 f305 asr.w r3, r3, r5
- 800830e: 18c0 adds r0, r0, r3
- 8008310: eb51 71e3 adcs.w r1, r1, r3, asr #31
- 8008314: f001 4500 and.w r5, r1, #2147483648 @ 0x80000000
- 8008318: d507 bpl.n 800832a <__adddf3+0xe6>
- 800831a: f04f 0e00 mov.w lr, #0
- 800831e: f1dc 0c00 rsbs ip, ip, #0
- 8008322: eb7e 0000 sbcs.w r0, lr, r0
- 8008326: eb6e 0101 sbc.w r1, lr, r1
- 800832a: f5b1 1f80 cmp.w r1, #1048576 @ 0x100000
- 800832e: d31b bcc.n 8008368 <__adddf3+0x124>
- 8008330: f5b1 1f00 cmp.w r1, #2097152 @ 0x200000
- 8008334: d30c bcc.n 8008350 <__adddf3+0x10c>
- 8008336: 0849 lsrs r1, r1, #1
- 8008338: ea5f 0030 movs.w r0, r0, rrx
- 800833c: ea4f 0c3c mov.w ip, ip, rrx
- 8008340: f104 0401 add.w r4, r4, #1
- 8008344: ea4f 5244 mov.w r2, r4, lsl #21
- 8008348: f512 0f80 cmn.w r2, #4194304 @ 0x400000
- 800834c: f080 809a bcs.w 8008484 <__adddf3+0x240>
- 8008350: f1bc 4f00 cmp.w ip, #2147483648 @ 0x80000000
- 8008354: bf08 it eq
- 8008356: ea5f 0c50 movseq.w ip, r0, lsr #1
- 800835a: f150 0000 adcs.w r0, r0, #0
- 800835e: eb41 5104 adc.w r1, r1, r4, lsl #20
- 8008362: ea41 0105 orr.w r1, r1, r5
- 8008366: bd30 pop {r4, r5, pc}
- 8008368: ea5f 0c4c movs.w ip, ip, lsl #1
- 800836c: 4140 adcs r0, r0
- 800836e: eb41 0101 adc.w r1, r1, r1
- 8008372: 3c01 subs r4, #1
- 8008374: bf28 it cs
- 8008376: f5b1 1f80 cmpcs.w r1, #1048576 @ 0x100000
- 800837a: d2e9 bcs.n 8008350 <__adddf3+0x10c>
- 800837c: f091 0f00 teq r1, #0
- 8008380: bf04 itt eq
- 8008382: 4601 moveq r1, r0
- 8008384: 2000 moveq r0, #0
- 8008386: fab1 f381 clz r3, r1
- 800838a: bf08 it eq
- 800838c: 3320 addeq r3, #32
- 800838e: f1a3 030b sub.w r3, r3, #11
- 8008392: f1b3 0220 subs.w r2, r3, #32
- 8008396: da0c bge.n 80083b2 <__adddf3+0x16e>
- 8008398: 320c adds r2, #12
- 800839a: dd08 ble.n 80083ae <__adddf3+0x16a>
- 800839c: f102 0c14 add.w ip, r2, #20
- 80083a0: f1c2 020c rsb r2, r2, #12
- 80083a4: fa01 f00c lsl.w r0, r1, ip
- 80083a8: fa21 f102 lsr.w r1, r1, r2
- 80083ac: e00c b.n 80083c8 <__adddf3+0x184>
- 80083ae: f102 0214 add.w r2, r2, #20
- 80083b2: bfd8 it le
- 80083b4: f1c2 0c20 rsble ip, r2, #32
- 80083b8: fa01 f102 lsl.w r1, r1, r2
- 80083bc: fa20 fc0c lsr.w ip, r0, ip
- 80083c0: bfdc itt le
- 80083c2: ea41 010c orrle.w r1, r1, ip
- 80083c6: 4090 lslle r0, r2
- 80083c8: 1ae4 subs r4, r4, r3
- 80083ca: bfa2 ittt ge
- 80083cc: eb01 5104 addge.w r1, r1, r4, lsl #20
- 80083d0: 4329 orrge r1, r5
- 80083d2: bd30 popge {r4, r5, pc}
- 80083d4: ea6f 0404 mvn.w r4, r4
- 80083d8: 3c1f subs r4, #31
- 80083da: da1c bge.n 8008416 <__adddf3+0x1d2>
- 80083dc: 340c adds r4, #12
- 80083de: dc0e bgt.n 80083fe <__adddf3+0x1ba>
- 80083e0: f104 0414 add.w r4, r4, #20
- 80083e4: f1c4 0220 rsb r2, r4, #32
- 80083e8: fa20 f004 lsr.w r0, r0, r4
- 80083ec: fa01 f302 lsl.w r3, r1, r2
- 80083f0: ea40 0003 orr.w r0, r0, r3
- 80083f4: fa21 f304 lsr.w r3, r1, r4
- 80083f8: ea45 0103 orr.w r1, r5, r3
- 80083fc: bd30 pop {r4, r5, pc}
- 80083fe: f1c4 040c rsb r4, r4, #12
- 8008402: f1c4 0220 rsb r2, r4, #32
- 8008406: fa20 f002 lsr.w r0, r0, r2
- 800840a: fa01 f304 lsl.w r3, r1, r4
- 800840e: ea40 0003 orr.w r0, r0, r3
- 8008412: 4629 mov r1, r5
- 8008414: bd30 pop {r4, r5, pc}
- 8008416: fa21 f004 lsr.w r0, r1, r4
- 800841a: 4629 mov r1, r5
- 800841c: bd30 pop {r4, r5, pc}
- 800841e: f094 0f00 teq r4, #0
- 8008422: f483 1380 eor.w r3, r3, #1048576 @ 0x100000
- 8008426: bf06 itte eq
- 8008428: f481 1180 eoreq.w r1, r1, #1048576 @ 0x100000
- 800842c: 3401 addeq r4, #1
- 800842e: 3d01 subne r5, #1
- 8008430: e74e b.n 80082d0 <__adddf3+0x8c>
- 8008432: ea7f 5c64 mvns.w ip, r4, asr #21
- 8008436: bf18 it ne
- 8008438: ea7f 5c65 mvnsne.w ip, r5, asr #21
- 800843c: d029 beq.n 8008492 <__adddf3+0x24e>
- 800843e: ea94 0f05 teq r4, r5
- 8008442: bf08 it eq
- 8008444: ea90 0f02 teqeq r0, r2
- 8008448: d005 beq.n 8008456 <__adddf3+0x212>
- 800844a: ea54 0c00 orrs.w ip, r4, r0
- 800844e: bf04 itt eq
- 8008450: 4619 moveq r1, r3
- 8008452: 4610 moveq r0, r2
- 8008454: bd30 pop {r4, r5, pc}
- 8008456: ea91 0f03 teq r1, r3
- 800845a: bf1e ittt ne
- 800845c: 2100 movne r1, #0
- 800845e: 2000 movne r0, #0
- 8008460: bd30 popne {r4, r5, pc}
- 8008462: ea5f 5c54 movs.w ip, r4, lsr #21
- 8008466: d105 bne.n 8008474 <__adddf3+0x230>
- 8008468: 0040 lsls r0, r0, #1
- 800846a: 4149 adcs r1, r1
- 800846c: bf28 it cs
- 800846e: f041 4100 orrcs.w r1, r1, #2147483648 @ 0x80000000
- 8008472: bd30 pop {r4, r5, pc}
- 8008474: f514 0480 adds.w r4, r4, #4194304 @ 0x400000
- 8008478: bf3c itt cc
- 800847a: f501 1180 addcc.w r1, r1, #1048576 @ 0x100000
- 800847e: bd30 popcc {r4, r5, pc}
- 8008480: f001 4500 and.w r5, r1, #2147483648 @ 0x80000000
- 8008484: f045 41fe orr.w r1, r5, #2130706432 @ 0x7f000000
- 8008488: f441 0170 orr.w r1, r1, #15728640 @ 0xf00000
- 800848c: f04f 0000 mov.w r0, #0
- 8008490: bd30 pop {r4, r5, pc}
- 8008492: ea7f 5c64 mvns.w ip, r4, asr #21
- 8008496: bf1a itte ne
- 8008498: 4619 movne r1, r3
- 800849a: 4610 movne r0, r2
- 800849c: ea7f 5c65 mvnseq.w ip, r5, asr #21
- 80084a0: bf1c itt ne
- 80084a2: 460b movne r3, r1
- 80084a4: 4602 movne r2, r0
- 80084a6: ea50 3401 orrs.w r4, r0, r1, lsl #12
- 80084aa: bf06 itte eq
- 80084ac: ea52 3503 orrseq.w r5, r2, r3, lsl #12
- 80084b0: ea91 0f03 teqeq r1, r3
- 80084b4: f441 2100 orrne.w r1, r1, #524288 @ 0x80000
- 80084b8: bd30 pop {r4, r5, pc}
- 80084ba: bf00 nop
-
-080084bc <__aeabi_ui2d>:
- 80084bc: f090 0f00 teq r0, #0
- 80084c0: bf04 itt eq
- 80084c2: 2100 moveq r1, #0
- 80084c4: 4770 bxeq lr
- 80084c6: b530 push {r4, r5, lr}
- 80084c8: f44f 6480 mov.w r4, #1024 @ 0x400
- 80084cc: f104 0432 add.w r4, r4, #50 @ 0x32
- 80084d0: f04f 0500 mov.w r5, #0
- 80084d4: f04f 0100 mov.w r1, #0
- 80084d8: e750 b.n 800837c <__adddf3+0x138>
- 80084da: bf00 nop
-
-080084dc <__aeabi_i2d>:
- 80084dc: f090 0f00 teq r0, #0
- 80084e0: bf04 itt eq
- 80084e2: 2100 moveq r1, #0
- 80084e4: 4770 bxeq lr
- 80084e6: b530 push {r4, r5, lr}
- 80084e8: f44f 6480 mov.w r4, #1024 @ 0x400
- 80084ec: f104 0432 add.w r4, r4, #50 @ 0x32
- 80084f0: f010 4500 ands.w r5, r0, #2147483648 @ 0x80000000
- 80084f4: bf48 it mi
- 80084f6: 4240 negmi r0, r0
- 80084f8: f04f 0100 mov.w r1, #0
- 80084fc: e73e b.n 800837c <__adddf3+0x138>
- 80084fe: bf00 nop
-
-08008500 <__aeabi_f2d>:
- 8008500: 0042 lsls r2, r0, #1
- 8008502: ea4f 01e2 mov.w r1, r2, asr #3
- 8008506: ea4f 0131 mov.w r1, r1, rrx
- 800850a: ea4f 7002 mov.w r0, r2, lsl #28
- 800850e: bf1f itttt ne
- 8008510: f012 437f andsne.w r3, r2, #4278190080 @ 0xff000000
- 8008514: f093 4f7f teqne r3, #4278190080 @ 0xff000000
- 8008518: f081 5160 eorne.w r1, r1, #939524096 @ 0x38000000
- 800851c: 4770 bxne lr
- 800851e: f032 427f bics.w r2, r2, #4278190080 @ 0xff000000
- 8008522: bf08 it eq
- 8008524: 4770 bxeq lr
- 8008526: f093 4f7f teq r3, #4278190080 @ 0xff000000
- 800852a: bf04 itt eq
- 800852c: f441 2100 orreq.w r1, r1, #524288 @ 0x80000
- 8008530: 4770 bxeq lr
- 8008532: b530 push {r4, r5, lr}
- 8008534: f44f 7460 mov.w r4, #896 @ 0x380
- 8008538: f001 4500 and.w r5, r1, #2147483648 @ 0x80000000
- 800853c: f021 4100 bic.w r1, r1, #2147483648 @ 0x80000000
- 8008540: e71c b.n 800837c <__adddf3+0x138>
- 8008542: bf00 nop
-
-08008544 <__aeabi_ul2d>:
- 8008544: ea50 0201 orrs.w r2, r0, r1
- 8008548: bf08 it eq
- 800854a: 4770 bxeq lr
- 800854c: b530 push {r4, r5, lr}
- 800854e: f04f 0500 mov.w r5, #0
- 8008552: e00a b.n 800856a <__aeabi_l2d+0x16>
-
-08008554 <__aeabi_l2d>:
- 8008554: ea50 0201 orrs.w r2, r0, r1
- 8008558: bf08 it eq
- 800855a: 4770 bxeq lr
- 800855c: b530 push {r4, r5, lr}
- 800855e: f011 4500 ands.w r5, r1, #2147483648 @ 0x80000000
- 8008562: d502 bpl.n 800856a <__aeabi_l2d+0x16>
- 8008564: 4240 negs r0, r0
- 8008566: eb61 0141 sbc.w r1, r1, r1, lsl #1
- 800856a: f44f 6480 mov.w r4, #1024 @ 0x400
- 800856e: f104 0432 add.w r4, r4, #50 @ 0x32
- 8008572: ea5f 5c91 movs.w ip, r1, lsr #22
- 8008576: f43f aed8 beq.w 800832a <__adddf3+0xe6>
- 800857a: f04f 0203 mov.w r2, #3
- 800857e: ea5f 0cdc movs.w ip, ip, lsr #3
- 8008582: bf18 it ne
- 8008584: 3203 addne r2, #3
- 8008586: ea5f 0cdc movs.w ip, ip, lsr #3
- 800858a: bf18 it ne
- 800858c: 3203 addne r2, #3
- 800858e: eb02 02dc add.w r2, r2, ip, lsr #3
- 8008592: f1c2 0320 rsb r3, r2, #32
- 8008596: fa00 fc03 lsl.w ip, r0, r3
- 800859a: fa20 f002 lsr.w r0, r0, r2
- 800859e: fa01 fe03 lsl.w lr, r1, r3
- 80085a2: ea40 000e orr.w r0, r0, lr
- 80085a6: fa21 f102 lsr.w r1, r1, r2
- 80085aa: 4414 add r4, r2
- 80085ac: e6bd b.n 800832a <__adddf3+0xe6>
- 80085ae: bf00 nop
-
-080085b0 <__aeabi_dmul>:
- 80085b0: b570 push {r4, r5, r6, lr}
- 80085b2: f04f 0cff mov.w ip, #255 @ 0xff
- 80085b6: f44c 6ce0 orr.w ip, ip, #1792 @ 0x700
- 80085ba: ea1c 5411 ands.w r4, ip, r1, lsr #20
- 80085be: bf1d ittte ne
- 80085c0: ea1c 5513 andsne.w r5, ip, r3, lsr #20
- 80085c4: ea94 0f0c teqne r4, ip
- 80085c8: ea95 0f0c teqne r5, ip
- 80085cc: f000 f8de bleq 800878c <__aeabi_dmul+0x1dc>
- 80085d0: 442c add r4, r5
- 80085d2: ea81 0603 eor.w r6, r1, r3
- 80085d6: ea21 514c bic.w r1, r1, ip, lsl #21
- 80085da: ea23 534c bic.w r3, r3, ip, lsl #21
- 80085de: ea50 3501 orrs.w r5, r0, r1, lsl #12
- 80085e2: bf18 it ne
- 80085e4: ea52 3503 orrsne.w r5, r2, r3, lsl #12
- 80085e8: f441 1180 orr.w r1, r1, #1048576 @ 0x100000
- 80085ec: f443 1380 orr.w r3, r3, #1048576 @ 0x100000
- 80085f0: d038 beq.n 8008664 <__aeabi_dmul+0xb4>
- 80085f2: fba0 ce02 umull ip, lr, r0, r2
- 80085f6: f04f 0500 mov.w r5, #0
- 80085fa: fbe1 e502 umlal lr, r5, r1, r2
- 80085fe: f006 4200 and.w r2, r6, #2147483648 @ 0x80000000
- 8008602: fbe0 e503 umlal lr, r5, r0, r3
- 8008606: f04f 0600 mov.w r6, #0
- 800860a: fbe1 5603 umlal r5, r6, r1, r3
- 800860e: f09c 0f00 teq ip, #0
- 8008612: bf18 it ne
- 8008614: f04e 0e01 orrne.w lr, lr, #1
- 8008618: f1a4 04ff sub.w r4, r4, #255 @ 0xff
- 800861c: f5b6 7f00 cmp.w r6, #512 @ 0x200
- 8008620: f564 7440 sbc.w r4, r4, #768 @ 0x300
- 8008624: d204 bcs.n 8008630 <__aeabi_dmul+0x80>
- 8008626: ea5f 0e4e movs.w lr, lr, lsl #1
- 800862a: 416d adcs r5, r5
- 800862c: eb46 0606 adc.w r6, r6, r6
- 8008630: ea42 21c6 orr.w r1, r2, r6, lsl #11
- 8008634: ea41 5155 orr.w r1, r1, r5, lsr #21
- 8008638: ea4f 20c5 mov.w r0, r5, lsl #11
- 800863c: ea40 505e orr.w r0, r0, lr, lsr #21
- 8008640: ea4f 2ece mov.w lr, lr, lsl #11
- 8008644: f1b4 0cfd subs.w ip, r4, #253 @ 0xfd
- 8008648: bf88 it hi
- 800864a: f5bc 6fe0 cmphi.w ip, #1792 @ 0x700
- 800864e: d81e bhi.n 800868e <__aeabi_dmul+0xde>
- 8008650: f1be 4f00 cmp.w lr, #2147483648 @ 0x80000000
- 8008654: bf08 it eq
- 8008656: ea5f 0e50 movseq.w lr, r0, lsr #1
- 800865a: f150 0000 adcs.w r0, r0, #0
- 800865e: eb41 5104 adc.w r1, r1, r4, lsl #20
- 8008662: bd70 pop {r4, r5, r6, pc}
- 8008664: f006 4600 and.w r6, r6, #2147483648 @ 0x80000000
- 8008668: ea46 0101 orr.w r1, r6, r1
- 800866c: ea40 0002 orr.w r0, r0, r2
- 8008670: ea81 0103 eor.w r1, r1, r3
- 8008674: ebb4 045c subs.w r4, r4, ip, lsr #1
- 8008678: bfc2 ittt gt
- 800867a: ebd4 050c rsbsgt r5, r4, ip
- 800867e: ea41 5104 orrgt.w r1, r1, r4, lsl #20
- 8008682: bd70 popgt {r4, r5, r6, pc}
- 8008684: f441 1180 orr.w r1, r1, #1048576 @ 0x100000
- 8008688: f04f 0e00 mov.w lr, #0
- 800868c: 3c01 subs r4, #1
- 800868e: f300 80ab bgt.w 80087e8 <__aeabi_dmul+0x238>
- 8008692: f114 0f36 cmn.w r4, #54 @ 0x36
- 8008696: bfde ittt le
- 8008698: 2000 movle r0, #0
- 800869a: f001 4100 andle.w r1, r1, #2147483648 @ 0x80000000
- 800869e: bd70 pople {r4, r5, r6, pc}
- 80086a0: f1c4 0400 rsb r4, r4, #0
- 80086a4: 3c20 subs r4, #32
- 80086a6: da35 bge.n 8008714 <__aeabi_dmul+0x164>
- 80086a8: 340c adds r4, #12
- 80086aa: dc1b bgt.n 80086e4 <__aeabi_dmul+0x134>
- 80086ac: f104 0414 add.w r4, r4, #20
- 80086b0: f1c4 0520 rsb r5, r4, #32
- 80086b4: fa00 f305 lsl.w r3, r0, r5
- 80086b8: fa20 f004 lsr.w r0, r0, r4
- 80086bc: fa01 f205 lsl.w r2, r1, r5
- 80086c0: ea40 0002 orr.w r0, r0, r2
- 80086c4: f001 4200 and.w r2, r1, #2147483648 @ 0x80000000
- 80086c8: f021 4100 bic.w r1, r1, #2147483648 @ 0x80000000
- 80086cc: eb10 70d3 adds.w r0, r0, r3, lsr #31
- 80086d0: fa21 f604 lsr.w r6, r1, r4
- 80086d4: eb42 0106 adc.w r1, r2, r6
- 80086d8: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
- 80086dc: bf08 it eq
- 80086de: ea20 70d3 biceq.w r0, r0, r3, lsr #31
- 80086e2: bd70 pop {r4, r5, r6, pc}
- 80086e4: f1c4 040c rsb r4, r4, #12
- 80086e8: f1c4 0520 rsb r5, r4, #32
- 80086ec: fa00 f304 lsl.w r3, r0, r4
- 80086f0: fa20 f005 lsr.w r0, r0, r5
- 80086f4: fa01 f204 lsl.w r2, r1, r4
- 80086f8: ea40 0002 orr.w r0, r0, r2
- 80086fc: f001 4100 and.w r1, r1, #2147483648 @ 0x80000000
- 8008700: eb10 70d3 adds.w r0, r0, r3, lsr #31
- 8008704: f141 0100 adc.w r1, r1, #0
- 8008708: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
- 800870c: bf08 it eq
- 800870e: ea20 70d3 biceq.w r0, r0, r3, lsr #31
- 8008712: bd70 pop {r4, r5, r6, pc}
- 8008714: f1c4 0520 rsb r5, r4, #32
- 8008718: fa00 f205 lsl.w r2, r0, r5
- 800871c: ea4e 0e02 orr.w lr, lr, r2
- 8008720: fa20 f304 lsr.w r3, r0, r4
- 8008724: fa01 f205 lsl.w r2, r1, r5
- 8008728: ea43 0302 orr.w r3, r3, r2
- 800872c: fa21 f004 lsr.w r0, r1, r4
- 8008730: f001 4100 and.w r1, r1, #2147483648 @ 0x80000000
- 8008734: fa21 f204 lsr.w r2, r1, r4
- 8008738: ea20 0002 bic.w r0, r0, r2
- 800873c: eb00 70d3 add.w r0, r0, r3, lsr #31
- 8008740: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
- 8008744: bf08 it eq
- 8008746: ea20 70d3 biceq.w r0, r0, r3, lsr #31
- 800874a: bd70 pop {r4, r5, r6, pc}
- 800874c: f094 0f00 teq r4, #0
- 8008750: d10f bne.n 8008772 <__aeabi_dmul+0x1c2>
- 8008752: f001 4600 and.w r6, r1, #2147483648 @ 0x80000000
- 8008756: 0040 lsls r0, r0, #1
- 8008758: eb41 0101 adc.w r1, r1, r1
- 800875c: f411 1f80 tst.w r1, #1048576 @ 0x100000
- 8008760: bf08 it eq
- 8008762: 3c01 subeq r4, #1
- 8008764: d0f7 beq.n 8008756 <__aeabi_dmul+0x1a6>
- 8008766: ea41 0106 orr.w r1, r1, r6
- 800876a: f095 0f00 teq r5, #0
- 800876e: bf18 it ne
- 8008770: 4770 bxne lr
- 8008772: f003 4600 and.w r6, r3, #2147483648 @ 0x80000000
- 8008776: 0052 lsls r2, r2, #1
- 8008778: eb43 0303 adc.w r3, r3, r3
- 800877c: f413 1f80 tst.w r3, #1048576 @ 0x100000
- 8008780: bf08 it eq
- 8008782: 3d01 subeq r5, #1
- 8008784: d0f7 beq.n 8008776 <__aeabi_dmul+0x1c6>
- 8008786: ea43 0306 orr.w r3, r3, r6
- 800878a: 4770 bx lr
- 800878c: ea94 0f0c teq r4, ip
- 8008790: ea0c 5513 and.w r5, ip, r3, lsr #20
- 8008794: bf18 it ne
- 8008796: ea95 0f0c teqne r5, ip
- 800879a: d00c beq.n 80087b6 <__aeabi_dmul+0x206>
- 800879c: ea50 0641 orrs.w r6, r0, r1, lsl #1
- 80087a0: bf18 it ne
- 80087a2: ea52 0643 orrsne.w r6, r2, r3, lsl #1
- 80087a6: d1d1 bne.n 800874c <__aeabi_dmul+0x19c>
- 80087a8: ea81 0103 eor.w r1, r1, r3
- 80087ac: f001 4100 and.w r1, r1, #2147483648 @ 0x80000000
- 80087b0: f04f 0000 mov.w r0, #0
- 80087b4: bd70 pop {r4, r5, r6, pc}
- 80087b6: ea50 0641 orrs.w r6, r0, r1, lsl #1
- 80087ba: bf06 itte eq
- 80087bc: 4610 moveq r0, r2
- 80087be: 4619 moveq r1, r3
- 80087c0: ea52 0643 orrsne.w r6, r2, r3, lsl #1
- 80087c4: d019 beq.n 80087fa <__aeabi_dmul+0x24a>
- 80087c6: ea94 0f0c teq r4, ip
- 80087ca: d102 bne.n 80087d2 <__aeabi_dmul+0x222>
- 80087cc: ea50 3601 orrs.w r6, r0, r1, lsl #12
- 80087d0: d113 bne.n 80087fa <__aeabi_dmul+0x24a>
- 80087d2: ea95 0f0c teq r5, ip
- 80087d6: d105 bne.n 80087e4 <__aeabi_dmul+0x234>
- 80087d8: ea52 3603 orrs.w r6, r2, r3, lsl #12
- 80087dc: bf1c itt ne
- 80087de: 4610 movne r0, r2
- 80087e0: 4619 movne r1, r3
- 80087e2: d10a bne.n 80087fa <__aeabi_dmul+0x24a>
- 80087e4: ea81 0103 eor.w r1, r1, r3
- 80087e8: f001 4100 and.w r1, r1, #2147483648 @ 0x80000000
- 80087ec: f041 41fe orr.w r1, r1, #2130706432 @ 0x7f000000
- 80087f0: f441 0170 orr.w r1, r1, #15728640 @ 0xf00000
- 80087f4: f04f 0000 mov.w r0, #0
- 80087f8: bd70 pop {r4, r5, r6, pc}
- 80087fa: f041 41fe orr.w r1, r1, #2130706432 @ 0x7f000000
- 80087fe: f441 0178 orr.w r1, r1, #16252928 @ 0xf80000
- 8008802: bd70 pop {r4, r5, r6, pc}
-
-08008804 <__aeabi_ddiv>:
- 8008804: b570 push {r4, r5, r6, lr}
- 8008806: f04f 0cff mov.w ip, #255 @ 0xff
- 800880a: f44c 6ce0 orr.w ip, ip, #1792 @ 0x700
- 800880e: ea1c 5411 ands.w r4, ip, r1, lsr #20
- 8008812: bf1d ittte ne
- 8008814: ea1c 5513 andsne.w r5, ip, r3, lsr #20
- 8008818: ea94 0f0c teqne r4, ip
- 800881c: ea95 0f0c teqne r5, ip
- 8008820: f000 f8a7 bleq 8008972 <__aeabi_ddiv+0x16e>
- 8008824: eba4 0405 sub.w r4, r4, r5
- 8008828: ea81 0e03 eor.w lr, r1, r3
- 800882c: ea52 3503 orrs.w r5, r2, r3, lsl #12
- 8008830: ea4f 3101 mov.w r1, r1, lsl #12
- 8008834: f000 8088 beq.w 8008948 <__aeabi_ddiv+0x144>
- 8008838: ea4f 3303 mov.w r3, r3, lsl #12
- 800883c: f04f 5580 mov.w r5, #268435456 @ 0x10000000
- 8008840: ea45 1313 orr.w r3, r5, r3, lsr #4
- 8008844: ea43 6312 orr.w r3, r3, r2, lsr #24
- 8008848: ea4f 2202 mov.w r2, r2, lsl #8
- 800884c: ea45 1511 orr.w r5, r5, r1, lsr #4
- 8008850: ea45 6510 orr.w r5, r5, r0, lsr #24
- 8008854: ea4f 2600 mov.w r6, r0, lsl #8
- 8008858: f00e 4100 and.w r1, lr, #2147483648 @ 0x80000000
- 800885c: 429d cmp r5, r3
- 800885e: bf08 it eq
- 8008860: 4296 cmpeq r6, r2
- 8008862: f144 04fd adc.w r4, r4, #253 @ 0xfd
- 8008866: f504 7440 add.w r4, r4, #768 @ 0x300
- 800886a: d202 bcs.n 8008872 <__aeabi_ddiv+0x6e>
- 800886c: 085b lsrs r3, r3, #1
- 800886e: ea4f 0232 mov.w r2, r2, rrx
- 8008872: 1ab6 subs r6, r6, r2
- 8008874: eb65 0503 sbc.w r5, r5, r3
- 8008878: 085b lsrs r3, r3, #1
- 800887a: ea4f 0232 mov.w r2, r2, rrx
- 800887e: f44f 1080 mov.w r0, #1048576 @ 0x100000
- 8008882: f44f 2c00 mov.w ip, #524288 @ 0x80000
- 8008886: ebb6 0e02 subs.w lr, r6, r2
- 800888a: eb75 0e03 sbcs.w lr, r5, r3
- 800888e: bf22 ittt cs
- 8008890: 1ab6 subcs r6, r6, r2
- 8008892: 4675 movcs r5, lr
- 8008894: ea40 000c orrcs.w r0, r0, ip
- 8008898: 085b lsrs r3, r3, #1
- 800889a: ea4f 0232 mov.w r2, r2, rrx
- 800889e: ebb6 0e02 subs.w lr, r6, r2
- 80088a2: eb75 0e03 sbcs.w lr, r5, r3
- 80088a6: bf22 ittt cs
- 80088a8: 1ab6 subcs r6, r6, r2
- 80088aa: 4675 movcs r5, lr
- 80088ac: ea40 005c orrcs.w r0, r0, ip, lsr #1
- 80088b0: 085b lsrs r3, r3, #1
- 80088b2: ea4f 0232 mov.w r2, r2, rrx
- 80088b6: ebb6 0e02 subs.w lr, r6, r2
- 80088ba: eb75 0e03 sbcs.w lr, r5, r3
- 80088be: bf22 ittt cs
- 80088c0: 1ab6 subcs r6, r6, r2
- 80088c2: 4675 movcs r5, lr
- 80088c4: ea40 009c orrcs.w r0, r0, ip, lsr #2
- 80088c8: 085b lsrs r3, r3, #1
- 80088ca: ea4f 0232 mov.w r2, r2, rrx
- 80088ce: ebb6 0e02 subs.w lr, r6, r2
- 80088d2: eb75 0e03 sbcs.w lr, r5, r3
- 80088d6: bf22 ittt cs
- 80088d8: 1ab6 subcs r6, r6, r2
- 80088da: 4675 movcs r5, lr
- 80088dc: ea40 00dc orrcs.w r0, r0, ip, lsr #3
- 80088e0: ea55 0e06 orrs.w lr, r5, r6
- 80088e4: d018 beq.n 8008918 <__aeabi_ddiv+0x114>
- 80088e6: ea4f 1505 mov.w r5, r5, lsl #4
- 80088ea: ea45 7516 orr.w r5, r5, r6, lsr #28
- 80088ee: ea4f 1606 mov.w r6, r6, lsl #4
- 80088f2: ea4f 03c3 mov.w r3, r3, lsl #3
- 80088f6: ea43 7352 orr.w r3, r3, r2, lsr #29
- 80088fa: ea4f 02c2 mov.w r2, r2, lsl #3
- 80088fe: ea5f 1c1c movs.w ip, ip, lsr #4
- 8008902: d1c0 bne.n 8008886 <__aeabi_ddiv+0x82>
- 8008904: f411 1f80 tst.w r1, #1048576 @ 0x100000
- 8008908: d10b bne.n 8008922 <__aeabi_ddiv+0x11e>
- 800890a: ea41 0100 orr.w r1, r1, r0
- 800890e: f04f 0000 mov.w r0, #0
- 8008912: f04f 4c00 mov.w ip, #2147483648 @ 0x80000000
- 8008916: e7b6 b.n 8008886 <__aeabi_ddiv+0x82>
- 8008918: f411 1f80 tst.w r1, #1048576 @ 0x100000
- 800891c: bf04 itt eq
- 800891e: 4301 orreq r1, r0
- 8008920: 2000 moveq r0, #0
- 8008922: f1b4 0cfd subs.w ip, r4, #253 @ 0xfd
- 8008926: bf88 it hi
- 8008928: f5bc 6fe0 cmphi.w ip, #1792 @ 0x700
- 800892c: f63f aeaf bhi.w 800868e <__aeabi_dmul+0xde>
- 8008930: ebb5 0c03 subs.w ip, r5, r3
- 8008934: bf04 itt eq
- 8008936: ebb6 0c02 subseq.w ip, r6, r2
- 800893a: ea5f 0c50 movseq.w ip, r0, lsr #1
- 800893e: f150 0000 adcs.w r0, r0, #0
- 8008942: eb41 5104 adc.w r1, r1, r4, lsl #20
- 8008946: bd70 pop {r4, r5, r6, pc}
- 8008948: f00e 4e00 and.w lr, lr, #2147483648 @ 0x80000000
- 800894c: ea4e 3111 orr.w r1, lr, r1, lsr #12
- 8008950: eb14 045c adds.w r4, r4, ip, lsr #1
- 8008954: bfc2 ittt gt
- 8008956: ebd4 050c rsbsgt r5, r4, ip
- 800895a: ea41 5104 orrgt.w r1, r1, r4, lsl #20
- 800895e: bd70 popgt {r4, r5, r6, pc}
- 8008960: f441 1180 orr.w r1, r1, #1048576 @ 0x100000
- 8008964: f04f 0e00 mov.w lr, #0
- 8008968: 3c01 subs r4, #1
- 800896a: e690 b.n 800868e <__aeabi_dmul+0xde>
- 800896c: ea45 0e06 orr.w lr, r5, r6
- 8008970: e68d b.n 800868e <__aeabi_dmul+0xde>
- 8008972: ea0c 5513 and.w r5, ip, r3, lsr #20
- 8008976: ea94 0f0c teq r4, ip
- 800897a: bf08 it eq
- 800897c: ea95 0f0c teqeq r5, ip
- 8008980: f43f af3b beq.w 80087fa <__aeabi_dmul+0x24a>
- 8008984: ea94 0f0c teq r4, ip
- 8008988: d10a bne.n 80089a0 <__aeabi_ddiv+0x19c>
- 800898a: ea50 3401 orrs.w r4, r0, r1, lsl #12
- 800898e: f47f af34 bne.w 80087fa <__aeabi_dmul+0x24a>
- 8008992: ea95 0f0c teq r5, ip
- 8008996: f47f af25 bne.w 80087e4 <__aeabi_dmul+0x234>
- 800899a: 4610 mov r0, r2
- 800899c: 4619 mov r1, r3
- 800899e: e72c b.n 80087fa <__aeabi_dmul+0x24a>
- 80089a0: ea95 0f0c teq r5, ip
- 80089a4: d106 bne.n 80089b4 <__aeabi_ddiv+0x1b0>
- 80089a6: ea52 3503 orrs.w r5, r2, r3, lsl #12
- 80089aa: f43f aefd beq.w 80087a8 <__aeabi_dmul+0x1f8>
- 80089ae: 4610 mov r0, r2
- 80089b0: 4619 mov r1, r3
- 80089b2: e722 b.n 80087fa <__aeabi_dmul+0x24a>
- 80089b4: ea50 0641 orrs.w r6, r0, r1, lsl #1
- 80089b8: bf18 it ne
- 80089ba: ea52 0643 orrsne.w r6, r2, r3, lsl #1
- 80089be: f47f aec5 bne.w 800874c <__aeabi_dmul+0x19c>
- 80089c2: ea50 0441 orrs.w r4, r0, r1, lsl #1
- 80089c6: f47f af0d bne.w 80087e4 <__aeabi_dmul+0x234>
- 80089ca: ea52 0543 orrs.w r5, r2, r3, lsl #1
- 80089ce: f47f aeeb bne.w 80087a8 <__aeabi_dmul+0x1f8>
- 80089d2: e712 b.n 80087fa <__aeabi_dmul+0x24a>
-
-080089d4 <__gedf2>:
- 80089d4: f04f 3cff mov.w ip, #4294967295
- 80089d8: e006 b.n 80089e8 <__cmpdf2+0x4>
- 80089da: bf00 nop
-
-080089dc <__ledf2>:
- 80089dc: f04f 0c01 mov.w ip, #1
- 80089e0: e002 b.n 80089e8 <__cmpdf2+0x4>
- 80089e2: bf00 nop
-
-080089e4 <__cmpdf2>:
- 80089e4: f04f 0c01 mov.w ip, #1
- 80089e8: f84d cd04 str.w ip, [sp, #-4]!
- 80089ec: ea4f 0c41 mov.w ip, r1, lsl #1
- 80089f0: ea7f 5c6c mvns.w ip, ip, asr #21
- 80089f4: ea4f 0c43 mov.w ip, r3, lsl #1
- 80089f8: bf18 it ne
- 80089fa: ea7f 5c6c mvnsne.w ip, ip, asr #21
- 80089fe: d01b beq.n 8008a38 <__cmpdf2+0x54>
- 8008a00: b001 add sp, #4
- 8008a02: ea50 0c41 orrs.w ip, r0, r1, lsl #1
- 8008a06: bf0c ite eq
- 8008a08: ea52 0c43 orrseq.w ip, r2, r3, lsl #1
- 8008a0c: ea91 0f03 teqne r1, r3
- 8008a10: bf02 ittt eq
- 8008a12: ea90 0f02 teqeq r0, r2
- 8008a16: 2000 moveq r0, #0
- 8008a18: 4770 bxeq lr
- 8008a1a: f110 0f00 cmn.w r0, #0
- 8008a1e: ea91 0f03 teq r1, r3
- 8008a22: bf58 it pl
- 8008a24: 4299 cmppl r1, r3
- 8008a26: bf08 it eq
- 8008a28: 4290 cmpeq r0, r2
- 8008a2a: bf2c ite cs
- 8008a2c: 17d8 asrcs r0, r3, #31
- 8008a2e: ea6f 70e3 mvncc.w r0, r3, asr #31
- 8008a32: f040 0001 orr.w r0, r0, #1
- 8008a36: 4770 bx lr
- 8008a38: ea4f 0c41 mov.w ip, r1, lsl #1
- 8008a3c: ea7f 5c6c mvns.w ip, ip, asr #21
- 8008a40: d102 bne.n 8008a48 <__cmpdf2+0x64>
- 8008a42: ea50 3c01 orrs.w ip, r0, r1, lsl #12
- 8008a46: d107 bne.n 8008a58 <__cmpdf2+0x74>
- 8008a48: ea4f 0c43 mov.w ip, r3, lsl #1
- 8008a4c: ea7f 5c6c mvns.w ip, ip, asr #21
- 8008a50: d1d6 bne.n 8008a00 <__cmpdf2+0x1c>
- 8008a52: ea52 3c03 orrs.w ip, r2, r3, lsl #12
- 8008a56: d0d3 beq.n 8008a00 <__cmpdf2+0x1c>
- 8008a58: f85d 0b04 ldr.w r0, [sp], #4
- 8008a5c: 4770 bx lr
- 8008a5e: bf00 nop
-
-08008a60 <__aeabi_cdrcmple>:
- 8008a60: 4684 mov ip, r0
- 8008a62: 4610 mov r0, r2
- 8008a64: 4662 mov r2, ip
- 8008a66: 468c mov ip, r1
- 8008a68: 4619 mov r1, r3
- 8008a6a: 4663 mov r3, ip
- 8008a6c: e000 b.n 8008a70 <__aeabi_cdcmpeq>
- 8008a6e: bf00 nop
-
-08008a70 <__aeabi_cdcmpeq>:
- 8008a70: b501 push {r0, lr}
- 8008a72: f7ff ffb7 bl 80089e4 <__cmpdf2>
- 8008a76: 2800 cmp r0, #0
- 8008a78: bf48 it mi
- 8008a7a: f110 0f00 cmnmi.w r0, #0
- 8008a7e: bd01 pop {r0, pc}
-
-08008a80 <__aeabi_dcmpeq>:
- 8008a80: f84d ed08 str.w lr, [sp, #-8]!
- 8008a84: f7ff fff4 bl 8008a70 <__aeabi_cdcmpeq>
- 8008a88: bf0c ite eq
- 8008a8a: 2001 moveq r0, #1
- 8008a8c: 2000 movne r0, #0
- 8008a8e: f85d fb08 ldr.w pc, [sp], #8
- 8008a92: bf00 nop
-
-08008a94 <__aeabi_dcmplt>:
- 8008a94: f84d ed08 str.w lr, [sp, #-8]!
- 8008a98: f7ff ffea bl 8008a70 <__aeabi_cdcmpeq>
- 8008a9c: bf34 ite cc
- 8008a9e: 2001 movcc r0, #1
- 8008aa0: 2000 movcs r0, #0
- 8008aa2: f85d fb08 ldr.w pc, [sp], #8
- 8008aa6: bf00 nop
-
-08008aa8 <__aeabi_dcmple>:
- 8008aa8: f84d ed08 str.w lr, [sp, #-8]!
- 8008aac: f7ff ffe0 bl 8008a70 <__aeabi_cdcmpeq>
- 8008ab0: bf94 ite ls
- 8008ab2: 2001 movls r0, #1
- 8008ab4: 2000 movhi r0, #0
- 8008ab6: f85d fb08 ldr.w pc, [sp], #8
- 8008aba: bf00 nop
-
-08008abc <__aeabi_dcmpge>:
- 8008abc: f84d ed08 str.w lr, [sp, #-8]!
- 8008ac0: f7ff ffce bl 8008a60 <__aeabi_cdrcmple>
- 8008ac4: bf94 ite ls
- 8008ac6: 2001 movls r0, #1
- 8008ac8: 2000 movhi r0, #0
- 8008aca: f85d fb08 ldr.w pc, [sp], #8
- 8008ace: bf00 nop
-
-08008ad0 <__aeabi_dcmpgt>:
- 8008ad0: f84d ed08 str.w lr, [sp, #-8]!
- 8008ad4: f7ff ffc4 bl 8008a60 <__aeabi_cdrcmple>
- 8008ad8: bf34 ite cc
- 8008ada: 2001 movcc r0, #1
- 8008adc: 2000 movcs r0, #0
- 8008ade: f85d fb08 ldr.w pc, [sp], #8
- 8008ae2: bf00 nop
-
-08008ae4 <__aeabi_dcmpun>:
- 8008ae4: ea4f 0c41 mov.w ip, r1, lsl #1
- 8008ae8: ea7f 5c6c mvns.w ip, ip, asr #21
- 8008aec: d102 bne.n 8008af4 <__aeabi_dcmpun+0x10>
- 8008aee: ea50 3c01 orrs.w ip, r0, r1, lsl #12
- 8008af2: d10a bne.n 8008b0a <__aeabi_dcmpun+0x26>
- 8008af4: ea4f 0c43 mov.w ip, r3, lsl #1
- 8008af8: ea7f 5c6c mvns.w ip, ip, asr #21
- 8008afc: d102 bne.n 8008b04 <__aeabi_dcmpun+0x20>
- 8008afe: ea52 3c03 orrs.w ip, r2, r3, lsl #12
- 8008b02: d102 bne.n 8008b0a <__aeabi_dcmpun+0x26>
- 8008b04: f04f 0000 mov.w r0, #0
- 8008b08: 4770 bx lr
- 8008b0a: f04f 0001 mov.w r0, #1
- 8008b0e: 4770 bx lr
-
-08008b10 <__aeabi_d2iz>:
- 8008b10: ea4f 0241 mov.w r2, r1, lsl #1
- 8008b14: f512 1200 adds.w r2, r2, #2097152 @ 0x200000
- 8008b18: d215 bcs.n 8008b46 <__aeabi_d2iz+0x36>
- 8008b1a: d511 bpl.n 8008b40 <__aeabi_d2iz+0x30>
- 8008b1c: f46f 7378 mvn.w r3, #992 @ 0x3e0
- 8008b20: ebb3 5262 subs.w r2, r3, r2, asr #21
- 8008b24: d912 bls.n 8008b4c <__aeabi_d2iz+0x3c>
- 8008b26: ea4f 23c1 mov.w r3, r1, lsl #11
- 8008b2a: f043 4300 orr.w r3, r3, #2147483648 @ 0x80000000
- 8008b2e: ea43 5350 orr.w r3, r3, r0, lsr #21
- 8008b32: f011 4f00 tst.w r1, #2147483648 @ 0x80000000
- 8008b36: fa23 f002 lsr.w r0, r3, r2
- 8008b3a: bf18 it ne
- 8008b3c: 4240 negne r0, r0
- 8008b3e: 4770 bx lr
- 8008b40: f04f 0000 mov.w r0, #0
- 8008b44: 4770 bx lr
- 8008b46: ea50 3001 orrs.w r0, r0, r1, lsl #12
- 8008b4a: d105 bne.n 8008b58 <__aeabi_d2iz+0x48>
- 8008b4c: f011 4000 ands.w r0, r1, #2147483648 @ 0x80000000
- 8008b50: bf08 it eq
- 8008b52: f06f 4000 mvneq.w r0, #2147483648 @ 0x80000000
- 8008b56: 4770 bx lr
- 8008b58: f04f 0000 mov.w r0, #0
- 8008b5c: 4770 bx lr
- 8008b5e: bf00 nop
-
-08008b60 <__aeabi_d2f>:
- 8008b60: ea4f 0241 mov.w r2, r1, lsl #1
- 8008b64: f1b2 43e0 subs.w r3, r2, #1879048192 @ 0x70000000
- 8008b68: bf24 itt cs
- 8008b6a: f5b3 1c00 subscs.w ip, r3, #2097152 @ 0x200000
- 8008b6e: f1dc 5cfe rsbscs ip, ip, #532676608 @ 0x1fc00000
- 8008b72: d90d bls.n 8008b90 <__aeabi_d2f+0x30>
- 8008b74: f001 4c00 and.w ip, r1, #2147483648 @ 0x80000000
- 8008b78: ea4f 02c0 mov.w r2, r0, lsl #3
- 8008b7c: ea4c 7050 orr.w r0, ip, r0, lsr #29
- 8008b80: f1b2 4f00 cmp.w r2, #2147483648 @ 0x80000000
- 8008b84: eb40 0083 adc.w r0, r0, r3, lsl #2
- 8008b88: bf08 it eq
- 8008b8a: f020 0001 biceq.w r0, r0, #1
- 8008b8e: 4770 bx lr
- 8008b90: f011 4f80 tst.w r1, #1073741824 @ 0x40000000
- 8008b94: d121 bne.n 8008bda <__aeabi_d2f+0x7a>
- 8008b96: f113 7238 adds.w r2, r3, #48234496 @ 0x2e00000
- 8008b9a: bfbc itt lt
- 8008b9c: f001 4000 andlt.w r0, r1, #2147483648 @ 0x80000000
- 8008ba0: 4770 bxlt lr
- 8008ba2: f441 1180 orr.w r1, r1, #1048576 @ 0x100000
- 8008ba6: ea4f 5252 mov.w r2, r2, lsr #21
- 8008baa: f1c2 0218 rsb r2, r2, #24
- 8008bae: f1c2 0c20 rsb ip, r2, #32
- 8008bb2: fa10 f30c lsls.w r3, r0, ip
- 8008bb6: fa20 f002 lsr.w r0, r0, r2
- 8008bba: bf18 it ne
- 8008bbc: f040 0001 orrne.w r0, r0, #1
- 8008bc0: ea4f 23c1 mov.w r3, r1, lsl #11
- 8008bc4: ea4f 23d3 mov.w r3, r3, lsr #11
- 8008bc8: fa03 fc0c lsl.w ip, r3, ip
- 8008bcc: ea40 000c orr.w r0, r0, ip
- 8008bd0: fa23 f302 lsr.w r3, r3, r2
- 8008bd4: ea4f 0343 mov.w r3, r3, lsl #1
- 8008bd8: e7cc b.n 8008b74 <__aeabi_d2f+0x14>
- 8008bda: ea7f 5362 mvns.w r3, r2, asr #21
- 8008bde: d107 bne.n 8008bf0 <__aeabi_d2f+0x90>
- 8008be0: ea50 3301 orrs.w r3, r0, r1, lsl #12
- 8008be4: bf1e ittt ne
- 8008be6: f04f 40fe movne.w r0, #2130706432 @ 0x7f000000
- 8008bea: f440 0040 orrne.w r0, r0, #12582912 @ 0xc00000
- 8008bee: 4770 bxne lr
- 8008bf0: f001 4000 and.w r0, r1, #2147483648 @ 0x80000000
- 8008bf4: f040 40fe orr.w r0, r0, #2130706432 @ 0x7f000000
- 8008bf8: f440 0000 orr.w r0, r0, #8388608 @ 0x800000
- 8008bfc: 4770 bx lr
- 8008bfe: bf00 nop
-
-08008c00 <__aeabi_frsub>:
- 8008c00: f080 4000 eor.w r0, r0, #2147483648 @ 0x80000000
- 8008c04: e002 b.n 8008c0c <__addsf3>
- 8008c06: bf00 nop
-
-08008c08 <__aeabi_fsub>:
- 8008c08: f081 4100 eor.w r1, r1, #2147483648 @ 0x80000000
-
-08008c0c <__addsf3>:
- 8008c0c: 0042 lsls r2, r0, #1
- 8008c0e: bf1f itttt ne
- 8008c10: ea5f 0341 movsne.w r3, r1, lsl #1
- 8008c14: ea92 0f03 teqne r2, r3
- 8008c18: ea7f 6c22 mvnsne.w ip, r2, asr #24
- 8008c1c: ea7f 6c23 mvnsne.w ip, r3, asr #24
- 8008c20: d06a beq.n 8008cf8 <__addsf3+0xec>
- 8008c22: ea4f 6212 mov.w r2, r2, lsr #24
- 8008c26: ebd2 6313 rsbs r3, r2, r3, lsr #24
- 8008c2a: bfc1 itttt gt
- 8008c2c: 18d2 addgt r2, r2, r3
- 8008c2e: 4041 eorgt r1, r0
- 8008c30: 4048 eorgt r0, r1
- 8008c32: 4041 eorgt r1, r0
- 8008c34: bfb8 it lt
- 8008c36: 425b neglt r3, r3
- 8008c38: 2b19 cmp r3, #25
- 8008c3a: bf88 it hi
- 8008c3c: 4770 bxhi lr
- 8008c3e: f010 4f00 tst.w r0, #2147483648 @ 0x80000000
- 8008c42: f440 0000 orr.w r0, r0, #8388608 @ 0x800000
- 8008c46: f020 407f bic.w r0, r0, #4278190080 @ 0xff000000
- 8008c4a: bf18 it ne
- 8008c4c: 4240 negne r0, r0
- 8008c4e: f011 4f00 tst.w r1, #2147483648 @ 0x80000000
- 8008c52: f441 0100 orr.w r1, r1, #8388608 @ 0x800000
- 8008c56: f021 417f bic.w r1, r1, #4278190080 @ 0xff000000
- 8008c5a: bf18 it ne
- 8008c5c: 4249 negne r1, r1
- 8008c5e: ea92 0f03 teq r2, r3
- 8008c62: d03f beq.n 8008ce4 <__addsf3+0xd8>
- 8008c64: f1a2 0201 sub.w r2, r2, #1
- 8008c68: fa41 fc03 asr.w ip, r1, r3
- 8008c6c: eb10 000c adds.w r0, r0, ip
- 8008c70: f1c3 0320 rsb r3, r3, #32
- 8008c74: fa01 f103 lsl.w r1, r1, r3
- 8008c78: f000 4300 and.w r3, r0, #2147483648 @ 0x80000000
- 8008c7c: d502 bpl.n 8008c84 <__addsf3+0x78>
- 8008c7e: 4249 negs r1, r1
- 8008c80: eb60 0040 sbc.w r0, r0, r0, lsl #1
- 8008c84: f5b0 0f00 cmp.w r0, #8388608 @ 0x800000
- 8008c88: d313 bcc.n 8008cb2 <__addsf3+0xa6>
- 8008c8a: f1b0 7f80 cmp.w r0, #16777216 @ 0x1000000
- 8008c8e: d306 bcc.n 8008c9e <__addsf3+0x92>
- 8008c90: 0840 lsrs r0, r0, #1
- 8008c92: ea4f 0131 mov.w r1, r1, rrx
- 8008c96: f102 0201 add.w r2, r2, #1
- 8008c9a: 2afe cmp r2, #254 @ 0xfe
- 8008c9c: d251 bcs.n 8008d42 <__addsf3+0x136>
- 8008c9e: f1b1 4f00 cmp.w r1, #2147483648 @ 0x80000000
- 8008ca2: eb40 50c2 adc.w r0, r0, r2, lsl #23
- 8008ca6: bf08 it eq
- 8008ca8: f020 0001 biceq.w r0, r0, #1
- 8008cac: ea40 0003 orr.w r0, r0, r3
- 8008cb0: 4770 bx lr
- 8008cb2: 0049 lsls r1, r1, #1
- 8008cb4: eb40 0000 adc.w r0, r0, r0
- 8008cb8: 3a01 subs r2, #1
- 8008cba: bf28 it cs
- 8008cbc: f5b0 0f00 cmpcs.w r0, #8388608 @ 0x800000
- 8008cc0: d2ed bcs.n 8008c9e <__addsf3+0x92>
- 8008cc2: fab0 fc80 clz ip, r0
- 8008cc6: f1ac 0c08 sub.w ip, ip, #8
- 8008cca: ebb2 020c subs.w r2, r2, ip
- 8008cce: fa00 f00c lsl.w r0, r0, ip
- 8008cd2: bfaa itet ge
- 8008cd4: eb00 50c2 addge.w r0, r0, r2, lsl #23
- 8008cd8: 4252 neglt r2, r2
- 8008cda: 4318 orrge r0, r3
- 8008cdc: bfbc itt lt
- 8008cde: 40d0 lsrlt r0, r2
- 8008ce0: 4318 orrlt r0, r3
- 8008ce2: 4770 bx lr
- 8008ce4: f092 0f00 teq r2, #0
- 8008ce8: f481 0100 eor.w r1, r1, #8388608 @ 0x800000
- 8008cec: bf06 itte eq
- 8008cee: f480 0000 eoreq.w r0, r0, #8388608 @ 0x800000
- 8008cf2: 3201 addeq r2, #1
- 8008cf4: 3b01 subne r3, #1
- 8008cf6: e7b5 b.n 8008c64 <__addsf3+0x58>
- 8008cf8: ea4f 0341 mov.w r3, r1, lsl #1
- 8008cfc: ea7f 6c22 mvns.w ip, r2, asr #24
- 8008d00: bf18 it ne
- 8008d02: ea7f 6c23 mvnsne.w ip, r3, asr #24
- 8008d06: d021 beq.n 8008d4c <__addsf3+0x140>
- 8008d08: ea92 0f03 teq r2, r3
- 8008d0c: d004 beq.n 8008d18 <__addsf3+0x10c>
- 8008d0e: f092 0f00 teq r2, #0
- 8008d12: bf08 it eq
- 8008d14: 4608 moveq r0, r1
- 8008d16: 4770 bx lr
- 8008d18: ea90 0f01 teq r0, r1
- 8008d1c: bf1c itt ne
- 8008d1e: 2000 movne r0, #0
- 8008d20: 4770 bxne lr
- 8008d22: f012 4f7f tst.w r2, #4278190080 @ 0xff000000
- 8008d26: d104 bne.n 8008d32 <__addsf3+0x126>
- 8008d28: 0040 lsls r0, r0, #1
- 8008d2a: bf28 it cs
- 8008d2c: f040 4000 orrcs.w r0, r0, #2147483648 @ 0x80000000
- 8008d30: 4770 bx lr
- 8008d32: f112 7200 adds.w r2, r2, #33554432 @ 0x2000000
- 8008d36: bf3c itt cc
- 8008d38: f500 0000 addcc.w r0, r0, #8388608 @ 0x800000
- 8008d3c: 4770 bxcc lr
- 8008d3e: f000 4300 and.w r3, r0, #2147483648 @ 0x80000000
- 8008d42: f043 40fe orr.w r0, r3, #2130706432 @ 0x7f000000
- 8008d46: f440 0000 orr.w r0, r0, #8388608 @ 0x800000
- 8008d4a: 4770 bx lr
- 8008d4c: ea7f 6222 mvns.w r2, r2, asr #24
- 8008d50: bf16 itet ne
- 8008d52: 4608 movne r0, r1
- 8008d54: ea7f 6323 mvnseq.w r3, r3, asr #24
- 8008d58: 4601 movne r1, r0
- 8008d5a: 0242 lsls r2, r0, #9
- 8008d5c: bf06 itte eq
- 8008d5e: ea5f 2341 movseq.w r3, r1, lsl #9
- 8008d62: ea90 0f01 teqeq r0, r1
- 8008d66: f440 0080 orrne.w r0, r0, #4194304 @ 0x400000
- 8008d6a: 4770 bx lr
-
-08008d6c <__aeabi_ui2f>:
- 8008d6c: f04f 0300 mov.w r3, #0
- 8008d70: e004 b.n 8008d7c <__aeabi_i2f+0x8>
- 8008d72: bf00 nop
-
-08008d74 <__aeabi_i2f>:
- 8008d74: f010 4300 ands.w r3, r0, #2147483648 @ 0x80000000
- 8008d78: bf48 it mi
- 8008d7a: 4240 negmi r0, r0
- 8008d7c: ea5f 0c00 movs.w ip, r0
- 8008d80: bf08 it eq
- 8008d82: 4770 bxeq lr
- 8008d84: f043 4396 orr.w r3, r3, #1258291200 @ 0x4b000000
- 8008d88: 4601 mov r1, r0
- 8008d8a: f04f 0000 mov.w r0, #0
- 8008d8e: e01c b.n 8008dca <__aeabi_l2f+0x2a>
-
-08008d90 <__aeabi_ul2f>:
- 8008d90: ea50 0201 orrs.w r2, r0, r1
- 8008d94: bf08 it eq
- 8008d96: 4770 bxeq lr
- 8008d98: f04f 0300 mov.w r3, #0
- 8008d9c: e00a b.n 8008db4 <__aeabi_l2f+0x14>
- 8008d9e: bf00 nop
-
-08008da0 <__aeabi_l2f>:
- 8008da0: ea50 0201 orrs.w r2, r0, r1
- 8008da4: bf08 it eq
- 8008da6: 4770 bxeq lr
- 8008da8: f011 4300 ands.w r3, r1, #2147483648 @ 0x80000000
- 8008dac: d502 bpl.n 8008db4 <__aeabi_l2f+0x14>
- 8008dae: 4240 negs r0, r0
- 8008db0: eb61 0141 sbc.w r1, r1, r1, lsl #1
- 8008db4: ea5f 0c01 movs.w ip, r1
- 8008db8: bf02 ittt eq
- 8008dba: 4684 moveq ip, r0
- 8008dbc: 4601 moveq r1, r0
- 8008dbe: 2000 moveq r0, #0
- 8008dc0: f043 43b6 orr.w r3, r3, #1526726656 @ 0x5b000000
- 8008dc4: bf08 it eq
- 8008dc6: f1a3 5380 subeq.w r3, r3, #268435456 @ 0x10000000
- 8008dca: f5a3 0300 sub.w r3, r3, #8388608 @ 0x800000
- 8008dce: fabc f28c clz r2, ip
- 8008dd2: 3a08 subs r2, #8
- 8008dd4: eba3 53c2 sub.w r3, r3, r2, lsl #23
- 8008dd8: db10 blt.n 8008dfc <__aeabi_l2f+0x5c>
- 8008dda: fa01 fc02 lsl.w ip, r1, r2
- 8008dde: 4463 add r3, ip
- 8008de0: fa00 fc02 lsl.w ip, r0, r2
- 8008de4: f1c2 0220 rsb r2, r2, #32
- 8008de8: f1bc 4f00 cmp.w ip, #2147483648 @ 0x80000000
- 8008dec: fa20 f202 lsr.w r2, r0, r2
- 8008df0: eb43 0002 adc.w r0, r3, r2
- 8008df4: bf08 it eq
- 8008df6: f020 0001 biceq.w r0, r0, #1
- 8008dfa: 4770 bx lr
- 8008dfc: f102 0220 add.w r2, r2, #32
- 8008e00: fa01 fc02 lsl.w ip, r1, r2
- 8008e04: f1c2 0220 rsb r2, r2, #32
- 8008e08: ea50 004c orrs.w r0, r0, ip, lsl #1
- 8008e0c: fa21 f202 lsr.w r2, r1, r2
- 8008e10: eb43 0002 adc.w r0, r3, r2
- 8008e14: bf08 it eq
- 8008e16: ea20 70dc biceq.w r0, r0, ip, lsr #31
- 8008e1a: 4770 bx lr
-
-08008e1c <__aeabi_fmul>:
- 8008e1c: f04f 0cff mov.w ip, #255 @ 0xff
- 8008e20: ea1c 52d0 ands.w r2, ip, r0, lsr #23
- 8008e24: bf1e ittt ne
- 8008e26: ea1c 53d1 andsne.w r3, ip, r1, lsr #23
- 8008e2a: ea92 0f0c teqne r2, ip
- 8008e2e: ea93 0f0c teqne r3, ip
- 8008e32: d06f beq.n 8008f14 <__aeabi_fmul+0xf8>
- 8008e34: 441a add r2, r3
- 8008e36: ea80 0c01 eor.w ip, r0, r1
- 8008e3a: 0240 lsls r0, r0, #9
- 8008e3c: bf18 it ne
- 8008e3e: ea5f 2141 movsne.w r1, r1, lsl #9
- 8008e42: d01e beq.n 8008e82 <__aeabi_fmul+0x66>
- 8008e44: f04f 6300 mov.w r3, #134217728 @ 0x8000000
- 8008e48: ea43 1050 orr.w r0, r3, r0, lsr #5
- 8008e4c: ea43 1151 orr.w r1, r3, r1, lsr #5
- 8008e50: fba0 3101 umull r3, r1, r0, r1
- 8008e54: f00c 4000 and.w r0, ip, #2147483648 @ 0x80000000
- 8008e58: f5b1 0f00 cmp.w r1, #8388608 @ 0x800000
- 8008e5c: bf3e ittt cc
- 8008e5e: 0049 lslcc r1, r1, #1
- 8008e60: ea41 71d3 orrcc.w r1, r1, r3, lsr #31
- 8008e64: 005b lslcc r3, r3, #1
- 8008e66: ea40 0001 orr.w r0, r0, r1
- 8008e6a: f162 027f sbc.w r2, r2, #127 @ 0x7f
- 8008e6e: 2afd cmp r2, #253 @ 0xfd
- 8008e70: d81d bhi.n 8008eae <__aeabi_fmul+0x92>
- 8008e72: f1b3 4f00 cmp.w r3, #2147483648 @ 0x80000000
- 8008e76: eb40 50c2 adc.w r0, r0, r2, lsl #23
- 8008e7a: bf08 it eq
- 8008e7c: f020 0001 biceq.w r0, r0, #1
- 8008e80: 4770 bx lr
- 8008e82: f090 0f00 teq r0, #0
- 8008e86: f00c 4c00 and.w ip, ip, #2147483648 @ 0x80000000
- 8008e8a: bf08 it eq
- 8008e8c: 0249 lsleq r1, r1, #9
- 8008e8e: ea4c 2050 orr.w r0, ip, r0, lsr #9
- 8008e92: ea40 2051 orr.w r0, r0, r1, lsr #9
- 8008e96: 3a7f subs r2, #127 @ 0x7f
- 8008e98: bfc2 ittt gt
- 8008e9a: f1d2 03ff rsbsgt r3, r2, #255 @ 0xff
- 8008e9e: ea40 50c2 orrgt.w r0, r0, r2, lsl #23
- 8008ea2: 4770 bxgt lr
- 8008ea4: f440 0000 orr.w r0, r0, #8388608 @ 0x800000
- 8008ea8: f04f 0300 mov.w r3, #0
- 8008eac: 3a01 subs r2, #1
- 8008eae: dc5d bgt.n 8008f6c <__aeabi_fmul+0x150>
- 8008eb0: f112 0f19 cmn.w r2, #25
- 8008eb4: bfdc itt le
- 8008eb6: f000 4000 andle.w r0, r0, #2147483648 @ 0x80000000
- 8008eba: 4770 bxle lr
- 8008ebc: f1c2 0200 rsb r2, r2, #0
- 8008ec0: 0041 lsls r1, r0, #1
- 8008ec2: fa21 f102 lsr.w r1, r1, r2
- 8008ec6: f1c2 0220 rsb r2, r2, #32
- 8008eca: fa00 fc02 lsl.w ip, r0, r2
- 8008ece: ea5f 0031 movs.w r0, r1, rrx
- 8008ed2: f140 0000 adc.w r0, r0, #0
- 8008ed6: ea53 034c orrs.w r3, r3, ip, lsl #1
- 8008eda: bf08 it eq
- 8008edc: ea20 70dc biceq.w r0, r0, ip, lsr #31
- 8008ee0: 4770 bx lr
- 8008ee2: f092 0f00 teq r2, #0
- 8008ee6: f000 4c00 and.w ip, r0, #2147483648 @ 0x80000000
- 8008eea: bf02 ittt eq
- 8008eec: 0040 lsleq r0, r0, #1
- 8008eee: f410 0f00 tsteq.w r0, #8388608 @ 0x800000
- 8008ef2: 3a01 subeq r2, #1
- 8008ef4: d0f9 beq.n 8008eea <__aeabi_fmul+0xce>
- 8008ef6: ea40 000c orr.w r0, r0, ip
- 8008efa: f093 0f00 teq r3, #0
- 8008efe: f001 4c00 and.w ip, r1, #2147483648 @ 0x80000000
- 8008f02: bf02 ittt eq
- 8008f04: 0049 lsleq r1, r1, #1
- 8008f06: f411 0f00 tsteq.w r1, #8388608 @ 0x800000
- 8008f0a: 3b01 subeq r3, #1
- 8008f0c: d0f9 beq.n 8008f02 <__aeabi_fmul+0xe6>
- 8008f0e: ea41 010c orr.w r1, r1, ip
- 8008f12: e78f b.n 8008e34 <__aeabi_fmul+0x18>
- 8008f14: ea0c 53d1 and.w r3, ip, r1, lsr #23
- 8008f18: ea92 0f0c teq r2, ip
- 8008f1c: bf18 it ne
- 8008f1e: ea93 0f0c teqne r3, ip
- 8008f22: d00a beq.n 8008f3a <__aeabi_fmul+0x11e>
- 8008f24: f030 4c00 bics.w ip, r0, #2147483648 @ 0x80000000
- 8008f28: bf18 it ne
- 8008f2a: f031 4c00 bicsne.w ip, r1, #2147483648 @ 0x80000000
- 8008f2e: d1d8 bne.n 8008ee2 <__aeabi_fmul+0xc6>
- 8008f30: ea80 0001 eor.w r0, r0, r1
- 8008f34: f000 4000 and.w r0, r0, #2147483648 @ 0x80000000
- 8008f38: 4770 bx lr
- 8008f3a: f090 0f00 teq r0, #0
- 8008f3e: bf17 itett ne
- 8008f40: f090 4f00 teqne r0, #2147483648 @ 0x80000000
- 8008f44: 4608 moveq r0, r1
- 8008f46: f091 0f00 teqne r1, #0
- 8008f4a: f091 4f00 teqne r1, #2147483648 @ 0x80000000
- 8008f4e: d014 beq.n 8008f7a <__aeabi_fmul+0x15e>
- 8008f50: ea92 0f0c teq r2, ip
- 8008f54: d101 bne.n 8008f5a <__aeabi_fmul+0x13e>
- 8008f56: 0242 lsls r2, r0, #9
- 8008f58: d10f bne.n 8008f7a <__aeabi_fmul+0x15e>
- 8008f5a: ea93 0f0c teq r3, ip
- 8008f5e: d103 bne.n 8008f68 <__aeabi_fmul+0x14c>
- 8008f60: 024b lsls r3, r1, #9
- 8008f62: bf18 it ne
- 8008f64: 4608 movne r0, r1
- 8008f66: d108 bne.n 8008f7a <__aeabi_fmul+0x15e>
- 8008f68: ea80 0001 eor.w r0, r0, r1
- 8008f6c: f000 4000 and.w r0, r0, #2147483648 @ 0x80000000
- 8008f70: f040 40fe orr.w r0, r0, #2130706432 @ 0x7f000000
- 8008f74: f440 0000 orr.w r0, r0, #8388608 @ 0x800000
- 8008f78: 4770 bx lr
- 8008f7a: f040 40fe orr.w r0, r0, #2130706432 @ 0x7f000000
- 8008f7e: f440 0040 orr.w r0, r0, #12582912 @ 0xc00000
- 8008f82: 4770 bx lr
-
-08008f84 <__aeabi_fdiv>:
- 8008f84: f04f 0cff mov.w ip, #255 @ 0xff
- 8008f88: ea1c 52d0 ands.w r2, ip, r0, lsr #23
- 8008f8c: bf1e ittt ne
- 8008f8e: ea1c 53d1 andsne.w r3, ip, r1, lsr #23
- 8008f92: ea92 0f0c teqne r2, ip
- 8008f96: ea93 0f0c teqne r3, ip
- 8008f9a: d069 beq.n 8009070 <__aeabi_fdiv+0xec>
- 8008f9c: eba2 0203 sub.w r2, r2, r3
- 8008fa0: ea80 0c01 eor.w ip, r0, r1
- 8008fa4: 0249 lsls r1, r1, #9
- 8008fa6: ea4f 2040 mov.w r0, r0, lsl #9
- 8008faa: d037 beq.n 800901c <__aeabi_fdiv+0x98>
- 8008fac: f04f 5380 mov.w r3, #268435456 @ 0x10000000
- 8008fb0: ea43 1111 orr.w r1, r3, r1, lsr #4
- 8008fb4: ea43 1310 orr.w r3, r3, r0, lsr #4
- 8008fb8: f00c 4000 and.w r0, ip, #2147483648 @ 0x80000000
- 8008fbc: 428b cmp r3, r1
- 8008fbe: bf38 it cc
- 8008fc0: 005b lslcc r3, r3, #1
- 8008fc2: f142 027d adc.w r2, r2, #125 @ 0x7d
- 8008fc6: f44f 0c00 mov.w ip, #8388608 @ 0x800000
- 8008fca: 428b cmp r3, r1
- 8008fcc: bf24 itt cs
- 8008fce: 1a5b subcs r3, r3, r1
- 8008fd0: ea40 000c orrcs.w r0, r0, ip
- 8008fd4: ebb3 0f51 cmp.w r3, r1, lsr #1
- 8008fd8: bf24 itt cs
- 8008fda: eba3 0351 subcs.w r3, r3, r1, lsr #1
- 8008fde: ea40 005c orrcs.w r0, r0, ip, lsr #1
- 8008fe2: ebb3 0f91 cmp.w r3, r1, lsr #2
- 8008fe6: bf24 itt cs
- 8008fe8: eba3 0391 subcs.w r3, r3, r1, lsr #2
- 8008fec: ea40 009c orrcs.w r0, r0, ip, lsr #2
- 8008ff0: ebb3 0fd1 cmp.w r3, r1, lsr #3
- 8008ff4: bf24 itt cs
- 8008ff6: eba3 03d1 subcs.w r3, r3, r1, lsr #3
- 8008ffa: ea40 00dc orrcs.w r0, r0, ip, lsr #3
- 8008ffe: 011b lsls r3, r3, #4
- 8009000: bf18 it ne
- 8009002: ea5f 1c1c movsne.w ip, ip, lsr #4
- 8009006: d1e0 bne.n 8008fca <__aeabi_fdiv+0x46>
- 8009008: 2afd cmp r2, #253 @ 0xfd
- 800900a: f63f af50 bhi.w 8008eae <__aeabi_fmul+0x92>
- 800900e: 428b cmp r3, r1
- 8009010: eb40 50c2 adc.w r0, r0, r2, lsl #23
- 8009014: bf08 it eq
- 8009016: f020 0001 biceq.w r0, r0, #1
- 800901a: 4770 bx lr
- 800901c: f00c 4c00 and.w ip, ip, #2147483648 @ 0x80000000
- 8009020: ea4c 2050 orr.w r0, ip, r0, lsr #9
- 8009024: 327f adds r2, #127 @ 0x7f
- 8009026: bfc2 ittt gt
- 8009028: f1d2 03ff rsbsgt r3, r2, #255 @ 0xff
- 800902c: ea40 50c2 orrgt.w r0, r0, r2, lsl #23
- 8009030: 4770 bxgt lr
- 8009032: f440 0000 orr.w r0, r0, #8388608 @ 0x800000
- 8009036: f04f 0300 mov.w r3, #0
- 800903a: 3a01 subs r2, #1
- 800903c: e737 b.n 8008eae <__aeabi_fmul+0x92>
- 800903e: f092 0f00 teq r2, #0
- 8009042: f000 4c00 and.w ip, r0, #2147483648 @ 0x80000000
- 8009046: bf02 ittt eq
- 8009048: 0040 lsleq r0, r0, #1
- 800904a: f410 0f00 tsteq.w r0, #8388608 @ 0x800000
- 800904e: 3a01 subeq r2, #1
- 8009050: d0f9 beq.n 8009046 <__aeabi_fdiv+0xc2>
- 8009052: ea40 000c orr.w r0, r0, ip
- 8009056: f093 0f00 teq r3, #0
- 800905a: f001 4c00 and.w ip, r1, #2147483648 @ 0x80000000
- 800905e: bf02 ittt eq
- 8009060: 0049 lsleq r1, r1, #1
- 8009062: f411 0f00 tsteq.w r1, #8388608 @ 0x800000
- 8009066: 3b01 subeq r3, #1
- 8009068: d0f9 beq.n 800905e <__aeabi_fdiv+0xda>
- 800906a: ea41 010c orr.w r1, r1, ip
- 800906e: e795 b.n 8008f9c <__aeabi_fdiv+0x18>
- 8009070: ea0c 53d1 and.w r3, ip, r1, lsr #23
- 8009074: ea92 0f0c teq r2, ip
- 8009078: d108 bne.n 800908c <__aeabi_fdiv+0x108>
- 800907a: 0242 lsls r2, r0, #9
- 800907c: f47f af7d bne.w 8008f7a <__aeabi_fmul+0x15e>
- 8009080: ea93 0f0c teq r3, ip
- 8009084: f47f af70 bne.w 8008f68 <__aeabi_fmul+0x14c>
- 8009088: 4608 mov r0, r1
- 800908a: e776 b.n 8008f7a <__aeabi_fmul+0x15e>
- 800908c: ea93 0f0c teq r3, ip
- 8009090: d104 bne.n 800909c <__aeabi_fdiv+0x118>
- 8009092: 024b lsls r3, r1, #9
- 8009094: f43f af4c beq.w 8008f30 <__aeabi_fmul+0x114>
- 8009098: 4608 mov r0, r1
- 800909a: e76e b.n 8008f7a <__aeabi_fmul+0x15e>
- 800909c: f030 4c00 bics.w ip, r0, #2147483648 @ 0x80000000
- 80090a0: bf18 it ne
- 80090a2: f031 4c00 bicsne.w ip, r1, #2147483648 @ 0x80000000
- 80090a6: d1ca bne.n 800903e <__aeabi_fdiv+0xba>
- 80090a8: f030 4200 bics.w r2, r0, #2147483648 @ 0x80000000
- 80090ac: f47f af5c bne.w 8008f68 <__aeabi_fmul+0x14c>
- 80090b0: f031 4300 bics.w r3, r1, #2147483648 @ 0x80000000
- 80090b4: f47f af3c bne.w 8008f30 <__aeabi_fmul+0x114>
- 80090b8: e75f b.n 8008f7a <__aeabi_fmul+0x15e>
- 80090ba: bf00 nop
-
-080090bc <__gesf2>:
- 80090bc: f04f 3cff mov.w ip, #4294967295
- 80090c0: e006 b.n 80090d0 <__cmpsf2+0x4>
- 80090c2: bf00 nop
-
-080090c4 <__lesf2>:
- 80090c4: f04f 0c01 mov.w ip, #1
- 80090c8: e002 b.n 80090d0 <__cmpsf2+0x4>
- 80090ca: bf00 nop
-
-080090cc <__cmpsf2>:
- 80090cc: f04f 0c01 mov.w ip, #1
- 80090d0: f84d cd04 str.w ip, [sp, #-4]!
- 80090d4: ea4f 0240 mov.w r2, r0, lsl #1
- 80090d8: ea4f 0341 mov.w r3, r1, lsl #1
- 80090dc: ea7f 6c22 mvns.w ip, r2, asr #24
- 80090e0: bf18 it ne
- 80090e2: ea7f 6c23 mvnsne.w ip, r3, asr #24
- 80090e6: d011 beq.n 800910c <__cmpsf2+0x40>
- 80090e8: b001 add sp, #4
- 80090ea: ea52 0c53 orrs.w ip, r2, r3, lsr #1
- 80090ee: bf18 it ne
- 80090f0: ea90 0f01 teqne r0, r1
- 80090f4: bf58 it pl
- 80090f6: ebb2 0003 subspl.w r0, r2, r3
- 80090fa: bf88 it hi
- 80090fc: 17c8 asrhi r0, r1, #31
- 80090fe: bf38 it cc
- 8009100: ea6f 70e1 mvncc.w r0, r1, asr #31
- 8009104: bf18 it ne
- 8009106: f040 0001 orrne.w r0, r0, #1
- 800910a: 4770 bx lr
- 800910c: ea7f 6c22 mvns.w ip, r2, asr #24
- 8009110: d102 bne.n 8009118 <__cmpsf2+0x4c>
- 8009112: ea5f 2c40 movs.w ip, r0, lsl #9
- 8009116: d105 bne.n 8009124 <__cmpsf2+0x58>
- 8009118: ea7f 6c23 mvns.w ip, r3, asr #24
- 800911c: d1e4 bne.n 80090e8 <__cmpsf2+0x1c>
- 800911e: ea5f 2c41 movs.w ip, r1, lsl #9
- 8009122: d0e1 beq.n 80090e8 <__cmpsf2+0x1c>
- 8009124: f85d 0b04 ldr.w r0, [sp], #4
- 8009128: 4770 bx lr
- 800912a: bf00 nop
-
-0800912c <__aeabi_cfrcmple>:
- 800912c: 4684 mov ip, r0
- 800912e: 4608 mov r0, r1
- 8009130: 4661 mov r1, ip
- 8009132: e7ff b.n 8009134 <__aeabi_cfcmpeq>
-
-08009134 <__aeabi_cfcmpeq>:
- 8009134: b50f push {r0, r1, r2, r3, lr}
- 8009136: f7ff ffc9 bl 80090cc <__cmpsf2>
- 800913a: 2800 cmp r0, #0
- 800913c: bf48 it mi
- 800913e: f110 0f00 cmnmi.w r0, #0
- 8009142: bd0f pop {r0, r1, r2, r3, pc}
-
-08009144 <__aeabi_fcmpeq>:
- 8009144: f84d ed08 str.w lr, [sp, #-8]!
- 8009148: f7ff fff4 bl 8009134 <__aeabi_cfcmpeq>
- 800914c: bf0c ite eq
- 800914e: 2001 moveq r0, #1
- 8009150: 2000 movne r0, #0
- 8009152: f85d fb08 ldr.w pc, [sp], #8
- 8009156: bf00 nop
-
-08009158 <__aeabi_fcmplt>:
- 8009158: f84d ed08 str.w lr, [sp, #-8]!
- 800915c: f7ff ffea bl 8009134 <__aeabi_cfcmpeq>
- 8009160: bf34 ite cc
- 8009162: 2001 movcc r0, #1
- 8009164: 2000 movcs r0, #0
- 8009166: f85d fb08 ldr.w pc, [sp], #8
- 800916a: bf00 nop
-
-0800916c <__aeabi_fcmple>:
- 800916c: f84d ed08 str.w lr, [sp, #-8]!
- 8009170: f7ff ffe0 bl 8009134 <__aeabi_cfcmpeq>
- 8009174: bf94 ite ls
- 8009176: 2001 movls r0, #1
- 8009178: 2000 movhi r0, #0
- 800917a: f85d fb08 ldr.w pc, [sp], #8
- 800917e: bf00 nop
-
-08009180 <__aeabi_fcmpge>:
- 8009180: f84d ed08 str.w lr, [sp, #-8]!
- 8009184: f7ff ffd2 bl 800912c <__aeabi_cfrcmple>
- 8009188: bf94 ite ls
- 800918a: 2001 movls r0, #1
- 800918c: 2000 movhi r0, #0
- 800918e: f85d fb08 ldr.w pc, [sp], #8
- 8009192: bf00 nop
-
-08009194 <__aeabi_fcmpgt>:
- 8009194: f84d ed08 str.w lr, [sp, #-8]!
- 8009198: f7ff ffc8 bl 800912c <__aeabi_cfrcmple>
- 800919c: bf34 ite cc
- 800919e: 2001 movcc r0, #1
- 80091a0: 2000 movcs r0, #0
- 80091a2: f85d fb08 ldr.w pc, [sp], #8
- 80091a6: bf00 nop
-
-080091a8 <__aeabi_f2iz>:
- 80091a8: ea4f 0240 mov.w r2, r0, lsl #1
- 80091ac: f1b2 4ffe cmp.w r2, #2130706432 @ 0x7f000000
- 80091b0: d30f bcc.n 80091d2 <__aeabi_f2iz+0x2a>
- 80091b2: f04f 039e mov.w r3, #158 @ 0x9e
- 80091b6: ebb3 6212 subs.w r2, r3, r2, lsr #24
- 80091ba: d90d bls.n 80091d8 <__aeabi_f2iz+0x30>
- 80091bc: ea4f 2300 mov.w r3, r0, lsl #8
- 80091c0: f043 4300 orr.w r3, r3, #2147483648 @ 0x80000000
- 80091c4: f010 4f00 tst.w r0, #2147483648 @ 0x80000000
- 80091c8: fa23 f002 lsr.w r0, r3, r2
- 80091cc: bf18 it ne
- 80091ce: 4240 negne r0, r0
- 80091d0: 4770 bx lr
- 80091d2: f04f 0000 mov.w r0, #0
- 80091d6: 4770 bx lr
- 80091d8: f112 0f61 cmn.w r2, #97 @ 0x61
- 80091dc: d101 bne.n 80091e2 <__aeabi_f2iz+0x3a>
- 80091de: 0242 lsls r2, r0, #9
- 80091e0: d105 bne.n 80091ee <__aeabi_f2iz+0x46>
- 80091e2: f010 4000 ands.w r0, r0, #2147483648 @ 0x80000000
- 80091e6: bf08 it eq
- 80091e8: f06f 4000 mvneq.w r0, #2147483648 @ 0x80000000
- 80091ec: 4770 bx lr
- 80091ee: f04f 0000 mov.w r0, #0
- 80091f2: 4770 bx lr
-
-080091f4 <__aeabi_uldivmod>:
- 80091f4: b953 cbnz r3, 800920c <__aeabi_uldivmod+0x18>
- 80091f6: b94a cbnz r2, 800920c <__aeabi_uldivmod+0x18>
- 80091f8: 2900 cmp r1, #0
- 80091fa: bf08 it eq
- 80091fc: 2800 cmpeq r0, #0
- 80091fe: bf1c itt ne
- 8009200: f04f 31ff movne.w r1, #4294967295
- 8009204: f04f 30ff movne.w r0, #4294967295
- 8009208: f000 b98c b.w 8009524 <__aeabi_idiv0>
- 800920c: f1ad 0c08 sub.w ip, sp, #8
- 8009210: e96d ce04 strd ip, lr, [sp, #-16]!
- 8009214: f000 f806 bl 8009224 <__udivmoddi4>
- 8009218: f8dd e004 ldr.w lr, [sp, #4]
- 800921c: e9dd 2302 ldrd r2, r3, [sp, #8]
- 8009220: b004 add sp, #16
- 8009222: 4770 bx lr
-
-08009224 <__udivmoddi4>:
- 8009224: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8009228: 9d08 ldr r5, [sp, #32]
- 800922a: 468e mov lr, r1
- 800922c: 4604 mov r4, r0
- 800922e: 4688 mov r8, r1
- 8009230: 2b00 cmp r3, #0
- 8009232: d14a bne.n 80092ca <__udivmoddi4+0xa6>
- 8009234: 428a cmp r2, r1
- 8009236: 4617 mov r7, r2
- 8009238: d962 bls.n 8009300 <__udivmoddi4+0xdc>
- 800923a: fab2 f682 clz r6, r2
- 800923e: b14e cbz r6, 8009254 <__udivmoddi4+0x30>
- 8009240: f1c6 0320 rsb r3, r6, #32
- 8009244: fa01 f806 lsl.w r8, r1, r6
- 8009248: fa20 f303 lsr.w r3, r0, r3
- 800924c: 40b7 lsls r7, r6
- 800924e: ea43 0808 orr.w r8, r3, r8
- 8009252: 40b4 lsls r4, r6
- 8009254: ea4f 4e17 mov.w lr, r7, lsr #16
- 8009258: fbb8 f1fe udiv r1, r8, lr
- 800925c: fa1f fc87 uxth.w ip, r7
- 8009260: fb0e 8811 mls r8, lr, r1, r8
- 8009264: fb01 f20c mul.w r2, r1, ip
- 8009268: 0c23 lsrs r3, r4, #16
- 800926a: ea43 4308 orr.w r3, r3, r8, lsl #16
- 800926e: 429a cmp r2, r3
- 8009270: d909 bls.n 8009286 <__udivmoddi4+0x62>
- 8009272: 18fb adds r3, r7, r3
- 8009274: f101 30ff add.w r0, r1, #4294967295
- 8009278: f080 80eb bcs.w 8009452 <__udivmoddi4+0x22e>
- 800927c: 429a cmp r2, r3
- 800927e: f240 80e8 bls.w 8009452 <__udivmoddi4+0x22e>
- 8009282: 3902 subs r1, #2
- 8009284: 443b add r3, r7
- 8009286: 1a9a subs r2, r3, r2
- 8009288: fbb2 f0fe udiv r0, r2, lr
- 800928c: fb0e 2210 mls r2, lr, r0, r2
- 8009290: fb00 fc0c mul.w ip, r0, ip
- 8009294: b2a3 uxth r3, r4
- 8009296: ea43 4302 orr.w r3, r3, r2, lsl #16
- 800929a: 459c cmp ip, r3
- 800929c: d909 bls.n 80092b2 <__udivmoddi4+0x8e>
- 800929e: 18fb adds r3, r7, r3
- 80092a0: f100 32ff add.w r2, r0, #4294967295
- 80092a4: f080 80d7 bcs.w 8009456 <__udivmoddi4+0x232>
- 80092a8: 459c cmp ip, r3
- 80092aa: f240 80d4 bls.w 8009456 <__udivmoddi4+0x232>
- 80092ae: 443b add r3, r7
- 80092b0: 3802 subs r0, #2
- 80092b2: ea40 4001 orr.w r0, r0, r1, lsl #16
- 80092b6: 2100 movs r1, #0
- 80092b8: eba3 030c sub.w r3, r3, ip
- 80092bc: b11d cbz r5, 80092c6 <__udivmoddi4+0xa2>
- 80092be: 2200 movs r2, #0
- 80092c0: 40f3 lsrs r3, r6
- 80092c2: e9c5 3200 strd r3, r2, [r5]
- 80092c6: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 80092ca: 428b cmp r3, r1
- 80092cc: d905 bls.n 80092da <__udivmoddi4+0xb6>
- 80092ce: b10d cbz r5, 80092d4 <__udivmoddi4+0xb0>
- 80092d0: e9c5 0100 strd r0, r1, [r5]
- 80092d4: 2100 movs r1, #0
- 80092d6: 4608 mov r0, r1
- 80092d8: e7f5 b.n 80092c6 <__udivmoddi4+0xa2>
- 80092da: fab3 f183 clz r1, r3
- 80092de: 2900 cmp r1, #0
- 80092e0: d146 bne.n 8009370 <__udivmoddi4+0x14c>
- 80092e2: 4573 cmp r3, lr
- 80092e4: d302 bcc.n 80092ec <__udivmoddi4+0xc8>
- 80092e6: 4282 cmp r2, r0
- 80092e8: f200 8108 bhi.w 80094fc <__udivmoddi4+0x2d8>
- 80092ec: 1a84 subs r4, r0, r2
- 80092ee: eb6e 0203 sbc.w r2, lr, r3
- 80092f2: 2001 movs r0, #1
- 80092f4: 4690 mov r8, r2
- 80092f6: 2d00 cmp r5, #0
- 80092f8: d0e5 beq.n 80092c6 <__udivmoddi4+0xa2>
- 80092fa: e9c5 4800 strd r4, r8, [r5]
- 80092fe: e7e2 b.n 80092c6 <__udivmoddi4+0xa2>
- 8009300: 2a00 cmp r2, #0
- 8009302: f000 8091 beq.w 8009428 <__udivmoddi4+0x204>
- 8009306: fab2 f682 clz r6, r2
- 800930a: 2e00 cmp r6, #0
- 800930c: f040 80a5 bne.w 800945a <__udivmoddi4+0x236>
- 8009310: 1a8a subs r2, r1, r2
- 8009312: 2101 movs r1, #1
- 8009314: 0c03 lsrs r3, r0, #16
- 8009316: ea4f 4e17 mov.w lr, r7, lsr #16
- 800931a: b280 uxth r0, r0
- 800931c: b2bc uxth r4, r7
- 800931e: fbb2 fcfe udiv ip, r2, lr
- 8009322: fb0e 221c mls r2, lr, ip, r2
- 8009326: ea43 4302 orr.w r3, r3, r2, lsl #16
- 800932a: fb04 f20c mul.w r2, r4, ip
- 800932e: 429a cmp r2, r3
- 8009330: d907 bls.n 8009342 <__udivmoddi4+0x11e>
- 8009332: 18fb adds r3, r7, r3
- 8009334: f10c 38ff add.w r8, ip, #4294967295
- 8009338: d202 bcs.n 8009340 <__udivmoddi4+0x11c>
- 800933a: 429a cmp r2, r3
- 800933c: f200 80e3 bhi.w 8009506 <__udivmoddi4+0x2e2>
- 8009340: 46c4 mov ip, r8
- 8009342: 1a9b subs r3, r3, r2
- 8009344: fbb3 f2fe udiv r2, r3, lr
- 8009348: fb0e 3312 mls r3, lr, r2, r3
- 800934c: fb02 f404 mul.w r4, r2, r4
- 8009350: ea40 4303 orr.w r3, r0, r3, lsl #16
- 8009354: 429c cmp r4, r3
- 8009356: d907 bls.n 8009368 <__udivmoddi4+0x144>
- 8009358: 18fb adds r3, r7, r3
- 800935a: f102 30ff add.w r0, r2, #4294967295
- 800935e: d202 bcs.n 8009366 <__udivmoddi4+0x142>
- 8009360: 429c cmp r4, r3
- 8009362: f200 80cd bhi.w 8009500 <__udivmoddi4+0x2dc>
- 8009366: 4602 mov r2, r0
- 8009368: 1b1b subs r3, r3, r4
- 800936a: ea42 400c orr.w r0, r2, ip, lsl #16
- 800936e: e7a5 b.n 80092bc <__udivmoddi4+0x98>
- 8009370: f1c1 0620 rsb r6, r1, #32
- 8009374: 408b lsls r3, r1
- 8009376: fa22 f706 lsr.w r7, r2, r6
- 800937a: 431f orrs r7, r3
- 800937c: fa2e fa06 lsr.w sl, lr, r6
- 8009380: ea4f 4917 mov.w r9, r7, lsr #16
- 8009384: fbba f8f9 udiv r8, sl, r9
- 8009388: fa0e fe01 lsl.w lr, lr, r1
- 800938c: fa20 f306 lsr.w r3, r0, r6
- 8009390: fb09 aa18 mls sl, r9, r8, sl
- 8009394: fa1f fc87 uxth.w ip, r7
- 8009398: ea43 030e orr.w r3, r3, lr
- 800939c: fa00 fe01 lsl.w lr, r0, r1
- 80093a0: fb08 f00c mul.w r0, r8, ip
- 80093a4: 0c1c lsrs r4, r3, #16
- 80093a6: ea44 440a orr.w r4, r4, sl, lsl #16
- 80093aa: 42a0 cmp r0, r4
- 80093ac: fa02 f201 lsl.w r2, r2, r1
- 80093b0: d90a bls.n 80093c8 <__udivmoddi4+0x1a4>
- 80093b2: 193c adds r4, r7, r4
- 80093b4: f108 3aff add.w sl, r8, #4294967295
- 80093b8: f080 809e bcs.w 80094f8 <__udivmoddi4+0x2d4>
- 80093bc: 42a0 cmp r0, r4
- 80093be: f240 809b bls.w 80094f8 <__udivmoddi4+0x2d4>
- 80093c2: f1a8 0802 sub.w r8, r8, #2
- 80093c6: 443c add r4, r7
- 80093c8: 1a24 subs r4, r4, r0
- 80093ca: b298 uxth r0, r3
- 80093cc: fbb4 f3f9 udiv r3, r4, r9
- 80093d0: fb09 4413 mls r4, r9, r3, r4
- 80093d4: fb03 fc0c mul.w ip, r3, ip
- 80093d8: ea40 4404 orr.w r4, r0, r4, lsl #16
- 80093dc: 45a4 cmp ip, r4
- 80093de: d909 bls.n 80093f4 <__udivmoddi4+0x1d0>
- 80093e0: 193c adds r4, r7, r4
- 80093e2: f103 30ff add.w r0, r3, #4294967295
- 80093e6: f080 8085 bcs.w 80094f4 <__udivmoddi4+0x2d0>
- 80093ea: 45a4 cmp ip, r4
- 80093ec: f240 8082 bls.w 80094f4 <__udivmoddi4+0x2d0>
- 80093f0: 3b02 subs r3, #2
- 80093f2: 443c add r4, r7
- 80093f4: ea43 4008 orr.w r0, r3, r8, lsl #16
- 80093f8: eba4 040c sub.w r4, r4, ip
- 80093fc: fba0 8c02 umull r8, ip, r0, r2
- 8009400: 4564 cmp r4, ip
- 8009402: 4643 mov r3, r8
- 8009404: 46e1 mov r9, ip
- 8009406: d364 bcc.n 80094d2 <__udivmoddi4+0x2ae>
- 8009408: d061 beq.n 80094ce <__udivmoddi4+0x2aa>
- 800940a: b15d cbz r5, 8009424 <__udivmoddi4+0x200>
- 800940c: ebbe 0203 subs.w r2, lr, r3
- 8009410: eb64 0409 sbc.w r4, r4, r9
- 8009414: fa04 f606 lsl.w r6, r4, r6
- 8009418: fa22 f301 lsr.w r3, r2, r1
- 800941c: 431e orrs r6, r3
- 800941e: 40cc lsrs r4, r1
- 8009420: e9c5 6400 strd r6, r4, [r5]
- 8009424: 2100 movs r1, #0
- 8009426: e74e b.n 80092c6 <__udivmoddi4+0xa2>
- 8009428: fbb1 fcf2 udiv ip, r1, r2
- 800942c: 0c01 lsrs r1, r0, #16
- 800942e: ea41 410e orr.w r1, r1, lr, lsl #16
- 8009432: b280 uxth r0, r0
- 8009434: ea40 4201 orr.w r2, r0, r1, lsl #16
- 8009438: 463b mov r3, r7
- 800943a: fbb1 f1f7 udiv r1, r1, r7
- 800943e: 4638 mov r0, r7
- 8009440: 463c mov r4, r7
- 8009442: 46b8 mov r8, r7
- 8009444: 46be mov lr, r7
- 8009446: 2620 movs r6, #32
- 8009448: eba2 0208 sub.w r2, r2, r8
- 800944c: ea41 410c orr.w r1, r1, ip, lsl #16
- 8009450: e765 b.n 800931e <__udivmoddi4+0xfa>
- 8009452: 4601 mov r1, r0
- 8009454: e717 b.n 8009286 <__udivmoddi4+0x62>
- 8009456: 4610 mov r0, r2
- 8009458: e72b b.n 80092b2 <__udivmoddi4+0x8e>
- 800945a: f1c6 0120 rsb r1, r6, #32
- 800945e: fa2e fc01 lsr.w ip, lr, r1
- 8009462: 40b7 lsls r7, r6
- 8009464: fa0e fe06 lsl.w lr, lr, r6
- 8009468: fa20 f101 lsr.w r1, r0, r1
- 800946c: ea41 010e orr.w r1, r1, lr
- 8009470: ea4f 4e17 mov.w lr, r7, lsr #16
- 8009474: fbbc f8fe udiv r8, ip, lr
- 8009478: b2bc uxth r4, r7
- 800947a: fb0e cc18 mls ip, lr, r8, ip
- 800947e: fb08 f904 mul.w r9, r8, r4
- 8009482: 0c0a lsrs r2, r1, #16
- 8009484: ea42 420c orr.w r2, r2, ip, lsl #16
- 8009488: 40b0 lsls r0, r6
- 800948a: 4591 cmp r9, r2
- 800948c: ea4f 4310 mov.w r3, r0, lsr #16
- 8009490: b280 uxth r0, r0
- 8009492: d93e bls.n 8009512 <__udivmoddi4+0x2ee>
- 8009494: 18ba adds r2, r7, r2
- 8009496: f108 3cff add.w ip, r8, #4294967295
- 800949a: d201 bcs.n 80094a0 <__udivmoddi4+0x27c>
- 800949c: 4591 cmp r9, r2
- 800949e: d81f bhi.n 80094e0 <__udivmoddi4+0x2bc>
- 80094a0: eba2 0209 sub.w r2, r2, r9
- 80094a4: fbb2 f9fe udiv r9, r2, lr
- 80094a8: fb09 f804 mul.w r8, r9, r4
- 80094ac: fb0e 2a19 mls sl, lr, r9, r2
- 80094b0: b28a uxth r2, r1
- 80094b2: ea42 420a orr.w r2, r2, sl, lsl #16
- 80094b6: 4542 cmp r2, r8
- 80094b8: d229 bcs.n 800950e <__udivmoddi4+0x2ea>
- 80094ba: 18ba adds r2, r7, r2
- 80094bc: f109 31ff add.w r1, r9, #4294967295
- 80094c0: d2c2 bcs.n 8009448 <__udivmoddi4+0x224>
- 80094c2: 4542 cmp r2, r8
- 80094c4: d2c0 bcs.n 8009448 <__udivmoddi4+0x224>
- 80094c6: f1a9 0102 sub.w r1, r9, #2
- 80094ca: 443a add r2, r7
- 80094cc: e7bc b.n 8009448 <__udivmoddi4+0x224>
- 80094ce: 45c6 cmp lr, r8
- 80094d0: d29b bcs.n 800940a <__udivmoddi4+0x1e6>
- 80094d2: ebb8 0302 subs.w r3, r8, r2
- 80094d6: eb6c 0c07 sbc.w ip, ip, r7
- 80094da: 3801 subs r0, #1
- 80094dc: 46e1 mov r9, ip
- 80094de: e794 b.n 800940a <__udivmoddi4+0x1e6>
- 80094e0: eba7 0909 sub.w r9, r7, r9
- 80094e4: 444a add r2, r9
- 80094e6: fbb2 f9fe udiv r9, r2, lr
- 80094ea: f1a8 0c02 sub.w ip, r8, #2
- 80094ee: fb09 f804 mul.w r8, r9, r4
- 80094f2: e7db b.n 80094ac <__udivmoddi4+0x288>
- 80094f4: 4603 mov r3, r0
- 80094f6: e77d b.n 80093f4 <__udivmoddi4+0x1d0>
- 80094f8: 46d0 mov r8, sl
- 80094fa: e765 b.n 80093c8 <__udivmoddi4+0x1a4>
- 80094fc: 4608 mov r0, r1
- 80094fe: e6fa b.n 80092f6 <__udivmoddi4+0xd2>
- 8009500: 443b add r3, r7
- 8009502: 3a02 subs r2, #2
- 8009504: e730 b.n 8009368 <__udivmoddi4+0x144>
- 8009506: f1ac 0c02 sub.w ip, ip, #2
- 800950a: 443b add r3, r7
- 800950c: e719 b.n 8009342 <__udivmoddi4+0x11e>
- 800950e: 4649 mov r1, r9
- 8009510: e79a b.n 8009448 <__udivmoddi4+0x224>
- 8009512: eba2 0209 sub.w r2, r2, r9
- 8009516: fbb2 f9fe udiv r9, r2, lr
- 800951a: 46c4 mov ip, r8
- 800951c: fb09 f804 mul.w r8, r9, r4
- 8009520: e7c4 b.n 80094ac <__udivmoddi4+0x288>
- 8009522: bf00 nop
-
-08009524 <__aeabi_idiv0>:
- 8009524: 4770 bx lr
- 8009526: bf00 nop
-
-08009528 :
-static volatile uint16_t adc_dma_raw[6];
-volatile ADC_ScanData_t adc_data = {0};
-static volatile uint8_t adc_scan_data_ready = 0u;
-
-void ADC_ScanStart(void)
-{
- 8009528: b580 push {r7, lr}
- 800952a: af00 add r7, sp, #0
- if (HAL_ADC_Start_DMA(&hadc1, (uint32_t *)adc_dma_raw, 6u) != HAL_OK)
- 800952c: 2206 movs r2, #6
- 800952e: 4905 ldr r1, [pc, #20] @ (8009544 )
- 8009530: 4805 ldr r0, [pc, #20] @ (8009548 )
- 8009532: f006 f98b bl 800f84c
- 8009536: 4603 mov r3, r0
- 8009538: 2b00 cmp r3, #0
- 800953a: d001 beq.n 8009540
- {
- Error_Handler();
- 800953c: f001 fc3a bl 800adb4
- }
-}
- 8009540: bf00 nop
- 8009542: bd80 pop {r7, pc}
- 8009544: 20000274 .word 0x20000274
- 8009548: 20000290 .word 0x20000290
-
-0800954c :
-
-ISR_FAST void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
-{
- if (hadc->Instance != ADC1)
- 800954c: 4b0e ldr r3, [pc, #56] @ (8009588 )
- 800954e: 6802 ldr r2, [r0, #0]
- 8009550: 429a cmp r2, r3
- 8009552: d118 bne.n 8009586
- adc_data.cp_raw = adc_dma_raw[1];
- adc_data.ntc1_raw = adc_dma_raw[2];
- adc_data.ntc2_raw = adc_dma_raw[3];
- adc_data.temp_sensor_raw = adc_dma_raw[4];
- adc_data.vrefint_raw = adc_dma_raw[5];
- adc_scan_data_ready = 1u;
- 8009554: f04f 0c01 mov.w ip, #1
- adc_data.in3_raw = adc_dma_raw[0];
- 8009558: 4a0c ldr r2, [pc, #48] @ (800958c )
- 800955a: 4b0d ldr r3, [pc, #52] @ (8009590 )
- 800955c: 8811 ldrh r1, [r2, #0]
- adc_scan_data_ready = 1u;
- 800955e: 480d ldr r0, [pc, #52] @ (8009594 )
- adc_data.in3_raw = adc_dma_raw[0];
- 8009560: b289 uxth r1, r1
- 8009562: 8019 strh r1, [r3, #0]
- adc_data.cp_raw = adc_dma_raw[1];
- 8009564: 8851 ldrh r1, [r2, #2]
- 8009566: b289 uxth r1, r1
- 8009568: 8059 strh r1, [r3, #2]
- adc_data.ntc1_raw = adc_dma_raw[2];
- 800956a: 8891 ldrh r1, [r2, #4]
- 800956c: b289 uxth r1, r1
- 800956e: 8099 strh r1, [r3, #4]
- adc_data.ntc2_raw = adc_dma_raw[3];
- 8009570: 88d1 ldrh r1, [r2, #6]
- 8009572: b289 uxth r1, r1
- 8009574: 80d9 strh r1, [r3, #6]
- adc_data.temp_sensor_raw = adc_dma_raw[4];
- 8009576: 8911 ldrh r1, [r2, #8]
- 8009578: b289 uxth r1, r1
- 800957a: 8119 strh r1, [r3, #8]
- adc_data.vrefint_raw = adc_dma_raw[5];
- 800957c: 8952 ldrh r2, [r2, #10]
- 800957e: b292 uxth r2, r2
- 8009580: 815a strh r2, [r3, #10]
- adc_scan_data_ready = 1u;
- 8009582: f880 c000 strb.w ip, [r0]
-}
- 8009586: 4770 bx lr
- 8009588: 40012400 .word 0x40012400
- 800958c: 20000274 .word 0x20000274
- 8009590: 20000280 .word 0x20000280
- 8009594: 2000028c .word 0x2000028c
-
-08009598 :
-ADC_HandleTypeDef hadc1;
-DMA_HandleTypeDef hdma_adc1;
-
-/* ADC1 init function */
-void MX_ADC1_Init(void)
-{
- 8009598: b580 push {r7, lr}
- 800959a: b084 sub sp, #16
- 800959c: af00 add r7, sp, #0
-
- /* USER CODE BEGIN ADC1_Init 0 */
-
- /* USER CODE END ADC1_Init 0 */
-
- ADC_ChannelConfTypeDef sConfig = {0};
- 800959e: 1d3b adds r3, r7, #4
- 80095a0: 2200 movs r2, #0
- 80095a2: 601a str r2, [r3, #0]
- 80095a4: 605a str r2, [r3, #4]
- 80095a6: 609a str r2, [r3, #8]
-
- /* USER CODE END ADC1_Init 1 */
-
- /** Common config
- */
- hadc1.Instance = ADC1;
- 80095a8: 4b3c ldr r3, [pc, #240] @ (800969c )
- 80095aa: 4a3d ldr r2, [pc, #244] @ (80096a0 )
- 80095ac: 601a str r2, [r3, #0]
- hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
- 80095ae: 4b3b ldr r3, [pc, #236] @ (800969c )
- 80095b0: f44f 7280 mov.w r2, #256 @ 0x100
- 80095b4: 609a str r2, [r3, #8]
- hadc1.Init.ContinuousConvMode = DISABLE;
- 80095b6: 4b39 ldr r3, [pc, #228] @ (800969c )
- 80095b8: 2200 movs r2, #0
- 80095ba: 731a strb r2, [r3, #12]
- hadc1.Init.DiscontinuousConvMode = DISABLE;
- 80095bc: 4b37 ldr r3, [pc, #220] @ (800969c )
- 80095be: 2200 movs r2, #0
- 80095c0: 751a strb r2, [r3, #20]
- hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T3_TRGO;
- 80095c2: 4b36 ldr r3, [pc, #216] @ (800969c )
- 80095c4: f44f 2200 mov.w r2, #524288 @ 0x80000
- 80095c8: 61da str r2, [r3, #28]
- hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
- 80095ca: 4b34 ldr r3, [pc, #208] @ (800969c )
- 80095cc: 2200 movs r2, #0
- 80095ce: 605a str r2, [r3, #4]
- hadc1.Init.NbrOfConversion = 6;
- 80095d0: 4b32 ldr r3, [pc, #200] @ (800969c )
- 80095d2: 2206 movs r2, #6
- 80095d4: 611a str r2, [r3, #16]
- if (HAL_ADC_Init(&hadc1) != HAL_OK)
- 80095d6: 4831 ldr r0, [pc, #196] @ (800969c )
- 80095d8: f006 f860 bl 800f69c
- 80095dc: 4603 mov r3, r0
- 80095de: 2b00 cmp r3, #0
- 80095e0: d001 beq.n 80095e6
- {
- Error_Handler();
- 80095e2: f001 fbe7 bl 800adb4
- }
-
- /** Configure Regular Channel
- */
- sConfig.Channel = ADC_CHANNEL_3;
- 80095e6: 2303 movs r3, #3
- 80095e8: 607b str r3, [r7, #4]
- sConfig.Rank = ADC_REGULAR_RANK_1;
- 80095ea: 2301 movs r3, #1
- 80095ec: 60bb str r3, [r7, #8]
- sConfig.SamplingTime = ADC_SAMPLETIME_41CYCLES_5;
- 80095ee: 2304 movs r3, #4
- 80095f0: 60fb str r3, [r7, #12]
- if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
- 80095f2: 1d3b adds r3, r7, #4
- 80095f4: 4619 mov r1, r3
- 80095f6: 4829 ldr r0, [pc, #164] @ (800969c )
- 80095f8: f006 fae0 bl 800fbbc
- 80095fc: 4603 mov r3, r0
- 80095fe: 2b00 cmp r3, #0
- 8009600: d001 beq.n 8009606
- {
- Error_Handler();
- 8009602: f001 fbd7 bl 800adb4
- }
-
- /** Configure Regular Channel
- */
- sConfig.Channel = ADC_CHANNEL_4;
- 8009606: 2304 movs r3, #4
- 8009608: 607b str r3, [r7, #4]
- sConfig.Rank = ADC_REGULAR_RANK_2;
- 800960a: 2302 movs r3, #2
- 800960c: 60bb str r3, [r7, #8]
- if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
- 800960e: 1d3b adds r3, r7, #4
- 8009610: 4619 mov r1, r3
- 8009612: 4822 ldr r0, [pc, #136] @ (800969c )
- 8009614: f006 fad2 bl 800fbbc
- 8009618: 4603 mov r3, r0
- 800961a: 2b00 cmp r3, #0
- 800961c: d001 beq.n 8009622
- {
- Error_Handler();
- 800961e: f001 fbc9 bl 800adb4
- }
-
- /** Configure Regular Channel
- */
- sConfig.Channel = ADC_CHANNEL_8;
- 8009622: 2308 movs r3, #8
- 8009624: 607b str r3, [r7, #4]
- sConfig.Rank = ADC_REGULAR_RANK_3;
- 8009626: 2303 movs r3, #3
- 8009628: 60bb str r3, [r7, #8]
- if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
- 800962a: 1d3b adds r3, r7, #4
- 800962c: 4619 mov r1, r3
- 800962e: 481b ldr r0, [pc, #108] @ (800969c )
- 8009630: f006 fac4 bl 800fbbc
- 8009634: 4603 mov r3, r0
- 8009636: 2b00 cmp r3, #0
- 8009638: d001 beq.n 800963e
- {
- Error_Handler();
- 800963a: f001 fbbb bl 800adb4
- }
-
- /** Configure Regular Channel
- */
- sConfig.Channel = ADC_CHANNEL_9;
- 800963e: 2309 movs r3, #9
- 8009640: 607b str r3, [r7, #4]
- sConfig.Rank = ADC_REGULAR_RANK_4;
- 8009642: 2304 movs r3, #4
- 8009644: 60bb str r3, [r7, #8]
- if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
- 8009646: 1d3b adds r3, r7, #4
- 8009648: 4619 mov r1, r3
- 800964a: 4814 ldr r0, [pc, #80] @ (800969c )
- 800964c: f006 fab6 bl 800fbbc
- 8009650: 4603 mov r3, r0
- 8009652: 2b00 cmp r3, #0
- 8009654: d001 beq.n 800965a
- {
- Error_Handler();
- 8009656: f001 fbad bl 800adb4
- }
-
- /** Configure Regular Channel
- */
- sConfig.Channel = ADC_CHANNEL_TEMPSENSOR;
- 800965a: 2310 movs r3, #16
- 800965c: 607b str r3, [r7, #4]
- sConfig.Rank = ADC_REGULAR_RANK_5;
- 800965e: 2305 movs r3, #5
- 8009660: 60bb str r3, [r7, #8]
- if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
- 8009662: 1d3b adds r3, r7, #4
- 8009664: 4619 mov r1, r3
- 8009666: 480d ldr r0, [pc, #52] @ (800969c )
- 8009668: f006 faa8 bl 800fbbc
- 800966c: 4603 mov r3, r0
- 800966e: 2b00 cmp r3, #0
- 8009670: d001 beq.n 8009676
- {
- Error_Handler();
- 8009672: f001 fb9f bl 800adb4
- }
-
- /** Configure Regular Channel
- */
- sConfig.Channel = ADC_CHANNEL_VREFINT;
- 8009676: 2311 movs r3, #17
- 8009678: 607b str r3, [r7, #4]
- sConfig.Rank = ADC_REGULAR_RANK_6;
- 800967a: 2306 movs r3, #6
- 800967c: 60bb str r3, [r7, #8]
- if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
- 800967e: 1d3b adds r3, r7, #4
- 8009680: 4619 mov r1, r3
- 8009682: 4806 ldr r0, [pc, #24] @ (800969c )
- 8009684: f006 fa9a bl 800fbbc
- 8009688: 4603 mov r3, r0
- 800968a: 2b00 cmp r3, #0
- 800968c: d001 beq.n 8009692
- {
- Error_Handler();
- 800968e: f001 fb91 bl 800adb4
- }
- /* USER CODE BEGIN ADC1_Init 2 */
-
- /* USER CODE END ADC1_Init 2 */
-
-}
- 8009692: bf00 nop
- 8009694: 3710 adds r7, #16
- 8009696: 46bd mov sp, r7
- 8009698: bd80 pop {r7, pc}
- 800969a: bf00 nop
- 800969c: 20000290 .word 0x20000290
- 80096a0: 40012400 .word 0x40012400
-
-080096a4 :
-
-void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
-{
- 80096a4: b580 push {r7, lr}
- 80096a6: b08a sub sp, #40 @ 0x28
- 80096a8: af00 add r7, sp, #0
- 80096aa: 6078 str r0, [r7, #4]
-
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- 80096ac: f107 0318 add.w r3, r7, #24
- 80096b0: 2200 movs r2, #0
- 80096b2: 601a str r2, [r3, #0]
- 80096b4: 605a str r2, [r3, #4]
- 80096b6: 609a str r2, [r3, #8]
- 80096b8: 60da str r2, [r3, #12]
- if(adcHandle->Instance==ADC1)
- 80096ba: 687b ldr r3, [r7, #4]
- 80096bc: 681b ldr r3, [r3, #0]
- 80096be: 4a38 ldr r2, [pc, #224] @ (80097a0 )
- 80096c0: 4293 cmp r3, r2
- 80096c2: d168 bne.n 8009796
- {
- /* USER CODE BEGIN ADC1_MspInit 0 */
-
- /* USER CODE END ADC1_MspInit 0 */
- /* ADC1 clock enable */
- __HAL_RCC_ADC1_CLK_ENABLE();
- 80096c4: 4b37 ldr r3, [pc, #220] @ (80097a4 )
- 80096c6: 699b ldr r3, [r3, #24]
- 80096c8: 4a36 ldr r2, [pc, #216] @ (80097a4 )
- 80096ca: f443 7300 orr.w r3, r3, #512 @ 0x200
- 80096ce: 6193 str r3, [r2, #24]
- 80096d0: 4b34 ldr r3, [pc, #208] @ (80097a4 )
- 80096d2: 699b ldr r3, [r3, #24]
- 80096d4: f403 7300 and.w r3, r3, #512 @ 0x200
- 80096d8: 617b str r3, [r7, #20]
- 80096da: 697b ldr r3, [r7, #20]
-
- __HAL_RCC_GPIOA_CLK_ENABLE();
- 80096dc: 4b31 ldr r3, [pc, #196] @ (80097a4 )
- 80096de: 699b ldr r3, [r3, #24]
- 80096e0: 4a30 ldr r2, [pc, #192] @ (80097a4 )
- 80096e2: f043 0304 orr.w r3, r3, #4
- 80096e6: 6193 str r3, [r2, #24]
- 80096e8: 4b2e ldr r3, [pc, #184] @ (80097a4 )
- 80096ea: 699b ldr r3, [r3, #24]
- 80096ec: f003 0304 and.w r3, r3, #4
- 80096f0: 613b str r3, [r7, #16]
- 80096f2: 693b ldr r3, [r7, #16]
- __HAL_RCC_GPIOB_CLK_ENABLE();
- 80096f4: 4b2b ldr r3, [pc, #172] @ (80097a4 )
- 80096f6: 699b ldr r3, [r3, #24]
- 80096f8: 4a2a ldr r2, [pc, #168] @ (80097a4 )
- 80096fa: f043 0308 orr.w r3, r3, #8
- 80096fe: 6193 str r3, [r2, #24]
- 8009700: 4b28 ldr r3, [pc, #160] @ (80097a4 )
- 8009702: 699b ldr r3, [r3, #24]
- 8009704: f003 0308 and.w r3, r3, #8
- 8009708: 60fb str r3, [r7, #12]
- 800970a: 68fb ldr r3, [r7, #12]
- PA3 ------> ADC1_IN3
- PA4 ------> ADC1_IN4
- PB0 ------> ADC1_IN8
- PB1 ------> ADC1_IN9
- */
- GPIO_InitStruct.Pin = GPIO_PIN_3|CP_ADC_Pin;
- 800970c: 2318 movs r3, #24
- 800970e: 61bb str r3, [r7, #24]
- GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
- 8009710: 2303 movs r3, #3
- 8009712: 61fb str r3, [r7, #28]
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- 8009714: f107 0318 add.w r3, r7, #24
- 8009718: 4619 mov r1, r3
- 800971a: 4823 ldr r0, [pc, #140] @ (80097a8 )
- 800971c: f008 f98c bl 8011a38
-
- GPIO_InitStruct.Pin = ADC_NTC1_Pin|ADC_NTC2_Pin;
- 8009720: 2303 movs r3, #3
- 8009722: 61bb str r3, [r7, #24]
- GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
- 8009724: 2303 movs r3, #3
- 8009726: 61fb str r3, [r7, #28]
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
- 8009728: f107 0318 add.w r3, r7, #24
- 800972c: 4619 mov r1, r3
- 800972e: 481f ldr r0, [pc, #124] @ (80097ac )
- 8009730: f008 f982 bl 8011a38
-
- /* ADC1 DMA Init */
- /* ADC1 Init */
- hdma_adc1.Instance = DMA1_Channel1;
- 8009734: 4b1e ldr r3, [pc, #120] @ (80097b0 )
- 8009736: 4a1f ldr r2, [pc, #124] @ (80097b4 )
- 8009738: 601a str r2, [r3, #0]
- hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY;
- 800973a: 4b1d ldr r3, [pc, #116] @ (80097b0 )
- 800973c: 2200 movs r2, #0
- 800973e: 605a str r2, [r3, #4]
- hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE;
- 8009740: 4b1b ldr r3, [pc, #108] @ (80097b0 )
- 8009742: 2200 movs r2, #0
- 8009744: 609a str r2, [r3, #8]
- hdma_adc1.Init.MemInc = DMA_MINC_ENABLE;
- 8009746: 4b1a ldr r3, [pc, #104] @ (80097b0 )
- 8009748: 2280 movs r2, #128 @ 0x80
- 800974a: 60da str r2, [r3, #12]
- hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
- 800974c: 4b18 ldr r3, [pc, #96] @ (80097b0 )
- 800974e: f44f 7280 mov.w r2, #256 @ 0x100
- 8009752: 611a str r2, [r3, #16]
- hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
- 8009754: 4b16 ldr r3, [pc, #88] @ (80097b0 )
- 8009756: f44f 6280 mov.w r2, #1024 @ 0x400
- 800975a: 615a str r2, [r3, #20]
- hdma_adc1.Init.Mode = DMA_CIRCULAR;
- 800975c: 4b14 ldr r3, [pc, #80] @ (80097b0 )
- 800975e: 2220 movs r2, #32
- 8009760: 619a str r2, [r3, #24]
- hdma_adc1.Init.Priority = DMA_PRIORITY_MEDIUM;
- 8009762: 4b13 ldr r3, [pc, #76] @ (80097b0 )
- 8009764: f44f 5280 mov.w r2, #4096 @ 0x1000
- 8009768: 61da str r2, [r3, #28]
- if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
- 800976a: 4811 ldr r0, [pc, #68] @ (80097b0 )
- 800976c: f007 fcd6 bl 801111c
- 8009770: 4603 mov r3, r0
- 8009772: 2b00 cmp r3, #0
- 8009774: d001 beq.n 800977a
- {
- Error_Handler();
- 8009776: f001 fb1d bl 800adb4
- }
-
- __HAL_LINKDMA(adcHandle,DMA_Handle,hdma_adc1);
- 800977a: 687b ldr r3, [r7, #4]
- 800977c: 4a0c ldr r2, [pc, #48] @ (80097b0 )
- 800977e: 621a str r2, [r3, #32]
- 8009780: 4a0b ldr r2, [pc, #44] @ (80097b0 )
- 8009782: 687b ldr r3, [r7, #4]
- 8009784: 6253 str r3, [r2, #36] @ 0x24
-
- /* ADC1 interrupt Init */
- HAL_NVIC_SetPriority(ADC1_2_IRQn, 7, 0);
- 8009786: 2200 movs r2, #0
- 8009788: 2107 movs r1, #7
- 800978a: 2012 movs r0, #18
- 800978c: f007 fc73 bl 8011076
- HAL_NVIC_EnableIRQ(ADC1_2_IRQn);
- 8009790: 2012 movs r0, #18
- 8009792: f007 fc8c bl 80110ae
- /* USER CODE BEGIN ADC1_MspInit 1 */
-
- /* USER CODE END ADC1_MspInit 1 */
- }
-}
- 8009796: bf00 nop
- 8009798: 3728 adds r7, #40 @ 0x28
- 800979a: 46bd mov sp, r7
- 800979c: bd80 pop {r7, pc}
- 800979e: bf00 nop
- 80097a0: 40012400 .word 0x40012400
- 80097a4: 40021000 .word 0x40021000
- 80097a8: 40010800 .word 0x40010800
- 80097ac: 40010c00 .word 0x40010c00
- 80097b0: 200002c0 .word 0x200002c0
- 80097b4: 40020008 .word 0x40020008
-
-080097b8 :
-
-uint8_t RELAY_State[RELAY_COUNT];
-static volatile uint8_t adc_lock = 0;
-static SMAFilter_t conn_temp_adc_filter[2];
-
-void RELAY_Write(relay_t num, uint8_t state){
- 80097b8: b580 push {r7, lr}
- 80097ba: b082 sub sp, #8
- 80097bc: af00 add r7, sp, #0
- 80097be: 4603 mov r3, r0
- 80097c0: 460a mov r2, r1
- 80097c2: 71fb strb r3, [r7, #7]
- 80097c4: 4613 mov r3, r2
- 80097c6: 71bb strb r3, [r7, #6]
- switch (num) {
- 80097c8: 79fb ldrb r3, [r7, #7]
- 80097ca: 2b07 cmp r3, #7
- 80097cc: d850 bhi.n 8009870
- 80097ce: a201 add r2, pc, #4 @ (adr r2, 80097d4 )
- 80097d0: f852 f023 ldr.w pc, [r2, r3, lsl #2]
- 80097d4: 080097f5 .word 0x080097f5
- 80097d8: 08009805 .word 0x08009805
- 80097dc: 08009815 .word 0x08009815
- 80097e0: 08009825 .word 0x08009825
- 80097e4: 08009835 .word 0x08009835
- 80097e8: 08009845 .word 0x08009845
- 80097ec: 08009853 .word 0x08009853
- 80097f0: 08009863 .word 0x08009863
- case RELAY_AUX0:
- HAL_GPIO_WritePin(RELAY1_GPIO_Port, RELAY1_Pin, state);
- 80097f4: 79bb ldrb r3, [r7, #6]
- 80097f6: 461a mov r2, r3
- 80097f8: f44f 7180 mov.w r1, #256 @ 0x100
- 80097fc: 4821 ldr r0, [pc, #132] @ (8009884 )
- 80097fe: f008 fab6 bl 8011d6e
- break;
- 8009802: e036 b.n 8009872
- case RELAY_AUX1:
- HAL_GPIO_WritePin(RELAY2_GPIO_Port, RELAY2_Pin, state);
- 8009804: 79bb ldrb r3, [r7, #6]
- 8009806: 461a mov r2, r3
- 8009808: f44f 7100 mov.w r1, #512 @ 0x200
- 800980c: 481d ldr r0, [pc, #116] @ (8009884 )
- 800980e: f008 faae bl 8011d6e
- break;
- 8009812: e02e b.n 8009872
- case RELAY3:
- HAL_GPIO_WritePin(RELAY3_GPIO_Port, RELAY3_Pin, state);
- 8009814: 79bb ldrb r3, [r7, #6]
- 8009816: 461a mov r2, r3
- 8009818: f44f 6180 mov.w r1, #1024 @ 0x400
- 800981c: 4819 ldr r0, [pc, #100] @ (8009884 )
- 800981e: f008 faa6 bl 8011d6e
- break;
- 8009822: e026 b.n 8009872
- case RELAY_DC:
- HAL_GPIO_WritePin(RELAY4_GPIO_Port, RELAY4_Pin, state);
- 8009824: 79bb ldrb r3, [r7, #6]
- 8009826: 461a mov r2, r3
- 8009828: f44f 6100 mov.w r1, #2048 @ 0x800
- 800982c: 4815 ldr r0, [pc, #84] @ (8009884 )
- 800982e: f008 fa9e bl 8011d6e
- break;
- 8009832: e01e b.n 8009872
- case RELAY_AC:
- HAL_GPIO_WritePin(RELAY5_GPIO_Port, RELAY5_Pin, state);
- 8009834: 79bb ldrb r3, [r7, #6]
- 8009836: 461a mov r2, r3
- 8009838: f44f 5180 mov.w r1, #4096 @ 0x1000
- 800983c: 4811 ldr r0, [pc, #68] @ (8009884 )
- 800983e: f008 fa96 bl 8011d6e
- break;
- 8009842: e016 b.n 8009872
- case RELAY_CP:
- HAL_GPIO_WritePin(RELAY_CP_GPIO_Port, RELAY_CP_Pin, state);
- 8009844: 79bb ldrb r3, [r7, #6]
- 8009846: 461a mov r2, r3
- 8009848: 2108 movs r1, #8
- 800984a: 480f ldr r0, [pc, #60] @ (8009888 )
- 800984c: f008 fa8f bl 8011d6e
- break;
- 8009850: e00f b.n 8009872
- case RELAY_CC:
- HAL_GPIO_WritePin(RELAY_CC_GPIO_Port, RELAY_CC_Pin, state);
- 8009852: 79bb ldrb r3, [r7, #6]
- 8009854: 461a mov r2, r3
- 8009856: f44f 4100 mov.w r1, #32768 @ 0x8000
- 800985a: 480c ldr r0, [pc, #48] @ (800988c )
- 800985c: f008 fa87 bl 8011d6e
- break;
- 8009860: e007 b.n 8009872
- case RELAY_DC1:
- HAL_GPIO_WritePin(RELAY_DC_GPIO_Port, RELAY_DC_Pin, state);
- 8009862: 79bb ldrb r3, [r7, #6]
- 8009864: 461a mov r2, r3
- 8009866: 2108 movs r1, #8
- 8009868: 4809 ldr r0, [pc, #36] @ (8009890 )
- 800986a: f008 fa80 bl 8011d6e
- break;
- 800986e: e000 b.n 8009872
- default:
- break;
- 8009870: bf00 nop
- }
-
- RELAY_State[num] = state;
- 8009872: 79fb ldrb r3, [r7, #7]
- 8009874: 4907 ldr r1, [pc, #28] @ (8009894 )
- 8009876: 79ba ldrb r2, [r7, #6]
- 8009878: 54ca strb r2, [r1, r3]
-}
- 800987a: bf00 nop
- 800987c: 3708 adds r7, #8
- 800987e: 46bd mov sp, r7
- 8009880: bd80 pop {r7, pc}
- 8009882: bf00 nop
- 8009884: 40011800 .word 0x40011800
- 8009888: 40011000 .word 0x40011000
- 800988c: 40010800 .word 0x40010800
- 8009890: 40011400 .word 0x40011400
- 8009894: 20000304 .word 0x20000304
-
-08009898 :
-
-uint8_t RELAY_Read(relay_t num){
- 8009898: b480 push {r7}
- 800989a: b083 sub sp, #12
- 800989c: af00 add r7, sp, #0
- 800989e: 4603 mov r3, r0
- 80098a0: 71fb strb r3, [r7, #7]
- return RELAY_State[num];
- 80098a2: 79fb ldrb r3, [r7, #7]
- 80098a4: 4a03 ldr r2, [pc, #12] @ (80098b4 )
- 80098a6: 5cd3 ldrb r3, [r2, r3]
-}
- 80098a8: 4618 mov r0, r3
- 80098aa: 370c adds r7, #12
- 80098ac: 46bd mov sp, r7
- 80098ae: bc80 pop {r7}
- 80098b0: 4770 bx lr
- 80098b2: bf00 nop
- 80098b4: 20000304 .word 0x20000304
-
-080098b8 :
-
-
-uint8_t IN_ReadInput(inputNum_t input_n){
- 80098b8: b580 push {r7, lr}
- 80098ba: b082 sub sp, #8
- 80098bc: af00 add r7, sp, #0
- 80098be: 4603 mov r3, r0
- 80098c0: 71fb strb r3, [r7, #7]
- switch(input_n){
- 80098c2: 79fb ldrb r3, [r7, #7]
- 80098c4: 2b06 cmp r3, #6
- 80098c6: d83b bhi.n 8009940
- 80098c8: a201 add r2, pc, #4 @ (adr r2, 80098d0 )
- 80098ca: f852 f023 ldr.w pc, [r2, r3, lsl #2]
- 80098ce: bf00 nop
- 80098d0: 080098ed .word 0x080098ed
- 80098d4: 080098f9 .word 0x080098f9
- 80098d8: 08009905 .word 0x08009905
- 80098dc: 08009911 .word 0x08009911
- 80098e0: 0800991d .word 0x0800991d
- 80098e4: 08009929 .word 0x08009929
- 80098e8: 08009935 .word 0x08009935
- case IN_SW0:
- return HAL_GPIO_ReadPin(IN_SW0_GPIO_Port, IN_SW0_Pin);
- 80098ec: 2102 movs r1, #2
- 80098ee: 4817 ldr r0, [pc, #92] @ (800994c )
- 80098f0: f008 fa26 bl 8011d40
- 80098f4: 4603 mov r3, r0
- 80098f6: e024 b.n 8009942
- case IN_SW1:
- return HAL_GPIO_ReadPin(IN_SW1_GPIO_Port, IN_SW1_Pin);
- 80098f8: 2104 movs r1, #4
- 80098fa: 4814 ldr r0, [pc, #80] @ (800994c )
- 80098fc: f008 fa20 bl 8011d40
- 8009900: 4603 mov r3, r0
- 8009902: e01e b.n 8009942
- case IN0:
- return HAL_GPIO_ReadPin(IN0_GPIO_Port, IN0_Pin);
- 8009904: 2180 movs r1, #128 @ 0x80
- 8009906: 4812 ldr r0, [pc, #72] @ (8009950 )
- 8009908: f008 fa1a bl 8011d40
- 800990c: 4603 mov r3, r0
- 800990e: e018 b.n 8009942
- case IN_ESTOP:
- return HAL_GPIO_ReadPin(IN_ESTOP_GPIO_Port, IN_ESTOP_Pin);
- 8009910: 2180 movs r1, #128 @ 0x80
- 8009912: 4810 ldr r0, [pc, #64] @ (8009954 )
- 8009914: f008 fa14 bl 8011d40
- 8009918: 4603 mov r3, r0
- 800991a: e012 b.n 8009942
- case IN_FB1:
- return HAL_GPIO_ReadPin(IN_FB1_GPIO_Port, IN_FB1_Pin);
- 800991c: 2110 movs r1, #16
- 800991e: 480e ldr r0, [pc, #56] @ (8009958 )
- 8009920: f008 fa0e bl 8011d40
- 8009924: 4603 mov r3, r0
- 8009926: e00c b.n 8009942
- case IN_CONT_FB_DC:
- return HAL_GPIO_ReadPin(IN_FB2_GPIO_Port, IN_FB2_Pin);
- 8009928: 2108 movs r1, #8
- 800992a: 480b ldr r0, [pc, #44] @ (8009958 )
- 800992c: f008 fa08 bl 8011d40
- 8009930: 4603 mov r3, r0
- 8009932: e006 b.n 8009942
- case ISO_IN:
- return HAL_GPIO_ReadPin(ISO_IN_GPIO_Port, ISO_IN_Pin);
- 8009934: 2102 movs r1, #2
- 8009936: 4806 ldr r0, [pc, #24] @ (8009950 )
- 8009938: f008 fa02 bl 8011d40
- 800993c: 4603 mov r3, r0
- 800993e: e000 b.n 8009942
- default:
- return 0;
- 8009940: 2300 movs r3, #0
- }
-}
- 8009942: 4618 mov r0, r3
- 8009944: 3708 adds r7, #8
- 8009946: 46bd mov sp, r7
- 8009948: bd80 pop {r7, pc}
- 800994a: bf00 nop
- 800994c: 40010800 .word 0x40010800
- 8009950: 40011800 .word 0x40011800
- 8009954: 40011400 .word 0x40011400
- 8009958: 40010c00 .word 0x40010c00
-
-0800995c :
-/**
- * @brief Force PC12 (HEATER) as GPIO output via CRH/ODR, overriding UART5 MspInit.
- * CubeMX assigns PC12 to UART5_TX; on the board it drives the heater relay.
- */
-static void Heater_PinForceOutput(void)
-{
- 800995c: b480 push {r7}
- 800995e: b083 sub sp, #12
- 8009960: af00 add r7, sp, #0
- const uint32_t pin_cfg = GPIO_SPEED_FREQ_LOW; /* MODE=10, CNF=00: GP output PP, 2 MHz */
- 8009962: 2302 movs r3, #2
- 8009964: 607b str r3, [r7, #4]
-
- __HAL_RCC_GPIOC_CLK_ENABLE();
- 8009966: 4b0f ldr r3, [pc, #60] @ (80099a4 )
- 8009968: 699b ldr r3, [r3, #24]
- 800996a: 4a0e ldr r2, [pc, #56] @ (80099a4 )
- 800996c: f043 0310 orr.w r3, r3, #16
- 8009970: 6193 str r3, [r2, #24]
- 8009972: 4b0c ldr r3, [pc, #48] @ (80099a4 )
- 8009974: 699b ldr r3, [r3, #24]
- 8009976: f003 0310 and.w r3, r3, #16
- 800997a: 603b str r3, [r7, #0]
- 800997c: 683b ldr r3, [r7, #0]
-
- MODIFY_REG(HEATER_GPIO_Port->CRH,
- 800997e: 4b0a ldr r3, [pc, #40] @ (80099a8 )
- 8009980: 685b ldr r3, [r3, #4]
- 8009982: f423 2270 bic.w r2, r3, #983040 @ 0xf0000
- 8009986: 687b ldr r3, [r7, #4]
- 8009988: 041b lsls r3, r3, #16
- 800998a: 4907 ldr r1, [pc, #28] @ (80099a8 )
- 800998c: 4313 orrs r3, r2
- 800998e: 604b str r3, [r1, #4]
- (GPIO_CRH_MODE12 | GPIO_CRH_CNF12),
- (pin_cfg << GPIO_CRH_MODE12_Pos));
-
- HEATER_GPIO_Port->BSRR = (uint32_t)HEATER_Pin << 16U;
- 8009990: 4b05 ldr r3, [pc, #20] @ (80099a8 )
- 8009992: f04f 5280 mov.w r2, #268435456 @ 0x10000000
- 8009996: 611a str r2, [r3, #16]
-}
- 8009998: bf00 nop
- 800999a: 370c adds r7, #12
- 800999c: 46bd mov sp, r7
- 800999e: bc80 pop {r7}
- 80099a0: 4770 bx lr
- 80099a2: bf00 nop
- 80099a4: 40021000 .word 0x40021000
- 80099a8: 40011000 .word 0x40011000
-
-080099ac :
-
-void Init_Peripheral(){
- 80099ac: b580 push {r7, lr}
- 80099ae: af00 add r7, sp, #0
- Heater_PinForceOutput();
- 80099b0: f7ff ffd4 bl 800995c
- HAL_GPIO_WritePin(HEATER_GPIO_Port, HEATER_Pin, GPIO_PIN_RESET);
- 80099b4: 2200 movs r2, #0
- 80099b6: f44f 5180 mov.w r1, #4096 @ 0x1000
- 80099ba: 4818 ldr r0, [pc, #96] @ (8009a1c )
- 80099bc: f008 f9d7 bl 8011d6e
- HAL_ADCEx_Calibration_Start(&hadc1);
- 80099c0: 4817 ldr r0, [pc, #92] @ (8009a20 )
- 80099c2: f006 faf5 bl 800ffb0
- ADC_ScanStart();
- 80099c6: f7ff fdaf bl 8009528
-
- RELAY_Write(RELAY_AUX0, 0);
- 80099ca: 2100 movs r1, #0
- 80099cc: 2000 movs r0, #0
- 80099ce: f7ff fef3 bl 80097b8
- RELAY_Write(RELAY_AUX1, 0);
- 80099d2: 2100 movs r1, #0
- 80099d4: 2001 movs r0, #1
- 80099d6: f7ff feef bl 80097b8
- RELAY_Write(RELAY3, 0);
- 80099da: 2100 movs r1, #0
- 80099dc: 2002 movs r0, #2
- 80099de: f7ff feeb bl 80097b8
- RELAY_Write(RELAY_DC, 0);
- 80099e2: 2100 movs r1, #0
- 80099e4: 2003 movs r0, #3
- 80099e6: f7ff fee7 bl 80097b8
- RELAY_Write(RELAY_AC, 0);
- 80099ea: 2100 movs r1, #0
- 80099ec: 2004 movs r0, #4
- 80099ee: f7ff fee3 bl 80097b8
- RELAY_Write(RELAY_CP, 0);
- 80099f2: 2100 movs r1, #0
- 80099f4: 2005 movs r0, #5
- 80099f6: f7ff fedf bl 80097b8
- RELAY_Write(RELAY_CC, 0);
- 80099fa: 2100 movs r1, #0
- 80099fc: 2006 movs r0, #6
- 80099fe: f7ff fedb bl 80097b8
- RELAY_Write(RELAY_DC1, 0);
- 8009a02: 2100 movs r1, #0
- 8009a04: 2007 movs r0, #7
- 8009a06: f7ff fed7 bl 80097b8
-
- SMAFilter_Init(&conn_temp_adc_filter[0]);
- 8009a0a: 4806 ldr r0, [pc, #24] @ (8009a24 )
- 8009a0c: f004 fece bl 800e7ac
- SMAFilter_Init(&conn_temp_adc_filter[1]);
- 8009a10: 4805 ldr r0, [pc, #20] @ (8009a28 )
- 8009a12: f004 fecb bl 800e7ac
-}
- 8009a16: bf00 nop
- 8009a18: bd80 pop {r7, pc}
- 8009a1a: bf00 nop
- 8009a1c: 40011000 .word 0x40011000
- 8009a20: 20000290 .word 0x20000290
- 8009a24: 2000030c .word 0x2000030c
- 8009a28: 20000334 .word 0x20000334
-
-08009a2c :
-
-float pt1000_to_temperature(float resistance) {
- 8009a2c: b590 push {r4, r7, lr}
- 8009a2e: b087 sub sp, #28
- 8009a30: af00 add r7, sp, #0
- 8009a32: 6078 str r0, [r7, #4]
- // Константы для PT1000
- const float R0 = 1000.0; // Сопротивление при 0 °C
- 8009a34: 4b0c ldr r3, [pc, #48] @ (8009a68 )
- 8009a36: 617b str r3, [r7, #20]
- const float C_A = 3.9083E-3f;
- 8009a38: 4b0c ldr r3, [pc, #48] @ (8009a6c )
- 8009a3a: 613b str r3, [r7, #16]
-
- float temperature = (resistance-R0) / ( R0 * C_A);
- 8009a3c: 6979 ldr r1, [r7, #20]
- 8009a3e: 6878 ldr r0, [r7, #4]
- 8009a40: f7ff f8e2 bl 8008c08 <__aeabi_fsub>
- 8009a44: 4603 mov r3, r0
- 8009a46: 461c mov r4, r3
- 8009a48: 6939 ldr r1, [r7, #16]
- 8009a4a: 6978 ldr r0, [r7, #20]
- 8009a4c: f7ff f9e6 bl 8008e1c <__aeabi_fmul>
- 8009a50: 4603 mov r3, r0
- 8009a52: 4619 mov r1, r3
- 8009a54: 4620 mov r0, r4
- 8009a56: f7ff fa95 bl 8008f84 <__aeabi_fdiv>
- 8009a5a: 4603 mov r3, r0
- 8009a5c: 60fb str r3, [r7, #12]
-
- return temperature;
- 8009a5e: 68fb ldr r3, [r7, #12]
-}
- 8009a60: 4618 mov r0, r3
- 8009a62: 371c adds r7, #28
- 8009a64: 46bd mov sp, r7
- 8009a66: bd90 pop {r4, r7, pc}
- 8009a68: 447a0000 .word 0x447a0000
- 8009a6c: 3b801132 .word 0x3b801132
-
-08009a70 :
-
-
-float calculate_NTC_resistance(int adc_value, float Vref, float Vin, float R) {
- 8009a70: b5b0 push {r4, r5, r7, lr}
- 8009a72: b086 sub sp, #24
- 8009a74: af00 add r7, sp, #0
- 8009a76: 60f8 str r0, [r7, #12]
- 8009a78: 60b9 str r1, [r7, #8]
- 8009a7a: 607a str r2, [r7, #4]
- 8009a7c: 603b str r3, [r7, #0]
- // Преобразуем значение АЦП в выходное напряжение
- float Vout = (adc_value / 4095.0) * Vref;
- 8009a7e: 68f8 ldr r0, [r7, #12]
- 8009a80: f7fe fd2c bl 80084dc <__aeabi_i2d>
- 8009a84: a31c add r3, pc, #112 @ (adr r3, 8009af8 )
- 8009a86: e9d3 2300 ldrd r2, r3, [r3]
- 8009a8a: f7fe febb bl 8008804 <__aeabi_ddiv>
- 8009a8e: 4602 mov r2, r0
- 8009a90: 460b mov r3, r1
- 8009a92: 4614 mov r4, r2
- 8009a94: 461d mov r5, r3
- 8009a96: 68b8 ldr r0, [r7, #8]
- 8009a98: f7fe fd32 bl 8008500 <__aeabi_f2d>
- 8009a9c: 4602 mov r2, r0
- 8009a9e: 460b mov r3, r1
- 8009aa0: 4620 mov r0, r4
- 8009aa2: 4629 mov r1, r5
- 8009aa4: f7fe fd84 bl 80085b0 <__aeabi_dmul>
- 8009aa8: 4602 mov r2, r0
- 8009aaa: 460b mov r3, r1
- 8009aac: 4610 mov r0, r2
- 8009aae: 4619 mov r1, r3
- 8009ab0: f7ff f856 bl 8008b60 <__aeabi_d2f>
- 8009ab4: 4603 mov r3, r0
- 8009ab6: 617b str r3, [r7, #20]
-
- // Проверяем, чтобы Vout не было равно Vin
- if (Vout >= Vin) {
- 8009ab8: 6879 ldr r1, [r7, #4]
- 8009aba: 6978 ldr r0, [r7, #20]
- 8009abc: f7ff fb60 bl 8009180 <__aeabi_fcmpge>
- 8009ac0: 4603 mov r3, r0
- 8009ac2: 2b00 cmp r3, #0
- 8009ac4: d001 beq.n 8009aca
- return -1; // Ошибка: Vout не может быть больше или равно Vin
- 8009ac6: 4b0e ldr r3, [pc, #56] @ (8009b00 )
- 8009ac8: e010 b.n 8009aec
- }
-
- // Вычисляем сопротивление термистора
- float R_NTC = R * (Vout / (Vin - Vout));
- 8009aca: 6979 ldr r1, [r7, #20]
- 8009acc: 6878 ldr r0, [r7, #4]
- 8009ace: f7ff f89b bl 8008c08 <__aeabi_fsub>
- 8009ad2: 4603 mov r3, r0
- 8009ad4: 4619 mov r1, r3
- 8009ad6: 6978 ldr r0, [r7, #20]
- 8009ad8: f7ff fa54 bl 8008f84 <__aeabi_fdiv>
- 8009adc: 4603 mov r3, r0
- 8009ade: 4619 mov r1, r3
- 8009ae0: 6838 ldr r0, [r7, #0]
- 8009ae2: f7ff f99b bl 8008e1c <__aeabi_fmul>
- 8009ae6: 4603 mov r3, r0
- 8009ae8: 613b str r3, [r7, #16]
-
- return R_NTC;
- 8009aea: 693b ldr r3, [r7, #16]
-}
- 8009aec: 4618 mov r0, r3
- 8009aee: 3718 adds r7, #24
- 8009af0: 46bd mov sp, r7
- 8009af2: bdb0 pop {r4, r5, r7, pc}
- 8009af4: f3af 8000 nop.w
- 8009af8: 00000000 .word 0x00000000
- 8009afc: 40affe00 .word 0x40affe00
- 8009b00: bf800000 .word 0xbf800000
-
-08009b04 :
-
-int16_t CONN_ReadTemp(uint8_t ch){
- 8009b04: b580 push {r7, lr}
- 8009b06: b088 sub sp, #32
- 8009b08: af00 add r7, sp, #0
- 8009b0a: 4603 mov r3, r0
- 8009b0c: 71fb strb r3, [r7, #7]
- uint32_t adcValue = 0u;
- 8009b0e: 2300 movs r3, #0
- 8009b10: 61fb str r3, [r7, #28]
- adcValue = ch ? adc_data.ntc2_raw : adc_data.ntc1_raw;
- 8009b12: 79fb ldrb r3, [r7, #7]
- 8009b14: 2b00 cmp r3, #0
- 8009b16: d003 beq.n 8009b20
- 8009b18: 4b1c ldr r3, [pc, #112] @ (8009b8c )
- 8009b1a: 88db ldrh r3, [r3, #6]
- 8009b1c: b29b uxth r3, r3
- 8009b1e: e002 b.n 8009b26
- 8009b20: 4b1a ldr r3, [pc, #104] @ (8009b8c )
- 8009b22: 889b ldrh r3, [r3, #4]
- 8009b24: b29b uxth r3, r3
- 8009b26: 61fb str r3, [r7, #28]
-
- int32_t adc_filtered = SMAFilter_Update(&conn_temp_adc_filter[ch ? 1u : 0u], (int32_t)adcValue);
- 8009b28: 79fb ldrb r3, [r7, #7]
- 8009b2a: 2b00 cmp r3, #0
- 8009b2c: d001 beq.n 8009b32
- 8009b2e: 2201 movs r2, #1
- 8009b30: e000 b.n 8009b34
- 8009b32: 2200 movs r2, #0
- 8009b34: 4613 mov r3, r2
- 8009b36: 009b lsls r3, r3, #2
- 8009b38: 4413 add r3, r2
- 8009b3a: 00db lsls r3, r3, #3
- 8009b3c: 4a14 ldr r2, [pc, #80] @ (8009b90 )
- 8009b3e: 4413 add r3, r2
- 8009b40: 69fa ldr r2, [r7, #28]
- 8009b42: 4611 mov r1, r2
- 8009b44: 4618 mov r0, r3
- 8009b46: f004 fe56 bl 800e7f6
- 8009b4a: 61b8 str r0, [r7, #24]
- if((uint32_t)adc_filtered > 4000u) {
- 8009b4c: 69bb ldr r3, [r7, #24]
- 8009b4e: f5b3 6f7a cmp.w r3, #4000 @ 0xfa0
- 8009b52: d901 bls.n 8009b58
- return 20; //Термодатчик не подключен
- 8009b54: 2314 movs r3, #20
- 8009b56: e015 b.n 8009b84
- }
-
- float Vref = 3.3; // Напряжение опорное
- 8009b58: 4b0e ldr r3, [pc, #56] @ (8009b94 )
- 8009b5a: 617b str r3, [r7, #20]
- float Vin = 5.0; // Входное напряжение
- 8009b5c: 4b0e ldr r3, [pc, #56] @ (8009b98 )
- 8009b5e: 613b str r3, [r7, #16]
- float R = 1000; // Сопротивление резистора в Омах
- 8009b60: 4b0e ldr r3, [pc, #56] @ (8009b9c )
- 8009b62: 60fb str r3, [r7, #12]
-
- float temp = pt1000_to_temperature(calculate_NTC_resistance((int)adc_filtered, Vref, Vin, R));
- 8009b64: 68fb ldr r3, [r7, #12]
- 8009b66: 693a ldr r2, [r7, #16]
- 8009b68: 6979 ldr r1, [r7, #20]
- 8009b6a: 69b8 ldr r0, [r7, #24]
- 8009b6c: f7ff ff80 bl 8009a70
- 8009b70: 4603 mov r3, r0
- 8009b72: 4618 mov r0, r3
- 8009b74: f7ff ff5a bl 8009a2c
- 8009b78: 60b8 str r0, [r7, #8]
-
- return (int16_t)temp;
- 8009b7a: 68b8 ldr r0, [r7, #8]
- 8009b7c: f7ff fb14 bl 80091a8 <__aeabi_f2iz>
- 8009b80: 4603 mov r3, r0
- 8009b82: b21b sxth r3, r3
-
-}
- 8009b84: 4618 mov r0, r3
- 8009b86: 3720 adds r7, #32
- 8009b88: 46bd mov sp, r7
- 8009b8a: bd80 pop {r7, pc}
- 8009b8c: 20000280 .word 0x20000280
- 8009b90: 2000030c .word 0x2000030c
- 8009b94: 40533333 .word 0x40533333
- 8009b98: 40a00000 .word 0x40a00000
- 8009b9c: 447a0000 .word 0x447a0000
-
-08009ba0 :
-CAN_HandleTypeDef hcan1;
-CAN_HandleTypeDef hcan2;
-
-/* CAN1 init function */
-void MX_CAN1_Init(void)
-{
- 8009ba0: b580 push {r7, lr}
- 8009ba2: af00 add r7, sp, #0
- /* USER CODE END CAN1_Init 0 */
-
- /* USER CODE BEGIN CAN1_Init 1 */
-
- /* USER CODE END CAN1_Init 1 */
- hcan1.Instance = CAN1;
- 8009ba4: 4b17 ldr r3, [pc, #92] @ (8009c04 )
- 8009ba6: 4a18 ldr r2, [pc, #96] @ (8009c08 )
- 8009ba8: 601a str r2, [r3, #0]
- hcan1.Init.Prescaler = 8;
- 8009baa: 4b16 ldr r3, [pc, #88] @ (8009c04 )
- 8009bac: 2208 movs r2, #8
- 8009bae: 605a str r2, [r3, #4]
- hcan1.Init.Mode = CAN_MODE_NORMAL;
- 8009bb0: 4b14 ldr r3, [pc, #80] @ (8009c04 )
- 8009bb2: 2200 movs r2, #0
- 8009bb4: 609a str r2, [r3, #8]
- hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ;
- 8009bb6: 4b13 ldr r3, [pc, #76] @ (8009c04 )
- 8009bb8: 2200 movs r2, #0
- 8009bba: 60da str r2, [r3, #12]
- hcan1.Init.TimeSeg1 = CAN_BS1_15TQ;
- 8009bbc: 4b11 ldr r3, [pc, #68] @ (8009c04 )
- 8009bbe: f44f 2260 mov.w r2, #917504 @ 0xe0000
- 8009bc2: 611a str r2, [r3, #16]
- hcan1.Init.TimeSeg2 = CAN_BS2_2TQ;
- 8009bc4: 4b0f ldr r3, [pc, #60] @ (8009c04 )
- 8009bc6: f44f 1280 mov.w r2, #1048576 @ 0x100000
- 8009bca: 615a str r2, [r3, #20]
- hcan1.Init.TimeTriggeredMode = DISABLE;
- 8009bcc: 4b0d ldr r3, [pc, #52] @ (8009c04 )
- 8009bce: 2200 movs r2, #0
- 8009bd0: 761a strb r2, [r3, #24]
- hcan1.Init.AutoBusOff = ENABLE;
- 8009bd2: 4b0c ldr r3, [pc, #48] @ (8009c04 )
- 8009bd4: 2201 movs r2, #1
- 8009bd6: 765a strb r2, [r3, #25]
- hcan1.Init.AutoWakeUp = ENABLE;
- 8009bd8: 4b0a ldr r3, [pc, #40] @ (8009c04 )
- 8009bda: 2201 movs r2, #1
- 8009bdc: 769a strb r2, [r3, #26]
- hcan1.Init.AutoRetransmission = ENABLE;
- 8009bde: 4b09 ldr r3, [pc, #36] @ (8009c04 )
- 8009be0: 2201 movs r2, #1
- 8009be2: 76da strb r2, [r3, #27]
- hcan1.Init.ReceiveFifoLocked = DISABLE;
- 8009be4: 4b07 ldr r3, [pc, #28] @ (8009c04 )
- 8009be6: 2200 movs r2, #0
- 8009be8: 771a strb r2, [r3, #28]
- hcan1.Init.TransmitFifoPriority = ENABLE;
- 8009bea: 4b06 ldr r3, [pc, #24] @ (8009c04 )
- 8009bec: 2201 movs r2, #1
- 8009bee: 775a strb r2, [r3, #29]
- if (HAL_CAN_Init(&hcan1) != HAL_OK)
- 8009bf0: 4804 ldr r0, [pc, #16] @ (8009c04 )
- 8009bf2: f006 fa94 bl 801011e
- 8009bf6: 4603 mov r3, r0
- 8009bf8: 2b00 cmp r3, #0
- 8009bfa: d001 beq.n 8009c00
- {
- Error_Handler();
- 8009bfc: f001 f8da bl 800adb4
- }
- /* USER CODE BEGIN CAN1_Init 2 */
-
- /* USER CODE END CAN1_Init 2 */
-
-}
- 8009c00: bf00 nop
- 8009c02: bd80 pop {r7, pc}
- 8009c04: 2000035c .word 0x2000035c
- 8009c08: 40006400 .word 0x40006400
-
-08009c0c :
-/* CAN2 init function */
-void MX_CAN2_Init(void)
-{
- 8009c0c: b580 push {r7, lr}
- 8009c0e: af00 add r7, sp, #0
- /* USER CODE END CAN2_Init 0 */
-
- /* USER CODE BEGIN CAN2_Init 1 */
-
- /* USER CODE END CAN2_Init 1 */
- hcan2.Instance = CAN2;
- 8009c10: 4b17 ldr r3, [pc, #92] @ (8009c70 )
- 8009c12: 4a18 ldr r2, [pc, #96] @ (8009c74 )
- 8009c14: 601a str r2, [r3, #0]
- hcan2.Init.Prescaler = 16;
- 8009c16: 4b16 ldr r3, [pc, #88] @ (8009c70 )
- 8009c18: 2210 movs r2, #16
- 8009c1a: 605a str r2, [r3, #4]
- hcan2.Init.Mode = CAN_MODE_NORMAL;
- 8009c1c: 4b14 ldr r3, [pc, #80] @ (8009c70 )
- 8009c1e: 2200 movs r2, #0
- 8009c20: 609a str r2, [r3, #8]
- hcan2.Init.SyncJumpWidth = CAN_SJW_1TQ;
- 8009c22: 4b13 ldr r3, [pc, #76] @ (8009c70 )
- 8009c24: 2200 movs r2, #0
- 8009c26: 60da str r2, [r3, #12]
- hcan2.Init.TimeSeg1 = CAN_BS1_15TQ;
- 8009c28: 4b11 ldr r3, [pc, #68] @ (8009c70 )
- 8009c2a: f44f 2260 mov.w r2, #917504 @ 0xe0000
- 8009c2e: 611a str r2, [r3, #16]
- hcan2.Init.TimeSeg2 = CAN_BS2_2TQ;
- 8009c30: 4b0f ldr r3, [pc, #60] @ (8009c70 )
- 8009c32: f44f 1280 mov.w r2, #1048576 @ 0x100000
- 8009c36: 615a str r2, [r3, #20]
- hcan2.Init.TimeTriggeredMode = DISABLE;
- 8009c38: 4b0d ldr r3, [pc, #52] @ (8009c70 )
- 8009c3a: 2200 movs r2, #0
- 8009c3c: 761a strb r2, [r3, #24]
- hcan2.Init.AutoBusOff = ENABLE;
- 8009c3e: 4b0c ldr r3, [pc, #48] @ (8009c70 )
- 8009c40: 2201 movs r2, #1
- 8009c42: 765a strb r2, [r3, #25]
- hcan2.Init.AutoWakeUp = ENABLE;
- 8009c44: 4b0a ldr r3, [pc, #40] @ (8009c70 )
- 8009c46: 2201 movs r2, #1
- 8009c48: 769a strb r2, [r3, #26]
- hcan2.Init.AutoRetransmission = ENABLE;
- 8009c4a: 4b09 ldr r3, [pc, #36] @ (8009c70 )
- 8009c4c: 2201 movs r2, #1
- 8009c4e: 76da strb r2, [r3, #27]
- hcan2.Init.ReceiveFifoLocked = DISABLE;
- 8009c50: 4b07 ldr r3, [pc, #28] @ (8009c70 )
- 8009c52: 2200 movs r2, #0
- 8009c54: 771a strb r2, [r3, #28]
- hcan2.Init.TransmitFifoPriority = ENABLE;
- 8009c56: 4b06 ldr r3, [pc, #24] @ (8009c70 )
- 8009c58: 2201 movs r2, #1
- 8009c5a: 775a strb r2, [r3, #29]
- if (HAL_CAN_Init(&hcan2) != HAL_OK)
- 8009c5c: 4804 ldr r0, [pc, #16] @ (8009c70 )
- 8009c5e: f006 fa5e bl 801011e
- 8009c62: 4603 mov r3, r0
- 8009c64: 2b00 cmp r3, #0
- 8009c66: d001 beq.n 8009c6c
- {
- Error_Handler();
- 8009c68: f001 f8a4 bl 800adb4
- }
- /* USER CODE BEGIN CAN2_Init 2 */
-
- /* USER CODE END CAN2_Init 2 */
-
-}
- 8009c6c: bf00 nop
- 8009c6e: bd80 pop {r7, pc}
- 8009c70: 20000384 .word 0x20000384
- 8009c74: 40006800 .word 0x40006800
-
-08009c78 :
-
-static uint32_t HAL_RCC_CAN1_CLK_ENABLED=0;
-
-void HAL_CAN_MspInit(CAN_HandleTypeDef* canHandle)
-{
- 8009c78: b580 push {r7, lr}
- 8009c7a: b08e sub sp, #56 @ 0x38
- 8009c7c: af00 add r7, sp, #0
- 8009c7e: 6078 str r0, [r7, #4]
-
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- 8009c80: f107 0320 add.w r3, r7, #32
- 8009c84: 2200 movs r2, #0
- 8009c86: 601a str r2, [r3, #0]
- 8009c88: 605a str r2, [r3, #4]
- 8009c8a: 609a str r2, [r3, #8]
- 8009c8c: 60da str r2, [r3, #12]
- if(canHandle->Instance==CAN1)
- 8009c8e: 687b ldr r3, [r7, #4]
- 8009c90: 681b ldr r3, [r3, #0]
- 8009c92: 4a61 ldr r2, [pc, #388] @ (8009e18 )
- 8009c94: 4293 cmp r3, r2
- 8009c96: d153 bne.n 8009d40
- {
- /* USER CODE BEGIN CAN1_MspInit 0 */
-
- /* USER CODE END CAN1_MspInit 0 */
- /* CAN1 clock enable */
- HAL_RCC_CAN1_CLK_ENABLED++;
- 8009c98: 4b60 ldr r3, [pc, #384] @ (8009e1c )
- 8009c9a: 681b ldr r3, [r3, #0]
- 8009c9c: 3301 adds r3, #1
- 8009c9e: 4a5f ldr r2, [pc, #380] @ (8009e1c )
- 8009ca0: 6013 str r3, [r2, #0]
- if(HAL_RCC_CAN1_CLK_ENABLED==1){
- 8009ca2: 4b5e ldr r3, [pc, #376] @ (8009e1c )
- 8009ca4: 681b ldr r3, [r3, #0]
- 8009ca6: 2b01 cmp r3, #1
- 8009ca8: d10b bne.n 8009cc2
- __HAL_RCC_CAN1_CLK_ENABLE();
- 8009caa: 4b5d ldr r3, [pc, #372] @ (8009e20 )
- 8009cac: 69db ldr r3, [r3, #28]
- 8009cae: 4a5c ldr r2, [pc, #368] @ (8009e20 )
- 8009cb0: f043 7300 orr.w r3, r3, #33554432 @ 0x2000000
- 8009cb4: 61d3 str r3, [r2, #28]
- 8009cb6: 4b5a ldr r3, [pc, #360] @ (8009e20 )
- 8009cb8: 69db ldr r3, [r3, #28]
- 8009cba: f003 7300 and.w r3, r3, #33554432 @ 0x2000000
- 8009cbe: 61fb str r3, [r7, #28]
- 8009cc0: 69fb ldr r3, [r7, #28]
- }
-
- __HAL_RCC_GPIOD_CLK_ENABLE();
- 8009cc2: 4b57 ldr r3, [pc, #348] @ (8009e20 )
- 8009cc4: 699b ldr r3, [r3, #24]
- 8009cc6: 4a56 ldr r2, [pc, #344] @ (8009e20 )
- 8009cc8: f043 0320 orr.w r3, r3, #32
- 8009ccc: 6193 str r3, [r2, #24]
- 8009cce: 4b54 ldr r3, [pc, #336] @ (8009e20 )
- 8009cd0: 699b ldr r3, [r3, #24]
- 8009cd2: f003 0320 and.w r3, r3, #32
- 8009cd6: 61bb str r3, [r7, #24]
- 8009cd8: 69bb ldr r3, [r7, #24]
- /**CAN1 GPIO Configuration
- PD0 ------> CAN1_RX
- PD1 ------> CAN1_TX
- */
- GPIO_InitStruct.Pin = GPIO_PIN_0;
- 8009cda: 2301 movs r3, #1
- 8009cdc: 623b str r3, [r7, #32]
- GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
- 8009cde: 2300 movs r3, #0
- 8009ce0: 627b str r3, [r7, #36] @ 0x24
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- 8009ce2: 2300 movs r3, #0
- 8009ce4: 62bb str r3, [r7, #40] @ 0x28
- HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
- 8009ce6: f107 0320 add.w r3, r7, #32
- 8009cea: 4619 mov r1, r3
- 8009cec: 484d ldr r0, [pc, #308] @ (8009e24 )
- 8009cee: f007 fea3 bl 8011a38
-
- GPIO_InitStruct.Pin = GPIO_PIN_1;
- 8009cf2: 2302 movs r3, #2
- 8009cf4: 623b str r3, [r7, #32]
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- 8009cf6: 2302 movs r3, #2
- 8009cf8: 627b str r3, [r7, #36] @ 0x24
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- 8009cfa: 2303 movs r3, #3
- 8009cfc: 62fb str r3, [r7, #44] @ 0x2c
- HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
- 8009cfe: f107 0320 add.w r3, r7, #32
- 8009d02: 4619 mov r1, r3
- 8009d04: 4847 ldr r0, [pc, #284] @ (8009e24 )
- 8009d06: f007 fe97 bl 8011a38
-
- __HAL_AFIO_REMAP_CAN1_3();
- 8009d0a: 4b47 ldr r3, [pc, #284] @ (8009e28 )
- 8009d0c: 685b ldr r3, [r3, #4]
- 8009d0e: 633b str r3, [r7, #48] @ 0x30
- 8009d10: 6b3b ldr r3, [r7, #48] @ 0x30
- 8009d12: f423 43c0 bic.w r3, r3, #24576 @ 0x6000
- 8009d16: 633b str r3, [r7, #48] @ 0x30
- 8009d18: 6b3b ldr r3, [r7, #48] @ 0x30
- 8009d1a: f043 63e0 orr.w r3, r3, #117440512 @ 0x7000000
- 8009d1e: 633b str r3, [r7, #48] @ 0x30
- 8009d20: 6b3b ldr r3, [r7, #48] @ 0x30
- 8009d22: f443 43c0 orr.w r3, r3, #24576 @ 0x6000
- 8009d26: 633b str r3, [r7, #48] @ 0x30
- 8009d28: 4a3f ldr r2, [pc, #252] @ (8009e28 )
- 8009d2a: 6b3b ldr r3, [r7, #48] @ 0x30
- 8009d2c: 6053 str r3, [r2, #4]
-
- /* CAN1 interrupt Init */
- HAL_NVIC_SetPriority(CAN1_RX0_IRQn, 3, 0);
- 8009d2e: 2200 movs r2, #0
- 8009d30: 2103 movs r1, #3
- 8009d32: 2014 movs r0, #20
- 8009d34: f007 f99f bl 8011076
- HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn);
- 8009d38: 2014 movs r0, #20
- 8009d3a: f007 f9b8 bl 80110ae
- HAL_NVIC_EnableIRQ(CAN2_RX1_IRQn);
- /* USER CODE BEGIN CAN2_MspInit 1 */
-
- /* USER CODE END CAN2_MspInit 1 */
- }
-}
- 8009d3e: e067 b.n 8009e10
- else if(canHandle->Instance==CAN2)
- 8009d40: 687b ldr r3, [r7, #4]
- 8009d42: 681b ldr r3, [r3, #0]
- 8009d44: 4a39 ldr r2, [pc, #228] @ (8009e2c )
- 8009d46: 4293 cmp r3, r2
- 8009d48: d162 bne.n 8009e10
- __HAL_RCC_CAN2_CLK_ENABLE();
- 8009d4a: 4b35 ldr r3, [pc, #212] @ (8009e20 )
- 8009d4c: 69db ldr r3, [r3, #28]
- 8009d4e: 4a34 ldr r2, [pc, #208] @ (8009e20