rom_layout.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #pragma once
  7. #include <stdint.h>
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. /* Structure and functions for returning ROM global layout
  12. *
  13. * This is for address symbols defined in the linker script, which may change during ECOs.
  14. */
  15. typedef struct {
  16. void *dram0_stack_shared_mem_start;
  17. void *dram0_rtos_reserved_start;
  18. void *stack_sentry;
  19. void *stack;
  20. /* BTDM data */
  21. void *data_start_btdm;
  22. void *data_end_btdm;
  23. void *bss_start_btdm;
  24. void *bss_end_btdm;
  25. void *data_start_btdm_rom;
  26. void *data_end_btdm_rom;
  27. void *data_start_interface_btdm;
  28. void *data_end_interface_btdm;
  29. void *bss_start_interface_btdm;
  30. void *bss_end_interface_btdm;
  31. void *dram_start_phyrom;
  32. void *dram_end_phyrom;
  33. void *dram_start_usbdev_rom;
  34. void *dram_end_usbdev_rom;
  35. void *dram_start_uart_rom;
  36. void *dram_end_uart_rom;
  37. } ets_rom_layout_t;
  38. extern const ets_rom_layout_t * const ets_rom_layout_p;
  39. #ifdef __cplusplus
  40. }
  41. #endif