diff --git a/.DS_Store b/.DS_Store
index 0664d04..3c57912 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/.cproject b/.cproject
index d27545f..3b02558 100644
--- a/.cproject
+++ b/.cproject
@@ -22,7 +22,7 @@
-
+
diff --git a/Core/Inc/main.h b/Core/Inc/main.h
index 6e8bdc1..eed6711 100644
--- a/Core/Inc/main.h
+++ b/Core/Inc/main.h
@@ -79,8 +79,12 @@ void Error_Handler(void);
#define HC595_SLK_GPIO_Port GPIOA
#define HC595_RLK_Pin GPIO_PIN_7
#define HC595_RLK_GPIO_Port GPIOA
+#define iic_sda_Pin GPIO_PIN_1
+#define iic_sda_GPIO_Port GPIOB
#define HC595_SLK2_Pin GPIO_PIN_9
#define HC595_SLK2_GPIO_Port GPIOA
+#define iic_scl_Pin GPIO_PIN_10
+#define iic_scl_GPIO_Port GPIOA
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
diff --git a/Core/Src/main.c b/Core/Src/main.c
index 91b5eda..d6e781d 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -249,10 +249,14 @@ static void MX_GPIO_Init(void)
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOF_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, U_T_Pin|HC595_DLK_Pin|HC595_SLK_Pin|HC595_RLK_Pin
- |HC595_SLK2_Pin, GPIO_PIN_RESET);
+ |HC595_SLK2_Pin|iic_scl_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(iic_sda_GPIO_Port, iic_sda_Pin, GPIO_PIN_RESET);
/*Configure GPIO pins : MOT_IN1_Pin MOT_IN2_Pin */
GPIO_InitStruct.Pin = MOT_IN1_Pin|MOT_IN2_Pin;
@@ -281,6 +285,20 @@ static void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
HAL_GPIO_Init(I_R_GPIO_Port, &GPIO_InitStruct);
+ /*Configure GPIO pin : iic_sda_Pin */
+ GPIO_InitStruct.Pin = iic_sda_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(iic_sda_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : iic_scl_Pin */
+ GPIO_InitStruct.Pin = iic_scl_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(iic_scl_GPIO_Port, &GPIO_InitStruct);
+
/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI2_3_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(EXTI2_3_IRQn);
diff --git a/Debug/.DS_Store b/Debug/.DS_Store
new file mode 100644
index 0000000..a639b57
Binary files /dev/null and b/Debug/.DS_Store differ
diff --git a/Debug/Core/.DS_Store b/Debug/Core/.DS_Store
new file mode 100644
index 0000000..e5e2d47
Binary files /dev/null and b/Debug/Core/.DS_Store differ
diff --git a/Debug/Core/Src/main.su b/Debug/Core/Src/main.su
index 2cc4949..6d42077 100644
--- a/Debug/Core/Src/main.su
+++ b/Debug/Core/Src/main.su
@@ -3,4 +3,4 @@ main.c:115:6:SystemClock_Config 80 static
main.c:155:13:MX_ADC_Init 24 static
main.c:214:13:MX_TIM14_Init 8 static
main.c:245:13:MX_GPIO_Init 48 static
-main.c:298:6:Error_Handler 8 static,ignoring_inline_asm
+main.c:316:6:Error_Handler 8 static,ignoring_inline_asm
diff --git a/Debug/Motor_Controller2.bin b/Debug/Motor_Controller2.bin
index b201b12..b3522fd 100755
Binary files a/Debug/Motor_Controller2.bin and b/Debug/Motor_Controller2.bin differ
diff --git a/Debug/Motor_Controller2.list b/Debug/Motor_Controller2.list
index fce3344..a7b13a6 100644
--- a/Debug/Motor_Controller2.list
+++ b/Debug/Motor_Controller2.list
@@ -5,45 +5,45 @@ Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 000000c0 08000000 08000000 00010000 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 0000372c 080000c0 080000c0 000100c0 2**2
+ 1 .text 00003c7c 080000c0 080000c0 000100c0 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 0000005c 080037ec 080037ec 000137ec 2**2
+ 2 .rodata 00000060 08003d3c 08003d3c 00013d3c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 08003848 08003848 0002000c 2**0
+ 3 .ARM.extab 00000000 08003d9c 08003d9c 00020070 2**0
CONTENTS
- 4 .ARM 00000000 08003848 08003848 0002000c 2**0
+ 4 .ARM 00000000 08003d9c 08003d9c 00020070 2**0
CONTENTS
- 5 .preinit_array 00000000 08003848 08003848 0002000c 2**0
+ 5 .preinit_array 00000000 08003d9c 08003d9c 00020070 2**0
CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 08003848 08003848 00013848 2**2
+ 6 .init_array 00000004 08003d9c 08003d9c 00013d9c 2**2
CONTENTS, ALLOC, LOAD, DATA
- 7 .fini_array 00000004 0800384c 0800384c 0001384c 2**2
+ 7 .fini_array 00000004 08003da0 08003da0 00013da0 2**2
CONTENTS, ALLOC, LOAD, DATA
- 8 .data 0000000c 20000000 08003850 00020000 2**2
+ 8 .data 00000070 20000000 08003da4 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 0000014c 2000000c 0800385c 0002000c 2**2
+ 9 .bss 00000178 20000070 08003e14 00020070 2**2
ALLOC
- 10 ._user_heap_stack 00000600 20000158 0800385c 00020158 2**0
+ 10 ._user_heap_stack 00000600 200001e8 08003e14 000201e8 2**0
ALLOC
- 11 .ARM.attributes 00000028 00000000 00000000 0002000c 2**0
+ 11 .ARM.attributes 00000028 00000000 00000000 00020070 2**0
CONTENTS, READONLY
- 12 .debug_info 0000aea4 00000000 00000000 00020034 2**0
+ 12 .debug_info 0000b642 00000000 00000000 00020098 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 13 .debug_abbrev 00001e10 00000000 00000000 0002aed8 2**0
+ 13 .debug_abbrev 00002119 00000000 00000000 0002b6da 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_aranges 00000ab8 00000000 00000000 0002cce8 2**3
+ 14 .debug_aranges 00000b40 00000000 00000000 0002d7f8 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_ranges 000009b0 00000000 00000000 0002d7a0 2**3
+ 15 .debug_ranges 00000a30 00000000 00000000 0002e338 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_macro 0000fd9f 00000000 00000000 0002e150 2**0
+ 16 .debug_macro 000101a6 00000000 00000000 0002ed68 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_line 0000d877 00000000 00000000 0003deef 2**0
+ 17 .debug_line 0000e927 00000000 00000000 0003ef0e 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_str 0005edcc 00000000 00000000 0004b766 2**0
+ 18 .debug_str 0005f097 00000000 00000000 0004d835 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .comment 00000053 00000000 00000000 000aa532 2**0
+ 19 .comment 00000053 00000000 00000000 000ac8cc 2**0
CONTENTS, READONLY
- 20 .debug_frame 00002548 00000000 00000000 000aa588 2**2
+ 20 .debug_frame 00002844 00000000 00000000 000ac920 2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
Disassembly of section .text:
@@ -63,9 +63,9 @@ Disassembly of section .text:
80000d6: 2301 movs r3, #1
80000d8: 7023 strb r3, [r4, #0]
80000da: bd10 pop {r4, pc}
- 80000dc: 2000000c .word 0x2000000c
+ 80000dc: 20000070 .word 0x20000070
80000e0: 00000000 .word 0x00000000
- 80000e4: 080037d4 .word 0x080037d4
+ 80000e4: 08003d24 .word 0x08003d24
080000e8 :
80000e8: 4b04 ldr r3, [pc, #16] ; (80000fc )
@@ -79,8 +79,8 @@ Disassembly of section .text:
80000f8: bd10 pop {r4, pc}
80000fa: 46c0 nop ; (mov r8, r8)
80000fc: 00000000 .word 0x00000000
- 8000100: 20000010 .word 0x20000010
- 8000104: 080037d4 .word 0x080037d4
+ 8000100: 20000074 .word 0x20000074
+ 8000104: 08003d24 .word 0x08003d24
08000108 <__udivsi3>:
8000108: 2200 movs r2, #0
@@ -479,7 +479,7 @@ int main(void)
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
- 80003f8: f000 fa62 bl 80008c0
+ 80003f8: f000 faa0 bl 800093c
/* USER CODE BEGIN Init */
/* USER CODE END Init */
@@ -501,7 +501,7 @@ int main(void)
/* USER CODE BEGIN 2 */
my_code();
- 800040c: f002 fcc4 bl 8002d98
+ 800040c: f002 fef0 bl 80031f0
/* USER CODE END 2 */
/* Infinite loop */
@@ -526,14 +526,14 @@ void SystemClock_Config(void)
800041e: 2330 movs r3, #48 ; 0x30
8000420: 001a movs r2, r3
8000422: 2100 movs r1, #0
- 8000424: f003 f9ce bl 80037c4
+ 8000424: f003 fc1a bl 8003c5c
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
8000428: 003b movs r3, r7
800042a: 0018 movs r0, r3
800042c: 2310 movs r3, #16
800042e: 001a movs r2, r3
8000430: 2100 movs r1, #0
- 8000432: f003 f9c7 bl 80037c4
+ 8000432: f003 fc13 bl 8003c5c
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
@@ -579,12 +579,12 @@ void SystemClock_Config(void)
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
8000470: 187b adds r3, r7, r1
8000472: 0018 movs r0, r3
- 8000474: f001 f9dc bl 8001830
+ 8000474: f001 fa1a bl 80018ac
8000478: 1e03 subs r3, r0, #0
800047a: d001 beq.n 8000480
{
Error_Handler();
- 800047c: f000 f92c bl 80006d8
+ 800047c: f000 f96a bl 8000754
}
/** Initializes the CPU, AHB and APB buses clocks
*/
@@ -610,12 +610,12 @@ void SystemClock_Config(void)
8000498: 003b movs r3, r7
800049a: 2101 movs r1, #1
800049c: 0018 movs r0, r3
- 800049e: f001 fce1 bl 8001e64
+ 800049e: f001 fd1f bl 8001ee0
80004a2: 1e03 subs r3, r0, #0
80004a4: d001 beq.n 80004aa
{
Error_Handler();
- 80004a6: f000 f917 bl 80006d8
+ 80004a6: f000 f955 bl 8000754
}
}
80004aa: 46c0 nop ; (mov r8, r8)
@@ -645,7 +645,7 @@ static void MX_ADC_Init(void)
80004be: 230c movs r3, #12
80004c0: 001a movs r2, r3
80004c2: 2100 movs r1, #0
- 80004c4: f003 f97e bl 80037c4
+ 80004c4: f003 fbca bl 8003c5c
/* USER CODE BEGIN ADC_Init 1 */
/* USER CODE END ADC_Init 1 */
@@ -712,12 +712,12 @@ static void MX_ADC_Init(void)
if (HAL_ADC_Init(&hadc) != HAL_OK)
8000520: 4b16 ldr r3, [pc, #88] ; (800057c )
8000522: 0018 movs r0, r3
- 8000524: f000 fa30 bl 8000988
+ 8000524: f000 fa6e bl 8000a04
8000528: 1e03 subs r3, r0, #0
800052a: d001 beq.n 8000530
{
Error_Handler();
- 800052c: f000 f8d4 bl 80006d8
+ 800052c: f000 f912 bl 8000754
}
/** Configure for the selected ADC regular channel to be converted.
*/
@@ -740,12 +740,12 @@ static void MX_ADC_Init(void)
8000548: 4b0c ldr r3, [pc, #48] ; (800057c )
800054a: 0011 movs r1, r2
800054c: 0018 movs r0, r3
- 800054e: f000 fc93 bl 8000e78
+ 800054e: f000 fcd1 bl 8000ef4
8000552: 1e03 subs r3, r0, #0
8000554: d001 beq.n 800055a
{
Error_Handler();
- 8000556: f000 f8bf bl 80006d8
+ 8000556: f000 f8fd bl 8000754
}
/** Configure for the selected ADC regular channel to be converted.
*/
@@ -758,12 +758,12 @@ static void MX_ADC_Init(void)
8000562: 4b06 ldr r3, [pc, #24] ; (800057c )
8000564: 0011 movs r1, r2
8000566: 0018 movs r0, r3
- 8000568: f000 fc86 bl 8000e78
+ 8000568: f000 fcc4 bl 8000ef4
800056c: 1e03 subs r3, r0, #0
800056e: d001 beq.n 8000574
{
Error_Handler();
- 8000570: f000 f8b2 bl 80006d8
+ 8000570: f000 f8f0 bl 8000754
}
/* USER CODE BEGIN ADC_Init 2 */
@@ -774,7 +774,7 @@ static void MX_ADC_Init(void)
8000576: 46bd mov sp, r7
8000578: b004 add sp, #16
800057a: bd80 pop {r7, pc}
- 800057c: 20000094 .word 0x20000094
+ 800057c: 200000fc .word 0x200000fc
8000580: 40012400 .word 0x40012400
08000584 :
@@ -818,12 +818,12 @@ static void MX_TIM14_Init(void)
if (HAL_TIM_Base_Init(&htim14) != HAL_OK)
80005ac: 4b05 ldr r3, [pc, #20] ; (80005c4 )
80005ae: 0018 movs r0, r3
- 80005b0: f001 fd8a bl 80020c8
+ 80005b0: f001 fdc8 bl 8002144
80005b4: 1e03 subs r3, r0, #0
80005b6: d001 beq.n 80005bc
{
Error_Handler();
- 80005b8: f000 f88e bl 80006d8
+ 80005b8: f000 f8cc bl 8000754
}
/* USER CODE BEGIN TIM14_Init 2 */
@@ -834,7 +834,7 @@ static void MX_TIM14_Init(void)
80005be: 46bd mov sp, r7
80005c0: bd80 pop {r7, pc}
80005c2: 46c0 nop ; (mov r8, r8)
- 80005c4: 2000004c .word 0x2000004c
+ 80005c4: 200000b4 .word 0x200000b4
80005c8: 40002000 .word 0x40002000
080005cc :
@@ -854,18 +854,18 @@ static void MX_GPIO_Init(void)
80005d8: 2314 movs r3, #20
80005da: 001a movs r2, r3
80005dc: 2100 movs r1, #0
- 80005de: f003 f8f1 bl 80037c4
+ 80005de: f003 fb3d bl 8003c5c
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOF_CLK_ENABLE();
- 80005e2: 4b3b ldr r3, [pc, #236] ; (80006d0 )
+ 80005e2: 4b58 ldr r3, [pc, #352] ; (8000744 )
80005e4: 695a ldr r2, [r3, #20]
- 80005e6: 4b3a ldr r3, [pc, #232] ; (80006d0 )
+ 80005e6: 4b57 ldr r3, [pc, #348] ; (8000744 )
80005e8: 2180 movs r1, #128 ; 0x80
80005ea: 03c9 lsls r1, r1, #15
80005ec: 430a orrs r2, r1
80005ee: 615a str r2, [r3, #20]
- 80005f0: 4b37 ldr r3, [pc, #220] ; (80006d0 )
+ 80005f0: 4b54 ldr r3, [pc, #336] ; (8000744 )
80005f2: 695a ldr r2, [r3, #20]
80005f4: 2380 movs r3, #128 ; 0x80
80005f6: 03db lsls r3, r3, #15
@@ -873,9205 +873,10021 @@ static void MX_GPIO_Init(void)
80005fa: 60bb str r3, [r7, #8]
80005fc: 68bb ldr r3, [r7, #8]
__HAL_RCC_GPIOA_CLK_ENABLE();
- 80005fe: 4b34 ldr r3, [pc, #208] ; (80006d0 )
+ 80005fe: 4b51 ldr r3, [pc, #324] ; (8000744 )
8000600: 695a ldr r2, [r3, #20]
- 8000602: 4b33 ldr r3, [pc, #204] ; (80006d0 )
+ 8000602: 4b50 ldr r3, [pc, #320] ; (8000744 )
8000604: 2180 movs r1, #128 ; 0x80
8000606: 0289 lsls r1, r1, #10
8000608: 430a orrs r2, r1
800060a: 615a str r2, [r3, #20]
- 800060c: 4b30 ldr r3, [pc, #192] ; (80006d0 )
+ 800060c: 4b4d ldr r3, [pc, #308] ; (8000744 )
800060e: 695a ldr r2, [r3, #20]
8000610: 2380 movs r3, #128 ; 0x80
8000612: 029b lsls r3, r3, #10
8000614: 4013 ands r3, r2
8000616: 607b str r3, [r7, #4]
8000618: 687b ldr r3, [r7, #4]
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ 800061a: 4b4a ldr r3, [pc, #296] ; (8000744 )
+ 800061c: 695a ldr r2, [r3, #20]
+ 800061e: 4b49 ldr r3, [pc, #292] ; (8000744 )
+ 8000620: 2180 movs r1, #128 ; 0x80
+ 8000622: 02c9 lsls r1, r1, #11
+ 8000624: 430a orrs r2, r1
+ 8000626: 615a str r2, [r3, #20]
+ 8000628: 4b46 ldr r3, [pc, #280] ; (8000744 )
+ 800062a: 695a ldr r2, [r3, #20]
+ 800062c: 2380 movs r3, #128 ; 0x80
+ 800062e: 02db lsls r3, r3, #11
+ 8000630: 4013 ands r3, r2
+ 8000632: 603b str r3, [r7, #0]
+ 8000634: 683b ldr r3, [r7, #0]
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, U_T_Pin|HC595_DLK_Pin|HC595_SLK_Pin|HC595_RLK_Pin
- 800061a: 23b9 movs r3, #185 ; 0xb9
- 800061c: 0099 lsls r1, r3, #2
- 800061e: 2390 movs r3, #144 ; 0x90
- 8000620: 05db lsls r3, r3, #23
- 8000622: 2200 movs r2, #0
- 8000624: 0018 movs r0, r3
- 8000626: f001 f8ca bl 80017be
- |HC595_SLK2_Pin, GPIO_PIN_RESET);
+ 8000636: 4944 ldr r1, [pc, #272] ; (8000748 )
+ 8000638: 2390 movs r3, #144 ; 0x90
+ 800063a: 05db lsls r3, r3, #23
+ 800063c: 2200 movs r2, #0
+ 800063e: 0018 movs r0, r3
+ 8000640: f001 f8fb bl 800183a
+ |HC595_SLK2_Pin|iic_scl_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(iic_sda_GPIO_Port, iic_sda_Pin, GPIO_PIN_RESET);
+ 8000644: 4b41 ldr r3, [pc, #260] ; (800074c )
+ 8000646: 2200 movs r2, #0
+ 8000648: 2102 movs r1, #2
+ 800064a: 0018 movs r0, r3
+ 800064c: f001 f8f5 bl 800183a
/*Configure GPIO pins : MOT_IN1_Pin MOT_IN2_Pin */
GPIO_InitStruct.Pin = MOT_IN1_Pin|MOT_IN2_Pin;
- 800062a: 193b adds r3, r7, r4
- 800062c: 2203 movs r2, #3
- 800062e: 601a str r2, [r3, #0]
+ 8000650: 193b adds r3, r7, r4
+ 8000652: 2203 movs r2, #3
+ 8000654: 601a str r2, [r3, #0]
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
- 8000630: 193b adds r3, r7, r4
- 8000632: 2200 movs r2, #0
- 8000634: 605a str r2, [r3, #4]
+ 8000656: 193b adds r3, r7, r4
+ 8000658: 2200 movs r2, #0
+ 800065a: 605a str r2, [r3, #4]
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
- 8000636: 193b adds r3, r7, r4
- 8000638: 2202 movs r2, #2
- 800063a: 609a str r2, [r3, #8]
+ 800065c: 193b adds r3, r7, r4
+ 800065e: 2202 movs r2, #2
+ 8000660: 609a str r2, [r3, #8]
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
- 800063c: 193b adds r3, r7, r4
- 800063e: 4a25 ldr r2, [pc, #148] ; (80006d4 )
- 8000640: 0019 movs r1, r3
- 8000642: 0010 movs r0, r2
- 8000644: f000 ff2e bl 80014a4
+ 8000662: 193b adds r3, r7, r4
+ 8000664: 4a3a ldr r2, [pc, #232] ; (8000750 )
+ 8000666: 0019 movs r1, r3
+ 8000668: 0010 movs r0, r2
+ 800066a: f000 ff59 bl 8001520
/*Configure GPIO pins : U_T_Pin HC595_DLK_Pin HC595_SLK_Pin HC595_RLK_Pin
HC595_SLK2_Pin */
GPIO_InitStruct.Pin = U_T_Pin|HC595_DLK_Pin|HC595_SLK_Pin|HC595_RLK_Pin
- 8000648: 0021 movs r1, r4
- 800064a: 187b adds r3, r7, r1
- 800064c: 22b9 movs r2, #185 ; 0xb9
- 800064e: 0092 lsls r2, r2, #2
- 8000650: 601a str r2, [r3, #0]
+ 800066e: 0021 movs r1, r4
+ 8000670: 187b adds r3, r7, r1
+ 8000672: 22b9 movs r2, #185 ; 0xb9
+ 8000674: 0092 lsls r2, r2, #2
+ 8000676: 601a str r2, [r3, #0]
|HC595_SLK2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- 8000652: 000c movs r4, r1
- 8000654: 193b adds r3, r7, r4
- 8000656: 2201 movs r2, #1
- 8000658: 605a str r2, [r3, #4]
+ 8000678: 000c movs r4, r1
+ 800067a: 193b adds r3, r7, r4
+ 800067c: 2201 movs r2, #1
+ 800067e: 605a str r2, [r3, #4]
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
- 800065a: 193b adds r3, r7, r4
- 800065c: 2202 movs r2, #2
- 800065e: 609a str r2, [r3, #8]
+ 8000680: 193b adds r3, r7, r4
+ 8000682: 2202 movs r2, #2
+ 8000684: 609a str r2, [r3, #8]
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- 8000660: 193b adds r3, r7, r4
- 8000662: 2203 movs r2, #3
- 8000664: 60da str r2, [r3, #12]
+ 8000686: 193b adds r3, r7, r4
+ 8000688: 2203 movs r2, #3
+ 800068a: 60da str r2, [r3, #12]
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- 8000666: 193a adds r2, r7, r4
- 8000668: 2390 movs r3, #144 ; 0x90
- 800066a: 05db lsls r3, r3, #23
- 800066c: 0011 movs r1, r2
- 800066e: 0018 movs r0, r3
- 8000670: f000 ff18 bl 80014a4
+ 800068c: 193a adds r2, r7, r4
+ 800068e: 2390 movs r3, #144 ; 0x90
+ 8000690: 05db lsls r3, r3, #23
+ 8000692: 0011 movs r1, r2
+ 8000694: 0018 movs r0, r3
+ 8000696: f000 ff43 bl 8001520
/*Configure GPIO pin : infeaed_Pin */
GPIO_InitStruct.Pin = infeaed_Pin;
- 8000674: 193b adds r3, r7, r4
- 8000676: 2208 movs r2, #8
- 8000678: 601a str r2, [r3, #0]
+ 800069a: 193b adds r3, r7, r4
+ 800069c: 2208 movs r2, #8
+ 800069e: 601a str r2, [r3, #0]
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;
- 800067a: 193b adds r3, r7, r4
- 800067c: 22c4 movs r2, #196 ; 0xc4
- 800067e: 0392 lsls r2, r2, #14
- 8000680: 605a str r2, [r3, #4]
+ 80006a0: 193b adds r3, r7, r4
+ 80006a2: 22c4 movs r2, #196 ; 0xc4
+ 80006a4: 0392 lsls r2, r2, #14
+ 80006a6: 605a str r2, [r3, #4]
GPIO_InitStruct.Pull = GPIO_PULLUP;
- 8000682: 193b adds r3, r7, r4
- 8000684: 2201 movs r2, #1
- 8000686: 609a str r2, [r3, #8]
+ 80006a8: 193b adds r3, r7, r4
+ 80006aa: 2201 movs r2, #1
+ 80006ac: 609a str r2, [r3, #8]
HAL_GPIO_Init(infeaed_GPIO_Port, &GPIO_InitStruct);
- 8000688: 193a adds r2, r7, r4
- 800068a: 2390 movs r3, #144 ; 0x90
- 800068c: 05db lsls r3, r3, #23
- 800068e: 0011 movs r1, r2
- 8000690: 0018 movs r0, r3
- 8000692: f000 ff07 bl 80014a4
+ 80006ae: 193a adds r2, r7, r4
+ 80006b0: 2390 movs r3, #144 ; 0x90
+ 80006b2: 05db lsls r3, r3, #23
+ 80006b4: 0011 movs r1, r2
+ 80006b6: 0018 movs r0, r3
+ 80006b8: f000 ff32 bl 8001520
/*Configure GPIO pin : I_R_Pin */
GPIO_InitStruct.Pin = I_R_Pin;
- 8000696: 193b adds r3, r7, r4
- 8000698: 2210 movs r2, #16
- 800069a: 601a str r2, [r3, #0]
+ 80006bc: 193b adds r3, r7, r4
+ 80006be: 2210 movs r2, #16
+ 80006c0: 601a str r2, [r3, #0]
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
- 800069c: 193b adds r3, r7, r4
- 800069e: 2200 movs r2, #0
- 80006a0: 605a str r2, [r3, #4]
+ 80006c2: 193b adds r3, r7, r4
+ 80006c4: 2200 movs r2, #0
+ 80006c6: 605a str r2, [r3, #4]
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
- 80006a2: 193b adds r3, r7, r4
- 80006a4: 2202 movs r2, #2
- 80006a6: 609a str r2, [r3, #8]
+ 80006c8: 193b adds r3, r7, r4
+ 80006ca: 2202 movs r2, #2
+ 80006cc: 609a str r2, [r3, #8]
HAL_GPIO_Init(I_R_GPIO_Port, &GPIO_InitStruct);
- 80006a8: 193a adds r2, r7, r4
- 80006aa: 2390 movs r3, #144 ; 0x90
- 80006ac: 05db lsls r3, r3, #23
- 80006ae: 0011 movs r1, r2
- 80006b0: 0018 movs r0, r3
- 80006b2: f000 fef7 bl 80014a4
+ 80006ce: 193a adds r2, r7, r4
+ 80006d0: 2390 movs r3, #144 ; 0x90
+ 80006d2: 05db lsls r3, r3, #23
+ 80006d4: 0011 movs r1, r2
+ 80006d6: 0018 movs r0, r3
+ 80006d8: f000 ff22 bl 8001520
+
+ /*Configure GPIO pin : iic_sda_Pin */
+ GPIO_InitStruct.Pin = iic_sda_Pin;
+ 80006dc: 193b adds r3, r7, r4
+ 80006de: 2202 movs r2, #2
+ 80006e0: 601a str r2, [r3, #0]
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 80006e2: 193b adds r3, r7, r4
+ 80006e4: 2201 movs r2, #1
+ 80006e6: 605a str r2, [r3, #4]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 80006e8: 193b adds r3, r7, r4
+ 80006ea: 2200 movs r2, #0
+ 80006ec: 609a str r2, [r3, #8]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 80006ee: 193b adds r3, r7, r4
+ 80006f0: 2200 movs r2, #0
+ 80006f2: 60da str r2, [r3, #12]
+ HAL_GPIO_Init(iic_sda_GPIO_Port, &GPIO_InitStruct);
+ 80006f4: 193b adds r3, r7, r4
+ 80006f6: 4a15 ldr r2, [pc, #84] ; (800074c )
+ 80006f8: 0019 movs r1, r3
+ 80006fa: 0010 movs r0, r2
+ 80006fc: f000 ff10 bl 8001520
+
+ /*Configure GPIO pin : iic_scl_Pin */
+ GPIO_InitStruct.Pin = iic_scl_Pin;
+ 8000700: 0021 movs r1, r4
+ 8000702: 187b adds r3, r7, r1
+ 8000704: 2280 movs r2, #128 ; 0x80
+ 8000706: 00d2 lsls r2, r2, #3
+ 8000708: 601a str r2, [r3, #0]
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 800070a: 187b adds r3, r7, r1
+ 800070c: 2201 movs r2, #1
+ 800070e: 605a str r2, [r3, #4]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 8000710: 187b adds r3, r7, r1
+ 8000712: 2200 movs r2, #0
+ 8000714: 609a str r2, [r3, #8]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8000716: 187b adds r3, r7, r1
+ 8000718: 2200 movs r2, #0
+ 800071a: 60da str r2, [r3, #12]
+ HAL_GPIO_Init(iic_scl_GPIO_Port, &GPIO_InitStruct);
+ 800071c: 187a adds r2, r7, r1
+ 800071e: 2390 movs r3, #144 ; 0x90
+ 8000720: 05db lsls r3, r3, #23
+ 8000722: 0011 movs r1, r2
+ 8000724: 0018 movs r0, r3
+ 8000726: f000 fefb bl 8001520
/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI2_3_IRQn, 0, 0);
- 80006b6: 2200 movs r2, #0
- 80006b8: 2100 movs r1, #0
- 80006ba: 2006 movs r0, #6
- 80006bc: f000 fec0 bl 8001440
+ 800072a: 2200 movs r2, #0
+ 800072c: 2100 movs r1, #0
+ 800072e: 2006 movs r0, #6
+ 8000730: f000 fec4 bl 80014bc
HAL_NVIC_EnableIRQ(EXTI2_3_IRQn);
- 80006c0: 2006 movs r0, #6
- 80006c2: f000 fed2 bl 800146a
+ 8000734: 2006 movs r0, #6
+ 8000736: f000 fed6 bl 80014e6
}
- 80006c6: 46c0 nop ; (mov r8, r8)
- 80006c8: 46bd mov sp, r7
- 80006ca: b009 add sp, #36 ; 0x24
- 80006cc: bd90 pop {r4, r7, pc}
- 80006ce: 46c0 nop ; (mov r8, r8)
- 80006d0: 40021000 .word 0x40021000
- 80006d4: 48001400 .word 0x48001400
+ 800073a: 46c0 nop ; (mov r8, r8)
+ 800073c: 46bd mov sp, r7
+ 800073e: b009 add sp, #36 ; 0x24
+ 8000740: bd90 pop {r4, r7, pc}
+ 8000742: 46c0 nop ; (mov r8, r8)
+ 8000744: 40021000 .word 0x40021000
+ 8000748: 000006e4 .word 0x000006e4
+ 800074c: 48000400 .word 0x48000400
+ 8000750: 48001400 .word 0x48001400
-080006d8 :
+08000754 :
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
- 80006d8: b580 push {r7, lr}
- 80006da: af00 add r7, sp, #0
+ 8000754: b580 push {r7, lr}
+ 8000756: 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");
- 80006dc: b672 cpsid i
+ 8000758: b672 cpsid i
}
- 80006de: 46c0 nop ; (mov r8, r8)
+ 800075a: 46c0 nop ; (mov r8, r8)
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
- 80006e0: e7fe b.n 80006e0
+ 800075c: e7fe b.n 800075c
...
-080006e4 :
+08000760 :
/* USER CODE END 0 */
/**
* Initializes the Global MSP.
*/
void HAL_MspInit(void)
{
- 80006e4: b580 push {r7, lr}
- 80006e6: b082 sub sp, #8
- 80006e8: af00 add r7, sp, #0
+ 8000760: b580 push {r7, lr}
+ 8000762: b082 sub sp, #8
+ 8000764: af00 add r7, sp, #0
/* USER CODE BEGIN MspInit 0 */
/* USER CODE END MspInit 0 */
__HAL_RCC_SYSCFG_CLK_ENABLE();
- 80006ea: 4b0f ldr r3, [pc, #60] ; (8000728 )
- 80006ec: 699a ldr r2, [r3, #24]
- 80006ee: 4b0e ldr r3, [pc, #56] ; (8000728 )
- 80006f0: 2101 movs r1, #1
- 80006f2: 430a orrs r2, r1
- 80006f4: 619a str r2, [r3, #24]
- 80006f6: 4b0c ldr r3, [pc, #48] ; (8000728 )
- 80006f8: 699b ldr r3, [r3, #24]
- 80006fa: 2201 movs r2, #1
- 80006fc: 4013 ands r3, r2
- 80006fe: 607b str r3, [r7, #4]
- 8000700: 687b ldr r3, [r7, #4]
+ 8000766: 4b0f ldr r3, [pc, #60] ; (80007a4 )
+ 8000768: 699a ldr r2, [r3, #24]
+ 800076a: 4b0e ldr r3, [pc, #56] ; (80007a4 )
+ 800076c: 2101 movs r1, #1
+ 800076e: 430a orrs r2, r1
+ 8000770: 619a str r2, [r3, #24]
+ 8000772: 4b0c ldr r3, [pc, #48] ; (80007a4 )
+ 8000774: 699b ldr r3, [r3, #24]
+ 8000776: 2201 movs r2, #1
+ 8000778: 4013 ands r3, r2
+ 800077a: 607b str r3, [r7, #4]
+ 800077c: 687b ldr r3, [r7, #4]
__HAL_RCC_PWR_CLK_ENABLE();
- 8000702: 4b09 ldr r3, [pc, #36] ; (8000728 )
- 8000704: 69da ldr r2, [r3, #28]
- 8000706: 4b08 ldr r3, [pc, #32] ; (8000728 )
- 8000708: 2180 movs r1, #128 ; 0x80
- 800070a: 0549 lsls r1, r1, #21
- 800070c: 430a orrs r2, r1
- 800070e: 61da str r2, [r3, #28]
- 8000710: 4b05 ldr r3, [pc, #20] ; (8000728 )
- 8000712: 69da ldr r2, [r3, #28]
- 8000714: 2380 movs r3, #128 ; 0x80
- 8000716: 055b lsls r3, r3, #21
- 8000718: 4013 ands r3, r2
- 800071a: 603b str r3, [r7, #0]
- 800071c: 683b ldr r3, [r7, #0]
+ 800077e: 4b09 ldr r3, [pc, #36] ; (80007a4 )
+ 8000780: 69da ldr r2, [r3, #28]
+ 8000782: 4b08 ldr r3, [pc, #32] ; (80007a4 )
+ 8000784: 2180 movs r1, #128 ; 0x80
+ 8000786: 0549 lsls r1, r1, #21
+ 8000788: 430a orrs r2, r1
+ 800078a: 61da str r2, [r3, #28]
+ 800078c: 4b05 ldr r3, [pc, #20] ; (80007a4 )
+ 800078e: 69da ldr r2, [r3, #28]
+ 8000790: 2380 movs r3, #128 ; 0x80
+ 8000792: 055b lsls r3, r3, #21
+ 8000794: 4013 ands r3, r2
+ 8000796: 603b str r3, [r7, #0]
+ 8000798: 683b ldr r3, [r7, #0]
/* System interrupt init*/
/* USER CODE BEGIN MspInit 1 */
/* USER CODE END MspInit 1 */
}
- 800071e: 46c0 nop ; (mov r8, r8)
- 8000720: 46bd mov sp, r7
- 8000722: b002 add sp, #8
- 8000724: bd80 pop {r7, pc}
- 8000726: 46c0 nop ; (mov r8, r8)
- 8000728: 40021000 .word 0x40021000
+ 800079a: 46c0 nop ; (mov r8, r8)
+ 800079c: 46bd mov sp, r7
+ 800079e: b002 add sp, #8
+ 80007a0: bd80 pop {r7, pc}
+ 80007a2: 46c0 nop ; (mov r8, r8)
+ 80007a4: 40021000 .word 0x40021000
-0800072c :
+080007a8 :
* This function configures the hardware resources used in this example
* @param hadc: ADC handle pointer
* @retval None
*/
void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
{
- 800072c: b590 push {r4, r7, lr}
- 800072e: b08b sub sp, #44 ; 0x2c
- 8000730: af00 add r7, sp, #0
- 8000732: 6078 str r0, [r7, #4]
+ 80007a8: b590 push {r4, r7, lr}
+ 80007aa: b08b sub sp, #44 ; 0x2c
+ 80007ac: af00 add r7, sp, #0
+ 80007ae: 6078 str r0, [r7, #4]
GPIO_InitTypeDef GPIO_InitStruct = {0};
- 8000734: 2414 movs r4, #20
- 8000736: 193b adds r3, r7, r4
- 8000738: 0018 movs r0, r3
- 800073a: 2314 movs r3, #20
- 800073c: 001a movs r2, r3
- 800073e: 2100 movs r1, #0
- 8000740: f003 f840 bl 80037c4
+ 80007b0: 2414 movs r4, #20
+ 80007b2: 193b adds r3, r7, r4
+ 80007b4: 0018 movs r0, r3
+ 80007b6: 2314 movs r3, #20
+ 80007b8: 001a movs r2, r3
+ 80007ba: 2100 movs r1, #0
+ 80007bc: f003 fa4e bl 8003c5c
if(hadc->Instance==ADC1)
- 8000744: 687b ldr r3, [r7, #4]
- 8000746: 681b ldr r3, [r3, #0]
- 8000748: 4a19 ldr r2, [pc, #100] ; (80007b0 )
- 800074a: 4293 cmp r3, r2
- 800074c: d12b bne.n 80007a6
+ 80007c0: 687b ldr r3, [r7, #4]
+ 80007c2: 681b ldr r3, [r3, #0]
+ 80007c4: 4a19 ldr r2, [pc, #100] ; (800082c )
+ 80007c6: 4293 cmp r3, r2
+ 80007c8: d12b bne.n 8000822
{
/* USER CODE BEGIN ADC1_MspInit 0 */
/* USER CODE END ADC1_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_ADC1_CLK_ENABLE();
- 800074e: 4b19 ldr r3, [pc, #100] ; (80007b4 )
- 8000750: 699a ldr r2, [r3, #24]
- 8000752: 4b18 ldr r3, [pc, #96] ; (80007b4 )
- 8000754: 2180 movs r1, #128 ; 0x80
- 8000756: 0089 lsls r1, r1, #2
- 8000758: 430a orrs r2, r1
- 800075a: 619a str r2, [r3, #24]
- 800075c: 4b15 ldr r3, [pc, #84] ; (80007b4 )
- 800075e: 699a ldr r2, [r3, #24]
- 8000760: 2380 movs r3, #128 ; 0x80
- 8000762: 009b lsls r3, r3, #2
- 8000764: 4013 ands r3, r2
- 8000766: 613b str r3, [r7, #16]
- 8000768: 693b ldr r3, [r7, #16]
+ 80007ca: 4b19 ldr r3, [pc, #100] ; (8000830 )
+ 80007cc: 699a ldr r2, [r3, #24]
+ 80007ce: 4b18 ldr r3, [pc, #96] ; (8000830 )
+ 80007d0: 2180 movs r1, #128 ; 0x80
+ 80007d2: 0089 lsls r1, r1, #2
+ 80007d4: 430a orrs r2, r1
+ 80007d6: 619a str r2, [r3, #24]
+ 80007d8: 4b15 ldr r3, [pc, #84] ; (8000830 )
+ 80007da: 699a ldr r2, [r3, #24]
+ 80007dc: 2380 movs r3, #128 ; 0x80
+ 80007de: 009b lsls r3, r3, #2
+ 80007e0: 4013 ands r3, r2
+ 80007e2: 613b str r3, [r7, #16]
+ 80007e4: 693b ldr r3, [r7, #16]
__HAL_RCC_GPIOA_CLK_ENABLE();
- 800076a: 4b12 ldr r3, [pc, #72] ; (80007b4 )
- 800076c: 695a ldr r2, [r3, #20]
- 800076e: 4b11 ldr r3, [pc, #68] ; (80007b4 )
- 8000770: 2180 movs r1, #128 ; 0x80
- 8000772: 0289 lsls r1, r1, #10
- 8000774: 430a orrs r2, r1
- 8000776: 615a str r2, [r3, #20]
- 8000778: 4b0e ldr r3, [pc, #56] ; (80007b4 )
- 800077a: 695a ldr r2, [r3, #20]
- 800077c: 2380 movs r3, #128 ; 0x80
- 800077e: 029b lsls r3, r3, #10
- 8000780: 4013 ands r3, r2
- 8000782: 60fb str r3, [r7, #12]
- 8000784: 68fb ldr r3, [r7, #12]
+ 80007e6: 4b12 ldr r3, [pc, #72] ; (8000830 )
+ 80007e8: 695a ldr r2, [r3, #20]
+ 80007ea: 4b11 ldr r3, [pc, #68] ; (8000830 )
+ 80007ec: 2180 movs r1, #128 ; 0x80
+ 80007ee: 0289 lsls r1, r1, #10
+ 80007f0: 430a orrs r2, r1
+ 80007f2: 615a str r2, [r3, #20]
+ 80007f4: 4b0e ldr r3, [pc, #56] ; (8000830 )
+ 80007f6: 695a ldr r2, [r3, #20]
+ 80007f8: 2380 movs r3, #128 ; 0x80
+ 80007fa: 029b lsls r3, r3, #10
+ 80007fc: 4013 ands r3, r2
+ 80007fe: 60fb str r3, [r7, #12]
+ 8000800: 68fb ldr r3, [r7, #12]
/**ADC GPIO Configuration
PA0 ------> ADC_IN0
PA1 ------> ADC_IN1
*/
GPIO_InitStruct.Pin = ADC_CH0_Pin|ADC_CH1_Pin;
- 8000786: 193b adds r3, r7, r4
- 8000788: 2203 movs r2, #3
- 800078a: 601a str r2, [r3, #0]
+ 8000802: 193b adds r3, r7, r4
+ 8000804: 2203 movs r2, #3
+ 8000806: 601a str r2, [r3, #0]
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
- 800078c: 193b adds r3, r7, r4
- 800078e: 2203 movs r2, #3
- 8000790: 605a str r2, [r3, #4]
+ 8000808: 193b adds r3, r7, r4
+ 800080a: 2203 movs r2, #3
+ 800080c: 605a str r2, [r3, #4]
GPIO_InitStruct.Pull = GPIO_NOPULL;
- 8000792: 193b adds r3, r7, r4
- 8000794: 2200 movs r2, #0
- 8000796: 609a str r2, [r3, #8]
+ 800080e: 193b adds r3, r7, r4
+ 8000810: 2200 movs r2, #0
+ 8000812: 609a str r2, [r3, #8]
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- 8000798: 193a adds r2, r7, r4
- 800079a: 2390 movs r3, #144 ; 0x90
- 800079c: 05db lsls r3, r3, #23
- 800079e: 0011 movs r1, r2
- 80007a0: 0018 movs r0, r3
- 80007a2: f000 fe7f bl 80014a4
+ 8000814: 193a adds r2, r7, r4
+ 8000816: 2390 movs r3, #144 ; 0x90
+ 8000818: 05db lsls r3, r3, #23
+ 800081a: 0011 movs r1, r2
+ 800081c: 0018 movs r0, r3
+ 800081e: f000 fe7f bl 8001520
/* USER CODE BEGIN ADC1_MspInit 1 */
/* USER CODE END ADC1_MspInit 1 */
}
}
- 80007a6: 46c0 nop ; (mov r8, r8)
- 80007a8: 46bd mov sp, r7
- 80007aa: b00b add sp, #44 ; 0x2c
- 80007ac: bd90 pop {r4, r7, pc}
- 80007ae: 46c0 nop ; (mov r8, r8)
- 80007b0: 40012400 .word 0x40012400
- 80007b4: 40021000 .word 0x40021000
+ 8000822: 46c0 nop ; (mov r8, r8)
+ 8000824: 46bd mov sp, r7
+ 8000826: b00b add sp, #44 ; 0x2c
+ 8000828: bd90 pop {r4, r7, pc}
+ 800082a: 46c0 nop ; (mov r8, r8)
+ 800082c: 40012400 .word 0x40012400
+ 8000830: 40021000 .word 0x40021000
-080007b8 :
+08000834 :
* This function configures the hardware resources used in this example
* @param htim_base: TIM_Base handle pointer
* @retval None
*/
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
{
- 80007b8: b580 push {r7, lr}
- 80007ba: b084 sub sp, #16
- 80007bc: af00 add r7, sp, #0
- 80007be: 6078 str r0, [r7, #4]
+ 8000834: b580 push {r7, lr}
+ 8000836: b084 sub sp, #16
+ 8000838: af00 add r7, sp, #0
+ 800083a: 6078 str r0, [r7, #4]
if(htim_base->Instance==TIM14)
- 80007c0: 687b ldr r3, [r7, #4]
- 80007c2: 681b ldr r3, [r3, #0]
- 80007c4: 4a0e ldr r2, [pc, #56] ; (8000800 )
- 80007c6: 4293 cmp r3, r2
- 80007c8: d115 bne.n 80007f6
+ 800083c: 687b ldr r3, [r7, #4]
+ 800083e: 681b ldr r3, [r3, #0]
+ 8000840: 4a0e ldr r2, [pc, #56] ; (800087c )
+ 8000842: 4293 cmp r3, r2
+ 8000844: d115 bne.n 8000872
{
/* USER CODE BEGIN TIM14_MspInit 0 */
/* USER CODE END TIM14_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_TIM14_CLK_ENABLE();
- 80007ca: 4b0e ldr r3, [pc, #56] ; (8000804 )
- 80007cc: 69da ldr r2, [r3, #28]
- 80007ce: 4b0d ldr r3, [pc, #52] ; (8000804 )
- 80007d0: 2180 movs r1, #128 ; 0x80
- 80007d2: 0049 lsls r1, r1, #1
- 80007d4: 430a orrs r2, r1
- 80007d6: 61da str r2, [r3, #28]
- 80007d8: 4b0a ldr r3, [pc, #40] ; (8000804 )
- 80007da: 69da ldr r2, [r3, #28]
- 80007dc: 2380 movs r3, #128 ; 0x80
- 80007de: 005b lsls r3, r3, #1
- 80007e0: 4013 ands r3, r2
- 80007e2: 60fb str r3, [r7, #12]
- 80007e4: 68fb ldr r3, [r7, #12]
+ 8000846: 4b0e ldr r3, [pc, #56] ; (8000880 )
+ 8000848: 69da ldr r2, [r3, #28]
+ 800084a: 4b0d ldr r3, [pc, #52] ; (8000880 )
+ 800084c: 2180 movs r1, #128 ; 0x80
+ 800084e: 0049 lsls r1, r1, #1
+ 8000850: 430a orrs r2, r1
+ 8000852: 61da str r2, [r3, #28]
+ 8000854: 4b0a ldr r3, [pc, #40] ; (8000880 )
+ 8000856: 69da ldr r2, [r3, #28]
+ 8000858: 2380 movs r3, #128 ; 0x80
+ 800085a: 005b lsls r3, r3, #1
+ 800085c: 4013 ands r3, r2
+ 800085e: 60fb str r3, [r7, #12]
+ 8000860: 68fb ldr r3, [r7, #12]
/* TIM14 interrupt Init */
HAL_NVIC_SetPriority(TIM14_IRQn, 0, 0);
- 80007e6: 2200 movs r2, #0
- 80007e8: 2100 movs r1, #0
- 80007ea: 2013 movs r0, #19
- 80007ec: f000 fe28 bl 8001440
+ 8000862: 2200 movs r2, #0
+ 8000864: 2100 movs r1, #0
+ 8000866: 2013 movs r0, #19
+ 8000868: f000 fe28 bl 80014bc
HAL_NVIC_EnableIRQ(TIM14_IRQn);
- 80007f0: 2013 movs r0, #19
- 80007f2: f000 fe3a bl 800146a
+ 800086c: 2013 movs r0, #19
+ 800086e: f000 fe3a bl 80014e6
/* USER CODE BEGIN TIM14_MspInit 1 */
/* USER CODE END TIM14_MspInit 1 */
}
}
- 80007f6: 46c0 nop ; (mov r8, r8)
- 80007f8: 46bd mov sp, r7
- 80007fa: b004 add sp, #16
- 80007fc: bd80 pop {r7, pc}
- 80007fe: 46c0 nop ; (mov r8, r8)
- 8000800: 40002000 .word 0x40002000
- 8000804: 40021000 .word 0x40021000
+ 8000872: 46c0 nop ; (mov r8, r8)
+ 8000874: 46bd mov sp, r7
+ 8000876: b004 add sp, #16
+ 8000878: bd80 pop {r7, pc}
+ 800087a: 46c0 nop ; (mov r8, r8)
+ 800087c: 40002000 .word 0x40002000
+ 8000880: 40021000 .word 0x40021000
-08000808 :
+08000884 :
/******************************************************************************/
/**
* @brief This function handles Non maskable interrupt.
*/
void NMI_Handler(void)
{
- 8000808: b580 push {r7, lr}
- 800080a: af00 add r7, sp, #0
+ 8000884: b580 push {r7, lr}
+ 8000886: af00 add r7, sp, #0
/* USER CODE BEGIN NonMaskableInt_IRQn 0 */
/* USER CODE END NonMaskableInt_IRQn 0 */
/* USER CODE BEGIN NonMaskableInt_IRQn 1 */
while (1)
- 800080c: e7fe b.n 800080c
+ 8000888: e7fe b.n 8000888
-0800080e :
+0800088a :
/**
* @brief This function handles Hard fault interrupt.
*/
void HardFault_Handler(void)
{
- 800080e: b580 push {r7, lr}
- 8000810: af00 add r7, sp, #0
+ 800088a: b580 push {r7, lr}
+ 800088c: af00 add r7, sp, #0
/* USER CODE BEGIN HardFault_IRQn 0 */
/* USER CODE END HardFault_IRQn 0 */
while (1)
- 8000812: e7fe b.n 8000812
+ 800088e: e7fe b.n 800088e
-08000814 :
+08000890 :
/**
* @brief This function handles System service call via SWI instruction.
*/
void SVC_Handler(void)
{
- 8000814: b580 push {r7, lr}
- 8000816: af00 add r7, sp, #0
+ 8000890: b580 push {r7, lr}
+ 8000892: af00 add r7, sp, #0
/* USER CODE END SVC_IRQn 0 */
/* USER CODE BEGIN SVC_IRQn 1 */
/* USER CODE END SVC_IRQn 1 */
}
- 8000818: 46c0 nop ; (mov r8, r8)
- 800081a: 46bd mov sp, r7
- 800081c: bd80 pop {r7, pc}
+ 8000894: 46c0 nop ; (mov r8, r8)
+ 8000896: 46bd mov sp, r7
+ 8000898: bd80 pop {r7, pc}
-0800081e :
+0800089a :
/**
* @brief This function handles Pendable request for system service.
*/
void PendSV_Handler(void)
{
- 800081e: b580 push {r7, lr}
- 8000820: af00 add r7, sp, #0
+ 800089a: b580 push {r7, lr}
+ 800089c: af00 add r7, sp, #0
/* USER CODE END PendSV_IRQn 0 */
/* USER CODE BEGIN PendSV_IRQn 1 */
/* USER CODE END PendSV_IRQn 1 */
}
- 8000822: 46c0 nop ; (mov r8, r8)
- 8000824: 46bd mov sp, r7
- 8000826: bd80 pop {r7, pc}
+ 800089e: 46c0 nop ; (mov r8, r8)
+ 80008a0: 46bd mov sp, r7
+ 80008a2: bd80 pop {r7, pc}
-08000828 :
+080008a4 :
/**
* @brief This function handles System tick timer.
*/
void SysTick_Handler(void)
{
- 8000828: b580 push {r7, lr}
- 800082a: af00 add r7, sp, #0
+ 80008a4: b580 push {r7, lr}
+ 80008a6: af00 add r7, sp, #0
/* USER CODE BEGIN SysTick_IRQn 0 */
/* USER CODE END SysTick_IRQn 0 */
HAL_IncTick();
- 800082c: f000 f890 bl 8000950
+ 80008a8: f000 f890 bl 80009cc
/* USER CODE BEGIN SysTick_IRQn 1 */
/* USER CODE END SysTick_IRQn 1 */
}
- 8000830: 46c0 nop ; (mov r8, r8)
- 8000832: 46bd mov sp, r7
- 8000834: bd80 pop {r7, pc}
+ 80008ac: 46c0 nop ; (mov r8, r8)
+ 80008ae: 46bd mov sp, r7
+ 80008b0: bd80 pop {r7, pc}
-08000836 :
+080008b2 :
/**
* @brief This function handles EXTI line 2 and 3 interrupts.
*/
void EXTI2_3_IRQHandler(void)
{
- 8000836: b580 push {r7, lr}
- 8000838: af00 add r7, sp, #0
+ 80008b2: b580 push {r7, lr}
+ 80008b4: af00 add r7, sp, #0
/* USER CODE BEGIN EXTI2_3_IRQn 0 */
/* USER CODE END EXTI2_3_IRQn 0 */
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3);
- 800083a: 2008 movs r0, #8
- 800083c: f000 ffdc bl 80017f8
+ 80008b6: 2008 movs r0, #8
+ 80008b8: f000 ffdc bl 8001874
/* USER CODE BEGIN EXTI2_3_IRQn 1 */
/* USER CODE END EXTI2_3_IRQn 1 */
}
- 8000840: 46c0 nop ; (mov r8, r8)
- 8000842: 46bd mov sp, r7
- 8000844: bd80 pop {r7, pc}
+ 80008bc: 46c0 nop ; (mov r8, r8)
+ 80008be: 46bd mov sp, r7
+ 80008c0: bd80 pop {r7, pc}
...
-08000848 :
+080008c4 :
/**
* @brief This function handles TIM14 global interrupt.
*/
void TIM14_IRQHandler(void)
{
- 8000848: b580 push {r7, lr}
- 800084a: af00 add r7, sp, #0
+ 80008c4: b580 push {r7, lr}
+ 80008c6: af00 add r7, sp, #0
/* USER CODE BEGIN TIM14_IRQn 0 */
/* USER CODE END TIM14_IRQn 0 */
HAL_TIM_IRQHandler(&htim14);
- 800084c: 4b03 ldr r3, [pc, #12] ; (800085c )
- 800084e: 0018 movs r0, r3
- 8000850: f001 fcd0 bl 80021f4
+ 80008c8: 4b03 ldr r3, [pc, #12] ; (80008d8 )
+ 80008ca: 0018 movs r0, r3
+ 80008cc: f001 fcd0 bl 8002270
/* USER CODE BEGIN TIM14_IRQn 1 */
/* USER CODE END TIM14_IRQn 1 */
}
- 8000854: 46c0 nop ; (mov r8, r8)
- 8000856: 46bd mov sp, r7
- 8000858: bd80 pop {r7, pc}
- 800085a: 46c0 nop ; (mov r8, r8)
- 800085c: 2000004c .word 0x2000004c
+ 80008d0: 46c0 nop ; (mov r8, r8)
+ 80008d2: 46bd mov sp, r7
+ 80008d4: bd80 pop {r7, pc}
+ 80008d6: 46c0 nop ; (mov r8, r8)
+ 80008d8: 200000b4 .word 0x200000b4
-08000860 :
+080008dc :
* @brief Setup the microcontroller system
* @param None
* @retval None
*/
void SystemInit(void)
{
- 8000860: b580 push {r7, lr}
- 8000862: af00 add r7, sp, #0
+ 80008dc: b580 push {r7, lr}
+ 80008de: af00 add r7, sp, #0
before branch to main program. This call is made inside
the "startup_stm32f0xx.s" file.
User can setups the default system clock (System clock source, PLL Multiplier
and Divider factors, AHB/APBx prescalers and Flash settings).
*/
}
- 8000864: 46c0 nop ; (mov r8, r8)
- 8000866: 46bd mov sp, r7
- 8000868: bd80 pop {r7, pc}
+ 80008e0: 46c0 nop ; (mov r8, r8)
+ 80008e2: 46bd mov sp, r7
+ 80008e4: bd80 pop {r7, pc}
...
-0800086c :
+080008e8 :
.section .text.Reset_Handler
.weak Reset_Handler
.type Reset_Handler, %function
Reset_Handler:
ldr r0, =_estack
- 800086c: 480d ldr r0, [pc, #52] ; (80008a4 )
+ 80008e8: 480d ldr r0, [pc, #52] ; (8000920 )
mov sp, r0 /* set stack pointer */
- 800086e: 4685 mov sp, r0
+ 80008ea: 4685 mov sp, r0
/* Copy the data segment initializers from flash to SRAM */
ldr r0, =_sdata
- 8000870: 480d ldr r0, [pc, #52] ; (80008a8 )
+ 80008ec: 480d ldr r0, [pc, #52] ; (8000924 )
ldr r1, =_edata
- 8000872: 490e ldr r1, [pc, #56] ; (80008ac )
+ 80008ee: 490e ldr r1, [pc, #56] ; (8000928 )
ldr r2, =_sidata
- 8000874: 4a0e ldr r2, [pc, #56] ; (80008b0 )
+ 80008f0: 4a0e ldr r2, [pc, #56] ; (800092c )
movs r3, #0
- 8000876: 2300 movs r3, #0
+ 80008f2: 2300 movs r3, #0
b LoopCopyDataInit
- 8000878: e002 b.n 8000880
+ 80008f4: e002 b.n 80008fc
-0800087a :
+080008f6 :
CopyDataInit:
ldr r4, [r2, r3]
- 800087a: 58d4 ldr r4, [r2, r3]
+ 80008f6: 58d4 ldr r4, [r2, r3]
str r4, [r0, r3]
- 800087c: 50c4 str r4, [r0, r3]
+ 80008f8: 50c4 str r4, [r0, r3]
adds r3, r3, #4
- 800087e: 3304 adds r3, #4
+ 80008fa: 3304 adds r3, #4
-08000880 :
+080008fc :
LoopCopyDataInit:
adds r4, r0, r3
- 8000880: 18c4 adds r4, r0, r3
+ 80008fc: 18c4 adds r4, r0, r3
cmp r4, r1
- 8000882: 428c cmp r4, r1
+ 80008fe: 428c cmp r4, r1
bcc CopyDataInit
- 8000884: d3f9 bcc.n 800087a
+ 8000900: d3f9 bcc.n 80008f6
/* Zero fill the bss segment. */
ldr r2, =_sbss
- 8000886: 4a0b ldr r2, [pc, #44] ; (80008b4 )
+ 8000902: 4a0b ldr r2, [pc, #44] ; (8000930 )
ldr r4, =_ebss
- 8000888: 4c0b ldr r4, [pc, #44] ; (80008b8 )
+ 8000904: 4c0b ldr r4, [pc, #44] ; (8000934 )
movs r3, #0
- 800088a: 2300 movs r3, #0
+ 8000906: 2300 movs r3, #0
b LoopFillZerobss
- 800088c: e001 b.n 8000892
+ 8000908: e001 b.n 800090e
-0800088e :
+0800090a :
FillZerobss:
str r3, [r2]
- 800088e: 6013 str r3, [r2, #0]
+ 800090a: 6013 str r3, [r2, #0]
adds r2, r2, #4
- 8000890: 3204 adds r2, #4
+ 800090c: 3204 adds r2, #4
-08000892 :
+0800090e :
LoopFillZerobss:
cmp r2, r4
- 8000892: 42a2 cmp r2, r4
+ 800090e: 42a2 cmp r2, r4
bcc FillZerobss
- 8000894: d3fb bcc.n 800088e
+ 8000910: d3fb bcc.n 800090a
/* Call the clock system intitialization function.*/
bl SystemInit
- 8000896: f7ff ffe3 bl 8000860
+ 8000912: f7ff ffe3 bl 80008dc
/* Call static constructors */
bl __libc_init_array
- 800089a: f002 ff6f bl 800377c <__libc_init_array>
+ 8000916: f003 f973 bl 8003c00 <__libc_init_array>
/* Call the application's entry point.*/
bl main
- 800089e: f7ff fda9 bl 80003f4
+ 800091a: f7ff fd6b bl 80003f4
-080008a2 :
+0800091e :
LoopForever:
b LoopForever
- 80008a2: e7fe b.n 80008a2
+ 800091e: e7fe b.n 800091e
ldr r0, =_estack
- 80008a4: 20001000 .word 0x20001000
+ 8000920: 20001000 .word 0x20001000
ldr r0, =_sdata
- 80008a8: 20000000 .word 0x20000000
+ 8000924: 20000000 .word 0x20000000
ldr r1, =_edata
- 80008ac: 2000000c .word 0x2000000c
+ 8000928: 20000070 .word 0x20000070
ldr r2, =_sidata
- 80008b0: 08003850 .word 0x08003850
+ 800092c: 08003da4 .word 0x08003da4
ldr r2, =_sbss
- 80008b4: 2000000c .word 0x2000000c
+ 8000930: 20000070 .word 0x20000070
ldr r4, =_ebss
- 80008b8: 20000158 .word 0x20000158
+ 8000934: 200001e8 .word 0x200001e8
-080008bc :
+08000938 :
* @retval : None
*/
.section .text.Default_Handler,"ax",%progbits
Default_Handler:
Infinite_Loop:
b Infinite_Loop
- 80008bc: e7fe b.n 80008bc
+ 8000938: e7fe b.n 8000938
...
-080008c0 :
+0800093c :
* In the default implementation,Systick is used as source of time base.
* The tick variable is incremented each 1ms in its ISR.
* @retval HAL status
*/
HAL_StatusTypeDef HAL_Init(void)
{
- 80008c0: b580 push {r7, lr}
- 80008c2: af00 add r7, sp, #0
+ 800093c: b580 push {r7, lr}
+ 800093e: af00 add r7, sp, #0
/* Configure Flash prefetch */
#if (PREFETCH_ENABLE != 0)
__HAL_FLASH_PREFETCH_BUFFER_ENABLE();
- 80008c4: 4b07 ldr r3, [pc, #28] ; (80008e4 )
- 80008c6: 681a ldr r2, [r3, #0]
- 80008c8: 4b06 ldr r3, [pc, #24] ; (80008e4 )
- 80008ca: 2110 movs r1, #16
- 80008cc: 430a orrs r2, r1
- 80008ce: 601a str r2, [r3, #0]
+ 8000940: 4b07 ldr r3, [pc, #28] ; (8000960 )
+ 8000942: 681a ldr r2, [r3, #0]
+ 8000944: 4b06 ldr r3, [pc, #24] ; (8000960 )
+ 8000946: 2110 movs r1, #16
+ 8000948: 430a orrs r2, r1
+ 800094a: 601a str r2, [r3, #0]
#endif /* PREFETCH_ENABLE */
/* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */
HAL_InitTick(TICK_INT_PRIORITY);
- 80008d0: 2003 movs r0, #3
- 80008d2: f000 f809 bl 80008e8
+ 800094c: 2003 movs r0, #3
+ 800094e: f000 f809 bl 8000964
/* Init the low level hardware */
HAL_MspInit();
- 80008d6: f7ff ff05 bl 80006e4
+ 8000952: f7ff ff05 bl 8000760
/* Return function status */
return HAL_OK;
- 80008da: 2300 movs r3, #0
+ 8000956: 2300 movs r3, #0
}
- 80008dc: 0018 movs r0, r3
- 80008de: 46bd mov sp, r7
- 80008e0: bd80 pop {r7, pc}
- 80008e2: 46c0 nop ; (mov r8, r8)
- 80008e4: 40022000 .word 0x40022000
+ 8000958: 0018 movs r0, r3
+ 800095a: 46bd mov sp, r7
+ 800095c: bd80 pop {r7, pc}
+ 800095e: 46c0 nop ; (mov r8, r8)
+ 8000960: 40022000 .word 0x40022000
-080008e8 :
+08000964 :
* implementation in user file.
* @param TickPriority Tick interrupt priority.
* @retval HAL status
*/
__weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
{
- 80008e8: b590 push {r4, r7, lr}
- 80008ea: b083 sub sp, #12
- 80008ec: af00 add r7, sp, #0
- 80008ee: 6078 str r0, [r7, #4]
+ 8000964: b590 push {r4, r7, lr}
+ 8000966: b083 sub sp, #12
+ 8000968: af00 add r7, sp, #0
+ 800096a: 6078 str r0, [r7, #4]
/*Configure the SysTick to have interrupt in 1ms time basis*/
if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U)
- 80008f0: 4b14 ldr r3, [pc, #80] ; (8000944 )
- 80008f2: 681c ldr r4, [r3, #0]
- 80008f4: 4b14 ldr r3, [pc, #80] ; (8000948 )
- 80008f6: 781b ldrb r3, [r3, #0]
- 80008f8: 0019 movs r1, r3
- 80008fa: 23fa movs r3, #250 ; 0xfa
- 80008fc: 0098 lsls r0, r3, #2
- 80008fe: f7ff fc03 bl 8000108 <__udivsi3>
- 8000902: 0003 movs r3, r0
- 8000904: 0019 movs r1, r3
- 8000906: 0020 movs r0, r4
- 8000908: f7ff fbfe bl 8000108 <__udivsi3>
- 800090c: 0003 movs r3, r0
- 800090e: 0018 movs r0, r3
- 8000910: f000 fdbb bl 800148a
- 8000914: 1e03 subs r3, r0, #0
- 8000916: d001 beq.n 800091c
+ 800096c: 4b14 ldr r3, [pc, #80] ; (80009c0 )
+ 800096e: 681c ldr r4, [r3, #0]
+ 8000970: 4b14 ldr r3, [pc, #80] ; (80009c4 )
+ 8000972: 781b ldrb r3, [r3, #0]
+ 8000974: 0019 movs r1, r3
+ 8000976: 23fa movs r3, #250 ; 0xfa
+ 8000978: 0098 lsls r0, r3, #2
+ 800097a: f7ff fbc5 bl 8000108 <__udivsi3>
+ 800097e: 0003 movs r3, r0
+ 8000980: 0019 movs r1, r3
+ 8000982: 0020 movs r0, r4
+ 8000984: f7ff fbc0 bl 8000108 <__udivsi3>
+ 8000988: 0003 movs r3, r0
+ 800098a: 0018 movs r0, r3
+ 800098c: f000 fdbb bl 8001506
+ 8000990: 1e03 subs r3, r0, #0
+ 8000992: d001 beq.n 8000998
{
return HAL_ERROR;
- 8000918: 2301 movs r3, #1
- 800091a: e00f b.n 800093c
+ 8000994: 2301 movs r3, #1
+ 8000996: e00f b.n 80009b8
}
/* Configure the SysTick IRQ priority */
if (TickPriority < (1UL << __NVIC_PRIO_BITS))
- 800091c: 687b ldr r3, [r7, #4]
- 800091e: 2b03 cmp r3, #3
- 8000920: d80b bhi.n 800093a
+ 8000998: 687b ldr r3, [r7, #4]
+ 800099a: 2b03 cmp r3, #3
+ 800099c: d80b bhi.n 80009b6
{
HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U);
- 8000922: 6879 ldr r1, [r7, #4]
- 8000924: 2301 movs r3, #1
- 8000926: 425b negs r3, r3
- 8000928: 2200 movs r2, #0
- 800092a: 0018 movs r0, r3
- 800092c: f000 fd88 bl 8001440
+ 800099e: 6879 ldr r1, [r7, #4]
+ 80009a0: 2301 movs r3, #1
+ 80009a2: 425b negs r3, r3
+ 80009a4: 2200 movs r2, #0
+ 80009a6: 0018 movs r0, r3
+ 80009a8: f000 fd88 bl 80014bc
uwTickPrio = TickPriority;
- 8000930: 4b06 ldr r3, [pc, #24] ; (800094c )
- 8000932: 687a ldr r2, [r7, #4]
- 8000934: 601a str r2, [r3, #0]
+ 80009ac: 4b06 ldr r3, [pc, #24] ; (80009c8 )
+ 80009ae: 687a ldr r2, [r7, #4]
+ 80009b0: 601a str r2, [r3, #0]
{
return HAL_ERROR;
}
/* Return function status */
return HAL_OK;
- 8000936: 2300 movs r3, #0
- 8000938: e000 b.n 800093c
+ 80009b2: 2300 movs r3, #0
+ 80009b4: e000 b.n 80009b8
return HAL_ERROR;
- 800093a: 2301 movs r3, #1
+ 80009b6: 2301 movs r3, #1
}
- 800093c: 0018 movs r0, r3
- 800093e: 46bd mov sp, r7
- 8000940: b003 add sp, #12
- 8000942: bd90 pop {r4, r7, pc}
- 8000944: 20000000 .word 0x20000000
- 8000948: 20000008 .word 0x20000008
- 800094c: 20000004 .word 0x20000004
+ 80009b8: 0018 movs r0, r3
+ 80009ba: 46bd mov sp, r7
+ 80009bc: b003 add sp, #12
+ 80009be: bd90 pop {r4, r7, pc}
+ 80009c0: 20000000 .word 0x20000000
+ 80009c4: 20000008 .word 0x20000008
+ 80009c8: 20000004 .word 0x20000004
-08000950 :
+080009cc :
* @note This function is declared as __weak to be overwritten in case of other
* implementations in user file.
* @retval None
*/
__weak void HAL_IncTick(void)
{
- 8000950: b580 push {r7, lr}
- 8000952: af00 add r7, sp, #0
+ 80009cc: b580 push {r7, lr}
+ 80009ce: af00 add r7, sp, #0
uwTick += uwTickFreq;
- 8000954: 4b05 ldr r3, [pc, #20] ; (800096c )
- 8000956: 781b ldrb r3, [r3, #0]
- 8000958: 001a movs r2, r3
- 800095a: 4b05 ldr r3, [pc, #20] ; (8000970 )
- 800095c: 681b ldr r3, [r3, #0]
- 800095e: 18d2 adds r2, r2, r3
- 8000960: 4b03 ldr r3, [pc, #12] ; (8000970 )
- 8000962: 601a str r2, [r3, #0]
+ 80009d0: 4b05 ldr r3, [pc, #20] ; (80009e8 )
+ 80009d2: 781b ldrb r3, [r3, #0]
+ 80009d4: 001a movs r2, r3
+ 80009d6: 4b05 ldr r3, [pc, #20] ; (80009ec )
+ 80009d8: 681b ldr r3, [r3, #0]
+ 80009da: 18d2 adds r2, r2, r3
+ 80009dc: 4b03 ldr r3, [pc, #12] ; (80009ec )
+ 80009de: 601a str r2, [r3, #0]
}
- 8000964: 46c0 nop ; (mov r8, r8)
- 8000966: 46bd mov sp, r7
- 8000968: bd80 pop {r7, pc}
- 800096a: 46c0 nop ; (mov r8, r8)
- 800096c: 20000008 .word 0x20000008
- 8000970: 200000d4 .word 0x200000d4
+ 80009e0: 46c0 nop ; (mov r8, r8)
+ 80009e2: 46bd mov sp, r7
+ 80009e4: bd80 pop {r7, pc}
+ 80009e6: 46c0 nop ; (mov r8, r8)
+ 80009e8: 20000008 .word 0x20000008
+ 80009ec: 2000013c .word 0x2000013c
-08000974 :
+080009f0 :
* @note This function is declared as __weak to be overwritten in case of other
* implementations in user file.
* @retval tick value
*/
__weak uint32_t HAL_GetTick(void)
{
- 8000974: b580 push {r7, lr}
- 8000976: af00 add r7, sp, #0
+ 80009f0: b580 push {r7, lr}
+ 80009f2: af00 add r7, sp, #0
return uwTick;
- 8000978: 4b02 ldr r3, [pc, #8] ; (8000984