From b19c7f6b5105d958f1af5a1c0f38793414554872 Mon Sep 17 00:00:00 2001 From: kachelto100370 Date: Tue, 24 Mar 2026 14:20:19 +0100 Subject: [PATCH] mein code in task2 --- .metadata/.log | 69 + .metadata/.plugins/org.eclipse.cdt.core/.log | 1 + .../task1.1727452765701.pdom | Bin 1667072 -> 1667072 bytes .../org.eclipse.cdt.ui/global-build.log | 230 ++ .../org.eclipse.cdt.ui/task1.build.log | 20 +- .../org.eclipse.cdt.ui/task2.build.log | 7 +- .../org.eclipse.cdt.ui/task3.build.log | 4 +- .../org.eclipse.cdt.ui/task4.build.log | 4 +- .../12/803564f14a2500111a3cc0d2fb41a96e | 325 ++ .../2/a0997bb54a2500111a3cc0d2fb41a96e | 325 ++ .../20/102cdbc14a2500111a3cc0d2fb41a96e | 325 ++ .../24/f01031934a2500111a3cc0d2fb41a96e | 325 ++ .../2e/202733fa4a2500111a3cc0d2fb41a96e | 325 ++ .../57/c00825cd4a2500111a3cc0d2fb41a96e | 325 ++ .../5e/c0318c4a4c2500111a3cc0d2fb41a96e | 325 ++ .../62/7054d2ba4a2500111a3cc0d2fb41a96e | 325 ++ .../64/40291de44a2500111a3cc0d2fb41a96e | 325 ++ .../69/405e85284b2500111a3cc0d2fb41a96e | 325 ++ .../6a/b0d749d54a2500111a3cc0d2fb41a96e | 325 ++ .../81/b0e0d9dc4a2500111a3cc0d2fb41a96e | 325 ++ .../87/6042399c472500111a3cc0d2fb41a96e | 314 ++ .../88/a009658d4b2500111a3cc0d2fb41a96e | 325 ++ .../a3/8000d91a4b2500111a3cc0d2fb41a96e | 325 ++ .../b2/e0f20e0b4b2500111a3cc0d2fb41a96e | 325 ++ .../cb/f09ec06d0f2200111ca2ee31eda545ee | 212 -- .../cc/c0f5544c4a2500111a3cc0d2fb41a96e | 324 ++ .../d/7043ed744a2500111a3cc0d2fb41a96e | 323 ++ .../e2/a017bba74a2500111a3cc0d2fb41a96e | 325 ++ .../ee/803b95424a2500111a3cc0d2fb41a96e | 315 ++ .../fd/505dbbb14a2500111a3cc0d2fb41a96e | 325 ++ .../.projects/task1/.indexes/c4/history.index | Bin 45 -> 0 bytes .../.projects/task1/.markers | Bin 2737 -> 2737 bytes .../.projects/task1/.markers.snap | Bin 2669 -> 2605 bytes .../.projects/task1/.syncinfo.snap | Bin 80 -> 16 bytes .../.projects/task2/.indexes/properties.index | Bin 564 -> 569 bytes .../.projects/task2/.markers | Bin 0 -> 694 bytes .../.projects/task2/.markers.snap | Bin 80 -> 16 bytes .../.projects/task2/.syncinfo.snap | Bin 80 -> 16 bytes .../.projects/task3/.markers.snap | Bin 80 -> 249 bytes .../.projects/task3/.syncinfo.snap | Bin 80 -> 16 bytes .../.projects/task4/.markers.snap | Bin 80 -> 249 bytes .../.projects/task4/.syncinfo.snap | Bin 80 -> 16 bytes .../.root/.indexes/properties.index | Bin 104 -> 104 bytes .../org.eclipse.core.resources/.root/.markers | Bin 533 -> 533 bytes .../.root/.markers.snap | Bin 80 -> 565 bytes .../.root/{66.tree => 67.tree} | Bin 7140 -> 7154 bytes .../.safetable/org.eclipse.core.resources | Bin 1481 -> 932 bytes .../org.eclipse.core.resources/66.snap | Bin 914 -> 0 bytes .../org.eclipse.core.resources/67.snap | Bin 0 -> 803 bytes .../.settings/org.eclipse.debug.core.prefs | 2 +- .../org.eclipse.launchbar.core.prefs | 2 +- .../.settings/org.eclipse.ui.ide.prefs | 2 +- .../launchConfigurationHistory.xml | 4 +- .../org.eclipse.e4.workbench/workbench.xmi | 2925 ++++++++--------- .../task2/2026/3/13/refactorings.history | 3 + .../task2/2026/3/13/refactorings.index | 2 + .metadata/version.ini | 2 +- Zusätliche Abgaben/Termin2.typ | 12 +- task1/Debug/Src/task1.cyclo | 3 - task1/Debug/Src/task1.d | 11 - task1/Debug/Src/task1.o | Bin 638388 -> 0 bytes task1/Debug/Src/task1.su | 3 - task1/Debug/Src/task1_it.cyclo | 2 - task1/Debug/Src/task1_it.d | 11 - task1/Debug/Src/task1_it.o | Bin 637952 -> 0 bytes task1/Debug/Src/task1_it.su | 2 - task1/Debug/Startup/startup_stm32g431kbtx.d | 1 - task1/Debug/Startup/startup_stm32g431kbtx.o | Bin 2540 -> 0 bytes task1/Debug/Startup/syscalls.cyclo | 18 - task1/Debug/Startup/syscalls.d | 1 - task1/Debug/Startup/syscalls.o | Bin 83072 -> 0 bytes task1/Debug/Startup/syscalls.su | 18 - task1/Debug/Startup/sysmem.cyclo | 1 - task1/Debug/Startup/sysmem.d | 1 - task1/Debug/Startup/sysmem.o | Bin 47856 -> 0 bytes task1/Debug/Startup/sysmem.su | 1 - task1/Debug/task1.elf | Bin 551852 -> 0 bytes task1/Debug/task1.list | 764 ----- task1/Debug/task1.map | 825 ----- task2/task2.als | 1620 +++++++++ task2/task2.elf | Bin 0 -> 23672 bytes task2/task2.launch | 2 +- task2/task2.lst | 156 + task2/task2.map | 92 + task2/task2.o | Bin 0 -> 16208 bytes task2/task2.s | 354 +- task2/task2_tobi.s | 325 ++ 87 files changed, 10976 insertions(+), 3537 deletions(-) create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/12/803564f14a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/2/a0997bb54a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/20/102cdbc14a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/24/f01031934a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/2e/202733fa4a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/57/c00825cd4a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/5e/c0318c4a4c2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/62/7054d2ba4a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/64/40291de44a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/69/405e85284b2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/6a/b0d749d54a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/81/b0e0d9dc4a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/87/6042399c472500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/88/a009658d4b2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a3/8000d91a4b2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/b2/e0f20e0b4b2500111a3cc0d2fb41a96e delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/cb/f09ec06d0f2200111ca2ee31eda545ee create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/cc/c0f5544c4a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/d/7043ed744a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/e2/a017bba74a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ee/803b95424a2500111a3cc0d2fb41a96e create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/fd/505dbbb14a2500111a3cc0d2fb41a96e delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/task1/.indexes/c4/history.index create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/task2/.markers rename .metadata/.plugins/org.eclipse.core.resources/.root/{66.tree => 67.tree} (62%) delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/66.snap create mode 100644 .metadata/.plugins/org.eclipse.core.resources/67.snap create mode 100644 .metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/task2/2026/3/13/refactorings.history create mode 100644 .metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/task2/2026/3/13/refactorings.index delete mode 100644 task1/Debug/Src/task1.cyclo delete mode 100644 task1/Debug/Src/task1.d delete mode 100644 task1/Debug/Src/task1.o delete mode 100644 task1/Debug/Src/task1.su delete mode 100644 task1/Debug/Src/task1_it.cyclo delete mode 100644 task1/Debug/Src/task1_it.d delete mode 100644 task1/Debug/Src/task1_it.o delete mode 100644 task1/Debug/Src/task1_it.su delete mode 100644 task1/Debug/Startup/startup_stm32g431kbtx.d delete mode 100644 task1/Debug/Startup/startup_stm32g431kbtx.o delete mode 100644 task1/Debug/Startup/syscalls.cyclo delete mode 100644 task1/Debug/Startup/syscalls.d delete mode 100644 task1/Debug/Startup/syscalls.o delete mode 100644 task1/Debug/Startup/syscalls.su delete mode 100644 task1/Debug/Startup/sysmem.cyclo delete mode 100644 task1/Debug/Startup/sysmem.d delete mode 100644 task1/Debug/Startup/sysmem.o delete mode 100644 task1/Debug/Startup/sysmem.su delete mode 100755 task1/Debug/task1.elf delete mode 100644 task1/Debug/task1.list delete mode 100644 task1/Debug/task1.map create mode 100644 task2/task2.als create mode 100755 task2/task2.elf create mode 100644 task2/task2.lst create mode 100644 task2/task2.map create mode 100644 task2/task2.o create mode 100644 task2/task2_tobi.s diff --git a/.metadata/.log b/.metadata/.log index b1c995e..ec8277e 100644 --- a/.metadata/.log +++ b/.metadata/.log @@ -9259,3 +9259,72 @@ Command-line arguments: -os linux -ws gtk -arch x86_64 !ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2026-03-20 18:06:39.545 !MESSAGE Started RMI Server, listening on port 41337 +!SESSION 2026-03-21 13:54:00.770 ----------------------------------------------- +eclipse.buildId=Version 1.16.0 +java.version=17.0.11 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY org.eclipse.core.resources 2 10035 2026-03-21 13:54:03.586 +!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2026-03-21 13:54:07.401 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2026-03-21 13:54:07.402 +!MESSAGE Log4j2 initialized with config file /home/tobii/02_Uni/09_Mikrocomputertechnik/praktikum/mct_bei_workspace_25w/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2026-03-21 13:54:12.808 +!MESSAGE Started RMI Server, listening on port 41337 +!SESSION 2026-03-24 14:01:44.656 ----------------------------------------------- +eclipse.buildId=Version 1.16.0 +java.version=17.0.11 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY org.eclipse.core.resources 2 10035 2026-03-24 14:01:47.209 +!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2026-03-24 14:01:50.655 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2026-03-24 14:01:50.656 +!MESSAGE Log4j2 initialized with config file /home/tobii/02_Uni/09_Mikrocomputertechnik/praktikum/mct_bei_workspace_25w/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2026-03-24 14:01:55.388 +!MESSAGE Started RMI Server, listening on port 41337 +!SESSION 2026-03-24 14:11:26.431 ----------------------------------------------- +eclipse.buildId=Version 1.16.0 +java.version=17.0.11 +java.vendor=Eclipse Adoptium +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE +Command-line arguments: -os linux -ws gtk -arch x86_64 + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 4 4 2026-03-24 14:11:31.118 +!MESSAGE CubeMX plugin appears to be active, Log4j initialization might be too late. + +!ENTRY com.st.stm32cube.ide.mcu.informationcenter 1 1 2026-03-24 14:11:31.119 +!MESSAGE Log4j2 initialized with config file /home/tobii/02_Uni/09_Mikrocomputertechnik/praktikum/mct_bei_workspace_25w/.metadata/.log4j2.xml + +!ENTRY com.st.stm32cube.ide.mcu.ide 1 1 2026-03-24 14:11:45.929 +!MESSAGE Started RMI Server, listening on port 41337 + +!ENTRY com.st.stm32cube.ide.mcu.debug 4 0 2026-03-24 14:15:22.829 +!MESSAGE Error - No active DSF-Session. tmpSessionId = 3 (contextManager row 121) + +!ENTRY com.st.stm32cube.ide.mcu.debug 4 0 2026-03-24 14:15:22.830 +!MESSAGE Existing sessions are: + +!ENTRY com.st.stm32cube.ide.mcu.debug 4 0 2026-03-24 14:17:18.477 +!MESSAGE Error - No active DSF-Session. tmpSessionId = 6 (contextManager row 121) + +!ENTRY com.st.stm32cube.ide.mcu.debug 4 0 2026-03-24 14:17:18.477 +!MESSAGE Existing sessions are: + +!ENTRY com.st.stm32cube.ide.mcu.debug 4 0 2026-03-24 14:18:01.013 +!MESSAGE Error - No active DSF-Session. tmpSessionId = 7 (contextManager row 121) + +!ENTRY com.st.stm32cube.ide.mcu.debug 4 0 2026-03-24 14:18:01.013 +!MESSAGE Existing sessions are: diff --git a/.metadata/.plugins/org.eclipse.cdt.core/.log b/.metadata/.plugins/org.eclipse.cdt.core/.log index fdc2cef..3dfd0d5 100644 --- a/.metadata/.plugins/org.eclipse.cdt.core/.log +++ b/.metadata/.plugins/org.eclipse.cdt.core/.log @@ -51,3 +51,4 @@ *** SESSION März 01, 2026 11:55:48.249 ----------------------------------------- *** SESSION März 13, 2026 10:49:11.272 ----------------------------------------- *** SESSION März 16, 2026 12:55:55.445 ----------------------------------------- +*** SESSION März 24, 2026 14:01:49.132 ----------------------------------------- diff --git a/.metadata/.plugins/org.eclipse.cdt.core/task1.1727452765701.pdom b/.metadata/.plugins/org.eclipse.cdt.core/task1.1727452765701.pdom index 03a2b9574298705a9328c29be9791ab995c9621f..aa128eb34489937d18a97db2022dd75b39d53bec 100644 GIT binary patch delta 17056 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 Xiu$#45~*14!7F!c<9|5uZtVX6^8$(E delta 16915 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 diff --git a/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log b/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log index 8f0e68b..b81bd4b 100644 --- a/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log +++ b/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log @@ -323,3 +323,233 @@ Finished building: default.size.stdout Finished building: task1.list +16:09:45 **** Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 240 0 0 240 f0 task2.elf +Target all ready +18:20:32 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +task2.s: Assembler messages: +task2.s:128: Error: ARM register expected -- `movs ' +make: *** [makefile:74: task2.o] Error 1 +"make -j12 all" terminated with exit code 2. Build might be incomplete. +18:20:48 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:21:57 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:22:48 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 240 0 0 240 f0 task2.elf +Target all ready +18:23:22 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:23:42 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:23:54 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:24:03 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:24:24 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:24:36 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:25:04 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:25:26 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:25:42 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:26:11 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 260 0 0 260 104 task2.elf +Target all ready +18:26:34 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 264 0 0 264 108 task2.elf +Target all ready +18:26:57 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 248 0 0 248 f8 task2.elf +Target all ready +18:27:24 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +18:29:47 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 240 0 0 240 f0 task2.elf +Target all ready +18:35:13 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 240 0 0 240 f0 task2.elf +Target all ready +18:35:46 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +18:35:51 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +14:12:30 **** Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +14:12:55 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +14:13:16 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +14:13:43 **** Clean-only build of configuration Debug for project task1 **** +make -j12 clean +rm -rf ./Startup/startup_stm32g431kbtx.d ./Startup/startup_stm32g431kbtx.o ./Startup/syscalls.cyclo ./Startup/syscalls.d ./Startup/syscalls.o ./Startup/syscalls.su ./Startup/sysmem.cyclo ./Startup/sysmem.d ./Startup/sysmem.o ./Startup/sysmem.su +rm -rf ./Src/task1.cyclo ./Src/task1.d ./Src/task1.o ./Src/task1.su ./Src/task1_it.cyclo ./Src/task1_it.d ./Src/task1_it.o ./Src/task1_it.su +rm -rf default.size.stdout task1.elf task1.list task1.map + +14:13:44 **** Clean-only build of configuration Debug for project task2 **** +make -j12 clean +14:13:44 **** Clean-only build of configuration Debug for project task3 **** +make -j12 clean +makefile:62: *** multiple target patterns. Stop. +"make -j12 clean" terminated with exit code 2. Build might be incomplete. +14:13:44 **** Clean-only build of configuration Debug for project task4 **** +make -j12 clean +makefile:62: *** multiple target patterns. Stop. +"make -j12 clean" terminated with exit code 2. Build might be incomplete. +14:14:11 **** Build of configuration Debug for project task2 **** +make -j12 all +arm-none-eabi-as -o task2.o task2.s -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn > task2.als +arm-none-eabi-ld -o task2.elf -T ldscript_rom.ld task2.o -g -Map task2.map --cref -static +arm-none-eabi-objdump -htdr -j .text -j .data -j .bss -j .vectortable -j .exhand task2.elf > task2.lst +arm-none-eabi-size task2.elf + text data bss dec hex filename + 240 0 0 240 f0 task2.elf +Target all ready +14:15:19 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +14:15:29 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +14:16:17 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +14:17:15 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +14:17:57 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready +14:19:07 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready diff --git a/.metadata/.plugins/org.eclipse.cdt.ui/task1.build.log b/.metadata/.plugins/org.eclipse.cdt.ui/task1.build.log index 40362b7..4dc73d1 100644 --- a/.metadata/.plugins/org.eclipse.cdt.ui/task1.build.log +++ b/.metadata/.plugins/org.eclipse.cdt.ui/task1.build.log @@ -1,17 +1,9 @@ -15:01:24 **** Incremental Build of configuration Debug for project task1 **** -make -j12 all -arm-none-eabi-gcc "../Src/task1.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DSTM32G431KBTx -DSTM32 -DSTM32G4 -DNUCLEO_G431KB -c -I../Inc -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Src/task1.d" -MT"Src/task1.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Src/task1.o" -arm-none-eabi-gcc -o "task1.elf" @"objects.list" -mcpu=cortex-m4 -T"/home/tobii/02_Uni/09_Mikrocomputertechnik/praktikum/mct_bei_workspace_25w/task1/STM32G431KBTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="task1.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group -Finished building target: task1.elf - -arm-none-eabi-size task1.elf -arm-none-eabi-objdump -h -S task1.elf > "task1.list" - text data bss dec hex filename - 1692 0 1568 3260 cbc task1.elf -Finished building: default.size.stdout - -Finished building: task1.list +14:13:43 **** Clean-only build of configuration Debug for project task1 **** +make -j12 clean +rm -rf ./Startup/startup_stm32g431kbtx.d ./Startup/startup_stm32g431kbtx.o ./Startup/syscalls.cyclo ./Startup/syscalls.d ./Startup/syscalls.o ./Startup/syscalls.su ./Startup/sysmem.cyclo ./Startup/sysmem.d ./Startup/sysmem.o ./Startup/sysmem.su +rm -rf ./Src/task1.cyclo ./Src/task1.d ./Src/task1.o ./Src/task1.su ./Src/task1_it.cyclo ./Src/task1_it.d ./Src/task1_it.o ./Src/task1_it.su +rm -rf default.size.stdout task1.elf task1.list task1.map -15:01:24 Build Finished. 0 errors, 0 warnings. (took 330ms) +14:13:44 Build Finished. 0 errors, 0 warnings. (took 187ms) diff --git a/.metadata/.plugins/org.eclipse.cdt.ui/task2.build.log b/.metadata/.plugins/org.eclipse.cdt.ui/task2.build.log index dbb8e08..5ed8344 100644 --- a/.metadata/.plugins/org.eclipse.cdt.ui/task2.build.log +++ b/.metadata/.plugins/org.eclipse.cdt.ui/task2.build.log @@ -1,5 +1,6 @@ -11:52:45 **** Clean-only build of configuration Debug for project task2 **** -make -j12 clean +14:19:07 **** Incremental Build of configuration Debug for project task2 **** +make -j12 all +Target all ready -11:52:45 Build Finished. 0 errors, 0 warnings. (took 126ms) +14:19:07 Build Finished. 0 errors, 0 warnings. (took 182ms) diff --git a/.metadata/.plugins/org.eclipse.cdt.ui/task3.build.log b/.metadata/.plugins/org.eclipse.cdt.ui/task3.build.log index 72c4abb..9a759c0 100644 --- a/.metadata/.plugins/org.eclipse.cdt.ui/task3.build.log +++ b/.metadata/.plugins/org.eclipse.cdt.ui/task3.build.log @@ -1,7 +1,7 @@ -11:52:45 **** Clean-only build of configuration Debug for project task3 **** +14:13:44 **** Clean-only build of configuration Debug for project task3 **** make -j12 clean makefile:62: *** multiple target patterns. Stop. "make -j12 clean" terminated with exit code 2. Build might be incomplete. -11:52:45 Build Failed. 1 errors, 0 warnings. (took 126ms) +14:13:44 Build Failed. 1 errors, 0 warnings. (took 186ms) diff --git a/.metadata/.plugins/org.eclipse.cdt.ui/task4.build.log b/.metadata/.plugins/org.eclipse.cdt.ui/task4.build.log index 816d22b..fc6f36c 100644 --- a/.metadata/.plugins/org.eclipse.cdt.ui/task4.build.log +++ b/.metadata/.plugins/org.eclipse.cdt.ui/task4.build.log @@ -1,7 +1,7 @@ -11:52:46 **** Clean-only build of configuration Debug for project task4 **** +14:13:44 **** Clean-only build of configuration Debug for project task4 **** make -j12 clean makefile:62: *** multiple target patterns. Stop. "make -j12 clean" terminated with exit code 2. Build might be incomplete. -11:52:46 Build Failed. 1 errors, 0 warnings. (took 127ms) +14:13:44 Build Failed. 1 errors, 0 warnings. (took 186ms) diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/12/803564f14a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/12/803564f14a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..5d43f60 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/12/803564f14a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x03 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #3] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2/a0997bb54a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/2/a0997bb54a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..e84fc32 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2/a0997bb54a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x05 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/20/102cdbc14a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/20/102cdbc14a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..60018bf --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/20/102cdbc14a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x05 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x04 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/24/f01031934a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/24/f01031934a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..e84fc32 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/24/f01031934a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x05 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/202733fa4a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/2e/202733fa4a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..b6f915b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2e/202733fa4a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x03 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #2] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/57/c00825cd4a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/57/c00825cd4a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..ce9215c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/57/c00825cd4a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x05 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x05 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5e/c0318c4a4c2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/5e/c0318c4a4c2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..9244469 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5e/c0318c4a4c2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + +# LDR r1, =GPIOB_MODER +# MOVS r3, #0x03 +# LDR r0, [r1, #1] +# BICS r0, r3 +# MOVS r3, #0x01 +# ORRS r0, r0, r3 +# STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/62/7054d2ba4a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/62/7054d2ba4a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..b391d24 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/62/7054d2ba4a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x05 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x03 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/64/40291de44a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/64/40291de44a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..4b73458 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/64/40291de44a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x03 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/69/405e85284b2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/69/405e85284b2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..4a6a793 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/69/405e85284b2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOB_MODER + MOVS r3, #0x03 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/b0d749d54a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/b0d749d54a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..e956a57 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/b0d749d54a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x01 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/81/b0e0d9dc4a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/81/b0e0d9dc4a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..a682862 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/81/b0e0d9dc4a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x02 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/87/6042399c472500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/87/6042399c472500111a3cc0d2fb41a96e new file mode 100644 index 0000000..fa2ba02 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/87/6042399c472500111a3cc0d2fb41a96e @@ -0,0 +1,314 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r2 + STR r0, [r1, #0] + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/88/a009658d4b2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/88/a009658d4b2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..ff4c18e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/88/a009658d4b2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs +# LDR r1, =GPIOA_MODER // load port A mode register address +# MOVS r2, #0x03 // prepare mask +# LDR r0, [r1, #0] // get current value of port A mode register +# BICS r0, r2 // delete bits +# MOVS r2, #0x01 // load configuration mask +# ORRS r0, r0, r2 // apply mask +# STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOB_MODER + MOVS r3, #0x03 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a3/8000d91a4b2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/a3/8000d91a4b2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..9d73acd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a3/8000d91a4b2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x03 + LDR r0, [r1, #2] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #2] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b2/e0f20e0b4b2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/b2/e0f20e0b4b2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..4b73458 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b2/e0f20e0b4b2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x03 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cb/f09ec06d0f2200111ca2ee31eda545ee b/.metadata/.plugins/org.eclipse.core.resources/.history/cb/f09ec06d0f2200111ca2ee31eda545ee deleted file mode 100644 index 5d32b18..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cb/f09ec06d0f2200111ca2ee31eda545ee +++ /dev/null @@ -1,212 +0,0 @@ -/* *************************************************************************************** - * Project: task1 - C:GPIO - * File: task1.c - * - * Language: C - * - * Hardware: STefi Light v1.1 - * Processor: STM32G431KBT6U - * - * Author: Manuel Lederhofer - * Datum: 10.09.2021 - * - * Version: 2.1 - * History: - * 10.09.2021 ML create project - * 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U - * 18.02.2025 TK changed projectname to "C: GPIO) - * - * Status: under development - * - * Description: - * Blinks the red LED of STefi Light, currently. - * This file contains the main routine and the initialization. - * - * Notes: - * - MCU speed at startup is 16 MHz - * - * Todo: - * - Change the example code to match the description and requirements - * of the requested application in the lab exercise guide. - * - ************************************************************************************** */ - -/* ------------------------------------ INCLUDES -------------------------------------- */ -#include "stm32g431xx.h" -#include "STefi-Light.h" - -/* ------------------------------------ DEFINES --------------------------------------- */ -#define LOOPS_PER_MS 1244 // NOP-loops for delay() -#define WAITTIME 333 - -/* ------------------------------------ TYPE DEFINITIONS ------------------------------ */ -/* ------------------------------------ GLOBAL VARIABLES ------------------------------ */ -int state = 0; - -/* ------------------------------------ PRIVATE VARIABLES ----------------------------- */ - -/* ------------------------------------ PROTOTYPES ------------------------------------ */ -static void GPIO_init(void); -static void delay(const uint16_t ms); - -/* ------------------------------------ M A I N --------------------------------------- */ -int main(void) -{ - /* --- initialization --- */ - __disable_irq(); // disable interrupts globally - - GPIO_init(); - - __enable_irq(); // enable interrupts globally - - /* --- one time tasks --- */ - - //s0 Hilfvariablen auserhalb von while deklarieren - int running = 0; //0 Lauflicht aus, 1 Lauflicht an - int lastButtonState = 1; // Hilfsvariable zur Flankenerkennung - - /* --- infinite processing loop --- */ - while (1) - { - int buttonState = GPIOB->IDR & (1 << 0); - - // fallende Flanke erkennen - if (lastButtonState && !buttonState) - { - running ^= 1; // toggle running - /* delay(50); // entprellen */ - } - - lastButtonState = buttonState; - - - if(running) - { - switch (state) - { - case 0: - state++; - GPIOA->ODR &= ~(1 << 0); - delay(WAITTIME); - GPIOA->ODR |= (1 << 0); - break; - case 1: - state++; - GPIOA->ODR &= ~(1 << 1); - delay(WAITTIME); - GPIOA->ODR |= (1 << 1); - break; - case 2: - state++; - GPIOA->ODR &= ~(1 << 2); - delay(WAITTIME); - GPIOA->ODR |= (1 << 2); - break; - case 3: - state++; - GPIOA->ODR &= ~(1 << 3); - delay(WAITTIME); - GPIOA->ODR |= (1 << 3); - break; - case 4: - state++; - GPIOA->ODR &= ~(1 << 2); - delay(WAITTIME); - GPIOA->ODR |= (1 << 2); - break; - case 5: - state=0; - GPIOA->ODR &= ~(1 << 1); - delay(WAITTIME); - GPIOA->ODR |= (1 << 1); - break; - - case 99: - GPIOA->ODR |= MASK_LED_ALL; - while(1){ - if((GPIOB->IDR & (1 << 0)) == 0){ - delay(150); - state=0; - break; - } - } - } - } - - } - //aktuell geht er mit drücken durch die cases - // wegen break geht er ganz aus der if bedingung raus, nicht nur ausm switch case - - -return 1; -} - -/* ------------------------------------ GLOBAL FUNCTIONS ------------------------------ */ - -/* ------------------------------------ PRIVATE FUNCTIONS ----------------------------- */ - -/* ------------------------------------------------------------------------------------ *\ - * method: static void GPIO_init(void) - * - * Initializes GPIOs on STefi Light for pins with peripherals attached. - * - * requires: - nothing - - * parameters: - none - - * returns: - nothing - - \* ------------------------------------------------------------------------------------ */ -static void GPIO_init(void) -{ -/* enable port clocks */ -RCC->AHB2ENR |= RCC_AHB2ENR_GPIOAEN; // LEDs: A -RCC->AHB2ENR |= RCC_AHB2ENR_GPIOBEN; //Taster versuch - -/* --- LEDs --- */ -GPIOA->ODR |= MASK_LED_ALL; -GPIOA->MODER &= ~(3 << 0); -GPIOA->MODER |= (1 << 0); // set LED pin to output - -/* LED1 als Output */ -GPIOA->MODER &= ~(3 << 2); // Versuch: LED 1 Mode löschen :klappt so -GPIOA->MODER |= (1 << 2); // Versuch: LED 1 PA1 = output :klappt so - -/* LED2 als Output */ -GPIOA->MODER &= ~(3 << 4); // Versuch: LED 2 Mode löschen :klappt -GPIOA->MODER |= (1 << 4); // Versuch: LED 2 PA1 = output :klappt - -/* LED3 als output */ -GPIOA->MODER &= ~(3 << 6); -GPIOA->MODER |= (1 << 6); - -/* s0 (PB0) als Input Versuch */ -GPIOB->MODER &= ~(3 << 0); - -/* Pull-Up Aktivieren Versuch */ -GPIOB->PUPDR &= ~(3 << 0); -GPIOB->PUPDR |= (1 << 0); // 01 = Pull-Up -} - -/* ------------------------------------------------------------------------------------ *\ - * method: static void delay(const uint16_t ms) - * - * Realizes a millisecond delay by very bad busy-wait. - * - * requires: - nothing - - * parameters: ms - delay time in milliseconds - * returns: - nothing - - \* ------------------------------------------------------------------------------------ */ -static void delay(const uint16_t ms) -{ -for (uint16_t i = 0; i < ms; ++i) -{ - if((GPIOB->IDR & (1 << 0) && state != 99) == 0){ - state = 99; - break; - } - for (uint16_t j = 0; j < LOOPS_PER_MS; ++j) - { - __asm("NOP"); - } -} -} - -/* ************************************ E O F ***************************************** */ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cc/c0f5544c4a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/c0f5544c4a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..427990c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/c0f5544c4a2500111a3cc0d2fb41a96e @@ -0,0 +1,324 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x05 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + LDR r1, =GPIO_IDR + MOVS + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r2 + EORS r0, r0, r3 + STR r0, [r1, #0] + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d/7043ed744a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/d/7043ed744a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..79bd4c6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d/7043ed744a2500111a3cc0d2fb41a96e @@ -0,0 +1,323 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x05 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x01 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r2 + EORS r0, r0, r3 + STR r0, [r1, #0] + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a017bba74a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a017bba74a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..18f5745 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e2/a017bba74a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + +# LDR r1, =GPIOA_MODER +# MOVS r3, #0x05 +# LDR r0, [r1, #1] +# BICS r0, r3 +# MOVS r3, #0x01 +# ORRS r0, r0, r3 +# STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ee/803b95424a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/ee/803b95424a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..d543a66 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ee/803b95424a2500111a3cc0d2fb41a96e @@ -0,0 +1,315 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + LDR r1, =GPIO_IDR + MOVS + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r2 + STR r0, [r1, #0] + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fd/505dbbb14a2500111a3cc0d2fb41a96e b/.metadata/.plugins/org.eclipse.core.resources/.history/fd/505dbbb14a2500111a3cc0d2fb41a96e new file mode 100644 index 0000000..670e7cc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/fd/505dbbb14a2500111a3cc0d2fb41a96e @@ -0,0 +1,325 @@ +#****************************************************************************************# +# Project: task2 - ASM: Interrupts +# File: task2.s +# +# Language: ASM +# +# Hardware: STefi Light v1.1 +# Processor: STM32G431KBT6U +# +# Author: Manuel Lederhofer +# Datum: 31.10.2014 +# +# Version: 6.0 +# History: +# 31.10.2014 ML create file +# 27.09.2018 ML edit comments, extend vector table +# 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG +# 27.02.2019 ML move section of exception handlers to bottom of file +# 25.09.2019 ML minor changes for a better code and comment understanding +# 04.09.2020 HL port from STM32L476RG to STM32F411xE +# 21.09.2020 ML tidy up, comments and formatting +# 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 +# 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U +# 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 +# 24.06.2025 TK remove /* ... place your code here ... */ +# +# Status: working +# +# Description: +# See the description and requirements of the requested application +# in the lab exercise guide. +# +# Notes: +# - MCU speed at startup is 16 MHz +# +# ToDo: +# - Change the example code to match the description and requirements +# of the requested application in the lab exercise guide. +#****************************************************************************************# + + .include "G431_addr.s" + + +#----------------------------------------------------------------------------------------# + .section .vectortable,"a" // vector table at begin of ROM +#----------------------------------------------------------------------------------------# + + .align 2 + + .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRAM1 length) + .word 0x08000401 // initial Program Counter + .word _ISR_NMI // non-masking interrupt + .word _ISR_HARDF // hard fault interrupt + + + + /* N.B. + Look at the .space or the .org assembler directive to insert the address of the + ISRs at the right place in the vector table. Verify your settings by the help of + the list file. */ + + .word _ISR_S0 + + +#----------------------------------------------------------------------------------------# + .text // section .text (default section for program code) +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global init + .type init, %function +init: + CPSID i // disable interrupts globally + + MOVS r0, #0 // safely initialize the GPRs + MOVS r1, #0 + MOVS r2, #0 + MOVS r3, #0 + MOVS r4, #0 + MOVS r5, #0 + MOVS r6, #0 + MOVS r7, #0 + MOV r8, r0 + MOV r9, r0 + MOV r10, r0 + MOV r11, r0 + MOV r12, r0 + +#--- enable port clocking + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for ports + STR r0, [r1, #0] // apply settings + +#--- port init +#- LEDs + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0x03 // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r2 // delete bits + MOVS r2, #0x01 // load configuration mask + ORRS r0, r0, r2 // apply mask + STR r0, [r1, #0] // apply result to port A mode register + + LDR r1, =GPIOA_MODER + MOVS r3, #0x05 + LDR r0, [r1, #1] + BICS r0, r3 + MOVS r3, #0x02 + ORRS r0, r0, r3 + STR r0, [r1, #1] + +#- switch LED off + LDR r1, =GPIOA_ODR // load port A output data register + MOVS r2, #0x01 // load mask for LED + LDR r0, [r1, #0] // get current value of GPIOA + ORRS r0, r0, r2 // configure pin state + STR r0, [r1, #0] // apply settings + +#- buttons + + /* ... place your code here ... */ + + +#--- button interrupt config + +#- enable clock for SYSCFG module + + +#- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) +# in SYSCFG module (SYSCFG_* registers) + + + + +#- configure lines in EXTI module (EXTI_* registers) + + + +#- NVIC: set interrupt priority, clear pending bits +# and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + + + + CPSIE i // enable interrupts globally + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global main + .type main, %function +main: + LDR r1, =GPIOA_ODR + EORS r0, r0, r3 + + STR r0, [r1, #0] + + + + BL delay + + + B main + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .thumb_func + .global delay + .type delay, %function +delay: + MOVS r6, #0 // ... + LDR r7, =2000000 // ... +.L1: + ADDS r6, r6, #1 // ... + CMP r6, r7 // ... + BNE .L1 // ... + BX lr // ... + + +#----------------------------------------------------------------------------------------# + + .align 2 + .global stop +stop: + NOP // do nothing (NOP is here to avoid a debugger crash, only) + B stop // if this line is reached, something went wrong + + +#----------------------------------------------------------------------------------------# +.lp1: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + +#----------------------------------------------------------------------------------------# + .section .exhand,"ax" // section for exception handlers +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_NMI, %function +_ISR_NMI: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x44 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x0A // load mask for blue and yellow LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_NMI + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_HARDF, %function +_ISR_HARDF: +#--- enable clock + LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + MOV r2, #0x01 // load mask + LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + ORRS r0, r0, r2 // configure clock gating for port + STR r0, [r1, #0] // apply settings + +#--- init pins + LDR r1, =GPIOA_MODER // load port A mode register address + MOVS r2, #0xFF // prepare mask + LDR r0, [r1, #0] // get current value of port A mode register + BICS r0, r0, r2 // delete bits + MOVS r2, #0x11 // load configuration mask + ORRS r0, r0, r2 // configure pins + STR r0, [r1, #0] // apply settings to port A mode register + +#--- switch some LEDs on + LDR r1, =GPIOA_ODR // load port A data output register address + MOVS r2, #0x05 // load mask for red and green LED + LDR r0, [r1, #0] + BICS r0, r0, r2 + STR r0, [r1, #0] // switch LEDs on + + B _ISR_HARDF + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S0, %function +_ISR_S0: + PUSH {lr} // save special content + +#--- do the work + + +#--- clear interrupt flag + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# + + .align 2 + .syntax unified + .thumb + .type _ISR_S1, %function +_ISR_S1: + PUSH {lr} // save special content + +#--- do the work + + + + +#--- clear interrupt flag + + + +#--- leave ISR + POP {r1} // get special content back + BX r1 // go back to where we came from + + +#----------------------------------------------------------------------------------------# +.lp2: // this label is only to nicify the line up in the .lst file + .ltorg +#----------------------------------------------------------------------------------------# + + .end + +#************************************** E O F *******************************************# diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/task1/.indexes/c4/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/task1/.indexes/c4/history.index deleted file mode 100644 index c9360478a701d0f3a99c5fbcc1c5f62f1153ac30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45 zcmZQ#U|?Wm;L#5*O4ct)EY3F6OJ-pFFz-MvzY>F>%%XROZ0mPC^O@V$zjZuymJLguTN$G1I7iD^Et{l2eZVn0RY$$3d{fi delta 36 pcmdlex>0mPC^O^o$zjZuymS88y{lsY1I7iD^Et{l2eZVn0RZPJ3xNOt diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/task1/.markers.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/task1/.markers.snap index 1b39a065cbe90d00dba45d2fa29684a4227b6707..3d67e0cadceb83d4bc72e57c8e370702b4a79fe7 100644 GIT binary patch delta 24 gcmaDWvQ}inDkjDilUFlMV4W*adVTU{2j;hI0D#U45&!@I delta 89 zcmZ20@>XQSDkjF|lUFlMV4d^F?p@tx2j;hI4h|c;8kP0JZof A{{R30 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/task1/.syncinfo.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/task1/.syncinfo.snap index 414a6b37c4de976cc65a3e6047ebd48c8e896c47..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 80 bcmZ?R*xjhShe1S2b=vdAllRFvP{;=WNU|Zf diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/task2/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/task2/.indexes/properties.index index 755788d95070d13b72cf4f847e24c417442744a3..17d25700db2178416cfe9e374dce23d980cc1598 100644 GIT binary patch delta 27 jcmdnOvXf;(=f=y4jJyoI`X!0Q*+%gt`AL}*CpZBBjnE1c delta 22 dcmdnVvV~*2pa$Z diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/task2/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/task2/.markers new file mode 100644 index 0000000000000000000000000000000000000000..e620ef2905d7c9531e41a3f9f7c58aeb11c77817 GIT binary patch literal 694 zcmcgpJxjzu5S?5KK~b;})Iw4mip}QkK*1}uvG8nE5JbXeGvtO%cH@2!{4o~R{z*4? zaK;0#wAdYX=gqu%ZvY^Mz0`3lC(D~z0Eoir!q)&s+LR1MMU6!!3dah}eaVD2;dw_2 zuMKk9Xi{#*jYI=GaK51?U%?;W8yqZnPB-AGRDtS7d*znkU4w5Pt;3>Y@BTjFq~D-7 zAS#|$SVR$=^$}|_NLk0LYQ+)3b`@IR`#MLnB-pCaT3%ud!;UriQ87&x<}sVRbVbu- zd^vuFgVm4^+8cqlToqNQeop7Q#?>3*Cl$g~HX~`Y&~@V-8i!)8NT!Y9(vkFa zS__xuNLj0mv<(-SO)lECr5*JJ_AHW~ZiQ=A;6p7=ai> ztzlx2$uCOROHIznEGSOZOHL`#OU^G!)hj5jUp7bm6zRce8pV5Oj?rKONt znp2Wlkdvwa)RmrEqEL`nQj%JfSFER?5L}X9pvSW~ZiQ=A;6p7=ai> ztz}}6$uCOROHIznEGSOZOHL`#OU^G!)hj5jUp7bm6zRce8pV5Oj?rKONt znp2Wlkdvwa)RmrEqEL`nQj%JfSFER?5L}X9pvSTQvxjj delta 7 Ocmd1En2^R~Xa)cZRRS;o diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.markers b/.metadata/.plugins/org.eclipse.core.resources/.root/.markers index 661c3b50a12a4199f6cc9ef56e2e732a349ab60d..e1eb401e5ad42481155a1ba1f807b1c5159e9f3a 100644 GIT binary patch delta 54 zcmbQrGL>b5@8lVbHjJ7R-%C%-+{nl@S(?#RfGa06FV(L!Hz~Db5FQewfIO&N?H!?Cz4rg?oyq3{oqOXk*S59VLs$XetQfd(s0|SFMg9=d9 IWJV?t0K}>fK>z>% diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap b/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap index 414a6b37c4de976cc65a3e6047ebd48c8e896c47..171766e2e8ca6253b6403a0d2b930f75fc6c1f75 100644 GIT binary patch literal 565 zcmaJtzPG3F%p+dkv literal 80 bcmZ?R*xjhShe1S2b=vdAllRFvP{;=WNU|Zf diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/66.tree b/.metadata/.plugins/org.eclipse.core.resources/.root/67.tree similarity index 62% rename from .metadata/.plugins/org.eclipse.core.resources/.root/66.tree rename to .metadata/.plugins/org.eclipse.core.resources/.root/67.tree index a8bbfbfbd20e109abe68e07f150397a37bf4c893..4e78ca4668fc7e4b5ae1a7860b5b6f9d3f51f332 100644 GIT binary patch delta 1096 zcmZvcO=uHA6vt=wBinp78;WUZA#F+$8f3*tsY;!!8`As#%5 zm+-(_5elC4pyVP5dQ(s0$(taeCofWq-v{4(WjEkL_D%NxoBzCdZ+1V;9nMV{x~36+ z6%7&9oj&SLOqqmglstLu(Xsu+*7%|nQy53(xCHab6X0vRl)x8lmUELrE4Ub`9D8s^ zU*PIR`D7)eu0mHI;p(*FLuw74>w8=+N_8QmR^hVoY=-5h)M`jQPe|0?Sy`=LcQzU< z8#ra&8}LG+pXCMkXdZC2Bv)eDsy$qS{m6WdRIy}~ttT1dHZlpp8(mn=jzZd+!Frsv z9C(|JK+AGEj9-$T%NUg>Rw34Q{l-bBS@+xcI8Bwk#Pf%U4~wbOs6_?7;cgAkWkKY> zVN6RJd#W$BJmh-gLvJX&9LvC;=(+go>-hE0|mQVD*=`4Qn!iV}`>|^qZpF(q2@m5(yx?+evW=QLTz7g;6Ddj! zc$GYk_oL)whwr}PxJ@53&xp+J-Mq&=N#O^^j2IU&b4k~lYeB7$u1WeQMmwMrY@ZdU z>F%_=b(~-*`xhSsM9UoWZ7wGJFe{2IyM5#Pdtpo-W4tTI_Caqml@qVCthj|oP+3_%d!2jlh6|B_ Urm)$nDGv~FdgqQ!nf#OS4}LhKJpcdz delta 1085 zcma)5O=uHA6rS1LByE$XEtHgKvDmOxLs)G@lY>~BN=iK_(xXDMeCf!Z22cZ`Q zksK@oLZMKx7cZi91rLIEuOfI74~i!di8m|go1fKqa}M){`M&wyd*96TbDwh4iY!Tp z4b|c?nDL{{>BAcm3Uzd^K9903x1!l*qt^Cp&9pjNQ+M==Z5iEK!?In?Y`L~pv7M$~ zx5XY)636rZb9~j*9mjT;TF$jvr9g#awo6s8A|na!6-=Dm-v2gtLev?Abu z1+Qa;*wU%w_RnO0o@1&mI1p5W_|ig=qL&3~44@`LL#$uT>mrQCF_?n~rGO9&)gpO$ zofdQ<#rM>O0E0y5$ZPrKF+f+|2y}4(Eg&@Pbq%ZLYRx)iQpjWFKGO=WV`+eWo?Hz* zr0B|Lp;a6}m&sK4OjcQBwE{<2qTB*bl=GB(2*p~)b=&NCTBGK5Af-fZhc$5PIh#L* zPcqM{B0-r)I;%Q49!V@y8`^w#whxiI4jZUUf|w|1lGwz@p?U_JKfxnkgCxRp2#n e<9U~V5A6SP%Rr=qdU~3z5Na_WAT1kkPrm_8E!V^V diff --git a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources index d32477e2532a23314a8e8f25ffaf409af13d8e8c..686256b7d52ea9d35cc16986f3f1db69a1f5ea59 100644 GIT binary patch delta 141 zcmX@fy@Y*&I+u}&f}x3(p`n%G&X zvmvATd5#-N_%ASSO}va2cDMT9_J|m>QT)d?+_@i^gOt z<_Jc!$qh^vXgZ=%l}`S{*bG)@ARL~WqTriYq+n>FU}$V*WNKw<1hruiRuw=un3$ug v5OOQZ1e;-G05rzR(9p_wqM`BRuS|1=%(xCj{Qj)Ghe1Rt@N-Y~?($;*3)?<( diff --git a/.metadata/.plugins/org.eclipse.core.resources/66.snap b/.metadata/.plugins/org.eclipse.core.resources/66.snap deleted file mode 100644 index f42c95859a1f05244a25e770fead8b21022a7a0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 914 zcmZ?R*xjhShe1S2b=vdAllRH7Ff%bRfPv~q2n{0{SAbZIK*Y$%z*>@6oNdU=$iN(2 zlnkUeinCKok~8#@feKg{fhI7{Wq9J~3el_j0Z7A4{mgJ6;`e8;m4Tmos&|(kbHMF{ zPY?rOBymmvIuGWASL=0 zhG>G3ND;w;NDG{L#i=DFnR)5Oz!V{xlbDxYnwXvn7u2iB%>l*@10;FyD6H5GHI5HR zi$mFJ3=s2-fJTsL-s&k(GYXN+>x7zTOuBh%r6K0ACjn`GD7y%1o(UP|$wACu=mF9& J|1QCZ1puFSz|#N# diff --git a/.metadata/.plugins/org.eclipse.core.resources/67.snap b/.metadata/.plugins/org.eclipse.core.resources/67.snap new file mode 100644 index 0000000000000000000000000000000000000000..a3f87c560253b8ffb8e64c8fec52d5b0bb60c1f1 GIT binary patch literal 803 zcmZ`&J4*vW5Z=utJX;uRJPx!BlQ_y;77UAUYvhHOm8?x`V_wdvIO02>8M z(ZVVs+W0T5{Q*Hi0^;m5q;NRy=J9HV<1)3e7R4mKbjoyy|KpUoZ1RB2xSl68SQ$!vddDHm+_x zvbwcob!*A$X)qg=hNUL7Er>=Jw50Y+Qd0F^p*s*!%@JB-T;Now;kUq$6ZT-D((4hQ zGK|p-%pT$E#nIY>x)=A%+z&!-U+3@$qzCl0ML%gYAdI-@2&F|uk5E6{3wD8kG~svl zN5Sw4e7jn|v*{`06Necngh*+`y|8F#Xaa2x0|+DTrQQ{fG$#&j+Jv|fv6ynNJR(Mt z(`WvA)79NmgM^X5cvO=m-YnM$g9VOe\r\n\r\n +prefWatchExpressions=\n\n diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs index 79b0632..995880c 100644 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.launchbar.core.prefs @@ -1,7 +1,7 @@ LaunchTargetManager/org.eclipse.launchbar.core.launchTargetType.local,Local/arch=x86_64 LaunchTargetManager/org.eclipse.launchbar.core.launchTargetType.local,Local/name=Local LaunchTargetManager/org.eclipse.launchbar.core.launchTargetType.local,Local/os=win32 -configDescList=org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task3 Debug,org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task3,org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task4,org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task2,org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task1 +configDescList=org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task3 Debug,org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task3,org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task4,org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task1,org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task2 eclipse.preferences.version=1 org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:A3_Timer/activeLaunchMode=run org.eclipse.cdt.dsf.gdb.gdbRemotedescriptorType\:task1/activeLaunchMode=run diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs index 3a0425b..d4a53bc 100644 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs @@ -1,6 +1,6 @@ IMPORT_FILES_AND_FOLDERS_RELATIVE=true IMPORT_FILES_AND_FOLDERS_TYPE=23,1 eclipse.preferences.version=1 -platformState=1772304866316 +platformState=1772304866322 quickStart=false tipsAndTricks=true diff --git a/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml b/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml index 3a04ff5..c599879 100644 --- a/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml +++ b/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml @@ -2,8 +2,8 @@ - + @@ -24,8 +24,8 @@ - + diff --git a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index a041b0b..977dc6b 100644 --- a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,8 +1,8 @@ - - + + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration - + @@ -11,9 +11,9 @@ topLevel shellMaximized - - - + + + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -67,70 +67,71 @@ persp.viewSC:com.st.stm32cube.ide.mcu.buildanalyzer.view persp.viewSC:com.st.stm32cube.ide.mcu.stackanalyzer.stackanalyzer.view persp.viewSC:com.st.stm32cube.ide.mcu.sfrview - - - + + + active + View categoryTag:General - + View categoryTag:C/C++ - + View categoryTag:General - - - - - - + + + + + + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + General - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:General - - + + View categoryTag:General - + View categoryTag:General - + View categoryTag:Make @@ -138,7 +139,7 @@ - + persp.actionSet:com.st.stm32cube.ide.mcu.informationcenter.actionSet3 persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -192,121 +193,121 @@ persp.editorOnboardingCommand:Step Over$$$F6 persp.editorOnboardingCommand:Step Return$$$F7 persp.editorOnboardingCommand:Resume$$$F8 - - - + + + org.eclipse.e4.primaryNavigationStack - + View categoryTag:Debug - + View categoryTag:General - - + + View categoryTag:Debug - - - - + + + + org.eclipse.e4.secondaryNavigationStack - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + Debug noFocus - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug @@ -315,2195 +316,2193 @@ - - + + View categoryTag:Help - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:Help - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:Help - - + + org.eclipse.e4.primaryDataStack EditorStack - active - noFocus - + Editor removeOnHide org.eclipse.cdt.ui.editor.asm.AsmEditor - - - Editor - removeOnHide - org.eclipse.cdt.ui.editor.CEditor - - - - Editor - removeOnHide - org.eclipse.cdt.ui.editor.CEditor - - - - Editor - removeOnHide - org.eclipse.cdt.ui.editor.CEditor - - - - Editor - removeOnHide - org.eclipse.cdt.ui.editor.CEditor - - + Editor removeOnHide org.eclipse.cdt.ui.editor.CEditor - - + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.asm.AsmEditor + + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.asm.AsmEditor + + + + Editor + removeOnHide + org.eclipse.ui.genericeditor.GenericEditor + + + + Editor + removeOnHide + org.eclipse.cdt.ui.editor.asm.AsmEditor + + + Editor removeOnHide org.eclipse.cdt.ui.editor.asm.AsmEditor - active - + View categoryTag:General - + active + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + View categoryTag:General - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Make - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + ViewMenu menuContribution:menu - + - + View categoryTag:C/C++ - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug activeOnClose - + ViewMenu menuContribution:menu - + - + View categoryTag:Debug - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - - + + toolbarSeparator - + - + Draggable - + - + toolbarSeparator - + - + Draggable - - + + - + toolbarSeparator - + - + Draggable - + Draggable - + Draggable - + Draggable - + toolbarSeparator - + - + Draggable - + - + Draggable - + Draggable - + toolbarSeparator - + - + toolbarSeparator - + - + Draggable - + stretch SHOW_RESTORE_MENU - + Draggable HIDEABLE SHOW_RESTORE_MENU - - + + stretch - + Draggable - + Draggable - - + + TrimStack Draggable - + TrimStack Draggable - + TrimStack Draggable - - + + TrimStack Draggable - + TrimStack Draggable - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + platform:gtk - + platform:gtk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + type:user - + type:user - - + + - - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - + + + - - + + - - - - - - + + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Editor removeOnHide - + View categoryTag:Device Configuration Tool - + View categoryTag:C/C++ - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:SWV - + View categoryTag:Debug - + View categoryTag:FreeRTOS - + View categoryTag:FreeRTOS - + View categoryTag:FreeRTOS - + View categoryTag:FreeRTOS - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:C/C++ - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:ThreadX - + View categoryTag:C/C++ - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Make - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:C/C++ - + View categoryTag:General - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Help - + View categoryTag:Connections - + View categoryTag:General - + View categoryTag:Version Control (Team) - + View categoryTag:Version Control (Team) - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:C/C++ - + View categoryTag:Debug - + View categoryTag:Other - - + + glue move_after:PerspectiveSpacer SHOW_RESTORE_MENU - + move_after:Spacer Glue HIDEABLE SHOW_RESTORE_MENU - + glue move_after:SearchField SHOW_RESTORE_MENU - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/task2/2026/3/13/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/task2/2026/3/13/refactorings.history new file mode 100644 index 0000000..b384294 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/task2/2026/3/13/refactorings.history @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/task2/2026/3/13/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/task2/2026/3/13/refactorings.index new file mode 100644 index 0000000..9ee7ec3 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/task2/2026/3/13/refactorings.index @@ -0,0 +1,2 @@ +1774358097434 Rename resource 'task2.s' +1774358106409 Rename resource 'task2_efe.s' diff --git a/.metadata/version.ini b/.metadata/version.ini index 5a2a0e8..4ec6510 100644 --- a/.metadata/version.ini +++ b/.metadata/version.ini @@ -1,3 +1,3 @@ -#Fri Mar 20 18:06:30 CET 2026 +#Tue Mar 24 14:11:27 CET 2026 org.eclipse.core.runtime=2 org.eclipse.platform=4.30.0.v20231201-0110 diff --git a/Zusätliche Abgaben/Termin2.typ b/Zusätliche Abgaben/Termin2.typ index afddcf6..0f86cb8 100644 --- a/Zusätliche Abgaben/Termin2.typ +++ b/Zusätliche Abgaben/Termin2.typ @@ -1,9 +1,17 @@ = 3.2 Aufgabe 2 - ASM: Interrupts, Entprellen == Aufgabenstellung: -Das Programm soll per Tastendruck den Zustand der LEDs wechseln. Taster *S-1* soll *LED0* und *LED3* ein-bzw. auschalten, Taster *S1 LED1* und *LED2* +Das Programm soll per Tastendruck den Zustand der LEDs wechseln. Taster *S1* soll *LED0* und *LED3* ein-bzw. auschalten, Taster *S1 LED1* und *LED2* == Vorbereitungsfragen: === a. Welche vier Einträge stehen am Beginn der ARM Exception Vector Table? +#table( + columns: (1fr, auto, auto), + inset: 10pt, + align: horizon, + table.header( + [*Postion*], [*Vektor*], [*Beschreibung*] + ), + [0], [WWDG], === b. Wie viele Interrupt-Prioritätsstufen unterstützt ein ARM-Controller maximal? === c. An welchen Positionen in der Exception Vector Table stehen die Adressen der ISRs für die Tasten? (ST Dokumentation) === d. Schauen Sie sich das Prellen eines Tasters an und überlegen Sie sich eine Lösung. -=== e. Erstellen Sie ein komplettes Flussdiagramm für Ihren Lösungsansatz. \ No newline at end of file +=== e. Erstellen Sie ein komplettes Flussdiagramm für Ihren Lösungsansatz. diff --git a/task1/Debug/Src/task1.cyclo b/task1/Debug/Src/task1.cyclo deleted file mode 100644 index fba7d9b..0000000 --- a/task1/Debug/Src/task1.cyclo +++ /dev/null @@ -1,3 +0,0 @@ -../Src/task1.c:53:5:main 14 -../Src/task1.c:157:13:GPIO_init 1 -../Src/task1.c:197:13:delay 6 diff --git a/task1/Debug/Src/task1.d b/task1/Debug/Src/task1.d deleted file mode 100644 index 88b76a7..0000000 --- a/task1/Debug/Src/task1.d +++ /dev/null @@ -1,11 +0,0 @@ -Src/task1.o: ../Src/task1.c ../Inc/stm32g431xx.h ../Inc/core_cm4.h \ - ../Inc/cmsis_version.h ../Inc/cmsis_compiler.h ../Inc/cmsis_gcc.h \ - ../Inc/mpu_armv7.h ../Inc/system_stm32g4xx.h ../Inc/STefi-Light.h -../Inc/stm32g431xx.h: -../Inc/core_cm4.h: -../Inc/cmsis_version.h: -../Inc/cmsis_compiler.h: -../Inc/cmsis_gcc.h: -../Inc/mpu_armv7.h: -../Inc/system_stm32g4xx.h: -../Inc/STefi-Light.h: diff --git a/task1/Debug/Src/task1.o b/task1/Debug/Src/task1.o deleted file mode 100644 index ea0955bda292784f819baec36c9579c52a51ab7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638388 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

mZ-t>Js$l_B3WQb+b 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

eU6dquyM7ovc6;&)1~pKzsdYMVKp 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 DA%Xb_ diff --git a/task1/Debug/Src/task1.su b/task1/Debug/Src/task1.su deleted file mode 100644 index 92aa987..0000000 --- a/task1/Debug/Src/task1.su +++ /dev/null @@ -1,3 +0,0 @@ -../Src/task1.c:53:5:main 24 static,ignoring_inline_asm -../Src/task1.c:157:13:GPIO_init 4 static -../Src/task1.c:197:13:delay 24 static,ignoring_inline_asm diff --git a/task1/Debug/Src/task1_it.cyclo b/task1/Debug/Src/task1_it.cyclo deleted file mode 100644 index 98e7272..0000000 --- a/task1/Debug/Src/task1_it.cyclo +++ /dev/null @@ -1,2 +0,0 @@ -../Src/task1_it.c:56:6:ISR_error 1 -../Src/task1_it.c:76:6:ISR_default 1 diff --git a/task1/Debug/Src/task1_it.d b/task1/Debug/Src/task1_it.d deleted file mode 100644 index 77538df..0000000 --- a/task1/Debug/Src/task1_it.d +++ /dev/null @@ -1,11 +0,0 @@ -Src/task1_it.o: ../Src/task1_it.c ../Inc/stm32g431xx.h ../Inc/core_cm4.h \ - ../Inc/cmsis_version.h ../Inc/cmsis_compiler.h ../Inc/cmsis_gcc.h \ - ../Inc/mpu_armv7.h ../Inc/system_stm32g4xx.h ../Inc/STefi-Light.h -../Inc/stm32g431xx.h: -../Inc/core_cm4.h: -../Inc/cmsis_version.h: -../Inc/cmsis_compiler.h: -../Inc/cmsis_gcc.h: -../Inc/mpu_armv7.h: -../Inc/system_stm32g4xx.h: -../Inc/STefi-Light.h: diff --git a/task1/Debug/Src/task1_it.o b/task1/Debug/Src/task1_it.o deleted file mode 100644 index 21c0e1ec7b0f0d2314cd3a177e7fff6b8958acbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637952 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≧pP_#v>A^Mzy?zP2xc(J;o*dd&3&7gKdz7 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
PSsQP;hwwf-`#< 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 clMO?}C+{V2;!jnA5uXuw$@E-r*Q^uMb$mew? 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 XAf{jVcimWrLkoia{p%*KjH&y7>i?23 diff --git a/task1/Debug/Src/task1_it.su b/task1/Debug/Src/task1_it.su deleted file mode 100644 index e608c86..0000000 --- a/task1/Debug/Src/task1_it.su +++ /dev/null @@ -1,2 +0,0 @@ -../Src/task1_it.c:56:6:ISR_error 4 static -../Src/task1_it.c:76:6:ISR_default 4 static diff --git a/task1/Debug/Startup/startup_stm32g431kbtx.d b/task1/Debug/Startup/startup_stm32g431kbtx.d deleted file mode 100644 index 11b27a3..0000000 --- a/task1/Debug/Startup/startup_stm32g431kbtx.d +++ /dev/null @@ -1 +0,0 @@ -Startup/startup_stm32g431kbtx.o: ../Startup/startup_stm32g431kbtx.s diff --git a/task1/Debug/Startup/startup_stm32g431kbtx.o b/task1/Debug/Startup/startup_stm32g431kbtx.o deleted file mode 100644 index c80d4e0333ece4ebc315abc3fa641fa235b7413f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2540 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 diff --git a/task1/Debug/Startup/syscalls.su b/task1/Debug/Startup/syscalls.su deleted file mode 100644 index db376b7..0000000 --- a/task1/Debug/Startup/syscalls.su +++ /dev/null @@ -1,18 +0,0 @@ -../Startup/syscalls.c:44:6:initialise_monitor_handles 4 static -../Startup/syscalls.c:48:5:_getpid 4 static -../Startup/syscalls.c:53:5:_kill 16 static -../Startup/syscalls.c:61:6:_exit 16 static -../Startup/syscalls.c:67:27:_read 32 static -../Startup/syscalls.c:80:27:_write 32 static -../Startup/syscalls.c:92:5:_close 16 static -../Startup/syscalls.c:99:5:_fstat 16 static -../Startup/syscalls.c:106:5:_isatty 16 static -../Startup/syscalls.c:112:5:_lseek 24 static -../Startup/syscalls.c:120:5:_open 12 static -../Startup/syscalls.c:128:5:_wait 16 static -../Startup/syscalls.c:135:5:_unlink 16 static -../Startup/syscalls.c:142:5:_times 16 static -../Startup/syscalls.c:148:5:_stat 16 static -../Startup/syscalls.c:155:5:_link 16 static -../Startup/syscalls.c:163:5:_fork 8 static -../Startup/syscalls.c:169:5:_execve 24 static diff --git a/task1/Debug/Startup/sysmem.cyclo b/task1/Debug/Startup/sysmem.cyclo deleted file mode 100644 index 4092bc6..0000000 --- a/task1/Debug/Startup/sysmem.cyclo +++ /dev/null @@ -1 +0,0 @@ -../Startup/sysmem.c:53:7:_sbrk 3 diff --git a/task1/Debug/Startup/sysmem.d b/task1/Debug/Startup/sysmem.d deleted file mode 100644 index 17ffda1..0000000 --- a/task1/Debug/Startup/sysmem.d +++ /dev/null @@ -1 +0,0 @@ -Startup/sysmem.o: ../Startup/sysmem.c diff --git a/task1/Debug/Startup/sysmem.o b/task1/Debug/Startup/sysmem.o deleted file mode 100644 index c167de85d3d3c6942b093e9d72e663d88c5d8ce1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47856 zcmdVDd3;=D^*?^^OeWn+OM%jsWhhHq+N85(G64!qlF34|kx9C+IGs!;ZEVw&BwY|u z7G+TuL1YyH*+fJXWfKulmJj0kQ9gWCT=@vNAfhNLD&P0}Jm;CYGg+#y-}euH^Gfdf zF3)|I^PK0L^PK10d*7dGYjR!Ju|L;Y?i7z4=OdqyD}k86a_2PXRJnc>j+fz|X_w=F zh3+2>T&er3fK|F*4P34JAz)bdBfzNcvy2+uj{|FUKLM=M{bPW~>i%)SHM)O1@C4mI z5t!8ddSHX@Hv&_--vn&d{T5)W?waObMD=9 zU;DkqXJyYCJT|*v?UF6dO5bUA*P2Eejft8N9xJ+JC?E)<56zH_cwU zcvI)^--*un*>t3Rd($*c6F6zXrnk2o*mPj+qfO^LitI~%{UCI}aVvOoT41*09Q=j# zjx+aNj)VP@-}H*W;Px@cx8+dB@m;Z)9pY9@y9h*crw0~+?(X!8^FR{Ut$b;JBspV_ zw|m}fe7`Z|Iya4Op8`lhv>3aAKtZ64BnZz4^j6&h zDe%@t$2n%-CnWip|8msw*nOFi?}{D%M|&LSxY?|X?}}|s#pkf&xJNj%W*tAvKNlwt zaQt(RnRV=}x>>CYQ1=)Q4|C12??BXbA7|EK6}*Pw;kkCgqT?2!!ACi~G;O|nh4bBc3(s8WIMcP1>7X7mnFShDJ0~o%#VuRZx`0{Cs&-3H&Ug2%Jn_KyE^?9a z?0~0wtd4UKTf#;-6|&`qq_e+$uoKX0pc^j+%nfqncU=F0m1cKFATZ;cC1~`lX@Ob) z4VwGsOb<-I45QFLb4Fm=rR15JGbL?>+4^VA3iyr%Mg0}C^-N%nH-Vm<>(iZm=E{!$ zKzm}zK7q=gVGR4H`Arhd*(6&!&zv+zU-!@V&zSB_p!*g6Mf>_^EC|f};_1j~&VJ@5 z|J;(KfjNH$g(@o0eEjVXo)0)0LUIM1Es}E&7$o34fjS4ABhUu{=N`zrfYY!qw;M2uQ6kyU z`H`f_HgmsO@_b!dv;ZR_;4GF_+}FbWAxYmR^*>bT&;?oroGTy!1I`Yq!@GmrKOM3? z;AGZw`lgOvOBDLiuxBx=C9ZxgpO(R%@>UGjfG$~r-4^6mLN|Dx0?T*LjVg|;mi z>;dP@jof}lsL=zS3ph_f(gvI#$oA8RaQ`i^V8E%79Bz=Z_80n}3_%ufHVRdv5E=pJ zIjPlA7zZd313ln8ej2xDfn@{EDN@6IrFH)!J^Mn8=kwBQZ%P~gYc|hxNIr4NXP#`2 zmU350+t&!4w{AXxTR_(&r=5loK;fdUD9hw>A^;!?GCwm=Q5@_ zAF3eW+%G+~Tzcd*;rW@u8#Tg>9~b((Px#?|(ieZ5$Gg5eliME)P1Zvy2Ar3KbABed z9VBP&kv{$A3|?J)JhwjKnV(CqO&2=cENz()=G9mgw_D|Elk~-O=~=(DE-rPrR$Bd% z@WW*?3a*v?UrJkE6e`UG5duz1D6r;4?tkZSZfo1P?UMeA3CCuH!XX()KNJewD?D>a znkg5b%5B{-+#WZd+h>Jtzm_u}Ihbd9rLTV`e35J1PhbM#& z4-uO0kNOYhI{-a0w6R%FE!lEax&haJ+=cS|W>l6$8KUp+0<__Va;9O0ZRrL61Y z%x#14!E%t*(pRKK*RJJV&n@Bhe$$(u;r1s-aQmGTxV>>PxBE!nT`x3$pGdZC($cr2*KQR$ zd`Ia2kfga^@(E1my)t3wPu9Eck1$jO!y*w!GeWHeERti77 zOK84XIOKNGJ3kY?y+m5HQcAg3`1vPNw{GF&Z9?;>CH<|CmX*$VQj@olrqVg8f!ix& z|J?Q5k1u11ha%@nXEDZgrPB`HsC3p!FML9H`$x#F()o!{{%Yyjhfm~PdvI^1bGoU6 zv@4P1ncqu~|5{qK4kQjZf0tG~xIgzlApO{ZdR98sLV;sYD_Ame*XcM@>9p4H%)3D0 zN~cL`^)1PHCfZo(TndU+I+sJLS2_3YFvYUNYq4E<0L!XAiqw9|cOe<>W#9AU!Qc8890GXV_g;>)KlrLxkw5v?kW2sK zJB*dP!rzks+~7ahX5IcrGX1HSoPurNJ!Gle1;=1}enk~8Tu|`|G+Ziiz_aYO!`k=3 zcKHdtAi??WGi>Dt-0Mh?i`;Y2Pl1cwL3Y}Q+{K%4^kMgl?4(b)E#$|W++VQxx7>42 z1pLE&fereg?-Lx|AM)Lc4i0?Gw~`dN&ew@@12_5JqJ+BFhblRN$9(sY_nz~e1CToX z%zYj?Rle-D&BcjdyK%x_Tsjs4e|H}sobS8$K)}VmZ9KZ#_mOpgPx^G=JAp%2uf>UA z{7`HU`#>GGN517^yYf$@Y3l4**tWhrAKR1S82eJ}vOKRXPjfULy=FDGA8?=IVZbH6QPTWU z-;?Z}%Y3i0DVO_>B+)+N`+OX5g>M>O0ljM@;*G4KoDA9qt#&DPMMDtnatnx&+F4)4dl- zq-O8`AjVzbN_PXL)m3gc+2{-I!}|dqalcD=+#O}!&$>@zgh^HA|DFZ!f39t_ub=ci z{B;hKBlnP1mwkgG;plIWKUO{bE^MnSLCZks)}yhFyw0H)n{zO>@%OMPiQBn;-+Gi9xZBr4J^LBo=MMnfujq#_0V48R{FpzAnHweZM3TKjpvp zRKQpLcYxqRsafBt#m>A(Ih+>1&Hbu-tpI(_e+PT#dH*Np0)FC;gJS}}@Q2BMulVl* z3k3e){|qbnC;!1q0dM=apd$kR^mo?)&aJqPoPAA2hBd#w;y0}1jTJcxzfV+DatPg2 z@lSTf%@sqe-7OWbu~wg~*mMfu){0JEyRD-BP{8dKYuI0RRQ!%v-&t|r3c#l-e#-v8 ztKtT*WZ=^kpJmFsEB0^*eWv0Il&|+xe31@j>GbAfn!Ofb1J)!09;zxL%#S(<=JGLD=UK(3U5??3*-?7 z*|(k@e)vMR;>b;`+EE>3k7e(WWXq2VV!L99)Hu4GUA)p|QL9{XMAa%1r1}^NwAC#v zE%ZmWIQ(&Rcp&lzvTOXq7$$+*W_Eev7LvN|fzz-(=2=$Y*sht_9=C_}Uh_#-`}ib> zzzH8DQ=T|NW=?*e>&pn(67r5`| z-50vAv6&aSr?8zDyG@Wj5dKG#0v~oiMABU1{x|c!)EyyzT;?uh?w7k~l2jjYKeY;Q zm3s=g^JDJGq{`LqYwYK1+$H4IYu*1k8E~DunuG0ncMi+D!Tl!T>w&0+Zo zcMi#Ole>l$yxAQjm)+)`LrUE4{;URYhr2JSaHsoT-tZ~+;u8S(xR;WkpLH)~uiook zUk`ZD-Is&uA@@Xf(ZlW$?3XXOuW*b$;@(VA^qAYs+n;dHu|sy|)1=nCKjO~Hm2X3a zR<5G(tE{3My0ZGC=vCipdciA0V`xof_^xBHjaM>)ie8Uz<*T6}SuzKCU+l1}uZ9KE(D2|*ne!w2y6Cnqk>%PgZy2yQl z{Q6P%b&~uVciN$VPr9Ebb?|akpEUIL8E;*ay?XV^6up@6K(=OYe%u?0EG~utZVbLG3 z$LscG2dvpZhCE?kR<>~$$A9aa&DeJQlzpAPzg0_Gcq++oa6=H=!(XN-S#bf&sCkvd zJ7EYl3bZ~%qNcZ!A%aMNaly!*I4|+?ySQBUvi&h^PY77J{$0qyXFwU)9!bf zX z90<6`SIf3v?K_YxevR+0;{ezC<}uGZd{d%pa*ZO}&VqNFIm0f+C|1TYY+x@SynV@>^tA}@ttsdpyP&AU; z*_R*e&u7Bb;dpgu^^R>jHxF(fU7Z^qsvaG~pC+kBn(Cq4&g%T0vHZyP?6$Gt;ccVU zo44<*lD(>d;gKpyT^){8N2^Ej+rrh`2Dk6r6OSS9P<154|41wp4@V>6NOZN_wtCxO z-|Ee|-0JMeP}TO~?fI&Fwr_B?WD&-Q&u!b;pZ|}laA`%ghO39Nxh;d+|Nl_a(KAQ? z^Xd7YU&Gbg^Si;jRok=MhaCq*9m)??=Nyc*(Xsyi{6O^(i?Om_R|AQIrLDG~dX$iy6EcI8J#2Zy(t1i9hu z1B07QZiD%JeqaaoQQ|;8JGOH~%14ofx_I}IYTIybtGPEjI+`D01yN|BvS>|VALlb@ z!st#GfNY$A3%>>Bn7_si1UmvX!N9)3)q&ZOKxK7c|4?AziGj+K0)gWLvyKbQULBZ! zLSVs~z|1WH_b}gV2&wh09X*-$){fxvOvdhKGAo=+rZLsf+MaC7G`2QpGQn^yPW84V zGfnlaJvdI_Fuks|F|)2U-CEz43Wjk46^n#|DI4pMUAPB z&hB=Wh74lWbr483@mNhF7LLT?HL-kEG!koy$B@3cp&^s(>1=Op$gFQ@Np@#?GHsm= zYcoyVsZ=n61ah*sBi-8Ek!oc19OT{8*xDV8gbL-gB-5GJj;7X*)}D=$CWG72-0oyY zV=R$LHa0HbF*dRyxLly>_{>Nwfo-YXe*O9EYGb7=2&D~8_pJaBN*x}rYg@^^B=%H zsfNyuj_y=bZ#vZ&42Q`dJtt>c4f_;3X#zHDYpicmE{Rk}A~m7fXrd+oh=juAl28IQ zGF?dq0FMe)BjB91L)ksS<)ee|$qx@0%#5uF9(P_Z`1N!S@3}O zBG0S}X2`?Bp$2V*+fcnAUG-9 z)f|k}I;qB!dpmoA(9*?3(owQ8gHC9J{t1UNsSRDYALKx4Gs4=F$kGhhnkdh9CmUpV zBOO?@x~5w;tZ`Rox^+Wg^uk0)gz9j*H?3@KIA%i=eqB|G-j=nvm^S%oBPkJ-S=P5U z_Ozf3GPa>mdwsgQr*nNnI+N~6_N2-N+R)%=4kK--Z**jAcz13Tf;l^uXSI?L5KXCM zPj7cBQ{RLkm~Ke6K>#GXTYFmCQ$4K>tVanSb#^zVx-(skU71uzV{4MaB?^(kbf9yl zXJc0irwSs8a{(Ea>${U(s9htwp(TjqpkanGL**2uinK6c^B5=8q7mg&m~gc@M)q+Iv^YsrQk*0zEe>Ma(=rJ6lFE!^xA#MH?-@fHWPWyV_m;tJ z`QY*pna+^BWbBYBnv&@3{X*wMn;6IYwK#`bCsiTP)|jph4&{v&DQNYvAu1D9Q%5hC`!P&QlCMzBqC!{o2n4c- z<8IciOGuPyYEMGa2-(;XXiq`m7qw2RwXwTB7>(n;?T`bR-89WI5QVmhkWK}O6RBC@ zq(hCz9HGskZPkEkFmEs)|uF0UegTJ6DuriEvQ0Q(3~P?kllJq831BZMeE9< zVL&snK=T5ll4hAPN^5XIW*|E{1|d2|V;^(C{&Lpw=p_&aHE3AA2fCh|p$D`ZQyWqZ z#-KH9nd(ZnLgRu}LVLnpRkbZ3c8{?!P_8vj%Ik)V(p?R~2(__MNzm#=l@!C&8&{yZ ztc`%fR9kCf5+)cb)YjUOf*j9|4dzh6!R?s9=Q9~ch8E=sH3bwQIsv)#wiL1n$DQ)g zN2V@6Cv-Pln`%#WH>WxpHku|yYMkbd-e5x*gPiVzFihx3G!&1-gH=Ph9Xr?LAj0x{ zs)k}X9>DRyj$N^;(H&L&VWt?^Hk=)+g6Cij_^BT!#H}s+a$DA5%D$^MUp2IH zU`McOb2M1h84AKz(Z2@X3lvy2FtBrbZVc0?s?ogQD9-g~$FkmIP$jpuYUgNna~@Z7 zXXdsI50Oq)@RaP>mftftb|z?Ihq3K*qkGZQGDs2=3<+E_3LLhP@C1*FlD%NR$=pad zT^YCo5)37(&8H?U%41<71*J3)`FDbI6EgDBlBumQ8K)z)zOA)BLt9FX536!) zDmKfSSYlyKr3Qxj#J(yj0jV8i#nNp{*#I4eW=19kVq2S-hyadLG{`GWiqi)%AV@3> zkqOS?R$)M^K|LCQ5~;UHDad!3eVPt1wBos9H+W?&1?8&UTe4%TIICYpVX$g&`yfpG zy_rFSm=4es;?2P|Yl7^;6|kI&=Yq?b=Zc~1Hi%)FLacxVkr9(BW9H?B9B_rj(vB## zBruX1GF{!N?$pW4hqCWpH8i-L^GnD~UdV7J5{|D3u0+Oi25s-`#`)u6uki+%tC$qa zd9MgduN6=8k+NU(C5_dSds|aInGP{~A*x$Dpb4A1Q|UD3TrelK2TR3=ngZkI$0^QK zVL5f9`Va=-!1P9#8Dd3?iHu@8(Kl_7_`;v?p$tQbc*JjGs=l|`UW0!I7QIZ9Rp>!O zr+PN@)TcKFBUDA4&Vt0-^4Zb+avo4RkL2Mk-JBnr;3{tEH5uxtgZT5<1d<(lW|F+* z(os?la^i3$hZgv)$jer5$~aeYm740}5V5)dv#aH10=;6g87q6zL-*2dD_kn79_AB@ z#p0n@9cI8V3d8xTa2$Gm4>A(vN1}~EHF(KiY*b;=BGytzr)ro?CObAZGT66s4BACF zbNjGWHip|83qBr^phn>$ElCfGaby;K14a<)e6|aP^k6E+IjyOP3PWoQm-vJ{Rz!Vg zXIq(rhx5RW6qT^3H|TpXQJ@w~Pa|ML zGQZ^<*Z#Vy;xQ!R5R(B4v73TjlxpbhX+>=)u+uW$+Ec-$y**9vS+%7oOQlQTPU;^V z7(kb70ljqKcojGAhnDf0w51c%60^3c3*Eae)zAYO;hg}RxqCw<-PzmS0Ed`N-l>tu zkF9Wer5ZBvP)$u8S`Bqkl*I)F7ZU5-$YNo>arDzZRnJ4LRALv5x>A9S-cZ%lg`G5K zduz*Q{yR7w&5zPEyA{SZymqPfuAYs-I$C~OsPRjo@>Gc&rK+~zg))8ya%O{=ojsnJ zJp}Ja2?xU9OyBgly}ISuw#bE>Ho z_L}v2hMZJ8PXy_FvfA75zp&3#oRc8i^!5~n8>T_2c9?-{gHf_7gvB`TK&rd5DGiSg zE{mC^T=B|Z@#-Y7YHla|{JZv| zoyyZ88}y$lmcmTIxav~f-O!>m@sNsLM;(NAdYQXEjhVO6yN%#DI=QU?w#ik7l!*@! zLn^Z=gUs|Bf+~X&j11I4*3{OSH2%ke_W73_^hN`bJIOD_wsEY&t7`rBT0JvYR|`gr zy3mGN2-~iza1Dj5r~T!ei>tZ@kcMNRA>9*1hjyoujhXdu2BxqJFJXtsQt_~G$-

q=VV^57bYI%~Z7bjq@*+PIa%N-!AB+>XVJALy$~OQ%yam zX&P(A8K7Z9t2@VuY%6s=!&^jessjXu2S3@+0$Y;ut*blP+@1vC4WXeIdpeRBbre^+ zPBW3S)d*R7+?$i_Wde3{c4#Oou6FFLaNxerY{_SLIJ$5I->F?PfTf2XmK6)r=Y*=<%LV7$sYOAiOGj4*K-PvTrg8e#7uw-=Y^#C6r!h4nMI5KLAw_@dRZ zP$U6?8INO4C6Y+Q;bTlRnKY0Pdo>D z5@dp#iY8@YZKssm!=Oo#k+9~&rJK^_yW)Zkbx^N$oCyuZ?M{JX4NIm#(O$m*PKoT# z=FZqTIFc`y>A~`u$t3Btp25uE&87wtUl%q>STjcpCbwq0j_`&SwI_Z+$x0B zYi#7q%p_%wtJ@T5IT$DsgyDsqjex+QH_9G%b6cuI`mr!_ioB0KBOhgvwAkOKA9+XSoT0m6ng~a*T22y*i)^L%reJ9O{v!=o{g@fkD9BLGWkL-g=uL)3W}sJ^db4F$e3Qy zTVPMG|2f@)wUiS3P-*EALWV`jm4#BsDdnXUxW_K*=t`*Sduo5rl(h$*60<&n*&tT; zQ|ppu;i4VO2ZiYY49g}VVl53zbOP!!-f3fml3n#|PxfGSi&}<7cGjmm+fuN0aJnT} zc1(jOiCLC*SFn~;E_jAYLLUm!xXc*v`ad|vJkt@ZPuWq7HOKZYv&ykIN1LoS3g6pV z9#-7!nxE%9*Xp=5X@>}p>6Ft|J2^c7=i9cyQLfqPwNh_eff-?lWLg_r*D0gX!wO1| zp*>#xB?F1BUhhd!i_+yK+)<|LEpvcGh9)M8Aelx~2d0}-g%M;&;n=n-KxB4L9D%)` zM&zm>;+RJBV};eAk{d&X*aPo9^w@B!pvITX5xlEH7r-v?EjJ-w$x*nm9&`ONz;0 zSrtXBHM3N6Z7g#Yg?qEXTI=|%v0UDk+F+`WMX{wYAqwivENm7W@tDb?jqFtBs#9?t zzM^17Nf--D-I>Nx6ans;iIjJYasCzgxWpkn-jUqKZk}NI$E^Oy;*U9kP}&i&fvzz0b)eOoc2^YikF3mMkH1 zAX_udjXj-7j!Dii*jF%}Iy0%0dy{Pp9o3~1vIMd*HmOJM+VxK(bq5&x2;S*J=o?Bj zmamtSB&ux!r#>A4oKvs}hNG!%XPx}iR>pwz1o_Dv(wr^v-Ayvh0m+9424G_h4=iUh zSGA|w>r>rabL-nVh(ML?8GAiw5(G5`3MVUzw6}4gqF>~6fh5Z3GV~@Ie|Appv8heq zPa)!B;$<(W_6~;lKzDaRv`eI-M9yy#;`DoRBcgIzN5FRbo{`y&g3vD+rD#$jLuR~Y%LOq;yCA(tPsX67aR&fCTJx3 z+f1HCNKX-b_uIa5(lovz|_OcuF7Zf zW|19m0^%NFu&oFMj{#Sk1Q`aIkj`SEWMD~W7;Tf0y<{536@2i$9Sy63hi8zL%1$s; zsbvR#FZb{!5rNJzi?J$W)@!z<+Q6*AI*`EhQkv`LSU_a-v4nk#_y$chG(aL&bu3HB zJv;;E&h-rv@Hf?be|Jv8{fZNQapqbTO;OvUlLR=8J329{;j>2B>SM4zZ4^1$H?ox% zOjC>YgxJMkmTp`uEd5Y3^fL9y9v-*LVAj6lN(ZHvXTVDBN(ZZrpa#b?SGYUqXF=%j z224I1H^Opwq!8d416elQs z3jfaRdz?*QoIsm7w++AEmfvnzrW(RxcqfFDXRba`qFvc-JM&14dXG=KJI9dIy=7RI zYRVjk`igF>sj66#YA-pC{7a24Nwv2eONyVAj-F5~v}G@OmITI6)%5a&Q|4PDCMM6d zJlS6IED1H9D%bLaQ|7xZ9?LRp)`XBRJ1w-#x`qs6B0va%g82+ao?*pO-;jzJJmq4g zpiETE%2lHsctOWJ*kas0c3(W$8j5F~%}Zm5jSSH@Oao2Tv)VhxzBN+-J8+GlFT`4! z;j4pMu1PFgFq0q3Bi3nq?#yuynH267VP&F$Q8r^=Y?CP1OXO;qV1@q?i+Bjdpip7J zl@Th|g*1K%#p82=I5Vjsr;}}|aY9e#8}iJCC@oA`MRHFP|6~G}OonPIF^0cv4r9VC z817GDY77wCJ0%vJoh=trOj$6y-6Km$3|T%+&>op!l4LsAOJSLjB0#>iqebQ}RP33a zP8bpOpp0?*qOL*!Q&T*&!4PVr54_+zFVlY-e1bd1G=V(3M(Q7UAEPOw2kC%BpM#t7u5M)ue~!Hif*ST0Ppwqd;;4%(tDI}m*_ zVW9lb4n)U$dsTBJ$;YiQmUyPb646-}`pSfZ<0-d2_?NZP2~XB|t)$ zgHRy*&=HC@)?3kLns}W>1}%k!#J4qdIk2&NTDm*egCS{9(gsI(2rL5F>?s7Ylse)$ z{!c+55Mq_&$+ff0lRmKbWuXkR5Dx;5QfwaUy)wL$%H3QFmtHaw)Le?-(%EQ=+J7Fy zFvE$A9ve}Lg-Xxtpx|(t%mQQQfXgKUVw`bpqER?1f)Y`Vw6sJe7$750zwq8jh<#*O zslC3NtCUkdURKoNES&SflDS8r%9Bk(a949%XFZ(HQf6@ZQFc+6G3v6QWM(KD7htC= zxKF3c-YJ!y!eFwKzGC`Pr;u8wR#}P7PA7UW&S9&X3G!BAhru39Z(PMjW{zKDV%eBa zs^7+Qg#0kEnRs?soFzte-Lvp~V8N&Ek#V)Db~W{jwNQGS832W(c{)*6Jx!s-;bNy4 zFpRBuE6zu))&=J%0ZY$NXJcu3#00_^7U3Y0QCZ^HqBjd-!bGfjy^l7-M5%riXEh_J zP_(qeqrXf9S|}7MNPD{|(bm{amvD*LE12=#(^l}os_}?E93lPy&!SH(|8Tin0@}>M zdxbeSo6otK4qHle6JTQek)=#$CNK11BFr(3q@1v+Ulb&hr7Q7@ShumEorH50RyL>@ z)T>?4N}w8aaPhF%sa_>g9tYu_N^xyZB)1V02}&<;PZJrQi=>9 zF81**OpQk>S&p?XI@Bz+zO$E;P%h}0r7+T=1&#%4NN|)-H9!6gvd%&uW%6@1=>$FVq~#|s-}?}7n4&UP#qy%fu;pNqx{=FAg%AFyx+ z_R7oSK)kQGfPxy!y9!bry|P$f*N8wvdAc2`QB%6|JPK@Fe z1{vbfCM)eE+O=GcNqD1_Du$t#c6{X02!{2D?MArG6iUoHT_&|!)18@OfB{#|3eu9D zXeJ>T!@3TUY(oHiN0RRzz*XtVy^}ze`DBhm1y$yPv^vWM3t9fM{%Q}O!L!mVaT0Ba z{cGo|7bK*c1G69vSZS;dt3H8YASQuHF zF3vpFY%auNdsYar#K4FV#EpuNNn;tg@5m~VWf1ZIfLPYn^Tr6Q3Zf~D{)0RJXi2bw zk1QF^vNw8dMVfXLa;%rf60nD8lA3+m8+H*a3LhC(iufSENMU5bWgjjC;GS__QR@&D z?JG`r$d1Cq$UMznATuT;9nBD32!5}}o8Itv6tm=`#POK%(#v?yY#SUJ9K$8#gDs6g zFk;E9qZs*8Vsx0tn!6D4-iBd-XE@TyCIs*&+j>o7O2d5U2qb@+yC!@XIz}28A~U#x zp5t)>4r_}tpAz{t?mZz`{*}cbAgxC!p!g{%Y;|W){ zWOwDUXuW+i{~^Z6{_JV^ZA`$TiD8muZBL-?B;hFIQkcml`n`0)&gv@5m|bp|*ezFhg+>W02)D>`O*dlA@V*t4#p$ixH|DB$4b&)3Sq7ibNC9p4 zBJ+yDK_oYMjyHH0FFnuCa9DVQz(jY@k-&x6R2t6)VcEB!?2#JTLBf?}r;BH}Sf6S} zi=p94Lx1^Vsy3{EmiaSFq8JfC*4oKuSmenyygF;#vuk|%md?2-M}BYV+mbw1J=vKI zXggdC6t!|G}e0NufgUh>^m_jsS3NQFc^5qkF zO@zE4LG8d`Cha}MowB4TmQUdkx01JOc~W@K^G+2$I&%`wYe7sJK{JWYk%>ZZ`O#Q9 z<{RafLzxt%pm3`7_Sm_l^pOmr(ia)YLNHX2_3BtDMy*tCJ{5~78!M&yu*7b~9eJW^AETrmXx2d^OZj#ZszfwL^g+?YFuK@tvWzjhA;>uHN+L={h?oL{ zlbBv&{)i`4f)wyTKT4WpzHW>Hqg!-T>f%d0Q;V)QSK8vSRe+$Sg3sLVdH#r@0y2ja!k0#im5ir`M$V~A3^L4KES=3f&ODiD zXGCOoRv64xm_C8#wBaWj<9J5KYjg@jXnZN`?N0Q%iDQ8r8|HVoFh zNfAL#$qg_vAz}*=+ROPifKdj3mAn?foMq#@Qxkc~5>9d~$m&@k8yo0Nb}P*KCWr_1 z2BRA;F3gP!B16Pch$15&k0XLAg*Q0z0c+?)!!KqH$p{!TE%shecPdsAi{4aPF0sUf zo>ZhObEIm(p2cj5Z=F=lNoC3oH&K#7)BA;x zNeN;pJ{e?JD8{{a)7uN_B$jefPQk{MH$S0>f_CxvYt)%(7}XKvWW2DCP)GX`Jk&dz{24K-p2l9f=kO@D#R6ZYq$ujq|cUosiI!UeB<;czm{VP6D;XFCQ(;g@*2zzx>y@D6it z(;K=Qj8oV8W{Z`Q)e`%%3O2GO@o;ynm>4FXL}Z%Ms)k0w+y z1A}=R1N6XhOOR#1jfHk1-xe~sxj zvuun+1qx9>g7p{|#=tO%mZi`)E^YOKbKC{bl4xRaj+x!Fu~tmB=ej1D+XjEgOFC4h ztm|PgMESFdmCxiSVBPvEg0w7Xmv~<%IMY>gg4eg1*3swp`+Sl?}SV$z()zjzX{j-023;1 zIlbVP=>D(?^|B@H3>ML7B zQ=q2TpD3dKSe$jp;p$t7Eeo-|!L-k_hbw8TWENr;Is5>1nW$JM+a1w%$12#i$5+byCT zNS-$y;vHfgox&9bj*DfI-eH&J0V>C@TBDrd#b{X!plRR}RaS++ai-K{+ zXq+~#-(rO072}jbMa^b2D4sE1FOD{OF1mEhS?1C!vEYFfE`8M~9g>B&lGFBuC!~)R z5&5AW6A3Ah;N{{|A_Z|-Hd@Wx663La5~}aBG;D~Vy^^=yuHG^{l*i{G`UVGAha#EY z?SQ&W`{34*VZLh-FAc-1Aah%`4{lw(VwvUPMvHkZ#t zYId(4%Z_dhuWrou?W7rEEIvE-VA7--JMlKssCirfbV#mCwjz>FUI7H!Vn7xqNF}o% zGt5>}eu~QC8{PK$qK2|Wg%`jT7d*haZ8DuK@t<2e)p7%vfQA-z0v>LNbBW$|xyR`C z8a&447HdWPBw{A32h!nN`#N=@mT$*}?JVzGkUY)ApPXe&F=q^C86o0X$(>@hZicIk z`J{m6yZ4YQXKOI4?AtHpP{f_7b?IBiKyWfW2U_`HD-1e$^2ta|P^R!6a@zn-bIoWg zJ!6_=od^ZJZ(42(vrk!}9=uzmIWqLxRURLeci3Q>j#&!KD!w`#_a@9s9vmqDV}i?} zE`vS%ph^&*Q3>kebKx^8`q`9772dyBvjY5C@`6-+IUXNgcn3e%@x6EM>^V*l$M&}k zJIT4zFZ5mJCg%o|bEXZ>ot~UC$4N$UAE`etriZ>GAyh4!&yT`S~4u?#J``m*E3vg4+*V|!rm*?kq@L?^_&+p9e9I?Ko(!}rJ3uB(2U!-R7guftd z%sIbA{QS-W&k^s(N6I`uzq7yRh}RErHljaBRm$*v zA@4Gt{$c5x%Z`W3j`78_!cS^jn5iFu7x|ZkHXkwO>>i5YLtWu4-pP|lWaE8_L^v0# z4dH75_&yGzOJj8dSv(ZRWU|Usy`?%*-Ioo8R5HWAMabp_C@k_HL+-{FCLHe)kG8FntV+zk<0aEqv}X) zbvRKQ?~8={ay8*-Z6Cf&kjqDF5_rOOU?7^Sfzif_+3y}z*Vb0o_2=TXk;Fg*e%C~{ z1|RpS&4qH=zWhMAFP?+l#~X?tN5Z>qt7{Xr$U0hw_YKv>5(BmU+5X%>G#(G-axlkjR_#nA^)Yq^hHJ)zN$?7O9Cx>cVw3+1x-V5zW=r#KX85 z??>;8nJU?jI^h#*)&2dU{!pwxmyM#+vZ4M+HjYrvzC`UnG~3_T7m*qjN(k2^s%r+2 zRZRrf^4U;LAJ#Z?;l93n9%M-5>gwuD8_K?ARUNOctHEo5W4VEvflys-G?vfS)`a7^ zL|s0CtipX|Rl~Oos-u1V1NrCx8k&vthw2hFeW7T7U9K+=S|vhx(PkY@k0Ei}q);b=hox0#DjAJ>7@$?XBu?s5+MD%MSFR z5z)F(O)iF{v6^^IHc^w!=ldcEWt2P6-MER32vz66f7xhuAljD;V|2&k=y<$!BATrW z)#kyKa!28YNVK}YCK`&>X5)#081fC*)(#{>eX&TSza~@R*haks6GMA_b*991rU;?FC*xTk$-_k0@TFc(dZ|iVrA0qxd}{+Vf*Q z{+;4qiBMb9A=FvULPc8EJg!nqC^jkfC{iQ(pvEZ6nGfw_A~h@NfL+H2Vo}rhu)!B7 zCEp_zs}*Y%Par}KrHD{Joq8T0=yZG__9i0C_yHo63H6Wc$ninPDCd@O+4IjzCk>~aehbyJ$^w%<$psw%5mNx zE_0l}==FdiH9OPePY_iWPNR2E|szPQ_luQx&s{n-zx?M-|Uh ze81uc6+f(ah2k}eH!9w$c$eb6iuWr%qWFa3Gm76-{GQ?u6o0DtOU2(PzM=S*;y)Dq zK10_Tiu)+;uee0i$dQ;KU9PgY#7c)DUvaZqtsai`*0isvd`sCcR3 zM-{JAyh-tP#k&iq9+lNb%>2uPDBz_(#RRD!!u_@Ef|$Qk<{2 zQ1M{J!xdL3u2!s3JXSHO*sR#Dm{#1Vm{H6tZdE)(akt{xisvg{ta!QN#}sc+yhZU& z#d{RLp!l%jV~S5HKBxFy#TOKRtoV}RuM}Tb{FCC_iZ134GX53kC@xT3qUZ{Af;zt#)Q@ly>cE!6DKd<#W70*|^Sn+bjk15`uc#GnliuWjfLGfY5#}uDZd`|JZiZ3YsSn(yr zUn#z>_$S4;72Rn%{uSpaE>K*gc&Or$iYpbvinWSs6dM#<6+0Ds6;D;nDsEOBQXEx0 zQ}O+ZA5{FX;uVV5DBh@etKwaX_bT46_=w^Yiq9y1Q}KI>KT!Os;x83{qxgp6TZ;cs z^usWh@vpd#;{J+D6c1BerdXvIRjgAyK{2JcR`F!T^@^t}<`f4NhZT1!o~3xM;)RNr zDt=V)I>nn5Z&$oq@$-rgDn6?CHN|HYzpePZ;*S)6uK0@LYl?qV{Hx+SiUGL%NY`14 z^A#5=9;|q{;tIvpiZzPIDkc@1726fliW?O(ih0GYif1V9Rys@SR6t9YtnR&lf9km9J~nTqdM{Gj586|YddM)5|)TNUq8yjSsl z#YYsORt!HWmLG#Oa=mn z_@d%VioaHTL(%$M-qGVqo!46bz;7NS?f+{%{#E^N<;^B- z|7OMQiaQnGt7zrShxGUg#cLIBQoKXa%9k(d@gs^~ReVm;G#CAD&5b zJXf=L_;7O`xiSNjXap~Yz*mh*&JAUABgmzgXxrfSyv-Fgb*d47J%sncdD9GxWQULl z!LHSX$2XDd=8@r@JJ9BT@kd^o?@1fOKJ8zQ1&(KsRQ}7;orv=`-O*E|YxAUAIYqh+ zo^-3GNZ0R4S2aaClEBuF_U>fu;8?clDDNjrcabMuXo_@KdD4ZaNO!X*U1W-MpYf!N zPLYnX-?oE&I9WTM^rWMFo-7?@kj;}|_%og!{;=~hjUj&-s>yPv`d=FK@7e=K*K*_EwLm&DNw{GTXi9p~ehI1*`1 zxxqFv9qZMLe_L1VI-kP97S9R0dor$h^LrBcu}_#E=M^@;EcWd^*mdTi;a}#C{_M3; z9NT?f`UcVkxuZXOZ5YSia$mgE#QCt?ApUK+7hvDsgI(vh$Zr96^k=V~hhuMkzeRqe z1M^#of1BU+*thp!*Ler|y~7>-*=twh*qh&*$nP&W$NY}K|G4~=f&PgLkIzH`{f)~{ z)BW}`$LX4D@;eG?C(G|E`xv_HEx+S#EYffJ6#0D%`H>#>H(CAKkRS75d##=!Jqz^H zcKjasooX`!PL|&o^4o&z%#UMYvi7c>XUano`AwGJi^z}qfcaTHGg19^B0uT|`Ea z{|f!~yQN4!t7j(4uMhdHx0M4?P}Zh8G~gR_ga3G-{4BES0= zInKLr-To%a@B5!}oQsf%`E}rbvicpm*l`%YXMc9Lynd(M1$nRS?egSzH}>s4%;TRh zG9F}M`m@*Q%k%2X58y_Q2iC6}|F(V)VxRYf@Xz1^gk diff --git a/task1/Debug/Startup/sysmem.su b/task1/Debug/Startup/sysmem.su deleted file mode 100644 index 718d300..0000000 --- a/task1/Debug/Startup/sysmem.su +++ /dev/null @@ -1 +0,0 @@ -../Startup/sysmem.c:53:7:_sbrk 32 static diff --git a/task1/Debug/task1.elf b/task1/Debug/task1.elf deleted file mode 100755 index c3d2c10982612ccde09255a71c55fdc311f7c06a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 551852 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 diff --git a/task1/Debug/task1.list b/task1/Debug/task1.list deleted file mode 100644 index da448ba..0000000 --- a/task1/Debug/task1.list +++ /dev/null @@ -1,764 +0,0 @@ - -task1.elf: file format elf32-littlearm - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .isr_vector 000001d8 08000000 08000000 00001000 2**2 - CONTENTS, ALLOC, LOAD, READONLY, DATA - 1 .text 000004bc 080001d8 080001d8 000011d8 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .rodata 00000000 08000694 0800069c 0000169c 2**0 - CONTENTS, ALLOC, LOAD, DATA - 3 .ARM.extab 00000000 08000694 08000694 0000169c 2**0 - CONTENTS - 4 .ARM 00000000 08000694 08000694 0000169c 2**0 - CONTENTS - 5 .preinit_array 00000000 08000694 0800069c 0000169c 2**0 - CONTENTS, ALLOC, LOAD, DATA - 6 .init_array 00000004 08000694 08000694 00001694 2**2 - CONTENTS, ALLOC, LOAD, READONLY, DATA - 7 .fini_array 00000004 08000698 08000698 00001698 2**2 - CONTENTS, ALLOC, LOAD, READONLY, DATA - 8 .data 00000000 20000000 20000000 0000169c 2**0 - CONTENTS, ALLOC, LOAD, DATA - 9 .ccmsram 00000000 10000000 10000000 0000169c 2**0 - CONTENTS - 10 .bss 00000020 20000000 20000000 00002000 2**2 - ALLOC - 11 ._user_heap_stack 00000600 20000020 20000020 00002000 2**0 - ALLOC - 12 .ARM.attributes 00000030 00000000 00000000 0000169c 2**0 - CONTENTS, READONLY - 13 .debug_info 000007eb 00000000 00000000 000016cc 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 14 .debug_abbrev 00000296 00000000 00000000 00001eb7 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 15 .debug_aranges 00000078 00000000 00000000 00002150 2**3 - CONTENTS, READONLY, DEBUGGING, OCTETS - 16 .debug_rnglists 0000003a 00000000 00000000 000021c8 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 17 .debug_macro 00013740 00000000 00000000 00002202 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 18 .debug_line 00000a3e 00000000 00000000 00015942 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 19 .debug_str 0006f831 00000000 00000000 00016380 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - 20 .comment 00000043 00000000 00000000 00085bb1 2**0 - CONTENTS, READONLY - 21 .debug_frame 000000e4 00000000 00000000 00085bf4 2**2 - CONTENTS, READONLY, DEBUGGING, OCTETS - 22 .debug_line_str 0000007a 00000000 00000000 00085cd8 2**0 - CONTENTS, READONLY, DEBUGGING, OCTETS - -Disassembly of section .text: - -080001d8 <__do_global_dtors_aux>: - 80001d8: b510 push {r4, lr} - 80001da: 4c05 ldr r4, [pc, #20] @ (80001f0 <__do_global_dtors_aux+0x18>) - 80001dc: 7823 ldrb r3, [r4, #0] - 80001de: b933 cbnz r3, 80001ee <__do_global_dtors_aux+0x16> - 80001e0: 4b04 ldr r3, [pc, #16] @ (80001f4 <__do_global_dtors_aux+0x1c>) - 80001e2: b113 cbz r3, 80001ea <__do_global_dtors_aux+0x12> - 80001e4: 4804 ldr r0, [pc, #16] @ (80001f8 <__do_global_dtors_aux+0x20>) - 80001e6: f3af 8000 nop.w - 80001ea: 2301 movs r3, #1 - 80001ec: 7023 strb r3, [r4, #0] - 80001ee: bd10 pop {r4, pc} - 80001f0: 20000000 .word 0x20000000 - 80001f4: 00000000 .word 0x00000000 - 80001f8: 0800067c .word 0x0800067c - -080001fc : - 80001fc: b508 push {r3, lr} - 80001fe: 4b03 ldr r3, [pc, #12] @ (800020c ) - 8000200: b11b cbz r3, 800020a - 8000202: 4903 ldr r1, [pc, #12] @ (8000210 ) - 8000204: 4803 ldr r0, [pc, #12] @ (8000214 ) - 8000206: f3af 8000 nop.w - 800020a: bd08 pop {r3, pc} - 800020c: 00000000 .word 0x00000000 - 8000210: 20000004 .word 0x20000004 - 8000214: 0800067c .word 0x0800067c - -08000218
: -static void GPIO_init(void); -static void delay(const uint16_t ms); - -/* ------------------------------------ M A I N --------------------------------------- */ -int main(void) -{ - 8000218: b580 push {r7, lr} - 800021a: b084 sub sp, #16 - 800021c: af00 add r7, sp, #0 - \details Disables IRQ interrupts by setting the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__STATIC_FORCEINLINE void __disable_irq(void) -{ - __ASM volatile ("cpsid i" : : : "memory"); - 800021e: b672 cpsid i -} - 8000220: bf00 nop - /* --- initialization --- */ - __disable_irq(); // disable interrupts globally - - GPIO_init(); - 8000222: f000 f8e9 bl 80003f8 - __ASM volatile ("cpsie i" : : : "memory"); - 8000226: b662 cpsie i -} - 8000228: bf00 nop - __enable_irq(); // enable interrupts globally - - /* --- one time tasks --- */ - - //s0 Hilfvariablen auserhalb von while deklarieren - int running = 0; //0 Lauflicht aus, 1 Lauflicht an - 800022a: 2300 movs r3, #0 - 800022c: 60fb str r3, [r7, #12] - int lastButtonState = 1; // Hilfsvariable zur Flankenerkennung - 800022e: 2301 movs r3, #1 - 8000230: 60bb str r3, [r7, #8] - - /* --- infinite processing loop --- */ - while (1) - { - int buttonState = GPIOB->IDR & (1 << 0); - 8000232: 4b6f ldr r3, [pc, #444] @ (80003f0 ) - 8000234: 691b ldr r3, [r3, #16] - 8000236: f003 0301 and.w r3, r3, #1 - 800023a: 607b str r3, [r7, #4] - - // fallende Flanke erkennen - if (lastButtonState && !buttonState) - 800023c: 68bb ldr r3, [r7, #8] - 800023e: 2b00 cmp r3, #0 - 8000240: d006 beq.n 8000250 - 8000242: 687b ldr r3, [r7, #4] - 8000244: 2b00 cmp r3, #0 - 8000246: d103 bne.n 8000250 - { - running ^= 1; // toggle running - 8000248: 68fb ldr r3, [r7, #12] - 800024a: f083 0301 eor.w r3, r3, #1 - 800024e: 60fb str r3, [r7, #12] - /* delay(50); // entprellen */ - } - - lastButtonState = buttonState; - 8000250: 687b ldr r3, [r7, #4] - 8000252: 60bb str r3, [r7, #8] - - - if(running) - 8000254: 68fb ldr r3, [r7, #12] - 8000256: 2b00 cmp r3, #0 - 8000258: d0eb beq.n 8000232 - { - switch (state) - 800025a: 4b66 ldr r3, [pc, #408] @ (80003f4 ) - 800025c: 681b ldr r3, [r3, #0] - 800025e: 2b05 cmp r3, #5 - 8000260: dc12 bgt.n 8000288 - 8000262: 2b00 cmp r3, #0 - 8000264: dbe5 blt.n 8000232 - 8000266: 2b05 cmp r3, #5 - 8000268: d8e3 bhi.n 8000232 - 800026a: a201 add r2, pc, #4 @ (adr r2, 8000270 ) - 800026c: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8000270: 08000291 .word 0x08000291 - 8000274: 080002c5 .word 0x080002c5 - 8000278: 080002f9 .word 0x080002f9 - 800027c: 0800032d .word 0x0800032d - 8000280: 08000361 .word 0x08000361 - 8000284: 08000395 .word 0x08000395 - 8000288: 2b63 cmp r3, #99 @ 0x63 - 800028a: f000 809b beq.w 80003c4 - 800028e: e0ad b.n 80003ec - { - case 0: - state++; - 8000290: 4b58 ldr r3, [pc, #352] @ (80003f4 ) - 8000292: 681b ldr r3, [r3, #0] - 8000294: 3301 adds r3, #1 - 8000296: 4a57 ldr r2, [pc, #348] @ (80003f4 ) - 8000298: 6013 str r3, [r2, #0] - GPIOA->ODR &= ~(1 << 0); - 800029a: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 800029e: 695b ldr r3, [r3, #20] - 80002a0: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80002a4: f023 0301 bic.w r3, r3, #1 - 80002a8: 6153 str r3, [r2, #20] - delay(WAITTIME); - 80002aa: f240 104d movw r0, #333 @ 0x14d - 80002ae: f000 f915 bl 80004dc - GPIOA->ODR |= (1 << 0); - 80002b2: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 80002b6: 695b ldr r3, [r3, #20] - 80002b8: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80002bc: f043 0301 orr.w r3, r3, #1 - 80002c0: 6153 str r3, [r2, #20] - break; - 80002c2: e093 b.n 80003ec - case 1: - state++; - 80002c4: 4b4b ldr r3, [pc, #300] @ (80003f4 ) - 80002c6: 681b ldr r3, [r3, #0] - 80002c8: 3301 adds r3, #1 - 80002ca: 4a4a ldr r2, [pc, #296] @ (80003f4 ) - 80002cc: 6013 str r3, [r2, #0] - GPIOA->ODR &= ~(1 << 1); - 80002ce: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 80002d2: 695b ldr r3, [r3, #20] - 80002d4: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80002d8: f023 0302 bic.w r3, r3, #2 - 80002dc: 6153 str r3, [r2, #20] - delay(WAITTIME); - 80002de: f240 104d movw r0, #333 @ 0x14d - 80002e2: f000 f8fb bl 80004dc - GPIOA->ODR |= (1 << 1); - 80002e6: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 80002ea: 695b ldr r3, [r3, #20] - 80002ec: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80002f0: f043 0302 orr.w r3, r3, #2 - 80002f4: 6153 str r3, [r2, #20] - break; - 80002f6: e079 b.n 80003ec - case 2: - state++; - 80002f8: 4b3e ldr r3, [pc, #248] @ (80003f4 ) - 80002fa: 681b ldr r3, [r3, #0] - 80002fc: 3301 adds r3, #1 - 80002fe: 4a3d ldr r2, [pc, #244] @ (80003f4 ) - 8000300: 6013 str r3, [r2, #0] - GPIOA->ODR &= ~(1 << 2); - 8000302: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000306: 695b ldr r3, [r3, #20] - 8000308: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800030c: f023 0304 bic.w r3, r3, #4 - 8000310: 6153 str r3, [r2, #20] - delay(WAITTIME); - 8000312: f240 104d movw r0, #333 @ 0x14d - 8000316: f000 f8e1 bl 80004dc - GPIOA->ODR |= (1 << 2); - 800031a: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 800031e: 695b ldr r3, [r3, #20] - 8000320: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 8000324: f043 0304 orr.w r3, r3, #4 - 8000328: 6153 str r3, [r2, #20] - break; - 800032a: e05f b.n 80003ec - case 3: - state++; - 800032c: 4b31 ldr r3, [pc, #196] @ (80003f4 ) - 800032e: 681b ldr r3, [r3, #0] - 8000330: 3301 adds r3, #1 - 8000332: 4a30 ldr r2, [pc, #192] @ (80003f4 ) - 8000334: 6013 str r3, [r2, #0] - GPIOA->ODR &= ~(1 << 3); - 8000336: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 800033a: 695b ldr r3, [r3, #20] - 800033c: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 8000340: f023 0308 bic.w r3, r3, #8 - 8000344: 6153 str r3, [r2, #20] - delay(WAITTIME); - 8000346: f240 104d movw r0, #333 @ 0x14d - 800034a: f000 f8c7 bl 80004dc - GPIOA->ODR |= (1 << 3); - 800034e: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000352: 695b ldr r3, [r3, #20] - 8000354: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 8000358: f043 0308 orr.w r3, r3, #8 - 800035c: 6153 str r3, [r2, #20] - break; - 800035e: e045 b.n 80003ec - case 4: - state++; - 8000360: 4b24 ldr r3, [pc, #144] @ (80003f4 ) - 8000362: 681b ldr r3, [r3, #0] - 8000364: 3301 adds r3, #1 - 8000366: 4a23 ldr r2, [pc, #140] @ (80003f4 ) - 8000368: 6013 str r3, [r2, #0] - GPIOA->ODR &= ~(1 << 2); - 800036a: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 800036e: 695b ldr r3, [r3, #20] - 8000370: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 8000374: f023 0304 bic.w r3, r3, #4 - 8000378: 6153 str r3, [r2, #20] - delay(WAITTIME); - 800037a: f240 104d movw r0, #333 @ 0x14d - 800037e: f000 f8ad bl 80004dc - GPIOA->ODR |= (1 << 2); - 8000382: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000386: 695b ldr r3, [r3, #20] - 8000388: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800038c: f043 0304 orr.w r3, r3, #4 - 8000390: 6153 str r3, [r2, #20] - break; - 8000392: e02b b.n 80003ec - case 5: - state=0; - 8000394: 4b17 ldr r3, [pc, #92] @ (80003f4 ) - 8000396: 2200 movs r2, #0 - 8000398: 601a str r2, [r3, #0] - GPIOA->ODR &= ~(1 << 1); - 800039a: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 800039e: 695b ldr r3, [r3, #20] - 80003a0: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80003a4: f023 0302 bic.w r3, r3, #2 - 80003a8: 6153 str r3, [r2, #20] - delay(WAITTIME); - 80003aa: f240 104d movw r0, #333 @ 0x14d - 80003ae: f000 f895 bl 80004dc - GPIOA->ODR |= (1 << 1); - 80003b2: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 80003b6: 695b ldr r3, [r3, #20] - 80003b8: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80003bc: f043 0302 orr.w r3, r3, #2 - 80003c0: 6153 str r3, [r2, #20] - break; - 80003c2: e013 b.n 80003ec - - case 99: - GPIOA->ODR |= MASK_LED_ALL; - 80003c4: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 80003c8: 695b ldr r3, [r3, #20] - 80003ca: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80003ce: f043 030f orr.w r3, r3, #15 - 80003d2: 6153 str r3, [r2, #20] - while(1){ - if((GPIOB->IDR & (1 << 0)) == 0){ - 80003d4: 4b06 ldr r3, [pc, #24] @ (80003f0 ) - 80003d6: 691b ldr r3, [r3, #16] - 80003d8: f003 0301 and.w r3, r3, #1 - 80003dc: 2b00 cmp r3, #0 - 80003de: d1f9 bne.n 80003d4 - delay(150); - 80003e0: 2096 movs r0, #150 @ 0x96 - 80003e2: f000 f87b bl 80004dc - state=0; - 80003e6: 4b03 ldr r3, [pc, #12] @ (80003f4 ) - 80003e8: 2200 movs r2, #0 - 80003ea: 601a str r2, [r3, #0] - { - 80003ec: e721 b.n 8000232 - 80003ee: bf00 nop - 80003f0: 48000400 .word 0x48000400 - 80003f4: 2000001c .word 0x2000001c - -080003f8 : - * requires: - nothing - - * parameters: - none - - * returns: - nothing - - \* ------------------------------------------------------------------------------------ */ -static void GPIO_init(void) -{ - 80003f8: b480 push {r7} - 80003fa: af00 add r7, sp, #0 -/* enable port clocks */ -RCC->AHB2ENR |= RCC_AHB2ENR_GPIOAEN; // LEDs: A - 80003fc: 4b35 ldr r3, [pc, #212] @ (80004d4 ) - 80003fe: 6cdb ldr r3, [r3, #76] @ 0x4c - 8000400: 4a34 ldr r2, [pc, #208] @ (80004d4 ) - 8000402: f043 0301 orr.w r3, r3, #1 - 8000406: 64d3 str r3, [r2, #76] @ 0x4c -RCC->AHB2ENR |= RCC_AHB2ENR_GPIOBEN; //Taster versuch - 8000408: 4b32 ldr r3, [pc, #200] @ (80004d4 ) - 800040a: 6cdb ldr r3, [r3, #76] @ 0x4c - 800040c: 4a31 ldr r2, [pc, #196] @ (80004d4 ) - 800040e: f043 0302 orr.w r3, r3, #2 - 8000412: 64d3 str r3, [r2, #76] @ 0x4c - -/* --- LEDs --- */ -GPIOA->ODR |= MASK_LED_ALL; - 8000414: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000418: 695b ldr r3, [r3, #20] - 800041a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800041e: f043 030f orr.w r3, r3, #15 - 8000422: 6153 str r3, [r2, #20] -GPIOA->MODER &= ~(3 << 0); - 8000424: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000428: 681b ldr r3, [r3, #0] - 800042a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800042e: f023 0303 bic.w r3, r3, #3 - 8000432: 6013 str r3, [r2, #0] -GPIOA->MODER |= (1 << 0); // set LED pin to output - 8000434: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000438: 681b ldr r3, [r3, #0] - 800043a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800043e: f043 0301 orr.w r3, r3, #1 - 8000442: 6013 str r3, [r2, #0] - -/* LED1 als Output */ -GPIOA->MODER &= ~(3 << 2); // Versuch: LED 1 Mode löschen :klappt so - 8000444: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000448: 681b ldr r3, [r3, #0] - 800044a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800044e: f023 030c bic.w r3, r3, #12 - 8000452: 6013 str r3, [r2, #0] -GPIOA->MODER |= (1 << 2); // Versuch: LED 1 PA1 = output :klappt so - 8000454: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000458: 681b ldr r3, [r3, #0] - 800045a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800045e: f043 0304 orr.w r3, r3, #4 - 8000462: 6013 str r3, [r2, #0] - -/* LED2 als Output */ -GPIOA->MODER &= ~(3 << 4); // Versuch: LED 2 Mode löschen :klappt - 8000464: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000468: 681b ldr r3, [r3, #0] - 800046a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800046e: f023 0330 bic.w r3, r3, #48 @ 0x30 - 8000472: 6013 str r3, [r2, #0] -GPIOA->MODER |= (1 << 4); // Versuch: LED 2 PA1 = output :klappt - 8000474: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000478: 681b ldr r3, [r3, #0] - 800047a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800047e: f043 0310 orr.w r3, r3, #16 - 8000482: 6013 str r3, [r2, #0] - -/* LED3 als output */ -GPIOA->MODER &= ~(3 << 6); - 8000484: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000488: 681b ldr r3, [r3, #0] - 800048a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800048e: f023 03c0 bic.w r3, r3, #192 @ 0xc0 - 8000492: 6013 str r3, [r2, #0] -GPIOA->MODER |= (1 << 6); - 8000494: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000498: 681b ldr r3, [r3, #0] - 800049a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800049e: f043 0340 orr.w r3, r3, #64 @ 0x40 - 80004a2: 6013 str r3, [r2, #0] - -/* s0 (PB0) als Input Versuch */ -GPIOB->MODER &= ~(3 << 0); - 80004a4: 4b0c ldr r3, [pc, #48] @ (80004d8 ) - 80004a6: 681b ldr r3, [r3, #0] - 80004a8: 4a0b ldr r2, [pc, #44] @ (80004d8 ) - 80004aa: f023 0303 bic.w r3, r3, #3 - 80004ae: 6013 str r3, [r2, #0] - -/* Pull-Up Aktivieren Versuch */ -GPIOB->PUPDR &= ~(3 << 0); - 80004b0: 4b09 ldr r3, [pc, #36] @ (80004d8 ) - 80004b2: 68db ldr r3, [r3, #12] - 80004b4: 4a08 ldr r2, [pc, #32] @ (80004d8 ) - 80004b6: f023 0303 bic.w r3, r3, #3 - 80004ba: 60d3 str r3, [r2, #12] -GPIOB->PUPDR |= (1 << 0); // 01 = Pull-Up - 80004bc: 4b06 ldr r3, [pc, #24] @ (80004d8 ) - 80004be: 68db ldr r3, [r3, #12] - 80004c0: 4a05 ldr r2, [pc, #20] @ (80004d8 ) - 80004c2: f043 0301 orr.w r3, r3, #1 - 80004c6: 60d3 str r3, [r2, #12] -} - 80004c8: bf00 nop - 80004ca: 46bd mov sp, r7 - 80004cc: f85d 7b04 ldr.w r7, [sp], #4 - 80004d0: 4770 bx lr - 80004d2: bf00 nop - 80004d4: 40021000 .word 0x40021000 - 80004d8: 48000400 .word 0x48000400 - -080004dc : - * requires: - nothing - - * parameters: ms - delay time in milliseconds - * returns: - nothing - - \* ------------------------------------------------------------------------------------ */ -static void delay(const uint16_t ms) -{ - 80004dc: b480 push {r7} - 80004de: b085 sub sp, #20 - 80004e0: af00 add r7, sp, #0 - 80004e2: 4603 mov r3, r0 - 80004e4: 80fb strh r3, [r7, #6] -for (uint16_t i = 0; i < ms; ++i) - 80004e6: 2300 movs r3, #0 - 80004e8: 81fb strh r3, [r7, #14] - 80004ea: e021 b.n 8000530 -{ - if((GPIOB->IDR & (1 << 0) && state != 99) == 0){ - 80004ec: 4b16 ldr r3, [pc, #88] @ (8000548 ) - 80004ee: 691b ldr r3, [r3, #16] - 80004f0: f003 0301 and.w r3, r3, #1 - 80004f4: 2b00 cmp r3, #0 - 80004f6: d005 beq.n 8000504 - 80004f8: 4b14 ldr r3, [pc, #80] @ (800054c ) - 80004fa: 681b ldr r3, [r3, #0] - 80004fc: 2b63 cmp r3, #99 @ 0x63 - 80004fe: d001 beq.n 8000504 - 8000500: 2301 movs r3, #1 - 8000502: e000 b.n 8000506 - 8000504: 2300 movs r3, #0 - 8000506: 2b00 cmp r3, #0 - 8000508: d103 bne.n 8000512 - state = 99; - 800050a: 4b10 ldr r3, [pc, #64] @ (800054c ) - 800050c: 2263 movs r2, #99 @ 0x63 - 800050e: 601a str r2, [r3, #0] - break; - 8000510: e013 b.n 800053a - } - for (uint16_t j = 0; j < LOOPS_PER_MS; ++j) - 8000512: 2300 movs r3, #0 - 8000514: 81bb strh r3, [r7, #12] - 8000516: e003 b.n 8000520 - { - __asm("NOP"); - 8000518: bf00 nop - for (uint16_t j = 0; j < LOOPS_PER_MS; ++j) - 800051a: 89bb ldrh r3, [r7, #12] - 800051c: 3301 adds r3, #1 - 800051e: 81bb strh r3, [r7, #12] - 8000520: 89bb ldrh r3, [r7, #12] - 8000522: f240 42db movw r2, #1243 @ 0x4db - 8000526: 4293 cmp r3, r2 - 8000528: d9f6 bls.n 8000518 -for (uint16_t i = 0; i < ms; ++i) - 800052a: 89fb ldrh r3, [r7, #14] - 800052c: 3301 adds r3, #1 - 800052e: 81fb strh r3, [r7, #14] - 8000530: 89fa ldrh r2, [r7, #14] - 8000532: 88fb ldrh r3, [r7, #6] - 8000534: 429a cmp r2, r3 - 8000536: d3d9 bcc.n 80004ec - } -} -} - 8000538: bf00 nop - 800053a: bf00 nop - 800053c: 3714 adds r7, #20 - 800053e: 46bd mov sp, r7 - 8000540: f85d 7b04 ldr.w r7, [sp], #4 - 8000544: 4770 bx lr - 8000546: bf00 nop - 8000548: 48000400 .word 0x48000400 - 800054c: 2000001c .word 0x2000001c - -08000550 : - * - * Default interrupt handler for core interrupts. - * Enables the green and red LED on the STefi Light board. -\* ------------------------------------------------------------------------------------ */ -void ISR_error(void) -{ - 8000550: b480 push {r7} - 8000552: af00 add r7, sp, #0 - /* init */ - RCC->AHB2ENR |= RCC_AHB2ENR_GPIOAEN; // PA: clock on (LEDs) - 8000554: 4b10 ldr r3, [pc, #64] @ (8000598 ) - 8000556: 6cdb ldr r3, [r3, #76] @ 0x4c - 8000558: 4a0f ldr r2, [pc, #60] @ (8000598 ) - 800055a: f043 0301 orr.w r3, r3, #1 - 800055e: 64d3 str r3, [r2, #76] @ 0x4c - GPIOA->ODR |= MASK_LED_ALL; - 8000560: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000564: 695b ldr r3, [r3, #20] - 8000566: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800056a: f043 030f orr.w r3, r3, #15 - 800056e: 6153 str r3, [r2, #20] - GPIOA->MODER = (GPIOA->MODER & 0xFFFFFF00) | 0x11; - 8000570: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000574: 681b ldr r3, [r3, #0] - 8000576: f023 03ff bic.w r3, r3, #255 @ 0xff - 800057a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800057e: f043 0311 orr.w r3, r3, #17 - 8000582: 6013 str r3, [r2, #0] - - while(1) - { /* light up the LEDs permanently */ - GPIOA->ODR &= ~(MASK_LED_GREEN | MASK_LED_RED); - 8000584: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 8000588: 695b ldr r3, [r3, #20] - 800058a: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 800058e: f023 0305 bic.w r3, r3, #5 - 8000592: 6153 str r3, [r2, #20] - 8000594: e7f6 b.n 8000584 - 8000596: bf00 nop - 8000598: 40021000 .word 0x40021000 - -0800059c : - * - * Default interrupt handler for non-core interrupts. - * Enables the blue and yellow LED on the STefi Light board. -\* ------------------------------------------------------------------------------------ */ -void ISR_default(void) -{ - 800059c: b480 push {r7} - 800059e: af00 add r7, sp, #0 - /* init */ - RCC->AHB2ENR |= RCC_AHB2ENR_GPIOAEN; // PA: clock on (LEDs) - 80005a0: 4b10 ldr r3, [pc, #64] @ (80005e4 ) - 80005a2: 6cdb ldr r3, [r3, #76] @ 0x4c - 80005a4: 4a0f ldr r2, [pc, #60] @ (80005e4 ) - 80005a6: f043 0301 orr.w r3, r3, #1 - 80005aa: 64d3 str r3, [r2, #76] @ 0x4c - GPIOA->ODR |= MASK_LED_ALL; - 80005ac: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 80005b0: 695b ldr r3, [r3, #20] - 80005b2: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80005b6: f043 030f orr.w r3, r3, #15 - 80005ba: 6153 str r3, [r2, #20] - GPIOA->MODER = (GPIOA->MODER & 0xFFFFFF00) | 0x44; - 80005bc: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 80005c0: 681b ldr r3, [r3, #0] - 80005c2: f023 03ff bic.w r3, r3, #255 @ 0xff - 80005c6: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80005ca: f043 0344 orr.w r3, r3, #68 @ 0x44 - 80005ce: 6013 str r3, [r2, #0] - - while(1) - { /* light up the LEDs permanently */ - GPIOA->ODR &= ~(MASK_LED_BLUE | MASK_LED_YELLOW); - 80005d0: f04f 4390 mov.w r3, #1207959552 @ 0x48000000 - 80005d4: 695b ldr r3, [r3, #20] - 80005d6: f04f 4290 mov.w r2, #1207959552 @ 0x48000000 - 80005da: f023 030a bic.w r3, r3, #10 - 80005de: 6153 str r3, [r2, #20] - 80005e0: e7f6 b.n 80005d0 - 80005e2: bf00 nop - 80005e4: 40021000 .word 0x40021000 - -080005e8 : - - .section .text.Reset_Handler - .weak Reset_Handler - .type Reset_Handler, %function -Reset_Handler: - ldr r0, =_estack - 80005e8: 480c ldr r0, [pc, #48] @ (800061c ) - mov sp, r0 /* set stack pointer */ - 80005ea: 4685 mov sp, r0 -/* Call the clock system initialization function.*/ -// bl SystemInit - -/* Copy the data segment initializers from flash to SRAM */ - ldr r0, =_sdata - 80005ec: 480c ldr r0, [pc, #48] @ (8000620 ) - ldr r1, =_edata - 80005ee: 490d ldr r1, [pc, #52] @ (8000624 ) - ldr r2, =_sidata - 80005f0: 4a0d ldr r2, [pc, #52] @ (8000628 ) - movs r3, #0 - 80005f2: 2300 movs r3, #0 - b LoopCopyDataInit - 80005f4: e002 b.n 80005fc - -080005f6 : - -CopyDataInit: - ldr r4, [r2, r3] - 80005f6: 58d4 ldr r4, [r2, r3] - str r4, [r0, r3] - 80005f8: 50c4 str r4, [r0, r3] - adds r3, r3, #4 - 80005fa: 3304 adds r3, #4 - -080005fc : - -LoopCopyDataInit: - adds r4, r0, r3 - 80005fc: 18c4 adds r4, r0, r3 - cmp r4, r1 - 80005fe: 428c cmp r4, r1 - bcc CopyDataInit - 8000600: d3f9 bcc.n 80005f6 - -/* Zero fill the bss segment. */ - ldr r2, =_sbss - 8000602: 4a0a ldr r2, [pc, #40] @ (800062c ) - ldr r4, =_ebss - 8000604: 4c0a ldr r4, [pc, #40] @ (8000630 ) - movs r3, #0 - 8000606: 2300 movs r3, #0 - b LoopFillZerobss - 8000608: e001 b.n 800060e - -0800060a : - -FillZerobss: - str r3, [r2] - 800060a: 6013 str r3, [r2, #0] - adds r2, r2, #4 - 800060c: 3204 adds r2, #4 - -0800060e : - -LoopFillZerobss: - cmp r2, r4 - 800060e: 42a2 cmp r2, r4 - bcc FillZerobss - 8000610: d3fb bcc.n 800060a - -/* Call static constructors */ - bl __libc_init_array - 8000612: f000 f80f bl 8000634 <__libc_init_array> -/* Call the application's entry point.*/ - bl main - 8000616: f7ff fdff bl 8000218
- -0800061a : - -LoopForever: - b LoopForever - 800061a: e7fe b.n 800061a - ldr r0, =_estack - 800061c: 20008000 .word 0x20008000 - ldr r0, =_sdata - 8000620: 20000000 .word 0x20000000 - ldr r1, =_edata - 8000624: 20000000 .word 0x20000000 - ldr r2, =_sidata - 8000628: 0800069c .word 0x0800069c - ldr r2, =_sbss - 800062c: 20000000 .word 0x20000000 - ldr r4, =_ebss - 8000630: 20000020 .word 0x20000020 - -08000634 <__libc_init_array>: - 8000634: b570 push {r4, r5, r6, lr} - 8000636: 4d0d ldr r5, [pc, #52] @ (800066c <__libc_init_array+0x38>) - 8000638: 4c0d ldr r4, [pc, #52] @ (8000670 <__libc_init_array+0x3c>) - 800063a: 1b64 subs r4, r4, r5 - 800063c: 10a4 asrs r4, r4, #2 - 800063e: 2600 movs r6, #0 - 8000640: 42a6 cmp r6, r4 - 8000642: d109 bne.n 8000658 <__libc_init_array+0x24> - 8000644: 4d0b ldr r5, [pc, #44] @ (8000674 <__libc_init_array+0x40>) - 8000646: 4c0c ldr r4, [pc, #48] @ (8000678 <__libc_init_array+0x44>) - 8000648: f000 f818 bl 800067c <_init> - 800064c: 1b64 subs r4, r4, r5 - 800064e: 10a4 asrs r4, r4, #2 - 8000650: 2600 movs r6, #0 - 8000652: 42a6 cmp r6, r4 - 8000654: d105 bne.n 8000662 <__libc_init_array+0x2e> - 8000656: bd70 pop {r4, r5, r6, pc} - 8000658: f855 3b04 ldr.w r3, [r5], #4 - 800065c: 4798 blx r3 - 800065e: 3601 adds r6, #1 - 8000660: e7ee b.n 8000640 <__libc_init_array+0xc> - 8000662: f855 3b04 ldr.w r3, [r5], #4 - 8000666: 4798 blx r3 - 8000668: 3601 adds r6, #1 - 800066a: e7f2 b.n 8000652 <__libc_init_array+0x1e> - 800066c: 08000694 .word 0x08000694 - 8000670: 08000694 .word 0x08000694 - 8000674: 08000694 .word 0x08000694 - 8000678: 08000698 .word 0x08000698 - -0800067c <_init>: - 800067c: b5f8 push {r3, r4, r5, r6, r7, lr} - 800067e: bf00 nop - 8000680: bcf8 pop {r3, r4, r5, r6, r7} - 8000682: bc08 pop {r3} - 8000684: 469e mov lr, r3 - 8000686: 4770 bx lr - -08000688 <_fini>: - 8000688: b5f8 push {r3, r4, r5, r6, r7, lr} - 800068a: bf00 nop - 800068c: bcf8 pop {r3, r4, r5, r6, r7} - 800068e: bc08 pop {r3} - 8000690: 469e mov lr, r3 - 8000692: 4770 bx lr diff --git a/task1/Debug/task1.map b/task1/Debug/task1.map deleted file mode 100644 index 64ef3fe..0000000 --- a/task1/Debug/task1.map +++ /dev/null @@ -1,825 +0,0 @@ -Archive member included to satisfy reference by file (symbol) - -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-exit.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o (exit) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-exit.o) (__stdio_exit_handler) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) (_fwalk_sglue) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) (__sread) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o (memset) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) (_close_r) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) (errno) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) (_impure_ptr) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) (_lseek_r) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) (_read_r) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) (_write_r) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) - ./Startup/syscalls.o (__errno) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o (__libc_init_array) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) (__retarget_lock_init_recursive) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) (_free_r) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) (_malloc_r) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) (__malloc_lock) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) (_fflush_r) -/opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) - /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) (_sbrk_r) - -Discarded input sections - - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crti.o - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crti.o - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crti.o - .data 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - .rodata 0x00000000 0x24 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - .text 0x00000000 0x7c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o - .ARM.extab 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o - .ARM.exidx 0x00000000 0x10 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o - .ARM.attributes - 0x00000000 0x20 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .group 0x00000000 0xc ./Src/task1.o - .text 0x00000000 0x0 ./Src/task1.o - .data 0x00000000 0x0 ./Src/task1.o - .bss 0x00000000 0x0 ./Src/task1.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .group 0x00000000 0xc ./Src/task1_it.o - .text 0x00000000 0x0 ./Src/task1_it.o - .data 0x00000000 0x0 ./Src/task1_it.o - .bss 0x00000000 0x0 ./Src/task1_it.o - .debug_macro 0x00000000 0xac0 ./Src/task1_it.o - .debug_macro 0x00000000 0x28 ./Src/task1_it.o - .debug_macro 0x00000000 0x22 ./Src/task1_it.o - .debug_macro 0x00000000 0x8e ./Src/task1_it.o - .debug_macro 0x00000000 0x51 ./Src/task1_it.o - .debug_macro 0x00000000 0x103 ./Src/task1_it.o - .debug_macro 0x00000000 0x6a ./Src/task1_it.o - .debug_macro 0x00000000 0x1df ./Src/task1_it.o - .debug_macro 0x00000000 0x1c ./Src/task1_it.o - .debug_macro 0x00000000 0x22 ./Src/task1_it.o - .debug_macro 0x00000000 0xfb ./Src/task1_it.o - .debug_macro 0x00000000 0x1011 ./Src/task1_it.o - .debug_macro 0x00000000 0x11f ./Src/task1_it.o - .debug_macro 0x00000000 0x11396 ./Src/task1_it.o - .debug_macro 0x00000000 0x70 ./Src/task1_it.o - .text 0x00000000 0x14 ./Startup/startup_stm32g431kbtx.o - .data 0x00000000 0x0 ./Startup/startup_stm32g431kbtx.o - .bss 0x00000000 0x0 ./Startup/startup_stm32g431kbtx.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/syscalls.o - .text 0x00000000 0x0 ./Startup/syscalls.o - .data 0x00000000 0x0 ./Startup/syscalls.o - .bss 0x00000000 0x0 ./Startup/syscalls.o - .bss.__env 0x00000000 0x4 ./Startup/syscalls.o - .data.environ 0x00000000 0x4 ./Startup/syscalls.o - .text.initialise_monitor_handles - 0x00000000 0xe ./Startup/syscalls.o - .text._getpid 0x00000000 0x10 ./Startup/syscalls.o - .text._kill 0x00000000 0x20 ./Startup/syscalls.o - .text._exit 0x00000000 0x16 ./Startup/syscalls.o - .text._read 0x00000000 0x3a ./Startup/syscalls.o - .text._write 0x00000000 0x38 ./Startup/syscalls.o - .text._close 0x00000000 0x18 ./Startup/syscalls.o - .text._fstat 0x00000000 0x20 ./Startup/syscalls.o - .text._isatty 0x00000000 0x16 ./Startup/syscalls.o - .text._lseek 0x00000000 0x1a ./Startup/syscalls.o - .text._open 0x00000000 0x1c ./Startup/syscalls.o - .text._wait 0x00000000 0x1e ./Startup/syscalls.o - .text._unlink 0x00000000 0x1e ./Startup/syscalls.o - .text._times 0x00000000 0x18 ./Startup/syscalls.o - .text._stat 0x00000000 0x20 ./Startup/syscalls.o - .text._link 0x00000000 0x20 ./Startup/syscalls.o - .text._fork 0x00000000 0x16 ./Startup/syscalls.o - .text._execve 0x00000000 0x22 ./Startup/syscalls.o - .debug_info 0x00000000 0x6a3 ./Startup/syscalls.o - .debug_abbrev 0x00000000 0x1b6 ./Startup/syscalls.o - .debug_aranges - 0x00000000 0xa8 ./Startup/syscalls.o - .debug_rnglists - 0x00000000 0x79 ./Startup/syscalls.o - .debug_macro 0x00000000 0x274 ./Startup/syscalls.o - .debug_macro 0x00000000 0xac0 ./Startup/syscalls.o - .debug_macro 0x00000000 0x22 ./Startup/syscalls.o - .debug_macro 0x00000000 0x5b ./Startup/syscalls.o - .debug_macro 0x00000000 0x2a ./Startup/syscalls.o - .debug_macro 0x00000000 0x94 ./Startup/syscalls.o - .debug_macro 0x00000000 0x43 ./Startup/syscalls.o - .debug_macro 0x00000000 0x34 ./Startup/syscalls.o - .debug_macro 0x00000000 0x57 ./Startup/syscalls.o - .debug_macro 0x00000000 0x189 ./Startup/syscalls.o - .debug_macro 0x00000000 0x369 ./Startup/syscalls.o - .debug_macro 0x00000000 0x16 ./Startup/syscalls.o - .debug_macro 0x00000000 0x43 ./Startup/syscalls.o - .debug_macro 0x00000000 0x34 ./Startup/syscalls.o - .debug_macro 0x00000000 0x10 ./Startup/syscalls.o - .debug_macro 0x00000000 0x58 ./Startup/syscalls.o - .debug_macro 0x00000000 0x8e ./Startup/syscalls.o - .debug_macro 0x00000000 0x1c ./Startup/syscalls.o - .debug_macro 0x00000000 0x177 ./Startup/syscalls.o - .debug_macro 0x00000000 0x10 ./Startup/syscalls.o - .debug_macro 0x00000000 0x35 ./Startup/syscalls.o - .debug_macro 0x00000000 0x10 ./Startup/syscalls.o - .debug_macro 0x00000000 0x10 ./Startup/syscalls.o - .debug_macro 0x00000000 0x10 ./Startup/syscalls.o - .debug_macro 0x00000000 0x6a ./Startup/syscalls.o - .debug_macro 0x00000000 0x1c ./Startup/syscalls.o - .debug_macro 0x00000000 0x52 ./Startup/syscalls.o - .debug_macro 0x00000000 0x22 ./Startup/syscalls.o - .debug_macro 0x00000000 0x10 ./Startup/syscalls.o - .debug_macro 0x00000000 0x52 ./Startup/syscalls.o - .debug_macro 0x00000000 0xcf ./Startup/syscalls.o - .debug_macro 0x00000000 0x1c ./Startup/syscalls.o - .debug_macro 0x00000000 0x3d ./Startup/syscalls.o - .debug_macro 0x00000000 0x35 ./Startup/syscalls.o - .debug_macro 0x00000000 0x12c ./Startup/syscalls.o - .debug_macro 0x00000000 0x16 ./Startup/syscalls.o - .debug_macro 0x00000000 0x16 ./Startup/syscalls.o - .debug_macro 0x00000000 0x29 ./Startup/syscalls.o - .debug_macro 0x00000000 0x10 ./Startup/syscalls.o - .debug_macro 0x00000000 0x242 ./Startup/syscalls.o - .debug_macro 0x00000000 0x1c ./Startup/syscalls.o - .debug_macro 0x00000000 0x10 ./Startup/syscalls.o - .debug_macro 0x00000000 0x10 ./Startup/syscalls.o - .debug_macro 0x00000000 0x16 ./Startup/syscalls.o - .debug_macro 0x00000000 0x146 ./Startup/syscalls.o - .debug_macro 0x00000000 0x103 ./Startup/syscalls.o - .debug_macro 0x00000000 0x1df ./Startup/syscalls.o - .debug_macro 0x00000000 0x18a ./Startup/syscalls.o - .debug_macro 0x00000000 0x16 ./Startup/syscalls.o - .debug_macro 0x00000000 0xce ./Startup/syscalls.o - .debug_line 0x00000000 0x7e6 ./Startup/syscalls.o - .debug_str 0x00000000 0x98e2 ./Startup/syscalls.o - .comment 0x00000000 0x44 ./Startup/syscalls.o - .debug_frame 0x00000000 0x2ac ./Startup/syscalls.o - .ARM.attributes - 0x00000000 0x34 ./Startup/syscalls.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .group 0x00000000 0xc ./Startup/sysmem.o - .text 0x00000000 0x0 ./Startup/sysmem.o - .data 0x00000000 0x0 ./Startup/sysmem.o - .bss 0x00000000 0x0 ./Startup/sysmem.o - .bss.__sbrk_heap_end - 0x00000000 0x4 ./Startup/sysmem.o - .text._sbrk 0x00000000 0x6c ./Startup/sysmem.o - .debug_info 0x00000000 0x168 ./Startup/sysmem.o - .debug_abbrev 0x00000000 0xbc ./Startup/sysmem.o - .debug_aranges - 0x00000000 0x20 ./Startup/sysmem.o - .debug_rnglists - 0x00000000 0x13 ./Startup/sysmem.o - .debug_macro 0x00000000 0xff ./Startup/sysmem.o - .debug_macro 0x00000000 0xac0 ./Startup/sysmem.o - .debug_macro 0x00000000 0x10 ./Startup/sysmem.o - .debug_macro 0x00000000 0x22 ./Startup/sysmem.o - .debug_macro 0x00000000 0x5b ./Startup/sysmem.o - .debug_macro 0x00000000 0x2a ./Startup/sysmem.o - .debug_macro 0x00000000 0x94 ./Startup/sysmem.o - .debug_macro 0x00000000 0x43 ./Startup/sysmem.o - .debug_macro 0x00000000 0x34 ./Startup/sysmem.o - .debug_macro 0x00000000 0x189 ./Startup/sysmem.o - .debug_macro 0x00000000 0x16 ./Startup/sysmem.o - .debug_macro 0x00000000 0x43 ./Startup/sysmem.o - .debug_macro 0x00000000 0x57 ./Startup/sysmem.o - .debug_macro 0x00000000 0x34 ./Startup/sysmem.o - .debug_macro 0x00000000 0x10 ./Startup/sysmem.o - .debug_macro 0x00000000 0x58 ./Startup/sysmem.o - .debug_macro 0x00000000 0x8e ./Startup/sysmem.o - .debug_macro 0x00000000 0x1c ./Startup/sysmem.o - .debug_macro 0x00000000 0x177 ./Startup/sysmem.o - .debug_macro 0x00000000 0x23c ./Startup/sysmem.o - .debug_macro 0x00000000 0x103 ./Startup/sysmem.o - .debug_macro 0x00000000 0x6a ./Startup/sysmem.o - .debug_macro 0x00000000 0x1df ./Startup/sysmem.o - .debug_line 0x00000000 0x4b7 ./Startup/sysmem.o - .debug_str 0x00000000 0x60fa ./Startup/sysmem.o - .comment 0x00000000 0x44 ./Startup/sysmem.o - .debug_frame 0x00000000 0x34 ./Startup/sysmem.o - .ARM.attributes - 0x00000000 0x34 ./Startup/sysmem.o - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-exit.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-exit.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-exit.o) - .text.exit 0x00000000 0x24 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-exit.o) - .debug_frame 0x00000000 0x28 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-exit.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-exit.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.std 0x00000000 0x6c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.stdio_exit_handler - 0x00000000 0x18 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.cleanup_stdio - 0x00000000 0x40 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.__fp_lock - 0x00000000 0x18 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.__fp_unlock - 0x00000000 0x18 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.global_stdio_init.part.0 - 0x00000000 0x3c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.__sfp_lock_acquire - 0x00000000 0xc /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.__sfp_lock_release - 0x00000000 0xc /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.__sfp 0x00000000 0xa4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.__sinit 0x00000000 0x30 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.__fp_lock_all - 0x00000000 0x1c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text.__fp_unlock_all - 0x00000000 0x1c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .data.__sglue 0x00000000 0xc /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .bss.__sf 0x00000000 0x138 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .bss.__stdio_exit_handler - 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .debug_frame 0x00000000 0x144 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-findfp.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) - .text._fwalk_sglue - 0x00000000 0x3c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) - .debug_frame 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fwalk.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .text.__sread 0x00000000 0x22 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .text.__seofread - 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .text.__swrite - 0x00000000 0x38 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .text.__sseek 0x00000000 0x24 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .text.__sclose - 0x00000000 0x8 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .debug_frame 0x00000000 0x88 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-stdio.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) - .text.memset 0x00000000 0x10 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) - .debug_frame 0x00000000 0x20 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-memset.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) - .text._close_r - 0x00000000 0x20 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) - .debug_frame 0x00000000 0x2c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - .text._reclaim_reent - 0x00000000 0xac /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - .bss.errno 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - .debug_frame 0x00000000 0x38 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-reent.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) - .data._impure_ptr - 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) - .data._impure_data - 0x00000000 0x4c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-impure.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) - .text._lseek_r - 0x00000000 0x24 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) - .debug_frame 0x00000000 0x2c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) - .text._read_r 0x00000000 0x24 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) - .debug_frame 0x00000000 0x2c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) - .text._write_r - 0x00000000 0x24 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) - .debug_frame 0x00000000 0x2c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) - .text.__errno 0x00000000 0xc /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) - .debug_frame 0x00000000 0x20 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-errno.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_init - 0x00000000 0x2 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_init_recursive - 0x00000000 0x2 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_close - 0x00000000 0x2 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_close_recursive - 0x00000000 0x2 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_acquire - 0x00000000 0x2 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_acquire_recursive - 0x00000000 0x2 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_try_acquire - 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_try_acquire_recursive - 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_release - 0x00000000 0x2 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text.__retarget_lock_release_recursive - 0x00000000 0x2 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .bss.__lock___arc4random_mutex - 0x00000000 0x1 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .bss.__lock___dd_hash_mutex - 0x00000000 0x1 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .bss.__lock___tz_mutex - 0x00000000 0x1 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .bss.__lock___env_recursive_mutex - 0x00000000 0x1 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .bss.__lock___malloc_recursive_mutex - 0x00000000 0x1 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .bss.__lock___at_quick_exit_mutex - 0x00000000 0x1 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .bss.__lock___atexit_recursive_mutex - 0x00000000 0x1 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .bss.__lock___sfp_recursive_mutex - 0x00000000 0x1 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .debug_frame 0x00000000 0xb0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lock.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - .text._free_r 0x00000000 0x94 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - .debug_frame 0x00000000 0x38 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-freer.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .text.sbrk_aligned - 0x00000000 0x44 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .text._malloc_r - 0x00000000 0x100 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .bss.__malloc_sbrk_start - 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .bss.__malloc_free_list - 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_frame 0x00000000 0x50 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mallocr.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - .text.__malloc_lock - 0x00000000 0xc /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - .text.__malloc_unlock - 0x00000000 0xc /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - .debug_frame 0x00000000 0x30 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-mlock.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - .text.__sflush_r - 0x00000000 0x108 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - .text._fflush_r - 0x00000000 0x50 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - .text.fflush 0x00000000 0x28 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - .debug_frame 0x00000000 0x5c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fflush.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) - .text._sbrk_r 0x00000000 0x20 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_frame 0x00000000 0x2c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-sbrkr.o) - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtend.o - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtend.o - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtend.o - .rodata 0x00000000 0x24 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtend.o - .eh_frame 0x00000000 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtend.o - .ARM.attributes - 0x00000000 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtend.o - .text 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtn.o - .data 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtn.o - .bss 0x00000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtn.o - -Memory Configuration - -Name Origin Length Attributes -CCMSRAM 0x10000000 0x00002800 xrw -RAM 0x20000000 0x00008000 xrw -FLASH 0x08000000 0x00020000 xr -*default* 0x00000000 0xffffffff - -Linker script and memory map - -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crti.o -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o -LOAD ./Src/task1.o -LOAD ./Src/task1_it.o -LOAD ./Startup/startup_stm32g431kbtx.o -LOAD ./Startup/syscalls.o -LOAD ./Startup/sysmem.o -START GROUP -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a -END GROUP -START GROUP -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/libgcc.a -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a -END GROUP -START GROUP -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/libgcc.a -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libnosys.a -END GROUP -START GROUP -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/libgcc.a -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libnosys.a -END GROUP -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtend.o -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtn.o - 0x20008000 _estack = (ORIGIN (RAM) + LENGTH (RAM)) - 0x00000200 _Min_Heap_Size = 0x200 - 0x00000400 _Min_Stack_Size = 0x400 - -.isr_vector 0x08000000 0x1d8 - 0x08000000 . = ALIGN (0x4) - *(.isr_vector) - .isr_vector 0x08000000 0x1d8 ./Src/task1_it.o - 0x08000000 paIsrFunc - 0x080001d8 . = ALIGN (0x4) - -.text 0x080001d8 0x4bc - 0x080001d8 . = ALIGN (0x4) - *(.text) - .text 0x080001d8 0x40 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - *(.text*) - .text.main 0x08000218 0x1e0 ./Src/task1.o - 0x08000218 main - .text.GPIO_init - 0x080003f8 0xe4 ./Src/task1.o - .text.delay 0x080004dc 0x74 ./Src/task1.o - .text.ISR_error - 0x08000550 0x4c ./Src/task1_it.o - 0x08000550 ISR_error - .text.ISR_default - 0x0800059c 0x4c ./Src/task1_it.o - 0x0800059c ISR_default - .text.Reset_Handler - 0x080005e8 0x4c ./Startup/startup_stm32g431kbtx.o - 0x080005e8 Reset_Handler - .text.__libc_init_array - 0x08000634 0x48 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) - 0x08000634 __libc_init_array - *(.glue_7) - .glue_7 0x0800067c 0x0 linker stubs - *(.glue_7t) - .glue_7t 0x0800067c 0x0 linker stubs - *(.eh_frame) - .eh_frame 0x0800067c 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - *(.init) - .init 0x0800067c 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crti.o - 0x0800067c _init - .init 0x08000680 0x8 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtn.o - *(.fini) - .fini 0x08000688 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crti.o - 0x08000688 _fini - .fini 0x0800068c 0x8 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtn.o - 0x08000694 . = ALIGN (0x4) - 0x08000694 _etext = . - -.vfp11_veneer 0x08000694 0x0 - .vfp11_veneer 0x08000694 0x0 linker stubs - -.v4_bx 0x08000694 0x0 - .v4_bx 0x08000694 0x0 linker stubs - -.iplt 0x08000694 0x0 - .iplt 0x08000694 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - -.rodata 0x08000694 0x0 - 0x08000694 . = ALIGN (0x4) - *(.rodata) - *(.rodata*) - 0x08000694 . = ALIGN (0x4) - -.ARM.extab 0x08000694 0x0 - 0x08000694 . = ALIGN (0x4) - *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x08000694 . = ALIGN (0x4) - -.ARM 0x08000694 0x0 - 0x08000694 . = ALIGN (0x4) - 0x08000694 __exidx_start = . - *(.ARM.exidx*) - 0x08000694 __exidx_end = . - 0x08000694 . = ALIGN (0x4) - -.preinit_array 0x08000694 0x0 - 0x08000694 . = ALIGN (0x4) - 0x08000694 PROVIDE (__preinit_array_start = .) - *(.preinit_array*) - 0x08000694 PROVIDE (__preinit_array_end = .) - 0x08000694 . = ALIGN (0x4) - -.init_array 0x08000694 0x4 - 0x08000694 . = ALIGN (0x4) - 0x08000694 PROVIDE (__init_array_start = .) - *(SORT_BY_NAME(.init_array.*)) - *(.init_array*) - .init_array 0x08000694 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - 0x08000698 PROVIDE (__init_array_end = .) - 0x08000698 . = ALIGN (0x4) - -.fini_array 0x08000698 0x4 - 0x08000698 . = ALIGN (0x4) - [!provide] PROVIDE (__fini_array_start = .) - *(SORT_BY_NAME(.fini_array.*)) - *(.fini_array*) - .fini_array 0x08000698 0x4 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - [!provide] PROVIDE (__fini_array_end = .) - 0x0800069c . = ALIGN (0x4) - 0x0800069c _sidata = LOADADDR (.data) - -.rel.dyn 0x0800069c 0x0 - .rel.iplt 0x0800069c 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - -.data 0x20000000 0x0 load address 0x0800069c - 0x20000000 . = ALIGN (0x4) - 0x20000000 _sdata = . - *(.data) - *(.data*) - *(.RamFunc) - *(.RamFunc*) - 0x20000000 . = ALIGN (0x4) - 0x20000000 _edata = . - 0x0800069c _siccmsram = LOADADDR (.ccmsram) - -.igot.plt 0x20000000 0x0 load address 0x0800069c - .igot.plt 0x20000000 0x0 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - -.ccmsram 0x10000000 0x0 load address 0x0800069c - 0x10000000 . = ALIGN (0x4) - 0x10000000 _sccmsram = . - *(.ccmsram) - *(.ccmsram*) - 0x10000000 . = ALIGN (0x4) - 0x10000000 _eccmsram = . - 0x10000000 . = ALIGN (0x4) - -.bss 0x20000000 0x20 - 0x20000000 _sbss = . - 0x20000000 __bss_start__ = _sbss - *(.bss) - .bss 0x20000000 0x1c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - *(.bss*) - .bss.state 0x2000001c 0x4 ./Src/task1.o - 0x2000001c state - *(COMMON) - 0x20000020 . = ALIGN (0x4) - 0x20000020 _ebss = . - 0x20000020 __bss_end__ = _ebss - -._user_heap_stack - 0x20000020 0x600 - 0x20000020 . = ALIGN (0x8) - [!provide] PROVIDE (end = .) - 0x20000020 PROVIDE (_end = .) - 0x20000220 . = (. + _Min_Heap_Size) - *fill* 0x20000020 0x200 - 0x20000620 . = (. + _Min_Stack_Size) - *fill* 0x20000220 0x400 - 0x20000620 . = ALIGN (0x8) - -/DISCARD/ - libc.a(*) - libm.a(*) - libgcc.a(*) - -.ARM.attributes - 0x00000000 0x30 - *(.ARM.attributes) - .ARM.attributes - 0x00000000 0x22 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crti.o - .ARM.attributes - 0x00000022 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o - .ARM.attributes - 0x00000056 0x34 ./Src/task1.o - .ARM.attributes - 0x0000008a 0x34 ./Src/task1_it.o - .ARM.attributes - 0x000000be 0x21 ./Startup/startup_stm32g431kbtx.o - .ARM.attributes - 0x000000df 0x34 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) - .ARM.attributes - 0x00000113 0x22 /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtn.o -OUTPUT(task1.elf elf32-littlearm) -LOAD linker stubs -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libm.a -LOAD /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/libgcc.a - -.debug_info 0x00000000 0x7eb - .debug_info 0x00000000 0x42f ./Src/task1.o - .debug_info 0x0000042f 0x38b ./Src/task1_it.o - .debug_info 0x000007ba 0x31 ./Startup/startup_stm32g431kbtx.o - -.debug_abbrev 0x00000000 0x296 - .debug_abbrev 0x00000000 0x173 ./Src/task1.o - .debug_abbrev 0x00000173 0xfd ./Src/task1_it.o - .debug_abbrev 0x00000270 0x26 ./Startup/startup_stm32g431kbtx.o - -.debug_aranges 0x00000000 0x78 - .debug_aranges - 0x00000000 0x30 ./Src/task1.o - .debug_aranges - 0x00000030 0x28 ./Src/task1_it.o - .debug_aranges - 0x00000058 0x20 ./Startup/startup_stm32g431kbtx.o - -.debug_rnglists - 0x00000000 0x3a - .debug_rnglists - 0x00000000 0x21 ./Src/task1.o - .debug_rnglists - 0x00000021 0x19 ./Src/task1_it.o - -.debug_macro 0x00000000 0x13740 - .debug_macro 0x00000000 0xd4 ./Src/task1.o - .debug_macro 0x000000d4 0xac0 ./Src/task1.o - .debug_macro 0x00000b94 0x28 ./Src/task1.o - .debug_macro 0x00000bbc 0x22 ./Src/task1.o - .debug_macro 0x00000bde 0x8e ./Src/task1.o - .debug_macro 0x00000c6c 0x51 ./Src/task1.o - .debug_macro 0x00000cbd 0x103 ./Src/task1.o - .debug_macro 0x00000dc0 0x6a ./Src/task1.o - .debug_macro 0x00000e2a 0x1df ./Src/task1.o - .debug_macro 0x00001009 0x1c ./Src/task1.o - .debug_macro 0x00001025 0x22 ./Src/task1.o - .debug_macro 0x00001047 0xfb ./Src/task1.o - .debug_macro 0x00001142 0x1011 ./Src/task1.o - .debug_macro 0x00002153 0x11f ./Src/task1.o - .debug_macro 0x00002272 0x11396 ./Src/task1.o - .debug_macro 0x00013608 0x70 ./Src/task1.o - .debug_macro 0x00013678 0xc8 ./Src/task1_it.o - -.debug_line 0x00000000 0xa3e - .debug_line 0x00000000 0x58f ./Src/task1.o - .debug_line 0x0000058f 0x445 ./Src/task1_it.o - .debug_line 0x000009d4 0x6a ./Startup/startup_stm32g431kbtx.o - -.debug_str 0x00000000 0x6f831 - .debug_str 0x00000000 0x6f7b8 ./Src/task1.o - 0x6f954 (size before relaxing) - .debug_str 0x0006f7b8 0x48 ./Src/task1_it.o - 0x6f900 (size before relaxing) - .debug_str 0x0006f800 0x31 ./Startup/startup_stm32g431kbtx.o - 0x96 (size before relaxing) - -.comment 0x00000000 0x43 - .comment 0x00000000 0x43 ./Src/task1.o - 0x44 (size before relaxing) - .comment 0x00000043 0x44 ./Src/task1_it.o - -.debug_frame 0x00000000 0xe4 - .debug_frame 0x00000000 0x78 ./Src/task1.o - .debug_frame 0x00000078 0x40 ./Src/task1_it.o - .debug_frame 0x000000b8 0x2c /opt/st/stm32cubeide_1.16.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-init.o) - -.debug_line_str - 0x00000000 0x7a - .debug_line_str - 0x00000000 0x7a ./Startup/startup_stm32g431kbtx.o diff --git a/task2/task2.als b/task2/task2.als new file mode 100644 index 0000000..8dd4b29 --- /dev/null +++ b/task2/task2.als @@ -0,0 +1,1620 @@ + GNU assembler version 2.40.0 (arm-none-eabi) + using BFD version (GNU Tools for STM32 12.3.rel1.20240612-1315) 2.40.0.20230627. + options passed : -march=armv7-m -mcpu=cortex-m4 -adglns -g -mthumb --warn + input file : task2.s + output file : task2.o + target : arm-none-eabi + time stamp : 2026-03-24T14:14:11.000+0100 + + 1 #****************************************************************************************# + 2 # Project: task2 - ASM: Interrupts + 3 # File: task2.s + 4 # + 5 # Language: ASM + 6 # + 7 # Hardware: STefi Light v1.1 + 8 # Processor: STM32G431KBT6U + 9 # + 10 # Author: Manuel Lederhofer + 11 # Datum: 31.10.2014 + 12 # + 13 # Version: 6.0 + 14 # History: + 15 # 31.10.2014 ML create file + 16 # 27.09.2018 ML edit comments, extend vector table + 17 # 18.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG + 18 # 27.02.2019 ML move section of exception handlers to bottom of file + 19 # 25.09.2019 ML minor changes for a better code and comment understanding + 20 # 04.09.2020 HL port from STM32L476RG to STM32F411xE + 21 # 21.09.2020 ML tidy up, comments and formatting + 22 # 29.09.2021 ML port from STM32F411xE to STM32F042K6T6 + 23 # 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U + 24 # 10.02.2025 TK remove ASM:Polling,move ASM:Interrupts to task2 + 25 # 24.06.2025 TK remove /* ... place your code here ... */ + 26 # + 27 # Status: working + 28 # + 29 # Description: + 30 # See the description and requirements of the requested application + 31 # in the lab exercise guide. + 32 # + 33 # Notes: + 34 # - MCU speed at startup is 16 MHz + 35 # + 36 # ToDo: + 37 # - Change the example code to match the description and requirements + 38 # of the requested application in the lab exercise guide. + 39 #****************************************************************************************# + 40 + 41 .include "G431_addr.s" + 1 #***************************************************************************************** + 2 # Project: task2 - switch triggered LEDs + 3 # File: G431_addr.s + 4 # + 5 # Language: ASM + 6 # + 7 # Hardware: STefi v1.1 + 8 # Processor: STM32G431KBT6U + 9 # + 10 # Author: Manuel Lederhofer + 11 # Datum: 20.08.2015 + 12 # + 13 # Version: 3.0 + 14 # History: + 15 # 20.08.2015 ML create file + 16 # 07.12.2018 ML port from MKL05Z32VLC4 to STM32L476RG + 17 # 27.02.2019 ML change from absolute addresses to BASE + OFFSET notation and + 18 # add more timer modules + 19 # 09.03.2022 ML port from STM32F042K6T6 to STM32G431KBT6U + 20 # + 21 # Status: working + 22 # + 23 # Description: + 24 # Connects assembly addresses for STM32G431 MCU to symbolic register names + 25 # used in the datasheets. + 26 # + 27 # Notes: + 28 # - default MCU speed at startup is 16 MHz. + 29 # + 30 # ToDo: + 31 # - none - + 32 #***************************************************************************************** + 33 + 34 + 35 #----------------------------------------------------------------------------------------# + 36 # MCU Bus Base Addresses + 37 #----------------------------------------------------------------------------------------# + 38 + 39 .equ APB1_BASE, 0x40000000 + 40 .equ APB2_BASE, 0x40010000 + 41 .equ AHB1_BASE, 0x40020000 + 42 .equ AHB2_BASE, 0x48000000 + 43 .equ AHB3_BASE, 0xA0000000 //!!! FSMC + QSPI registers = AHB3 ? + 44 .equ PPB_BASE, 0xE0000000 /* Cortex M4 with FPU Internal Peripherals */ + 45 + 46 #----------------------------------------------------------------------------------------# + 47 # System Configuration Controller + 48 # + 49 # address space: 0x4001_0000 .. 0x4001_0029 + 50 #----------------------------------------------------------------------------------------# + 51 + 52 .equ SYSCFG_BASE, APB2_BASE + 53 + 54 .equ SYSCFG_MEMRMP, SYSCFG_BASE + 0x00 + 55 .equ SYSCFG_CFGR1, SYSCFG_BASE + 0x04 + 56 .equ SYSCFG_EXTICR1, SYSCFG_BASE + 0x08 + 57 .equ SYSCFG_EXTICR2, SYSCFG_BASE + 0x0C + 58 .equ SYSCFG_EXTICR3, SYSCFG_BASE + 0x10 + 59 .equ SYSCFG_EXTICR4, SYSCFG_BASE + 0x14 + 60 .equ SYSCFG_SCSR, SYSCFG_BASE + 0x18 + 61 .equ SYSCFG_CFGR2, SYSCFG_BASE + 0x1C + 62 .equ SYSCFG_SWPR, SYSCFG_BASE + 0x20 + 63 .equ SYSCFG_SKR, SYSCFG_BASE + 0x24 + 64 + 65 #----------------------------------------------------------------------------------------# + 66 # Extended Interrupts And Events Controller + 67 # + 68 # address space: 0x4001_0400 .. 0x4001_07FF + 69 #----------------------------------------------------------------------------------------# + 70 + 71 .equ EXTI_BASE, APB2_BASE + 0x400 + 72 + 73 .equ EXTI_IMR1, EXTI_BASE + 0x00 + 74 .equ EXTI_EMR1, EXTI_BASE + 0x04 + 75 .equ EXTI_RTSR1, EXTI_BASE + 0x08 + 76 .equ EXTI_FTSR1, EXTI_BASE + 0x0C + 77 .equ EXTI_SWIER1, EXTI_BASE + 0x10 + 78 .equ EXTI_PR1, EXTI_BASE + 0x14 + 79 + 80 .equ EXTI_IMR2, EXTI_BASE + 0x20 + 81 .equ EXTI_EMR2, EXTI_BASE + 0x24 + 82 .equ EXTI_RTSR2, EXTI_BASE + 0x28 + 83 .equ EXTI_FTSR2, EXTI_BASE + 0x2C + 84 .equ EXTI_SWIER2, EXTI_BASE + 0x30 + 85 .equ EXTI_PR2, EXTI_BASE + 0x34 + 86 + 87 #----------------------------------------------------------------------------------------# + 88 # TIM module common configuration + 89 # + 90 # Every timer has 1 KB address space: + 91 # + 92 # TIM2 .. TIM7: 0x4000_0000 .. 0x4000_17FF (APB1) + 93 # TIM1: 0x4001_2C00 .. 0x4001_2FFF (APB2) + 94 # TIM8: 0x4001_3400 .. 0x4001_37FF (APB2) + 95 # TIM15 .. TIM17: 0x4001_4000 .. 0x4001_4BFF (APB2) + 96 # TIM20: 0x4001_5000 .. 0x4001_53FF (APB2) + 97 # + 98 # note: + 99 # TIM2 + TIM5 are 32 bit timers. All others have a width of 16 bit. + 100 # Below, the timers on one line share a common register set description. + 101 # + 102 # TIM 1, 8, 20 advances control timers + 103 # TIM 2, 3, 4, 5 general purpose timers (TIM2/5 = 32 bit) + 104 # TIM 15 general purpose timers + 105 # TIM 16, 17 general purpose timers + 106 # TIM 6, 7 basic timers + 107 #----------------------------------------------------------------------------------------# + 108 + 109 .equ TIM_CR1_OFFSET, 0x00 + 110 .equ TIM_CR2_OFFSET, 0x04 + 111 .equ TIM_SMCR_OFFSET, 0x08 + 112 .equ TIM_DIER_OFFSET, 0x0C + 113 .equ TIM_SR_OFFSET, 0x10 + 114 .equ TIM_EGR_OFFSET, 0x14 + 115 .equ TIM_CCMR1_OFFSET, 0x18 + 116 .equ TIM_CCMR2_OFFSET, 0x1C + 117 .equ TIM_CCER_OFFSET, 0x20 + 118 .equ TIM_CNT_OFFSET, 0x24 + 119 .equ TIM_PSC_OFFSET, 0x28 + 120 .equ TIM_ARR_OFFSET, 0x2C + 121 .equ TIM_RCR_OFFSET, 0x30 + 122 .equ TIM_CCR1_OFFSET, 0x34 + 123 .equ TIM_CCR2_OFFSET, 0x38 + 124 .equ TIM_CCR3_OFFSET, 0x3C + 125 .equ TIM_CCR4_OFFSET, 0x40 + 126 .equ TIM_BDTR_OFFSET, 0x44 + 127 .equ TIM_CCR5_OFFSET, 0x48 + 128 .equ TIM_CCR6_OFFSET, 0x4C + 129 .equ TIM_CCMR3_OFFSET, 0x50 + 130 .equ TIM_DTR2_OFFSET, 0x54 + 131 .equ TIM_ECR_OFFSET, 0x58 + 132 .equ TIM_TISEL_OFFSET, 0x5C + 133 .equ TIM_AF1_OFFSET, 0x60 + 134 .equ TIM_AF2_OFFSET, 0x64 + 135 .equ TIM_OR1_OFFSET, 0x68 + 136 + 137 .equ TIM_DCR_OFFSET, 0x3DC + 138 .equ TIM_DMAR_OFFSET, 0x3E0 + 139 + 140 #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # + 141 + 142 #--- Genral Purpose Timer - TIM2 / address space: 0x4000_0000 .. 0x4000_03FF + 143 + 144 .equ TIM2_BASE, APB1_BASE + 145 + 146 .equ TIM2_CR1, TIM2_BASE + TIM_CR1_OFFSET + 147 .equ TIM2_CR2, TIM2_BASE + TIM_CR2_OFFSET + 148 .equ TIM2_SMCR, TIM2_BASE + TIM_SMCR_OFFSET + 149 .equ TIM2_DIER, TIM2_BASE + TIM_DIER_OFFSET + 150 .equ TIM2_SR, TIM2_BASE + TIM_SR_OFFSET + 151 .equ TIM2_EGR, TIM2_BASE + TIM_EGR_OFFSET + 152 .equ TIM2_CCMR1, TIM2_BASE + TIM_CCMR1_OFFSET + 153 .equ TIM2_CCMR2, TIM2_BASE + TIM_CCMR2_OFFSET + 154 .equ TIM2_CCER, TIM2_BASE + TIM_CCER_OFFSET + 155 .equ TIM2_CNT, TIM2_BASE + TIM_CNT_OFFSET + 156 .equ TIM2_PSC, TIM2_BASE + TIM_PSC_OFFSET + 157 .equ TIM2_ARR, TIM2_BASE + TIM_ARR_OFFSET + 158 + 159 .equ TIM2_CCR1, TIM2_BASE + TIM_CCR1_OFFSET + 160 .equ TIM2_CCR2, TIM2_BASE + TIM_CCR2_OFFSET + 161 .equ TIM2_CCR3, TIM2_BASE + TIM_CCR3_OFFSET + 162 .equ TIM2_CCR4, TIM2_BASE + TIM_CCR4_OFFSET + 163 + 164 .equ TIM2_ECR, TIM2_BASE + TIM_ECR_OFFSET + 165 .equ TIM2_TISEL, TIM2_BASE + TIM_TISEL_OFFSET + 166 .equ TIM2_AF1, TIM2_BASE + TIM_ECR_OFFSET + 167 .equ TIM2_AF2, TIM2_BASE + TIM_ECR_OFFSET + 168 + 169 .equ TIM2_DCR, TIM2_BASE + TIM_DCR_OFFSET + 170 .equ TIM2_DMAR, TIM2_BASE + TIM_DMAR_OFFSET + 171 + 172 #--- Genral Purpose Timer - TIM3 / address space: 0x4000_0400 .. 0x4000_07FF + 173 + 174 .equ TIM3_BASE, APB1_BASE + 0x400 + 175 + 176 .equ TIM3_CR1, TIM3_BASE + TIM_CR1_OFFSET + 177 .equ TIM3_CR2, TIM3_BASE + TIM_CR2_OFFSET + 178 .equ TIM3_SMCR, TIM3_BASE + TIM_SMCR_OFFSET + 179 .equ TIM3_DIER, TIM3_BASE + TIM_DIER_OFFSET + 180 .equ TIM3_SR, TIM3_BASE + TIM_SR_OFFSET + 181 .equ TIM3_EGR, TIM3_BASE + TIM_EGR_OFFSET + 182 .equ TIM3_CCMR1, TIM3_BASE + TIM_CCMR1_OFFSET + 183 .equ TIM3_CCMR2, TIM3_BASE + TIM_CCMR2_OFFSET + 184 .equ TIM3_CCER, TIM3_BASE + TIM_CCER_OFFSET + 185 .equ TIM3_CNT, TIM3_BASE + TIM_CNT_OFFSET + 186 .equ TIM3_PSC, TIM3_BASE + TIM_PSC_OFFSET + 187 .equ TIM3_ARR, TIM3_BASE + TIM_ARR_OFFSET + 188 + 189 .equ TIM3_CCR1, TIM3_BASE + TIM_CCR1_OFFSET + 190 .equ TIM3_CCR2, TIM3_BASE + TIM_CCR2_OFFSET + 191 .equ TIM3_CCR3, TIM3_BASE + TIM_CCR3_OFFSET + 192 .equ TIM3_CCR4, TIM3_BASE + TIM_CCR4_OFFSET + 193 + 194 .equ TIM3_ECR, TIM3_BASE + TIM_ECR_OFFSET + 195 .equ TIM3_TISEL, TIM3_BASE + TIM_TISEL_OFFSET + 196 .equ TIM3_AF1, TIM3_BASE + TIM_ECR_OFFSET + 197 .equ TIM3_AF2, TIM3_BASE + TIM_ECR_OFFSET + 198 + 199 .equ TIM3_DCR, TIM3_BASE + TIM_DCR_OFFSET + 200 .equ TIM3_DMAR, TIM3_BASE + TIM_DMAR_OFFSET + 201 + 202 #--- Genral Purpose Timer - TIM4 / address space: 0x4000_0800 .. 0x4000_0BFF + 203 + 204 .equ TIM4_BASE, APB1_BASE + 0x800 + 205 + 206 .equ TIM4_CR1, TIM4_BASE + TIM_CR1_OFFSET + 207 .equ TIM4_CR2, TIM4_BASE + TIM_CR2_OFFSET + 208 .equ TIM4_SMCR, TIM4_BASE + TIM_SMCR_OFFSET + 209 .equ TIM4_DIER, TIM4_BASE + TIM_DIER_OFFSET + 210 .equ TIM4_SR, TIM4_BASE + TIM_SR_OFFSET + 211 .equ TIM4_EGR, TIM4_BASE + TIM_EGR_OFFSET + 212 .equ TIM4_CCMR1, TIM4_BASE + TIM_CCMR1_OFFSET + 213 .equ TIM4_CCMR2, TIM4_BASE + TIM_CCMR2_OFFSET + 214 .equ TIM4_CCER, TIM4_BASE + TIM_CCER_OFFSET + 215 .equ TIM4_CNT, TIM4_BASE + TIM_CNT_OFFSET + 216 .equ TIM4_PSC, TIM4_BASE + TIM_PSC_OFFSET + 217 .equ TIM4_ARR, TIM4_BASE + TIM_ARR_OFFSET + 218 + 219 .equ TIM4_CCR1, TIM4_BASE + TIM_CCR1_OFFSET + 220 .equ TIM4_CCR2, TIM4_BASE + TIM_CCR2_OFFSET + 221 .equ TIM4_CCR3, TIM4_BASE + TIM_CCR3_OFFSET + 222 .equ TIM4_CCR4, TIM4_BASE + TIM_CCR4_OFFSET + 223 + 224 .equ TIM4_ECR, TIM4_BASE + TIM_ECR_OFFSET + 225 .equ TIM4_TISEL, TIM4_BASE + TIM_TISEL_OFFSET + 226 .equ TIM4_AF1, TIM4_BASE + TIM_ECR_OFFSET + 227 .equ TIM4_AF2, TIM4_BASE + TIM_ECR_OFFSET + 228 + 229 .equ TIM4_DCR, TIM4_BASE + TIM_DCR_OFFSET + 230 .equ TIM4_DMAR, TIM4_BASE + TIM_DMAR_OFFSET + 231 + 232 #--- Genral Purpose Timer - TIM5 / address space: 0x4000_0C00 .. 0x4000_0FFF + 233 + 234 .equ TIM5_BASE, APB1_BASE + 0xC00 + 235 + 236 .equ TIM5_CR1, TIM5_BASE + TIM_CR1_OFFSET + 237 .equ TIM5_CR2, TIM5_BASE + TIM_CR2_OFFSET + 238 .equ TIM5_SMCR, TIM5_BASE + TIM_SMCR_OFFSET + 239 .equ TIM5_DIER, TIM5_BASE + TIM_DIER_OFFSET + 240 .equ TIM5_SR, TIM5_BASE + TIM_SR_OFFSET + 241 .equ TIM5_EGR, TIM5_BASE + TIM_EGR_OFFSET + 242 .equ TIM5_CCMR1, TIM5_BASE + TIM_CCMR1_OFFSET + 243 .equ TIM5_CCMR2, TIM5_BASE + TIM_CCMR2_OFFSET + 244 .equ TIM5_CCER, TIM5_BASE + TIM_CCER_OFFSET + 245 .equ TIM5_CNT, TIM5_BASE + TIM_CNT_OFFSET + 246 .equ TIM5_PSC, TIM5_BASE + TIM_PSC_OFFSET + 247 .equ TIM5_ARR, TIM5_BASE + TIM_ARR_OFFSET + 248 + 249 .equ TIM5_CCR1, TIM5_BASE + TIM_CCR1_OFFSET + 250 .equ TIM5_CCR2, TIM5_BASE + TIM_CCR2_OFFSET + 251 .equ TIM5_CCR3, TIM5_BASE + TIM_CCR3_OFFSET + 252 .equ TIM5_CCR4, TIM5_BASE + TIM_CCR4_OFFSET + 253 + 254 .equ TIM5_ECR, TIM5_BASE + TIM_ECR_OFFSET + 255 .equ TIM5_TISEL, TIM5_BASE + TIM_TISEL_OFFSET + 256 .equ TIM5_AF1, TIM5_BASE + TIM_ECR_OFFSET + 257 .equ TIM5_AF2, TIM5_BASE + TIM_ECR_OFFSET + 258 + 259 .equ TIM5_DCR, TIM5_BASE + TIM_DCR_OFFSET + 260 .equ TIM5_DMAR, TIM5_BASE + TIM_DMAR_OFFSET + 261 + 262 #--- Basic Timer - TIM6 / address space: 0x4000_1000 .. 0x4000_13FF + 263 + 264 .equ TIM6_BASE, APB1_BASE + 0x1000 + 265 + 266 .equ TIM6_CR1, TIM6_BASE + TIM_CR1_OFFSET + 267 .equ TIM6_CR2, TIM6_BASE + TIM_CR2_OFFSET + 268 + 269 .equ TIM6_DIER, TIM6_BASE + TIM_DIER_OFFSET + 270 .equ TIM6_SR, TIM6_BASE + TIM_SR_OFFSET + 271 .equ TIM6_EGR, TIM6_BASE + TIM_EGR_OFFSET + 272 + 273 .equ TIM6_CNT, TIM6_BASE + TIM_CNT_OFFSET + 274 .equ TIM6_PSC, TIM6_BASE + TIM_PSC_OFFSET + 275 .equ TIM6_ARR, TIM6_BASE + TIM_ARR_OFFSET + 276 + 277 #--- Basic Timer - TIM7 / address space: 0x4000_1400 .. 0x4000_17FF + 278 + 279 .equ TIM7_BASE, APB1_BASE + 0x1400 + 280 + 281 .equ TIM7_CR1, TIM7_BASE + TIM_CR1_OFFSET + 282 .equ TIM7_CR2, TIM7_BASE + TIM_CR2_OFFSET + 283 + 284 .equ TIM7_DIER, TIM7_BASE + TIM_DIER_OFFSET + 285 .equ TIM7_SR, TIM7_BASE + TIM_SR_OFFSET + 286 .equ TIM7_EGR, TIM7_BASE + TIM_EGR_OFFSET + 287 + 288 .equ TIM7_CNT, TIM7_BASE + TIM_CNT_OFFSET + 289 .equ TIM7_PSC, TIM7_BASE + TIM_PSC_OFFSET + 290 .equ TIM7_ARR, TIM7_BASE + TIM_ARR_OFFSET + 291 + 292 #--- Advanced Control Timer - TIM1 / address space: 0x4001_2C00 .. 0x4001_2FFF + 293 + 294 .equ TIM1_BASE, APB2_BASE + 0x2C00 + 295 + 296 .equ TIM1_CR1, TIM1_BASE + TIM_CR1_OFFSET + 297 .equ TIM1_CR2, TIM1_BASE + TIM_CR2_OFFSET + 298 .equ TIM1_SMCR, TIM1_BASE + TIM_SMCR_OFFSET + 299 .equ TIM1_DIER, TIM1_BASE + TIM_DIER_OFFSET + 300 .equ TIM1_SR, TIM1_BASE + TIM_SR_OFFSET + 301 .equ TIM1_EGR, TIM1_BASE + TIM_EGR_OFFSET + 302 .equ TIM1_CCMR1, TIM1_BASE + TIM_CCMR1_OFFSET + 303 .equ TIM1_CCMR2, TIM1_BASE + TIM_CCMR2_OFFSET + 304 .equ TIM1_CCER, TIM1_BASE + TIM_CCER_OFFSET + 305 .equ TIM1_CNT, TIM1_BASE + TIM_CNT_OFFSET + 306 .equ TIM1_PSC, TIM1_BASE + TIM_PSC_OFFSET + 307 .equ TIM1_ARR, TIM1_BASE + TIM_ARR_OFFSET + 308 .equ TIM1_RCR, TIM1_BASE + TIM_RCR_OFFSET + 309 .equ TIM1_CCR1, TIM1_BASE + TIM_CCR1_OFFSET + 310 .equ TIM1_CCR2, TIM1_BASE + TIM_CCR2_OFFSET + 311 .equ TIM1_CCR3, TIM1_BASE + TIM_CCR3_OFFSET + 312 .equ TIM1_CCR4, TIM1_BASE + TIM_CCR4_OFFSET + 313 .equ TIM1_BDTR, TIM1_BASE + TIM_BDTR_OFFSET + 314 .equ TIM1_CCR5, TIM1_BASE + TIM_CCR5_OFFSET + 315 .equ TIM1_CCR6, TIM1_BASE + TIM_CCR6_OFFSET + 316 .equ TIM1_CCMR3, TIM1_BASE + TIM_CCMR3_OFFSET + 317 .equ TIM1_DTR2, TIM1_BASE + TIM_DTR2_OFFSET + 318 .equ TIM1_ECR, TIM1_BASE + TIM_ECR_OFFSET + 319 .equ TIM1_TISEL, TIM1_BASE + TIM_TISEL_OFFSET + 320 .equ TIM1_AF1, TIM1_BASE + TIM_AF1_OFFSET + 321 .equ TIM1_AF2, TIM1_BASE + TIM_AF2_OFFSET + 322 + 323 .equ TIM1_DCR, TIM1_BASE + TIM_DCR_OFFSET + 324 .equ TIM1_DMAR, TIM1_BASE + TIM_DMAR_OFFSET + 325 + 326 #--- Advanced Control Timer - TIM8 / address space: 0x4001_3400 .. 0x4001_37FF + 327 + 328 .equ TIM8_BASE, APB2_BASE + 0x3400 + 329 + 330 .equ TIM8_CR1, TIM8_BASE + TIM_CR1_OFFSET + 331 .equ TIM8_CR2, TIM8_BASE + TIM_CR2_OFFSET + 332 .equ TIM8_SMCR, TIM8_BASE + TIM_SMCR_OFFSET + 333 .equ TIM8_DIER, TIM8_BASE + TIM_DIER_OFFSET + 334 .equ TIM8_SR, TIM8_BASE + TIM_SR_OFFSET + 335 .equ TIM8_EGR, TIM8_BASE + TIM_EGR_OFFSET + 336 .equ TIM8_CCMR1, TIM8_BASE + TIM_CCMR1_OFFSET + 337 .equ TIM8_CCMR2, TIM8_BASE + TIM_CCMR2_OFFSET + 338 .equ TIM8_CCER, TIM8_BASE + TIM_CCER_OFFSET + 339 .equ TIM8_CNT, TIM8_BASE + TIM_CNT_OFFSET + 340 .equ TIM8_PSC, TIM8_BASE + TIM_PSC_OFFSET + 341 .equ TIM8_ARR, TIM8_BASE + TIM_ARR_OFFSET + 342 .equ TIM8_RCR, TIM8_BASE + TIM_RCR_OFFSET + 343 .equ TIM8_CCR1, TIM8_BASE + TIM_CCR1_OFFSET + 344 .equ TIM8_CCR2, TIM8_BASE + TIM_CCR2_OFFSET + 345 .equ TIM8_CCR3, TIM8_BASE + TIM_CCR3_OFFSET + 346 .equ TIM8_CCR4, TIM8_BASE + TIM_CCR4_OFFSET + 347 .equ TIM8_BDTR, TIM8_BASE + TIM_BDTR_OFFSET + 348 .equ TIM8_CCR5, TIM8_BASE + TIM_CCR5_OFFSET + 349 .equ TIM8_CCR6, TIM8_BASE + TIM_CCR6_OFFSET + 350 .equ TIM8_CCMR3, TIM8_BASE + TIM_CCMR3_OFFSET + 351 .equ TIM8_DTR2, TIM8_BASE + TIM_DTR2_OFFSET + 352 .equ TIM8_ECR, TIM8_BASE + TIM_ECR_OFFSET + 353 .equ TIM8_TISEL, TIM8_BASE + TIM_TISEL_OFFSET + 354 .equ TIM8_AF1, TIM8_BASE + TIM_AF1_OFFSET + 355 .equ TIM8_AF2, TIM8_BASE + TIM_AF2_OFFSET + 356 + 357 .equ TIM8_DCR, TIM8_BASE + TIM_DCR_OFFSET + 358 .equ TIM8_DMAR, TIM8_BASE + TIM_DMAR_OFFSET + 359 + 360 #--- Advanced Control Timer - TIM20 / address space: 0x4001_5000 .. 0x4001_53FF + 361 + 362 .equ TIM20_BASE, APB2_BASE + 0x5000 + 363 + 364 .equ TIM20_CR1, TIM20_BASE + TIM_CR1_OFFSET + 365 .equ TIM20_CR2, TIM20_BASE + TIM_CR2_OFFSET + 366 .equ TIM20_SMCR, TIM20_BASE + TIM_SMCR_OFFSET + 367 .equ TIM20_DIER, TIM20_BASE + TIM_DIER_OFFSET + 368 .equ TIM20_SR, TIM20_BASE + TIM_SR_OFFSET + 369 .equ TIM20_EGR, TIM20_BASE + TIM_EGR_OFFSET + 370 .equ TIM20_CCMR1, TIM20_BASE + TIM_CCMR1_OFFSET + 371 .equ TIM20_CCMR2, TIM20_BASE + TIM_CCMR2_OFFSET + 372 .equ TIM20_CCER, TIM20_BASE + TIM_CCER_OFFSET + 373 .equ TIM20_CNT, TIM20_BASE + TIM_CNT_OFFSET + 374 .equ TIM20_PSC, TIM20_BASE + TIM_PSC_OFFSET + 375 .equ TIM20_ARR, TIM20_BASE + TIM_ARR_OFFSET + 376 .equ TIM20_RCR, TIM20_BASE + TIM_RCR_OFFSET + 377 .equ TIM20_CCR1, TIM20_BASE + TIM_CCR1_OFFSET + 378 .equ TIM20_CCR2, TIM20_BASE + TIM_CCR2_OFFSET + 379 .equ TIM20_CCR3, TIM20_BASE + TIM_CCR3_OFFSET + 380 .equ TIM20_CCR4, TIM20_BASE + TIM_CCR4_OFFSET + 381 .equ TIM20_BDTR, TIM20_BASE + TIM_BDTR_OFFSET + 382 .equ TIM20_CCR5, TIM20_BASE + TIM_CCR5_OFFSET + 383 .equ TIM20_CCR6, TIM20_BASE + TIM_CCR6_OFFSET + 384 .equ TIM20_CCMR3, TIM20_BASE + TIM_CCMR3_OFFSET + 385 .equ TIM20_DTR2, TIM20_BASE + TIM_DTR2_OFFSET + 386 .equ TIM20_ECR, TIM20_BASE + TIM_ECR_OFFSET + 387 .equ TIM20_TISEL, TIM20_BASE + TIM_TISEL_OFFSET + 388 .equ TIM20_AF1, TIM20_BASE + TIM_AF1_OFFSET + 389 .equ TIM20_AF2, TIM20_BASE + TIM_AF2_OFFSET + 390 + 391 .equ TIM20_DCR, TIM20_BASE + TIM_DCR_OFFSET + 392 .equ TIM20_DMAR, TIM20_BASE + TIM_DMAR_OFFSET + 393 + 394 #--- Genral Purpose Timer - TIM15 / address space: 0x4001_4000 .. 0x4001_43FF + 395 + 396 .equ TIM15_BASE, APB2_BASE + 0x4000 + 397 + 398 .equ TIM15_CR1, TIM15_BASE + TIM_CR1_OFFSET + 399 .equ TIM15_CR2, TIM15_BASE + TIM_CR2_OFFSET + 400 .equ TIM15_SMCR, TIM15_BASE + TIM_SMCR_OFFSET + 401 .equ TIM15_DIER, TIM15_BASE + TIM_DIER_OFFSET + 402 .equ TIM15_SR, TIM15_BASE + TIM_SR_OFFSET + 403 .equ TIM15_EGR, TIM15_BASE + TIM_EGR_OFFSET + 404 .equ TIM15_CCMR1, TIM15_BASE + TIM_CCMR1_OFFSET + 405 + 406 .equ TIM15_CCER, TIM15_BASE + TIM_CCER_OFFSET + 407 .equ TIM15_CNT, TIM15_BASE + TIM_CNT_OFFSET + 408 .equ TIM15_PSC, TIM15_BASE + TIM_PSC_OFFSET + 409 .equ TIM15_ARR, TIM15_BASE + TIM_ARR_OFFSET + 410 .equ TIM15_RCR, TIM15_BASE + TIM_RCR_OFFSET + 411 .equ TIM15_CCR1, TIM15_BASE + TIM_CCR1_OFFSET + 412 .equ TIM15_CCR2, TIM15_BASE + TIM_CCR2_OFFSET + 413 + 414 .equ TIM15_BDTR, TIM15_BASE + TIM_BDTR_OFFSET + 415 + 416 .equ TIM15_DTR2, TIM15_BASE + TIM_DTR2_OFFSET + 417 + 418 .equ TIM15_TISEL, TIM15_BASE + TIM_TISEL_OFFSET + 419 .equ TIM15_AF1, TIM15_BASE + TIM_AF1_OFFSET + 420 .equ TIM15_AF2, TIM15_BASE + TIM_AF2_OFFSET + 421 + 422 .equ TIM15_DCR, TIM15_BASE + TIM_DCR_OFFSET + 423 .equ TIM15_DMAR, TIM15_BASE + TIM_DMAR_OFFSET + 424 + 425 #--- Genral Purpose Timer - TIM16 / address space: 0x4001_4400 .. 0x4001_47FF + 426 + 427 .equ TIM16_BASE, APB2_BASE + 0x4400 + 428 + 429 .equ TIM16_CR1, TIM16_BASE + TIM_CR1_OFFSET + 430 .equ TIM16_CR2, TIM16_BASE + TIM_CR2_OFFSET + 431 + 432 .equ TIM16_DIER, TIM16_BASE + TIM_DIER_OFFSET + 433 .equ TIM16_SR, TIM16_BASE + TIM_SR_OFFSET + 434 .equ TIM16_EGR, TIM16_BASE + TIM_EGR_OFFSET + 435 .equ TIM16_CCMR1, TIM16_BASE + TIM_CCMR1_OFFSET + 436 + 437 .equ TIM16_CCER, TIM16_BASE + TIM_CCER_OFFSET + 438 .equ TIM16_CNT, TIM16_BASE + TIM_CNT_OFFSET + 439 .equ TIM16_PSC, TIM16_BASE + TIM_PSC_OFFSET + 440 .equ TIM16_ARR, TIM16_BASE + TIM_ARR_OFFSET + 441 .equ TIM16_RCR, TIM16_BASE + TIM_RCR_OFFSET + 442 .equ TIM16_CCR1, TIM16_BASE + TIM_CCR1_OFFSET + 443 + 444 .equ TIM16_BDTR, TIM16_BASE + TIM_BDTR_OFFSET + 445 + 446 .equ TIM16_DTR2, TIM16_BASE + TIM_DTR2_OFFSET + 447 + 448 .equ TIM16_TISEL, TIM16_BASE + TIM_TISEL_OFFSET + 449 .equ TIM16_AF1, TIM16_BASE + TIM_AF1_OFFSET + 450 .equ TIM16_AF2, TIM16_BASE + TIM_AF2_OFFSET + 451 .equ TIM16_OR1, TIM16_BASE + TIM_OR1_OFFSET + 452 + 453 .equ TIM16_DCR, TIM16_BASE + TIM_DCR_OFFSET + 454 .equ TIM16_DMAR, TIM16_BASE + TIM_DMAR_OFFSET + 455 + 456 #--- Genral Purpose Timer - TIM17 / address space: 0x4001_4800 .. 0x4001_4BFF + 457 + 458 .equ TIM17_BASE, APB2_BASE + 0x4800 + 459 + 460 .equ TIM17_CR1, TIM17_BASE + TIM_CR1_OFFSET + 461 .equ TIM17_CR2, TIM17_BASE + TIM_CR2_OFFSET + 462 + 463 .equ TIM17_DIER, TIM17_BASE + TIM_DIER_OFFSET + 464 .equ TIM17_SR, TIM17_BASE + TIM_SR_OFFSET + 465 .equ TIM17_EGR, TIM17_BASE + TIM_EGR_OFFSET + 466 .equ TIM17_CCMR1, TIM17_BASE + TIM_CCMR1_OFFSET + 467 + 468 .equ TIM17_CCER, TIM17_BASE + TIM_CCER_OFFSET + 469 .equ TIM17_CNT, TIM17_BASE + TIM_CNT_OFFSET + 470 .equ TIM17_PSC, TIM17_BASE + TIM_PSC_OFFSET + 471 .equ TIM17_ARR, TIM17_BASE + TIM_ARR_OFFSET + 472 .equ TIM17_RCR, TIM17_BASE + TIM_RCR_OFFSET + 473 .equ TIM17_CCR1, TIM17_BASE + TIM_CCR1_OFFSET + 474 + 475 .equ TIM17_BDTR, TIM17_BASE + TIM_BDTR_OFFSET + 476 + 477 .equ TIM17_DTR2, TIM17_BASE + TIM_DTR2_OFFSET + 478 + 479 .equ TIM17_TISEL, TIM17_BASE + TIM_TISEL_OFFSET + 480 .equ TIM17_AF1, TIM17_BASE + TIM_AF1_OFFSET + 481 .equ TIM17_AF2, TIM17_BASE + TIM_AF2_OFFSET + 482 .equ TIM17_OR1, TIM17_BASE + TIM_OR1_OFFSET + 483 + 484 .equ TIM17_DCR, TIM17_BASE + TIM_DCR_OFFSET + 485 .equ TIM17_DMAR, TIM17_BASE + TIM_DMAR_OFFSET + 486 + 487 #----------------------------------------------------------------------------------------# + 488 # Reset and Clock Control + 489 # + 490 # address space: 0x4002_1000 .. 0x4002_13FF + 491 #----------------------------------------------------------------------------------------# + 492 + 493 .equ RCC_BASE, AHB1_BASE + 0x1000 + 494 + 495 .equ RCC_CR, RCC_BASE + 0x00 + 496 .equ RCC_ICSCR, RCC_BASE + 0x04 + 497 .equ RCC_CFGR, RCC_BASE + 0x08 + 498 .equ RCC_PLLCFGR, RCC_BASE + 0x0C + 499 + 500 .equ RCC_CIER, RCC_BASE + 0x18 + 501 .equ RCC_CIFR, RCC_BASE + 0x1C + 502 .equ RCC_CICR, RCC_BASE + 0x20 + 503 + 504 .equ RCC_AHB1RSTR, RCC_BASE + 0x28 + 505 .equ RCC_AHB2RSTR, RCC_BASE + 0x2C + 506 .equ RCC_AHB3RSTR, RCC_BASE + 0x30 + 507 + 508 .equ RCC_APB1RSTR1, RCC_BASE + 0x38 + 509 .equ RCC_APB1RSTR2, RCC_BASE + 0x3C + 510 .equ RCC_APB2RSTR, RCC_BASE + 0x40 + 511 + 512 .equ RCC_AHB1ENR, RCC_BASE + 0x48 + 513 .equ RCC_AHB2ENR, RCC_BASE + 0x4C + 514 .equ RCC_AHB3ENR, RCC_BASE + 0x50 + 515 + 516 .equ RCC_APB1ENR1, RCC_BASE + 0x58 + 517 .equ RCC_APB1ENR2, RCC_BASE + 0x5C + 518 .equ RCC_APB2ENR, RCC_BASE + 0x60 + 519 + 520 .equ RCC_AHB1SMENR, RCC_BASE + 0x68 + 521 .equ RCC_AHB2SMENR, RCC_BASE + 0x6C + 522 .equ RCC_AHB3SMENR, RCC_BASE + 0x70 + 523 + 524 .equ RCC_APB1SMENR1, RCC_BASE + 0x78 + 525 .equ RCC_APB1SMENR2, RCC_BASE + 0x7C + 526 .equ RCC_APB2SMENR, RCC_BASE + 0x80 + 527 + 528 .equ RCC_CCIPR, RCC_BASE + 0x88 + 529 + 530 .equ RCC_BDCR, RCC_BASE + 0x90 + 531 .equ RCC_CSR, RCC_BASE + 0x94 + 532 .equ RCC_CRRCR, RCC_BASE + 0x98 + 533 .equ RCC_CCIPR2, RCC_BASE + 0x9C + 534 + 535 #----------------------------------------------------------------------------------------# + 536 # GPIO module common configuration + 537 # + 538 # address space: 0x4800_0000 .. 0x4800_1FFF + 539 #----------------------------------------------------------------------------------------# + 540 + 541 .equ GPIO_BASE, AHB2_BASE + 542 + 543 .equ GPIO_MODER_OFFSET, 0x00 + 544 .equ GPIO_OTYPER_OFFSET, 0x04 + 545 .equ GPIO_OSPEEDR_OFFSET, 0x08 + 546 .equ GPIO_PUPDR_OFFSET, 0x0C + 547 .equ GPIO_IDR_OFFSET, 0x10 + 548 .equ GPIO_ODR_OFFSET, 0x14 + 549 .equ GPIO_BSRR_OFFSET, 0x18 + 550 .equ GPIO_LCKR_OFFSET, 0x1C + 551 .equ GPIO_AFRL_OFFSET, 0x20 + 552 .equ GPIO_AFRH_OFFSET, 0x24 + 553 .equ GPIO_BRR_OFFSET, 0x28 + 554 + 555 #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # + 556 + 557 #--- Port A GPIO configuration / address space: 0x4800_0000 .. 0x4800_03FF + 558 + 559 .equ GPIOA_BASE, GPIO_BASE + 560 + 561 .equ GPIOA_MODER, GPIOA_BASE + GPIO_MODER_OFFSET + 562 .equ GPIOA_OTYPER, GPIOA_BASE + GPIO_OTYPER_OFFSET + 563 .equ GPIOA_OSPEEDR, GPIOA_BASE + GPIO_OSPEEDR_OFFSET + 564 .equ GPIOA_PUPDR, GPIOA_BASE + GPIO_PUPDR_OFFSET + 565 .equ GPIOA_IDR, GPIOA_BASE + GPIO_IDR_OFFSET + 566 .equ GPIOA_ODR, GPIOA_BASE + GPIO_ODR_OFFSET + 567 .equ GPIOA_BSRR, GPIOA_BASE + GPIO_BSRR_OFFSET + 568 .equ GPIOA_LCKR, GPIOA_BASE + GPIO_LCKR_OFFSET + 569 .equ GPIOA_AFRL, GPIOA_BASE + GPIO_AFRL_OFFSET + 570 .equ GPIOA_AFRH, GPIOA_BASE + GPIO_AFRH_OFFSET + 571 .equ GPIOA_BRR, GPIOA_BASE + GPIO_BRR_OFFSET + 572 + 573 #--- Port B GPIO configuration / address space: 0x4800_0400 .. 0x4800_07FF + 574 + 575 .equ GPIOB_BASE, GPIO_BASE + 0x400 + 576 + 577 .equ GPIOB_MODER, GPIOB_BASE + GPIO_MODER_OFFSET + 578 .equ GPIOB_OTYPER, GPIOB_BASE + GPIO_OTYPER_OFFSET + 579 .equ GPIOB_OSPEEDR, GPIOB_BASE + GPIO_OSPEEDR_OFFSET + 580 .equ GPIOB_PUPDR, GPIOB_BASE + GPIO_PUPDR_OFFSET + 581 .equ GPIOB_IDR, GPIOB_BASE + GPIO_IDR_OFFSET + 582 .equ GPIOB_ODR, GPIOB_BASE + GPIO_ODR_OFFSET + 583 .equ GPIOB_BSRR, GPIOB_BASE + GPIO_BSRR_OFFSET + 584 .equ GPIOB_LCKR, GPIOB_BASE + GPIO_LCKR_OFFSET + 585 .equ GPIOB_AFRL, GPIOB_BASE + GPIO_AFRL_OFFSET + 586 .equ GPIOB_AFRH, GPIOB_BASE + GPIO_AFRH_OFFSET + 587 .equ GPIOB_BRR, GPIOB_BASE + GPIO_BRR_OFFSET + 588 + 589 #--- Port C GPIO configuration / address space: 0x4800_0800 .. 0x4800_0BFF + 590 + 591 .equ GPIOC_BASE, GPIO_BASE + 0x800 + 592 + 593 .equ GPIOC_MODER, GPIOC_BASE + GPIO_MODER_OFFSET + 594 .equ GPIOC_OTYPER, GPIOC_BASE + GPIO_OTYPER_OFFSET + 595 .equ GPIOC_OSPEEDR, GPIOC_BASE + GPIO_OSPEEDR_OFFSET + 596 .equ GPIOC_PUPDR, GPIOC_BASE + GPIO_PUPDR_OFFSET + 597 .equ GPIOC_IDR, GPIOC_BASE + GPIO_IDR_OFFSET + 598 .equ GPIOC_ODR, GPIOC_BASE + GPIO_ODR_OFFSET + 599 .equ GPIOC_BSRR, GPIOC_BASE + GPIO_BSRR_OFFSET + 600 .equ GPIOC_LCKR, GPIOC_BASE + GPIO_LCKR_OFFSET + 601 .equ GPIOC_AFRL, GPIOC_BASE + GPIO_AFRL_OFFSET + 602 .equ GPIOC_AFRH, GPIOC_BASE + GPIO_AFRH_OFFSET + 603 .equ GPIOC_BRR, GPIOC_BASE + GPIO_BRR_OFFSET + 604 + 605 #--- Port D GPIO configuration / address space: 0x4800_0C00 .. 0x4800_0FFF + 606 + 607 .equ GPIOD_BASE, GPIO_BASE + 0xC00 + 608 + 609 .equ GPIOD_MODER, GPIOD_BASE + GPIO_MODER_OFFSET + 610 .equ GPIOD_OTYPER, GPIOD_BASE + GPIO_OTYPER_OFFSET + 611 .equ GPIOD_OSPEEDR, GPIOD_BASE + GPIO_OSPEEDR_OFFSET + 612 .equ GPIOD_PUPDR, GPIOD_BASE + GPIO_PUPDR_OFFSET + 613 .equ GPIOD_IDR, GPIOD_BASE + GPIO_IDR_OFFSET + 614 .equ GPIOD_ODR, GPIOD_BASE + GPIO_ODR_OFFSET + 615 .equ GPIOD_BSRR, GPIOD_BASE + GPIO_BSRR_OFFSET + 616 .equ GPIOD_LCKR, GPIOD_BASE + GPIO_LCKR_OFFSET + 617 .equ GPIOD_AFRL, GPIOD_BASE + GPIO_AFRL_OFFSET + 618 .equ GPIOD_AFRH, GPIOD_BASE + GPIO_AFRH_OFFSET + 619 .equ GPIOD_BRR, GPIOD_BASE + GPIO_BRR_OFFSET + 620 + 621 #--- Port E GPIO configuration / address space: 0x4800_1000 .. 0x4800_13FF + 622 + 623 .equ GPIOE_BASE, GPIO_BASE + 0x1000 + 624 + 625 .equ GPIOE_MODER, GPIOE_BASE + GPIO_MODER_OFFSET + 626 .equ GPIOE_OTYPER, GPIOE_BASE + GPIO_OTYPER_OFFSET + 627 .equ GPIOE_OSPEEDR, GPIOE_BASE + GPIO_OSPEEDR_OFFSET + 628 .equ GPIOE_PUPDR, GPIOE_BASE + GPIO_PUPDR_OFFSET + 629 .equ GPIOE_IDR, GPIOE_BASE + GPIO_IDR_OFFSET + 630 .equ GPIOE_ODR, GPIOE_BASE + GPIO_ODR_OFFSET + 631 .equ GPIOE_BSRR, GPIOE_BASE + GPIO_BSRR_OFFSET + 632 .equ GPIOE_LCKR, GPIOE_BASE + GPIO_LCKR_OFFSET + 633 .equ GPIOE_AFRL, GPIOE_BASE + GPIO_AFRL_OFFSET + 634 .equ GPIOE_AFRH, GPIOE_BASE + GPIO_AFRH_OFFSET + 635 .equ GPIOE_BRR, GPIOE_BASE + GPIO_BRR_OFFSET + 636 + 637 #--- Port F GPIO configuration / address space: 0x4800_1400 .. 0x4800_17FF + 638 + 639 .equ GPIOF_BASE, GPIO_BASE + 0x1400 + 640 + 641 .equ GPIOF_MODER, GPIOF_BASE + GPIO_MODER_OFFSET + 642 .equ GPIOF_OTYPER, GPIOF_BASE + GPIO_OTYPER_OFFSET + 643 .equ GPIOF_OSPEEDR, GPIOF_BASE + GPIO_OSPEEDR_OFFSET + 644 .equ GPIOF_PUPDR, GPIOF_BASE + GPIO_PUPDR_OFFSET + 645 .equ GPIOF_IDR, GPIOF_BASE + GPIO_IDR_OFFSET + 646 .equ GPIOF_ODR, GPIOF_BASE + GPIO_ODR_OFFSET + 647 .equ GPIOF_BSRR, GPIOF_BASE + GPIO_BSRR_OFFSET + 648 .equ GPIOF_LCKR, GPIOF_BASE + GPIO_LCKR_OFFSET + 649 .equ GPIOF_AFRL, GPIOF_BASE + GPIO_AFRL_OFFSET + 650 .equ GPIOF_AFRH, GPIOF_BASE + GPIO_AFRH_OFFSET + 651 .equ GPIOF_BRR, GPIOF_BASE + GPIO_BRR_OFFSET + 652 + 653 #--- Port G GPIO configuration / address space: 0x4800_1800 .. 0x4800_1BFF + 654 + 655 .equ GPIOG_BASE, GPIO_BASE + 0x1800 + 656 + 657 .equ GPIOG_MODER, GPIOG_BASE + GPIO_MODER_OFFSET + 658 .equ GPIOG_OTYPER, GPIOG_BASE + GPIO_OTYPER_OFFSET + 659 .equ GPIOG_OSPEEDR, GPIOG_BASE + GPIO_OSPEEDR_OFFSET + 660 .equ GPIOG_PUPDR, GPIOG_BASE + GPIO_PUPDR_OFFSET + 661 .equ GPIOG_IDR, GPIOG_BASE + GPIO_IDR_OFFSET + 662 .equ GPIOG_ODR, GPIOG_BASE + GPIO_ODR_OFFSET + 663 .equ GPIOG_BSRR, GPIOG_BASE + GPIO_BSRR_OFFSET + 664 .equ GPIOG_LCKR, GPIOG_BASE + GPIO_LCKR_OFFSET + 665 .equ GPIOG_AFRL, GPIOG_BASE + GPIO_AFRL_OFFSET + 666 .equ GPIOG_AFRH, GPIOG_BASE + GPIO_AFRH_OFFSET + 667 .equ GPIOG_BRR, GPIOG_BASE + GPIO_BRR_OFFSET + 668 + 669 #----------------------------------------------------------------------------------------# + 670 # System Control Space + 671 # + 672 # address space: 0xE000_E000 .. 0xE000_EFFF + 673 #----------------------------------------------------------------------------------------# + 674 + 675 .equ SCS_BASE, PPB_BASE + 0xE000 + 676 + 677 #----------------------------------------------------------------------------------------# + 678 # System Timer (SysTick) + 679 # + 680 # address space: 0xE000_E010 .. 0xE000_E01F + 681 #----------------------------------------------------------------------------------------# + 682 + 683 .equ STK_BASE, SCS_BASE + 10 // 0xE000_E010 + 684 + 685 .equ STK_CTRL, SCS_BASE + 0x00 + 686 .equ STK_LOAD, SCS_BASE + 0x04 + 687 .equ STK_VAL, SCS_BASE + 0x08 + 688 .equ STK_CALIB, SCS_BASE + 0x0C + 689 + 690 #----------------------------------------------------------------------------------------# + 691 # Nested Vector Interrupt Controller + 692 # + 693 # address space: 0xE000_E100 .. 0xE000_E4EF + 694 #----------------------------------------------------------------------------------------# + 695 + 696 .equ NVIC_BASE, SCS_BASE + 0x100 // 0xE000_E100 + 697 + 698 .equ NVIC_ISER0, NVIC_BASE + 0x00 + 699 .equ NVIC_ISER1, NVIC_BASE + 0x04 + 700 .equ NVIC_ISER2, NVIC_BASE + 0x08 + 701 .equ NVIC_ISER3, NVIC_BASE + 0x0C + 702 + 703 .equ NVIC_ICER0, NVIC_BASE + 0x80 + 704 .equ NVIC_ICER1, NVIC_BASE + 0x84 + 705 .equ NVIC_ICER2, NVIC_BASE + 0x88 + 706 .equ NVIC_ICER3, NVIC_BASE + 0x8C + 707 + 708 .equ NVIC_ISPR0, NVIC_BASE + 0x100 + 709 .equ NVIC_ISPR1, NVIC_BASE + 0x104 + 710 .equ NVIC_ISPR2, NVIC_BASE + 0x108 + 711 .equ NVIC_ISPR3, NVIC_BASE + 0x10C + 712 + 713 .equ NVIC_ICPR0, NVIC_BASE + 0x180 + 714 .equ NVIC_ICPR1, NVIC_BASE + 0x184 + 715 .equ NVIC_ICPR2, NVIC_BASE + 0x188 + 716 .equ NVIC_ICPR3, NVIC_BASE + 0x18C + 717 + 718 .equ NVIC_IABR0, NVIC_BASE + 0x200 + 719 .equ NVIC_IABR1, NVIC_BASE + 0x204 + 720 .equ NVIC_IABR2, NVIC_BASE + 0x208 + 721 .equ NVIC_IABR3, NVIC_BASE + 0x20C + 722 + 723 .equ NVIC_IPR0, NVIC_BASE + 0x300 + 724 .equ NVIC_IPR1, NVIC_BASE + 0x304 + 725 .equ NVIC_IPR2, NVIC_BASE + 0x308 + 726 .equ NVIC_IPR3, NVIC_BASE + 0x30C + 727 .equ NVIC_IPR4, NVIC_BASE + 0x310 + 728 .equ NVIC_IPR5, NVIC_BASE + 0x314 + 729 .equ NVIC_IPR6, NVIC_BASE + 0x318 + 730 .equ NVIC_IPR7, NVIC_BASE + 0x31C + 731 .equ NVIC_IPR8, NVIC_BASE + 0x320 + 732 .equ NVIC_IPR9, NVIC_BASE + 0x324 + 733 .equ NVIC_IPR10, NVIC_BASE + 0x328 + 734 .equ NVIC_IPR11, NVIC_BASE + 0x32C + 735 .equ NVIC_IPR12, NVIC_BASE + 0x330 + 736 .equ NVIC_IPR13, NVIC_BASE + 0x334 + 737 .equ NVIC_IPR14, NVIC_BASE + 0x338 + 738 .equ NVIC_IPR15, NVIC_BASE + 0x33C + 739 .equ NVIC_IPR16, NVIC_BASE + 0x340 + 740 .equ NVIC_IPR17, NVIC_BASE + 0x344 + 741 .equ NVIC_IPR18, NVIC_BASE + 0x348 + 742 .equ NVIC_IPR19, NVIC_BASE + 0x34C + 743 .equ NVIC_IPR20, NVIC_BASE + 0x350 + 744 .equ NVIC_IPR21, NVIC_BASE + 0x354 + 745 .equ NVIC_IPR22, NVIC_BASE + 0x358 + 746 .equ NVIC_IPR23, NVIC_BASE + 0x35C + 747 .equ NVIC_IPR24, NVIC_BASE + 0x360 + 748 .equ NVIC_IPR25, NVIC_BASE + 0x364 + 749 + 750 .equ STIR, NVIC_BASE + 0xE00 + 751 + 752 #----------------------------------------------------------------------------------------# + 753 # MCU Debug Component + 754 # + 755 # address space: 0xE004_2000 .. 0xE004_2013 + 756 #----------------------------------------------------------------------------------------# + 757 + 758 .equ DBGMCU_BASE, PPB_BASE + 0x42000 + 759 + 760 .equ DBGMCU_IDCODE, DBGMCU_BASE + 0x00 + 761 .equ DBGMCU_CR, DBGMCU_BASE + 0x04 + 762 .equ DBGMCU_APB1FZR1, DBGMCU_BASE + 0x08 + 763 .equ DBGMCU_APB1FZR2, DBGMCU_BASE + 0x0C + 764 .equ DBGMCU_APB2DZR, DBGMCU_BASE + 0x10 + 42 + 43 + 44 #----------------------------------------------------------------------------------------# + 45 .section .vectortable,"a" // vector table at begin of ROM + 46 #----------------------------------------------------------------------------------------# + 47 + 48 .align 2 + 49 + 50 0000 00400020 .word 0x20004000 // initial Stack Pointer: 0x20000000 (RAM base) + 0x4000 (16K SRA + 51 0004 01040008 .word 0x08000401 // initial Program Counter + 52 0008 00000000 .word _ISR_NMI // non-masking interrupt + 53 000c 00000000 .word _ISR_HARDF // hard fault interrupt + 54 + 55 + 56 + 57 /* N.B. + 58 Look at the .space or the .org assembler directive to insert the address of the + 59 ISRs at the right place in the vector table. Verify your settings by the help of + 60 the list file. */ + 61 + 62 0010 00000000 .word _ISR_S0 + 63 + 64 + 65 #----------------------------------------------------------------------------------------# + 66 .text // section .text (default section for program code) + 67 #----------------------------------------------------------------------------------------# + 68 + 69 .align 2 + 70 .syntax unified + 71 .thumb + 72 .thumb_func + 73 .global init + 75 init: + 76 0000 72B6 CPSID i // disable interrupts globally + 77 + 78 0002 0020 MOVS r0, #0 // safely initialize the GPRs + 79 0004 0021 MOVS r1, #0 + 80 0006 0022 MOVS r2, #0 + 81 0008 0023 MOVS r3, #0 + 82 000a 0024 MOVS r4, #0 + 83 000c 0025 MOVS r5, #0 + 84 000e 0026 MOVS r6, #0 + 85 0010 0027 MOVS r7, #0 + 86 0012 8046 MOV r8, r0 + 87 0014 8146 MOV r9, r0 + 88 0016 8246 MOV r10, r0 + 89 0018 8346 MOV r11, r0 + 90 001a 8446 MOV r12, r0 + 91 + 92 #--- enable port clocking + 93 001c 1249 LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + 94 001e 4FF00102 MOV r2, #0x01 // load mask for adjusting port clock gating (A: LEDs) + 95 0022 0868 LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + 96 0024 1043 ORRS r0, r0, r2 // configure clock gating for ports + 97 0026 0860 STR r0, [r1, #0] // apply settings + 98 + 99 #--- port init + 100 #- LEDs + 101 0028 4FF09041 LDR r1, =GPIOA_MODER // load port A mode register address + 102 002c 0322 MOVS r2, #0x03 // prepare mask + 103 002e 0868 LDR r0, [r1, #0] // get current value of port A mode register + 104 0030 9043 BICS r0, r2 // delete bits + 105 0032 0122 MOVS r2, #0x01 // load configuration mask + 106 0034 1043 ORRS r0, r0, r2 // apply mask + 107 0036 0860 STR r0, [r1, #0] // apply result to port A mode register + 108 + 109 # LDR r1, =GPIOB_MODER + 110 # MOVS r3, #0x03 + 111 # LDR r0, [r1, #1] + 112 # BICS r0, r3 + 113 # MOVS r3, #0x01 + 114 # ORRS r0, r0, r3 + 115 # STR r0, [r1, #1] + 116 + 117 #- switch LED off + 118 0038 0C49 LDR r1, =GPIOA_ODR // load port A output data register + 119 003a 0122 MOVS r2, #0x01 // load mask for LED + 120 003c 0868 LDR r0, [r1, #0] // get current value of GPIOA + 121 003e 1043 ORRS r0, r0, r2 // configure pin state + 122 0040 0860 STR r0, [r1, #0] // apply settings + 123 + 124 #- buttons + 125 + 126 /* ... place your code here ... */ + 127 + 128 + 129 #--- button interrupt config + 130 + 131 #- enable clock for SYSCFG module + 132 + 133 + 134 #- connect GPIO pins of the buttons to EXTended Interrupt controller lines (EXTI) + 135 # in SYSCFG module (SYSCFG_* registers) + 136 + 137 + 138 + 139 + 140 #- configure lines in EXTI module (EXTI_* registers) + 141 + 142 + 143 + 144 #- NVIC: set interrupt priority, clear pending bits + 145 # and enable interrupts for buttons (see: PM, ch. 4.3, NVIC) + 146 + 147 + 148 + 149 0042 62B6 CPSIE i // enable interrupts globally + 150 + 151 + 152 #----------------------------------------------------------------------------------------# + 153 + 154 .align 2 + 155 .syntax unified + 156 .thumb + 157 .thumb_func + 158 .global main + 160 main: + 161 0044 0949 LDR r1, =GPIOA_ODR + 162 0046 5040 EORS r0, r0, r2 + 163 + 164 0048 0860 STR r0, [r1, #0] + 165 + 166 + 167 + 168 004a FFF7FEFF BL delay + 169 + 170 + 171 004e FFF7FEBF B main + 172 + 173 + 174 #----------------------------------------------------------------------------------------# + 175 + 176 0052 00BF .align 2 + 177 .syntax unified + 178 .thumb + 179 .thumb_func + 180 .global delay + 182 delay: + 183 0054 0026 MOVS r6, #0 // ... + 184 0056 064F LDR r7, =2000000 // ... + 185 .L1: + 186 0058 0136 ADDS r6, r6, #1 // ... + 187 005a BE42 CMP r6, r7 // ... + 188 005c FCD1 BNE .L1 // ... + 189 005e 7047 BX lr // ... + 190 + 191 + 192 #----------------------------------------------------------------------------------------# + 193 + 194 .align 2 + 195 .global stop + 196 stop: + 197 0060 00BF NOP // do nothing (NOP is here to avoid a debugger crash, only) + 198 0062 FFF7FEBF B stop // if this line is reached, something went wrong + 199 + 200 + 201 #----------------------------------------------------------------------------------------# + 202 .lp1: // this label is only to nicify the line up in the .lst file + 203 0066 00004C10 .ltorg + 203 02401400 + 203 00488084 + 203 1E00 + 204 #----------------------------------------------------------------------------------------# + 205 + 206 + 207 #----------------------------------------------------------------------------------------# + 208 .section .exhand,"ax" // section for exception handlers + 209 #----------------------------------------------------------------------------------------# + 210 + 211 .align 2 + 212 .syntax unified + 213 .thumb + 215 _ISR_NMI: + 216 #--- enable clock + 217 0000 1749 LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + 218 0002 4FF00102 MOV r2, #0x01 // load mask + 219 0006 0868 LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + 220 0008 1043 ORRS r0, r0, r2 // configure clock gating for port + 221 000a 0860 STR r0, [r1, #0] // apply settings + 222 + 223 #--- init pins + 224 000c 4FF09041 LDR r1, =GPIOA_MODER // load port A mode register address + 225 0010 FF22 MOVS r2, #0xFF // prepare mask + 226 0012 0868 LDR r0, [r1, #0] // get current value of port A mode register + 227 0014 9043 BICS r0, r0, r2 // delete bits + 228 0016 4422 MOVS r2, #0x44 // load configuration mask + 229 0018 1043 ORRS r0, r0, r2 // configure pins + 230 001a 0860 STR r0, [r1, #0] // apply settings to port A mode register + 231 + 232 #--- switch some LEDs on + 233 001c 1149 LDR r1, =GPIOA_ODR // load port A data output register address + 234 001e 0A22 MOVS r2, #0x0A // load mask for blue and yellow LED + 235 0020 0868 LDR r0, [r1, #0] + 236 0022 9043 BICS r0, r0, r2 + 237 0024 0860 STR r0, [r1, #0] // switch LEDs on + 238 + 239 0026 EBE7 B _ISR_NMI + 240 + 241 + 242 #----------------------------------------------------------------------------------------# + 243 + 244 .align 2 + 245 .syntax unified + 246 .thumb + 248 _ISR_HARDF: + 249 #--- enable clock + 250 0028 0D49 LDR r1, =RCC_AHB2ENR // load address of RCC_AHB2ENR + 251 002a 4FF00102 MOV r2, #0x01 // load mask + 252 002e 0868 LDR r0, [r1, #0] // get current value of RCC_AHB2ENR + 253 0030 1043 ORRS r0, r0, r2 // configure clock gating for port + 254 0032 0860 STR r0, [r1, #0] // apply settings + 255 + 256 #--- init pins + 257 0034 4FF09041 LDR r1, =GPIOA_MODER // load port A mode register address + 258 0038 FF22 MOVS r2, #0xFF // prepare mask + 259 003a 0868 LDR r0, [r1, #0] // get current value of port A mode register + 260 003c 9043 BICS r0, r0, r2 // delete bits + 261 003e 1122 MOVS r2, #0x11 // load configuration mask + 262 0040 1043 ORRS r0, r0, r2 // configure pins + 263 0042 0860 STR r0, [r1, #0] // apply settings to port A mode register + 264 + 265 #--- switch some LEDs on + 266 0044 0749 LDR r1, =GPIOA_ODR // load port A data output register address + 267 0046 0522 MOVS r2, #0x05 // load mask for red and green LED + 268 0048 0868 LDR r0, [r1, #0] + 269 004a 9043 BICS r0, r0, r2 + 270 004c 0860 STR r0, [r1, #0] // switch LEDs on + 271 + 272 004e EBE7 B _ISR_HARDF + 273 + 274 + 275 #----------------------------------------------------------------------------------------# + 276 + 277 .align 2 + 278 .syntax unified + 279 .thumb + 281 _ISR_S0: + 282 0050 00B5 PUSH {lr} // save special content + 283 + 284 #--- do the work + 285 + 286 + 287 #--- clear interrupt flag + 288 + 289 + 290 #--- leave ISR + 291 0052 02BC POP {r1} // get special content back + 292 0054 0847 BX r1 // go back to where we came from + 293 + 294 + 295 #----------------------------------------------------------------------------------------# + 296 + 297 0056 00BF .align 2 + 298 .syntax unified + 299 .thumb + 301 _ISR_S1: + 302 0058 00B5 PUSH {lr} // save special content + 303 + 304 #--- do the work + 305 + 306 + 307 + 308 + 309 #--- clear interrupt flag + 310 + 311 + 312 + 313 #--- leave ISR + 314 005a 02BC POP {r1} // get special content back + 315 005c 0847 BX r1 // go back to where we came from + 316 + 317 + 318 #----------------------------------------------------------------------------------------# + 319 .lp2: // this label is only to nicify the line up in the .lst file + 320 005e 00004C10 .ltorg + 320 02401400 + 320 0048 + 321 #----------------------------------------------------------------------------------------# + 322 + 323 .end +DEFINED SYMBOLS + G431_addr.s:39 *ABS*:40000000 APB1_BASE + G431_addr.s:40 *ABS*:40010000 APB2_BASE + G431_addr.s:41 *ABS*:40020000 AHB1_BASE + G431_addr.s:42 *ABS*:48000000 AHB2_BASE + G431_addr.s:43 *ABS*:a0000000 AHB3_BASE + G431_addr.s:44 *ABS*:e0000000 PPB_BASE + G431_addr.s:52 *ABS*:40010000 SYSCFG_BASE + G431_addr.s:54 *ABS*:40010000 SYSCFG_MEMRMP + G431_addr.s:55 *ABS*:40010004 SYSCFG_CFGR1 + G431_addr.s:56 *ABS*:40010008 SYSCFG_EXTICR1 + G431_addr.s:57 *ABS*:4001000c SYSCFG_EXTICR2 + G431_addr.s:58 *ABS*:40010010 SYSCFG_EXTICR3 + G431_addr.s:59 *ABS*:40010014 SYSCFG_EXTICR4 + G431_addr.s:60 *ABS*:40010018 SYSCFG_SCSR + G431_addr.s:61 *ABS*:4001001c SYSCFG_CFGR2 + G431_addr.s:62 *ABS*:40010020 SYSCFG_SWPR + G431_addr.s:63 *ABS*:40010024 SYSCFG_SKR + G431_addr.s:71 *ABS*:40010400 EXTI_BASE + G431_addr.s:73 *ABS*:40010400 EXTI_IMR1 + G431_addr.s:74 *ABS*:40010404 EXTI_EMR1 + G431_addr.s:75 *ABS*:40010408 EXTI_RTSR1 + G431_addr.s:76 *ABS*:4001040c EXTI_FTSR1 + G431_addr.s:77 *ABS*:40010410 EXTI_SWIER1 + G431_addr.s:78 *ABS*:40010414 EXTI_PR1 + G431_addr.s:80 *ABS*:40010420 EXTI_IMR2 + G431_addr.s:81 *ABS*:40010424 EXTI_EMR2 + G431_addr.s:82 *ABS*:40010428 EXTI_RTSR2 + G431_addr.s:83 *ABS*:4001042c EXTI_FTSR2 + G431_addr.s:84 *ABS*:40010430 EXTI_SWIER2 + G431_addr.s:85 *ABS*:40010434 EXTI_PR2 + G431_addr.s:109 *ABS*:00000000 TIM_CR1_OFFSET + G431_addr.s:110 *ABS*:00000004 TIM_CR2_OFFSET + G431_addr.s:111 *ABS*:00000008 TIM_SMCR_OFFSET + G431_addr.s:112 *ABS*:0000000c TIM_DIER_OFFSET + G431_addr.s:113 *ABS*:00000010 TIM_SR_OFFSET + G431_addr.s:114 *ABS*:00000014 TIM_EGR_OFFSET + G431_addr.s:115 *ABS*:00000018 TIM_CCMR1_OFFSET + G431_addr.s:116 *ABS*:0000001c TIM_CCMR2_OFFSET + G431_addr.s:117 *ABS*:00000020 TIM_CCER_OFFSET + G431_addr.s:118 *ABS*:00000024 TIM_CNT_OFFSET + G431_addr.s:119 *ABS*:00000028 TIM_PSC_OFFSET + G431_addr.s:120 *ABS*:0000002c TIM_ARR_OFFSET + G431_addr.s:121 *ABS*:00000030 TIM_RCR_OFFSET + G431_addr.s:122 *ABS*:00000034 TIM_CCR1_OFFSET + G431_addr.s:123 *ABS*:00000038 TIM_CCR2_OFFSET + G431_addr.s:124 *ABS*:0000003c TIM_CCR3_OFFSET + G431_addr.s:125 *ABS*:00000040 TIM_CCR4_OFFSET + G431_addr.s:126 *ABS*:00000044 TIM_BDTR_OFFSET + G431_addr.s:127 *ABS*:00000048 TIM_CCR5_OFFSET + G431_addr.s:128 *ABS*:0000004c TIM_CCR6_OFFSET + G431_addr.s:129 *ABS*:00000050 TIM_CCMR3_OFFSET + G431_addr.s:130 *ABS*:00000054 TIM_DTR2_OFFSET + G431_addr.s:131 *ABS*:00000058 TIM_ECR_OFFSET + G431_addr.s:132 *ABS*:0000005c TIM_TISEL_OFFSET + G431_addr.s:133 *ABS*:00000060 TIM_AF1_OFFSET + G431_addr.s:134 *ABS*:00000064 TIM_AF2_OFFSET + G431_addr.s:135 *ABS*:00000068 TIM_OR1_OFFSET + G431_addr.s:137 *ABS*:000003dc TIM_DCR_OFFSET + G431_addr.s:138 *ABS*:000003e0 TIM_DMAR_OFFSET + G431_addr.s:144 *ABS*:40000000 TIM2_BASE + G431_addr.s:146 *ABS*:40000000 TIM2_CR1 + G431_addr.s:147 *ABS*:40000004 TIM2_CR2 + G431_addr.s:148 *ABS*:40000008 TIM2_SMCR + G431_addr.s:149 *ABS*:4000000c TIM2_DIER + G431_addr.s:150 *ABS*:40000010 TIM2_SR + G431_addr.s:151 *ABS*:40000014 TIM2_EGR + G431_addr.s:152 *ABS*:40000018 TIM2_CCMR1 + G431_addr.s:153 *ABS*:4000001c TIM2_CCMR2 + G431_addr.s:154 *ABS*:40000020 TIM2_CCER + G431_addr.s:155 *ABS*:40000024 TIM2_CNT + G431_addr.s:156 *ABS*:40000028 TIM2_PSC + G431_addr.s:157 *ABS*:4000002c TIM2_ARR + G431_addr.s:159 *ABS*:40000034 TIM2_CCR1 + G431_addr.s:160 *ABS*:40000038 TIM2_CCR2 + G431_addr.s:161 *ABS*:4000003c TIM2_CCR3 + G431_addr.s:162 *ABS*:40000040 TIM2_CCR4 + G431_addr.s:164 *ABS*:40000058 TIM2_ECR + G431_addr.s:165 *ABS*:4000005c TIM2_TISEL + G431_addr.s:166 *ABS*:40000058 TIM2_AF1 + G431_addr.s:167 *ABS*:40000058 TIM2_AF2 + G431_addr.s:169 *ABS*:400003dc TIM2_DCR + G431_addr.s:170 *ABS*:400003e0 TIM2_DMAR + G431_addr.s:174 *ABS*:40000400 TIM3_BASE + G431_addr.s:176 *ABS*:40000400 TIM3_CR1 + G431_addr.s:177 *ABS*:40000404 TIM3_CR2 + G431_addr.s:178 *ABS*:40000408 TIM3_SMCR + G431_addr.s:179 *ABS*:4000040c TIM3_DIER + G431_addr.s:180 *ABS*:40000410 TIM3_SR + G431_addr.s:181 *ABS*:40000414 TIM3_EGR + G431_addr.s:182 *ABS*:40000418 TIM3_CCMR1 + G431_addr.s:183 *ABS*:4000041c TIM3_CCMR2 + G431_addr.s:184 *ABS*:40000420 TIM3_CCER + G431_addr.s:185 *ABS*:40000424 TIM3_CNT + G431_addr.s:186 *ABS*:40000428 TIM3_PSC + G431_addr.s:187 *ABS*:4000042c TIM3_ARR + G431_addr.s:189 *ABS*:40000434 TIM3_CCR1 + G431_addr.s:190 *ABS*:40000438 TIM3_CCR2 + G431_addr.s:191 *ABS*:4000043c TIM3_CCR3 + G431_addr.s:192 *ABS*:40000440 TIM3_CCR4 + G431_addr.s:194 *ABS*:40000458 TIM3_ECR + G431_addr.s:195 *ABS*:4000045c TIM3_TISEL + G431_addr.s:196 *ABS*:40000458 TIM3_AF1 + G431_addr.s:197 *ABS*:40000458 TIM3_AF2 + G431_addr.s:199 *ABS*:400007dc TIM3_DCR + G431_addr.s:200 *ABS*:400007e0 TIM3_DMAR + G431_addr.s:204 *ABS*:40000800 TIM4_BASE + G431_addr.s:206 *ABS*:40000800 TIM4_CR1 + G431_addr.s:207 *ABS*:40000804 TIM4_CR2 + G431_addr.s:208 *ABS*:40000808 TIM4_SMCR + G431_addr.s:209 *ABS*:4000080c TIM4_DIER + G431_addr.s:210 *ABS*:40000810 TIM4_SR + G431_addr.s:211 *ABS*:40000814 TIM4_EGR + G431_addr.s:212 *ABS*:40000818 TIM4_CCMR1 + G431_addr.s:213 *ABS*:4000081c TIM4_CCMR2 + G431_addr.s:214 *ABS*:40000820 TIM4_CCER + G431_addr.s:215 *ABS*:40000824 TIM4_CNT + G431_addr.s:216 *ABS*:40000828 TIM4_PSC + G431_addr.s:217 *ABS*:4000082c TIM4_ARR + G431_addr.s:219 *ABS*:40000834 TIM4_CCR1 + G431_addr.s:220 *ABS*:40000838 TIM4_CCR2 + G431_addr.s:221 *ABS*:4000083c TIM4_CCR3 + G431_addr.s:222 *ABS*:40000840 TIM4_CCR4 + G431_addr.s:224 *ABS*:40000858 TIM4_ECR + G431_addr.s:225 *ABS*:4000085c TIM4_TISEL + G431_addr.s:226 *ABS*:40000858 TIM4_AF1 + G431_addr.s:227 *ABS*:40000858 TIM4_AF2 + G431_addr.s:229 *ABS*:40000bdc TIM4_DCR + G431_addr.s:230 *ABS*:40000be0 TIM4_DMAR + G431_addr.s:234 *ABS*:40000c00 TIM5_BASE + G431_addr.s:236 *ABS*:40000c00 TIM5_CR1 + G431_addr.s:237 *ABS*:40000c04 TIM5_CR2 + G431_addr.s:238 *ABS*:40000c08 TIM5_SMCR + G431_addr.s:239 *ABS*:40000c0c TIM5_DIER + G431_addr.s:240 *ABS*:40000c10 TIM5_SR + G431_addr.s:241 *ABS*:40000c14 TIM5_EGR + G431_addr.s:242 *ABS*:40000c18 TIM5_CCMR1 + G431_addr.s:243 *ABS*:40000c1c TIM5_CCMR2 + G431_addr.s:244 *ABS*:40000c20 TIM5_CCER + G431_addr.s:245 *ABS*:40000c24 TIM5_CNT + G431_addr.s:246 *ABS*:40000c28 TIM5_PSC + G431_addr.s:247 *ABS*:40000c2c TIM5_ARR + G431_addr.s:249 *ABS*:40000c34 TIM5_CCR1 + G431_addr.s:250 *ABS*:40000c38 TIM5_CCR2 + G431_addr.s:251 *ABS*:40000c3c TIM5_CCR3 + G431_addr.s:252 *ABS*:40000c40 TIM5_CCR4 + G431_addr.s:254 *ABS*:40000c58 TIM5_ECR + G431_addr.s:255 *ABS*:40000c5c TIM5_TISEL + G431_addr.s:256 *ABS*:40000c58 TIM5_AF1 + G431_addr.s:257 *ABS*:40000c58 TIM5_AF2 + G431_addr.s:259 *ABS*:40000fdc TIM5_DCR + G431_addr.s:260 *ABS*:40000fe0 TIM5_DMAR + G431_addr.s:264 *ABS*:40001000 TIM6_BASE + G431_addr.s:266 *ABS*:40001000 TIM6_CR1 + G431_addr.s:267 *ABS*:40001004 TIM6_CR2 + G431_addr.s:269 *ABS*:4000100c TIM6_DIER + G431_addr.s:270 *ABS*:40001010 TIM6_SR + G431_addr.s:271 *ABS*:40001014 TIM6_EGR + G431_addr.s:273 *ABS*:40001024 TIM6_CNT + G431_addr.s:274 *ABS*:40001028 TIM6_PSC + G431_addr.s:275 *ABS*:4000102c TIM6_ARR + G431_addr.s:279 *ABS*:40001400 TIM7_BASE + G431_addr.s:281 *ABS*:40001400 TIM7_CR1 + G431_addr.s:282 *ABS*:40001404 TIM7_CR2 + G431_addr.s:284 *ABS*:4000140c TIM7_DIER + G431_addr.s:285 *ABS*:40001410 TIM7_SR + G431_addr.s:286 *ABS*:40001414 TIM7_EGR + G431_addr.s:288 *ABS*:40001424 TIM7_CNT + G431_addr.s:289 *ABS*:40001428 TIM7_PSC + G431_addr.s:290 *ABS*:4000142c TIM7_ARR + G431_addr.s:294 *ABS*:40012c00 TIM1_BASE + G431_addr.s:296 *ABS*:40012c00 TIM1_CR1 + G431_addr.s:297 *ABS*:40012c04 TIM1_CR2 + G431_addr.s:298 *ABS*:40012c08 TIM1_SMCR + G431_addr.s:299 *ABS*:40012c0c TIM1_DIER + G431_addr.s:300 *ABS*:40012c10 TIM1_SR + G431_addr.s:301 *ABS*:40012c14 TIM1_EGR + G431_addr.s:302 *ABS*:40012c18 TIM1_CCMR1 + G431_addr.s:303 *ABS*:40012c1c TIM1_CCMR2 + G431_addr.s:304 *ABS*:40012c20 TIM1_CCER + G431_addr.s:305 *ABS*:40012c24 TIM1_CNT + G431_addr.s:306 *ABS*:40012c28 TIM1_PSC + G431_addr.s:307 *ABS*:40012c2c TIM1_ARR + G431_addr.s:308 *ABS*:40012c30 TIM1_RCR + G431_addr.s:309 *ABS*:40012c34 TIM1_CCR1 + G431_addr.s:310 *ABS*:40012c38 TIM1_CCR2 + G431_addr.s:311 *ABS*:40012c3c TIM1_CCR3 + G431_addr.s:312 *ABS*:40012c40 TIM1_CCR4 + G431_addr.s:313 *ABS*:40012c44 TIM1_BDTR + G431_addr.s:314 *ABS*:40012c48 TIM1_CCR5 + G431_addr.s:315 *ABS*:40012c4c TIM1_CCR6 + G431_addr.s:316 *ABS*:40012c50 TIM1_CCMR3 + G431_addr.s:317 *ABS*:40012c54 TIM1_DTR2 + G431_addr.s:318 *ABS*:40012c58 TIM1_ECR + G431_addr.s:319 *ABS*:40012c5c TIM1_TISEL + G431_addr.s:320 *ABS*:40012c60 TIM1_AF1 + G431_addr.s:321 *ABS*:40012c64 TIM1_AF2 + G431_addr.s:323 *ABS*:40012fdc TIM1_DCR + G431_addr.s:324 *ABS*:40012fe0 TIM1_DMAR + G431_addr.s:328 *ABS*:40013400 TIM8_BASE + G431_addr.s:330 *ABS*:40013400 TIM8_CR1 + G431_addr.s:331 *ABS*:40013404 TIM8_CR2 + G431_addr.s:332 *ABS*:40013408 TIM8_SMCR + G431_addr.s:333 *ABS*:4001340c TIM8_DIER + G431_addr.s:334 *ABS*:40013410 TIM8_SR + G431_addr.s:335 *ABS*:40013414 TIM8_EGR + G431_addr.s:336 *ABS*:40013418 TIM8_CCMR1 + G431_addr.s:337 *ABS*:4001341c TIM8_CCMR2 + G431_addr.s:338 *ABS*:40013420 TIM8_CCER + G431_addr.s:339 *ABS*:40013424 TIM8_CNT + G431_addr.s:340 *ABS*:40013428 TIM8_PSC + G431_addr.s:341 *ABS*:4001342c TIM8_ARR + G431_addr.s:342 *ABS*:40013430 TIM8_RCR + G431_addr.s:343 *ABS*:40013434 TIM8_CCR1 + G431_addr.s:344 *ABS*:40013438 TIM8_CCR2 + G431_addr.s:345 *ABS*:4001343c TIM8_CCR3 + G431_addr.s:346 *ABS*:40013440 TIM8_CCR4 + G431_addr.s:347 *ABS*:40013444 TIM8_BDTR + G431_addr.s:348 *ABS*:40013448 TIM8_CCR5 + G431_addr.s:349 *ABS*:4001344c TIM8_CCR6 + G431_addr.s:350 *ABS*:40013450 TIM8_CCMR3 + G431_addr.s:351 *ABS*:40013454 TIM8_DTR2 + G431_addr.s:352 *ABS*:40013458 TIM8_ECR + G431_addr.s:353 *ABS*:4001345c TIM8_TISEL + G431_addr.s:354 *ABS*:40013460 TIM8_AF1 + G431_addr.s:355 *ABS*:40013464 TIM8_AF2 + G431_addr.s:357 *ABS*:400137dc TIM8_DCR + G431_addr.s:358 *ABS*:400137e0 TIM8_DMAR + G431_addr.s:362 *ABS*:40015000 TIM20_BASE + G431_addr.s:364 *ABS*:40015000 TIM20_CR1 + G431_addr.s:365 *ABS*:40015004 TIM20_CR2 + G431_addr.s:366 *ABS*:40015008 TIM20_SMCR + G431_addr.s:367 *ABS*:4001500c TIM20_DIER + G431_addr.s:368 *ABS*:40015010 TIM20_SR + G431_addr.s:369 *ABS*:40015014 TIM20_EGR + G431_addr.s:370 *ABS*:40015018 TIM20_CCMR1 + G431_addr.s:371 *ABS*:4001501c TIM20_CCMR2 + G431_addr.s:372 *ABS*:40015020 TIM20_CCER + G431_addr.s:373 *ABS*:40015024 TIM20_CNT + G431_addr.s:374 *ABS*:40015028 TIM20_PSC + G431_addr.s:375 *ABS*:4001502c TIM20_ARR + G431_addr.s:376 *ABS*:40015030 TIM20_RCR + G431_addr.s:377 *ABS*:40015034 TIM20_CCR1 + G431_addr.s:378 *ABS*:40015038 TIM20_CCR2 + G431_addr.s:379 *ABS*:4001503c TIM20_CCR3 + G431_addr.s:380 *ABS*:40015040 TIM20_CCR4 + G431_addr.s:381 *ABS*:40015044 TIM20_BDTR + G431_addr.s:382 *ABS*:40015048 TIM20_CCR5 + G431_addr.s:383 *ABS*:4001504c TIM20_CCR6 + G431_addr.s:384 *ABS*:40015050 TIM20_CCMR3 + G431_addr.s:385 *ABS*:40015054 TIM20_DTR2 + G431_addr.s:386 *ABS*:40015058 TIM20_ECR + G431_addr.s:387 *ABS*:4001505c TIM20_TISEL + G431_addr.s:388 *ABS*:40015060 TIM20_AF1 + G431_addr.s:389 *ABS*:40015064 TIM20_AF2 + G431_addr.s:391 *ABS*:400153dc TIM20_DCR + G431_addr.s:392 *ABS*:400153e0 TIM20_DMAR + G431_addr.s:396 *ABS*:40014000 TIM15_BASE + G431_addr.s:398 *ABS*:40014000 TIM15_CR1 + G431_addr.s:399 *ABS*:40014004 TIM15_CR2 + G431_addr.s:400 *ABS*:40014008 TIM15_SMCR + G431_addr.s:401 *ABS*:4001400c TIM15_DIER + G431_addr.s:402 *ABS*:40014010 TIM15_SR + G431_addr.s:403 *ABS*:40014014 TIM15_EGR + G431_addr.s:404 *ABS*:40014018 TIM15_CCMR1 + G431_addr.s:406 *ABS*:40014020 TIM15_CCER + G431_addr.s:407 *ABS*:40014024 TIM15_CNT + G431_addr.s:408 *ABS*:40014028 TIM15_PSC + G431_addr.s:409 *ABS*:4001402c TIM15_ARR + G431_addr.s:410 *ABS*:40014030 TIM15_RCR + G431_addr.s:411 *ABS*:40014034 TIM15_CCR1 + G431_addr.s:412 *ABS*:40014038 TIM15_CCR2 + G431_addr.s:414 *ABS*:40014044 TIM15_BDTR + G431_addr.s:416 *ABS*:40014054 TIM15_DTR2 + G431_addr.s:418 *ABS*:4001405c TIM15_TISEL + G431_addr.s:419 *ABS*:40014060 TIM15_AF1 + G431_addr.s:420 *ABS*:40014064 TIM15_AF2 + G431_addr.s:422 *ABS*:400143dc TIM15_DCR + G431_addr.s:423 *ABS*:400143e0 TIM15_DMAR + G431_addr.s:427 *ABS*:40014400 TIM16_BASE + G431_addr.s:429 *ABS*:40014400 TIM16_CR1 + G431_addr.s:430 *ABS*:40014404 TIM16_CR2 + G431_addr.s:432 *ABS*:4001440c TIM16_DIER + G431_addr.s:433 *ABS*:40014410 TIM16_SR + G431_addr.s:434 *ABS*:40014414 TIM16_EGR + G431_addr.s:435 *ABS*:40014418 TIM16_CCMR1 + G431_addr.s:437 *ABS*:40014420 TIM16_CCER + G431_addr.s:438 *ABS*:40014424 TIM16_CNT + G431_addr.s:439 *ABS*:40014428 TIM16_PSC + G431_addr.s:440 *ABS*:4001442c TIM16_ARR + G431_addr.s:441 *ABS*:40014430 TIM16_RCR + G431_addr.s:442 *ABS*:40014434 TIM16_CCR1 + G431_addr.s:444 *ABS*:40014444 TIM16_BDTR + G431_addr.s:446 *ABS*:40014454 TIM16_DTR2 + G431_addr.s:448 *ABS*:4001445c TIM16_TISEL + G431_addr.s:449 *ABS*:40014460 TIM16_AF1 + G431_addr.s:450 *ABS*:40014464 TIM16_AF2 + G431_addr.s:451 *ABS*:40014468 TIM16_OR1 + G431_addr.s:453 *ABS*:400147dc TIM16_DCR + G431_addr.s:454 *ABS*:400147e0 TIM16_DMAR + G431_addr.s:458 *ABS*:40014800 TIM17_BASE + G431_addr.s:460 *ABS*:40014800 TIM17_CR1 + G431_addr.s:461 *ABS*:40014804 TIM17_CR2 + G431_addr.s:463 *ABS*:4001480c TIM17_DIER + G431_addr.s:464 *ABS*:40014810 TIM17_SR + G431_addr.s:465 *ABS*:40014814 TIM17_EGR + G431_addr.s:466 *ABS*:40014818 TIM17_CCMR1 + G431_addr.s:468 *ABS*:40014820 TIM17_CCER + G431_addr.s:469 *ABS*:40014824 TIM17_CNT + G431_addr.s:470 *ABS*:40014828 TIM17_PSC + G431_addr.s:471 *ABS*:4001482c TIM17_ARR + G431_addr.s:472 *ABS*:40014830 TIM17_RCR + G431_addr.s:473 *ABS*:40014834 TIM17_CCR1 + G431_addr.s:475 *ABS*:40014844 TIM17_BDTR + G431_addr.s:477 *ABS*:40014854 TIM17_DTR2 + G431_addr.s:479 *ABS*:4001485c TIM17_TISEL + G431_addr.s:480 *ABS*:40014860 TIM17_AF1 + G431_addr.s:481 *ABS*:40014864 TIM17_AF2 + G431_addr.s:482 *ABS*:40014868 TIM17_OR1 + G431_addr.s:484 *ABS*:40014bdc TIM17_DCR + G431_addr.s:485 *ABS*:40014be0 TIM17_DMAR + G431_addr.s:493 *ABS*:40021000 RCC_BASE + G431_addr.s:495 *ABS*:40021000 RCC_CR + G431_addr.s:496 *ABS*:40021004 RCC_ICSCR + G431_addr.s:497 *ABS*:40021008 RCC_CFGR + G431_addr.s:498 *ABS*:4002100c RCC_PLLCFGR + G431_addr.s:500 *ABS*:40021018 RCC_CIER + G431_addr.s:501 *ABS*:4002101c RCC_CIFR + G431_addr.s:502 *ABS*:40021020 RCC_CICR + G431_addr.s:504 *ABS*:40021028 RCC_AHB1RSTR + G431_addr.s:505 *ABS*:4002102c RCC_AHB2RSTR + G431_addr.s:506 *ABS*:40021030 RCC_AHB3RSTR + G431_addr.s:508 *ABS*:40021038 RCC_APB1RSTR1 + G431_addr.s:509 *ABS*:4002103c RCC_APB1RSTR2 + G431_addr.s:510 *ABS*:40021040 RCC_APB2RSTR + G431_addr.s:512 *ABS*:40021048 RCC_AHB1ENR + G431_addr.s:513 *ABS*:4002104c RCC_AHB2ENR + G431_addr.s:514 *ABS*:40021050 RCC_AHB3ENR + G431_addr.s:516 *ABS*:40021058 RCC_APB1ENR1 + G431_addr.s:517 *ABS*:4002105c RCC_APB1ENR2 + G431_addr.s:518 *ABS*:40021060 RCC_APB2ENR + G431_addr.s:520 *ABS*:40021068 RCC_AHB1SMENR + G431_addr.s:521 *ABS*:4002106c RCC_AHB2SMENR + G431_addr.s:522 *ABS*:40021070 RCC_AHB3SMENR + G431_addr.s:524 *ABS*:40021078 RCC_APB1SMENR1 + G431_addr.s:525 *ABS*:4002107c RCC_APB1SMENR2 + G431_addr.s:526 *ABS*:40021080 RCC_APB2SMENR + G431_addr.s:528 *ABS*:40021088 RCC_CCIPR + G431_addr.s:530 *ABS*:40021090 RCC_BDCR + G431_addr.s:531 *ABS*:40021094 RCC_CSR + G431_addr.s:532 *ABS*:40021098 RCC_CRRCR + G431_addr.s:533 *ABS*:4002109c RCC_CCIPR2 + G431_addr.s:541 *ABS*:48000000 GPIO_BASE + G431_addr.s:543 *ABS*:00000000 GPIO_MODER_OFFSET + G431_addr.s:544 *ABS*:00000004 GPIO_OTYPER_OFFSET + G431_addr.s:545 *ABS*:00000008 GPIO_OSPEEDR_OFFSET + G431_addr.s:546 *ABS*:0000000c GPIO_PUPDR_OFFSET + G431_addr.s:547 *ABS*:00000010 GPIO_IDR_OFFSET + G431_addr.s:548 *ABS*:00000014 GPIO_ODR_OFFSET + G431_addr.s:549 *ABS*:00000018 GPIO_BSRR_OFFSET + G431_addr.s:550 *ABS*:0000001c GPIO_LCKR_OFFSET + G431_addr.s:551 *ABS*:00000020 GPIO_AFRL_OFFSET + G431_addr.s:552 *ABS*:00000024 GPIO_AFRH_OFFSET + G431_addr.s:553 *ABS*:00000028 GPIO_BRR_OFFSET + G431_addr.s:559 *ABS*:48000000 GPIOA_BASE + G431_addr.s:561 *ABS*:48000000 GPIOA_MODER + G431_addr.s:562 *ABS*:48000004 GPIOA_OTYPER + G431_addr.s:563 *ABS*:48000008 GPIOA_OSPEEDR + G431_addr.s:564 *ABS*:4800000c GPIOA_PUPDR + G431_addr.s:565 *ABS*:48000010 GPIOA_IDR + G431_addr.s:566 *ABS*:48000014 GPIOA_ODR + G431_addr.s:567 *ABS*:48000018 GPIOA_BSRR + G431_addr.s:568 *ABS*:4800001c GPIOA_LCKR + G431_addr.s:569 *ABS*:48000020 GPIOA_AFRL + G431_addr.s:570 *ABS*:48000024 GPIOA_AFRH + G431_addr.s:571 *ABS*:48000028 GPIOA_BRR + G431_addr.s:575 *ABS*:48000400 GPIOB_BASE + G431_addr.s:577 *ABS*:48000400 GPIOB_MODER + G431_addr.s:578 *ABS*:48000404 GPIOB_OTYPER + G431_addr.s:579 *ABS*:48000408 GPIOB_OSPEEDR + G431_addr.s:580 *ABS*:4800040c GPIOB_PUPDR + G431_addr.s:581 *ABS*:48000410 GPIOB_IDR + G431_addr.s:582 *ABS*:48000414 GPIOB_ODR + G431_addr.s:583 *ABS*:48000418 GPIOB_BSRR + G431_addr.s:584 *ABS*:4800041c GPIOB_LCKR + G431_addr.s:585 *ABS*:48000420 GPIOB_AFRL + G431_addr.s:586 *ABS*:48000424 GPIOB_AFRH + G431_addr.s:587 *ABS*:48000428 GPIOB_BRR + G431_addr.s:591 *ABS*:48000800 GPIOC_BASE + G431_addr.s:593 *ABS*:48000800 GPIOC_MODER + G431_addr.s:594 *ABS*:48000804 GPIOC_OTYPER + G431_addr.s:595 *ABS*:48000808 GPIOC_OSPEEDR + G431_addr.s:596 *ABS*:4800080c GPIOC_PUPDR + G431_addr.s:597 *ABS*:48000810 GPIOC_IDR + G431_addr.s:598 *ABS*:48000814 GPIOC_ODR + G431_addr.s:599 *ABS*:48000818 GPIOC_BSRR + G431_addr.s:600 *ABS*:4800081c GPIOC_LCKR + G431_addr.s:601 *ABS*:48000820 GPIOC_AFRL + G431_addr.s:602 *ABS*:48000824 GPIOC_AFRH + G431_addr.s:603 *ABS*:48000828 GPIOC_BRR + G431_addr.s:607 *ABS*:48000c00 GPIOD_BASE + G431_addr.s:609 *ABS*:48000c00 GPIOD_MODER + G431_addr.s:610 *ABS*:48000c04 GPIOD_OTYPER + G431_addr.s:611 *ABS*:48000c08 GPIOD_OSPEEDR + G431_addr.s:612 *ABS*:48000c0c GPIOD_PUPDR + G431_addr.s:613 *ABS*:48000c10 GPIOD_IDR + G431_addr.s:614 *ABS*:48000c14 GPIOD_ODR + G431_addr.s:615 *ABS*:48000c18 GPIOD_BSRR + G431_addr.s:616 *ABS*:48000c1c GPIOD_LCKR + G431_addr.s:617 *ABS*:48000c20 GPIOD_AFRL + G431_addr.s:618 *ABS*:48000c24 GPIOD_AFRH + G431_addr.s:619 *ABS*:48000c28 GPIOD_BRR + G431_addr.s:623 *ABS*:48001000 GPIOE_BASE + G431_addr.s:625 *ABS*:48001000 GPIOE_MODER + G431_addr.s:626 *ABS*:48001004 GPIOE_OTYPER + G431_addr.s:627 *ABS*:48001008 GPIOE_OSPEEDR + G431_addr.s:628 *ABS*:4800100c GPIOE_PUPDR + G431_addr.s:629 *ABS*:48001010 GPIOE_IDR + G431_addr.s:630 *ABS*:48001014 GPIOE_ODR + G431_addr.s:631 *ABS*:48001018 GPIOE_BSRR + G431_addr.s:632 *ABS*:4800101c GPIOE_LCKR + G431_addr.s:633 *ABS*:48001020 GPIOE_AFRL + G431_addr.s:634 *ABS*:48001024 GPIOE_AFRH + G431_addr.s:635 *ABS*:48001028 GPIOE_BRR + G431_addr.s:639 *ABS*:48001400 GPIOF_BASE + G431_addr.s:641 *ABS*:48001400 GPIOF_MODER + G431_addr.s:642 *ABS*:48001404 GPIOF_OTYPER + G431_addr.s:643 *ABS*:48001408 GPIOF_OSPEEDR + G431_addr.s:644 *ABS*:4800140c GPIOF_PUPDR + G431_addr.s:645 *ABS*:48001410 GPIOF_IDR + G431_addr.s:646 *ABS*:48001414 GPIOF_ODR + G431_addr.s:647 *ABS*:48001418 GPIOF_BSRR + G431_addr.s:648 *ABS*:4800141c GPIOF_LCKR + G431_addr.s:649 *ABS*:48001420 GPIOF_AFRL + G431_addr.s:650 *ABS*:48001424 GPIOF_AFRH + G431_addr.s:651 *ABS*:48001428 GPIOF_BRR + G431_addr.s:655 *ABS*:48001800 GPIOG_BASE + G431_addr.s:657 *ABS*:48001800 GPIOG_MODER + G431_addr.s:658 *ABS*:48001804 GPIOG_OTYPER + G431_addr.s:659 *ABS*:48001808 GPIOG_OSPEEDR + G431_addr.s:660 *ABS*:4800180c GPIOG_PUPDR + G431_addr.s:661 *ABS*:48001810 GPIOG_IDR + G431_addr.s:662 *ABS*:48001814 GPIOG_ODR + G431_addr.s:663 *ABS*:48001818 GPIOG_BSRR + G431_addr.s:664 *ABS*:4800181c GPIOG_LCKR + G431_addr.s:665 *ABS*:48001820 GPIOG_AFRL + G431_addr.s:666 *ABS*:48001824 GPIOG_AFRH + G431_addr.s:667 *ABS*:48001828 GPIOG_BRR + G431_addr.s:675 *ABS*:e000e000 SCS_BASE + G431_addr.s:683 *ABS*:e000e00a STK_BASE + G431_addr.s:685 *ABS*:e000e000 STK_CTRL + G431_addr.s:686 *ABS*:e000e004 STK_LOAD + G431_addr.s:687 *ABS*:e000e008 STK_VAL + G431_addr.s:688 *ABS*:e000e00c STK_CALIB + G431_addr.s:696 *ABS*:e000e100 NVIC_BASE + G431_addr.s:698 *ABS*:e000e100 NVIC_ISER0 + G431_addr.s:699 *ABS*:e000e104 NVIC_ISER1 + G431_addr.s:700 *ABS*:e000e108 NVIC_ISER2 + G431_addr.s:701 *ABS*:e000e10c NVIC_ISER3 + G431_addr.s:703 *ABS*:e000e180 NVIC_ICER0 + G431_addr.s:704 *ABS*:e000e184 NVIC_ICER1 + G431_addr.s:705 *ABS*:e000e188 NVIC_ICER2 + G431_addr.s:706 *ABS*:e000e18c NVIC_ICER3 + G431_addr.s:708 *ABS*:e000e200 NVIC_ISPR0 + G431_addr.s:709 *ABS*:e000e204 NVIC_ISPR1 + G431_addr.s:710 *ABS*:e000e208 NVIC_ISPR2 + G431_addr.s:711 *ABS*:e000e20c NVIC_ISPR3 + G431_addr.s:713 *ABS*:e000e280 NVIC_ICPR0 + G431_addr.s:714 *ABS*:e000e284 NVIC_ICPR1 + G431_addr.s:715 *ABS*:e000e288 NVIC_ICPR2 + G431_addr.s:716 *ABS*:e000e28c NVIC_ICPR3 + G431_addr.s:718 *ABS*:e000e300 NVIC_IABR0 + G431_addr.s:719 *ABS*:e000e304 NVIC_IABR1 + G431_addr.s:720 *ABS*:e000e308 NVIC_IABR2 + G431_addr.s:721 *ABS*:e000e30c NVIC_IABR3 + G431_addr.s:723 *ABS*:e000e400 NVIC_IPR0 + G431_addr.s:724 *ABS*:e000e404 NVIC_IPR1 + G431_addr.s:725 *ABS*:e000e408 NVIC_IPR2 + G431_addr.s:726 *ABS*:e000e40c NVIC_IPR3 + G431_addr.s:727 *ABS*:e000e410 NVIC_IPR4 + G431_addr.s:728 *ABS*:e000e414 NVIC_IPR5 + G431_addr.s:729 *ABS*:e000e418 NVIC_IPR6 + G431_addr.s:730 *ABS*:e000e41c NVIC_IPR7 + G431_addr.s:731 *ABS*:e000e420 NVIC_IPR8 + G431_addr.s:732 *ABS*:e000e424 NVIC_IPR9 + G431_addr.s:733 *ABS*:e000e428 NVIC_IPR10 + G431_addr.s:734 *ABS*:e000e42c NVIC_IPR11 + G431_addr.s:735 *ABS*:e000e430 NVIC_IPR12 + G431_addr.s:736 *ABS*:e000e434 NVIC_IPR13 + G431_addr.s:737 *ABS*:e000e438 NVIC_IPR14 + G431_addr.s:738 *ABS*:e000e43c NVIC_IPR15 + G431_addr.s:739 *ABS*:e000e440 NVIC_IPR16 + G431_addr.s:740 *ABS*:e000e444 NVIC_IPR17 + G431_addr.s:741 *ABS*:e000e448 NVIC_IPR18 + G431_addr.s:742 *ABS*:e000e44c NVIC_IPR19 + G431_addr.s:743 *ABS*:e000e450 NVIC_IPR20 + G431_addr.s:744 *ABS*:e000e454 NVIC_IPR21 + G431_addr.s:745 *ABS*:e000e458 NVIC_IPR22 + G431_addr.s:746 *ABS*:e000e45c NVIC_IPR23 + G431_addr.s:747 *ABS*:e000e460 NVIC_IPR24 + G431_addr.s:748 *ABS*:e000e464 NVIC_IPR25 + G431_addr.s:750 *ABS*:e000ef00 STIR + G431_addr.s:758 *ABS*:e0042000 DBGMCU_BASE + G431_addr.s:760 *ABS*:e0042000 DBGMCU_IDCODE + G431_addr.s:761 *ABS*:e0042004 DBGMCU_CR + G431_addr.s:762 *ABS*:e0042008 DBGMCU_APB1FZR1 + G431_addr.s:763 *ABS*:e004200c DBGMCU_APB1FZR2 + G431_addr.s:764 *ABS*:e0042010 DBGMCU_APB2DZR + task2.s:48 .vectortable:00000000 $d + task2.s:215 .exhand:00000000 _ISR_NMI + task2.s:248 .exhand:00000028 _ISR_HARDF + task2.s:281 .exhand:00000050 _ISR_S0 + task2.s:69 .text:00000000 $t + task2.s:75 .text:00000000 init + task2.s:160 .text:00000044 main + task2.s:182 .text:00000054 delay + task2.s:196 .text:00000060 stop + task2.s:202 .text:00000066 .lp1 + task2.s:203 .text:00000066 $d + task2.s:203 .text:00000068 $d + task2.s:211 .exhand:00000000 $t + task2.s:301 .exhand:00000058 _ISR_S1 + task2.s:319 .exhand:0000005e .lp2 + task2.s:320 .exhand:0000005e $d + task2.s:320 .exhand:00000060 $d + +NO UNDEFINED SYMBOLS diff --git a/task2/task2.elf b/task2/task2.elf new file mode 100755 index 0000000000000000000000000000000000000000..a008f0bb1a6204dafab29b3f9a13c134cf34cac9 GIT binary patch literal 23672 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 Wan!*-m#cO5$3JZ0^EzJP9RCXhOafg1 literal 0 HcmV?d00001 diff --git a/task2/task2.launch b/task2/task2.launch index 114d818..0fdc2be 100644 --- a/task2/task2.launch +++ b/task2/task2.launch @@ -37,7 +37,7 @@ - + diff --git a/task2/task2.lst b/task2/task2.lst new file mode 100644 index 0000000..e83ec7d --- /dev/null +++ b/task2/task2.lst @@ -0,0 +1,156 @@ + +task2.elf: file format elf32-littlearm + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .vectortable 00000014 08000000 08000000 00001000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, DATA + 1 .text 00000074 08000400 08000400 00001400 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 2 .exhand 00000068 08001000 08001000 00002000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE +SYMBOL TABLE: +08000000 l d .vectortable 00000000 .vectortable +08000400 l d .text 00000000 .text +08001000 l d .exhand 00000000 .exhand +08001000 l F .exhand 00000000 _ISR_NMI +08001028 l F .exhand 00000000 _ISR_HARDF +08001050 l F .exhand 00000000 _ISR_S0 +08000466 l .text 00000000 .lp1 +08001058 l F .exhand 00000000 _ISR_S1 +0800105e l .exhand 00000000 .lp2 +08000400 g F .text 00000000 init +08000444 g F .text 00000000 main +08000454 g F .text 00000000 delay +08000460 g .text 00000000 stop + + + +Disassembly of section .vectortable: + +08000000 <.vectortable>: + 8000000: 20004000 .word 0x20004000 + 8000004: 08000401 .word 0x08000401 + 8000008: 08001001 .word 0x08001001 + 800000c: 08001029 .word 0x08001029 + 8000010: 08001051 .word 0x08001051 + +Disassembly of section .text: + +08000400 : + 8000400: b672 cpsid i + 8000402: 2000 movs r0, #0 + 8000404: 2100 movs r1, #0 + 8000406: 2200 movs r2, #0 + 8000408: 2300 movs r3, #0 + 800040a: 2400 movs r4, #0 + 800040c: 2500 movs r5, #0 + 800040e: 2600 movs r6, #0 + 8000410: 2700 movs r7, #0 + 8000412: 4680 mov r8, r0 + 8000414: 4681 mov r9, r0 + 8000416: 4682 mov sl, r0 + 8000418: 4683 mov fp, r0 + 800041a: 4684 mov ip, r0 + 800041c: 4912 ldr r1, [pc, #72] @ (8000468 <.lp1+0x2>) + 800041e: f04f 0201 mov.w r2, #1 + 8000422: 6808 ldr r0, [r1, #0] + 8000424: 4310 orrs r0, r2 + 8000426: 6008 str r0, [r1, #0] + 8000428: f04f 4190 mov.w r1, #1207959552 @ 0x48000000 + 800042c: 2203 movs r2, #3 + 800042e: 6808 ldr r0, [r1, #0] + 8000430: 4390 bics r0, r2 + 8000432: 2201 movs r2, #1 + 8000434: 4310 orrs r0, r2 + 8000436: 6008 str r0, [r1, #0] + 8000438: 490c ldr r1, [pc, #48] @ (800046c <.lp1+0x6>) + 800043a: 2201 movs r2, #1 + 800043c: 6808 ldr r0, [r1, #0] + 800043e: 4310 orrs r0, r2 + 8000440: 6008 str r0, [r1, #0] + 8000442: b662 cpsie i + +08000444
: + 8000444: 4909 ldr r1, [pc, #36] @ (800046c <.lp1+0x6>) + 8000446: 4050 eors r0, r2 + 8000448: 6008 str r0, [r1, #0] + 800044a: f000 f803 bl 8000454 + 800044e: f7ff bff9 b.w 8000444
+ 8000452: bf00 nop + +08000454 : + 8000454: 2600 movs r6, #0 + 8000456: 4f06 ldr r7, [pc, #24] @ (8000470 <.lp1+0xa>) + 8000458: 3601 adds r6, #1 + 800045a: 42be cmp r6, r7 + 800045c: d1fc bne.n 8000458 + 800045e: 4770 bx lr + +08000460 : + 8000460: bf00 nop + 8000462: f7ff bffd b.w 8000460 + +08000466 <.lp1>: + 8000466: 0000 .short 0x0000 + 8000468: 4002104c .word 0x4002104c + 800046c: 48000014 .word 0x48000014 + 8000470: 001e8480 .word 0x001e8480 + +Disassembly of section .exhand: + +08001000 <_ISR_NMI>: + 8001000: 4917 ldr r1, [pc, #92] @ (8001060 <.lp2+0x2>) + 8001002: f04f 0201 mov.w r2, #1 + 8001006: 6808 ldr r0, [r1, #0] + 8001008: 4310 orrs r0, r2 + 800100a: 6008 str r0, [r1, #0] + 800100c: f04f 4190 mov.w r1, #1207959552 @ 0x48000000 + 8001010: 22ff movs r2, #255 @ 0xff + 8001012: 6808 ldr r0, [r1, #0] + 8001014: 4390 bics r0, r2 + 8001016: 2244 movs r2, #68 @ 0x44 + 8001018: 4310 orrs r0, r2 + 800101a: 6008 str r0, [r1, #0] + 800101c: 4911 ldr r1, [pc, #68] @ (8001064 <.lp2+0x6>) + 800101e: 220a movs r2, #10 + 8001020: 6808 ldr r0, [r1, #0] + 8001022: 4390 bics r0, r2 + 8001024: 6008 str r0, [r1, #0] + 8001026: e7eb b.n 8001000 <_ISR_NMI> + +08001028 <_ISR_HARDF>: + 8001028: 490d ldr r1, [pc, #52] @ (8001060 <.lp2+0x2>) + 800102a: f04f 0201 mov.w r2, #1 + 800102e: 6808 ldr r0, [r1, #0] + 8001030: 4310 orrs r0, r2 + 8001032: 6008 str r0, [r1, #0] + 8001034: f04f 4190 mov.w r1, #1207959552 @ 0x48000000 + 8001038: 22ff movs r2, #255 @ 0xff + 800103a: 6808 ldr r0, [r1, #0] + 800103c: 4390 bics r0, r2 + 800103e: 2211 movs r2, #17 + 8001040: 4310 orrs r0, r2 + 8001042: 6008 str r0, [r1, #0] + 8001044: 4907 ldr r1, [pc, #28] @ (8001064 <.lp2+0x6>) + 8001046: 2205 movs r2, #5 + 8001048: 6808 ldr r0, [r1, #0] + 800104a: 4390 bics r0, r2 + 800104c: 6008 str r0, [r1, #0] + 800104e: e7eb b.n 8001028 <_ISR_HARDF> + +08001050 <_ISR_S0>: + 8001050: b500 push {lr} + 8001052: bc02 pop {r1} + 8001054: 4708 bx r1 + 8001056: bf00 nop + +08001058 <_ISR_S1>: + 8001058: b500 push {lr} + 800105a: bc02 pop {r1} + 800105c: 4708 bx r1 + +0800105e <.lp2>: + 800105e: 0000 .short 0x0000 + 8001060: 4002104c .word 0x4002104c + 8001064: 48000014 .word 0x48000014 diff --git a/task2/task2.map b/task2/task2.map new file mode 100644 index 0000000..0f272fa --- /dev/null +++ b/task2/task2.map @@ -0,0 +1,92 @@ + +Memory Configuration + +Name Origin Length Attributes +IVECS 0x08000000 0x000001d8 r +PGM 0x08000400 0x00000c00 xr +EXHANDS 0x08001000 0x00000400 xr +RAM 0x20000000 0x00001800 rw +*default* 0x00000000 0xffffffff + +Linker script and memory map + + +.vectortable 0x08000000 0x14 + 0x08000000 . = ALIGN (0x4) + *(.vectortable) + .vectortable 0x08000000 0x14 task2.o + 0x08000014 . = ALIGN (0x4) + +.text 0x08000400 0x74 + *(.text) + .text 0x08000400 0x74 task2.o + 0x08000400 init + 0x08000444 main + 0x08000454 delay + 0x08000460 stop + +.glue_7 0x08000474 0x0 + .glue_7 0x08000474 0x0 linker stubs + +.glue_7t 0x08000474 0x0 + .glue_7t 0x08000474 0x0 linker stubs + +.vfp11_veneer 0x08000474 0x0 + .vfp11_veneer 0x08000474 0x0 linker stubs + +.v4_bx 0x08000474 0x0 + .v4_bx 0x08000474 0x0 linker stubs + +.iplt 0x08000474 0x0 + .iplt 0x08000474 0x0 task2.o + +.exhand 0x08001000 0x68 + *(.exhand) + .exhand 0x08001000 0x68 task2.o +LOAD task2.o +OUTPUT(task2.elf elf32-littlearm) +LOAD linker stubs + +.rel.dyn 0x08001068 0x0 + .rel.iplt 0x08001068 0x0 task2.o + +.data 0x08001068 0x0 + .data 0x08001068 0x0 task2.o + +.igot.plt 0x08001068 0x0 + .igot.plt 0x08001068 0x0 task2.o + +.bss 0x08001068 0x0 + .bss 0x08001068 0x0 task2.o + +.ARM.attributes + 0x00000000 0x21 + .ARM.attributes + 0x00000000 0x21 task2.o + +.debug_line 0x00000000 0xc1 + .debug_line 0x00000000 0xc1 task2.o + +.debug_info 0x00000000 0x22 + .debug_info 0x00000000 0x22 task2.o + +.debug_abbrev 0x00000000 0x12 + .debug_abbrev 0x00000000 0x12 task2.o + +.debug_aranges 0x00000000 0x28 + .debug_aranges + 0x00000000 0x28 task2.o + +.debug_str 0x00000000 0x68 + .debug_str 0x00000000 0x68 task2.o + +.debug_ranges 0x00000000 0x20 + .debug_ranges 0x00000000 0x20 task2.o + +Cross Reference Table + +Symbol File +delay task2.o +init task2.o +main task2.o +stop task2.o diff --git a/task2/task2.o b/task2/task2.o new file mode 100644 index 0000000000000000000000000000000000000000..e2ae9de9d273b1101a6fe4f863144188f93cfba5 GIT binary patch literal 16208 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