adbmsFunctionTest/build/debug/Core/Src/sysmem.lst

233 lines
10 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS /tmp/ccQHo1tW.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "sysmem.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Core/Src/sysmem.c"
20 .section .text._sbrk,"ax",%progbits
21 .align 1
22 .global _sbrk
23 .syntax unified
24 .thumb
25 .thumb_func
27 _sbrk:
28 .LVL0:
29 .LFB0:
1:Core/Src/sysmem.c **** /**
2:Core/Src/sysmem.c **** ******************************************************************************
3:Core/Src/sysmem.c **** * @file sysmem.c
4:Core/Src/sysmem.c **** * @author Generated by STM32CubeMX
5:Core/Src/sysmem.c **** * @brief System Memory calls file
6:Core/Src/sysmem.c **** *
7:Core/Src/sysmem.c **** * For more information about which C functions
8:Core/Src/sysmem.c **** * need which of these lowlevel functions
9:Core/Src/sysmem.c **** * please consult the newlib libc manual
10:Core/Src/sysmem.c **** ******************************************************************************
11:Core/Src/sysmem.c **** * @attention
12:Core/Src/sysmem.c **** *
13:Core/Src/sysmem.c **** * Copyright (c) 2024 STMicroelectronics.
14:Core/Src/sysmem.c **** * All rights reserved.
15:Core/Src/sysmem.c **** *
16:Core/Src/sysmem.c **** * This software is licensed under terms that can be found in the LICENSE file
17:Core/Src/sysmem.c **** * in the root directory of this software component.
18:Core/Src/sysmem.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
19:Core/Src/sysmem.c **** *
20:Core/Src/sysmem.c **** ******************************************************************************
21:Core/Src/sysmem.c **** */
22:Core/Src/sysmem.c ****
23:Core/Src/sysmem.c **** /* Includes */
24:Core/Src/sysmem.c **** #include <errno.h>
25:Core/Src/sysmem.c **** #include <stdint.h>
26:Core/Src/sysmem.c ****
27:Core/Src/sysmem.c **** /**
28:Core/Src/sysmem.c **** * Pointer to the current high watermark of the heap usage
29:Core/Src/sysmem.c **** */
ARM GAS /tmp/ccQHo1tW.s page 2
30:Core/Src/sysmem.c **** static uint8_t *__sbrk_heap_end = NULL;
31:Core/Src/sysmem.c ****
32:Core/Src/sysmem.c **** /**
33:Core/Src/sysmem.c **** * @brief _sbrk() allocates memory to the newlib heap and is used by malloc
34:Core/Src/sysmem.c **** * and others from the C library
35:Core/Src/sysmem.c **** *
36:Core/Src/sysmem.c **** * @verbatim
37:Core/Src/sysmem.c **** * ############################################################################
38:Core/Src/sysmem.c **** * # .data # .bss # newlib heap # MSP stack #
39:Core/Src/sysmem.c **** * # # # # Reserved by _Min_Stack_Size #
40:Core/Src/sysmem.c **** * ############################################################################
41:Core/Src/sysmem.c **** * ^-- RAM start ^-- _end _estack, RAM end --^
42:Core/Src/sysmem.c **** * @endverbatim
43:Core/Src/sysmem.c **** *
44:Core/Src/sysmem.c **** * This implementation starts allocating at the '_end' linker symbol
45:Core/Src/sysmem.c **** * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
46:Core/Src/sysmem.c **** * The implementation considers '_estack' linker symbol to be RAM end
47:Core/Src/sysmem.c **** * NOTE: If the MSP stack, at any point during execution, grows larger than the
48:Core/Src/sysmem.c **** * reserved size, please increase the '_Min_Stack_Size'.
49:Core/Src/sysmem.c **** *
50:Core/Src/sysmem.c **** * @param incr Memory size
51:Core/Src/sysmem.c **** * @return Pointer to allocated memory
52:Core/Src/sysmem.c **** */
53:Core/Src/sysmem.c **** void *_sbrk(ptrdiff_t incr)
54:Core/Src/sysmem.c **** {
30 .loc 1 54 1 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
34 .loc 1 54 1 is_stmt 0 view .LVU1
35 0000 10B5 push {r4, lr}
36 .cfi_def_cfa_offset 8
37 .cfi_offset 4, -8
38 .cfi_offset 14, -4
39 0002 0346 mov r3, r0
55:Core/Src/sysmem.c **** extern uint8_t _end; /* Symbol defined in the linker script */
40 .loc 1 55 3 is_stmt 1 view .LVU2
56:Core/Src/sysmem.c **** extern uint8_t _estack; /* Symbol defined in the linker script */
41 .loc 1 56 3 view .LVU3
57:Core/Src/sysmem.c **** extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
42 .loc 1 57 3 view .LVU4
58:Core/Src/sysmem.c **** const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
43 .loc 1 58 3 view .LVU5
44 .LVL1:
59:Core/Src/sysmem.c **** const uint8_t *max_heap = (uint8_t *)stack_limit;
45 .loc 1 59 3 view .LVU6
58:Core/Src/sysmem.c **** const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
46 .loc 1 58 51 is_stmt 0 view .LVU7
47 0004 0C4A ldr r2, .L8
48 0006 0D49 ldr r1, .L8+4
49 .LVL2:
60:Core/Src/sysmem.c **** uint8_t *prev_heap_end;
50 .loc 1 60 3 is_stmt 1 view .LVU8
61:Core/Src/sysmem.c ****
62:Core/Src/sysmem.c **** /* Initialize heap end at first call */
63:Core/Src/sysmem.c **** if (NULL == __sbrk_heap_end)
51 .loc 1 63 3 view .LVU9
ARM GAS /tmp/ccQHo1tW.s page 3
52 .loc 1 63 12 is_stmt 0 view .LVU10
53 0008 0D48 ldr r0, .L8+8
54 .LVL3:
55 .loc 1 63 12 view .LVU11
56 000a 0068 ldr r0, [r0]
57 .loc 1 63 6 view .LVU12
58 000c 40B1 cbz r0, .L6
59 .L2:
64:Core/Src/sysmem.c **** {
65:Core/Src/sysmem.c **** __sbrk_heap_end = &_end;
66:Core/Src/sysmem.c **** }
67:Core/Src/sysmem.c ****
68:Core/Src/sysmem.c **** /* Protect heap from growing into the reserved MSP stack */
69:Core/Src/sysmem.c **** if (__sbrk_heap_end + incr > max_heap)
60 .loc 1 69 3 is_stmt 1 view .LVU13
61 .loc 1 69 23 is_stmt 0 view .LVU14
62 000e 0C48 ldr r0, .L8+8
63 0010 0068 ldr r0, [r0]
64 0012 0344 add r3, r3, r0
65 .LVL4:
66 .loc 1 69 6 view .LVU15
67 0014 521A subs r2, r2, r1
68 0016 9342 cmp r3, r2
69 0018 06D8 bhi .L7
70:Core/Src/sysmem.c **** {
71:Core/Src/sysmem.c **** errno = ENOMEM;
72:Core/Src/sysmem.c **** return (void *)-1;
73:Core/Src/sysmem.c **** }
74:Core/Src/sysmem.c ****
75:Core/Src/sysmem.c **** prev_heap_end = __sbrk_heap_end;
70 .loc 1 75 3 is_stmt 1 view .LVU16
71 .LVL5:
76:Core/Src/sysmem.c **** __sbrk_heap_end += incr;
72 .loc 1 76 3 view .LVU17
73 .loc 1 76 19 is_stmt 0 view .LVU18
74 001a 094A ldr r2, .L8+8
75 001c 1360 str r3, [r2]
77:Core/Src/sysmem.c ****
78:Core/Src/sysmem.c **** return (void *)prev_heap_end;
76 .loc 1 78 3 is_stmt 1 view .LVU19
77 .LVL6:
78 .L1:
79:Core/Src/sysmem.c **** }
79 .loc 1 79 1 is_stmt 0 view .LVU20
80 001e 10BD pop {r4, pc}
81 .LVL7:
82 .L6:
65:Core/Src/sysmem.c **** }
83 .loc 1 65 5 is_stmt 1 view .LVU21
65:Core/Src/sysmem.c **** }
84 .loc 1 65 21 is_stmt 0 view .LVU22
85 0020 0748 ldr r0, .L8+8
86 0022 084C ldr r4, .L8+12
87 0024 0460 str r4, [r0]
88 0026 F2E7 b .L2
89 .LVL8:
90 .L7:
ARM GAS /tmp/ccQHo1tW.s page 4
71:Core/Src/sysmem.c **** return (void *)-1;
91 .loc 1 71 5 is_stmt 1 view .LVU23
92 0028 FFF7FEFF bl __errno
93 .LVL9:
71:Core/Src/sysmem.c **** return (void *)-1;
94 .loc 1 71 11 is_stmt 0 discriminator 1 view .LVU24
95 002c 0C23 movs r3, #12
96 002e 0360 str r3, [r0]
72:Core/Src/sysmem.c **** }
97 .loc 1 72 5 is_stmt 1 view .LVU25
72:Core/Src/sysmem.c **** }
98 .loc 1 72 12 is_stmt 0 view .LVU26
99 0030 4FF0FF30 mov r0, #-1
100 0034 F3E7 b .L1
101 .L9:
102 0036 00BF .align 2
103 .L8:
104 0038 00000000 .word _estack
105 003c 00000000 .word _Min_Stack_Size
106 0040 00000000 .word __sbrk_heap_end
107 0044 00000000 .word _end
108 .cfi_endproc
109 .LFE0:
111 .section .bss.__sbrk_heap_end,"aw",%nobits
112 .align 2
115 __sbrk_heap_end:
116 0000 00000000 .space 4
117 .text
118 .Letext0:
119 .file 2 "/home/chiangni/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-
120 .file 3 "/home/chiangni/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-
121 .file 4 "/home/chiangni/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-
122 .file 5 "/home/chiangni/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-
ARM GAS /tmp/ccQHo1tW.s page 5
DEFINED SYMBOLS
*ABS*:00000000 sysmem.c
/tmp/ccQHo1tW.s:21 .text._sbrk:00000000 $t
/tmp/ccQHo1tW.s:27 .text._sbrk:00000000 _sbrk
/tmp/ccQHo1tW.s:104 .text._sbrk:00000038 $d
/tmp/ccQHo1tW.s:115 .bss.__sbrk_heap_end:00000000 __sbrk_heap_end
/tmp/ccQHo1tW.s:112 .bss.__sbrk_heap_end:00000000 $d
UNDEFINED SYMBOLS
__errno
_estack
_Min_Stack_Size
_end