added testbench for ams slave

This commit is contained in:
davidscherer
2023-05-30 18:57:16 +02:00
parent 4f601c8b44
commit d48136cb1a
315 changed files with 288831 additions and 0 deletions

View File

@ -0,0 +1,230 @@
ARM GAS /tmp/ccisrOc0.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 STM32CubeIDE
5:Core/Src/sysmem.c **** * @brief STM32CubeIDE 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) 2022 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/ccisrOc0.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 .loc 1 58 18 is_stmt 0 view .LVU6
45 0004 0C4A ldr r2, .L8
46 0006 0D49 ldr r1, .L8+4
47 .LVL1:
59:Core/Src/sysmem.c **** const uint8_t *max_heap = (uint8_t *)stack_limit;
48 .loc 1 59 3 is_stmt 1 view .LVU7
60:Core/Src/sysmem.c **** uint8_t *prev_heap_end;
49 .loc 1 60 3 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)
50 .loc 1 63 3 view .LVU9
51 .loc 1 63 12 is_stmt 0 view .LVU10
52 0008 0D48 ldr r0, .L8+8
ARM GAS /tmp/ccisrOc0.s page 3
53 .LVL2:
54 .loc 1 63 12 view .LVU11
55 000a 0068 ldr r0, [r0]
56 .loc 1 63 6 view .LVU12
57 000c 40B1 cbz r0, .L6
58 .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)
59 .loc 1 69 3 is_stmt 1 view .LVU13
60 .loc 1 69 23 is_stmt 0 view .LVU14
61 000e 0C48 ldr r0, .L8+8
62 0010 0068 ldr r0, [r0]
63 0012 0344 add r3, r3, r0
64 .LVL3:
65 .loc 1 69 6 view .LVU15
66 0014 521A subs r2, r2, r1
67 0016 9342 cmp r3, r2
68 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;
69 .loc 1 75 3 is_stmt 1 view .LVU16
70 .LVL4:
76:Core/Src/sysmem.c **** __sbrk_heap_end += incr;
71 .loc 1 76 3 view .LVU17
72 .loc 1 76 19 is_stmt 0 view .LVU18
73 001a 094A ldr r2, .L8+8
74 001c 1360 str r3, [r2]
77:Core/Src/sysmem.c ****
78:Core/Src/sysmem.c **** return (void *)prev_heap_end;
75 .loc 1 78 3 is_stmt 1 view .LVU19
76 .LVL5:
77 .L1:
79:Core/Src/sysmem.c **** }
78 .loc 1 79 1 is_stmt 0 view .LVU20
79 001e 10BD pop {r4, pc}
80 .LVL6:
81 .L6:
65:Core/Src/sysmem.c **** }
82 .loc 1 65 5 is_stmt 1 view .LVU21
65:Core/Src/sysmem.c **** }
83 .loc 1 65 21 is_stmt 0 view .LVU22
84 0020 0748 ldr r0, .L8+8
85 0022 084C ldr r4, .L8+12
86 0024 0460 str r4, [r0]
87 0026 F2E7 b .L2
88 .LVL7:
89 .L7:
71:Core/Src/sysmem.c **** return (void *)-1;
90 .loc 1 71 5 is_stmt 1 view .LVU23
ARM GAS /tmp/ccisrOc0.s page 4
91 0028 FFF7FEFF bl __errno
92 .LVL8:
71:Core/Src/sysmem.c **** return (void *)-1;
93 .loc 1 71 11 is_stmt 0 view .LVU24
94 002c 0C23 movs r3, #12
95 002e 0360 str r3, [r0]
72:Core/Src/sysmem.c **** }
96 .loc 1 72 5 is_stmt 1 view .LVU25
72:Core/Src/sysmem.c **** }
97 .loc 1 72 12 is_stmt 0 view .LVU26
98 0030 4FF0FF30 mov r0, #-1
99 0034 F3E7 b .L1
100 .L9:
101 0036 00BF .align 2
102 .L8:
103 0038 00000000 .word _estack
104 003c 00000000 .word _Min_Stack_Size
105 0040 00000000 .word __sbrk_heap_end
106 0044 00000000 .word _end
107 .cfi_endproc
108 .LFE0:
110 .section .bss.__sbrk_heap_end,"aw",%nobits
111 .align 2
114 __sbrk_heap_end:
115 0000 00000000 .space 4
116 .text
117 .Letext0:
118 .file 2 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
119 .file 3 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
120 .file 4 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
121 .file 5 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
ARM GAS /tmp/ccisrOc0.s page 5
DEFINED SYMBOLS
*ABS*:0000000000000000 sysmem.c
/tmp/ccisrOc0.s:21 .text._sbrk:0000000000000000 $t
/tmp/ccisrOc0.s:27 .text._sbrk:0000000000000000 _sbrk
/tmp/ccisrOc0.s:103 .text._sbrk:0000000000000038 $d
/tmp/ccisrOc0.s:114 .bss.__sbrk_heap_end:0000000000000000 __sbrk_heap_end
/tmp/ccisrOc0.s:111 .bss.__sbrk_heap_end:0000000000000000 $d
UNDEFINED SYMBOLS
__errno
_estack
_Min_Stack_Size
_end