Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- main.o: file format elf32-littlearm
- Disassembly of section .text.startup.main:
- 00000000 <main>:
- * @brief Main program
- * @param None
- * @retval None
- */
- int main(void)
- {
- 0: b570 push {r4, r5, r6, lr}
- 2: b094 sub sp, #80 ; 0x50
- duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and
- handled in milliseconds basis.
- - Set NVIC Group Priority to 4
- - Low Level Initialization
- */
- HAL_Init();
- 4: f7ff fffe bl 0 <HAL_Init>
- RCC_ClkInitTypeDef RCC_ClkInitStruct;
- RCC_OscInitTypeDef RCC_OscInitStruct;
- HAL_StatusTypeDef ret = HAL_OK;
- /* Enable Power Control clock */
- __HAL_RCC_PWR_CLK_ENABLE();
- 8: 4c30 ldr r4, [pc, #192] ; (cc <main+0xcc>)
- a: 2200 movs r2, #0
- c: 9200 str r2, [sp, #0]
- e: 6c23 ldr r3, [r4, #64] ; 0x40
- 10: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000
- 14: 6423 str r3, [r4, #64] ; 0x40
- 16: 6c23 ldr r3, [r4, #64] ; 0x40
- 18: f003 5380 and.w r3, r3, #268435456 ; 0x10000000
- 1c: 9300 str r3, [sp, #0]
- 1e: 9b00 ldr r3, [sp, #0]
- /* The voltage scaling allows optimizing the power consumption when the device is
- clocked below the maximum system frequency, to update the voltage scaling value
- regarding system frequency refer to product datasheet. */
- __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
- 20: 4b2b ldr r3, [pc, #172] ; (d0 <main+0xd0>)
- 22: 9201 str r2, [sp, #4]
- 24: 681a ldr r2, [r3, #0]
- 26: f442 4240 orr.w r2, r2, #49152 ; 0xc000
- 2a: 601a str r2, [r3, #0]
- 2c: 681b ldr r3, [r3, #0]
- 2e: f403 4340 and.w r3, r3, #49152 ; 0xc000
- 32: 9301 str r3, [sp, #4]
- 34: 9b01 ldr r3, [sp, #4]
- /* Enable HSE Oscillator and activate PLL with HSE as source */
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
- RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
- 36: 2601 movs r6, #1
- 38: f44f 23a0 mov.w r3, #327680 ; 0x50000
- RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- 3c: 2502 movs r5, #2
- RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
- 3e: e9cd 6307 strd r6, r3, [sp, #28]
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- 42: f44f 0380 mov.w r3, #4194304 ; 0x400000
- RCC_OscInitStruct.PLL.PLLM = 8;
- RCC_OscInitStruct.PLL.PLLN = 360;
- 46: 2008 movs r0, #8
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- 48: e9cd 530d strd r5, r3, [sp, #52] ; 0x34
- RCC_OscInitStruct.PLL.PLLN = 360;
- 4c: f44f 73b4 mov.w r3, #360 ; 0x168
- 50: e9cd 030f strd r0, r3, [sp, #60] ; 0x3c
- RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
- RCC_OscInitStruct.PLL.PLLQ = 7;
- 54: 2307 movs r3, #7
- RCC_OscInitStruct.PLL.PLLR = 2;
- ret = HAL_RCC_OscConfig(&RCC_OscInitStruct);
- 56: a807 add r0, sp, #28
- RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
- 58: 9511 str r5, [sp, #68] ; 0x44
- RCC_OscInitStruct.PLL.PLLR = 2;
- 5a: e9cd 3512 strd r3, r5, [sp, #72] ; 0x48
- ret = HAL_RCC_OscConfig(&RCC_OscInitStruct);
- 5e: f7ff fffe bl 0 <HAL_RCC_OscConfig>
- if (ret != HAL_OK)
- 62: b100 cbz r0, 66 <main+0x66>
- {
- while (1) { ; }
- 64: e7fe b.n 64 <main+0x64>
- }
- /* Activate the OverDrive to reach the 180 MHz Frequency */
- ret = HAL_PWREx_EnableOverDrive();
- 66: f7ff fffe bl 0 <HAL_PWREx_EnableOverDrive>
- if (ret != HAL_OK)
- 6a: b100 cbz r0, 6e <main+0x6e>
- {
- while (1) { ; }
- 6c: e7fe b.n 6c <main+0x6c>
- }
- /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
- RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
- 6e: 230f movs r3, #15
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
- RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
- RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
- 70: f44f 51a0 mov.w r1, #5120 ; 0x1400
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
- 74: e9cd 3502 strd r3, r5, [sp, #8]
- RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
- 78: f44f 5380 mov.w r3, #4096 ; 0x1000
- RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- 7c: 9004 str r0, [sp, #16]
- RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
- 7e: e9cd 1305 strd r1, r3, [sp, #20]
- ret = HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5);
- 82: a802 add r0, sp, #8
- 84: 2105 movs r1, #5
- 86: f7ff fffe bl 0 <HAL_RCC_ClockConfig>
- if (ret != HAL_OK)
- 8a: b100 cbz r0, 8e <main+0x8e>
- {
- while (1) { ; }
- 8c: e7fe b.n 8c <main+0x8c>
- __HAL_RCC_GPIOB_CLK_ENABLE();
- 8e: 9007 str r0, [sp, #28]
- 90: 6b23 ldr r3, [r4, #48] ; 0x30
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- 92: 4910 ldr r1, [pc, #64] ; (d4 <main+0xd4>)
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- 94: 4810 ldr r0, [pc, #64] ; (d8 <main+0xd8>)
- __HAL_RCC_GPIOB_CLK_ENABLE();
- 96: f043 0302 orr.w r3, r3, #2
- 9a: 6323 str r3, [r4, #48] ; 0x30
- 9c: 6b23 ldr r3, [r4, #48] ; 0x30
- HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_0);
- 9e: 4c0e ldr r4, [pc, #56] ; (d8 <main+0xd8>)
- __HAL_RCC_GPIOB_CLK_ENABLE();
- a0: f003 0302 and.w r3, r3, #2
- a4: 9307 str r3, [sp, #28]
- a6: 9b07 ldr r3, [sp, #28]
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- a8: 2303 movs r3, #3
- aa: 60cb str r3, [r1, #12]
- GPIO_InitStruct.Pin = GPIO_PIN_8;
- ac: f44f 7380 mov.w r3, #256 ; 0x100
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- b0: e9c1 6601 strd r6, r6, [r1, #4]
- GPIO_InitStruct.Pin = GPIO_PIN_8;
- b4: 600b str r3, [r1, #0]
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- b6: f7ff fffe bl 0 <HAL_GPIO_Init>
- HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_0);
- ba: 4620 mov r0, r4
- bc: 2101 movs r1, #1
- be: f7ff fffe bl 0 <HAL_GPIO_TogglePin>
- HAL_Delay(500);
- c2: f44f 70fa mov.w r0, #500 ; 0x1f4
- c6: f7ff fffe bl 0 <HAL_Delay>
- ca: e7f6 b.n ba <main+0xba>
- cc: 40023800 .word 0x40023800
- d0: 40007000 .word 0x40007000
- d4: 00000000 .word 0x00000000
- d8: 40020000 .word 0x40020000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement