.text .syntax unified .eabi_attribute 67, "2.09" @ Tag_conformance .cpu cortex-m4 .eabi_attribute 6, 13 @ Tag_CPU_arch .eabi_attribute 7, 77 @ Tag_CPU_arch_profile .eabi_attribute 8, 0 @ Tag_ARM_ISA_use .eabi_attribute 9, 2 @ Tag_THUMB_ISA_use .fpu fpv4-sp-d16 .eabi_attribute 27, 1 @ Tag_ABI_HardFP_use .eabi_attribute 36, 1 @ Tag_FP_HP_extension .eabi_attribute 34, 1 @ Tag_CPU_unaligned_access .eabi_attribute 17, 1 @ Tag_ABI_PCS_GOT_use .eabi_attribute 20, 2 @ Tag_ABI_FP_denormal .eabi_attribute 21, 0 @ Tag_ABI_FP_exceptions .eabi_attribute 23, 1 @ Tag_ABI_FP_number_model .eabi_attribute 24, 1 @ Tag_ABI_align_needed .eabi_attribute 25, 1 @ Tag_ABI_align_preserved .eabi_attribute 28, 1 @ Tag_ABI_VFP_args .eabi_attribute 38, 1 @ Tag_ABI_FP_16bit_format .eabi_attribute 18, 2 @ Tag_ABI_PCS_wchar_t .eabi_attribute 26, 1 @ Tag_ABI_enum_size .eabi_attribute 14, 0 @ Tag_ABI_PCS_R9_use .file "MyPrintf.c" .file 1 "D:\\1.Project\\1.git\\HiRain\\Project\\Capri\\Keil" "../../../Package/cm_backtrace/MyPrintf.c" .section .text.MyPrintf,"ax",%progbits .hidden MyPrintf @ -- Begin function MyPrintf .globl MyPrintf .p2align 2 .type MyPrintf,%function .code 16 @ @MyPrintf .thumb_func MyPrintf: .Lfunc_begin0: .loc 1 11 0 @ ../../../Package/cm_backtrace/MyPrintf.c:11:0 .fnstart .cfi_sections .debug_frame .cfi_startproc @ %bb.0: .pad #12 sub sp, #12 .cfi_def_cfa_offset 12 .save {r7, lr} push {r7, lr} .cfi_def_cfa_offset 20 .cfi_offset lr, -16 .cfi_offset r7, -20 .pad #28 sub sp, #28 .cfi_def_cfa_offset 48 str r3, [sp, #44] str r2, [sp, #40] str r1, [sp, #36] str r0, [sp, #24] .Ltmp0: .loc 1 12 8 prologue_end @ ../../../Package/cm_backtrace/MyPrintf.c:12:8 movw r0, :lower16:bInitPrint movt r0, :upper16:bInitPrint ldr r0, [r0] .Ltmp1: .loc 1 12 8 is_stmt 0 @ ../../../Package/cm_backtrace/MyPrintf.c:12:8 cbnz r0, .LBB0_2 b .LBB0_1 .LBB0_1: .Ltmp2: .loc 1 14 18 is_stmt 1 @ ../../../Package/cm_backtrace/MyPrintf.c:14:18 movw r1, :lower16:bInitPrint movt r1, :upper16:bInitPrint movs r0, #1 str r0, [r1] .loc 1 15 7 @ ../../../Package/cm_backtrace/MyPrintf.c:15:7 bl SEGGER_RTT_Init .loc 1 16 7 @ ../../../Package/cm_backtrace/MyPrintf.c:16:7 mov r1, sp movs r0, #2 str r0, [r1] movs r3, #0 str r3, [sp, #12] @ 4-byte Spill mov r0, r3 mov r1, r3 mov r2, r3 bl SEGGER_RTT_ConfigUpBuffer @ kill: def $r1 killed $r0 .loc 1 17 7 @ ../../../Package/cm_backtrace/MyPrintf.c:17:7 ldr r0, [sp, #12] @ 4-byte Reload movw r1, :lower16:.L.str movt r1, :upper16:.L.str bl SEGGER_RTT_WriteString @ kill: def $r1 killed $r0 .loc 1 18 7 @ ../../../Package/cm_backtrace/MyPrintf.c:18:7 ldr r0, [sp, #12] @ 4-byte Reload movw r1, :lower16:.L.str.1 movt r1, :upper16:.L.str.1 bl SEGGER_RTT_WriteString .loc 1 19 5 @ ../../../Package/cm_backtrace/MyPrintf.c:19:5 b .LBB0_2 .Ltmp3: .LBB0_2: .loc 1 0 5 is_stmt 0 @ ../../../Package/cm_backtrace/MyPrintf.c:0:5 add r0, sp, #36 .loc 1 21 5 is_stmt 1 @ ../../../Package/cm_backtrace/MyPrintf.c:21:5 str r0, [sp, #20] .loc 1 22 52 @ ../../../Package/cm_backtrace/MyPrintf.c:22:52 ldr r2, [sp, #24] .loc 1 22 20 is_stmt 0 @ ../../../Package/cm_backtrace/MyPrintf.c:22:20 ldr r3, [sp, #20] movw r0, :lower16:buffer movt r0, :upper16:buffer str r0, [sp, #8] @ 4-byte Spill mov.w r1, #256 bl vsnprintf ldr r1, [sp, #8] @ 4-byte Reload .loc 1 22 9 @ ../../../Package/cm_backtrace/MyPrintf.c:22:9 str r0, [sp, #16] movs r0, #0 .loc 1 23 5 is_stmt 1 @ ../../../Package/cm_backtrace/MyPrintf.c:23:5 bl SEGGER_RTT_WriteString .loc 1 26 1 @ ../../../Package/cm_backtrace/MyPrintf.c:26:1 add sp, #28 pop.w {r7, lr} add sp, #12 bx lr .Ltmp4: .Lfunc_end0: .size MyPrintf, .Lfunc_end0-MyPrintf .cfi_endproc .cantunwind .fnend @ -- End function .hidden bInitPrint @ @bInitPrint .type bInitPrint,%object .section .bss.bInitPrint,"aw",%nobits .globl bInitPrint .p2align 2, 0x0 bInitPrint: .long 0 @ 0x0 .size bInitPrint, 4 .hidden buffer @ @buffer .type buffer,%object .section .bss.buffer,"aw",%nobits .globl buffer buffer: .zero 256 .size buffer, 256 .type .L.str,%object @ @.str .section .rodata.str1.1,"aMS",%progbits,1 .L.str: .asciz "SEGGER Real-Time-Terminal Sample\r\n\r\n" .size .L.str, 37 .type .L.str.1,%object @ @.str.1 .L.str.1: .asciz "###### Testing SEGGER_printf() ######\r\n" .size .L.str.1, 40 .file 2 "D:\\1.Project\\1.git\\HiRain\\Project\\Capri\\Keil" "../../../Package/cm_backtrace\\MyPrintf.c" .file 3 "d:\\Keil\\ARM\\ARMCLANG\\Bin\\..\\include" "stdarg.h" .section .debug_abbrev,"",%progbits .byte 1 @ Abbreviation Code .byte 17 @ DW_TAG_compile_unit .byte 1 @ DW_CHILDREN_yes .byte 37 @ DW_AT_producer .byte 14 @ DW_FORM_strp .byte 19 @ DW_AT_language .byte 5 @ DW_FORM_data2 .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 16 @ DW_AT_stmt_list .byte 23 @ DW_FORM_sec_offset .byte 27 @ DW_AT_comp_dir .byte 14 @ DW_FORM_strp .byte 17 @ DW_AT_low_pc .byte 1 @ DW_FORM_addr .byte 18 @ DW_AT_high_pc .byte 6 @ DW_FORM_data4 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 2 @ Abbreviation Code .byte 52 @ DW_TAG_variable .byte 0 @ DW_CHILDREN_no .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 63 @ DW_AT_external .byte 25 @ DW_FORM_flag_present .byte 58 @ DW_AT_decl_file .byte 11 @ DW_FORM_data1 .byte 59 @ DW_AT_decl_line .byte 11 @ DW_FORM_data1 .byte 2 @ DW_AT_location .byte 24 @ DW_FORM_exprloc .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 3 @ Abbreviation Code .byte 36 @ DW_TAG_base_type .byte 0 @ DW_CHILDREN_no .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 62 @ DW_AT_encoding .byte 11 @ DW_FORM_data1 .byte 11 @ DW_AT_byte_size .byte 11 @ DW_FORM_data1 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 4 @ Abbreviation Code .byte 1 @ DW_TAG_array_type .byte 1 @ DW_CHILDREN_yes .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 5 @ Abbreviation Code .byte 33 @ DW_TAG_subrange_type .byte 0 @ DW_CHILDREN_no .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 55 @ DW_AT_count .byte 5 @ DW_FORM_data2 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 6 @ Abbreviation Code .byte 36 @ DW_TAG_base_type .byte 0 @ DW_CHILDREN_no .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 11 @ DW_AT_byte_size .byte 11 @ DW_FORM_data1 .byte 62 @ DW_AT_encoding .byte 11 @ DW_FORM_data1 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 7 @ Abbreviation Code .byte 52 @ DW_TAG_variable .byte 0 @ DW_CHILDREN_no .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 58 @ DW_AT_decl_file .byte 11 @ DW_FORM_data1 .byte 59 @ DW_AT_decl_line .byte 11 @ DW_FORM_data1 .byte 2 @ DW_AT_location .byte 24 @ DW_FORM_exprloc .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 8 @ Abbreviation Code .byte 33 @ DW_TAG_subrange_type .byte 0 @ DW_CHILDREN_no .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 55 @ DW_AT_count .byte 11 @ DW_FORM_data1 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 9 @ Abbreviation Code .byte 46 @ DW_TAG_subprogram .byte 1 @ DW_CHILDREN_yes .byte 17 @ DW_AT_low_pc .byte 1 @ DW_FORM_addr .byte 18 @ DW_AT_high_pc .byte 6 @ DW_FORM_data4 .byte 64 @ DW_AT_frame_base .byte 24 @ DW_FORM_exprloc .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 58 @ DW_AT_decl_file .byte 11 @ DW_FORM_data1 .byte 59 @ DW_AT_decl_line .byte 11 @ DW_FORM_data1 .byte 39 @ DW_AT_prototyped .byte 25 @ DW_FORM_flag_present .byte 63 @ DW_AT_external .byte 25 @ DW_FORM_flag_present .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 10 @ Abbreviation Code .byte 5 @ DW_TAG_formal_parameter .byte 0 @ DW_CHILDREN_no .byte 2 @ DW_AT_location .byte 24 @ DW_FORM_exprloc .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 58 @ DW_AT_decl_file .byte 11 @ DW_FORM_data1 .byte 59 @ DW_AT_decl_line .byte 11 @ DW_FORM_data1 .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 11 @ Abbreviation Code .byte 52 @ DW_TAG_variable .byte 0 @ DW_CHILDREN_no .byte 2 @ DW_AT_location .byte 24 @ DW_FORM_exprloc .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 58 @ DW_AT_decl_file .byte 11 @ DW_FORM_data1 .byte 59 @ DW_AT_decl_line .byte 11 @ DW_FORM_data1 .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 12 @ Abbreviation Code .byte 24 @ DW_TAG_unspecified_parameters .byte 0 @ DW_CHILDREN_no .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 13 @ Abbreviation Code .byte 15 @ DW_TAG_pointer_type .byte 0 @ DW_CHILDREN_no .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 14 @ Abbreviation Code .byte 38 @ DW_TAG_const_type .byte 0 @ DW_CHILDREN_no .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 15 @ Abbreviation Code .byte 22 @ DW_TAG_typedef .byte 0 @ DW_CHILDREN_no .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 58 @ DW_AT_decl_file .byte 11 @ DW_FORM_data1 .byte 59 @ DW_AT_decl_line .byte 11 @ DW_FORM_data1 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 16 @ Abbreviation Code .byte 22 @ DW_TAG_typedef .byte 0 @ DW_CHILDREN_no .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 17 @ Abbreviation Code .byte 19 @ DW_TAG_structure_type .byte 1 @ DW_CHILDREN_yes .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 11 @ DW_AT_byte_size .byte 11 @ DW_FORM_data1 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 18 @ Abbreviation Code .byte 13 @ DW_TAG_member .byte 0 @ DW_CHILDREN_no .byte 3 @ DW_AT_name .byte 14 @ DW_FORM_strp .byte 73 @ DW_AT_type .byte 19 @ DW_FORM_ref4 .byte 58 @ DW_AT_decl_file .byte 11 @ DW_FORM_data1 .byte 59 @ DW_AT_decl_line .byte 11 @ DW_FORM_data1 .byte 56 @ DW_AT_data_member_location .byte 11 @ DW_FORM_data1 .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 19 @ Abbreviation Code .byte 15 @ DW_TAG_pointer_type .byte 0 @ DW_CHILDREN_no .byte 0 @ EOM(1) .byte 0 @ EOM(2) .byte 0 @ EOM(3) .section .debug_info,"",%progbits .Lcu_begin0: .long .Ldebug_info_end0-.Ldebug_info_start0 @ Length of Unit .Ldebug_info_start0: .short 4 @ DWARF version number .long .debug_abbrev @ Offset Into Abbrev. Section .byte 4 @ Address Size (in bytes) .byte 1 @ Abbrev [1] 0xb:0x101 DW_TAG_compile_unit .long .Linfo_string0 @ DW_AT_producer .short 12 @ DW_AT_language .long .Linfo_string1 @ DW_AT_name .long .Lline_table_start0 @ DW_AT_stmt_list .long .Linfo_string2 @ DW_AT_comp_dir .long .Lfunc_begin0 @ DW_AT_low_pc .long .Lfunc_end0-.Lfunc_begin0 @ DW_AT_high_pc .byte 2 @ Abbrev [2] 0x26:0x11 DW_TAG_variable .long .Linfo_string3 @ DW_AT_name .long 55 @ DW_AT_type @ DW_AT_external .byte 1 @ DW_AT_decl_file .byte 8 @ DW_AT_decl_line .byte 5 @ DW_AT_location .byte 3 .long bInitPrint .byte 3 @ Abbrev [3] 0x37:0x7 DW_TAG_base_type .long .Linfo_string4 @ DW_AT_name .byte 5 @ DW_AT_encoding .byte 4 @ DW_AT_byte_size .byte 2 @ Abbrev [2] 0x3e:0x11 DW_TAG_variable .long .Linfo_string5 @ DW_AT_name .long 79 @ DW_AT_type @ DW_AT_external .byte 1 @ DW_AT_decl_file .byte 9 @ DW_AT_decl_line .byte 5 @ DW_AT_location .byte 3 .long buffer .byte 4 @ Abbrev [4] 0x4f:0xd DW_TAG_array_type .long 92 @ DW_AT_type .byte 5 @ Abbrev [5] 0x54:0x7 DW_TAG_subrange_type .long 99 @ DW_AT_type .short 256 @ DW_AT_count .byte 0 @ End Of Children Mark .byte 3 @ Abbrev [3] 0x5c:0x7 DW_TAG_base_type .long .Linfo_string6 @ DW_AT_name .byte 8 @ DW_AT_encoding .byte 1 @ DW_AT_byte_size .byte 6 @ Abbrev [6] 0x63:0x7 DW_TAG_base_type .long .Linfo_string7 @ DW_AT_name .byte 8 @ DW_AT_byte_size .byte 7 @ DW_AT_encoding .byte 7 @ Abbrev [7] 0x6a:0xd DW_TAG_variable .long 119 @ DW_AT_type .byte 1 @ DW_AT_decl_file .byte 17 @ DW_AT_decl_line .byte 5 @ DW_AT_location .byte 3 .long .L.str .byte 4 @ Abbrev [4] 0x77:0xc DW_TAG_array_type .long 92 @ DW_AT_type .byte 8 @ Abbrev [8] 0x7c:0x6 DW_TAG_subrange_type .long 99 @ DW_AT_type .byte 37 @ DW_AT_count .byte 0 @ End Of Children Mark .byte 7 @ Abbrev [7] 0x83:0xd DW_TAG_variable .long 144 @ DW_AT_type .byte 1 @ DW_AT_decl_file .byte 18 @ DW_AT_decl_line .byte 5 @ DW_AT_location .byte 3 .long .L.str.1 .byte 4 @ Abbrev [4] 0x90:0xc DW_TAG_array_type .long 92 @ DW_AT_type .byte 8 @ Abbrev [8] 0x95:0x6 DW_TAG_subrange_type .long 99 @ DW_AT_type .byte 40 @ DW_AT_count .byte 0 @ End Of Children Mark .byte 9 @ Abbrev [9] 0x9c:0x3d DW_TAG_subprogram .long .Lfunc_begin0 @ DW_AT_low_pc .long .Lfunc_end0-.Lfunc_begin0 @ DW_AT_high_pc .byte 1 @ DW_AT_frame_base .byte 93 .long .Linfo_string8 @ DW_AT_name .byte 1 @ DW_AT_decl_file .byte 10 @ DW_AT_decl_line @ DW_AT_prototyped @ DW_AT_external .byte 10 @ Abbrev [10] 0xad:0xe DW_TAG_formal_parameter .byte 2 @ DW_AT_location .byte 145 .byte 24 .long .Linfo_string9 @ DW_AT_name .byte 1 @ DW_AT_decl_file .byte 10 @ DW_AT_decl_line .long 217 @ DW_AT_type .byte 11 @ Abbrev [11] 0xbb:0xe DW_TAG_variable .byte 2 @ DW_AT_location .byte 145 .byte 20 .long .Linfo_string10 @ DW_AT_name .byte 1 @ DW_AT_decl_file .byte 20 @ DW_AT_decl_line .long 227 @ DW_AT_type .byte 11 @ Abbrev [11] 0xc9:0xe DW_TAG_variable .byte 2 @ DW_AT_location .byte 145 .byte 16 .long .Linfo_string15 @ DW_AT_name .byte 1 @ DW_AT_decl_file .byte 22 @ DW_AT_decl_line .long 55 @ DW_AT_type .byte 12 @ Abbrev [12] 0xd7:0x1 DW_TAG_unspecified_parameters .byte 0 @ End Of Children Mark .byte 13 @ Abbrev [13] 0xd9:0x5 DW_TAG_pointer_type .long 222 @ DW_AT_type .byte 14 @ Abbrev [14] 0xde:0x5 DW_TAG_const_type .long 92 @ DW_AT_type .byte 15 @ Abbrev [15] 0xe3:0xb DW_TAG_typedef .long 238 @ DW_AT_type .long .Linfo_string14 @ DW_AT_name .byte 3 @ DW_AT_decl_file .byte 40 @ DW_AT_decl_line .byte 16 @ Abbrev [16] 0xee:0x9 DW_TAG_typedef .long 247 @ DW_AT_type .long .Linfo_string13 @ DW_AT_name .byte 17 @ Abbrev [17] 0xf7:0x13 DW_TAG_structure_type .long .Linfo_string12 @ DW_AT_name .byte 4 @ DW_AT_byte_size .byte 18 @ Abbrev [18] 0xfd:0xc DW_TAG_member .long .Linfo_string11 @ DW_AT_name .long 266 @ DW_AT_type .byte 2 @ DW_AT_decl_file .byte 20 @ DW_AT_decl_line .byte 0 @ DW_AT_data_member_location .byte 0 @ End Of Children Mark .byte 19 @ Abbrev [19] 0x10a:0x1 DW_TAG_pointer_type .byte 0 @ End Of Children Mark .Ldebug_info_end0: .section .debug_str,"MS",%progbits,1 .Linfo_string0: .asciz "Component: Arm Compiler for Embedded 6.19 Tool: armclang [5e73cb00]" @ string offset=0 .Linfo_string1: .asciz "../../../Package/cm_backtrace\\MyPrintf.c" @ string offset=68 .Linfo_string2: .asciz "D:\\1.Project\\1.git\\HiRain\\Project\\Capri\\Keil" @ string offset=109 .Linfo_string3: .asciz "bInitPrint" @ string offset=154 .Linfo_string4: .asciz "int" @ string offset=165 .Linfo_string5: .asciz "buffer" @ string offset=169 .Linfo_string6: .asciz "char" @ string offset=176 .Linfo_string7: .asciz "__ARRAY_SIZE_TYPE__" @ string offset=181 .Linfo_string8: .asciz "MyPrintf" @ string offset=201 .Linfo_string9: .asciz "fmt" @ string offset=210 .Linfo_string10: .asciz "args" @ string offset=214 .Linfo_string11: .asciz "__ap" @ string offset=219 .Linfo_string12: .asciz "__va_list" @ string offset=224 .Linfo_string13: .asciz "__builtin_va_list" @ string offset=234 .Linfo_string14: .asciz "va_list" @ string offset=252 .Linfo_string15: .asciz "tmp_size" @ string offset=260 .ident "Component: Arm Compiler for Embedded 6.19 Tool: armclang [5e73cb00]" .section ".note.GNU-stack","",%progbits .eabi_attribute 30, 6 @ Tag_ABI_optimization_goals .ARM_attribute 16, 1 @ Tag_AV_eba .section .debug_line,"",%progbits .Lline_table_start0: