app_main在哪里被调用了-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1179|回复: 1

app_main在哪里被调用了

[复制链接]
发表于 2020-4-26 14:42 | 显示全部楼层 |阅读模式
setup和loop函数在app_main中被调用了,那么app_main函数在哪里被调用了?
发表于 2020-4-29 23:16 | 显示全部楼层
在 esp32/hardware/esp32/1.0.3/tools/sdk/lib/libesp32.a 这个静态库文件中。
下面是用readelf读取的结果,app_main在第54
File: ./1.0.3/tools/sdk/lib/libesp32.a(cpu_start.o)

Symbol table '.symtab' contains 118 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 00000000     0 FILE    LOCAL  DEFAULT  ABS cpu_start.c
     2: 00000000     0 SECTION LOCAL  DEFAULT   13
     3: 00000000     0 SECTION LOCAL  DEFAULT   14
     4: 00000000     0 SECTION LOCAL  DEFAULT   15
     5: 00000000     0 SECTION LOCAL  DEFAULT   16
     6: 00000000     0 SECTION LOCAL  DEFAULT   17
     7: 00000000    64 FUNC    LOCAL  DEFAULT   17 cpu_configure_region_prot
     8: 00000000     0 SECTION LOCAL  DEFAULT   19
     9: 00000000     0 SECTION LOCAL  DEFAULT   20
    10: 00000000    10 OBJECT  LOCAL  DEFAULT   32 __func__$8664
    11: 00000000   108 FUNC    LOCAL  DEFAULT   20 main_task
    12: 00000000     0 SECTION LOCAL  DEFAULT   22
    13: 00000000    41 FUNC    LOCAL  DEFAULT   22 intr_matrix_clear
    14: 00000000     0 SECTION LOCAL  DEFAULT   24
    15: 00000000    40 OBJECT  LOCAL  DEFAULT   31 ob$8651
    16: 00000000    37 FUNC    LOCAL  DEFAULT   24 do_global_ctors
    17: 00000000     0 SECTION LOCAL  DEFAULT   26
    18: 00000000    45 FUNC    LOCAL  DEFAULT   26 wdt_reset_cpu1_info_enabl
    19: 00000000     0 SECTION LOCAL  DEFAULT   28
    20: 00000000    19 OBJECT  LOCAL  DEFAULT   33 __func__$8638
    21: 00000000     1 OBJECT  LOCAL  DEFAULT   34 app_cpu_started
    22: 00000160    72 FUNC    LOCAL  DEFAULT   28 call_start_cpu1
    23: 00000000     0 SECTION LOCAL  DEFAULT   30
    24: 00000000     0 SECTION LOCAL  DEFAULT   31
    25: 00000000     0 SECTION LOCAL  DEFAULT   32
    26: 00000000     0 SECTION LOCAL  DEFAULT   33
    27: 00000000     0 SECTION LOCAL  DEFAULT   34
    28: 00000000     0 SECTION LOCAL  DEFAULT   35
    29: 00000000     0 SECTION LOCAL  DEFAULT   37
    30: 00000000     0 SECTION LOCAL  DEFAULT   39
    31: 00000000     0 SECTION LOCAL  DEFAULT   40
    32: 00000000     0 SECTION LOCAL  DEFAULT   42
    33: 00000000     0 SECTION LOCAL  DEFAULT   44
    34: 00000000     0 SECTION LOCAL  DEFAULT   46
    35: 00000000     0 SECTION LOCAL  DEFAULT   48
    36: 00000000     0 SECTION LOCAL  DEFAULT    1
    37: 00000000     0 SECTION LOCAL  DEFAULT    3
    38: 00000000     0 SECTION LOCAL  DEFAULT    5
    39: 00000000     0 SECTION LOCAL  DEFAULT    7
    40: 00000000     0 SECTION LOCAL  DEFAULT    9
    41: 00000000     0 SECTION LOCAL  DEFAULT   11
    42: 00000000     0 SECTION LOCAL  DEFAULT   49
    43: 00000000     0 SECTION LOCAL  DEFAULT   50
    44: 00000000     0 SECTION LOCAL  DEFAULT   51
    45: 00000000     0 SECTION LOCAL  DEFAULT   53
    46: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND memcpy
    47: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND port_xSchedulerRunning
    48: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND heap_caps_enable_nonos_st
    49: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_task_wdt_init
    50: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _esp_error_check_failed
    51: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND xTaskGetIdleTaskHandleFor
    52: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_task_wdt_add
    53: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND rtc_wdt_disable
    54: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND app_main
    55: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND vTaskDelete
    56: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND intr_matrix_set
    57: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND __init_array_end
    58: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND __eh_frame
    59: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND __init_array_start
    60: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND __register_frame_info
    61: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_dport_access_reg_read
    62: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _global_impure_ptr
    63: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND g_flash_guard_default_ops
    64: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND g_coex_adapter_funcs
    65: 00000000   298 FUNC    GLOBAL DEFAULT   28 start_cpu0_default
    66: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_setup_syscall_table
    67: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_clk_init
    68: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_perip_clk_init
    69: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND uart_div_modify
    70: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_brownout_init
    71: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND rtc_gpio_force_hold_dis_a
    72: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_vfs_dev_uart_register
    73: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_reent_init
    74: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND fopen
    75: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_timer_init
    76: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_set_time_from_rtc
    77: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_dbg_stubs_init
    78: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_pthread_init
    79: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND __assert_func
    80: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_int_wdt_init
    81: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_int_wdt_cpu_init
    82: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_cache_err_int_init
    83: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_crosscore_int_init
    84: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_dport_access_int_init
    85: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND spi_flash_init
    86: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND spi_flash_guard_set
    87: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_coex_adapter_register
    88: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND xTaskCreatePinnedToCore
    89: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND vTaskStartScheduler
    90: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND abort
    91: 00000000   298 FUNC    WEAK   DEFAULT   28 start_cpu0
    92: 0000012c    50 FUNC    GLOBAL DEFAULT   28 start_cpu1_default
    93: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND xPortStartScheduler
    94: 0000012c    50 FUNC    WEAK   DEFAULT   28 start_cpu1
    95: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _init_start
    96: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND ets_set_appcpu_boot_addr
    97: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND uartAttach
    98: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND ets_install_uart_printf
    99: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND uart_tx_switch
   100: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _bss_end
   101: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _bss_start
   102: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _rtc_bss_end
   103: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _rtc_bss_start
   104: 000001a8   346 FUNC    GLOBAL DEFAULT   28 call_start_cpu0
   105: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND rtc_get_reset_reason
   106: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND memset
   107: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND bootloader_common_set_fla
   108: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_log_timestamp
   109: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND ets_printf
   110: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_dport_access_stall_ot
   111: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND Cache_Flush_rom
   112: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_dport_access_stall_ot
   113: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND Cache_Read_Enable_rom
   114: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND esp_cpu_unstall
   115: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND ets_delay_us
   116: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND heap_caps_init
   117: 00000000     7 FUNC    GLOBAL DEFAULT   30 __cxx_eh_arena_size_get
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 06:25 , Processed in 0.079438 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表