mv-bms/Software/build/sysmem.lst

229 lines
9.9 KiB
Plaintext
Raw Permalink 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/ccQxFjE3.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, 6
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 .bss.__sbrk_heap_end,"aw",%nobits
21 .align 2
24 __sbrk_heap_end:
25 0000 00000000 .space 4
26 .section .text._sbrk,"ax",%progbits
27 .align 1
28 .global _sbrk
29 .syntax unified
30 .thumb
31 .thumb_func
33 _sbrk:
34 .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 ****
ARM GAS /tmp/ccQxFjE3.s page 2
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 **** */
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 **** {
35 .loc 1 54 1
36 .cfi_startproc
37 @ args = 0, pretend = 0, frame = 24
38 @ frame_needed = 1, uses_anonymous_args = 0
39 0000 80B5 push {r7, lr}
40 .cfi_def_cfa_offset 8
41 .cfi_offset 7, -8
42 .cfi_offset 14, -4
43 0002 86B0 sub sp, sp, #24
44 .cfi_def_cfa_offset 32
45 0004 00AF add r7, sp, #0
46 .cfi_def_cfa_register 7
47 0006 7860 str r0, [r7, #4]
55:Core/Src/sysmem.c **** extern uint8_t _end; /* Symbol defined in the linker script */
56:Core/Src/sysmem.c **** extern uint8_t _estack; /* Symbol defined in the linker script */
57:Core/Src/sysmem.c **** extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
58:Core/Src/sysmem.c **** const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
48 .loc 1 58 32
49 0008 144A ldr r2, .L5
50 .loc 1 58 53
51 000a 154B ldr r3, .L5+4
52 .loc 1 58 18
53 000c D31A subs r3, r2, r3
54 000e 7B61 str r3, [r7, #20]
59:Core/Src/sysmem.c **** const uint8_t *max_heap = (uint8_t *)stack_limit;
55 .loc 1 59 18
56 0010 7B69 ldr r3, [r7, #20]
57 0012 3B61 str r3, [r7, #16]
60:Core/Src/sysmem.c **** uint8_t *prev_heap_end;
ARM GAS /tmp/ccQxFjE3.s page 3
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)
58 .loc 1 63 12
59 0014 134B ldr r3, .L5+8
60 0016 1B68 ldr r3, [r3]
61 .loc 1 63 6
62 0018 002B cmp r3, #0
63 001a 02D1 bne .L2
64:Core/Src/sysmem.c **** {
65:Core/Src/sysmem.c **** __sbrk_heap_end = &_end;
64 .loc 1 65 21
65 001c 114B ldr r3, .L5+8
66 001e 124A ldr r2, .L5+12
67 0020 1A60 str r2, [r3]
68 .L2:
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)
69 .loc 1 69 23
70 0022 104B ldr r3, .L5+8
71 0024 1A68 ldr r2, [r3]
72 0026 7B68 ldr r3, [r7, #4]
73 0028 1344 add r3, r3, r2
74 .loc 1 69 6
75 002a 3A69 ldr r2, [r7, #16]
76 002c 9A42 cmp r2, r3
77 002e 07D2 bcs .L3
70:Core/Src/sysmem.c **** {
71:Core/Src/sysmem.c **** errno = ENOMEM;
78 .loc 1 71 5
79 0030 FFF7FEFF bl __errno
80 0034 0346 mov r3, r0
81 .loc 1 71 11 discriminator 1
82 0036 0C22 movs r2, #12
83 0038 1A60 str r2, [r3]
72:Core/Src/sysmem.c **** return (void *)-1;
84 .loc 1 72 12
85 003a 4FF0FF33 mov r3, #-1
86 003e 09E0 b .L4
87 .L3:
73:Core/Src/sysmem.c **** }
74:Core/Src/sysmem.c ****
75:Core/Src/sysmem.c **** prev_heap_end = __sbrk_heap_end;
88 .loc 1 75 17
89 0040 084B ldr r3, .L5+8
90 0042 1B68 ldr r3, [r3]
91 0044 FB60 str r3, [r7, #12]
76:Core/Src/sysmem.c **** __sbrk_heap_end += incr;
92 .loc 1 76 19
93 0046 074B ldr r3, .L5+8
94 0048 1A68 ldr r2, [r3]
95 004a 7B68 ldr r3, [r7, #4]
96 004c 1344 add r3, r3, r2
97 004e 054A ldr r2, .L5+8
98 0050 1360 str r3, [r2]
ARM GAS /tmp/ccQxFjE3.s page 4
77:Core/Src/sysmem.c ****
78:Core/Src/sysmem.c **** return (void *)prev_heap_end;
99 .loc 1 78 10
100 0052 FB68 ldr r3, [r7, #12]
101 .L4:
79:Core/Src/sysmem.c **** }
102 .loc 1 79 1
103 0054 1846 mov r0, r3
104 0056 1837 adds r7, r7, #24
105 .cfi_def_cfa_offset 8
106 0058 BD46 mov sp, r7
107 .cfi_def_cfa_register 13
108 @ sp needed
109 005a 80BD pop {r7, pc}
110 .L6:
111 .align 2
112 .L5:
113 005c 00000000 .word _estack
114 0060 00000000 .word _Min_Stack_Size
115 0064 00000000 .word __sbrk_heap_end
116 0068 00000000 .word _end
117 .cfi_endproc
118 .LFE0:
120 .text
121 .Letext0:
122 .file 2 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/lib/gcc/arm-none-e
123 .file 3 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
124 .file 4 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
125 .file 5 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
ARM GAS /tmp/ccQxFjE3.s page 5
DEFINED SYMBOLS
*ABS*:00000000 sysmem.c
/tmp/ccQxFjE3.s:21 .bss.__sbrk_heap_end:00000000 $d
/tmp/ccQxFjE3.s:24 .bss.__sbrk_heap_end:00000000 __sbrk_heap_end
/tmp/ccQxFjE3.s:27 .text._sbrk:00000000 $t
/tmp/ccQxFjE3.s:33 .text._sbrk:00000000 _sbrk
/tmp/ccQxFjE3.s:113 .text._sbrk:0000005c $d
UNDEFINED SYMBOLS
__errno
_estack
_Min_Stack_Size
_end